utn-cli 2.1.42 → 2.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/commands/backend.js
CHANGED
|
@@ -153,7 +153,7 @@ export async function initBackend() {
|
|
|
153
153
|
|
|
154
154
|
export async function updateBackend(opciones = { cerrarAlFinalizar: true }) {
|
|
155
155
|
console.log('Actualizando el proyecto de backend...');
|
|
156
|
-
const archivosAExcluir = ['InformacionDelModulo.json', 'rutas.js', '
|
|
156
|
+
const archivosAExcluir = ['InformacionDelModulo.json', 'rutas.js', 'API.js', 'NOMBRE_DEL_CANONICO_DEL_PROYECTO.rest'];
|
|
157
157
|
const directoriodePlantillas = path.join(__dirname, '../templates/backend');
|
|
158
158
|
const directorioDestino = process.cwd();
|
|
159
159
|
|
|
@@ -174,6 +174,18 @@ export async function updateBackend(opciones = { cerrarAlFinalizar: true }) {
|
|
|
174
174
|
mergeRutasBackend(rutaRutasDestino, rutaRutasTemplate);
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
+
// Validar y agregar ManejadorDeErrores en rutas/API.js
|
|
178
|
+
const rutaApiRutasDestino = path.join(directorioDestino, 'rutas', 'API.js');
|
|
179
|
+
if (fs.existsSync(rutaApiRutasDestino)) {
|
|
180
|
+
let contenidoApiRutas = fs.readFileSync(rutaApiRutasDestino, 'utf-8');
|
|
181
|
+
const importManejador = "const ManejadorDeErrores = require('../servicios/Nucleo/ManejadorDeErrores.js');";
|
|
182
|
+
const regexManejador = /(?:const|let|var)\s+ManejadorDeErrores\s*=\s*require\(/;
|
|
183
|
+
if (!regexManejador.test(contenidoApiRutas)) {
|
|
184
|
+
console.log('Agregando ManejadorDeErrores a rutas/API.js...');
|
|
185
|
+
fs.writeFileSync(rutaApiRutasDestino, importManejador + '\n' + contenidoApiRutas);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
177
189
|
mostrarVersion(path.join(__dirname, '../package.json')); // Show main CLI version
|
|
178
190
|
|
|
179
191
|
const gitignoreOriginal = path.join(directorioDestino, 'gitignore');
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ const express = require('express');
|
|
|
2
2
|
const Router = express.Router();
|
|
3
3
|
|
|
4
4
|
const Miscelaneo = require('../servicios/Nucleo/Miscelaneas.js');
|
|
5
|
-
const {
|
|
5
|
+
const { monitoreo } = require('../servicios/Nucleo/Monitoreo.js');
|
|
6
6
|
const ManejadorDeErrores = require('../servicios/Nucleo/ManejadorDeErrores.js');
|
|
7
7
|
|
|
8
8
|
// Router.post("/DescargarArchivo", async (solicitud, respuesta) => {
|
|
@@ -15,7 +15,7 @@ const ManejadorDeErrores = require('../servicios/Nucleo/ManejadorDeErrores.js');
|
|
|
15
15
|
Router.post('/monitoreo/', async (solicitud, respuesta, next) => {
|
|
16
16
|
try {
|
|
17
17
|
if (await Miscelaneo.validarTokenV2(solicitud.headers.authorization) && await Miscelaneo.validarAccesoDelOrigen(solicitud)) {
|
|
18
|
-
if (await
|
|
18
|
+
if (await monitoreo()) {
|
|
19
19
|
return respuesta.status(200).json({ 'Estado:': 'Ok' });
|
|
20
20
|
} else {
|
|
21
21
|
return respuesta.status(500).json({ 'Estado:': 'Error' });
|
|
@@ -30,7 +30,7 @@ Router.get('/monitoreoV2', async (solicitud, respuesta, next) => {
|
|
|
30
30
|
try {
|
|
31
31
|
if (await Miscelaneo.validarTokenV2(solicitud.headers.authorization) && await Miscelaneo.validarAccesoDelOrigen(solicitud)) {
|
|
32
32
|
try {
|
|
33
|
-
if (await
|
|
33
|
+
if (await monitoreo()) {
|
|
34
34
|
return respuesta.status(200).json({ 'Estado:': 'Ok' });
|
|
35
35
|
} else {
|
|
36
36
|
return respuesta.status(500).json({ 'Estado:': 'Error' });
|
|
@@ -28,6 +28,13 @@ class ConsentimientoInformado {
|
|
|
28
28
|
, [await this.ConsentimientoInformadoId(), Datos.LastUser.split("@")[0], Datos.LastUser]);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
async ExisteTablaArchivos() {
|
|
32
|
+
// Por agilidad no se usa el nombre formal de la tabla
|
|
33
|
+
const Resultado = await ejecutarConsulta("SELECT COUNT(*) AS `Total` FROM `information_schema`.`tables` WHERE `table_schema` = ? AND `table_name` = 'Archivos'"
|
|
34
|
+
, [Miscelaneas.obtenerNombreLaBaseDeDatos()]);
|
|
35
|
+
return Resultado[0]['Total'] > 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
31
38
|
async creacionDeConsetimientoInformado() {
|
|
32
39
|
const Consentimiento = "<h2>Aviso de actualización del Sistema SIGU</h2><p><strong>Estimada persona usuaria:</strong></p><p>Le informamos que el módulo del Sistema Integrado de Gestión Universitaria (SIGU) ha sido actualizado a una nueva versión, la cual incorpora mejoras funcionales, ajustes técnicos y actualizaciones orientadas a optimizar la experiencia de uso, fortalecer la seguridad de la información y garantizar el cumplimiento de los procesos institucionales.</p><p>Antes de continuar utilizando este módulo, le solicitamos leer atentamente y aceptar las siguientes condiciones:</p><ul><li>Reconozco que estoy utilizando una versión actualizada del sistema.</li><li>Comprendo que esta versión puede incluir cambios en funcionalidades, interfaces y flujos de trabajo.</li><li>Me comprometo a utilizar el sistema de manera responsable, ética y conforme a la normativa institucional vigente.</li><li>Acepto que el uso del sistema podrá ser monitoreado con fines administrativos, académicos y de seguridad.</li></ul><p>El uso continuo del sistema implica su conformidad con las presentes condiciones y con las políticas institucionales aplicables.</p><p>En caso de presentar dudas, consultas o inconvenientes, puede comunicarse con el área de soporte técnico institucional a través de los canales oficiales.</p><hr><p>Al seleccionar la opción <strong>“Aceptar”</strong>, usted manifiesta expresamente su conformidad con el uso de esta nueva versión del módulo correspondiente del Sistema SIGU.</p>";
|
|
33
40
|
return await ejecutarConsultaSIGU("UPDATE `SIGU`.`SIGU_ConsentimientosInformadosV2` SET `Estado` = 'Inactivo' WHERE\
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
const Miscelaneo = require('./Miscelaneas.js');
|
|
2
2
|
const ManejadorDeErrores = require('./ManejadorDeErrores.js');
|
|
3
3
|
const API = require('../API.js');
|
|
4
|
+
const ConsentimientoInformado = require('./ConsentimientoInformado.js');
|
|
4
5
|
|
|
5
|
-
async function
|
|
6
|
+
async function monitoreo() {
|
|
6
7
|
|
|
7
8
|
try {
|
|
8
9
|
const Resultado = await Miscelaneo.obtenerSedes();
|
|
9
10
|
if (Resultado.length === 0) {
|
|
10
11
|
throw new ManejadorDeErrores(ManejadorDeErrores.mensajeDeErrorAccesoAAPI(), ManejadorDeErrores.obtenerNumeroDeLinea(), false);
|
|
11
12
|
}
|
|
12
|
-
console.log('Monitoreo Paso 1 de
|
|
13
|
+
console.log('Monitoreo Paso 1 de 2: Ok. Miscelaneo.obtenerSedes()');
|
|
14
|
+
} catch (error) {
|
|
15
|
+
console.error(error);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const Resultado = await ConsentimientoInformado.ExisteTablaArchivos();
|
|
20
|
+
if (!Resultado) {
|
|
21
|
+
throw new ManejadorDeErrores(ManejadorDeErrores.mensajeDeErrorAccesoAAPI(), ManejadorDeErrores.obtenerNumeroDeLinea(), false);
|
|
22
|
+
}
|
|
23
|
+
console.log('Monitoreo Paso 2 de 2: Ok. ConsentimientoInformado.ExisteTablaArchivos()');
|
|
13
24
|
} catch (error) {
|
|
14
25
|
console.error(error);
|
|
15
26
|
return false;
|
|
@@ -62,4 +73,4 @@ async function moitoreo() {
|
|
|
62
73
|
return true;
|
|
63
74
|
}
|
|
64
75
|
|
|
65
|
-
module.exports = {
|
|
76
|
+
module.exports = { monitoreo };
|