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

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 (582) hide show
  1. package/dist/base/applications/base.application.d.ts +2 -1
  2. package/dist/base/applications/base.application.js +31 -41
  3. package/dist/base/applications/default.application.js +2 -9
  4. package/dist/base/applications/index.js +0 -1
  5. package/dist/base/base.component.js +2 -3
  6. package/dist/base/base.helper.js +4 -4
  7. package/dist/base/base.provider.js +2 -3
  8. package/dist/base/base.sequence.js +17 -27
  9. package/dist/base/controllers/common.js +8 -10
  10. package/dist/base/controllers/crud.controller.js +55 -68
  11. package/dist/base/controllers/express-request-handler.d.ts +16 -0
  12. package/dist/base/controllers/express-request-handler.js +19 -0
  13. package/dist/base/controllers/index.d.ts +1 -0
  14. package/dist/base/controllers/index.js +1 -1
  15. package/dist/base/controllers/kv.controller.js +7 -19
  16. package/dist/base/controllers/relational.controller.d.ts +1 -3
  17. package/dist/base/controllers/relational.controller.js +40 -58
  18. package/dist/base/controllers/service-crud.controller.js +46 -47
  19. package/dist/base/datasources/base.datasource.js +1 -1
  20. package/dist/base/datasources/index.js +0 -1
  21. package/dist/base/datasources/types.js +0 -1
  22. package/dist/base/index.js +0 -1
  23. package/dist/base/loopback/@lb/auth/index.js +0 -1
  24. package/dist/base/loopback/@lb/core/index.d.ts +1 -1
  25. package/dist/base/loopback/@lb/core/index.js +1 -2
  26. package/dist/base/loopback/@lb/repository/index.d.ts +0 -1
  27. package/dist/base/loopback/@lb/repository/index.js +0 -2
  28. package/dist/base/loopback/@lb/rest/index.js +0 -1
  29. package/dist/base/loopback/authentication/index.d.ts +0 -2
  30. package/dist/base/loopback/authentication/index.js +0 -2
  31. package/dist/base/loopback/authorization/index.js +0 -1
  32. package/dist/base/loopback/boot/index.js +0 -1
  33. package/dist/base/loopback/core/index.js +0 -1
  34. package/dist/base/loopback/filter/index.d.ts +1 -2
  35. package/dist/base/loopback/filter/index.js +0 -16
  36. package/dist/base/loopback/health-check/index.d.ts +2 -0
  37. package/dist/base/loopback/health-check/index.js +17 -0
  38. package/dist/base/loopback/http-server/index.d.ts +1 -2
  39. package/dist/base/loopback/http-server/index.js +0 -16
  40. package/dist/base/loopback/metadata/index.js +0 -1
  41. package/dist/base/loopback/repository/index.js +0 -1
  42. package/dist/base/loopback/rest/index.js +0 -1
  43. package/dist/base/loopback/security/index.js +0 -1
  44. package/dist/base/loopback/service-proxy/index.js +0 -1
  45. package/dist/base/models/base.model.d.ts +0 -7
  46. package/dist/base/models/base.model.js +5 -24
  47. package/dist/base/models/index.js +0 -1
  48. package/dist/base/repositories/base.repository.d.ts +0 -3
  49. package/dist/base/repositories/base.repository.js +5 -25
  50. package/dist/base/repositories/index.js +0 -1
  51. package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +0 -8
  52. package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +11 -11
  53. package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +0 -9
  54. package/dist/base/repositories/relations/has-many-polymorphic/factory.js +12 -31
  55. package/dist/base/repositories/relations/has-many-polymorphic/index.js +0 -1
  56. package/dist/base/repositories/relations/has-many-polymorphic/types.js +0 -1
  57. package/dist/base/repositories/relations/index.js +0 -1
  58. package/dist/base/repositories/searchable-tz-crud.repository.js +129 -161
  59. package/dist/base/repositories/tz-crud.repository.js +23 -59
  60. package/dist/base/services/base-crud.service.js +6 -10
  61. package/dist/base/services/base.service.js +2 -3
  62. package/dist/base/services/index.js +0 -1
  63. package/dist/common/constants.js +81 -90
  64. package/dist/common/environments.js +25 -26
  65. package/dist/common/index.js +0 -1
  66. package/dist/common/keys.js +2 -3
  67. package/dist/common/statuses.js +28 -32
  68. package/dist/common/types.d.ts +0 -3
  69. package/dist/common/types.js +0 -1
  70. package/dist/components/authenticate/common/constants.js +11 -14
  71. package/dist/components/authenticate/common/index.js +0 -1
  72. package/dist/components/authenticate/common/keys.js +7 -8
  73. package/dist/components/authenticate/common/types.js +11 -4
  74. package/dist/components/authenticate/component.js +22 -30
  75. package/dist/components/authenticate/controllers/auth.controller.js +13 -12
  76. package/dist/components/authenticate/controllers/index.js +0 -1
  77. package/dist/components/authenticate/controllers/oauth2.controller.d.ts +6 -9
  78. package/dist/components/authenticate/controllers/oauth2.controller.js +20 -28
  79. package/dist/components/authenticate/index.js +0 -1
  80. package/dist/components/authenticate/middleware.js +25 -36
  81. package/dist/components/authenticate/models/index.js +0 -1
  82. package/dist/components/authenticate/models/oauth2-client.model.js +8 -4
  83. package/dist/components/authenticate/models/oauth2-scope.model.js +4 -1
  84. package/dist/components/authenticate/models/oauth2-token.model.js +7 -1
  85. package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +4 -6
  86. package/dist/components/authenticate/oauth2-handlers/base.js +95 -111
  87. package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +2 -4
  88. package/dist/components/authenticate/oauth2-handlers/index.js +0 -1
  89. package/dist/components/authenticate/oauth2-handlers/oauth2.js +3 -3
  90. package/dist/components/authenticate/oauth2-handlers/password.handler.js +0 -1
  91. package/dist/components/authenticate/repositories/index.js +0 -1
  92. package/dist/components/authenticate/repositories/oauth2.repository.js +2 -1
  93. package/dist/components/authenticate/services/basic-token.service.js +18 -30
  94. package/dist/components/authenticate/services/basic.strategy.js +7 -18
  95. package/dist/components/authenticate/services/index.js +0 -1
  96. package/dist/components/authenticate/services/jwt-token.service.js +27 -41
  97. package/dist/components/authenticate/services/jwt.strategy.js +2 -2
  98. package/dist/components/authenticate/services/oauth2.service.js +98 -111
  99. package/dist/components/authenticate/services/oauth2.strategy.js +19 -32
  100. package/dist/components/authorize/adapters/adapter-builder.js +1 -1
  101. package/dist/components/authorize/adapters/base.adapter.js +2 -10
  102. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +37 -56
  103. package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +0 -2
  104. package/dist/components/authorize/adapters/index.js +0 -1
  105. package/dist/components/authorize/common/constants.js +10 -13
  106. package/dist/components/authorize/common/index.js +0 -1
  107. package/dist/components/authorize/common/keys.js +15 -16
  108. package/dist/components/authorize/common/types.js +2 -3
  109. package/dist/components/authorize/component.js +44 -60
  110. package/dist/components/authorize/decorators/index.d.ts +0 -11
  111. package/dist/components/authorize/decorators/index.js +1 -15
  112. package/dist/components/authorize/index.js +0 -1
  113. package/dist/components/authorize/interceptor.js +76 -81
  114. package/dist/components/authorize/migrations/0000-create-view-policy.js +3 -15
  115. package/dist/components/authorize/migrations/index.js +0 -1
  116. package/dist/components/authorize/models/defs.d.ts +5 -5
  117. package/dist/components/authorize/models/defs.js +24 -6
  118. package/dist/components/authorize/models/index.js +0 -1
  119. package/dist/components/authorize/models/permission-mapping.model.d.ts +1 -1
  120. package/dist/components/authorize/models/permission-mapping.model.js +0 -1
  121. package/dist/components/authorize/models/permission.model.d.ts +1 -1
  122. package/dist/components/authorize/models/permission.model.js +0 -1
  123. package/dist/components/authorize/models/role.model.d.ts +1 -1
  124. package/dist/components/authorize/models/role.model.js +1 -2
  125. package/dist/components/authorize/models/user-role.model.d.ts +1 -1
  126. package/dist/components/authorize/models/user-role.model.js +0 -2
  127. package/dist/components/authorize/models/view-authorize-policy.model.js +4 -2
  128. package/dist/components/authorize/provider.js +81 -97
  129. package/dist/components/authorize/repositories/authorize.repository.js +3 -7
  130. package/dist/components/authorize/repositories/index.js +0 -1
  131. package/dist/components/authorize/services/enforcer.service.js +20 -28
  132. package/dist/components/authorize/services/generator.service.d.ts +0 -20
  133. package/dist/components/authorize/services/generator.service.js +62 -97
  134. package/dist/components/authorize/services/index.js +0 -1
  135. package/dist/components/crash-report/common/constants.js +0 -1
  136. package/dist/components/crash-report/common/index.js +0 -1
  137. package/dist/components/crash-report/common/keys.js +8 -11
  138. package/dist/components/crash-report/common/types.js +0 -1
  139. package/dist/components/crash-report/component.js +31 -45
  140. package/dist/components/crash-report/index.js +0 -1
  141. package/dist/components/crash-report/providers/index.js +0 -1
  142. package/dist/components/crash-report/providers/provider.js +1 -1
  143. package/dist/components/crash-report/providers/third-parties/base.js +2 -3
  144. package/dist/components/crash-report/providers/third-parties/index.js +0 -1
  145. package/dist/components/crash-report/services/index.js +0 -1
  146. package/dist/components/crash-report/services/mt-crash-report.service.js +5 -6
  147. package/dist/components/grpc/common/constants.js +0 -1
  148. package/dist/components/grpc/common/index.js +0 -1
  149. package/dist/components/grpc/common/keys.js +4 -5
  150. package/dist/components/grpc/common/types.js +0 -1
  151. package/dist/components/grpc/components/index.js +0 -1
  152. package/dist/components/grpc/components/server.component.js +9 -10
  153. package/dist/components/grpc/controllers/base.js +1 -1
  154. package/dist/components/grpc/controllers/index.js +0 -1
  155. package/dist/components/grpc/decorators/index.js +0 -1
  156. package/dist/components/grpc/helpers/grpc-client.js +9 -4
  157. package/dist/components/grpc/helpers/grpc-server.js +14 -18
  158. package/dist/components/grpc/helpers/index.js +0 -1
  159. package/dist/components/grpc/index.js +0 -1
  160. package/dist/components/grpc/persistents/grpc.connector.js +8 -3
  161. package/dist/components/grpc/persistents/grpc.datasource.js +2 -4
  162. package/dist/components/grpc/persistents/grpc.repository.js +3 -3
  163. package/dist/components/grpc/persistents/index.js +0 -1
  164. package/dist/components/health-check/component.d.ts +7 -0
  165. package/dist/components/health-check/component.js +51 -0
  166. package/dist/components/health-check/index.d.ts +1 -0
  167. package/dist/components/health-check/index.js +17 -0
  168. package/dist/components/index.d.ts +2 -1
  169. package/dist/components/index.js +2 -2
  170. package/dist/components/migration/common/index.js +0 -1
  171. package/dist/components/migration/common/keys.js +3 -4
  172. package/dist/components/migration/common/types.js +0 -1
  173. package/dist/components/migration/component.js +5 -9
  174. package/dist/components/migration/index.js +0 -1
  175. package/dist/components/migration/models/index.js +0 -1
  176. package/dist/components/migration/models/migration.model.js +2 -1
  177. package/dist/components/migration/repositories/index.js +0 -1
  178. package/dist/components/migration/repositories/migration.repository.js +0 -1
  179. package/dist/components/socket-io/common/constants.js +10 -11
  180. package/dist/components/socket-io/common/index.js +0 -1
  181. package/dist/components/socket-io/common/keys.js +6 -7
  182. package/dist/components/socket-io/component.js +9 -9
  183. package/dist/components/socket-io/helpers/index.js +0 -1
  184. package/dist/components/socket-io/helpers/socket-io-client.helper.js +7 -12
  185. package/dist/components/socket-io/helpers/socket-io-server.helper.js +26 -42
  186. package/dist/components/socket-io/index.js +0 -1
  187. package/dist/components/static-asset/common/index.js +0 -1
  188. package/dist/components/static-asset/common/keys.js +4 -5
  189. package/dist/components/static-asset/component.js +9 -9
  190. package/dist/components/static-asset/controllers/asset.controller.d.ts +0 -8
  191. package/dist/components/static-asset/controllers/asset.controller.js +71 -94
  192. package/dist/components/static-asset/controllers/index.js +0 -1
  193. package/dist/components/static-asset/controllers/resource.controller.js +8 -10
  194. package/dist/components/static-asset/index.js +0 -1
  195. package/dist/datasources/index.d.ts +1 -1
  196. package/dist/datasources/index.js +1 -2
  197. package/dist/datasources/{kvmem → memory}/datasource.js +3 -4
  198. package/dist/datasources/{kvmem → memory}/index.js +0 -1
  199. package/dist/datasources/postgres/datasource.js +10 -11
  200. package/dist/datasources/postgres/index.js +0 -1
  201. package/dist/datasources/postgres/types.js +0 -1
  202. package/dist/datasources/redis/connector.js +18 -8
  203. package/dist/datasources/redis/datasource.js +7 -8
  204. package/dist/datasources/redis/index.js +0 -1
  205. package/dist/datasources/redis/types.js +0 -1
  206. package/dist/helpers/application-environment.helper.js +3 -4
  207. package/dist/helpers/cron.helper.js +9 -15
  208. package/dist/helpers/crypto/algorithms/aes.algorithm.js +8 -8
  209. package/dist/helpers/crypto/algorithms/base.algorithm.js +3 -5
  210. package/dist/helpers/crypto/algorithms/index.js +0 -1
  211. package/dist/helpers/crypto/algorithms/rsa.algorithm.js +4 -6
  212. package/dist/helpers/crypto/common/constants.js +0 -1
  213. package/dist/helpers/crypto/common/index.js +0 -1
  214. package/dist/helpers/crypto/common/types.js +0 -1
  215. package/dist/helpers/crypto/index.js +0 -1
  216. package/dist/helpers/database/index.js +0 -1
  217. package/dist/helpers/database/query-builder.helper.js +2 -6
  218. package/dist/helpers/index.js +0 -1
  219. package/dist/helpers/logger/application-logger.js +7 -18
  220. package/dist/helpers/logger/common/index.js +0 -1
  221. package/dist/helpers/logger/common/types.js +20 -23
  222. package/dist/helpers/logger/default-logger.js +2 -13
  223. package/dist/helpers/logger/factory.js +1 -2
  224. package/dist/helpers/logger/index.js +0 -1
  225. package/dist/helpers/logger/transports/dgram.transport.js +16 -26
  226. package/dist/helpers/logger/transports/index.js +0 -1
  227. package/dist/helpers/network/http-request/base-network-request.helper.d.ts +3 -0
  228. package/dist/helpers/network/http-request/base-network-request.helper.js +39 -35
  229. package/dist/helpers/network/http-request/fetcher/axios-fetcher.d.ts +2 -3
  230. package/dist/helpers/network/http-request/fetcher/axios-fetcher.js +10 -23
  231. package/dist/helpers/network/http-request/fetcher/base-fetcher.d.ts +5 -1
  232. package/dist/helpers/network/http-request/fetcher/base-fetcher.js +16 -37
  233. package/dist/helpers/network/http-request/fetcher/index.js +0 -1
  234. package/dist/helpers/network/http-request/fetcher/node-fetcher.d.ts +2 -2
  235. package/dist/helpers/network/http-request/fetcher/node-fetcher.js +28 -13
  236. package/dist/helpers/network/http-request/index.js +0 -1
  237. package/dist/helpers/network/http-request/types.d.ts +2 -1
  238. package/dist/helpers/network/http-request/types.js +0 -1
  239. package/dist/helpers/network/index.js +0 -1
  240. package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js +30 -28
  241. package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js +21 -20
  242. package/dist/helpers/network/tcp-socket/index.js +0 -1
  243. package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js +5 -2
  244. package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js +5 -2
  245. package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js +5 -2
  246. package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js +5 -2
  247. package/dist/helpers/network/udp-socket/index.js +0 -1
  248. package/dist/helpers/network/udp-socket/network-udp-client.helper.js +21 -19
  249. package/dist/helpers/queue/bullmq.helper.js +21 -23
  250. package/dist/helpers/queue/index.js +0 -1
  251. package/dist/helpers/queue/mqtt.helper.js +15 -18
  252. package/dist/helpers/queue/queue.helper.js +74 -146
  253. package/dist/helpers/redis/default.helper.js +117 -163
  254. package/dist/helpers/redis/index.js +0 -1
  255. package/dist/helpers/redis/redis-cluster.helper.js +7 -3
  256. package/dist/helpers/redis/redis.helper.js +8 -6
  257. package/dist/helpers/redis/types.js +0 -1
  258. package/dist/helpers/storage/di-container.helper.js +2 -1
  259. package/dist/helpers/storage/index.js +0 -1
  260. package/dist/helpers/storage/minio.helper.js +88 -129
  261. package/dist/helpers/testing/common.js +3 -4
  262. package/dist/helpers/testing/describe.js +14 -22
  263. package/dist/helpers/testing/index.js +0 -1
  264. package/dist/helpers/testing/test-case.js +5 -1
  265. package/dist/helpers/testing/test-handler.js +23 -31
  266. package/dist/helpers/testing/test-plan/base.js +9 -7
  267. package/dist/helpers/testing/test-plan/default.js +0 -1
  268. package/dist/helpers/testing/test-plan/index.js +0 -1
  269. package/dist/helpers/testing/types.js +0 -1
  270. package/dist/helpers/worker-thread/base.js +10 -21
  271. package/dist/helpers/worker-thread/index.js +0 -1
  272. package/dist/helpers/worker-thread/types.js +0 -1
  273. package/dist/helpers/worker-thread/worker-bus.js +11 -13
  274. package/dist/helpers/worker-thread/worker-pool.js +17 -26
  275. package/dist/index.js +0 -1
  276. package/dist/interceptors/content-range.interceptor.js +115 -133
  277. package/dist/interceptors/index.js +0 -1
  278. package/dist/middlewares/index.js +0 -1
  279. package/dist/middlewares/request-body-parser.middleware.js +4 -17
  280. package/dist/middlewares/request-spy.middleware.js +4 -6
  281. package/dist/migrations/base-path.js +0 -1
  282. package/dist/migrations/handler.js +13 -23
  283. package/dist/migrations/index.js +0 -1
  284. package/dist/mixins/data-type.mixin.js +5 -1
  285. package/dist/mixins/deprecated/user-audit.mixin.d.ts +0 -3
  286. package/dist/mixins/deprecated/user-audit.mixin.js +2 -6
  287. package/dist/mixins/duplicatable.mixin.js +1 -1
  288. package/dist/mixins/index.js +0 -1
  289. package/dist/mixins/object-search.mixin.js +1 -1
  290. package/dist/mixins/principal.mixin.js +2 -1
  291. package/dist/mixins/soft-delete.mixin.js +1 -1
  292. package/dist/mixins/soft-persistent.mixin.js +1 -1
  293. package/dist/mixins/text-search.mixin.js +1 -1
  294. package/dist/mixins/tz.mixin.js +2 -1
  295. package/dist/mixins/user-audit.mixin.js +5 -4
  296. package/dist/mixins/vector.mixin.js +9 -7
  297. package/dist/tsconfig.base.json +11 -4
  298. package/dist/utilities/crypto.utility.js +0 -1
  299. package/dist/utilities/date.utility.js +5 -24
  300. package/dist/utilities/error.utility.js +2 -1
  301. package/dist/utilities/index.js +0 -1
  302. package/dist/utilities/model.utility.js +2 -7
  303. package/dist/utilities/parse.utility.d.ts +0 -16
  304. package/dist/utilities/parse.utility.js +6 -42
  305. package/dist/utilities/performance.utility.js +1 -3
  306. package/dist/utilities/promise.utility.d.ts +0 -17
  307. package/dist/utilities/promise.utility.js +5 -32
  308. package/dist/utilities/query.utility.js +8 -17
  309. package/dist/utilities/request.utility.js +2 -9
  310. package/dist/utilities/url.utility.js +0 -1
  311. package/package.json +11 -7
  312. package/dist/base/applications/base.application.js.map +0 -1
  313. package/dist/base/applications/default.application.js.map +0 -1
  314. package/dist/base/applications/index.js.map +0 -1
  315. package/dist/base/base.component.js.map +0 -1
  316. package/dist/base/base.helper.js.map +0 -1
  317. package/dist/base/base.provider.js.map +0 -1
  318. package/dist/base/base.sequence.js.map +0 -1
  319. package/dist/base/controllers/common.js.map +0 -1
  320. package/dist/base/controllers/crud.controller.js.map +0 -1
  321. package/dist/base/controllers/index.js.map +0 -1
  322. package/dist/base/controllers/kv.controller.js.map +0 -1
  323. package/dist/base/controllers/relational.controller.js.map +0 -1
  324. package/dist/base/controllers/service-crud.controller.js.map +0 -1
  325. package/dist/base/datasources/base.datasource.js.map +0 -1
  326. package/dist/base/datasources/index.js.map +0 -1
  327. package/dist/base/datasources/types.js.map +0 -1
  328. package/dist/base/index.js.map +0 -1
  329. package/dist/base/loopback/@lb/auth/index.js.map +0 -1
  330. package/dist/base/loopback/@lb/core/index.js.map +0 -1
  331. package/dist/base/loopback/@lb/repository/index.js.map +0 -1
  332. package/dist/base/loopback/@lb/rest/index.js.map +0 -1
  333. package/dist/base/loopback/authentication/index.js.map +0 -1
  334. package/dist/base/loopback/authorization/index.js.map +0 -1
  335. package/dist/base/loopback/boot/index.js.map +0 -1
  336. package/dist/base/loopback/core/index.js.map +0 -1
  337. package/dist/base/loopback/filter/index.js.map +0 -1
  338. package/dist/base/loopback/http-server/index.js.map +0 -1
  339. package/dist/base/loopback/metadata/index.js.map +0 -1
  340. package/dist/base/loopback/repository/index.js.map +0 -1
  341. package/dist/base/loopback/rest/index.js.map +0 -1
  342. package/dist/base/loopback/security/index.js.map +0 -1
  343. package/dist/base/loopback/service-proxy/index.js.map +0 -1
  344. package/dist/base/models/base.model.js.map +0 -1
  345. package/dist/base/models/index.js.map +0 -1
  346. package/dist/base/repositories/base.repository.js.map +0 -1
  347. package/dist/base/repositories/index.js.map +0 -1
  348. package/dist/base/repositories/relations/has-many-polymorphic/decorator.js.map +0 -1
  349. package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +0 -1
  350. package/dist/base/repositories/relations/has-many-polymorphic/index.js.map +0 -1
  351. package/dist/base/repositories/relations/has-many-polymorphic/types.js.map +0 -1
  352. package/dist/base/repositories/relations/index.js.map +0 -1
  353. package/dist/base/repositories/searchable-tz-crud.repository.js.map +0 -1
  354. package/dist/base/repositories/tz-crud.repository.js.map +0 -1
  355. package/dist/base/services/base-crud.service.js.map +0 -1
  356. package/dist/base/services/base.service.js.map +0 -1
  357. package/dist/base/services/index.js.map +0 -1
  358. package/dist/common/constants.js.map +0 -1
  359. package/dist/common/environments.js.map +0 -1
  360. package/dist/common/index.js.map +0 -1
  361. package/dist/common/keys.js.map +0 -1
  362. package/dist/common/statuses.js.map +0 -1
  363. package/dist/common/types.js.map +0 -1
  364. package/dist/components/authenticate/common/constants.js.map +0 -1
  365. package/dist/components/authenticate/common/index.js.map +0 -1
  366. package/dist/components/authenticate/common/keys.js.map +0 -1
  367. package/dist/components/authenticate/common/types.js.map +0 -1
  368. package/dist/components/authenticate/component.js.map +0 -1
  369. package/dist/components/authenticate/controllers/auth.controller.js.map +0 -1
  370. package/dist/components/authenticate/controllers/index.js.map +0 -1
  371. package/dist/components/authenticate/controllers/oauth2.controller.js.map +0 -1
  372. package/dist/components/authenticate/index.js.map +0 -1
  373. package/dist/components/authenticate/middleware.js.map +0 -1
  374. package/dist/components/authenticate/models/index.js.map +0 -1
  375. package/dist/components/authenticate/models/oauth2-client.model.js.map +0 -1
  376. package/dist/components/authenticate/models/oauth2-scope.model.js.map +0 -1
  377. package/dist/components/authenticate/models/oauth2-token.model.js.map +0 -1
  378. package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +0 -1
  379. package/dist/components/authenticate/oauth2-handlers/base.js.map +0 -1
  380. package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +0 -1
  381. package/dist/components/authenticate/oauth2-handlers/index.js.map +0 -1
  382. package/dist/components/authenticate/oauth2-handlers/oauth2.js.map +0 -1
  383. package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +0 -1
  384. package/dist/components/authenticate/repositories/index.js.map +0 -1
  385. package/dist/components/authenticate/repositories/oauth2.repository.js.map +0 -1
  386. package/dist/components/authenticate/services/basic-token.service.js.map +0 -1
  387. package/dist/components/authenticate/services/basic.strategy.js.map +0 -1
  388. package/dist/components/authenticate/services/index.js.map +0 -1
  389. package/dist/components/authenticate/services/jwt-token.service.js.map +0 -1
  390. package/dist/components/authenticate/services/jwt.strategy.js.map +0 -1
  391. package/dist/components/authenticate/services/oauth2.service.js.map +0 -1
  392. package/dist/components/authenticate/services/oauth2.strategy.js.map +0 -1
  393. package/dist/components/authorize/adapters/adapter-builder.js.map +0 -1
  394. package/dist/components/authorize/adapters/base.adapter.js.map +0 -1
  395. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +0 -1
  396. package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js.map +0 -1
  397. package/dist/components/authorize/adapters/index.js.map +0 -1
  398. package/dist/components/authorize/common/constants.js.map +0 -1
  399. package/dist/components/authorize/common/index.js.map +0 -1
  400. package/dist/components/authorize/common/keys.js.map +0 -1
  401. package/dist/components/authorize/common/types.js.map +0 -1
  402. package/dist/components/authorize/component.js.map +0 -1
  403. package/dist/components/authorize/decorators/index.js.map +0 -1
  404. package/dist/components/authorize/index.js.map +0 -1
  405. package/dist/components/authorize/interceptor.js.map +0 -1
  406. package/dist/components/authorize/migrations/0000-create-view-policy.js.map +0 -1
  407. package/dist/components/authorize/migrations/index.js.map +0 -1
  408. package/dist/components/authorize/models/defs.js.map +0 -1
  409. package/dist/components/authorize/models/index.js.map +0 -1
  410. package/dist/components/authorize/models/permission-mapping.model.js.map +0 -1
  411. package/dist/components/authorize/models/permission.model.js.map +0 -1
  412. package/dist/components/authorize/models/role.model.js.map +0 -1
  413. package/dist/components/authorize/models/user-role.model.js.map +0 -1
  414. package/dist/components/authorize/models/view-authorize-policy.model.js.map +0 -1
  415. package/dist/components/authorize/provider.js.map +0 -1
  416. package/dist/components/authorize/repositories/authorize.repository.js.map +0 -1
  417. package/dist/components/authorize/repositories/index.js.map +0 -1
  418. package/dist/components/authorize/services/enforcer.service.js.map +0 -1
  419. package/dist/components/authorize/services/generator.service.js.map +0 -1
  420. package/dist/components/authorize/services/index.js.map +0 -1
  421. package/dist/components/crash-report/common/constants.js.map +0 -1
  422. package/dist/components/crash-report/common/index.js.map +0 -1
  423. package/dist/components/crash-report/common/keys.js.map +0 -1
  424. package/dist/components/crash-report/common/types.js.map +0 -1
  425. package/dist/components/crash-report/component.js.map +0 -1
  426. package/dist/components/crash-report/index.js.map +0 -1
  427. package/dist/components/crash-report/providers/index.js.map +0 -1
  428. package/dist/components/crash-report/providers/provider.js.map +0 -1
  429. package/dist/components/crash-report/providers/third-parties/base.js.map +0 -1
  430. package/dist/components/crash-report/providers/third-parties/index.js.map +0 -1
  431. package/dist/components/crash-report/services/index.js.map +0 -1
  432. package/dist/components/crash-report/services/mt-crash-report.service.js.map +0 -1
  433. package/dist/components/grpc/common/constants.js.map +0 -1
  434. package/dist/components/grpc/common/index.js.map +0 -1
  435. package/dist/components/grpc/common/keys.js.map +0 -1
  436. package/dist/components/grpc/common/types.js.map +0 -1
  437. package/dist/components/grpc/components/index.js.map +0 -1
  438. package/dist/components/grpc/components/server.component.js.map +0 -1
  439. package/dist/components/grpc/controllers/base.js.map +0 -1
  440. package/dist/components/grpc/controllers/index.js.map +0 -1
  441. package/dist/components/grpc/decorators/index.js.map +0 -1
  442. package/dist/components/grpc/helpers/grpc-client.js.map +0 -1
  443. package/dist/components/grpc/helpers/grpc-server.js.map +0 -1
  444. package/dist/components/grpc/helpers/index.js.map +0 -1
  445. package/dist/components/grpc/index.js.map +0 -1
  446. package/dist/components/grpc/persistents/grpc.connector.js.map +0 -1
  447. package/dist/components/grpc/persistents/grpc.datasource.js.map +0 -1
  448. package/dist/components/grpc/persistents/grpc.repository.js.map +0 -1
  449. package/dist/components/grpc/persistents/index.js.map +0 -1
  450. package/dist/components/index.js.map +0 -1
  451. package/dist/components/migration/common/index.js.map +0 -1
  452. package/dist/components/migration/common/keys.js.map +0 -1
  453. package/dist/components/migration/common/types.js.map +0 -1
  454. package/dist/components/migration/component.js.map +0 -1
  455. package/dist/components/migration/index.js.map +0 -1
  456. package/dist/components/migration/models/index.js.map +0 -1
  457. package/dist/components/migration/models/migration.model.js.map +0 -1
  458. package/dist/components/migration/repositories/index.js.map +0 -1
  459. package/dist/components/migration/repositories/migration.repository.js.map +0 -1
  460. package/dist/components/socket-io/common/constants.js.map +0 -1
  461. package/dist/components/socket-io/common/index.js.map +0 -1
  462. package/dist/components/socket-io/common/keys.js.map +0 -1
  463. package/dist/components/socket-io/component.js.map +0 -1
  464. package/dist/components/socket-io/helpers/index.js.map +0 -1
  465. package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +0 -1
  466. package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +0 -1
  467. package/dist/components/socket-io/index.js.map +0 -1
  468. package/dist/components/static-asset/common/index.js.map +0 -1
  469. package/dist/components/static-asset/common/keys.js.map +0 -1
  470. package/dist/components/static-asset/component.js.map +0 -1
  471. package/dist/components/static-asset/controllers/asset.controller.js.map +0 -1
  472. package/dist/components/static-asset/controllers/index.js.map +0 -1
  473. package/dist/components/static-asset/controllers/resource.controller.js.map +0 -1
  474. package/dist/components/static-asset/index.js.map +0 -1
  475. package/dist/datasources/index.js.map +0 -1
  476. package/dist/datasources/kvmem/datasource.js.map +0 -1
  477. package/dist/datasources/kvmem/index.js.map +0 -1
  478. package/dist/datasources/postgres/datasource.js.map +0 -1
  479. package/dist/datasources/postgres/index.js.map +0 -1
  480. package/dist/datasources/postgres/types.js.map +0 -1
  481. package/dist/datasources/redis/connector.js.map +0 -1
  482. package/dist/datasources/redis/datasource.js.map +0 -1
  483. package/dist/datasources/redis/index.js.map +0 -1
  484. package/dist/datasources/redis/types.js.map +0 -1
  485. package/dist/helpers/application-environment.helper.js.map +0 -1
  486. package/dist/helpers/cron.helper.js.map +0 -1
  487. package/dist/helpers/crypto/algorithms/aes.algorithm.js.map +0 -1
  488. package/dist/helpers/crypto/algorithms/base.algorithm.js.map +0 -1
  489. package/dist/helpers/crypto/algorithms/index.js.map +0 -1
  490. package/dist/helpers/crypto/algorithms/rsa.algorithm.js.map +0 -1
  491. package/dist/helpers/crypto/common/constants.js.map +0 -1
  492. package/dist/helpers/crypto/common/index.js.map +0 -1
  493. package/dist/helpers/crypto/common/types.js.map +0 -1
  494. package/dist/helpers/crypto/index.js.map +0 -1
  495. package/dist/helpers/database/index.js.map +0 -1
  496. package/dist/helpers/database/query-builder.helper.js.map +0 -1
  497. package/dist/helpers/index.js.map +0 -1
  498. package/dist/helpers/logger/application-logger.js.map +0 -1
  499. package/dist/helpers/logger/common/index.js.map +0 -1
  500. package/dist/helpers/logger/common/types.js.map +0 -1
  501. package/dist/helpers/logger/default-logger.js.map +0 -1
  502. package/dist/helpers/logger/factory.js.map +0 -1
  503. package/dist/helpers/logger/index.js.map +0 -1
  504. package/dist/helpers/logger/transports/dgram.transport.js.map +0 -1
  505. package/dist/helpers/logger/transports/index.js.map +0 -1
  506. package/dist/helpers/network/http-request/base-network-request.helper.js.map +0 -1
  507. package/dist/helpers/network/http-request/fetcher/axios-fetcher.js.map +0 -1
  508. package/dist/helpers/network/http-request/fetcher/base-fetcher.js.map +0 -1
  509. package/dist/helpers/network/http-request/fetcher/index.js.map +0 -1
  510. package/dist/helpers/network/http-request/fetcher/node-fetcher.js.map +0 -1
  511. package/dist/helpers/network/http-request/index.js.map +0 -1
  512. package/dist/helpers/network/http-request/types.js.map +0 -1
  513. package/dist/helpers/network/index.js.map +0 -1
  514. package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js.map +0 -1
  515. package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js.map +0 -1
  516. package/dist/helpers/network/tcp-socket/index.js.map +0 -1
  517. package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js.map +0 -1
  518. package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js.map +0 -1
  519. package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js.map +0 -1
  520. package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js.map +0 -1
  521. package/dist/helpers/network/udp-socket/index.js.map +0 -1
  522. package/dist/helpers/network/udp-socket/network-udp-client.helper.js.map +0 -1
  523. package/dist/helpers/queue/bullmq.helper.js.map +0 -1
  524. package/dist/helpers/queue/index.js.map +0 -1
  525. package/dist/helpers/queue/mqtt.helper.js.map +0 -1
  526. package/dist/helpers/queue/queue.helper.js.map +0 -1
  527. package/dist/helpers/redis/default.helper.js.map +0 -1
  528. package/dist/helpers/redis/index.js.map +0 -1
  529. package/dist/helpers/redis/redis-cluster.helper.js.map +0 -1
  530. package/dist/helpers/redis/redis.helper.js.map +0 -1
  531. package/dist/helpers/redis/types.js.map +0 -1
  532. package/dist/helpers/storage/di-container.helper.js.map +0 -1
  533. package/dist/helpers/storage/index.js.map +0 -1
  534. package/dist/helpers/storage/minio.helper.js.map +0 -1
  535. package/dist/helpers/testing/common.js.map +0 -1
  536. package/dist/helpers/testing/describe.js.map +0 -1
  537. package/dist/helpers/testing/index.js.map +0 -1
  538. package/dist/helpers/testing/test-case.js.map +0 -1
  539. package/dist/helpers/testing/test-handler.js.map +0 -1
  540. package/dist/helpers/testing/test-plan/base.js.map +0 -1
  541. package/dist/helpers/testing/test-plan/default.js.map +0 -1
  542. package/dist/helpers/testing/test-plan/index.js.map +0 -1
  543. package/dist/helpers/testing/types.js.map +0 -1
  544. package/dist/helpers/worker-thread/base.js.map +0 -1
  545. package/dist/helpers/worker-thread/index.js.map +0 -1
  546. package/dist/helpers/worker-thread/types.js.map +0 -1
  547. package/dist/helpers/worker-thread/worker-bus.js.map +0 -1
  548. package/dist/helpers/worker-thread/worker-pool.js.map +0 -1
  549. package/dist/index.js.map +0 -1
  550. package/dist/interceptors/content-range.interceptor.js.map +0 -1
  551. package/dist/interceptors/index.js.map +0 -1
  552. package/dist/middlewares/index.js.map +0 -1
  553. package/dist/middlewares/request-body-parser.middleware.js.map +0 -1
  554. package/dist/middlewares/request-spy.middleware.js.map +0 -1
  555. package/dist/migrations/base-path.js.map +0 -1
  556. package/dist/migrations/handler.js.map +0 -1
  557. package/dist/migrations/index.js.map +0 -1
  558. package/dist/mixins/data-type.mixin.js.map +0 -1
  559. package/dist/mixins/deprecated/user-audit.mixin.js.map +0 -1
  560. package/dist/mixins/duplicatable.mixin.js.map +0 -1
  561. package/dist/mixins/index.js.map +0 -1
  562. package/dist/mixins/object-search.mixin.js.map +0 -1
  563. package/dist/mixins/principal.mixin.js.map +0 -1
  564. package/dist/mixins/soft-delete.mixin.js.map +0 -1
  565. package/dist/mixins/soft-persistent.mixin.js.map +0 -1
  566. package/dist/mixins/text-search.mixin.js.map +0 -1
  567. package/dist/mixins/tz.mixin.js.map +0 -1
  568. package/dist/mixins/user-audit.mixin.js.map +0 -1
  569. package/dist/mixins/vector.mixin.js.map +0 -1
  570. package/dist/utilities/crypto.utility.js.map +0 -1
  571. package/dist/utilities/date.utility.js.map +0 -1
  572. package/dist/utilities/error.utility.js.map +0 -1
  573. package/dist/utilities/index.js.map +0 -1
  574. package/dist/utilities/model.utility.js.map +0 -1
  575. package/dist/utilities/parse.utility.js.map +0 -1
  576. package/dist/utilities/performance.utility.js.map +0 -1
  577. package/dist/utilities/promise.utility.js.map +0 -1
  578. package/dist/utilities/query.utility.js.map +0 -1
  579. package/dist/utilities/request.utility.js.map +0 -1
  580. package/dist/utilities/url.utility.js.map +0 -1
  581. /package/dist/datasources/{kvmem → memory}/datasource.d.ts +0 -0
  582. /package/dist/datasources/{kvmem → memory}/index.d.ts +0 -0
