From d6a473f6e917fb120aa7c261eb85c34dc3207356 Mon Sep 17 00:00:00 2001 From: Sosthene00 <674694@protonmail.ch> Date: Wed, 17 Apr 2024 09:12:12 +0200 Subject: [PATCH] fix indexeddb --- src/database.ts | 30 ++++-------------------------- src/services.ts | 12 ++++++------ 2 files changed, 10 insertions(+), 32 deletions(-) diff --git a/src/database.ts b/src/database.ts index d8d8041..3c2fc30 100644 --- a/src/database.ts +++ b/src/database.ts @@ -4,32 +4,10 @@ class Database { private dbName: string = '4nk'; private dbVersion: number = 1; private storeDefinitions = { - // SpClient: { - // name: "sp_client", - // options: {}, - // indices: [] - // }, - // SpOutputs: { - // name: "sp_outputs", - // options: {'autoIncrement': true}, - // indices: [{ - // name: 'by_wallet_fingerprint', - // keyPath: 'wallet_fingerprint', - // options: { - // 'unique': false - // } - // }] - // }, AnkUser: { name: "user", options: {'keyPath': 'pre_id'}, - indices: [{ - name: 'by_process', - keyPath: 'process', - options: { - 'unique': false - } - }] + indices: [] }, AnkSession: { name: "session", @@ -92,11 +70,11 @@ class Database { }); } - public getDb(): IDBDatabase { + public async getDb(): Promise { if (!this.db) { - throw new Error("Database not initialized"); + await this.init(); } - return this.db; + return this.db!; } public getStoreList(): {[key: string]: string} { diff --git a/src/services.ts b/src/services.ts index b7952d4..f159552 100644 --- a/src/services.ts +++ b/src/services.ts @@ -39,7 +39,7 @@ class Services { let isNew = false; try { const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); + const db = await indexedDB.getDb(); let userListObject = await indexedDB.getAll(db, indexedDB.getStoreList().AnkUser); if (userListObject.length == 0) { isNew = true; @@ -97,7 +97,7 @@ class Services { try { const indexedDb = await IndexedDB.getInstance(); - const db = indexedDb.getDb(); + const db = await indexedDb.getDb(); await indexedDb.writeObject(db, indexedDb.getStoreList().AnkUser, user, null); } catch (error) { console.error("Failed to write user object :", error); @@ -243,7 +243,7 @@ class Services { public async addProcess(process: Process): Promise { try { const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); + const db = await indexedDB.getDb(); await indexedDB.writeObject(db, indexedDB.getStoreList().AnkProcess, process, null); } catch (error) { console.log('addProcess failed: ',error); @@ -253,7 +253,7 @@ class Services { public async getAllProcess(): Promise { try { const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); + const db = await indexedDB.getDb(); let processListObject = await indexedDB.getAll(db, indexedDB.getStoreList().AnkProcess); return processListObject; } catch (error) { @@ -280,7 +280,7 @@ class Services { let userProcessList: Process[] = []; try { const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); + const db = await indexedDB.getDb(); user = await indexedDB.getObject(db, indexedDB.getStoreList().AnkUser, pre_id); } catch (error) { console.error('getAllUserProcess failed: ',error); @@ -304,7 +304,7 @@ class Services { public async getProcessByName(name: string): Promise { console.log('getProcessByName name: '+name); const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); + const db = await indexedDB.getDb(); const process = await indexedDB.getFirstMatchWithIndex(db, indexedDB.getStoreList().AnkProcess, 'by_name', name); console.log('getProcessByName process: '+process);