@biorate/nestjs-tools 1.169.1 → 2.0.0

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 (354) hide show
  1. package/dist/{index.js → cjs/index.js} +0 -1
  2. package/dist/{interfaces → cjs/interfaces}/index.js +0 -1
  3. package/dist/{interfaces → cjs/interfaces}/ports/client.driven.port.js +0 -1
  4. package/dist/{interfaces → cjs/interfaces}/ports/crud.driven.port.js +0 -1
  5. package/dist/{interfaces → cjs/interfaces}/ports/index.js +0 -1
  6. package/dist/{interfaces → cjs/interfaces}/ports/metrics.driven.port.js +0 -1
  7. package/dist/cjs/package.json +3 -0
  8. package/dist/{src → cjs/src}/app/application/index.js +0 -1
  9. package/dist/{src → cjs/src}/app/application/ports/index.js +0 -1
  10. package/dist/{src → cjs/src}/app/application/service/client/get-locale.use-case.js +0 -1
  11. package/dist/{src → cjs/src}/app/application/service/client/index.js +0 -1
  12. package/dist/{src → cjs/src}/app/application/service/client/set-locale.use-case.js +0 -1
  13. package/dist/{src → cjs/src}/app/application/service/index.js +0 -1
  14. package/dist/{src → cjs/src}/app/application/service/metrics/get-metrics.use-case.js +0 -1
  15. package/dist/{src → cjs/src}/app/application/service/metrics/index.js +0 -1
  16. package/dist/{src → cjs/src}/app/index.js +0 -1
  17. package/dist/{src → cjs/src}/app/infrastructure/adapters/client.repository.adapter.js +0 -1
  18. package/dist/{src → cjs/src}/app/infrastructure/adapters/index.js +0 -1
  19. package/dist/{src → cjs/src}/app/infrastructure/adapters/metrics.repository.adapter.js +0 -1
  20. package/dist/{src → cjs/src}/app/infrastructure/controllers/client.controller.js +0 -1
  21. package/dist/{src/http → cjs/src/app/infrastructure/controllers}/dto/index.js +0 -1
  22. package/dist/{src → cjs/src}/app/infrastructure/controllers/dto/locales.js +0 -1
  23. package/dist/{src → cjs/src}/app/infrastructure/controllers/index.js +0 -1
  24. package/dist/{src → cjs/src}/app/infrastructure/controllers/metrics.controller.js +0 -1
  25. package/dist/{src → cjs/src}/app/infrastructure/controllers/probe.controller.js +0 -1
  26. package/dist/{src → cjs/src}/app/infrastructure/index.js +0 -1
  27. package/dist/{src → cjs/src}/cors.js +0 -1
  28. package/dist/{src → cjs/src}/decorators/auth.js +1 -5
  29. package/dist/{src/providers → cjs/src/decorators}/index.js +0 -1
  30. package/dist/{src → cjs/src}/decorators/roles.js +0 -1
  31. package/dist/{src → cjs/src}/enums/index.js +0 -1
  32. package/dist/{src → cjs/src}/enums/user.js +0 -1
  33. package/dist/{src → cjs/src}/errors.js +0 -1
  34. package/dist/{src → cjs/src}/filters/all-exception-filter.js +0 -1
  35. package/dist/{src → cjs/src}/filters/index.js +0 -1
  36. package/dist/{src → cjs/src}/http/controllers/index.js +0 -1
  37. package/dist/{src → cjs/src}/http/controllers/locales.js +0 -1
  38. package/dist/{src → cjs/src}/http/controllers/metrics.js +0 -1
  39. package/dist/{src → cjs/src}/http/controllers/probe.js +0 -1
  40. package/dist/{src/app/infrastructure/controllers → cjs/src/http}/dto/index.js +0 -1
  41. package/dist/{src → cjs/src}/http/dto/locales.js +0 -1
  42. package/dist/{src → cjs/src}/http/index.js +0 -1
  43. package/dist/{src → cjs/src}/index.js +0 -1
  44. package/dist/{src → cjs/src}/interceptors/index.js +0 -1
  45. package/dist/{src → cjs/src}/interceptors/routes-interceptor.js +0 -1
  46. package/dist/{src → cjs/src}/interceptors/tracing-interceptor.js +0 -1
  47. package/dist/{src → cjs/src}/middlewares/index.js +0 -1
  48. package/dist/{src → cjs/src}/middlewares/proxy-middleware.js +0 -1
  49. package/dist/{src → cjs/src}/middlewares/request-count-middleware.js +0 -1
  50. package/dist/{src → cjs/src}/middlewares/response-time-middleware.js +0 -1
  51. package/dist/{src → cjs/src}/providers/auth.js +0 -1
  52. package/dist/{src/decorators → cjs/src/providers}/index.js +0 -1
  53. package/dist/{src → cjs/src}/providers/roles.js +0 -1
  54. package/dist/esm/index.js +1 -0
  55. package/dist/esm/interfaces/index.js +6 -0
  56. package/dist/esm/interfaces/ports/client.driven.port.js +1 -0
  57. package/dist/esm/interfaces/ports/crud.driven.port.js +1 -0
  58. package/dist/esm/interfaces/ports/index.js +3 -0
  59. package/dist/esm/interfaces/ports/metrics.driven.port.js +1 -0
  60. package/dist/esm/package.json +3 -0
  61. package/dist/esm/src/app/application/index.js +2 -0
  62. package/dist/esm/src/app/application/ports/index.js +1 -0
  63. package/dist/esm/src/app/application/service/client/get-locale.use-case.js +24 -0
  64. package/dist/esm/src/app/application/service/client/index.js +2 -0
  65. package/dist/esm/src/app/application/service/client/set-locale.use-case.js +24 -0
  66. package/dist/esm/src/app/application/service/index.js +2 -0
  67. package/dist/esm/src/app/application/service/metrics/get-metrics.use-case.js +24 -0
  68. package/dist/esm/src/app/application/service/metrics/index.js +1 -0
  69. package/dist/esm/src/app/index.js +2 -0
  70. package/dist/esm/src/app/infrastructure/adapters/client.repository.adapter.js +34 -0
  71. package/dist/esm/src/app/infrastructure/adapters/index.js +2 -0
  72. package/dist/esm/src/app/infrastructure/adapters/metrics.repository.adapter.js +24 -0
  73. package/dist/esm/src/app/infrastructure/controllers/client.controller.js +52 -0
  74. package/dist/esm/src/app/infrastructure/controllers/dto/index.js +1 -0
  75. package/dist/esm/src/app/infrastructure/controllers/dto/locales.js +25 -0
  76. package/dist/esm/src/app/infrastructure/controllers/index.js +3 -0
  77. package/dist/esm/src/app/infrastructure/controllers/metrics.controller.js +34 -0
  78. package/dist/esm/src/app/infrastructure/controllers/probe.controller.js +38 -0
  79. package/dist/esm/src/app/infrastructure/index.js +2 -0
  80. package/dist/esm/src/cors.js +11 -0
  81. package/dist/esm/src/decorators/auth.js +4 -0
  82. package/dist/esm/src/decorators/index.js +2 -0
  83. package/dist/esm/src/decorators/roles.js +6 -0
  84. package/dist/esm/src/enums/index.js +1 -0
  85. package/dist/esm/src/enums/user.js +1 -0
  86. package/dist/esm/src/errors.js +16 -0
  87. package/dist/esm/src/filters/all-exception-filter.js +70 -0
  88. package/dist/esm/src/filters/index.js +1 -0
  89. package/dist/esm/src/http/controllers/index.js +3 -0
  90. package/dist/esm/src/http/controllers/locales.js +79 -0
  91. package/dist/esm/src/http/controllers/metrics.js +35 -0
  92. package/dist/esm/src/http/controllers/probe.js +40 -0
  93. package/dist/esm/src/http/dto/index.js +1 -0
  94. package/dist/esm/src/http/dto/locales.js +25 -0
  95. package/dist/esm/src/http/index.js +2 -0
  96. package/dist/esm/src/index.js +10 -0
  97. package/dist/esm/src/interceptors/index.js +2 -0
  98. package/dist/esm/src/interceptors/routes-interceptor.js +29 -0
  99. package/dist/esm/src/interceptors/tracing-interceptor.js +74 -0
  100. package/dist/esm/src/middlewares/index.js +3 -0
  101. package/dist/esm/src/middlewares/proxy-middleware.js +75 -0
  102. package/dist/esm/src/middlewares/request-count-middleware.js +48 -0
  103. package/dist/esm/src/middlewares/response-time-middleware.js +60 -0
  104. package/dist/esm/src/providers/auth.js +41 -0
  105. package/dist/esm/src/providers/index.js +2 -0
  106. package/dist/esm/src/providers/roles.js +36 -0
  107. package/dist/types/index.d.ts +1 -0
  108. package/dist/types/interfaces/index.d.ts +9 -0
  109. package/dist/types/interfaces/ports/client.driven.port.d.ts +4 -0
  110. package/dist/types/interfaces/ports/crud.driven.port.d.ts +33 -0
  111. package/{interfaces/ports/metrics.driven.port.ts → dist/types/interfaces/ports/metrics.driven.port.d.ts} +1 -1
  112. package/dist/types/src/app/application/service/client/get-locale.use-case.d.ts +5 -0
  113. package/dist/types/src/app/application/service/client/set-locale.use-case.d.ts +5 -0
  114. package/dist/types/src/app/application/service/metrics/get-metrics.use-case.d.ts +5 -0
  115. package/dist/types/src/app/infrastructure/adapters/client.repository.adapter.d.ts +5 -0
  116. package/dist/types/src/app/infrastructure/adapters/metrics.repository.adapter.d.ts +6 -0
  117. package/dist/types/src/app/infrastructure/controllers/client.controller.d.ts +9 -0
  118. package/dist/types/src/app/infrastructure/controllers/dto/locales.d.ts +7 -0
  119. package/dist/types/src/app/infrastructure/controllers/metrics.controller.d.ts +6 -0
  120. package/dist/types/src/app/infrastructure/controllers/probe.controller.d.ts +4 -0
  121. package/{src/app/infrastructure/index.ts → dist/types/src/app/infrastructure/index.d.ts} +0 -1
  122. package/dist/types/src/cors.d.ts +1 -0
  123. package/dist/types/src/decorators/auth.d.ts +1 -0
  124. package/dist/types/src/decorators/roles.d.ts +2 -0
  125. package/dist/types/src/errors.d.ts +10 -0
  126. package/dist/types/src/filters/all-exception-filter.d.ts +10 -0
  127. package/dist/types/src/http/controllers/locales.d.ts +8 -0
  128. package/dist/types/src/http/controllers/metrics.d.ts +5 -0
  129. package/dist/types/src/http/controllers/probe.d.ts +4 -0
  130. package/dist/types/src/http/dto/locales.d.ts +7 -0
  131. package/dist/types/src/interceptors/routes-interceptor.d.ts +9 -0
  132. package/dist/types/src/interceptors/tracing-interceptor.d.ts +12 -0
  133. package/dist/types/src/middlewares/proxy-middleware.d.ts +10 -0
  134. package/dist/types/src/middlewares/request-count-middleware.d.ts +7 -0
  135. package/dist/types/src/middlewares/response-time-middleware.d.ts +11 -0
  136. package/dist/types/src/providers/auth.d.ts +5 -0
  137. package/dist/types/src/providers/roles.d.ts +10 -0
  138. package/package.json +36 -11
  139. package/.nyc_output/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
  140. package/.nyc_output/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
  141. package/.nyc_output/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
  142. package/.nyc_output/processinfo/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
  143. package/.nyc_output/processinfo/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
  144. package/.nyc_output/processinfo/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
  145. package/.nyc_output/processinfo/index.json +0 -1
  146. package/CHANGELOG.md +0 -1275
  147. package/allure-results/06be5133-7300-4999-a964-8e2cf2e8433b-result.json +0 -1
  148. package/allure-results/13358ab2-596e-474e-a07c-ac82552a4799-result.json +0 -1
  149. package/allure-results/2b2df749-c29a-4f64-bc48-8c4ecd910c89-result.json +0 -1
  150. package/allure-results/34b63fac-556c-411f-9d0e-a1a68ed9edb1-result.json +0 -1
  151. package/allure-results/34d694a2-c986-4688-8d87-2b8917c01d30-result.json +0 -1
  152. package/allure-results/4e89a985-0880-45f5-90e7-077be33dcec6-result.json +0 -1
  153. package/allure-results/58f6344b-f83b-42f3-9537-3b0ff06c6a35-result.json +0 -1
  154. package/allure-results/6a865229-7793-407a-9298-baa21c003fa1-result.json +0 -1
  155. package/allure-results/7f7c75dd-81da-4db1-afe0-0e147d5fb844-result.json +0 -1
  156. package/allure-results/86ee0a03-8925-4961-b76a-8040f9613f58-result.json +0 -1
  157. package/allure-results/87c36229-7158-4566-a465-333d2c54d160-container.json +0 -1
  158. package/allure-results/ab43746f-f321-46df-8acd-624aa30ce63f-result.json +0 -1
  159. package/allure-results/ab8ee629-44e0-4da7-8089-4b00f15b705d-container.json +0 -1
  160. package/allure-results/ac4ee827-c0e5-4349-b6ee-00831f1f4b5c-result.json +0 -1
  161. package/allure-results/ac57cb14-8fa6-441b-8540-7c4f599a2706-result.json +0 -1
  162. package/allure-results/b2302e67-971f-4594-ac18-0daaaa489498-result.json +0 -1
  163. package/allure-results/b62fb1f7-47b7-40d0-b347-7bfbcf15164d-result.json +0 -1
  164. package/allure-results/bc7dfd81-d002-4d32-8a6f-6b8ab0364543-result.json +0 -1
  165. package/allure-results/cf1bb5d6-048d-4a58-8cf4-023576d59935-result.json +0 -1
  166. package/allure-results/e9c54e2f-6cbe-4cd5-89c9-eeee96b34474-result.json +0 -1
  167. package/coverage/base.css +0 -224
  168. package/coverage/block-navigation.js +0 -87
  169. package/coverage/clover.xml +0 -418
  170. package/coverage/coverage-final.json +0 -50
  171. package/coverage/favicon.png +0 -0
  172. package/coverage/index.html +0 -416
  173. package/coverage/interfaces/index.html +0 -116
  174. package/coverage/interfaces/index.ts.html +0 -118
  175. package/coverage/interfaces/ports/client.driven.port.ts.html +0 -100
  176. package/coverage/interfaces/ports/crud.driven.port.ts.html +0 -256
  177. package/coverage/interfaces/ports/index.html +0 -161
  178. package/coverage/interfaces/ports/index.ts.html +0 -94
  179. package/coverage/interfaces/ports/metrics.driven.port.ts.html +0 -94
  180. package/coverage/prettify.css +0 -1
  181. package/coverage/prettify.js +0 -2
  182. package/coverage/sort-arrow-sprite.png +0 -0
  183. package/coverage/sorter.js +0 -210
  184. package/coverage/src/app/application/index.html +0 -116
  185. package/coverage/src/app/application/index.ts.html +0 -91
  186. package/coverage/src/app/application/ports/index.html +0 -116
  187. package/coverage/src/app/application/ports/index.ts.html +0 -88
  188. package/coverage/src/app/application/service/client/get-locale.use-case.ts.html +0 -124
  189. package/coverage/src/app/application/service/client/index.html +0 -146
  190. package/coverage/src/app/application/service/client/index.ts.html +0 -91
  191. package/coverage/src/app/application/service/client/set-locale.use-case.ts.html +0 -124
  192. package/coverage/src/app/application/service/index.html +0 -116
  193. package/coverage/src/app/application/service/index.ts.html +0 -91
  194. package/coverage/src/app/application/service/metrics/get-metrics.use-case.ts.html +0 -124
  195. package/coverage/src/app/application/service/metrics/index.html +0 -131
  196. package/coverage/src/app/application/service/metrics/index.ts.html +0 -88
  197. package/coverage/src/app/index.html +0 -116
  198. package/coverage/src/app/index.ts.html +0 -91
  199. package/coverage/src/app/infrastructure/adapters/client.repository.adapter.ts.html +0 -190
  200. package/coverage/src/app/infrastructure/adapters/index.html +0 -146
  201. package/coverage/src/app/infrastructure/adapters/index.ts.html +0 -91
  202. package/coverage/src/app/infrastructure/adapters/metrics.repository.adapter.ts.html +0 -124
  203. package/coverage/src/app/infrastructure/controllers/client.controller.ts.html +0 -169
  204. package/coverage/src/app/infrastructure/controllers/index.html +0 -161
  205. package/coverage/src/app/infrastructure/controllers/index.ts.html +0 -94
  206. package/coverage/src/app/infrastructure/controllers/metrics.controller.ts.html +0 -133
  207. package/coverage/src/app/infrastructure/controllers/probe.controller.ts.html +0 -139
  208. package/coverage/src/app/infrastructure/index.html +0 -116
  209. package/coverage/src/app/infrastructure/index.ts.html +0 -94
  210. package/coverage/src/cors.ts.html +0 -142
  211. package/coverage/src/decorators/auth.ts.html +0 -112
  212. package/coverage/src/decorators/index.html +0 -146
  213. package/coverage/src/decorators/index.ts.html +0 -91
  214. package/coverage/src/decorators/roles.ts.html +0 -121
  215. package/coverage/src/enums/index.html +0 -131
  216. package/coverage/src/enums/index.ts.html +0 -88
  217. package/coverage/src/enums/user.ts.html +0 -88
  218. package/coverage/src/errors.ts.html +0 -142
  219. package/coverage/src/filters/all-exception-filter.ts.html +0 -358
  220. package/coverage/src/filters/index.html +0 -131
  221. package/coverage/src/filters/index.ts.html +0 -88
  222. package/coverage/src/http/controllers/index.html +0 -161
  223. package/coverage/src/http/controllers/index.ts.html +0 -94
  224. package/coverage/src/http/controllers/locales.ts.html +0 -322
  225. package/coverage/src/http/controllers/metrics.ts.html +0 -148
  226. package/coverage/src/http/controllers/probe.ts.html +0 -163
  227. package/coverage/src/http/dto/index.html +0 -131
  228. package/coverage/src/http/dto/index.ts.html +0 -88
  229. package/coverage/src/http/dto/locales.ts.html +0 -130
  230. package/coverage/src/http/index.html +0 -116
  231. package/coverage/src/http/index.ts.html +0 -91
  232. package/coverage/src/index.html +0 -146
  233. package/coverage/src/index.ts.html +0 -115
  234. package/coverage/src/interceptors/index.html +0 -146
  235. package/coverage/src/interceptors/index.ts.html +0 -91
  236. package/coverage/src/interceptors/routes-interceptor.ts.html +0 -202
  237. package/coverage/src/interceptors/tracing-interceptor.ts.html +0 -307
  238. package/coverage/src/middlewares/index.html +0 -161
  239. package/coverage/src/middlewares/index.ts.html +0 -94
  240. package/coverage/src/middlewares/proxy-middleware.ts.html +0 -319
  241. package/coverage/src/middlewares/request-count-middleware.ts.html +0 -208
  242. package/coverage/src/middlewares/response-time-middleware.ts.html +0 -304
  243. package/coverage/src/providers/auth.ts.html +0 -193
  244. package/coverage/src/providers/index.html +0 -146
  245. package/coverage/src/providers/index.ts.html +0 -91
  246. package/coverage/src/providers/roles.ts.html +0 -187
  247. package/dist/index.js.map +0 -1
  248. package/dist/interfaces/index.js.map +0 -1
  249. package/dist/interfaces/ports/client.driven.port.js.map +0 -1
  250. package/dist/interfaces/ports/crud.driven.port.js.map +0 -1
  251. package/dist/interfaces/ports/index.js.map +0 -1
  252. package/dist/interfaces/ports/metrics.driven.port.js.map +0 -1
  253. package/dist/src/app/application/index.js.map +0 -1
  254. package/dist/src/app/application/ports/index.js.map +0 -1
  255. package/dist/src/app/application/service/client/get-locale.use-case.js.map +0 -1
  256. package/dist/src/app/application/service/client/index.js.map +0 -1
  257. package/dist/src/app/application/service/client/set-locale.use-case.js.map +0 -1
  258. package/dist/src/app/application/service/index.js.map +0 -1
  259. package/dist/src/app/application/service/metrics/get-metrics.use-case.js.map +0 -1
  260. package/dist/src/app/application/service/metrics/index.js.map +0 -1
  261. package/dist/src/app/index.js.map +0 -1
  262. package/dist/src/app/infrastructure/adapters/client.repository.adapter.js.map +0 -1
  263. package/dist/src/app/infrastructure/adapters/index.js.map +0 -1
  264. package/dist/src/app/infrastructure/adapters/metrics.repository.adapter.js.map +0 -1
  265. package/dist/src/app/infrastructure/controllers/client.controller.js.map +0 -1
  266. package/dist/src/app/infrastructure/controllers/dto/index.js.map +0 -1
  267. package/dist/src/app/infrastructure/controllers/dto/locales.js.map +0 -1
  268. package/dist/src/app/infrastructure/controllers/index.js.map +0 -1
  269. package/dist/src/app/infrastructure/controllers/metrics.controller.js.map +0 -1
  270. package/dist/src/app/infrastructure/controllers/probe.controller.js.map +0 -1
  271. package/dist/src/app/infrastructure/index.js.map +0 -1
  272. package/dist/src/cors.js.map +0 -1
  273. package/dist/src/decorators/auth.js.map +0 -1
  274. package/dist/src/decorators/index.js.map +0 -1
  275. package/dist/src/decorators/roles.js.map +0 -1
  276. package/dist/src/enums/index.js.map +0 -1
  277. package/dist/src/enums/user.js.map +0 -1
  278. package/dist/src/errors.js.map +0 -1
  279. package/dist/src/filters/all-exception-filter.js.map +0 -1
  280. package/dist/src/filters/index.js.map +0 -1
  281. package/dist/src/http/controllers/index.js.map +0 -1
  282. package/dist/src/http/controllers/locales.js.map +0 -1
  283. package/dist/src/http/controllers/metrics.js.map +0 -1
  284. package/dist/src/http/controllers/probe.js.map +0 -1
  285. package/dist/src/http/dto/index.js.map +0 -1
  286. package/dist/src/http/dto/locales.js.map +0 -1
  287. package/dist/src/http/index.js.map +0 -1
  288. package/dist/src/index.js.map +0 -1
  289. package/dist/src/interceptors/index.js.map +0 -1
  290. package/dist/src/interceptors/routes-interceptor.js.map +0 -1
  291. package/dist/src/interceptors/tracing-interceptor.js.map +0 -1
  292. package/dist/src/middlewares/index.js.map +0 -1
  293. package/dist/src/middlewares/proxy-middleware.js.map +0 -1
  294. package/dist/src/middlewares/request-count-middleware.js.map +0 -1
  295. package/dist/src/middlewares/response-time-middleware.js.map +0 -1
  296. package/dist/src/providers/auth.js.map +0 -1
  297. package/dist/src/providers/index.js.map +0 -1
  298. package/dist/src/providers/roles.js.map +0 -1
  299. package/dist/tsconfig.build.tsbuildinfo +0 -1
  300. package/index.d.ts +0 -155
  301. package/interfaces/index.ts +0 -11
  302. package/interfaces/ports/client.driven.port.ts +0 -5
  303. package/interfaces/ports/crud.driven.port.ts +0 -57
  304. package/src/app/application/service/client/get-locale.use-case.ts +0 -13
  305. package/src/app/application/service/client/set-locale.use-case.ts +0 -13
  306. package/src/app/application/service/metrics/get-metrics.use-case.ts +0 -13
  307. package/src/app/domain/.keep +0 -0
  308. package/src/app/infrastructure/adapters/client.repository.adapter.ts +0 -35
  309. package/src/app/infrastructure/adapters/metrics.repository.adapter.ts +0 -13
  310. package/src/app/infrastructure/controllers/client.controller.ts +0 -28
  311. package/src/app/infrastructure/controllers/dto/locales.ts +0 -15
  312. package/src/app/infrastructure/controllers/metrics.controller.ts +0 -16
  313. package/src/app/infrastructure/controllers/probe.controller.ts +0 -18
  314. package/src/cors.ts +0 -19
  315. package/src/decorators/auth.ts +0 -9
  316. package/src/decorators/roles.ts +0 -12
  317. package/src/errors.ts +0 -19
  318. package/src/filters/all-exception-filter.ts +0 -91
  319. package/src/http/controllers/locales.ts +0 -79
  320. package/src/http/controllers/metrics.ts +0 -21
  321. package/src/http/controllers/probe.ts +0 -26
  322. package/src/http/dto/locales.ts +0 -15
  323. package/src/interceptors/routes-interceptor.ts +0 -39
  324. package/src/interceptors/tracing-interceptor.ts +0 -74
  325. package/src/middlewares/proxy-middleware.ts +0 -78
  326. package/src/middlewares/request-count-middleware.ts +0 -41
  327. package/src/middlewares/response-time-middleware.ts +0 -73
  328. package/src/providers/auth.ts +0 -36
  329. package/src/providers/roles.ts +0 -34
  330. package/tests/__snapshots__/index.spec.ts.snap +0 -44
  331. package/tests/index.spec.ts +0 -61
  332. package/tsconfig.build.json +0 -5
  333. package/tsconfig.json +0 -9
  334. /package/{interfaces/ports/index.ts → dist/types/interfaces/ports/index.d.ts} +0 -0
  335. /package/{src/app/application/index.ts → dist/types/src/app/application/index.d.ts} +0 -0
  336. /package/{src/app/application/ports/index.ts → dist/types/src/app/application/ports/index.d.ts} +0 -0
  337. /package/{src/app/application/service/client/index.ts → dist/types/src/app/application/service/client/index.d.ts} +0 -0
  338. /package/{src/app/application/service/index.ts → dist/types/src/app/application/service/index.d.ts} +0 -0
  339. /package/{src/app/application/service/metrics/index.ts → dist/types/src/app/application/service/metrics/index.d.ts} +0 -0
  340. /package/{src/app/index.ts → dist/types/src/app/index.d.ts} +0 -0
  341. /package/{src/app/infrastructure/adapters/index.ts → dist/types/src/app/infrastructure/adapters/index.d.ts} +0 -0
  342. /package/{src/app/infrastructure/controllers/dto/index.ts → dist/types/src/app/infrastructure/controllers/dto/index.d.ts} +0 -0
  343. /package/{src/app/infrastructure/controllers/index.ts → dist/types/src/app/infrastructure/controllers/index.d.ts} +0 -0
  344. /package/{src/decorators/index.ts → dist/types/src/decorators/index.d.ts} +0 -0
  345. /package/{src/enums/index.ts → dist/types/src/enums/index.d.ts} +0 -0
  346. /package/{src/enums/user.ts → dist/types/src/enums/user.d.ts} +0 -0
  347. /package/{src/filters/index.ts → dist/types/src/filters/index.d.ts} +0 -0
  348. /package/{src/http/controllers/index.ts → dist/types/src/http/controllers/index.d.ts} +0 -0
  349. /package/{src/http/dto/index.ts → dist/types/src/http/dto/index.d.ts} +0 -0
  350. /package/{src/http/index.ts → dist/types/src/http/index.d.ts} +0 -0
  351. /package/{src/index.ts → dist/types/src/index.d.ts} +0 -0
  352. /package/{src/interceptors/index.ts → dist/types/src/interceptors/index.d.ts} +0 -0
  353. /package/{src/middlewares/index.ts → dist/types/src/middlewares/index.d.ts} +0 -0
  354. /package/{src/providers/index.ts → dist/types/src/providers/index.d.ts} +0 -0
