mirror of
https://github.com/fosrl/pangolin.git
synced 2026-08-07 21:19:03 +02:00
Include the new policy tables in the data
This commit is contained in:
@@ -5,6 +5,8 @@ import {
|
|||||||
resources,
|
resources,
|
||||||
userResources,
|
userResources,
|
||||||
roleResources,
|
roleResources,
|
||||||
|
userPolicies,
|
||||||
|
rolePolicies,
|
||||||
userOrgRoles,
|
userOrgRoles,
|
||||||
userOrgs,
|
userOrgs,
|
||||||
resourcePassword,
|
resourcePassword,
|
||||||
@@ -80,6 +82,30 @@ export async function getUserResources(
|
|||||||
.where(inArray(roleResources.roleId, userRoleIds))
|
.where(inArray(roleResources.roleId, userRoleIds))
|
||||||
: Promise.resolve([]);
|
: Promise.resolve([]);
|
||||||
|
|
||||||
|
const directPolicyResourcesQuery = db
|
||||||
|
.select({ resourceId: resources.resourceId })
|
||||||
|
.from(resources)
|
||||||
|
.innerJoin(
|
||||||
|
userPolicies,
|
||||||
|
eq(resources.resourcePolicyId, userPolicies.resourcePolicyId)
|
||||||
|
)
|
||||||
|
.where(eq(userPolicies.userId, userId));
|
||||||
|
|
||||||
|
const rolePolicyResourcesQuery =
|
||||||
|
userRoleIds.length > 0
|
||||||
|
? db
|
||||||
|
.select({ resourceId: resources.resourceId })
|
||||||
|
.from(resources)
|
||||||
|
.innerJoin(
|
||||||
|
rolePolicies,
|
||||||
|
eq(
|
||||||
|
resources.resourcePolicyId,
|
||||||
|
rolePolicies.resourcePolicyId
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.where(inArray(rolePolicies.roleId, userRoleIds))
|
||||||
|
: Promise.resolve([]);
|
||||||
|
|
||||||
const directSiteResourcesQuery = db
|
const directSiteResourcesQuery = db
|
||||||
.select({ siteResourceId: userSiteResources.siteResourceId })
|
.select({ siteResourceId: userSiteResources.siteResourceId })
|
||||||
.from(userSiteResources)
|
.from(userSiteResources)
|
||||||
@@ -98,11 +124,15 @@ export async function getUserResources(
|
|||||||
const [
|
const [
|
||||||
directResources,
|
directResources,
|
||||||
roleResourceResults,
|
roleResourceResults,
|
||||||
|
directPolicyResourceResults,
|
||||||
|
rolePolicyResourceResults,
|
||||||
directSiteResourceResults,
|
directSiteResourceResults,
|
||||||
roleSiteResourceResults
|
roleSiteResourceResults
|
||||||
] = await Promise.all([
|
] = await Promise.all([
|
||||||
directResourcesQuery,
|
directResourcesQuery,
|
||||||
roleResourcesQuery,
|
roleResourcesQuery,
|
||||||
|
directPolicyResourcesQuery,
|
||||||
|
rolePolicyResourcesQuery,
|
||||||
directSiteResourcesQuery,
|
directSiteResourcesQuery,
|
||||||
roleSiteResourcesQuery
|
roleSiteResourcesQuery
|
||||||
]);
|
]);
|
||||||
@@ -110,7 +140,9 @@ export async function getUserResources(
|
|||||||
// Combine all accessible resource IDs
|
// Combine all accessible resource IDs
|
||||||
const accessibleResourceIds = [
|
const accessibleResourceIds = [
|
||||||
...directResources.map((r) => r.resourceId),
|
...directResources.map((r) => r.resourceId),
|
||||||
...roleResourceResults.map((r) => r.resourceId)
|
...roleResourceResults.map((r) => r.resourceId),
|
||||||
|
...directPolicyResourceResults.map((r) => r.resourceId),
|
||||||
|
...rolePolicyResourceResults.map((r) => r.resourceId)
|
||||||
];
|
];
|
||||||
|
|
||||||
// Combine all accessible site resource IDs
|
// Combine all accessible site resource IDs
|
||||||
|
|||||||
@@ -96,10 +96,6 @@ export default async function ResourceLayout(props: ResourceLayoutProps) {
|
|||||||
title: t("authentication"),
|
title: t("authentication"),
|
||||||
href: `/{orgId}/settings/resources/public/{niceId}/authentication`
|
href: `/{orgId}/settings/resources/public/{niceId}/authentication`
|
||||||
});
|
});
|
||||||
// navItems.push({
|
|
||||||
// title: t("rules"),
|
|
||||||
// href: `/{orgId}/settings/resources/public/{niceId}/rules`
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -171,7 +171,7 @@ export function EditPolicyRulesSectionForm({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const [rules, setRules] = useState<LocalRule[]>(
|
const [rules, setRules] = useState<LocalRule[]>(
|
||||||
policy.rules.map((r) => ({ ...r, fromPolicy: !isResourceOverlay }))
|
policy.rules.map((r) => ({ ...r, fromPolicy: isResourceOverlay }))
|
||||||
);
|
);
|
||||||
const [isExpanded, setIsExpanded] = useState(
|
const [isExpanded, setIsExpanded] = useState(
|
||||||
rulesEnabled || isResourceOverlay
|
rulesEnabled || isResourceOverlay
|
||||||
|
|||||||
Reference in New Issue
Block a user