@@ -11,15 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
14
  var OAuth2Service_1;
24
15
  Object.defineProperty(exports, "__esModule", { value: true });
25
16
  exports.OAuth2Service = void 0;
@@ -34,20 +25,21 @@ const common_2 = require("../common");
34
25
  const oauth2_handlers_1 = require("../oauth2-handlers");
35
26
  const repositories_1 = require("../repositories");
36
27
  let OAuth2Service = OAuth2Service_1 = class OAuth2Service extends services_1.BaseService {
28
+ application;
29
+ handler;
30
+ oauth2ClientRepository;
31
+ aes = helpers_1.AES.withAlgorithm('aes-256-cbc');
37
32
  constructor(application, handler, oauth2ClientRepository) {
38
33
  super({ scope: OAuth2Service_1.name });
39
34
  this.application = application;
40
35
  this.handler = handler;
41
36
  this.oauth2ClientRepository = oauth2ClientRepository;
42
- this.aes = helpers_1.AES.withAlgorithm('aes-256-cbc');
43
37
  }
44
- // --------------------------------------------------------------------------------
45
38
  encryptClientToken(opts) {
46
39
  const { clientId, clientSecret } = opts;
47
40
  const applicationSecret = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_APPLICATION_SECRET);
48
41
  return this.aes.encrypt([clientId, clientSecret].join('_'), applicationSecret);
49
42
  }
