@gennext/lb-infra 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) hide show
  1. package/README.md +302 -67
  2. package/dist/drizzle.config.d.ts +3 -0
  3. package/dist/drizzle.config.d.ts.map +1 -0
  4. package/dist/drizzle.config.js +17 -0
  5. package/dist/drizzle.config.js.map +1 -0
  6. package/dist/src/base/applications/base.application.d.ts +62 -0
  7. package/dist/src/base/applications/base.application.d.ts.map +1 -0
  8. package/dist/src/base/applications/base.application.js +54 -0
  9. package/dist/src/base/applications/base.application.js.map +1 -0
  10. package/dist/src/base/applications/index.d.ts +2 -0
  11. package/dist/src/base/applications/index.d.ts.map +1 -0
  12. package/dist/src/base/applications/index.js +18 -0
  13. package/dist/src/base/applications/index.js.map +1 -0
  14. package/dist/{base → src/base}/base.helper.d.ts +1 -1
  15. package/dist/src/base/base.helper.d.ts.map +1 -0
  16. package/dist/{base → src/base}/base.helper.js +1 -1
  17. package/dist/src/base/base.helper.js.map +1 -0
  18. package/dist/src/base/controllers/base.controller.d.ts +23 -0
  19. package/dist/src/base/controllers/base.controller.d.ts.map +1 -0
  20. package/dist/src/base/controllers/base.controller.js +24 -0
  21. package/dist/src/base/controllers/base.controller.js.map +1 -0
  22. package/dist/src/base/controllers/decorators.d.ts +4 -0
  23. package/dist/src/base/controllers/decorators.d.ts.map +1 -0
  24. package/dist/src/base/controllers/decorators.js +9 -0
  25. package/dist/src/base/controllers/decorators.js.map +1 -0
  26. package/dist/src/base/controllers/index.d.ts +3 -0
  27. package/dist/src/base/controllers/index.d.ts.map +1 -0
  28. package/dist/src/base/controllers/index.js +19 -0
  29. package/dist/src/base/controllers/index.js.map +1 -0
  30. package/dist/src/base/datasources/base.datasource.d.ts +28 -0
  31. package/dist/src/base/datasources/base.datasource.d.ts.map +1 -0
  32. package/dist/src/base/datasources/base.datasource.js +20 -0
  33. package/dist/src/base/datasources/base.datasource.js.map +1 -0
  34. package/dist/src/base/datasources/index.d.ts.map +1 -0
  35. package/dist/src/base/datasources/index.js.map +1 -0
  36. package/dist/src/base/datasources/types.d.ts.map +1 -0
  37. package/dist/{datasources/redis → src/base/datasources}/types.js.map +1 -1
  38. package/dist/src/base/drizzle/index.d.ts +3 -0
  39. package/dist/src/base/drizzle/index.d.ts.map +1 -0
  40. package/dist/src/base/drizzle/index.js +18 -0
  41. package/dist/src/base/drizzle/index.js.map +1 -0
  42. package/dist/src/base/drizzle/pg.d.ts +5 -0
  43. package/dist/src/base/drizzle/pg.d.ts.map +1 -0
  44. package/dist/src/base/drizzle/pg.js +19 -0
  45. package/dist/src/base/drizzle/pg.js.map +1 -0
  46. package/dist/src/base/hono/index.d.ts +3 -0
  47. package/dist/src/base/hono/index.d.ts.map +1 -0
  48. package/dist/{helpers/logger/common → src/base/hono}/index.js +1 -1
  49. package/dist/src/base/hono/index.js.map +1 -0
  50. package/dist/src/base/hono/zod-openapi.d.ts +3 -0
  51. package/dist/src/base/hono/zod-openapi.d.ts.map +1 -0
  52. package/dist/src/base/hono/zod-openapi.js +18 -0
  53. package/dist/src/base/hono/zod-openapi.js.map +1 -0
  54. package/dist/src/base/http/index.d.ts +4 -0
  55. package/dist/src/base/http/index.d.ts.map +1 -0
  56. package/dist/src/base/http/index.js +20 -0
  57. package/dist/src/base/http/index.js.map +1 -0
  58. package/dist/src/base/http/openapi.helpers.d.ts +30 -0
  59. package/dist/src/base/http/openapi.helpers.d.ts.map +1 -0
  60. package/dist/src/base/http/openapi.helpers.js +22 -0
  61. package/dist/src/base/http/openapi.helpers.js.map +1 -0
  62. package/dist/src/base/http/server.d.ts +14 -0
  63. package/dist/src/base/http/server.d.ts.map +1 -0
  64. package/dist/src/base/http/server.js +27 -0
  65. package/dist/src/base/http/server.js.map +1 -0
  66. package/dist/src/base/http/types.d.ts +27 -0
  67. package/dist/src/base/http/types.d.ts.map +1 -0
  68. package/dist/{helpers/redis → src/base/http}/types.js.map +1 -1
  69. package/dist/src/base/index.d.ts +10 -0
  70. package/dist/src/base/index.d.ts.map +1 -0
  71. package/dist/src/base/index.js +53 -0
  72. package/dist/src/base/index.js.map +1 -0
  73. package/dist/src/base/loopback/@lb/auth/index.d.ts.map +1 -0
  74. package/dist/src/base/loopback/@lb/auth/index.js.map +1 -0
  75. package/dist/src/base/loopback/@lb/core/index.d.ts.map +1 -0
  76. package/dist/src/base/loopback/@lb/core/index.js.map +1 -0
  77. package/dist/src/base/loopback/@lb/repository/index.d.ts.map +1 -0
  78. package/dist/src/base/loopback/@lb/repository/index.js.map +1 -0
  79. package/dist/src/base/loopback/@lb/rest/index.d.ts.map +1 -0
  80. package/dist/src/base/loopback/@lb/rest/index.js.map +1 -0
  81. package/dist/src/base/loopback/authentication/index.d.ts.map +1 -0
  82. package/dist/src/base/loopback/authentication/index.js.map +1 -0
  83. package/dist/src/base/loopback/authorization/index.d.ts.map +1 -0
  84. package/dist/src/base/loopback/authorization/index.js.map +1 -0
  85. package/dist/src/base/loopback/boot/index.d.ts.map +1 -0
  86. package/dist/src/base/loopback/boot/index.js.map +1 -0
  87. package/dist/src/base/loopback/core/index.d.ts.map +1 -0
  88. package/dist/src/base/loopback/core/index.js.map +1 -0
  89. package/dist/src/base/loopback/filter/index.d.ts.map +1 -0
  90. package/dist/src/base/loopback/filter/index.js.map +1 -0
  91. package/dist/src/base/loopback/health-check/index.d.ts.map +1 -0
  92. package/dist/src/base/loopback/health-check/index.js.map +1 -0
  93. package/dist/src/base/loopback/http-server/index.d.ts.map +1 -0
  94. package/dist/src/base/loopback/http-server/index.js.map +1 -0
  95. package/dist/src/base/loopback/metadata/index.d.ts.map +1 -0
  96. package/dist/src/base/loopback/metadata/index.js.map +1 -0
  97. package/dist/src/base/loopback/openapi-v3/index.d.ts.map +1 -0
  98. package/dist/src/base/loopback/openapi-v3/index.js.map +1 -0
  99. package/dist/src/base/loopback/repository/index.d.ts.map +1 -0
  100. package/dist/src/base/loopback/repository/index.js.map +1 -0
  101. package/dist/src/base/loopback/rest/index.d.ts.map +1 -0
  102. package/dist/src/base/loopback/rest/index.js.map +1 -0
  103. package/dist/src/base/loopback/security/index.d.ts.map +1 -0
  104. package/dist/src/base/loopback/security/index.js.map +1 -0
  105. package/dist/src/base/loopback/service-proxy/index.d.ts.map +1 -0
  106. package/dist/src/base/loopback/service-proxy/index.js.map +1 -0
  107. package/dist/src/base/models/base.model.d.ts +11 -0
  108. package/dist/src/base/models/base.model.d.ts.map +1 -0
  109. package/dist/src/base/models/base.model.js +11 -0
  110. package/dist/src/base/models/base.model.js.map +1 -0
  111. package/dist/src/base/models/column-defs.d.ts +37 -0
  112. package/dist/src/base/models/column-defs.d.ts.map +1 -0
  113. package/dist/src/base/models/column-defs.js +52 -0
  114. package/dist/src/base/models/column-defs.js.map +1 -0
  115. package/dist/src/base/models/drizzle.types.d.ts +6 -0
  116. package/dist/src/base/models/drizzle.types.d.ts.map +1 -0
  117. package/dist/src/base/models/drizzle.types.js +3 -0
  118. package/dist/src/base/models/drizzle.types.js.map +1 -0
  119. package/dist/src/base/models/index.d.ts +5 -0
  120. package/dist/src/base/models/index.d.ts.map +1 -0
  121. package/dist/{base → src/base}/models/index.js +2 -1
  122. package/dist/src/base/models/index.js.map +1 -0
  123. package/dist/src/base/pg/index.d.ts +3 -0
  124. package/dist/src/base/pg/index.d.ts.map +1 -0
  125. package/dist/src/base/pg/index.js +12 -0
  126. package/dist/src/base/pg/index.js.map +1 -0
  127. package/dist/src/base/repository/default-crud.repository.d.ts +12 -0
  128. package/dist/src/base/repository/default-crud.repository.d.ts.map +1 -0
  129. package/dist/src/base/repository/default-crud.repository.js +61 -0
  130. package/dist/src/base/repository/default-crud.repository.js.map +1 -0
  131. package/dist/src/base/repository/index.d.ts +4 -0
  132. package/dist/src/base/repository/index.d.ts.map +1 -0
  133. package/dist/src/base/repository/index.js +20 -0
  134. package/dist/src/base/repository/index.js.map +1 -0
  135. package/dist/src/base/repository/readable.repository.d.ts +23 -0
  136. package/dist/src/base/repository/readable.repository.d.ts.map +1 -0
  137. package/dist/src/base/repository/readable.repository.js +55 -0
  138. package/dist/src/base/repository/readable.repository.js.map +1 -0
  139. package/dist/src/base/repository/soft-deletable.repository.d.ts +27 -0
  140. package/dist/src/base/repository/soft-deletable.repository.d.ts.map +1 -0
  141. package/dist/src/base/repository/soft-deletable.repository.js +79 -0
  142. package/dist/src/base/repository/soft-deletable.repository.js.map +1 -0
  143. package/dist/{base → src/base}/repository/soft-delete.repository.d.ts +8 -0
  144. package/dist/src/base/repository/soft-delete.repository.d.ts.map +1 -0
  145. package/dist/{base → src/base}/repository/soft-delete.repository.js +13 -0
  146. package/dist/src/base/repository/soft-delete.repository.js.map +1 -0
  147. package/dist/src/base/services/base.service.d.ts +8 -0
  148. package/dist/src/base/services/base.service.d.ts.map +1 -0
  149. package/dist/src/base/services/base.service.js +11 -0
  150. package/dist/src/base/services/base.service.js.map +1 -0
  151. package/dist/src/base/services/index.d.ts +2 -0
  152. package/dist/src/base/services/index.d.ts.map +1 -0
  153. package/dist/src/base/services/index.js +18 -0
  154. package/dist/src/base/services/index.js.map +1 -0
  155. package/dist/src/boot/base/base-artifact-booter.d.ts +9 -0
  156. package/dist/src/boot/base/base-artifact-booter.d.ts.map +1 -0
  157. package/dist/src/boot/base/base-artifact-booter.js +11 -0
  158. package/dist/src/boot/base/base-artifact-booter.js.map +1 -0
  159. package/dist/src/boot/boot.mixin.d.ts +7 -0
  160. package/dist/src/boot/boot.mixin.d.ts.map +1 -0
  161. package/dist/src/boot/boot.mixin.js +14 -0
  162. package/dist/src/boot/boot.mixin.js.map +1 -0
  163. package/dist/src/boot/booters/controller.booter.d.ts +8 -0
  164. package/dist/src/boot/booters/controller.booter.d.ts.map +1 -0
  165. package/dist/src/boot/booters/controller.booter.js +15 -0
  166. package/dist/src/boot/booters/controller.booter.js.map +1 -0
  167. package/dist/src/boot/booters/datasource.booter.d.ts +8 -0
  168. package/dist/src/boot/booters/datasource.booter.d.ts.map +1 -0
  169. package/dist/src/boot/booters/datasource.booter.js +15 -0
  170. package/dist/src/boot/booters/datasource.booter.js.map +1 -0
  171. package/dist/src/boot/booters/index.d.ts +5 -0
  172. package/dist/src/boot/booters/index.d.ts.map +1 -0
  173. package/dist/src/boot/booters/index.js +21 -0
  174. package/dist/src/boot/booters/index.js.map +1 -0
  175. package/dist/src/boot/booters/repository.booter.d.ts +8 -0
  176. package/dist/src/boot/booters/repository.booter.d.ts.map +1 -0
  177. package/dist/src/boot/booters/repository.booter.js +15 -0
  178. package/dist/src/boot/booters/repository.booter.js.map +1 -0
  179. package/dist/src/boot/booters/service.booter.d.ts +8 -0
  180. package/dist/src/boot/booters/service.booter.d.ts.map +1 -0
  181. package/dist/src/boot/booters/service.booter.js +15 -0
  182. package/dist/src/boot/booters/service.booter.js.map +1 -0
  183. package/dist/src/boot/boots-trapper.d.ts +3 -0
  184. package/dist/src/boot/boots-trapper.d.ts.map +1 -0
  185. package/dist/src/boot/boots-trapper.js +9 -0
  186. package/dist/src/boot/boots-trapper.js.map +1 -0
  187. package/dist/src/boot/index.d.ts +5 -0
  188. package/dist/src/boot/index.d.ts.map +1 -0
  189. package/dist/src/boot/index.js +21 -0
  190. package/dist/src/boot/index.js.map +1 -0
  191. package/dist/src/common/bindings.d.ts +17 -0
  192. package/dist/src/common/bindings.d.ts.map +1 -0
  193. package/dist/src/common/bindings.js +22 -0
  194. package/dist/src/common/bindings.js.map +1 -0
  195. package/dist/src/common/constants.d.ts.map +1 -0
  196. package/dist/src/common/constants.js.map +1 -0
  197. package/dist/{common → src/common}/index.d.ts +1 -0
  198. package/dist/src/common/index.d.ts.map +1 -0
  199. package/dist/{common → src/common}/index.js +1 -0
  200. package/dist/src/common/index.js.map +1 -0
  201. package/dist/src/common/result-codes.d.ts.map +1 -0
  202. package/dist/src/common/result-codes.js.map +1 -0
  203. package/dist/{common → src/common}/types.d.ts +10 -13
  204. package/dist/src/common/types.d.ts.map +1 -0
  205. package/dist/{common → src/common}/types.js.map +1 -1
  206. package/dist/src/components/auth/authenticate/common/constants.d.ts +12 -0
  207. package/dist/src/components/auth/authenticate/common/constants.d.ts.map +1 -0
  208. package/dist/src/components/auth/authenticate/common/constants.js +17 -0
  209. package/dist/src/components/auth/authenticate/common/constants.js.map +1 -0
  210. package/dist/src/components/auth/authenticate/component.d.ts +3 -0
  211. package/dist/src/components/auth/authenticate/component.d.ts.map +1 -0
  212. package/dist/src/components/auth/authenticate/component.js +7 -0
  213. package/dist/src/components/auth/authenticate/component.js.map +1 -0
  214. package/dist/src/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +3 -0
  215. package/dist/src/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -0
  216. package/dist/src/components/auth/authenticate/middlewares/authenticate.middleware.js +8 -0
  217. package/dist/src/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -0
  218. package/dist/src/components/auth/authenticate/strategies/base.strategy.d.ts +10 -0
  219. package/dist/src/components/auth/authenticate/strategies/base.strategy.d.ts.map +1 -0
  220. package/dist/src/components/auth/authenticate/strategies/base.strategy.js +3 -0
  221. package/dist/src/components/auth/authenticate/strategies/base.strategy.js.map +1 -0
  222. package/dist/src/components/auth/authenticate/strategies/basic.strategy.d.ts +7 -0
  223. package/dist/src/components/auth/authenticate/strategies/basic.strategy.d.ts.map +1 -0
  224. package/dist/src/components/auth/authenticate/strategies/basic.strategy.js +14 -0
  225. package/dist/src/components/auth/authenticate/strategies/basic.strategy.js.map +1 -0
  226. package/dist/src/components/auth/authenticate/strategies/jwt.strategy.d.ts +7 -0
  227. package/dist/src/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +1 -0
  228. package/dist/src/components/auth/authenticate/strategies/jwt.strategy.js +14 -0
  229. package/dist/src/components/auth/authenticate/strategies/jwt.strategy.js.map +1 -0
  230. package/dist/src/components/auth/authenticate/strategies/strategy-registry.d.ts +8 -0
  231. package/dist/src/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -0
  232. package/dist/src/components/auth/authenticate/strategies/strategy-registry.js +17 -0
  233. package/dist/src/components/auth/authenticate/strategies/strategy-registry.js.map +1 -0
  234. package/dist/src/components/auth/authorize/adapters/drizzle-casbin.d.ts +7 -0
  235. package/dist/src/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -0
  236. package/dist/src/components/auth/authorize/adapters/drizzle-casbin.js +11 -0
  237. package/dist/src/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -0
  238. package/dist/src/components/auth/authorize/component.d.ts +8 -0
  239. package/dist/src/components/auth/authorize/component.d.ts.map +1 -0
  240. package/dist/src/components/auth/authorize/component.js +13 -0
  241. package/dist/src/components/auth/authorize/component.js.map +1 -0
  242. package/dist/src/components/auth/authorize/enforcers/casbin.enforcer.d.ts +8 -0
  243. package/dist/src/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -0
  244. package/dist/src/components/auth/authorize/enforcers/casbin.enforcer.js +22 -0
  245. package/dist/src/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -0
  246. package/dist/src/components/auth/authorize/index.d.ts +5 -0
  247. package/dist/src/components/auth/authorize/index.d.ts.map +1 -0
  248. package/dist/{base → src/components/auth/authorize}/index.js +4 -5
  249. package/dist/src/components/auth/authorize/index.js.map +1 -0
  250. package/dist/src/components/auth/authorize/middlewares/authorize.middleware.d.ts +3 -0
  251. package/dist/src/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -0
  252. package/dist/src/components/auth/authorize/middlewares/authorize.middleware.js +8 -0
  253. package/dist/src/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -0
  254. package/dist/src/components/auth/index.d.ts +9 -0
  255. package/dist/src/components/auth/index.d.ts.map +1 -0
  256. package/dist/src/components/auth/index.js +25 -0
  257. package/dist/src/components/auth/index.js.map +1 -0
  258. package/dist/src/components/grpc/base/abstract.d.ts +10 -0
  259. package/dist/src/components/grpc/base/abstract.d.ts.map +1 -0
  260. package/dist/src/components/grpc/base/abstract.js +11 -0
  261. package/dist/src/components/grpc/base/abstract.js.map +1 -0
  262. package/dist/src/components/grpc/component.d.ts +3 -0
  263. package/dist/src/components/grpc/component.d.ts.map +1 -0
  264. package/dist/src/components/grpc/component.js +7 -0
  265. package/dist/src/components/grpc/component.js.map +1 -0
  266. package/dist/src/components/grpc/decorators.d.ts +4 -0
  267. package/dist/src/components/grpc/decorators.d.ts.map +1 -0
  268. package/dist/src/components/grpc/decorators.js +9 -0
  269. package/dist/src/components/grpc/decorators.js.map +1 -0
  270. package/dist/src/components/grpc/index.d.ts +4 -0
  271. package/dist/src/components/grpc/index.d.ts.map +1 -0
  272. package/dist/src/components/grpc/index.js +20 -0
  273. package/dist/src/components/grpc/index.js.map +1 -0
  274. package/dist/src/components/health-check/index.d.ts +9 -0
  275. package/dist/src/components/health-check/index.d.ts.map +1 -0
  276. package/dist/src/components/health-check/index.js +8 -0
  277. package/dist/src/components/health-check/index.js.map +1 -0
  278. package/dist/src/components/socket-io/component.d.ts +7 -0
  279. package/dist/src/components/socket-io/component.d.ts.map +1 -0
  280. package/dist/src/components/socket-io/component.js +12 -0
  281. package/dist/src/components/socket-io/component.js.map +1 -0
  282. package/dist/src/components/socket-io/helpers/server.helper.d.ts +33 -0
  283. package/dist/src/components/socket-io/helpers/server.helper.d.ts.map +1 -0
  284. package/dist/src/components/socket-io/helpers/server.helper.js +22 -0
  285. package/dist/src/components/socket-io/helpers/server.helper.js.map +1 -0
  286. package/dist/src/components/socket-io/index.d.ts +3 -0
  287. package/dist/src/components/socket-io/index.d.ts.map +1 -0
  288. package/dist/src/components/socket-io/index.js +19 -0
  289. package/dist/src/components/socket-io/index.js.map +1 -0
  290. package/dist/src/components/swagger/index.d.ts +26 -0
  291. package/dist/src/components/swagger/index.d.ts.map +1 -0
  292. package/dist/src/components/swagger/index.js +8 -0
  293. package/dist/src/components/swagger/index.js.map +1 -0
  294. package/dist/src/datasources/index.d.ts.map +1 -0
  295. package/dist/src/datasources/index.js.map +1 -0
  296. package/dist/src/datasources/postgres/datasource.d.ts +12 -0
  297. package/dist/src/datasources/postgres/datasource.d.ts.map +1 -0
  298. package/dist/{datasources → src/datasources}/postgres/datasource.js +27 -18
  299. package/dist/src/datasources/postgres/datasource.js.map +1 -0
  300. package/dist/src/datasources/postgres/index.d.ts.map +1 -0
  301. package/dist/src/datasources/postgres/index.js.map +1 -0
  302. package/dist/{datasources → src/datasources}/postgres/types.d.ts +1 -1
  303. package/dist/src/datasources/postgres/types.d.ts.map +1 -0
  304. package/dist/src/datasources/postgres/types.js.map +1 -0
  305. package/dist/{datasources → src/datasources}/redis/connector.d.ts +2 -2
  306. package/dist/src/datasources/redis/connector.d.ts.map +1 -0
  307. package/dist/{datasources → src/datasources}/redis/connector.js +22 -16
  308. package/dist/src/datasources/redis/connector.js.map +1 -0
  309. package/dist/{datasources → src/datasources}/redis/datasource.d.ts +4 -2
  310. package/dist/src/datasources/redis/datasource.d.ts.map +1 -0
  311. package/dist/{datasources → src/datasources}/redis/datasource.js +6 -2
  312. package/dist/src/datasources/redis/datasource.js.map +1 -0
  313. package/dist/{datasources → src/datasources}/redis/index.d.ts +1 -1
  314. package/dist/src/datasources/redis/index.d.ts.map +1 -0
  315. package/dist/{datasources → src/datasources}/redis/index.js +1 -1
  316. package/dist/src/datasources/redis/index.js.map +1 -0
  317. package/dist/{datasources → src/datasources}/redis/types.d.ts +2 -2
  318. package/dist/src/datasources/redis/types.d.ts.map +1 -0
  319. package/dist/src/datasources/redis/types.js.map +1 -0
  320. package/dist/src/helpers/index.d.ts.map +1 -0
  321. package/dist/src/helpers/index.js.map +1 -0
  322. package/dist/src/helpers/logger/config.d.ts +49 -0
  323. package/dist/src/helpers/logger/config.d.ts.map +1 -0
  324. package/dist/src/helpers/logger/config.js +171 -0
  325. package/dist/src/helpers/logger/config.js.map +1 -0
  326. package/dist/src/helpers/logger/factory.d.ts +20 -0
  327. package/dist/src/helpers/logger/factory.d.ts.map +1 -0
  328. package/dist/src/helpers/logger/factory.js +58 -0
  329. package/dist/src/helpers/logger/factory.js.map +1 -0
  330. package/dist/src/helpers/logger/http.d.ts +38 -0
  331. package/dist/src/helpers/logger/http.d.ts.map +1 -0
  332. package/dist/src/helpers/logger/http.js +217 -0
  333. package/dist/src/helpers/logger/http.js.map +1 -0
  334. package/dist/src/helpers/logger/index.d.ts +7 -0
  335. package/dist/src/helpers/logger/index.d.ts.map +1 -0
  336. package/dist/src/helpers/logger/index.js +23 -0
  337. package/dist/src/helpers/logger/index.js.map +1 -0
  338. package/dist/src/helpers/logger/logger.d.ts +28 -0
  339. package/dist/src/helpers/logger/logger.d.ts.map +1 -0
  340. package/dist/src/helpers/logger/logger.js +84 -0
  341. package/dist/src/helpers/logger/logger.js.map +1 -0
  342. package/dist/{helpers/logger/transports/dgram.transport.d.ts → src/helpers/logger/transport.d.ts} +3 -3
  343. package/dist/src/helpers/logger/transport.d.ts.map +1 -0
  344. package/dist/{helpers/logger/transports/dgram.transport.js → src/helpers/logger/transport.js} +20 -21
  345. package/dist/src/helpers/logger/transport.js.map +1 -0
  346. package/dist/{helpers/logger/http → src/helpers/logger}/types.d.ts +32 -21
  347. package/dist/src/helpers/logger/types.d.ts.map +1 -0
  348. package/dist/{helpers/logger/common → src/helpers/logger}/types.js +4 -10
  349. package/dist/src/helpers/logger/types.js.map +1 -0
  350. package/dist/{helpers → src/helpers}/redis/default.helper.d.ts +2 -2
  351. package/dist/src/helpers/redis/default.helper.d.ts.map +1 -0
  352. package/dist/{helpers → src/helpers}/redis/default.helper.js +53 -58
  353. package/dist/src/helpers/redis/default.helper.js.map +1 -0
  354. package/dist/{helpers → src/helpers}/redis/index.d.ts +1 -1
  355. package/dist/src/helpers/redis/index.d.ts.map +1 -0
  356. package/dist/{helpers → src/helpers}/redis/index.js +1 -1
  357. package/dist/src/helpers/redis/index.js.map +1 -0
  358. package/dist/{helpers → src/helpers}/redis/redis-cluster.helper.d.ts +1 -1
  359. package/dist/src/helpers/redis/redis-cluster.helper.d.ts.map +1 -0
  360. package/dist/{helpers → src/helpers}/redis/redis-cluster.helper.js +1 -1
  361. package/dist/src/helpers/redis/redis-cluster.helper.js.map +1 -0
  362. package/dist/{helpers → src/helpers}/redis/redis.helper.d.ts +1 -1
  363. package/dist/src/helpers/redis/redis.helper.d.ts.map +1 -0
  364. package/dist/{helpers → src/helpers}/redis/redis.helper.js +1 -1
  365. package/dist/src/helpers/redis/redis.helper.js.map +1 -0
  366. package/dist/{helpers → src/helpers}/redis/types.d.ts +1 -1
  367. package/dist/src/helpers/redis/types.d.ts.map +1 -0
  368. package/dist/{base/datasources → src/helpers/redis}/types.js.map +1 -1
  369. package/dist/src/index.d.ts +15 -0
  370. package/dist/src/index.d.ts.map +1 -0
  371. package/dist/{index.js → src/index.js} +15 -5
  372. package/dist/src/index.js.map +1 -0
  373. package/dist/{utilities → src/utilities}/axios.utility.d.ts +1 -0
  374. package/dist/src/utilities/axios.utility.d.ts.map +1 -0
  375. package/dist/{utilities → src/utilities}/axios.utility.js +0 -31
  376. package/dist/src/utilities/axios.utility.js.map +1 -0
  377. package/dist/src/utilities/crypto.utility.d.ts.map +1 -0
  378. package/dist/src/utilities/crypto.utility.js.map +1 -0
  379. package/dist/src/utilities/date.utility.d.ts.map +1 -0
  380. package/dist/src/utilities/date.utility.js.map +1 -0
  381. package/dist/src/utilities/error.utility.d.ts.map +1 -0
  382. package/dist/src/utilities/error.utility.js.map +1 -0
  383. package/dist/{utilities → src/utilities}/index.d.ts +6 -5
  384. package/dist/src/utilities/index.d.ts.map +1 -0
  385. package/dist/{utilities → src/utilities}/index.js +14 -9
  386. package/dist/src/utilities/index.js.map +1 -0
  387. package/dist/src/utilities/lb-filter.utility.d.ts.map +1 -0
  388. package/dist/src/utilities/lb-filter.utility.js.map +1 -0
  389. package/dist/src/utilities/lodash.utility.d.ts +37 -0
  390. package/dist/src/utilities/lodash.utility.d.ts.map +1 -0
  391. package/dist/src/utilities/lodash.utility.js +79 -0
  392. package/dist/src/utilities/lodash.utility.js.map +1 -0
  393. package/dist/src/utilities/migration.utility.d.ts.map +1 -0
  394. package/dist/{utilities → src/utilities}/migration.utility.js +2 -2
  395. package/dist/src/utilities/migration.utility.js.map +1 -0
  396. package/dist/{utilities → src/utilities}/model.utility.d.ts +1 -1
  397. package/dist/src/utilities/model.utility.d.ts.map +1 -0
  398. package/dist/{utilities → src/utilities}/model.utility.js +2 -2
  399. package/dist/src/utilities/model.utility.js.map +1 -0
  400. package/dist/src/utilities/module.utility.d.ts.map +1 -0
  401. package/dist/{utilities → src/utilities}/module.utility.js +1 -1
  402. package/dist/src/utilities/module.utility.js.map +1 -0
  403. package/dist/src/utilities/parse.utility.d.ts.map +1 -0
  404. package/dist/{utilities → src/utilities}/parse.utility.js +3 -7
  405. package/dist/src/utilities/parse.utility.js.map +1 -0
  406. package/dist/src/utilities/performance.utility.d.ts.map +1 -0
  407. package/dist/src/utilities/performance.utility.js.map +1 -0
  408. package/dist/{utilities → src/utilities}/promise.utility.d.ts +1 -1
  409. package/dist/src/utilities/promise.utility.d.ts.map +1 -0
  410. package/dist/src/utilities/promise.utility.js.map +1 -0
  411. package/dist/{utilities → src/utilities}/query.utility.d.ts +4 -5
  412. package/dist/src/utilities/query.utility.d.ts.map +1 -0
  413. package/dist/{utilities → src/utilities}/query.utility.js +12 -16
  414. package/dist/src/utilities/query.utility.js.map +1 -0
  415. package/dist/{utilities → src/utilities}/request.utility.d.ts +2 -2
  416. package/dist/src/utilities/request.utility.d.ts.map +1 -0
  417. package/dist/src/utilities/request.utility.js.map +1 -0
  418. package/dist/src/utilities/url.utility.d.ts.map +1 -0
  419. package/dist/src/utilities/url.utility.js.map +1 -0
  420. package/dist/tsconfig.tsbuildinfo +1 -0
  421. package/package.json +47 -7
  422. package/dist/base/base.helper.d.ts.map +0 -1
  423. package/dist/base/base.helper.js.map +0 -1
  424. package/dist/base/datasources/base.datasource.d.ts +0 -14
  425. package/dist/base/datasources/base.datasource.d.ts.map +0 -1
  426. package/dist/base/datasources/base.datasource.js +0 -24
  427. package/dist/base/datasources/base.datasource.js.map +0 -1
  428. package/dist/base/datasources/index.d.ts.map +0 -1
  429. package/dist/base/datasources/index.js.map +0 -1
  430. package/dist/base/datasources/types.d.ts.map +0 -1
  431. package/dist/base/index.d.ts +0 -6
  432. package/dist/base/index.d.ts.map +0 -1
  433. package/dist/base/index.js.map +0 -1
  434. package/dist/base/loopback/@lb/auth/index.d.ts.map +0 -1
  435. package/dist/base/loopback/@lb/auth/index.js.map +0 -1
  436. package/dist/base/loopback/@lb/core/index.d.ts.map +0 -1
  437. package/dist/base/loopback/@lb/core/index.js.map +0 -1
  438. package/dist/base/loopback/@lb/repository/index.d.ts.map +0 -1
  439. package/dist/base/loopback/@lb/repository/index.js.map +0 -1
  440. package/dist/base/loopback/@lb/rest/index.d.ts.map +0 -1
  441. package/dist/base/loopback/@lb/rest/index.js.map +0 -1
  442. package/dist/base/loopback/authentication/index.d.ts.map +0 -1
  443. package/dist/base/loopback/authentication/index.js.map +0 -1
  444. package/dist/base/loopback/authorization/index.d.ts.map +0 -1
  445. package/dist/base/loopback/authorization/index.js.map +0 -1
  446. package/dist/base/loopback/boot/index.d.ts.map +0 -1
  447. package/dist/base/loopback/boot/index.js.map +0 -1
  448. package/dist/base/loopback/core/index.d.ts.map +0 -1
  449. package/dist/base/loopback/core/index.js.map +0 -1
  450. package/dist/base/loopback/filter/index.d.ts.map +0 -1
  451. package/dist/base/loopback/filter/index.js.map +0 -1
  452. package/dist/base/loopback/health-check/index.d.ts.map +0 -1
  453. package/dist/base/loopback/health-check/index.js.map +0 -1
  454. package/dist/base/loopback/http-server/index.d.ts.map +0 -1
  455. package/dist/base/loopback/http-server/index.js.map +0 -1
  456. package/dist/base/loopback/metadata/index.d.ts.map +0 -1
  457. package/dist/base/loopback/metadata/index.js.map +0 -1
  458. package/dist/base/loopback/openapi-v3/index.d.ts.map +0 -1
  459. package/dist/base/loopback/openapi-v3/index.js.map +0 -1
  460. package/dist/base/loopback/repository/index.d.ts.map +0 -1
  461. package/dist/base/loopback/repository/index.js.map +0 -1
  462. package/dist/base/loopback/rest/index.d.ts.map +0 -1
  463. package/dist/base/loopback/rest/index.js.map +0 -1
  464. package/dist/base/loopback/security/index.d.ts.map +0 -1
  465. package/dist/base/loopback/security/index.js.map +0 -1
  466. package/dist/base/loopback/service-proxy/index.d.ts.map +0 -1
  467. package/dist/base/loopback/service-proxy/index.js.map +0 -1
  468. package/dist/base/migration/index.d.ts +0 -3
  469. package/dist/base/migration/index.d.ts.map +0 -1
  470. package/dist/base/migration/index.js +0 -19
  471. package/dist/base/migration/index.js.map +0 -1
  472. package/dist/base/migration/migration.interface.d.ts +0 -5
  473. package/dist/base/migration/migration.interface.d.ts.map +0 -1
  474. package/dist/base/migration/migration.interface.js +0 -3
  475. package/dist/base/migration/migration.interface.js.map +0 -1
  476. package/dist/base/migration/migration.service.d.ts +0 -9
  477. package/dist/base/migration/migration.service.d.ts.map +0 -1
  478. package/dist/base/migration/migration.service.js +0 -146
  479. package/dist/base/migration/migration.service.js.map +0 -1
  480. package/dist/base/models/base.model.d.ts +0 -32
  481. package/dist/base/models/base.model.d.ts.map +0 -1
  482. package/dist/base/models/base.model.js +0 -55
  483. package/dist/base/models/base.model.js.map +0 -1
  484. package/dist/base/models/index.d.ts +0 -3
  485. package/dist/base/models/index.d.ts.map +0 -1
  486. package/dist/base/models/index.js.map +0 -1
  487. package/dist/base/models/migration.model.d.ts +0 -12
  488. package/dist/base/models/migration.model.d.ts.map +0 -1
  489. package/dist/base/models/migration.model.js +0 -46
  490. package/dist/base/models/migration.model.js.map +0 -1
  491. package/dist/base/repository/index.d.ts +0 -3
  492. package/dist/base/repository/index.d.ts.map +0 -1
  493. package/dist/base/repository/index.js +0 -19
  494. package/dist/base/repository/index.js.map +0 -1
  495. package/dist/base/repository/migration.repository.d.ts +0 -6
  496. package/dist/base/repository/migration.repository.d.ts.map +0 -1
  497. package/dist/base/repository/migration.repository.js +0 -29
  498. package/dist/base/repository/migration.repository.js.map +0 -1
  499. package/dist/base/repository/soft-delete.repository.d.ts.map +0 -1
  500. package/dist/base/repository/soft-delete.repository.js.map +0 -1
  501. package/dist/common/constants.d.ts.map +0 -1
  502. package/dist/common/constants.js.map +0 -1
  503. package/dist/common/index.d.ts.map +0 -1
  504. package/dist/common/index.js.map +0 -1
  505. package/dist/common/result-codes.d.ts.map +0 -1
  506. package/dist/common/result-codes.js.map +0 -1
  507. package/dist/common/types.d.ts.map +0 -1
  508. package/dist/datasources/index.d.ts.map +0 -1
  509. package/dist/datasources/index.js.map +0 -1
  510. package/dist/datasources/postgres/datasource.d.ts +0 -8
  511. package/dist/datasources/postgres/datasource.d.ts.map +0 -1
  512. package/dist/datasources/postgres/datasource.js.map +0 -1
  513. package/dist/datasources/postgres/index.d.ts.map +0 -1
  514. package/dist/datasources/postgres/index.js.map +0 -1
  515. package/dist/datasources/postgres/types.d.ts.map +0 -1
  516. package/dist/datasources/postgres/types.js.map +0 -1
  517. package/dist/datasources/redis/connector.d.ts.map +0 -1
  518. package/dist/datasources/redis/connector.js.map +0 -1
  519. package/dist/datasources/redis/datasource.d.ts.map +0 -1
  520. package/dist/datasources/redis/datasource.js.map +0 -1
  521. package/dist/datasources/redis/index.d.ts.map +0 -1
  522. package/dist/datasources/redis/index.js.map +0 -1
  523. package/dist/datasources/redis/types.d.ts.map +0 -1
  524. package/dist/helpers/index.d.ts.map +0 -1
  525. package/dist/helpers/index.js.map +0 -1
  526. package/dist/helpers/logger/application-logger.d.ts +0 -19
  527. package/dist/helpers/logger/application-logger.d.ts.map +0 -1
  528. package/dist/helpers/logger/application-logger.js +0 -69
  529. package/dist/helpers/logger/application-logger.js.map +0 -1
  530. package/dist/helpers/logger/common/index.d.ts +0 -2
  531. package/dist/helpers/logger/common/index.d.ts.map +0 -1
  532. package/dist/helpers/logger/common/index.js.map +0 -1
  533. package/dist/helpers/logger/common/types.d.ts +0 -24
  534. package/dist/helpers/logger/common/types.d.ts.map +0 -1
  535. package/dist/helpers/logger/common/types.js.map +0 -1
  536. package/dist/helpers/logger/config-merger.d.ts +0 -27
  537. package/dist/helpers/logger/config-merger.d.ts.map +0 -1
  538. package/dist/helpers/logger/config-merger.js +0 -55
  539. package/dist/helpers/logger/config-merger.js.map +0 -1
  540. package/dist/helpers/logger/config.d.ts +0 -32
  541. package/dist/helpers/logger/config.d.ts.map +0 -1
  542. package/dist/helpers/logger/config.js +0 -59
  543. package/dist/helpers/logger/config.js.map +0 -1
  544. package/dist/helpers/logger/default-logger.d.ts +0 -34
  545. package/dist/helpers/logger/default-logger.d.ts.map +0 -1
  546. package/dist/helpers/logger/default-logger.js +0 -120
  547. package/dist/helpers/logger/default-logger.js.map +0 -1
  548. package/dist/helpers/logger/enhanced-factory.d.ts +0 -14
  549. package/dist/helpers/logger/enhanced-factory.d.ts.map +0 -1
  550. package/dist/helpers/logger/enhanced-factory.js +0 -43
  551. package/dist/helpers/logger/enhanced-factory.js.map +0 -1
  552. package/dist/helpers/logger/factory.d.ts +0 -13
  553. package/dist/helpers/logger/factory.d.ts.map +0 -1
  554. package/dist/helpers/logger/factory.js +0 -38
  555. package/dist/helpers/logger/factory.js.map +0 -1
  556. package/dist/helpers/logger/http/access-logger.d.ts +0 -44
  557. package/dist/helpers/logger/http/access-logger.d.ts.map +0 -1
  558. package/dist/helpers/logger/http/access-logger.js +0 -298
  559. package/dist/helpers/logger/http/access-logger.js.map +0 -1
  560. package/dist/helpers/logger/http/client-ip.d.ts +0 -8
  561. package/dist/helpers/logger/http/client-ip.d.ts.map +0 -1
  562. package/dist/helpers/logger/http/client-ip.js +0 -55
  563. package/dist/helpers/logger/http/client-ip.js.map +0 -1
  564. package/dist/helpers/logger/http/index.d.ts +0 -6
  565. package/dist/helpers/logger/http/index.d.ts.map +0 -1
  566. package/dist/helpers/logger/http/index.js +0 -22
  567. package/dist/helpers/logger/http/index.js.map +0 -1
  568. package/dist/helpers/logger/http/request-context.d.ts +0 -19
  569. package/dist/helpers/logger/http/request-context.d.ts.map +0 -1
  570. package/dist/helpers/logger/http/request-context.js +0 -55
  571. package/dist/helpers/logger/http/request-context.js.map +0 -1
  572. package/dist/helpers/logger/http/request-id-manager.d.ts +0 -22
  573. package/dist/helpers/logger/http/request-id-manager.d.ts.map +0 -1
  574. package/dist/helpers/logger/http/request-id-manager.js +0 -52
  575. package/dist/helpers/logger/http/request-id-manager.js.map +0 -1
  576. package/dist/helpers/logger/http/types.d.ts.map +0 -1
  577. package/dist/helpers/logger/http/types.js.map +0 -1
  578. package/dist/helpers/logger/index.d.ts +0 -9
  579. package/dist/helpers/logger/index.d.ts.map +0 -1
  580. package/dist/helpers/logger/index.js +0 -25
  581. package/dist/helpers/logger/index.js.map +0 -1
  582. package/dist/helpers/logger/transports/dgram.transport.d.ts.map +0 -1
  583. package/dist/helpers/logger/transports/dgram.transport.js.map +0 -1
  584. package/dist/helpers/logger/transports/index.d.ts +0 -2
  585. package/dist/helpers/logger/transports/index.d.ts.map +0 -1
  586. package/dist/helpers/logger/transports/index.js +0 -18
  587. package/dist/helpers/logger/transports/index.js.map +0 -1
  588. package/dist/helpers/migrate/type.d.ts +0 -10
  589. package/dist/helpers/migrate/type.d.ts.map +0 -1
  590. package/dist/helpers/migrate/type.js +0 -3
  591. package/dist/helpers/migrate/type.js.map +0 -1
  592. package/dist/helpers/redis/default.helper.d.ts.map +0 -1
  593. package/dist/helpers/redis/default.helper.js.map +0 -1
  594. package/dist/helpers/redis/index.d.ts.map +0 -1
  595. package/dist/helpers/redis/index.js.map +0 -1
  596. package/dist/helpers/redis/redis-cluster.helper.d.ts.map +0 -1
  597. package/dist/helpers/redis/redis-cluster.helper.js.map +0 -1
  598. package/dist/helpers/redis/redis.helper.d.ts.map +0 -1
  599. package/dist/helpers/redis/redis.helper.js.map +0 -1
  600. package/dist/helpers/redis/types.d.ts.map +0 -1
  601. package/dist/index.d.ts +0 -11
  602. package/dist/index.d.ts.map +0 -1
  603. package/dist/index.js.map +0 -1
  604. package/dist/utilities/axios.utility.d.ts.map +0 -1
  605. package/dist/utilities/axios.utility.js.map +0 -1
  606. package/dist/utilities/crypto.utility.d.ts.map +0 -1
  607. package/dist/utilities/crypto.utility.js.map +0 -1
  608. package/dist/utilities/date.utility.d.ts.map +0 -1
  609. package/dist/utilities/date.utility.js.map +0 -1
  610. package/dist/utilities/error.utility.d.ts.map +0 -1
  611. package/dist/utilities/error.utility.js.map +0 -1
  612. package/dist/utilities/index.d.ts.map +0 -1
  613. package/dist/utilities/index.js.map +0 -1
  614. package/dist/utilities/lb-filter.utility.d.ts.map +0 -1
  615. package/dist/utilities/lb-filter.utility.js.map +0 -1
  616. package/dist/utilities/lodash.utility.d.ts +0 -4
  617. package/dist/utilities/lodash.utility.d.ts.map +0 -1
  618. package/dist/utilities/lodash.utility.js +0 -13
  619. package/dist/utilities/lodash.utility.js.map +0 -1
  620. package/dist/utilities/migrate-helper.d.ts +0 -10
  621. package/dist/utilities/migrate-helper.d.ts.map +0 -1
  622. package/dist/utilities/migrate-helper.js +0 -45
  623. package/dist/utilities/migrate-helper.js.map +0 -1
  624. package/dist/utilities/migration-engine.d.ts +0 -16
  625. package/dist/utilities/migration-engine.d.ts.map +0 -1
  626. package/dist/utilities/migration-engine.js +0 -40
  627. package/dist/utilities/migration-engine.js.map +0 -1
  628. package/dist/utilities/migration.utility.d.ts.map +0 -1
  629. package/dist/utilities/migration.utility.js.map +0 -1
  630. package/dist/utilities/model.utility.d.ts.map +0 -1
  631. package/dist/utilities/model.utility.js.map +0 -1
  632. package/dist/utilities/module.utility.d.ts.map +0 -1
  633. package/dist/utilities/module.utility.js.map +0 -1
  634. package/dist/utilities/parse.utility.d.ts.map +0 -1
  635. package/dist/utilities/parse.utility.js.map +0 -1
  636. package/dist/utilities/performance.utility.d.ts.map +0 -1
  637. package/dist/utilities/performance.utility.js.map +0 -1
  638. package/dist/utilities/promise.utility.d.ts.map +0 -1
  639. package/dist/utilities/promise.utility.js.map +0 -1
  640. package/dist/utilities/query.utility.d.ts.map +0 -1
  641. package/dist/utilities/query.utility.js.map +0 -1
  642. package/dist/utilities/request.utility.d.ts.map +0 -1
  643. package/dist/utilities/request.utility.js.map +0 -1
  644. package/dist/utilities/url.utility.d.ts.map +0 -1
  645. package/dist/utilities/url.utility.js.map +0 -1
  646. package/dist/validators/base.schema.d.ts +0 -56
  647. package/dist/validators/base.schema.d.ts.map +0 -1
  648. package/dist/validators/base.schema.js +0 -84
  649. package/dist/validators/base.schema.js.map +0 -1
  650. package/dist/validators/common.schema.d.ts +0 -50
  651. package/dist/validators/common.schema.d.ts.map +0 -1
  652. package/dist/validators/common.schema.js +0 -51
  653. package/dist/validators/common.schema.js.map +0 -1
  654. package/dist/validators/index.d.ts +0 -15
  655. package/dist/validators/index.d.ts.map +0 -1
  656. package/dist/validators/index.js +0 -36
  657. package/dist/validators/index.js.map +0 -1
  658. package/dist/validators/with-zod.d.ts +0 -66
  659. package/dist/validators/with-zod.d.ts.map +0 -1
  660. package/dist/validators/with-zod.js +0 -117
  661. package/dist/validators/with-zod.js.map +0 -1
  662. /package/dist/{base → src/base}/datasources/index.d.ts +0 -0
  663. /package/dist/{base → src/base}/datasources/index.js +0 -0
  664. /package/dist/{base → src/base}/datasources/types.d.ts +0 -0
  665. /package/dist/{base → src/base}/datasources/types.js +0 -0
  666. /package/dist/{common → src/base/http}/types.js +0 -0
  667. /package/dist/{base → src/base}/loopback/@lb/auth/index.d.ts +0 -0
  668. /package/dist/{base → src/base}/loopback/@lb/auth/index.js +0 -0
  669. /package/dist/{base → src/base}/loopback/@lb/core/index.d.ts +0 -0
  670. /package/dist/{base → src/base}/loopback/@lb/core/index.js +0 -0
  671. /package/dist/{base → src/base}/loopback/@lb/repository/index.d.ts +0 -0
  672. /package/dist/{base → src/base}/loopback/@lb/repository/index.js +0 -0
  673. /package/dist/{base → src/base}/loopback/@lb/rest/index.d.ts +0 -0
  674. /package/dist/{base → src/base}/loopback/@lb/rest/index.js +0 -0
  675. /package/dist/{base → src/base}/loopback/authentication/index.d.ts +0 -0
  676. /package/dist/{base → src/base}/loopback/authentication/index.js +0 -0
  677. /package/dist/{base → src/base}/loopback/authorization/index.d.ts +0 -0
  678. /package/dist/{base → src/base}/loopback/authorization/index.js +0 -0
  679. /package/dist/{base → src/base}/loopback/boot/index.d.ts +0 -0
  680. /package/dist/{base → src/base}/loopback/boot/index.js +0 -0
  681. /package/dist/{base → src/base}/loopback/core/index.d.ts +0 -0
  682. /package/dist/{base → src/base}/loopback/core/index.js +0 -0
  683. /package/dist/{base → src/base}/loopback/filter/index.d.ts +0 -0
  684. /package/dist/{base → src/base}/loopback/filter/index.js +0 -0
  685. /package/dist/{base → src/base}/loopback/health-check/index.d.ts +0 -0
  686. /package/dist/{base → src/base}/loopback/health-check/index.js +0 -0
  687. /package/dist/{base → src/base}/loopback/http-server/index.d.ts +0 -0
  688. /package/dist/{base → src/base}/loopback/http-server/index.js +0 -0
  689. /package/dist/{base → src/base}/loopback/metadata/index.d.ts +0 -0
  690. /package/dist/{base → src/base}/loopback/metadata/index.js +0 -0
  691. /package/dist/{base → src/base}/loopback/openapi-v3/index.d.ts +0 -0
  692. /package/dist/{base → src/base}/loopback/openapi-v3/index.js +0 -0
  693. /package/dist/{base → src/base}/loopback/repository/index.d.ts +0 -0
  694. /package/dist/{base → src/base}/loopback/repository/index.js +0 -0
  695. /package/dist/{base → src/base}/loopback/rest/index.d.ts +0 -0
  696. /package/dist/{base → src/base}/loopback/rest/index.js +0 -0
  697. /package/dist/{base → src/base}/loopback/security/index.d.ts +0 -0
  698. /package/dist/{base → src/base}/loopback/security/index.js +0 -0
  699. /package/dist/{base → src/base}/loopback/service-proxy/index.d.ts +0 -0
  700. /package/dist/{base → src/base}/loopback/service-proxy/index.js +0 -0
  701. /package/dist/{common → src/common}/constants.d.ts +0 -0
  702. /package/dist/{common → src/common}/constants.js +0 -0
  703. /package/dist/{common → src/common}/result-codes.d.ts +0 -0
  704. /package/dist/{common → src/common}/result-codes.js +0 -0
  705. /package/dist/{datasources/postgres → src/common}/types.js +0 -0
  706. /package/dist/{datasources → src/datasources}/index.d.ts +0 -0
  707. /package/dist/{datasources → src/datasources}/index.js +0 -0
  708. /package/dist/{datasources → src/datasources}/postgres/index.d.ts +0 -0
  709. /package/dist/{datasources → src/datasources}/postgres/index.js +0 -0
  710. /package/dist/{datasources/redis → src/datasources/postgres}/types.js +0 -0
  711. /package/dist/{helpers/logger/http → src/datasources/redis}/types.js +0 -0
  712. /package/dist/{helpers → src/helpers}/index.d.ts +0 -0
  713. /package/dist/{helpers → src/helpers}/index.js +0 -0
  714. /package/dist/{helpers → src/helpers}/redis/types.js +0 -0
  715. /package/dist/{utilities → src/utilities}/crypto.utility.d.ts +0 -0
  716. /package/dist/{utilities → src/utilities}/crypto.utility.js +0 -0
  717. /package/dist/{utilities → src/utilities}/date.utility.d.ts +0 -0
  718. /package/dist/{utilities → src/utilities}/date.utility.js +0 -0
  719. /package/dist/{utilities → src/utilities}/error.utility.d.ts +0 -0
  720. /package/dist/{utilities → src/utilities}/error.utility.js +0 -0
  721. /package/dist/{utilities → src/utilities}/lb-filter.utility.d.ts +0 -0
  722. /package/dist/{utilities → src/utilities}/lb-filter.utility.js +0 -0
  723. /package/dist/{utilities → src/utilities}/migration.utility.d.ts +0 -0
  724. /package/dist/{utilities → src/utilities}/module.utility.d.ts +0 -0
  725. /package/dist/{utilities → src/utilities}/parse.utility.d.ts +0 -0
  726. /package/dist/{utilities → src/utilities}/performance.utility.d.ts +0 -0
  727. /package/dist/{utilities → src/utilities}/performance.utility.js +0 -0
  728. /package/dist/{utilities → src/utilities}/promise.utility.js +0 -0
  729. /package/dist/{utilities → src/utilities}/request.utility.js +0 -0
  730. /package/dist/{utilities → src/utilities}/url.utility.d.ts +0 -0
  731. /package/dist/{utilities → src/utilities}/url.utility.js +0 -0
