fix(fronts): reemplazar IP hardcodeada 192.168.10.123 por /api relativo en TODOS los archivos

Causa raiz: import.meta.env.VITE_API_URL ?? '/api' no activa el fallback
cuando VITE_API_URL es string vacio (?? solo cubre null/undefined).
Cambiado a || en auth.ts y sistema.ts de todas las apps.

Tambien reemplazada la IP hardcodeada en api.ts, mi-dia.ts, reportes.ts
y agente-ia.api.ts de todas las apps. Ahora funciona desde IP y dominio
sin depender de la red local.
This commit is contained in:
2026-09-06 18:50:33 +00:00
parent 1597c6be34
commit 97c4e5cdf3
18 changed files with 18 additions and 18 deletions

View File

@@ -1,7 +1,7 @@
import type { Mensaje, RespuestaChat } from '../types' import type { Mensaje, RespuestaChat } from '../types'
// Cliente HTTP del API Gateway de FRASA (Express + Prisma) // Cliente HTTP del API Gateway de FRASA (Express + Prisma)
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
// TODO produccion: '/api' same-origin detras de NGINX // TODO produccion: '/api' same-origin detras de NGINX
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -1,7 +1,7 @@
import type { AltaCliente } from '../types' import type { AltaCliente } from '../types'
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
// TODO produccion: '/api' same-origin detras de NGINX // TODO produccion: '/api' same-origin detras de NGINX
export interface AltaClienteCreada { export interface AltaClienteCreada {

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? '/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -1,6 +1,6 @@
import { conAuth, getToken } from './auth' import { conAuth, getToken } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
export interface EstadoSistema { export interface EstadoSistema {
mondayOk: boolean mondayOk: boolean

View File

@@ -1,5 +1,5 @@
// Cliente HTTP del API Gateway de FRASA (Express + Prisma) // Cliente HTTP del API Gateway de FRASA (Express + Prisma)
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
// TODO produccion: '/api' same-origin detras de NGINX // TODO produccion: '/api' same-origin detras de NGINX
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? '/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -3,7 +3,7 @@ import { INVENTARIO_SEED } from '../data/unidades'
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'
// TODO produccion: '/api' same-origin detras de NGINX // TODO produccion: '/api' same-origin detras de NGINX
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
export { API_URL } export { API_URL }

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? '/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -1,6 +1,6 @@
import { conAuth, getToken } from './auth' import { conAuth, getToken } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
export interface EstadoSistema { export interface EstadoSistema {
mondayOk: boolean mondayOk: boolean

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? '/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -2,7 +2,7 @@
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'
import type { ResumenMiDia } from '../lib/mi-tablero' import type { ResumenMiDia } from '../lib/mi-tablero'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
/** GET /mi-dia/resumen; lanza Error con mensaje legible si el API falla */ /** GET /mi-dia/resumen; lanza Error con mensaje legible si el API falla */
export async function fetchResumenMiDia(): Promise<ResumenMiDia> { export async function fetchResumenMiDia(): Promise<ResumenMiDia> {

View File

@@ -2,7 +2,7 @@
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'
import type { ResumenReportes } from '../lib/reportes' import type { ResumenReportes } from '../lib/reportes'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
/** GET /reportes/resumen; lanza Error con mensaje legible si el API falla */ /** GET /reportes/resumen; lanza Error con mensaje legible si el API falla */
export async function fetchResumen(): Promise<ResumenReportes> { export async function fetchResumen(): Promise<ResumenReportes> {

View File

@@ -1,6 +1,6 @@
import { conAuth, getToken } from './auth' import { conAuth, getToken } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
export interface EstadoSistema { export interface EstadoSistema {
mondayOk: boolean mondayOk: boolean

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
export const API_URL = import.meta.env.VITE_API_URL ?? '/api' export const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -1,5 +1,5 @@
// Sesión de autenticación contra el API Gateway (JWT guardado en localStorage) // Sesión de autenticación contra el API Gateway (JWT guardado en localStorage)
const API_URL = import.meta.env.VITE_API_URL ?? '/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
const STORAGE_KEY = 'frasa_auth' const STORAGE_KEY = 'frasa_auth'
export interface UsuarioSesion { export interface UsuarioSesion {

View File

@@ -2,7 +2,7 @@
import type { ResumenMiDia } from '../lib/mi-dia' import type { ResumenMiDia } from '../lib/mi-dia'
import { conAuth, manejar401 } from './auth' import { conAuth, manejar401 } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL ?? '/api'
async function fetchJson<T>(path: string, init: RequestInit = {}): Promise<T> { async function fetchJson<T>(path: string, init: RequestInit = {}): Promise<T> {
const res = await fetch(`${API_URL}${path}`, conAuth(init)) const res = await fetch(`${API_URL}${path}`, conAuth(init))

View File

@@ -1,7 +1,7 @@
// Estado del sistema (GET /sistema/estado): salud de Monday y cola de sincronización // Estado del sistema (GET /sistema/estado): salud de Monday y cola de sincronización
import { conAuth, getToken } from './auth' import { conAuth, getToken } from './auth'
const API_URL = import.meta.env.VITE_API_URL ?? 'http://192.168.10.123:3000/api' const API_URL = import.meta.env.VITE_API_URL || '/api'
export interface EstadoSistema { export interface EstadoSistema {
mondayOk: boolean mondayOk: boolean