@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,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var MlabSwaggerCoreModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MlabSwaggerCoreModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const mlab_swagger_service_1 = require("./mlab-swagger.service");
13
+ const mlab_swagger_store_1 = require("./mlab-swagger.store");
14
+ let MlabSwaggerCoreModule = MlabSwaggerCoreModule_1 = class MlabSwaggerCoreModule {
15
+ static forRoot(raiz = 'api') {
16
+ mlab_swagger_store_1.MlabSwaggerStore.pathRaiz = raiz;
17
+ return {
18
+ module: MlabSwaggerCoreModule_1,
19
+ providers: [
20
+ mlab_swagger_service_1.MlabSwaggerService,
21
+ ],
22
+ exports: [
23
+ mlab_swagger_service_1.MlabSwaggerService,
24
+ ],
25
+ };
26
+ }
27
+ };
28
+ MlabSwaggerCoreModule = MlabSwaggerCoreModule_1 = __decorate([
29
+ common_1.Global(),
30
+ common_1.Module({
31
+ providers: [
32
+ mlab_swagger_service_1.MlabSwaggerService,
33
+ ],
34
+ exports: [
35
+ mlab_swagger_service_1.MlabSwaggerService,
36
+ ],
37
+ })
38
+ ], MlabSwaggerCoreModule);
39
+ exports.MlabSwaggerCoreModule = MlabSwaggerCoreModule;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL21sYWItc3dhZ2dlci1jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsMkNBQTZEO0FBQzdELGlFQUEwRDtBQUMxRCw2REFBc0Q7QUFhdEQsSUFBYSxxQkFBcUIsNkJBQWxDLE1BQWEscUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZSxLQUFLO1FBQy9CLHFDQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDakMsT0FBTztZQUNILE1BQU0sRUFBRSx1QkFBcUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNQLHlDQUFrQjthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDTCx5Q0FBa0I7YUFDckI7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUE7QUFiWSxxQkFBcUI7SUFYakMsZUFBTSxFQUFFO0lBQ1IsZUFBTSxDQUNIO1FBQ0ksU0FBUyxFQUFFO1lBQ1AseUNBQWtCO1NBQ3JCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wseUNBQWtCO1NBQ3JCO0tBQ0osQ0FDSjtHQUNZLHFCQUFxQixDQWFqQztBQWJZLHNEQUFxQiJ9
@@ -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,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MlabSwaggerHelper = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const esquemas_genericos_1 = require("./constantes/esquemas-genericos");
6
+ const mlab_swagger_store_1 = require("./mlab-swagger.store");
7
+ class MlabSwaggerHelper {
8
+ // Empaquetar esquemas
9
+ static empaquetarEsquema(metaEsquema) {
10
+ const esquema = metaEsquema.definicion;
11
+ const atributos = Object.keys(esquema);
12
+ const esquemaTransformadoInicial = {};
13
+ const propieades = atributos.reduce((acumulador, atributo) => {
14
+ const definicionTipo = esquema[atributo];
15
+ const esquemaDefinido = esquema[atributo];
16
+ const esObjeto = definicionTipo.tipo === 'object';
17
+ if (esObjeto) {
18
+ const esquemaObjeto = definicionTipo;
19
+ const referenciaEsquema = esquemaObjeto.anidado;
20
+ const nombreEsquema = typeof referenciaEsquema === 'string' ? referenciaEsquema : referenciaEsquema.name;
21
+ const esquemaAnidado = mlab_swagger_store_1.MlabSwaggerStore.obtenerEsquema(nombreEsquema);
22
+ acumulador[atributo] = Object.assign({}, MlabSwaggerHelper.empaquetarEsquema(esquemaAnidado)[nombreEsquema]);
23
+ }
24
+ else {
25
+ acumulador[atributo] = {
26
+ type: definicionTipo.tipo.toString(),
27
+ maxLength: esquemaDefinido.maxLength,
28
+ minLength: esquemaDefinido.minLength,
29
+ maximum: esquemaDefinido.maximum,
30
+ minimum: esquemaDefinido.minimum,
31
+ exclusiveMaximum: esquemaDefinido.exclusiveMaximum,
32
+ exclusiveMinimum: esquemaDefinido.exclusiveMinimum,
33
+ minItems: esquemaDefinido.minItems,
34
+ maxItems: esquemaDefinido.maxItems,
35
+ pattern: esquemaDefinido.pattern,
36
+ };
37
+ acumulador[atributo] = lodash_1.pickBy(acumulador[atributo], v => v !== undefined);
38
+ }
39
+ return acumulador;
40
+ }, {});
41
+ esquemaTransformadoInicial[`${metaEsquema.nombre}`] = {
42
+ type: 'object',
43
+ properties: Object.assign({}, propieades),
44
+ required: metaEsquema.camposRequeridos,
45
+ };
46
+ esquemaTransformadoInicial[`${metaEsquema.nombre}`] = lodash_1.pickBy(esquemaTransformadoInicial[`${metaEsquema.nombre}`], v => v !== undefined);
47
+ return esquemaTransformadoInicial;
48
+ }
49
+ static generarMetodoPostPutPatch(descripcion, esquemaEditar, nombreEsquema) {
50
+ return {
51
+ description: descripcion,
52
+ requestBody: {
53
+ content: {
54
+ 'application/json': {
55
+ schema: Object.assign({}, esquemaEditar[`${nombreEsquema}`]),
56
+ },
57
+ },
58
+ },
59
+ responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP),
60
+ };
61
+ }
62
+ static generarPathConId(metodoEditarUno, titulo, seguridad = false) {
63
+ return {
64
+ get: Object.assign(Object.assign(Object.assign(Object.assign({}, esquemas_genericos_1.ESQUEMA_PATH), lodash_1.pickBy(esquemas_genericos_1.SEGURIDAD_PATH_GENERICA, _ => seguridad)), { responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP) }), MlabSwaggerHelper.generarTags(titulo)),
65
+ put: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, metodoEditarUno), esquemas_genericos_1.ESQUEMA_PATH), lodash_1.pickBy(esquemas_genericos_1.SEGURIDAD_PATH_GENERICA, _ => seguridad)), { responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP) }), MlabSwaggerHelper.generarTags(titulo)),
66
+ delete: Object.assign(Object.assign(Object.assign(Object.assign({}, esquemas_genericos_1.ESQUEMA_PATH), lodash_1.pickBy(esquemas_genericos_1.SEGURIDAD_PATH_GENERICA, _ => seguridad)), { responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP) }), MlabSwaggerHelper.generarTags(titulo)),
67
+ };
68
+ }
69
+ static generarPathSinId(metodoCrearUno, titulo, seguridad = false) {
70
+ return {
71
+ get: Object.assign(Object.assign(Object.assign(Object.assign({}, esquemas_genericos_1.ESQUEMA_QUERY), lodash_1.pickBy(esquemas_genericos_1.SEGURIDAD_PATH_GENERICA, _ => seguridad)), { responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP) }), MlabSwaggerHelper.generarTags(titulo)),
72
+ post: Object.assign(Object.assign(Object.assign(Object.assign({}, metodoCrearUno), lodash_1.pickBy(esquemas_genericos_1.SEGURIDAD_PATH_GENERICA, _ => seguridad)), { responses: Object.assign({}, esquemas_genericos_1.RESPUESTAS_HTTP) }), MlabSwaggerHelper.generarTags(titulo)),
73
+ };
74
+ }
75
+ static generarTags(titulo) {
76
+ return {
77
+ tags: [
78
+ {
79
+ description: `CRUD de "${titulo.toLowerCase()}"`,
80
+ },
81
+ ],
82
+ };
83
+ }
84
+ }
85
+ exports.MlabSwaggerHelper = MlabSwaggerHelper;
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxvcy1jb25maWd1cmFjaW9uL21sYWItc3dhZ2dlci9tbGFiLXN3YWdnZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLG1DQUE4QjtBQUM5Qix3RUFBc0g7QUFDdEgsNkRBQXNEO0FBRXRELE1BQWEsaUJBQWlCO0lBQzFCLHNCQUFzQjtJQUN0QixNQUFNLENBQUMsaUJBQWlCLENBQUMsV0FBd0I7UUFDN0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQy9CLENBQUMsVUFBbUUsRUFBRSxRQUFnQixFQUFFLEVBQUU7WUFDdEYsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQTJCLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7WUFDbEQsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsTUFBTSxhQUFhLEdBQUksY0FBZ0MsQ0FBQztnQkFDeEQsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUNoRCxNQUFNLGFBQWEsR0FBRyxPQUFPLGlCQUFpQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDekcsTUFBTSxjQUFjLEdBQUcscUNBQWdCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN0RSxV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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
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var MlabSwaggerModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MlabSwaggerModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const mlab_swagger_store_1 = require("./mlab-swagger.store");
13
+ const mlab_swagger_core_module_1 = require("./mlab-swagger-core.module");
14
+ const mlab_swagger_service_1 = require("./mlab-swagger.service");
15
+ let MlabSwaggerModule = MlabSwaggerModule_1 = class MlabSwaggerModule {
16
+ static registrar(moduloRef, opciones) {
17
+ const opcionesCompletas = Object.assign({ modulo: moduloRef }, opciones);
18
+ mlab_swagger_store_1.MlabSwaggerStore.agregarEsquemas(opcionesCompletas);
19
+ return MlabSwaggerModule_1;
20
+ }
21
+ static porRaiz(pathRaiz = 'api') {
22
+ return mlab_swagger_core_module_1.MlabSwaggerCoreModule.forRoot(pathRaiz);
23
+ }
24
+ static setup(app) {
25
+ mlab_swagger_service_1.MlabSwaggerService.construirAPI(app);
26
+ }
27
+ };
28
+ MlabSwaggerModule = MlabSwaggerModule_1 = __decorate([
29
+ common_1.Global(),
30
+ common_1.Module({})
31
+ ], MlabSwaggerModule);
32
+ exports.MlabSwaggerModule = MlabSwaggerModule;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxvcy1jb25maWd1cmFjaW9uL21sYWItc3dhZ2dlci9tbGFiLXN3YWdnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyQ0FBK0U7QUFDL0UsNkRBQXNEO0FBQ3RELHlFQUFpRTtBQUVqRSxpRUFBMEQ7QUFNMUQsSUFBYSxpQkFBaUIseUJBQTlCLE1BQWEsaUJBQWlCO0lBQzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBYyxFQUFFLFFBQXNCO1FBQ25ELE1BQU0saUJBQWlCLG1CQUNuQixNQUFNLEVBQUUsU0FBUyxJQUNkLFFBQVEsQ0FDZCxDQUFDO1FBQ0YscUNBQWdCLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEQsT0FBTyxtQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFtQixLQUFLO1FBQ25DLE9BQU8sZ0RBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQXFCO1FBQzlCLHlDQUFrQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0osQ0FBQTtBQWpCWSxpQkFBaUI7SUFKN0IsZUFBTSxFQUFFO0lBQ1IsZUFBTSxDQUNILEVBQUUsQ0FDTDtHQUNZLGlCQUFpQixDQWlCN0I7QUFqQlksOENBQWlCIn0=
@@ -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,71 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var MlabSwaggerService_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MlabSwaggerService = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const mlab_swagger_store_1 = require("./mlab-swagger.store");
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const mlab_swagger_helper_1 = require("./mlab-swagger-helper");
15
+ const esquemas_genericos_1 = require("./constantes/esquemas-genericos");
16
+ const lodash_1 = require("lodash");
17
+ let MlabSwaggerService = MlabSwaggerService_1 = class MlabSwaggerService {
18
+ static construirAPI(app) {
19
+ for (const esquema of mlab_swagger_store_1.MlabSwaggerStore.obtenerEsquemas) {
20
+ // logica para crear documentacion
21
+ const documento = MlabSwaggerService_1.generarDocumentacion(esquema);
22
+ const optionsGenericas = new swagger_1.DocumentBuilder()
23
+ .setTitle(esquema.titulo)
24
+ .build();
25
+ const documentoGenerico = swagger_1.SwaggerModule.createDocument(app, optionsGenericas, {
26
+ include: [esquema.modulo],
27
+ });
28
+ documentoGenerico.paths = Object.assign(Object.assign({}, documentoGenerico.paths), documento.paths);
29
+ documentoGenerico.security = Object.assign(Object.assign({}, documentoGenerico.security), documento.security);
30
+ documentoGenerico.components.schemas = Object.assign(Object.assign({}, documentoGenerico.components.schemas), documento.components.schemas);
31
+ swagger_1.SwaggerModule.setup(`${mlab_swagger_store_1.MlabSwaggerStore.pathRaiz}${esquema.path}`, app, documentoGenerico, { explorer: true });
32
+ }
33
+ }
34
+ static generarDocumentacion(plantilla) {
35
+ const esquemaSeguridad = {
36
+ securitySchemes: Object.assign(Object.assign({}, esquemas_genericos_1.ESQUEMA_SEGURIDAD_GENERICO), lodash_1.pickBy(plantilla.esquemaSeguridad, lodash_1.negate(lodash_1.isUndefined))),
37
+ };
38
+ const documentoPlantillaBase = {
39
+ openapi: '3.0.0',
40
+ paths: {},
41
+ info: {
42
+ title: `${plantilla.titulo}`,
43
+ version: `${plantilla.version}`,
44
+ },
45
+ components: Object.assign(Object.assign({}, lodash_1.pickBy(esquemaSeguridad, _ => plantilla.protegerRutas)), { schemas: {} }),
46
+ };
47
+ const nombreEsquemaCrear = typeof plantilla.esquemas.crear === 'string' ? plantilla.esquemas.crear : plantilla.esquemas.crear.name;
48
+ const nombreEsquemaEditar = typeof plantilla.esquemas.editar === 'string' ? plantilla.esquemas.editar : plantilla.esquemas.editar.name;
49
+ // Se obtienen los meta esquemas almacenados en el store por los decoradores
50
+ const metaEsquemaCrear = mlab_swagger_store_1.MlabSwaggerStore.obtenerEsquema(nombreEsquemaCrear);
51
+ const metaEsquemaEditar = mlab_swagger_store_1.MlabSwaggerStore.obtenerEsquema(nombreEsquemaEditar);
52
+ const esquemaCrear = mlab_swagger_helper_1.MlabSwaggerHelper
53
+ .empaquetarEsquema(metaEsquemaCrear);
54
+ const esquemaEditar = mlab_swagger_helper_1.MlabSwaggerHelper
55
+ .empaquetarEsquema(metaEsquemaEditar);
56
+ const metodoCrearUno = mlab_swagger_helper_1.MlabSwaggerHelper.generarMetodoPostPutPatch(plantilla.metodosCrud.crearUno.descripcion, esquemaCrear, metaEsquemaCrear.nombre);
57
+ const metodoEditarUno = mlab_swagger_helper_1.MlabSwaggerHelper.generarMetodoPostPutPatch(plantilla.metodosCrud.actualizarUno.descripcion, esquemaEditar, metaEsquemaEditar.nombre);
58
+ documentoPlantillaBase.paths[`${plantilla.path}`] = mlab_swagger_helper_1.MlabSwaggerHelper
59
+ .generarPathSinId(metodoCrearUno, plantilla.titulo, plantilla.protegerRutas);
60
+ documentoPlantillaBase.paths[`${plantilla.path}/{id}`] = mlab_swagger_helper_1.MlabSwaggerHelper
61
+ .generarPathConId(metodoEditarUno, plantilla.titulo, plantilla.protegerRutas);
62
+ documentoPlantillaBase.components.schemas = Object.assign(Object.assign({}, esquemaCrear), esquemaEditar);
63
+ // console.log(JSON.stringify(documentoPlantillaBase));
64
+ return documentoPlantillaBase;
65
+ }
66
+ };
67
+ MlabSwaggerService = MlabSwaggerService_1 = __decorate([
68
+ common_1.Injectable()
69
+ ], MlabSwaggerService);
70
+ exports.MlabSwaggerService = MlabSwaggerService;
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsb3MtY29uZmlndXJhY2lvbi9tbGFiLXN3YWdnZXIvbWxhYi1zd2FnZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUE0RDtBQUM1RCw2REFBc0Q7QUFDdEQsNkNBQThFO0FBRTlFLCtEQUF3RDtBQUN4RCx3RUFFeUM7QUFDekMsbUNBQW1EO0FBR25ELElBQWEsa0JBQWtCLDBCQUEvQixNQUFhLGtCQUFrQjtJQUUzQixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQXFCO1FBQ3JDLEtBQUssTUFBTSxPQUFPLElBQUkscUNBQWdCLENBQUMsZUFBZSxFQUFFO1lBQ3BELGtDQUFrQztZQUNsQyxNQUFNLFNBQVMsR0FBRyxvQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRSxNQUFNLGdCQUFnQixHQUFHLElBQUkseUJBQWUsRUFBRTtpQkFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7aUJBQ3hCLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxpQkFBaUIsR0FBRyx1QkFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsaUJBQWlCLENBQUMsS0FBSyxtQ0FDaEIsaUJBQWlCLENBQUMsS0FBSyxHQUN2QixTQUFTLENBQUMsS0FBSyxDQUNyQixDQUFDO1lBQ0YsaUJBQWlCLENBQUMsUUFBUSxtQ0FDbkIsaUJBQWlCLENBQUMsUUFBUSxHQUMxQixTQUFTLENBQUMsUUFBUSxDQUN4QixDQUFDO1lBQ0YsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sbUNBQzdCLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFP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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,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MlabSwaggerStore = void 0;
4
+ const constantes_1 = require("./constantes/constantes");
5
+ class MlabSwaggerStore {
6
+ static agregarMetadatos(target) {
7
+ const nombreClase = target.constructor.name;
8
+ const nombresClases = MlabSwaggerStore.metadatos.map(t => t.constructor.name);
9
+ const yaFueAgregado = nombresClases.some(nombre => nombre === nombreClase);
10
+ if (!yaFueAgregado) {
11
+ MlabSwaggerStore.metadatos.push(target);
12
+ }
13
+ }
14
+ static agregarEsquemas(esquema) {
15
+ this.esquemas.push(esquema);
16
+ }
17
+ static get obtenerEsquemas() {
18
+ return this.esquemas;
19
+ }
20
+ static obtenerEsquema(nombreEsquema) {
21
+ const propiedadesBrutas = MlabSwaggerStore.metadatos.map((target) => {
22
+ return Reflect.getMetadata(constantes_1.API_BODY_METADATA, target);
23
+ });
24
+ const preEsquemas = propiedadesBrutas.filter((preEsquema) => {
25
+ const llave = Object.keys(preEsquema)[0];
26
+ const esquema = preEsquema[llave];
27
+ return esquema.propietario === nombreEsquema;
28
+ });
29
+ const esquemaEntidad = preEsquemas[0];
30
+ const campos = Object.keys(esquemaEntidad);
31
+ const requeridos = campos.filter((campo) => {
32
+ return esquemaEntidad[campo].requerido;
33
+ });
34
+ return {
35
+ nombre: nombreEsquema,
36
+ definicion: Object.assign({}, preEsquemas[0]),
37
+ camposRequeridos: [
38
+ ...requeridos,
39
+ ],
40
+ };
41
+ }
42
+ }
43
+ exports.MlabSwaggerStore = MlabSwaggerStore;
44
+ MlabSwaggerStore.esquemas = [];
45
+ MlabSwaggerStore.pathRaiz = 'api';
46
+ MlabSwaggerStore.metadatos = [];
47
+ MlabSwaggerStore.propiedadesBrutas = [];
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWxhYi1zd2FnZ2VyLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bG9zLWNvbmZpZ3VyYWNpb24vbWxhYi1zd2FnZ2VyL21sYWItc3dhZ2dlci5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBMEQ7QUFFMUQsTUFBYSxnQkFBZ0I7SUFPekIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU07UUFDMUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUUsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUEyQjtRQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxLQUFLLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQXFCO1FBQ3ZDLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDcEQsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNQLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyw4QkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQ0osQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FDeEMsQ0FBQyxVQUFtQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsV0FBVyxLQUFLLGFBQWEsQ0FBQztRQUNqRCxDQUFDLENBQ0osQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzVCLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDZCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDM0MsQ0FBQyxDQUNKLENBQUM7UUFDRixPQUFPO1lBQ0gsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxvQkFDSCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ3BCO1lBQ0QsZ0JBQWdCLEVBQUU7Z0JBQ2QsR0FBRyxVQUFVO2FBQ2hCO1NBQ0osQ0FBQztJQUNOLENBQUM7O0FBckRMLDRDQXVEQztBQXREMkIseUJBQVEsR0FBeUIsRUFBRSxDQUFDO0FBQ3JELHlCQUFRLEdBQVcsS0FBSyxDQUFDO0FBRXpCLDBCQUFTLEdBQVUsRUFBRSxDQUFDO0FBQ3RCLGtDQUFpQixHQUFVLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ import { MongodbIndexOptions } from 'typeorm';
2
+ export interface MongoConfiguracionIndiceInterface {
3
+ fieldOrSpec: string | any;
4
+ options?: MongodbIndexOptions;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# 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,82 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PrincipalMongoController = void 0;
16
+ const principal_controller_1 = require("./principal.controller");
17
+ const common_1 = require("@nestjs/common");
18
+ const aplicar_politicas_de_seguridad_1 = require("./seguridad/aplicar-politicas-de-seguridad");
19
+ const operators_1 = require("rxjs/operators");
20
+ const rxjs_1 = require("rxjs");
21
+ class PrincipalMongoController extends principal_controller_1.PrincipalController {
22
+ constructor(_funcionesSeguridad, _servicio, _dto, _skip = 0, _take = 30, _mensajes = {
23
+ encontrarUno: 'Id incorrecto',
24
+ crearUno: 'Registro inválido',
25
+ actualizarUno: 'Error al actualizar',
26
+ eliminarUno: 'Error al eliminar'
27
+ }, contexto, _funcionesMiddleware = {}, activarPoliticasDeSeguridad = true, activarTriggersDeControlador = true) {
28
+ super(_funcionesSeguridad, _servicio, _dto, _skip, _take, _mensajes, contexto, _funcionesMiddleware, activarPoliticasDeSeguridad, activarTriggersDeControlador);
29
+ this.contexto = contexto;
30
+ }
31
+ findAll(criterioBusqueda, request, response) {
32
+ const tipoPoliticaSeguridad = {
33
+ web: {
34
+ request,
35
+ response
36
+ }
37
+ };
38
+ const objetoPoliticasDeSeguridad = {
39
+ funciones: this._funcionesSeguridad.findAll ? this._funcionesSeguridad.findAll : []
40
+ };
41
+ if (!this.activarPoliticasDeSeguridad) {
42
+ objetoPoliticasDeSeguridad.funciones = [];
43
+ }
44
+ const puedeRealizarAccion$ = aplicar_politicas_de_seguridad_1.aplicarPoliticasDeSeguridad(tipoPoliticaSeguridad, objetoPoliticasDeSeguridad, this.contexto);
45
+ puedeRealizarAccion$
46
+ .pipe(operators_1.mergeMap((puedeRealizarAccion) => {
47
+ if (puedeRealizarAccion) {
48
+ return rxjs_1.from(this._servicio.findFull(criterioBusqueda));
49
+ }
50
+ else {
51
+ return rxjs_1.of({ error: 403, mensaje: 'No tiene permisos' });
52
+ }
53
+ }))
54
+ .subscribe(async (respuesta) => {
55
+ const noEsRespuestaCorrecta = !(respuesta instanceof Array) && respuesta.error;
56
+ if (noEsRespuestaCorrecta) {
57
+ return response
58
+ .status(respuesta.error).send(respuesta);
59
+ }
60
+ else {
61
+ if (this._funcionesMiddleware.findAllAfter && this.activarTriggersDeControlador) {
62
+ respuesta = await this._funcionesMiddleware.findAllAfter(respuesta, tipoPoliticaSeguridad, this);
63
+ }
64
+ return response.send(respuesta);
65
+ }
66
+ }, (error) => {
67
+ console.error('Error', error);
68
+ return response.status(500).send('Error del servidor');
69
+ });
70
+ }
71
+ }
72
+ __decorate([
73
+ common_1.Get(),
74
+ __param(0, common_1.Query('criterioBusqueda')),
75
+ __param(1, common_1.Request()),
76
+ __param(2, common_1.Response()),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", [Object, Object, Object]),
79
+ __metadata("design:returntype", void 0)
80
+ ], PrincipalMongoController.prototype, "findAll", null);
81
+ exports.PrincipalMongoController = PrincipalMongoController;
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLW1vbmdvLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC1tb25nby5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUE2RDtBQU03RCwyQ0FBK0Q7QUFHL0QsK0ZBQXlGO0FBQ3pGLDhDQUEwQztBQUMxQywrQkFBZ0M7QUFFaEMsTUFBc0Isd0JBQ3BCLFNBQVEsMENBQWlEO0lBRXpELFlBQ0UsbUJBQXVDLEVBQ3ZDLFNBQThELEVBQzlELElBQWtCLEVBQ2xCLEtBQUssR0FBRyxDQUFDLEVBQ1QsS0FBSyxHQUFHLEVBQUUsRUFDVixZQUFnQztRQUM5QixZQUFZLEVBQUUsZUFBZTtRQUM3QixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsV0FBVyxFQUFFLG1CQUFtQjtLQUNqQyxFQUNTLFFBQWEsRUFDdkIsdUJBR1ksRUFBRSxFQUNkLDJCQUEyQixHQUFHLElBQUksRUFDbEMsNEJBQTRCLEdBQUcsSUFBSTtRQUVuQyxLQUFLLENBQ0gsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsNEJBQTRCLENBQzdCLENBQUM7UUFuQlEsYUFBUSxHQUFSLFFBQVEsQ0FBSztJQW9CekIsQ0FBQztJQUdELE9BQU8sQ0FDc0IsZ0JBQWdCLEVBQ2hDLE9BQU8sRUFDTixRQUFRO1FBRXBCLE1BQU0scUJBQXFCLEdBQXlCO1lBQ2xELEdBQUcsRUFBRTtnQkFDSCxPQUFPO2dCQUNQLFFBQVE7YUFDVDtTQUNGLENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUE4QjtZQUM1RCxTQUFTLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNwRixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNyQywwQkFBMEIsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1NBQzNDO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyw0REFBMkIsQ0FBQyxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0gsb0JBQW9CO2FBQ2pCLElBQUksQ0FDSCxvQkFBUSxDQUNOLENBQUMsbUJBQTRCLEVBQU8sRUFBRTtZQUNwQyxJQUFJLG1CQUFtQixFQUFFO2dCQUN2QixPQUFPLFdBQUksQ0FDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsZ0JBQWdCLENBQ2pCLENBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sU0FBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2FBQ3pEO1FBQ0gsQ0FBQyxDQUNGLENBQ0Y7YUFDQSxTQUFTLENBQ1IsS0FBSyxFQUFFLFNBQWtFLEVBQUUsRUFBRTtZQUMzRSxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQztZQUMvRSxJQUFJLHFCQUFxQixFQUFFO2dCQUN6QixPQUFPLFFBQVE7cUJBQ1osTUFBTSxDQUNKLFNBQWdELENBQUMsS0FBSyxDQUN4RCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO29CQUMvRSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUN0RCxTQUErQixFQUMvQixxQkFBcUIsRUFDckIsSUFBSSxDQUNMLENBQUM7aUJBQ0g7Z0JBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO1FBRUgsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFoRUM7SUFEQyxZQUFHLEVBQUU7SUFFSCxXQUFBLGNBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsZ0JBQU8sRUFBRSxDQUFBO0lBQ1QsV0FBQSxpQkFBUSxFQUFFLENBQUE7Ozs7dURBNERaO0FBckdILDREQXNHQyJ9
@@ -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
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrincipalMongoService = void 0;
4
+ const principal_service_1 = require("./principal.service");
5
+ const common_1 = require("@nestjs/common");
6
+ class PrincipalMongoService extends principal_service_1.PrincipalService {
7
+ constructor(repository, indexConfig, Entidad, NombreRepositorio, debug = true) {
8
+ super(repository, Entidad, NombreRepositorio, debug);
9
+ this.repository = repository;
10
+ this.indexConfig = indexConfig;
11
+ if (this.indexConfig) {
12
+ this.crearIndice(indexConfig).then(indx => console.info(`Indice creado: ${repository.metadata.name}`, indx)).catch(err => console.error(`Error al crear el indice para la entidad: ${repository.metadata.name}`, err));
13
+ }
14
+ }
15
+ async findFull(criterioBusqueda) {
16
+ try {
17
+ if (criterioBusqueda) {
18
+ return await this.repository.findAndCount(JSON.parse(criterioBusqueda));
19
+ }
20
+ else {
21
+ return await this.repository.findAndCount();
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.log('Error en la consulta mandando valores por defecto');
26
+ return await this.repository.findAndCount();
27
+ throw new common_1.InternalServerErrorException('Error on fetch document');
28
+ }
29
+ }
30
+ async crearIndice(config) {
31
+ try {
32
+ return await this.repository
33
+ .createCollectionIndex(config.fieldOrSpec, config.options);
34
+ }
35
+ catch (error) {
36
+ console.error({
37
+ error,
38
+ mensaje: 'maybe the index already exist'
39
+ });
40
+ throw new common_1.BadRequestException(error);
41
+ }
42
+ }
43
+ }
44
+ exports.PrincipalMongoService = PrincipalMongoService;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLW1vbmdvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByaW5jaXBhbC1tb25nby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUF1RDtBQUV2RCwyQ0FBbUY7QUFHbkYsTUFBYSxxQkFBK0IsU0FBUSxvQ0FBeUI7SUFFM0UsWUFDa0IsVUFBOEIsRUFDdEMsV0FBK0MsRUFDdkQsT0FBYSxFQUNiLGlCQUEwQixFQUMxQixRQUFpQixJQUFJO1FBRXJCLEtBQUssQ0FDSCxVQUFVLEVBQ1YsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixLQUFLLENBQ04sQ0FBQztRQVhjLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQztRQVd2RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDbEIsa0JBQWtCLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUNuRCxDQUNGLENBQUMsS0FBSyxDQUNMLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDbEIsOENBQThDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQ3hFLEdBQUcsQ0FDSixDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUF3QjtRQUNyQyxJQUFJO1lBQ0YsSUFBSSxnQkFBZ0IsRUFBQztnQkFDbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2FBQ3pFO2lCQUFNO2dCQUNMLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzdDO1NBQ0Y7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsQ0FBQztZQUNqRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUkscUNBQTRCLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQXlDO1FBQ3pELElBQUk7WUFDRixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVU7aUJBQ3pCLHFCQUFxQixDQUNwQixNQUFNLENBQUMsV0FBVyxFQUNsQixNQUFNLENBQUMsT0FBTyxDQUNmLENBQUM7U0FDTDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDWixLQUFLO2dCQUNMLE9BQU8sRUFBRSwrQkFBK0I7YUFDekMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLDRCQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztDQUNGO0FBMURELHNEQTBEQyJ9
@@ -2,19 +2,20 @@ import { MensajesController } from './interfaces-util/mensajes-controller';
2
2
  import { DtoInterface } from './interfaces-util/dto';
3
3
  import { FuncionesSeguridad } from './interfaces-util/funciones-seguridad';
4
4
  import { FuncionesMiddleware } from './interfaces-util/funciones-middleware';
5
- import { MetodosCrudInterface } from './decoradores/mlab-swagger/interfaces';
6
- export declare abstract class PrincipalController<CreateDto = any, UpdateDto = any, Entity = any> implements MetodosCrudInterface {
7
- private readonly _funcionesSeguridad;
8
- private readonly _servicio;
9
- private readonly _dto;
10
- private readonly _skip;
11
- private readonly _take;
12
- private readonly _mensajes;
5
+ import { MetodosCrudControllersInterface } from './decoradores/mlab-swagger/interfaces';
6
+ import { PrincipalService } from './principal.service';
7
+ export declare abstract class PrincipalController<CreateDto = any, UpdateDto = any, Entity = any> implements MetodosCrudControllersInterface {
8
+ protected readonly _funcionesSeguridad: FuncionesSeguridad;
9
+ protected readonly _servicio: PrincipalService<Entity, CreateDto, UpdateDto>;
10
+ protected readonly _dto: DtoInterface;
11
+ protected readonly _skip: number;
12
+ protected readonly _take: number;
13
+ protected readonly _mensajes: MensajesController;
13
14
  protected contexto: any;
14
- private readonly _funcionesMiddleware;
15
- private activarPoliticasDeSeguridad;
16
- private activarTriggersDeControlador;
17
- constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: any, _dto: DtoInterface, _skip: number, _take: number, _mensajes: MensajesController, contexto: any, _funcionesMiddleware?: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalController<CreateDto, UpdateDto>, Entity>, activarPoliticasDeSeguridad?: boolean, activarTriggersDeControlador?: boolean);
15
+ protected readonly _funcionesMiddleware: FuncionesMiddleware<CreateDto, UpdateDto, PrincipalController<CreateDto, UpdateDto>, Entity>;
16
+ protected activarPoliticasDeSeguridad: boolean;
17
+ protected activarTriggersDeControlador: boolean;
18
+ constructor(_funcionesSeguridad: FuncionesSeguridad, _servicio: PrincipalService<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);
18
19
  findAll(criterioBusqueda: any, request: any, response: any): void;
19
20
  findWhereOr(criterioBusqueda: any, request: any, response: any): void;
20
21
  count(criterioBusqueda: any, request: any, response: any): void;