diff --git a/apps/console/src/components/organizations/InviteUserDialog.tsx b/apps/console/src/components/organizations/InviteUserDialog.tsx index ff32a5de0..ec7c3e16b 100644 --- a/apps/console/src/components/organizations/InviteUserDialog.tsx +++ b/apps/console/src/components/organizations/InviteUserDialog.tsx @@ -45,7 +45,7 @@ const inviteMutation = graphql` const schema = z.object({ email: z.string().email(), fullName: z.string(), - role: z.enum(["OWNER", "ADMIN", "FULL", "VIEWER"]).default("VIEWER"), + role: z.enum(["OWNER", "ADMIN", "FULL", "VIEWER", "EMPLOYEE"]).default("VIEWER"), createPeople: z.boolean().default(false), }); @@ -126,6 +126,7 @@ function InviteUserDialogContent({ children, connectionId, onRefetch }: Props) { {assignableRoles.includes("OWNER") && } {assignableRoles.includes("ADMIN") && } {assignableRoles.includes("VIEWER") && } + {assignableRoles.includes("EMPLOYEE") && }
{__("Read-only access")}
)} + {field.value === "EMPLOYEE" && ( +{__("Access to employee page")}
+ )}{__("Read-only access")}
)} + {selectedRole === "EMPLOYEE" && ( +{__("Access to employee page")}
+ )} diff --git a/packages/helpers/src/roles.ts b/packages/helpers/src/roles.ts index e67ce6fcc..c17e01fb8 100644 --- a/packages/helpers/src/roles.ts +++ b/packages/helpers/src/roles.ts @@ -9,11 +9,11 @@ export type Role = (typeof Role)[keyof typeof Role]; export function getAssignableRoles(currentRole: Role): Role[] { if (currentRole === Role.OWNER) { - return [Role.OWNER, Role.ADMIN, Role.VIEWER]; + return [Role.OWNER, Role.ADMIN, Role.VIEWER, Role.EMPLOYEE]; } if (currentRole === Role.ADMIN) { - return [Role.ADMIN, Role.VIEWER]; + return [Role.ADMIN, Role.VIEWER, Role.EMPLOYEE]; } return [];