Files
Dare2/server/index.js
2026-03-17 14:12:37 +01:00

41 lines
1.0 KiB
JavaScript

import { Hono } from 'hono'
import { logger } from 'hono/logger'
import { cors } from 'hono/cors'
import { jwt } from 'hono/jwt'
// Importación de APIs (Rutas)
import auth from './api/auth'
import db from './api/db'
import mail from './api/mail'
import soap from './api/soap'
const app = new Hono()
// --- Middlewares Globales ---
app.use('*', logger())
app.use('*', cors())
// --- Gestión de Errores Global ---
app.onError((err, c) => {
console.error(`[Global Error]: ${err.message}`)
const status = err.name === 'JwtTokenInvalid' ? 401 : 500
return c.json({
success: false,
message: err.message || 'Internal Server Error'
}, status)
})
// --- Registro de Rutas ---
// Nota: La protección JWT ya la pusimos dentro de api/db.ts y api/soap.ts
// para permitir que auth y mail (quizás) sean públicos.
app.route('/api/auth', auth)
app.route('/api/db', db)
app.route('/api/mail', mail)
app.route('/api/soap', soap)
// --- Servidor Bun ---
export default {
port: 3000,
fetch: app.fetch,
idleTimeout: 120,
}