From 90f6134bc41a00ed30bb80ef31bb039dc45a64ec Mon Sep 17 00:00:00 2001 From: Ryan Breen Date: Sun, 12 Feb 2023 00:25:57 -0500 Subject: [PATCH] Successfully save events in indexDB. --- .../xcschemes/xcschememanagement.plist | 4 +-- Shared (Extension)/Resources/background.js | 3 +- Shared (Extension)/Resources/db.js | 35 +++++++++++++++++++ package-lock.json | 6 ++++ package.json | 1 + 5 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 Shared (Extension)/Resources/db.js diff --git a/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist b/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist index 2fa6e1a..1e154e6 100644 --- a/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ Nostore (iOS).xcscheme_^#shared#^_ orderHint - 1 + 0 Nostore (macOS).xcscheme_^#shared#^_ orderHint - 0 + 1 nostore (iOS).xcscheme_^#shared#^_ diff --git a/Shared (Extension)/Resources/background.js b/Shared (Extension)/Resources/background.js index e9fc234..466ada3 100644 --- a/Shared (Extension)/Resources/background.js +++ b/Shared (Extension)/Resources/background.js @@ -16,6 +16,7 @@ import { setPermission, feature, } from './utils'; +import { saveEvent } from './db'; const storage = browser.storage.local; const log = msg => console.log('Background: ', msg); @@ -220,7 +221,7 @@ async function signEvent_(event) { event.pubkey = pubKey; event.id = getEventHash(event); event.sig = signEvent(event, privKey); - console.log(JSON.stringify(event)); + saveEvent(event); return event; } diff --git a/Shared (Extension)/Resources/db.js b/Shared (Extension)/Resources/db.js new file mode 100644 index 0000000..4ff5e5a --- /dev/null +++ b/Shared (Extension)/Resources/db.js @@ -0,0 +1,35 @@ +import { openDB } from 'idb'; +// export function openDb() { +// let openRequest = indexedDB.open('db', 1); + +// openRequest.onupgradeneeded = reqEvent => { +// let db = reqEvent.target.result; +// db.createObjectStore('events', { keyPath: 'id' }); +// }; + +// return openRequest; +// } + +async function openEventsDb() { + return await openDB('events', 1, { + upgrade(db) { + db.createObjectStore('events', { keyPath: 'id' }); + }, + }); +} + +export async function saveEvent(event) { + let db = await openEventsDb(); + return db.put('events', event); +} + +// export function saveEvent(event) { +// let openRequest = openDb(); + +// openRequest.onsuccess = reqEvent => { +// let db = reqEvent.target.result; +// let transaction = db.transaction('events', 'readwrite'); +// let events = transaction.objectStore('events'); +// events.put(event); +// }; +// } diff --git a/package-lock.json b/package-lock.json index 8e0aa53..b299447 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "alpinejs": "^3.10.5", "async-mutex": "^0.4.0", + "idb": "^7.1.1", "json-format-highlight": "^1.0.4", "nostr-tools": "^1.3.0" }, @@ -835,6 +836,11 @@ "node": ">= 0.4.0" } }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", diff --git a/package.json b/package.json index d861795..1cc659f 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "dependencies": { "alpinejs": "^3.10.5", "async-mutex": "^0.4.0", + "idb": "^7.1.1", "json-format-highlight": "^1.0.4", "nostr-tools": "^1.3.0" },