@jrosadob/ms-sophia-framework-mysql 0.0.2 → 0.0.4

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 (232) hide show
  1. package/dist/libs/ms-sophia-framework-mysql/app.module.d.ts +2 -0
  2. package/dist/libs/ms-sophia-framework-mysql/app.module.js +26 -0
  3. package/dist/libs/ms-sophia-framework-mysql/app.module.js.map +1 -0
  4. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.d.ts +18 -0
  5. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.js +22 -0
  6. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.js.map +1 -0
  7. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.module.d.ts +5 -0
  8. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.module.js +48 -0
  9. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-clients.module.js.map +1 -0
  10. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-config.d.ts +3 -0
  11. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-config.js +3 -0
  12. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-config.js.map +1 -0
  13. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-pattern.d.ts +20 -0
  14. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-pattern.js +55 -0
  15. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-pattern.js.map +1 -0
  16. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-register.options.d.ts +5 -0
  17. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-register.options.js +3 -0
  18. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-register.options.js.map +1 -0
  19. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.module.d.ts +2 -0
  20. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.module.js +33 -0
  21. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.module.js.map +1 -0
  22. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.service.d.ts +10 -0
  23. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.service.js +53 -0
  24. package/dist/libs/ms-sophia-framework-mysql/core/amqp-clients/amqp-sample.service.js.map +1 -0
  25. package/dist/libs/ms-sophia-framework-mysql/core/common/base/error.d.ts +5 -0
  26. package/dist/libs/ms-sophia-framework-mysql/core/common/base/error.js +10 -0
  27. package/dist/libs/ms-sophia-framework-mysql/core/common/base/error.js.map +1 -0
  28. package/dist/libs/ms-sophia-framework-mysql/core/common/base/result.d.ts +10 -0
  29. package/dist/libs/ms-sophia-framework-mysql/core/common/base/result.js +17 -0
  30. package/dist/libs/ms-sophia-framework-mysql/core/common/base/result.js.map +1 -0
  31. package/dist/libs/ms-sophia-framework-mysql/core/common/base/status-base.d.ts +5 -0
  32. package/dist/libs/ms-sophia-framework-mysql/core/common/base/status-base.js +32 -0
  33. package/dist/libs/ms-sophia-framework-mysql/core/common/base/status-base.js.map +1 -0
  34. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/change-status.dto.d.ts +5 -0
  35. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/change-status.dto.js +35 -0
  36. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/change-status.dto.js.map +1 -0
  37. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/log.dto.d.ts +14 -0
  38. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/log.dto.js +33 -0
  39. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/log.dto.js.map +1 -0
  40. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/order-by.dto.d.ts +4 -0
  41. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/order-by.dto.js +28 -0
  42. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/order-by.dto.js.map +1 -0
  43. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/pagination.dto.d.ts +5 -0
  44. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/pagination.dto.js +32 -0
  45. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/pagination.dto.js.map +1 -0
  46. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/search.dto.d.ts +4 -0
  47. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/search.dto.js +27 -0
  48. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/search.dto.js.map +1 -0
  49. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/select.dto.d.ts +9 -0
  50. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/select.dto.js +45 -0
  51. package/dist/libs/ms-sophia-framework-mysql/core/common/dto/select.dto.js.map +1 -0
  52. package/dist/libs/ms-sophia-framework-mysql/core/common/entity/base.entity.d.ts +7 -0
  53. package/dist/libs/ms-sophia-framework-mysql/core/common/entity/base.entity.js +33 -0
  54. package/dist/libs/ms-sophia-framework-mysql/core/common/entity/base.entity.js.map +1 -0
  55. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-badrequest.exception.d.ts +6 -0
  56. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-badrequest.exception.js +31 -0
  57. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-badrequest.exception.js.map +1 -0
  58. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-http.exception.d.ts +5 -0
  59. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-http.exception.js +35 -0
  60. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-http.exception.js.map +1 -0
  61. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-unauthorized.exception.d.ts +6 -0
  62. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-unauthorized.exception.js +33 -0
  63. package/dist/libs/ms-sophia-framework-mysql/core/common/exceptions/app-unauthorized.exception.js.map +1 -0
  64. package/dist/libs/ms-sophia-framework-mysql/core/common/filters/all-exception.filter.d.ts +4 -0
  65. package/dist/libs/ms-sophia-framework-mysql/core/common/filters/all-exception.filter.js +39 -0
  66. package/dist/libs/ms-sophia-framework-mysql/core/common/filters/all-exception.filter.js.map +1 -0
  67. package/{libs/ms-sophia-framework-mysql/src/core/common/index.ts → dist/libs/ms-sophia-framework-mysql/core/common/index.d.ts} +1 -7
  68. package/dist/libs/ms-sophia-framework-mysql/core/common/index.js +35 -0
  69. package/dist/libs/ms-sophia-framework-mysql/core/common/index.js.map +1 -0
  70. package/dist/libs/ms-sophia-framework-mysql/core/common/pipes/app-validation.pipe.d.ts +5 -0
  71. package/dist/libs/ms-sophia-framework-mysql/core/common/pipes/app-validation.pipe.js +28 -0
  72. package/dist/libs/ms-sophia-framework-mysql/core/common/pipes/app-validation.pipe.js.map +1 -0
  73. package/dist/libs/ms-sophia-framework-mysql/core/common/result/bad-request.result.d.ts +8 -0
  74. package/dist/libs/ms-sophia-framework-mysql/core/common/result/bad-request.result.js +45 -0
  75. package/dist/libs/ms-sophia-framework-mysql/core/common/result/bad-request.result.js.map +1 -0
  76. package/dist/libs/ms-sophia-framework-mysql/core/common/result/property.result.d.ts +4 -0
  77. package/dist/libs/ms-sophia-framework-mysql/core/common/result/property.result.js +27 -0
  78. package/dist/libs/ms-sophia-framework-mysql/core/common/result/property.result.js.map +1 -0
  79. package/dist/libs/ms-sophia-framework-mysql/core/common/result/unauthorized.result.d.ts +6 -0
  80. package/dist/libs/ms-sophia-framework-mysql/core/common/result/unauthorized.result.js +39 -0
  81. package/dist/libs/ms-sophia-framework-mysql/core/common/result/unauthorized.result.js.map +1 -0
  82. package/dist/libs/ms-sophia-framework-mysql/core/config/config.module.d.ts +2 -0
  83. package/dist/libs/ms-sophia-framework-mysql/core/config/config.module.js +66 -0
  84. package/dist/libs/ms-sophia-framework-mysql/core/config/config.module.js.map +1 -0
  85. package/dist/libs/ms-sophia-framework-mysql/core/config/config.service.d.ts +6 -0
  86. package/dist/libs/ms-sophia-framework-mysql/core/config/config.service.js +49 -0
  87. package/dist/libs/ms-sophia-framework-mysql/core/config/config.service.js.map +1 -0
  88. package/dist/libs/ms-sophia-framework-mysql/core/config/index.d.ts +2 -0
  89. package/dist/libs/ms-sophia-framework-mysql/core/config/index.js +19 -0
  90. package/dist/libs/ms-sophia-framework-mysql/core/config/index.js.map +1 -0
  91. package/dist/libs/ms-sophia-framework-mysql/core/database/database.module.d.ts +2 -0
  92. package/dist/libs/ms-sophia-framework-mysql/core/database/database.module.js +26 -0
  93. package/dist/libs/ms-sophia-framework-mysql/core/database/database.module.js.map +1 -0
  94. package/dist/libs/ms-sophia-framework-mysql/core/database/database.provider.d.ts +11 -0
  95. package/dist/libs/ms-sophia-framework-mysql/core/database/database.provider.js +57 -0
  96. package/dist/libs/ms-sophia-framework-mysql/core/database/database.provider.js.map +1 -0
  97. package/dist/libs/ms-sophia-framework-mysql/core/database/index.d.ts +3 -0
  98. package/dist/libs/ms-sophia-framework-mysql/core/database/index.js +20 -0
  99. package/dist/libs/ms-sophia-framework-mysql/core/database/index.js.map +1 -0
  100. package/dist/libs/ms-sophia-framework-mysql/core/database/providers.d.ts +3 -0
  101. package/dist/libs/ms-sophia-framework-mysql/core/database/providers.js +8 -0
  102. package/dist/libs/ms-sophia-framework-mysql/core/database/providers.js.map +1 -0
  103. package/dist/libs/ms-sophia-framework-mysql/core/health/health.controller.d.ts +11 -0
  104. package/dist/libs/ms-sophia-framework-mysql/core/health/health.controller.js +62 -0
  105. package/dist/libs/ms-sophia-framework-mysql/core/health/health.controller.js.map +1 -0
  106. package/dist/libs/ms-sophia-framework-mysql/core/health/health.module.d.ts +2 -0
  107. package/dist/libs/ms-sophia-framework-mysql/core/health/health.module.js +24 -0
  108. package/dist/libs/ms-sophia-framework-mysql/core/health/health.module.js.map +1 -0
  109. package/dist/libs/ms-sophia-framework-mysql/core/index.d.ts +6 -0
  110. package/dist/libs/ms-sophia-framework-mysql/core/index.js +23 -0
  111. package/dist/libs/ms-sophia-framework-mysql/core/index.js.map +1 -0
  112. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/headers.interceptor.d.ts +5 -0
  113. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/headers.interceptor.js +24 -0
  114. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/headers.interceptor.js.map +1 -0
  115. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/index.d.ts +2 -0
  116. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/index.js +19 -0
  117. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/index.js.map +1 -0
  118. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/logging.interceptor.d.ts +8 -0
  119. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/logging.interceptor.js +47 -0
  120. package/dist/libs/ms-sophia-framework-mysql/core/interceptors/logging.interceptor.js.map +1 -0
  121. package/dist/libs/ms-sophia-framework-mysql/core/logger/index.d.ts +4 -0
  122. package/dist/libs/ms-sophia-framework-mysql/core/logger/index.js +21 -0
  123. package/dist/libs/ms-sophia-framework-mysql/core/logger/index.js.map +1 -0
  124. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.d.ts +29 -0
  125. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.js +115 -0
  126. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.js.map +1 -0
  127. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.module.d.ts +2 -0
  128. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.module.js +23 -0
  129. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.module.js.map +1 -0
  130. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.request.d.ts +27 -0
  131. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.request.js +107 -0
  132. package/dist/libs/ms-sophia-framework-mysql/core/logger/logger.request.js.map +1 -0
  133. package/dist/libs/ms-sophia-framework-mysql/core/logger/typeorm-logger.service.d.ts +13 -0
  134. package/dist/libs/ms-sophia-framework-mysql/core/logger/typeorm-logger.service.js +58 -0
  135. package/dist/libs/ms-sophia-framework-mysql/core/logger/typeorm-logger.service.js.map +1 -0
  136. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/entity.subscriber.d.ts +11 -0
  137. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/entity.subscriber.js +88 -0
  138. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/entity.subscriber.js.map +1 -0
  139. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/log.entity.d.ts +15 -0
  140. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/log.entity.js +85 -0
  141. package/dist/libs/ms-sophia-framework-mysql/core/subscribers/log.entity.js.map +1 -0
  142. package/dist/libs/ms-sophia-framework-mysql/core/tools/env-vars.d.ts +1 -0
  143. package/dist/libs/ms-sophia-framework-mysql/core/tools/env-vars.js +7 -0
  144. package/dist/libs/ms-sophia-framework-mysql/core/tools/env-vars.js.map +1 -0
  145. package/dist/libs/ms-sophia-framework-mysql/core/tools/index.d.ts +4 -0
  146. package/dist/libs/ms-sophia-framework-mysql/core/tools/index.js +21 -0
  147. package/dist/libs/ms-sophia-framework-mysql/core/tools/index.js.map +1 -0
  148. package/dist/libs/ms-sophia-framework-mysql/core/tools/nanoid.d.ts +1 -0
  149. package/dist/libs/ms-sophia-framework-mysql/core/tools/nanoid.js +6 -0
  150. package/dist/libs/ms-sophia-framework-mysql/core/tools/nanoid.js.map +1 -0
  151. package/dist/libs/ms-sophia-framework-mysql/core/tools/query.d.ts +27 -0
  152. package/dist/libs/ms-sophia-framework-mysql/core/tools/query.js +119 -0
  153. package/dist/libs/ms-sophia-framework-mysql/core/tools/query.js.map +1 -0
  154. package/dist/libs/ms-sophia-framework-mysql/core/tools/send-to-logstash.d.ts +2 -0
  155. package/dist/libs/ms-sophia-framework-mysql/core/tools/send-to-logstash.js +106 -0
  156. package/dist/libs/ms-sophia-framework-mysql/core/tools/send-to-logstash.js.map +1 -0
  157. package/dist/libs/ms-sophia-framework-mysql/index.d.ts +3 -0
  158. package/dist/libs/ms-sophia-framework-mysql/index.js +20 -0
  159. package/dist/libs/ms-sophia-framework-mysql/index.js.map +1 -0
  160. package/dist/libs/ms-sophia-framework-mysql/main.d.ts +6 -0
  161. package/dist/libs/ms-sophia-framework-mysql/main.js +212 -0
  162. package/dist/libs/ms-sophia-framework-mysql/main.js.map +1 -0
  163. package/dist/libs/ms-sophia-framework-mysql/tsconfig.lib.tsbuildinfo +1 -0
  164. package/package.json +29 -16
  165. package/.prettierrc +0 -4
  166. package/bootstrap.yml +0 -193
  167. package/eslint.config.mjs +0 -35
  168. package/libs/ms-sophia-framework-mysql/src/app.module.ts +0 -14
  169. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-clients.module.ts +0 -43
  170. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-clients.ts +0 -22
  171. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-config.ts +0 -3
  172. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-pattern.ts +0 -61
  173. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-register.options.ts +0 -6
  174. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-sample.module.ts +0 -20
  175. package/libs/ms-sophia-framework-mysql/src/core/amqp-clients/amqp-sample.service.ts +0 -34
  176. package/libs/ms-sophia-framework-mysql/src/core/common/base/error.ts +0 -5
  177. package/libs/ms-sophia-framework-mysql/src/core/common/base/result.ts +0 -15
  178. package/libs/ms-sophia-framework-mysql/src/core/common/base/status-base.ts +0 -12
  179. package/libs/ms-sophia-framework-mysql/src/core/common/dto/change-status.dto.ts +0 -13
  180. package/libs/ms-sophia-framework-mysql/src/core/common/dto/log.dto.ts +0 -29
  181. package/libs/ms-sophia-framework-mysql/src/core/common/dto/order-by.dto.ts +0 -9
  182. package/libs/ms-sophia-framework-mysql/src/core/common/dto/pagination.dto.ts +0 -10
  183. package/libs/ms-sophia-framework-mysql/src/core/common/dto/search.dto.ts +0 -8
  184. package/libs/ms-sophia-framework-mysql/src/core/common/dto/select.dto.ts +0 -23
  185. package/libs/ms-sophia-framework-mysql/src/core/common/entity/base.entity.ts +0 -16
  186. package/libs/ms-sophia-framework-mysql/src/core/common/exceptions/app-badrequest.exception.ts +0 -31
  187. package/libs/ms-sophia-framework-mysql/src/core/common/exceptions/app-http.exception.ts +0 -35
  188. package/libs/ms-sophia-framework-mysql/src/core/common/exceptions/app-unauthorized.exception.ts +0 -36
  189. package/libs/ms-sophia-framework-mysql/src/core/common/filters/all-exception.filter.ts +0 -42
  190. package/libs/ms-sophia-framework-mysql/src/core/common/pipes/app-validation.pipe.ts +0 -35
  191. package/libs/ms-sophia-framework-mysql/src/core/common/result/bad-request.result.ts +0 -17
  192. package/libs/ms-sophia-framework-mysql/src/core/common/result/property.result.ts +0 -8
  193. package/libs/ms-sophia-framework-mysql/src/core/common/result/unauthorized.result.ts +0 -14
  194. package/libs/ms-sophia-framework-mysql/src/core/config/config.module.ts +0 -22
  195. package/libs/ms-sophia-framework-mysql/src/core/config/config.service.ts +0 -37
  196. package/libs/ms-sophia-framework-mysql/src/core/config/index.ts +0 -2
  197. package/libs/ms-sophia-framework-mysql/src/core/database/database.module.ts +0 -18
  198. package/libs/ms-sophia-framework-mysql/src/core/database/database.provider.ts +0 -70
  199. package/libs/ms-sophia-framework-mysql/src/core/database/index.ts +0 -3
  200. package/libs/ms-sophia-framework-mysql/src/core/database/providers.ts +0 -3
  201. package/libs/ms-sophia-framework-mysql/src/core/health/health.controller.ts +0 -36
  202. package/libs/ms-sophia-framework-mysql/src/core/health/health.module.ts +0 -16
  203. package/libs/ms-sophia-framework-mysql/src/core/interceptors/headers.interceptor.ts +0 -16
  204. package/libs/ms-sophia-framework-mysql/src/core/interceptors/index.ts +0 -2
  205. package/libs/ms-sophia-framework-mysql/src/core/interceptors/logging.interceptor.ts +0 -43
  206. package/libs/ms-sophia-framework-mysql/src/core/logger/index.ts +0 -4
  207. package/libs/ms-sophia-framework-mysql/src/core/logger/logger.module.ts +0 -10
  208. package/libs/ms-sophia-framework-mysql/src/core/logger/logger.request.ts +0 -137
  209. package/libs/ms-sophia-framework-mysql/src/core/logger/logger.ts +0 -146
  210. package/libs/ms-sophia-framework-mysql/src/core/logger/typeorm-logger.service.ts +0 -76
  211. package/libs/ms-sophia-framework-mysql/src/core/subscribers/entity.subscriber.ts +0 -79
  212. package/libs/ms-sophia-framework-mysql/src/core/subscribers/log.entity.ts +0 -35
  213. package/libs/ms-sophia-framework-mysql/src/core/tools/env-vars.ts +0 -26
  214. package/libs/ms-sophia-framework-mysql/src/core/tools/index.ts +0 -4
  215. package/libs/ms-sophia-framework-mysql/src/core/tools/nanoid.ts +0 -4
  216. package/libs/ms-sophia-framework-mysql/src/core/tools/query.ts +0 -186
  217. package/libs/ms-sophia-framework-mysql/src/core/tools/send-to-logstash.ts +0 -103
  218. package/libs/ms-sophia-framework-mysql/src/index.ts +0 -1
  219. package/libs/ms-sophia-framework-mysql/src/main.ts +0 -230
  220. package/libs/ms-sophia-framework-mysql/tsconfig.lib.json +0 -9
  221. package/nest-cli.json +0 -20
  222. package/pnpm-workspace.yaml +0 -3
  223. package/publish.sh +0 -18
  224. package/src/app.controller.spec.ts +0 -22
  225. package/src/app.controller.ts +0 -12
  226. package/src/app.module.ts +0 -10
  227. package/src/app.service.ts +0 -8
  228. package/src/main.ts +0 -8
  229. package/test/app.e2e-spec.ts +0 -29
  230. package/test/jest-e2e.json +0 -16
  231. package/tsconfig.build.json +0 -4
  232. package/tsconfig.json +0 -33
