28 lines
696 B
TypeScript
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);
|
|
}
|
|
};
|