package/README.md CHANGED
@@ -1,105 +1,340 @@
1
1
  # @gennext/lb-infra
2
2
 
3
- Thư viện hạ tầng tiêu chuẩn (Infrastructure Library) dành cho các dịch vụ backend LoopBack 4 tại Gennex. Package này cung cấp các thành phần cốt lõi để chuẩn hóa mã nguồn, cải thiện tính ổn định và khả năng quan sát (observability) của hệ thống.
3
+ Hệ thống thư viện hạ tầng (infrastructure) backend dựa trên TypeScript, tối ưu cho hiệu năng tính chuẩn hóa.
4
4
 
5
- ## Tính năng chính
5
+ ## 1. Giới thiệu
6
+ `@gennext/lb-infra` là nền tảng xây dựng backend hiện đại tại Gennex, kết hợp các công nghệ:
7
+ - **Hono**: Web framework siêu nhẹ, hỗ trợ TypeScript và OpenAPI native.
8
+ - **Drizzle ORM**: ORM thế hệ mới, type-safe tuyệt đối cho PostgreSQL.
9
+ - **Zod**: Thư viện validation và định nghĩa schema mạnh mẽ.
10
+ - **Winston**: Hệ thống logging đa kênh (Console, File, UDP).
6
11
 
7
- - 🚀 **Base Components:** Cung cấp Base Model, Base Entity, Base DataSourceBase Helper chuẩn hóa.
8
- - 🪵 **Enhanced Logger:** Logger nâng cao dựa trên Winston, hỗ trợ Request ID tự động (AsyncLocalStorage), Data Masking dữ liệu nhạy cảm và Access Log.
9
- - 📦 **Redis Helpers:** Wrapper cho ioredis hỗ trợ Cluster, tự động nén dữ liệu (zlib), và tích hợp sẵn JSON commands (RedisJSON).
10
- - 🛠️ **Utilities:** Bộ tiện ích phong phú cho Crypto, Date (DayJS), Error Handling, Model mapping, và Promise concurrency control.
11
- - 🚦 **Standardized Error Handling:** Hệ thống Error class chuyên biệt (NotImplemented, Validation, ApplicationError) hỗ trợ metadata và serialization.
12
- - 🔌 **Standard Exports:** Re-export các module LoopBack phổ biến (@lb/auth, @lb/core, @lb/rest, @lb/repo) để đồng bộ phiên bản.
12
+ **Khi nào nên dùng:** Phù hợp cho các dự án yêu cầu tốc độ phản hồi cao, cấu trúc mã nguồn tường minh (Controller-Service-Repository) tự động hóa tài liệu API (Swagger/OpenAPI).
13
13
 
