fix: resolved permission not defined for custom org role

This commit is contained in:
=
2024-09-26 20:43:08 +05:30
parent bac865eab1
commit 3f4c4f7418
4 changed files with 14 additions and 3 deletions
@@ -50,6 +50,7 @@ export const permissionDALFactory = (db: TDbClient) => {
.select( .select(
selectAllTableCols(TableName.OrgMembership), selectAllTableCols(TableName.OrgMembership),
db.ref("slug").withSchema(TableName.OrgRoles).withSchema(TableName.OrgRoles).as("customRoleSlug"), db.ref("slug").withSchema(TableName.OrgRoles).withSchema(TableName.OrgRoles).as("customRoleSlug"),
db.ref("permissions").withSchema(TableName.OrgRoles),
db.ref("authEnforced").withSchema(TableName.Organization).as("orgAuthEnforced"), db.ref("authEnforced").withSchema(TableName.Organization).as("orgAuthEnforced"),
db.ref("groupId").withSchema("userGroups"), db.ref("groupId").withSchema("userGroups"),
db.ref("groupOrgId").withSchema("userGroups"), db.ref("groupOrgId").withSchema("userGroups"),
+2 -1
View File
@@ -10,9 +10,10 @@ export const kmsKeys = {
getActiveProjectKms: (projectId: string) => ["get-active-project-kms", { projectId }] getActiveProjectKms: (projectId: string) => ["get-active-project-kms", { projectId }]
}; };
export const useGetExternalKmsList = (orgId: string) => { export const useGetExternalKmsList = (orgId: string, { enabled }: { enabled?: boolean } = {}) => {
return useQuery({ return useQuery({
queryKey: kmsKeys.getExternalKmsList(orgId), queryKey: kmsKeys.getExternalKmsList(orgId),
enabled,
queryFn: async () => { queryFn: async () => {
const { const {
data: { externalKmsList } data: { externalKmsList }
+6 -1
View File
@@ -59,6 +59,7 @@ import {
OrgPermissionActions, OrgPermissionActions,
OrgPermissionSubjects, OrgPermissionSubjects,
useOrganization, useOrganization,
useOrgPermission,
useSubscription, useSubscription,
useUser, useUser,
useWorkspace useWorkspace
@@ -153,7 +154,11 @@ export const AppLayout = ({ children }: LayoutProps) => {
const { data: secretApprovalReqCount } = useGetSecretApprovalRequestCount({ workspaceId }); const { data: secretApprovalReqCount } = useGetSecretApprovalRequestCount({ workspaceId });
const { data: accessApprovalRequestCount } = useGetAccessRequestsCount({ projectSlug }); const { data: accessApprovalRequestCount } = useGetAccessRequestsCount({ projectSlug });
const { data: externalKmsList } = useGetExternalKmsList(currentOrg?.id!); const { permission } = useOrgPermission();
console.log(permission.can(OrgPermissionActions.Read, OrgPermissionSubjects.Kms));
const { data: externalKmsList } = useGetExternalKmsList(currentOrg?.id!, {
enabled: permission.can(OrgPermissionActions.Read, OrgPermissionSubjects.Kms)
});
const pendingRequestsCount = useMemo(() => { const pendingRequestsCount = useMemo(() => {
return (secretApprovalReqCount?.open || 0) + (accessApprovalRequestCount?.pendingCount || 0); return (secretApprovalReqCount?.open || 0) + (accessApprovalRequestCount?.pendingCount || 0);
@@ -56,6 +56,7 @@ import {
OrgPermissionActions, OrgPermissionActions,
OrgPermissionSubjects, OrgPermissionSubjects,
useOrganization, useOrganization,
useOrgPermission,
useSubscription, useSubscription,
useUser, useUser,
useWorkspace useWorkspace
@@ -494,6 +495,7 @@ const OrganizationPage = () => {
const { workspaces, isLoading: isWorkspaceLoading } = useWorkspace(); const { workspaces, isLoading: isWorkspaceLoading } = useWorkspace();
const { currentOrg } = useOrganization(); const { currentOrg } = useOrganization();
const { permission } = useOrgPermission();
const routerOrgId = String(router.query.id); const routerOrgId = String(router.query.id);
const orgWorkspaces = workspaces?.filter((workspace) => workspace.orgId === routerOrgId) || []; const orgWorkspaces = workspaces?.filter((workspace) => workspace.orgId === routerOrgId) || [];
const { data: projectFavorites, isLoading: isProjectFavoritesLoading } = const { data: projectFavorites, isLoading: isProjectFavoritesLoading } =
@@ -531,7 +533,9 @@ const OrganizationPage = () => {
(localStorage.getItem("projectsViewMode") as ProjectsViewMode) || ProjectsViewMode.GRID (localStorage.getItem("projectsViewMode") as ProjectsViewMode) || ProjectsViewMode.GRID
); );
const { data: externalKmsList } = useGetExternalKmsList(currentOrg?.id!); const { data: externalKmsList } = useGetExternalKmsList(currentOrg?.id!, {
enabled: permission.can(OrgPermissionActions.Read, OrgPermissionSubjects.Kms)
});
const onCreateProject = async ({ name, addMembers, kmsKeyId }: TAddProjectFormData) => { const onCreateProject = async ({ name, addMembers, kmsKeyId }: TAddProjectFormData) => {
// type check // type check