50
- // --------------------------------------------------------------------------------
51
43
  decryptClientToken(opts) {
52
44
  const { token } = opts;
53
45
  const applicationSecret = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_APPLICATION_SECRET);
@@ -60,25 +52,23 @@ let OAuth2Service = OAuth2Service_1 = class OAuth2Service extends services_1.Bas
60
52
  }
61
53
  return { clientId, clientSecret };
62
54
  }
63
- // --------------------------------------------------------------------------------
64
55
  getOAuth2RequestPath(opts) {
65
56
  const { clientId, clientSecret, redirectUrl } = opts;
66
57
  return new Promise((resolve, reject) => {
67
58
  this.oauth2ClientRepository
68
- .findOne({ where: Object.assign({}, opts), fields: ['id', 'endpoints'] })
59
+ .findOne({ where: { ...opts }, fields: ['id', 'endpoints'] })
69
60
  .then(client => {
70
- var _a, _b, _c;
71
61
  if (!client) {
72
62
  throw (0, utilities_1.getError)({
73
63
  message: `[getOAuth2RequestPath] Client not found!`,
74
64
  });
75
65
  }
76
- if (!((_b = (_a = client === null || client === void 0 ? void 0 : client.endpoints) === null || _a === void 0 ? void 0 : _a.redirectUrls) === null || _b === void 0 ? void 0 : _b.includes(redirectUrl))) {
66
+ if (!client?.endpoints?.redirectUrls?.includes(redirectUrl)) {
77
67
  throw (0, utilities_1.getError)({
78
68
  message: `[getOAuth2RequestPath] Invalid redirectUrl!`,
79
69
  });
80
70
  }
81
- const basePath = (_c = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_SERVER_BASE_PATH)) !== null && _c !== void 0 ? _c : '';
71
+ const basePath = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_SERVER_BASE_PATH) ?? '';
82
72
  const applicationSecret = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_APPLICATION_SECRET);
83
73
  if (!applicationSecret) {
84
74
  throw (0, utilities_1.getError)({
@@ -98,108 +88,106 @@ let OAuth2Service = OAuth2Service_1 = class OAuth2Service extends services_1.Bas
98
88
  .catch(reject);
99
89
  });
100
90
  }
101
- // --------------------------------------------------------------------------------
102
91
  generateToken(opts) {
103
- var _a, _b, _c;
104
92
  const { request, response } = opts;
105
- return this.handler.token(new oauth2_server_1.Request(Object.assign(Object.assign({}, request), { headers: (_a = request.headers) !== null && _a !== void 0 ? _a : {}, method: (_b = request.method) !== null && _b !== void 0 ? _b : 'get', query: (_c = request.query) !== null && _c !== void 0 ? _c : {} })), new oauth2_server_1.Response(response));
93
+ return this.handler.token(new oauth2_server_1.Request({
94
+ ...request,
95
+ headers: request.headers ?? {},
96
+ method: request.method ?? 'get',
97
+ query: request.query ?? {},
98
+ }), new oauth2_server_1.Response(response));
106
99
  }
107
- // --------------------------------------------------------------------------------
108
100
  authorize(opts) {
109
- var _a, _b, _c;
110
101
  const { request, response } = opts;
111
- return this.handler.authorize(new oauth2_server_1.Request(Object.assign(Object.assign({}, request), { headers: (_a = request.headers) !== null && _a !== void 0 ? _a : {}, method: (_b = request.method) !== null && _b !== void 0 ? _b : 'get', query: (_c = request.query) !== null && _c !== void 0 ? _c : {} })), new oauth2_server_1.Response(response));
102
+ return this.handler.authorize(new oauth2_server_1.Request({
103
+ ...request,
104
+ headers: request.headers ?? {},
105
+ method: request.method ?? 'get',
106
+ query: request.query ?? {},
107
+ }), new oauth2_server_1.Response(response));
112
108
  }
113
- // --------------------------------------------------------------------------------
114
- doOAuth2(opts) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- var _a;
117
- const { context, authServiceKey, signInRequest, redirectUrl } = opts;
118
- const authService = this.application.getSync(authServiceKey);
119
- const signInRs = yield authService.signIn(signInRequest);
120
- const tokenValue = (_a = signInRs === null || signInRs === void 0 ? void 0 : signInRs.token) === null || _a === void 0 ? void 0 : _a.value;
121
- if (!tokenValue) {
122
- throw (0, utilities_1.getError)({ message: `[auth] Failed to get token value!` });
123
- }
124
- const authorizationCodeRequest = new oauth2_server_1.Request(context.request);
125
- authorizationCodeRequest.body = {
126
- client_id: signInRequest.clientId, // eslint-disable-line @typescript-eslint/naming-convention
127
- response_type: 'code', // eslint-disable-line @typescript-eslint/naming-convention
128
- grant_type: 'authorization_code', // eslint-disable-line @typescript-eslint/naming-convention
129
- scope: 'profile',
130
- access_token: tokenValue, // eslint-disable-line @typescript-eslint/naming-convention
131
- redirect_uri: redirectUrl, // eslint-disable-line @typescript-eslint/naming-convention
132
- };
133
- const authorizationCodeRs = yield this.authorize({
134
- request: authorizationCodeRequest,
135
- response: new oauth2_server_1.Response(context.response),
136
- });
137
- const client = yield this.oauth2ClientRepository.findOne({
138
- where: { clientId: signInRequest.clientId },
139
- fields: ['id', 'clientId', 'clientSecret'],
140
- });
141
- if (!client) {
142
- throw (0, utilities_1.getError)({ message: `[auth] Invalid client to create auth request!` });
143
- }
144
- const oauth2TokenRequest = new oauth2_server_1.Request(context.request);
145
- oauth2TokenRequest.body = {
146
- client_id: client.clientId, // eslint-disable-line @typescript-eslint/naming-convention
147
- client_secret: client.clientSecret, // eslint-disable-line @typescript-eslint/naming-convention
148
- code: authorizationCodeRs.authorizationCode,
149
- grant_type: 'authorization_code', // eslint-disable-line @typescript-eslint/naming-convention
150
- };
151
- if (redirectUrl) {
152
- oauth2TokenRequest.body.redirect_uri = redirectUrl;
153
- }
154
- const oauth2TokenRs = yield this.generateToken({
155
- request: oauth2TokenRequest,
156
- response: new oauth2_server_1.Response(context.response),
157
- });
158
- return {
159
- redirectUrl: authorizationCodeRs.redirectUri,
160
- oauth2TokenRs,
161
- };
109
+ async doOAuth2(opts) {
110
+ const { context, authServiceKey, signInRequest, redirectUrl } = opts;
111
+ const authService = this.application.getSync(authServiceKey);
112
+ const signInRs = await authService.signIn(signInRequest);
113
+ const tokenValue = signInRs?.token?.value;
114
+ if (!tokenValue) {
115
+ throw (0, utilities_1.getError)({ message: `[auth] Failed to get token value!` });
116
+ }
117
+ const authorizationCodeRequest = new oauth2_server_1.Request(context.request);
118
+ authorizationCodeRequest.body = {
119
+ client_id: signInRequest.clientId,
120
+ response_type: 'code',
121
+ grant_type: 'authorization_code',
122
+ scope: 'profile',
123
+ access_token: tokenValue,
124
+ redirect_uri: redirectUrl,
125
+ };
126
+ const authorizationCodeRs = await this.authorize({
127
+ request: authorizationCodeRequest,
128
+ response: new oauth2_server_1.Response(context.response),
129
+ });
130
+ const client = await this.oauth2ClientRepository.findOne({
131
+ where: { clientId: signInRequest.clientId },
132
+ fields: ['id', 'clientId', 'clientSecret'],
133
+ });
134
+ if (!client) {
135
+ throw (0, utilities_1.getError)({ message: `[auth] Invalid client to create auth request!` });
136
+ }
137
+ const oauth2TokenRequest = new oauth2_server_1.Request(context.request);
138
+ oauth2TokenRequest.body = {
139
+ client_id: client.clientId,
140
+ client_secret: client.clientSecret,
141
+ code: authorizationCodeRs.authorizationCode,
142
+ grant_type: 'authorization_code',
143
+ };
144
+ if (redirectUrl) {
145
+ oauth2TokenRequest.body.redirect_uri = redirectUrl;
146
+ }
147
+ const oauth2TokenRs = await this.generateToken({
148
+ request: oauth2TokenRequest,
149
+ response: new oauth2_server_1.Response(context.response),
162
150
  });
151
+ return {
152
+ redirectUrl: authorizationCodeRs.redirectUri,
153
+ oauth2TokenRs,
154
+ };
163
155
  }
164
- // --------------------------------------------------------------------------------
165
- doClientCallback(opts) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- var _a;
168
- const { c, accessToken, authorizationCode, accessTokenExpiresAt, client, user } = opts.oauth2Token;
169
- if (!client) {
170
- this.logger.error('[doClientCallback] Invalid client | Client: %j', client);
171
- return;
172
- }
173
- const callbackUrls = (_a = client === null || client === void 0 ? void 0 : client.callbackUrls) !== null && _a !== void 0 ? _a : [];
174
- if (!callbackUrls.length) {
175
- this.logger.error('[doClientCallback] No client callbackUrls');
176
- return;
177
- }
178
- const payload = {
179
- c,
180
- accessToken,
181
- authorizationCode,
182
- accessTokenExpiresAt,
183
- user,
184
- };
185
- yield Promise.all(callbackUrls.map(callbackUrl => {
186
- return new Promise((resolve, reject) => {
187
- fetch(callbackUrl, {
188
- method: 'POST',
189
- body: JSON.stringify(payload),
190
- headers: { ['content-type']: 'application/x-www-form-urlencoded' },
191
- })
192
- .then(rs => {
193
- this.logger.info('[doClientCallback] Successfull to callback | Url: %s', callbackUrl);
194
- resolve(rs);
195
- })
196
- .catch(error => {
197
- this.logger.error('[doClientCallback] Failed to callback | Url: %s | Error: %s', callbackUrl, error);
198
- reject(error);
199
- });
156
+ async doClientCallback(opts) {
157
+ const { c, accessToken, authorizationCode, accessTokenExpiresAt, client, user } = opts.oauth2Token;
158
+ if (!client) {
159
+ this.logger.error('[doClientCallback] Invalid client | Client: %j', client);
160
+ return;
161
+ }
162
+ const callbackUrls = client?.callbackUrls ?? [];
163
+ if (!callbackUrls.length) {
164
+ this.logger.error('[doClientCallback] No client callbackUrls');
165
+ return;
166
+ }
167
+ const payload = {
168
+ c,
169
+ accessToken,
170
+ authorizationCode,
171
+ accessTokenExpiresAt,
172
+ user,
173
+ };
174
+ await Promise.all(callbackUrls.map(callbackUrl => {
175
+ return new Promise((resolve, reject) => {
176
+ fetch(callbackUrl, {
177
+ method: 'POST',
178
+ body: JSON.stringify(payload),
179
+ headers: { ['content-type']: 'application/x-www-form-urlencoded' },
180
+ })
181
+ .then(rs => {
182
+ this.logger.info('[doClientCallback] Successfull to callback | Url: %s', callbackUrl);
183
+ resolve(rs);
184
+ })
185
+ .catch(error => {
186
+ this.logger.error('[doClientCallback] Failed to callback | Url: %s | Error: %s', callbackUrl, error);
187
+ reject(error);
200
188
  });
201
- }));
202
- });
189
+ });
190
+ }));
203
191
  }
204
192
  };
205
193
  exports.OAuth2Service = OAuth2Service;
@@ -211,4 +199,3 @@ exports.OAuth2Service = OAuth2Service = OAuth2Service_1 = __decorate([
211
199
  oauth2_handlers_1.OAuth2Handler,
212
200
  repositories_1.OAuth2ClientRepository])
213
201
  ], OAuth2Service);
