Files
nosterm-client/src/lib/db/repositories/identity-repository.ts
T
Robert Goodall cd2b900639
ci / build (push) Successful in 1m3s
ci / image (push) Successful in 41s
Initial commit: Nosterm client (terminal-style Nostr chat SPA)
2026-07-24 13:47:53 -04:00

28 lines
696 B
TypeScript

import { getDb, type StoredIdentityRecord } from '../database';
const PRIMARY = 'primary';
/**
* storage for a remembered device identity. keeps ONLY the nip-49 ncryptsec
* (passphrase-encrypted secret key) — never a plaintext key. the mvp remembers
* a single identity under a fixed key.
*/
export const identityRepository = {
async get(): Promise<StoredIdentityRecord | undefined> {
return getDb().identities.get(PRIMARY);
},
async save(pubkey: string, ncryptsec: string): Promise<void> {
await getDb().identities.put({
key: PRIMARY,
pubkey,
ncryptsec,
savedAt: Date.now()
});
},
async clear(): Promise<void> {
await getDb().identities.delete(PRIMARY);
}
};