Changeset View
Changeset View
Standalone View
Standalone View
web/database/worker/db-worker.js
Show First 20 Lines • Show All 167 Lines • ▼ Show 20 Lines | ) { | ||||
await localforage.setItem(SQLITE_ENCRYPTION_KEY, cryptoKey); | await localforage.setItem(SQLITE_ENCRYPTION_KEY, cryptoKey); | ||||
return undefined; | return undefined; | ||||
} | } | ||||
// database operations | // database operations | ||||
if (message.type === workerRequestMessageTypes.INIT) { | if (message.type === workerRequestMessageTypes.INIT) { | ||||
await initDatabase(message.sqljsFilePath, message.sqljsFilename); | await initDatabase(message.sqljsFilePath, message.sqljsFilename); | ||||
return undefined; | return undefined; | ||||
} else if (message.type === workerRequestMessageTypes.CLEAR_SENSITIVE_DATA) { | |||||
encryptionKey = null; | |||||
if (sqliteDb) { | |||||
sqliteDb.close(); | |||||
} | |||||
await localforage.clear(); | |||||
return undefined; | |||||
} | } | ||||
if (!sqliteDb) { | if (!sqliteDb) { | ||||
throw new Error('Database not initialized'); | throw new Error('Database not initialized'); | ||||
} | } | ||||
// read-only operations | // read-only operations | ||||
if (message.type === workerRequestMessageTypes.GET_CLIENT_STORE) { | if (message.type === workerRequestMessageTypes.GET_CLIENT_STORE) { | ||||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |