@manticore-labs/nest 0.1.0 → 0.1.3

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 (197) hide show
  1. package/.idea/workspace.xml +25 -19
  2. package/README.md +1 -0
  3. package/build/main/index.d.ts +27 -0
  4. package/build/main/index.js +30 -1
  5. package/build/main/lib/auth0/auth0.service.d.ts +7 -3
  6. package/build/main/lib/auth0/auth0.service.js +24 -3
  7. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  8. package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.js +39 -0
  9. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  10. package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.js +3 -0
  11. package/build/main/lib/decoradores/mlab-swagger/constantes.js +4 -2
  12. package/build/main/lib/decoradores/mlab-swagger/interfaces.d.ts +15 -2
  13. package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
  14. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  15. package/build/main/lib/google-cloud/google-cloud-vision-api/constants.js +5 -0
  16. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  17. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +55 -0
  18. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  19. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +9 -0
  20. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  21. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +29 -0
  22. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  23. package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +91 -0
  24. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  25. package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +3 -0
  26. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  27. package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.js +71 -0
  28. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  29. package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.js +154 -0
  30. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  31. package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.js +30 -0
  32. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  33. package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.js +114 -0
  34. package/build/main/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  35. package/build/main/lib/modulos-configuracion/base-datos/constantes.js +6 -0
  36. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  37. package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +22 -0
  38. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  39. package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +13 -0
  40. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  41. package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +11 -0
  42. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  43. package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +34 -0
  44. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  45. package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +3 -0
  46. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  47. package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +3 -0
  48. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  49. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +3 -0
  50. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  51. package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +3 -0
  52. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  53. package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +3 -0
  54. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  55. package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +3 -0
  56. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  57. package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +14 -0
  58. package/build/main/lib/modulos-configuracion/mlab-swagger/constantes/constantes.d.ts +2 -0
  59. package/build/main/lib/modulos-configuracion/mlab-swagger/constantes/constantes.js +6 -0
  60. package/build/main/lib/modulos-configuracion/mlab-swagger/constantes/esquemas-genericos.d.ts +43 -0
  61. package/build/main/lib/modulos-configuracion/mlab-swagger/constantes/esquemas-genericos.js +59 -0
  62. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/arreglo.d.ts +2 -0
  63. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/arreglo.js +9 -0
  64. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/booleano.d.ts +2 -0
  65. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/booleano.js +9 -0
  66. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/caracter.d.ts +2 -0
  67. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/caracter.js +9 -0
  68. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/decimal.d.ts +2 -0
  69. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/decimal.js +9 -0
  70. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/delegador/delegador-decorador.d.ts +2 -0
  71. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/delegador/delegador-decorador.js +19 -0
  72. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/entero.d.ts +2 -0
  73. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/entero.js +9 -0
  74. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/objeto.d.ts +2 -0
  75. package/build/main/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/objeto.js +9 -0
  76. package/build/main/lib/modulos-configuracion/mlab-swagger/interfaces/plantilla.interface.d.ts +65 -0
  77. package/build/main/lib/modulos-configuracion/mlab-swagger/interfaces/plantilla.interface.js +3 -0
  78. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger-core.module.d.ts +4 -0
  79. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger-core.module.js +40 -0
  80. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger-helper.d.ts +13 -0
  81. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger-helper.js +86 -0
  82. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.module.d.ts +7 -0
  83. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.module.js +33 -0
  84. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.service.d.ts +5 -0
  85. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.service.js +71 -0
  86. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.store.d.ts +11 -0
  87. package/build/main/lib/modulos-configuracion/mlab-swagger/mlab-swagger.store.js +48 -0
  88. package/build/main/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  89. package/build/main/lib/mongo-configuracion-indice.interface.js +3 -0
  90. package/build/main/lib/principal-mongo.controller.d.ts +11 -0
  91. package/build/main/lib/principal-mongo.controller.js +82 -0
  92. package/build/main/lib/principal-mongo.service.d.ts +10 -0
  93. package/build/main/lib/principal-mongo.service.js +45 -0
  94. package/build/main/lib/principal.controller.d.ts +13 -12
  95. package/build/main/lib/principal.controller.js +1 -1
  96. package/build/main/lib/principal.http.service.d.ts +13 -0
  97. package/build/main/lib/principal.http.service.js +26 -0
  98. package/build/main/lib/principal.service.d.ts +16 -5
  99. package/build/main/lib/principal.service.js +83 -2
  100. package/build/module/index.d.ts +27 -0
  101. package/build/module/index.js +30 -1
  102. package/build/module/lib/auth0/auth0.service.d.ts +7 -3
  103. package/build/module/lib/auth0/auth0.service.js +24 -3
  104. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  105. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.js +35 -0
  106. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  107. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.js +1 -0
  108. package/build/module/lib/decoradores/mlab-swagger/constantes.js +4 -2
  109. package/build/module/lib/decoradores/mlab-swagger/interfaces.d.ts +15 -2
  110. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
  111. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  112. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.js +2 -0
  113. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  114. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +52 -0
  115. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  116. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +5 -0
  117. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  118. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +26 -0
  119. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  120. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +88 -0
  121. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  122. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +1 -0
  123. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  124. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.js +68 -0
  125. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  126. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.js +150 -0
  127. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  128. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.js +27 -0
  129. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  130. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.js +111 -0
  131. package/build/module/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  132. package/build/module/lib/modulos-configuracion/base-datos/constantes.js +3 -0
  133. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  134. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +18 -0
  135. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  136. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +9 -0
  137. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  138. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +7 -0
  139. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  140. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +30 -0
  141. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  142. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +1 -0
  143. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  144. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +1 -0
  145. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  146. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +1 -0
  147. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  148. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +1 -0
  149. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  150. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +1 -0
  151. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  152. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +1 -0
  153. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  154. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +10 -0
  155. package/build/module/lib/modulos-configuracion/mlab-swagger/constantes/constantes.d.ts +2 -0
  156. package/build/module/lib/modulos-configuracion/mlab-swagger/constantes/constantes.js +3 -0
  157. package/build/module/lib/modulos-configuracion/mlab-swagger/constantes/esquemas-genericos.d.ts +43 -0
  158. package/build/module/lib/modulos-configuracion/mlab-swagger/constantes/esquemas-genericos.js +56 -0
  159. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/arreglo.d.ts +2 -0
  160. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/arreglo.js +5 -0
  161. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/booleano.d.ts +2 -0
  162. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/booleano.js +5 -0
  163. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/caracter.d.ts +2 -0
  164. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/caracter.js +5 -0
  165. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/decimal.d.ts +2 -0
  166. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/decimal.js +5 -0
  167. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/delegador/delegador-decorador.d.ts +2 -0
  168. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/delegador/delegador-decorador.js +18 -0
  169. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/entero.d.ts +2 -0
  170. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/entero.js +5 -0
  171. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/objeto.d.ts +2 -0
  172. package/build/module/lib/modulos-configuracion/mlab-swagger/decoradores/atributos/objeto.js +5 -0
  173. package/build/module/lib/modulos-configuracion/mlab-swagger/interfaces/plantilla.interface.d.ts +65 -0
  174. package/build/module/lib/modulos-configuracion/mlab-swagger/interfaces/plantilla.interface.js +1 -0
  175. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger-core.module.d.ts +4 -0
  176. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger-core.module.js +37 -0
  177. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger-helper.d.ts +13 -0
  178. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger-helper.js +126 -0
  179. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.module.d.ts +7 -0
  180. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.module.js +33 -0
  181. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.service.d.ts +5 -0
  182. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.service.js +86 -0
  183. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.store.d.ts +11 -0
  184. package/build/module/lib/modulos-configuracion/mlab-swagger/mlab-swagger.store.js +46 -0
  185. package/build/module/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  186. package/build/module/lib/mongo-configuracion-indice.interface.js +1 -0
  187. package/build/module/lib/principal-mongo.controller.d.ts +11 -0
  188. package/build/module/lib/principal-mongo.controller.js +78 -0
  189. package/build/module/lib/principal-mongo.service.d.ts +10 -0
  190. package/build/module/lib/principal-mongo.service.js +41 -0
  191. package/build/module/lib/principal.controller.d.ts +13 -12
  192. package/build/module/lib/principal.controller.js +1 -1
  193. package/build/module/lib/principal.http.service.d.ts +13 -0
  194. package/build/module/lib/principal.http.service.js +22 -0
  195. package/build/module/lib/principal.service.d.ts +16 -5
  196. package/build/module/lib/principal.service.js +85 -4
  197. package/package.json +8 -5
