@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
@@ -1,26 +0,0 @@
1
- import { Controller, Get, Header } from '@nestjs/common';
2
- import { ApiOperation, ApiTags } from '@nestjs/swagger';
3
-
4
- @ApiTags('Probe')
5
- @Controller('probe')
6
- export class ProbeController {
7
- @Get('readiness')
8
- @Header(
9
- 'Deprecation',
10
- 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]',
11
- )
12
- @ApiOperation({ summary: 'Readiness probe', deprecated: true })
13
- protected readiness() {
14
- return 1;
15
- }
16
-
17
- @Get('healthz')
18
- @Header(
19
- 'Deprecation',
20
- 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]',
21
- )
22
- @ApiOperation({ summary: 'Healthz probe', deprecated: true })
23
- protected healthz() {
24
- return 1;
25
- }
26
- }
@@ -1,15 +0,0 @@
1
- import { ApiProperty } from '@nestjs/swagger';
2
- import { IsString } from 'class-validator';
3
- import { ILocalesDTO } from '../../../interfaces';
4
-
5
- export class GetLocalesDTO implements ILocalesDTO {
6
- @IsString()
7
- @ApiProperty({ type: String, required: true })
8
- lang: string;
9
-
10
- @IsString()
11
- @ApiProperty({ type: String, required: true })
12
- namespace: string;
13
- }
14
-
15
- export class PostLocalesDTO extends GetLocalesDTO {}
@@ -1,39 +0,0 @@
1
- import { join, normalize } from 'path/posix';
2
- import { Reflector } from '@nestjs/core';
3
- import { PATH_METADATA } from '@nestjs/common/constants';
4
- import { Request } from 'express';
5
- import {
6
- Injectable,
7
- ExecutionContext,
8
- CallHandler,
9
- NestInterceptor,
10
- } from '@nestjs/common';
11
-
12
- @Injectable()
13
- export class RoutesInterceptor implements NestInterceptor {
14
- public static readonly map = new WeakMap<Request, { path: string }>();
15
-
16
- private readonly reflector = new Reflector();
17
-
18
- public intercept(context: ExecutionContext, next: CallHandler) {
19
- const namespaces = this.reflector.get<string | string[]>(
20
- PATH_METADATA,
21
- context.getClass(),
22
- );
23
- const routes = this.reflector.get<string | string[]>(
24
- PATH_METADATA,
25
- context.getHandler(),
26
- );
27
- RoutesInterceptor.map.set(context.switchToHttp().getRequest(), {
28
- path: normalize(
29
- join(
30
- '/',
31
- Array.isArray(namespaces) ? namespaces[0] : namespaces,
32
- Array.isArray(routes) ? routes[0] : routes,
33
- '/',
34
- ).slice(0, -1),
35
- ),
36
- });
37
- return next.handle();
38
- }
39
- }
@@ -1,74 +0,0 @@
1
- import stringify from 'json-stringify-safe';
2
- import { tap, catchError } from 'rxjs';
3
- import { trace, Span } from '@biorate/opentelemetry';
4
- import {
5
- Injectable,
6
- NestInterceptor,
7
- ExecutionContext,
8
- CallHandler,
9
- } from '@nestjs/common';
10
- import { inject, Types } from '@biorate/inversion';
11
- import { IConfig } from '@biorate/config';
12
-
13
- @Injectable()
14
- export class TracingInterceptor implements NestInterceptor {
15
- @inject(Types.Config) protected readonly config: IConfig;
16
-
17
- protected stringify(data: unknown) {
18
- return typeof data === 'object' ? stringify(data) : String(data);
19
- }
20
-
21
- protected excluded(url: string) {
22
- const excluded = this.config.get<(string | RegExp)[]>(
23
- 'TracingInterceptor.excluded',
24
- [],
25
- );
26
- for (const item of excluded) {
27
- if (typeof item === 'string' && url.startsWith(item)) return true;
28
- if (item instanceof RegExp && item.test(url)) return true;
29
- }
30
- return false;
31
- }
32
-
33
- protected http(span: Span, context: ExecutionContext, next: CallHandler) {
34
- const host = context.switchToHttp();
35
- const req = host.getRequest();
36
- const res = host.getResponse();
37
- if (this.excluded(req.url)) return next.handle();
38
- span.setAttribute('incoming.request.url', this.stringify(req.url));
39
- span.setAttribute('incoming.request.body', this.stringify(req.body));
40
- span.setAttribute('incoming.request.headers', this.stringify(req.headers));
41
- span.setAttribute('incoming.request.method', this.stringify(req.method));
42
- span.setAttribute('incoming.request.params', this.stringify(req.params));
43
- span.setAttribute('incoming.request.query', this.stringify(req.query));
44
- return next.handle().pipe(
45
- catchError((e) => {
46
- span.setAttribute('incoming.response.headers', this.stringify(res.headers));
47
- span.setAttribute('incoming.response.statusCode', this.stringify(res.statusCode));
48
- span.setAttribute('incoming.response.errorCode', this.stringify(e.code));
49
- span.setAttribute('incoming.response.data', this.stringify(e?.response?.data));
50
- throw e;
51
- }),
52
- tap((data) => {
53
- span.setAttribute('incoming.response.headers', this.stringify(res.headers));
54
- span.setAttribute('incoming.response.statusCode', this.stringify(res.statusCode));
55
- span.setAttribute('incoming.response.data', this.stringify(data));
56
- }),
57
- );
58
- }
59
-
60
- protected ws(span: Span, context: ExecutionContext, next: CallHandler) {
61
- return next.handle();
62
- }
63
-
64
- protected rpc(span: Span, context: ExecutionContext, next: CallHandler) {
65
- return next.handle();
66
- }
67
-
68
- public intercept(context: ExecutionContext, next: CallHandler) {
69
- const span = trace.getActiveSpan();
70
- if (!span) return next.handle();
71
- const type = context.getType();
72
- return this[type](span, context, next);
73
- }
74
- }
@@ -1,78 +0,0 @@
1
- import http from 'http';
2
- import type { ServerOptions } from 'http-proxy';
3
- import { pick, omit } from 'lodash';
4
- import { Request, Response } from 'express';
5
- import { createProxyMiddleware } from 'http-proxy-middleware';
6
- import { Options, RequestHandler } from 'http-proxy-middleware/dist/types';
7
- import { Injectable } from '@nestjs/common';
8
- import { counter, Counter, Histogram, Prometheus } from '@biorate/prometheus';
9
- import { time } from '@biorate/tools';
10
- import { inject, Types } from '@biorate/inversion';
11
- import { IConfig } from '@biorate/config';
12
-
13
- @Injectable()
14
- export class ProxyPrometheusMiddleware {
15
- @inject(Types.Config) private config: IConfig;
16
-
17
- @counter({
18
- name: 'http_proxy_server_requests_seconds_count',
19
- help: 'Http proxy server requests count',
20
- labelNames: ['method', 'uri', 'status'],
21
- })
22
- private counter: Counter;
23
-
24
- private handler: RequestHandler;
25
-
26
- private time = new WeakMap<Request, { time: () => number }>();
27
-
28
- private static histogram: Histogram;
29
-
30
- public static create(options?: Options) {
31
- return new this(options).handler;
32
- }
33
-
34
- private constructor(options: Options = {}) {
35
- const { onProxyReq, onProxyRes } = pick(options, 'onProxyReq', 'onProxyRes');
36
- if (!ProxyPrometheusMiddleware.histogram)
37
- ProxyPrometheusMiddleware.histogram = new Histogram({
38
- name: 'http_proxy_server_requests_seconds',
39
- help: 'Http proxy server requests seconds bucket',
40
- labelNames: ['method', 'uri', 'status'],
41
- buckets: this.config.get<number[]>(
42
- 'ProxyPrometheusMiddleware.histogram.buckets',
43
- [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10],
44
- ),
45
- registers: [Prometheus.registry],
46
- });
47
- this.handler = createProxyMiddleware({
48
- ...omit(options, 'onProxyReq', 'onProxyRes'),
49
- onProxyReq: (
50
- proxyReq: http.ClientRequest,
51
- req: Request,
52
- res: Response,
53
- options: ServerOptions,
54
- ) => {
55
- this.time.set(req, { time: time.diff() });
56
- return onProxyReq?.(proxyReq, req, res, options);
57
- },
58
- onProxyRes: (proxyRes: http.IncomingMessage, req: Request, res: Response) => {
59
- const diff = this.time.get(req);
60
- this.counter
61
- .labels({
62
- method: req.method,
63
- uri: req.baseUrl,
64
- status: res.statusCode,
65
- })
66
- .inc();
67
- ProxyPrometheusMiddleware.histogram
68
- .labels({
69
- method: req.method,
70
- uri: req.baseUrl,
71
- status: res.statusCode,
72
- })
73
- .observe(time.msTo(diff!.time(), 's'));
74
- return onProxyRes?.(proxyRes, req, res);
75
- },
76
- });
77
- }
78
- }
@@ -1,41 +0,0 @@
1
- // @ts-ignore
2
- import onHeaders from 'on-headers';
3
- import { Injectable, NestMiddleware } from '@nestjs/common';
4
- import { counter, Counter } from '@biorate/prometheus';
5
- import { inject, Types } from '@biorate/inversion';
6
- import { IConfig } from '@biorate/config';
7
- import { Request, Response, NextFunction } from 'express';
8
- import { RoutesInterceptor } from '../interceptors';
9
-
10
- @Injectable()
11
- export class RequestCountMiddleware implements NestMiddleware {
12
- @inject(Types.Config) private config: IConfig;
13
-
14
- @counter({
15
- name: 'http_server_requests_seconds_count',
16
- help: 'Http server requests count',
17
- labelNames: ['method', 'uri', 'status'],
18
- })
19
- private counter: Counter;
20
-
21
- public use(req: Request, res: Response, next: NextFunction) {
22
- onHeaders(res, () => {
23
- const route = RoutesInterceptor.map.get(req);
24
- this.counter
25
- .labels({
26
- method: req.method,
27
- uri:
28
- route?.path ??
29
- (this.config.get<boolean>(
30
- 'app.middleware.RequestCountMiddleware.log-base-url',
31
- false,
32
- )
33
- ? req.baseUrl || req.originalUrl
34
- : '/'),
35
- status: res.statusCode,
36
- })
37
- .inc();
38
- });
39
- next();
40
- }
41
- }
@@ -1,73 +0,0 @@
1
- // @ts-ignore
2
- import onHeaders from 'on-headers';
3
- import { Injectable, NestMiddleware } from '@nestjs/common';
4
- import { inject, Types } from '@biorate/inversion';
5
- import { IConfig } from '@biorate/config';
6
- import { Prometheus, Histogram } from '@biorate/prometheus';
7
- import { Request, Response, NextFunction } from 'express';
8
- import { time } from '@biorate/tools';
9
- import { RoutesInterceptor } from '../interceptors';
10
-
11
- @Injectable()
12
- export class ResponseTimeMiddleware implements NestMiddleware {
13
- @inject(Types.Config) private config: IConfig;
14
-
15
- private readonly suffix: boolean;
16
-
17
- private readonly header: string;
18
-
19
- private readonly digits: number;
20
-
21
- private static histogram: Histogram;
22
-
23
- public constructor() {
24
- this.suffix = this.config.get<boolean>(
25
- 'app.middleware.ResponseTimeMiddleware.suffix',
26
- true,
27
- );
28
- this.header = this.config.get<string>(
29
- 'app.middleware.ResponseTimeMiddleware.header',
30
- 'x-response-time',
31
- );
32
- this.digits = this.config.get<number>(
33
- 'app.middleware.ResponseTimeMiddleware.digits',
34
- 3,
35
- );
36
- if (!ResponseTimeMiddleware.histogram)
37
- ResponseTimeMiddleware.histogram = new Histogram({
38
- name: 'http_server_requests_seconds',
39
- help: 'Http server requests seconds bucket',
40
- labelNames: ['method', 'uri', 'status'],
41
- buckets: this.config.get<number[]>(
42
- 'ResponseTimeMiddleware.histogram.buckets',
43
- [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10],
44
- ),
45
- registers: [Prometheus.registry],
46
- });
47
- }
48
-
49
- public use(req: Request, res: Response, next: NextFunction) {
50
- const diff = time.diff();
51
- const msTo = time.msTo;
52
- onHeaders(res, () => {
53
- const time = diff();
54
- const route = RoutesInterceptor.map.get(req);
55
- ResponseTimeMiddleware.histogram
56
- .labels({
57
- method: req.method,
58
- uri:
59
- route?.path ??
60
- (this.config.get<boolean>(
61
- 'app.middleware.ResponseTimeMiddleware.log-base-url',
62
- false,
63
- )
64
- ? req.baseUrl || req.originalUrl
65
- : '/'),
66
- status: res.statusCode,
67
- })
68
- .observe(msTo(time, 's'));
69
- res.setHeader(this.header, time.toFixed(this.digits) + (this.suffix ? 'ms' : ''));
70
- });
71
- next();
72
- }
73
- }
@@ -1,36 +0,0 @@
1
- import { inject, Types } from '@biorate/inversion';
2
- import { IConfig } from '@biorate/config';
3
- import {
4
- Injectable,
5
- CanActivate,
6
- ExecutionContext,
7
- UnauthorizedException,
8
- } from '@nestjs/common';
9
-
10
- @Injectable()
11
- export class AuthGuardProvider implements CanActivate {
12
- @inject(Types.Config) private config: IConfig;
13
-
14
- public canActivate(context: ExecutionContext): boolean {
15
- const request = context.switchToHttp().getRequest();
16
- const config = this.config.get<{ [key: string]: string } | null>(
17
- 'app.auth.basic',
18
- null,
19
- );
20
- if (!config) return true;
21
- let username: string, password: string;
22
- try {
23
- [username, password] = Buffer.from(
24
- request.headers.authorization.replace('Basic ', ''),
25
- 'base64',
26
- )
27
- .toString('utf-8')
28
- .split(':');
29
- } catch {
30
- throw new UnauthorizedException();
31
- }
32
- if (!username || !password) throw new UnauthorizedException();
33
- if (config[username] === password) return true;
34
- throw new UnauthorizedException();
35
- }
36
- }
@@ -1,34 +0,0 @@
1
- import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
2
- import { Reflector } from '@nestjs/core';
3
- import { ROLES_KEY } from '../decorators';
4
- import { UserRoles } from '../enums';
5
-
6
- @Injectable()
7
- export class RolesGuardProvider implements CanActivate {
8
- constructor(private reflector: Reflector) {}
9
- /**
10
- * @description - This method for override
11
- * @example
12
- * ```ts
13
- * const request = context.switchToHttp().getRequest();
14
- * const { login, sessionId } = request.cookies;
15
- * if (!login || !sessionId) throw new AuthorizationNotAuthorizedError();
16
- * // get user from db, or somewhere else
17
- * if (!user) throw new AuthorizationNotAuthorizedError();
18
- * return user.role;
19
- * ```
20
- */
21
- protected async getUser(context: ExecutionContext) {
22
- return { role: UserRoles.Basic | UserRoles.Admin };
23
- }
24
-
25
- public async canActivate(context: ExecutionContext) {
26
- const roles = this.reflector.getAllAndOverride<number>(ROLES_KEY, [
27
- context.getHandler(),
28
- context.getClass(),
29
- ]);
30
- if (roles === undefined) return true;
31
- const user = await this.getUser(context);
32
- return (user.role & roles) === roles;
33
- }
34
- }
@@ -1,44 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`nestjs-tools > AllExceptionsFilter 1`] = `[Function]`;
4
-
5
- exports[`nestjs-tools > AuthBasic 1`] = `[Function]`;
6
-
7
- exports[`nestjs-tools > AuthGuardProvider 1`] = `[Function]`;
8
-
9
- exports[`nestjs-tools > GetLocalesDTO 1`] = `[Function]`;
10
-
11
- exports[`nestjs-tools > LocalesController 1`] = `[Function]`;
12
-
13
- exports[`nestjs-tools > MetricsController 1`] = `[Function]`;
14
-
15
- exports[`nestjs-tools > PostLocalesDTO 1`] = `[Function]`;
16
-
17
- exports[`nestjs-tools > ProbeController 1`] = `[Function]`;
18
-
19
- exports[`nestjs-tools > ProxyPrometheusMiddleware 1`] = `[Function]`;
20
-
21
- exports[`nestjs-tools > ROLES_KEY 1`] = `Symbol(RolesKey)`;
22
-
23
- exports[`nestjs-tools > RequestCountMiddleware 1`] = `[Function]`;
24
-
25
- exports[`nestjs-tools > ResponseTimeMiddleware 1`] = `[Function]`;
26
-
27
- exports[`nestjs-tools > Roles 1`] = `[Function]`;
28
-
29
- exports[`nestjs-tools > RolesGuardProvider 1`] = `[Function]`;
30
-
31
- exports[`nestjs-tools > RoutesInterceptor 1`] = `[Function]`;
32
-
33
- exports[`nestjs-tools > TracingInterceptor 1`] = `[Function]`;
34
-
35
- exports[`nestjs-tools > UnsupportedProtocolError 1`] = `[Function]`;
36
-
37
- exports[`nestjs-tools > UserRoles 1`] = `
38
- {
39
- "1": "Basic",
40
- "2": "Admin",
41
- "Admin": 2,
42
- "Basic": 1,
43
- }
44
- `;
@@ -1,61 +0,0 @@
1
- import { expect } from 'vitest';
2
- import {
3
- AuthBasic,
4
- Roles,
5
- UserRoles,
6
- AllExceptionsFilter,
7
- RoutesInterceptor,
8
- ProxyPrometheusMiddleware,
9
- RequestCountMiddleware,
10
- ResponseTimeMiddleware,
11
- AuthGuardProvider,
12
- RolesGuardProvider,
13
- LocalesController,
14
- MetricsController,
15
- ProbeController,
16
- PostLocalesDTO,
17
- GetLocalesDTO,
18
- UnsupportedProtocolError,
19
- TracingInterceptor,
20
- ROLES_KEY,
21
- } from '../src';
22
-
23
- describe('nestjs-tools', () => {
24
- it('AuthBasic', () => expect(AuthBasic).toMatchSnapshot());
25
-
26
- it('Roles', () => expect(Roles).toMatchSnapshot());
27
-
28
- it('UserRoles', () => expect(UserRoles).toMatchSnapshot());
29
-
30
- it('AllExceptionsFilter', () => expect(AllExceptionsFilter).toMatchSnapshot());
31
-
32
- it('RoutesInterceptor', () => expect(RoutesInterceptor).toMatchSnapshot());
33
-
34
- it('ProxyPrometheusMiddleware', () =>
35
- expect(ProxyPrometheusMiddleware).toMatchSnapshot());
36
-
37
- it('RequestCountMiddleware', () => expect(RequestCountMiddleware).toMatchSnapshot());
38
-
39
- it('ResponseTimeMiddleware', () => expect(ResponseTimeMiddleware).toMatchSnapshot());
40
-
41
- it('AuthGuardProvider', () => expect(AuthGuardProvider).toMatchSnapshot());
42
-
43
- it('RolesGuardProvider', () => expect(RolesGuardProvider).toMatchSnapshot());
44
-
45
- it('LocalesController', () => expect(LocalesController).toMatchSnapshot());
46
-
47
- it('MetricsController', () => expect(MetricsController).toMatchSnapshot());
48
-
49
- it('ProbeController', () => expect(ProbeController).toMatchSnapshot());
50
-
51
- it('PostLocalesDTO', () => expect(PostLocalesDTO).toMatchSnapshot());
52
-
53
- it('GetLocalesDTO', () => expect(GetLocalesDTO).toMatchSnapshot());
54
-
55
- it('UnsupportedProtocolError', () =>
56
- expect(UnsupportedProtocolError).toMatchSnapshot());
57
-
58
- it('TracingInterceptor', () => expect(TracingInterceptor).toMatchSnapshot());
59
-
60
- it('ROLES_KEY', () => expect(ROLES_KEY).toMatchSnapshot());
61
- });
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "include": ["index.ts", "src/**/*"],
4
- "exclude": ["node_modules", "dist", "tests", "**/*spec.ts"]
5
- }
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json",
3
- "compilerOptions": {
4
- "strict": true,
5
- "strictPropertyInitialization": false
6
- },
7
- "include": ["index.ts", "src/**/*", "tests/**/*"],
8
- "exclude": ["node_modules", "dist"]
9
- }
File without changes