@@ -1,230 +0,0 @@
1
- import { NestFactory } from '@nestjs/core'
2
- import { Transport } from '@nestjs/microservices'
3
- import { Logger as NestLogger, ParseArrayPipe, ParseIntPipe, PipeTransform } from '@nestjs/common'
4
- import { Logger } from './core/logger/logger'
5
- import { ConfigService } from './core/config/config.service'
6
- import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'
7
- import * as yaml from 'js-yaml'
8
- import { readFileSync } from 'fs'
9
- import path, { join } from 'path'
10
- import { HeadersInterceptor, LoggingInterceptor } from './core/interceptors'
11
- import { AllExceptionsFilter, AppValidationPipe } from './core/common'
12
- import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface'
13
- import { replaceEnvVars } from './core/tools'
14
-
15
- interface AppConfig {
16
- name: string
17
- module: string
18
- version: string
19
- port: number
20
- prefix: string
21
- }
22
-
23
- export async function bootstrap({
24
- preHook,
25
- postHook,
26
- }: {
27
- preHook?: (app: any, configService: ConfigService, logger: Logger) => Promise<void>
28
- postHook?: (app: any, configService: ConfigService, logger: Logger) => Promise<void>
29
- } = {}) {
30
- let appModule: string = ''
31
-
32
- try {
33
- require('dotenv').config({ path: 'bootstrap.env' })
34
- const configData = yaml.load(replaceEnvVars(readFileSync('bootstrap.yml', 'utf8'))) as Record<
35
- string,
36
- any
37
- >
38
- const configService = new ConfigService(configData)
39
- const logstashUrl = configService.get<string>('logger.http.host') ?? ''
40
- const appConfig = configService.get<AppConfig>('app')
41
-
42
- const logger = new Logger(configService)
43
- logger.setContext('Bootstrap')
44
- const appModulePath = path.resolve(process.cwd(), appConfig?.module ?? '/app.module')
45
- const { AppModule } = await import(appModulePath)
46
-
47
- let app: any
48
- try {
49
- // app = await NestFactory.create(AppModule, { bufferLogs: true })
50
- app = await NestFactory.create(AppModule)
51
- } catch (createError: unknown) {
52
- const createErr = createError as { message?: string; stack?: string; cause?: unknown }
53
- console.error('Line: NestFactory.create(AppModule) failed')
54
- console.error(`Create error message: ${createErr.message ?? 'unknown'}`)
55
- console.error(`Create error stack: ${createErr.stack ?? 'no stack'}`)
56
- if (createErr.cause) {
57
- console.error(`Create error cause: ${String(createErr.cause)}`)
58
- }
59
- throw createError
60
- }
61
-
62
- Logger.setApplicationContext(app)
63
- Logger.setLogstashUrl(logstashUrl)
64
- logger.setContext('Bootstrap')
65
- NestLogger.overrideLogger(logger)
66
- Logger.log(`Loading app module from ${appModulePath}...`)
67
-
68
- app.useLogger(logger)
69
- const appPrefix = appConfig?.prefix ?? 'api'
70
- app.setGlobalPrefix(appPrefix)
71
- app.useGlobalInterceptors(new HeadersInterceptor())
72
- app.useGlobalInterceptors(new LoggingInterceptor(configService))
73
-
74
- useGlobalPipes(app, configService)
75
- addSwagger(app, configService)
76
- enableCors(app, configService)
77
- useStaticAssets(app, configService)
78
-
79
- const port = appConfig?.port ?? 3000
80
-
81
- if (preHook) {
82
- await preHook(app, configService, logger)
83
- }
84
-
85
- if (configService.get<Record<string, any>>('AMQP')) {
86
- const amqpUrls = configService.get<string[]>('AMQP.urls') ?? []
87
- const amqpQueue = configService.get<string>('AMQP.queue') ?? ''
88
- app.connectMicroservice({
89
- transport: Transport.RMQ,
90
- options: {
91
- urls: amqpUrls,
92
- queue: amqpQueue,
93
- prefetchCount: configService.get<number>('AMQP.prefetchCount') ?? 10,
94
- isGlobalPrefetchCount: configService.get<boolean>('AMQP.isGlobalPrefetchCount') ?? false,
95
- noAck: configService.get<boolean>('AMQP.noAck') ?? false,
96
- queueOptions: {
97
- durable: configService.get<boolean>('AMQP.queueOptions.durable'),
98
- arguments: {
99
- 'x-message-ttl': configService.get<number>('AMQP.queueOptions.arguments.x-message-ttl'),
100
- 'x-dead-letter-exchange': configService.get<string>('AMQP.queueOptions.arguments.x-dead-letter-exchange'),
101
- 'x-dead-letter-routing-key': configService.get<string>('AMQP.queueOptions.arguments.x-dead-letter-routing-key'),
102
- }
103
- },
104
- persistent: configService.get<boolean>('AMQP.queueOptions.persistent') ?? true,
105
- exchange: configService.get<string>('AMQP.queueOptions.exchange') ?? '',
106
- exchangeType: configService.get<string>('AMQP.queueOptions.exchangeType') ?? 'direct',
107
- wildcards: (configService.get<string>('AMQP.queueOptions.exchangeType') ?? '') == 'topic' ? configService.get<string>('AMQP.queueOptions.exchangeType') ?? true : false,
108
- },
109
- })
110
- await app.startAllMicroservices();
111
- logger.log(`Transport.RMQ: Connected to queue: ${amqpQueue} in ${maskUrlsCredentials(amqpUrls)}`, 'Bootstrap')
112
- }
113
- await app.listen(port)
114
-
115
- if (postHook) {
116
- await postHook(app, configService, logger)
117
- }
118
-
119
- const appUrl = (await app.getUrl()).replace('[::1]', 'localhost')
120
- const swaggerPrefix = configService.get<string>('swagger.prefix') ?? '/swagger'
121
- Logger.log(`Application is running on: ${appUrl}/${appPrefix}`, 'Bootstrap')
122
- logger.log(`Swagger is running on: ${appUrl}/${swaggerPrefix}`, 'Bootstrap')
123
- } catch (error: unknown) {
124
- const err = error as { code?: string; stack?: string }
125
-
126
- if (err.code === 'MODULE_NOT_FOUND') {
127
- console.error(
128
- `Error in the bootstrap method. Cannot find module ${appModule}\nStack trace: ${err.stack}`,
129
- )
130
- } else {
131
- console.error(
132
- `Error in the bootstrap method. Terminating the application.\nStack trace: ${err.stack}`,
133
- )
134
- }
135
- console.error(`Error details: ${JSON.stringify(error)}`)
136
- process.exit(1)
137
- }
138
- }
139
-
140
- function maskUrlsCredentials(urls: string[]): string[] {
141
- return urls.map((url) =>
142
- url.replace(/\/\/([^:@/\s]+)(:([^@/\s]*))?@/g, (_, username: string, __: string, password: string) => {
143
- const maskedUsername = '*'.repeat(username.length)
144
- if (password !== undefined) {
145
- return `//${maskedUsername}:${'*'.repeat(password.length)}@`
146
- }
147
- return `//${maskedUsername}@`
148
- }),
149
- )
150
- }
151
-
152
- async function addSwagger(app: any, configService: ConfigService) {
153
- const swaggerConfig = configService.get('swagger')
154
-
155
- if (swaggerConfig) {
156
- Logger.log(`Swagger is enabled`, 'Bootstrap')
157
- const config = new DocumentBuilder()
158
- .setTitle(configService.get<string>('swagger.title') ?? 'Undefined title API')
159
- .setDescription(
160
- configService.get<string>('swagger.description') ?? 'Undefined description API',
161
- )
162
- .setVersion(configService.get<string>('swagger.version') ?? 'Undefined version API')
163
- .build()
164
-
165
- const documentFactory = () => SwaggerModule.createDocument(app, config)
166
-
167
- SwaggerModule.setup(
168
- configService.get<string>('swagger.basePath') ?? '/swagger',
169
- app,
170
- documentFactory,
171
- {
172
- swaggerOptions: {
173
- tagsSorter: 'alpha', // Ordena los controladores alfabéticamente
174
- },
175
- },
176
- )
177
- } else {
178
- Logger.log(`Swagger is disabled`, 'Bootstrap')
179
- }
180
- }
181
-
182
- function useGlobalPipes(app: any, configService: ConfigService) {
183
- const globalPipes: PipeTransform[] = []
184
-
185
- const validationPipeOptions = configService.get('validationPipe')
186
- if (validationPipeOptions) {
187
- // exceptionFactory
188
-
189
- globalPipes.push(new AppValidationPipe(validationPipeOptions))
190
- Logger.log(`Using ValidationPipe in useGlobalPipes()`, 'Bootstrap')
191
- }
192
-
193
- const parseIntPipeOptions = configService.get('parseIntPipe')
194
- if (parseIntPipeOptions) {
195
- globalPipes.push(new ParseIntPipe(parseIntPipeOptions))
196
- Logger.log(`Using ParseIntPipe in useGlobalPipes()`, 'Bootstrap')
197
- }
198
-
199
- const parseArrayPipeOptions = configService.get('parseArrayPipe')
200
- if (parseArrayPipeOptions) {
201
- globalPipes.push(new ParseArrayPipe(parseArrayPipeOptions))
202
- Logger.log(`Using ParseArrayPipe in useGlobalPipes()`, 'Bootstrap')
203
- }
204
-
205
- if (globalPipes.length > 0) {
206
- app.useGlobalPipes(...globalPipes)
207
- Logger.log(`Global Pipes are enabled`, 'Bootstrap')
208
- }
209
- }
210
-
211
- function enableCors(app: any, configService: ConfigService) {
212
- const corsOptions = configService.get<CorsOptions>('cors')
213
-
214
- if (corsOptions) {
215
- Logger.log(`CORS has been enabled per the configured settings.`, 'Bootstrap')
216
- app.enableCors(corsOptions)
217
- } else {
218
- Logger.warn(`CORS has not been configured.`, 'Bootstrap')
219
- }
220
- }
221
-
222
- function useStaticAssets(app: any, configService: ConfigService) {
223
- const staticAssetsConfig = configService.get<{ path?: string }>('staticAssets')
224
- if (staticAssetsConfig) {
225
- const configPath = staticAssetsConfig.path ?? './public'
226
- const staticPath = join(process.cwd(), configPath)
227
- app.useStaticAssets(staticPath)
228
- Logger.warn(`Static assets are being served from path: ${configPath}`, 'Bootstrap')
229
- }
230
- }
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "outDir": "../../dist/libs/ms-sophia-framework-mysql"
6
- },
7
- "include": ["src/**/*"],
8
- "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
9
- }
package/nest-cli.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/nest-cli",
3
- "collection": "@nestjs/schematics",
4
- "sourceRoot": "src",
5
- "compilerOptions": {
6
- "deleteOutDir": true,
7
- "webpack": true
8
- },
9
- "projects": {
10
- "ms-sophia-framework-mysql": {
11
- "type": "library",
12
- "root": "libs/ms-sophia-framework-mysql",
13
- "entryFile": "index",
14
- "sourceRoot": "libs/ms-sophia-framework-mysql/src",
15
- "compilerOptions": {
16
- "tsConfigPath": "libs/ms-sophia-framework-mysql/tsconfig.lib.json"
17
- }
18
- }
19
- }
20
- }
@@ -1,3 +0,0 @@
1
- allowBuilds:
2
- '@scarf/scarf': set this to true or false
3
- unrs-resolver: set this to true or false
package/publish.sh DELETED
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Requiere login
4
- # npm login
5
-
6
- # Version npm
7
- # npm run build
8
- # cd dist/
9
- # npm publish
10
- # cd ..
11
-
12
- # Requiere login
13
- # pnpm login
14
-
15
- # Version pnpm
16
- pnpm run build
17
- pnpm publish --no-git-checks
18
- cd ..
@@ -1,22 +0,0 @@
1
- import { Test, TestingModule } from '@nestjs/testing';
2
- import { AppController } from './app.controller';
3
- import { AppService } from './app.service';
4
-
5
- describe('AppController', () => {
6
- let appController: AppController;
7
-
8
- beforeEach(async () => {
9
- const app: TestingModule = await Test.createTestingModule({
10
- controllers: [AppController],
11
- providers: [AppService],
12
- }).compile();
13
-
14
- appController = app.get<AppController>(AppController);
15
- });
16
-
17
- describe('root', () => {
18
- it('should return "Hello World!"', () => {
19
- expect(appController.getHello()).toBe('Hello World!');
20
- });
21
- });
22
- });
@@ -1,12 +0,0 @@
1
- import { Controller, Get } from '@nestjs/common';
2
- import { AppService } from './app.service';
3
-
4
- @Controller()
5
- export class AppController {
6
- constructor(private readonly appService: AppService) {}
7
-
8
- @Get()
9
- getHello(): string {
10
- return this.appService.getHello();
11
- }
12
- }
package/src/app.module.ts DELETED
@@ -1,10 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { AppController } from './app.controller';
3
- import { AppService } from './app.service';
4
-
5
- @Module({
6
- imports: [],
7
- controllers: [AppController],
8
- providers: [AppService],
9
- })
10
- export class AppModule {}
@@ -1,8 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
-
3
- @Injectable()
4
- export class AppService {
5
- getHello(): string {
6
- return 'Hello World!';
7
- }
8
- }
package/src/main.ts DELETED
@@ -1,8 +0,0 @@
1
- import { NestFactory } from '@nestjs/core';
2
- import { AppModule } from './app.module';
3
-
4
- async function bootstrap() {
5
- const app = await NestFactory.create(AppModule);
6
- await app.listen(process.env.PORT ?? 3000);
7
- }
8
- bootstrap();
@@ -1,29 +0,0 @@
1
- import { Test, TestingModule } from '@nestjs/testing';
2
- import { INestApplication } from '@nestjs/common';
3
- import request from 'supertest';
4
- import { App } from 'supertest/types';
5
- import { AppModule } from './../src/app.module';
6
-
7
- describe('AppController (e2e)', () => {
8
- let app: INestApplication<App>;
9
-
10
- beforeEach(async () => {
11
- const moduleFixture: TestingModule = await Test.createTestingModule({
12
- imports: [AppModule],
13
- }).compile();
14
-
15
- app = moduleFixture.createNestApplication();
16
- await app.init();
17
- });
18
-
19
- it('/ (GET)', () => {
20
- return request(app.getHttpServer())
21
- .get('/')
22
- .expect(200)
23
- .expect('Hello World!');
24
- });
25
-
26
- afterEach(async () => {
27
- await app.close();
28
- });
29
- });
@@ -1,16 +0,0 @@
1
- {
2
- "moduleFileExtensions": [
3
- "js",
4
- "json",
5
- "ts"
6
- ],
7
- "rootDir": ".",
8
- "testEnvironment": "node",
9
- "testRegex": ".e2e-spec.ts$",
10
- "transform": {
11
- "^.+\\.(t|j)s$": "ts-jest"
12
- },
13
- "moduleNameMapper": {
14
- "^@sophia/ms-sophia-framework-mysql(|/.*)$": "<rootDir>/../libs/ms-sophia-framework-mysql/src/$1"
15
- }
16
- }
@@ -1,4 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4
- }
package/tsconfig.json DELETED
@@ -1,33 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "nodenext",
4
- "moduleResolution": "nodenext",
5
- "resolvePackageJsonExports": true,
6
- "esModuleInterop": true,
7
- "isolatedModules": true,
8
- "declaration": true,
9
- "removeComments": true,
10
- "emitDecoratorMetadata": true,
11
- "experimentalDecorators": true,
12
- "allowSyntheticDefaultImports": true,
13
- "target": "ES2023",
14
- "sourceMap": true,
15
- "outDir": "./dist",
16
- "baseUrl": "./",
17
- "incremental": true,
18
- "skipLibCheck": true,
19
- "strictNullChecks": true,
20
- "forceConsistentCasingInFileNames": true,
21
- "noImplicitAny": false,
22
- "strictBindCallApply": false,
23
- "noFallthroughCasesInSwitch": false,
24
- // "paths": {
25
- // "@sophia/ms-sophia-framework-mysql": [
26
- // "libs/ms-sophia-framework-mysql/src"
27
- // ],
28
- // "@sophia/ms-sophia-framework-mysql/*": [
29
- // "libs/ms-sophia-framework-mysql/src/*"
30
- // ]
31
- // }
32
- }
33
- }