@@ -0,0 +1,2 @@
1
+ import { EsquemaNumerico } from '../../interfaces/plantilla.interface';
2
+ export declare function PropiedadEntero(config: EsquemaNumerico): (target: any, nombrePropiedad: string | symbol) => void;
@@ -0,0 +1,5 @@
1
+ import { delegarDecorador } from './delegador/delegador-decorador';
2
+ export function PropiedadEntero(config) {
3
+ return delegarDecorador('integer', config);
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50ZXJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL2RlY29yYWRvcmVzL2F0cmlidXRvcy9lbnRlcm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFakUsTUFBTSxVQUFVLGVBQWUsQ0FDM0IsTUFBdUI7SUFFdkIsT0FBTyxnQkFBZ0IsQ0FDbkIsU0FBUyxFQUNULE1BQU0sQ0FDVCxDQUFDO0FBQ04sQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import { EsquemaObjeto } from '../../interfaces/plantilla.interface';
2
+ export declare function PropiedadObjeto(config: EsquemaObjeto): (target: any, nombrePropiedad: string | symbol) => void;
@@ -0,0 +1,5 @@
1
+ import { delegarDecorador } from './delegador/delegador-decorador';
2
+ export function PropiedadObjeto(config) {
3
+ return delegarDecorador('object', config);
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZXRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL2RlY29yYWRvcmVzL2F0cmlidXRvcy9vYmpldG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFakUsTUFBTSxVQUFVLGVBQWUsQ0FDM0IsTUFBcUI7SUFFckIsT0FBTyxnQkFBZ0IsQ0FDbkIsUUFBUSxFQUNSLE1BQU0sQ0FDVCxDQUFDO0FBQ04sQ0FBQyJ9
@@ -0,0 +1,65 @@
1
+ import { ReferenceObject, ResponsesObject, SecuritySchemeObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
2
+ import { PrincipalDto } from '../../../principal.dto';
3
+ export declare type Tipo = ('string' | 'number' | 'object' | 'array' | 'integer' | 'boolean') & string;
4
+ export interface Esquema {
5
+ tipo?: Tipo | Tipo[];
6
+ ejemplo?: any;
7
+ propietario?: string;
8
+ requerido?: boolean;
9
+ }
10
+ export interface EsquemaNumerico extends Esquema {
11
+ multipleOf?: number;
12
+ minimum?: number;
13
+ maximum?: number;
14
+ exclusiveMinimum?: boolean;
15
+ exclusiveMaximum?: boolean;
16
+ }
17
+ export interface EsquemaCarateres extends Esquema {
18
+ minLength?: number;
19
+ maxLength?: number;
20
+ pattern?: string;
21
+ }
22
+ export interface EsquemaArray extends Esquema {
23
+ minItems?: number;
24
+ maxItems?: number;
25
+ }
26
+ export interface EsquemaObjeto extends Esquema {
27
+ anidado: string | typeof PrincipalDto | Function;
28
+ }
29
+ export interface MetodosCrud {
30
+ crearUno: EsquemaMetodoCrud;
31
+ actualizarUno?: EsquemaMetodoCrud;
32
+ buscarUno?: EsquemaMetodoCrud;
33
+ borrarUno?: EsquemaMetodoCrud;
34
+ buscarTodos?: EsquemaMetodoCrud;
35
+ }
36
+ export interface RespuestaInterface {
37
+ ok?: ResponsesObject;
38
+ noPermisos?: any;
39
+ parametrosInvalidos?: any;
40
+ errorServidor?: any;
41
+ }
42
+ export interface EsquemaMetodoCrud {
43
+ descripcion?: string;
44
+ respuestas?: ResponsesObject;
45
+ cabeceras?: any[];
46
+ }
47
+ export interface MetaEsquema {
48
+ nombre: string;
49
+ definicion: Record<string, Esquema>;
50
+ camposRequeridos?: string[];
51
+ }
52
+ export interface PlantillaInterface {
53
+ path: string;
54
+ titulo: string;
55
+ version: string;
56
+ metodosCrud: MetodosCrud;
57
+ esquemas: {
58
+ crear: string | typeof PrincipalDto;
59
+ editar: string | typeof PrincipalDto;
60
+ };
61
+ esquemaSeguridad?: Record<string, SecuritySchemeObject | ReferenceObject>;
62
+ protegerRutas?: boolean;
63
+ modulo: any;
64
+ }
65
+ export declare type PrePlantilla = Omit<PlantillaInterface, 'modulo'>;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnRpbGxhLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxvcy1jb25maWd1cmFjaW9uL21sYWItc3dhZ2dlci9pbnRlcmZhY2VzL3BsYW50aWxsYS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,4 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export declare class MlabSwaggerCoreModule {
3
+ static forRoot(raiz?: string): DynamicModule;
4
+ }
@@ -0,0 +1,37 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var MlabSwaggerCoreModule_1;
8
+ import { Global, Module } from '@nestjs/common';
9
+ import { MlabSwaggerService } from './mlab-swagger.service';
10
+ import { MlabSwaggerStore } from './mlab-swagger.store';
11
+ let MlabSwaggerCoreModule = MlabSwaggerCoreModule_1 = class MlabSwaggerCoreModule {
12
+ static forRoot(raiz = 'api') {
13
+ MlabSwaggerStore.pathRaiz = raiz;
14
+ return {
15
+ module: MlabSwaggerCoreModule_1,
16
+ providers: [
17
+ MlabSwaggerService,
18
+ ],
19
+ exports: [
20
+ MlabSwaggerService,
21
+ ],
22
+ };
23
+ }
24
+ };
25
+ MlabSwaggerCoreModule = MlabSwaggerCoreModule_1 = __decorate([
26
+ Global(),
27
+ Module({
28
+ providers: [
29
+ MlabSwaggerService,
30
+ ],
31
+ exports: [
32
+ MlabSwaggerService,
33
+ ],
34
+ })
35
+ ], MlabSwaggerCoreModule);
36
+ export { MlabSwaggerCoreModule };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL21sYWItc3dhZ2dlci1jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFhdEQsSUFBYSxxQkFBcUIsNkJBQWxDLE1BQWEscUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZSxLQUFLO1FBQy9CLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDakMsT0FBTztZQUNILE1BQU0sRUFBRSx1QkFBcUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNQLGtCQUFrQjthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDTCxrQkFBa0I7YUFDckI7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUE7QUFiWSxxQkFBcUI7SUFYakMsTUFBTSxFQUFFO0lBQ1IsTUFBTSxDQUNIO1FBQ0ksU0FBUyxFQUFFO1lBQ1Asa0JBQWtCO1NBQ3JCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsa0JBQWtCO1NBQ3JCO0tBQ0osQ0FDSjtHQUNZLHFCQUFxQixDQWFqQztTQWJZLHFCQUFxQiJ9
@@ -0,0 +1,13 @@
1
+ import { MetaEsquema } from './interfaces/plantilla.interface';
2
+ import { OperationObject, PathItemObject, ReferenceObject, SchemaObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
3
+ export declare class MlabSwaggerHelper {
4
+ static empaquetarEsquema(metaEsquema: MetaEsquema): Record<string, SchemaObject | ReferenceObject>;
5
+ static generarMetodoPostPutPatch(descripcion: string, esquemaEditar: Record<string, SchemaObject | ReferenceObject>, nombreEsquema: string): OperationObject;
6
+ static generarPathConId(metodoEditarUno: OperationObject, titulo: string, seguridad?: boolean): Record<string, PathItemObject>;
7
+ static generarPathSinId(metodoCrearUno: OperationObject, titulo: string, seguridad?: boolean): Record<string, PathItemObject>;
8
+ static generarTags(titulo: string): {
9
+ tags: {
10
+ description: string;
11
+ }[];
12
+ };
13
+ }
@@ -0,0 +1,126 @@
1
+ import { pickBy } from 'lodash';
2
+ import { ESQUEMA_PATH, ESQUEMA_QUERY, RESPUESTAS_HTTP, SEGURIDAD_PATH_GENERICA } from './constantes/esquemas-genericos';
3
+ import { MlabSwaggerStore } from './mlab-swagger.store';
4
+ export class MlabSwaggerHelper {
5
+ // Empaquetar esquemas
6
+ static empaquetarEsquema(metaEsquema) {
7
+ const esquema = metaEsquema.definicion;
8
+ const atributos = Object.keys(esquema);
9
+ const esquemaTransformadoInicial = {};
10
+ const propieades = atributos.reduce((acumulador, atributo) => {
11
+ const definicionTipo = esquema[atributo];
12
+ const esquemaDefinido = esquema[atributo];
13
+ const esObjeto = definicionTipo.tipo === 'object';
14
+ if (esObjeto) {
15
+ const esquemaObjeto = definicionTipo;
16
+ const referenciaEsquema = esquemaObjeto.anidado;
17
+ const nombreEsquema = typeof referenciaEsquema === 'string' ? referenciaEsquema : referenciaEsquema.name;
18
+ const esquemaAnidado = MlabSwaggerStore.obtenerEsquema(nombreEsquema);
19
+ acumulador[atributo] = {
20
+ ...MlabSwaggerHelper.empaquetarEsquema(esquemaAnidado)[nombreEsquema],
21
+ };
22
+ }
23
+ else {
24
+ acumulador[atributo] = {
25
+ type: definicionTipo.tipo.toString(),
26
+ maxLength: esquemaDefinido.maxLength,
27
+ minLength: esquemaDefinido.minLength,
28
+ maximum: esquemaDefinido.maximum,
29
+ minimum: esquemaDefinido.minimum,
30
+ exclusiveMaximum: esquemaDefinido.exclusiveMaximum,
31
+ exclusiveMinimum: esquemaDefinido.exclusiveMinimum,
32
+ minItems: esquemaDefinido.minItems,
33
+ maxItems: esquemaDefinido.maxItems,
34
+ pattern: esquemaDefinido.pattern,
35
+ };
36
+ acumulador[atributo] = pickBy(acumulador[atributo], v => v !== undefined);
37
+ }
38
+ return acumulador;
39
+ }, {});
40
+ esquemaTransformadoInicial[`${metaEsquema.nombre}`] = {
41
+ type: 'object',
42
+ properties: {
43
+ ...propieades,
44
+ },
45
+ required: metaEsquema.camposRequeridos,
46
+ };
47
+ esquemaTransformadoInicial[`${metaEsquema.nombre}`] = pickBy(esquemaTransformadoInicial[`${metaEsquema.nombre}`], v => v !== undefined);
48
+ return esquemaTransformadoInicial;
49
+ }
50
+ static generarMetodoPostPutPatch(descripcion, esquemaEditar, nombreEsquema) {
51
+ return {
52
+ description: descripcion,
53
+ requestBody: {
54
+ content: {
55
+ 'application/json': {
56
+ schema: {
57
+ ...esquemaEditar[`${nombreEsquema}`],
58
+ },
59
+ },
60
+ },
61
+ },
62
+ responses: {
63
+ ...RESPUESTAS_HTTP,
64
+ },
65
+ };
66
+ }
67
+ static generarPathConId(metodoEditarUno, titulo, seguridad = false) {
68
+ return {
69
+ get: {
70
+ ...ESQUEMA_PATH,
71
+ ...pickBy(SEGURIDAD_PATH_GENERICA, _ => seguridad),
72
+ responses: {
73
+ ...RESPUESTAS_HTTP,
74
+ },
75
+ ...MlabSwaggerHelper.generarTags(titulo),
76
+ },
77
+ put: {
78
+ ...metodoEditarUno,
79
+ ...ESQUEMA_PATH,
80
+ ...pickBy(SEGURIDAD_PATH_GENERICA, _ => seguridad),
81
+ responses: {
82
+ ...RESPUESTAS_HTTP,
83
+ },
84
+ ...MlabSwaggerHelper.generarTags(titulo),
85
+ },
86
+ delete: {
87
+ ...ESQUEMA_PATH,
88
+ ...pickBy(SEGURIDAD_PATH_GENERICA, _ => seguridad),
89
+ responses: {
90
+ ...RESPUESTAS_HTTP,
91
+ },
92
+ ...MlabSwaggerHelper.generarTags(titulo),
93
+ },
94
+ };
95
+ }
96
+ static generarPathSinId(metodoCrearUno, titulo, seguridad = false) {
97
+ return {
98
+ get: {
99
+ ...ESQUEMA_QUERY,
100
+ ...pickBy(SEGURIDAD_PATH_GENERICA, _ => seguridad),
101
+ responses: {
102
+ ...RESPUESTAS_HTTP,
103
+ },
104
+ ...MlabSwaggerHelper.generarTags(titulo),
105
+ },
106
+ post: {
107
+ ...metodoCrearUno,
108
+ ...pickBy(SEGURIDAD_PATH_GENERICA, _ => seguridad),
109
+ responses: {
110
+ ...RESPUESTAS_HTTP,
111
+ },
112
+ ...MlabSwaggerHelper.generarTags(titulo),
113
+ },
114
+ };
115
+ }
116
+ static generarTags(titulo) {
117
+ return {
118
+ tags: [
119
+ {
120
+ description: `CRUD de "${titulo.toLowerCase()}"`,
121
+ },
122
+ ],
123
+ };
124
+ }
125
+ }
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxvcy1jb25maWd1cmFjaW9uL21sYWItc3dhZ2dlci9tbGFiLXN3YWdnZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixzQkFBc0I7SUFDdEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQXdCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUMvQixDQUFDLFVBQW1FLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQ3RGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUEyQixDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO1lBQ2xELElBQUksUUFBUSxFQUFFO2dCQUNWLE1BQU0sYUFBYSxHQUFJLGNBQWdDLENBQUM7Z0JBQ3hELE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFDaEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxpQkFBaUIsS0FBSyxRQUFRLENB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
@@ -0,0 +1,7 @@
1
+ import { DynamicModule, INestApplication } from '@nestjs/common';
2
+ import { PrePlantilla } from './interfaces/plantilla.interface';
3
+ export declare class MlabSwaggerModule {
4
+ static registrar(moduloRef: any, opciones: PrePlantilla): typeof MlabSwaggerModule;
5
+ static porRaiz(pathRaiz?: string): DynamicModule;
6
+ static setup(app: INestApplication): void;
7
+ }
@@ -0,0 +1,33 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var MlabSwaggerModule_1;
8
+ import { Global, Module } from '@nestjs/common';
9
+ import { MlabSwaggerStore } from './mlab-swagger.store';
10
+ import { MlabSwaggerCoreModule } from './mlab-swagger-core.module';
11
+ import { MlabSwaggerService } from './mlab-swagger.service';
12
+ let MlabSwaggerModule = MlabSwaggerModule_1 = class MlabSwaggerModule {
13
+ static registrar(moduloRef, opciones) {
14
+ const opcionesCompletas = {
15
+ modulo: moduloRef,
16
+ ...opciones,
17
+ };
18
+ MlabSwaggerStore.agregarEsquemas(opcionesCompletas);
19
+ return MlabSwaggerModule_1;
20
+ }
21
+ static porRaiz(pathRaiz = 'api') {
22
+ return MlabSwaggerCoreModule.forRoot(pathRaiz);
23
+ }
24
+ static setup(app) {
25
+ MlabSwaggerService.construirAPI(app);
26
+ }
27
+ };
28
+ MlabSwaggerModule = MlabSwaggerModule_1 = __decorate([
29
+ Global(),
30
+ Module({})
31
+ ], MlabSwaggerModule);
32
+ export { MlabSwaggerModule };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxvcy1jb25maWd1cmFjaW9uL21sYWItc3dhZ2dlci9tbGFiLXN3YWdnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxPQUFPLEVBQWdCLE1BQU0sRUFBb0IsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNMUQsSUFBYSxpQkFBaUIseUJBQTlCLE1BQWEsaUJBQWlCO0lBQzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBYyxFQUFFLFFBQXNCO1FBQ25ELE1BQU0saUJBQWlCLEdBQXVCO1lBQzFDLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEdBQUcsUUFBUTtTQUNkLENBQUM7UUFDRixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRCxPQUFPLG1CQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQW1CLEtBQUs7UUFDbkMsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBcUI7UUFDOUIsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUFBO0FBakJZLGlCQUFpQjtJQUo3QixNQUFNLEVBQUU7SUFDUixNQUFNLENBQ0gsRUFBRSxDQUNMO0dBQ1ksaUJBQWlCLENBaUI3QjtTQWpCWSxpQkFBaUIifQ==
@@ -0,0 +1,5 @@
1
+ import { INestApplication } from '@nestjs/common';
2
+ export declare class MlabSwaggerService {
3
+ static construirAPI(app: INestApplication): void;
4
+ private static generarDocumentacion;
5
+ }
@@ -0,0 +1,86 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var MlabSwaggerService_1;
8
+ import { Injectable } from '@nestjs/common';
9
+ import { MlabSwaggerStore } from './mlab-swagger.store';
10
+ import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
11
+ import { MlabSwaggerHelper } from './mlab-swagger-helper';
12
+ import { ESQUEMA_SEGURIDAD_GENERICO, } from './constantes/esquemas-genericos';
13
+ import { isUndefined, negate, pickBy } from 'lodash';
14
+ let MlabSwaggerService = MlabSwaggerService_1 = class MlabSwaggerService {
15
+ static construirAPI(app) {
16
+ for (const esquema of MlabSwaggerStore.obtenerEsquemas) {
17
+ // logica para crear documentacion
18
+ const documento = MlabSwaggerService_1.generarDocumentacion(esquema);
19
+ const optionsGenericas = new DocumentBuilder()
20
+ .setTitle(esquema.titulo)
21
+ .build();
22
+ const documentoGenerico = SwaggerModule.createDocument(app, optionsGenericas, {
23
+ include: [esquema.modulo],
24
+ });
25
+ documentoGenerico.paths = {
26
+ ...documentoGenerico.paths,
27
+ ...documento.paths,
28
+ };
29
+ documentoGenerico.security = {
30
+ ...documentoGenerico.security,
31
+ ...documento.security,
32
+ };
33
+ documentoGenerico.components.schemas = {
34
+ ...documentoGenerico.components.schemas,
35
+ ...documento.components.schemas,
36
+ };
37
+ SwaggerModule.setup(`${MlabSwaggerStore.pathRaiz}${esquema.path}`, app, documentoGenerico, { explorer: true });
38
+ }
39
+ }
40
+ static generarDocumentacion(plantilla) {
41
+ const esquemaSeguridad = {
42
+ securitySchemes: {
43
+ ...ESQUEMA_SEGURIDAD_GENERICO,
44
+ ...pickBy(plantilla.esquemaSeguridad, negate(isUndefined)),
45
+ },
46
+ };
47
+ const documentoPlantillaBase = {
48
+ openapi: '3.0.0',
49
+ paths: {},
50
+ info: {
51
+ title: `${plantilla.titulo}`,
52
+ version: `${plantilla.version}`,
53
+ },
54
+ components: {
55
+ ...pickBy(esquemaSeguridad, _ => plantilla.protegerRutas),
56
+ schemas: {},
57
+ },
58
+ };
59
+ const nombreEsquemaCrear = typeof plantilla.esquemas.crear === 'string' ? plantilla.esquemas.crear : plantilla.esquemas.crear.name;
60
+ const nombreEsquemaEditar = typeof plantilla.esquemas.editar === 'string' ? plantilla.esquemas.editar : plantilla.esquemas.editar.name;
61
+ // Se obtienen los meta esquemas almacenados en el store por los decoradores
62
+ const metaEsquemaCrear = MlabSwaggerStore.obtenerEsquema(nombreEsquemaCrear);
63
+ const metaEsquemaEditar = MlabSwaggerStore.obtenerEsquema(nombreEsquemaEditar);
64
+ const esquemaCrear = MlabSwaggerHelper
65
+ .empaquetarEsquema(metaEsquemaCrear);
66
+ const esquemaEditar = MlabSwaggerHelper
67
+ .empaquetarEsquema(metaEsquemaEditar);
68
+ const metodoCrearUno = MlabSwaggerHelper.generarMetodoPostPutPatch(plantilla.metodosCrud.crearUno.descripcion, esquemaCrear, metaEsquemaCrear.nombre);
69
+ const metodoEditarUno = MlabSwaggerHelper.generarMetodoPostPutPatch(plantilla.metodosCrud.actualizarUno.descripcion, esquemaEditar, metaEsquemaEditar.nombre);
70
+ documentoPlantillaBase.paths[`${plantilla.path}`] = MlabSwaggerHelper
71
+ .generarPathSinId(metodoCrearUno, plantilla.titulo, plantilla.protegerRutas);
72
+ documentoPlantillaBase.paths[`${plantilla.path}/{id}`] = MlabSwaggerHelper
73
+ .generarPathConId(metodoEditarUno, plantilla.titulo, plantilla.protegerRutas);
74
+ documentoPlantillaBase.components.schemas = {
75
+ ...esquemaCrear,
76
+ ...esquemaEditar,
77
+ };
78
+ // console.log(JSON.stringify(documentoPlantillaBase));
79
+ return documentoPlantillaBase;
80
+ }
81
+ };
82
+ MlabSwaggerService = MlabSwaggerService_1 = __decorate([
83
+ Injectable()
84
+ ], MlabSwaggerService);
85
+ export { MlabSwaggerService };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsb3MtY29uZmlndXJhY2lvbi9tbGFiLXN3YWdnZXIvbWxhYi1zd2FnZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGVBQWUsRUFBaUIsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUNILDBCQUEwQixHQUM3QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUduRCxJQUFhLGtCQUFrQiwwQkFBL0IsTUFBYSxrQkFBa0I7SUFFM0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFxQjtRQUNyQyxLQUFLLE1BQU0sT0FBTyxJQUFJLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtZQUNwRCxrQ0FBa0M7WUFDbEMsTUFBTSxTQUFTLEdBQUcsb0JBQWtCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsRUFBRTtpQkFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7aUJBQ3hCLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDMUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUM1QixDQUFDLENBQUM7WUFDSCxpQkFB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
@@ -0,0 +1,11 @@
1
+ import { MetaEsquema, PlantillaInterface } from './interfaces/plantilla.interface';
2
+ export declare class MlabSwaggerStore {
3
+ private static readonly esquemas;
4
+ static pathRaiz: string;
5
+ static metadatos: any[];
6
+ static propiedadesBrutas: any[];
7
+ static agregarMetadatos(target: any): void;
8
+ static agregarEsquemas(esquema: PlantillaInterface): void;
9
+ static get obtenerEsquemas(): PlantillaInterface[];
10
+ static obtenerEsquema(nombreEsquema: string): MetaEsquema;
11
+ }
@@ -0,0 +1,46 @@
1
+ import { API_BODY_METADATA } from './constantes/constantes';
2
+ export class MlabSwaggerStore {
3
+ static agregarMetadatos(target) {
4
+ const nombreClase = target.constructor.name;
5
+ const nombresClases = MlabSwaggerStore.metadatos.map(t => t.constructor.name);
6
+ const yaFueAgregado = nombresClases.some(nombre => nombre === nombreClase);
7
+ if (!yaFueAgregado) {
8
+ MlabSwaggerStore.metadatos.push(target);
9
+ }
10
+ }
11
+ static agregarEsquemas(esquema) {
12
+ this.esquemas.push(esquema);
13
+ }
14
+ static get obtenerEsquemas() {
15
+ return this.esquemas;
16
+ }
17
+ static obtenerEsquema(nombreEsquema) {
18
+ const propiedadesBrutas = MlabSwaggerStore.metadatos.map((target) => {
19
+ return Reflect.getMetadata(API_BODY_METADATA, target);
20
+ });
21
+ const preEsquemas = propiedadesBrutas.filter((preEsquema) => {
22
+ const llave = Object.keys(preEsquema)[0];
23
+ const esquema = preEsquema[llave];
24
+ return esquema.propietario === nombreEsquema;
25
+ });
26
+ const esquemaEntidad = preEsquemas[0];
27
+ const campos = Object.keys(esquemaEntidad);
28
+ const requeridos = campos.filter((campo) => {
29
+ return esquemaEntidad[campo].requerido;
30
+ });
31
+ return {
32
+ nombre: nombreEsquema,
33
+ definicion: {
34
+ ...preEsquemas[0],
35
+ },
36
+ camposRequeridos: [
37
+ ...requeridos,
38
+ ],
39
+ };
40
+ }
41
+ }
42
+ MlabSwaggerStore.esquemas = [];
43
+ MlabSwaggerStore.pathRaiz = 'api';
44
+ MlabSwaggerStore.metadatos = [];
45
+ MlabSwaggerStore.propiedadesBrutas = [];
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL21sYWItc3dhZ2dlci5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZ0JBQWdCO0lBT3pCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNO1FBQzFCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzVDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlFLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBMkI7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sS0FBSyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFxQjtRQUN2QyxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3BELENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDUCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUNKLENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQ3hDLENBQUMsVUFBbUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sT0FBTyxDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUM7UUFDakQsQ0FBQyxDQUNKLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUM1QixDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ2QsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzNDLENBQUMsQ0FDSixDQUFDO1FBQ0YsT0FBTztZQUNILE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFVBQVUsRUFBRTtnQkFDUixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDcEI7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDZCxHQUFHLFVBQVU7YUFDaEI7U0FDSixDQUFDO0lBQ04sQ0FBQzs7QUFwRHVCLHlCQUFRLEdBQXlCLEVBQUUsQ0FBQztBQUNyRCx5QkFBUSxHQUFXLEtBQUssQ0FBQztBQUV6QiwwQkFBUyxHQUFVLEVBQUUsQ0FBQztBQUN0QixrQ0FBaUIsR0FBVSxFQUFFLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { MongodbIndexOptions } from 'typeorm';
2
+ export interface MongoConfiguracionIndiceInterface {
3
+ fieldOrSpec: string | any;
4
+ options?: MongodbIndexOptions;
5
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY29uZmlndXJhY2lvbi1pbmRpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb25nby1jb25maWd1cmFjaW9uLWluZGljZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,11 @@
1
+ import { PrincipalController } from './principal.controller';
2
+ import { FuncionesSeguridad } from './interfaces-util/funciones-seguridad';
3
+ import { DtoInterface } from './interfaces-util/dto';
4
+ import { MensajesController } from './interfaces-util/mensajes-controller';
5
+ import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
6
+ import { PrincipalMongoService } from './principal-mongo.service';
7
+ export declare abstract class PrincipalMongoController<CreateDto = any, UpdateDto = any, Entity = any> extends PrincipalController<CreateDto, UpdateDto, Entity> {
8
+ protected contexto: any;
9
+ protected constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: PrincipalMongoService<Entity, CreateDto, UpdateDto>, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalController<CreateDto, UpdateDto>, Entity>, activarPoliticasDeSeguridad?: boolean, activarTriggersDeControlador?: boolean);
10
+ findAll(criterioBusqueda: any, request: any, response: any): void;
11
+ }
@@ -0,0 +1,78 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { PrincipalController } from './principal.controller';
14
+ import { Get, Query, Request, Response } from '@nestjs/common';
15
+ import { aplicarPoliticasDeSeguridad } from './seguridad/aplicar-politicas-de-seguridad';
16
+ import { mergeMap } from 'rxjs/operators';
17
+ import { from, of } from 'rxjs';
18
+ export class PrincipalMongoController extends PrincipalController {
19
+ constructor(_funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
20
+ encontrarUno: 'Id incorrecto',
21
+ crearUno: 'Registro inválido',
22
+ actualizarUno: 'Error al actualizar',
23
+ eliminarUno: 'Error al eliminar'
24
+ }, contexto, _funcionesMiddleware = {}, activarPoliticasDeSeguridad = true, activarTriggersDeControlador = true) {
25
+ super(_funcionesSeguridad, _servicio, _dto, _skip, _take, _mensajes, contexto, _funcionesMiddleware, activarPoliticasDeSeguridad, activarTriggersDeControlador);
26
+ this.contexto = contexto;
27
+ }
28
+ findAll(criterioBusqueda, request, response) {
29
+ const tipoPoliticaSeguridad = {
30
+ web: {
31
+ request,
32
+ response
33
+ }
34
+ };
35
+ const objetoPoliticasDeSeguridad = {
36
+ funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
37
+ };
38
+ if (!this.activarPoliticasDeSeguridad) {
39
+ objetoPoliticasDeSeguridad.funciones = [];
40
+ }
41
+ const puedeRealizarAccion$ = aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
42
+ puedeRealizarAccion$
43
+ .pipe(mergeMap((puedeRealizarAccion) => {
44
+ if (puedeRealizarAccion) {
45
+ return from(this._servicio.findFull(criterioBusqueda));
46
+ }
47
+ else {
48
+ return of({ error: 403, mensaje: 'No tiene permisos' });
49
+ }
50
+ }))
51
+ .subscribe(async (respuesta) => {
52
+ const noEsRespuestaCorrecta = !(respuesta instanceof Array) && respuesta.error;
53
+ if (noEsRespuestaCorrecta) {
54
+ return response
55
+ .status(respuesta.error).send(respuesta);
56
+ }
57
+ else {
58
+ if (this._funcionesMiddleware.findAllAfter && this.activarTriggersDeControlador) {
59
+ respuesta = await this._funcionesMiddleware.findAllAfter(respuesta, tipoPoliticaSeguridad, this);
60
+ }
61
+ return response.send(respuesta);
62
+ }
63
+ }, (error) => {
64
+ console.error('Error', error);
65
+ return response.status(500).send('Error del servidor');
66
+ });
67
+ }
68
+ }
69
+ __decorate([
70
+ Get(),
71
+ __param(0, Query('criterioBusqueda')),
72
+ __param(1, Request()),
73
+ __param(2, Response()),
74
+ __metadata("design:type", Function),
75
+ __metadata("design:paramtypes", [Object, Object, Object]),
76
+ __metadata("design:returntype", void 0)
77
+ ], PrincipalMongoController.prototype, "findAll", null);
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLW1vbmdvLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC1tb25nby5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTTdELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEMsTUFBTSxPQUFnQix3QkFDcEIsU0FBUSxtQkFBaUQ7SUFFekQsWUFDRSxtQkFBdUMsRUFDdkMsU0FBOEQsRUFDOUQsSUFBa0IsRUFDbEIsS0FBSyxHQUFHLENBQUMsRUFDVCxLQUFLLEdBQUcsRUFBRSxFQUNWLFlBQWdDO1FBQzlCLFlBQVksRUFBRSxlQUFlO1FBQzdCLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsYUFBYSxFQUFFLHFCQUFxQjtRQUNwQyxXQUFXLEVBQUUsbUJBQW1CO0tBQ2pDLEVBQ1MsUUFBYSxFQUN2Qix1QkFHWSxFQUFFLEVBQ2QsMkJBQTJCLEdBQUcsSUFBSSxFQUNsQyw0QkFBNEIsR0FBRyxJQUFJO1FBRW5DLEtBQUssQ0FDSCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULElBQUksRUFDSixLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiw0QkFBNEIsQ0FDN0IsQ0FBQztRQW5CUSxhQUFRLEdBQVIsUUFBUSxDQUFLO0lBb0J6QixDQUFDO0lBR0QsT0FBTyxDQUNzQixnQkFBZ0IsRUFDaEMsT0FBTyxFQUNOLFFBQVE7UUFFcEIsTUFBTSxxQkFBcUIsR0FBeUI7WUFDbEQsR0FBRyxFQUFFO2dCQUNILE9BQU87Z0JBQ1AsUUFBUTthQUNUO1NBQ0YsQ0FBQztRQUVGLE1BQU0sMEJBQTBCLEdBQThCO1lBQzVELFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3BGLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQ3JDLDBCQUEwQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDM0M7UUFFRCxNQUFNLG9CQUFvQixHQUFHLDJCQUEyQixDQUFDLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzSCxvQkFBb0I7YUFDakIsSUFBSSxDQUNILFFBQVEsQ0FDTixDQUFDLG1CQUE0QixFQUFPLEVBQUU7WUFDcEMsSUFBSSxtQkFBbUIsRUFBRTtnQkFDdkIsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3JCLGdCQUFnQixDQUNqQixDQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQzthQUN6RDtRQUNILENBQUMsQ0FDRixDQUNGO2FBQ0EsU0FBUyxDQUNSLEtBQUssRUFBRSxTQUFrRSxFQUFFLEVBQUU7WUFDM0UsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsU0FBUyxZQUFZLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDL0UsSUFBSSxxQkFBcUIsRUFBRTtnQkFDekIsT0FBTyxRQUFRO3FCQUNaLE1BQU0sQ0FDSixTQUFnRCxDQUFDLEtBQUssQ0FDeEQsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDckI7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtvQkFDL0UsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FDdEQsU0FBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLElBQUksQ0FDTCxDQUFDO2lCQUNIO2dCQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqQztRQUVILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztDQUNGO0FBaEVDO0lBREMsR0FBRyxFQUFFO0lBRUgsV0FBQSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE9BQU8sRUFBRSxDQUFBO0lBQ1QsV0FBQSxRQUFRLEVBQUUsQ0FBQTs7Ozt1REE0RFoifQ==
@@ -0,0 +1,10 @@
1
+ import { PrincipalService } from './principal.service';
2
+ import { MongoRepository } from 'typeorm';
3
+ import { MongoConfiguracionIndiceInterface } from './mongo-configuracion-indice.interface';
4
+ export declare class PrincipalMongoService<T, G, F> extends PrincipalService<T, G, F> {
5
+ readonly repository: MongoRepository<T>;
6
+ private indexConfig?;
7
+ constructor(repository: MongoRepository<T>, indexConfig?: MongoConfiguracionIndiceInterface, Entidad?: any, NombreRepositorio?: string, debug?: boolean);
8
+ findFull(criterioBusqueda: string): Promise<[T[], number]>;
9
+ crearIndice(config: MongoConfiguracionIndiceInterface): Promise<string>;
10
+ }