Se mejoro el disenio de partes, se genero la informacion mas precisa en los reportes y se carga el logo en las instanacias de las empresas
This commit is contained in:
@@ -12,19 +12,19 @@ import { redirect, type Cookies } from '@sveltejs/kit';
|
||||
export function getServerApiUrl(): string {
|
||||
// Primero intentar con INTERNAL_API_URL (para llamadas server-side en Docker)
|
||||
let apiUrl = process.env.INTERNAL_API_URL;
|
||||
|
||||
|
||||
// Si no está definida, usar VITE_API_URL del entorno runtime (no import.meta.env)
|
||||
if (!apiUrl) {
|
||||
apiUrl = process.env.VITE_API_URL;
|
||||
}
|
||||
|
||||
|
||||
// Como último recurso, usar el valor de build-time
|
||||
if (!apiUrl) {
|
||||
apiUrl = import.meta.env.VITE_API_URL;
|
||||
// Reemplazar 'localhost' con 'backend' para llamadas desde el servidor (SSR)
|
||||
apiUrl = apiUrl?.replace('localhost', 'backend').replace('127.0.0.1', 'backend').replace('anexo76-dev.aduanasoft.com', 'backend');
|
||||
}
|
||||
|
||||
|
||||
// Normalizar la URL: asegurar que termine con '/'
|
||||
return apiUrl?.endsWith('/') ? apiUrl : `${apiUrl}/`;
|
||||
}
|
||||
@@ -43,8 +43,8 @@ export function getAuthTokens(cookies: Cookies) {
|
||||
* Establece los tokens de autenticación en las cookies
|
||||
*/
|
||||
export function setAuthTokens(
|
||||
cookies: Cookies,
|
||||
accessToken: string,
|
||||
cookies: Cookies,
|
||||
accessToken: string,
|
||||
refreshToken?: string
|
||||
) {
|
||||
cookies.set('access_token', accessToken, {
|
||||
@@ -54,7 +54,7 @@ export function setAuthTokens(
|
||||
secure: process.env.NODE_ENV === 'production',
|
||||
maxAge: 60 * 60 * 24 * 7 // 7 días
|
||||
});
|
||||
|
||||
|
||||
if (refreshToken) {
|
||||
cookies.set('refresh_token', refreshToken, {
|
||||
path: '/',
|
||||
@@ -95,7 +95,7 @@ export async function refreshAccessToken(
|
||||
fetch: typeof globalThis.fetch
|
||||
): Promise<string | null> {
|
||||
const { refreshToken } = getAuthTokens(cookies);
|
||||
|
||||
|
||||
if (!refreshToken) {
|
||||
return null;
|
||||
}
|
||||
@@ -115,10 +115,10 @@ export async function refreshAccessToken(
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
|
||||
// Actualizar las cookies con los nuevos tokens
|
||||
setAuthTokens(cookies, data.access_token, data.refresh_token);
|
||||
|
||||
|
||||
return data.access_token;
|
||||
} catch (error) {
|
||||
console.error('🔄 [API] Error al refrescar token:', error);
|
||||
@@ -210,9 +210,9 @@ export async function authenticatedFetch(
|
||||
if (error && typeof error === 'object' && 'status' in error && 'location' in error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
|
||||
console.error('🔴 [API] Error en authenticatedFetch:', endpoint, error);
|
||||
|
||||
|
||||
// Retornar una respuesta de error simulada en lugar de lanzar
|
||||
return new Response(JSON.stringify({ error: 'Network error', details: String(error) }), {
|
||||
status: 500,
|
||||
@@ -253,14 +253,14 @@ export async function validateAuth(
|
||||
if (error && typeof error === 'object' && 'status' in error && 'location' in error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
|
||||
console.error('🔐 [API] Error validando autenticación:', error);
|
||||
|
||||
|
||||
if (redirectOnFail) {
|
||||
clearAuthTokens(cookies);
|
||||
throw redirect(303, redirectOnFail);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user