@manticore-labs/nest 0.0.96 → 0.0.98
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/.idea/workspace.xml +154 -125
- package/build/main/lib/auth0/auth0.service.js +2 -2
- package/build/main/lib/funciones-util/buscar-registro.d.ts +2 -1
- package/build/main/lib/funciones-util/buscar-registro.js +9 -3
- package/build/main/lib/funciones-util/buscar-un-registro-por-id.d.ts +2 -1
- package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +6 -3
- package/build/main/lib/funciones-util/buscar-where-or.d.ts +2 -1
- package/build/main/lib/funciones-util/buscar-where-or.js +6 -3
- package/build/main/lib/funciones-util/contar-registros.d.ts +2 -1
- package/build/main/lib/funciones-util/contar-registros.js +9 -3
- package/build/main/lib/funciones-util/crear-un-registro.js +2 -2
- package/build/main/lib/funciones-util/editar-un-registro.js +2 -2
- package/build/main/lib/funciones-util/eliminar-uno.js +4 -3
- package/build/main/lib/interfaces-util/funciones-middleware.d.ts +31 -6
- package/build/main/lib/principal.controller.d.ts +4 -2
- package/build/main/lib/principal.controller.js +48 -13
- package/build/main/lib/principal.gateway.d.ts +11 -9
- package/build/main/lib/principal.gateway.js +79 -27
- package/build/main/lib/principal.resolver.d.ts +9 -7
- package/build/main/lib/principal.resolver.js +50 -15
- package/build/module/lib/auth0/auth0.service.js +2 -2
- package/build/module/lib/funciones-util/buscar-registro.d.ts +2 -1
- package/build/module/lib/funciones-util/buscar-registro.js +9 -3
- package/build/module/lib/funciones-util/buscar-un-registro-por-id.d.ts +2 -1
- package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +6 -3
- package/build/module/lib/funciones-util/buscar-where-or.d.ts +2 -1
- package/build/module/lib/funciones-util/buscar-where-or.js +6 -3
- package/build/module/lib/funciones-util/contar-registros.d.ts +2 -1
- package/build/module/lib/funciones-util/contar-registros.js +9 -3
- package/build/module/lib/funciones-util/crear-un-registro.js +2 -2
- package/build/module/lib/funciones-util/editar-un-registro.js +2 -2
- package/build/module/lib/funciones-util/eliminar-uno.js +4 -3
- package/build/module/lib/interfaces-util/funciones-middleware.d.ts +31 -6
- package/build/module/lib/principal.controller.d.ts +4 -2
- package/build/module/lib/principal.controller.js +48 -13
- package/build/module/lib/principal.gateway.d.ts +11 -9
- package/build/module/lib/principal.gateway.js +79 -27
- package/build/module/lib/principal.resolver.d.ts +9 -7
- package/build/module/lib/principal.resolver.js +50 -15
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ import { eliminarUno } from './funciones-util/eliminar-uno';
|
|
|
17
17
|
import { editarUnRegistro } from './funciones-util/editar-un-registro';
|
|
18
18
|
import { contarRegistros } from './funciones-util/contar-registros';
|
|
19
19
|
import { buscarWhereOr } from './funciones-util/buscar-where-or';
|
|
20
|
+
import { PrincipalFindWhereOrOptions } from './principal.find-many-where-or';
|
|
20
21
|
const io = require('socket.io-client');
|
|
21
22
|
export class PrincipalGateway {
|
|
22
23
|
constructor(_ip, _namespace, _secreto, _funciones, _configuracionBroadcast, _funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
|
|
@@ -24,7 +25,7 @@ export class PrincipalGateway {
|
|
|
24
25
|
crearUno: 'Registro inválido',
|
|
25
26
|
actualizarUno: 'Error al actualizar',
|
|
26
27
|
eliminarUno: 'Error al eliminar'
|
|
27
|
-
}, contexto, _funcionesMiddleware = {}) {
|
|
28
|
+
}, contexto, _funcionesMiddleware = {}, activarPoliticasDeSeguridad = true, activarTriggersDeControlador = true) {
|
|
28
29
|
this._ip = _ip;
|
|
29
30
|
this._namespace = _namespace;
|
|
30
31
|
this._secreto = _secreto;
|
|
@@ -38,6 +39,8 @@ export class PrincipalGateway {
|
|
|
38
39
|
this._mensajes = _mensajes;
|
|
39
40
|
this.contexto = contexto;
|
|
40
41
|
this._funcionesMiddleware = _funcionesMiddleware;
|
|
42
|
+
this.activarPoliticasDeSeguridad = activarPoliticasDeSeguridad;
|
|
43
|
+
this.activarTriggersDeControlador = activarTriggersDeControlador;
|
|
41
44
|
}
|
|
42
45
|
afterInit(server) {
|
|
43
46
|
console.log('Init ' + this._namespace);
|
|
@@ -106,20 +109,26 @@ export class PrincipalGateway {
|
|
|
106
109
|
const objetoPoliticasDeSeguridad = {
|
|
107
110
|
funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
|
|
108
111
|
};
|
|
112
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
113
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
114
|
+
}
|
|
109
115
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
110
116
|
return puedeRealizarAccion$
|
|
111
117
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
112
118
|
if (puedeRealizarAccion) {
|
|
113
|
-
return from(buscarVariosRegistros(datos.criterioBusqueda, PrincipalFindManyOptions, this._skip, this._take, this._servicio));
|
|
119
|
+
return from(buscarVariosRegistros(datos.criterioBusqueda, PrincipalFindManyOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.findAllBefore, this));
|
|
114
120
|
}
|
|
115
121
|
else {
|
|
116
122
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
117
123
|
}
|
|
118
|
-
}), map((respuesta) => {
|
|
124
|
+
}), map(async (respuesta) => {
|
|
119
125
|
if (respuesta.error) {
|
|
120
126
|
return respuesta;
|
|
121
127
|
}
|
|
122
128
|
else {
|
|
129
|
+
if (this._funcionesMiddleware.findAllAfter && this.activarTriggersDeControlador) {
|
|
130
|
+
respuesta = await this._funcionesMiddleware.findAllAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
131
|
+
}
|
|
123
132
|
return { data: respuesta };
|
|
124
133
|
}
|
|
125
134
|
}));
|
|
@@ -134,20 +143,26 @@ export class PrincipalGateway {
|
|
|
134
143
|
const objetoPoliticasDeSeguridad = {
|
|
135
144
|
funciones: this._funcionesSeguridad.findWhereOr ? this._funcionesSeguridad.findWhereOr : []
|
|
136
145
|
};
|
|
146
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
147
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
148
|
+
}
|
|
137
149
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
138
150
|
return puedeRealizarAccion$
|
|
139
151
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
140
152
|
if (puedeRealizarAccion) {
|
|
141
|
-
return from(buscarWhereOr(datos.criterioBusqueda,
|
|
153
|
+
return from(buscarWhereOr(datos.criterioBusqueda, PrincipalFindWhereOrOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.findWhereOrBefore, this));
|
|
142
154
|
}
|
|
143
155
|
else {
|
|
144
156
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
145
157
|
}
|
|
146
|
-
}), map((respuesta) => {
|
|
158
|
+
}), map(async (respuesta) => {
|
|
147
159
|
if (respuesta.error) {
|
|
148
160
|
return respuesta;
|
|
149
161
|
}
|
|
150
162
|
else {
|
|
163
|
+
if (this._funcionesMiddleware.findWhereOrAfter && this.activarTriggersDeControlador) {
|
|
164
|
+
respuesta = await this._funcionesMiddleware.findWhereOrAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
165
|
+
}
|
|
151
166
|
return { data: respuesta };
|
|
152
167
|
}
|
|
153
168
|
}));
|
|
@@ -162,20 +177,26 @@ export class PrincipalGateway {
|
|
|
162
177
|
const objetoPoliticasDeSeguridad = {
|
|
163
178
|
funciones: this._funcionesSeguridad.count ? this._funcionesSeguridad.count : []
|
|
164
179
|
};
|
|
180
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
181
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
182
|
+
}
|
|
165
183
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
166
184
|
return puedeRealizarAccion$
|
|
167
185
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
168
186
|
if (puedeRealizarAccion) {
|
|
169
|
-
return from(contarRegistros(datos.criterioBusqueda, PrincipalFindManyOptions, this._skip, this._take, this._servicio));
|
|
187
|
+
return from(contarRegistros(datos.criterioBusqueda, PrincipalFindManyOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.countBefore, this));
|
|
170
188
|
}
|
|
171
189
|
else {
|
|
172
190
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
173
191
|
}
|
|
174
|
-
}), map((respuesta) => {
|
|
192
|
+
}), map(async (respuesta) => {
|
|
175
193
|
if (respuesta.error) {
|
|
176
194
|
return respuesta;
|
|
177
195
|
}
|
|
178
196
|
else {
|
|
197
|
+
if (this._funcionesMiddleware.countAfter && this.activarTriggersDeControlador) {
|
|
198
|
+
respuesta = await this._funcionesMiddleware.countAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
199
|
+
}
|
|
179
200
|
return { data: respuesta };
|
|
180
201
|
}
|
|
181
202
|
}));
|
|
@@ -183,12 +204,16 @@ export class PrincipalGateway {
|
|
|
183
204
|
requestFindOne(socketCliente, datos) {
|
|
184
205
|
try {
|
|
185
206
|
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
186
|
-
return of(
|
|
207
|
+
return of(new Promise((res) => {
|
|
208
|
+
res({ error: 400, mensaje: this._mensajes.encontrarUno });
|
|
209
|
+
}));
|
|
187
210
|
}
|
|
188
211
|
}
|
|
189
212
|
catch (e) {
|
|
190
213
|
console.error(e);
|
|
191
|
-
return of(
|
|
214
|
+
return of(new Promise((res) => {
|
|
215
|
+
res({ error: 400, mensaje: this._mensajes.encontrarUno });
|
|
216
|
+
}));
|
|
192
217
|
}
|
|
193
218
|
const tipoPoliticaSeguridad = {
|
|
194
219
|
socketio: {
|
|
@@ -199,27 +224,35 @@ export class PrincipalGateway {
|
|
|
199
224
|
const objetoPoliticasDeSeguridad = {
|
|
200
225
|
funciones: this._funcionesSeguridad.findOne ? this._funcionesSeguridad.findOne : []
|
|
201
226
|
};
|
|
227
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
228
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
229
|
+
}
|
|
202
230
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
203
231
|
return puedeRealizarAccion$
|
|
204
232
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
205
233
|
if (puedeRealizarAccion) {
|
|
206
|
-
return from(buscarRegistroPorId(PrincipalId, datos.id, this._servicio, this._mensajes.encontrarUno, true));
|
|
234
|
+
return from(buscarRegistroPorId(PrincipalId, datos.id, this._servicio, this._mensajes.encontrarUno, true, tipoPoliticaSeguridad, this._funcionesMiddleware.findOneBefore, this));
|
|
207
235
|
}
|
|
208
236
|
else {
|
|
209
237
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
210
238
|
}
|
|
211
|
-
}), map((respuesta) => {
|
|
239
|
+
}), map(async (respuesta) => {
|
|
212
240
|
if (respuesta.error) {
|
|
213
241
|
return respuesta;
|
|
214
242
|
}
|
|
215
243
|
else {
|
|
244
|
+
if (this._funcionesMiddleware.findOneAfter && this.activarTriggersDeControlador) {
|
|
245
|
+
respuesta = await this._funcionesMiddleware.findOneAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
246
|
+
}
|
|
216
247
|
return { data: respuesta };
|
|
217
248
|
}
|
|
218
249
|
}));
|
|
219
250
|
}
|
|
220
251
|
requestCreateOne(socketCliente, datos) {
|
|
221
252
|
if (!datos.nuevoRegistro || typeof datos.nuevoRegistro !== 'object') {
|
|
222
|
-
return of(
|
|
253
|
+
return of(new Promise((res) => {
|
|
254
|
+
res({ error: 400, mensaje: this._mensajes.crearUno });
|
|
255
|
+
}));
|
|
223
256
|
}
|
|
224
257
|
const tipoPoliticaSeguridad = {
|
|
225
258
|
socketio: {
|
|
@@ -230,6 +263,9 @@ export class PrincipalGateway {
|
|
|
230
263
|
const objetoPoliticasDeSeguridad = {
|
|
231
264
|
funciones: this._funcionesSeguridad.createOne ? this._funcionesSeguridad.createOne : []
|
|
232
265
|
};
|
|
266
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
267
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
268
|
+
}
|
|
233
269
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
234
270
|
return puedeRealizarAccion$
|
|
235
271
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
@@ -239,13 +275,13 @@ export class PrincipalGateway {
|
|
|
239
275
|
else {
|
|
240
276
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
241
277
|
}
|
|
242
|
-
}), map((respuesta) => {
|
|
278
|
+
}), map(async (respuesta) => {
|
|
243
279
|
if (respuesta.error) {
|
|
244
280
|
return respuesta;
|
|
245
281
|
}
|
|
246
282
|
else {
|
|
247
|
-
if (this._funcionesMiddleware.createAfter) {
|
|
248
|
-
respuesta = this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
283
|
+
if (this._funcionesMiddleware.createAfter && this.activarTriggersDeControlador) {
|
|
284
|
+
respuesta = await this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
249
285
|
}
|
|
250
286
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.createOne;
|
|
251
287
|
if (tieneConfiguracionDeBroadcast) {
|
|
@@ -269,12 +305,16 @@ export class PrincipalGateway {
|
|
|
269
305
|
requestDeleteOne(socketCliente, datos) {
|
|
270
306
|
try {
|
|
271
307
|
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
272
|
-
return of(
|
|
308
|
+
return of(new Promise((res) => {
|
|
309
|
+
res({ error: 400, mensaje: this._mensajes.eliminarUno });
|
|
310
|
+
}));
|
|
273
311
|
}
|
|
274
312
|
}
|
|
275
313
|
catch (e) {
|
|
276
314
|
console.error(e);
|
|
277
|
-
return of(
|
|
315
|
+
return of(new Promise((res) => {
|
|
316
|
+
res({ error: 400, mensaje: this._mensajes.eliminarUno });
|
|
317
|
+
}));
|
|
278
318
|
}
|
|
279
319
|
const tipoPoliticaSeguridad = {
|
|
280
320
|
socketio: {
|
|
@@ -285,6 +325,9 @@ export class PrincipalGateway {
|
|
|
285
325
|
const objetoPoliticasDeSeguridad = {
|
|
286
326
|
funciones: this._funcionesSeguridad.deleteOne ? this._funcionesSeguridad.deleteOne : []
|
|
287
327
|
};
|
|
328
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
329
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
330
|
+
}
|
|
288
331
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
289
332
|
return puedeRealizarAccion$
|
|
290
333
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
@@ -294,13 +337,13 @@ export class PrincipalGateway {
|
|
|
294
337
|
else {
|
|
295
338
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
296
339
|
}
|
|
297
|
-
}), map((respuesta) => {
|
|
340
|
+
}), map(async (respuesta) => {
|
|
298
341
|
if (respuesta.error) {
|
|
299
342
|
return respuesta;
|
|
300
343
|
}
|
|
301
344
|
else {
|
|
302
|
-
if (this._funcionesMiddleware.deleteAfter) {
|
|
303
|
-
respuesta = this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
345
|
+
if (this._funcionesMiddleware.deleteAfter && this.activarTriggersDeControlador) {
|
|
346
|
+
respuesta = await this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
304
347
|
}
|
|
305
348
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.deleteOne;
|
|
306
349
|
if (tieneConfiguracionDeBroadcast) {
|
|
@@ -323,16 +366,22 @@ export class PrincipalGateway {
|
|
|
323
366
|
}
|
|
324
367
|
requestUpdateOne(socketCliente, datos) {
|
|
325
368
|
if (!datos.registroaActualizar || typeof datos.registroaActualizar !== 'object') {
|
|
326
|
-
return of(
|
|
369
|
+
return of(new Promise((res) => {
|
|
370
|
+
res({ error: 400, mensaje: this._mensajes.actualizarUno });
|
|
371
|
+
}));
|
|
327
372
|
}
|
|
328
373
|
try {
|
|
329
374
|
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
330
|
-
return of(
|
|
375
|
+
return of(new Promise((res) => {
|
|
376
|
+
res({ error: 400, mensaje: this._mensajes.actualizarUno });
|
|
377
|
+
}));
|
|
331
378
|
}
|
|
332
379
|
}
|
|
333
380
|
catch (e) {
|
|
334
381
|
console.error(e);
|
|
335
|
-
return of(
|
|
382
|
+
return of(new Promise((res) => {
|
|
383
|
+
res({ error: 400, mensaje: this._mensajes.actualizarUno });
|
|
384
|
+
}));
|
|
336
385
|
}
|
|
337
386
|
const tipoPoliticaSeguridad = {
|
|
338
387
|
socketio: {
|
|
@@ -343,6 +392,9 @@ export class PrincipalGateway {
|
|
|
343
392
|
const objetoPoliticasDeSeguridad = {
|
|
344
393
|
funciones: this._funcionesSeguridad.updateOne ? this._funcionesSeguridad.updateOne : []
|
|
345
394
|
};
|
|
395
|
+
if (!this.activarPoliticasDeSeguridad) {
|
|
396
|
+
objetoPoliticasDeSeguridad.funciones = [];
|
|
397
|
+
}
|
|
346
398
|
const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
|
|
347
399
|
return puedeRealizarAccion$
|
|
348
400
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
@@ -352,13 +404,13 @@ export class PrincipalGateway {
|
|
|
352
404
|
else {
|
|
353
405
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
354
406
|
}
|
|
355
|
-
}), map((respuesta) => {
|
|
407
|
+
}), map(async (respuesta) => {
|
|
356
408
|
if (respuesta.error) {
|
|
357
409
|
return respuesta;
|
|
358
410
|
}
|
|
359
411
|
else {
|
|
360
|
-
if (this._funcionesMiddleware.updateAfter) {
|
|
361
|
-
respuesta = this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
412
|
+
if (this._funcionesMiddleware.updateAfter && this.activarTriggersDeControlador) {
|
|
413
|
+
respuesta = await this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
362
414
|
}
|
|
363
415
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.updateOne;
|
|
364
416
|
if (tieneConfiguracionDeBroadcast) {
|
|
@@ -404,4 +456,4 @@ __decorate([
|
|
|
404
456
|
__decorate([
|
|
405
457
|
SubscribeMessage('requestUpdateOne')
|
|
406
458
|
], PrincipalGateway.prototype, "requestUpdateOne", null);
|
|
407
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUd2QyxNQUFNO0lBS0osWUFBNkIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLHVCQUFzRCxFQUN0RCxtQkFBdUMsRUFDdkMsU0FBUyxFQUNULElBQWtCLEVBQ2xCLFFBQVEsQ0FB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
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUd2QyxNQUFNO0lBS0osWUFBNkIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLHVCQUFzRCxFQUN0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
|
|
@@ -3,7 +3,7 @@ import { DtoInterface } from './interfaces-util/dto';
|
|
|
3
3
|
import { FuncionesSeguridad } from './interfaces-util/funciones-seguridad';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
|
|
6
|
-
export declare abstract class PrincipalResolver<CreateDto, UpdateDto> {
|
|
6
|
+
export declare abstract class PrincipalResolver<CreateDto = any, UpdateDto = any, Entity = any> {
|
|
7
7
|
private readonly _funcionesSeguridad;
|
|
8
8
|
private readonly _servicio;
|
|
9
9
|
private readonly _dto;
|
|
@@ -12,12 +12,14 @@ export declare abstract class PrincipalResolver<CreateDto, UpdateDto> {
|
|
|
12
12
|
private readonly _mensajes;
|
|
13
13
|
protected contexto: any;
|
|
14
14
|
private readonly _funcionesMiddleware;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
private activarPoliticasDeSeguridad;
|
|
16
|
+
private activarTriggersDeControlador;
|
|
17
|
+
constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalResolver<CreateDto, UpdateDto>, Entity>, activarPoliticasDeSeguridad?: boolean, activarTriggersDeControlador?: boolean);
|
|
18
|
+
findAll(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<Promise<any>>>;
|
|
19
|
+
findWhereOr(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<Promise<any>>>;
|
|
20
|
+
count(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<Promise<any>>>;
|
|
21
|
+
findOneById(id: any, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<Promise<any>>>;
|
|
22
|
+
createOne(nuevoRegistro: any, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<Promise<any>>>;
|
|
21
23
|
deleteOne(id: any, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<any>>;
|
|
22
24
|
updateOne(id: any, registroAActualizar: any, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<any>>;
|
|
23
25
|
}
|