fix: refine permission check for privileged static roles in permission service

Updated the permission check logic to specifically identify "owner" and "admin" roles as privileged static roles, enhancing clarity and accuracy in permission validation. This change ensures that only users with these roles are granted access to enterprise-only resources.
This commit is contained in:
Mauricio Siu
2026-06-02 02:00:42 -06:00
parent 6ff2ca0173
commit 8640f138d3

View File

@@ -80,9 +80,10 @@ export const checkPermission = async (
const { id: userId } = ctx.user; const { id: userId } = ctx.user;
const { activeOrganizationId: organizationId } = ctx.session; const { activeOrganizationId: organizationId } = ctx.session;
const memberRecord = await findMemberByUserId(userId, organizationId); const memberRecord = await findMemberByUserId(userId, organizationId);
const isStaticRole = memberRecord.role in staticRoles;
if (isStaticRole) { const isPrivilegedStaticRole =
memberRecord.role === "owner" || memberRecord.role === "admin";
if (isPrivilegedStaticRole) {
const allEnterprise = Object.keys(permissions).every((r) => const allEnterprise = Object.keys(permissions).every((r) =>
enterpriseOnlyResources.has(r), enterpriseOnlyResources.has(r),
); );