fix(api): creation of project roles with invalid permissions

This commit is contained in:
Daniel Hougaard
2024-09-13 23:55:56 +04:00
parent 8bab6d87bb
commit efc6876260
2 changed files with 149 additions and 109 deletions
@@ -7,7 +7,8 @@ import { TPermissionServiceFactory } from "@app/ee/services/permission/permissio
import {
ProjectPermissionActions,
ProjectPermissionSet,
ProjectPermissionSub
ProjectPermissionSub,
validateProjectPermissions
} from "@app/ee/services/permission/project-permission";
import { BadRequestError } from "@app/lib/errors";
@@ -56,6 +57,9 @@ export const projectRoleServiceFactory = ({
ForbiddenError.from(permission).throwUnlessCan(ProjectPermissionActions.Create, ProjectPermissionSub.Role);
const existingRole = await projectRoleDAL.findOne({ slug: data.slug, projectId });
if (existingRole) throw new BadRequestError({ name: "Create Role", message: "Duplicate role" });
validateProjectPermissions(data.permissions);
const role = await projectRoleDAL.create({
...data,
projectId