export enum MigrationReviewStatus { PENDING = 'PENDING', APPROVED = 'APPROVED', REJECTED = 'REJECTED', } export interface MigrationReviewQueueItem { id: number; documentNumber: string; title?: string; originalTitle?: string; aiSuggestedCategory?: string; aiConfidence?: number; aiIssues?: any; reviewReason?: string; status: MigrationReviewStatus; reviewedBy?: string; reviewedAt?: string; createdAt: string; projectId?: number; senderOrganizationId?: number; receiverOrganizationId?: number; receivedDate?: string; issuedDate?: string; remarks?: string; aiSummary?: string; extractedTags?: any; tempAttachmentId?: number; } export interface CommitBatchItemDto { queueId: number; dto: Record; } export interface CommitBatchDto { items: CommitBatchItemDto[]; batchId: string; } export enum MigrationErrorType { FILE_NOT_FOUND = 'FILE_NOT_FOUND', AI_PARSE_ERROR = 'AI_PARSE_ERROR', API_ERROR = 'API_ERROR', DB_ERROR = 'DB_ERROR', SECURITY = 'SECURITY', UNKNOWN = 'UNKNOWN', } export interface MigrationErrorItem { id: number; batchId?: string; documentNumber?: string; errorType?: MigrationErrorType; errorMessage?: string; rawAiResponse?: string; createdAt: string; } export interface PaginatedResponse { items: T[]; total: number; page: number; limit: number; totalPages: number; }