@minimaltech/node-infra 0.5.9-21 → 0.5.9-23

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 (560) hide show
  1. package/dist/base/applications/base.application.js +41 -28
  2. package/dist/base/applications/base.application.js.map +1 -0
  3. package/dist/base/applications/default.application.js +9 -2
  4. package/dist/base/applications/default.application.js.map +1 -0
  5. package/dist/base/applications/index.js +1 -0
  6. package/dist/base/applications/index.js.map +1 -0
  7. package/dist/base/base.component.js +3 -2
  8. package/dist/base/base.component.js.map +1 -0
  9. package/dist/base/base.helper.js +4 -4
  10. package/dist/base/base.helper.js.map +1 -0
  11. package/dist/base/base.provider.js +3 -2
  12. package/dist/base/base.provider.js.map +1 -0
  13. package/dist/base/base.sequence.js +27 -17
  14. package/dist/base/base.sequence.js.map +1 -0
  15. package/dist/base/controllers/common.js +10 -8
  16. package/dist/base/controllers/common.js.map +1 -0
  17. package/dist/base/controllers/crud.controller.js +68 -55
  18. package/dist/base/controllers/crud.controller.js.map +1 -0
  19. package/dist/base/controllers/express-request-handler.js +1 -2
  20. package/dist/base/controllers/express-request-handler.js.map +1 -0
  21. package/dist/base/controllers/index.js +1 -0
  22. package/dist/base/controllers/index.js.map +1 -0
  23. package/dist/base/controllers/kv.controller.js +19 -7
  24. package/dist/base/controllers/kv.controller.js.map +1 -0
  25. package/dist/base/controllers/relational.controller.d.ts +3 -1
  26. package/dist/base/controllers/relational.controller.js +58 -40
  27. package/dist/base/controllers/relational.controller.js.map +1 -0
  28. package/dist/base/controllers/service-crud.controller.js +47 -46
  29. package/dist/base/controllers/service-crud.controller.js.map +1 -0
  30. package/dist/base/datasources/base.datasource.js +1 -1
  31. package/dist/base/datasources/base.datasource.js.map +1 -0
  32. package/dist/base/datasources/index.js +1 -0
  33. package/dist/base/datasources/index.js.map +1 -0
  34. package/dist/base/datasources/types.js +1 -0
  35. package/dist/base/datasources/types.js.map +1 -0
  36. package/dist/base/index.js +1 -0
  37. package/dist/base/index.js.map +1 -0
  38. package/dist/base/loopback/@lb/auth/index.js +1 -0
  39. package/dist/base/loopback/@lb/auth/index.js.map +1 -0
  40. package/dist/base/loopback/@lb/core/index.js +2 -0
  41. package/dist/base/loopback/@lb/core/index.js.map +1 -0
  42. package/dist/base/loopback/@lb/repository/index.js +2 -0
  43. package/dist/base/loopback/@lb/repository/index.js.map +1 -0
  44. package/dist/base/loopback/@lb/rest/index.js +1 -0
  45. package/dist/base/loopback/@lb/rest/index.js.map +1 -0
  46. package/dist/base/loopback/authentication/index.js +3 -0
  47. package/dist/base/loopback/authentication/index.js.map +1 -0
  48. package/dist/base/loopback/authorization/index.js +1 -0
  49. package/dist/base/loopback/authorization/index.js.map +1 -0
  50. package/dist/base/loopback/boot/index.js +1 -0
  51. package/dist/base/loopback/boot/index.js.map +1 -0
  52. package/dist/base/loopback/core/index.js +1 -0
  53. package/dist/base/loopback/core/index.js.map +1 -0
  54. package/dist/base/loopback/filter/index.js +3 -0
  55. package/dist/base/loopback/filter/index.js.map +1 -0
  56. package/dist/base/loopback/health-check/index.js +1 -0
  57. package/dist/base/loopback/health-check/index.js.map +1 -0
  58. package/dist/base/loopback/http-server/index.js +3 -0
  59. package/dist/base/loopback/http-server/index.js.map +1 -0
  60. package/dist/base/loopback/metadata/index.js +1 -0
  61. package/dist/base/loopback/metadata/index.js.map +1 -0
  62. package/dist/base/loopback/repository/index.js +1 -0
  63. package/dist/base/loopback/repository/index.js.map +1 -0
  64. package/dist/base/loopback/rest/index.js +1 -0
  65. package/dist/base/loopback/rest/index.js.map +1 -0
  66. package/dist/base/loopback/security/index.js +1 -0
  67. package/dist/base/loopback/security/index.js.map +1 -0
  68. package/dist/base/loopback/service-proxy/index.js +1 -0
  69. package/dist/base/loopback/service-proxy/index.js.map +1 -0
  70. package/dist/base/models/base.model.d.ts +7 -0
  71. package/dist/base/models/base.model.js +24 -5
  72. package/dist/base/models/base.model.js.map +1 -0
  73. package/dist/base/models/index.js +1 -0
  74. package/dist/base/models/index.js.map +1 -0
  75. package/dist/base/repositories/base.repository.d.ts +3 -0
  76. package/dist/base/repositories/base.repository.js +25 -5
  77. package/dist/base/repositories/base.repository.js.map +1 -0
  78. package/dist/base/repositories/index.js +1 -0
  79. package/dist/base/repositories/index.js.map +1 -0
  80. package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +8 -0
  81. package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +11 -11
  82. package/dist/base/repositories/relations/has-many-polymorphic/decorator.js.map +1 -0
  83. package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +9 -0
  84. package/dist/base/repositories/relations/has-many-polymorphic/factory.js +31 -12
  85. package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +1 -0
  86. package/dist/base/repositories/relations/has-many-polymorphic/index.js +1 -0
  87. package/dist/base/repositories/relations/has-many-polymorphic/index.js.map +1 -0
  88. package/dist/base/repositories/relations/has-many-polymorphic/types.js +1 -0
  89. package/dist/base/repositories/relations/has-many-polymorphic/types.js.map +1 -0
  90. package/dist/base/repositories/relations/index.js +1 -0
  91. package/dist/base/repositories/relations/index.js.map +1 -0
  92. package/dist/base/repositories/searchable-tz-crud.repository.js +161 -129
  93. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -0
  94. package/dist/base/repositories/tz-crud.repository.js +59 -23
  95. package/dist/base/repositories/tz-crud.repository.js.map +1 -0
  96. package/dist/base/services/base-crud.service.js +10 -6
  97. package/dist/base/services/base-crud.service.js.map +1 -0
  98. package/dist/base/services/base.service.js +3 -2
  99. package/dist/base/services/base.service.js.map +1 -0
  100. package/dist/base/services/index.js +1 -0
  101. package/dist/base/services/index.js.map +1 -0
  102. package/dist/common/constants.js +90 -81
  103. package/dist/common/constants.js.map +1 -0
  104. package/dist/common/environments.js +26 -25
  105. package/dist/common/environments.js.map +1 -0
  106. package/dist/common/index.js +1 -0
  107. package/dist/common/index.js.map +1 -0
  108. package/dist/common/keys.js +3 -2
  109. package/dist/common/keys.js.map +1 -0
  110. package/dist/common/statuses.js +32 -28
  111. package/dist/common/statuses.js.map +1 -0
  112. package/dist/common/types.d.ts +3 -0
  113. package/dist/common/types.js +1 -0
  114. package/dist/common/types.js.map +1 -0
  115. package/dist/components/authenticate/common/constants.js +14 -11
  116. package/dist/components/authenticate/common/constants.js.map +1 -0
  117. package/dist/components/authenticate/common/index.js +1 -0
  118. package/dist/components/authenticate/common/index.js.map +1 -0
  119. package/dist/components/authenticate/common/keys.js +8 -7
  120. package/dist/components/authenticate/common/keys.js.map +1 -0
  121. package/dist/components/authenticate/common/types.js +4 -11
  122. package/dist/components/authenticate/common/types.js.map +1 -0
  123. package/dist/components/authenticate/component.js +29 -20
  124. package/dist/components/authenticate/component.js.map +1 -0
  125. package/dist/components/authenticate/controllers/auth.controller.js +12 -13
  126. package/dist/components/authenticate/controllers/auth.controller.js.map +1 -0
  127. package/dist/components/authenticate/controllers/index.js +1 -0
  128. package/dist/components/authenticate/controllers/index.js.map +1 -0
  129. package/dist/components/authenticate/controllers/oauth2.controller.js +21 -18
  130. package/dist/components/authenticate/controllers/oauth2.controller.js.map +1 -0
  131. package/dist/components/authenticate/index.js +1 -0
  132. package/dist/components/authenticate/index.js.map +1 -0
  133. package/dist/components/authenticate/middleware.js +36 -25
  134. package/dist/components/authenticate/middleware.js.map +1 -0
  135. package/dist/components/authenticate/models/index.js +1 -0
  136. package/dist/components/authenticate/models/index.js.map +1 -0
  137. package/dist/components/authenticate/models/oauth2-client.model.js +4 -8
  138. package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -0
  139. package/dist/components/authenticate/models/oauth2-scope.model.js +1 -4
  140. package/dist/components/authenticate/models/oauth2-scope.model.js.map +1 -0
  141. package/dist/components/authenticate/models/oauth2-token.model.js +1 -7
  142. package/dist/components/authenticate/models/oauth2-token.model.js.map +1 -0
  143. package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +6 -4
  144. package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +1 -0
  145. package/dist/components/authenticate/oauth2-handlers/base.js +111 -95
  146. package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -0
  147. package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +4 -2
  148. package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +1 -0
  149. package/dist/components/authenticate/oauth2-handlers/index.js +1 -0
  150. package/dist/components/authenticate/oauth2-handlers/index.js.map +1 -0
  151. package/dist/components/authenticate/oauth2-handlers/oauth2.js +3 -3
  152. package/dist/components/authenticate/oauth2-handlers/oauth2.js.map +1 -0
  153. package/dist/components/authenticate/oauth2-handlers/password.handler.js +1 -0
  154. package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +1 -0
  155. package/dist/components/authenticate/repositories/index.js +1 -0
  156. package/dist/components/authenticate/repositories/index.js.map +1 -0
  157. package/dist/components/authenticate/repositories/oauth2.repository.js +1 -2
  158. package/dist/components/authenticate/repositories/oauth2.repository.js.map +1 -0
  159. package/dist/components/authenticate/services/basic-token.service.js +30 -18
  160. package/dist/components/authenticate/services/basic-token.service.js.map +1 -0
  161. package/dist/components/authenticate/services/basic.strategy.js +18 -7
  162. package/dist/components/authenticate/services/basic.strategy.js.map +1 -0
  163. package/dist/components/authenticate/services/index.js +1 -0
  164. package/dist/components/authenticate/services/index.js.map +1 -0
  165. package/dist/components/authenticate/services/jwt-token.service.js +41 -27
  166. package/dist/components/authenticate/services/jwt-token.service.js.map +1 -0
  167. package/dist/components/authenticate/services/jwt.strategy.js +2 -2
  168. package/dist/components/authenticate/services/jwt.strategy.js.map +1 -0
  169. package/dist/components/authenticate/services/oauth2.service.js +111 -98
  170. package/dist/components/authenticate/services/oauth2.service.js.map +1 -0
  171. package/dist/components/authenticate/services/oauth2.strategy.js +32 -19
  172. package/dist/components/authenticate/services/oauth2.strategy.js.map +1 -0
  173. package/dist/components/authorize/adapters/adapter-builder.js +1 -1
  174. package/dist/components/authorize/adapters/adapter-builder.js.map +1 -0
  175. package/dist/components/authorize/adapters/base.adapter.js +10 -2
  176. package/dist/components/authorize/adapters/base.adapter.js.map +1 -0
  177. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +56 -37
  178. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +1 -0
  179. package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +2 -0
  180. package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js.map +1 -0
  181. package/dist/components/authorize/adapters/index.js +1 -0
  182. package/dist/components/authorize/adapters/index.js.map +1 -0
  183. package/dist/components/authorize/common/constants.js +13 -10
  184. package/dist/components/authorize/common/constants.js.map +1 -0
  185. package/dist/components/authorize/common/index.js +1 -0
  186. package/dist/components/authorize/common/index.js.map +1 -0
  187. package/dist/components/authorize/common/keys.js +16 -15
  188. package/dist/components/authorize/common/keys.js.map +1 -0
  189. package/dist/components/authorize/common/types.js +3 -2
  190. package/dist/components/authorize/common/types.js.map +1 -0
  191. package/dist/components/authorize/component.js +60 -44
  192. package/dist/components/authorize/component.js.map +1 -0
  193. package/dist/components/authorize/decorators/index.d.ts +11 -0
  194. package/dist/components/authorize/decorators/index.js +15 -1
  195. package/dist/components/authorize/decorators/index.js.map +1 -0
  196. package/dist/components/authorize/index.js +1 -0
  197. package/dist/components/authorize/index.js.map +1 -0
  198. package/dist/components/authorize/interceptor.js +81 -76
  199. package/dist/components/authorize/interceptor.js.map +1 -0
  200. package/dist/components/authorize/migrations/0000-create-view-policy.js +15 -3
  201. package/dist/components/authorize/migrations/0000-create-view-policy.js.map +1 -0
  202. package/dist/components/authorize/migrations/index.js +1 -0
  203. package/dist/components/authorize/migrations/index.js.map +1 -0
  204. package/dist/components/authorize/models/defs.js +6 -24
  205. package/dist/components/authorize/models/defs.js.map +1 -0
  206. package/dist/components/authorize/models/index.js +1 -0
  207. package/dist/components/authorize/models/index.js.map +1 -0
  208. package/dist/components/authorize/models/permission-mapping.model.js +1 -0
  209. package/dist/components/authorize/models/permission-mapping.model.js.map +1 -0
  210. package/dist/components/authorize/models/permission.model.js +1 -0
  211. package/dist/components/authorize/models/permission.model.js.map +1 -0
  212. package/dist/components/authorize/models/role.model.js +2 -1
  213. package/dist/components/authorize/models/role.model.js.map +1 -0
  214. package/dist/components/authorize/models/user-role.model.js +2 -0
  215. package/dist/components/authorize/models/user-role.model.js.map +1 -0
  216. package/dist/components/authorize/models/view-authorize-policy.model.js +2 -4
  217. package/dist/components/authorize/models/view-authorize-policy.model.js.map +1 -0
  218. package/dist/components/authorize/provider.js +97 -81
  219. package/dist/components/authorize/provider.js.map +1 -0
  220. package/dist/components/authorize/repositories/authorize.repository.js +7 -3
  221. package/dist/components/authorize/repositories/authorize.repository.js.map +1 -0
  222. package/dist/components/authorize/repositories/index.js +1 -0
  223. package/dist/components/authorize/repositories/index.js.map +1 -0
  224. package/dist/components/authorize/services/enforcer.service.js +28 -20
  225. package/dist/components/authorize/services/enforcer.service.js.map +1 -0
  226. package/dist/components/authorize/services/generator.service.d.ts +20 -0
  227. package/dist/components/authorize/services/generator.service.js +97 -62
  228. package/dist/components/authorize/services/generator.service.js.map +1 -0
  229. package/dist/components/authorize/services/index.js +1 -0
  230. package/dist/components/authorize/services/index.js.map +1 -0
  231. package/dist/components/crash-report/common/constants.js +1 -0
  232. package/dist/components/crash-report/common/constants.js.map +1 -0
  233. package/dist/components/crash-report/common/index.js +1 -0
  234. package/dist/components/crash-report/common/index.js.map +1 -0
  235. package/dist/components/crash-report/common/keys.js +11 -8
  236. package/dist/components/crash-report/common/keys.js.map +1 -0
  237. package/dist/components/crash-report/common/types.js +1 -0
  238. package/dist/components/crash-report/common/types.js.map +1 -0
  239. package/dist/components/crash-report/component.js +45 -31
  240. package/dist/components/crash-report/component.js.map +1 -0
  241. package/dist/components/crash-report/index.js +1 -0
  242. package/dist/components/crash-report/index.js.map +1 -0
  243. package/dist/components/crash-report/providers/index.js +1 -0
  244. package/dist/components/crash-report/providers/index.js.map +1 -0
  245. package/dist/components/crash-report/providers/provider.js +1 -1
  246. package/dist/components/crash-report/providers/provider.js.map +1 -0
  247. package/dist/components/crash-report/providers/third-parties/base.js +3 -2
  248. package/dist/components/crash-report/providers/third-parties/base.js.map +1 -0
  249. package/dist/components/crash-report/providers/third-parties/index.js +1 -0
  250. package/dist/components/crash-report/providers/third-parties/index.js.map +1 -0
  251. package/dist/components/crash-report/services/index.js +1 -0
  252. package/dist/components/crash-report/services/index.js.map +1 -0
  253. package/dist/components/crash-report/services/mt-crash-report.service.js +6 -5
  254. package/dist/components/crash-report/services/mt-crash-report.service.js.map +1 -0
  255. package/dist/components/grpc/common/constants.js +1 -0
  256. package/dist/components/grpc/common/constants.js.map +1 -0
  257. package/dist/components/grpc/common/index.js +1 -0
  258. package/dist/components/grpc/common/index.js.map +1 -0
  259. package/dist/components/grpc/common/keys.js +5 -4
  260. package/dist/components/grpc/common/keys.js.map +1 -0
  261. package/dist/components/grpc/common/types.js +1 -0
  262. package/dist/components/grpc/common/types.js.map +1 -0
  263. package/dist/components/grpc/components/index.js +1 -0
  264. package/dist/components/grpc/components/index.js.map +1 -0
  265. package/dist/components/grpc/components/server.component.js +9 -8
  266. package/dist/components/grpc/components/server.component.js.map +1 -0
  267. package/dist/components/grpc/controllers/base.js +1 -1
  268. package/dist/components/grpc/controllers/base.js.map +1 -0
  269. package/dist/components/grpc/controllers/index.js +1 -0
  270. package/dist/components/grpc/controllers/index.js.map +1 -0
  271. package/dist/components/grpc/decorators/index.js +1 -0
  272. package/dist/components/grpc/decorators/index.js.map +1 -0
  273. package/dist/components/grpc/helpers/grpc-client.js +4 -9
  274. package/dist/components/grpc/helpers/grpc-client.js.map +1 -0
  275. package/dist/components/grpc/helpers/grpc-server.js +18 -14
  276. package/dist/components/grpc/helpers/grpc-server.js.map +1 -0
  277. package/dist/components/grpc/helpers/index.js +1 -0
  278. package/dist/components/grpc/helpers/index.js.map +1 -0
  279. package/dist/components/grpc/index.js +1 -0
  280. package/dist/components/grpc/index.js.map +1 -0
  281. package/dist/components/grpc/persistents/grpc.connector.js +3 -8
  282. package/dist/components/grpc/persistents/grpc.connector.js.map +1 -0
  283. package/dist/components/grpc/persistents/grpc.datasource.js +4 -2
  284. package/dist/components/grpc/persistents/grpc.datasource.js.map +1 -0
  285. package/dist/components/grpc/persistents/grpc.repository.js +3 -3
  286. package/dist/components/grpc/persistents/grpc.repository.js.map +1 -0
  287. package/dist/components/grpc/persistents/index.js +1 -0
  288. package/dist/components/grpc/persistents/index.js.map +1 -0
  289. package/dist/components/health-check/component.js +1 -1
  290. package/dist/components/health-check/component.js.map +1 -0
  291. package/dist/components/health-check/index.js +1 -0
  292. package/dist/components/health-check/index.js.map +1 -0
  293. package/dist/components/index.js +1 -0
  294. package/dist/components/index.js.map +1 -0
  295. package/dist/components/migration/common/index.js +1 -0
  296. package/dist/components/migration/common/index.js.map +1 -0
  297. package/dist/components/migration/common/keys.js +4 -3
  298. package/dist/components/migration/common/keys.js.map +1 -0
  299. package/dist/components/migration/common/types.js +1 -0
  300. package/dist/components/migration/common/types.js.map +1 -0
  301. package/dist/components/migration/component.js +9 -5
  302. package/dist/components/migration/component.js.map +1 -0
  303. package/dist/components/migration/index.js +1 -0
  304. package/dist/components/migration/index.js.map +1 -0
  305. package/dist/components/migration/models/index.js +1 -0
  306. package/dist/components/migration/models/index.js.map +1 -0
  307. package/dist/components/migration/models/migration.model.js +1 -2
  308. package/dist/components/migration/models/migration.model.js.map +1 -0
  309. package/dist/components/migration/repositories/index.js +1 -0
  310. package/dist/components/migration/repositories/index.js.map +1 -0
  311. package/dist/components/migration/repositories/migration.repository.js +1 -0
  312. package/dist/components/migration/repositories/migration.repository.js.map +1 -0
  313. package/dist/components/socket-io/common/constants.js +11 -10
  314. package/dist/components/socket-io/common/constants.js.map +1 -0
  315. package/dist/components/socket-io/common/index.js +1 -0
  316. package/dist/components/socket-io/common/index.js.map +1 -0
  317. package/dist/components/socket-io/common/keys.js +7 -6
  318. package/dist/components/socket-io/common/keys.js.map +1 -0
  319. package/dist/components/socket-io/component.js +9 -9
  320. package/dist/components/socket-io/component.js.map +1 -0
  321. package/dist/components/socket-io/helpers/index.js +1 -0
  322. package/dist/components/socket-io/helpers/index.js.map +1 -0
  323. package/dist/components/socket-io/helpers/socket-io-client.helper.js +12 -7
  324. package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +1 -0
  325. package/dist/components/socket-io/helpers/socket-io-server.helper.js +42 -26
  326. package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +1 -0
  327. package/dist/components/socket-io/index.js +1 -0
  328. package/dist/components/socket-io/index.js.map +1 -0
  329. package/dist/components/static-asset/common/index.js +1 -0
  330. package/dist/components/static-asset/common/index.js.map +1 -0
  331. package/dist/components/static-asset/common/keys.js +5 -4
  332. package/dist/components/static-asset/common/keys.js.map +1 -0
  333. package/dist/components/static-asset/component.js +9 -9
  334. package/dist/components/static-asset/component.js.map +1 -0
  335. package/dist/components/static-asset/controllers/asset.controller.d.ts +8 -0
  336. package/dist/components/static-asset/controllers/asset.controller.js +94 -71
  337. package/dist/components/static-asset/controllers/asset.controller.js.map +1 -0
  338. package/dist/components/static-asset/controllers/index.js +1 -0
  339. package/dist/components/static-asset/controllers/index.js.map +1 -0
  340. package/dist/components/static-asset/controllers/resource.controller.js +10 -8
  341. package/dist/components/static-asset/controllers/resource.controller.js.map +1 -0
  342. package/dist/components/static-asset/index.js +1 -0
  343. package/dist/components/static-asset/index.js.map +1 -0
  344. package/dist/datasources/index.js +1 -0
  345. package/dist/datasources/index.js.map +1 -0
  346. package/dist/datasources/memory/datasource.js +4 -3
  347. package/dist/datasources/memory/datasource.js.map +1 -0
  348. package/dist/datasources/memory/index.js +1 -0
  349. package/dist/datasources/memory/index.js.map +1 -0
  350. package/dist/datasources/postgres/datasource.js +11 -10
  351. package/dist/datasources/postgres/datasource.js.map +1 -0
  352. package/dist/datasources/postgres/index.js +1 -0
  353. package/dist/datasources/postgres/index.js.map +1 -0
  354. package/dist/datasources/postgres/types.js +1 -0
  355. package/dist/datasources/postgres/types.js.map +1 -0
  356. package/dist/datasources/redis/connector.js +8 -18
  357. package/dist/datasources/redis/connector.js.map +1 -0
  358. package/dist/datasources/redis/datasource.js +8 -7
  359. package/dist/datasources/redis/datasource.js.map +1 -0
  360. package/dist/datasources/redis/index.js +1 -0
  361. package/dist/datasources/redis/index.js.map +1 -0
  362. package/dist/datasources/redis/types.js +1 -0
  363. package/dist/datasources/redis/types.js.map +1 -0
  364. package/dist/helpers/application-environment.helper.js +4 -3
  365. package/dist/helpers/application-environment.helper.js.map +1 -0
  366. package/dist/helpers/cron.helper.js +15 -9
  367. package/dist/helpers/cron.helper.js.map +1 -0
  368. package/dist/helpers/crypto/algorithms/aes.algorithm.js +8 -8
  369. package/dist/helpers/crypto/algorithms/aes.algorithm.js.map +1 -0
  370. package/dist/helpers/crypto/algorithms/base.algorithm.js +5 -3
  371. package/dist/helpers/crypto/algorithms/base.algorithm.js.map +1 -0
  372. package/dist/helpers/crypto/algorithms/index.js +1 -0
  373. package/dist/helpers/crypto/algorithms/index.js.map +1 -0
  374. package/dist/helpers/crypto/algorithms/rsa.algorithm.js +6 -4
  375. package/dist/helpers/crypto/algorithms/rsa.algorithm.js.map +1 -0
  376. package/dist/helpers/crypto/common/constants.js +1 -0
  377. package/dist/helpers/crypto/common/constants.js.map +1 -0
  378. package/dist/helpers/crypto/common/index.js +1 -0
  379. package/dist/helpers/crypto/common/index.js.map +1 -0
  380. package/dist/helpers/crypto/common/types.js +1 -0
  381. package/dist/helpers/crypto/common/types.js.map +1 -0
  382. package/dist/helpers/crypto/index.js +1 -0
  383. package/dist/helpers/crypto/index.js.map +1 -0
  384. package/dist/helpers/database/index.js +1 -0
  385. package/dist/helpers/database/index.js.map +1 -0
  386. package/dist/helpers/database/query-builder.helper.js +6 -2
  387. package/dist/helpers/database/query-builder.helper.js.map +1 -0
  388. package/dist/helpers/index.js +1 -0
  389. package/dist/helpers/index.js.map +1 -0
  390. package/dist/helpers/logger/application-logger.js +18 -7
  391. package/dist/helpers/logger/application-logger.js.map +1 -0
  392. package/dist/helpers/logger/common/index.js +1 -0
  393. package/dist/helpers/logger/common/index.js.map +1 -0
  394. package/dist/helpers/logger/common/types.js +23 -20
  395. package/dist/helpers/logger/common/types.js.map +1 -0
  396. package/dist/helpers/logger/default-logger.js +13 -2
  397. package/dist/helpers/logger/default-logger.js.map +1 -0
  398. package/dist/helpers/logger/factory.js +2 -1
  399. package/dist/helpers/logger/factory.js.map +1 -0
  400. package/dist/helpers/logger/index.js +1 -0
  401. package/dist/helpers/logger/index.js.map +1 -0
  402. package/dist/helpers/logger/transports/dgram.transport.js +26 -16
  403. package/dist/helpers/logger/transports/dgram.transport.js.map +1 -0
  404. package/dist/helpers/logger/transports/index.js +1 -0
  405. package/dist/helpers/logger/transports/index.js.map +1 -0
  406. package/dist/helpers/network/http-request/base-network-request.helper.js +35 -36
  407. package/dist/helpers/network/http-request/base-network-request.helper.js.map +1 -0
  408. package/dist/helpers/network/http-request/fetcher/axios-fetcher.js +23 -10
  409. package/dist/helpers/network/http-request/fetcher/axios-fetcher.js.map +1 -0
  410. package/dist/helpers/network/http-request/fetcher/base-fetcher.js +37 -13
  411. package/dist/helpers/network/http-request/fetcher/base-fetcher.js.map +1 -0
  412. package/dist/helpers/network/http-request/fetcher/index.js +1 -0
  413. package/dist/helpers/network/http-request/fetcher/index.js.map +1 -0
  414. package/dist/helpers/network/http-request/fetcher/node-fetcher.js +60 -37
  415. package/dist/helpers/network/http-request/fetcher/node-fetcher.js.map +1 -0
  416. package/dist/helpers/network/http-request/index.js +1 -0
  417. package/dist/helpers/network/http-request/index.js.map +1 -0
  418. package/dist/helpers/network/http-request/types.js +1 -0
  419. package/dist/helpers/network/http-request/types.js.map +1 -0
  420. package/dist/helpers/network/index.js +1 -0
  421. package/dist/helpers/network/index.js.map +1 -0
  422. package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js +28 -30
  423. package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js.map +1 -0
  424. package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js +20 -21
  425. package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js.map +1 -0
  426. package/dist/helpers/network/tcp-socket/index.js +1 -0
  427. package/dist/helpers/network/tcp-socket/index.js.map +1 -0
  428. package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js +2 -5
  429. package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js.map +1 -0
  430. package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js +2 -5
  431. package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js.map +1 -0
  432. package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js +2 -5
  433. package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js.map +1 -0
  434. package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js +2 -5
  435. package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js.map +1 -0
  436. package/dist/helpers/network/udp-socket/index.js +1 -0
  437. package/dist/helpers/network/udp-socket/index.js.map +1 -0
  438. package/dist/helpers/network/udp-socket/network-udp-client.helper.js +19 -21
  439. package/dist/helpers/network/udp-socket/network-udp-client.helper.js.map +1 -0
  440. package/dist/helpers/queue/bullmq.helper.js +23 -21
  441. package/dist/helpers/queue/bullmq.helper.js.map +1 -0
  442. package/dist/helpers/queue/index.js +1 -0
  443. package/dist/helpers/queue/index.js.map +1 -0
  444. package/dist/helpers/queue/mqtt.helper.js +18 -15
  445. package/dist/helpers/queue/mqtt.helper.js.map +1 -0
  446. package/dist/helpers/queue/queue.helper.js +146 -74
  447. package/dist/helpers/queue/queue.helper.js.map +1 -0
  448. package/dist/helpers/redis/default.helper.js +163 -117
  449. package/dist/helpers/redis/default.helper.js.map +1 -0
  450. package/dist/helpers/redis/index.js +1 -0
  451. package/dist/helpers/redis/index.js.map +1 -0
  452. package/dist/helpers/redis/redis-cluster.helper.js +3 -7
  453. package/dist/helpers/redis/redis-cluster.helper.js.map +1 -0
  454. package/dist/helpers/redis/redis.helper.js +6 -8
  455. package/dist/helpers/redis/redis.helper.js.map +1 -0
  456. package/dist/helpers/redis/types.js +1 -0
  457. package/dist/helpers/redis/types.js.map +1 -0
  458. package/dist/helpers/storage/di-container.helper.js +1 -2
  459. package/dist/helpers/storage/di-container.helper.js.map +1 -0
  460. package/dist/helpers/storage/index.js +1 -0
  461. package/dist/helpers/storage/index.js.map +1 -0
  462. package/dist/helpers/storage/minio.helper.js +129 -88
  463. package/dist/helpers/storage/minio.helper.js.map +1 -0
  464. package/dist/helpers/testing/common.js +4 -3
  465. package/dist/helpers/testing/common.js.map +1 -0
  466. package/dist/helpers/testing/describe.js +22 -14
  467. package/dist/helpers/testing/describe.js.map +1 -0
  468. package/dist/helpers/testing/index.js +1 -0
  469. package/dist/helpers/testing/index.js.map +1 -0
  470. package/dist/helpers/testing/test-case.js +1 -5
  471. package/dist/helpers/testing/test-case.js.map +1 -0
  472. package/dist/helpers/testing/test-handler.js +31 -23
  473. package/dist/helpers/testing/test-handler.js.map +1 -0
  474. package/dist/helpers/testing/test-plan/base.js +7 -9
  475. package/dist/helpers/testing/test-plan/base.js.map +1 -0
  476. package/dist/helpers/testing/test-plan/default.js +1 -0
  477. package/dist/helpers/testing/test-plan/default.js.map +1 -0
  478. package/dist/helpers/testing/test-plan/index.js +1 -0
  479. package/dist/helpers/testing/test-plan/index.js.map +1 -0
  480. package/dist/helpers/testing/types.js +1 -0
  481. package/dist/helpers/testing/types.js.map +1 -0
  482. package/dist/helpers/worker-thread/base.js +21 -10
  483. package/dist/helpers/worker-thread/base.js.map +1 -0
  484. package/dist/helpers/worker-thread/index.js +1 -0
  485. package/dist/helpers/worker-thread/index.js.map +1 -0
  486. package/dist/helpers/worker-thread/types.js +1 -0
  487. package/dist/helpers/worker-thread/types.js.map +1 -0
  488. package/dist/helpers/worker-thread/worker-bus.js +13 -11
  489. package/dist/helpers/worker-thread/worker-bus.js.map +1 -0
  490. package/dist/helpers/worker-thread/worker-pool.js +26 -17
  491. package/dist/helpers/worker-thread/worker-pool.js.map +1 -0
  492. package/dist/index.js +1 -0
  493. package/dist/index.js.map +1 -0
  494. package/dist/interceptors/content-range.interceptor.js +133 -115
  495. package/dist/interceptors/content-range.interceptor.js.map +1 -0
  496. package/dist/interceptors/index.js +1 -0
  497. package/dist/interceptors/index.js.map +1 -0
  498. package/dist/middlewares/index.js +1 -0
  499. package/dist/middlewares/index.js.map +1 -0
  500. package/dist/middlewares/request-body-parser.middleware.js +17 -4
  501. package/dist/middlewares/request-body-parser.middleware.js.map +1 -0
  502. package/dist/middlewares/request-spy.middleware.js +6 -4
  503. package/dist/middlewares/request-spy.middleware.js.map +1 -0
  504. package/dist/migrations/base-path.js +1 -0
  505. package/dist/migrations/base-path.js.map +1 -0
  506. package/dist/migrations/handler.js +23 -13
  507. package/dist/migrations/handler.js.map +1 -0
  508. package/dist/migrations/index.js +1 -0
  509. package/dist/migrations/index.js.map +1 -0
  510. package/dist/mixins/data-type.mixin.js +1 -5
  511. package/dist/mixins/data-type.mixin.js.map +1 -0
  512. package/dist/mixins/deprecated/user-audit.mixin.d.ts +3 -0
  513. package/dist/mixins/deprecated/user-audit.mixin.js +6 -2
  514. package/dist/mixins/deprecated/user-audit.mixin.js.map +1 -0
  515. package/dist/mixins/duplicatable.mixin.js +1 -1
  516. package/dist/mixins/duplicatable.mixin.js.map +1 -0
  517. package/dist/mixins/index.js +1 -0
  518. package/dist/mixins/index.js.map +1 -0
  519. package/dist/mixins/object-search.mixin.js +1 -1
  520. package/dist/mixins/object-search.mixin.js.map +1 -0
  521. package/dist/mixins/principal.mixin.js +1 -2
  522. package/dist/mixins/principal.mixin.js.map +1 -0
  523. package/dist/mixins/soft-delete.mixin.js +1 -1
  524. package/dist/mixins/soft-delete.mixin.js.map +1 -0
  525. package/dist/mixins/soft-persistent.mixin.js +1 -1
  526. package/dist/mixins/soft-persistent.mixin.js.map +1 -0
  527. package/dist/mixins/text-search.mixin.js +1 -1
  528. package/dist/mixins/text-search.mixin.js.map +1 -0
  529. package/dist/mixins/tz.mixin.js +1 -2
  530. package/dist/mixins/tz.mixin.js.map +1 -0
  531. package/dist/mixins/user-audit.mixin.js +4 -5
  532. package/dist/mixins/user-audit.mixin.js.map +1 -0
  533. package/dist/mixins/vector.mixin.js +7 -9
  534. package/dist/mixins/vector.mixin.js.map +1 -0
  535. package/dist/tsconfig.base.json +4 -11
  536. package/dist/utilities/crypto.utility.js +1 -0
  537. package/dist/utilities/crypto.utility.js.map +1 -0
  538. package/dist/utilities/date.utility.js +24 -5
  539. package/dist/utilities/date.utility.js.map +1 -0
  540. package/dist/utilities/error.utility.js +1 -2
  541. package/dist/utilities/error.utility.js.map +1 -0
  542. package/dist/utilities/index.js +1 -0
  543. package/dist/utilities/index.js.map +1 -0
  544. package/dist/utilities/model.utility.js +7 -2
  545. package/dist/utilities/model.utility.js.map +1 -0
  546. package/dist/utilities/parse.utility.d.ts +16 -0
  547. package/dist/utilities/parse.utility.js +42 -6
  548. package/dist/utilities/parse.utility.js.map +1 -0
  549. package/dist/utilities/performance.utility.js +3 -1
  550. package/dist/utilities/performance.utility.js.map +1 -0
  551. package/dist/utilities/promise.utility.d.ts +17 -0
  552. package/dist/utilities/promise.utility.js +32 -5
  553. package/dist/utilities/promise.utility.js.map +1 -0
  554. package/dist/utilities/query.utility.js +17 -8
  555. package/dist/utilities/query.utility.js.map +1 -0
  556. package/dist/utilities/request.utility.js +9 -2
  557. package/dist/utilities/request.utility.js.map +1 -0
  558. package/dist/utilities/url.utility.js +1 -0
  559. package/dist/utilities/url.utility.js.map +1 -0
  560. package/package.json +8 -10
