Adding metadata to the events.

This commit is contained in:
Ryan Breen
2023-02-12 14:27:15 -05:00
parent 90f6134bc4
commit dfec82deb2
2 changed files with 14 additions and 25 deletions

View File

@@ -140,7 +140,7 @@ function complete({ payload, origKind, event, remember, host }) {
}); });
break; break;
case 'signEvent': case 'signEvent':
signEvent_(event).then(e => sendResponse(e)); signEvent_(event, host).then(e => sendResponse(e));
break; break;
case 'nip04.encrypt': case 'nip04.encrypt':
nip04Encrypt(event).then(e => sendResponse(e)); nip04Encrypt(event).then(e => sendResponse(e));
@@ -214,14 +214,17 @@ async function currentProfile() {
return profiles[index]; return profiles[index];
} }
async function signEvent_(event) { async function signEvent_(event, host) {
event = JSON.parse(JSON.stringify(event)); event = JSON.parse(JSON.stringify(event));
let privKey = await getPrivKey(); let privKey = await getPrivKey();
let pubKey = getPublicKey(privKey); let pubKey = getPublicKey(privKey);
event.pubkey = pubKey; event.pubkey = pubKey;
event.id = getEventHash(event); event.id = getEventHash(event);
event.sig = signEvent(event, privKey); event.sig = signEvent(event, privKey);
saveEvent(event); saveEvent({
event,
metadata: { host, signed_at: Math.round(Date.now() / 1000) },
});
return event; return event;
} }

View File

@@ -1,35 +1,21 @@
import { openDB } from 'idb'; 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() { async function openEventsDb() {
return await openDB('events', 1, { return await openDB('events', 1, {
upgrade(db) { upgrade(db) {
db.createObjectStore('events', { keyPath: 'id' }); const events = db.createObjectStore('events', {
keyPath: 'event.id',
});
events.createIndex('pubkey', 'event.pubkey');
events.createIndex('created_at', 'event.created_at');
events.createIndex('kind', 'event.kind');
events.createIndex('host', 'metadata.host');
}, },
}); });
} }
export async function saveEvent(event) { export async function saveEvent(event) {
console.log('logging event', event);
let db = await openEventsDb(); let db = await openEventsDb();
return db.put('events', event); 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);
// };
// }