diff --git a/indexedDb/channels/channelsIndexedDbWorker.js b/indexedDb/channels/channelsIndexedDbWorker.js index 245c80d0368dc04805e9dadfcf95a7700693483b..6126eec5219481dba91e346c4a3db8708bf9c9e4 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 c4e951ed44dcdb6292c1a7ea2e8f70401cd4f642..2252d7ebb6adfdc69cd0f8c82383a1949a34c20d 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 38cd0b5970765048a643b683c6a83d3c670f0888..100e6acb68a64fcfc3df4c09b6a00efd41937827 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 1b6a0f482dc5ae912f4fb4aa3d3f32e3cd1e5b3e..30cd95146da9cc0852a139454be905b829be9653 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 ae2469e06b9dab9d434f9c49926749ded122d879..ccc875c44bcf96ba42e6fc24d5591510936651b9 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 12af524cceb1e4cc8f00f947e127f1f3e8b728f5..f38a036d36b4627573377bcdd298974cf9dd8112 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) + } +}