@manticore-labs/nest 0.0.99 → 0.0.101

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.
Files changed (28) hide show
  1. package/.idea/workspace.xml +169 -134
  2. package/build/main/lib/auth0/auth0.controller.d.ts +1 -0
  3. package/build/main/lib/auth0/auth0.controller.js +9 -1
  4. package/build/main/lib/auth0/auth0.service.d.ts +5 -0
  5. package/build/main/lib/auth0/auth0.service.js +30 -2
  6. package/build/main/lib/funciones-util/buscar-registro.js +751 -178
  7. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.d.ts +4 -0
  8. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +364 -0
  9. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.d.ts +5 -0
  10. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.js +55 -0
  11. package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.d.ts +4 -0
  12. package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +25 -0
  13. package/build/main/lib/principal.service.d.ts +1 -1
  14. package/build/main/lib/principal.service.js +1 -1
  15. package/build/module/lib/auth0/auth0.controller.d.ts +1 -0
  16. package/build/module/lib/auth0/auth0.controller.js +9 -1
  17. package/build/module/lib/auth0/auth0.service.d.ts +5 -0
  18. package/build/module/lib/auth0/auth0.service.js +30 -2
  19. package/build/module/lib/funciones-util/buscar-registro.js +751 -178
  20. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.d.ts +4 -0
  21. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +361 -0
  22. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.d.ts +5 -0
  23. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.js +55 -0
  24. package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.d.ts +4 -0
  25. package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +22 -0
  26. package/build/module/lib/principal.service.d.ts +1 -1
  27. package/build/module/lib/principal.service.js +1 -1
  28. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ export declare function generarCampoConCondiciones(nombreCampo: string, campo: string, propiedadPapa: string): {
2
+ consulta: string;
3
+ objeto: any;
4
+ };
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function generarCampoConCondiciones(nombreCampo, campo, propiedadPapa) {
4
+ console.log('Recuerde que el operador Any no esta disponible');
5
+ let noEncuentraOperador = true;
6
+ if (noEncuentraOperador) {
7
+ const expresionRegularNot = /Not\(".+"\)+/g;
8
+ const contieneNot = campo.match(expresionRegularNot);
9
+ if (contieneNot && noEncuentraOperador) {
10
+ const sinNot = campo.replace('Not("', '').replace('")', '');
11
+ if (noEncuentraOperador) {
12
+ const expresionRegularLike = /Like\(".+"\)+/g;
13
+ const contieneLike = sinNot.match(expresionRegularLike);
14
+ if (contieneLike) {
15
+ campo = sinNot.replace('Like("', '')
16
+ .replace('")', '');
17
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} LIKE :${nombreCampo} )`;
18
+ noEncuentraOperador = false;
19
+ const respuestaADevolver = {
20
+ consulta,
21
+ objeto: {}
22
+ };
23
+ respuestaADevolver.objeto[nombreCampo] = campo;
24
+ return respuestaADevolver;
25
+ }
26
+ }
27
+ if (noEncuentraOperador) {
28
+ const expresionRegularLessThan = /LessThan\(".+"\)+/g;
29
+ const contieneLessThan = sinNot.match(expresionRegularLessThan);
30
+ if (contieneLessThan) {
31
+ campo = sinNot
32
+ .replace('LessThan("', '')
33
+ .replace('")', '');
34
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} < :${nombreCampo} )`;
35
+ noEncuentraOperador = false;
36
+ const respuestaADevolver = {
37
+ consulta,
38
+ objeto: {}
39
+ };
40
+ respuestaADevolver.objeto[nombreCampo] = campo;
41
+ return respuestaADevolver;
42
+ }
43
+ }
44
+ if (noEncuentraOperador) {
45
+ const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
46
+ const contieneMoreThan = sinNot.match(expresionRegularMoreThan);
47
+ if (contieneMoreThan) {
48
+ campo = sinNot
49
+ .replace('MoreThan("', '')
50
+ .replace('")', '');
51
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} > :${nombreCampo})`;
52
+ noEncuentraOperador = false;
53
+ const respuestaADevolver = {
54
+ consulta,
55
+ objeto: {}
56
+ };
57
+ respuestaADevolver.objeto[nombreCampo] = campo;
58
+ return respuestaADevolver;
59
+ }
60
+ }
61
+ if (noEncuentraOperador) {
62
+ const expresionRegularEqual = /Equal\(".+"\)+/g;
63
+ const contieneEqual = sinNot.match(expresionRegularEqual);
64
+ if (contieneEqual) {
65
+ campo = sinNot
66
+ .replace('Equal("', '')
67
+ .replace('")', '');
68
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} = :${nombreCampo})`;
69
+ noEncuentraOperador = false;
70
+ const respuestaADevolver = {
71
+ consulta,
72
+ objeto: {}
73
+ };
74
+ respuestaADevolver.objeto[nombreCampo] = campo;
75
+ return respuestaADevolver;
76
+ }
77
+ }
78
+ if (noEncuentraOperador) {
79
+ const expresionRegularBetween = /Between\(".+"\)+/g;
80
+ const contieneBetween = sinNot.match(expresionRegularBetween);
81
+ if (contieneBetween) {
82
+ const busqueda = [...sinNot
83
+ .replace('Between("', '')
84
+ .replace('")', '')
85
+ .replace(' ', '')
86
+ .split(',')
87
+ .map((n) => isNaN(n) ? n : +n)];
88
+ const esFecha = busqueda[0].length === 10 &&
89
+ busqueda[0].length === 10 &&
90
+ (typeof busqueda[0] === 'string') &&
91
+ (typeof busqueda[1] === 'string') &&
92
+ busqueda[0].match('-') &&
93
+ busqueda[1].match('-');
94
+ if (esFecha) {
95
+ const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
96
+ const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
97
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} BETWEEN :${nombreCampo}Inicio AND :${nombreCampo}Fin )`;
98
+ noEncuentraOperador = false;
99
+ const respuestaADevolver = {
100
+ consulta,
101
+ objeto: {}
102
+ };
103
+ respuestaADevolver.objeto[nombreCampo + 'Inicio'] = fechaInicio;
104
+ respuestaADevolver.objeto[nombreCampo + 'Fin'] = fechaFin;
105
+ return respuestaADevolver;
106
+ }
107
+ else {
108
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} BETWEEN :${nombreCampo}Inicio AND :${nombreCampo}Fin )`;
109
+ noEncuentraOperador = false;
110
+ const respuestaADevolver = {
111
+ consulta,
112
+ objeto: {}
113
+ };
114
+ respuestaADevolver.objeto[nombreCampo + 'Inicio'] = busqueda[0];
115
+ respuestaADevolver.objeto[nombreCampo + 'Fin'] = busqueda[1];
116
+ return respuestaADevolver;
117
+ }
118
+ noEncuentraOperador = false;
119
+ }
120
+ }
121
+ if (noEncuentraOperador) {
122
+ const expresionRegularIn = /In\(.+\)+/g;
123
+ const contieneIn = sinNot.match(expresionRegularIn);
124
+ if (contieneIn) {
125
+ let arregloIn;
126
+ try {
127
+ arregloIn = JSON.parse(sinNot
128
+ .replace('In(', '')
129
+ .replace('])', ']'));
130
+ const objetoIn = {};
131
+ let IN = '';
132
+ arregloIn
133
+ .forEach((campoIn, indice) => {
134
+ IN = IN + ((indice + 1) === arregloIn.length ? `':mlab${indice}${campoIn}'` : `:mlab'${indice}${campoIn}',`);
135
+ objetoIn[`mlab${indice}${campoIn}`] = campoIn;
136
+ });
137
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} IN( ${IN} ) )`;
138
+ noEncuentraOperador = false;
139
+ const respuestaADevolver = {
140
+ consulta,
141
+ objeto: objetoIn
142
+ };
143
+ return respuestaADevolver;
144
+ }
145
+ catch (error) {
146
+ console.error({
147
+ error,
148
+ mensaje: 'No se pudo usar el In'
149
+ });
150
+ const consulta = ``;
151
+ noEncuentraOperador = false;
152
+ const respuestaADevolverDeINVacio = {
153
+ consulta,
154
+ objeto: {}
155
+ };
156
+ return respuestaADevolverDeINVacio;
157
+ }
158
+ }
159
+ }
160
+ if (noEncuentraOperador) {
161
+ const expresionRegularIsNull = /IsNull\(\)+/g;
162
+ const contieneIsNull = sinNot.match(expresionRegularIsNull);
163
+ if (contieneIsNull) {
164
+ const consulta = `Not( ${propiedadPapa}.${nombreCampo} IS NULL )`;
165
+ noEncuentraOperador = false;
166
+ const respuestaADevolver = {
167
+ consulta,
168
+ objeto: {}
169
+ };
170
+ return respuestaADevolver;
171
+ }
172
+ }
173
+ const consultaSinOperadoresNot = `${propiedadPapa}.${nombreCampo} <> :${nombreCampo} OR ${propiedadPapa}.${nombreCampo} IS NULL`;
174
+ noEncuentraOperador = false;
175
+ const respuestaADevolverSinOperadoresNot = {
176
+ consulta: consultaSinOperadoresNot,
177
+ objeto: {}
178
+ };
179
+ respuestaADevolverSinOperadoresNot.objeto[nombreCampo] = sinNot;
180
+ return respuestaADevolverSinOperadoresNot;
181
+ }
182
+ } // Fin de NOT
183
+ if (noEncuentraOperador) {
184
+ const expresionRegularLike = /Like\(".+"\)+/g;
185
+ const contieneLike = campo.match(expresionRegularLike);
186
+ if (contieneLike) {
187
+ campo = campo
188
+ .replace('Like("', '')
189
+ .replace('")', '');
190
+ const consulta = `${propiedadPapa}.${nombreCampo} LIKE :${nombreCampo}`;
191
+ noEncuentraOperador = false;
192
+ const respuestaADevolver = {
193
+ consulta,
194
+ objeto: {}
195
+ };
196
+ respuestaADevolver.objeto[nombreCampo] = campo;
197
+ return respuestaADevolver;
198
+ }
199
+ }
200
+ if (noEncuentraOperador) {
201
+ const expresionRegularLessThan = /LessThan\(".+"\)+/g;
202
+ const contieneLessThan = campo.match(expresionRegularLessThan);
203
+ if (contieneLessThan) {
204
+ campo = campo
205
+ .replace('LessThan("', '')
206
+ .replace('")', '');
207
+ const consulta = `${propiedadPapa}.${nombreCampo} < :${nombreCampo}`;
208
+ noEncuentraOperador = false;
209
+ const respuestaADevolver = {
210
+ consulta,
211
+ objeto: {}
212
+ };
213
+ respuestaADevolver.objeto[nombreCampo] = campo;
214
+ return respuestaADevolver;
215
+ }
216
+ }
217
+ if (noEncuentraOperador) {
218
+ const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
219
+ const contieneMoreThan = campo.match(expresionRegularMoreThan);
220
+ if (contieneMoreThan) {
221
+ campo = campo.replace('MoreThan("', '')
222
+ .replace('")', '');
223
+ const consulta = `${propiedadPapa}.${nombreCampo} > :${nombreCampo}`;
224
+ noEncuentraOperador = false;
225
+ const respuestaADevolver = {
226
+ consulta,
227
+ objeto: {}
228
+ };
229
+ respuestaADevolver.objeto[nombreCampo] = campo;
230
+ return respuestaADevolver;
231
+ }
232
+ }
233
+ if (noEncuentraOperador) {
234
+ const expresionRegularEqual = /Equal\(".+"\)+/g;
235
+ const contieneEqual = campo.match(expresionRegularEqual);
236
+ if (contieneEqual) {
237
+ campo = campo
238
+ .replace('Equal("', '').replace('")', '');
239
+ const consulta = `${propiedadPapa}.${nombreCampo} = :${nombreCampo}`;
240
+ noEncuentraOperador = false;
241
+ const respuestaADevolver = {
242
+ consulta,
243
+ objeto: {}
244
+ };
245
+ respuestaADevolver.objeto[nombreCampo] = campo;
246
+ return respuestaADevolver;
247
+ }
248
+ }
249
+ if (noEncuentraOperador) {
250
+ const expresionRegularBetween = /Between\(".+"\)+/g;
251
+ const contieneBetween = campo.match(expresionRegularBetween);
252
+ if (contieneBetween) {
253
+ const busqueda = [...campo
254
+ .replace('Between("', '')
255
+ .replace('")', '')
256
+ .replace(' ', '')
257
+ .split(',')
258
+ .map((n) => isNaN(n) ? n : +n)];
259
+ const esFecha = busqueda[0].length === 10 &&
260
+ busqueda[0].length === 10 &&
261
+ (typeof busqueda[0] === 'string') &&
262
+ (typeof busqueda[1] === 'string') &&
263
+ busqueda[0].match('-') &&
264
+ busqueda[1].match('-');
265
+ if (esFecha) {
266
+ const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
267
+ const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
268
+ const consulta = `${propiedadPapa}.${nombreCampo} BETWEEN :${nombreCampo}Inicio AND :${nombreCampo}Fin `;
269
+ noEncuentraOperador = false;
270
+ const respuestaADevolver = {
271
+ consulta,
272
+ objeto: {}
273
+ };
274
+ respuestaADevolver.objeto[nombreCampo + 'Inicio'] = fechaInicio;
275
+ respuestaADevolver.objeto[nombreCampo + 'Fin'] = fechaFin;
276
+ return respuestaADevolver;
277
+ }
278
+ else {
279
+ const consulta = `${propiedadPapa}.${nombreCampo} BETWEEN :${nombreCampo}Inicio AND :${nombreCampo}Fin`;
280
+ noEncuentraOperador = false;
281
+ const respuestaADevolver = {
282
+ consulta,
283
+ objeto: {}
284
+ };
285
+ respuestaADevolver.objeto[nombreCampo + 'Inicio'] = busqueda[0];
286
+ respuestaADevolver.objeto[nombreCampo + 'Fin'] = busqueda[1];
287
+ return respuestaADevolver;
288
+ }
289
+ }
290
+ }
291
+ if (noEncuentraOperador) {
292
+ const expresionRegularIn = /In\(.+\)+/g;
293
+ const contieneIn = campo.match(expresionRegularIn);
294
+ if (contieneIn) {
295
+ let arregloIn;
296
+ try {
297
+ arregloIn = JSON.parse(campo
298
+ .replace('In(', '')
299
+ .replace('])', ']'));
300
+ if (arregloIn.length > 0) {
301
+ const objetoIn = {};
302
+ let IN = '';
303
+ arregloIn
304
+ .forEach((campoIn, indice) => {
305
+ IN = IN + ((indice + 1) === arregloIn.length ? `:mlab${indice}${campoIn}` : `:mlab${indice}${campoIn},`);
306
+ objetoIn[`mlab${indice}${campoIn}`] = campoIn;
307
+ });
308
+ const consulta = `${propiedadPapa}.${nombreCampo} IN( ${IN} )`;
309
+ noEncuentraOperador = false;
310
+ const respuestaADevolver = {
311
+ consulta,
312
+ objeto: objetoIn
313
+ };
314
+ return respuestaADevolver;
315
+ }
316
+ else {
317
+ const consulta = ``;
318
+ noEncuentraOperador = false;
319
+ const respuestaADevolverDeINVacio = {
320
+ consulta,
321
+ objeto: {}
322
+ };
323
+ return respuestaADevolverDeINVacio;
324
+ }
325
+ }
326
+ catch (error) {
327
+ console.error({
328
+ error,
329
+ mensaje: 'No se pudo usar el In'
330
+ });
331
+ const consulta = ``;
332
+ noEncuentraOperador = false;
333
+ const respuestaADevolverDeINVacio = {
334
+ consulta,
335
+ objeto: {}
336
+ };
337
+ return respuestaADevolverDeINVacio;
338
+ }
339
+ }
340
+ }
341
+ if (noEncuentraOperador) {
342
+ const expresionRegularIsNull = /IsNull\(\)+/g;
343
+ const contieneIsNull = campo.match(expresionRegularIsNull);
344
+ if (contieneIsNull) {
345
+ const consulta = `${propiedadPapa}.${nombreCampo} IS NULL`;
346
+ noEncuentraOperador = false;
347
+ const respuestaADevolver = {
348
+ consulta,
349
+ objeto: {}
350
+ };
351
+ return respuestaADevolver;
352
+ }
353
+ }
354
+ const consultaSinOperadores = `${propiedadPapa}.${nombreCampo} = :${nombreCampo}`;
355
+ noEncuentraOperador = false;
356
+ const respuestaADevolverSinOperadores = {
357
+ consulta: consultaSinOperadores,
358
+ objeto: {}
359
+ };
360
+ respuestaADevolverSinOperadores.objeto[nombreCampo] = campo;
361
+ return respuestaADevolverSinOperadores;
362
+ }
363
+ exports.generarCampoConCondiciones = generarCampoConCondiciones;
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhci1jYW1wb3MtY29uLWNvbmRpY2lvbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9mdW5jaW9uZXMtYnVzcXVlZGEvZ2VuZXJhci1jYW1wb3MtY29uLWNvbmRpY2lvbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0NBQ0UsV0FBbUIsRUFDbkIsS0FBYSxFQUNiLGFBQXFCO0lBRXJCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUMvRCxJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMvQixJQUFJLG1CQUFtQixFQUFFO1FBQ3ZCLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRCxJQUFJLFdBQVcsSUFBSSxtQkFBbUIsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNwQixRQUFRLEVBQUUsRUFBRSxDQUNiO3lCQUNFLE9BQU8sQ0FDTixJQUFJLEVBQUUsRUFBRSxDQUNULENBQUM7b0JBQ0osTUFBTSxRQUFRLEdBQUcsUUFBUSxhQUFhLElBQUksV0FBVyxVQUFVLFdBQVcsSUFBSSxDQUFDO29CQUMvRSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7b0JBQzVC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
@@ -0,0 +1,5 @@
1
+ import { SelectQueryBuilder } from 'typeorm';
2
+ export declare function generarJoins<Entidad>(nombreRelacion: string, propiedadPapa: string, objeto: {
3
+ [key: string]: any;
4
+ mlabJoin: 'inner' | 'left';
5
+ }, consulta: SelectQueryBuilder<Entidad>): SelectQueryBuilder<Entidad>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const obtener_objeto_where_y_relations_1 = require("./obtener-objeto-where-y-relations");
4
+ const generar_campos_con_condiciones_1 = require("./generar-campos-con-condiciones");
5
+ function generarJoins(nombreRelacion, propiedadPapa, objeto, consulta) {
6
+ const objetoWhereYRelations = obtener_objeto_where_y_relations_1.obtenerObjetoWhereYRelations(objeto);
7
+ const arregloRelations = Object
8
+ .keys(objetoWhereYRelations.objetoRelaciones);
9
+ const arregloWhere = Object
10
+ .keys(objetoWhereYRelations.objetoCampos)
11
+ .filter(o => o !== 'mlabJoin');
12
+ console.log('Recuerde usar la propiedad "mlabJoin" con valores "inner" o "left"' +
13
+ ' por defecto la opcion es "inner"');
14
+ let condicionGeneral = '';
15
+ let objetoGeneral = {};
16
+ arregloWhere
17
+ .forEach((nombreCampo, indice) => {
18
+ if (typeof objetoWhereYRelations.objetoCampos[nombreCampo] === 'string') {
19
+ const objetoCampoCondiciones = generar_campos_con_condiciones_1.generarCampoConCondiciones(nombreCampo, objetoWhereYRelations.objetoCampos[nombreCampo], propiedadPapa);
20
+ condicionGeneral = condicionGeneral + (indice === arregloWhere.length + 1) ?
21
+ objetoCampoCondiciones.consulta :
22
+ objetoCampoCondiciones.consulta + ' and ';
23
+ objetoGeneral = Object.assign({}, objetoGeneral, objetoCampoCondiciones.objeto);
24
+ }
25
+ else {
26
+ condicionGeneral = condicionGeneral + (indice === arregloWhere.length + 1) ?
27
+ `${propiedadPapa}.${nombreCampo} = :${nombreCampo}` :
28
+ `${propiedadPapa}.${nombreCampo} = :${nombreCampo} and `;
29
+ objetoGeneral[nombreCampo] = objetoWhereYRelations.objetoCampos[nombreCampo];
30
+ }
31
+ });
32
+ if (objeto.mlabJoin) {
33
+ if (objeto.mlabJoin === 'inner') {
34
+ consulta.innerJoinAndSelect(`${nombreRelacion}.${propiedadPapa}`, `${propiedadPapa}`, condicionGeneral, objetoGeneral);
35
+ }
36
+ else {
37
+ consulta.leftJoinAndSelect(`${nombreRelacion}.${propiedadPapa}`, `${propiedadPapa}`, condicionGeneral, objetoGeneral);
38
+ }
39
+ }
40
+ else {
41
+ consulta.innerJoinAndSelect(`${nombreRelacion}.${propiedadPapa}`, `${propiedadPapa}`, condicionGeneral, objetoGeneral);
42
+ }
43
+ if (objetoWhereYRelations.objetoRelaciones === {}) {
44
+ return consulta;
45
+ }
46
+ else {
47
+ arregloRelations
48
+ .forEach((nombreCampoRelacion) => {
49
+ consulta = generarJoins(propiedadPapa, nombreCampoRelacion, objetoWhereYRelations.objetoRelaciones[nombreCampoRelacion], consulta);
50
+ });
51
+ return consulta;
52
+ }
53
+ }
54
+ exports.generarJoins = generarJoins;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhci1qb2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZnVuY2lvbmVzLXV0aWwvZnVuY2lvbmVzLWJ1c3F1ZWRhL2dlbmVyYXItam9pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx5RkFBa0Y7QUFDbEYscUZBQThFO0FBRTlFLHNCQUNFLGNBQXNCLEVBQ3RCLGFBQXFCLEVBQ3JCLE1BQTBELEVBQzFELFFBQXFDO0lBRXJDLE1BQU0scUJBQXFCLEdBQUcsK0RBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNO1NBQzVCLElBQUksQ0FDSCxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FDdkMsQ0FBQztJQUNKLE1BQU0sWUFBWSxHQUFHLE1BQU07U0FDeEIsSUFBSSxDQUNILHFCQUFxQixDQUFDLFlBQVksQ0FDbkM7U0FDQSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvRUFBb0U7UUFDOUUsbUNBQW1DLENBQUMsQ0FBQztJQUN2QyxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMxQixJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsWUFBWTtTQUNULE9BQU8sQ0FDTixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUN0QixJQUFJLE9BQU8scUJBQXFCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUN2RSxNQUFNLHNCQUFzQixHQUFHLDJEQUEwQixDQUN2RCxXQUFXLEVBQ1gscUJBQXFCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUMvQyxhQUFhLENBQ2QsQ0FBQztZQUNGLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pDLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDNUMsYUFBYSxxQkFDUixhQUFhLEVBQ2Isc0JBQXNCLENBQUMsTUFBTSxDQUNqQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsR0FBRyxhQUFhLElBQUksV0FBVyxPQUFPLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELEdBQUcsYUFBYSxJQUFJLFdBQVcsT0FBTyxXQUFXLE9BQU8sQ0FBQztZQUMzRCxhQUFhLENBQUMsV0FBVyxDQUFDLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDbkIsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUMvQixRQUFRLENBQUMsa0JBQWtCLENBQ3pCLEdBQUcsY0FBYyxJQUFJLGFBQWEsRUFBRSxFQUNwQyxHQUFHLGFBQWEsRUFBRSxFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxDQUNkLENBQUM7U0FDSDthQUFNO1lBQ0wsUUFBUSxDQUFDLGlCQUFpQixDQUN4QixHQUFHLGNBQWMsSUFBSSxhQUFhLEVBQUUsRUFDcEMsR0FBRyxhQUFhLEVBQUUsRUFDbEIsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FDZCxDQUFDO1NBQ0g7S0FDRjtTQUFNO1FBQ0wsUUFBUSxDQUFDLGtCQUFrQixDQUN6QixHQUFHLGNBQWMsSUFBSSxhQUFhLEVBQUUsRUFDcEMsR0FBRyxhQUFhLEVBQUUsRUFDbEIsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FDZCxDQUFDO0tBQ0g7SUFDRCxJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixLQUFLLEVBQUUsRUFBRTtRQUNqRCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtTQUFNO1FBQ0wsZ0JBQWdCO2FBQ2IsT0FBTyxDQUNOLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUN0QixRQUFRLEdBQUcsWUFBWSxDQUNyQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEVBQzNELFFBQVEsQ0FDVCxDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7UUFDSixPQUFPLFFBQVEsQ0FBQztLQUNqQjtBQUNILENBQUM7QUFwRkQsb0NBb0ZDIn0=
@@ -0,0 +1,4 @@
1
+ export declare function obtenerObjetoWhereYRelations(propiedad: any): {
2
+ objetoRelaciones: {};
3
+ objetoCampos: {};
4
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function obtenerObjetoWhereYRelations(propiedad) {
4
+ const campos = Object.keys(propiedad);
5
+ const arregloCampos = campos.filter((campo) => {
6
+ return typeof propiedad[campo] !== 'object';
7
+ });
8
+ const arregloRelaciones = campos.filter((campo) => {
9
+ return typeof propiedad[campo] === 'object';
10
+ });
11
+ const objetoCampos = {};
12
+ arregloCampos.forEach((campo) => {
13
+ objetoCampos[campo] = propiedad[campo];
14
+ });
15
+ const objetoRelaciones = {};
16
+ arregloRelaciones.forEach((campo) => {
17
+ objetoRelaciones[campo] = propiedad[campo];
18
+ });
19
+ return {
20
+ objetoRelaciones,
21
+ objetoCampos
22
+ };
23
+ }
24
+ exports.obtenerObjetoWhereYRelations = obtenerObjetoWhereYRelations;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2J0ZW5lci1vYmpldG8td2hlcmUteS1yZWxhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmNpb25lcy11dGlsL2Z1bmNpb25lcy1idXNxdWVkYS9vYnRlbmVyLW9iamV0by13aGVyZS15LXJlbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUE2QyxTQUFTO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDakMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNSLE9BQU8sT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQzlDLENBQUMsQ0FDRixDQUFDO0lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNyQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ1IsT0FBTyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDOUMsQ0FBQyxDQUNGLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDeEIsYUFBYSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNSLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUNGLENBQUM7SUFDRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsQ0FBQyxPQUFPLENBQ3ZCLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDUixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUNGLENBQUM7SUFDRixPQUFPO1FBQ0wsZ0JBQWdCO1FBQ2hCLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQztBQTVCRCxvRUE0QkMifQ==
@@ -9,7 +9,7 @@ import { Observable } from 'rxjs';
9
9
  import { FindWhereRelations } from './interfaces-util/find-where-relations';
10
10
  import { CamposABuscarInterface } from './interfaces-util/campos-a-buscar';
11
11
  export declare class PrincipalService<T, G, F> {
12
- protected readonly repository: Repository<T>;
12
+ readonly repository: Repository<T>;
13
13
  private Entidad?;
14
14
  private nombreRepositorio?;
15
15
  private readonly debug;
@@ -280,4 +280,4 @@ PrincipalService = __decorate([
280
280
  common_1.Injectable()
281
281
  ], PrincipalService);
282
282
  exports.PrincipalService = PrincipalService;
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsMkNBQStEO0FBQy9ELHFDQUFxRTtBQU9yRSwrQkFBd0M7QUFDeEMsOENBQTBDO0FBSTFDLG1EQUFpRDtBQUNqRCx1R0FBa0c7QUFHbEcsSUFBYSxnQkFBZ0IsR0FBN0I7SUFDRSxZQUErQixVQUF5QixFQUFVLE9BQWEsRUFBVSxpQkFBMEIsRUFBbUIsUUFBUSxJQUFJO1FBQW5ILGVBQVUsR0FBVixVQUFVLENBQWU7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFNO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFTO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQU87SUFDbEosQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQXFDLEVBQUUsVUFBcUI7UUFDckUsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDdEU7YUFBTTtZQUNMLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELGFBQWE7SUFDYixLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUE0RixFQUM1RixRQUFRLEdBQUcsS0FBSztRQUM1QixNQUFNLEVBQUUsR0FBRyxnQkFBdUIsQ0FBQztRQUNuQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTTtZQUNMLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sSUFBSSx3QkFB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
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsMkNBQStEO0FBQy9ELHFDQUFxRTtBQU9yRSwrQkFBd0M7QUFDeEMsOENBQTBDO0FBSTFDLG1EQUFpRDtBQUNqRCx1R0FBa0c7QUFHbEcsSUFBYSxnQkFBZ0IsR0FBN0I7SUFDRSxZQUE0QixVQUF5QixFQUFVLE9BQWEsRUFBVSxpQkFBMEIsRUFBbUIsUUFBUSxJQUFJO1FBQW5ILGVBQVUsR0FBVixVQUFVLENBQWU7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFNO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFTO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQU87SUFDL0ksQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQXFDLEVBQUUsVUFBcUI7UUFDckUsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDdEU7YUFBTTtZQUNMLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELGFBQWE7SUFDYixLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUE0RixFQUM1RixRQUFRLEdBQUcsS0FBSztRQUM1QixNQUFNLEVBQUUsR0FBRyxnQkFBdUIsQ0FBQztRQUNuQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTTtZQUNMLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sSUFBSSx3QkFB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
@@ -15,6 +15,7 @@ export declare abstract class PrincipalAuth0Controller {
15
15
  protected contexto: any;
16
16
  constructor(_funcionesSeguridad: FuncionesSeguridadAuth0, _auth0Service: PrincipalAuth0Service | any, _mensajes: MensajesControladorAuth0, debug: boolean, skip: number, take: number, contexto: any);
17
17
  refreshToken(refreshToken: any): any;
18
+ revokeToken(refreshToken: any): any;
18
19
  actualizarUsuarioPorPrimeraVez(email: any, name: any, user_id: any, request: any, response: any): Promise<void>;
19
20
  actualizarUsuarioPorPrimeraVezAccion(actualizacionUsuario: ActualizarUsuarioDto): Promise<any>;
20
21
  actualizarCuenta(email: any, name: any, user_id: any, request: any, response: any): Promise<void>;