@manticore-labs/nest 0.0.117 → 0.1.2

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 (255) hide show
  1. package/.idea/workspace.xml +71 -33
  2. package/README.md +1 -0
  3. package/build/main/index.d.ts +21 -0
  4. package/build/main/index.js +84 -29
  5. package/build/main/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +11 -4
  6. package/build/main/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +11 -4
  7. package/build/main/lib/auth0/auth0.controller.js +51 -13
  8. package/build/main/lib/auth0/auth0.service.d.ts +8 -4
  9. package/build/main/lib/auth0/auth0.service.js +30 -4
  10. package/build/main/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +11 -4
  11. package/build/main/lib/auth0/seguridad-jwt-moviles/check-jwt.js +2 -1
  12. package/build/main/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +2 -1
  13. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  14. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.js +39 -0
  15. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  16. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.js +3 -0
  17. package/build/main/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
  18. package/build/main/lib/decoradores/mlab-swagger/constantes.js +24 -0
  19. package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
  20. package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +20 -0
  21. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
  22. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +40 -0
  23. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
  24. package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +89 -0
  25. package/build/main/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
  26. package/build/main/lib/decoradores/mlab-swagger/interfaces.js +3 -0
  27. package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
  28. package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.js +49 -0
  29. package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
  30. package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +14 -0
  31. package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
  32. package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +26 -0
  33. package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
  34. package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +3 -0
  35. package/build/main/lib/expresiones-regulares/letras-espacios-tildes-enie.js +2 -1
  36. package/build/main/lib/funciones-util/buscar-registro.js +3 -2
  37. package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +2 -1
  38. package/build/main/lib/funciones-util/buscar-where-or.js +2 -1
  39. package/build/main/lib/funciones-util/contar-registros.js +2 -1
  40. package/build/main/lib/funciones-util/crear-un-registro.js +2 -1
  41. package/build/main/lib/funciones-util/editar-un-registro.js +2 -1
  42. package/build/main/lib/funciones-util/eliminar-uno.js +2 -1
  43. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +3 -2
  44. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.js +2 -1
  45. package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +2 -1
  46. package/build/main/lib/funciones-util/funciones-busqueda/verificar-campo.js +2 -1
  47. package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +2 -1
  48. package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +2 -1
  49. package/build/main/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +2 -1
  50. package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +8 -2
  51. package/build/main/lib/google-cloud/google-cloud-storage.service.js +7 -2
  52. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  53. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.js +5 -0
  54. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  55. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +55 -0
  56. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  57. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +9 -0
  58. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  59. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +29 -0
  60. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  61. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +91 -0
  62. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  63. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +3 -0
  64. package/build/main/lib/interfaces-util/campos-a-buscar.js +2 -1
  65. package/build/main/lib/menu/entities/menu-entity.js +31 -12
  66. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  67. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.js +71 -0
  68. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  69. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.js +154 -0
  70. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  71. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.js +30 -0
  72. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  73. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.js +114 -0
  74. package/build/main/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  75. package/build/main/lib/modulos-configuracion/base-datos/constantes.js +6 -0
  76. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  77. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +22 -0
  78. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  79. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +13 -0
  80. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  81. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +11 -0
  82. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  83. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +34 -0
  84. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  85. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +3 -0
  86. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  87. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +3 -0
  88. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  89. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +3 -0
  90. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  91. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +3 -0
  92. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  93. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +3 -0
  94. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  95. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +3 -0
  96. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  97. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +14 -0
  98. package/build/main/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  99. package/build/main/lib/mongo-configuracion-indice.interface.js +3 -0
  100. package/build/main/lib/one-signal/one-signal.controller.js +35 -9
  101. package/build/main/lib/one-signal/one-signal.service.js +7 -2
  102. package/build/main/lib/politicas/revisar-si-tiene-nombre-permiso.js +2 -1
  103. package/build/main/lib/politicas/revisar-si-tiene-rol.js +2 -1
  104. package/build/main/lib/principal-mongo.controller.d.ts +11 -0
  105. package/build/main/lib/principal-mongo.controller.js +82 -0
  106. package/build/main/lib/principal-mongo.service.d.ts +10 -0
  107. package/build/main/lib/principal-mongo.service.js +45 -0
  108. package/build/main/lib/principal.controller.d.ts +13 -11
  109. package/build/main/lib/principal.controller.js +33 -8
  110. package/build/main/lib/principal.dto.js +11 -4
  111. package/build/main/lib/principal.entity.js +19 -6
  112. package/build/main/lib/principal.find-many-options.js +25 -11
  113. package/build/main/lib/principal.find-many-where-or.js +13 -5
  114. package/build/main/lib/principal.gateway.js +37 -9
  115. package/build/main/lib/principal.http.service.d.ts +13 -0
  116. package/build/main/lib/principal.http.service.js +26 -0
  117. package/build/main/lib/principal.id.js +7 -2
  118. package/build/main/lib/principal.resolver.js +33 -8
  119. package/build/main/lib/principal.service.d.ts +18 -7
  120. package/build/main/lib/principal.service.js +90 -4
  121. package/build/main/lib/seguridad/aplicar-politicas-de-seguridad.js +2 -1
  122. package/build/main/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +2 -1
  123. package/build/main/lib/seguridad/funciones/index.js +7 -6
  124. package/build/main/lib/seguridad/funciones/obtener-reflector-seguridad.js +2 -1
  125. package/build/main/lib/seguridad/funciones/obtener-request.js +2 -1
  126. package/build/main/lib/seguridad/funciones/obtener-response.js +2 -1
  127. package/build/main/lib/seguridad/funciones/tiene-acceso-permitido.js +2 -1
  128. package/build/main/lib/seguridad/seguridad.decorator.d.ts +1 -1
  129. package/build/main/lib/seguridad/seguridad.decorator.js +3 -2
  130. package/build/module/index.d.ts +21 -0
  131. package/build/module/index.js +49 -1
  132. package/build/module/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +10 -4
  133. package/build/module/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +10 -4
  134. package/build/module/lib/auth0/auth0.controller.js +50 -13
  135. package/build/module/lib/auth0/auth0.service.d.ts +8 -4
  136. package/build/module/lib/auth0/auth0.service.js +29 -4
  137. package/build/module/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +10 -4
  138. package/build/module/lib/auth0/seguridad-jwt-moviles/check-jwt.js +1 -1
  139. package/build/module/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +1 -1
  140. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  141. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.js +35 -0
  142. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  143. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.js +1 -0
  144. package/build/module/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
  145. package/build/module/lib/decoradores/mlab-swagger/constantes.js +21 -0
  146. package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
  147. package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +16 -0
  148. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
  149. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +48 -0
  150. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
  151. package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +93 -0
  152. package/build/module/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
  153. package/build/module/lib/decoradores/mlab-swagger/interfaces.js +1 -0
  154. package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
  155. package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.js +45 -0
  156. package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
  157. package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +10 -0
  158. package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
  159. package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +22 -0
  160. package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
  161. package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +1 -0
  162. package/build/module/lib/funciones-util/buscar-registro.js +1 -1
  163. package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +1 -1
  164. package/build/module/lib/funciones-util/buscar-where-or.js +1 -1
  165. package/build/module/lib/funciones-util/contar-registros.js +1 -1
  166. package/build/module/lib/funciones-util/crear-un-registro.js +1 -1
  167. package/build/module/lib/funciones-util/editar-un-registro.js +1 -1
  168. package/build/module/lib/funciones-util/eliminar-uno.js +1 -1
  169. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +1 -1
  170. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.js +1 -1
  171. package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +1 -1
  172. package/build/module/lib/funciones-util/funciones-busqueda/verificar-campo.js +1 -1
  173. package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +1 -1
  174. package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +1 -1
  175. package/build/module/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +1 -1
  176. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
  177. package/build/module/lib/google-cloud/google-cloud-storage.service.js +6 -2
  178. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  179. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.js +2 -0
  180. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  181. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +52 -0
  182. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  183. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +5 -0
  184. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  185. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +26 -0
  186. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  187. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +88 -0
  188. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  189. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +1 -0
  190. package/build/module/lib/interfaces-util/campos-a-buscar.js +1 -1
  191. package/build/module/lib/menu/entities/menu-entity.js +30 -12
  192. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  193. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.js +68 -0
  194. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  195. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.js +150 -0
  196. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  197. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.js +27 -0
  198. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  199. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.js +111 -0
  200. package/build/module/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  201. package/build/module/lib/modulos-configuracion/base-datos/constantes.js +3 -0
  202. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  203. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +18 -0
  204. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  205. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +9 -0
  206. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  207. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +7 -0
  208. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  209. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +30 -0
  210. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  211. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +1 -0
  212. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  213. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +1 -0
  214. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  215. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +1 -0
  216. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  217. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +1 -0
  218. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  219. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +1 -0
  220. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  221. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +1 -0
  222. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  223. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +10 -0
  224. package/build/module/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  225. package/build/module/lib/mongo-configuracion-indice.interface.js +1 -0
  226. package/build/module/lib/one-signal/one-signal.controller.js +34 -9
  227. package/build/module/lib/one-signal/one-signal.service.js +7 -3
  228. package/build/module/lib/politicas/revisar-si-tiene-nombre-permiso.js +1 -1
  229. package/build/module/lib/politicas/revisar-si-tiene-rol.js +1 -1
  230. package/build/module/lib/principal-mongo.controller.d.ts +11 -0
  231. package/build/module/lib/principal-mongo.controller.js +78 -0
  232. package/build/module/lib/principal-mongo.service.d.ts +10 -0
  233. package/build/module/lib/principal-mongo.service.js +41 -0
  234. package/build/module/lib/principal.controller.d.ts +13 -11
  235. package/build/module/lib/principal.controller.js +32 -8
  236. package/build/module/lib/principal.dto.js +10 -4
  237. package/build/module/lib/principal.entity.js +18 -6
  238. package/build/module/lib/principal.find-many-options.js +24 -11
  239. package/build/module/lib/principal.find-many-where-or.js +12 -5
  240. package/build/module/lib/principal.gateway.js +37 -10
  241. package/build/module/lib/principal.http.service.d.ts +13 -0
  242. package/build/module/lib/principal.http.service.js +22 -0
  243. package/build/module/lib/principal.id.js +6 -2
  244. package/build/module/lib/principal.resolver.js +32 -8
  245. package/build/module/lib/principal.service.d.ts +18 -7
  246. package/build/module/lib/principal.service.js +89 -4
  247. package/build/module/lib/seguridad/aplicar-politicas-de-seguridad.js +1 -1
  248. package/build/module/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +1 -1
  249. package/build/module/lib/seguridad/funciones/obtener-reflector-seguridad.js +1 -1
  250. package/build/module/lib/seguridad/funciones/obtener-request.js +1 -1
  251. package/build/module/lib/seguridad/funciones/obtener-response.js +1 -1
  252. package/build/module/lib/seguridad/funciones/tiene-acceso-permitido.js +1 -1
  253. package/build/module/lib/seguridad/seguridad.decorator.d.ts +1 -1
  254. package/build/module/lib/seguridad/seguridad.decorator.js +3 -3
  255. package/package.json +18 -10
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwagerDelegator = void 0;
4
+ const swagger_helpers_1 = require("../helpers/swagger-helpers");
5
+ // Clase donde sus metodos son estaticos y retornar la accion
6
+ // que delegara la construccion o modificacion de la metadata de la clase
7
+ class SwagerDelegator {
8
+ static delegateApiResponseCB(methodName, target) {
9
+ return (configObject) => {
10
+ swagger_helpers_1.SwaggerHelper.construirApiResponse(configObject, methodName, target);
11
+ };
12
+ }
13
+ static delegateApiHeaderCB(methodName, target) {
14
+ return (configObject) => {
15
+ swagger_helpers_1.SwaggerHelper.buildApiHeaders(configObject, methodName, target);
16
+ };
17
+ }
18
+ }
19
+ exports.SwagerDelegator = SwagerDelegator;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhZG9yZXMtc3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2RlbGVnYWRvcmVzL2RlbGVnYWRvcmVzLXN3YWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsZ0VBQTJEO0FBRzNELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFFekUsTUFBYSxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDMUIsVUFBc0IsRUFDdEIsTUFBaUI7UUFFakIsT0FBTyxDQUFDLFlBQWdDLEVBQUUsRUFBRTtZQUMxQywrQkFBYSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FDeEIsVUFBc0IsRUFDdEIsTUFBaUI7UUFFakIsT0FBTyxDQUFDLFlBQThCLEVBQUUsRUFBRTtZQUN4QywrQkFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxCRCwwQ0FrQkMifQ==
@@ -0,0 +1,8 @@
1
+ import { BaseConfig, CreateUpdateOneConfigInterface, MetodoCrud, Prototype } from '../interfaces';
2
+ import { ApiHeaderOptions, ApiResponseOptions } from '@nestjs/swagger';
3
+ export declare class SwaggerHelper {
4
+ static construirApiBody(configuracion: CreateUpdateOneConfigInterface, nombreMetodo: MetodoCrud, target: Prototype): void;
5
+ static construirApiQuery(configuracion: BaseConfig, nombreMetodo: MetodoCrud, target: Prototype): void;
6
+ static construirApiResponse(configuracion: ApiResponseOptions, nombreMetodo: MetodoCrud, target: Prototype): void;
7
+ static buildApiHeaders(configuracion: ApiHeaderOptions, nombreMetodo: MetodoCrud, target: Prototype): void;
8
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwaggerHelper = void 0;
4
+ const constants_1 = require("@nestjs/swagger/dist/constants");
5
+ const constantes_1 = require("../constantes");
6
+ const lodash_1 = require("lodash");
7
+ const swagger_params_helper_1 = require("./swagger-params-helper");
8
+ class SwaggerHelper {
9
+ static construirApiBody(configuracion, nombreMetodo, target) {
10
+ const params = swagger_params_helper_1.SwaggerParamsHelper.generarParametrosApiBody(configuracion.apiBody);
11
+ const metadataValue = Reflect.getMetadata(constants_1.DECORATORS.API_PARAMETERS, target.prototype[nombreMetodo]) || [];
12
+ Reflect.defineMetadata(constants_1.DECORATORS.API_PARAMETERS, [
13
+ ...metadataValue,
14
+ Object.assign(Object.assign({}, constantes_1.BODY_METADATA_DEFECTO), lodash_1.pickBy(params, lodash_1.negate(lodash_1.isUndefined)))
15
+ ], target.prototype[nombreMetodo]);
16
+ }
17
+ static construirApiQuery(configuracion, nombreMetodo, target) {
18
+ const params = swagger_params_helper_1.SwaggerParamsHelper.generarParametrosApiQuery(configuracion.apiQuery);
19
+ const metadataValue = Reflect.getMetadata(constants_1.DECORATORS.API_PARAMETERS, target.prototype[nombreMetodo]) || [];
20
+ Reflect.defineMetadata(constants_1.DECORATORS.API_PARAMETERS, [
21
+ ...metadataValue,
22
+ Object.assign(Object.assign({}, constantes_1.OPCIONES_QUERY_POR_DEFECTO), lodash_1.pickBy(params, lodash_1.negate(lodash_1.isUndefined)))
23
+ ], target.prototype[nombreMetodo]);
24
+ }
25
+ static construirApiResponse(configuracion, nombreMetodo, target) {
26
+ const params = swagger_params_helper_1.SwaggerParamsHelper.generarParametrosApiResponse(configuracion);
27
+ const metadataValue = Reflect.getMetadata(constants_1.DECORATORS.API_RESPONSE, target.prototype[nombreMetodo]) || {};
28
+ Reflect.defineMetadata(constants_1.DECORATORS.API_RESPONSE, Object.assign(Object.assign({}, metadataValue), params), target.prototype[nombreMetodo]);
29
+ }
30
+ static buildApiHeaders(configuracion, nombreMetodo, target) {
31
+ const params = swagger_params_helper_1.SwaggerParamsHelper.generarParametrosApiHeaders(configuracion);
32
+ const metadataValue = Reflect.getMetadata(constants_1.DECORATORS.API_PARAMETERS, target.prototype[nombreMetodo]) || [];
33
+ Reflect.defineMetadata(constants_1.DECORATORS.API_PARAMETERS, [
34
+ ...metadataValue,
35
+ Object.assign(Object.assign({}, constantes_1.OPCIONES_HEADER_DEFECTO), lodash_1.pickBy(params, lodash_1.negate(lodash_1.isUndefined)))
36
+ ], target.prototype[nombreMetodo]);
37
+ }
38
+ }
39
+ exports.SwaggerHelper = SwaggerHelper;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9tbGFiLXN3YWdnZXIvaGVscGVycy9zd2FnZ2VyLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsOERBQTREO0FBQzVELDhDQUEyRztBQUUzRyxtQ0FBbUQ7QUFDbkQsbUVBQThEO0FBRTlELE1BQWEsYUFBYTtJQUN4QixNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLGFBQTZDLEVBQzdDLFlBQXdCLEVBQ3hCLE1BQWlCO1FBRWpCLE1BQU0sTUFBTSxHQUFHLDJDQUFtQixDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUN2QyxzQkFBVSxDQUFDLGNBQWMsRUFDekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDL0IsSUFBSSxFQUFFLENBQUM7UUFDUixPQUFPLENBQUMsY0FBYyxDQUNwQixzQkFBVSxDQUFDLGNBQWMsRUFDekI7WUFDRSxHQUFHLGFBQWE7NENBRVgsa0NBQXFCLEdBQ3JCLGVBQU0sQ0FBQyxNQUFNLEVBQUUsZUFBTSxDQUFDLG9CQUFXLENBQUMsQ0FBQztTQUV6QyxFQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUN0QixhQUF5QixFQUN6QixZQUF3QixFQUN4QixNQUFpQjtRQUVqQixNQUFNLE1BQU0sR0FBRywyQ0FBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsUUFBMkIsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQ3ZDLHNCQUFVLENBQUMsY0FBYyxFQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQ3BCLHNCQUFVLENBQUMsY0FBYyxFQUN6QjtZQUNFLEdBQUcsYUFBYTs0Q0FFWCx1Q0FBMEIsR0FDMUIsZUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFNLENBQUMsb0JBQVcsQ0FBQyxDQUFDO1NBRXpDLEVBQ0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQ3pCLGFBQWlDLEVBQ2pDLFlBQXdCLEVBQ3hCLE1BQWlCO1FBRWpCLE1BQU0sTUFBTSxHQUFHLDJDQUFtQixDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQ3ZDLHNCQUFVLENBQUMsWUFBWSxFQUN2QixNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQ3BCLHNCQUFVLENBQUMsWUFBWSxrQ0FFbEIsYUFBYSxHQUNiLE1BQU0sR0FFWCxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQ3BCLGFBQStCLEVBQy9CLFlBQXdCLEVBQ3hCLE1BQWlCO1FBRWpCLE1BQU0sTUFBTSxHQUFHLDJDQUFtQixDQUFDLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQ3ZDLHNCQUFVLENBQUMsY0FBYyxFQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQ3BCLHNCQUFVLENBQUMsY0FBYyxFQUN6QjtZQUNFLEdBQUcsYUFBYTs0Q0FFWCxvQ0FBdUIsR0FDdkIsZUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFNLENBQUMsb0JBQVcsQ0FBQyxDQUFDO1NBRXpDLEVBQ0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJGRCxzQ0FxRkMifQ==
@@ -0,0 +1,13 @@
1
+ import { ApiBodyOptions, ApiHeaderOptions, ApiQueryOptions, ApiResponseOptions } from '@nestjs/swagger';
2
+ import { ApiBodyMetadata, ApiQueryMetadata, BaseConfig, MetodoCrud, Prototype } from '../interfaces';
3
+ export declare class SwaggerParamsHelper {
4
+ static generarParametrosApiHeaders(opciones: ApiHeaderOptions): any;
5
+ static generarParametrosApiResponse(opciones: ApiResponseOptions): {
6
+ [x: number]: Pick<ApiResponseOptions, "content" | "description" | "headers" | "links">;
7
+ };
8
+ static generarParametrosApiBody(options: ApiBodyOptions): ApiBodyMetadata & Record<string, any>;
9
+ static generarParametrosApiQuery(options: ApiQueryOptions): ApiQueryMetadata & Record<string, any>;
10
+ static establecerApiHeaders(responsesConfigList: ApiHeaderOptions[] | undefined, target: Prototype, methodName: MetodoCrud): void;
11
+ static establecerApiResponses(responsesConfigList: ApiResponseOptions[] | undefined, target: Prototype, methodName: MetodoCrud): void;
12
+ static establecerHeadersResponses(options: BaseConfig, methodName: MetodoCrud, target: any): void;
13
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwaggerParamsHelper = void 0;
4
+ const constantes_1 = require("../constantes");
5
+ const lodash_1 = require("lodash");
6
+ const enum_utils_1 = require("@nestjs/swagger/dist/utils/enum.utils");
7
+ const helpers_1 = require("@nestjs/swagger/dist/decorators/helpers");
8
+ const delegadores_swagger_1 = require("../delegadores/delegadores-swagger");
9
+ // Existen palabras en ingles dentro de la logica da cada metodo, estan asi
10
+ // dado que son parte de la estructura interna de las librerias del swagger.
11
+ class SwaggerParamsHelper {
12
+ // Los parametros de se generar en cada metodo seran utilizados para modificar
13
+ // la metadata de cada metodo de la clase
14
+ static generarParametrosApiHeaders(opciones) {
15
+ const parametros = {
16
+ name: lodash_1.isNil(opciones.name) ? constantes_1.OPCIONES_HEADER_DEFECTO.name : opciones.name,
17
+ in: 'header',
18
+ description: opciones.description,
19
+ required: opciones.required,
20
+ schema: {
21
+ type: 'string'
22
+ }
23
+ };
24
+ if (opciones.enum) {
25
+ const enumValues = enum_utils_1.getEnumValues(opciones.enum);
26
+ parametros.schema = {
27
+ enum: enumValues,
28
+ type: enum_utils_1.getEnumType(enumValues)
29
+ };
30
+ }
31
+ return parametros;
32
+ }
33
+ static generarParametrosApiResponse(opciones) {
34
+ const [type, isArray] = helpers_1.getTypeIsArrayTuple(opciones.type, opciones.isArray);
35
+ opciones.type = type;
36
+ opciones.isArray = isArray;
37
+ opciones.description = opciones.description ? opciones.description : '';
38
+ return { [opciones.status]: lodash_1.omit(opciones, 'status') };
39
+ }
40
+ static generarParametrosApiBody(options) {
41
+ const [type, isArray] = helpers_1.getTypeIsArrayTuple(options.type, options.isArray);
42
+ const param = Object.assign(Object.assign({ in: 'body' }, lodash_1.omit(options, 'enum')), { type,
43
+ isArray });
44
+ if (enum_utils_1.isEnumArray(options)) {
45
+ enum_utils_1.addEnumArraySchema(param, options);
46
+ }
47
+ else if (enum_utils_1.isEnumDefined(options)) {
48
+ enum_utils_1.addEnumSchema(param, options);
49
+ }
50
+ return param;
51
+ }
52
+ static generarParametrosApiQuery(options) {
53
+ const apiQueryMetadata = options;
54
+ const [type, isArray] = helpers_1.getTypeIsArrayTuple(apiQueryMetadata.type, apiQueryMetadata.isArray);
55
+ const name = constantes_1.OPCIONES_QUERY_POR_DEFECTO.name;
56
+ const param = Object.assign(Object.assign({
57
+ // @ts-ignore
58
+ name: lodash_1.isNil(options.name) ? name : options.name, in: 'query' }, lodash_1.omit(options, 'enum')), { type,
59
+ isArray });
60
+ if (enum_utils_1.isEnumArray(options)) {
61
+ enum_utils_1.addEnumArraySchema(param, options);
62
+ }
63
+ else if (enum_utils_1.isEnumDefined(options)) {
64
+ enum_utils_1.addEnumSchema(param, options);
65
+ }
66
+ return param;
67
+ }
68
+ // Este metodo es de ayuda para generar lo parametros API-HEADERS
69
+ static establecerApiHeaders(responsesConfigList, target, methodName) {
70
+ if (responsesConfigList && responsesConfigList.length > 0) {
71
+ responsesConfigList.forEach(delegadores_swagger_1.SwagerDelegator.delegateApiHeaderCB(methodName, target));
72
+ }
73
+ }
74
+ static establecerApiResponses(responsesConfigList, target, methodName) {
75
+ if (responsesConfigList && responsesConfigList.length > 0) {
76
+ responsesConfigList.forEach(delegadores_swagger_1.SwagerDelegator.delegateApiResponseCB(methodName, target));
77
+ }
78
+ }
79
+ static establecerHeadersResponses(options, methodName, target) {
80
+ if (options.responses && options.responses.length > 0) {
81
+ SwaggerParamsHelper.establecerApiResponses(options.responses, target, methodName);
82
+ }
83
+ if (options.headers && options.headers.length > 0) {
84
+ SwaggerParamsHelper.establecerApiHeaders(options.headers, target, methodName);
85
+ }
86
+ }
87
+ }
88
+ exports.SwaggerParamsHelper = SwaggerParamsHelper;
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci1wYXJhbXMtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9tbGFiLXN3YWdnZXIvaGVscGVycy9zd2FnZ2VyLXBhcmFtcy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsOENBQW9GO0FBQ3BGLG1DQUFtQztBQUNuQyxzRUFNK0M7QUFDL0MscUVBQThFO0FBRTlFLDRFQUFxRTtBQUVyRSwyRUFBMkU7QUFDM0UsNEVBQTRFO0FBRTVFLE1BQWEsbUJBQW1CO0lBQzlCLDhFQUE4RTtJQUM5RSx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLDJCQUEyQixDQUNoQyxRQUEwQjtRQUUxQixNQUFNLFVBQVUsR0FBdUQ7WUFDckUsSUFBSSxFQUFFLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9DQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDekUsRUFBRSxFQUFFLFFBQVE7WUFDWixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQzNCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0YsQ0FBQztRQUVGLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUNqQixNQUFNLFVBQVUsR0FBRywwQkFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxVQUFVLENBQUMsTUFBTSxHQUFHO2dCQUNsQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLHdCQUFXLENBQUMsVUFBVSxDQUFDO2FBQzlCLENBQUM7U0FDSDtRQUNELE9BQU8sVUFBVSxDQUFDO0lBRXBCLENBQUM7SUFDRCxNQUFNLENBQUMsNEJBQTRCLENBQ2pDLFFBQTRCO1FBRTVCLE1BQU0sQ0FBQyxJQUFJLEVBQUUs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
@@ -0,0 +1,71 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { ParameterObject, RequestBodyObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
3
+ import { SwaggerEnumType } from '@nestjs/swagger/dist/types/swagger-enum.type';
4
+ import { ApiBodyOptions, ApiHeaderOptions, ApiQueryOptions, ApiResponseOptions } from '@nestjs/swagger';
5
+ export interface OperacionesCrud {
6
+ create?: any;
7
+ update?: any;
8
+ delete?: any;
9
+ findOne?: any;
10
+ findAll?: any;
11
+ findFull?: any;
12
+ find?: any;
13
+ }
14
+ export interface MetodosCrudServicioInterface extends OperacionesCrud {
15
+ create: (...args: any[]) => any;
16
+ update: (...args: any[]) => any;
17
+ delete: (...args: any[]) => any;
18
+ findOne: (...args: any[]) => any;
19
+ findAll?: (...args: any[]) => any;
20
+ findFull?: (...args: any[]) => any;
21
+ find?: (...args: any[]) => any;
22
+ }
23
+ export interface MetodosCrudControllersInterface extends OperacionesCrud {
24
+ create: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
25
+ update: (id: any, registroAActualizar: any, req: any, res: any, ...args: any[]) => any;
26
+ delete: (nuevoRegistro: any, req: any, res: any, ...args: any[]) => any;
27
+ findOne: (id: any, req: any, res: any, ...args: any[]) => any;
28
+ findAll: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
29
+ findFull?: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
30
+ }
31
+ export declare type MetodoCrud = keyof MetodosCrudControllersInterface;
32
+ export interface CrudApiDocConfigInterface extends OperacionesCrud {
33
+ create?: CreateUpdateOneConfigInterface;
34
+ update?: CreateUpdateOneConfigInterface;
35
+ findAll?: BaseConfig;
36
+ delete?: BaseConfig;
37
+ findOne?: BaseConfig;
38
+ findFull?: BaseConfig;
39
+ }
40
+ export interface BaseConfig {
41
+ headers?: ApiHeaderOptions[];
42
+ responses?: ApiResponseOptions[];
43
+ apiQuery?: ApiQueryOptions;
44
+ }
45
+ export interface CreateUpdateOneConfigInterface extends BaseConfig {
46
+ apiBody: ApiBodyOptions;
47
+ }
48
+ export declare type RequestBodyOptions = Omit<RequestBodyObject, 'content'>;
49
+ export declare type MetodosApi = {
50
+ [k in MetodoCrud]: MetodoCrud;
51
+ };
52
+ export declare type EstrategiaResponseOptions = (cg: ApiResponseOptions) => void;
53
+ export declare type EstrategiaHeaderOptions = (cg: ApiHeaderOptions) => void;
54
+ export interface ApiBodyMetadata extends RequestBodyOptions {
55
+ type?: Type<unknown> | Function | [Function] | string;
56
+ isArray?: boolean;
57
+ enum?: SwaggerEnumType;
58
+ }
59
+ export declare type Prototype = {
60
+ [x: string]: object;
61
+ prototype: {
62
+ [x: string]: object;
63
+ };
64
+ };
65
+ export declare type ParameterOptions = Omit<ParameterObject, 'in' | 'schema'>;
66
+ export interface ApiQueryMetadata extends ParameterOptions {
67
+ type?: Type<unknown> | Function | [Function] | string;
68
+ isArray?: boolean;
69
+ enum?: SwaggerEnumType;
70
+ enumName?: string;
71
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,2 @@
1
+ import { CrudApiDocConfigInterface } from './interfaces';
2
+ export declare function MlabSwagger(configuracion: CrudApiDocConfigInterface): (claseObjetivo: any) => any;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MlabSwagger = void 0;
4
+ const swagger_helpers_1 = require("./helpers/swagger-helpers");
5
+ const swagger_params_helper_1 = require("./helpers/swagger-params-helper");
6
+ const constantes_1 = require("./constantes");
7
+ /*
8
+ Decorador MlabSwagger para generar la auto-documentacion de la API-REST de
9
+ Manticore-Labs
10
+ */
11
+ /*
12
+ La claseObjectivo es la referencia a la clase de la cual se va a modificar
13
+ la metadata de sus metodos. La clase deberia implementar la interfaz
14
+ "MetodosCrudInterface" o por lo menos implementar uno de los metodos de la
15
+ misma.
16
+ */
17
+ function MlabSwagger(configuracion) {
18
+ return (claseObjetivo) => {
19
+ const createOneOptions = configuracion.create;
20
+ const updateOneOptions = configuracion.update;
21
+ const findAllOptions = configuracion.findAll;
22
+ const deleteOneOptions = configuracion.delete;
23
+ const findOneByIdOptions = configuracion.findOne;
24
+ // Siempre se pasara la referencia a la claseObjetivo
25
+ if (createOneOptions) {
26
+ swagger_helpers_1.SwaggerHelper.construirApiBody(createOneOptions, constantes_1.NOMBRE_METODOS_CRUD_API.create, claseObjetivo);
27
+ swagger_params_helper_1.SwaggerParamsHelper.establecerHeadersResponses(createOneOptions, constantes_1.NOMBRE_METODOS_CRUD_API.create, claseObjetivo);
28
+ }
29
+ if (updateOneOptions) {
30
+ swagger_helpers_1.SwaggerHelper.construirApiBody(updateOneOptions, constantes_1.NOMBRE_METODOS_CRUD_API.update, claseObjetivo);
31
+ swagger_params_helper_1.SwaggerParamsHelper.establecerHeadersResponses(updateOneOptions, constantes_1.NOMBRE_METODOS_CRUD_API.update, claseObjetivo);
32
+ }
33
+ if (findAllOptions) {
34
+ if (findAllOptions.apiQuery) {
35
+ swagger_helpers_1.SwaggerHelper.construirApiQuery(findAllOptions, constantes_1.NOMBRE_METODOS_CRUD_API.findAll, claseObjetivo);
36
+ }
37
+ swagger_params_helper_1.SwaggerParamsHelper.establecerHeadersResponses(findAllOptions, constantes_1.NOMBRE_METODOS_CRUD_API.findAll, claseObjetivo);
38
+ }
39
+ if (deleteOneOptions) {
40
+ swagger_params_helper_1.SwaggerParamsHelper.establecerHeadersResponses(deleteOneOptions, constantes_1.NOMBRE_METODOS_CRUD_API.delete, claseObjetivo);
41
+ }
42
+ if (findOneByIdOptions) {
43
+ swagger_params_helper_1.SwaggerParamsHelper.establecerHeadersResponses(findOneByIdOptions, constantes_1.NOMBRE_METODOS_CRUD_API.findOne, claseObjetivo);
44
+ }
45
+ return claseObjetivo;
46
+ };
47
+ }
48
+ exports.MlabSwagger = MlabSwagger;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9tbGFiLXN3YWdnZXIvbWxhYi1zd2FnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtEQUEwRDtBQUMxRCwyRUFBc0U7QUFDdEUsNkNBQXVEO0FBRXZEOzs7R0FHRztBQUdIOzs7OztFQUtFO0FBRUYsU0FBZ0IsV0FBVyxDQUN6QixhQUF3QztJQUd4QyxPQUFPLENBQUMsYUFBa0IsRUFBRSxFQUFFO1FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDOUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUM3QyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2pELHFEQUFxRDtRQUNyRCxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLCtCQUFhLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsb0NBQXVCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hHLDJDQUFtQixDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixFQUFFLG9DQUF1QixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNqSDtRQUNELElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsK0JBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxvQ0FBdUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDaEcsMkNBQW1CLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLEVBQUUsb0NBQXVCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ2pIO1FBQ0QsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUMzQiwrQkFBYSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxvQ0FBdUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDakc7WUFDRCwyQ0FBbUIsQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLEVBQUUsb0NBQXVCLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ2hIO1FBQ0QsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQiwyQ0FBbUIsQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsRUFBRSxvQ0FBdUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDakg7UUFDRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLDJDQUFtQixDQUFDLDBCQUEwQixDQUFDLGtCQUFrQixFQUFFLG9DQUF1QixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNwSDtRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFqQ0Qsa0NBaUNDIn0=
@@ -0,0 +1,2 @@
1
+ import { ModuloSwaggerInterface } from './modulo-swagger.interface';
2
+ export declare function definirDocumentacionSwagger(app: any, modulosSwagger: ModuloSwaggerInterface[]): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.definirDocumentacionSwagger = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const generar_documentos_swagger_1 = require("./generar-documentos-swagger");
6
+ function definirDocumentacionSwagger(app, modulosSwagger) {
7
+ const documentosPredefinidos = generar_documentos_swagger_1._generarDocumentosSwagger(modulosSwagger);
8
+ for (const documentoSetUp of documentosPredefinidos) {
9
+ const documentoDefinido = swagger_1.SwaggerModule.createDocument(app, documentoSetUp.documentoPredifinido, documentoSetUp.opciones);
10
+ swagger_1.SwaggerModule.setup(documentoSetUp.path, app, documentoDefinido);
11
+ }
12
+ }
13
+ exports.definirDocumentacionSwagger = definirDocumentacionSwagger;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pci1kb2N1bWVudGFjaW9uLXN3YWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlY29yYWRvcmVzL21sYWItc3dhZ2dlci91dGlscy9kZWZpbmlyLWRvY3VtZW50YWNpb24tc3dhZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBZ0Q7QUFDaEQsNkVBQXlFO0FBRXpFLFNBQWdCLDJCQUEyQixDQUN6QyxHQUFRLEVBQ1IsY0FBd0M7SUFFeEMsTUFBTSxzQkFBc0IsR0FBRyxzREFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN4RSxLQUFLLE1BQU0sY0FBYyxJQUFJLHNCQUFzQixFQUFDO1FBQ2xELE1BQU0saUJBQWlCLEdBQUcsdUJBQWEsQ0FBQyxjQUFjLENBQ3BELEdBQUcsRUFDSCxjQUFjLENBQUMsb0JBQW9CLEVBQ25DLGNBQWMsQ0FBQyxRQUFRLENBQ3hCLENBQUM7UUFDRix1QkFBYSxDQUFDLEtBQUssQ0FDakIsY0FBYyxDQUFDLElBQUksRUFDbkIsR0FBRyxFQUNILGlCQUFpQixDQUNsQixDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBakJELGtFQWlCQyJ9
@@ -0,0 +1,2 @@
1
+ import { DocumentoSetupSwagger, ModuloSwaggerInterface } from './modulo-swagger.interface';
2
+ export declare function _generarDocumentosSwagger(modulosSwagger: ModuloSwaggerInterface[]): DocumentoSetupSwagger[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._generarDocumentosSwagger = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ function _generarDocumentosSwagger(modulosSwagger) {
6
+ return modulosSwagger
7
+ .map((moduloSwagger) => {
8
+ const documento = new swagger_1.DocumentBuilder()
9
+ .setTitle(moduloSwagger.titulo)
10
+ .setDescription(moduloSwagger.descripcion)
11
+ .setVersion(moduloSwagger.version)
12
+ .addTag(moduloSwagger.etiqueta)
13
+ .build();
14
+ const tienePath = !!moduloSwagger.path;
15
+ let path = moduloSwagger.path;
16
+ if (!tienePath) {
17
+ path = moduloSwagger.titulo.toLowerCase();
18
+ }
19
+ return {
20
+ path,
21
+ documentoPredifinido: documento,
22
+ };
23
+ });
24
+ }
25
+ exports._generarDocumentosSwagger = _generarDocumentosSwagger;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhci1kb2N1bWVudG9zLXN3YWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlY29yYWRvcmVzL21sYWItc3dhZ2dlci91dGlscy9nZW5lcmFyLWRvY3VtZW50b3Mtc3dhZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBa0Q7QUFFbEQsU0FBZ0IseUJBQXlCLENBQ3ZDLGNBQXdDO0lBRXhDLE9BQU8sY0FBYztTQUNsQixHQUFHLENBQ0YsQ0FBQyxhQUFxQyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxTQUFTLEdBQWdDLElBQUkseUJBQWUsRUFBRTthQUNqRSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUM5QixjQUFjLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQzthQUN6QyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQzthQUNqQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQzthQUM5QixLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLElBQUksR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO1FBQ0QsT0FBTztZQUNMLElBQUk7WUFDSixvQkFBb0IsRUFBRSxTQUFTO1NBQ2hDLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FBQztBQUNOLENBQUM7QUF2QkQsOERBdUJDIn0=
@@ -0,0 +1,14 @@
1
+ import { OpenAPIObject, SwaggerDocumentOptions } from '@nestjs/swagger/dist/interfaces';
2
+ export interface ModuloSwaggerInterface {
3
+ titulo: string;
4
+ descripcion: string;
5
+ version: string;
6
+ etiqueta: string;
7
+ path?: string;
8
+ }
9
+ export declare type DocumentoPredefinidoSwagger = Omit<OpenAPIObject, 'components' | 'paths'>;
10
+ export interface DocumentoSetupSwagger {
11
+ documentoPredifinido: DocumentoPredefinidoSwagger;
12
+ path: string;
13
+ opciones?: SwaggerDocumentOptions;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxvLXN3YWdnZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9tbGFiLXN3YWdnZXIvdXRpbHMvbW9kdWxvLXN3YWdnZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LETRAS_ESPACIOS_TILDES_ENIES_REGEXP = void 0;
3
4
  exports.LETRAS_ESPACIOS_TILDES_ENIES_REGEXP = /([\wñáéíóúÁÉÍÓÚüÜ.-]+\s?)+/i;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0cmFzLWVzcGFjaW9zLXRpbGRlcy1lbmllLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9leHByZXNpb25lcy1yZWd1bGFyZXMvbGV0cmFzLWVzcGFjaW9zLXRpbGRlcy1lbmllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQWEsUUFBQSxtQ0FBbUMsR0FBRyw2QkFBNkIsQ0FBQyJ9
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0cmFzLWVzcGFjaW9zLXRpbGRlcy1lbmllLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9leHByZXNpb25lcy1yZWd1bGFyZXMvbGV0cmFzLWVzcGFjaW9zLXRpbGRlcy1lbmllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsbUNBQW1DLEdBQUcsNkJBQTZCLENBQUMifQ==
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buscarVariosRegistros = void 0;
3
4
  const class_validator_1 = require("class-validator");
4
5
  const class_transformer_1 = require("class-transformer");
5
6
  const typeorm_1 = require("typeorm");
@@ -566,7 +567,7 @@ async function buscarVariosRegistros(criterioBusqueda, PrincipalFindManyOptions,
566
567
  const concatenadorParaConsulta = ((indice + indiceASumar === wherePrincipal.length) ? '' : concatenador);
567
568
  condicionGeneral = condicionGeneral +
568
569
  ' ( ' + (objetoCampoCondiciones.consulta) + ' ) ' + concatenadorParaConsulta;
569
- objetoGeneral = Object.assign({}, objetoGeneral, objetoCampoCondiciones.objeto);
570
+ objetoGeneral = Object.assign(Object.assign({}, objetoGeneral), objetoCampoCondiciones.objeto);
570
571
  });
571
572
  consulta.where(condicionGeneral, objetoGeneral);
572
573
  // Consulta ya con relaciones
@@ -610,4 +611,4 @@ async function buscarVariosRegistros(criterioBusqueda, PrincipalFindManyOptions,
610
611
  }
611
612
  }
612
613
  exports.buscarVariosRegistros = buscarVariosRegistros;
613
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXJlZ2lzdHJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItcmVnaXN0cm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkM7QUFDM0MseURBQWlEO0FBQ2pELHFDQUF5RjtBQUV6Riw0R0FBcUc7QUFDckcsc0VBQWtFO0FBQ2xFLHdHQUFpRztBQUUxRixLQUFLLGdDQUNWLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IscUJBQTJDLEVBQzNDLGlCQUFpQixFQUNqQixXQUFXO0lBQ1gsSUFBSSwyQkFBMkIsR0FBRyxLQUFLLENBQUM7SUFDeEMsTUFBTSw0QkFBNEIsR0FBRyxPQUFPLGdCQUFnQixLQUFLLFFBQVEsQ0FBQztJQUUxRSxJQUFJLDRCQUE0QixFQUFFO1FBQ2hDLElBQUk7WUFDRixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDakQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLDJCQUEyQixHQUFHLElBQUksQ0FBQztTQUNwQztLQUNGO0lBRUQsSUFBSSwyQkFBMkIsRUFBRTtRQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDMUUsTUFBTSwwQkFBMEIsR0FBRztZQUNqQyxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO1FBQzlDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3hDO1NBQU07UUFDTCxJQUFJLHFCQUFxQixHQUFRLGdDQUFZLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUFRLENBQUMscUJBQXFCLENB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
614
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXJlZ2lzdHJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItcmVnaXN0cm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTJDO0FBQzNDLHlEQUFpRDtBQUNqRCxxQ0FBeUY7QUFFekYsNEdBQXFHO0FBQ3JHLHNFQUFrRTtBQUNsRSx3R0FBaUc7QUFFMUYsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLElBQUksRUFDSixJQUFJLEVBQ0osUUFBUSxFQUNSLHFCQUEyQyxFQUMzQyxpQkFBaUIsRUFDakIsV0FBVztJQUNYLElBQUksMkJBQTJCLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU0sNEJBQTRCLEdBQUcsT0FBTyxnQkFBZ0IsS0FBSyxRQUFRLENBQUM7SUFFMUUsSUFBSSw0QkFBNEIsRUFBRTtRQUNoQyxJQUFJO1lBQ0YsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ2pEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDViwyQkFBMkIsR0FBRyxJQUFJLENBQUM7U0FDcEM7S0FDRjtJQUVELElBQUksMkJBQTJCLEVBQUU7UUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sMEJBQTBCLEdBQUc7WUFDakMsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFDRixnQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztRQUM5QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUN4QztTQUFNO1FBQ0wsSUFBSSxxQkFBcUIsR0FBUSxnQ0FBWSxDQUFDLHdCQUF3QixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDMUYsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQkFBUSxD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
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buscarRegistroPorId = void 0;
3
4
  const class_validator_1 = require("class-validator");
4
5
  const class_transformer_1 = require("class-transformer");
5
6
  const common_1 = require("@nestjs/common");
@@ -26,4 +27,4 @@ async function buscarRegistroPorId(PrincipalId, id, servicio, mensajeError, esSo
26
27
  }
27
28
  }
28
29
  exports.buscarRegistroPorId = buscarRegistroPorId;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXVuLXJlZ2lzdHJvLXBvci1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZnVuY2lvbmVzLXV0aWwvYnVzY2FyLXVuLXJlZ2lzdHJvLXBvci1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEyQztBQUMzQyx5REFBaUQ7QUFDakQsMkNBQXFEO0FBRzlDLEtBQUssOEJBQ1YsV0FBVyxFQUNYLEVBQUUsRUFDRixRQUFRLEVBQ1IsWUFBWSxFQUNaLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLHFCQUEyQyxFQUMzQyxpQkFBaUIsRUFDakIsV0FBVztJQUVYLElBQUkscUJBQXFCLEdBQUcsZ0NBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLE1BQU0sMEJBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsSUFBSSxtQkFBbUIsRUFBRTtRQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM3QixPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM3QztLQUNGO1NBQU07UUFDTCxJQUFJLFdBQVcsQ0FBQyw0QkFBNEIsSUFBSSxpQkFBaUIsRUFBRTtZQUNqRSxFQUFFLEdBQUcsTUFBTSxpQkFBaUIsQ0FDMUIsRUFBRSxFQUNGLHFCQUFxQixFQUNyQixXQUFXLENBQ1osQ0FBQztTQUNIO1FBQ0QsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN2QztBQUNILENBQUM7QUFoQ0Qsa0RBZ0NDIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXVuLXJlZ2lzdHJvLXBvci1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZnVuY2lvbmVzLXV0aWwvYnVzY2FyLXVuLXJlZ2lzdHJvLXBvci1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBMkM7QUFDM0MseURBQWlEO0FBQ2pELDJDQUFxRDtBQUc5QyxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLFdBQVcsRUFDWCxFQUFFLEVBQ0YsUUFBUSxFQUNSLFlBQVksRUFDWixRQUFRLEdBQUcsS0FBSyxFQUNoQixxQkFBMkMsRUFDM0MsaUJBQWlCLEVBQ2pCLFdBQVc7SUFFWCxJQUFJLHFCQUFxQixHQUFHLGdDQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNyRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLElBQUksbUJBQW1CLEVBQUU7UUFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDN0IsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLElBQUksNEJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7S0FDRjtTQUFNO1FBQ0wsSUFBSSxXQUFXLENBQUMsNEJBQTRCLElBQUksaUJBQWlCLEVBQUU7WUFDakUsRUFBRSxHQUFHLE1BQU0saUJBQWlCLENBQzFCLEVBQUUsRUFDRixxQkFBcUIsRUFDckIsV0FBVyxDQUNaLENBQUM7U0FDSDtRQUNELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdkM7QUFDSCxDQUFDO0FBaENELGtEQWdDQyJ9
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buscarWhereOr = void 0;
3
4
  const class_validator_1 = require("class-validator");
4
5
  const class_transformer_1 = require("class-transformer");
5
6
  async function buscarWhereOr(criterioBusqueda, PrincipalFindWhereOrOptions, skip, take, servicio, tipoPoliticaSeguridad, funcionMiddleware, controlador) {
@@ -34,4 +35,4 @@ async function buscarWhereOr(criterioBusqueda, PrincipalFindWhereOrOptions, skip
34
35
  }
35
36
  }
36
37
  exports.buscarWhereOr = buscarWhereOr;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXdoZXJlLW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItd2hlcmUtb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkM7QUFDM0MseURBQWlEO0FBRzFDLEtBQUssd0JBQ1YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsRUFDUixxQkFBMkMsRUFDM0MsaUJBQWlCLEVBQ2pCLFdBQVc7SUFDWCxJQUFJLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUN4QyxNQUFNLDRCQUE0QixHQUFHLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxDQUFDO0lBRTFFLElBQUksNEJBQTRCLEVBQUU7UUFDaEMsSUFBSTtZQUNGLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNqRDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0tBQ0Y7SUFFRCxJQUFJLDJCQUEyQixFQUFFO1FBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNyRjtTQUFNO1FBQ0wsSUFBSSxxQkFBcUIsR0FBUSxnQ0FBWSxDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDN0YsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQkFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckQsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLGdDQUFnQyxFQUFFO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckY7YUFBTTtZQUNMLElBQUksV0FBVyxDQUFDLDRCQUE0QixJQUFJLGlCQUFpQixFQUFFO2dCQUNqRSxxQkFBcUIsR0FBRyxNQUFNLGlCQUFpQixDQUM3QyxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLFdBQVcsQ0FDWixDQUFDO2FBQ0g7WUFFRCxPQUFPLFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsYUFBYSxFQUM3RCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUM5RCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUM5RCxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEY7S0FFRjtBQUNILENBQUM7QUE5Q0Qsc0NBOENDIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXdoZXJlLW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItd2hlcmUtb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTJDO0FBQzNDLHlEQUFpRDtBQUcxQyxLQUFLLFVBQVUsYUFBYSxDQUNqQyxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLElBQUksRUFDSixJQUFJLEVBQ0osUUFBUSxFQUNSLHFCQUEyQyxFQUMzQyxpQkFBaUIsRUFDakIsV0FBVztJQUNYLElBQUksMkJBQTJCLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE1BQU0sNEJBQTRCLEdBQUcsT0FBTyxnQkFBZ0IsS0FBSyxRQUFRLENBQUM7SUFFMUUsSUFBSSw0QkFBNEIsRUFBRTtRQUNoQyxJQUFJO1lBQ0YsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ2pEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDViwyQkFBMkIsR0FBRyxJQUFJLENBQUM7U0FDcEM7S0FDRjtJQUVELElBQUksMkJBQTJCLEVBQUU7UUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3JGO1NBQU07UUFDTCxJQUFJLHFCQUFxQixHQUFRLGdDQUFZLENBQUMsMkJBQTJCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyRCxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksZ0NBQWdDLEVBQUU7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyRjthQUFNO1lBQ0wsSUFBSSxXQUFXLENBQUMsNEJBQTRCLElBQUksaUJBQWlCLEVBQUU7Z0JBQ2pFLHFCQUFxQixHQUFHLE1BQU0saUJBQWlCLENBQzdDLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsV0FBVyxDQUNaLENBQUM7YUFDSDtZQUVELE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLEVBQzdELHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzlELHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzlELHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsRjtLQUVGO0FBQ0gsQ0FBQztBQTlDRCxzQ0E4Q0MifQ==