import { apiRequest } from './api'; export type FindingWorklistWorkflowF4 = | 'OPEN' | 'TO_SCHEDULE_VERIFICATION' | 'TO_VERIFY' | 'VERIFICATION_OVERDUE' | 'READY_TO_CLOSE' | 'CLOSED' | 'ALL'; export interface FindingWorklistItemF4 { id: string; actId: string; assetId: string; code: string; status: 'OPEN' | 'CLOSED' | 'VOIDED'; title: string; description: string; severity: number | null; nextControlOn: string | null; closedAt: string | null; closureNotes: string | null; asset: { id: string; code: string; name: string; commonName: string | null; typeName: string; operatorCompany: { id: string; code: string; name: string } | null; operationalArea: { id: string; code: string; name: string } | null; }; document: { actId: string; actCode: string; actStatus: string; visitId: string; visitCode: string; visitStatus: string; }; verificationVisit: { id: string; code: string; status: string; plannedStartAt: string | null; } | null; latestVerification: { visitId: string; visitCode: string; visitStatus: string; targetControlOn: string | null; outcome: 'RESOLVED' | 'NOT_RESOLVED' | 'REQUIRES_NEW_DATE' | null; resultNotes: string | null; verifiedAt: string | null; resultRecordedAt: string | null; rescheduledControlOn: string | null; evidenceCount: number; } | null; createdAt: string; updatedAt: string; } export interface FindingWorklistCountersF4 { open: number; withoutControlDate: number; toVerify: number; verificationOverdue: number; verificationNext30Days: number; readyToClose: number; closed: number; } export interface FindingWorklistPageF4 { data: FindingWorklistItemF4[]; meta: { page: number; pageSize: number; total: number; totalPages: number }; counters: FindingWorklistCountersF4; } export function listFindingWorklistF4(query: { page?: number; pageSize?: number; search?: string; workflow?: FindingWorklistWorkflowF4; companyId?: string; areaId?: string; inspectorId?: string; dateFrom?: string; dateTo?: string; }) { const params = new URLSearchParams(); Object.entries(query).forEach(([key, value]) => { if (value !== undefined && value !== '') params.set(key, String(value)); }); return apiRequest(`/inspection-findings?${params.toString()}`); }