From de4a8b483141ba1518e44bc9ec8de9a0c5e93072 Mon Sep 17 00:00:00 2001
From: "Richard T. Carback III" <rick.carback@gmail.com>
Date: Mon, 27 Feb 2023 21:16:22 +0000
Subject: [PATCH] Add GetStorageTag

---
 wasm/dm.go | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/wasm/dm.go b/wasm/dm.go
index dc4b465c..2df4f557 100644
--- a/wasm/dm.go
+++ b/wasm/dm.go
@@ -47,6 +47,7 @@ func newDMClientJS(api *bindings.DMClient) map[string]any {
 		"ExportPrivateIdentity": js.FuncOf(cm.ExportPrivateIdentity),
 		"SetNickname":           js.FuncOf(cm.SetNickname),
 		"GetNickname":           js.FuncOf(cm.GetNickname),
+		"GetStorageTag":         js.FuncOf(cm.GetStorageTag),
 
 		// DM Sending Methods and Reports
 		"SendText":     js.FuncOf(cm.SendText),
@@ -485,6 +486,18 @@ func (ch *DMClient) GetNickname(_ js.Value, args []js.Value) any {
 	return nickname
 }
 
+// GetStorageTag returns the storage tag, so users listening to the database
+// can separately listen and read updates there.
+//
+// Parameters:
+//
+// Returns:
+//   - The storage tag (string).
+func (dmc *DMClient) GetStorageTag(_ js.Value, args []js.Value) any {
+	return (base64.RawStdEncoding.EncodeToString(dmc.api.GetIdentity()) +
+		"_speakeasy_dm")
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // Channel Receiving Logic and Callback Registration                          //
 ////////////////////////////////////////////////////////////////////////////////
-- 
GitLab