mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-26 14:56:39 +00:00
Scoped Branch - Rule Templates:
- Add rule templates for reusable access control rules - Support template assignment to resources with automatic rule propagation - Add template management UI - Implement template rule protection on resource rules page
This commit is contained in:
@@ -14,6 +14,7 @@ import * as accessToken from "./accessToken";
|
||||
import * as idp from "./idp";
|
||||
import * as license from "./license";
|
||||
import * as apiKeys from "./apiKeys";
|
||||
import * as ruleTemplate from "./ruleTemplate";
|
||||
import HttpCode from "@server/types/HttpCode";
|
||||
import {
|
||||
verifyAccessTokenAccess,
|
||||
@@ -339,6 +340,80 @@ authenticated.delete(
|
||||
resource.deleteResourceRule
|
||||
);
|
||||
|
||||
// Rule template routes
|
||||
authenticated.post(
|
||||
"/org/:orgId/rule-templates",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.createResourceRule),
|
||||
ruleTemplate.createRuleTemplate
|
||||
);
|
||||
authenticated.get(
|
||||
"/org/:orgId/rule-templates",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.listResourceRules),
|
||||
ruleTemplate.listRuleTemplates
|
||||
);
|
||||
authenticated.get(
|
||||
"/org/:orgId/rule-templates/:templateId",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.listResourceRules),
|
||||
ruleTemplate.getRuleTemplate
|
||||
);
|
||||
authenticated.put(
|
||||
"/org/:orgId/rule-templates/:templateId",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.createResourceRule),
|
||||
ruleTemplate.updateRuleTemplate
|
||||
);
|
||||
authenticated.get(
|
||||
"/org/:orgId/rule-templates/:templateId/rules",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.listResourceRules),
|
||||
ruleTemplate.listTemplateRules
|
||||
);
|
||||
authenticated.post(
|
||||
"/org/:orgId/rule-templates/:templateId/rules",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.createResourceRule),
|
||||
ruleTemplate.addTemplateRule
|
||||
);
|
||||
authenticated.put(
|
||||
"/org/:orgId/rule-templates/:templateId/rules/:ruleId",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.createResourceRule),
|
||||
ruleTemplate.updateTemplateRule
|
||||
);
|
||||
authenticated.delete(
|
||||
"/org/:orgId/rule-templates/:templateId/rules/:ruleId",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.deleteResourceRule),
|
||||
ruleTemplate.deleteTemplateRule
|
||||
);
|
||||
authenticated.delete(
|
||||
"/org/:orgId/rule-templates/:templateId",
|
||||
verifyOrgAccess,
|
||||
verifyUserHasAction(ActionsEnum.deleteResourceRule),
|
||||
ruleTemplate.deleteRuleTemplate
|
||||
);
|
||||
authenticated.put(
|
||||
"/resource/:resourceId/templates/:templateId",
|
||||
verifyResourceAccess,
|
||||
verifyUserHasAction(ActionsEnum.createResourceRule),
|
||||
ruleTemplate.assignTemplateToResource
|
||||
);
|
||||
authenticated.delete(
|
||||
"/resource/:resourceId/templates/:templateId",
|
||||
verifyResourceAccess,
|
||||
verifyUserHasAction(ActionsEnum.deleteResourceRule),
|
||||
ruleTemplate.unassignTemplateFromResource
|
||||
);
|
||||
authenticated.get(
|
||||
"/resource/:resourceId/templates",
|
||||
verifyResourceAccess,
|
||||
verifyUserHasAction(ActionsEnum.listResourceRules),
|
||||
ruleTemplate.listResourceTemplates
|
||||
);
|
||||
|
||||
authenticated.get(
|
||||
"/target/:targetId",
|
||||
verifyTargetAccess,
|
||||
|
||||
Reference in New Issue
Block a user