utn-cli 2.1.19 → 2.1.20

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.
@@ -22,7 +22,8 @@ async function inicializarProyectoBackend() {
22
22
  process.exit(1);
23
23
  }
24
24
  let informacionDelModuloJson = JSON.parse(fs.readFileSync(rutaDeInformacionDelModuloJson, 'utf-8'));
25
- const rutaDeInformacionDelModulo = path.join(process.cwd(), 'servicios/InformacionDelModulo.js');
25
+ const rutaDeInformacionDelModulo = path.join(process.cwd(), 'servicios/Nucleo/InformacionDelModulo.js');
26
+ fs.unlinkSync(path.join(process.cwd(), 'servicios/InformacionDelModulo.js'));
26
27
 
27
28
  // Helper to ask and replace
28
29
  async function askAndReplace(prop, promptText, fileToReplace, placeholder, specialHandler = null) {
@@ -38,7 +39,7 @@ async function inicializarProyectoBackend() {
38
39
  return value;
39
40
  }
40
41
 
41
- const NOMBRE_DEL_PROYECTO = await askAndReplace('NOMBRE_DEL_PROYECTO', '¿Cuál es el nombre del proyecto?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_PROYECTO');
42
+ // const NOMBRE_DEL_PROYECTO = await askAndReplace('NOMBRE_DEL_PROYECTO', '¿Cuál es el nombre del proyecto?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_PROYECTO');
42
43
  await askAndReplace('DESCRIPCION_DEL_PROYECTO', '¿Cuál es la descripción del proyecto?: ', rutaDeInformacionDelModulo, 'DESCRIPCION_DEL_PROYECTO');
43
44
  await askAndReplace('DETALLE_DEL_PROYECTO', '¿Cuál es el detalle del proyecto?: ', rutaDeInformacionDelModulo, 'DETALLE_DEL_PROYECTO');
44
45
 
@@ -59,7 +60,7 @@ async function inicializarProyectoBackend() {
59
60
  });
60
61
 
61
62
  await askAndReplace('TIPO_DE_TARJETA', '¿Cuál es el tipo de tarjeta? Posibles valores: Área, Proceso, Servicio: ', rutaDeInformacionDelModulo, 'TIPO_DE_TARJETA');
62
- await askAndReplace('NOMBRE_DEL_ROL', '¿Cuál es el nombre del rol?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_ROL');
63
+ // await askAndReplace('NOMBRE_DEL_ROL', '¿Cuál es el nombre del rol?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_ROL');
63
64
 
