mirror of
https://github.com/kind-0/nsecbunkerd.git
synced 2026-05-03 07:00:11 +00:00
fix: Exclude soft-deleted keys when retrieving key list
- Fetch keys marked as deleted from the database and filter them out. - Ensure soft-deleted keys are skipped during processing.
This commit is contained in:
parent
ee8f9af717
commit
af02c644c0
@ -35,10 +35,20 @@ export type KeyUser = {
|
||||
|
||||
function getKeys(config: DaemonConfig) {
|
||||
return async (): Promise<Key[]> => {
|
||||
let lockedKeyNames = Object.keys(config.allKeys);
|
||||
// Get soft-deleted key names from database to exclude them
|
||||
const deletedKeys = await prisma.key.findMany({
|
||||
where: { deletedAt: { not: null } },
|
||||
select: { keyName: true },
|
||||
});
|
||||
const deletedKeyNames = new Set(deletedKeys.map(k => k.keyName));
|
||||
|
||||
let lockedKeyNames = Object.keys(config.allKeys).filter(name => !deletedKeyNames.has(name));
|
||||
const keys: Key[] = [];
|
||||
|
||||
for (const [name, nsec] of Object.entries(config.keys)) {
|
||||
// Skip soft-deleted keys
|
||||
if (deletedKeyNames.has(name)) continue;
|
||||
|
||||
const decoded = nip19.decode(nsec) as unknown as { type: 'nsec', data: Uint8Array };
|
||||
const hexpk = bytesToHex(decoded.data);
|
||||
const user = await new NDKPrivateKeySigner(hexpk).user();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user