improvement: add bulk delete org members endpoint and table support

This commit is contained in:
Scott Wilson
2025-07-29 16:42:13 -07:00
parent 00e382d774
commit 4f00fc6777
15 changed files with 835 additions and 303 deletions
+16
View File
@@ -513,6 +513,21 @@ export const orgDALFactory = (db: TDbClient) => {
}
};
const deleteMembershipsById = async (ids: string[], orgId: string, tx?: Knex) => {
try {
const memberships = await (tx || db)(TableName.OrgMembership)
.where({
orgId
})
.whereIn("id", ids)
.delete()
.returning("*");
return memberships;
} catch (error) {
throw new DatabaseError({ error, name: "Delete org memberships" });
}
};
const findMembership = async (
filter: TFindFilter<TOrgMemberships>,
{ offset, limit, sort, tx }: TFindOpt<TOrgMemberships> = {}
@@ -634,6 +649,7 @@ export const orgDALFactory = (db: TDbClient) => {
createMembership,
updateMembershipById,
deleteMembershipById,
deleteMembershipsById,
updateMembership
});
};