import { PermissionDefinition } from './permission.typing'; export interface BaseRole { roleName: string; roleDescription: string; allowedPermissions: PermissionImplementation[]; deniedPermissions: PermissionImplementation[]; } export interface RoleToSave { roleId?: number; roleName: string; roleDescription: string; allowedPermissions: BasePermissionImplementation[]; deniedPermissions: BasePermissionImplementation[]; } export interface Role extends BaseRole { createdDate: string; updatedDate: string; id: number; } export interface BasePermissionImplementation { permissionSetType: number; permissionType: number; } export interface PermissionImplementation extends BasePermissionImplementation { allowed: boolean; } export interface PlatformRoleFromApi { systemRole: { id: number; name: string; description: string; permissions: { permissionId: number; permissionName: string; }[]; }; userAssignedToRole: boolean; } export interface PlatformPermission { permissionId: number; permissionName: string; } export interface PlatformRoleToSave { roleId: number; roleName: string; active: boolean; permissionIds: number[]; } export interface SimpleRole { name: string; id: number; description: string; } export interface DetachedPermissionSet { permissions: PermissionDefinition[]; type: number; name: string; description: string; } export interface PermissionMap { [setType: number]: { name: string; [permissionType: number]: PermissionDefinition; }; }