@manticore-labs/nest 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/.idea/workspace.xml +44 -23
  2. package/README.md +1 -0
  3. package/build/main/index.d.ts +19 -0
  4. package/build/main/index.js +20 -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/mongo-configuracion-indice.interface.d.ts +5 -0
  59. package/build/main/lib/mongo-configuracion-indice.interface.js +3 -0
  60. package/build/main/lib/principal-mongo.controller.d.ts +11 -0
  61. package/build/main/lib/principal-mongo.controller.js +82 -0
  62. package/build/main/lib/principal-mongo.service.d.ts +10 -0
  63. package/build/main/lib/principal-mongo.service.js +45 -0
  64. package/build/main/lib/principal.controller.d.ts +13 -12
  65. package/build/main/lib/principal.controller.js +1 -1
  66. package/build/main/lib/principal.http.service.d.ts +13 -0
  67. package/build/main/lib/principal.http.service.js +26 -0
  68. package/build/main/lib/principal.service.d.ts +16 -5
  69. package/build/main/lib/principal.service.js +83 -2
  70. package/build/module/index.d.ts +19 -0
  71. package/build/module/index.js +20 -1
  72. package/build/module/lib/auth0/auth0.service.d.ts +7 -3
  73. package/build/module/lib/auth0/auth0.service.js +24 -3
  74. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
  75. package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.js +35 -0
  76. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
  77. package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.js +1 -0
  78. package/build/module/lib/decoradores/mlab-swagger/constantes.js +4 -2
  79. package/build/module/lib/decoradores/mlab-swagger/interfaces.d.ts +15 -2
  80. package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
  81. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
  82. package/build/module/lib/google-cloud/google-cloud-vision-api/constants.js +2 -0
  83. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
  84. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +52 -0
  85. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
  86. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +5 -0
  87. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
  88. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +26 -0
  89. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
  90. package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +88 -0
  91. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
  92. package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +1 -0
  93. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
  94. package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.js +68 -0
  95. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
  96. package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.js +150 -0
  97. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
  98. package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.js +27 -0
  99. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
  100. package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.js +111 -0
  101. package/build/module/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
  102. package/build/module/lib/modulos-configuracion/base-datos/constantes.js +3 -0
  103. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
  104. package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +18 -0
  105. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
  106. package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +9 -0
  107. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
  108. package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +7 -0
  109. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
  110. package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +30 -0
  111. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
  112. package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +1 -0
  113. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
  114. package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +1 -0
  115. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
  116. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +1 -0
  117. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
  118. package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +1 -0
  119. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
  120. package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +1 -0
  121. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
  122. package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +1 -0
  123. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
  124. package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +10 -0
  125. package/build/module/lib/mongo-configuracion-indice.interface.d.ts +5 -0
  126. package/build/module/lib/mongo-configuracion-indice.interface.js +1 -0
  127. package/build/module/lib/principal-mongo.controller.d.ts +11 -0
  128. package/build/module/lib/principal-mongo.controller.js +78 -0
  129. package/build/module/lib/principal-mongo.service.d.ts +10 -0
  130. package/build/module/lib/principal-mongo.service.js +41 -0
  131. package/build/module/lib/principal.controller.d.ts +13 -12
  132. package/build/module/lib/principal.controller.js +1 -1
  133. package/build/module/lib/principal.http.service.d.ts +13 -0
  134. package/build/module/lib/principal.http.service.js +22 -0
  135. package/build/module/lib/principal.service.d.ts +16 -5
  136. package/build/module/lib/principal.service.js +85 -4
  137. package/package.json +8 -5
@@ -6,9 +6,6 @@
6
6
  <component name="ChangeListManager">
7
7
  <list default="true" id="3cc62c2f-2436-4bac-9d17-6fb9079f080d" name="Default Changelist" comment="">
8
8
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/package-lock.json" beforeDir="false" />
10
- <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
11
- <change beforePath="$PROJECT_DIR$/src/lib/principal.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/principal.service.ts" afterDir="false" />
12
9
  </list>
13
10
  <option name="SHOW_DIALOG" value="false" />
14
11
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -25,6 +22,7 @@
25
22
  </component>
26
23
  <component name="PropertiesComponent">
27
24
  <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
25
+ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
28
26
  <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
29
27
  <property name="WebServerToolWindowFactoryState" value="false" />
30
28
  <property name="last_opened_file_path" value="$PROJECT_DIR$" />
@@ -35,7 +33,19 @@
35
33
  <property name="prettierjs.PrettierConfiguration.Package" value="D:\Gitlab\npm\manticore-labs-nest\node_modules\prettier" />
36
34
  <property name="ts.external.directory.path" value="$PROJECT_DIR$/node_modules/typescript/lib" />
37
35
  </component>
