|
| 1 | +// Organization Permissions |
| 2 | +export enum OrganisationPermission { |
| 3 | + ADMIN = 'ADMIN', |
| 4 | + CREATE_PROJECT = 'CREATE_PROJECT', |
| 5 | + MANAGE_USERS = 'MANAGE_USERS', |
| 6 | + MANAGE_USER_GROUPS = 'MANAGE_USER_GROUPS', |
| 7 | +} |
| 8 | +export const OrganisationPermissionDescriptions: Record< |
| 9 | + OrganisationPermission, |
| 10 | + string |
| 11 | +> = { |
| 12 | + [OrganisationPermission.ADMIN]: 'Administrator', |
| 13 | + [OrganisationPermission.CREATE_PROJECT]: 'Create project', |
| 14 | + [OrganisationPermission.MANAGE_USERS]: 'Manage users', |
| 15 | + [OrganisationPermission.MANAGE_USER_GROUPS]: 'Manage user groups', |
| 16 | +} as const |
| 17 | + |
| 18 | +// Project Permissions |
| 19 | +export enum ProjectPermission { |
| 20 | + ADMIN = 'ADMIN', |
| 21 | + VIEW_PROJECT = 'VIEW_PROJECT', |
| 22 | + CREATE_ENVIRONMENT = 'CREATE_ENVIRONMENT', |
| 23 | + DELETE_FEATURE = 'DELETE_FEATURE', |
| 24 | + CREATE_FEATURE = 'CREATE_FEATURE', |
| 25 | + MANAGE_SEGMENTS = 'MANAGE_SEGMENTS', |
| 26 | + VIEW_AUDIT_LOG = 'VIEW_AUDIT_LOG', |
| 27 | + MANAGE_TAGS = 'MANAGE_TAGS', |
| 28 | + MANAGE_PROJECT_LEVEL_CHANGE_REQUESTS = 'MANAGE_PROJECT_LEVEL_CHANGE_REQUESTS', |
| 29 | + APPROVE_PROJECT_LEVEL_CHANGE_REQUESTS = 'APPROVE_PROJECT_LEVEL_CHANGE_REQUESTS', |
| 30 | + CREATE_PROJECT_LEVEL_CHANGE_REQUESTS = 'CREATE_PROJECT_LEVEL_CHANGE_REQUESTS', |
| 31 | +} |
| 32 | +export const ProjectPermissionDescriptions: Record<ProjectPermission, string> = |
| 33 | + { |
| 34 | + [ProjectPermission.ADMIN]: 'Administrator', |
| 35 | + [ProjectPermission.VIEW_PROJECT]: 'View project', |
| 36 | + [ProjectPermission.CREATE_ENVIRONMENT]: 'Create environment', |
| 37 | + [ProjectPermission.DELETE_FEATURE]: 'Delete feature', |
| 38 | + [ProjectPermission.CREATE_FEATURE]: 'Create feature', |
| 39 | + [ProjectPermission.MANAGE_SEGMENTS]: 'Manage segments', |
| 40 | + [ProjectPermission.VIEW_AUDIT_LOG]: 'View audit log', |
| 41 | + [ProjectPermission.MANAGE_TAGS]: 'Manage tags', |
| 42 | + [ProjectPermission.MANAGE_PROJECT_LEVEL_CHANGE_REQUESTS]: |
| 43 | + 'Manage project level change requests', |
| 44 | + [ProjectPermission.APPROVE_PROJECT_LEVEL_CHANGE_REQUESTS]: |
| 45 | + 'Approve project level change requests', |
| 46 | + [ProjectPermission.CREATE_PROJECT_LEVEL_CHANGE_REQUESTS]: |
| 47 | + 'Create project level change requests', |
| 48 | + } as const |
| 49 | + |
| 50 | +// Environment Permissions |
| 51 | +export enum EnvironmentPermission { |
| 52 | + ADMIN = 'ADMIN', |
| 53 | + VIEW_ENVIRONMENT = 'VIEW_ENVIRONMENT', |
| 54 | + UPDATE_FEATURE_STATE = 'UPDATE_FEATURE_STATE', |
| 55 | + MANAGE_IDENTITIES = 'MANAGE_IDENTITIES', |
| 56 | + CREATE_CHANGE_REQUEST = 'CREATE_CHANGE_REQUEST', |
| 57 | + APPROVE_CHANGE_REQUEST = 'APPROVE_CHANGE_REQUEST', |
| 58 | + VIEW_IDENTITIES = 'VIEW_IDENTITIES', |
| 59 | + MANAGE_SEGMENT_OVERRIDES = 'MANAGE_SEGMENT_OVERRIDES', |
| 60 | +} |
| 61 | +export const EnvironmentPermissionDescriptions: Record< |
| 62 | + EnvironmentPermission, |
| 63 | + string |
| 64 | +> = { |
| 65 | + [EnvironmentPermission.ADMIN]: 'Administrator', |
| 66 | + [EnvironmentPermission.VIEW_ENVIRONMENT]: 'View environment', |
| 67 | + [EnvironmentPermission.UPDATE_FEATURE_STATE]: 'Update feature state', |
| 68 | + [EnvironmentPermission.MANAGE_IDENTITIES]: 'Manage identities', |
| 69 | + [EnvironmentPermission.CREATE_CHANGE_REQUEST]: 'Create change request', |
| 70 | + [EnvironmentPermission.APPROVE_CHANGE_REQUEST]: 'Approve change request', |
| 71 | + [EnvironmentPermission.VIEW_IDENTITIES]: 'View identities', |
| 72 | + [EnvironmentPermission.MANAGE_SEGMENT_OVERRIDES]: 'Manage segment overrides', |
| 73 | +} as const |
| 74 | + |
| 75 | +export type Permission = |
| 76 | + | OrganisationPermission |
| 77 | + | ProjectPermission |
| 78 | + | EnvironmentPermission |
| 79 | + |
| 80 | +// Combined permission descriptions record |
| 81 | +export const PermissionDescriptions: Record<Permission, string> = { |
| 82 | + ...OrganisationPermissionDescriptions, |
| 83 | + ...ProjectPermissionDescriptions, |
| 84 | + ...EnvironmentPermissionDescriptions, |
| 85 | +} as const |
0 commit comments