14
- ## 📦 Cài đặt
14
+ ---
15
15
 
16
+ ## 2. Cài đặt
17
+
18
+ Cài đặt package chính:
16
19
  ```bash
17
20
  bun add @gennext/lb-infra
18
- # Hoặc dùng npm/yarn
19
- npm install @gennext/lb-infra
20
21
  ```
21
22
 
22
- ## 🚀 Sử dụng nhanh
23
+ Các peer dependency cần thiết:
24
+ ```bash
25
+ bun add hono @hono/zod-openapi zod drizzle-orm pg winston
26
+ # Nếu dùng Auth/Authorization
27
+ bun add jose casbin
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 3. Khởi tạo ứng dụng
33
+ Sử dụng `BaseApplication` kết hợp với `bootMixin` để tự động quét và đăng ký các thành phần.
34
+
35
+ ```typescript
36
+ import { BaseApplication, bootMixin, bootStrapApplication, IApplicationConfigs } from '@gennext/lb-infra';
37
+
38
+ class OrderApplication extends bootMixin(BaseApplication) {
39
+ getAppInfo() {
40
+ return {
41
+ name: 'Order Service',
42
+ version: '1.0.0',
43
+ };
44
+ }
45
+ }
46
+
47
+ const configs: IApplicationConfigs = {
48
+ port: Number(process.env.PORT) || 3000,
49
+ path: { base: '/api' }
50
+ };
51
+
52
+ bootStrapApplication(OrderApplication, configs);
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 4. Data layer
58
+ Sử dụng Drizzle để định nghĩa schema và các Repository để thao tác dữ liệu.
23
59
 
