diff --git a/src/permissions/index.ts b/src/permissions/index.ts index eab6924..ad98276 100644 --- a/src/permissions/index.ts +++ b/src/permissions/index.ts @@ -37,6 +37,18 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ permissions: [{ value: "system:admin-access", label: "Access Admin Panel" }], }, + // ---- Media --------------------------------------------------------------- + { + group: "Media", + permissions: [ + { value: "media:create", label: "Create" }, + { value: "media:read", label: "Read" }, + { value: "media:update", label: "Update" }, + { value: "media:delete", label: "Delete" }, + { value: "admin:media:manage", label: "Manage Admin Page" }, + ], + }, + // ---- Users --------------------------------------------------------------- { group: "Users", @@ -47,6 +59,17 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "users:delete", label: "Delete Users" }, { value: "users:unlock", label: "Unlock User Accounts" }, { value: "users:assign-roles", label: "Assign Roles to Users" }, + { value: "admin:users:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Roles", + permissions: [ + { value: "roles:create", label: "Create" }, + { value: "roles:read", label: "Read" }, + { value: "roles:update", label: "Update" }, + { value: "roles:delete", label: "Delete" }, + { value: "admin:roles:manage", label: "Manage Admin Page" }, ], }, { @@ -56,6 +79,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "ranks:read", label: "Read" }, { value: "ranks:update", label: "Update" }, { value: "ranks:delete", label: "Delete" }, + { value: "admin:ranks:manage", label: "Manage Admin Page" }, ], }, { @@ -65,6 +89,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "profiles:read", label: "Read" }, { value: "profiles:update", label: "Update" }, { value: "profiles:delete", label: "Delete" }, + { value: "admin:profiles:manage", label: "Manage Admin Page" }, ], }, { @@ -74,6 +99,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "awards:read", label: "Read" }, { value: "awards:update", label: "Update" }, { value: "awards:delete", label: "Delete" }, + { value: "admin:awards:manage", label: "Manage Admin Page" }, ], }, { @@ -83,6 +109,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "qualifications:read", label: "Read" }, { value: "qualifications:update", label: "Update" }, { value: "qualifications:delete", label: "Delete" }, + { value: "admin:qualifications:manage", label: "Manage Admin Page" }, ], }, { @@ -92,6 +119,17 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "assignments:read", label: "Read" }, { value: "assignments:update", label: "Update" }, { value: "assignments:delete", label: "Delete" }, + { value: "admin:assignments:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Assignment Transfers", + permissions: [ + { value: "assignment-transfers:create", label: "Create" }, + { value: "assignment-transfers:read", label: "Read" }, + { value: "assignment-transfers:update", label: "Update" }, + { value: "assignment-transfers:delete", label: "Delete" }, + { value: "admin:assignment-transfers:manage", label: "Manage Admin Page" }, ], }, { @@ -101,6 +139,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "experience:read", label: "Read" }, { value: "experience:update", label: "Update" }, { value: "experience:delete", label: "Delete" }, + { value: "admin:experience:manage", label: "Manage Admin Page" }, ], }, { @@ -110,6 +149,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "user-notifications:read", label: "Read" }, { value: "user-notifications:update", label: "Update" }, { value: "user-notifications:delete", label: "Delete" }, + { value: "admin:user-notifications:manage", label: "Manage Admin Page" }, ], }, { @@ -119,6 +159,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "evaluations:read", label: "Read" }, { value: "evaluations:update", label: "Update" }, { value: "evaluations:delete", label: "Delete" }, + { value: "admin:evaluations:manage", label: "Manage Admin Page" }, ], }, @@ -131,6 +172,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "missions:update", label: "Update" }, { value: "missions:delete", label: "Delete" }, { value: "missions:read-sensitive", label: "Read Sensitive Fields (server passwords)" }, + { value: "admin:missions:manage", label: "Manage Admin Page" }, ], }, { @@ -140,6 +182,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "mission-attendances:read", label: "Read" }, { value: "mission-attendances:update", label: "Update" }, { value: "mission-attendances:delete", label: "Delete" }, + { value: "admin:mission-attendances:manage", label: "Manage Admin Page" }, ], }, { @@ -149,6 +192,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "campaigns:read", label: "Read" }, { value: "campaigns:update", label: "Update" }, { value: "campaigns:delete", label: "Delete" }, + { value: "admin:campaigns:manage", label: "Manage Admin Page" }, ], }, { @@ -162,6 +206,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "factions:read", label: "Read" }, { value: "factions:update", label: "Update" }, { value: "factions:delete", label: "Delete" }, + { value: "admin:factions:manage", label: "Manage Admin Page" }, ], }, { @@ -171,6 +216,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "technologies:read", label: "Read" }, { value: "technologies:update", label: "Update" }, { value: "technologies:delete", label: "Delete" }, + { value: "admin:technologies:manage", label: "Manage Admin Page" }, ], }, @@ -182,6 +228,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "assets:read", label: "Read" }, { value: "assets:update", label: "Update" }, { value: "assets:delete", label: "Delete" }, + { value: "admin:assets:manage", label: "Manage Admin Page" }, ], }, { @@ -191,6 +238,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "resources:read", label: "Read" }, { value: "resources:update", label: "Update" }, { value: "resources:delete", label: "Delete" }, + { value: "admin:resources:manage", label: "Manage Admin Page" }, ], }, { @@ -200,6 +248,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "vehicles:read", label: "Read" }, { value: "vehicles:update", label: "Update" }, { value: "vehicles:delete", label: "Delete" }, + { value: "admin:vehicles:manage", label: "Manage Admin Page" }, ], }, { @@ -209,6 +258,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "structures:read", label: "Read" }, { value: "structures:update", label: "Update" }, { value: "structures:delete", label: "Delete" }, + { value: "admin:structures:manage", label: "Manage Admin Page" }, ], }, { @@ -218,6 +268,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "shipments:read", label: "Read" }, { value: "shipments:update", label: "Update" }, { value: "shipments:delete", label: "Delete" }, + { value: "admin:shipments:manage", label: "Manage Admin Page" }, ], }, @@ -229,6 +280,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "bank-accounts:read", label: "Read" }, { value: "bank-accounts:update", label: "Update" }, { value: "bank-accounts:delete", label: "Delete" }, + { value: "admin:bank-accounts:manage", label: "Manage Admin Page" }, ], }, { @@ -238,6 +290,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "bank-transactions:read", label: "Read" }, { value: "bank-transactions:update", label: "Update" }, { value: "bank-transactions:delete", label: "Delete" }, + { value: "admin:bank-transactions:manage", label: "Manage Admin Page" }, ], }, { @@ -247,6 +300,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "ledger-entries:read", label: "Read" }, { value: "ledger-entries:update", label: "Update" }, { value: "ledger-entries:delete", label: "Delete" }, + { value: "admin:ledger-entries:manage", label: "Manage Admin Page" }, ], }, @@ -258,6 +312,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "locker-storages:read", label: "Read" }, { value: "locker-storages:update", label: "Update" }, { value: "locker-storages:delete", label: "Delete" }, + { value: "admin:locker-storages:manage", label: "Manage Admin Page" }, ], }, { @@ -267,6 +322,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "loadouts:read", label: "Read" }, { value: "loadouts:update", label: "Update" }, { value: "loadouts:delete", label: "Delete" }, + { value: "admin:loadouts:manage", label: "Manage Admin Page" }, ], }, @@ -278,6 +334,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "market-listings:read", label: "Read" }, { value: "market-listings:update", label: "Update" }, { value: "market-listings:delete", label: "Delete" }, + { value: "admin:market-listings:manage", label: "Manage Admin Page" }, ], }, { @@ -287,6 +344,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "market-negotiations:read", label: "Read" }, { value: "market-negotiations:update", label: "Update" }, { value: "market-negotiations:delete", label: "Delete" }, + { value: "admin:market-negotiations:manage", label: "Manage Admin Page" }, ], }, @@ -298,6 +356,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "projects:read", label: "Read" }, { value: "projects:update", label: "Update" }, { value: "projects:delete", label: "Delete" }, + { value: "admin:projects:manage", label: "Manage Admin Page" }, ], }, { @@ -307,6 +366,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "labels:read", label: "Read" }, { value: "labels:update", label: "Update" }, { value: "labels:delete", label: "Delete" }, + { value: "admin:labels:manage", label: "Manage Admin Page" }, ], }, { @@ -316,6 +376,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "sprints:read", label: "Read" }, { value: "sprints:update", label: "Update" }, { value: "sprints:delete", label: "Delete" }, + { value: "admin:sprints:manage", label: "Manage Admin Page" }, ], }, { @@ -325,6 +386,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "releases:read", label: "Read" }, { value: "releases:update", label: "Update" }, { value: "releases:delete", label: "Delete" }, + { value: "admin:releases:manage", label: "Manage Admin Page" }, ], }, { @@ -334,6 +396,17 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "tickets:read", label: "Read" }, { value: "tickets:update", label: "Update" }, { value: "tickets:delete", label: "Delete" }, + { value: "admin:tickets:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Ticket Votes", + permissions: [ + { value: "ticket-votes:create", label: "Create" }, + { value: "ticket-votes:read", label: "Read" }, + { value: "ticket-votes:update", label: "Update" }, + { value: "ticket-votes:delete", label: "Delete" }, + { value: "admin:ticket-votes:manage", label: "Manage Admin Page" }, ], }, @@ -345,6 +418,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "game-structures:read", label: "Read" }, { value: "game-structures:update", label: "Update" }, { value: "game-structures:delete", label: "Delete" }, + { value: "admin:game-structures:manage", label: "Manage Admin Page" }, ], }, { @@ -354,6 +428,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "game-vehicles:read", label: "Read" }, { value: "game-vehicles:update", label: "Update" }, { value: "game-vehicles:delete", label: "Delete" }, + { value: "admin:game-vehicles:manage", label: "Manage Admin Page" }, ], }, { @@ -363,6 +438,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "game-npcs:read", label: "Read" }, { value: "game-npcs:update", label: "Update" }, { value: "game-npcs:delete", label: "Delete" }, + { value: "admin:game-npcs:manage", label: "Manage Admin Page" }, ], }, { @@ -372,6 +448,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "game-hard-resources:read", label: "Read" }, { value: "game-hard-resources:update", label: "Update" }, { value: "game-hard-resources:delete", label: "Delete" }, + { value: "admin:game-hard-resources:manage", label: "Manage Admin Page" }, ], }, { @@ -381,6 +458,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "game-event-logs:read", label: "Read" }, { value: "game-event-logs:update", label: "Update" }, { value: "game-event-logs:delete", label: "Delete" }, + { value: "admin:game-event-logs:manage", label: "Manage Admin Page" }, ], }, @@ -392,6 +470,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "maps:read", label: "Read" }, { value: "maps:update", label: "Update" }, { value: "maps:delete", label: "Delete" }, + { value: "admin:maps:manage", label: "Manage Admin Page" }, ], }, { @@ -401,6 +480,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "narrative-events:read", label: "Read" }, { value: "narrative-events:update", label: "Update" }, { value: "narrative-events:delete", label: "Delete" }, + { value: "admin:narrative-events:manage", label: "Manage Admin Page" }, ], }, @@ -412,6 +492,7 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "mission-files:read", label: "Read" }, { value: "mission-files:update", label: "Update" }, { value: "mission-files:delete", label: "Delete" }, + { value: "admin:mission-files:manage", label: "Manage Admin Page" }, ], }, { @@ -421,6 +502,37 @@ export const PERMISSION_GROUPS: PermissionGroup[] = [ { value: "mod-lists:read", label: "Read" }, { value: "mod-lists:update", label: "Update" }, { value: "mod-lists:delete", label: "Delete" }, + { value: "admin:mod-lists:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Game Servers", + permissions: [ + { value: "game-servers:create", label: "Create" }, + { value: "game-servers:read", label: "Read" }, + { value: "game-servers:update", label: "Update" }, + { value: "game-servers:delete", label: "Delete" }, + { value: "admin:game-servers:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Arma Sync Events", + permissions: [ + { value: "arma-sync-events:create", label: "Create" }, + { value: "arma-sync-events:read", label: "Read" }, + { value: "arma-sync-events:update", label: "Update" }, + { value: "arma-sync-events:delete", label: "Delete" }, + { value: "admin:arma-sync-events:manage", label: "Manage Admin Page" }, + ], + }, + { + group: "Arma Commands", + permissions: [ + { value: "arma-commands:create", label: "Create" }, + { value: "arma-commands:read", label: "Read" }, + { value: "arma-commands:update", label: "Update" }, + { value: "arma-commands:delete", label: "Delete" }, + { value: "admin:arma-commands:manage", label: "Manage Admin Page" }, ], }, @@ -478,182 +590,256 @@ export const ALL_PERMISSION_VALUES = PERMISSION_GROUPS.flatMap((g) => g.permissions.map((p) => p.value), ) as unknown as readonly [ "system:admin-access", + "media:create", + "media:read", + "media:update", + "media:delete", + "admin:media:manage", "users:create", "users:read", "users:update", "users:delete", "users:unlock", "users:assign-roles", + "admin:users:manage", + "roles:create", + "roles:read", + "roles:update", + "roles:delete", + "admin:roles:manage", "ranks:create", "ranks:read", "ranks:update", "ranks:delete", + "admin:ranks:manage", "profiles:create", "profiles:read", "profiles:update", "profiles:delete", + "admin:profiles:manage", "awards:create", "awards:read", "awards:update", "awards:delete", + "admin:awards:manage", "qualifications:create", "qualifications:read", "qualifications:update", "qualifications:delete", + "admin:qualifications:manage", "assignments:create", "assignments:read", "assignments:update", "assignments:delete", + "admin:assignments:manage", + "assignment-transfers:create", + "assignment-transfers:read", + "assignment-transfers:update", + "assignment-transfers:delete", + "admin:assignment-transfers:manage", "experience:create", "experience:read", "experience:update", "experience:delete", + "admin:experience:manage", "user-notifications:create", "user-notifications:read", "user-notifications:update", "user-notifications:delete", + "admin:user-notifications:manage", "evaluations:create", "evaluations:read", "evaluations:update", "evaluations:delete", + "admin:evaluations:manage", "missions:create", "missions:read", "missions:update", "missions:delete", "missions:read-sensitive", + "admin:missions:manage", "mission-attendances:create", "mission-attendances:read", "mission-attendances:update", "mission-attendances:delete", + "admin:mission-attendances:manage", "campaigns:create", "campaigns:read", "campaigns:update", "campaigns:delete", + "admin:campaigns:manage", "campaigns:manage", "factions:create", "factions:read", "factions:update", "factions:delete", + "admin:factions:manage", "technologies:create", "technologies:read", "technologies:update", "technologies:delete", + "admin:technologies:manage", "assets:create", "assets:read", "assets:update", "assets:delete", + "admin:assets:manage", "resources:create", "resources:read", "resources:update", "resources:delete", + "admin:resources:manage", "vehicles:create", "vehicles:read", "vehicles:update", "vehicles:delete", + "admin:vehicles:manage", "structures:create", "structures:read", "structures:update", "structures:delete", + "admin:structures:manage", "shipments:create", "shipments:read", "shipments:update", "shipments:delete", + "admin:shipments:manage", "bank-accounts:create", "bank-accounts:read", "bank-accounts:update", "bank-accounts:delete", + "admin:bank-accounts:manage", "bank-transactions:create", "bank-transactions:read", "bank-transactions:update", "bank-transactions:delete", + "admin:bank-transactions:manage", "ledger-entries:create", "ledger-entries:read", "ledger-entries:update", "ledger-entries:delete", + "admin:ledger-entries:manage", "locker-storages:create", "locker-storages:read", "locker-storages:update", "locker-storages:delete", + "admin:locker-storages:manage", "loadouts:create", "loadouts:read", "loadouts:update", "loadouts:delete", + "admin:loadouts:manage", "market-listings:create", "market-listings:read", "market-listings:update", "market-listings:delete", + "admin:market-listings:manage", "market-negotiations:create", "market-negotiations:read", "market-negotiations:update", "market-negotiations:delete", + "admin:market-negotiations:manage", "projects:create", "projects:read", "projects:update", "projects:delete", - "sprints:create", - "sprints:read", - "sprints:update", - "sprints:delete", + "admin:projects:manage", "labels:create", "labels:read", "labels:update", "labels:delete", + "admin:labels:manage", + "sprints:create", + "sprints:read", + "sprints:update", + "sprints:delete", + "admin:sprints:manage", "releases:create", "releases:read", "releases:update", "releases:delete", + "admin:releases:manage", "tickets:create", "tickets:read", "tickets:update", "tickets:delete", + "admin:tickets:manage", + "ticket-votes:create", + "ticket-votes:read", + "ticket-votes:update", + "ticket-votes:delete", + "admin:ticket-votes:manage", "game-structures:create", "game-structures:read", "game-structures:update", "game-structures:delete", + "admin:game-structures:manage", "game-vehicles:create", "game-vehicles:read", "game-vehicles:update", "game-vehicles:delete", + "admin:game-vehicles:manage", "game-npcs:create", "game-npcs:read", "game-npcs:update", "game-npcs:delete", + "admin:game-npcs:manage", "game-hard-resources:create", "game-hard-resources:read", "game-hard-resources:update", "game-hard-resources:delete", + "admin:game-hard-resources:manage", "game-event-logs:create", "game-event-logs:read", "game-event-logs:update", "game-event-logs:delete", + "admin:game-event-logs:manage", "maps:create", "maps:read", "maps:update", "maps:delete", + "admin:maps:manage", "narrative-events:create", "narrative-events:read", "narrative-events:update", "narrative-events:delete", + "admin:narrative-events:manage", "mission-files:create", "mission-files:read", "mission-files:update", "mission-files:delete", + "admin:mission-files:manage", "mod-lists:create", "mod-lists:read", "mod-lists:update", "mod-lists:delete", + "admin:mod-lists:manage", + "game-servers:create", + "game-servers:read", + "game-servers:update", + "game-servers:delete", + "admin:game-servers:manage", + "arma-sync-events:create", + "arma-sync-events:read", + "arma-sync-events:update", + "arma-sync-events:delete", + "admin:arma-sync-events:manage", + "arma-commands:create", + "arma-commands:read", + "arma-commands:update", + "arma-commands:delete", + "admin:arma-commands:manage", "game-rules:read", "game-rules:update", "shims:read", "shims:update", - "campaigns:manage", "logistics:manage", + "intelligence:manage", + "profiles:intel_excerpt:update", "banking:manage", "tickets:staff", "discord:staff", "discord:announce", - "intelligence:manage", - "profiles:intel_excerpt:update", ]; /**