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:
24
api-gateway/src/utils/errors.ts
Normal file
24
api-gateway/src/utils/errors.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/** Error con HTTP status para que el error handler lo traduzca a respuesta */
|
||||
export class AppError extends Error {
|
||||
constructor(
|
||||
public readonly status: number,
|
||||
message: string,
|
||||
) {
|
||||
super(message)
|
||||
this.name = 'AppError'
|
||||
}
|
||||
}
|
||||
|
||||
export class NotFoundError extends AppError {
|
||||
constructor(message = 'Recurso no encontrado') {
|
||||
super(404, message)
|
||||
this.name = 'NotFoundError'
|
||||
}
|
||||
}
|
||||
|
||||
export class BadRequestError extends AppError {
|
||||
constructor(message: string) {
|
||||
super(400, message)
|
||||
this.name = 'BadRequestError'
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user