@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.
- package/dist/{index.js → cjs/index.js} +0 -1
- package/dist/{interfaces → cjs/interfaces}/index.js +0 -1
- package/dist/{interfaces → cjs/interfaces}/ports/client.driven.port.js +0 -1
- package/dist/{interfaces → cjs/interfaces}/ports/crud.driven.port.js +0 -1
- package/dist/{interfaces → cjs/interfaces}/ports/index.js +0 -1
- package/dist/{interfaces → cjs/interfaces}/ports/metrics.driven.port.js +0 -1
- package/dist/cjs/package.json +3 -0
- package/dist/{src → cjs/src}/app/application/index.js +0 -1
- package/dist/{src → cjs/src}/app/application/ports/index.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/client/get-locale.use-case.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/client/index.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/client/set-locale.use-case.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/index.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/metrics/get-metrics.use-case.js +0 -1
- package/dist/{src → cjs/src}/app/application/service/metrics/index.js +0 -1
- package/dist/{src → cjs/src}/app/index.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/adapters/client.repository.adapter.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/adapters/index.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/adapters/metrics.repository.adapter.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/controllers/client.controller.js +0 -1
- package/dist/{src/http → cjs/src/app/infrastructure/controllers}/dto/index.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/controllers/dto/locales.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/controllers/index.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/controllers/metrics.controller.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/controllers/probe.controller.js +0 -1
- package/dist/{src → cjs/src}/app/infrastructure/index.js +0 -1
- package/dist/{src → cjs/src}/cors.js +0 -1
- package/dist/{src → cjs/src}/decorators/auth.js +1 -5
- package/dist/{src/providers → cjs/src/decorators}/index.js +0 -1
- package/dist/{src → cjs/src}/decorators/roles.js +0 -1
- package/dist/{src → cjs/src}/enums/index.js +0 -1
- package/dist/{src → cjs/src}/enums/user.js +0 -1
- package/dist/{src → cjs/src}/errors.js +0 -1
- package/dist/{src → cjs/src}/filters/all-exception-filter.js +0 -1
- package/dist/{src → cjs/src}/filters/index.js +0 -1
- package/dist/{src → cjs/src}/http/controllers/index.js +0 -1
- package/dist/{src → cjs/src}/http/controllers/locales.js +0 -1
- package/dist/{src → cjs/src}/http/controllers/metrics.js +0 -1
- package/dist/{src → cjs/src}/http/controllers/probe.js +0 -1
- package/dist/{src/app/infrastructure/controllers → cjs/src/http}/dto/index.js +0 -1
- package/dist/{src → cjs/src}/http/dto/locales.js +0 -1
- package/dist/{src → cjs/src}/http/index.js +0 -1
- package/dist/{src → cjs/src}/index.js +0 -1
- package/dist/{src → cjs/src}/interceptors/index.js +0 -1
- package/dist/{src → cjs/src}/interceptors/routes-interceptor.js +0 -1
- package/dist/{src → cjs/src}/interceptors/tracing-interceptor.js +0 -1
- package/dist/{src → cjs/src}/middlewares/index.js +0 -1
- package/dist/{src → cjs/src}/middlewares/proxy-middleware.js +0 -1
- package/dist/{src → cjs/src}/middlewares/request-count-middleware.js +0 -1
- package/dist/{src → cjs/src}/middlewares/response-time-middleware.js +0 -1
- package/dist/{src → cjs/src}/providers/auth.js +0 -1
- package/dist/{src/decorators → cjs/src/providers}/index.js +0 -1
- package/dist/{src → cjs/src}/providers/roles.js +0 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/interfaces/index.js +6 -0
- package/dist/esm/interfaces/ports/client.driven.port.js +1 -0
- package/dist/esm/interfaces/ports/crud.driven.port.js +1 -0
- package/dist/esm/interfaces/ports/index.js +3 -0
- package/dist/esm/interfaces/ports/metrics.driven.port.js +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/src/app/application/index.js +2 -0
- package/dist/esm/src/app/application/ports/index.js +1 -0
- package/dist/esm/src/app/application/service/client/get-locale.use-case.js +24 -0
- package/dist/esm/src/app/application/service/client/index.js +2 -0
- package/dist/esm/src/app/application/service/client/set-locale.use-case.js +24 -0
- package/dist/esm/src/app/application/service/index.js +2 -0
- package/dist/esm/src/app/application/service/metrics/get-metrics.use-case.js +24 -0
- package/dist/esm/src/app/application/service/metrics/index.js +1 -0
- package/dist/esm/src/app/index.js +2 -0
- package/dist/esm/src/app/infrastructure/adapters/client.repository.adapter.js +34 -0
- package/dist/esm/src/app/infrastructure/adapters/index.js +2 -0
- package/dist/esm/src/app/infrastructure/adapters/metrics.repository.adapter.js +24 -0
- package/dist/esm/src/app/infrastructure/controllers/client.controller.js +52 -0
- package/dist/esm/src/app/infrastructure/controllers/dto/index.js +1 -0
- package/dist/esm/src/app/infrastructure/controllers/dto/locales.js +25 -0
- package/dist/esm/src/app/infrastructure/controllers/index.js +3 -0
- package/dist/esm/src/app/infrastructure/controllers/metrics.controller.js +34 -0
- package/dist/esm/src/app/infrastructure/controllers/probe.controller.js +38 -0
- package/dist/esm/src/app/infrastructure/index.js +2 -0
- package/dist/esm/src/cors.js +11 -0
- package/dist/esm/src/decorators/auth.js +4 -0
- package/dist/esm/src/decorators/index.js +2 -0
- package/dist/esm/src/decorators/roles.js +6 -0
- package/dist/esm/src/enums/index.js +1 -0
- package/dist/esm/src/enums/user.js +1 -0
- package/dist/esm/src/errors.js +16 -0
- package/dist/esm/src/filters/all-exception-filter.js +70 -0
- package/dist/esm/src/filters/index.js +1 -0
- package/dist/esm/src/http/controllers/index.js +3 -0
- package/dist/esm/src/http/controllers/locales.js +79 -0
- package/dist/esm/src/http/controllers/metrics.js +35 -0
- package/dist/esm/src/http/controllers/probe.js +40 -0
- package/dist/esm/src/http/dto/index.js +1 -0
- package/dist/esm/src/http/dto/locales.js +25 -0
- package/dist/esm/src/http/index.js +2 -0
- package/dist/esm/src/index.js +10 -0
- package/dist/esm/src/interceptors/index.js +2 -0
- package/dist/esm/src/interceptors/routes-interceptor.js +29 -0
- package/dist/esm/src/interceptors/tracing-interceptor.js +74 -0
- package/dist/esm/src/middlewares/index.js +3 -0
- package/dist/esm/src/middlewares/proxy-middleware.js +75 -0
- package/dist/esm/src/middlewares/request-count-middleware.js +48 -0
- package/dist/esm/src/middlewares/response-time-middleware.js +60 -0
- package/dist/esm/src/providers/auth.js +41 -0
- package/dist/esm/src/providers/index.js +2 -0
- package/dist/esm/src/providers/roles.js +36 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interfaces/index.d.ts +9 -0
- package/dist/types/interfaces/ports/client.driven.port.d.ts +4 -0
- package/dist/types/interfaces/ports/crud.driven.port.d.ts +33 -0
- package/{interfaces/ports/metrics.driven.port.ts → dist/types/interfaces/ports/metrics.driven.port.d.ts} +1 -1
- package/dist/types/src/app/application/service/client/get-locale.use-case.d.ts +5 -0
- package/dist/types/src/app/application/service/client/set-locale.use-case.d.ts +5 -0
- package/dist/types/src/app/application/service/metrics/get-metrics.use-case.d.ts +5 -0
- package/dist/types/src/app/infrastructure/adapters/client.repository.adapter.d.ts +5 -0
- package/dist/types/src/app/infrastructure/adapters/metrics.repository.adapter.d.ts +6 -0
- package/dist/types/src/app/infrastructure/controllers/client.controller.d.ts +9 -0
- package/dist/types/src/app/infrastructure/controllers/dto/locales.d.ts +7 -0
- package/dist/types/src/app/infrastructure/controllers/metrics.controller.d.ts +6 -0
- package/dist/types/src/app/infrastructure/controllers/probe.controller.d.ts +4 -0
- package/{src/app/infrastructure/index.ts → dist/types/src/app/infrastructure/index.d.ts} +0 -1
- package/dist/types/src/cors.d.ts +1 -0
- package/dist/types/src/decorators/auth.d.ts +1 -0
- package/dist/types/src/decorators/roles.d.ts +2 -0
- package/dist/types/src/errors.d.ts +10 -0
- package/dist/types/src/filters/all-exception-filter.d.ts +10 -0
- package/dist/types/src/http/controllers/locales.d.ts +8 -0
- package/dist/types/src/http/controllers/metrics.d.ts +5 -0
- package/dist/types/src/http/controllers/probe.d.ts +4 -0
- package/dist/types/src/http/dto/locales.d.ts +7 -0
- package/dist/types/src/interceptors/routes-interceptor.d.ts +9 -0
- package/dist/types/src/interceptors/tracing-interceptor.d.ts +12 -0
- package/dist/types/src/middlewares/proxy-middleware.d.ts +10 -0
- package/dist/types/src/middlewares/request-count-middleware.d.ts +7 -0
- package/dist/types/src/middlewares/response-time-middleware.d.ts +11 -0
- package/dist/types/src/providers/auth.d.ts +5 -0
- package/dist/types/src/providers/roles.d.ts +10 -0
- package/package.json +36 -11
- package/.nyc_output/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
- package/.nyc_output/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
- package/.nyc_output/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
- package/.nyc_output/processinfo/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
- package/.nyc_output/processinfo/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
- package/.nyc_output/processinfo/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/CHANGELOG.md +0 -1275
- package/allure-results/06be5133-7300-4999-a964-8e2cf2e8433b-result.json +0 -1
- package/allure-results/13358ab2-596e-474e-a07c-ac82552a4799-result.json +0 -1
- package/allure-results/2b2df749-c29a-4f64-bc48-8c4ecd910c89-result.json +0 -1
- package/allure-results/34b63fac-556c-411f-9d0e-a1a68ed9edb1-result.json +0 -1
- package/allure-results/34d694a2-c986-4688-8d87-2b8917c01d30-result.json +0 -1
- package/allure-results/4e89a985-0880-45f5-90e7-077be33dcec6-result.json +0 -1
- package/allure-results/58f6344b-f83b-42f3-9537-3b0ff06c6a35-result.json +0 -1
- package/allure-results/6a865229-7793-407a-9298-baa21c003fa1-result.json +0 -1
- package/allure-results/7f7c75dd-81da-4db1-afe0-0e147d5fb844-result.json +0 -1
- package/allure-results/86ee0a03-8925-4961-b76a-8040f9613f58-result.json +0 -1
- package/allure-results/87c36229-7158-4566-a465-333d2c54d160-container.json +0 -1
- package/allure-results/ab43746f-f321-46df-8acd-624aa30ce63f-result.json +0 -1
- package/allure-results/ab8ee629-44e0-4da7-8089-4b00f15b705d-container.json +0 -1
- package/allure-results/ac4ee827-c0e5-4349-b6ee-00831f1f4b5c-result.json +0 -1
- package/allure-results/ac57cb14-8fa6-441b-8540-7c4f599a2706-result.json +0 -1
- package/allure-results/b2302e67-971f-4594-ac18-0daaaa489498-result.json +0 -1
- package/allure-results/b62fb1f7-47b7-40d0-b347-7bfbcf15164d-result.json +0 -1
- package/allure-results/bc7dfd81-d002-4d32-8a6f-6b8ab0364543-result.json +0 -1
- package/allure-results/cf1bb5d6-048d-4a58-8cf4-023576d59935-result.json +0 -1
- package/allure-results/e9c54e2f-6cbe-4cd5-89c9-eeee96b34474-result.json +0 -1
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -418
- package/coverage/coverage-final.json +0 -50
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -416
- package/coverage/interfaces/index.html +0 -116
- package/coverage/interfaces/index.ts.html +0 -118
- package/coverage/interfaces/ports/client.driven.port.ts.html +0 -100
- package/coverage/interfaces/ports/crud.driven.port.ts.html +0 -256
- package/coverage/interfaces/ports/index.html +0 -161
- package/coverage/interfaces/ports/index.ts.html +0 -94
- package/coverage/interfaces/ports/metrics.driven.port.ts.html +0 -94
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/coverage/src/app/application/index.html +0 -116
- package/coverage/src/app/application/index.ts.html +0 -91
- package/coverage/src/app/application/ports/index.html +0 -116
- package/coverage/src/app/application/ports/index.ts.html +0 -88
- package/coverage/src/app/application/service/client/get-locale.use-case.ts.html +0 -124
- package/coverage/src/app/application/service/client/index.html +0 -146
- package/coverage/src/app/application/service/client/index.ts.html +0 -91
- package/coverage/src/app/application/service/client/set-locale.use-case.ts.html +0 -124
- package/coverage/src/app/application/service/index.html +0 -116
- package/coverage/src/app/application/service/index.ts.html +0 -91
- package/coverage/src/app/application/service/metrics/get-metrics.use-case.ts.html +0 -124
- package/coverage/src/app/application/service/metrics/index.html +0 -131
- package/coverage/src/app/application/service/metrics/index.ts.html +0 -88
- package/coverage/src/app/index.html +0 -116
- package/coverage/src/app/index.ts.html +0 -91
- package/coverage/src/app/infrastructure/adapters/client.repository.adapter.ts.html +0 -190
- package/coverage/src/app/infrastructure/adapters/index.html +0 -146
- package/coverage/src/app/infrastructure/adapters/index.ts.html +0 -91
- package/coverage/src/app/infrastructure/adapters/metrics.repository.adapter.ts.html +0 -124
- package/coverage/src/app/infrastructure/controllers/client.controller.ts.html +0 -169
- package/coverage/src/app/infrastructure/controllers/index.html +0 -161
- package/coverage/src/app/infrastructure/controllers/index.ts.html +0 -94
- package/coverage/src/app/infrastructure/controllers/metrics.controller.ts.html +0 -133
- package/coverage/src/app/infrastructure/controllers/probe.controller.ts.html +0 -139
- package/coverage/src/app/infrastructure/index.html +0 -116
- package/coverage/src/app/infrastructure/index.ts.html +0 -94
- package/coverage/src/cors.ts.html +0 -142
- package/coverage/src/decorators/auth.ts.html +0 -112
- package/coverage/src/decorators/index.html +0 -146
- package/coverage/src/decorators/index.ts.html +0 -91
- package/coverage/src/decorators/roles.ts.html +0 -121
- package/coverage/src/enums/index.html +0 -131
- package/coverage/src/enums/index.ts.html +0 -88
- package/coverage/src/enums/user.ts.html +0 -88
- package/coverage/src/errors.ts.html +0 -142
- package/coverage/src/filters/all-exception-filter.ts.html +0 -358
- package/coverage/src/filters/index.html +0 -131
- package/coverage/src/filters/index.ts.html +0 -88
- package/coverage/src/http/controllers/index.html +0 -161
- package/coverage/src/http/controllers/index.ts.html +0 -94
- package/coverage/src/http/controllers/locales.ts.html +0 -322
- package/coverage/src/http/controllers/metrics.ts.html +0 -148
- package/coverage/src/http/controllers/probe.ts.html +0 -163
- package/coverage/src/http/dto/index.html +0 -131
- package/coverage/src/http/dto/index.ts.html +0 -88
- package/coverage/src/http/dto/locales.ts.html +0 -130
- package/coverage/src/http/index.html +0 -116
- package/coverage/src/http/index.ts.html +0 -91
- package/coverage/src/index.html +0 -146
- package/coverage/src/index.ts.html +0 -115
- package/coverage/src/interceptors/index.html +0 -146
- package/coverage/src/interceptors/index.ts.html +0 -91
- package/coverage/src/interceptors/routes-interceptor.ts.html +0 -202
- package/coverage/src/interceptors/tracing-interceptor.ts.html +0 -307
- package/coverage/src/middlewares/index.html +0 -161
- package/coverage/src/middlewares/index.ts.html +0 -94
- package/coverage/src/middlewares/proxy-middleware.ts.html +0 -319
- package/coverage/src/middlewares/request-count-middleware.ts.html +0 -208
- package/coverage/src/middlewares/response-time-middleware.ts.html +0 -304
- package/coverage/src/providers/auth.ts.html +0 -193
- package/coverage/src/providers/index.html +0 -146
- package/coverage/src/providers/index.ts.html +0 -91
- package/coverage/src/providers/roles.ts.html +0 -187
- package/dist/index.js.map +0 -1
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/ports/client.driven.port.js.map +0 -1
- package/dist/interfaces/ports/crud.driven.port.js.map +0 -1
- package/dist/interfaces/ports/index.js.map +0 -1
- package/dist/interfaces/ports/metrics.driven.port.js.map +0 -1
- package/dist/src/app/application/index.js.map +0 -1
- package/dist/src/app/application/ports/index.js.map +0 -1
- package/dist/src/app/application/service/client/get-locale.use-case.js.map +0 -1
- package/dist/src/app/application/service/client/index.js.map +0 -1
- package/dist/src/app/application/service/client/set-locale.use-case.js.map +0 -1
- package/dist/src/app/application/service/index.js.map +0 -1
- package/dist/src/app/application/service/metrics/get-metrics.use-case.js.map +0 -1
- package/dist/src/app/application/service/metrics/index.js.map +0 -1
- package/dist/src/app/index.js.map +0 -1
- package/dist/src/app/infrastructure/adapters/client.repository.adapter.js.map +0 -1
- package/dist/src/app/infrastructure/adapters/index.js.map +0 -1
- package/dist/src/app/infrastructure/adapters/metrics.repository.adapter.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/client.controller.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/dto/index.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/dto/locales.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/index.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/metrics.controller.js.map +0 -1
- package/dist/src/app/infrastructure/controllers/probe.controller.js.map +0 -1
- package/dist/src/app/infrastructure/index.js.map +0 -1
- package/dist/src/cors.js.map +0 -1
- package/dist/src/decorators/auth.js.map +0 -1
- package/dist/src/decorators/index.js.map +0 -1
- package/dist/src/decorators/roles.js.map +0 -1
- package/dist/src/enums/index.js.map +0 -1
- package/dist/src/enums/user.js.map +0 -1
- package/dist/src/errors.js.map +0 -1
- package/dist/src/filters/all-exception-filter.js.map +0 -1
- package/dist/src/filters/index.js.map +0 -1
- package/dist/src/http/controllers/index.js.map +0 -1
- package/dist/src/http/controllers/locales.js.map +0 -1
- package/dist/src/http/controllers/metrics.js.map +0 -1
- package/dist/src/http/controllers/probe.js.map +0 -1
- package/dist/src/http/dto/index.js.map +0 -1
- package/dist/src/http/dto/locales.js.map +0 -1
- package/dist/src/http/index.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interceptors/index.js.map +0 -1
- package/dist/src/interceptors/routes-interceptor.js.map +0 -1
- package/dist/src/interceptors/tracing-interceptor.js.map +0 -1
- package/dist/src/middlewares/index.js.map +0 -1
- package/dist/src/middlewares/proxy-middleware.js.map +0 -1
- package/dist/src/middlewares/request-count-middleware.js.map +0 -1
- package/dist/src/middlewares/response-time-middleware.js.map +0 -1
- package/dist/src/providers/auth.js.map +0 -1
- package/dist/src/providers/index.js.map +0 -1
- package/dist/src/providers/roles.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/index.d.ts +0 -155
- package/interfaces/index.ts +0 -11
- package/interfaces/ports/client.driven.port.ts +0 -5
- package/interfaces/ports/crud.driven.port.ts +0 -57
- package/src/app/application/service/client/get-locale.use-case.ts +0 -13
- package/src/app/application/service/client/set-locale.use-case.ts +0 -13
- package/src/app/application/service/metrics/get-metrics.use-case.ts +0 -13
- package/src/app/domain/.keep +0 -0
- package/src/app/infrastructure/adapters/client.repository.adapter.ts +0 -35
- package/src/app/infrastructure/adapters/metrics.repository.adapter.ts +0 -13
- package/src/app/infrastructure/controllers/client.controller.ts +0 -28
- package/src/app/infrastructure/controllers/dto/locales.ts +0 -15
- package/src/app/infrastructure/controllers/metrics.controller.ts +0 -16
- package/src/app/infrastructure/controllers/probe.controller.ts +0 -18
- package/src/cors.ts +0 -19
- package/src/decorators/auth.ts +0 -9
- package/src/decorators/roles.ts +0 -12
- package/src/errors.ts +0 -19
- package/src/filters/all-exception-filter.ts +0 -91
- package/src/http/controllers/locales.ts +0 -79
- package/src/http/controllers/metrics.ts +0 -21
- package/src/http/controllers/probe.ts +0 -26
- package/src/http/dto/locales.ts +0 -15
- package/src/interceptors/routes-interceptor.ts +0 -39
- package/src/interceptors/tracing-interceptor.ts +0 -74
- package/src/middlewares/proxy-middleware.ts +0 -78
- package/src/middlewares/request-count-middleware.ts +0 -41
- package/src/middlewares/response-time-middleware.ts +0 -73
- package/src/providers/auth.ts +0 -36
- package/src/providers/roles.ts +0 -34
- package/tests/__snapshots__/index.spec.ts.snap +0 -44
- package/tests/index.spec.ts +0 -61
- package/tsconfig.build.json +0 -5
- package/tsconfig.json +0 -9
- /package/{interfaces/ports/index.ts → dist/types/interfaces/ports/index.d.ts} +0 -0
- /package/{src/app/application/index.ts → dist/types/src/app/application/index.d.ts} +0 -0
- /package/{src/app/application/ports/index.ts → dist/types/src/app/application/ports/index.d.ts} +0 -0
- /package/{src/app/application/service/client/index.ts → dist/types/src/app/application/service/client/index.d.ts} +0 -0
- /package/{src/app/application/service/index.ts → dist/types/src/app/application/service/index.d.ts} +0 -0
- /package/{src/app/application/service/metrics/index.ts → dist/types/src/app/application/service/metrics/index.d.ts} +0 -0
- /package/{src/app/index.ts → dist/types/src/app/index.d.ts} +0 -0
- /package/{src/app/infrastructure/adapters/index.ts → dist/types/src/app/infrastructure/adapters/index.d.ts} +0 -0
- /package/{src/app/infrastructure/controllers/dto/index.ts → dist/types/src/app/infrastructure/controllers/dto/index.d.ts} +0 -0
- /package/{src/app/infrastructure/controllers/index.ts → dist/types/src/app/infrastructure/controllers/index.d.ts} +0 -0
- /package/{src/decorators/index.ts → dist/types/src/decorators/index.d.ts} +0 -0
- /package/{src/enums/index.ts → dist/types/src/enums/index.d.ts} +0 -0
- /package/{src/enums/user.ts → dist/types/src/enums/user.d.ts} +0 -0
- /package/{src/filters/index.ts → dist/types/src/filters/index.d.ts} +0 -0
- /package/{src/http/controllers/index.ts → dist/types/src/http/controllers/index.d.ts} +0 -0
- /package/{src/http/dto/index.ts → dist/types/src/http/dto/index.d.ts} +0 -0
- /package/{src/http/index.ts → dist/types/src/http/index.d.ts} +0 -0
- /package/{src/index.ts → dist/types/src/index.d.ts} +0 -0
- /package/{src/interceptors/index.ts → dist/types/src/interceptors/index.d.ts} +0 -0
- /package/{src/middlewares/index.ts → dist/types/src/middlewares/index.d.ts} +0 -0
- /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
|
-
}
|
package/interfaces/index.ts
DELETED
|
@@ -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
|
-
}
|
package/src/app/domain/.keep
DELETED
|
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
|
-
}
|
package/src/decorators/auth.ts
DELETED
|
@@ -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
|
-
};
|
package/src/decorators/roles.ts
DELETED
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
|
-
}
|