feat: add functionality to delete invalid invites and update related components

This commit is contained in:
shuaiplus
2026-06-29 12:12:13 +08:00
parent e31f82c0d6
commit 0d1bb196e2
15 changed files with 96 additions and 3 deletions
+9
View File
@@ -159,6 +159,15 @@ export async function deleteInvite(db: D1Database, code: string): Promise<boolea
return (result.meta.changes ?? 0) > 0;
}
export async function deleteInvalidInvites(db: D1Database): Promise<number> {
const now = new Date().toISOString();
const result = await db
.prepare("DELETE FROM invites WHERE status != 'active' OR expires_at <= ?")
.bind(now)
.run();
return Number(result.meta.changes ?? 0);
}
export async function deleteAllInvites(db: D1Database): Promise<number> {
const result = await db.prepare('DELETE FROM invites').run();
return Number(result.meta.changes ?? 0);
+5
View File
@@ -25,6 +25,7 @@ import {
assignInviteUsedBy as assignStoredInviteUsedBy,
createInvite as createStoredInvite,
deleteInvite as deleteStoredInvite,
deleteInvalidInvites as deleteStoredInvalidInvites,
deleteAllInvites as deleteStoredInvites,
getInvite as findStoredInvite,
listAuditLogs as listStoredAuditLogs,
@@ -333,6 +334,10 @@ export class StorageService {
return deleteStoredInvite(this.db, code);
}
async deleteInvalidInvites(): Promise<number> {
return deleteStoredInvalidInvites(this.db);
}
async deleteAllInvites(): Promise<number> {
return deleteStoredInvites(this.db);
}