@koalarx/nest 1.19.0 → 3.0.1

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 (311) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +5 -37
  3. package/src/core/backgroud-services/cron-service/cron-job.handler.base.ts +66 -0
  4. package/src/core/backgroud-services/cron-service/cron-job.handler.spec.ts +38 -0
  5. package/src/core/backgroud-services/event-service/event-class.ts +5 -0
  6. package/src/core/backgroud-services/event-service/event-handler.base.ts +17 -0
  7. package/src/core/backgroud-services/event-service/event-is-trigger.ts +3 -0
  8. package/src/core/backgroud-services/event-service/event-job.ts +28 -0
  9. package/src/core/backgroud-services/event-service/event-queue.spec.ts +47 -0
  10. package/src/core/backgroud-services/event-service/event-queue.ts +107 -0
  11. package/src/core/constants/query-params.ts +7 -0
  12. package/src/core/controllers/base.controller.ts +9 -0
  13. package/src/core/controllers/controller.decorator.ts +10 -0
  14. package/src/core/controllers/created-registre-response.base.ts +17 -0
  15. package/src/core/controllers/list-response.base.ts +8 -0
  16. package/src/core/controllers/pagination.request.ts +41 -0
  17. package/src/core/controllers/router-config.base.ts +14 -0
  18. package/src/core/controllers/schemas/boolean.schema.ts +10 -0
  19. package/src/core/controllers/schemas/document-number.schema.ts +23 -0
  20. package/src/core/controllers/schemas/email.schema.ts +13 -0
  21. package/src/core/controllers/schemas/list-query.schema.ts +17 -0
  22. package/src/core/controllers/schemas/native-enum.schema.ts +34 -0
  23. package/src/core/controllers/schemas/set-mask-document-number.schema.ts +13 -0
  24. package/src/core/database/entity.base.ts +95 -0
  25. package/src/core/database/entity.decorator.spec.ts +71 -0
  26. package/src/core/database/entity.decorator.ts +39 -0
  27. package/src/core/database/prisma-client-with-custom-transaction.interface.ts +13 -0
  28. package/src/core/database/prisma-resolver.ts +99 -0
  29. package/src/core/database/prisma-transactional-client.ts +43 -0
  30. package/src/core/database/prisma.service.ts +136 -0
  31. package/src/core/database/repository.base.ts +548 -0
  32. package/src/core/dtos/pagination.dto.ts +35 -0
  33. package/src/core/errors/bad-request.error.ts +8 -0
  34. package/src/core/errors/conflict.error.ts +7 -0
  35. package/src/core/errors/error.base.ts +5 -0
  36. package/src/core/errors/no-content.error.ts +8 -0
  37. package/src/core/errors/not-allowed.error.ts +8 -0
  38. package/src/core/errors/resource-not-found.error.ts +8 -0
  39. package/{core/errors/use-case-error.d.ts → src/core/errors/use-case-error.ts} +1 -1
  40. package/src/core/errors/user-already-exist.error.ts +7 -0
  41. package/src/core/errors/wrong-credentials.error.ts +7 -0
  42. package/src/core/health-check/health-check.controller.ts +13 -0
  43. package/src/core/health-check/health-check.module.ts +7 -0
  44. package/src/core/index.ts +56 -0
  45. package/src/core/koala-app.ts +379 -0
  46. package/src/core/koala-global-vars.ts +8 -0
  47. package/src/core/koala-nest-database.module.ts +65 -0
  48. package/src/core/koala-nest-http.module.ts +44 -0
  49. package/src/core/koala-nest.module.ts +67 -0
  50. package/src/core/mapping/auto-mapping-class-context.ts +28 -0
  51. package/src/core/mapping/auto-mapping-context.ts +26 -0
  52. package/src/core/mapping/auto-mapping-list.ts +154 -0
  53. package/src/core/mapping/auto-mapping-profile.ts +3 -0
  54. package/src/core/mapping/auto-mapping.decorator.ts +54 -0
  55. package/src/core/mapping/auto-mapping.module.ts +17 -0
  56. package/src/core/mapping/auto-mapping.service.ts +187 -0
  57. package/src/core/mapping/create-map.ts +11 -0
  58. package/src/core/mapping/for-member.ts +16 -0
  59. package/src/core/request-overflow/request-handler.base.ts +8 -0
  60. package/src/core/request-overflow/request-result.spec.ts +23 -0
  61. package/src/core/request-overflow/request-result.ts +41 -0
  62. package/src/core/request-overflow/request-validator.base.ts +33 -0
  63. package/src/core/security/strategies/api-key.strategy.ts +45 -0
  64. package/src/core/utils/assing-object.ts +9 -0
  65. package/src/core/utils/env.config.ts +17 -0
  66. package/src/core/utils/filter-request-params.ts +23 -0
  67. package/src/core/utils/find-on-list.ts +18 -0
  68. package/src/core/utils/get-type-by-prop.ts +9 -0
  69. package/src/core/utils/instanciate-class-with-dependencies-injection.ts +12 -0
  70. package/src/core/utils/interfaces/icomparable.ts +6 -0
  71. package/src/core/utils/list.spec.ts +81 -0
  72. package/src/core/utils/list.ts +223 -0
  73. package/src/core/utils/promise-all.ts +24 -0
  74. package/src/core/utils/set-mask-document-number.ts +13 -0
  75. package/src/core/validators/file-validator.ts +113 -0
  76. package/src/decorators/api-exclude-endpoint-diff-develop.decorator.ts +15 -0
  77. package/src/decorators/api-property-enum.decorator.ts +58 -0
  78. package/src/decorators/api-property-only-develop.decorator.ts +6 -0
  79. package/src/decorators/cookies.decorator.ts +8 -0
  80. package/src/decorators/is-public.decorator.ts +5 -0
  81. package/src/decorators/upload.decorator.ts +31 -0
  82. package/src/env/env.module.ts +8 -0
  83. package/src/env/env.service.ts +12 -0
  84. package/src/env/env.ts +14 -0
  85. package/src/filters/domain-errors.filter.ts +97 -0
  86. package/src/filters/global-exception.filter.ts +60 -0
  87. package/src/filters/prisma-validation-exception.filter.ts +73 -0
  88. package/src/filters/zod-errors.filter.ts +48 -0
  89. package/src/services/logging/ilogging.service.ts +17 -0
  90. package/src/services/logging/logging.service.ts +10 -0
  91. package/src/services/redis/iredis.service.ts +11 -0
  92. package/src/services/redis/redis.service.ts +70 -0
  93. package/src/services/redlock/ired-lock.service.ts +4 -0
  94. package/src/services/redlock/red-lock.service.ts +36 -0
  95. package/src/test/koala-app-test-dependencies.ts +15 -0
  96. package/src/test/koala-app-test.ts +103 -0
  97. package/src/test/repositories/in-memory-base.repository.ts +90 -0
  98. package/src/test/services/fake-logging.service.ts +7 -0
  99. package/src/test/services/fake-red-lock.service.ts +11 -0
  100. package/src/test/utils/create-e2e-database.ts +55 -0
  101. package/src/test/utils/drop-e2e-database.ts +36 -0
  102. package/src/test/utils/wait-for.ts +31 -0
  103. package/tsconfig.lib.json +11 -0
  104. package/LICENSE +0 -21
  105. package/README.md +0 -499
  106. package/core/backgroud-services/cron-service/cron-job.handler.base.d.ts +0 -16
  107. package/core/backgroud-services/cron-service/cron-job.handler.base.js +0 -49
  108. package/core/backgroud-services/event-service/event-class.d.ts +0 -5
  109. package/core/backgroud-services/event-service/event-class.js +0 -11
  110. package/core/backgroud-services/event-service/event-handler.base.d.ts +0 -8
  111. package/core/backgroud-services/event-service/event-handler.base.js +0 -14
  112. package/core/backgroud-services/event-service/event-is-trigger.d.ts +0 -3
  113. package/core/backgroud-services/event-service/event-is-trigger.js +0 -7
  114. package/core/backgroud-services/event-service/event-job.d.ts +0 -13
  115. package/core/backgroud-services/event-service/event-job.js +0 -21
  116. package/core/backgroud-services/event-service/event-queue.d.ts +0 -17
  117. package/core/backgroud-services/event-service/event-queue.js +0 -62
  118. package/core/constants/query-params.d.ts +0 -6
  119. package/core/constants/query-params.js +0 -8
  120. package/core/controllers/base.controller.d.ts +0 -4
  121. package/core/controllers/base.controller.js +0 -6
  122. package/core/controllers/controller.decorator.d.ts +0 -2
  123. package/core/controllers/controller.decorator.js +0 -11
  124. package/core/controllers/created-registre-response.base.d.ts +0 -10
  125. package/core/controllers/created-registre-response.base.js +0 -35
  126. package/core/controllers/list-response.base.d.ts +0 -4
  127. package/core/controllers/list-response.base.js +0 -21
  128. package/core/controllers/pagination.request.d.ts +0 -10
  129. package/core/controllers/pagination.request.js +0 -56
  130. package/core/controllers/router-config.base.d.ts +0 -7
  131. package/core/controllers/router-config.base.js +0 -18
  132. package/core/controllers/schemas/boolean.schema.d.ts +0 -2
  133. package/core/controllers/schemas/boolean.schema.js +0 -12
  134. package/core/controllers/schemas/document-number.schema.d.ts +0 -1
  135. package/core/controllers/schemas/document-number.schema.js +0 -26
  136. package/core/controllers/schemas/email.schema.d.ts +0 -1
  137. package/core/controllers/schemas/email.schema.js +0 -13
  138. package/core/controllers/schemas/list-query.schema.d.ts +0 -17
  139. package/core/controllers/schemas/list-query.schema.js +0 -19
  140. package/core/controllers/schemas/native-enum.schema.d.ts +0 -7
  141. package/core/controllers/schemas/native-enum.schema.js +0 -28
  142. package/core/controllers/schemas/set-mask-document-number.schema.d.ts +0 -1
  143. package/core/controllers/schemas/set-mask-document-number.schema.js +0 -13
  144. package/core/database/entity.base.d.ts +0 -20
  145. package/core/database/entity.base.js +0 -71
  146. package/core/database/entity.decorator.d.ts +0 -13
  147. package/core/database/entity.decorator.js +0 -23
  148. package/core/database/prisma-client-with-custom-transaction.interface.d.ts +0 -8
  149. package/core/database/prisma-client-with-custom-transaction.interface.js +0 -2
  150. package/core/database/prisma-resolver.d.ts +0 -2
  151. package/core/database/prisma-resolver.js +0 -74
  152. package/core/database/prisma-transactional-client.d.ts +0 -11
  153. package/core/database/prisma-transactional-client.js +0 -25
  154. package/core/database/prisma.service.d.ts +0 -24
  155. package/core/database/prisma.service.js +0 -104
  156. package/core/database/repository.base.d.ts +0 -44
  157. package/core/database/repository.base.js +0 -360
  158. package/core/dtos/pagination.dto.d.ts +0 -9
  159. package/core/dtos/pagination.dto.js +0 -49
  160. package/core/errors/bad-request.error.d.ts +0 -5
  161. package/core/errors/bad-request.error.js +0 -10
  162. package/core/errors/conflict.error.d.ts +0 -4
  163. package/core/errors/conflict.error.js +0 -10
  164. package/core/errors/error.base.d.ts +0 -4
  165. package/core/errors/error.base.js +0 -11
  166. package/core/errors/no-content.error.d.ts +0 -5
  167. package/core/errors/no-content.error.js +0 -10
  168. package/core/errors/not-allowed.error.d.ts +0 -5
  169. package/core/errors/not-allowed.error.js +0 -10
  170. package/core/errors/resource-not-found.error.d.ts +0 -5
  171. package/core/errors/resource-not-found.error.js +0 -10
  172. package/core/errors/use-case-error.js +0 -2
  173. package/core/errors/user-already-exist.error.d.ts +0 -4
  174. package/core/errors/user-already-exist.error.js +0 -10
  175. package/core/errors/wrong-credentials.error.d.ts +0 -4
  176. package/core/errors/wrong-credentials.error.js +0 -10
  177. package/core/health-check/health-check.controller.d.ts +0 -5
  178. package/core/health-check/health-check.controller.js +0 -32
  179. package/core/health-check/health-check.module.d.ts +0 -2
  180. package/core/health-check/health-check.module.js +0 -19
  181. package/core/index.d.ts +0 -18
  182. package/core/index.js +0 -7
  183. package/core/koala-app.d.ts +0 -64
  184. package/core/koala-app.js +0 -252
  185. package/core/koala-global-vars.d.ts +0 -7
  186. package/core/koala-global-vars.js +0 -9
  187. package/core/koala-nest-database.module.d.ts +0 -16
  188. package/core/koala-nest-database.module.js +0 -52
  189. package/core/koala-nest-http.module.d.ts +0 -13
  190. package/core/koala-nest-http.module.js +0 -37
  191. package/core/koala-nest.module.d.ts +0 -17
  192. package/core/koala-nest.module.js +0 -66
  193. package/core/mapping/auto-mapping-class-context.d.ts +0 -16
  194. package/core/mapping/auto-mapping-class-context.js +0 -18
  195. package/core/mapping/auto-mapping-context.d.ts +0 -11
  196. package/core/mapping/auto-mapping-context.js +0 -24
  197. package/core/mapping/auto-mapping-list.d.ts +0 -27
  198. package/core/mapping/auto-mapping-list.js +0 -94
  199. package/core/mapping/auto-mapping-profile.d.ts +0 -3
  200. package/core/mapping/auto-mapping-profile.js +0 -6
  201. package/core/mapping/auto-mapping.decorator.d.ts +0 -9
  202. package/core/mapping/auto-mapping.decorator.js +0 -27
  203. package/core/mapping/auto-mapping.module.d.ts +0 -5
  204. package/core/mapping/auto-mapping.module.js +0 -29
  205. package/core/mapping/auto-mapping.service.d.ts +0 -14
  206. package/core/mapping/auto-mapping.service.js +0 -140
  207. package/core/mapping/create-map.d.ts +0 -3
  208. package/core/mapping/create-map.js +0 -7
  209. package/core/mapping/for-member.d.ts +0 -5
  210. package/core/mapping/for-member.js +0 -8
  211. package/core/request-overflow/request-handler.base.d.ts +0 -4
  212. package/core/request-overflow/request-handler.base.js +0 -6
  213. package/core/request-overflow/request-result.d.ts +0 -15
  214. package/core/request-overflow/request-result.js +0 -37
  215. package/core/request-overflow/request-validator.base.d.ts +0 -7
  216. package/core/request-overflow/request-validator.base.js +0 -26
  217. package/core/security/strategies/api-key.strategy.d.ts +0 -16
  218. package/core/security/strategies/api-key.strategy.js +0 -31
  219. package/core/utils/assing-object.d.ts +0 -5
  220. package/core/utils/assing-object.js +0 -6
  221. package/core/utils/env.config.d.ts +0 -6
  222. package/core/utils/env.config.js +0 -18
  223. package/core/utils/filter-request-params.d.ts +0 -13
  224. package/core/utils/filter-request-params.js +0 -22
  225. package/core/utils/find-on-list.d.ts +0 -2
  226. package/core/utils/find-on-list.js +0 -13
  227. package/core/utils/get-type-by-prop.d.ts +0 -2
  228. package/core/utils/get-type-by-prop.js +0 -11
  229. package/core/utils/instanciate-class-with-dependencies-injection.d.ts +0 -2
  230. package/core/utils/instanciate-class-with-dependencies-injection.js +0 -10
  231. package/core/utils/interfaces/icomparable.d.ts +0 -5
  232. package/core/utils/interfaces/icomparable.js +0 -6
  233. package/core/utils/list.d.ts +0 -39
  234. package/core/utils/list.js +0 -168
  235. package/core/utils/promise-all.d.ts +0 -7
  236. package/core/utils/promise-all.js +0 -19
  237. package/core/utils/set-mask-document-number.d.ts +0 -1
  238. package/core/utils/set-mask-document-number.js +0 -13
  239. package/core/validators/file-validator.d.ts +0 -27
  240. package/core/validators/file-validator.js +0 -94
  241. package/decorators/api-exclude-endpoint-diff-develop.decorator.d.ts +0 -1
  242. package/decorators/api-exclude-endpoint-diff-develop.decorator.js +0 -9
  243. package/decorators/api-property-enum.decorator.d.ts +0 -8
  244. package/decorators/api-property-enum.decorator.js +0 -21
  245. package/decorators/api-property-only-develop.decorator.d.ts +0 -2
  246. package/decorators/api-property-only-develop.decorator.js +0 -9
  247. package/decorators/cookies.decorator.d.ts +0 -1
  248. package/decorators/cookies.decorator.js +0 -8
  249. package/decorators/is-public.decorator.d.ts +0 -2
  250. package/decorators/is-public.decorator.js +0 -7
  251. package/decorators/upload.decorator.d.ts +0 -1
  252. package/decorators/upload.decorator.js +0 -18
  253. package/docs/00-cli-reference.md +0 -201
  254. package/docs/01-guia-instalacao.md +0 -113
  255. package/docs/02-configuracao-inicial.md +0 -176
  256. package/docs/04-tratamento-erros.md +0 -303
  257. package/docs/05-features-avancadas.md +0 -969
  258. package/docs/06-decoradores.md +0 -220
  259. package/docs/07-guia-bun.md +0 -176
  260. package/docs/08-prisma-client.md +0 -487
  261. package/docs/09-mcp-vscode-extension.md +0 -437
  262. package/docs/EXAMPLE.md +0 -1671
  263. package/docs/README.md +0 -59
  264. package/env/env.d.ts +0 -25
  265. package/env/env.js +0 -14
  266. package/env/env.module.d.ts +0 -2
  267. package/env/env.module.js +0 -20
  268. package/env/env.service.d.ts +0 -7
  269. package/env/env.service.js +0 -28
  270. package/filters/domain-errors.filter.d.ts +0 -18
  271. package/filters/domain-errors.filter.js +0 -92
  272. package/filters/global-exception.filter.d.ts +0 -8
  273. package/filters/global-exception.filter.js +0 -68
  274. package/filters/prisma-validation-exception.filter.d.ts +0 -10
  275. package/filters/prisma-validation-exception.filter.js +0 -82
  276. package/filters/zod-errors.filter.d.ts +0 -9
  277. package/filters/zod-errors.filter.js +0 -60
  278. package/mcp-server/mcp.json.example +0 -27
  279. package/mcp-server/server.d.ts +0 -2
  280. package/mcp-server/server.d.ts.map +0 -1
  281. package/mcp-server/server.js +0 -248
  282. package/mcp-server/server.js.map +0 -1
  283. package/services/logging/ilogging.service.d.ts +0 -16
  284. package/services/logging/ilogging.service.js +0 -6
  285. package/services/logging/logging.service.d.ts +0 -4
  286. package/services/logging/logging.service.js +0 -20
  287. package/services/redis/iredis.service.d.ts +0 -6
  288. package/services/redis/iredis.service.js +0 -6
  289. package/services/redis/redis.service.d.ts +0 -14
  290. package/services/redis/redis.service.js +0 -65
  291. package/services/redlock/ired-lock.service.d.ts +0 -4
  292. package/services/redlock/ired-lock.service.js +0 -6
  293. package/services/redlock/red-lock.service.d.ts +0 -9
  294. package/services/redlock/red-lock.service.js +0 -46
  295. package/test/koala-app-test-dependencies.d.ts +0 -10
  296. package/test/koala-app-test-dependencies.js +0 -13
  297. package/test/koala-app-test.d.ts +0 -22
  298. package/test/koala-app-test.js +0 -77
  299. package/test/repositories/in-memory-base.repository.d.ts +0 -17
  300. package/test/repositories/in-memory-base.repository.js +0 -65
  301. package/test/services/fake-logging.service.d.ts +0 -4
  302. package/test/services/fake-logging.service.js +0 -9
  303. package/test/services/fake-red-lock.service.d.ts +0 -5
  304. package/test/services/fake-red-lock.service.js +0 -11
  305. package/test/utils/create-e2e-database.d.ts +0 -2
  306. package/test/utils/create-e2e-database.js +0 -47
  307. package/test/utils/drop-e2e-database.d.ts +0 -2
  308. package/test/utils/drop-e2e-database.js +0 -33
  309. package/test/utils/wait-for.d.ts +0 -1
  310. package/test/utils/wait-for.js +0 -21
  311. package/tsconfig.lib.tsbuildinfo +0 -1