@@ -8,6 +8,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
11
20
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
21
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
22
  };
@@ -21,129 +30,143 @@ const utilities_1 = require("../../utilities");
21
30
  const get_1 = __importDefault(require("lodash/get"));
22
31
  const set_1 = __importDefault(require("lodash/set"));
23
32
  let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class SearchableTzCrudRepository extends tz_crud_repository_1.TzCrudRepository {
24
- searchableInclusions;
25
- isInclusionRelations;
26
33
  constructor(entityClass, dataSource, opts, scope) {
27
- super(entityClass, dataSource, scope ?? SearchableTzCrudRepository_1.name);
34
+ var _a;
35
+ super(entityClass, dataSource, scope !== null && scope !== void 0 ? scope : SearchableTzCrudRepository_1.name);
28
36
  this.isInclusionRelations = opts.isInclusionRelations;
29
- this.searchableInclusions = opts.searchableInclusions ?? [];
37
+ this.searchableInclusions = (_a = opts.searchableInclusions) !== null && _a !== void 0 ? _a : [];
30
38
  }
31
- async registerOnInclusionChanged(relation, relationRepositoryGetter) {
32
- const relationRepository = await relationRepositoryGetter();
33
- relationRepository.modelClass.observe('after save', async (context) => {
34
- const { isNewInstance, where, instance, options } = context;
35
- let entities = [];
36
- if (isNewInstance) {
37
- entities.push(instance);
38
- }
39
- else {
40
- entities = await relationRepository.find({ where }, options);
41
- }
42
- await this.onInclusionChanged({ relation, relationRepository, entities, options });
43
- });
44
- relationRepository.modelClass.observe('after deleteWithReturn', async (context) => {
45
- const { data } = context;
46
- await this.onInclusionChanged({
47
- relation,
48
- relationRepository,
49
- entities: data,
50
- });
39
+ // ----------------------------------------------------------------------------------------------------
40
+ registerOnInclusionChanged(relation, relationRepositoryGetter) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const relationRepository = yield relationRepositoryGetter();
43
+ relationRepository.modelClass.observe('after save', (context) => __awaiter(this, void 0, void 0, function* () {
44
+ const { isNewInstance, where, instance, options } = context;
45
+ let entities = [];
46
+ if (isNewInstance) {
47
+ entities.push(instance);
48
+ }
49
+ else {
50
+ entities = yield relationRepository.find({ where }, options);
51
+ }
52
+ yield this.onInclusionChanged({ relation, relationRepository, entities, options });
53
+ }));
54
+ relationRepository.modelClass.observe('after deleteWithReturn', (context) => __awaiter(this, void 0, void 0, function* () {
55
+ const { data } = context;
56
+ yield this.onInclusionChanged({
57
+ relation,
58
+ relationRepository,
59
+ entities: data,
60
+ });
61
+ }));
51
62
  });
52
63
  }
53
- async handleInclusionChanged(opts) {
54
- const { relationName, relationType, entities, relationRepository, options } = opts;
55
- const resolved = await relationRepository.inclusionResolvers.get(relationName)?.(entities, {
56
- relation: relationName,
57
- scope: {
58
- include: this.searchableInclusions,
59
- },
60
- }, options);
61
- const promises = [];
62
- switch (relationType) {
63
- case 'belongsTo': {
64
- const rs = resolved;
65
- if (!rs?.length) {
66
- break;
67
- }
68
- for (const r1 of rs) {
69
- if (!r1) {
70
- continue;
64
+ // ----------------------------------------------------------------------------------------------------
65
+ handleInclusionChanged(opts) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ var _a;
68
+ const { relationName, relationType, entities, relationRepository, options } = opts;
69
+ const resolved = yield ((_a = relationRepository.inclusionResolvers.get(relationName)) === null || _a === void 0 ? void 0 : _a(entities, {
70
+ relation: relationName,
71
+ scope: {
72
+ include: this.searchableInclusions,
73
+ },
74
+ }, options));
75
+ const promises = [];
76
+ switch (relationType) {
77
+ case 'belongsTo': {
78
+ const rs = resolved;
79
+ if (!(rs === null || rs === void 0 ? void 0 : rs.length)) {
80
+ break;
71
81
  }
72
- promises.push(this.updateById(r1.id, {
73
- objectSearch: this.renderObjectSearch({ entity: r1 }),
74
- }, { ignoreMixSearchFields: true, options }));
82
+ for (const r1 of rs) {
83
+ if (!r1) {
84
+ continue;
85
+ }
86
+ promises.push(this.updateById(r1.id,
87
+ // TODO: handle type
88
+ {
89
+ objectSearch: this.renderObjectSearch({ entity: r1 }),
90
+ }, { ignoreMixSearchFields: true, options }));
91
+ }
92
+ break;
75
93
  }
76
- break;
77
- }
78
- case 'hasOne': {
79
- break;
80
- }
81
- case 'hasMany':
82
- case 'hasManyThrough': {
83
- const rs = resolved;
84
- if (!rs?.length) {
94
+ case 'hasOne': {
85
95
  break;
86
96
  }
87
- for (const r1 of rs) {
88
- if (!r1?.length) {
97
+ case 'hasMany':
98
+ case 'hasManyThrough': {
99
+ const rs = resolved;
100
+ if (!(rs === null || rs === void 0 ? void 0 : rs.length)) {
89
101
  break;
90
102
  }
91
- for (const r2 of r1) {
92
- if (!rs) {
93
- continue;
103
+ for (const r1 of rs) {
104
+ if (!(r1 === null || r1 === void 0 ? void 0 : r1.length)) {
105
+ break;
106
+ }
107
+ for (const r2 of r1) {
108
+ if (!rs) {
109
+ continue;
110
+ }
111
+ promises.push(this.updateById(r2.id,
112
+ // TODO: handle type
113
+ {
114
+ objectSearch: this.renderObjectSearch({ entity: r2 }),
115
+ }, { ignoreMixSearchFields: true, options }));
94
116
  }
95
- promises.push(this.updateById(r2.id, {
96
- objectSearch: this.renderObjectSearch({ entity: r2 }),
97
- }, { ignoreMixSearchFields: true, options }));
98
117
  }
118
+ break;
119
+ }
120
+ default: {
121
+ break;
99
122
  }
100
- break;
101
- }
102
- default: {
103
- break;
104
123
  }
105
- }
106
- await Promise.all(promises);
124
+ yield Promise.all(promises);
125
+ });
107
126
  }
108
- async renderSearchable(field, data, options) {
109
- const where = (0, get_1.default)(options, 'where');
110
- const isSearchable = (0, get_1.default)(this.modelClass.definition.properties, field, null) !== null;
111
- if (!isSearchable) {
112
- return null;
113
- }
114
- let resolved = [data];
115
- if (this.isInclusionRelations && this.searchableInclusions.length) {
116
- resolved = await this.includeRelatedModels([data], this.searchableInclusions, options);
117
- }
118
- switch (field) {
119
- case 'textSearch': {
120
- return this.renderTextSearch({ data, entity: resolved?.[0] });
127
+ // ----------------------------------------------------------------------------------------------------
128
+ renderSearchable(field, data, options) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const where = (0, get_1.default)(options, 'where');
131
+ const isSearchable = (0, get_1.default)(this.modelClass.definition.properties, field, null) !== null;
132
+ if (!isSearchable) {
133
+ return null;
121
134
  }
122
- case 'objectSearch': {
123
- let currentObjectSearch = {};
124
- if (where) {
125
- const found = await this.findOne({
126
- where,
127
- include: this.searchableInclusions,
128
- });
129
- if (found) {
130
- currentObjectSearch = this.renderObjectSearch({
131
- data,
132
- entity: found,
135
+ let resolved = [data];
136
+ if (this.isInclusionRelations && this.searchableInclusions.length) {
137
+ resolved = yield this.includeRelatedModels([data], this.searchableInclusions, options);
138
+ }
139
+ switch (field) {
140
+ case 'textSearch': {
141
+ return this.renderTextSearch({ data, entity: resolved === null || resolved === void 0 ? void 0 : resolved[0] });
142
+ }
143
+ case 'objectSearch': {
144
+ let currentObjectSearch = {};
145
+ if (where) {
146
+ const found = yield this.findOne({
147
+ where,
148
+ include: this.searchableInclusions,
133
149
  });
150
+ if (found) {
151
+ currentObjectSearch = this.renderObjectSearch({
152
+ data,
153
+ entity: found,
154
+ });
155
+ }
134
156
  }
157
+ const newObjectSearch = this.renderObjectSearch({
158
+ data,
159
+ entity: resolved === null || resolved === void 0 ? void 0 : resolved[0],
160
+ });
161
+ return Object.assign(Object.assign({}, currentObjectSearch), newObjectSearch);
162
+ }
163
+ default: {
164
+ return null;
135
165
  }
136
- const newObjectSearch = this.renderObjectSearch({
137
- data,
138
- entity: resolved?.[0],
139
- });
140
- return { ...currentObjectSearch, ...newObjectSearch };
141
- }
142
- default: {
143
- return null;
144
166
  }
145
- }
167
+ });
146
168
  }
169
+ // ----------------------------------------------------------------------------------------------------
147
170
  mixSearchFields(data, options) {
148
171
  return new Promise((resolve, reject) => {
149
172
  const ignoreMixSearchFields = (0, get_1.default)(options, 'ignoreMixSearchFields');
@@ -166,8 +189,9 @@ let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class Searchable
166
189
  .catch(reject);
167
190
  });
168
191
  }
192
+ // ----------------------------------------------------------------------------------------------------
169
193
  create(data, options) {
170
- const tmp = this.mixUserAudit(data, { newInstance: true, authorId: options?.authorId });
194
+ const tmp = this.mixUserAudit(data, { newInstance: true, authorId: options === null || options === void 0 ? void 0 : options.authorId });
171
195
  return new Promise((resolve, reject) => {
172
196
  this.mixSearchFields(tmp, options)
173
197
  .then(enriched => {
@@ -176,10 +200,11 @@ let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class Searchable
176
200
  .catch(reject);
177
201
  });
178
202
  }
203
+ // ----------------------------------------------------------------------------------------------------
179
204
  createAll(data, options) {
180
205
  return new Promise((resolve, reject) => {
181
206
  Promise.all(data.map(el => {
182
- const tmp = this.mixUserAudit(el, { newInstance: true, authorId: options?.authorId });
207
+ const tmp = this.mixUserAudit(el, { newInstance: true, authorId: options === null || options === void 0 ? void 0 : options.authorId });
183
208
  return this.mixSearchFields(tmp, options);
184
209
  }))
185
210
  .then(enriched => {
@@ -188,18 +213,20 @@ let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class Searchable
188
213
  .catch(reject);
189
214
  });
190
215
  }
216
+ // ----------------------------------------------------------------------------------------------------
191
217
  updateById(id, data, options) {
192
- const tmp = this.mixUserAudit(data, { newInstance: false, authorId: options?.authorId });
218
+ const tmp = this.mixUserAudit(data, { newInstance: false, authorId: options === null || options === void 0 ? void 0 : options.authorId });
193
219
  return new Promise((resolve, reject) => {
194
- this.mixSearchFields(tmp, { ...options, where: { id } })
220
+ this.mixSearchFields(tmp, Object.assign(Object.assign({}, options), { where: { id } }))
195
221
  .then(enriched => {
196
222
  resolve(super.updateById(id, enriched, options));
197
223
  })
198
224
  .catch(reject);
199
225
  });
200
226
  }
227
+ // ----------------------------------------------------------------------------------------------------
201
228
  replaceById(id, data, options) {
202
- const tmp = this.mixUserAudit(data, { newInstance: false, authorId: options?.authorId });
229
+ const tmp = this.mixUserAudit(data, { newInstance: false, authorId: options === null || options === void 0 ? void 0 : options.authorId });
203
230
  return new Promise((resolve, reject) => {
204
231
  this.mixSearchFields(tmp, options)
205
232
  .then(enriched => {
@@ -208,6 +235,7 @@ let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class Searchable
208
235
  .catch(reject);
209
236
  });
210
237
  }
238
+ // ----------------------------------------------------------------------------------------------------
211
239
  _syncSearchFields(entities, options) {
212
240
  const { table, columns } = (0, utilities_1.getTableDefinition)({ model: this.entityClass });
213
241
  const data = entities.map(e => {
@@ -236,30 +264,33 @@ let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class Searchable
236
264
  });
237
265
  return this.execute(query, undefined, options);
238
266
  }
239
- async syncSearchFields(where, options) {
240
- const t = performance.now();
241
- const pagingLimit = (0, get_1.default)(options, 'pagingLimit', 50);
242
- let pagingOffset = 0;
243
- this.logger.info('[syncSearchFields] Start sync searchable fields');
244
- const tasks = [];
245
- while (true) {
246
- const entities = await this.find({ where, include: this.searchableInclusions, limit: pagingLimit, offset: pagingOffset }, options);
247
- this.logger.info('[syncSearchFields] Where: %j | Found: %d', where, entities.length);
248
- tasks.push(() => this._syncSearchFields(entities, options)
249
- .then(() => {
250
- this.logger.info(`[syncSearchFields] Sucess sync %d rows`, entities.length);
251
- })
252
- .catch(e => {
253
- this.logger.error(`[syncSearchFields] Error: %j`, e);
254
- }));
255
- pagingOffset += pagingLimit;
256
- if (entities.length < pagingLimit) {
257
- break;
267
+ // ----------------------------------------------------------------------------------------------------
268
+ syncSearchFields(where, options) {
269
+ return __awaiter(this, void 0, void 0, function* () {
270
+ const t = performance.now();
271
+ const pagingLimit = (0, get_1.default)(options, 'pagingLimit', 50);
272
+ let pagingOffset = 0;
273
+ this.logger.info('[syncSearchFields] Start sync searchable fields');
274
+ const tasks = [];
275
+ while (true) {
276
+ const entities = yield this.find({ where, include: this.searchableInclusions, limit: pagingLimit, offset: pagingOffset }, options);
277
+ this.logger.info('[syncSearchFields] Where: %j | Found: %d', where, entities.length);
278
+ tasks.push(() => this._syncSearchFields(entities, options)
279
+ .then(() => {
280
+ this.logger.info(`[syncSearchFields] Sucess sync %d rows`, entities.length);
281
+ })
282
+ .catch(e => {
283
+ this.logger.error(`[syncSearchFields] Error: %j`, e);
284
+ }));
285
+ pagingOffset += pagingLimit;
286
+ if (entities.length < pagingLimit) {
287
+ break;
288
+ }
258
289
  }
259
- }
260
- await (0, utilities_1.executePromiseWithLimit)({ tasks, limit: 5 });
261
- this.logger.info('[syncSearchFields] End sync searchable fields | Took: %d (ms)', performance.now() - t);
262
- return;
290
+ yield (0, utilities_1.executePromiseWithLimit)({ tasks, limit: 5 });
291
+ this.logger.info('[syncSearchFields] End sync searchable fields | Took: %d (ms)', performance.now() - t);
292
+ return;
293
+ });
263
294
  }
264
295
  };
265
296
  exports.SearchableTzCrudRepository = SearchableTzCrudRepository;
@@ -267,3 +298,4 @@ exports.SearchableTzCrudRepository = SearchableTzCrudRepository = SearchableTzCr
267
298
  (0, core_1.injectable)({ scope: core_1.BindingScope.SINGLETON }),
268
299
  __metadata("design:paramtypes", [Object, repository_1.juggler.DataSource, Object, String])
269
300
  ], SearchableTzCrudRepository);
301
+ //# sourceMappingURL=searchable-tz-crud.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchable-tz-crud.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/searchable-tz-crud.repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -8,10 +17,12 @@ const helpers_1 = require("../../helpers");
8
17
  const utilities_1 = require("../../utilities");
9
18
  const base_repository_1 = require("./base.repository");
10
19
  const get_1 = __importDefault(require("lodash/get"));
20
+ // ----------------------------------------------------------------------------------------------------------------------------------------
11
21
  class TzCrudRepository extends base_repository_1.AbstractTzRepository {
12
22
  constructor(entityClass, dataSource, scope) {
13
23
  super(entityClass, dataSource, scope);
14
24
  }
25
+ // ----------------------------------------------------------------------------------------------------
15
26
  existsWith(where, options) {
16
27
  return new Promise((resolve, reject) => {
17
28
  this.findOne({ where }, options)
@@ -21,44 +32,54 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
21
32
  .catch(reject);
22
33
  });
23
34
  }
35
+ // ----------------------------------------------------------------------------------------------------
24
36
  create(data, options) {
37
+ var _a;
25
38
  let enriched = this.mixTimestamp(data, {
26
39
  newInstance: true,
27
- ignoreModified: options?.ignoreModified ?? false,
40
+ ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
28
41
  });
29
42
  enriched = this.mixUserAudit(enriched, {
30
43
  newInstance: true,
31
- authorId: options?.authorId,
44
+ authorId: options === null || options === void 0 ? void 0 : options.authorId,
32
45
  });
33
46
  return super.create(enriched, options);
34
47
  }
48
+ // ----------------------------------------------------------------------------------------------------
35
49
  createAll(datum, options) {
36
50
  const enriched = datum.map(data => {
51
+ var _a;
37
52
  const tmp = this.mixTimestamp(data, {
38
53
  newInstance: true,
39
- ignoreModified: options?.ignoreModified ?? false,
54
+ ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
40
55
  });
41
56
  return this.mixUserAudit(tmp, {
42
57
  newInstance: true,
43
- authorId: options?.authorId,
58
+ authorId: options === null || options === void 0 ? void 0 : options.authorId,
44
59
  });
45
60
  });
46
61
  return super.createAll(enriched, options);
47
62
  }
63
+ /*
64
+ * @deprecated | Redundant | Please .create
65
+ */
48
66
  createWithReturn(data, options) {
49
67
  return this.create(data, options);
50
68
  }
69
+ // ----------------------------------------------------------------------------------------------------
51
70
  updateById(id, data, options) {
71
+ var _a;
52
72
  let enriched = this.mixTimestamp(data, {
53
73
  newInstance: false,
54
- ignoreModified: options?.ignoreModified ?? false,
74
+ ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
55
75
  });
56
76
  enriched = this.mixUserAudit(enriched, {
57
77
  newInstance: false,
58
- authorId: options?.authorId,
78
+ authorId: options === null || options === void 0 ? void 0 : options.authorId,
59
79
  });
60
80
  return super.updateById(id, enriched, options);
61
81
  }
82
+ // ----------------------------------------------------------------------------------------------------
62
83
  updateWithReturn(id, data, options) {
63
84
  return new Promise((resolve, reject) => {
64
85
  this.updateById(id, data, options)
@@ -72,45 +93,55 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
72
93
  .catch(reject);
73
94
  });
74
95
  }
96
+ // ----------------------------------------------------------------------------------------------------
75
97
  updateAll(data, where, options) {
98
+ var _a;
76
99
  let enriched = this.mixTimestamp(data, {
77
100
  newInstance: false,
78
- ignoreModified: options?.ignoreModified ?? false,
101
+ ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
79
102
  });
80
103
  enriched = this.mixUserAudit(enriched, {
81
104
  newInstance: false,
82
- authorId: options?.authorId,
105
+ authorId: options === null || options === void 0 ? void 0 : options.authorId,
83
106
  });
84
107
  return super.updateAll(enriched, where, options);
85
108
  }
86
- async upsertWith(data, where, options) {
87
- const isExisted = await this.existsWith(where, options);
88
- if (isExisted) {
89
- await this.updateAll(data, where, options);
90
- const rs = await this.findOne({ where }, options);
109
+ // ----------------------------------------------------------------------------------------------------
110
+ upsertWith(data, where, options) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const isExisted = yield this.existsWith(where, options);
113
+ if (isExisted) {
114
+ yield this.updateAll(data, where, options);
115
+ const rs = yield this.findOne({ where }, options);
116
+ return rs;
117
+ }
118
+ const rs = yield this.create(data, options);
91
119
  return rs;
92
- }
93
- const rs = await this.create(data, options);
94
- return rs;
120
+ });
95
121
  }
122
+ // ----------------------------------------------------------------------------------------------------
96
123
  replaceById(id, data, options) {
124
+ var _a;
97
125
  let enriched = this.mixTimestamp(data, {
98
126
  newInstance: false,
99
- ignoreModified: options?.ignoreModified ?? false,
127
+ ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
100
128
  });
101
129
  enriched = this.mixUserAudit(enriched, {
102
130
  newInstance: false,
103
- authorId: options?.authorId,
131
+ authorId: options === null || options === void 0 ? void 0 : options.authorId,
104
132
  });
105
133
  return super.replaceById(id, enriched, options);
106
134
  }
135
+ // ----------------------------------------------------------------------------------------------------
107
136
  _softDelete(where, options) {
108
137
  return new Promise((resolve, reject) => {
109
- const { databaseSchema, connectorType = 'postgresql', softDeleteField = 'isDeleted', useIgnoreModified = false, authorId, } = options ?? {};
138
+ const { databaseSchema, connectorType = 'postgresql', softDeleteField = 'isDeleted', useIgnoreModified = false, authorId, } = options !== null && options !== void 0 ? options : {};
110
139
  const tableName = this.modelClass.definition.tableName(connectorType);
111
140
  const softDeleteColumnName = this.modelClass.definition.columnName(connectorType, softDeleteField);
141
+ // Mix Timestamp
112
142
  const mixTimestampColumnName = this.modelClass.definition.columnName(connectorType, 'modifiedAt');
113
143
  const schema = (0, get_1.default)(this.modelClass.definition.settings, `${connectorType}.schema`, 'public');
144
+ // Mix User Audit
114
145
  const mixUserAuditColumnName = this.modelClass.definition.columnName(connectorType, 'modifiedBy');
115
146
  const isSoftDeleteFieldExist = (0, get_1.default)(this.modelClass.definition.rawProperties, softDeleteField);
116
147
  if (!isSoftDeleteFieldExist) {
@@ -121,8 +152,9 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
121
152
  const now = new Date();
122
153
  this.find({ fields: { id: true }, where })
123
154
  .then(rs => {
155
+ var _a;
124
156
  const sqlBuilder = helpers_1.QueryBuilderHelper.getPostgresQueryBuilder()
125
- .withSchema(databaseSchema ?? schema ?? 'public')
157
+ .withSchema((_a = databaseSchema !== null && databaseSchema !== void 0 ? databaseSchema : schema) !== null && _a !== void 0 ? _a : 'public')
126
158
  .from(tableName)
127
159
  .update({ [softDeleteColumnName]: true })
128
160
  .whereIn('id', rs.map(el => el.id));
@@ -164,11 +196,12 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
164
196
  });
165
197
  });
166
198
  }
199
+ // ----------------------------------------------------------------------------------------------------
167
200
  mixTimestamp(entity, options = {
168
201
  newInstance: false,
169
202
  ignoreModified: false,
170
203
  }) {
171
- if (options?.newInstance) {
204
+ if (options === null || options === void 0 ? void 0 : options.newInstance) {
172
205
  entity.createdAt = new Date();
173
206
  }
174
207
  if (!options.ignoreModified) {
@@ -177,15 +210,16 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
177
210
  return entity;
178
211
  }
179
212
  mixUserAudit(entity, options) {
180
- if (!options?.authorId) {
213
+ if (!(options === null || options === void 0 ? void 0 : options.authorId)) {
181
214
  return entity;
182
215
  }
183
- if (options?.newInstance) {
216
+ if (options === null || options === void 0 ? void 0 : options.newInstance) {
184
217
  entity.createdBy = options.authorId;
185
218
  }
186
219
  entity.modifiedBy = options.authorId;
187
220
  return entity;
188
221
  }
222
+ // ----------------------------------------------------------------------------------------------------
189
223
  _deleteWithReturn(where, options) {
190
224
  return new Promise((resolve, reject) => {
191
225
  this.find({ where })
@@ -220,6 +254,7 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
220
254
  });
221
255
  });
222
256
  }
257
+ // ----------------------------------------------------------------------------------------------------
223
258
  batchUpdate(opts) {
224
259
  const { data, keys, setKeys, whereKeys, whereRaws = [], options } = opts;
225
260
  const query = (0, utilities_1.buildBatchUpdateQuery)({
@@ -234,3 +269,4 @@ class TzCrudRepository extends base_repository_1.AbstractTzRepository {
234
269
  }
235
270
  }
236
271
  exports.TzCrudRepository = TzCrudRepository;
272
+ //# sourceMappingURL=tz-crud.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tz-crud.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/tz-crud.repository.ts"],"names":[],"mappings":"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"}