fix(server): make concurrent unstars idempotent

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-07-21 14:00:31 +00:00
1 parent bcea9310b2
commit 7efbf70f45
2 files changed
+16 -11

No files matched your search

+7 -3
View File
@@ -524,15 +524,19 @@ export function resourceMembershipService(db: Db, options: ResourceMembershipSer
policySource: decision.source ?? "oss_default",
};
}
await db.delete(documentMemberships).where(eq(documentMemberships.id, existing.id));
const [deleted] = await db
.delete(documentMemberships)
.where(eq(documentMemberships.id, existing.id))
.returning({ id: documentMemberships.id });
const changed = deleted !== undefined;
return {
resourceType: "document",
resourceId: input.documentId,
state: "joined",
starredAt: null,
updatedAt: new Date(),
changed: true,
changeKind: "unstarred",
changed,
changeKind: changed ? "unstarred" : null,
policySource: decision.source ?? "oss_default",
};
},