@manticore-labs/nest 0.0.96 → 0.0.97

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 (40) hide show
  1. package/.idea/workspace.xml +159 -128
  2. package/build/main/lib/auth0/auth0.service.js +2 -2
  3. package/build/main/lib/funciones-util/buscar-registro.d.ts +2 -1
  4. package/build/main/lib/funciones-util/buscar-registro.js +9 -3
  5. package/build/main/lib/funciones-util/buscar-un-registro-por-id.d.ts +2 -1
  6. package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +6 -3
  7. package/build/main/lib/funciones-util/buscar-where-or.d.ts +2 -1
  8. package/build/main/lib/funciones-util/buscar-where-or.js +6 -3
  9. package/build/main/lib/funciones-util/contar-registros.d.ts +2 -1
  10. package/build/main/lib/funciones-util/contar-registros.js +9 -3
  11. package/build/main/lib/funciones-util/crear-un-registro.js +2 -2
  12. package/build/main/lib/funciones-util/editar-un-registro.js +2 -2
  13. package/build/main/lib/funciones-util/eliminar-uno.js +4 -3
  14. package/build/main/lib/interfaces-util/funciones-middleware.d.ts +31 -6
  15. package/build/main/lib/principal.controller.d.ts +4 -2
  16. package/build/main/lib/principal.controller.js +48 -13
  17. package/build/main/lib/principal.gateway.d.ts +11 -9
  18. package/build/main/lib/principal.gateway.js +79 -27
  19. package/build/main/lib/principal.resolver.d.ts +9 -7
  20. package/build/main/lib/principal.resolver.js +50 -15
  21. package/build/module/lib/auth0/auth0.service.js +2 -2
  22. package/build/module/lib/funciones-util/buscar-registro.d.ts +2 -1
  23. package/build/module/lib/funciones-util/buscar-registro.js +9 -3
  24. package/build/module/lib/funciones-util/buscar-un-registro-por-id.d.ts +2 -1
  25. package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +6 -3
  26. package/build/module/lib/funciones-util/buscar-where-or.d.ts +2 -1
  27. package/build/module/lib/funciones-util/buscar-where-or.js +6 -3
  28. package/build/module/lib/funciones-util/contar-registros.d.ts +2 -1
  29. package/build/module/lib/funciones-util/contar-registros.js +9 -3
  30. package/build/module/lib/funciones-util/crear-un-registro.js +2 -2
  31. package/build/module/lib/funciones-util/editar-un-registro.js +2 -2
  32. package/build/module/lib/funciones-util/eliminar-uno.js +4 -3
  33. package/build/module/lib/interfaces-util/funciones-middleware.d.ts +31 -6
  34. package/build/module/lib/principal.controller.d.ts +4 -2
  35. package/build/module/lib/principal.controller.js +48 -13
  36. package/build/module/lib/principal.gateway.d.ts +11 -9
  37. package/build/module/lib/principal.gateway.js +79 -27
  38. package/build/module/lib/principal.resolver.d.ts +9 -7
  39. package/build/module/lib/principal.resolver.js +50 -15
  40. package/package.json +1 -1