38
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
36
+ <component name="ServiceViewManager">
37
+ <option name="viewStates">
38
+ <list>
39
+ <serviceView>
40
+ <treeState>
41
+ <expand />
42
+ <select />
43
+ </treeState>
44
+ </serviceView>
45
+ </list>
46
+ </option>
47
+ </component>
48
+ <component name="SpellCheckerSettings" BundledDictionaries="0" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" Dictionaries="0" CorrectionsLimit="5" DefaultDictionary="application-level" UseSingleDictionary="true" />
39
49
  <component name="SvnConfiguration">
40
50
  <configuration />
41
51
  </component>
@@ -53,60 +63,71 @@
53
63
  <workItem from="1582059472197" duration="733000" />
54
64
  <workItem from="1595970985840" duration="602000" />
55
65
  <workItem from="1595972277525" duration="1968000" />
56
- <workItem from="1596216767075" duration="4773000" />
57
- <workItem from="1596298276752" duration="245000" />
66
+ <workItem from="1596216767075" duration="11394000" />
67
+ <workItem from="1596502537995" duration="1402000" />
68
+ <workItem from="1596647615046" duration="14434000" />
69
+ <workItem from="1596696816215" duration="513000" />
70
+ <workItem from="1598994833707" duration="243000" />
58
71
  </task>
59
72
  <servers />
60
73
  </component>
61
74
  <component name="TypeScriptGeneratedFilesManager">
62
- <option name="version" value="3" />
75
+ <option name="version" value="1" />
63
76
  </component>
64
77
  <component name="Vcs.Log.Tabs.Properties">
65
78
  <option name="TAB_STATES">
66
79
  <map>
67
80
  <entry key="MAIN">
68
81
  <value>
69
- <State />
82
+ <State>
83
+ <option name="COLUMN_ORDER" />
84
+ </State>
70
85
  </value>
71
86
  </entry>
72
87
  </map>
73
88
  </option>
74
- <option name="oldMeFiltersMigrated" value="true" />
75
89
  </component>
76
90
  <component name="WindowStateProjectService">
77
- <state x="680" y="307" width="550" height="496" key="#TSLint" timestamp="1596298421913">
78
- <screen x="0" y="27" width="1920" height="1130" />
91
+ <state x="1960" y="268" width="550" height="496" key="#TSLint" timestamp="1595971586649">
92
+ <screen x="1280" y="0" width="1920" height="1080" />
79
93
  </state>
80
- <state x="680" y="307" key="#TSLint/0.27.1920.1130/1920.0.1920.1200@0.27.1920.1130" timestamp="1596298421913" />
81
94
  <state x="1960" y="268" width="550" height="496" key="#TSLint/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1595971586649" />
82
95
  <state x="332" y="296" width="606" height="412" key="#com.intellij.fileTypes.FileTypeChooser" timestamp="1596217818604">
83
96
  <screen x="0" y="28" width="1280" height="952" />
84
97
  </state>
85
98
  <state x="332" y="296" width="606" height="412" key="#com.intellij.fileTypes.FileTypeChooser/0.28.1280.952/1280.0.1920.1080@0.28.1280.952" timestamp="1596217818604" />
86
- <state width="1897" height="264" key="GridCell.Tab.0.bottom" timestamp="1595971428154">
99
+ <state x="2076" y="259" width="374" height="560" key="#com.intellij.ide.util.MemberChooser" timestamp="1596654979851">
100
+ <screen x="1280" y="0" width="1920" height="1080" />
101
+ </state>
102
+ <state x="2076" y="259" width="374" height="560" key="#com.intellij.ide.util.MemberChooser/56.28.1224.996/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596654979851" />
103
+ <state x="2001" y="289" width="524" height="500" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1596655255973">
104
+ <screen x="1280" y="0" width="1920" height="1080" />
105
+ </state>
106
+ <state x="2001" y="289" width="524" height="500" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/56.28.1224.996/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596655255973" />
107
+ <state width="1897" height="350" key="GridCell.Tab.0.bottom" timestamp="1596234979449">
87
108
  <screen x="1280" y="0" width="1920" height="1080" />
88
109
  </state>
89
- <state width="1897" height="264" key="GridCell.Tab.0.bottom/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1595971428154" />
90
- <state width="1897" height="264" key="GridCell.Tab.0.center" timestamp="1595971428154">
110
+ <state width="1897" height="350" key="GridCell.Tab.0.bottom/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596234979449" />
111
+ <state width="1897" height="350" key="GridCell.Tab.0.center" timestamp="1596234979448">
91
112
  <screen x="1280" y="0" width="1920" height="1080" />
92
113
  </state>
93
- <state width="1897" height="264" key="GridCell.Tab.0.center/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1595971428154" />
94
- <state width="1897" height="264" key="GridCell.Tab.0.left" timestamp="1595971428154">
114
+ <state width="1897" height="350" key="GridCell.Tab.0.center/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596234979448" />
115
+ <state width="1897" height="350" key="GridCell.Tab.0.left" timestamp="1596234979448">
95
116
  <screen x="1280" y="0" width="1920" height="1080" />
96
117
  </state>
