mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-21 01:11:38 -05:00
[PR #1231] [MERGED] Add rule templates for reusable access control rules 🚀 #11281
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/1231
Author: @adrianeastles
Created: 8/7/2025
Status: ✅ Merged
Merged: 10/7/2025
Merged by: @oschwartz10612
Base:
policies← Head:feature/resource-rule-templates📝 Commits (5)
9dce7b2Scoped Branch - Rule Templates:2cb2a11align template rules table columns with resource rules page1574cbcPagination for template rules table and resource rules table.16a8828Added better notifications for users when templates are updated.75cec73Resource Rules page:📊 Changes
36 files changed (+3842 additions, -298 deletions)
View changed files
📝
messages/en-US.json(+21 -0)📝
server/db/pg/schema.ts(+39 -0)📝
server/db/sqlite/schema.ts(+39 -0)📝
server/openApi.ts(+1 -0)📝
server/routers/external.ts(+75 -0)📝
server/routers/resource/listResourceRules.ts(+1 -0)➕
server/routers/ruleTemplate/addTemplateRule.ts(+161 -0)➕
server/routers/ruleTemplate/assignTemplateToResource.ts(+176 -0)➕
server/routers/ruleTemplate/createRuleTemplate.ts(+121 -0)➕
server/routers/ruleTemplate/deleteRuleTemplate.ts(+79 -0)➕
server/routers/ruleTemplate/deleteTemplateRule.ts(+114 -0)➕
server/routers/ruleTemplate/getRuleTemplate.ts(+77 -0)➕
server/routers/ruleTemplate/index.ts(+12 -0)➕
server/routers/ruleTemplate/listResourceTemplates.ts(+104 -0)➕
server/routers/ruleTemplate/listRuleTemplates.ts(+127 -0)➕
server/routers/ruleTemplate/listTemplateRules.ts(+73 -0)➕
server/routers/ruleTemplate/unassignTemplateFromResource.ts(+130 -0)➕
server/routers/ruleTemplate/updateRuleTemplate.ts(+117 -0)➕
server/routers/ruleTemplate/updateTemplateRule.ts(+194 -0)📝
server/setup/migrationsPg.ts(+3 -1)...and 16 more files
📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
This PR adds a new rule templates feature that allows users to create reusable sets of access control rules that can be assigned to multiple resources. This provides a more efficient way to manage consistent access control across multiple resources.
Key Features
Technical Implementation
ruleTemplates,templateRules,resourceTemplatestemplateRuleIdfield toresourceRulesfor tracking template originsDatabase Changes
1.10.0adds new tables andtemplateRuleIdcolumnHow to test?
1. Create a Rule Template
http://localhost:3002/org/settings/rule-templates2. Add Rules to Template
3. Assign Template to Resource
http://localhost:3002/org/settings/resources/{resourceId}/rules4. Test Template Rule Protection
5. Test Template Rule Propagation
6. Test Template Unassignment
Screenshots
Rule Template Screens
Resource Rules Screens
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.