@@ -0,0 +1,25 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from '@nestjs/swagger';
11
+ import { IsString } from 'class-validator';
12
+ export class GetLocalesDTO {
13
+ }
14
+ __decorate([
15
+ IsString(),
16
+ ApiProperty({ type: String, required: true }),
17
+ __metadata("design:type", String)
18
+ ], GetLocalesDTO.prototype, "lang", void 0);
19
+ __decorate([
20
+ IsString(),
21
+ ApiProperty({ type: String, required: true }),
22
+ __metadata("design:type", String)
23
+ ], GetLocalesDTO.prototype, "namespace", void 0);
24
+ export class PostLocalesDTO extends GetLocalesDTO {
25
+ }
@@ -0,0 +1,3 @@
1
+ export * from './metrics.controller.js';
2
+ export * from './client.controller.js';
3
+ export * from './probe.controller.js';
@@ -0,0 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Controller, Get, Header } from '@nestjs/common';
11
+ import { ApiOperation, ApiTags } from '@nestjs/swagger';
12
+ import { GetMetricsUseCase } from '../../application/index.js';
13
+ let MetricsController = class MetricsController {
14
+ constructor(getMetrics) {
15
+ this.getMetrics = getMetrics;
16
+ }
17
+ async metrics() {
18
+ return this.getMetrics.execute();
19
+ }
20
+ };
21
+ __decorate([
22
+ Get(),
23
+ Header('content-type', 'text/plain'),
24
+ ApiOperation({ summary: 'Prometheus metrics hook' }),
25
+ __metadata("design:type", Function),
26
+ __metadata("design:paramtypes", []),
27
+ __metadata("design:returntype", Promise)
28
+ ], MetricsController.prototype, "metrics", null);
29
+ MetricsController = __decorate([
30
+ ApiTags('Metrics'),
31
+ Controller('metrics'),
32
+ __metadata("design:paramtypes", [GetMetricsUseCase])
33
+ ], MetricsController);
34
+ export { MetricsController };
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Controller, Get } from '@nestjs/common';
11
+ import { ApiOperation, ApiTags } from '@nestjs/swagger';
12
+ let ProbeController = class ProbeController {
13
+ readiness() {
14
+ return 1;
15
+ }
16
+ healthz() {
17
+ return 1;
18
+ }
19
+ };
20
+ __decorate([
21
+ Get('readiness'),
22
+ ApiOperation({ summary: 'Readiness probe' }),
23
+ __metadata("design:type", Function),
24
+ __metadata("design:paramtypes", []),
25
+ __metadata("design:returntype", void 0)
26
+ ], ProbeController.prototype, "readiness", null);
27
+ __decorate([
28
+ Get('healthz'),
29
+ ApiOperation({ summary: 'Healthz probe' }),
30
+ __metadata("design:type", Function),
31
+ __metadata("design:paramtypes", []),
32
+ __metadata("design:returntype", void 0)
33
+ ], ProbeController.prototype, "healthz", null);
34
+ ProbeController = __decorate([
35
+ ApiTags('Probe'),
36
+ Controller('probe')
37
+ ], ProbeController);
38
+ export { ProbeController };
@@ -0,0 +1,2 @@
1
+ export * from './adapters/index.js';
2
+ export * as controllers from './controllers/index.js';
@@ -0,0 +1,11 @@
1
+ import { container, Types } from '@biorate/inversion';
2
+ import { CorsBadOriginError } from './errors.js';
3
+ export function corsOriginHandler(origin, callback) {
4
+ if (!origin)
5
+ return callback(null, origin);
6
+ const config = container.get(Types.Config);
7
+ if (config.get('ENV') === 'debug')
8
+ return callback(null, origin);
9
+ const regexp = new RegExp(config.get('ALLOWED_ORIGIN', config.get('package.name').replace('-server', '')));
10
+ callback(regexp.test(origin) ? null : new CorsBadOriginError(origin), origin);
11
+ }
@@ -0,0 +1,4 @@
1
+ import { UseGuards, applyDecorators } from '@nestjs/common';
2
+ import { ApiBasicAuth } from '@nestjs/swagger';
3
+ import { AuthGuardProvider } from '../providers/index.js';
4
+ export const AuthBasic = () => applyDecorators(ApiBasicAuth(), UseGuards(AuthGuardProvider));
@@ -0,0 +1,2 @@
1
+ export * from './roles.js';
2
+ export * from './auth.js';
@@ -0,0 +1,6 @@
1
+ import { SetMetadata } from '@nestjs/common';
2
+ export const ROLES_KEY = Symbol('RolesKey');
3
+ export const Roles = (...roles) => SetMetadata(ROLES_KEY, roles.reduce((memo, item) => {
4
+ memo |= item;
5
+ return memo;
6
+ }, 0));
@@ -0,0 +1 @@
1
+ export * from './user.js';
@@ -0,0 +1 @@
1
+ export { UserRoles } from '../../interfaces/index.js';
@@ -0,0 +1,16 @@
1
+ import { BaseError } from '@biorate/errors';
2
+ export class UnsupportedProtocolError extends BaseError {
3
+ constructor(name) {
4
+ super(`Unsupported protocol: [%s]`, [name]);
5
+ }
6
+ }
7
+ export class AxiosRequestError extends BaseError {
8
+ constructor(code, error, message) {
9
+ super(`Axios request error (%s) [%s]: %s`, [code, error, message]);
10
+ }
11
+ }
12
+ export class CorsBadOriginError extends BaseError {
13
+ constructor(origin) {
14
+ super(`Cors bad origin error: [%s]`, [origin]);
15
+ }
16
+ }
@@ -0,0 +1,70 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { AxiosError } from '@biorate/axios';
8
+ import { Catch, HttpException, HttpStatus, } from '@nestjs/common';
9
+ import { AxiosRequestError, UnsupportedProtocolError } from '../errors.js';
10
+ let AllExceptionsFilter = class AllExceptionsFilter {
11
+ catch(exception, host) {
12
+ const type = host.getType();
13
+ const method = `_${type}`;
14
+ if (!this[method])
15
+ throw new UnsupportedProtocolError(host.getType());
16
+ this[method](exception, host);
17
+ }
18
+ _http(exception, host) {
19
+ const ctx = host.switchToHttp();
20
+ const response = ctx.getResponse();
21
+ const request = ctx.getRequest();
22
+ const meta = exception?.meta;
23
+ const status = exception instanceof HttpException
24
+ ? exception.getStatus()
25
+ : meta?.status ?? HttpStatus.INTERNAL_SERVER_ERROR;
26
+ this.log(exception);
27
+ response.status(status).json({
28
+ status,
29
+ code: this.code(exception),
30
+ hint: this.hint(exception),
31
+ path: request.url,
32
+ meta: meta?.meta,
33
+ });
34
+ }
35
+ _ws(exception, host) {
36
+ const ctx = host.switchToWs();
37
+ const socket = ctx.getClient();
38
+ const meta = exception?.meta;
39
+ const status = meta?.status ?? HttpStatus.INTERNAL_SERVER_ERROR;
40
+ this.log(exception);
41
+ socket.send(JSON.stringify({
42
+ event: 'error',
43
+ data: {
44
+ status,
45
+ code: this.code(exception),
46
+ hint: this.hint(exception),
47
+ meta: meta?.meta,
48
+ },
49
+ }));
50
+ }
51
+ _rpc(exception, host) {
52
+ throw new UnsupportedProtocolError('rpc');
53
+ }
54
+ code(exception) {
55
+ return exception.code ?? exception.constructor.name;
56
+ }
57
+ hint(exception) {
58
+ return (exception?.getResponse?.()?.message ?? exception.message);
59
+ }
60
+ log(exception) {
61
+ if (exception instanceof AxiosError)
62
+ console.error(new AxiosRequestError(exception?.response?.data?.statusCode, exception?.response?.data?.error, exception?.response?.data?.message).stack);
63
+ else
64
+ console.error(exception.stack);
65
+ }
66
+ };
67
+ AllExceptionsFilter = __decorate([
68
+ Catch()
69
+ ], AllExceptionsFilter);
70
+ export { AllExceptionsFilter };
@@ -0,0 +1 @@
1
+ export * from './all-exception-filter.js';
@@ -0,0 +1,3 @@
1
+ export * from './probe.js';
2
+ export * from './metrics.js';
3
+ export * from './locales.js';
@@ -0,0 +1,79 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var LocalesController_1;
14
+ import { Controller, Get, Post, Param, Body, Header } from '@nestjs/common';
15
+ import { ApiOperation, ApiTags } from '@nestjs/swagger';
16
+ import { path } from '@biorate/tools';
17
+ import { promises as fs, readFileSync, writeFileSync, mkdirSync } from 'fs';
18
+ import { merge } from 'lodash';
19
+ import { GetLocalesDTO, PostLocalesDTO } from '../dto/index.js';
20
+ let LocalesController = LocalesController_1 = class LocalesController {
21
+ static async getFile(namespace, lang) {
22
+ try {
23
+ return JSON.parse(await fs.readFile(path.create(process.cwd(), 'locales', namespace, `${lang}.json`), 'utf-8'));
24
+ }
25
+ catch {
26
+ return {};
27
+ }
28
+ }
29
+ static getFileSync(namespace, lang) {
30
+ try {
31
+ return JSON.parse(readFileSync(path.create(process.cwd(), 'locales', namespace, `${lang}.json`), 'utf-8'));
32
+ }
33
+ catch {
34
+ return {};
35
+ }
36
+ }
37
+ static putFile(namespace, lang, data) {
38
+ try {
39
+ const directory = path.create(process.cwd(), 'locales', namespace);
40
+ mkdirSync(directory, { recursive: true });
41
+ writeFileSync(path.create(directory, `${lang}.json`), JSON.stringify(data, null, ' '), 'utf-8');
42
+ }
43
+ catch (e) {
44
+ console.warn(e);
45
+ }
46
+ }
47
+ get(param) {
48
+ return LocalesController_1.getFile(param.namespace, param.lang);
49
+ }
50
+ async post(param, body) {
51
+ const data = LocalesController_1.getFileSync(param.namespace, param.lang);
52
+ const result = merge(data, body);
53
+ LocalesController_1.putFile(param.namespace, param.lang, result);
54
+ }
55
+ };
56
+ __decorate([
57
+ Get(':lang/:namespace'),
58
+ Header('Deprecation', 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]'),
59
+ ApiOperation({ summary: 'Get locales', deprecated: true }),
60
+ __param(0, Param()),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [GetLocalesDTO]),
63
+ __metadata("design:returntype", void 0)
64
+ ], LocalesController.prototype, "get", null);
65
+ __decorate([
66
+ Post(':lang/:namespace'),
67
+ Header('Deprecation', 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]'),
68
+ ApiOperation({ summary: 'Put locales', deprecated: true }),
69
+ __param(0, Param()),
70
+ __param(1, Body()),
71
+ __metadata("design:type", Function),
72
+ __metadata("design:paramtypes", [PostLocalesDTO, Object]),
73
+ __metadata("design:returntype", Promise)
74
+ ], LocalesController.prototype, "post", null);
75
+ LocalesController = LocalesController_1 = __decorate([
76
+ ApiTags('Locales'),
77
+ Controller('locales')
78
+ ], LocalesController);
79
+ export { LocalesController };
@@ -0,0 +1,35 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { inject, Types } from '@biorate/inversion';
11
+ import { Controller, Get, Header } from '@nestjs/common';
12
+ import { ApiOperation, ApiTags } from '@nestjs/swagger';
13
+ let MetricsController = class MetricsController {
14
+ async metrics() {
15
+ return this.prometheus.registry.metrics();
16
+ }
17
+ };
18
+ __decorate([
19
+ inject(Types.Prometheus),
20
+ __metadata("design:type", Object)
21
+ ], MetricsController.prototype, "prometheus", void 0);
22
+ __decorate([
23
+ Get(),
24
+ Header('content-type', 'text/plain'),
25
+ Header('Deprecation', 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]'),
26
+ ApiOperation({ summary: 'Prometheus metrics hook', deprecated: true }),
27
+ __metadata("design:type", Function),
28
+ __metadata("design:paramtypes", []),
29
+ __metadata("design:returntype", Promise)
30
+ ], MetricsController.prototype, "metrics", null);
31
+ MetricsController = __decorate([
32
+ ApiTags('Metrics'),
33
+ Controller('metrics')
34
+ ], MetricsController);
35
+ export { MetricsController };
@@ -0,0 +1,40 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Controller, Get, Header } from '@nestjs/common';
11
+ import { ApiOperation, ApiTags } from '@nestjs/swagger';
12
+ let ProbeController = class ProbeController {
13
+ readiness() {
14
+ return 1;
15
+ }
16
+ healthz() {
17
+ return 1;
18
+ }
19
+ };
20
+ __decorate([
21
+ Get('readiness'),
22
+ Header('Deprecation', 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]'),
23
+ ApiOperation({ summary: 'Readiness probe', deprecated: true }),
24
+ __metadata("design:type", Function),
25
+ __metadata("design:paramtypes", []),
26
+ __metadata("design:returntype", void 0)
27
+ ], ProbeController.prototype, "readiness", null);
28
+ __decorate([
29
+ Get('healthz'),
30
+ Header('Deprecation', 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]'),
31
+ ApiOperation({ summary: 'Healthz probe', deprecated: true }),
32
+ __metadata("design:type", Function),
33
+ __metadata("design:paramtypes", []),
34
+ __metadata("design:returntype", void 0)
35
+ ], ProbeController.prototype, "healthz", null);
36
+ ProbeController = __decorate([
37
+ ApiTags('Probe'),
38
+ Controller('probe')
39
+ ], ProbeController);
40
+ export { ProbeController };
@@ -0,0 +1 @@
1
+ export * from './locales.js';
@@ -0,0 +1,25 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from '@nestjs/swagger';
11
+ import { IsString } from 'class-validator';
12
+ export class GetLocalesDTO {
13
+ }
14
+ __decorate([
15
+ IsString(),
16
+ ApiProperty({ type: String, required: true }),
17
+ __metadata("design:type", String)
18
+ ], GetLocalesDTO.prototype, "lang", void 0);
19
+ __decorate([
20
+ IsString(),
21
+ ApiProperty({ type: String, required: true }),
22
+ __metadata("design:type", String)
23
+ ], GetLocalesDTO.prototype, "namespace", void 0);
24
+ export class PostLocalesDTO extends GetLocalesDTO {
25
+ }
@@ -0,0 +1,2 @@
1
+ export * from './controllers/index.js';
2
+ export * from './dto/index.js';
@@ -0,0 +1,10 @@
1
+ export * from './decorators/index.js';
2
+ export * from './enums/index.js';
3
+ export * from './filters/index.js';
4
+ export * from './interceptors/index.js';
5
+ export * from './middlewares/index.js';
6
+ export * from './providers/index.js';
7
+ export * from './errors.js';
8
+ export * from './http/index.js';
9
+ export * from './app/index.js';
10
+ export * from './cors.js';
@@ -0,0 +1,2 @@
1
+ export * from './routes-interceptor.js';
2
+ export * from './tracing-interceptor.js';
@@ -0,0 +1,29 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var RoutesInterceptor_1;
8
+ import { join, normalize } from 'path/posix';
9
+ import { Reflector } from '@nestjs/core';
10
+ import { PATH_METADATA } from '@nestjs/common/constants.js';
11
+ import { Injectable, } from '@nestjs/common';
12
+ let RoutesInterceptor = RoutesInterceptor_1 = class RoutesInterceptor {
13
+ constructor() {
14
+ this.reflector = new Reflector();
15
+ }
16
+ intercept(context, next) {
17
+ const namespaces = this.reflector.get(PATH_METADATA, context.getClass());
18
+ const routes = this.reflector.get(PATH_METADATA, context.getHandler());
19
+ RoutesInterceptor_1.map.set(context.switchToHttp().getRequest(), {
20
+ path: normalize(join('/', Array.isArray(namespaces) ? namespaces[0] : namespaces, Array.isArray(routes) ? routes[0] : routes, '/').slice(0, -1)),
21
+ });
22
+ return next.handle();
23
+ }
24
+ };
25
+ RoutesInterceptor.map = new WeakMap();
26
+ RoutesInterceptor = RoutesInterceptor_1 = __decorate([
27
+ Injectable()
28
+ ], RoutesInterceptor);
29
+ export { RoutesInterceptor };
@@ -0,0 +1,74 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import stringify from 'json-stringify-safe';
11
+ import { tap, catchError } from 'rxjs';
12
+ import { trace } from '@biorate/opentelemetry';
13
+ import { Injectable, } from '@nestjs/common';
14
+ import { inject, Types } from '@biorate/inversion';
15
+ let TracingInterceptor = class TracingInterceptor {
16
+ stringify(data) {
17
+ return typeof data === 'object' ? stringify(data) : String(data);
18
+ }
19
+ excluded(url) {
20
+ const excluded = this.config.get('TracingInterceptor.excluded', []);
21
+ for (const item of excluded) {
22
+ if (typeof item === 'string' && url.startsWith(item))
23
+ return true;
24
+ if (item instanceof RegExp && item.test(url))
25
+ return true;
26
+ }
27
+ return false;
28
+ }
29
+ http(span, context, next) {
30
+ const host = context.switchToHttp();
31
+ const req = host.getRequest();
32
+ const res = host.getResponse();
33
+ if (this.excluded(req.url))
34
+ return next.handle();
35
+ span.setAttribute('incoming.request.url', this.stringify(req.url));
36
+ span.setAttribute('incoming.request.body', this.stringify(req.body));
37
+ span.setAttribute('incoming.request.headers', this.stringify(req.headers));
38
+ span.setAttribute('incoming.request.method', this.stringify(req.method));
39
+ span.setAttribute('incoming.request.params', this.stringify(req.params));
40
+ span.setAttribute('incoming.request.query', this.stringify(req.query));
41
+ return next.handle().pipe(catchError((e) => {
42
+ span.setAttribute('incoming.response.headers', this.stringify(res.headers));
43
+ span.setAttribute('incoming.response.statusCode', this.stringify(res.statusCode));
44
+ span.setAttribute('incoming.response.errorCode', this.stringify(e.code));
45
+ span.setAttribute('incoming.response.data', this.stringify(e?.response?.data));
46
+ throw e;
47
+ }), tap((data) => {
48
+ span.setAttribute('incoming.response.headers', this.stringify(res.headers));
49
+ span.setAttribute('incoming.response.statusCode', this.stringify(res.statusCode));
50
+ span.setAttribute('incoming.response.data', this.stringify(data));
51
+ }));
52
+ }
53
+ ws(span, context, next) {
54
+ return next.handle();
55
+ }
56
+ rpc(span, context, next) {
57
+ return next.handle();
58
+ }
59
+ intercept(context, next) {
60
+ const span = trace.getActiveSpan();
61
+ if (!span)
62
+ return next.handle();
63
+ const type = context.getType();
64
+ return this[type](span, context, next);
65
+ }
66
+ };
67
+ __decorate([
68
+ inject(Types.Config),
69
+ __metadata("design:type", Object)
70
+ ], TracingInterceptor.prototype, "config", void 0);
71
+ TracingInterceptor = __decorate([
72
+ Injectable()
73
+ ], TracingInterceptor);
74
+ export { TracingInterceptor };
@@ -0,0 +1,3 @@
1
+ export * from './proxy-middleware.js';
2
+ export * from './request-count-middleware.js';
3
+ export * from './response-time-middleware.js';
@@ -0,0 +1,75 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var ProxyPrometheusMiddleware_1;
11
+ import { pick, omit } from 'lodash';
12
+ import { createProxyMiddleware } from 'http-proxy-middleware';
13
+ import { Injectable } from '@nestjs/common';
14
+ import { counter, Counter, Histogram, Prometheus } from '@biorate/prometheus';
15
+ import { time } from '@biorate/tools';
16
+ import { inject, Types } from '@biorate/inversion';
17
+ let ProxyPrometheusMiddleware = ProxyPrometheusMiddleware_1 = class ProxyPrometheusMiddleware {
18
+ static create(options) {
19
+ return new this(options).handler;
20
+ }
21
+ constructor(options = {}) {
22
+ this.time = new WeakMap();
23
+ const { onProxyReq, onProxyRes } = pick(options, 'onProxyReq', 'onProxyRes');
24
+ if (!ProxyPrometheusMiddleware_1.histogram)
25
+ ProxyPrometheusMiddleware_1.histogram = new Histogram({
26
+ name: 'http_proxy_server_requests_seconds',
27
+ help: 'Http proxy server requests seconds bucket',
28
+ labelNames: ['method', 'uri', 'status'],
29
+ buckets: this.config.get('ProxyPrometheusMiddleware.histogram.buckets', [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10]),
30
+ registers: [Prometheus.registry],
31
+ });
32
+ this.handler = createProxyMiddleware({
33
+ ...omit(options, 'onProxyReq', 'onProxyRes'),
34
+ onProxyReq: (proxyReq, req, res, options) => {
35
+ this.time.set(req, { time: time.diff() });
36
+ return onProxyReq?.(proxyReq, req, res, options);
37
+ },
38
+ onProxyRes: (proxyRes, req, res) => {
39
+ const diff = this.time.get(req);
40
+ this.counter
41
+ .labels({
42
+ method: req.method,
43
+ uri: req.baseUrl,
44
+ status: res.statusCode,
45
+ })
46
+ .inc();
47
+ ProxyPrometheusMiddleware_1.histogram
48
+ .labels({
49
+ method: req.method,
50
+ uri: req.baseUrl,
51
+ status: res.statusCode,
52
+ })
53
+ .observe(time.msTo(diff.time(), 's'));
54
+ return onProxyRes?.(proxyRes, req, res);
55
+ },
56
+ });
57
+ }
58
+ };
59
+ __decorate([
60
+ inject(Types.Config),
61
+ __metadata("design:type", Object)
62
+ ], ProxyPrometheusMiddleware.prototype, "config", void 0);
63
+ __decorate([
64
+ counter({
65
+ name: 'http_proxy_server_requests_seconds_count',
66
+ help: 'Http proxy server requests count',
67
+ labelNames: ['method', 'uri', 'status'],
68
+ }),
69
+ __metadata("design:type", Counter)
70
+ ], ProxyPrometheusMiddleware.prototype, "counter", void 0);
71
+ ProxyPrometheusMiddleware = ProxyPrometheusMiddleware_1 = __decorate([
72
+ Injectable(),
73
+ __metadata("design:paramtypes", [Object])
74
+ ], ProxyPrometheusMiddleware);
75
+ export { ProxyPrometheusMiddleware };