24
- ### 1. Cấu hình & Sử dụng Logger
25
- Logger hỗ trợ tự động đính kèm `requestId` xuyên suốt luồng xử (trên cả console và file log).
60
+ ### Khai báo Drizzle Schema
61
+ Sử dụng các helper trong `column-defs.ts` để chuẩn hóa cấu trúc bảng.
26
62
 
27
- ```ts
28
- import { LoggerFactory } from '@gennext/lb-infra';
63
+ ```typescript
64
+ import { pgTable, text, integer } from 'drizzle-orm/pg-core';
65
+ import { generateIdColumnDefs, generateSoftDeleteColumnDefs, generateTzColumnDefs } from '@gennext/lb-infra';
29
66
 
30
- // Cấu hình toàn cục (thường gọi ở main.ts hoặc app.ts)
31
- LoggerFactory.config({
32
- mode: 'modern',
33
- defaultRequestIDSystem: 'requestContext',
34
- defaultLogFormat: 'modern',
35
- defaultDataMasking: {
36
- useMaskDataLib: true,
37
- },
67
+ export const orders = pgTable('orders', {
68
+ ...generateIdColumnDefs({ id: { dataType: 'string' } }),
69
+ orderNumber: text('order_number').notNull(),
70
+ amount: integer('amount'),
71
+ ...generateTzColumnDefs(),
72
+ ...generateSoftDeleteColumnDefs(),
38
73
  });
74
+ ```
75
+
76
+ ### Repositories
77
+ Sử dụng `DefaultCrudRepository` hoặc `SoftDeletableRepository` để có sẵn các hàm CRUD.
78
+
79
+ ```typescript
80
+ import { SoftDeletableRepository } from '@gennext/lb-infra';
81
+ import { orders } from '../models/order.schema';
82
+
83
+ export class OrderRepository extends SoftDeletableRepository<typeof orders> {
84
+ constructor() {
85
+ super(orders);
86
+ }
87
+ }
88
+ ```
89
+
90
+ ---
91
+
92
+ ## 5. Service layer
93
+ Các service kế thừa `BaseService` và sử dụng `this.logger` (HFLogger pattern) để ghi log theo phương thức.
94
+
95
+ ```typescript
96
+ import { BaseService } from '@gennext/lb-infra';
39
97
 
40
- const logger = LoggerFactory.getLogger(['user-service', 'auth']);
41
- logger.info('Dịch vụ đã sẵn sàng');
98
+ export class OrderService extends BaseService {
99
+ async processOrder(orderId: string) {
100
+ const logger = this.logger.for('processOrder');
101
+ logger.info('Starting process', { orderId });
102
+
103
+ try {
104
+ // Logic xử lý đơn hàng...
105
+ } catch (error) {
106
+ logger.error('Failed to process', error);
107
+ throw error;
108
+ }
109
+ }
110
+ }
42
111
  ```
43
112
 
44
- ### 2. Sử dụng Redis Helper
45
- Hỗ trợ đầy đủ các thao tác với Object, String và RedisJSON.
113
+ ---
46
114
 
47
- ```ts
48
- import { RedisHelper } from '@gennext/lb-infra';
115
+ ## 6. Controller & Routing
116
+ Controller quản các route và tích hợp Zod để tự động tạo tài liệu OpenAPI qua `defineRoute` hoặc `bindRoute`.
49
117
 
50
- const cache = new RedisHelper({
51
- name: 'app-cache',
52
- host: process.env.REDIS_HOST,
53
- port: 6379,
118
+ ```typescript
119
+ import { BaseController, controller } from '@gennext/lb-infra';
120
+ import { z } from 'zod';
121
+
122
+ const OrderSchema = z.object({
123
+ id: z.string().uuid(),
124
+ amount: z.number().min(1)
54
125
  });
55
126
 
56
- // Lưu trữ object (tự động serialize JSON)
57
- await cache.set({ key: 'user:1', value: { id: 1, name: 'Gennex' } });
127
+ @controller({ path: '/orders' })
128
+ export class OrderController extends BaseController {
129
+ async binding() {
130
+ this.bindRoute({
131
+ configs: {
132
+ path: '/',
133
+ method: 'post',
134
+ request: {
135
+ body: { content: { 'application/json': { schema: OrderSchema } } }
136
+ },
137
+ responses: {
138
+ 200: {
139
+ description: 'Order created',
140
+ content: { 'application/json': { schema: OrderSchema } }
141
+ }
142
+ }
143
+ }
144
+ }).to({
145
+ handler: async (c) => {
146
+ const body = await c.req.json();
147
+ return c.json(body);
148
+ }
149
+ });
150
+ }
151
+ }
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 7. DataSources
157
+ Cấu hình kết nối cơ sở dữ liệu qua các class kế thừa.
58
158
 
59
- // Đọc và chuyển đổi object
60
- const user = await cache.getObject({ key: 'user:1' });
159
+ ```typescript
160
+ import { PostgresDataSource, RedisDataSource } from '@gennext/lb-infra/datasources';
161
+
162
+ export class DbDataSource extends PostgresDataSource {
163
+ static dataSourceName = 'db';
164
+ }
165
+
166
+ export class CacheDataSource extends RedisDataSource {
167
+ static dataSourceName = 'redis';
168
+ }
61
169
  ```
62
170
 
63
- ### 3. Xử lý Lỗi (Error Handling)
64
- Hỗ trợ các class lỗi có cấu trúc, giúp Frontend dễ dàng xử lý thông báo lỗi.
171
+ ---
65
172
 
66
- ```ts
67
- import { ValidationError, NotImplementedError } from '@gennext/lb-infra';
173
+ ## 8. Logger helper
174
+ Hệ thống log mạnh mẽ hỗ trợ `RequestContext` để theo vết Request ID xuyên suốt các layer.
68
175
 
69
- // Khi dữ liệu không hợp lệ
70
- throw new ValidationError('Email không đúng định dạng', { email: 'invalid-email' });
176
+ ```typescript
177
+ import { LoggerFactory, RequestContext } from '@gennext/lb-infra';
71
178
 
72
- // Khi tính năng chưa được triển khai
73
- throw new NotImplementedError('exportToExcel');
179
+ const logger = LoggerFactory.getLogger(['OrderModule']);
180
+
181
+ // Sử dụng RequestContext để gắn ID tự động
182
+ RequestContext.run({ requestId: 'req-123' }, () => {
183
+ logger.info('User action log'); // Log sẽ có prefix [req-123]
184
+ });
74
185
  ```
75
186
 
76
- ### 4. Utilities tiện ích
77
- ```ts
78
- import { sleep, executePromiseWithLimit } from '@gennext/lb-infra';
187
+ ---
79
188
 
80
- // Chờ 1 giây
81
- await sleep(1000);
189
+ ## 9. Redis helper
190
+ Bộ công cụ hỗ trợ Redis String, Hash, JSON và Pub/Sub.
82
191
 
83
- // Chạy 100 task đồng thời, nhưng giới hạn tối đa 5 task cùng lúc
84
- await executePromiseWithLimit({
85
- tasks: myTaskArray,
86
- limit: 5
192
+ ```typescript
193
+ import { RedisHelper } from '@gennext/lb-infra/helpers/redis';
194
+
195
+ const redis = new RedisHelper({ host: 'localhost', port: 6379 });
196
+
197
+ await redis.set({ key: 'config', value: { theme: 'dark' } });
198
+
199
+ // Thao tác với RedisJSON
200
+ await redis.jSet({
201
+ key: 'user:data',
202
+ path: '$',
203
+ value: { settings: { lang: 'vi' } }
87
204
  });
205
+
206
+ const lang = await redis.jGet({ key: 'user:data', path: '$.settings.lang' });
88
207
  ```
89
208
 
90
- ## 📂 Cấu trúc thư mục
209
+ ---
91
210
 
92
- - `src/base`: Các lớp cơ sở cho Model, DataSource, Helper.
93
- - `src/common`: Các kiểu dữ liệu, hằng số mã kết quả chung.
94
- - `src/datasources`: Triển khai các kết nối dữ liệu (Postgres, Redis).
95
- - `src/helpers`: Các module bổ trợ quan trọng (Logger, Redis).
96
- - `src/utilities`: Các hàm tiện ích dùng chung.
211
+ ## 10. Authentication
212
+ Tích hợp sẵn các chiến lược xác thực phổ biến.
97
213
 
98
- ## 🛠️ Scripts hỗ trợ (Maintainer)
214
+ ```typescript
215
+ import { AuthenticateComponent, JwtStrategy } from '@gennext/lb-infra';
99
216
 
100
- - `bun run build`: Biên dịch mã nguồn sang thư mục `dist`.
101
- - `bun run test`: Chạy bộ test suite (Node.js test runner).
102
- - `bun run lint`: Kiểm tra chất lượng và định dạng mã nguồn.
217
+ // Trong BaseApplication
218
+ this.component(AuthenticateComponent);
219
+ this.bind('authentication.strategies.jwt').toClass(JwtStrategy);
220
+ ```
221
+
222
+ ---
223
+
224
+ ## 11. Authorization
225
+ Phân quyền dựa trên thuộc tính (RBAC/ABAC) sử dụng Casbin.
226
+
227
+ ```typescript
228
+ import { AuthorizeComponent, DrizzleCasbinAdapter } from '@gennext/lb-infra';
229
+
230
+ this.component(AuthorizeComponent);
231
+ // Dùng DrizzleCasbinAdapter để lưu policy vào PostgreSQL
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 12. Components tùy chọn
237
+
238
+ ### gRPC
239
+ ```typescript
240
+ import { BaseGrpcController } from '@gennext/lb-infra/components/grpc';
241
+
242
+ export class UserGrpcController extends BaseGrpcController {
243
+ // Implement gRPC methods defined in proto
244
+ }
245
+ ```
246
+
247
+ ### Socket.IO
248
+ Sử dụng `SocketIOServerHelper` để quản lý kết nối thời gian thực.
249
+
250
+ ### Health Check
251
+ Tích hợp sẵn endpoint `/health` để monitor trạng thái hệ thống.
252
+
253
+ ---
254
+
255
+ ## 13. Utilities
256
+ Các hàm tiện ích tối ưu trong `src/utilities`:
257
+
258
+ - `getError(opts)`: Tạo error object chuẩn kèm `statusCode`.
259
+ - `hash(text, opts)`: Hỗ trợ MD5, SHA256...
260
+ - `safeParseJson(str)`: Parse JSON không lo crash.
261
+ - `executePromiseWithLimit({ tasks, limit })`: Chạy batch tasks có giới hạn số lượng chạy song song.
262
+ - `getDateTz()`: Lấy thời gian hiện tại theo múi giờ cấu hình.
263
+ - `buildBatchUpdateQuery(table, data)`: Helper tạo câu lệnh cập nhật hàng loạt cho Drizzle.
103
264
 
104
- ## 📄 License
105
- MIT - Gennex Technology.
265
+ ---
266
+
267
+ ## 14. Base classes
268
+
269
+ | Class | Thuộc tính/Phương thức có sẵn |
270
+ | :--- | :--- |
271
+ | `BaseHelper` | `this.logger` |
272
+ | `BaseService` | `this.logger` (HFLogger), `this.get(key)` (DI) |
273
+ | `BaseController` | `this.logger`, `this.bindRoute()`, `this.defineRoute()` |
274
+ | `BaseDataSource` | `this.name`, `this.connector` |
275
+
276
+ ---
277
+
278
+ ## 15. Biến môi trường
279
+
280
+ | Tên biến | Mô tả | Giá trị mặc định |
281
+ | :--- | :--- | :--- |
282
+ | `APP_ENV_APPLICATION_NAME` | Tên ứng dụng xuất hiện trong log | `APP` |
283
+ | `APP_ENV_POSTGRES_HOST` | Địa chỉ PostgreSQL | `localhost` |
284
+ | `APP_ENV_POSTGRES_PORT` | Cổng PostgreSQL | `5432` |
285
+ | `APP_ENV_POSTGRES_USERNAME` | Username DB | `postgres` |
286
+ | `APP_ENV_POSTGRES_PASSWORD` | Password DB | `password` |
287
+ | `APP_ENV_POSTGRES_DATABASE` | Tên Database | `postgres` |
288
+ | `APP_ENV_REDIS_DATASOURCE_HOST` | Địa chỉ Redis | `0.0.0.0` |
289
+ | `APP_ENV_REDIS_DATASOURCE_PORT` | Cổng Redis | `6379` |
290
+ | `APP_ENV_LOGGER_FOLDER_PATH` | Đường dẫn lưu file log | `./logs` |
291
+ | `DEBUG` | Kích hoạt log debug | `false` |
292
+
293
+ ---
294
+
295
+ ## 16. Ví dụ end-to-end: Order Service
296
+
297
+ ```typescript
298
+ // --- 1. Model (order.schema.ts) ---
299
+ export const orders = pgTable('orders', {
300
+ ...generateIdColumnDefs({ id: { dataType: 'string' } }),
301
+ item: text('item').notNull(),
302
+ ...generateTzColumnDefs()
303
+ });
304
+
305
+ // --- 2. Repository (order.repository.ts) ---
306
+ export class OrderRepository extends DefaultCrudRepository<typeof orders> {
307
+ constructor() { super(orders); }
308
+ }
309
+
310
+ // --- 3. Service (order.service.ts) ---
311
+ export class OrderService extends BaseService {
312
+ async create(item: string) {
313
+ const repo = this.get<OrderRepository>('repositories.OrderRepository');
314
+ return repo.create({ item });
315
+ }
316
+ }
317
+
318
+ // --- 4. Controller (order.controller.ts) ---
319
+ @controller({ path: '/orders' })
320
+ export class OrderController extends BaseController {
321
+ async binding() {
322
+ this.bindRoute({
323
+ path: '/', method: 'post',
324
+ responses: { 200: { description: 'Success' } }
325
+ }).to({
326
+ handler: async (c) => {
327
+ const service = this.get<OrderService>('services.OrderService');
328
+ return c.json(await service.create('Product A'));
329
+ }
330
+ });
331
+ }
332
+ }
333
+
334
+ // --- 5. Application (main.ts) ---
335
+ class OrderApp extends bootMixin(BaseApplication) {
336
+ getAppInfo() { return { name: 'OrderAPI', version: '1.0' }; }
337
+ }
338
+
339
+ bootStrapApplication(OrderApp, { port: 8080 });
340
+ ```
@@ -0,0 +1,3 @@
1
+ declare const _default: import("drizzle-kit").Config;
2
+ export default _default;
3
+ //# sourceMappingURL=drizzle.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.config.d.ts","sourceRoot":"","sources":["../drizzle.config.ts"],"names":[],"mappings":";AAEA,wBAYG"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const drizzle_kit_1 = require("drizzle-kit");
4
+ exports.default = (0, drizzle_kit_1.defineConfig)({
5
+ dialect: 'postgresql',
6
+ schema: './src/**/*.schema.ts',
7
+ out: './migration',
8
+ dbCredentials: {
9
+ host: process.env.APP_ENV_POSTGRES_HOST,
10
+ port: Number(process.env.APP_ENV_POSTGRES_PORT),
11
+ user: process.env.APP_ENV_POSTGRES_USERNAME,
12
+ password: process.env.APP_ENV_POSTGRES_PASSWORD,
13
+ database: process.env.APP_ENV_POSTGRES_DATABASE,
14
+ ssl: false,
15
+ },
16
+ });
17
+ //# sourceMappingURL=drizzle.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.config.js","sourceRoot":"","sources":["../drizzle.config.ts"],"names":[],"mappings":";;AAAA,6CAA2C;AAE3C,kBAAe,IAAA,0BAAY,EAAC;IAC1B,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,sBAAsB;IAC9B,GAAG,EAAE,aAAa;IAClB,aAAa,EAAE;QACb,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAsB;QACxC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC;QAChD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,yBAA0B;QAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAA0B;QAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAA0B;QAChD,GAAG,EAAE,KAAK;KACX;CACF,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { OpenAPIHono } from '@hono/zod-openapi';
2
+ import type { Logger } from '../../helpers';
3
+ import type { ValueOrPromise } from '../../common';
4
+ import type { ClassType } from '../../common/types';
5
+ export interface IApplicationConfigs {
6
+ host?: string;
7
+ port: number;
8
+ path?: {
9
+ base: string;
10
+ isStrict?: boolean;
11
+ };
12
+ debug?: {
13
+ shouldShowRoutes?: boolean;
14
+ };
15
+ error?: {
16
+ rootKey?: string;
17
+ };
18
+ }
19
+ export interface IApplicationInfo {
20
+ name: string;
21
+ version: string;
22
+ description?: string;
23
+ }
24
+ export interface IMiddlewareConfigs {
25
+ [key: string]: any;
26
+ }
27
+ export declare abstract class BaseApplication {
28
+ protected logger: Logger;
29
+ protected server: OpenAPIHono;
30
+ protected bindings: Map<string, any>;
31
+ protected configs: IApplicationConfigs;
32
+ constructor(configs: IApplicationConfigs);
33
+ abstract getAppInfo(): ValueOrPromise<IApplicationInfo>;
34
+ staticConfigure(): void;
35
+ preConfigure(): ValueOrPromise<void>;
36
+ setupMiddlewares(): Promise<void>;
37
+ postConfigure(): ValueOrPromise<void>;
38
+ controller(_ControllerClass: new (...args: any[]) => any): void;
39
+ repository(_RepositoryClass: new (...args: any[]) => any): void;
40
+ dataSource(_DataSourceClass: new (...args: any[]) => any): void;
41
+ service(_ServiceClass: new (...args: any[]) => any): void;
42
+ component(_ComponentClass: new (...args: any[]) => any): void;
43
+ bind<T>(opts: {
44
+ key: string;
45
+ }): {
46
+ toValue: (v: T) => void;
47
+ toClass: (c: ClassType<T>) => void;
48
+ };
49
+ get<T>(opts: {
50
+ key: string;
51
+ isOptional?: boolean;
52
+ }): T;
53
+ getServer(): OpenAPIHono;
54
+ start(): Promise<void>;
55
+ stop(): Promise<void>;
56
+ static(_opts: {
57
+ folderPath: string;
58
+ mountPath?: string;
59
+ }): void;
60
+ protected applyMiddlewares(_configs: IMiddlewareConfigs): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=base.application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.application.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/base.application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;gBAE3B,OAAO,EAAE,mBAAmB;IAQxC,QAAQ,CAAC,UAAU,IAAI,cAAc,CAAC,gBAAgB,CAAC;IAEvD,eAAe,IAAI,IAAI;IACvB,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;IAC9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IACvC,aAAa,IAAI,cAAc,CAAC,IAAI,CAAC;IAErC,UAAU,CAAC,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAC/D,UAAU,CAAC,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAC/D,UAAU,CAAC,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAC/D,OAAO,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IACzD,SAAS,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAE7D,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;qBAEZ,CAAC;qBAGD,SAAS,CAAC,CAAC,CAAC;;IAM7B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,CAAC;IAOtD,SAAS,IAAI,WAAW;IAIlB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B,MAAM,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;cAE/C,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC9E"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseApplication = void 0;
4
+ const helpers_1 = require("../../helpers");
5
+ class BaseApplication {
6
+ constructor(configs) {
7
+ this.configs = configs;
8
+ this.logger = helpers_1.LoggerFactory.getLogger(['Application']);
9
+ this.bindings = new Map();
10
+ const { OpenAPIHono } = require('@hono/zod-openapi');
11
+ this.server = new OpenAPIHono();
12
+ }
13
+ staticConfigure() { }
14
+ preConfigure() { }
15
+ async setupMiddlewares() { }
16
+ postConfigure() { }
17
+ controller(_ControllerClass) { }
18
+ repository(_RepositoryClass) { }
19
+ dataSource(_DataSourceClass) { }
20
+ service(_ServiceClass) { }
21
+ component(_ComponentClass) { }
22
+ bind(opts) {
23
+ return {
24
+ toValue: (v) => {
25
+ this.bindings.set(opts.key, v);
26
+ },
27
+ toClass: (c) => {
28
+ this.bindings.set(opts.key, new c());
29
+ },
30
+ };
31
+ }
32
+ get(opts) {
33
+ if (!this.bindings.has(opts.key) && !opts.isOptional) {
34
+ throw new Error(`Binding not found: ${opts.key}`);
35
+ }
36
+ return this.bindings.get(opts.key);
37
+ }
38
+ getServer() {
39
+ return this.server;
40
+ }
41
+ async start() {
42
+ await this.preConfigure();
43
+ await this.setupMiddlewares();
44
+ if (typeof this.boot === 'function') {
45
+ await this.boot();
46
+ }
47
+ await this.postConfigure();
48
+ }
49
+ async stop() { }
50
+ static(_opts) { }
51
+ async applyMiddlewares(_configs) { }
52
+ }
53
+ exports.BaseApplication = BaseApplication;
54
+ //# sourceMappingURL=base.application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.application.js","sourceRoot":"","sources":["../../../../src/base/applications/base.application.ts"],"names":[],"mappings":";;;AAEA,2CAA8C;AAsB9C,MAAsB,eAAe;IAMnC,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,CAAC;IAID,eAAe,KAAU,CAAC;IAC1B,YAAY,KAA0B,CAAC;IACvC,KAAK,CAAC,gBAAgB,KAAmB,CAAC;IAC1C,aAAa,KAA0B,CAAC;IAExC,UAAU,CAAC,gBAA6C,IAAS,CAAC;IAClE,UAAU,CAAC,gBAA6C,IAAS,CAAC;IAClE,UAAU,CAAC,gBAA6C,IAAS,CAAC;IAClE,OAAO,CAAC,aAA0C,IAAS,CAAC;IAC5D,SAAS,CAAC,eAA4C,IAAS,CAAC;IAEhE,IAAI,CAAI,IAAqB;QAC3B,OAAO;YACL,OAAO,EAAE,CAAC,CAAI,EAAE,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,CAAC,CAAe,EAAE,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAI,IAA2C;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAM,CAAC;IAC1C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,OAAQ,IAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7C,MAAO,IAAY,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,KAAmB,CAAC;IAE9B,MAAM,CAAC,KAAiD,IAAS,CAAC;IAExD,KAAK,CAAC,gBAAgB,CAAC,QAA4B,IAAkB,CAAC;CACjF;AA/DD,0CA+DC"}
@@ -0,0 +1,2 @@
1
+ export * from './base.application';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base.application"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/applications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -1,4 +1,4 @@
1
- import { Logger } from '../helpers/logger';
1
+ import { Logger } from '@/helpers/logger';
2
2
  export declare class BaseHelper {
3
3
  protected identifier: string;
4
4
  protected scope: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.helper.d.ts","sourceRoot":"","sources":["../../../src/base/base.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,UAAU;IACrB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxD,SAAS,KAAK,MAAM,IAAI,MAAM,CAO7B;CACF"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseHelper = void 0;
4
- const logger_1 = require("../helpers/logger");
4
+ const logger_1 = require("@/helpers/logger");
5
5
  class BaseHelper {
6
6
  constructor(opts) {
7
7
  this.scope = opts.scope;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.helper.js","sourceRoot":"","sources":["../../../src/base/base.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAEzD,MAAa,UAAU;IAKrB,YAAY,IAA4C;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,IAAc,MAAM;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,sBAAa,CAAC,SAAS,CACpC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAlBD,gCAkBC"}
@@ -0,0 +1,23 @@
1
+ import type { ValueOrPromise } from '../../common';
2
+ import type { Logger } from '../../helpers';
3
+ import type { IRouteDefinition, IRouteHandler } from '../http';
4
+ export interface IControllerOptions {
5
+ scope?: string;
6
+ path?: string;
7
+ }
8
+ export declare abstract class BaseController {
9
+ protected logger: Logger;
10
+ protected definitions: Record<string, IRouteDefinition>;
11
+ constructor(opts: IControllerOptions);
12
+ abstract binding(): ValueOrPromise<void>;
13
+ protected defineRoute(_handler: IRouteHandler): void;
14
+ protected defineJSXRoute(_handler: IRouteHandler): void;
15
+ protected bindRoute(opts: {
16
+ configs: IRouteDefinition;
17
+ }): {
18
+ to: (h: {
19
+ handler: any;
20
+ }) => void;
21
+ };
22
+ }
23
+ //# sourceMappingURL=base.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.controller.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/base.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,cAAc;IAClC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAE5C,IAAI,EAAE,kBAAkB;IAKpC,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAEpD,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAEvD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAA;KAAE;gBAE3C;YAAE,OAAO,EAAE,GAAG,CAAA;SAAE;;CAQ7B"}