From 7a8028ac81791994485306574107cfcfbe42b25b Mon Sep 17 00:00:00 2001 From: Kevin_Ramirez Date: Tue, 2 Jun 2026 08:35:04 -0500 Subject: [PATCH] =?UTF-8?q?fix(xml-rb-systems):=20mostrar=20toast=20de=20s?= =?UTF-8?q?esi=C3=B3n=20expirada=20en=20error=20401?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Detecta respuestas 401 en los 4 métodos XML RB Systems (impo-temp, impo-def, impo, expo) y lanza un mensaje claro en lugar del error genérico de generación. Además elimina entry_port/exit_port del tipo de request de exportación. Co-Authored-By: Claude Opus 4.7 --- .../lib/api/dashboard/a76/reports/reports-transmission.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/api/dashboard/a76/reports/reports-transmission.ts b/frontend/src/lib/api/dashboard/a76/reports/reports-transmission.ts index a845ed10..422205b5 100644 --- a/frontend/src/lib/api/dashboard/a76/reports/reports-transmission.ts +++ b/frontend/src/lib/api/dashboard/a76/reports/reports-transmission.ts @@ -174,6 +174,7 @@ export const reportsTransmissionApi = { body: JSON.stringify(request) }); if (!response.ok) { + if (response.status === 401) throw new Error('Sesión expirada. Por favor recarga la página e inicia sesión nuevamente.'); let errorMessage = 'Error al generar XML RB Systems (importación temporal)'; try { errorMessage = (await response.json()).detail || errorMessage; } catch (e) {} throw new Error(errorMessage); @@ -190,6 +191,7 @@ export const reportsTransmissionApi = { body: JSON.stringify(request) }); if (!response.ok) { + if (response.status === 401) throw new Error('Sesión expirada. Por favor recarga la página e inicia sesión nuevamente.'); let errorMessage = 'Error al generar XML RB Systems (importación definitiva)'; try { errorMessage = (await response.json()).detail || errorMessage; } catch (e) {} throw new Error(errorMessage); @@ -206,6 +208,7 @@ export const reportsTransmissionApi = { body: JSON.stringify(request) }); if (!response.ok) { + if (response.status === 401) throw new Error('Sesión expirada. Por favor recarga la página e inicia sesión nuevamente.'); let errorMessage = 'Error al generar XML RB Systems (importación)'; try { errorMessage = (await response.json()).detail || errorMessage; } catch (e) {} throw new Error(errorMessage); @@ -213,7 +216,7 @@ export const reportsTransmissionApi = { return await response.json(); }, - triggerXmlRbSystemsExpo: async (request: { manifest_numbers: string[]; entry_port?: string; exit_port?: string; include_emanifest?: boolean }) => { + triggerXmlRbSystemsExpo: async (request: { manifest_numbers: string[]; include_emanifest?: boolean }) => { const endpoint = `${BASE_URL}/v1/a76/reports/xml-rb-systems/exportacion/generate`; const token = localStorage.getItem('access_token'); const response = await fetch(endpoint, { @@ -222,6 +225,7 @@ export const reportsTransmissionApi = { body: JSON.stringify(request) }); if (!response.ok) { + if (response.status === 401) throw new Error('Sesión expirada. Por favor recarga la página e inicia sesión nuevamente.'); let errorMessage = 'Error al generar XML RB Systems (exportación)'; try { errorMessage = (await response.json()).detail || errorMessage; } catch (e) {} throw new Error(errorMessage);