delete database when pressing reset-db
This commit is contained in:
parent
e223c01275
commit
e1b363c7dd
@ -180,8 +180,8 @@ export async function openTalerDatabase(
|
||||
return new Database(mainDbHandle, Stores);
|
||||
}
|
||||
|
||||
export function deleteTalerDatabase(idbFactory: IDBFactory): void {
|
||||
Database.deleteDatabase(idbFactory, TALER_DB_NAME);
|
||||
export function deleteTalerDatabase(idbFactory: IDBFactory): Promise<void> {
|
||||
return Database.deleteDatabase(idbFactory, TALER_DB_NAME);
|
||||
}
|
||||
|
||||
export enum ReserveRecordStatus {
|
||||
|
@ -372,7 +372,17 @@ function runWithTransaction<T, StoreTypes extends Store<string, {}>>(
|
||||
const stack = Error("Failed transaction was started here.");
|
||||
return new Promise((resolve, reject) => {
|
||||
const storeName = stores.map((x) => x.name);
|
||||
const tx = db.transaction(storeName, mode);
|
||||
|
||||
let txOrUndef: IDBTransaction | undefined = undefined
|
||||
try {
|
||||
txOrUndef = db.transaction(storeName, mode);
|
||||
} catch (e) {
|
||||
logger.error("error opening transaction");
|
||||
logger.error(`${e}`);
|
||||
return
|
||||
}
|
||||
const tx = txOrUndef;
|
||||
|
||||
let funResult: any = undefined;
|
||||
let gotFunResult = false;
|
||||
tx.oncomplete = () => {
|
||||
@ -513,8 +523,9 @@ export function openDatabase(
|
||||
export class Database<StoreMap extends AnyStoreMap> {
|
||||
constructor(private db: IDBDatabase, stores: StoreMap) {}
|
||||
|
||||
static deleteDatabase(idbFactory: IDBFactory, dbName: string): void {
|
||||
idbFactory.deleteDatabase(dbName);
|
||||
static deleteDatabase(idbFactory: IDBFactory, dbName: string): Promise<void> {
|
||||
const req = idbFactory.deleteDatabase(dbName)
|
||||
return requestToPromise(req)
|
||||
}
|
||||
|
||||
async exportDatabase(): Promise<any> {
|
||||
|
@ -33,6 +33,7 @@ import {
|
||||
Database,
|
||||
Stores,
|
||||
makeErrorDetails,
|
||||
deleteTalerDatabase,
|
||||
} from "@gnu-taler/taler-wallet-core";
|
||||
import {
|
||||
classifyTalerUri,
|
||||
@ -121,6 +122,7 @@ async function dispatch(
|
||||
break;
|
||||
}
|
||||
case "reset-db": {
|
||||
await deleteTalerDatabase(indexedDB);
|
||||
r = wrapResponse(await reinitWallet());
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user