Page MenuHomePhorge

D6996.1765103978.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D6996.1765103978.diff

diff --git a/web/database/utils/constants.js b/web/database/utils/constants.js
--- a/web/database/utils/constants.js
+++ b/web/database/utils/constants.js
@@ -1,3 +1,4 @@
// @flow
export const SQLITE_CONTENT = 'sqliteFileContent';
+export const SQLITE_ENCRYPTION_KEY = 'encryptionKey';
diff --git a/web/database/worker/db-worker.js b/web/database/worker/db-worker.js
--- a/web/database/worker/db-worker.js
+++ b/web/database/worker/db-worker.js
@@ -12,7 +12,8 @@
type WorkerRequestProxyMessage,
} from '../../types/worker-types.js';
import { getSQLiteDBVersion } from '../queries/db-queries.js';
-import { SQLITE_CONTENT } from '../utils/constants.js';
+import { SQLITE_CONTENT, SQLITE_ENCRYPTION_KEY } from '../utils/constants.js';
+import { generateDatabaseCryptoKey } from '../utils/worker-crypto-utils.js';
const localforageConfig: PartialConfig = {
driver: localforage.INDEXEDDB,
@@ -59,6 +60,12 @@
} else if (message.type === workerRequestMessageTypes.INIT) {
await initDatabase(message.sqljsFilePath, message.sqljsFilename);
return;
+ } else if (
+ message.type === workerRequestMessageTypes.GENERATE_DATABASE_ENCRYPTION_KEY
+ ) {
+ const cryptoKey = await generateDatabaseCryptoKey();
+ await localforage.setItem(SQLITE_ENCRYPTION_KEY, cryptoKey);
+ return;
}
throw new Error('Request type not supported');
diff --git a/web/types/worker-types.js b/web/types/worker-types.js
--- a/web/types/worker-types.js
+++ b/web/types/worker-types.js
@@ -4,6 +4,7 @@
export const workerRequestMessageTypes = Object.freeze({
PING: 0,
INIT: 1,
+ GENERATE_DATABASE_ENCRYPTION_KEY: 2,
});
export type PingWorkerRequestMessage = {
@@ -17,9 +18,14 @@
+sqljsFilename: ?string,
};
+export type GenerateDatabaseEncryptionKeyRequestMessage = {
+ +type: 2,
+};
+
export type WorkerRequestMessage =
| PingWorkerRequestMessage
- | InitWorkerRequestMessage;
+ | InitWorkerRequestMessage
+ | GenerateDatabaseEncryptionKeyRequestMessage;
export type WorkerRequestProxyMessage = {
+id: number,

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 10:39 AM (20 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5838013
Default Alt Text
D6996.1765103978.diff (2 KB)

Event Timeline