97
- <state width="1897" height="264" key="GridCell.Tab.0.left/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1595971428154" />
98
- <state width="1897" height="264" key="GridCell.Tab.0.right" timestamp="1595971428154">
118
+ <state width="1897" height="350" key="GridCell.Tab.0.left/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596234979448" />
119
+ <state width="1897" height="350" key="GridCell.Tab.0.right" timestamp="1596234979448">
99
120
  <screen x="1280" y="0" width="1920" height="1080" />
100
121
  </state>
101
- <state width="1897" height="264" key="GridCell.Tab.0.right/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1595971428154" />
122
+ <state width="1897" height="350" key="GridCell.Tab.0.right/0.28.1280.952/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596234979448" />
102
123
  <state x="297" y="176" width="676" height="651" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1596217249617">
103
124
  <screen x="0" y="28" width="1280" height="952" />
104
125
  </state>
105
126
  <state x="297" y="176" width="676" height="651" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.28.1280.952/1280.0.1920.1080@0.28.1280.952" timestamp="1596217249617" />
106
- <state x="455" y="273" width="1008" height="805" key="search.everywhere.popup" timestamp="1596298437575">
107
- <screen x="0" y="27" width="1920" height="1130" />
127
+ <state x="1735" y="235" width="1008" height="770" key="search.everywhere.popup" timestamp="1596653523011">
128
+ <screen x="1280" y="0" width="1920" height="1080" />
108
129
  </state>
109
- <state x="455" y="273" width="1008" height="805" key="search.everywhere.popup/0.27.1920.1130/1920.0.1920.1200@0.27.1920.1130" timestamp="1596298437575" />
110
130
  <state x="303" y="235" width="672" height="678" key="search.everywhere.popup/0.28.1280.952/1280.0.1920.1080@0.28.1280.952" timestamp="1596216913180" />
131
+ <state x="1735" y="235" width="1008" height="770" key="search.everywhere.popup/56.28.1224.996/1280.0.1920.1080@1280.0.1920.1080" timestamp="1596653523011" />
111
132
  </component>
112
133
  </project>
package/README.md CHANGED
@@ -1 +1,2 @@
1
1
  manticore-labs-nest
2
+ # Version 7 de NESTJS
@@ -29,6 +29,8 @@ export * from './lib/principal.dto';
29
29
  export * from './lib/principal.controller';
30
30
  export * from './lib/principal.resolver';
31
31
  export * from './lib/principal.gateway';
32
+ export * from './lib/principal-mongo.controller';
33
+ export * from './lib/principal-mongo.service';
32
34
  export * from './lib/interfaces-util/funciones-edicion-varias-tablas/registro-edicion-varias-tablas';
33
35
  export * from './lib/interfaces-util/funciones.gateway';
34
36
  export * from './lib/interfaces-util/funciones-middleware';
@@ -52,3 +54,20 @@ export * from './lib/politicas/revisar-si-tiene-nombre-permiso';
52
54
  export * from './lib/politicas/revisar-si-tiene-rol';
53
55
  export * from './lib/decoradores/mlab-swagger/mlab-swagger';
54
56
  export * from './lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger';
57
+ export * from './lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface';
58
+ export * from './lib/google-cloud/google-cloud-vision-api/constants';
59
+ export * from './lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module';
60
+ export * from './lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service';
61
+ export * from './lib/modulos-configuracion/base-datos/base-datos.module';
62
+ export * from './lib/modulos-configuracion/base-datos/base-datos.core.module';
63
+ export * from './lib/modulos-configuracion/base-datos/base-datos.service';
64
+ export * from './lib/modulos-configuracion/base-datos/base-datos.helper';
65
+ export * from './lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface';
66
+ export * from './lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface';
67
+ export * from './lib/modulos-configuracion/base-datos/interfaces/entidades.interface';
68
+ export * from './lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface';
69
+ export * from './lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface';
70
+ export * from './lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface';
71
+ export * from './lib/decoradores/dto/validadores-or-and/esTipo';
72
+ export * from './lib/decoradores/dto/validadores-or-and/interfaces';
73
+ export * from './lib/principal.http.service';
@@ -41,6 +41,8 @@ __exportStar(require("./lib/principal.dto"), exports);
41
41
  __exportStar(require("./lib/principal.controller"), exports);
42
42
  __exportStar(require("./lib/principal.resolver"), exports);
43
43
  __exportStar(require("./lib/principal.gateway"), exports);
44
+ __exportStar(require("./lib/principal-mongo.controller"), exports);
45
+ __exportStar(require("./lib/principal-mongo.service"), exports);
44
46
  __exportStar(require("./lib/interfaces-util/funciones-edicion-varias-tablas/registro-edicion-varias-tablas"), exports);
45
47
  __exportStar(require("./lib/interfaces-util/funciones.gateway"), exports);
46
48
  __exportStar(require("./lib/interfaces-util/funciones-middleware"), exports);
