@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
package/index.d.ts DELETED
@@ -1,155 +0,0 @@
1
- import {
2
- ArgumentsHost,
3
- CallHandler,
4
- CanActivate,
5
- ExceptionFilter,
6
- ExecutionContext,
7
- NestInterceptor,
8
- NestMiddleware,
9
- } from '@nestjs/common';
10
- import { Request, Response, NextFunction } from 'express';
11
- import { Observable } from 'rxjs';
12
- import { Options, RequestHandler } from 'http-proxy-middleware/dist/types';
13
- import { IPrometheus } from '@biorate/prometheus';
14
- import { ClientDrivenPort, MetricsDrivenPort, ILocalesDTO } from './interfaces';
15
-
16
- export * from './interfaces';
17
-
18
- declare module '@biorate/nestjs-tools' {
19
- export class GetLocalesDTO implements ILocalesDTO {
20
- lang: string;
21
- namespace: string;
22
- }
23
-
24
- export class PostLocalesDTO extends GetLocalesDTO {}
25
-
26
- export function AuthBasic(): (
27
- target: any,
28
- propertyKey?: any,
29
- descriptor?: TypedPropertyDescriptor<any>,
30
- ) => void;
31
-
32
- export function Roles(...roles: number[]): (<T>(
33
- target: Object,
34
- propertyKey: string | symbol,
35
- descriptor: TypedPropertyDescriptor<T>,
36
- ) => TypedPropertyDescriptor<T> | void) &
37
- (<TFunction extends Function>(target: TFunction) => void | TFunction) & {
38
- KEY: symbol;
39
- };
40
-
41
- export class AllExceptionsFilter implements ExceptionFilter {
42
- public catch(exception: unknown, host: ArgumentsHost): void;
43
-
44
- protected log(exception: unknown): void;
45
- }
46
-
47
- export class RoutesInterceptor implements NestInterceptor {
48
- public static readonly map: WeakMap<Request, { path: string }>;
49
-
50
- public intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
51
- }
52
-
53
- export class TracingInterceptor implements NestInterceptor {
54
- public intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
55
- }
56
-
57
- export class ProxyPrometheusMiddleware {
58
- public static create(options?: Options): RequestHandler;
59
- }
60
-
61
- export class RequestCountMiddleware implements NestMiddleware {
62
- public use(req: Request, res: Response, next: NextFunction): void;
63
- }
64
-
65
- export class ResponseTimeMiddleware implements NestMiddleware {
66
- public use(req: Request, res: Response, next: NextFunction): void;
67
- }
68
-
69
- export class AuthGuardProvider implements CanActivate {
70
- public canActivate(context: ExecutionContext): boolean;
71
- }
72
-
73
- export class RolesGuardProvider implements CanActivate {
74
- public canActivate(context: ExecutionContext): boolean;
75
- }
76
-
77
- export class LocalesController {
78
- protected static getFile(
79
- namespace: string,
80
- lang: string,
81
- ): Promise<Record<string, unknown>>;
82
-
83
- protected static getFileSync(
84
- namespace: string,
85
- lang: string,
86
- ): Record<string, unknown>;
87
-
88
- protected static putFile(
89
- namespace: string,
90
- lang: string,
91
- data: Record<string, string>,
92
- ): void;
93
-
94
- protected get(param: GetLocalesDTO): Promise<Record<string, unknown>>;
95
-
96
- protected post(param: PostLocalesDTO, body: Record<string, string>): Promise<void>;
97
- }
98
-
99
- export class ProbeController {
100
- protected readiness(): number;
101
-
102
- protected healthz(): number;
103
- }
104
-
105
- export class GetLocaleUseCase {
106
- public async execute(
107
- lang: string,
108
- namespace: string,
109
- ): Promise<Record<string, string>>;
110
- }
111
-
112
- export class SetLocaleUseCase {
113
- public execute(lang: string, namespace: string): Promise<void>;
114
- }
115
-
116
- export class GetMetricsUseCase {
117
- public execute(): Promise<string>;
118
- }
119
-
120
- export class ClientRepositoryAdapter implements ClientDrivenPort {
121
- getLang(lang: string, namespace: string): Record<string, string>;
122
-
123
- setLang(data: Record<string, string>, lang: string, namespace: string): void;
124
- }
125
-
126
- export class MetricsRepositoryAdapter implements MetricsDrivenPort {
127
- get(): Promise<string>;
128
- }
129
-
130
- class ClientController {
131
- protected readonly getLoc: GetLocaleUseCase;
132
- protected readonly setLoc: SetLocaleUseCase;
133
-
134
- protected getLocale(param: GetLocalesDTO): Promise<Record<string, string>>;
135
-
136
- protected postLocale(
137
- param: PostLocalesDTO,
138
- body: Record<string, string>,
139
- ): Promise<void>;
140
- }
141
-
142
- class MetricsController {
143
- protected readonly getMetrics: GetMetricsUseCase;
144
-
145
- protected metrics(): Promise<void>;
146
- }
147
-
148
- // @ts-ignore
149
- export const controllers = { ClientController, MetricsController, ProbeController };
150
-
151
- export function corsOriginHandler(
152
- origin: string,
153
- callback: (error: null | Error, origin: string) => void,
154
- ): void;
155
- }
@@ -1,11 +0,0 @@
1
- export * from './ports';
2
-
3
- export enum UserRoles {
4
- Basic = 1 << 0,
5
- Admin = 1 << 1,
6
- }
7
-
8
- export interface ILocalesDTO {
9
- lang: string;
10
- namespace: string;
11
- }
@@ -1,5 +0,0 @@
1
- export interface ClientDrivenPort {
2
- getLang(lang: string, namespace: string): Record<string, string>;
3
-
4
- setLang(data: Record<string, string>, lang: string, namespace: string): void;
5
- }
@@ -1,57 +0,0 @@
1
- export type CrudFindOneDrivenPort<E, I, T = unknown> = {
2
- findOne(id: I, transaction?: T): Promise<E>;
3
- };
4
-
5
- export type CrudFindManyDrivenPort<
6
- E,
7
- F = { offset: number; limit: number },
8
- R = { total: number; offset: number; limit: number; items: E[] },
9
- T = unknown,
10
- > = {
11
- findMany(filter?: F, transaction?: T): Promise<R>;
12
- };
13
-
14
- export type CrudUpdateOneDrivenPort<E, I, D = E, T = unknown> = {
15
- updateOne(id: I, data: D, transaction?: T): Promise<E>;
16
- };
17
-
18
- export type CrudUpdateManyDrivenPort<E, C, D = E[], T = unknown> = {
19
- updateMany(criteria: C, data: D, transaction?: T): Promise<E[]>;
20
- };
21
-
22
- export type CrudInsertOneDrivenPort<E, T = unknown> = {
23
- insertOne(data: E, transaction?: T): Promise<E>;
24
- };
25
-
26
- export type CrudInsertManyDrivenPort<E, R = E[], T = unknown> = {
27
- insertMany(items: E[], transaction?: T): Promise<R>;
28
- };
29
-
30
- export type CrudDeleteOneDrivenPort<I, R = boolean, T = unknown> = {
31
- deleteOne(id: I, transaction?: T): Promise<R>;
32
- };
33
-
34
- export type CrudDeleteManyDrivenPort<CD, R = number, T = unknown> = {
35
- deleteMany(criteria?: CD, transaction?: T): Promise<R>;
36
- };
37
-
38
- export type CrudDrivenPort<
39
- Id,
40
- Entity,
41
- FindManyFilter,
42
- InsertManyResult,
43
- UpdateManyCriteria,
44
- DeleteCriteria,
45
- FindManyresult = Entity[],
46
- UpdateData = Entity,
47
- DeleteOneResult = boolean,
48
- DeleteManyResult = number,
49
- Transaction = unknown,
50
- > = CrudFindOneDrivenPort<Entity, Id, Transaction> &
51
- CrudFindManyDrivenPort<Entity, FindManyFilter, FindManyresult, Transaction> &
52
- CrudUpdateOneDrivenPort<Entity, Id, UpdateData, Transaction> &
53
- CrudUpdateManyDrivenPort<Entity, UpdateManyCriteria, UpdateData[], Transaction> &
54
- CrudInsertOneDrivenPort<Entity, Transaction> &
55
- CrudInsertManyDrivenPort<Entity, InsertManyResult, Transaction> &
56
- CrudDeleteOneDrivenPort<Id, DeleteOneResult, Transaction> &
57
- CrudDeleteManyDrivenPort<DeleteCriteria, DeleteManyResult, Transaction>;
@@ -1,13 +0,0 @@
1
- import { Inject, Injectable } from '@nestjs/common';
2
- import { Types } from '@biorate/inversion';
3
- import { ClientDrivenPort } from '../../ports';
4
-
5
- @Injectable()
6
- export class GetLocaleUseCase {
7
- @Inject(Types.ClientDrivenPort)
8
- protected readonly clientProvider: ClientDrivenPort;
9
-
10
- public async execute(lang: string, namespace: string) {
11
- return this.clientProvider.getLang(lang, namespace);
12
- }
13
- }
@@ -1,13 +0,0 @@
1
- import { Inject, Injectable } from '@nestjs/common';
2
- import { Types } from '@biorate/inversion';
3
- import { ClientDrivenPort } from '../../ports';
4
-
5
- @Injectable()
6
- export class SetLocaleUseCase {
7
- @Inject(Types.ClientDrivenPort)
8
- protected readonly clientProvider: ClientDrivenPort;
9
-
10
- public async execute(data: Record<string, string>, lang: string, namespace: string) {
11
- return this.clientProvider.setLang(data, lang, namespace);
12
- }
13
- }
@@ -1,13 +0,0 @@
1
- import { Inject, Injectable } from '@nestjs/common';
2
- import { Types } from '@biorate/inversion';
3
- import { MetricsDrivenPort } from '../../ports';
4
-
5
- @Injectable()
6
- export class GetMetricsUseCase {
7
- @Inject(Types.MetricsDrivenPort)
8
- protected readonly metricsProvider: MetricsDrivenPort;
9
-
10
- public async execute() {
11
- return this.metricsProvider.get();
12
- }
13
- }
File without changes
@@ -1,35 +0,0 @@
1
- import { merge } from 'lodash';
2
- import { mkdirSync, writeFileSync, readFileSync } from 'fs';
3
- import { Injectable } from '@nestjs/common';
4
- import { path } from '@biorate/tools';
5
- import { ClientDrivenPort } from '../../application';
6
-
7
- @Injectable()
8
- export class ClientRepositoryAdapter implements ClientDrivenPort {
9
- public getLang(lang: string, namespace: string) {
10
- try {
11
- return JSON.parse(
12
- readFileSync(
13
- path.create(process.cwd(), 'locales', namespace, `${lang}.json`),
14
- 'utf-8',
15
- ),
16
- );
17
- } catch {
18
- return {};
19
- }
20
- }
21
-
22
- public setLang(data: Record<string, string>, lang: string, namespace: string) {
23
- try {
24
- const directory = path.create(process.cwd(), 'locales', namespace);
25
- mkdirSync(directory, { recursive: true });
26
- writeFileSync(
27
- path.create(directory, `${lang}.json`),
28
- JSON.stringify(merge(this.getLang(lang, namespace), data), null, ' '),
29
- 'utf-8',
30
- );
31
- } catch (e) {
32
- console.warn(e);
33
- }
34
- }
35
- }
@@ -1,13 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { inject, Types } from '@biorate/inversion';
3
- import { IPrometheus } from '@biorate/prometheus';
4
- import { MetricsDrivenPort } from '../../application';
5
-
6
- @Injectable()
7
- export class MetricsRepositoryAdapter implements MetricsDrivenPort {
8
- @inject(Types.Prometheus) protected prometheus: IPrometheus;
9
-
10
- public get() {
11
- return this.prometheus.registry.metrics();
12
- }
13
- }
@@ -1,28 +0,0 @@
1
- import { Controller, Get, Post, Param, Body, Header } from '@nestjs/common';
2
- import { ApiOperation, ApiTags } from '@nestjs/swagger';
3
- import { GetLocaleUseCase, SetLocaleUseCase } from '../../application';
4
- import { GetLocalesDTO, PostLocalesDTO } from './dto';
5
-
6
- @ApiTags('Client')
7
- @Controller('client')
8
- export class ClientController {
9
- public constructor(
10
- protected readonly getLoc: GetLocaleUseCase,
11
- protected readonly setLoc: SetLocaleUseCase,
12
- ) {}
13
-
14
- @Get('locale/:lang/:namespace')
15
- @ApiOperation({ summary: 'Get locale' })
16
- protected getLocale(@Param() param: GetLocalesDTO) {
17
- return this.getLoc.execute(param.lang, param.namespace);
18
- }
19
-
20
- @Post('locale/:lang/:namespace')
21
- @ApiOperation({ summary: 'Put locale' })
22
- protected async postLocale(
23
- @Param() param: PostLocalesDTO,
24
- @Body() body: Record<string, string>,
25
- ) {
26
- return this.setLoc.execute(body, param.lang, param.namespace);
27
- }
28
- }
@@ -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,16 +0,0 @@
1
- import { Controller, Get, Header } from '@nestjs/common';
2
- import { ApiOperation, ApiTags } from '@nestjs/swagger';
3
- import { GetMetricsUseCase } from '../../application';
4
-
5
- @ApiTags('Metrics')
6
- @Controller('metrics')
7
- export class MetricsController {
8
- public constructor(protected readonly getMetrics: GetMetricsUseCase) {}
9
-
10
- @Get()
11
- @Header('content-type', 'text/plain')
12
- @ApiOperation({ summary: 'Prometheus metrics hook' })
13
- protected async metrics() {
14
- return this.getMetrics.execute();
15
- }
16
- }
@@ -1,18 +0,0 @@
1
- import { Controller, Get } 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
- @ApiOperation({ summary: 'Readiness probe' })
9
- protected readiness() {
10
- return 1;
11
- }
12
-
13
- @Get('healthz')
14
- @ApiOperation({ summary: 'Healthz probe' })
15
- protected healthz() {
16
- return 1;
17
- }
18
- }
package/src/cors.ts DELETED
@@ -1,19 +0,0 @@
1
- import { container, Types } from '@biorate/inversion';
2
- import { IConfig } from '@biorate/config';
3
- import { CorsBadOriginError } from './errors';
4
-
5
- export function corsOriginHandler(
6
- origin: string,
7
- callback: (error: null | Error, origin: string) => void,
8
- ) {
9
- if (!origin) return callback(null, origin);
10
- const config = container.get<IConfig>(Types.Config);
11
- if (config.get<string>('ENV') === 'debug') return callback(null, origin);
12
- const regexp = new RegExp(
13
- config.get<string>(
14
- 'ALLOWED_ORIGIN',
15
- config.get<string>('package.name').replace('-server', ''),
16
- ),
17
- );
18
- callback(regexp.test(origin) ? null : new CorsBadOriginError(origin), origin);
19
- }
@@ -1,9 +0,0 @@
1
- import { UseGuards } from '@nestjs/common';
2
- import { ApiBasicAuth } from '@nestjs/swagger';
3
- import { AuthGuardProvider } from '../providers';
4
-
5
- export const AuthBasic =
6
- () => (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => {
7
- ApiBasicAuth()(target, propertyKey!, descriptor!);
8
- UseGuards(AuthGuardProvider)(target, propertyKey!, descriptor!);
9
- };
@@ -1,12 +0,0 @@
1
- import { SetMetadata } from '@nestjs/common';
2
-
3
- export const ROLES_KEY = Symbol('RolesKey');
4
-
5
- export const Roles = (...roles: number[]) =>
6
- SetMetadata(
7
- ROLES_KEY,
8
- roles.reduce((memo, item) => {
9
- memo |= item;
10
- return memo;
11
- }, 0),
12
- );
package/src/errors.ts DELETED
@@ -1,19 +0,0 @@
1
- import { BaseError } from '@biorate/errors';
2
-
3
- export class UnsupportedProtocolError extends BaseError {
4
- public constructor(name: string) {
5
- super(`Unsupported protocol: [%s]`, [name]);
6
- }
7
- }
8
-
9
- export class AxiosRequestError extends BaseError {
10
- public constructor(code: number, error: string, message: string) {
11
- super(`Axios request error (%s) [%s]: %s`, [code, error, message]);
12
- }
13
- }
14
-
15
- export class CorsBadOriginError extends BaseError {
16
- public constructor(origin: string) {
17
- super(`Cors bad origin error: [%s]`, [origin]);
18
- }
19
- }
@@ -1,91 +0,0 @@
1
- import { AxiosError } from '@biorate/axios';
2
- import { BaseError } from '@biorate/errors';
3
- import { WebSocket } from 'ws';
4
- import {
5
- ExceptionFilter,
6
- Catch,
7
- ArgumentsHost,
8
- HttpException,
9
- HttpStatus,
10
- BadRequestException,
11
- } from '@nestjs/common';
12
- import { AxiosRequestError, UnsupportedProtocolError } from '../errors';
13
-
14
- @Catch()
15
- export class AllExceptionsFilter implements ExceptionFilter {
16
- public catch(exception: Error, host: ArgumentsHost) {
17
- const type = host.getType();
18
- const method = <`_${typeof type}`>`_${type}`;
19
- if (!this[method]) throw new UnsupportedProtocolError(host.getType());
20
- this[method](exception, host);
21
- }
22
-
23
- private _http(exception: Error, host: ArgumentsHost) {
24
- const ctx = host.switchToHttp();
25
- const response = ctx.getResponse();
26
- const request = ctx.getRequest();
27
- const meta = (exception as BaseError)?.meta;
28
- const status =
29
- exception instanceof HttpException
30
- ? exception.getStatus()
31
- : meta?.status ?? HttpStatus.INTERNAL_SERVER_ERROR;
32
- this.log(exception);
33
- response.status(status).json({
34
- status,
35
- code: this.code(exception),
36
- hint: this.hint(exception),
37
- path: request.url,
38
- meta: meta?.meta,
39
- });
40
- }
41
-
42
- private _ws(exception: Error, host: ArgumentsHost) {
43
- const ctx = host.switchToWs();
44
- const socket = ctx.getClient<WebSocket>();
45
- const meta = (exception as BaseError)?.meta;
46
- const status = meta?.status ?? HttpStatus.INTERNAL_SERVER_ERROR;
47
- this.log(exception);
48
- socket.send(
49
- //TODO: add serializers factory
50
- JSON.stringify({
51
- event: 'error',
52
- data: {
53
- status,
54
- code: this.code(exception),
55
- hint: this.hint(exception),
56
- meta: meta?.meta,
57
- },
58
- }),
59
- );
60
- }
61
-
62
- private _rpc(exception: Error, host: ArgumentsHost) {
63
- throw new UnsupportedProtocolError('rpc');
64
- }
65
-
66
- private code(exception: Error) {
67
- return (<BaseError>exception).code ?? exception.constructor.name;
68
- }
69
-
70
- private hint(exception: Error) {
71
- return (
72
- (
73
- (<BadRequestException>exception)?.getResponse?.() as {
74
- message?: [string];
75
- }
76
- )?.message ?? (<BaseError>exception).message
77
- );
78
- }
79
-
80
- protected log(exception: Error) {
81
- if (exception instanceof AxiosError)
82
- console.error(
83
- new AxiosRequestError(
84
- exception?.response?.data?.statusCode,
85
- exception?.response?.data?.error,
86
- exception?.response?.data?.message,
87
- ).stack,
88
- );
89
- else console.error(exception.stack);
90
- }
91
- }
@@ -1,79 +0,0 @@
1
- import { Controller, Get, Post, Param, Body, Header } from '@nestjs/common';
2
- import { ApiOperation, ApiTags } from '@nestjs/swagger';
3
- import { path } from '@biorate/tools';
4
- import { promises as fs, readFileSync, writeFileSync, mkdirSync } from 'fs';
5
- import { merge } from 'lodash';
6
- import { GetLocalesDTO, PostLocalesDTO } from '../dto';
7
-
8
- @ApiTags('Locales')
9
- @Controller('locales')
10
- export class LocalesController {
11
- protected static async getFile(namespace: string, lang: string) {
12
- try {
13
- return JSON.parse(
14
- await fs.readFile(
15
- path.create(process.cwd(), 'locales', namespace, `${lang}.json`),
16
- 'utf-8',
17
- ),
18
- );
19
- } catch {
20
- return {};
21
- }
22
- }
23
-
24
- protected static getFileSync(namespace: string, lang: string) {
25
- try {
26
- return JSON.parse(
27
- readFileSync(
28
- path.create(process.cwd(), 'locales', namespace, `${lang}.json`),
29
- 'utf-8',
30
- ),
31
- );
32
- } catch {
33
- return {};
34
- }
35
- }
36
-
37
- protected static putFile(
38
- namespace: string,
39
- lang: string,
40
- data: Record<string, string>,
41
- ) {
42
- try {
43
- const directory = path.create(process.cwd(), 'locales', namespace);
44
- mkdirSync(directory, { recursive: true });
45
- writeFileSync(
46
- path.create(directory, `${lang}.json`),
47
- JSON.stringify(data, null, ' '),
48
- 'utf-8',
49
- );
50
- } catch (e) {
51
- console.warn(e);
52
- }
53
- }
54
-
55
- @Get(':lang/:namespace')
56
- @Header(
57
- 'Deprecation',
58
- 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]',
59
- )
60
- @ApiOperation({ summary: 'Get locales', deprecated: true })
61
- protected get(@Param() param: GetLocalesDTO) {
62
- return LocalesController.getFile(param.namespace, param.lang);
63
- }
64
-
65
- @Post(':lang/:namespace')
66
- @Header(
67
- 'Deprecation',
68
- 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]',
69
- )
70
- @ApiOperation({ summary: 'Put locales', deprecated: true })
71
- protected async post(
72
- @Param() param: PostLocalesDTO,
73
- @Body() body: Record<string, string>,
74
- ) {
75
- const data = LocalesController.getFileSync(param.namespace, param.lang);
76
- const result = merge(data, body);
77
- LocalesController.putFile(param.namespace, param.lang, result);
78
- }
79
- }
@@ -1,21 +0,0 @@
1
- import { inject, Types } from '@biorate/inversion';
2
- import { Controller, Get, Header } from '@nestjs/common';
3
- import { ApiOperation, ApiTags } from '@nestjs/swagger';
4
- import { IPrometheus } from '@biorate/prometheus';
5
-
6
- @ApiTags('Metrics')
7
- @Controller('metrics')
8
- export class MetricsController {
9
- @inject(Types.Prometheus) protected prometheus: IPrometheus;
10
-
11
- @Get()
12
- @Header('content-type', 'text/plain')
13
- @Header(
14
- 'Deprecation',
15
- 'Use domain controller instead [@biorate/nestjs-tools >= v1.121.0]',
16
- )
17
- @ApiOperation({ summary: 'Prometheus metrics hook', deprecated: true })
18
- protected async metrics() {
19
- return this.prometheus.registry.metrics();
20
- }
21
- }