fix(xml-rb-systems): mostrar toast de sesión expirada en error 401

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 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 08:35:04 -05:00
parent ddd0635af6
commit 7a8028ac81

View File

@@ -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);