From e19dd324d0e4d2b8e4d4d7c81c8ad4d9d1f42ada Mon Sep 17 00:00:00 2001 From: Jono Wenger <jono@elixxir.io> Date: Thu, 5 Jan 2023 16:47:40 -0800 Subject: [PATCH] Fix naming and add receiver for database name --- indexedDb/channels/channelsIndexedDbWorker.js | 2 +- indexedDb/channels/main.go | 2 +- indexedDb/dm/dmIndexedDbWorker.js | 2 +- indexedDb/dm/main.go | 2 +- indexedDbWorker/channels/init.go | 21 +++++++++++++++++++ indexedDbWorker/dm/init.go | 20 ++++++++++++++++++ 6 files changed, 45 insertions(+), 4 deletions(-) diff --git a/indexedDb/channels/channelsIndexedDbWorker.js b/indexedDb/channels/channelsIndexedDbWorker.js index 245c80d0..6126eec5 100644 --- a/indexedDb/channels/channelsIndexedDbWorker.js +++ b/indexedDb/channels/channelsIndexedDbWorker.js @@ -8,7 +8,7 @@ importScripts('wasm_exec.js'); const go = new Go(); -const binPath = 'channelsIndexedDkWorker.wasm' +const binPath = 'xxdk-channelsIndexedDkWorker.wasm' WebAssembly.instantiateStreaming(fetch(binPath), go.importObject).then((result) => { go.run(result.instance); }).catch((err) => { diff --git a/indexedDb/channels/main.go b/indexedDb/channels/main.go index c4e951ed..2252d7eb 100644 --- a/indexedDb/channels/main.go +++ b/indexedDb/channels/main.go @@ -15,7 +15,7 @@ import ( ) func main() { - fmt.Println("Starting xxDK WebAssembly Database Worker.") + fmt.Println("Starting xxDK WebAssembly Channels Database Worker.") m := &manager{mh: indexedDb.NewMessageHandler()} RegisterDatabaseNameStore(m) diff --git a/indexedDb/dm/dmIndexedDbWorker.js b/indexedDb/dm/dmIndexedDbWorker.js index 38cd0b59..100e6acb 100644 --- a/indexedDb/dm/dmIndexedDbWorker.js +++ b/indexedDb/dm/dmIndexedDbWorker.js @@ -8,7 +8,7 @@ importScripts('wasm_exec.js'); const go = new Go(); -const binPath = 'dmIndexedDbWorker.wasm' +const binPath = 'xxdk-dmIndexedDkWorker.wasm' WebAssembly.instantiateStreaming(fetch(binPath), go.importObject).then((result) => { go.run(result.instance); }).catch((err) => { diff --git a/indexedDb/dm/main.go b/indexedDb/dm/main.go index 1b6a0f48..30cd9514 100644 --- a/indexedDb/dm/main.go +++ b/indexedDb/dm/main.go @@ -15,7 +15,7 @@ import ( ) func main() { - fmt.Println("Starting xxDK WebAssembly Database Worker.") + fmt.Println("Starting xxDK WebAssembly DM Database Worker.") m := &manager{mh: indexedDb.NewMessageHandler()} m.RegisterHandlers() diff --git a/indexedDbWorker/channels/init.go b/indexedDbWorker/channels/init.go index ae2469e0..ccc875c4 100644 --- a/indexedDbWorker/channels/init.go +++ b/indexedDbWorker/channels/init.go @@ -68,6 +68,10 @@ func NewWASMEventModel(path string, encryption cryptoChannel.Cipher, wh.RegisterHandler(indexedDbWorker.EncryptionStatusTag, indexedDbWorker.InitID, false, checkDbEncryptionStatusHandler(wh)) + // Register handler to manage the storage of the database name + wh.RegisterHandler(indexedDbWorker.StoreDatabaseNameTag, + indexedDbWorker.InitID, false, storeDatabaseNameHandler(wh)) + encryptionJSON, err := json.Marshal(encryption) if err != nil { return nil, err @@ -172,3 +176,20 @@ func checkDbEncryptionStatusHandler( wh.SendMessage(indexedDbWorker.EncryptionStatusTag, statusData, nil) } } + +// storeDatabaseNameHandler returns a handler that stores the database name to +// storage when it is received from the worker. +func storeDatabaseNameHandler( + wh *indexedDbWorker.WorkerHandler) func(data []byte) { + return func(data []byte) { + var returnData []byte + + // Get the database name and save it to storage + jww.ERROR.Printf("*** Storing database name: %s", string(data)) + if err := storage.StoreIndexedDb(string(data)); err != nil { + returnData = []byte(err.Error()) + } + + wh.SendMessage(indexedDbWorker.StoreDatabaseNameTag, returnData, nil) + } +} diff --git a/indexedDbWorker/dm/init.go b/indexedDbWorker/dm/init.go index 12af524c..f38a036d 100644 --- a/indexedDbWorker/dm/init.go +++ b/indexedDbWorker/dm/init.go @@ -59,6 +59,10 @@ func NewWASMEventModel(path string, encryption cryptoChannel.Cipher, wh.RegisterHandler(indexedDbWorker.EncryptionStatusTag, indexedDbWorker.InitID, false, checkDbEncryptionStatusHandler(wh)) + // Register handler to manage the storage of the database name + wh.RegisterHandler(indexedDbWorker.StoreDatabaseNameTag, + indexedDbWorker.InitID, false, storeDatabaseNameHandler(wh)) + encryptionJSON, err := json.Marshal(encryption) if err != nil { return nil, err @@ -163,3 +167,19 @@ func checkDbEncryptionStatusHandler( wh.SendMessage(indexedDbWorker.EncryptionStatusTag, statusData, nil) } } + +// storeDatabaseNameHandler returns a handler that stores the database name to +// storage when it is received from the worker. +func storeDatabaseNameHandler( + wh *indexedDbWorker.WorkerHandler) func(data []byte) { + return func(data []byte) { + var returnData []byte + + // Get the database name and save it to storage + if err := storage.StoreIndexedDb(string(data)); err != nil { + returnData = []byte(err.Error()) + } + + wh.SendMessage(indexedDbWorker.StoreDatabaseNameTag, returnData, nil) + } +} -- GitLab