@@ -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, _funcionesMiddleware = {}) {
32
+ }, contexto, _funcionesMiddleware = {}, activarPoliticasDeSeguridad = true, activarTriggersDeControlador = true) {
33
33
  this._funcionesSeguridad = _funcionesSeguridad;
34
34
  this._servicio = _servicio;
35
35
  this._dto = _dto;
@@ -38,6 +38,8 @@ class PrincipalController {
38
38
  this._mensajes = _mensajes;
39
39
  this.contexto = contexto;
40
40
  this._funcionesMiddleware = _funcionesMiddleware;
41
+ this.activarPoliticasDeSeguridad = activarPoliticasDeSeguridad;
42
+ this.activarTriggersDeControlador = activarTriggersDeControlador;
41
43
  }
42
44
  findAll(criterioBusqueda, request, response) {
43
45
  const tipoPoliticaSeguridad = {
@@ -49,21 +51,27 @@ class PrincipalController {
49
51
  const objetoPoliticasDeSeguridad = {
50
52
  funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
51
53
  };
54
+ if (!this.activarPoliticasDeSeguridad) {
55
+ objetoPoliticasDeSeguridad.funciones = [];
56
+ }
52
57
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
53
58
  puedeRealizarAccion$
54
59
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
55
60
  if (puedeRealizarAccion) {
56
- return rxjs_1.from(buscar_registro_1.buscarVariosRegistros(criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
61
+ return rxjs_1.from(buscar_registro_1.buscarVariosRegistros(criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.findAllBefore, this));
57
62
  }
58
63
  else {
59
64
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
60
65
  }
61
66
  }))
62
- .subscribe((respuesta) => {
67
+ .subscribe(async (respuesta) => {
63
68
  if (respuesta.error) {
64
69
  return response.status(respuesta.error).send(respuesta);
65
70
  }
66
71
  else {
72
+ if (this._funcionesMiddleware.findAllAfter && this.activarTriggersDeControlador) {
73
+ respuesta = await this._funcionesMiddleware.findAllAfter(respuesta, tipoPoliticaSeguridad, this);
74
+ }
67
75
  return response.send(respuesta);
68
76
  }
69
77
  }, (error) => {
@@ -81,21 +89,27 @@ class PrincipalController {
81
89
  const objetoPoliticasDeSeguridad = {
82
90
  funciones: this._funcionesSeguridad.findWhereOr ? this._funcionesSeguridad.findWhereOr : []
83
91
  };
92
+ if (!this.activarPoliticasDeSeguridad) {
93
+ objetoPoliticasDeSeguridad.funciones = [];
94
+ }
84
95
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
85
96
  puedeRealizarAccion$
86
97
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
87
98
  if (puedeRealizarAccion) {
88
- return rxjs_1.from(buscar_where_or_1.buscarWhereOr(criterioBusqueda, principal_find_many_where_or_1.PrincipalFindWhereOrOptions, this._skip, this._take, this._servicio));
99
+ return rxjs_1.from(buscar_where_or_1.buscarWhereOr(criterioBusqueda, principal_find_many_where_or_1.PrincipalFindWhereOrOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.findWhereOrBefore, this));
89
100
  }
90
101
  else {
91
102
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
92
103
  }
93
104
  }))
94
- .subscribe((respuesta) => {
105
+ .subscribe(async (respuesta) => {
95
106
  if (respuesta.error) {
96
107
  return response.status(respuesta.error).send(respuesta);
97
108
  }
98
109
  else {
110
+ if (this._funcionesMiddleware.findWhereOrAfter && this.activarTriggersDeControlador) {
111
+ respuesta = await this._funcionesMiddleware.findWhereOrAfter(respuesta, tipoPoliticaSeguridad, this);
112
+ }
99
113
  return response.send(respuesta);
100
114
  }
101
115
  }, (error) => {
@@ -113,21 +127,27 @@ class PrincipalController {
113
127
  const objetoPoliticasDeSeguridad = {
114
128
  funciones: this._funcionesSeguridad.count ? this._funcionesSeguridad.count : []
115
129
  };
130
+ if (!this.activarPoliticasDeSeguridad) {
131
+ objetoPoliticasDeSeguridad.funciones = [];
132
+ }
116
133
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
117
134
  puedeRealizarAccion$
118
135
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
119
136
  if (puedeRealizarAccion) {
120
- return rxjs_1.from(contar_registros_1.contarRegistros(criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
137
+ return rxjs_1.from(contar_registros_1.contarRegistros(criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio, tipoPoliticaSeguridad, this._funcionesMiddleware.countBefore, this));
121
138
  }
122
139
  else {
123
140
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
124
141
  }
125
142
  }))
126
- .subscribe((respuesta) => {
143
+ .subscribe(async (respuesta) => {
127
144
  if (respuesta.error) {
128
145
  return response.status(respuesta.error).send(respuesta);
129
146
  }
130
147
  else {
148
+ if (this._funcionesMiddleware.countAfter && this.activarTriggersDeControlador) {
149
+ respuesta = await this._funcionesMiddleware.countAfter(respuesta, tipoPoliticaSeguridad, this);
150
+ }
131
151
  return response.send(respuesta);
132
152
  }
133
153
  }, (error) => {
@@ -145,21 +165,27 @@ class PrincipalController {
145
165
  const objetoPoliticasDeSeguridad = {
146
166
  funciones: this._funcionesSeguridad.findOne ? this._funcionesSeguridad.findOne : []
147
167
  };
168
+ if (!this.activarPoliticasDeSeguridad) {
169
+ objetoPoliticasDeSeguridad.funciones = [];
170
+ }
148
171
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
149
172
  puedeRealizarAccion$
150
173
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
151
174
  if (puedeRealizarAccion) {
152
- return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, id, this._servicio, this._mensajes.encontrarUno, false));
175
+ return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, id, this._servicio, this._mensajes.encontrarUno, false, tipoPoliticaSeguridad, this._funcionesMiddleware.findOneBefore, this));
153
176
  }
154
177
  else {
155
178
  return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
156
179
  }
157
180
  }))
158
- .subscribe((respuesta) => {
181
+ .subscribe(async (respuesta) => {
159
182
  if (respuesta.error) {
160
183
  return response.status(respuesta.error).send(respuesta);
161
184
  }
162
185
  else {
186
+ if (this._funcionesMiddleware.findOneAfter && this.activarTriggersDeControlador) {
187
+ respuesta = await this._funcionesMiddleware.findOneAfter(respuesta, tipoPoliticaSeguridad, this);
188
+ }
163
189
  return response.send(respuesta);
164
190
  }
165
191
  }, (error) => {
@@ -177,6 +203,9 @@ class PrincipalController {
177
203
  const objetoPoliticasDeSeguridad = {
178
204
  funciones: this._funcionesSeguridad.createOne ? this._funcionesSeguridad.createOne : []
179
205
  };
206
+ if (!this.activarPoliticasDeSeguridad) {
207
+ objetoPoliticasDeSeguridad.funciones = [];
208
+ }
180
209
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
181
210
  puedeRealizarAccion$
182
211
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
@@ -192,7 +221,7 @@ class PrincipalController {
192
221
  return response.status(respuesta.error).send(respuesta);
193
222
  }
194
223
  else {
195
- if (this._funcionesMiddleware.createAfter) {
224
+ if (this._funcionesMiddleware.createAfter && this.activarTriggersDeControlador) {
196
225
  respuesta = await this._funcionesMiddleware.createAfter(respuesta, tipoPoliticaSeguridad, this);
197
226
  }
198
227
  return response.send(respuesta);
@@ -212,6 +241,9 @@ class PrincipalController {
212
241
  const objetoPoliticasDeSeguridad = {
213
242
  funciones: this._funcionesSeguridad.deleteOne ? this._funcionesSeguridad.deleteOne : []
214
243
  };
244
+ if (!this.activarPoliticasDeSeguridad) {
245
+ objetoPoliticasDeSeguridad.funciones = [];
246
+ }
215
247
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
216
248
  puedeRealizarAccion$
217
249
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
@@ -227,7 +259,7 @@ class PrincipalController {
227
259
  return response.status(respuesta.error).send(respuesta);
228
260
  }
229
261
  else {
230
- if (this._funcionesMiddleware.deleteAfter) {
262
+ if (this._funcionesMiddleware.deleteAfter && this.activarTriggersDeControlador) {
231
263
  respuesta = await this._funcionesMiddleware.deleteAfter(respuesta, tipoPoliticaSeguridad, this, id);
232
264
  }
233
265
  return response.send(respuesta);
@@ -247,6 +279,9 @@ class PrincipalController {
247
279
  const objetoPoliticasDeSeguridad = {
248
280
  funciones: this._funcionesSeguridad.updateOne ? this._funcionesSeguridad.updateOne : []
249
281
  };
282
+ if (!this.activarPoliticasDeSeguridad) {
283
+ objetoPoliticasDeSeguridad.funciones = [];
284
+ }
250
285
  const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
251
286
  puedeRealizarAccion$
252
287
  .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
@@ -262,7 +297,7 @@ class PrincipalController {
262
297
  return response.status(respuesta.error).send(respuesta);
263
298
  }
264
299
  else {
265
- if (this._funcionesMiddleware.updateAfter) {
300
+ if (this._funcionesMiddleware.updateAfter && this.activarTriggersDeControlador) {
266
301
  respuesta = await this._funcionesMiddleware.updateAfter(respuesta, tipoPoliticaSeguridad, this, id);
267
302
  }
268
303
  return response.send(respuesta);
@@ -317,4 +352,4 @@ __decorate([
317
352
  __param(3, common_1.Response())
318
353
  ], PrincipalController.prototype, "update", null);
319
354
  exports.PrincipalController = PrincipalController;
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkNBQStGO0FBQy9GLCtFQUF5RTtBQUN6RSxpREFBNkM7QUFHN0Msc0VBQXlFO0FBQ3pFLDBGQUFpRjtBQUNqRiwwRUFBcUU7QUFDckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUl2RSwrRkFBeUY7QUFDekYsK0JBQWdDO0FBQ2hDLDhDQUEwQztBQUMxQyx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLGlGQUE2RTtBQUc3RTtJQUNFLFlBQ21CLG1CQUF1QyxFQUN2QyxTQUFTLEVBQ1QsSUFBa0IsRUFDbEIsUUFBUSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQ1YsWUFBZ0M7UUFDL0MsWUFBWSxFQUFFLGVBQWU7UUFDN0IsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLFdBQVcsRUFBRSxtQkFBbUI7S0FDakMsRUFDUyxRQUFhLEVBQ04sdUJBRThCLEVBQUU7UUFkaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBS3pCO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUNOLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FFWTtJQUVuRCxDQUFDO0lBR0QsT0FBTyxDQUNzQixnQkFBZ0IsRUFDaEMsT0FBTyxFQUNOLFFBQVE7UUFFcEIsTUFBTSxxQkFBcUIsR0FBeUI7WUFDbEQsR0FBRyxFQUFFO2dCQUNILE9BQU87Z0JBQ1AsUUFBUTthQUNUO1NBQ0YsQ0FBQztRQUVGLE1BQU0s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
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkNBQStGO0FBQy9GLCtFQUF5RTtBQUN6RSxpREFBNkM7QUFHN0Msc0VBQXlFO0FBQ3pFLDBGQUFpRjtBQUNqRiwwRUFBcUU7QUFDckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUl2RSwrRkFBeUY7QUFDekYsK0JBQWdDO0FBQ2hDLDhDQUEwQztBQUMxQyx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLGlGQUE2RTtBQUc3RTtJQUVFLFlBQ21CLG1CQUF1QyxFQUN2QyxTQUFTLEVBQ1QsSUFBa0IsRUFDbEIsUUFBUSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQ1YsWUFBZ0M7UUFDL0MsWUFBWSxFQUFFLGVBQWU7UUFDN0IsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLFdBQVcsRUFBRSxtQkFBbUI7S0FDakMsRUFDUyxRQUFhLEVBQ04sdUJBR0wsRUFBRSxFQUNOLDhCQUE4QixJQUFJLEVBQ2xDLCtCQUErQixJQUFJO1FBakIxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQUE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQUk7UUFDVCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1YsY0FBUyxHQUFULFNBQVMsQ0FLekI7UUFDUyxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ04seUJBQW9CLEdBQXBCLG9CQUFvQixDQUd2QjtRQUNOLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBTztRQUNsQyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQU87SUFHN0MsQ0FBQztJQUdELE9BQU8sQ0FDc0IsZ0JBQWdCLEVBQ2hDLE9BQU8s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
@@ -6,7 +6,7 @@ import { MensajesController } from './interfaces-util/mensajes-controller';
6
6
  import { DtoInterface } from './interfaces-util/dto';
7
7
  import { BroadcastJoinGatewayInterface } from './interfaces-util/broadcast-join.gateway';
8
8
  import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
9
- export declare abstract class PrincipalGateway<CreateDto, UpdateDto> {
9
+ export declare abstract class PrincipalGateway<CreateDto = any, UpdateDto = any, Entity = any> {
10
10
  private readonly _ip;
11
11
  private readonly _namespace;
12
12
  private readonly _secreto;
@@ -20,18 +20,20 @@ export declare abstract class PrincipalGateway<CreateDto, UpdateDto> {
20
20
  private readonly _mensajes;
21
21
  protected contexto: any;
22
22
  private readonly _funcionesMiddleware;
23
+ private activarPoliticasDeSeguridad;
24
+ private activarTriggersDeControlador;
23
25
  socket: any;
24
26
  socketId: string;
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>>);
27
+ 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>, Entity>, activarPoliticasDeSeguridad?: boolean, activarTriggersDeControlador?: boolean);
26
28
  afterInit(server: any): void;
27
29
  handleConnection(client: any, ...args: any[]): void;
28
30
  handleDisconnect(client: any): void;
29
31
  solicitarEstablecerSocketId(socketCliente: any, datos: any): RespuestaGeneralGatewayInterface;
30
- requestFindAll(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
31
- requestFindWhereOr(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
32
- count(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
33
- requestFindOne(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
34
- requestCreateOne(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
35
- requestDeleteOne(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
36
- requestUpdateOne(socketCliente: any, datos: any): Observable<RespuestaGeneralGatewayInterface>;
32
+ requestFindAll(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
33
+ requestFindWhereOr(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
34
+ count(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
35
+ requestFindOne(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
36
+ requestCreateOne(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
37
+ requestDeleteOne(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
38
+ requestUpdateOne(socketCliente: any, datos: any): Observable<Promise<RespuestaGeneralGatewayInterface>>;
37
39
  }