@manticore-labs/nest 0.0.80 → 0.0.82
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 +198 -61
- package/build/main/index.d.ts +2 -1
- package/build/main/index.js +1 -1
- package/build/main/lib/funciones-util/crear-un-registro.d.ts +2 -1
- package/build/main/lib/funciones-util/crear-un-registro.js +6 -3
- package/build/main/lib/funciones-util/editar-un-registro.d.ts +2 -1
- package/build/main/lib/funciones-util/editar-un-registro.js +6 -3
- package/build/main/lib/funciones-util/eliminar-uno.d.ts +2 -1
- package/build/main/lib/funciones-util/eliminar-uno.js +5 -2
- package/build/main/lib/google-cloud/google-cloud-storage.service.d.ts +1 -1
- package/build/main/lib/google-cloud/google-cloud-storage.service.js +32 -24
- package/build/main/lib/interfaces-util/funciones-middleware.d.ts +9 -0
- package/build/main/lib/interfaces-util/funciones-middleware.js +3 -0
- package/build/main/lib/principal.controller.d.ts +6 -4
- package/build/main/lib/principal.controller.js +16 -6
- package/build/main/lib/principal.gateway.d.ts +11 -9
- package/build/main/lib/principal.gateway.js +19 -9
- package/build/main/lib/principal.resolver.d.ts +7 -5
- package/build/main/lib/principal.resolver.js +15 -5
- package/build/module/index.d.ts +2 -1
- package/build/module/index.js +1 -1
- package/build/module/lib/funciones-util/crear-un-registro.d.ts +2 -1
- package/build/module/lib/funciones-util/crear-un-registro.js +6 -3
- package/build/module/lib/funciones-util/editar-un-registro.d.ts +2 -1
- package/build/module/lib/funciones-util/editar-un-registro.js +6 -3
- package/build/module/lib/funciones-util/eliminar-uno.d.ts +2 -1
- package/build/module/lib/funciones-util/eliminar-uno.js +5 -2
- package/build/module/lib/google-cloud/google-cloud-storage.service.d.ts +1 -1
- package/build/module/lib/google-cloud/google-cloud-storage.service.js +32 -24
- package/build/module/lib/interfaces-util/funciones-middleware.d.ts +9 -0
- package/build/module/lib/interfaces-util/funciones-middleware.js +1 -0
- package/build/module/lib/principal.controller.d.ts +6 -4
- package/build/module/lib/principal.controller.js +30 -20
- package/build/module/lib/principal.gateway.d.ts +11 -9
- package/build/module/lib/principal.gateway.js +32 -22
- package/build/module/lib/principal.resolver.d.ts +7 -5
- package/build/module/lib/principal.resolver.js +29 -19
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { FuncionesGateway } from
|
|
2
|
-
import { RespuestaGeneralGatewayInterface } from
|
|
3
|
-
import { FuncionesSeguridad } from
|
|
4
|
-
import { Observable } from
|
|
5
|
-
import { MensajesController } from
|
|
6
|
-
import { DtoInterface } from
|
|
7
|
-
import { BroadcastJoinGatewayInterface } from
|
|
8
|
-
|
|
1
|
+
import { FuncionesGateway } from './interfaces-util/funciones.gateway';
|
|
2
|
+
import { RespuestaGeneralGatewayInterface } from './interfaces-util/respuesta-general.gateway';
|
|
3
|
+
import { FuncionesSeguridad } from './interfaces-util/funciones-seguridad';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { MensajesController } from './interfaces-util/mensajes-controller';
|
|
6
|
+
import { DtoInterface } from './interfaces-util/dto';
|
|
7
|
+
import { BroadcastJoinGatewayInterface } from './interfaces-util/broadcast-join.gateway';
|
|
8
|
+
import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
|
|
9
|
+
export declare abstract class PrincipalGateway<CreateDto, UpdateDto> {
|
|
9
10
|
private readonly _ip;
|
|
10
11
|
private readonly _namespace;
|
|
11
12
|
private readonly _secreto;
|
|
@@ -18,9 +19,10 @@ export declare abstract class PrincipalGateway {
|
|
|
18
19
|
private readonly _take;
|
|
19
20
|
private readonly _mensajes;
|
|
20
21
|
protected contexto: any;
|
|
22
|
+
private readonly _funcionesMiddleware;
|
|
21
23
|
socket: any;
|
|
22
24
|
socketId: string;
|
|
23
|
-
constructor(_ip: string, _namespace: string, _secreto: string, _funciones: FuncionesGateway, _configuracionBroadcast: BroadcastJoinGatewayInterface, _funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any);
|
|
25
|
+
constructor(_ip: string, _namespace: string, _secreto: string, _funciones: FuncionesGateway, _configuracionBroadcast: BroadcastJoinGatewayInterface, _funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalGateway<CreateDto, UpdateDto>>);
|
|
24
26
|
afterInit(server: any): void;
|
|
25
27
|
handleConnection(client: any, ...args: any[]): void;
|
|
26
28
|
handleDisconnect(client: any): void;
|
|
@@ -4,19 +4,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { SubscribeMessage } from
|
|
8
|
-
import { aplicarPoliticasDeSeguridad } from
|
|
9
|
-
import { of, from } from
|
|
10
|
-
import { mergeMap, map } from
|
|
11
|
-
import { buscarVariosRegistros } from
|
|
12
|
-
import { PrincipalFindManyOptions } from
|
|
13
|
-
import { buscarRegistroPorId } from
|
|
14
|
-
import { PrincipalId } from
|
|
15
|
-
import { crearUnRegistro } from
|
|
16
|
-
import { eliminarUno } from
|
|
17
|
-
import { editarUnRegistro } from
|
|
18
|
-
import { contarRegistros } from
|
|
19
|
-
import { buscarWhereOr } from
|
|
7
|
+
import { SubscribeMessage } from '@nestjs/websockets';
|
|
8
|
+
import { aplicarPoliticasDeSeguridad } from './seguridad/aplicar-politicas-de-seguridad';
|
|
9
|
+
import { of, from } from 'rxjs';
|
|
10
|
+
import { mergeMap, map } from 'rxjs/operators';
|
|
11
|
+
import { buscarVariosRegistros } from './funciones-util/buscar-registro';
|
|
12
|
+
import { PrincipalFindManyOptions } from './principal.find-many-options';
|
|
13
|
+
import { buscarRegistroPorId } from './funciones-util/buscar-un-registro-por-id';
|
|
14
|
+
import { PrincipalId } from './principal.id';
|
|
15
|
+
import { crearUnRegistro } from './funciones-util/crear-un-registro';
|
|
16
|
+
import { eliminarUno } from './funciones-util/eliminar-uno';
|
|
17
|
+
import { editarUnRegistro } from './funciones-util/editar-un-registro';
|
|
18
|
+
import { contarRegistros } from './funciones-util/contar-registros';
|
|
19
|
+
import { buscarWhereOr } from './funciones-util/buscar-where-or';
|
|
20
20
|
const io = require('socket.io-client');
|
|
21
21
|
export class PrincipalGateway {
|
|
22
22
|
constructor(_ip, _namespace, _secreto, _funciones, _configuracionBroadcast, _funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
|
|
@@ -24,7 +24,7 @@ export class PrincipalGateway {
|
|
|
24
24
|
crearUno: 'Registro inválido',
|
|
25
25
|
actualizarUno: 'Error al actualizar',
|
|
26
26
|
eliminarUno: 'Error al eliminar'
|
|
27
|
-
}, contexto) {
|
|
27
|
+
}, contexto, _funcionesMiddleware = {}) {
|
|
28
28
|
this._ip = _ip;
|
|
29
29
|
this._namespace = _namespace;
|
|
30
30
|
this._secreto = _secreto;
|
|
@@ -37,6 +37,7 @@ export class PrincipalGateway {
|
|
|
37
37
|
this._take = _take;
|
|
38
38
|
this._mensajes = _mensajes;
|
|
39
39
|
this.contexto = contexto;
|
|
40
|
+
this._funcionesMiddleware = _funcionesMiddleware;
|
|
40
41
|
}
|
|
41
42
|
afterInit(server) {
|
|
42
43
|
console.log('Init ' + this._namespace);
|
|
@@ -181,7 +182,7 @@ export class PrincipalGateway {
|
|
|
181
182
|
}
|
|
182
183
|
requestFindOne(socketCliente, datos) {
|
|
183
184
|
try {
|
|
184
|
-
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() ===
|
|
185
|
+
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
185
186
|
return of({ error: 400, mensaje: this._mensajes.encontrarUno });
|
|
186
187
|
}
|
|
187
188
|
}
|
|
@@ -233,7 +234,7 @@ export class PrincipalGateway {
|
|
|
233
234
|
return puedeRealizarAccion$
|
|
234
235
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
235
236
|
if (puedeRealizarAccion) {
|
|
236
|
-
return from(crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, true));
|
|
237
|
+
return from(crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, tipoPoliticaSeguridad, this._funcionesMiddleware.createBefore, this, true));
|
|
237
238
|
}
|
|
238
239
|
else {
|
|
239
240
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -243,6 +244,9 @@ export class PrincipalGateway {
|
|
|
243
244
|
return respuesta;
|
|
244
245
|
}
|
|
245
246
|
else {
|
|
247
|
+
if (this._funcionesMiddleware.createAfter) {
|
|
248
|
+
respuesta = this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
249
|
+
}
|
|
246
250
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.createOne;
|
|
247
251
|
if (tieneConfiguracionDeBroadcast) {
|
|
248
252
|
const hacerBroadcast = this._configuracionBroadcast.createOne.broadcast;
|
|
@@ -264,7 +268,7 @@ export class PrincipalGateway {
|
|
|
264
268
|
}
|
|
265
269
|
requestDeleteOne(socketCliente, datos) {
|
|
266
270
|
try {
|
|
267
|
-
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() ===
|
|
271
|
+
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
268
272
|
return of({ error: 400, mensaje: this._mensajes.encontrarUno });
|
|
269
273
|
}
|
|
270
274
|
}
|
|
@@ -285,7 +289,7 @@ export class PrincipalGateway {
|
|
|
285
289
|
return puedeRealizarAccion$
|
|
286
290
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
287
291
|
if (puedeRealizarAccion) {
|
|
288
|
-
return from(eliminarUno(datos.id, PrincipalId, this._servicio, this._mensajes.eliminarUno, true));
|
|
292
|
+
return from(eliminarUno(datos.id, PrincipalId, this._servicio, this._mensajes.eliminarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.deleteBefore, this, true));
|
|
289
293
|
}
|
|
290
294
|
else {
|
|
291
295
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -295,6 +299,9 @@ export class PrincipalGateway {
|
|
|
295
299
|
return respuesta;
|
|
296
300
|
}
|
|
297
301
|
else {
|
|
302
|
+
if (this._funcionesMiddleware.deleteAfter) {
|
|
303
|
+
respuesta = this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
304
|
+
}
|
|
298
305
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.deleteOne;
|
|
299
306
|
if (tieneConfiguracionDeBroadcast) {
|
|
300
307
|
const hacerBroadcast = this._configuracionBroadcast.deleteOne.broadcast;
|
|
@@ -319,7 +326,7 @@ export class PrincipalGateway {
|
|
|
319
326
|
return of({ error: 400, mensaje: this._mensajes.crearUno });
|
|
320
327
|
}
|
|
321
328
|
try {
|
|
322
|
-
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() ===
|
|
329
|
+
if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
|
|
323
330
|
return of({ error: 400, mensaje: this._mensajes.encontrarUno });
|
|
324
331
|
}
|
|
325
332
|
}
|
|
@@ -340,7 +347,7 @@ export class PrincipalGateway {
|
|
|
340
347
|
return puedeRealizarAccion$
|
|
341
348
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
342
349
|
if (puedeRealizarAccion) {
|
|
343
|
-
return from(editarUnRegistro(datos.id, datos.registroaActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, true));
|
|
350
|
+
return from(editarUnRegistro(datos.id, datos.registroaActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.updateBefore, this, true));
|
|
344
351
|
}
|
|
345
352
|
else {
|
|
346
353
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -350,6 +357,9 @@ export class PrincipalGateway {
|
|
|
350
357
|
return respuesta;
|
|
351
358
|
}
|
|
352
359
|
else {
|
|
360
|
+
if (this._funcionesMiddleware.updateAfter) {
|
|
361
|
+
respuesta = this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
|
|
362
|
+
}
|
|
353
363
|
const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.updateOne;
|
|
354
364
|
if (tieneConfiguracionDeBroadcast) {
|
|
355
365
|
const hacerBroadcast = this._configuracionBroadcast.updateOne.broadcast;
|
|
@@ -361,7 +371,7 @@ export class PrincipalGateway {
|
|
|
361
371
|
.emit('updatedOne', { data: respuesta });
|
|
362
372
|
}
|
|
363
373
|
if (tieneFuncionRoom) {
|
|
364
|
-
console.info('Ejecutando funcion
|
|
374
|
+
console.info('Ejecutando funcion room');
|
|
365
375
|
tieneFuncionRoom(socketCliente, datos, this.contexto);
|
|
366
376
|
}
|
|
367
377
|
}
|
|
@@ -394,4 +404,4 @@ __decorate([
|
|
|
394
404
|
__decorate([
|
|
395
405
|
SubscribeMessage('requestUpdateOne')
|
|
396
406
|
], PrincipalGateway.prototype, "requestUpdateOne", null);
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUd2QyxNQUFNO0lBS0YsWUFBNkIsR0FBVyxFQUNuQixVQUFrQixFQUNsQixRQUFnQixFQUNoQixVQUE0QixFQUM1Qix1QkFBc0QsRUFDdEQsbUJBQXVDLEVBQ3ZDLFNBQVMsRUFDVCxJQUFrQixFQUNsQixRQUFRLENB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
|
|
407
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUd2QyxNQUFNO0lBS0osWUFBNkIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLHVCQUFzRCxFQUN0RCxtQkFBdUMsRUFDdkMsU0FBUyxFQUNULElBQWtCLEVBQ2xCLFFBQVEsQ0FB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
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { MensajesController } from
|
|
2
|
-
import { DtoInterface } from
|
|
3
|
-
import { FuncionesSeguridad } from
|
|
1
|
+
import { MensajesController } from './interfaces-util/mensajes-controller';
|
|
2
|
+
import { DtoInterface } from './interfaces-util/dto';
|
|
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
7
|
private readonly _funcionesSeguridad;
|
|
7
8
|
private readonly _servicio;
|
|
8
9
|
private readonly _dto;
|
|
@@ -10,7 +11,8 @@ export declare abstract class PrincipalResolver {
|
|
|
10
11
|
private readonly _take;
|
|
11
12
|
private readonly _mensajes;
|
|
12
13
|
protected contexto: any;
|
|
13
|
-
|
|
14
|
+
private readonly _funcionesMiddleware;
|
|
15
|
+
constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalResolver<CreateDto, UpdateDto>>);
|
|
14
16
|
findAll(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<any>>;
|
|
15
17
|
findWhereOr(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<any>>;
|
|
16
18
|
count(criterioBusqueda: string, args: any, context: any, info: any, parent: any, root: any): Promise<Observable<any>>;
|
|
@@ -7,28 +7,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import { Args, Context, Info, Parent, Root } from
|
|
11
|
-
import { PrincipalFindManyOptions } from
|
|
12
|
-
import { buscarVariosRegistros } from
|
|
13
|
-
import { buscarRegistroPorId } from
|
|
14
|
-
import { PrincipalId } from
|
|
15
|
-
import { BadRequestException, ForbiddenException, InternalServerErrorException, NotFoundException } from
|
|
16
|
-
import { crearUnRegistro } from
|
|
17
|
-
import { eliminarUno } from
|
|
18
|
-
import { editarUnRegistro } from
|
|
10
|
+
import { Args, Context, Info, Parent, Root } from '@nestjs/graphql';
|
|
11
|
+
import { PrincipalFindManyOptions } from './principal.find-many-options';
|
|
12
|
+
import { buscarVariosRegistros } from './funciones-util/buscar-registro';
|
|
13
|
+
import { buscarRegistroPorId } from './funciones-util/buscar-un-registro-por-id';
|
|
14
|
+
import { PrincipalId } from './principal.id';
|
|
15
|
+
import { BadRequestException, ForbiddenException, InternalServerErrorException, NotFoundException } from '@nestjs/common';
|
|
16
|
+
import { crearUnRegistro } from './funciones-util/crear-un-registro';
|
|
17
|
+
import { eliminarUno } from './funciones-util/eliminar-uno';
|
|
18
|
+
import { editarUnRegistro } from './funciones-util/editar-un-registro';
|
|
19
19
|
import { from, of } from 'rxjs';
|
|
20
|
-
import { aplicarPoliticasDeSeguridad } from
|
|
21
|
-
import { mergeMap, map } from
|
|
22
|
-
import { contarRegistros } from
|
|
23
|
-
import { buscarWhereOr } from
|
|
24
|
-
import { PrincipalFindWhereOrOptions } from
|
|
20
|
+
import { aplicarPoliticasDeSeguridad } from './seguridad/aplicar-politicas-de-seguridad';
|
|
21
|
+
import { mergeMap, map } from 'rxjs/operators';
|
|
22
|
+
import { contarRegistros } from './funciones-util/contar-registros';
|
|
23
|
+
import { buscarWhereOr } from './funciones-util/buscar-where-or';
|
|
24
|
+
import { PrincipalFindWhereOrOptions } from './principal.find-many-where-or';
|
|
25
25
|
export class PrincipalResolver {
|
|
26
26
|
constructor(_funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
|
|
27
27
|
encontrarUno: 'Id incorrecto',
|
|
28
28
|
crearUno: 'Registro inválido',
|
|
29
29
|
actualizarUno: 'Error al actualizar',
|
|
30
30
|
eliminarUno: 'Error al eliminar'
|
|
31
|
-
}, contexto) {
|
|
31
|
+
}, contexto, _funcionesMiddleware = {}) {
|
|
32
32
|
this._funcionesSeguridad = _funcionesSeguridad;
|
|
33
33
|
this._servicio = _servicio;
|
|
34
34
|
this._dto = _dto;
|
|
@@ -36,6 +36,7 @@ export class PrincipalResolver {
|
|
|
36
36
|
this._take = _take;
|
|
37
37
|
this._mensajes = _mensajes;
|
|
38
38
|
this.contexto = contexto;
|
|
39
|
+
this._funcionesMiddleware = _funcionesMiddleware;
|
|
39
40
|
}
|
|
40
41
|
// @Query('findAll')
|
|
41
42
|
async findAll(criterioBusqueda, args, context, info, parent, root) {
|
|
@@ -188,7 +189,7 @@ export class PrincipalResolver {
|
|
|
188
189
|
return puedeRealizarAccion$
|
|
189
190
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
190
191
|
if (puedeRealizarAccion) {
|
|
191
|
-
return from(crearUnRegistro(nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno));
|
|
192
|
+
return from(crearUnRegistro(nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, tipoPoliticaSeguridad, this._funcionesMiddleware.createBefore, this, false));
|
|
192
193
|
}
|
|
193
194
|
else {
|
|
194
195
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -198,6 +199,9 @@ export class PrincipalResolver {
|
|
|
198
199
|
throw new ForbiddenException(respuesta);
|
|
199
200
|
}
|
|
200
201
|
else {
|
|
202
|
+
if (this._funcionesMiddleware.createAfter) {
|
|
203
|
+
respuesta = this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
|
|
204
|
+
}
|
|
201
205
|
return respuesta;
|
|
202
206
|
}
|
|
203
207
|
}));
|
|
@@ -221,7 +225,7 @@ export class PrincipalResolver {
|
|
|
221
225
|
return puedeRealizarAccion$
|
|
222
226
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
223
227
|
if (puedeRealizarAccion) {
|
|
224
|
-
return from(eliminarUno(id, PrincipalId, this._servicio, this._mensajes.eliminarUno,
|
|
228
|
+
return from(eliminarUno(id, PrincipalId, this._servicio, this._mensajes.eliminarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.deleteBefore, this, false));
|
|
225
229
|
}
|
|
226
230
|
else {
|
|
227
231
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -240,6 +244,9 @@ export class PrincipalResolver {
|
|
|
240
244
|
}
|
|
241
245
|
}
|
|
242
246
|
else {
|
|
247
|
+
if (this._funcionesMiddleware.deleteAfter) {
|
|
248
|
+
respuesta = this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, +id);
|
|
249
|
+
}
|
|
243
250
|
return respuesta;
|
|
244
251
|
}
|
|
245
252
|
}));
|
|
@@ -266,7 +273,7 @@ export class PrincipalResolver {
|
|
|
266
273
|
return puedeRealizarAccion$
|
|
267
274
|
.pipe(mergeMap((puedeRealizarAccion) => {
|
|
268
275
|
if (puedeRealizarAccion) {
|
|
269
|
-
return from(editarUnRegistro(id, registroAActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno));
|
|
276
|
+
return from(editarUnRegistro(id, registroAActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.updateBefore, this, false));
|
|
270
277
|
}
|
|
271
278
|
else {
|
|
272
279
|
return of({ error: 403, mensaje: 'No tiene permisos' });
|
|
@@ -276,6 +283,9 @@ export class PrincipalResolver {
|
|
|
276
283
|
throw new ForbiddenException(respuesta);
|
|
277
284
|
}
|
|
278
285
|
else {
|
|
286
|
+
if (this._funcionesMiddleware.updateAfter) {
|
|
287
|
+
respuesta = this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, id);
|
|
288
|
+
}
|
|
279
289
|
return respuesta;
|
|
280
290
|
}
|
|
281
291
|
}));
|
|
@@ -338,4 +348,4 @@ __decorate([
|
|
|
338
348
|
__param(5, Parent()),
|
|
339
349
|
__param(6, Root())
|
|
340
350
|
], PrincipalResolver.prototype, "updateOne", null);
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcmluY2lwYWwucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd2RSxPQUFPLEVBQUMsSUFBSSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFF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
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcmluY2lwYWwucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHdkUsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFD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
|