Todos los Microservicios saludables.
Nuevo microservicio Plugins + cambios a microservicios anteriores, creación de módulos para conexiones a bases de datos y ajustes en las variables de entorno.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
NODE_ENV=development
|
||||
|
||||
PORT=3030
|
||||
PORT=1010
|
||||
|
||||
DB_HOST=dev-tenants
|
||||
DB_NAME=manso
|
||||
|
||||
Generated
+20
@@ -10,6 +10,7 @@
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chalk": "^5.6.0",
|
||||
"cookie-parser": "^1.4.7",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.2.1",
|
||||
"ejs": "^3.1.10",
|
||||
@@ -239,6 +240,25 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/cookie-parser": {
|
||||
"version": "1.4.7",
|
||||
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz",
|
||||
"integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cookie": "0.7.2",
|
||||
"cookie-signature": "1.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cookie-parser/node_modules/cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cookie-signature": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": "^5.6.0",
|
||||
"cookie-parser": "^1.4.7",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.2.1",
|
||||
"ejs": "^3.1.10",
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
// ./services/manso/src/index.mjs
|
||||
// ------------------------------------------------------------
|
||||
// MVP Manso de SuiteCoffee — Aplicación MVP
|
||||
// ------------------------------------------------------------
|
||||
|
||||
import 'dotenv/config';// Variables de Entorno
|
||||
|
||||
import favicon from 'serve-favicon'; // Favicon
|
||||
import 'dotenv/config'; // Variables de Entorno
|
||||
import favicon from 'serve-favicon'; // Favicon
|
||||
import express from 'express';
|
||||
import expressLayouts from 'express-ejs-layouts';
|
||||
|
||||
@@ -13,10 +15,34 @@ import expressPages from '#pages'; // Rutas "/", "/dashboard", ...
|
||||
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import cookieParser from 'cookie-parser';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Validación de entorno mínimo (ajusta nombres si difieren)
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// Variables del sistema
|
||||
@@ -39,9 +65,13 @@ app.set("layout", "layouts/main");
|
||||
|
||||
app.use(express.json());
|
||||
app.use(express.json({ limit: '1mb' }));
|
||||
app.use(express.static(path.join(__dirname, 'public'))); // Carga de archivos estaticos
|
||||
app.use(expressLayouts); // Carga los layouts que usara el renderizado
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use(favicon(path.join(__dirname, 'public', 'favicon', 'favicon.ico'), {maxAge: '1y'}));
|
||||
app.use(express.static(path.join(__dirname, 'public'))); // Carga de archivos estaticos
|
||||
|
||||
|
||||
app.use(expressLayouts); // Carga los layouts que usara el renderizado
|
||||
app.use(cookieParser(process.env.SESSION_SECRET));
|
||||
app.use(expressPages); // Renderizado trae las paginas desde ./services/manso/src/routes/routes.js
|
||||
|
||||
|
||||
@@ -291,31 +321,77 @@ app.post('/api/table/:table', async (req, res) => {
|
||||
// ----------------------------------------------------------
|
||||
// Verificación de conexión
|
||||
// ----------------------------------------------------------
|
||||
|
||||
async function verificarConexion() {
|
||||
try {
|
||||
console.log(`[Manso] Comprobando accesibilidad a la db ${process.env.DB_NAME} ...`);
|
||||
const client = await pool.connect();
|
||||
const { rows } = await client.query('SELECT NOW() AS ahora');
|
||||
console.log(`\n[Manso] Conexión con ${process.env.DB_NAME} OK. Hora DB:`, rows[0].ahora);
|
||||
client.release();
|
||||
} catch (error) {
|
||||
console.error('[Manso] Error al conectar con la base de datos al iniciar:', error.message);
|
||||
console.error('[Manso] Revisar credenciales, accesos de red y firewall.');
|
||||
}
|
||||
}
|
||||
/*async function verificarConexion() {
|
||||
try {
|
||||
var client = await pool.getClient();
|
||||
let res = await client.query('SELECT NOW() AS hora');
|
||||
console.log(`\nConexión con la base de datos ${process.env.DB_NAME} fue exitosa.`);
|
||||
console.log('Fecha y hora actual de la base de datos:\n ->', res.rows[0].hora);
|
||||
console.log(`\n[Manso] Conexión con la base de datos ${process.env.DB_NAME} fue exitosa.`);
|
||||
console.log('[Manso] Fecha y hora actual de la base de datos:\n ->', res.rows[0].hora);
|
||||
} catch (error) {
|
||||
console.error('Error al conectar con la base de datos al iniciar: \n ->', error.message);
|
||||
console.error('Revisar credenciales y accesos de red.');
|
||||
console.error('[Manso] Error al conectar con la base de datos al iniciar: \n ->', error.message);
|
||||
console.error('[Manso] Revisar credenciales y accesos de red.');
|
||||
} finally{
|
||||
client.release();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// 404 + Manejo de errores
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
app.use((req, res) => res.status(404).json({ error: 'Error 404, No se encontró la página', path: req.originalUrl }));
|
||||
|
||||
app.use((err, _req, res, _next) => {
|
||||
console.error('[APP] ', err);
|
||||
if (res.headersSent) return;
|
||||
res.status(500).json({ error: '¡Oh! A ocurrido un error en el servidor app.', detail: err.stack || String(err) });
|
||||
});
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// Inicio del servidor
|
||||
// ----------------------------------------------------------
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Servidor de aplicación escuchando en ${`http://localhost:${PORT}`}`);
|
||||
console.log(`Comprobando accesibilidad a la db ${process.env.DB_NAME} del host ${process.env.DB_HOST} ...`);
|
||||
console.log(`[Manso] Servidor de aplicación escuchando en ${`http://localhost:${PORT}`}`);
|
||||
console.log(`[Manso] Comprobando accesibilidad a la db ${process.env.DB_NAME} del host ${process.env.DB_HOST} ...`);
|
||||
verificarConexion();
|
||||
});
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Healthcheck
|
||||
app.get('/health', (_req, res) => res.status(200).json({ status: 'ok'}));
|
||||
// -----------------------------------------------------------------------------
|
||||
app.get('/health', (_req, res) => {
|
||||
res.status(200).json({ status: 'ok'}),
|
||||
console.log(`[Manso] Saludable`)
|
||||
});
|
||||
@@ -469,7 +469,7 @@ async function loadAsist(){
|
||||
const key = `${r.documento}::${r.nombre||''}::${r.apellido||''}`;
|
||||
if (!byKey.has(key)) byKey.set(key, { doc:r.documento, nombre:r.nombre||'', apellido:r.apellido||'', rows:[] });
|
||||
byKey.get(key).rows.push({
|
||||
fecha: fStr,
|
||||
fecha: fStr,
|
||||
horas: Number(r.horas_dia ?? r.horas ?? (r.minutos_dia||0)/60),
|
||||
pares: Number(r.pares_dia ?? r.pares ?? 0)
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user