/** * AccessControlModels * * Data structures for Access Control operations. * Contains all request/response types for the access control API. */ export interface AccessRequest { accessId: number; permission: string; entityId?: number | null; } export interface AccessResult { accessId: number; permission: string; entityId?: number | null; hasAccess: boolean; } export interface AccessControlAPIResponse { status: boolean; data?: T; message?: string; errorCode?: string; } export interface BulkAccessTarget { entityId: number; permissions: string[]; } export interface BulkAccessRequest { accessId?: number; targets: BulkAccessTarget[]; } export interface BulkCheckAccessRequest { accessIds: number[]; permission: string; entityId?: number | null; } export interface AccessInheritanceRequest { accessId?: number; connectionTypeId?: number; enable?: boolean; } export interface SuperAdminRequest { accessId?: number; } /** * Request model for parent access inheritance operations * Mirrors C# ParentAccessInheritanceRequest */ export interface ParentAccessInheritanceRequest { parentAccessId: number; childAccessId?: number | null; } export interface ParentAccessInheritanceWithConceptRequest { parentConceptId: number; childConceptId?: number | null; } export interface BulkParentAccessInheritanceWithConceptRequest { parentConceptId: number; childConceptIds: number[]; } export interface BulkParentAccessInheritanceResult { childConceptId: number; accessId: number; success: boolean; message?: string; } export interface SuperAdminWithConceptRequest { conceptId: number; } export interface AccessInheritanceWithConceptRequest { conceptId: number; connectionTypeId?: number; enable?: boolean; } export interface ConceptAccessRequest { conceptIds: number; permission: string; entityId?: number | null; } export interface BulkConceptAccessRequest { conceptIds: number[]; permissions: string[]; entityId?: number | null; }