Files
dtic-DIIAA/servicios/nginx/dtic-bitacoras/backend/src/server.js
T

42 lines
1.2 KiB
JavaScript

const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const { Pool } = require('pg');
const app = express();
const PORT = process.env.PORT || 3001;
// Middleware
app.use(helmet());
app.use(cors({ origin: process.env.CORS_ORIGIN || '*' }));
app.use(express.json());
// Database pool
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
// Health check
app.get('/health', async (req, res) => {
try {
await pool.query('SELECT 1');
res.json({ status: 'ok', timestamp: new Date().toISOString() });
} catch (err) {
res.status(500).json({ status: 'error', message: err.message });
}
});
// Routes
app.use('/api/nodos', require('./routes/nodos')(pool));
app.use('/api/bitacoras', require('./routes/bitacoras')(pool));
app.use('/api/entradas', require('./routes/entradas')(pool));
app.use('/api/proyectos', require('./routes/proyectos')(pool));
// Error handler
app.use((err, req, res, next) => {
console.error('Error:', err.message);
res.status(500).json({ error: err.message });
});
app.listen(PORT, () => {
console.log(`🔐 dtic-BITACORAs API corriendo en puerto ${PORT}`);
});