From 407a1aff3b677f7904aef434b0e4980404bef9f5 Mon Sep 17 00:00:00 2001 From: olivierIllogika Date: Mon, 22 Jul 2024 11:18:09 -0400 Subject: [PATCH] only owner can assign owner role (#108) * backend fix: https://github.com/docmost/docmost/commit/b4bc184cb3749a3faa5a00d5a1240faacd4b1035 --- .../members/components/workspace-members-table.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/client/src/features/workspace/components/members/components/workspace-members-table.tsx b/apps/client/src/features/workspace/components/members/components/workspace-members-table.tsx index ea07b776..c99ce6b2 100644 --- a/apps/client/src/features/workspace/components/members/components/workspace-members-table.tsx +++ b/apps/client/src/features/workspace/components/members/components/workspace-members-table.tsx @@ -11,11 +11,14 @@ import { userRoleData, } from "@/features/workspace/types/user-role-data.ts"; import useUserRole from "@/hooks/use-user-role.tsx"; +import { UserRole } from "@/lib/types.ts"; export default function WorkspaceMembersTable() { const { data, isLoading } = useWorkspaceMembersQuery({ limit: 100 }); const changeMemberRoleMutation = useChangeMemberRoleMutation(); - const { isAdmin } = useUserRole(); + const { isAdmin, isOwner } = useUserRole(); + + const assignableUserRoles = isOwner ? userRoleData : userRoleData.filter((role) => role.value !== UserRole.OWNER); const handleRoleChange = async ( userId: string, @@ -69,7 +72,7 @@ export default function WorkspaceMembersTable() { handleRoleChange(user.id, user.role, newRole)