utn-cli 2.1.3 → 2.1.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utn-cli",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Herramienta CLI unificada para la gestión de plantillas en SIGU.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -2528,7 +2528,7 @@ class Miscelaneo {
2528
2528
 
2529
2529
  async obtenerTarjetasDelContenedor(token) {
2530
2530
  const ConfiguracionDeTarjetas = require('./ConfiguracionDeTarjetas.js');
2531
- const Personas = require('../Personas.js');
2531
+ // const Personas = require('../Personas.js');
2532
2532
  const path = require('path');
2533
2533
  const serviciosDir = path.join(__dirname, '..');
2534
2534
 
@@ -2536,7 +2536,7 @@ class Miscelaneo {
2536
2536
  const [tarjetas, configuracion, tienePermisoExtra] = await Promise.all([
2537
2537
  this.obtenerTarjetas(),
2538
2538
  ConfiguracionDeTarjetas.obtener({ Identificador: usuario.uid }),
2539
- Personas.PermisoExtra(token)
2539
+ // Personas.PermisoExtra(token)
2540
2540
  ]);
2541
2541
 
2542
2542
  const cantidadesEntradas = await Promise.all(
@@ -9,6 +9,111 @@ class Servicio1 {
9
9
 
10
10
  RegistrarElServicio() {
11
11
  const NombreDelServicio = 'Servicio1';
12
+
13
+ // El segundo parámetro de RegistrarElServicio define la tarjeta (o tarjetas) que
14
+ // aparecerán en el dashboard del módulo. Puede ser un objeto o un arreglo de objetos.
15
+ // Si se omite, el servicio se registra sin crear ninguna tarjeta.
16
+ //
17
+ // Campos comunes a todos los tipos:
18
+ // 'Tipo' — 'Única' | 'Múltiple' | 'Reporte' | 'Personalizada'
19
+ // 'Posición' — Número entero; menor = aparece antes. Use múltiplos de 10.
20
+ // 'Título' — Texto visible en la tarjeta del dashboard.
21
+ // 'Descripción' — Texto secundario de la tarjeta.
22
+ // 'RequierePermisoExtra' — true: solo visible para usuarios con permiso extra.
23
+ // 'Activa' — false: la tarjeta existe pero no se muestra.
24
+ //
25
+ // ── Tipo 'Única' ────────────────────────────────────────────────────────────────
26
+ // Tarjeta de acceso directo a una sola ruta.
27
+ //
28
+ // Miscelaneas.RegistrarElServicio(NombreDelServicio, {
29
+ // 'Tipo': 'Única',
30
+ // 'Posición': 10,
31
+ // 'Título': 'Mi sección',
32
+ // 'Descripción': 'Descripción breve de la sección',
33
+ // 'Ícono': 'settings', // Nombre de ícono de Material Icons
34
+ // 'RutaASeguir': 'miRuta', // Ruta relativa sin barra inicial
35
+ // 'ColorDeBorde': '#3498db', // Opcional; omitir para color predeterminado
36
+ // 'RequierePermisoExtra': false,
37
+ // 'Activa': true
38
+ // });
39
+ //
40
+ // ── Tipo 'Múltiple' ──────────────────────────────────────────────────────────────
41
+ // Tarjeta de menú desplegable con varias opciones de navegación.
42
+ //
43
+ // Miscelaneas.RegistrarElServicio(NombreDelServicio, {
44
+ // 'Tipo': 'Múltiple',
45
+ // 'Posición': 20,
46
+ // 'Título': 'Mi sección',
47
+ // 'Descripción': 'Descripción breve de la sección',
48
+ // 'Rutas': [
49
+ // { 'Nombre': 'Opción A', 'Ruta': 'tablaOpcionA' },
50
+ // { 'Nombre': 'Opción B', 'Ruta': 'tablaOpcionB' },
51
+ // { 'Nombre': 'Opción C', 'Ruta': 'tablaOpcionC' }
52
+ // ],
53
+ // 'RequierePermisoExtra': false,
54
+ // 'Activa': true
55
+ // });
56
+ //
57
+ // ── Tipo 'Reporte' ───────────────────────────────────────────────────────────────
58
+ // Tarjeta que, al hacer clic, genera y descarga un reporte.
59
+ // El valor de 'ReporteAGenerar' debe coincidir con el identificador manejado
60
+ // en el método GenerarReporte() del componente ContenedorPrincipalComponent.
61
+ //
62
+ // Miscelaneas.RegistrarElServicio(NombreDelServicio, {
63
+ // 'Tipo': 'Reporte',
64
+ // 'Posición': 30,
65
+ // 'Título': 'Mi reporte',
66
+ // 'Descripción': 'Descarga el reporte de ejemplo en formato CSV',
67
+ // 'Ícono': 'download',
68
+ // 'ReporteAGenerar': 'ElReporte1', // Identificador del reporte en el frontend
69
+ // 'RequierePermisoExtra': false,
70
+ // 'Activa': true
71
+ // });
72
+ //
73
+ // ── Tipo 'Personalizada' ─────────────────────────────────────────────────────────
74
+ // Tarjeta que ejecuta una acción programada definida en el frontend.
75
+ // El valor de 'Acción' debe coincidir con el identificador manejado
76
+ // en el método EjecutarAccionPersonalizada() del componente ContenedorPrincipalComponent.
77
+ //
78
+ // Miscelaneas.RegistrarElServicio(NombreDelServicio, {
79
+ // 'Tipo': 'Personalizada',
80
+ // 'Posición': 40,
81
+ // 'Título': 'Mi acción',
82
+ // 'Descripción': 'Ejecuta una acción personalizada',
83
+ // 'Ícono': 'bolt',
84
+ // 'Etiqueta': 'Ejecutar', // Texto del botón dentro de la tarjeta
85
+ // 'Acción': 'MiAccionPersonalizada', // Identificador de la acción en el frontend
86
+ // 'RequierePermisoExtra': false,
87
+ // 'Activa': true
88
+ // });
89
+ //
90
+ // ── Múltiples tarjetas a la vez ──────────────────────────────────────────────────
91
+ // El segundo parámetro también acepta un arreglo para registrar varias tarjetas
92
+ // en una sola llamada (útil cuando un servicio expone más de una sección).
93
+ //
94
+ // Miscelaneas.RegistrarElServicio(NombreDelServicio, [
95
+ // {
96
+ // 'Tipo': 'Única',
97
+ // 'Posición': 10,
98
+ // 'Título': 'Sección A',
99
+ // 'Descripción': 'Descripción de la sección A',
100
+ // 'Ícono': 'dashboard',
101
+ // 'RutaASeguir': 'tablaSeccionA',
102
+ // 'RequierePermisoExtra': false,
103
+ // 'Activa': true
104
+ // },
105
+ // {
106
+ // 'Tipo': 'Única',
107
+ // 'Posición': 20,
108
+ // 'Título': 'Sección B',
109
+ // 'Descripción': 'Descripción de la sección B',
110
+ // 'Ícono': 'bar_chart',
111
+ // 'RutaASeguir': 'tablaSeccionB',
112
+ // 'RequierePermisoExtra': false,
113
+ // 'Activa': true
114
+ // }
115
+ // ]);
116
+
12
117
  Miscelaneas.RegistrarElServicio(NombreDelServicio);
13
118
  console.log("Se ha creado el servicio: " + NombreDelServicio);
14
119
  }
@@ -39,8 +144,8 @@ class Servicio1 {
39
144
  // informacionDelArchivo.Etiquetas = Etiquetas;
40
145
  // await ejecutarConsulta("INSERT INTO `" + this.NombreDelRepositorioDeLaBaseDeDatos.slice(0, -3) + "`.`Archivos`\
41
146
  // VALUES (?, ?, ?, ?, ?, NOW(4), ?)"
42
- // , [Respuesta.insertId, Resultado.uid, informacionDelArchivo.rutaDeArchivo, informacionDelArchivo.nombreDeArchivo
43
- // , Etiquetas, Resultado.uid]);
147
+ // , [Respuesta.insertId, Resultado.Identificador, informacionDelArchivo.rutaDeArchivo, informacionDelArchivo.nombreDeArchivo
148
+ // , Etiquetas, Resultado.Identificador]);
44
149
  // return informacionDelArchivo;
45
150
  // }
46
151
  // return;
@@ -50,7 +155,7 @@ class Servicio1 {
50
155
  // return await ejecutarConsulta("SELECT `BeneficioEstudiantilId`, `Nombre`, `Tipo`, `Estado` FROM `vve-bybe`.`BYBE_BeneficiosEstudiantiles`");
51
156
  // }
52
157
 
53
- // // Ejemplo de listar con paginador
158
+ // // Ejemplo de listar con paginador
54
159
  // async listar(Parametros) {
55
160
  // let Resultados = undefined;
56
161
  // let ORDERBY = "";
@@ -109,7 +214,7 @@ class Servicio1 {
109
214
  // async agergar(Datos) {
110
215
  // return ejecutarConsulta("INSERT INTO `vve-bybe`.`BYBE_BeneficiosEstudiantiles` VALUES (NULL,\
111
216
  // ?, ?, 'Activo', NOW(4), ?)"
112
- // , [Datos.Nombre, Datos.Tipo, Resultado.uid]);
217
+ // , [Datos.Nombre, Datos.Tipo, Resultado.Identificador]);
113
218
  // }
114
219
 
115
220
  // async borrar(Datos) {
@@ -122,7 +227,7 @@ class Servicio1 {
122
227
  // SET `Nombre` = ?, `Tipo` = ?, `Estado` = ?\
123
228
  // , `LastUpdate` = NOW(4), `LastUser` = ?\
124
229
  // WHERE `BeneficioEstudiantilId` = ?"
125
- // , [Datos.Nombre, Datos.Tipo, Datos.Estado, Resultado.uid, Datos.BeneficioEstudiantilId]);
230
+ // , [Datos.Nombre, Datos.Tipo, Datos.Estado, Resultado.Identificador, Datos.BeneficioEstudiantilId]);
126
231
  // }
127
232
 
128
233
  // async detalle(BeneficioEstudiantilId) {