feat: resolved role issue in ui

This commit is contained in:
=
2024-10-22 01:13:15 +05:30
parent b6a1ab2376
commit 2afc6b133e
6 changed files with 10 additions and 7 deletions

View File

@@ -74,7 +74,7 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => {
server.route({
method: "PATCH",
url: "/:projectSlug/roles/:roleId",
url: "/:projectId/roles/:roleId",
config: {
rateLimit: writeLimit
},

View File

@@ -41,8 +41,11 @@ export const useUpdateProjectRole = () => {
} = await apiRequest.patch(`/api/v2/workspace/${projectId}/roles/${id}`, dto);
return role;
},
onSuccess: (_, { projectId }) => {
onSuccess: (_, { projectId, slug }) => {
queryClient.invalidateQueries(roleQueryKeys.getProjectRoles(projectId));
if (slug) {
queryClient.invalidateQueries(roleQueryKeys.getProjectRoleBySlug(projectId, slug));
}
}
});
};

View File

@@ -39,8 +39,8 @@ const conditionsMatcher = buildMongoQueryMatcher({ $glob }, { glob });
export const roleQueryKeys = {
getProjectRoles: (projectId: string) => ["roles", { projectSlug: projectId }] as const,
getProjectRoleBySlug: (projectSlug: string, roleSlug: string) =>
["roles", { projectSlug, roleSlug }] as const,
getProjectRoleBySlug: (projectId: string, roleSlug: string) =>
["roles", { projectId, roleSlug }] as const,
getOrgRoles: (orgId: string) => ["org-roles", { orgId }] as const,
getOrgRole: (orgId: string, roleId: string) => [{ orgId, roleId }, "org-role"] as const,
getUserOrgPermissions: ({ orgId }: TGetUserOrgPermissionsDTO) =>

View File

@@ -30,7 +30,7 @@ export const RolePage = withProjectPermission(
const { currentWorkspace } = useWorkspace();
const projectId = currentWorkspace?.id || "";
const { data } = useGetProjectRoleBySlug(currentWorkspace?.slug ?? "", roleSlug as string);
const { data } = useGetProjectRoleBySlug(projectId, roleSlug as string);
const { mutateAsync: deleteProjectRole } = useDeleteProjectRole();

View File

@@ -19,7 +19,7 @@ export const RoleDetailsSection = ({ roleSlug, handlePopUpOpen }: Props) => {
});
const { currentWorkspace } = useWorkspace();
const { data } = useGetProjectRoleBySlug(currentWorkspace?.slug ?? "", roleSlug as string);
const { data } = useGetProjectRoleBySlug(currentWorkspace?.id ?? "", roleSlug as string);
const isCustomRole = !["admin", "member", "viewer", "no-access"].includes(data?.slug ?? "");

View File

@@ -48,7 +48,7 @@ export const RolePermissionsSection = ({ roleSlug, isDisabled }: Props) => {
const { popUp, handlePopUpToggle } = usePopUp(["createPolicy"] as const);
const projectId = currentWorkspace?.id || "";
const { data: role, isLoading } = useGetProjectRoleBySlug(
currentWorkspace?.slug ?? "",
currentWorkspace?.id ?? "",
roleSlug as string
);