214
- //# sourceMappingURL=oauth2.service.js.map
@@ -1,13 +1,4 @@
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
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -21,53 +12,49 @@ const security_1 = require("@loopback/security");
21
12
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
22
13
  const defineOAuth2Strategy = (opts) => {
23
14
  class Strategy {
15
+ name = opts.name;
16
+ authProvider;
17
+ authPath;
24
18
  constructor() {
25
- var _a;
26
- this.name = opts.name;
27
19
  const baseUrl = opts.baseURL;
28
20
  if (!baseUrl || (0, isEmpty_1.default)(baseUrl)) {
29
21
  throw (0, utilities_1.getError)({
30
22
  message: `[RemoteAuthenticationStrategy][DANGER] INVALID baseURL | Missing env: APP_ENV_REMOTE_AUTH_SERVER_URL`,
31
23
  });
32
24
  }
33
- this.authPath = (_a = opts.authPath) !== null && _a !== void 0 ? _a : '/auth/who-am-i';
25
+ this.authPath = opts.authPath ?? '/auth/who-am-i';
34
26
  this.authProvider = new network_1.AxiosNetworkRequest({
35
27
  name: `${Strategy.name}_${opts.name}`,
36
28
  networkOptions: { baseUrl },
37
29
  });
38
30
  }
39
- authenticate(request) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- var _a, _b, _c;
42
- const networkService = this.authProvider.getNetworkService();
43
- if (!request.headers['authorization']) {
44
- throw (0, utilities_1.getError)({
45
- statusCode: common_1.ResultCodes.RS_4.Unauthorized,
46
- message: 'No authorization token',
47
- });
48
- }
49
- const rs = yield networkService.send({
50
- url: this.authProvider.getRequestUrl({ paths: [this.authPath] }),
51
- headers: { Authorization: request.headers['authorization'] },
31
+ async authenticate(request) {
32
+ const networkService = this.authProvider.getNetworkService();
33
+ if (!request.headers['authorization']) {
34
+ throw (0, utilities_1.getError)({
35
+ statusCode: common_1.ResultCodes.RS_4.Unauthorized,
36
+ message: 'No authorization token',
52
37
  });
53
- if ((_a = rs === null || rs === void 0 ? void 0 : rs.data) === null || _a === void 0 ? void 0 : _a.error) {
54
- throw (0, utilities_1.getError)(rs.data.error);
55
- }
56
- return Object.assign(Object.assign({}, rs === null || rs === void 0 ? void 0 : rs.data), { [security_1.securityId]: (_c = (_b = rs === null || rs === void 0 ? void 0 : rs.data) === null || _b === void 0 ? void 0 : _b.userId) === null || _c === void 0 ? void 0 : _c.toString() });
38
+ }
39
+ const rs = await networkService.send({
40
+ url: this.authProvider.getRequestUrl({ paths: [this.authPath] }),
41
+ headers: { Authorization: request.headers['authorization'] },
57
42
  });
43
+ if (rs?.data?.error) {
44
+ throw (0, utilities_1.getError)(rs.data.error);
45
+ }
46
+ return { ...rs?.data, [security_1.securityId]: rs?.data?.userId?.toString() };
58
47
  }
59
48
  }
60
49
  return Strategy;
61
50
  };
62
51
  exports.defineOAuth2Strategy = defineOAuth2Strategy;
63
52
  const registerOAuth2Strategy = (context, options) => {
64
- var _a;
65
53
  const remoteOAuth2Strategy = (0, exports.defineOAuth2Strategy)({
66
54
  name: options.strategyName,
67
55
  baseURL: options.authenticateUrl,
68
- authPath: (_a = options.authenticatePath) !== null && _a !== void 0 ? _a : '/auth/who-am-i',
56
+ authPath: options.authenticatePath ?? '/auth/who-am-i',
69
57
  });
70
58
  (0, authentication_1.registerAuthenticationStrategy)(context, remoteOAuth2Strategy);
71
59
  };
72
60
  exports.registerOAuth2Strategy = registerOAuth2Strategy;
73
- //# sourceMappingURL=oauth2.strategy.js.map
@@ -6,6 +6,7 @@ const common_1 = require("../common");
6
6
  const casbin_postgres_adapter_helper_1 = require("./casbin-postgres-adapter.helper");
7
7
  const casbin_redis_adapter_helper_1 = require("./casbin-redis-adapter.helper");
8
8
  class CasbinAdapterBuilder {
9
+ static instance;
9
10
  constructor() { }
10
11
  static getInstance() {
11
12
  if (!this.instance) {
@@ -31,4 +32,3 @@ class CasbinAdapterBuilder {
31
32
  }
32
33
  }
33
34
  exports.CasbinAdapterBuilder = CasbinAdapterBuilder;
34
- //# sourceMappingURL=adapter-builder.js.map
@@ -3,29 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractCasbinAdapter = void 0;
4
4
  const helpers_1 = require("../../../helpers");
5
5
  const common_1 = require("../common");
6
- // -----------------------------------------------------------------------------------------
7
6
  class AbstractCasbinAdapter {
7
+ logger;
8
+ datasource;
8
9
  constructor(opts) {
9
10
  const { scope, datasource } = opts;
10
11
  this.logger = helpers_1.LoggerFactory.getLogger([scope]);
11
12
  this.datasource = datasource;
12
13
  }
13
- // -----------------------------------------------------------------------------------------
14
14
  isFiltered() {
15
15
  return true;
16
16
  }
17
- // -----------------------------------------------------------------------------------------
18
17
  loadPolicy(_) {
19
18
  return Promise.resolve();
20
19
  }
21
- // -----------------------------------------------------------------------------------------
22
20
  savePolicy(model) {
23
21
  this.logger.info('[savePolicy] Ignore save policy method with options: ', {
24
22
  model,
25
23
  });
26
24
  return Promise.resolve(true);
27
25
  }
28
- // -----------------------------------------------------------------------------------------
29
26
  addPolicy(sec, ptype, rule) {
30
27
  this.logger.info('[addPolicy] Ignore add policy method with options: ', {
31
28
  sec,
@@ -34,7 +31,6 @@ class AbstractCasbinAdapter {
34
31
  });
35
32
  return Promise.resolve();
36
33
  }
37
- // -----------------------------------------------------------------------------------------
38
34
  removePolicy(sec, ptype, rule) {
39
35
  this.logger.info('[removePolicy] Ignore remove policy method with options: ', {
40
36
  sec,
@@ -43,15 +39,12 @@ class AbstractCasbinAdapter {
43
39
  });
44
40
  return Promise.resolve();
45
41
  }
46
- // -----------------------------------------------------------------------------------------
47
42
  removeFilteredPolicy(sec, ptype, fieldIndex, ...fieldValues) {
48
43
  switch (ptype) {
49
44
  case common_1.EnforcerDefinitions.PREFIX_USER: {
50
- // Remove user policy
51
45
  break;
52
46
  }
53
47
  case common_1.EnforcerDefinitions.PREFIX_ROLE: {
54
- // Remove role policy
55
48
  break;
56
49
  }
57
50
  default: {
@@ -68,4 +61,3 @@ class AbstractCasbinAdapter {
68
61
  }
69
62
  }
70
63
  exports.AbstractCasbinAdapter = AbstractCasbinAdapter;
71
- //# sourceMappingURL=base.adapter.js.map
@@ -1,13 +1,4 @@
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
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -20,12 +11,10 @@ const get_1 = __importDefault(require("lodash/get"));
20
11
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
21
12
  const common_1 = require("../common");
22
13
  const base_adapter_1 = require("./base.adapter");
23
- // -----------------------------------------------------------------------------------------
24
14
  class CasbinPostgresAdapter extends base_adapter_1.AbstractCasbinAdapter {
25
15
  constructor(datasource) {
26
16
  super({ scope: CasbinPostgresAdapter.name, datasource });
27
17
  }
28
- // -----------------------------------------------------------------------------------------
29
18
  generateGroupLine(rule) {
30
19
  const { userId, roleId } = rule;
31
20
  const rs = [
@@ -35,53 +24,45 @@ class CasbinPostgresAdapter extends base_adapter_1.AbstractCasbinAdapter {
35
24
  ];
36
25
  return rs.join(',');
37
26
  }
38
- // -----------------------------------------------------------------------------------------
39
- loadFilteredPolicy(model, filter) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- var _a, _b;
42
- if (((_a = filter === null || filter === void 0 ? void 0 : filter.principalType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'role') {
43
- throw (0, utilities_1.getError)({
44
- statusCode: 500,
45
- message: '[loadFilteredPolicy] Only "User" is allowed for filter principal type!',
46
- });
47
- }
48
- const aclQueries = [
49
- this.datasource.execute(`SELECT * FROM public."ViewAuthorizePolicy" WHERE subject=$1`, [
50
- `user_${filter.principalValue}`,
51
- ]),
52
- ];
53
- // Load role permission policies
54
- const userRoles = yield this.datasource.execute(`SELECT * FROM public."UserRole" WHERE user_id=$1`, [filter.principalValue]);
55
- for (const userRole of userRoles) {
56
- const execution = this.datasource.execute(`SELECT * FROM public."ViewAuthorizePolicy" WHERE subject=$1`, [`role_${userRole.principal_id}`]);
57
- aclQueries.push(execution);
58
- }
59
- // Load policy lines
60
- const policyRs = (0, flatten_1.default)(yield Promise.all(aclQueries));
61
- this.logger.debug('[loadFilteredPolicy] policyRs: %j | filter: %j', policyRs, filter);
62
- for (const el of policyRs) {
63
- if (!el) {
64
- continue;
65
- }
66
- (_b = el.policies) === null || _b === void 0 ? void 0 : _b.forEach((policyLine) => {
67
- casbin_1.Helper.loadPolicyLine(policyLine, model);
68
- this.logger.debug('[loadFilteredPolicy] Load policy: %s', policyLine);
69
- });
27
+ async loadFilteredPolicy(model, filter) {
28
+ if (filter?.principalType?.toLowerCase() === 'role') {
29
+ throw (0, utilities_1.getError)({
30
+ statusCode: 500,
31
+ message: '[loadFilteredPolicy] Only "User" is allowed for filter principal type!',
32
+ });
33
+ }
34
+ const aclQueries = [
35
+ this.datasource.execute(`SELECT * FROM public."ViewAuthorizePolicy" WHERE subject=$1`, [
36
+ `user_${filter.principalValue}`,
37
+ ]),
38
+ ];
39
+ const userRoles = await this.datasource.execute(`SELECT * FROM public."UserRole" WHERE user_id=$1`, [filter.principalValue]);
40
+ for (const userRole of userRoles) {
41
+ const execution = this.datasource.execute(`SELECT * FROM public."ViewAuthorizePolicy" WHERE subject=$1`, [`role_${userRole.principal_id}`]);
42
+ aclQueries.push(execution);
43
+ }
44
+ const policyRs = (0, flatten_1.default)(await Promise.all(aclQueries));
45
+ this.logger.debug('[loadFilteredPolicy] policyRs: %j | filter: %j', policyRs, filter);
46
+ for (const el of policyRs) {
47
+ if (!el) {
48
+ continue;
70
49
  }
71
- // Load group lines
72
- for (const userRole of userRoles) {
73
- const groupLine = this.generateGroupLine({
74
- userId: (0, get_1.default)(userRole, 'user_id'),
75
- roleId: (0, get_1.default)(userRole, 'principal_id'),
76
- });
77
- if (!groupLine || (0, isEmpty_1.default)(groupLine)) {
78
- continue;
79
- }
80
- casbin_1.Helper.loadPolicyLine(groupLine, model);
81
- this.logger.debug('[loadFilteredPolicy] Load groupLine: %s', groupLine);
50
+ el.policies?.forEach((policyLine) => {
51
+ casbin_1.Helper.loadPolicyLine(policyLine, model);
52
+ this.logger.debug('[loadFilteredPolicy] Load policy: %s', policyLine);
53
+ });
54
+ }
55
+ for (const userRole of userRoles) {
56
+ const groupLine = this.generateGroupLine({
57
+ userId: (0, get_1.default)(userRole, 'user_id'),
58
+ roleId: (0, get_1.default)(userRole, 'principal_id'),
59
+ });
60
+ if (!groupLine || (0, isEmpty_1.default)(groupLine)) {
61
+ continue;
82
62
  }
83
- });
63
+ casbin_1.Helper.loadPolicyLine(groupLine, model);
64
+ this.logger.debug('[loadFilteredPolicy] Load groupLine: %s', groupLine);
65
+ }
84
66
  }
85
67
  }
86
68
  exports.CasbinPostgresAdapter = CasbinPostgresAdapter;
87
- //# sourceMappingURL=casbin-postgres-adapter.helper.js.map
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CasbinRedisAdapter = void 0;
4
4
  const base_adapter_1 = require("./base.adapter");
5
- // -----------------------------------------------------------------------------------------
6
5
  class CasbinRedisAdapter extends base_adapter_1.AbstractCasbinAdapter {
7
6
  constructor(datasource) {
8
7
  super({ scope: CasbinRedisAdapter.name, datasource });
@@ -12,4 +11,3 @@ class CasbinRedisAdapter extends base_adapter_1.AbstractCasbinAdapter {
12
11
  }
13
12
  }
14
13
  exports.CasbinRedisAdapter = CasbinRedisAdapter;
15
- //# sourceMappingURL=casbin-redis-adapter.helper.js.map
@@ -18,4 +18,3 @@ __exportStar(require("./adapter-builder"), exports);
18
18
  __exportStar(require("./base.adapter"), exports);
19
19
  __exportStar(require("./casbin-postgres-adapter.helper"), exports);
20
20
  __exportStar(require("./casbin-redis-adapter.helper"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1,22 +1,19 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.EnforcerDefinitions = exports.FixedUserRoles = void 0;
5
4
  class FixedUserRoles {
5
+ static SUPER_ADMIN = '999-super-admin';
6
+ static ADMIN = '998-admin';
7
+ static FULL_AUTHORIZE_ROLES = [this.SUPER_ADMIN, this.ADMIN];
6
8
  }
7
9
  exports.FixedUserRoles = FixedUserRoles;
8
- _a = FixedUserRoles;
9
- FixedUserRoles.SUPER_ADMIN = '999-super-admin';
10
- FixedUserRoles.ADMIN = '998-admin';
11
- FixedUserRoles.FULL_AUTHORIZE_ROLES = [_a.SUPER_ADMIN, _a.ADMIN];
12
10
  class EnforcerDefinitions {
11
+ static ACTION_EXECUTE = 'execute';
12
+ static ACTION_READ = 'read';
13
+ static ACTION_WRITE = 'write';
14
+ static PREFIX_USER = 'user';
15
+ static PREFIX_ROLE = 'role';
16
+ static PTYPE_POLICY = 'p';
17
+ static PTYPE_GROUP = 'g';
13
18
  }
14
19
  exports.EnforcerDefinitions = EnforcerDefinitions;
15
- EnforcerDefinitions.ACTION_EXECUTE = 'execute';
16
- EnforcerDefinitions.ACTION_READ = 'read';
17
- EnforcerDefinitions.ACTION_WRITE = 'write';
18
- EnforcerDefinitions.PREFIX_USER = 'user';
19
- EnforcerDefinitions.PREFIX_ROLE = 'role';
20
- EnforcerDefinitions.PTYPE_POLICY = 'p';
21
- EnforcerDefinitions.PTYPE_GROUP = 'g';
22
- //# sourceMappingURL=constants.js.map
@@ -17,4 +17,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./keys"), exports);
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./constants"), exports);
20
- //# sourceMappingURL=index.js.map