@@ -64,4 +66,21 @@ __exportStar(require("./lib/politicas/revisar-si-tiene-nombre-permiso"), exports
64
66
  __exportStar(require("./lib/politicas/revisar-si-tiene-rol"), exports);
65
67
  __exportStar(require("./lib/decoradores/mlab-swagger/mlab-swagger"), exports);
66
68
  __exportStar(require("./lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger"), exports);
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQTZDO0FBQzdDLDREQUEwQztBQUUxQywwR0FBd0Y7QUFDeEYsNEZBQTBFO0FBQzFFLGtGQUFnRTtBQUVoRSw2RUFBMkQ7QUFDM0QsOEVBQTREO0FBQzVELHlFQUF1RDtBQUV2RCw4RUFBNEQ7QUFDNUQscUdBQW1GO0FBRW5GLHNFQUFvRDtBQUNwRCx5RUFBdUQ7QUFFdkQsa0ZBQWdFO0FBQ2hFLGtGQUFnRTtBQUNoRSxvRkFBa0U7QUFDbEUscUZBQW1FO0FBRW5FLGtGQUFnRTtBQUNoRSxnRkFBOEQ7QUFDOUQsc0ZBQW9FO0FBQ3BFLHVGQUFxRTtBQUNyRSwyR0FBeUY7QUFDekYsZ0dBQThFO0FBQzlFLGlGQUErRDtBQUMvRCw4RUFBNEQ7QUFDNUQsc0ZBQW9FO0FBRXBFLHlEQUF1QztBQUN2QywwREFBd0M7QUFDeEMsc0RBQW9DO0FBQ3BDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsMERBQXdDO0FBRXhDLHVIQUFxRztBQUNyRywwRUFBd0Q7QUFDeEQsNkVBQTJEO0FBQzNELDRFQUEwRDtBQUMxRCw2RUFBMkQ7QUFDM0Qsd0VBQXNEO0FBQ3RELG9GQUFrRTtBQUNsRSwrRUFBNkQ7QUFDN0QsdUVBQXFEO0FBQ3JELDREQUEwQztBQUMxQyw0RUFBMEQ7QUFDMUQsK0VBQTZEO0FBQzdELGtGQUFnRTtBQUVoRSw2RkFBMkU7QUFFM0UscUdBQW1GO0FBQ25GLDRHQUEwRjtBQUUxRiwwRkFBd0U7QUFFeEUsa0VBQWdEO0FBRWhELDBGQUF3RTtBQUV4RSxrRkFBZ0U7QUFDaEUsdUVBQXFEO0FBR3JELDhFQUE0RDtBQUM1RCxxR0FBbUYifQ==
69
+ __exportStar(require("./lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface"), exports);
70
+ __exportStar(require("./lib/google-cloud/google-cloud-vision-api/constants"), exports);
71
+ __exportStar(require("./lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module"), exports);
72
+ __exportStar(require("./lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service"), exports);
73
+ __exportStar(require("./lib/modulos-configuracion/base-datos/base-datos.module"), exports);
74
+ __exportStar(require("./lib/modulos-configuracion/base-datos/base-datos.core.module"), exports);
75
+ __exportStar(require("./lib/modulos-configuracion/base-datos/base-datos.service"), exports);
76
+ __exportStar(require("./lib/modulos-configuracion/base-datos/base-datos.helper"), exports);
77
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface"), exports);
78
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface"), exports);
79
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/entidades.interface"), exports);
80
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface"), exports);
81
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface"), exports);
82
+ __exportStar(require("./lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface"), exports);
83
+ __exportStar(require("./lib/decoradores/dto/validadores-or-and/esTipo"), exports);
84
+ __exportStar(require("./lib/decoradores/dto/validadores-or-and/interfaces"), exports);
85
+ __exportStar(require("./lib/principal.http.service"), exports);
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQTZDO0FBQzdDLDREQUEwQztBQUUxQywwR0FBd0Y7QUFDeEYsNEZBQTBFO0FBQzFFLGtGQUFnRTtBQUVoRSw2RUFBMkQ7QUFDM0QsOEVBQTREO0FBQzVELHlFQUF1RDtBQUV2RCw4RUFBNEQ7QUFDNUQscUdBQW1GO0FBRW5GLHNFQUFvRDtBQUNwRCx5RUFBdUQ7QUFFdkQsa0ZBQWdFO0FBQ2hFLGtGQUFnRTtBQUNoRSxvRkFBa0U7QUFDbEUscUZBQW1FO0FBRW5FLGtGQUFnRTtBQUNoRSxnRkFBOEQ7QUFDOUQsc0ZBQW9FO0FBQ3BFLHVGQUFxRTtBQUNyRSwyR0FBeUY7QUFDekYsZ0dBQThFO0FBQzlFLGlGQUErRDtBQUMvRCw4RUFBNEQ7QUFDNUQsc0ZBQW9FO0FBRXBFLHlEQUF1QztBQUN2QywwREFBd0M7QUFDeEMsc0RBQW9DO0FBQ3BDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsMERBQXdDO0FBQ3hDLG1FQUFpRDtBQUNqRCxnRUFBOEM7QUFFOUMsdUhBQXFHO0FBQ3JHLDBFQUF3RDtBQUN4RCw2RUFBMkQ7QUFDM0QsNEVBQTBEO0FBQzFELDZFQUEyRDtBQUMzRCx3RUFBc0Q7QUFDdEQsb0ZBQWtFO0FBQ2xFLCtFQUE2RDtBQUM3RCx1RUFBcUQ7QUFDckQsNERBQTBDO0FBQzFDLDRFQUEwRDtBQUMxRCwrRUFBNkQ7QUFDN0Qsa0ZBQWdFO0FBRWhFLDZGQUEyRTtBQUUzRSxxR0FBbUY7QUFDbkYsNEdBQTBGO0FBRTFGLDBGQUF3RTtBQUV4RSxrRUFBZ0Q7QUFFaEQsMEZBQXdFO0FBRXhFLGtGQUFnRTtBQUNoRSx1RUFBcUQ7QUFHckQsOEVBQTREO0FBQzVELHFHQUFtRjtBQUduRiwrR0FBNkY7QUFDN0YsdUZBQXFFO0FBQ3JFLDRHQUEwRjtBQUMxRiw2R0FBMkY7QUFHM0YsMkZBQXlFO0FBQ3pFLGdHQUE4RTtBQUM5RSw0RkFBMEU7QUFDMUUsMkZBQXlFO0FBQ3pFLGtIQUFnRztBQUNoRywrR0FBNkY7QUFDN0Ysd0dBQXNGO0FBQ3RGLG9IQUFrRztBQUNsRyxtSEFBaUc7QUFDakcsK0dBQTZGO0FBRTdGLGtGQUFnRTtBQUNoRSxzRkFBb0U7QUFDcEUsK0RBQTZDIn0=
@@ -1,5 +1,5 @@
1
- import { ObjectID, FindManyOptions } from 'typeorm';
2
- import { UserData } from 'auth0';
1
+ import { FindManyOptions, ObjectID } from 'typeorm';
2
+ import { AuthenticationClient, UpdateUserData, UserData } from 'auth0';
3
3
  import { ErrorServicioInterface } from '../principal.service';
4
4
  import { CamposABuscarInterface } from '../interfaces-util/campos-a-buscar';
5
5
  import { Auth0Config } from './interfaces/auth0-config';
@@ -12,7 +12,7 @@ export declare abstract class PrincipalAuth0Service {
12
12
  private readonly sort;
13
13
  private readonly debug;
14
14
  managementClient: any;
15
- authenticationClient: any;
15
+ authenticationClient: AuthenticationClient;
16
16
  constructor(AUTH0_CONFIG: Auth0Config, _datosUsuarioService?: any, datosUsuarioDto?: any, AUTH0_CONFIG_PASSWORD?: any, search_engine?: string, sort?: string, debug?: boolean);
17
17
  findOne(id?: string | number | Date | ObjectID): Promise<UsuarioEntity | ErrorServicioInterface>;
18
18
  create(registro: UsuarioEntity): Promise<UserData | ErrorServicioInterface>;
@@ -43,6 +43,10 @@ export declare abstract class PrincipalAuth0Service {
43
43
  findAll(criterioBusqueda: FindManyOptions<any>, skip: number, take: number): Promise<[UsuarioEntity[], number] | ErrorServicioInterface>;
44
44
  login(username: string, password: string): Promise<RespuestaLoginPassword | ErrorServicioInterface>;
45
45
  requestChangePasswordByEmail(email: string, connection?: string): Promise<ErrorServicioInterface>;
46
+ restablecerCorreo(id: any, correo: string): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
47
+ bloquearUsuario(id: any): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
48
+ updateOne(id: any, datos: UpdateUserData): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
49
+ reenviarCorreo(id: string): Promise<import("auth0").VerificationEmailJob>;
46
50
  }
47
51
  export interface UsuarioEntity extends UserData {
48
52
  user_metadata?: any;
@@ -19,7 +19,6 @@ const buscar_registro_1 = require("../funciones-util/buscar-registro");
19
19
  const principal_find_many_options_1 = require("../principal.find-many-options");
20
20
  const axios_1 = __importDefault(require("axios"));
21
21
  const axios = axios_1.default;
22
- const ManagementClient = require('auth0').ManagementClient;
23
22
  let PrincipalAuth0Service = class PrincipalAuth0Service {
24
23
  constructor(AUTH0_CONFIG, _datosUsuarioService, datosUsuarioDto, AUTH0_CONFIG_PASSWORD, search_engine = 'v3', sort = 'created_at:-1', debug = true) {
25
24
  this.AUTH0_CONFIG = AUTH0_CONFIG;
@@ -29,7 +28,7 @@ let PrincipalAuth0Service = class PrincipalAuth0Service {
29
28
  this.search_engine = search_engine;
30
29
  this.sort = sort;
31
30
  this.debug = debug;
32
- this.managementClient = new ManagementClient({
31
+ this.managementClient = new auth0_1.ManagementClient({
33
32
  domain: `${this.AUTH0_CONFIG.CUENTA}.auth0.com`,
34
33
  clientId: `${this.AUTH0_CONFIG.CLIENT_ID}`,
35
34
  clientSecret: `${this.AUTH0_CONFIG.SECRET}`,
@@ -599,6 +598,28 @@ let PrincipalAuth0Service = class PrincipalAuth0Service {
599
598
  });
600
599
  });
601
600
  }
601
+ async restablecerCorreo(id, correo) {
602
+ const cliente = this.managementClient;
603
+ const datos = {
604
+ email: correo
605
+ };
606
+ return await cliente.updateUser({ id }, datos);
607
+ }
608
+ async bloquearUsuario(id) {
609
+ const cliente = this.managementClient;
610
+ const datos = {
611
+ blocked: true
612
+ };
613
+ return await cliente.updateUser({ id }, datos);
614
+ }
615
+ async updateOne(id, datos) {
616
+ const cliente = this.managementClient;
617
+ return await cliente.updateUser({ id }, datos);
618
+ }
619
+ async reenviarCorreo(id) {
620
+ const cliente = this.managementClient;
621
+ return await cliente.sendEmailVerification({ user_id: id });
622
+ }
602
623
  };
603
624
  PrincipalAuth0Service = __decorate([
604
625
  common_1.Injectable(),
@@ -645,4 +666,4 @@ function elaborarUserMetadataAActualizar(user_metadata, user_metadataAActualizar
645
666
  });
646
667
  return user_metadataClonado;
647
668
  }
648
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNEM7QUFFNUMsaUNBQXVEO0FBR3ZELHVFQUEwRTtBQUMxRSxnRkFBMEU7QUFDMUUsa0RBQXlCO0FBR3pCLE1BQU0sS0FBSyxHQUFRLGVBQUksQ0FBQztBQUN4QixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztBQUczRCxJQUFzQixxQkFBcUIsR0FBM0MsTUFBc0IscUJBQXFCO0lBSXpDLFlBQTZCLFlBQXlCLEVBQzFCLG9CQUEwQixFQUMxQixlQUFxQixFQUNwQixxQkFBMkIsRUFDM0IsZ0JBQXdCLElBQUksRUFDNUIsT0FBZSxlQUFlLEVBQzlCLFFBQWlCLElBQUk7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFNO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFNO1FBQ3BCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBTTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUEwQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUMzQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWTtZQUMvQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMxQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLEVBQUUsMkRBQTJEO1NBQ25FLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxv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
669
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBMEM7QUFFMUMsaUNBQXVGO0FBR3ZGLHVFQUF3RTtBQUN4RSxnRkFBd0U7QUFDeEUsa0RBQXlCO0FBR3pCLE1BQU0sS0FBSyxHQUFRLGVBQUksQ0FBQztBQUd4QixJQUFzQixxQkFBcUIsR0FBM0MsTUFBc0IscUJBQXFCO0lBSXZDLFlBQTZCLFlBQXlCLEVBQzFCLG9CQUEwQixFQUMxQixlQUFxQixFQUNwQixxQkFBMkIsRUFDM0IsZ0JBQXdCLElBQUksRUFDNUIsT0FBZSxlQUFlLEVBQzlCLFFBQWlCLElBQUk7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFNO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFNO1FBQ3BCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBTTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUEwQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx3QkFBZ0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sWUFBWTtZQUMvQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMxQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxLQUFLLEVBQUUsMkRBQTJEO1NBQ3JFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLDRCQUFvQixDQUFDO1lBQ2pELE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxN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
@@ -0,0 +1,3 @@
1
+ import { ArgumentosValidacionTipos, ColeccionTipos } from './interfaces';
2
+ import { ValidationOptions } from 'class-validator';
3
+ export declare function EsTipo<Tipo = ColeccionTipos>(estrategiaDeValidacionTipos: ColeccionTipos, paraTodo?: boolean, argsDic?: ArgumentosValidacionTipos<Tipo>, opcionesValidacion?: ValidationOptions): (objecto: Object, nombrePropiedad: string) => void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EsTipo = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ function EsTipo(estrategiaDeValidacionTipos, paraTodo, argsDic, opcionesValidacion) {
6
+ const estrategiasValidacion = Object.keys(estrategiaDeValidacionTipos);
7
+ const tieneArgumentosDiccionario = !!(argsDic && Object.keys(argsDic).length > 0);
8
+ return function (objecto, nombrePropiedad) {
9
+ class_validator_1.registerDecorator({
10
+ name: 'incorrectType',
11
+ target: objecto.constructor,
12
+ propertyName: nombrePropiedad,
13
+ options: opcionesValidacion,
14
+ validator: {
15
+ validate(value) {
16
+ const validacionGeneralCB = (estrategia) => {
17
+ const parametros = tieneArgumentosDiccionario ? argsDic[estrategia] : undefined;
18
+ const callback = estrategiaDeValidacionTipos[estrategia];
19
+ return callback(value, parametros);
20
+ };
21
+ if (paraTodo) {
22
+ return estrategiasValidacion.every(validacionGeneralCB);
23
+ }
24
+ else {
25
+ return estrategiasValidacion.some(validacionGeneralCB);
26
+ }
27
+ },
28
+ defaultMessage() {
29
+ const ultimoTipo = estrategiasValidacion.pop();
30
+ if (estrategiasValidacion.length === 0)
31
+ return `El valor debe ser ${ultimoTipo}`;
32
+ return `Puede ser solo ${estrategiasValidacion.join(', ')} ${paraTodo ? 'y' : 'o'} ${ultimoTipo}.`;
33
+ }
34
+ }
35
+ });
36
+ };
37
+ }
38
+ exports.EsTipo = EsTipo;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNUaXBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9kdG8vdmFsaWRhZG9yZXMtb3ItYW5kL2VzVGlwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFFckUsU0FBZ0IsTUFBTSxDQUNsQiwyQkFBMkMsRUFDM0MsUUFBa0IsRUFDbEIsT0FBeUMsRUFDekMsa0JBQXNDO0lBRXRDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWxGLE9BQU8sVUFDSCxPQUFlLEVBQ2YsZUFBdUI7UUFFdkIsbUNBQWlCLENBQ2I7WUFDSSxJQUFJLEVBQUUsZUFBZTtZQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDM0IsWUFBWSxFQUFFLGVBQWU7WUFDN0IsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1AsUUFBUSxDQUFDLEtBQVU7b0JBQ2YsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRTt3QkFDL0MsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUN6RixNQUFNLFFBQVEsR0FBdUIsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzdFLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFBO29CQUNELElBQUksUUFBUSxFQUFFO3dCQUNWLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7cUJBQzFEO3lCQUFNO3dCQUNILE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQzFEO2dCQUNMLENBQUM7Z0JBQ0QsY0FBYztvQkFDVixNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDL0MsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDbEMsT0FBTyxxQkFBcUIsVUFBVSxFQUFFLENBQUM7b0JBQzdDLE9BQU8sa0JBQWtCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsR0FBRyxDQUFDO2dCQUN2RyxDQUFDO2FBQ0o7U0FDSixDQUNKLENBQUM7SUFDTixDQUFDLENBQUE7QUFDTCxDQUFDO0FBMUNELHdCQTBDQyJ9
@@ -0,0 +1,12 @@
1
+ import { ValidationArguments } from 'class-validator';
2
+ export interface HasMap {
3
+ [key: string]: any;
4
+ }
5
+ export declare type ValidationFunction = (value: any, ...args: any[]) => boolean;
6
+ export interface ColeccionTipos {
7
+ [k: string]: ValidationFunction;
8
+ }
9
+ export declare type ValidadorTipo = Array<keyof ColeccionTipos>;
10
+ export declare type ArgumentosValidacionTipos<T = ColeccionTipos> = {
11
+ [k in keyof T]: HasMap | ValidationArguments;
12
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvZHRvL3ZhbGlkYWRvcmVzLW9yLWFuZC9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -6,7 +6,9 @@ exports.NOMBRE_METODOS_CRUD_API = {
6
6
  update: 'update',
7
7
  delete: 'delete',
8
8
  findOne: 'findOne',
9
- findAll: 'findAll'
9
+ findAll: 'findAll',
10
+ findFull: 'findFull',
11
+ find: 'find',
10
12
  };
11
13
  exports.BODY_METADATA_DEFECTO = {
12
14
  type: String,
@@ -19,4 +21,4 @@ exports.OPCIONES_QUERY_POR_DEFECTO = {
19
21
  exports.OPCIONES_HEADER_DEFECTO = {
20
22
  name: '',
21
23
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2NvbnN0YW50ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR2EsUUFBQSx1QkFBdUIsR0FBZTtJQUNqRCxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztDQUNuQixDQUFBO0FBRVksUUFBQSxxQkFBcUIsR0FBb0I7SUFDcEQsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFVyxRQUFBLDBCQUEwQixHQUFvQjtJQUN6RCxJQUFJLEVBQUUsRUFBRTtJQUNSLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQThCO0lBQ2hFLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQyJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2NvbnN0YW50ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR2EsUUFBQSx1QkFBdUIsR0FBZTtJQUNqRCxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUE7QUFFWSxRQUFBLHFCQUFxQixHQUFvQjtJQUNwRCxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQW9CO0lBQ3pELElBQUksRUFBRSxFQUFFO0lBQ1IsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBOEI7SUFDaEUsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDIn0=
@@ -8,21 +8,34 @@ export interface OperacionesCrud {
8
8
  delete?: any;
9
9
  findOne?: any;
10
10
  findAll?: any;
11
+ findFull?: any;
12
+ find?: any;
11
13
  }
12
- export interface MetodosCrudInterface extends OperacionesCrud {
14
+ export interface MetodosCrudServicioInterface extends OperacionesCrud {
15
+ create: (...args: any[]) => any;
16
+ update: (...args: any[]) => any;
17
+ delete: (...args: any[]) => any;
18
+ findOne: (...args: any[]) => any;
19
+ findAll?: (...args: any[]) => any;
20
+ findFull?: (...args: any[]) => any;
21
+ find?: (...args: any[]) => any;
22
+ }
23
+ export interface MetodosCrudControllersInterface extends OperacionesCrud {
13
24
  create: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
14
25
  update: (id: any, registroAActualizar: any, req: any, res: any, ...args: any[]) => any;
15
26
  delete: (nuevoRegistro: any, req: any, res: any, ...args: any[]) => any;
16
27
  findOne: (id: any, req: any, res: any, ...args: any[]) => any;
17
28
  findAll: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
29
+ findFull?: (criterioBusqueda: any, req: any, res: any, ...args: any[]) => any;
18
30
  }
19
- export declare type MetodoCrud = keyof MetodosCrudInterface;
31
+ export declare type MetodoCrud = keyof MetodosCrudControllersInterface;
20
32
  export interface CrudApiDocConfigInterface extends OperacionesCrud {
21
33
  create?: CreateUpdateOneConfigInterface;
22
34
  update?: CreateUpdateOneConfigInterface;
23
35
  findAll?: BaseConfig;
24
36
  delete?: BaseConfig;
25
37
  findOne?: BaseConfig;
38
+ findFull?: BaseConfig;
26
39
  }
27
40
  export interface BaseConfig {
28
41
  headers?: ApiHeaderOptions[];
@@ -13,11 +13,16 @@ function ValorEstaDentroDeArreglo(property, validationOptions) {
13
13
  validator: {
14
14
  validate(value, args) {
15
15
  const arreglo = args.constraints[0];
16
- return arreglo.some((valorEnArreglo) => valorEnArreglo === value);
16
+ return arreglo.some((valorEnArreglo) => {
17
+ if (value === 0 && valorEnArreglo === 0) {
18
+ return true;
19
+ }
20
+ return valorEnArreglo === value;
21
+ });
17
22
  }
18
23
  }
19
24
  });
20
25
  };
21
26
  }
22
27
  exports.ValorEstaDentroDeArreglo = ValorEstaDentroDeArreglo;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsb3ItZXN0YS1kZW50cm8tZGVsLWFycmVnbG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmNpb25lcy11dGlsL3R5cGVvcm0vdmFsb3ItZXN0YS1kZW50cm8tZGVsLWFycmVnbG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTBGO0FBRTFGLFNBQWdCLHdCQUF3QixDQUFDLFFBQWUsRUFBRSxpQkFBcUM7SUFDM0YsT0FBTyxVQUFVLE1BQWMsRUFBRSxZQUFvQjtRQUNqRCxtQ0FBaUIsQ0FBQztZQUNkLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQzFCLFlBQVksRUFBRSxZQUFZO1lBQzFCLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN2QixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFNBQVMsRUFBRTtnQkFDUCxRQUFRLENBQUMsS0FBVSxFQUFFLElBQXlCO29CQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDdEUsQ0FBQzthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWhCRCw0REFnQkMifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsb3ItZXN0YS1kZW50cm8tZGVsLWFycmVnbG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmNpb25lcy11dGlsL3R5cGVvcm0vdmFsb3ItZXN0YS1kZW50cm8tZGVsLWFycmVnbG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTBGO0FBRTFGLFNBQWdCLHdCQUF3QixDQUFDLFFBQWUsRUFBRSxpQkFBcUM7SUFDM0YsT0FBTyxVQUFVLE1BQWMsRUFBRSxZQUFvQjtRQUNqRCxtQ0FBaUIsQ0FBQztZQUNkLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQzFCLFlBQVksRUFBRSxZQUFZO1lBQzFCLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN2QixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFNBQVMsRUFBRTtnQkFDUCxRQUFRLENBQUMsS0FBVSxFQUFFLElBQXlCO29CQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2YsQ0FBQyxjQUFjLEVBQUUsRUFBRTt3QkFDZixJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksY0FBYyxLQUFLLENBQUMsRUFBRTs0QkFDckMsT0FBTyxJQUFJLENBQUE7eUJBQ2Q7d0JBQ0QsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO29CQUNwQyxDQUFDLENBQUMsQ0FBQztnQkFDWCxDQUFDO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDTixDQUFDO0FBdEJELDREQXNCQyJ9
@@ -0,0 +1 @@
1
+ export declare const GCP_VISION_API_CLIENT = "GCP_VISION_API_CLIENT";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GCP_VISION_API_CLIENT = void 0;
4
+ exports.GCP_VISION_API_CLIENT = 'GCP_VISION_API_CLIENT';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9nb29nbGUtY2xvdWQvZ29vZ2xlLWNsb3VkLXZpc2lvbi1hcGkvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEscUJBQXFCLEdBQUcsdUJBQXVCLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export declare class GoogleCloudVisionApiPrincipalModule {
3
+ static register(): DynamicModule;
4
+ private static get inyectarYObtenerProviders();
5
+ }