package/docs/README.md DELETED
@@ -1,59 +0,0 @@
1
- # Índice da Documentação
2
-
3
- Esta pasta contém toda a documentação detalhada da biblioteca **@koalarx/nest**.
4
-
5
- ## 📚 Documentos Principais
6
-
7
- ### 🚀 Começando
8
-
9
- - **[00-cli-reference.md](./00-cli-reference.md)** - Referência completa da CLI
10
- - **[01-guia-instalacao.md](./01-guia-instalacao.md)** - Instalação e setup inicial
11
- - **[02-configuracao-inicial.md](./02-configuracao-inicial.md)** - Configuração do projeto
12
-
13
- ### 💡 Aprendizado Prático
14
-
15
- - **[EXAMPLE.md](./EXAMPLE.md)** ⭐ **[COMECE AQUI!]**
16
- - Exemplo prático completo com implementação de CRUD
17
- - Todas as 4 camadas DDD (Domain, Application, Host, Infra)
18
- - Testes unitários e E2E
19
- - Jobs e Eventos
20
-
21
- ### 🔧 Recursos Principais
22
-
23
- - **[04-tratamento-erros.md](./04-tratamento-erros.md)** - Error handling e exceções
24
- - **[05-features-avancadas.md](./05-features-avancadas.md)** - Features avançadas
25
- - **[06-decoradores.md](./06-decoradores.md)** - Decoradores customizados
26
- - **[07-guia-bun.md](./07-guia-bun.md)** - Como usar Bun
27
- - **[08-prisma-client.md](./08-prisma-client.md)** - Integração com Prisma
28
- - **[09-mcp-vscode-extension.md](./09-mcp-vscode-extension.md)** - 🤖 Extensão MCP para VS Code
29
-
30
- ---
31
-
32
- ## 🏗️ Arquitetura DDD
33
-
34
- A biblioteca organiza sua aplicação em 4 camadas:
35
-
36
- ```
37
- HOST (Controllers)
38
-
39
- APPLICATION (Handlers, Validators)
40
-
41
- DOMAIN (Entities, Interfaces)
42
-
43
- INFRA (Repositories, Database)
44
- ```
45
-
46
- Veja [EXAMPLE.md](./EXAMPLE.md) para implementação prática.
47
-
48
- ---
49
-
50
- ## 🎯 Próximas Etapas
51
-
52
- 1. **Leia** [EXAMPLE.md](./EXAMPLE.md) para entender a arquitetura
53
- 2. **Siga** [01-guia-instalacao.md](./01-guia-instalacao.md) para configurar seu projeto
54
- 3. **Configure** [02-configuracao-inicial.md](./02-configuracao-inicial.md) o ambiente
55
- 4. **Explore** [05-features-avancadas.md](./05-features-avancadas.md) para recursos avançados
56
-
57
- ---
58
-
59
- **Voltar ao README principal:** [../README.md](../README.md)
package/env/env.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import 'dotenv/config';
2
- import { z } from 'zod';
3
- export declare const envSchema: z.ZodObject<{
4
- PORT: z.ZodDefault<z.ZodNumber>;
5
- NODE_ENV: z.ZodEnum<["test", "develop", "staging", "production"]>;
6
- PRISMA_QUERY_LOG: z.ZodOptional<z.ZodEffects<z.ZodString, boolean | undefined, string>>;
7
- SWAGGER_USERNAME: z.ZodOptional<z.ZodString>;
8
- SWAGGER_PASSWORD: z.ZodOptional<z.ZodString>;
9
- REDIS_CONNECTION_STRING: z.ZodOptional<z.ZodString>;
10
- }, "strip", z.ZodTypeAny, {
11
- PORT: number;
12
- NODE_ENV: "test" | "develop" | "staging" | "production";
13
- PRISMA_QUERY_LOG?: boolean | undefined;
14
- SWAGGER_USERNAME?: string | undefined;
15
- SWAGGER_PASSWORD?: string | undefined;
16
- REDIS_CONNECTION_STRING?: string | undefined;
17
- }, {
18
- NODE_ENV: "test" | "develop" | "staging" | "production";
19
- PORT?: number | undefined;
20
- PRISMA_QUERY_LOG?: string | undefined;
21
- SWAGGER_USERNAME?: string | undefined;
22
- SWAGGER_PASSWORD?: string | undefined;
23
- REDIS_CONNECTION_STRING?: string | undefined;
24
- }>;
25
- export type Env = z.infer<typeof envSchema>;
package/env/env.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.envSchema = void 0;
4
- require("dotenv/config");
5
- const zod_1 = require("zod");
6
- const boolean_schema_1 = require("../core/controllers/schemas/boolean.schema");
7
- exports.envSchema = zod_1.z.object({
8
- PORT: zod_1.z.coerce.number().default(3000),
9
- NODE_ENV: zod_1.z.enum(['test', 'develop', 'staging', 'production']),
10
- PRISMA_QUERY_LOG: (0, boolean_schema_1.booleanSchema)().optional(),
11
- SWAGGER_USERNAME: zod_1.z.string().optional(),
12
- SWAGGER_PASSWORD: zod_1.z.string().optional(),
13
- REDIS_CONNECTION_STRING: zod_1.z.string().optional(),
14
- });
@@ -1,2 +0,0 @@
1
- export declare class EnvModule {
2
- }
package/env/env.module.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.EnvModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const env_service_1 = require("./env.service");
12
- let EnvModule = class EnvModule {
13
- };
14
- exports.EnvModule = EnvModule;
15
- exports.EnvModule = EnvModule = __decorate([
16
- (0, common_1.Module)({
17
- providers: [env_service_1.EnvService],
18
- exports: [env_service_1.EnvService],
19
- })
20
- ], EnvModule);
@@ -1,7 +0,0 @@
1
- import { ConfigService } from '@nestjs/config';
2
- import { Env } from './env';
3
- export declare class EnvService<TEnv extends Env = Env> {
4
- private readonly configService;
5
- constructor(configService: ConfigService<TEnv, true>);
6
- get<T extends keyof TEnv>(key: T): (string extends infer T_1 ? T_1 extends string ? T_1 extends keyof TEnv ? string extends infer T_2 ? T_2 extends string ? T_2 extends import("@nestjs/config").Path<TEnv[T_1]> ? import("@nestjs/config").PathValue<TEnv[T_1], T_2> : never : never : never : never : never : never) | (any extends infer T_3 ? T_3 extends any ? T_3 extends keyof TEnv ? TEnv[T_3] : never : never : never);
7
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EnvService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const config_1 = require("@nestjs/config");
15
- let EnvService = class EnvService {
16
- configService;
17
- constructor(configService) {
18
- this.configService = configService;
19
- }
20
- get(key) {
21
- return this.configService.get(key, { infer: true });
22
- }
23
- };
24
- exports.EnvService = EnvService;
25
- exports.EnvService = EnvService = __decorate([
26
- (0, common_1.Injectable)(),
27
- __metadata("design:paramtypes", [config_1.ConfigService])
28
- ], EnvService);
@@ -1,18 +0,0 @@
1
- import { ArgumentsHost } from '@nestjs/common';
2
- import { BaseExceptionFilter } from '@nestjs/core';
3
- import { BadRequestError } from '../core/errors/bad-request.error';
4
- import { ConflictError } from '../core/errors/conflict.error';
5
- import { NoContentError } from '../core/errors/no-content.error';
6
- import { NotAllowedError } from '../core/errors/not-allowed.error';
7
- import { ResourceNotFoundError } from '../core/errors/resource-not-found.error';
8
- import { UserAlreadyExist } from '../core/errors/user-already-exist.error';
9
- import { WrongCredentialsError } from '../core/errors/wrong-credentials.error';
10
- import { ILoggingService } from '../services/logging/ilogging.service';
11
- type DomainErrors = NotAllowedError | ResourceNotFoundError | UserAlreadyExist | WrongCredentialsError | ConflictError | BadRequestError | NoContentError;
12
- export declare class DomainErrorsFilter extends BaseExceptionFilter {
13
- private readonly loggingService;
14
- constructor(loggingService: ILoggingService);
15
- catch(exception: DomainErrors, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
16
- private map;
17
- }
18
- export {};
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DomainErrorsFilter = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const bad_request_error_1 = require("../core/errors/bad-request.error");
16
- const conflict_error_1 = require("../core/errors/conflict.error");
17
- const no_content_error_1 = require("../core/errors/no-content.error");
18
- const not_allowed_error_1 = require("../core/errors/not-allowed.error");
19
- const resource_not_found_error_1 = require("../core/errors/resource-not-found.error");
20
- const user_already_exist_error_1 = require("../core/errors/user-already-exist.error");
21
- const wrong_credentials_error_1 = require("../core/errors/wrong-credentials.error");
22
- const koala_global_vars_1 = require("../core/koala-global-vars");
23
- const env_config_1 = require("../core/utils/env.config");
24
- const filter_request_params_1 = require("../core/utils/filter-request-params");
25
- const ilogging_service_1 = require("../services/logging/ilogging.service");
26
- let DomainErrorsFilter = class DomainErrorsFilter extends core_1.BaseExceptionFilter {
27
- loggingService;
28
- constructor(loggingService) {
29
- super();
30
- this.loggingService = loggingService;
31
- }
32
- catch(exception, host) {
33
- const mappedException = this.map(exception);
34
- const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
35
- if (mappedException.statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
36
- if (!env_config_1.EnvConfig.isEnvTest) {
37
- this.loggingService
38
- .report({
39
- error: exception,
40
- packageName: koala_global_vars_1.KoalaGlobalVars.appName,
41
- loggedUsername: filterRequestParams.loggedUserName,
42
- httpRequest: {
43
- ...filterRequestParams.filterParams,
44
- statusCode: mappedException.statusCode,
45
- response: mappedException,
46
- },
47
- })
48
- .catch((err) => console.error(err));
49
- }
50
- else {
51
- console.error(exception);
52
- }
53
- }
54
- return filterRequestParams.response
55
- .status(mappedException.statusCode)
56
- .json(mappedException);
57
- }
58
- map(exception) {
59
- const mappedException = {
60
- statusCode: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
61
- message: exception.message,
62
- data: exception.data,
63
- };
64
- switch (exception.constructor) {
65
- case user_already_exist_error_1.UserAlreadyExist:
66
- case not_allowed_error_1.NotAllowedError:
67
- case bad_request_error_1.BadRequestError:
68
- mappedException.statusCode = common_1.HttpStatus.BAD_REQUEST;
69
- break;
70
- case resource_not_found_error_1.ResourceNotFoundError:
71
- mappedException.statusCode = common_1.HttpStatus.NOT_FOUND;
72
- break;
73
- case wrong_credentials_error_1.WrongCredentialsError:
74
- mappedException.statusCode = common_1.HttpStatus.UNAUTHORIZED;
75
- break;
76
- case conflict_error_1.ConflictError:
77
- mappedException.statusCode = common_1.HttpStatus.CONFLICT;
78
- break;
79
- case no_content_error_1.NoContentError:
80
- mappedException.statusCode = common_1.HttpStatus.NO_CONTENT;
81
- break;
82
- default:
83
- console.error(exception);
84
- }
85
- return mappedException;
86
- }
87
- };
88
- exports.DomainErrorsFilter = DomainErrorsFilter;
89
- exports.DomainErrorsFilter = DomainErrorsFilter = __decorate([
90
- (0, common_1.Catch)(not_allowed_error_1.NotAllowedError, resource_not_found_error_1.ResourceNotFoundError, user_already_exist_error_1.UserAlreadyExist, wrong_credentials_error_1.WrongCredentialsError, conflict_error_1.ConflictError, bad_request_error_1.BadRequestError, no_content_error_1.NoContentError),
91
- __metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
92
- ], DomainErrorsFilter);
@@ -1,8 +0,0 @@
1
- import { ArgumentsHost } from '@nestjs/common';
2
- import { BaseExceptionFilter } from '@nestjs/core';
3
- import { ILoggingService } from '../services/logging/ilogging.service';
4
- export declare class GlobalExceptionsFilter extends BaseExceptionFilter {
5
- private readonly loggingService;
6
- constructor(loggingService: ILoggingService);
7
- catch(exception: Error, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
8
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GlobalExceptionsFilter = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const node_http_1 = require("node:http");
16
- const koala_global_vars_1 = require("../core/koala-global-vars");
17
- const env_config_1 = require("../core/utils/env.config");
18
- const filter_request_params_1 = require("../core/utils/filter-request-params");
19
- const ilogging_service_1 = require("../services/logging/ilogging.service");
20
- let GlobalExceptionsFilter = class GlobalExceptionsFilter extends core_1.BaseExceptionFilter {
21
- loggingService;
22
- constructor(loggingService) {
23
- super();
24
- this.loggingService = loggingService;
25
- }
26
- catch(exception, host) {
27
- const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
28
- const request = host.getArgs().find((arg) => arg instanceof node_http_1.IncomingMessage) ?? null;
29
- const statusCode = exception instanceof common_1.HttpException
30
- ? exception.getStatus()
31
- : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
32
- const responseBody = exception instanceof common_1.HttpException
33
- ? exception.getResponse()
34
- : {
35
- statusCode,
36
- timestamp: new Date().toISOString(),
37
- path: filterRequestParams.filterParams.endpoint,
38
- };
39
- if (!exception.message?.includes('Cannot GET /socket.io') &&
40
- !exception.message?.includes('Cannot GET /favicon.ico') &&
41
- !['/'].includes(request?.url ?? '') &&
42
- statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
43
- if (!env_config_1.EnvConfig.isEnvTest) {
44
- this.loggingService
45
- .report({
46
- error: exception,
47
- packageName: koala_global_vars_1.KoalaGlobalVars.appName,
48
- loggedUsername: filterRequestParams.loggedUserName,
49
- httpRequest: {
50
- ...filterRequestParams.filterParams,
51
- statusCode,
52
- response: responseBody,
53
- },
54
- })
55
- .catch((err) => console.error(err));
56
- }
57
- else {
58
- console.error(exception);
59
- }
60
- }
61
- return filterRequestParams.response.status(statusCode).json(responseBody);
62
- }
63
- };
64
- exports.GlobalExceptionsFilter = GlobalExceptionsFilter;
65
- exports.GlobalExceptionsFilter = GlobalExceptionsFilter = __decorate([
66
- (0, common_1.Catch)(),
67
- __metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
68
- ], GlobalExceptionsFilter);
@@ -1,10 +0,0 @@
1
- import { ArgumentsHost } from '@nestjs/common';
2
- import { BaseExceptionFilter } from '@nestjs/core';
3
- import { Prisma } from 'prisma/generated/client';
4
- import { ILoggingService } from '../services/logging/ilogging.service';
5
- export declare class PrismaValidationExceptionFilter extends BaseExceptionFilter {
6
- private readonly loggingService;
7
- constructor(loggingService: ILoggingService);
8
- catch(exception: Prisma.PrismaClientKnownRequestError, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
9
- private translate;
10
- }
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PrismaValidationExceptionFilter = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const client_1 = require("../../../../prisma/generated/client");
16
- const koala_global_vars_1 = require("../core/koala-global-vars");
17
- const env_config_1 = require("../core/utils/env.config");
18
- const filter_request_params_1 = require("../core/utils/filter-request-params");
19
- const ilogging_service_1 = require("../services/logging/ilogging.service");
20
- let PrismaValidationExceptionFilter = class PrismaValidationExceptionFilter extends core_1.BaseExceptionFilter {
21
- loggingService;
22
- constructor(loggingService) {
23
- super();
24
- this.loggingService = loggingService;
25
- }
26
- catch(exception, host) {
27
- const translatedResponse = this.translate(exception);
28
- const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
29
- if (translatedResponse.statusCode !== common_1.HttpStatus.UNAUTHORIZED) {
30
- if (!env_config_1.EnvConfig.isEnvTest) {
31
- this.loggingService
32
- .report({
33
- error: exception,
34
- packageName: koala_global_vars_1.KoalaGlobalVars.appName,
35
- loggedUsername: filterRequestParams.loggedUserName,
36
- httpRequest: {
37
- ...filterRequestParams.filterParams,
38
- statusCode: translatedResponse.statusCode,
39
- response: translatedResponse,
40
- },
41
- })
42
- .catch((err) => console.error(err));
43
- }
44
- else {
45
- console.error(exception);
46
- }
47
- }
48
- return filterRequestParams.response
49
- .status(translatedResponse.statusCode)
50
- .json(translatedResponse);
51
- }
52
- translate(exception) {
53
- switch (exception.code) {
54
- case 'P2002':
55
- return {
56
- statusCode: common_1.HttpStatus.CONFLICT,
57
- message: 'Registro já existente.',
58
- };
59
- case 'P2003':
60
- return {
61
- statusCode: common_1.HttpStatus.BAD_REQUEST,
62
- message: 'Falha devido a relacionamento. Verifique se o relacionamento existe ou é valido.',
63
- };
64
- case 'P2025':
65
- return {
66
- statusCode: common_1.HttpStatus.NOT_FOUND,
67
- message: 'Registro não encontrado.',
68
- };
69
- default:
70
- console.error(exception);
71
- return {
72
- statusCode: common_1.HttpStatus.BAD_REQUEST,
73
- message: 'Ocorreu um erro desconhecido relacionado aos dados enviados.',
74
- };
75
- }
76
- }
77
- };
78
- exports.PrismaValidationExceptionFilter = PrismaValidationExceptionFilter;
79
- exports.PrismaValidationExceptionFilter = PrismaValidationExceptionFilter = __decorate([
80
- (0, common_1.Catch)(client_1.Prisma.PrismaClientKnownRequestError),
81
- __metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
82
- ], PrismaValidationExceptionFilter);
@@ -1,9 +0,0 @@
1
- import { ArgumentsHost } from '@nestjs/common';
2
- import { BaseExceptionFilter } from '@nestjs/core';
3
- import { ZodError } from 'zod';
4
- import { ILoggingService } from '../services/logging/ilogging.service';
5
- export declare class ZodErrorsFilter extends BaseExceptionFilter {
6
- private readonly loggingService;
7
- constructor(loggingService: ILoggingService);
8
- catch(exception: ZodError, host: ArgumentsHost): import("express").Response<any, Record<string, any>>;
9
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ZodErrorsFilter = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const zod_1 = require("zod");
16
- const zod_validation_error_1 = require("zod-validation-error");
17
- const koala_global_vars_1 = require("../core/koala-global-vars");
18
- const env_config_1 = require("../core/utils/env.config");
19
- const filter_request_params_1 = require("../core/utils/filter-request-params");
20
- const ilogging_service_1 = require("../services/logging/ilogging.service");
21
- let ZodErrorsFilter = class ZodErrorsFilter extends core_1.BaseExceptionFilter {
22
- loggingService;
23
- constructor(loggingService) {
24
- super();
25
- this.loggingService = loggingService;
26
- }
27
- catch(exception, host) {
28
- const filterRequestParams = filter_request_params_1.FilterRequestParams.get(host);
29
- const zodResponse = {
30
- errors: (0, zod_validation_error_1.fromZodError)(exception).details.map((detail) => `${detail.path} ${detail.message.toLowerCase()}`),
31
- statusCode: common_1.HttpStatus.BAD_REQUEST,
32
- message: 'Dados enviados inválidos',
33
- };
34
- if (!env_config_1.EnvConfig.isEnvTest) {
35
- this.loggingService
36
- .report({
37
- error: exception,
38
- packageName: koala_global_vars_1.KoalaGlobalVars.appName,
39
- loggedUsername: filterRequestParams.loggedUserName,
40
- httpRequest: {
41
- ...filterRequestParams.filterParams,
42
- statusCode: common_1.HttpStatus.BAD_REQUEST,
43
- response: zodResponse,
44
- },
45
- })
46
- .catch((err) => console.error(err));
47
- }
48
- else {
49
- console.error(exception);
50
- }
51
- return filterRequestParams.response
52
- .status(common_1.HttpStatus.BAD_REQUEST)
53
- .send(zodResponse);
54
- }
55
- };
56
- exports.ZodErrorsFilter = ZodErrorsFilter;
57
- exports.ZodErrorsFilter = ZodErrorsFilter = __decorate([
58
- (0, common_1.Catch)(zod_1.ZodError),
59
- __metadata("design:paramtypes", [ilogging_service_1.ILoggingService])
60
- ], ZodErrorsFilter);
@@ -1,27 +0,0 @@
1
- # Configuração MCP para Koala Nest Documentation
2
-
3
- Este arquivo permite que o VS Code detecte automaticamente o MCP server de documentação do Koala Nest.
4
-
5
- ## Como usar
6
-
7
- 1. **Instale as dependências** do projeto Koala Nest
8
- 2. **Build o MCP server**: `bun run build:mcp`
9
- 3. **Copie este arquivo** para a raiz do seu projeto como `.vscode/mcp.json`
10
- 4. **Ajuste o caminho** do `command` se necessário
11
- 5. **Reinicie o VS Code**
12
-
13
- O Copilot agora terá acesso à documentação do Koala Nest!
14
-
15
- ---
16
-
17
- ```json
18
- {
19
- "mcpServers": {
20
- "koala-nest-docs": {
21
- "command": "node",
22
- "args": ["${workspaceFolder}/node_modules/@koalarx/nest/dist/mcp-server/server.js"],
23
- "env": {}
24
- }
25
- }
26
- }
27
- ```
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":""}