mirror of
https://github.com/fosrl/pangolin.git
synced 2026-07-08 07:05:08 +02:00
Move rate limit up
This commit is contained in:
@@ -9,7 +9,10 @@ import logger from "@server/logger";
|
|||||||
import { fromError } from "zod-validation-error";
|
import { fromError } from "zod-validation-error";
|
||||||
import { eq, and, ne, inArray } from "drizzle-orm";
|
import { eq, and, ne, inArray } from "drizzle-orm";
|
||||||
import { OpenAPITags, registry } from "@server/openApi";
|
import { OpenAPITags, registry } from "@server/openApi";
|
||||||
import { rebuildClientAssociationsFromSiteResource, isOrgRebuildRateLimited } from "@server/lib/rebuildClientAssociations";
|
import {
|
||||||
|
rebuildClientAssociationsFromSiteResource,
|
||||||
|
isOrgRebuildRateLimited
|
||||||
|
} from "@server/lib/rebuildClientAssociations";
|
||||||
|
|
||||||
const setSiteResourceRolesBodySchema = z
|
const setSiteResourceRolesBodySchema = z
|
||||||
.object({
|
.object({
|
||||||
@@ -108,6 +111,15 @@ export async function setSiteResourceRoles(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (await isOrgRebuildRateLimited(siteResource.orgId)) {
|
||||||
|
return next(
|
||||||
|
createHttpError(
|
||||||
|
HttpCode.TOO_MANY_REQUESTS,
|
||||||
|
"Too many concurrent rebuild operations for this organization. Please retry after a moment."
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Check if any of the roleIds are admin roles
|
// Check if any of the roleIds are admin roles
|
||||||
const rolesToCheck = await db
|
const rolesToCheck = await db
|
||||||
.select()
|
.select()
|
||||||
@@ -167,15 +179,6 @@ export async function setSiteResourceRoles(
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (await isOrgRebuildRateLimited(siteResource.orgId)) {
|
|
||||||
return next(
|
|
||||||
createHttpError(
|
|
||||||
HttpCode.TOO_MANY_REQUESTS,
|
|
||||||
"Too many concurrent rebuild operations for this organization. Please retry after a moment."
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
rebuildClientAssociationsFromSiteResource(siteResource).catch((e) => {
|
rebuildClientAssociationsFromSiteResource(siteResource).catch((e) => {
|
||||||
logger.error(
|
logger.error(
|
||||||
`Failed to rebuild client associations for site resource ${siteResourceId}. Error: ${e}`
|
`Failed to rebuild client associations for site resource ${siteResourceId}. Error: ${e}`
|
||||||
|
|||||||
Reference in New Issue
Block a user