Fix: Project roles

This commit is contained in:
Daniel Hougaard
2024-04-22 21:08:57 +02:00
parent 105b8d6493
commit f7183347dc
2 changed files with 33 additions and 25 deletions
+10 -2
View File
@@ -106,7 +106,7 @@ const getUserProjectPermissions = async ({ workspaceId }: TGetUserProjectPermiss
const { data } = await apiRequest.get<{ const { data } = await apiRequest.get<{
data: { data: {
permissions: PackRule<RawRuleOf<MongoAbility<OrgPermissionSet>>>[]; permissions: PackRule<RawRuleOf<MongoAbility<OrgPermissionSet>>>[];
membership: TProjectMembership; membership: Omit<TProjectMembership, "roles"> & { roles: { role: string }[] };
}; };
}>(`/api/v1/workspace/${workspaceId}/permissions`, {}); }>(`/api/v1/workspace/${workspaceId}/permissions`, {});
@@ -121,6 +121,14 @@ export const useGetUserProjectPermissions = ({ workspaceId }: TGetUserProjectPer
select: (data) => { select: (data) => {
const rule = unpackRules<RawRuleOf<MongoAbility<ProjectPermissionSet>>>(data.permissions); const rule = unpackRules<RawRuleOf<MongoAbility<ProjectPermissionSet>>>(data.permissions);
const ability = createMongoAbility<ProjectPermissionSet>(rule, { conditionsMatcher }); const ability = createMongoAbility<ProjectPermissionSet>(rule, { conditionsMatcher });
return { permission: ability, membership: data.membership };
const membership = {
...data.membership,
roles: data.membership.roles.map(({ role }) => {
return role;
})
};
return { permission: ability, membership };
} }
}); });
+1 -1
View File
@@ -62,7 +62,7 @@ export type TProjectMembership = {
createdAt: string; createdAt: string;
updatedAt: string; updatedAt: string;
projectId: string; projectId: string;
roleId: string; roles: string[];
}; };
export type TWorkspaceUser = { export type TWorkspaceUser = {