diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-08-03 13:00:48 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-08-03 13:01:05 +0530 |
commit | ffd2a62c3f7df94365980302fef3bc3376b48182 (patch) | |
tree | 270af6f16b4cc7f5da2afdba55c8bc9dbea5eca5 /src/db.ts | |
parent | aa481e42675fb7c4dcbbeec0ba1c61e1953b9596 (diff) | |
download | wallet-core-ffd2a62c3f7df94365980302fef3bc3376b48182.tar.xz |
modularize repo, use pnpm, improve typechecking
Diffstat (limited to 'src/db.ts')
-rw-r--r-- | src/db.ts | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/db.ts b/src/db.ts deleted file mode 100644 index 5571c869c..000000000 --- a/src/db.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Stores } from "./types/dbTypes"; -import { openDatabase, Database, Store, Index } from "./util/query"; - -/** - * Name of the Taler database. The name includes the - * major version of the DB schema. The version should be incremented - * with each major change. When incrementing the major version, - * the wallet should import data from the previous version. - */ -const TALER_DB_NAME = "taler-walletdb-v7"; - -/** - * Current database minor version, should be incremented - * each time we do minor schema changes on the database. - * A change is considered minor when fields are added in a - * backwards-compatible way or object stores and indices - * are added. - */ -export const WALLET_DB_MINOR_VERSION = 1; - -/** - * Return a promise that resolves - * to the taler wallet db. - */ -export function openTalerDatabase( - idbFactory: IDBFactory, - onVersionChange: () => void, -): Promise<IDBDatabase> { - const onUpgradeNeeded = ( - db: IDBDatabase, - oldVersion: number, - newVersion: number, - ): void => { - switch (oldVersion) { - case 0: // DB does not exist yet - for (const n in Stores) { - if ((Stores as any)[n] instanceof Store) { - const si: Store<any> = (Stores as any)[n]; - const s = db.createObjectStore(si.name, si.storeParams); - for (const indexName in si as any) { - if ((si as any)[indexName] instanceof Index) { - const ii: Index<any, any> = (si as any)[indexName]; - s.createIndex(ii.indexName, ii.keyPath, ii.options); - } - } - } - } - break; - default: - throw Error("unsupported existig DB version"); - } - }; - - return openDatabase( - idbFactory, - TALER_DB_NAME, - WALLET_DB_MINOR_VERSION, - onVersionChange, - onUpgradeNeeded, - ); -} - -export function deleteTalerDatabase(idbFactory: IDBFactory): void { - Database.deleteDatabase(idbFactory, TALER_DB_NAME); -} |