@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.
Files changed (38) hide show
  1. package/.idea/workspace.xml +198 -61
  2. package/build/main/index.d.ts +2 -1
  3. package/build/main/index.js +1 -1
  4. package/build/main/lib/funciones-util/crear-un-registro.d.ts +2 -1
  5. package/build/main/lib/funciones-util/crear-un-registro.js +6 -3
  6. package/build/main/lib/funciones-util/editar-un-registro.d.ts +2 -1
  7. package/build/main/lib/funciones-util/editar-un-registro.js +6 -3
  8. package/build/main/lib/funciones-util/eliminar-uno.d.ts +2 -1
  9. package/build/main/lib/funciones-util/eliminar-uno.js +5 -2
  10. package/build/main/lib/google-cloud/google-cloud-storage.service.d.ts +1 -1
  11. package/build/main/lib/google-cloud/google-cloud-storage.service.js +32 -24
  12. package/build/main/lib/interfaces-util/funciones-middleware.d.ts +9 -0
  13. package/build/main/lib/interfaces-util/funciones-middleware.js +3 -0
  14. package/build/main/lib/principal.controller.d.ts +6 -4
  15. package/build/main/lib/principal.controller.js +16 -6
  16. package/build/main/lib/principal.gateway.d.ts +11 -9
  17. package/build/main/lib/principal.gateway.js +19 -9
  18. package/build/main/lib/principal.resolver.d.ts +7 -5
  19. package/build/main/lib/principal.resolver.js +15 -5
  20. package/build/module/index.d.ts +2 -1
  21. package/build/module/index.js +1 -1
  22. package/build/module/lib/funciones-util/crear-un-registro.d.ts +2 -1
  23. package/build/module/lib/funciones-util/crear-un-registro.js +6 -3
  24. package/build/module/lib/funciones-util/editar-un-registro.d.ts +2 -1
  25. package/build/module/lib/funciones-util/editar-un-registro.js +6 -3
  26. package/build/module/lib/funciones-util/eliminar-uno.d.ts +2 -1
  27. package/build/module/lib/funciones-util/eliminar-uno.js +5 -2
  28. package/build/module/lib/google-cloud/google-cloud-storage.service.d.ts +1 -1
  29. package/build/module/lib/google-cloud/google-cloud-storage.service.js +32 -24
  30. package/build/module/lib/interfaces-util/funciones-middleware.d.ts +9 -0
  31. package/build/module/lib/interfaces-util/funciones-middleware.js +1 -0
  32. package/build/module/lib/principal.controller.d.ts +6 -4
  33. package/build/module/lib/principal.controller.js +30 -20
  34. package/build/module/lib/principal.gateway.d.ts +11 -9
  35. package/build/module/lib/principal.gateway.js +32 -22
  36. package/build/module/lib/principal.resolver.d.ts +7 -5
  37. package/build/module/lib/principal.resolver.js +29 -19
  38. package/package.json +1 -1
@@ -21,33 +21,41 @@ let GoogleCloudStorageService = class GoogleCloudStorageService {
21
21
  this.GCstorage = new Storage();
22
22
  this.bucket = this.GCstorage.bucket(this.nombreBucket);
23
23
  }
