namespace OTSSignsOrchestrator.Server.Workers; /// /// Hardcoded Xibo feature ACL manifests per role. /// Used by Phase2Pipeline step "assign-group-acl" when calling /// POST /api/group/{id}/acl. /// /// ObjectId is the feature key, PermissionsId is the permission level ("view", "edit", "delete"). /// public static class XiboFeatureManifests { /// Viewer role: read-only access to layouts, displays, media. public static readonly string[] ViewerObjectIds = [ "layout.view", "media.view", "display.view", "schedule.view", "report.view", ]; public static readonly string[] ViewerPermissionIds = [ "view", "view", "view", "view", "view", ]; /// Editor role: view + edit for layouts, media, schedules. public static readonly string[] EditorObjectIds = [ "layout.view", "layout.edit", "media.view", "media.edit", "display.view", "schedule.view", "schedule.edit", "report.view", ]; public static readonly string[] EditorPermissionIds = [ "view", "edit", "view", "edit", "view", "view", "edit", "view", ]; /// Admin role: full access to all features. public static readonly string[] AdminObjectIds = [ "layout.view", "layout.edit", "layout.delete", "media.view", "media.edit", "media.delete", "display.view", "display.edit", "display.delete", "schedule.view", "schedule.edit", "schedule.delete", "report.view", "user.view", "user.edit", ]; public static readonly string[] AdminPermissionIds = [ "view", "edit", "delete", "view", "edit", "delete", "view", "edit", "delete", "view", "edit", "delete", "view", "view", "edit", ]; /// OTS IT group: full super-admin access (all features + user management). public static readonly string[] OtsItObjectIds = [ "layout.view", "layout.edit", "layout.delete", "media.view", "media.edit", "media.delete", "display.view", "display.edit", "display.delete", "schedule.view", "schedule.edit", "schedule.delete", "report.view", "user.view", "user.edit", "user.delete", "application.view", "application.edit", ]; public static readonly string[] OtsItPermissionIds = [ "view", "edit", "delete", "view", "edit", "delete", "view", "edit", "delete", "view", "edit", "delete", "view", "view", "edit", "delete", "view", "edit", ]; }