import { PermissionCreate } from '@tco.ai/models/dist/RBAC/PermissionCreate'; import { RBAC_TYPE } from '@tco.ai/models/dist/RBAC/RBACTypes'; import { RoleCreate } from '@tco.ai/models/dist/RBAC/RoleCreate'; export const RBAC_DEFAULT_PERMISSIONS: Array = [ { name: 'rbac.tokens.search', description: 'Ability to create new API tokens.', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.tokens.get', description: 'Ability to create new API tokens.', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.tokens.create', description: 'Ability to create new API tokens.', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.tokens.update', description: 'Ability to create new API tokens.', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.tokens.delete', description: 'Ability to create new API tokens.', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.users.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.users.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.users.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.users.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.users.delete', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.organizations.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.organizations.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.organizations.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.organizations.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.organizations.delete', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.roles.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.roles.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.roles.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.roles.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.roles.delete', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.permissions.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.permissions.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.permissions.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.permissions.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'rbac.permissions.delete', description: '', type: RBAC_TYPE.SYSTEM } ]; export const RBAC_PERMISSIONS_CAMERAS: Array = [ { name: 'cameras.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'cameras.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'cameras.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'cameras.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'cameras.delete', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'cameras.stream', description: '', type: RBAC_TYPE.SYSTEM } ]; export const RBAC_PERMISSIONS_APPLICATIONS: Array = [ { name: 'applications.search', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'applications.get', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'applications.create', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'applications.update', description: '', type: RBAC_TYPE.SYSTEM }, { name: 'applications.delete', description: '', type: RBAC_TYPE.SYSTEM } ]; export const RBAC_DEFAULT_ROLES: Array = [ { name: 'rbac.admin', description: 'Full access to RBAC services.', permissions: RBAC_DEFAULT_PERMISSIONS, type: RBAC_TYPE.SYSTEM }, { name: 'cameras.admin', description: 'Complete control over cameras & their settings.', permissions: RBAC_PERMISSIONS_CAMERAS, type: RBAC_TYPE.SYSTEM }, { name: 'applications.admin', description: 'Complete control over applications & their settings.', permissions: RBAC_PERMISSIONS_APPLICATIONS, type: RBAC_TYPE.SYSTEM } ];