@manticore-labs/nest 0.0.59 → 0.0.61

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 (225) hide show
  1. package/.circleci/config.yml +47 -47
  2. package/.idea/codeStyles/Project.xml +37 -37
  3. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  4. package/.idea/encodings.xml +3 -3
  5. package/.idea/inspectionProfiles/Project_Default.xml +5 -5
  6. package/.idea/manticore-labs-nest.iml +11 -11
  7. package/.idea/misc.xml +5 -5
  8. package/.idea/modules.xml +7 -7
  9. package/.idea/vcs.xml +5 -5
  10. package/.idea/workspace.xml +207 -353
  11. package/.npmignore +14 -0
  12. package/LICENSE +8 -8
  13. package/README.1.md +116 -116
  14. package/README.md +1 -1
  15. package/build/main/index.d.ts +39 -39
  16. package/build/main/index.js +22 -22
  17. package/build/main/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.d.ts +5 -5
  18. package/build/main/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +24 -24
  19. package/build/main/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.d.ts +5 -5
  20. package/build/main/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +24 -24
  21. package/build/main/lib/auth0/auth0.controller.d.ts +37 -37
  22. package/build/main/lib/auth0/auth0.controller.js +514 -514
  23. package/build/main/lib/auth0/auth0.service.d.ts +42 -42
  24. package/build/main/lib/auth0/auth0.service.js +513 -513
  25. package/build/main/lib/auth0/crear-usuario-dto/crear-usuario-dto.d.ts +5 -5
  26. package/build/main/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +25 -25
  27. package/build/main/lib/auth0/interfaces/busqueda-nombre.d.ts +3 -3
  28. package/build/main/lib/auth0/interfaces/busqueda-nombre.js +2 -2
  29. package/build/main/lib/auth0/interfaces/funciones-seguridad.d.ts +10 -10
  30. package/build/main/lib/auth0/interfaces/funciones-seguridad.js +2 -2
  31. package/build/main/lib/auth0/interfaces/mensajes-controlador.d.ts +5 -5
  32. package/build/main/lib/auth0/interfaces/mensajes-controlador.js +2 -2
  33. package/build/main/lib/expresiones-regulares/letras-espacios-tildes-enie.d.ts +1 -1
  34. package/build/main/lib/expresiones-regulares/letras-espacios-tildes-enie.js +3 -3
  35. package/build/main/lib/funciones-util/buscar-registro.d.ts +1 -1
  36. package/build/main/lib/funciones-util/buscar-registro.js +147 -147
  37. package/build/main/lib/funciones-util/buscar-un-registro-por-id.d.ts +1 -1
  38. package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +25 -25
  39. package/build/main/lib/funciones-util/buscar-where-or.d.ts +1 -1
  40. package/build/main/lib/funciones-util/buscar-where-or.js +33 -33
  41. package/build/main/lib/funciones-util/contar-registros.d.ts +1 -1
  42. package/build/main/lib/funciones-util/contar-registros.js +41 -41
  43. package/build/main/lib/funciones-util/crear-un-registro.d.ts +1 -1
  44. package/build/main/lib/funciones-util/crear-un-registro.js +24 -24
  45. package/build/main/lib/funciones-util/editar-un-registro.d.ts +1 -1
  46. package/build/main/lib/funciones-util/editar-un-registro.js +24 -24
  47. package/build/main/lib/funciones-util/eliminar-uno.d.ts +1 -1
  48. package/build/main/lib/funciones-util/eliminar-uno.js +35 -35
  49. package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.d.ts +2 -2
  50. package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +21 -21
  51. package/build/main/lib/interfaces-util/arreglo-funciones-booleanas.d.ts +4 -4
  52. package/build/main/lib/interfaces-util/arreglo-funciones-booleanas.js +2 -2
  53. package/build/main/lib/interfaces-util/broadcast-join.gateway.d.ts +14 -14
  54. package/build/main/lib/interfaces-util/broadcast-join.gateway.js +2 -2
  55. package/build/main/lib/interfaces-util/campos-a-buscar.d.ts +9 -9
  56. package/build/main/lib/interfaces-util/campos-a-buscar.js +9 -9
  57. package/build/main/lib/interfaces-util/delete-service.d.ts +12 -12
  58. package/build/main/lib/interfaces-util/delete-service.js +2 -2
  59. package/build/main/lib/interfaces-util/dto.d.ts +4 -4
  60. package/build/main/lib/interfaces-util/dto.js +2 -2
  61. package/build/main/lib/interfaces-util/find-where-relations.d.ts +9 -9
  62. package/build/main/lib/interfaces-util/find-where-relations.js +2 -2
  63. package/build/main/lib/interfaces-util/funciones-seguridad.d.ts +13 -13
  64. package/build/main/lib/interfaces-util/funciones-seguridad.js +2 -2
  65. package/build/main/lib/interfaces-util/funciones.gateway.d.ts +5 -5
  66. package/build/main/lib/interfaces-util/funciones.gateway.js +2 -2
  67. package/build/main/lib/interfaces-util/mensajes-controller.d.ts +6 -6
  68. package/build/main/lib/interfaces-util/mensajes-controller.js +2 -2
  69. package/build/main/lib/interfaces-util/politicas-de-seguridad.d.ts +17 -17
  70. package/build/main/lib/interfaces-util/politicas-de-seguridad.js +2 -2
  71. package/build/main/lib/interfaces-util/respuesta-general.gateway.d.ts +5 -5
  72. package/build/main/lib/interfaces-util/respuesta-general.gateway.js +2 -2
  73. package/build/main/lib/menu/entities/menu-entity.d.ts +13 -13
  74. package/build/main/lib/menu/entities/menu-entity.js +93 -93
  75. package/build/main/lib/one-signal/interfaces/funciones-seguridad.d.ts +9 -9
  76. package/build/main/lib/one-signal/interfaces/funciones-seguridad.js +2 -2
  77. package/build/main/lib/one-signal/interfaces/one-signal-device.d.ts +19 -19
  78. package/build/main/lib/one-signal/interfaces/one-signal-device.js +2 -2
  79. package/build/main/lib/one-signal/interfaces/one-signal-notification.d.ts +15 -15
  80. package/build/main/lib/one-signal/interfaces/one-signal-notification.js +2 -2
  81. package/build/main/lib/one-signal/interfaces/one-signal-notifications.d.ts +7 -7
  82. package/build/main/lib/one-signal/interfaces/one-signal-notifications.js +2 -2
  83. package/build/main/lib/one-signal/interfaces/one-signal-ok-create-notification-no-players.d.ts +5 -5
  84. package/build/main/lib/one-signal/interfaces/one-signal-ok-create-notification-no-players.js +2 -2
  85. package/build/main/lib/one-signal/interfaces/one-signal-ok-create-notification.d.ts +4 -4
  86. package/build/main/lib/one-signal/interfaces/one-signal-ok-create-notification.js +2 -2
  87. package/build/main/lib/one-signal/interfaces/one-signal-success.d.ts +3 -3
  88. package/build/main/lib/one-signal/interfaces/one-signal-success.js +2 -2
  89. package/build/main/lib/one-signal/interfaces/one-signal-tags.d.ts +3 -3
  90. package/build/main/lib/one-signal/interfaces/one-signal-tags.js +2 -2
  91. package/build/main/lib/one-signal/interfaces/one-signal-view-devices.d.ts +7 -7
  92. package/build/main/lib/one-signal/interfaces/one-signal-view-devices.js +2 -2
  93. package/build/main/lib/one-signal/one-signal.controller.d.ts +15 -15
  94. package/build/main/lib/one-signal/one-signal.controller.js +250 -250
  95. package/build/main/lib/one-signal/one-signal.service.d.ts +32 -32
  96. package/build/main/lib/one-signal/one-signal.service.js +84 -84
  97. package/build/main/lib/principal.controller.d.ts +20 -20
  98. package/build/main/lib/principal.controller.js +309 -309
  99. package/build/main/lib/principal.dto.d.ts +5 -5
  100. package/build/main/lib/principal.dto.js +21 -21
  101. package/build/main/lib/principal.entity.d.ts +7 -7
  102. package/build/main/lib/principal.entity.js +42 -42
  103. package/build/main/lib/principal.find-many-options.d.ts +14 -14
  104. package/build/main/lib/principal.find-many-options.js +48 -48
  105. package/build/main/lib/principal.find-many-where-or.d.ts +10 -10
  106. package/build/main/lib/principal.find-many-where-or.js +28 -28
  107. package/build/main/lib/principal.gateway.d.ts +35 -35
  108. package/build/main/lib/principal.gateway.js +399 -399
  109. package/build/main/lib/principal.id.d.ts +3 -3
  110. package/build/main/lib/principal.id.js +16 -16
  111. package/build/main/lib/principal.resolver.d.ts +21 -21
  112. package/build/main/lib/principal.resolver.js +343 -343
  113. package/build/main/lib/principal.service.d.ts +38 -38
  114. package/build/main/lib/principal.service.js +255 -255
  115. package/build/main/lib/seguridad/aplicar-politicas-de-seguridad.d.ts +4 -4
  116. package/build/main/lib/seguridad/aplicar-politicas-de-seguridad.js +16 -16
  117. package/build/main/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.d.ts +3 -3
  118. package/build/main/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +26 -26
  119. package/build/main/lib/seguridad/funciones/index.d.ts +6 -6
  120. package/build/main/lib/seguridad/funciones/index.js +12 -12
  121. package/build/main/lib/seguridad/funciones/obtener-reflector-seguridad.d.ts +1 -1
  122. package/build/main/lib/seguridad/funciones/obtener-reflector-seguridad.js +6 -6
  123. package/build/main/lib/seguridad/funciones/obtener-request.d.ts +1 -1
  124. package/build/main/lib/seguridad/funciones/obtener-request.js +6 -6
  125. package/build/main/lib/seguridad/funciones/obtener-response.d.ts +1 -1
  126. package/build/main/lib/seguridad/funciones/obtener-response.js +6 -6
  127. package/build/main/lib/seguridad/funciones/tiene-acceso-permitido.d.ts +2 -2
  128. package/build/main/lib/seguridad/funciones/tiene-acceso-permitido.js +13 -13
  129. package/build/main/lib/seguridad/seguridad.decorator.d.ts +1 -1
  130. package/build/main/lib/seguridad/seguridad.decorator.js +4 -4
  131. package/build/module/index.d.ts +39 -39
  132. package/build/module/index.js +17 -17
  133. package/build/module/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.d.ts +5 -5
  134. package/build/module/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +21 -21
  135. package/build/module/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.d.ts +5 -5
  136. package/build/module/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +21 -21
  137. package/build/module/lib/auth0/auth0.controller.d.ts +37 -37
  138. package/build/module/lib/auth0/auth0.controller.js +512 -512
  139. package/build/module/lib/auth0/auth0.service.d.ts +42 -42
  140. package/build/module/lib/auth0/auth0.service.js +511 -511
  141. package/build/module/lib/auth0/crear-usuario-dto/crear-usuario-dto.d.ts +5 -5
  142. package/build/module/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +22 -22
  143. package/build/module/lib/auth0/interfaces/busqueda-nombre.d.ts +3 -3
  144. package/build/module/lib/auth0/interfaces/funciones-seguridad.d.ts +10 -10
  145. package/build/module/lib/auth0/interfaces/mensajes-controlador.d.ts +5 -5
  146. package/build/module/lib/expresiones-regulares/letras-espacios-tildes-enie.d.ts +1 -1
  147. package/build/module/lib/expresiones-regulares/letras-espacios-tildes-enie.js +1 -1
  148. package/build/module/lib/funciones-util/buscar-registro.d.ts +1 -1
  149. package/build/module/lib/funciones-util/buscar-registro.js +144 -144
  150. package/build/module/lib/funciones-util/buscar-un-registro-por-id.d.ts +1 -1
  151. package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +22 -22
  152. package/build/module/lib/funciones-util/buscar-where-or.d.ts +1 -1
  153. package/build/module/lib/funciones-util/buscar-where-or.js +30 -30
  154. package/build/module/lib/funciones-util/contar-registros.d.ts +1 -1
  155. package/build/module/lib/funciones-util/contar-registros.js +38 -38
  156. package/build/module/lib/funciones-util/crear-un-registro.d.ts +1 -1
  157. package/build/module/lib/funciones-util/crear-un-registro.js +21 -21
  158. package/build/module/lib/funciones-util/editar-un-registro.d.ts +1 -1
  159. package/build/module/lib/funciones-util/editar-un-registro.js +21 -21
  160. package/build/module/lib/funciones-util/eliminar-uno.d.ts +1 -1
  161. package/build/module/lib/funciones-util/eliminar-uno.js +32 -32
  162. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.d.ts +2 -2
  163. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +18 -18
  164. package/build/module/lib/interfaces-util/arreglo-funciones-booleanas.d.ts +4 -4
  165. package/build/module/lib/interfaces-util/broadcast-join.gateway.d.ts +14 -14
  166. package/build/module/lib/interfaces-util/campos-a-buscar.d.ts +9 -9
  167. package/build/module/lib/interfaces-util/campos-a-buscar.js +6 -6
  168. package/build/module/lib/interfaces-util/delete-service.d.ts +12 -12
  169. package/build/module/lib/interfaces-util/dto.d.ts +4 -4
  170. package/build/module/lib/interfaces-util/find-where-relations.d.ts +9 -9
  171. package/build/module/lib/interfaces-util/funciones-seguridad.d.ts +13 -13
  172. package/build/module/lib/interfaces-util/funciones.gateway.d.ts +5 -5
  173. package/build/module/lib/interfaces-util/mensajes-controller.d.ts +6 -6
  174. package/build/module/lib/interfaces-util/politicas-de-seguridad.d.ts +17 -17
  175. package/build/module/lib/interfaces-util/respuesta-general.gateway.d.ts +5 -5
  176. package/build/module/lib/menu/entities/menu-entity.d.ts +13 -13
  177. package/build/module/lib/menu/entities/menu-entity.js +90 -90
  178. package/build/module/lib/one-signal/interfaces/funciones-seguridad.d.ts +9 -9
  179. package/build/module/lib/one-signal/interfaces/one-signal-device.d.ts +19 -19
  180. package/build/module/lib/one-signal/interfaces/one-signal-notification.d.ts +15 -15
  181. package/build/module/lib/one-signal/interfaces/one-signal-notifications.d.ts +7 -7
  182. package/build/module/lib/one-signal/interfaces/one-signal-ok-create-notification-no-players.d.ts +5 -5
  183. package/build/module/lib/one-signal/interfaces/one-signal-ok-create-notification.d.ts +4 -4
  184. package/build/module/lib/one-signal/interfaces/one-signal-success.d.ts +3 -3
  185. package/build/module/lib/one-signal/interfaces/one-signal-tags.d.ts +3 -3
  186. package/build/module/lib/one-signal/interfaces/one-signal-view-devices.d.ts +7 -7
  187. package/build/module/lib/one-signal/one-signal.controller.d.ts +15 -15
  188. package/build/module/lib/one-signal/one-signal.controller.js +248 -248
  189. package/build/module/lib/one-signal/one-signal.service.d.ts +32 -32
  190. package/build/module/lib/one-signal/one-signal.service.js +82 -82
  191. package/build/module/lib/principal.controller.d.ts +20 -20
  192. package/build/module/lib/principal.controller.js +306 -306
  193. package/build/module/lib/principal.dto.d.ts +5 -5
  194. package/build/module/lib/principal.dto.js +18 -18
  195. package/build/module/lib/principal.entity.d.ts +7 -7
  196. package/build/module/lib/principal.entity.js +39 -39
  197. package/build/module/lib/principal.find-many-options.d.ts +14 -14
  198. package/build/module/lib/principal.find-many-options.js +45 -45
  199. package/build/module/lib/principal.find-many-where-or.d.ts +10 -10
  200. package/build/module/lib/principal.find-many-where-or.js +25 -25
  201. package/build/module/lib/principal.gateway.d.ts +35 -35
  202. package/build/module/lib/principal.gateway.js +396 -396
  203. package/build/module/lib/principal.id.d.ts +3 -3
  204. package/build/module/lib/principal.id.js +13 -13
  205. package/build/module/lib/principal.resolver.d.ts +21 -21
  206. package/build/module/lib/principal.resolver.js +340 -340
  207. package/build/module/lib/principal.service.d.ts +38 -38
  208. package/build/module/lib/principal.service.js +252 -252
  209. package/build/module/lib/seguridad/aplicar-politicas-de-seguridad.d.ts +4 -4
  210. package/build/module/lib/seguridad/aplicar-politicas-de-seguridad.js +13 -13
  211. package/build/module/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.d.ts +3 -3
  212. package/build/module/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +23 -23
  213. package/build/module/lib/seguridad/funciones/index.d.ts +6 -6
  214. package/build/module/lib/seguridad/funciones/index.js +6 -6
  215. package/build/module/lib/seguridad/funciones/obtener-reflector-seguridad.d.ts +1 -1
  216. package/build/module/lib/seguridad/funciones/obtener-reflector-seguridad.js +3 -3
  217. package/build/module/lib/seguridad/funciones/obtener-request.d.ts +1 -1
  218. package/build/module/lib/seguridad/funciones/obtener-request.js +3 -3
  219. package/build/module/lib/seguridad/funciones/obtener-response.d.ts +1 -1
  220. package/build/module/lib/seguridad/funciones/obtener-response.js +3 -3
  221. package/build/module/lib/seguridad/funciones/tiene-acceso-permitido.d.ts +2 -2
  222. package/build/module/lib/seguridad/funciones/tiene-acceso-permitido.js +10 -10
  223. package/build/module/lib/seguridad/seguridad.decorator.d.ts +1 -1
  224. package/build/module/lib/seguridad/seguridad.decorator.js +2 -2
  225. package/package.json +1 -1