64
65
  const NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS = await askAndReplace('NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS', '¿Cuál es el nombre del repositorio de base de datos?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS', (val) => {
65
66
  const rutaDeVariablesDeCalidad = path.join(process.cwd(), 'variables-calidad.env');
@@ -82,8 +83,8 @@ async function inicializarProyectoBackend() {
82
83
  await askAndReplace('NOMBRE_DEL_REPOSITORIO_DE_FRONTEND', '¿Cuál es el nombre del repositorio de frontend?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_REPOSITORIO_DE_FRONTEND');
83
84
  await askAndReplace('NOMBRE_DEL_PERMISO', '¿Cuál es el nombre del permiso?: ', rutaDeInformacionDelModulo, 'NOMBRE_DEL_PERMISO');
84
85
  await askAndReplace('DESCRIPCION_DEL_PERMISO', '¿Cuál es la descripción del permiso?: ', rutaDeInformacionDelModulo, 'DESCRIPCION_DEL_PERMISO');
85
- await askAndReplace('MENU_PADRE', '¿Cuál es el nombre canónico del menú padre?: ', rutaDeInformacionDelModulo, 'MENU_PADRE');
86
- await askAndReplace('COLOR_DEL_MODULO', '¿Cuál es el color del módulo?: ', rutaDeInformacionDelModulo, 'COLOR_DEL_MODULO');
86
+ // await askAndReplace('MENU_PADRE', '¿Cuál es el nombre canónico del menú padre?: ', rutaDeInformacionDelModulo, 'MENU_PADRE');
87
+ // await askAndReplace('COLOR_DEL_MODULO', '¿Cuál es el color del módulo?: ', rutaDeInformacionDelModulo, 'COLOR_DEL_MODULO');
87
88
  await askAndReplace('CORREO_PARA_REPORTES', '¿Cuál es el correo para reportes?: ', rutaDeInformacionDelModulo, 'CORREO_PARA_REPORTES');
88
89
 
89
90
  const nombre_de_desarrollador = await askAndReplace('nombre_de_desarrollador', '¿Cuál es el nombre del desarrollador?: ', path.join(process.cwd(), 'package.json'), 'nombre_de_desarrollador', (val) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utn-cli",
3
- "version": "2.1.19",
3
+ "version": "2.1.20",
4
4
  "description": "Herramienta CLI unificada para la gestión de plantillas en SIGU.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,17 +1,13 @@
1
1
  {
2
- "NOMBRE_DEL_PROYECTO": "NOMBRE_DEL_PROYECTO",
3
2
  "DESCRIPCION_DEL_PROYECTO": "DESCRIPCION_DEL_PROYECTO",
4
3
  "DETALLE_DEL_PROYECTO": "DETALLE_DEL_PROYECTO",
5
4
  "NOMBRE_DEL_CANONICO_DEL_PROYECTO": "NOMBRE_DEL_CANONICO_DEL_PROYECTO",
6
5
  "TIPO_DE_TARJETA": "TIPO_DE_TARJETA",
7
- "NOMBRE_DEL_ROL": "NOMBRE_DEL_ROL",
8
6
  "NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS": "NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS",
9
7
  "NOMBRE_DEL_REPOSITORIO_DE_BACKEND": "NOMBRE_DEL_REPOSITORIO_DE_BACKEND",
10
8
  "NOMBRE_DEL_REPOSITORIO_DE_FRONTEND": "NOMBRE_DEL_REPOSITORIO_DE_FRONTEND",
11
9
  "NOMBRE_DEL_PERMISO": "NOMBRE_DEL_PERMISO",
12
10
  "DESCRIPCION_DEL_PERMISO": "DESCRIPCION_DEL_PERMISO",
13
- "MENU_PADRE": "MENU_PADRE",
14
- "COLOR_DEL_MODULO": "COLOR_DEL_MODULO",
15
11
  "CORREO_PARA_REPORTES": "CORREO_PARA_REPORTES",
16
12
  "nombre_de_desarrollador": "nombre_de_desarrollador",
17
13
  "CEDULA_DEL_DESARROLLADOR": "CEDULA_DEL_DESARROLLADOR",
@@ -0,0 +1,96 @@
1
+ const info = require('../../InformacionDelModulo.json');
2
+ const { ejecutarConsultaSIGU } = require('./db.js');
3
+
4
+ const CANONICO = info.NOMBRE_DEL_CANONICO_DEL_PROYECTO;
5
+
6
+ class InformacionDelModulo {
7
+
8
+ constructor() {
9
+ this._descripcion = info.DESCRIPCION_DEL_PROYECTO;
10
+ this._detalle = info.DETALLE_DEL_PROYECTO;
11
+ this._tipo = info.TIPO_DE_TARJETA;
12
+ this._nombrePermiso = info.NOMBRE_DEL_PERMISO;
13
+ this._descripcionPermiso = info.DESCRIPCION_DEL_PERMISO;
14
+ this._menuPadre = 'DGTI';
15
+ this._correo = info.CORREO_PARA_REPORTES;
16
+ this._version = info.VERSION;
17
+ };
18
+
19
+ async cargarDesdeBD() {
20
+ try {
21
+ const rows = await ejecutarConsultaSIGU(
22
+ 'SELECT `Descripcion`, `Detalle`, `Tipo`, `Padre`, `Correo`, `Version` FROM `SIGU`.`SIGU_ModulosV2` WHERE `Nombre` = ?',
23
+ [CANONICO]
24
+ );
25
+ if (rows && rows.length > 0) {
26
+ const fila = rows[0];
27
+ if (fila.Descripcion != null) this._descripcion = fila.Descripcion;
28
+ if (fila.Detalle != null) this._detalle = fila.Detalle;
29
+ if (fila.Tipo != null) this._tipo = fila.Tipo;
30
+ if (fila.Padre != null) this._menuPadre = fila.Padre;
31
+ if (fila.Correo != null) this._correo = fila.Correo;
32
+ if (fila.Version != null) this._version = fila.Version.split('$$')[0];
33
+ }
34
+ } catch (_) { /* si hay error, se mantienen los valores del JSON */ }
35
+
36
+ try {
37
+ const rows = await ejecutarConsultaSIGU(
38
+ 'SELECT `Nombre`, `Descripcion` FROM `SIGU`.`SIGU_PermisosV2` WHERE `Modulo` = ?',
39
+ [CANONICO]
40
+ );
41
+ if (rows && rows.length > 0) {
42
+ const permiso = rows[0];
43
+ if (permiso.Nombre != null) this._nombrePermiso = permiso.Nombre;
44
+ if (permiso.Descripcion != null) this._descripcionPermiso = permiso.Descripcion;
45
+ }
46
+ } catch (_) { /* si hay error, se mantienen los valores del JSON */ }
47
+ };
48
+
49
+ getDescripcionDelModulo() {
50
+ return this._descripcion;
51
+ };
52
+ getDetalleDelModulo() {
53
+ return this._detalle;
54
+ };
55
+ getNombreCanonicoDelModulo() {
56
+ return info.NOMBRE_DEL_CANONICO_DEL_PROYECTO;
57
+ };
58
+ getTipoDeCard() {
59
+ return this._tipo;
60
+ };
61
+ getNombreDelRepositorioDeLaBaseDeDatos() {
62
+ return info.NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS;
63
+ };
64
+ getNombreDelRepositorioDelBackend() {
65
+ return info.NOMBRE_DEL_REPOSITORIO_DE_BACKEND;
66
+ };
67
+ getNombreDelRepositorioDelFrontend() {
68
+ return info.NOMBRE_DEL_REPOSITORIO_DE_FRONTEND;
69
+ };
70
+ getNombreDelPermiso() {
71
+ return this._nombrePermiso;
72
+ };
73
+ getDescripcionDelPermiso() {
74
+ return this._descripcionPermiso;
75
+ };
76
+ getMenuPadre() {
77
+ return this._menuPadre;
78
+ };
79
+ getBackEndsQueConsumeEsteModulo() {
80
+ return info.BACKENDS_QUE_CONSUME_ESTE_MODULO;
81
+ };
82
+ getUsuariosConAccesoInicial() {
83
+ return ['111050570', '204540859', '602990078', '109840817', '206860639', '801680123', '111050570'];
84
+ };
85
+ getCorreoParaReportes() {
86
+ return this._correo;
87
+ };
88
+ getVersion() {
89
+ return this._version;
90
+ };
91
+ getUrlDelGrupo() {
92
+ return info.url_del_grupo;
93
+ };
94
+ }
95
+
96
+ module.exports = new InformacionDelModulo();
@@ -1,32 +1,32 @@
1
1
  const { ejecutarConsulta, ejecutarConsultaSIGU, crearObjetoConexionSIGU } = require('./db.js');
2
2
  const ManejadorDeErrores = require('./ManejadorDeErrores.js');
3
- const InformacionDelModulo = require('../InformacionDelModulo.js');
3
+ const InformacionDelModulo = require('./InformacionDelModulo.js');
4
4
  const { envioDeCorreo } = require('./EnvioDeCorreos.js');
5
5
 
6
6
  class Miscelaneo {
7
7
 
8
8
  constructor() {
9
- this.NombreDelModulo = InformacionDelModulo.getNombreDelModulo();
9
+ // this.NombreDelModulo = InformacionDelModulo.getNombreDelModulo();
10
10
  this.DescripcionDelModulo = InformacionDelModulo.getDescripcionDelModulo();
11
11
  this.DetalleDelModulo = InformacionDelModulo.getDetalleDelModulo();
12
12
  this.NombreCanonicoDelModulo = InformacionDelModulo.getNombreCanonicoDelModulo();
13
13
  this.TipoDeCard = InformacionDelModulo.getTipoDeCard();
14
- this.NombreDelRol = this.NombreCanonicoDelModulo + ' - ' + InformacionDelModulo.getNombreDelRol();
14
+ // this.NombreDelRol = this.NombreCanonicoDelModulo + ' - ' + InformacionDelModulo.getNombreDelRol();
15
15
  this.NombreDelRepositorioDeLaBaseDeDatos = InformacionDelModulo.getNombreDelRepositorioDeLaBaseDeDatos();
16
16
  this.NombreDelRepositorioDelBackend = InformacionDelModulo.getNombreDelRepositorioDelBackend();
17
17
  this.NombreDelRepositorioDelFrontend = InformacionDelModulo.getNombreDelRepositorioDelFrontend();
18
18
  this.UrlDelGrupo = InformacionDelModulo.getUrlDelGrupo();
19
19
  this.Repositorios = this.UrlDelGrupo + '/' + this.NombreDelRepositorioDeLaBaseDeDatos + ',' + this.UrlDelGrupo + '/' + this.NombreDelRepositorioDelBackend
20
20
  + ',' + this.UrlDelGrupo + '/' + this.NombreDelRepositorioDelFrontend;
21
- this.NombreDelPermiso = this.NombreCanonicoDelModulo + ' - ' + InformacionDelModulo.getNombreDelPermiso();
21
+ // this.NombreDelPermiso = this.NombreCanonicoDelModulo + ' - ' + InformacionDelModulo.getNombreDelPermiso();
22
22
  this.NombreDelPermisoV2 = InformacionDelModulo.getNombreDelPermiso();
23
23
  this.DescripcionDelPermiso = InformacionDelModulo.getDescripcionDelPermiso();
24
24
  this.MenuPadre = InformacionDelModulo.getMenuPadre();
25
25
  this.BackEndsQueConsumeEsteModulo = InformacionDelModulo.getBackEndsQueConsumeEsteModulo();
26
- this.PerfilGeneral = InformacionDelModulo.getPerfilGeneral();
26
+ // this.PerfilGeneral = InformacionDelModulo.getPerfilGeneral();
27
27
  this.UsuariosConAccesoInicial = InformacionDelModulo.getUsuariosConAccesoInicial();
28
28
  this.IconoDelModulo = this.NombreCanonicoDelModulo + '.svg';
29
- this.ColorDelModulo = InformacionDelModulo.getColorDelModulo();
29
+ // this.ColorDelModulo = InformacionDelModulo.getColorDelModulo();
30
30
  this.CorreoParaReportes = InformacionDelModulo.getCorreoParaReportes();
31
31
  this.Version = InformacionDelModulo.getVersion();
32
32
 
@@ -34,8 +34,8 @@ class Miscelaneo {
34
34
  // A estas variables no es necesario darles un valor inicial
35
35
  this.UUID = 'UUID';
36
36
  this.Enlace = undefined;
37
- this.RolId = 0;
38
- this.PermisoId = 0;
37
+ // this.RolId = 0;
38
+ // this.PermisoId = 0;
39
39
  this.EnlaceDePortal = undefined;
40
40
  this.EnlaceDePerfil = undefined;
41
41
  this.EnlaceDeAcceso = undefined;
@@ -1079,8 +1079,8 @@ class Miscelaneo {
1079
1079
  await ejecutarConsultaSIGU("INSERT INTO `SIGU`.`SIGU_ModulosV2` VALUES\
1080
1080
  (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(4), ?, 'DiccionarioDeDatos'\
1081
1081
  , ?, '-', '-', 'Activo', NOW(4), USER()) ON DUPLICATE KEY UPDATE `Version` = ?, `Repositorios` = ?"
1082
- , [this.NombreCanonicoDelModulo, this.MenuPadre, this.DescripcionDelModulo, this.DetalleDelModulo
1083
- , this.TipoDeCard, this.IconoDelModulo, this.ColorDelModulo, this.CorreoParaReportes, Version, this.versionDelNucleo().split(' ')[0], this.Repositorios
1082
+ , [this.NombreCanonicoDelModulo, 'DGTI', this.DescripcionDelModulo, this.DetalleDelModulo
1083
+ , this.TipoDeCard, this.IconoDelModulo, '#FFFFFF', this.CorreoParaReportes, Version, this.versionDelNucleo().split(' ')[0], this.Repositorios
1084
1084
  , Version, this.Repositorios]);
1085
1085
  await ejecutarConsultaSIGU("SELECT IFNULL(MAX(`PermisoId`), 0) + 1 INTO @`SiguientePermisoId` FROM `SIGU`.`SIGU_PermisosV2`;\
1086
1086
  INSERT INTO `SIGU`.`SIGU_PermisosV2` VALUES\
@@ -1168,10 +1168,10 @@ class Miscelaneo {
1168
1168
  return Identificador[0]['Identificador'];
1169
1169
  }
1170
1170
 
1171
- async perfilGeneralId() {
1172
- const PerfilGeneralId = await ejecutarConsultaSIGU("SELECT `PerfilGeneralId` FROM `SIGU`.`SIGU_PerfilesGenerales` WHERE `Perfil` = ?", [this.PerfilGeneral]);
1173
- return PerfilGeneralId[0]['PerfilGeneralId'];
1174
- }
1171
+ // async perfilGeneralId() {
1172
+ // const PerfilGeneralId = await ejecutarConsultaSIGU("SELECT `PerfilGeneralId` FROM `SIGU`.`SIGU_PerfilesGenerales` WHERE `Perfil` = ?", [this.PerfilGeneral]);
1173
+ // return PerfilGeneralId[0]['PerfilGeneralId'];
1174
+ // }
1175
1175
 
1176
1176
  // async rolIdDelModulo() {
1177
1177
  // const RolId = await ejecutarConsultaSIGU("SELECT `RolId` FROM `SIGU`.`SIGU_Roles` WHERE `Descripcion` = ?", [this.NombreDelRol]);
@@ -1183,13 +1183,13 @@ class Miscelaneo {
1183
1183
  // return PermisoId[0]['PermisoId'];
1184
1184
  // }
1185
1185
 
1186
- async rolPermisoIdDelModulo() {
1187
- this.RolId = await this.rolIdDelModulo();
1188
- this.PermisoId = await this.permisoIdDelModulo();
1189
- const RolPermisoId = await ejecutarConsultaSIGU("SELECT `RolPermisoId` FROM `SIGU`.`SIGU_RolesPermisos` WHERE `RolId` = ? AND `PermisoId` = ?"
1190
- , [this.RolId, this.PermisoId]);
1191
- return RolPermisoId[0]['RolPermisoId'];
1192
- }
1186
+ // async rolPermisoIdDelModulo() {
1187
+ // this.RolId = await this.rolIdDelModulo();
1188
+ // this.PermisoId = await this.permisoIdDelModulo();
1189
+ // const RolPermisoId = await ejecutarConsultaSIGU("SELECT `RolPermisoId` FROM `SIGU`.`SIGU_RolesPermisos` WHERE `RolId` = ? AND `PermisoId` = ?"
1190
+ // , [this.RolId, this.PermisoId]);
1191
+ // return RolPermisoId[0]['RolPermisoId'];
1192
+ // }
1193
1193
 
1194
1194
  // async idDelMenuPadre() {
1195
1195
  // const IdDelMenuPadre = await ejecutarConsultaSIGU("SELECT `MenuId` FROM `SIGU`.`SIGU_Menu` WHERE `Nombre` = ?", [this.MenuPadre]);
@@ -1338,6 +1338,16 @@ class Miscelaneo {
1338
1338
  process.env.DESTINATARIODEINFORMESDEERROR = await this.destinatarioDeInformesDeError();
1339
1339
  process.env.NOMBRECANONICODELMODULO = this.NombreCanonicoDelModulo;
1340
1340
 
1341
+ await InformacionDelModulo.cargarDesdeBD();
1342
+ this.DescripcionDelModulo = InformacionDelModulo.getDescripcionDelModulo();
1343
+ this.DetalleDelModulo = InformacionDelModulo.getDetalleDelModulo();
1344
+ this.TipoDeCard = InformacionDelModulo.getTipoDeCard();
1345
+ this.NombreDelPermisoV2 = InformacionDelModulo.getNombreDelPermiso();
1346
+ this.DescripcionDelPermiso = InformacionDelModulo.getDescripcionDelPermiso();
1347
+ this.MenuPadre = InformacionDelModulo.getMenuPadre();
1348
+ this.CorreoParaReportes = InformacionDelModulo.getCorreoParaReportes();
1349
+ this.Version = InformacionDelModulo.getVersion();
1350
+
1341
1351
  await this.registroDelModuloEnSIGUV2();
1342
1352
  }
1343
1353
 
@@ -2404,7 +2414,7 @@ class Miscelaneo {
2404
2414
  }
2405
2415
  return {
2406
2416
  "Modulo": this.NombreCanonicoDelModulo,
2407
- "Titulo": this.NombreDelModulo,
2417
+ "Titulo": this.DescripcionDelModulo,
2408
2418
  "Version": this.Version + "$$" + this.versionDelNucleo().split(' ')[0],
2409
2419
  "Descripcion": this.DescripcionDelModulo,
2410
2420
  "Detalle": this.DetalleDelModulo,
@@ -1,73 +0,0 @@
1
- class InformacionDelModulo {
2
-
3
- constructor() {
4
- };
5
-
6
- getNombreDelModulo() {
7
- return 'NOMBRE_DEL_PROYECTO';
8
- };
9
- getDescripcionDelModulo() {
10
- return 'DESCRIPCION_DEL_PROYECTO';
11
- };
12
- getDetalleDelModulo() {
13
- return 'DETALLE_DEL_PROYECTO';
14
- };
15
- getNombreCanonicoDelModulo() {
16
- return 'NOMBRE_DEL_CANONICO_DEL_PROYECTO';
17
- };
18
- getTipoDeCard() {
19
- return 'TIPO_DE_TARJETA';
20
- };
21
- getNombreDelRol() {
22
- return 'NOMBRE_DEL_ROL';
23
- };
24
- getNombreDelRepositorioDeLaBaseDeDatos() {
25
- return 'NOMBRE_DEL_REPOSITORIO_DE_BASE_DE_DATOS';
26
- };
27
- getNombreDelRepositorioDelBackend() {
28
- return 'NOMBRE_DEL_REPOSITORIO_DE_BACKEND';
29
- };
30
- getNombreDelRepositorioDelFrontend() {
31
- return 'NOMBRE_DEL_REPOSITORIO_DE_FRONTEND';
32
- };
33
- getNombreDelPermiso() {
34
- return 'NOMBRE_DEL_PERMISO';
35
- };
36
- getDescripcionDelPermiso() {
37
- return 'DESCRIPCION_DEL_PERMISO';
38
- };
39
- getMenuPadre() {
40
- // MenuPadre hace referencia al NombreCanonicoDelModulo del menú padre
41
- // Éste debe existir de lo contrario el registro fallará
42
- return 'MENU_PADRE';
43
- };
44
- getBackEndsQueConsumeEsteModulo() {
45
- // BackEndsQueConsumeEsteModulo es un arreglo de strings de la forma ['dgf-presup-modifica-p-back', 'dpu-pide-p-back']
46
- // Se debe poner el nombre del repositorio de backend que se necesita consumir
47
- // Los repositorios ya deben estar registrados en SIGU o de lo contrario el proceso fallará
48
- return [BACKENDS_QUE_CONSUME_ESTE_MODULO];
49
- };
50
- getPerfilGeneral() {
51
- // Si no sabe qué poner, puede dejar Servidor
52
- return 'Servidor';
53
- };
54
- getUsuariosConAccesoInicial() {
55
- // UsuariosConAccesoInicial es un arreglo de strings de la forma ['111050570', '111050570']
56
- // Este arreglo se usa para asignar acceso a este módulo, suelen usarse las cédulas de los encargados del proyecto y el desarrollador
57
- return ['111050570', '204540859', '602990078', '109840817', '206860639', '801680123', 'CEDULA_DEL_DESARROLLADOR'];
58
- };
59
- getColorDelModulo() {
60
- return 'COLOR_DEL_MODULO';
61
- };
62
- getCorreoParaReportes() {
63
- return 'CORREO_PARA_REPORTES';
64
- };
65
- getVersion() {
66
- return 'VERSION';
67
- };
68
- getUrlDelGrupo() {
69
- return 'url_del_grupo';
70
- };
71
- }
72
-
73
- module.exports = new InformacionDelModulo();