Add concurrency guard calculateUserClientsForOrgs

This commit is contained in:
Owen
2026-06-29 15:02:41 -04:00
parent d5d99a4804
commit 4718c489d3
4 changed files with 43 additions and 16 deletions
+10
View File
@@ -21,6 +21,7 @@ import { FeatureId } from "@server/lib/billing";
import { calculateUserClientsForOrgs } from "@server/lib/calculateUserClientsForOrgs";
import { build } from "@server/build";
import { assignUserToOrg } from "@server/lib/userOrg";
import { isOrgRebuildRateLimited } from "@server/lib/rebuildClientAssociations";
const acceptInviteBodySchema = z.strictObject({
token: z.string(),
@@ -147,6 +148,15 @@ export async function acceptInvite(
);
}
if (await isOrgRebuildRateLimited(org.orgId)) {
return next(
createHttpError(
HttpCode.TOO_MANY_REQUESTS,
"Too many concurrent rebuild operations for this organization. Please retry after a moment."
)
);
}
const inviteRoleRows = await db
.select({ roleId: userInviteRoles.roleId })
.from(userInviteRoles)