feature/table-celery-tasks-resume
This commit is contained in:
49
frontend/src/lib/csv-import-status-api.ts
Normal file
49
frontend/src/lib/csv-import-status-api.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import { api, type ApiResponse } from '$lib/api';
|
||||
import type { CsvImportProfile } from '$lib/csv-import-session';
|
||||
|
||||
/**
|
||||
* Consulta el estado de un job CSV según el perfil de importación (misma lógica que pollStatus en csv-upload).
|
||||
*/
|
||||
export function fetchCsvImportStatus(
|
||||
jobId: string,
|
||||
profile: CsvImportProfile
|
||||
): Promise<ApiResponse> {
|
||||
switch (profile) {
|
||||
case 'customs_brokers':
|
||||
return api.customsBrokerImports.status(jobId);
|
||||
case 'clients_providers':
|
||||
return api.clientProviderImports.status(jobId);
|
||||
case 'exchange_rates':
|
||||
return api.exchangeRateImports.status(jobId);
|
||||
case 'american_fractions':
|
||||
return api.americanFractionImports.status(jobId);
|
||||
case 'pedimentos':
|
||||
return api.pedimentosImports.status(jobId);
|
||||
case 'material_classes':
|
||||
return api.materialClassImports.status(jobId);
|
||||
case 'vehicles':
|
||||
return api.vehicleImports.status(jobId);
|
||||
case 'drivers':
|
||||
return api.driverImports.status(jobId);
|
||||
case 'trailers':
|
||||
return api.trailerImports.status(jobId);
|
||||
case 'transporters':
|
||||
return api.transporterImports.status(jobId);
|
||||
case 'part_numbers':
|
||||
return api.partNumberImports.status(jobId);
|
||||
case 'boms':
|
||||
return api.bomImports.status(jobId);
|
||||
case 'exportacion':
|
||||
return api.exportacionImports.status(jobId);
|
||||
case 'imports':
|
||||
default:
|
||||
return api.imports.status(jobId);
|
||||
}
|
||||
}
|
||||
|
||||
export function isWaitingConfirmationPayload(data: unknown): boolean {
|
||||
if (!data || typeof data !== 'object') return false;
|
||||
const d = data as Record<string, unknown>;
|
||||
if (d.status === 'waiting_confirmation') return true;
|
||||
return typeof d.job_id === 'string' && typeof d.total_rows === 'number';
|
||||
}
|
||||
Reference in New Issue
Block a user