Adding metadata to the events.
This commit is contained in:
@@ -140,7 +140,7 @@ function complete({ payload, origKind, event, remember, host }) {
|
||||
});
|
||||
break;
|
||||
case 'signEvent':
|
||||
signEvent_(event).then(e => sendResponse(e));
|
||||
signEvent_(event, host).then(e => sendResponse(e));
|
||||
break;
|
||||
case 'nip04.encrypt':
|
||||
nip04Encrypt(event).then(e => sendResponse(e));
|
||||
@@ -214,14 +214,17 @@ async function currentProfile() {
|
||||
return profiles[index];
|
||||
}
|
||||
|
||||
async function signEvent_(event) {
|
||||
async function signEvent_(event, host) {
|
||||
event = JSON.parse(JSON.stringify(event));
|
||||
let privKey = await getPrivKey();
|
||||
let pubKey = getPublicKey(privKey);
|
||||
event.pubkey = pubKey;
|
||||
event.id = getEventHash(event);
|
||||
event.sig = signEvent(event, privKey);
|
||||
saveEvent(event);
|
||||
saveEvent({
|
||||
event,
|
||||
metadata: { host, signed_at: Math.round(Date.now() / 1000) },
|
||||
});
|
||||
return event;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,35 +1,21 @@
|
||||
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' });
|
||||
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) {
|
||||
console.log('logging event', 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);
|
||||
// };
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user