@@ -1,400 +1,400 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const websockets_1 = require("@nestjs/websockets");
10
- const aplicar_politicas_de_seguridad_1 = require("./seguridad/aplicar-politicas-de-seguridad");
11
- const rxjs_1 = require("rxjs");
12
- const operators_1 = require("rxjs/operators");
13
- const buscar_registro_1 = require("./funciones-util/buscar-registro");
14
- const principal_find_many_options_1 = require("./principal.find-many-options");
15
- const buscar_un_registro_por_id_1 = require("./funciones-util/buscar-un-registro-por-id");
16
- const principal_id_1 = require("./principal.id");
17
- const crear_un_registro_1 = require("./funciones-util/crear-un-registro");
18
- const eliminar_uno_1 = require("./funciones-util/eliminar-uno");
19
- const editar_un_registro_1 = require("./funciones-util/editar-un-registro");
20
- const contar_registros_1 = require("./funciones-util/contar-registros");
21
- const buscar_where_or_1 = require("./funciones-util/buscar-where-or");
22
- const io = require('socket.io-client');
23
- class PrincipalGateway {
24
- constructor(_ip, _namespace, _secreto, _funciones, _configuracionBroadcast, _funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
25
- encontrarUno: 'Id incorrecto',
26
- crearUno: 'Registro inválido',
27
- actualizarUno: 'Error al actualizar',
28
- eliminarUno: 'Error al eliminar'
29
- }, contexto) {
30
- this._ip = _ip;
31
- this._namespace = _namespace;
32
- this._secreto = _secreto;
33
- this._funciones = _funciones;
34
- this._configuracionBroadcast = _configuracionBroadcast;
35
- this._funcionesSeguridad = _funcionesSeguridad;
36
- this._servicio = _servicio;
37
- this._dto = _dto;
38
- this._skip = _skip;
39
- this._take = _take;
40
- this._mensajes = _mensajes;
41
- this.contexto = contexto;
42
- }
43
- afterInit(server) {
44
- console.log('Init ' + this._namespace);
45
- if (this._funciones.afterInit) {
46
- console.info('Ejecutando funcion init');
47
- this._funciones.afterInit(server);
48
- }
49
- this.socket = io(this._ip + this._namespace);
50
- this.socket.on('connect', () => {
51
- this.socket
52
- .emit('solicitarEstablecerSocketId', { secreto: this._secreto }, (respuesta) => {
53
- console.log(respuesta);
54
- });
55
- });
56
- this.socket.on('error', (e) => {
57
- console.log('Error', e);
58
- });
59
- this.socket.on('updatedOne', (registroActualizado) => {
60
- console.info('updatedOne: ', registroActualizado);
61
- });
62
- this.socket.on('createdOne', (registroCreado) => {
63
- console.info('createdOne: ', registroCreado);
64
- });
65
- this.socket.on('deletedOne', (registroEliminado) => {
66
- console.info('deletedOne: ', registroEliminado);
67
- });
68
- }
69
- handleConnection(client, ...args) {
70
- console.info(this._namespace + ': conexion de cliente: ', client.id, args);
71
- if (this._funciones.handleConnection) {
72
- console.log('Ejecutando funcion handleConnection');
73
- this._funciones.handleConnection(client, ...args);
74
- }
75
- }
76
- handleDisconnect(client) {
77
- console.info('Empresa: desconexion de cliente: ', client.id);
78
- if (this._funciones.handleDisconnect) {
79
- console.log('Ejecutando funcion handleDisconnect');
80
- this._funciones.handleConnection(client);
81
- }
82
- }
83
- solicitarEstablecerSocketId(socketCliente, datos) {
84
- const secreto = datos.secreto;
85
- if (secreto) {
86
- if (secreto === this._secreto) {
87
- this.socketId = socketCliente.id;
88
- return { mensaje: 'ok' };
89
- }
90
- else {
91
- console.error('No envia secreto correcto', socketCliente.id);
92
- return { error: 400, mensaje: 'Peticion invalida' };
93
- }
94
- }
95
- else {
96
- console.error('No envia secreto', socketCliente.id);
97
- return { error: 400, mensaje: 'Peticion invalida' };
98
- }
99
- }
100
- requestFindAll(socketCliente, datos) {
101
- const tipoPoliticaSeguridad = {
102
- socketio: {
103
- datos,
104
- socketCliente
105
- }
106
- };
107
- const objetoPoliticasDeSeguridad = {
108
- funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
109
- };
110
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
111
- return puedeRealizarAccion$
112
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
113
- if (puedeRealizarAccion) {
114
- return rxjs_1.from(buscar_registro_1.buscarVariosRegistros(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
115
- }
116
- else {
117
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
118
- }
119
- }), operators_1.map((respuesta) => {
120
- if (respuesta.error) {
121
- return respuesta;
122
- }
123
- else {
124
- return { data: respuesta };
125
- }
126
- }));
127
- }
128
- requestFindWhereOr(socketCliente, datos) {
129
- const tipoPoliticaSeguridad = {
130
- socketio: {
131
- datos,
132
- socketCliente
133
- }
134
- };
135
- const objetoPoliticasDeSeguridad = {
136
- funciones: this._funcionesSeguridad.findWhereOr ? this._funcionesSeguridad.findWhereOr : []
137
- };
138
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
139
- return puedeRealizarAccion$
140
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
141
- if (puedeRealizarAccion) {
142
- return rxjs_1.from(buscar_where_or_1.buscarWhereOr(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
143
- }
144
- else {
145
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
146
- }
147
- }), operators_1.map((respuesta) => {
148
- if (respuesta.error) {
149
- return respuesta;
150
- }
151
- else {
152
- return { data: respuesta };
153
- }
154
- }));
155
- }
156
- count(socketCliente, datos) {
157
- const tipoPoliticaSeguridad = {
158
- socketio: {
159
- datos,
160
- socketCliente
161
- }
162
- };
163
- const objetoPoliticasDeSeguridad = {
164
- funciones: this._funcionesSeguridad.count ? this._funcionesSeguridad.count : []
165
- };
166
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
167
- return puedeRealizarAccion$
168
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
169
- if (puedeRealizarAccion) {
170
- return rxjs_1.from(contar_registros_1.contarRegistros(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
171
- }
172
- else {
173
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
174
- }
175
- }), operators_1.map((respuesta) => {
176
- if (respuesta.error) {
177
- return respuesta;
178
- }
179
- else {
180
- return { data: respuesta };
181
- }
182
- }));
183
- }
184
- requestFindOne(socketCliente, datos) {
185
- try {
186
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
187
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
188
- }
189
- }
190
- catch (e) {
191
- console.error(e);
192
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
193
- }
194
- const tipoPoliticaSeguridad = {
195
- socketio: {
196
- datos,
197
- socketCliente
198
- }
199
- };
200
- const objetoPoliticasDeSeguridad = {
201
- funciones: this._funcionesSeguridad.findOne ? this._funcionesSeguridad.findOne : []
202
- };
203
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
204
- return puedeRealizarAccion$
205
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
206
- if (puedeRealizarAccion) {
207
- return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, datos.id, this._servicio, this._mensajes.encontrarUno, true));
208
- }
209
- else {
210
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
211
- }
212
- }), operators_1.map((respuesta) => {
213
- if (respuesta.error) {
214
- return respuesta;
215
- }
216
- else {
217
- return { data: respuesta };
218
- }
219
- }));
220
- }
221
- requestCreateOne(socketCliente, datos) {
222
- if (!datos.nuevoRegistro || typeof datos.nuevoRegistro !== 'object') {
223
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.crearUno });
224
- }
225
- const tipoPoliticaSeguridad = {
226
- socketio: {
227
- datos,
228
- socketCliente
229
- }
230
- };
231
- const objetoPoliticasDeSeguridad = {
232
- funciones: this._funcionesSeguridad.createOne ? this._funcionesSeguridad.createOne : []
233
- };
234
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
235
- return puedeRealizarAccion$
236
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
237
- if (puedeRealizarAccion) {
238
- return rxjs_1.from(crear_un_registro_1.crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, true));
239
- }
240
- else {
241
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
242
- }
243
- }), operators_1.map((respuesta) => {
244
- if (respuesta.error) {
245
- return respuesta;
246
- }
247
- else {
248
- const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.createOne;
249
- if (tieneConfiguracionDeBroadcast) {
250
- const hacerBroadcast = this._configuracionBroadcast.createOne.broadcast;
251
- const tieneFuncionRoom = this._configuracionBroadcast.createOne.funcionJoin;
252
- if (hacerBroadcast && !tieneFuncionRoom) {
253
- console.info('Ejecutando broadcast');
254
- socketCliente
255
- .broadcast
256
- .emit('createdOne', { data: respuesta });
257
- }
258
- if (tieneFuncionRoom) {
259
- console.info('Ejecutando funcion join');
260
- tieneFuncionRoom(socketCliente, datos, this.contexto);
261
- }
262
- }
263
- return { data: respuesta };
264
- }
265
- }));
266
- }
267
- requestDeleteOne(socketCliente, datos) {
268
- try {
269
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
270
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
271
- }
272
- }
273
- catch (e) {
274
- console.error(e);
275
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
276
- }
277
- const tipoPoliticaSeguridad = {
278
- socketio: {
279
- datos,
280
- socketCliente
281
- }
282
- };
283
- const objetoPoliticasDeSeguridad = {
284
- funciones: this._funcionesSeguridad.deleteOne ? this._funcionesSeguridad.deleteOne : []
285
- };
286
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
287
- return puedeRealizarAccion$
288
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
289
- if (puedeRealizarAccion) {
290
- return rxjs_1.from(eliminar_uno_1.eliminarUno(datos.id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, true));
291
- }
292
- else {
293
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
294
- }
295
- }), operators_1.map((respuesta) => {
296
- if (respuesta.error) {
297
- return respuesta;
298
- }
299
- else {
300
- const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.deleteOne;
301
- if (tieneConfiguracionDeBroadcast) {
302
- const hacerBroadcast = this._configuracionBroadcast.deleteOne.broadcast;
303
- const tieneFuncionRoom = this._configuracionBroadcast.deleteOne.funcionJoin;
304
- if (hacerBroadcast && !tieneFuncionRoom) {
305
- console.info('Ejecutando broadcast');
306
- socketCliente
307
- .broadcast
308
- .emit('deletedOne', { data: respuesta });
309
- }
310
- if (tieneFuncionRoom) {
311
- console.info('Ejecutando funcion join');
312
- tieneFuncionRoom(socketCliente, datos, this.contexto);
313
- }
314
- }
315
- return { data: respuesta };
316
- }
317
- }));
318
- }
319
- requestUpdateOne(socketCliente, datos) {
320
- if (!datos.registroaActualizar || typeof datos.registroaActualizar !== 'object') {
321
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.crearUno });
322
- }
323
- try {
324
- if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
325
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
326
- }
327
- }
328
- catch (e) {
329
- console.error(e);
330
- return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
331
- }
332
- const tipoPoliticaSeguridad = {
333
- socketio: {
334
- datos,
335
- socketCliente
336
- }
337
- };
338
- const objetoPoliticasDeSeguridad = {
339
- funciones: this._funcionesSeguridad.updateOne ? this._funcionesSeguridad.updateOne : []
340
- };
341
- const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
342
- return puedeRealizarAccion$
343
- .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
344
- 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));
346
- }
347
- else {
348
- return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
349
- }
350
- }), operators_1.map((respuesta) => {
351
- if (respuesta.error) {
352
- return respuesta;
353
- }
354
- else {
355
- const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.updateOne;
356
- if (tieneConfiguracionDeBroadcast) {
357
- const hacerBroadcast = this._configuracionBroadcast.updateOne.broadcast;
358
- const tieneFuncionRoom = this._configuracionBroadcast.updateOne.funcionJoin;
359
- if (hacerBroadcast && !tieneFuncionRoom) {
360
- console.info('Ejecutando broadcast');
361
- socketCliente
362
- .broadcast
363
- .emit('updatedOne', { data: respuesta });
364
- }
365
- if (tieneFuncionRoom) {
366
- console.info('Ejecutando funcion join');
367
- tieneFuncionRoom(socketCliente, datos, this.contexto);
368
- }
369
- }
370
- return { data: respuesta };
371
- }
372
- }));
373
- }
374
- }
375
- __decorate([
376
- websockets_1.SubscribeMessage('solicitarEstablecerSocketId')
377
- ], PrincipalGateway.prototype, "solicitarEstablecerSocketId", null);
378
- __decorate([
379
- websockets_1.SubscribeMessage('requestFindAll')
380
- ], PrincipalGateway.prototype, "requestFindAll", null);
381
- __decorate([
382
- websockets_1.SubscribeMessage('requestFindWhereOr')
383
- ], PrincipalGateway.prototype, "requestFindWhereOr", null);
384
- __decorate([
385
- websockets_1.SubscribeMessage('requestCount')
386
- ], PrincipalGateway.prototype, "count", null);
387
- __decorate([
388
- websockets_1.SubscribeMessage('requestFindOne')
389
- ], PrincipalGateway.prototype, "requestFindOne", null);
390
- __decorate([
391
- websockets_1.SubscribeMessage('requestCreateOne')
392
- ], PrincipalGateway.prototype, "requestCreateOne", null);
393
- __decorate([
394
- websockets_1.SubscribeMessage('requestDeleteOne')
395
- ], PrincipalGateway.prototype, "requestDeleteOne", null);
396
- __decorate([
397
- websockets_1.SubscribeMessage('requestUpdateOne')
398
- ], PrincipalGateway.prototype, "requestUpdateOne", null);
399
- exports.PrincipalGateway = PrincipalGateway;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const websockets_1 = require("@nestjs/websockets");
10
+ const aplicar_politicas_de_seguridad_1 = require("./seguridad/aplicar-politicas-de-seguridad");
11
+ const rxjs_1 = require("rxjs");
12
+ const operators_1 = require("rxjs/operators");
13
+ const buscar_registro_1 = require("./funciones-util/buscar-registro");
14
+ const principal_find_many_options_1 = require("./principal.find-many-options");
15
+ const buscar_un_registro_por_id_1 = require("./funciones-util/buscar-un-registro-por-id");
16
+ const principal_id_1 = require("./principal.id");
17
+ const crear_un_registro_1 = require("./funciones-util/crear-un-registro");
18
+ const eliminar_uno_1 = require("./funciones-util/eliminar-uno");
19
+ const editar_un_registro_1 = require("./funciones-util/editar-un-registro");
20
+ const contar_registros_1 = require("./funciones-util/contar-registros");
21
+ const buscar_where_or_1 = require("./funciones-util/buscar-where-or");
22
+ const io = require('socket.io-client');
23
+ class PrincipalGateway {
24
+ constructor(_ip, _namespace, _secreto, _funciones, _configuracionBroadcast, _funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
25
+ encontrarUno: 'Id incorrecto',
26
+ crearUno: 'Registro inválido',
27
+ actualizarUno: 'Error al actualizar',
28
+ eliminarUno: 'Error al eliminar'
29
+ }, contexto) {
30
+ this._ip = _ip;
31
+ this._namespace = _namespace;
32
+ this._secreto = _secreto;
33
+ this._funciones = _funciones;
34
+ this._configuracionBroadcast = _configuracionBroadcast;
35
+ this._funcionesSeguridad = _funcionesSeguridad;
36
+ this._servicio = _servicio;
37
+ this._dto = _dto;
38
+ this._skip = _skip;
39
+ this._take = _take;
40
+ this._mensajes = _mensajes;
41
+ this.contexto = contexto;
42
+ }
43
+ afterInit(server) {
44
+ console.log('Init ' + this._namespace);
45
+ if (this._funciones.afterInit) {
46
+ console.info('Ejecutando funcion init');
47
+ this._funciones.afterInit(server);
48
+ }
49
+ this.socket = io(this._ip + this._namespace);
50
+ this.socket.on('connect', () => {
51
+ this.socket
52
+ .emit('solicitarEstablecerSocketId', { secreto: this._secreto }, (respuesta) => {
53
+ console.log(respuesta);
54
+ });
55
+ });
56
+ this.socket.on('error', (e) => {
57
+ console.log('Error', e);
58
+ });
59
+ this.socket.on('updatedOne', (registroActualizado) => {
60
+ console.info('updatedOne: ', registroActualizado);
61
+ });
62
+ this.socket.on('createdOne', (registroCreado) => {
63
+ console.info('createdOne: ', registroCreado);
64
+ });
65
+ this.socket.on('deletedOne', (registroEliminado) => {
66
+ console.info('deletedOne: ', registroEliminado);
67
+ });
68
+ }
69
+ handleConnection(client, ...args) {
70
+ console.info(this._namespace + ': conexion de cliente: ', client.id, args);
71
+ if (this._funciones.handleConnection) {
72
+ console.log('Ejecutando funcion handleConnection');
73
+ this._funciones.handleConnection(client, ...args);
74
+ }
75
+ }
76
+ handleDisconnect(client) {
77
+ console.info('Empresa: desconexion de cliente: ', client.id);
78
+ if (this._funciones.handleDisconnect) {
79
+ console.log('Ejecutando funcion handleDisconnect');
80
+ this._funciones.handleConnection(client);
81
+ }
82
+ }
83
+ solicitarEstablecerSocketId(socketCliente, datos) {
84
+ const secreto = datos.secreto;
85
+ if (secreto) {
86
+ if (secreto === this._secreto) {
87
+ this.socketId = socketCliente.id;
88
+ return { mensaje: 'ok' };
89
+ }
90
+ else {
91
+ console.error('No envia secreto correcto', socketCliente.id);
92
+ return { error: 400, mensaje: 'Peticion invalida' };
93
+ }
94
+ }
95
+ else {
96
+ console.error('No envia secreto', socketCliente.id);
97
+ return { error: 400, mensaje: 'Peticion invalida' };
98
+ }
99
+ }
100
+ requestFindAll(socketCliente, datos) {
101
+ const tipoPoliticaSeguridad = {
102
+ socketio: {
103
+ datos,
104
+ socketCliente
105
+ }
106
+ };
107
+ const objetoPoliticasDeSeguridad = {
108
+ funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
109
+ };
110
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
111
+ return puedeRealizarAccion$
112
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
113
+ if (puedeRealizarAccion) {
114
+ return rxjs_1.from(buscar_registro_1.buscarVariosRegistros(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
115
+ }
116
+ else {
117
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
118
+ }
119
+ }), operators_1.map((respuesta) => {
120
+ if (respuesta.error) {
121
+ return respuesta;
122
+ }
123
+ else {
124
+ return { data: respuesta };
125
+ }
126
+ }));
127
+ }
128
+ requestFindWhereOr(socketCliente, datos) {
129
+ const tipoPoliticaSeguridad = {
130
+ socketio: {
131
+ datos,
132
+ socketCliente
133
+ }
134
+ };
135
+ const objetoPoliticasDeSeguridad = {
136
+ funciones: this._funcionesSeguridad.findWhereOr ? this._funcionesSeguridad.findWhereOr : []
137
+ };
138
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
139
+ return puedeRealizarAccion$
140
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
141
+ if (puedeRealizarAccion) {
142
+ return rxjs_1.from(buscar_where_or_1.buscarWhereOr(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
143
+ }
144
+ else {
145
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
146
+ }
147
+ }), operators_1.map((respuesta) => {
148
+ if (respuesta.error) {
149
+ return respuesta;
150
+ }
151
+ else {
152
+ return { data: respuesta };
153
+ }
154
+ }));
155
+ }
156
+ count(socketCliente, datos) {
157
+ const tipoPoliticaSeguridad = {
158
+ socketio: {
159
+ datos,
160
+ socketCliente
161
+ }
162
+ };
163
+ const objetoPoliticasDeSeguridad = {
164
+ funciones: this._funcionesSeguridad.count ? this._funcionesSeguridad.count : []
165
+ };
166
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
167
+ return puedeRealizarAccion$
168
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
169
+ if (puedeRealizarAccion) {
170
+ return rxjs_1.from(contar_registros_1.contarRegistros(datos.criterioBusqueda, principal_find_many_options_1.PrincipalFindManyOptions, this._skip, this._take, this._servicio));
171
+ }
172
+ else {
173
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
174
+ }
175
+ }), operators_1.map((respuesta) => {
176
+ if (respuesta.error) {
177
+ return respuesta;
178
+ }
179
+ else {
180
+ return { data: respuesta };
181
+ }
182
+ }));
183
+ }
184
+ requestFindOne(socketCliente, datos) {
185
+ try {
186
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
187
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
188
+ }
189
+ }
190
+ catch (e) {
191
+ console.error(e);
192
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
193
+ }
194
+ const tipoPoliticaSeguridad = {
195
+ socketio: {
196
+ datos,
197
+ socketCliente
198
+ }
199
+ };
200
+ const objetoPoliticasDeSeguridad = {
201
+ funciones: this._funcionesSeguridad.findOne ? this._funcionesSeguridad.findOne : []
202
+ };
203
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
204
+ return puedeRealizarAccion$
205
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
206
+ if (puedeRealizarAccion) {
207
+ return rxjs_1.from(buscar_un_registro_por_id_1.buscarRegistroPorId(principal_id_1.PrincipalId, datos.id, this._servicio, this._mensajes.encontrarUno, true));
208
+ }
209
+ else {
210
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
211
+ }
212
+ }), operators_1.map((respuesta) => {
213
+ if (respuesta.error) {
214
+ return respuesta;
215
+ }
216
+ else {
217
+ return { data: respuesta };
218
+ }
219
+ }));
220
+ }
221
+ requestCreateOne(socketCliente, datos) {
222
+ if (!datos.nuevoRegistro || typeof datos.nuevoRegistro !== 'object') {
223
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.crearUno });
224
+ }
225
+ const tipoPoliticaSeguridad = {
226
+ socketio: {
227
+ datos,
228
+ socketCliente
229
+ }
230
+ };
231
+ const objetoPoliticasDeSeguridad = {
232
+ funciones: this._funcionesSeguridad.createOne ? this._funcionesSeguridad.createOne : []
233
+ };
234
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
235
+ return puedeRealizarAccion$
236
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
237
+ if (puedeRealizarAccion) {
238
+ return rxjs_1.from(crear_un_registro_1.crearUnRegistro(datos.nuevoRegistro, this._servicio, this._dto.CreateDto, this._mensajes.crearUno, true));
239
+ }
240
+ else {
241
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
242
+ }
243
+ }), operators_1.map((respuesta) => {
244
+ if (respuesta.error) {
245
+ return respuesta;
246
+ }
247
+ else {
248
+ const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.createOne;
249
+ if (tieneConfiguracionDeBroadcast) {
250
+ const hacerBroadcast = this._configuracionBroadcast.createOne.broadcast;
251
+ const tieneFuncionRoom = this._configuracionBroadcast.createOne.funcionJoin;
252
+ if (hacerBroadcast && !tieneFuncionRoom) {
253
+ console.info('Ejecutando broadcast');
254
+ socketCliente
255
+ .broadcast
256
+ .emit('createdOne', { data: respuesta });
257
+ }
258
+ if (tieneFuncionRoom) {
259
+ console.info('Ejecutando funcion join');
260
+ tieneFuncionRoom(socketCliente, datos, this.contexto);
261
+ }
262
+ }
263
+ return { data: respuesta };
264
+ }
265
+ }));
266
+ }
267
+ requestDeleteOne(socketCliente, datos) {
268
+ try {
269
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
270
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
271
+ }
272
+ }
273
+ catch (e) {
274
+ console.error(e);
275
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
276
+ }
277
+ const tipoPoliticaSeguridad = {
278
+ socketio: {
279
+ datos,
280
+ socketCliente
281
+ }
282
+ };
283
+ const objetoPoliticasDeSeguridad = {
284
+ funciones: this._funcionesSeguridad.deleteOne ? this._funcionesSeguridad.deleteOne : []
285
+ };
286
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
287
+ return puedeRealizarAccion$
288
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
289
+ if (puedeRealizarAccion) {
290
+ return rxjs_1.from(eliminar_uno_1.eliminarUno(datos.id, principal_id_1.PrincipalId, this._servicio, this._mensajes.eliminarUno, true));
291
+ }
292
+ else {
293
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
294
+ }
295
+ }), operators_1.map((respuesta) => {
296
+ if (respuesta.error) {
297
+ return respuesta;
298
+ }
299
+ else {
300
+ const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.deleteOne;
301
+ if (tieneConfiguracionDeBroadcast) {
302
+ const hacerBroadcast = this._configuracionBroadcast.deleteOne.broadcast;
303
+ const tieneFuncionRoom = this._configuracionBroadcast.deleteOne.funcionJoin;
304
+ if (hacerBroadcast && !tieneFuncionRoom) {
305
+ console.info('Ejecutando broadcast');
306
+ socketCliente
307
+ .broadcast
308
+ .emit('deletedOne', { data: respuesta });
309
+ }
310
+ if (tieneFuncionRoom) {
311
+ console.info('Ejecutando funcion join');
312
+ tieneFuncionRoom(socketCliente, datos, this.contexto);
313
+ }
314
+ }
315
+ return { data: respuesta };
316
+ }
317
+ }));
318
+ }
319
+ requestUpdateOne(socketCliente, datos) {
320
+ if (!datos.registroaActualizar || typeof datos.registroaActualizar !== 'object') {
321
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.crearUno });
322
+ }
323
+ try {
324
+ if (!datos.id || typeof datos.id !== 'string' || Number(datos.id).toString() === "NaN") {
325
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
326
+ }
327
+ }
328
+ catch (e) {
329
+ console.error(e);
330
+ return rxjs_1.of({ error: 400, mensaje: this._mensajes.encontrarUno });
331
+ }
332
+ const tipoPoliticaSeguridad = {
333
+ socketio: {
334
+ datos,
335
+ socketCliente
336
+ }
337
+ };
338
+ const objetoPoliticasDeSeguridad = {
339
+ funciones: this._funcionesSeguridad.updateOne ? this._funcionesSeguridad.updateOne : []
340
+ };
341
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
342
+ return puedeRealizarAccion$
343
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
344
+ 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));
346
+ }
347
+ else {
348
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
349
+ }
350
+ }), operators_1.map((respuesta) => {
351
+ if (respuesta.error) {
352
+ return respuesta;
353
+ }
354
+ else {
355
+ const tieneConfiguracionDeBroadcast = this._configuracionBroadcast.updateOne;
356
+ if (tieneConfiguracionDeBroadcast) {
357
+ const hacerBroadcast = this._configuracionBroadcast.updateOne.broadcast;
358
+ const tieneFuncionRoom = this._configuracionBroadcast.updateOne.funcionJoin;
359
+ if (hacerBroadcast && !tieneFuncionRoom) {
360
+ console.info('Ejecutando broadcast');
361
+ socketCliente
362
+ .broadcast
363
+ .emit('updatedOne', { data: respuesta });
364
+ }
365
+ if (tieneFuncionRoom) {
366
+ console.info('Ejecutando funcion join');
367
+ tieneFuncionRoom(socketCliente, datos, this.contexto);
368
+ }
369
+ }
370
+ return { data: respuesta };
371
+ }
372
+ }));
373
+ }
374
+ }
375
+ __decorate([
376
+ websockets_1.SubscribeMessage('solicitarEstablecerSocketId')
377
+ ], PrincipalGateway.prototype, "solicitarEstablecerSocketId", null);
378
+ __decorate([
379
+ websockets_1.SubscribeMessage('requestFindAll')
380
+ ], PrincipalGateway.prototype, "requestFindAll", null);
381
+ __decorate([
382
+ websockets_1.SubscribeMessage('requestFindWhereOr')
383
+ ], PrincipalGateway.prototype, "requestFindWhereOr", null);
384
+ __decorate([
385
+ websockets_1.SubscribeMessage('requestCount')
386
+ ], PrincipalGateway.prototype, "count", null);
387
+ __decorate([
388
+ websockets_1.SubscribeMessage('requestFindOne')
389
+ ], PrincipalGateway.prototype, "requestFindOne", null);
390
+ __decorate([
391
+ websockets_1.SubscribeMessage('requestCreateOne')
392
+ ], PrincipalGateway.prototype, "requestCreateOne", null);
393
+ __decorate([
394
+ websockets_1.SubscribeMessage('requestDeleteOne')
395
+ ], PrincipalGateway.prototype, "requestDeleteOne", null);
396
+ __decorate([
397
+ websockets_1.SubscribeMessage('requestUpdateOne')
398
+ ], PrincipalGateway.prototype, "requestUpdateOne", null);
399
+ exports.PrincipalGateway = PrincipalGateway;
400
400
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLmdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsbURBQXNEO0FBSXRELCtGQUF5RjtBQUd6RiwrQkFBNEM7QUFDNUMsOENBQStDO0FBQy9DLHNFQUF5RTtBQUN6RSwrRUFBeUU7QUFDekUsMEZBQWlGO0FBQ2pGLGlEQUE2QztBQUU3QywwRUFBcUU7QUFHckUsZ0VBQTREO0FBQzVELDRFQUF1RTtBQUN2RSx3RUFBb0U7QUFDcEUsc0VBQWlFO0FBQ2pFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBR3ZDO0lBS0ksWUFBNkIsR0FBVyxFQUNuQixVQUFrQixFQUNsQixRQUFnQixFQUNoQixVQUE0QixFQUM1Qix1QkFBc0QsRUFDdEQsbUJBQXVDLEVBQ3ZDLFNBQVMsRUFDVCxJQUFrQixFQUNsQixRQUFRLENBQUMsRUFDVCxRQUFRLEVBQUUsRUFDVixZQUFnQztRQUM3QyxZQUFZLEVBQUUsZUFBZTtRQUM3QixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsV0FBVyxFQUFFLG1CQUFtQjtLQUNuQyxFQUNTLFFBQWE7UUFoQkUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUErQjtRQUN0RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQUE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQUk7UUFDVCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1YsY0FBUyxHQUFULFNB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