feat: API Gateway (Express 5 + Prisma + Monday) y conexion de apps al API

- api-gateway: servicio Monday (retry 429/complejidad, paginacion cursor,
  column IDs por titulo), endpoints unidades/cotizaciones/clientes/planes,
  webhook con handshake challenge, Prisma SQLite dev, 55 tests
- cotizador: inventario desde /api/unidades con fallback a seed
- alta-clientes: POST /api/clientes + upload multipart de documentos
- cobranza: persistencia via API con respaldo offline en localStorage
- .env.example con board IDs del workspace Frasa-CAS
This commit is contained in:
2026-08-21 23:39:17 +00:00
parent ecd4edac02
commit 0546f35d2a
48 changed files with 7129 additions and 66 deletions

22
api-gateway/src/app.ts Normal file
View File

@@ -0,0 +1,22 @@
import express from 'express'
import cors from 'cors'
import { apiRouter } from './routes/index.js'
import { errorHandler } from './middleware/errorHandler.js'
import { requestLogger } from './middleware/requestLogger.js'
export function crearApp(): express.Express {
const app = express()
app.use(cors()) // CORS abierto solo para dev (red interna)
app.use(express.json({ limit: '10mb' }))
app.use(requestLogger)
app.use('/api', apiRouter)
app.use((_req, res) => {
res.status(404).json({ error: 'Ruta no encontrada' })
})
app.use(errorHandler)
return app
}