24
- uploadAndMakePublic(file) {
25
- return new Promise((resolve, reject) => {
26
- const blob = this.bucket.file(file.originalname);
27
- const blobStream = blob.createWriteStream();
28
- blobStream.on('error', (err) => {
29
- if (this._debug) {
30
- console.error('Error', err);
31
- }
32
- resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
24
+ uploadAndMakePublic(file, reemplazar = false) {
25
+ if (reemplazar) {
26
+ return new Promise((res, rej) => {
27
+ res = res;
28
+ rej();
33
29
  });
34
- blobStream.on('finish', async () => {
35
- const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
36
- try {
37
- await this.bucket
38
- .file(blob.name)
39
- .makePublic();
40
- }
41
- catch (e) {
30
+ }
31
+ else {
32
+ return new Promise((resolve, reject) => {
33
+ const blob = this.bucket.file(file.originalname);
34
+ const blobStream = blob.createWriteStream();
35
+ blobStream.on('error', (err) => {
42
36
  if (this._debug) {
43
- console.error('Error', e);
37
+ console.error('Error', err);
44
38
  }
45
- reject({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
46
- }
47
- resolve({ data: { url: publicUrl } });
39
+ resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
40
+ });
41
+ blobStream.on('finish', async () => {
42
+ const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
43
+ try {
44
+ await this.bucket
45
+ .file(blob.name)
46
+ .makePublic();
47
+ }
48
+ catch (e) {
49
+ if (this._debug) {
50
+ console.error('Error', e);
51
+ }
52
+ reject({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
53
+ }
54
+ resolve({ data: { url: publicUrl } });
55
+ });
56
+ blobStream.end(file.buffer);
48
57
  });
49
- blobStream.end(file.buffer);
50
- });
58
+ }
51
59
  }
52
60
  upload(file) {
53
61
  return new Promise((resolve) => {
@@ -103,4 +111,4 @@ GoogleCloudStorageService = __decorate([
103
111
  common_1.Injectable()
104
112
  ], GoogleCloudStorageService);
105
113
  exports.GoogleCloudStorageService = GoogleCloudStorageService;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNsb3VkLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2dvb2dsZS1jbG91ZC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSwyQ0FBMEU7QUFLMUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3pELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFHdEMsSUFBc0IseUJBQXlCLEdBQS9DO0lBS0UsWUFBbUIsWUFBb0IsRUFDVixZQUE0QztRQUMzRCwyQkFBMkIsRUFBRSx3QkFBd0I7UUFDckQsb0NBQW9DLEVBQUUsbUNBQW1DO0tBQzFFLEVBQ2dCLFNBQWtCLElBQUk7UUFMaEMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUd6QjtRQUNnQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVBuRCxRQUFHLEdBQUcsZ0NBQWdDLENBQUM7UUFRckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFxQjtRQUN2QyxPQUFPLElBQUksT0FBTyxDQUNoQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFNUMsVUFBVSxDQUFDLEVB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
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNsb3VkLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2dvb2dsZS1jbG91ZC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSwyQ0FBMEU7QUFLMUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3pELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFHdEMsSUFBc0IseUJBQXlCLEdBQS9DO0lBS0UsWUFBbUIsWUFBb0IsRUFDVixZQUE0QztRQUMzRCwyQkFBMkIsRUFBRSx3QkFBd0I7UUFDckQsb0NBQW9DLEVBQUUsbUNBQW1DO0tBQzFFLEVBQ2dCLFNBQWtCLElBQUk7UUFMaEMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUd6QjtRQUNnQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVBuRCxRQUFHLEdBQUcsZ0NBQWdDLENBQUM7UUFRckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFxQixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzNELElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDVixHQUFHLEVBQUUsQ0FBQztZQUNSLENBQUMsQ0FDRixDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sSUFBSSxPQUFPLENBQ2hCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUU1QyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQzdCO29CQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRSxDQUFDLENBQUMsQ0FBQztnQkFFSCxVQUFVLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFDcEIsS0FBSyxJQUFJLEVBQUU7b0JBRVQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDekUsSUFBSTt3QkFDRixNQUFNLElBQUksQ0FBQyxNQUFNOzZCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNmLFVBQVUsRUFBRSxDQUFDO3FCQUNqQjtvQkFBQyxPQUFPLENBQUMsRUFBRTt3QkFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7NEJBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7eUJBQzNCO3dCQUNELE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO3FCQUN0RjtvQkFHRCxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQztnQkFFTCxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFxQjtRQUMxQixPQUFPLElBQUksT0FBTyxDQUNoQixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRTVDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDN0I7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7WUFDL0UsQ0FBQyxDQUFDLENBQUM7WUFFSCxVQUFVLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFDcEIsS0FBSyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDekUsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7WUFFTCxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0I7UUFDekIsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDeEUsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxNQUFNO3FCQUNkLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQ2QsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDdkM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzNCO2dCQUNELE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO2FBQ3RGO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRO1FBQ3ZCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxTQUFTO2lCQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDZCxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLG1CQUFtQjthQUM3QixDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsUUFBUSxjQUFjLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEcsTUFBTSxJQUFJLHFDQUE0QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQztTQUNqRjtJQUVILENBQUM7Q0FFRixDQUFBO0FBeEhxQix5QkFBeUI7SUFEOUMsbUJBQVUsRUFBRTtHQUNTLHlCQUF5QixDQXdIOUM7QUF4SHFCLDhEQUF5QiJ9
@@ -0,0 +1,9 @@
1
+ import { PoliticasDeSeguridad } from './politicas-de-seguridad';
2
+ export interface FuncionesMiddleware<CreateDto, UpdateDto, Controller> {
3
+ createBefore?: (registro: CreateDto, tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller) => CreateDto;
4
+ createAfter?: (respuesta: any, tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller) => any;
5
+ updateBefore?: (registro: UpdateDto, tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller, id: number) => UpdateDto;
6
+ updateAfter?: (respuesta: any, tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller, id: number) => any;
7
+ deleteBefore?: (tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller, id: number, esSocket: boolean) => void;
8
+ deleteAfter?: (respuesta: any, tipoPoliticaSeguridad: PoliticasDeSeguridad, controlador: Controller, id: number) => any;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY2lvbmVzLW1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyZmFjZXMtdXRpbC9mdW5jaW9uZXMtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,6 +1,7 @@
1
- import { MensajesController } from "./interfaces-util/mensajes-controller";
2
- import { DtoInterface } from "./interfaces-util/dto";
3
- import { FuncionesSeguridad } from "./interfaces-util/funciones-seguridad";
1
+ import { MensajesController } from './interfaces-util/mensajes-controller';
2
+ import { DtoInterface } from './interfaces-util/dto';
3
+ import { FuncionesSeguridad } from './interfaces-util/funciones-seguridad';
4
+ import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
4
5
  export declare abstract class PrincipalController<CreateDto, UpdateDto> {
5
6
  private readonly _funcionesSeguridad;
6
7
  private readonly _servicio;
@@ -9,7 +10,8 @@ export declare abstract class PrincipalController<CreateDto, UpdateDto> {
9
10
  private readonly _take;
10
11
  private readonly _mensajes;
11
12
  protected contexto: any;
12
- constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any);
13
+ private readonly _funcionesMiddleware;
14
+ constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalController<CreateDto, UpdateDto>>);
13
15
  findAll(criterioBusqueda: any, request: any, response: any): void;
14
16
  findWhereOr(criterioBusqueda: any, request: any, response: any): void;
15
17
  count(criterioBusqueda: any, request: any, response: any): void;
@@ -29,7 +29,7 @@ class PrincipalController {
29
29
  crearUno: 'Registro inválido',
30
30
  actualizarUno: 'Error al actualizar',
31
31
  eliminarUno: 'Error al eliminar'
32
- }, contexto) {
32
+ }, contexto, _funcionesMiddleware = {}) {
33
33
  this._funcionesSeguridad = _funcionesSeguridad;
34
34
  this._servicio = _servicio;
35
35
  this._dto = _dto;
@@ -37,6 +37,7 @@ class PrincipalController {
37
37
  this._take = _take;
38
38
  this._mensajes = _mensajes;
39
39
  this.contexto = contexto;
40
+ this._funcionesMiddleware = _funcionesMiddleware;
40
41
  }
41
42
  findAll(criterioBusqueda, request, response) {
42
43
  const tipoPoliticaSeguridad = {
@@ -148,7 +149,7 @@ class PrincipalController {
148
149
  puedeRealizarAccion$
149
150
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
150
151
  if (puedeRealizarAccion) {
151
- return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, id, this._servicio, this._mensajes.encontrarUno, true));
152
+ return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, id, this._servicio, this._mensajes.encontrarUno, false));
152
153
  }
153
154
  else {
154
155
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -180,7 +181,7 @@ class PrincipalController {
180
181
  puedeRealizarAccion$
181
182
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
182
183
  if (puedeRealizarAccion) {
183
- return rxjs_1.from(crear_un_registro_1.crearUnRegistro(nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, true));
184
+ return rxjs_1.from(crear_un_registro_1.crearUnRegistro(nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, tipoPoliticaSeguridad, this._funcionesMiddleware.createBefore, this, false));
184
185
  }
185
186
  else {
186
187
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -191,6 +192,9 @@ class PrincipalController {
191
192
  return response.status(respuesta.error).send(respuesta);
192
193
  }
193
194
  else {
195
+ if (this._funcionesMiddleware.createAfter) {
196
+ respuesta = this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
197
+ }
194
198
  return response.send(respuesta);
195
199
  }
196
200
  }, (error) => {
@@ -212,7 +216,7 @@ class PrincipalController {
212
216
  puedeRealizarAccion$
213
217
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
214
218
  if (puedeRealizarAccion) {
215
- return rxjs_1.from(eliminar_uno_1.eliminarUno(id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, true));
219
+ return rxjs_1.from(eliminar_uno_1.eliminarUno(id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.deleteBefore, this, false));
216
220
  }
217
221
  else {
218
222
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -223,6 +227,9 @@ class PrincipalController {
223
227
  return response.status(respuesta.error).send(respuesta);
224
228
  }
225
229
  else {
230
+ if (this._funcionesMiddleware.deleteAfter) {
231
+ respuesta = this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, id);
232
+ }
226
233
  return response.send(respuesta);
227
234
  }
228
235
  }, (error) => {
@@ -244,7 +251,7 @@ class PrincipalController {
244
251
  puedeRealizarAccion$
245
252
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
246
253
  if (puedeRealizarAccion) {
247
- return rxjs_1.from(editar_un_registro_1.editarUnRegistro(id, registroAActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, true));
254
+ return rxjs_1.from(editar_un_registro_1.editarUnRegistro(id, registroAActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.updateBefore, this, false));
248
255
  }
249
256
  else {
250
257
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -255,6 +262,9 @@ class PrincipalController {
255
262
  return response.status(respuesta.error).send(respuesta);
256
263
  }
257
264
  else {
265
+ if (this._funcionesMiddleware.updateAfter) {
266
+ respuesta = this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, id);
267
+ }
258
268
  return response.send(respuesta);
259
269
  }
260
270
  }, (error) => {
@@ -307,4 +317,4 @@ __decorate([
307
317
  __param(3, common_1.Response())
308
318
  ], PrincipalController.prototype, "update", null);
309
319
  exports.PrincipalController = PrincipalController;
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkNBQStGO0FBQy9GLCtFQUF5RTtBQUN6RSxpREFBNkM7QUFHN0Msc0VBQXlFO0FBQ3pFLDBGQUFpRjtBQUNqRiwwRUFBcUU7QUFDckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUl2RSwrRkFBeUY7QUFDekYsK0JBQWdDO0FBQ2hDLDhDQUEwQztBQUMxQyx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLGlGQUE2RTtBQUU3RTtJQUNJLFlBQTZCLG1CQUF1QyxFQUMvQyxTQUFTLEVBQ1QsSUFBa0IsRUFDbEIsUUFBUSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQ1YsWUFBZ0M7UUFDN0MsWUFBWSxFQUFFLGVBQWU7UUFDN0IsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLFdBQVcsRUFBRSxtQkFBbUI7S0FDbkMsRUFDUyxRQUFhO1FBWEUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUMvQyxjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBS3pCO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBSztJQUUzQixDQUFDO0lBR0QsT0FBTyxDQUN3QixnQkFBZ0IsRUFDaEMsT0FBTyxFQUNOLFFBQVE7UUFFcEIsTUFBTSxxQkFBcUIsR0FBeUI7WUFDaEQsR0FBRyxFQUFFO2dCQUNELE9BQU87Z0JBQ1AsUUFBUTthQUNYO1NBQ0osQ0FBQztRQUVGLE1BQU0sMEJBQTBCLEdBQThCO1lBQzFELFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENB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
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkNBQStGO0FBQy9GLCtFQUF5RTtBQUN6RSxpREFBNkM7QUFHN0Msc0VBQXlFO0FBQ3pFLDBGQUFpRjtBQUNqRiwwRUFBcUU7QUFDckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUl2RSwrRkFBeUY7QUFDekYsK0JBQWdDO0FBQ2hDLDhDQUEwQztBQUMxQyx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLGlGQUE2RTtBQUc3RTtJQUNFLFlBQ21CLG1CQUF1QyxFQUN2QyxTQUFTLEVBQ1QsSUFBa0IsRUFDbEIsUUFBUSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQ1YsWUFBZ0M7UUFDL0MsWUFBWSxFQUFFLGVBQWU7UUFDN0IsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLFdBQVcsRUFBRSxtQkFBbUI7S0FDakMsRUFDUyxRQUFhLEVBQ04sdUJBRThCLEVBQUU7UUFkaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBS3pCO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUNOLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FFWTtJQUVuRCxDQUFDO0lBR0QsT0FBTyxDQUNzQixnQkFBZ0IsRUFDaEMsT0FBTyxFQUNOLFFBQVE7UUFFcEIsTUFBTSxxQkFBcUIsR0FBeUI7WUFDbEQsR0FBRyxFQUFFO2dCQUNILE9BQU87Z0JBQ1AsUUFBUTthQUNUO1NBQ0YsQ0FBQztRQUVGLE1BQU0s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
@@ -1,11 +1,12 @@
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
- export declare abstract class PrincipalGateway {
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;
@@ -26,7 +26,7 @@ class PrincipalGateway {
26
26
  crearUno: 'Registro inválido',
27
27
  actualizarUno: 'Error al actualizar',
28
28
  eliminarUno: 'Error al eliminar'
29
- }, contexto) {
29
+ }, contexto, _funcionesMiddleware = {}) {
30
30
  this._ip = _ip;
31
31
  this._namespace = _namespace;
32
32
  this._secreto = _secreto;
@@ -39,6 +39,7 @@ class PrincipalGateway {
39
39
  this._take = _take;
40
40
  this._mensajes = _mensajes;
41
41
  this.contexto = contexto;
42
+ this._funcionesMiddleware = _funcionesMiddleware;
42
43
  }
43
44
  afterInit(server) {
44
45
  console.log('Init ' + this._namespace);
@@ -183,7 +184,7 @@ class PrincipalGateway {
183
184
  }
184
185
  requestFindOne(socketCliente, datos) {
185
186
  try {
186
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
187
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
187
188
  return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
188
189
  }
189
190
  }
@@ -235,7 +236,7 @@ class PrincipalGateway {
235
236
  return puedeRealizarAccion$
236
237
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
237
238
  if (puedeRealizarAccion) {
238
- return rxjs_1.from(crear_un_registro_1.crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, true));
239
+ return rxjs_1.from(crear_un_registro_1.crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, tipoPoliticaSeguridad, this._funcionesMiddleware.createBefore, this, true));
239
240
  }
240
241
  else {
241
242
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -245,6 +246,9 @@ class PrincipalGateway {
245
246
  return respuesta;
246
247
  }
247
248
  else {
249
+ if (this._funcionesMiddleware.createAfter) {
250
+ respuesta = this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
251
+ }
248
252
  const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.createOne;
249
253
  if (tieneConfiguracionDeBroadcast) {
250
254
  const hacerBroadcast = this._configuracionBroadcast.createOne.broadcast;
@@ -266,7 +270,7 @@ class PrincipalGateway {
266
270
  }
267
271
  requestDeleteOne(socketCliente, datos) {
268
272
  try {
269
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
273
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
270
274
  return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
271
275
  }
272
276
  }
@@ -287,7 +291,7 @@ class PrincipalGateway {
287
291
  return puedeRealizarAccion$
288
292
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
289
293
  if (puedeRealizarAccion) {
290
- return rxjs_1.from(eliminar_uno_1.eliminarUno(datos.id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, true));
294
+ return rxjs_1.from(eliminar_uno_1.eliminarUno(datos.id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.deleteBefore, this, true));
291
295
  }
292
296
  else {
293
297
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -297,6 +301,9 @@ class PrincipalGateway {
297
301
  return respuesta;
298
302
  }
299
303
  else {
304
+ if (this._funcionesMiddleware.deleteAfter) {
305
+ respuesta = this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
306
+ }
300
307
  const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.deleteOne;
301
308
  if (tieneConfiguracionDeBroadcast) {
302
309
  const hacerBroadcast = this._configuracionBroadcast.deleteOne.broadcast;
@@ -321,7 +328,7 @@ class PrincipalGateway {
321
328
  return rxjs_1.of({ error: 400, mensaje: this._mensajes.crearUno });
322
329
  }
323
330
  try {
324
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
331
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === 'NaN') {
325
332
  return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
326
333
  }
327
334
  }
@@ -342,7 +349,7 @@ class PrincipalGateway {
342
349
  return puedeRealizarAccion$
343
350
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
344
351
  if (puedeRealizarAccion) {
345
- return rxjs_1.from(editar_un_registro_1.editarUnRegistro(datos.id, datos.registroaActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, true));
352
+ return rxjs_1.from(editar_un_registro_1.editarUnRegistro(datos.id, datos.registroaActualizar, this._servicio, this._dto.UpdateDto, this._mensajes.actualizarUno, tipoPoliticaSeguridad, this._funcionesMiddleware.updateBefore, this, true));
346
353
  }
347
354
  else {
348
355
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
@@ -352,6 +359,9 @@ class PrincipalGateway {
352
359
  return respuesta;
353
360
  }
354
361
  else {
362
+ if (this._funcionesMiddleware.updateAfter) {
363
+ respuesta = this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, datos.id);
364
+ }
355
365
  const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.updateOne;
356
366
  if (tieneConfiguracionDeBroadcast) {
357
367
  const hacerBroadcast = this._configuracionBroadcast.updateOne.broadcast;
@@ -363,7 +373,7 @@ class PrincipalGateway {
363
373
  .emit('updatedOne', { data: respuesta });
364
374
  }
365
375
  if (tieneFuncionRoom) {
366
- console.info('Ejecutando funcion join');
376
+ console.info('Ejecutando funcion room');
367
377
  tieneFuncionRoom(socketCliente, datos, this.contexto);
368
378
  }
369
379
  }
@@ -397,4 +407,4 @@ __decorate([
397
407
  websockets_1.SubscribeMessage('requestUpdateOne')
398
408
  ], PrincipalGateway.prototype, "requestUpdateOne", null);
399
409
  exports.PrincipalGateway = PrincipalGateway;
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsbURBQXNEO0FBSXRELCtGQUF5RjtBQUd6RiwrQkFBNEM7QUFDNUMsOENBQStDO0FBQy9DLHNFQUF5RTtBQUN6RSwrRUFBeUU7QUFDekUsMEZBQWlGO0FBQ2pGLGlEQUE2QztBQUU3QywwRUFBcUU7QUFHckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUN2RSx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBR3ZDO0lBS0ksWUFBNkIsR0FBVyxFQUNuQixVQUFrQixFQUNsQixRQUFnQixFQUNoQixVQUE0QixFQUM1Qix1QkFBc0QsRUFDdEQsbUJBQXVDLEVBQ3ZDLFNBQVMsRUFDVCxJQUFrQixFQUNsQixRQUFRLENBQUMsRUFDVCxRQUFRLEVBQUUsRUFDVixZQUFnQztRQUM3QyxZQUFZLEVBQUUsZUFBZTtRQUM3QixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsV0FBVyxFQUFFLG1CQUFtQjtLQUNuQyxFQUNTLFFBQWE7UUFoQkUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUErQjtRQUN0RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQUE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQUk7UUFDVCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1YsY0FBUyxHQUFULFNB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
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsbURBQXNEO0FBSXRELCtGQUF5RjtBQUd6RiwrQkFBNEM7QUFDNUMsOENBQStDO0FBQy9DLHNFQUF5RTtBQUN6RSwrRUFBeUU7QUFDekUsMEZBQWlGO0FBQ2pGLGlEQUE2QztBQUU3QywwRUFBcUU7QUFHckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUN2RSx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBR2pFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBR3ZDO0lBS0UsWUFBNkIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLHVCQUFzRCxFQUN0RCxtQkFBdUMsRUFDdkMsU0FBUyxFQUNULElBQWtCLEVBQ2xCLFFBQVEsQ0FBQyxFQUNULFFBQVEsRUFBRSxFQUNWLFlBQWdDO1FBQy9DLFlBQVksRUFBRSxlQUFlO1FBQzdCLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsYUFBYSxFQUFFLHFCQUFxQjtRQUNwQyxXQUFXLEVBQUUsbUJBQW1CO0tBQ2pDLEVBQ1MsUUFBYSxFQUNOLHVCQUUyQixFQUFFO1FBbkI3QixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBK0I7UUFDdEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBSztR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
@@ -1,8 +1,9 @@
1
- import { MensajesController } from "./interfaces-util/mensajes-controller";
2
- import { DtoInterface } from "./interfaces-util/dto";
3
- import { FuncionesSeguridad } from "./interfaces-util/funciones-seguridad";
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
- export declare abstract class PrincipalResolver {
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
- constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any);
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>>;