@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
@@ -31,4 +31,3 @@ exports.Permission = Permission = __decorate([
31
31
  }),
32
32
  __metadata("design:paramtypes", [Object])
33
33
  ], Permission);
34
- //# sourceMappingURL=permission.model.js.map
@@ -30,7 +30,7 @@ declare const BaseRole: {
30
30
  getIdProperties(): string[];
31
31
  getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
32
32
  buildWhereForId(id: any): any;
33
- readonly modelName: string;
33
+ get modelName(): string;
34
34
  definition: import("@loopback/repository").ModelDefinition;
35
35
  };
36
36
  export declare class Role extends BaseRole {
@@ -14,8 +14,8 @@ const repository_1 = require("@loopback/repository");
14
14
  const _1 = require(".");
15
15
  const defs_1 = require("./defs");
16
16
  const BaseRole = (0, defs_1.defineRole)();
17
- // ---------------------------------------------------------------
18
17
  let Role = class Role extends BaseRole {
18
+ permissions;
19
19
  constructor(data) {
20
20
  super(data);
21
21
  }
@@ -43,4 +43,3 @@ exports.Role = Role = __decorate([
43
43
  }),
44
44
  __metadata("design:paramtypes", [Object])
45
45
  ], Role);
46
- //# sourceMappingURL=role.model.js.map
@@ -25,7 +25,7 @@ declare const BaseUserRole: {
25
25
  getIdProperties(): string[];
26
26
  getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
27
27
  buildWhereForId(id: any): any;
28
- readonly modelName: string;
28
+ get modelName(): string;
29
29
  definition: import("@loopback/repository").ModelDefinition;
30
30
  };
31
31
  export declare class UserRole extends BaseUserRole {
@@ -13,7 +13,6 @@ exports.UserRole = void 0;
13
13
  const repository_1 = require("@loopback/repository");
14
14
  const defs_1 = require("./defs");
15
15
  const BaseUserRole = (0, defs_1.defineUserRole)();
16
- // ---------------------------------------------------------------
17
16
  let UserRole = class UserRole extends BaseUserRole {
18
17
  constructor(data) {
19
18
  super(data);
@@ -32,4 +31,3 @@ exports.UserRole = UserRole = __decorate([
32
31
  }),
33
32
  __metadata("design:paramtypes", [Object])
34
33
  ], UserRole);
35
- //# sourceMappingURL=user-role.model.js.map
@@ -12,8 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ViewAuthorizePolicy = void 0;
13
13
  const models_1 = require("../../../base/models");
14
14
  const repository_1 = require("@loopback/repository");
15
- // ---------------------------------------------------------------
16
15
  let ViewAuthorizePolicy = class ViewAuthorizePolicy extends models_1.BaseEntity {
16
+ id;
17
+ subject;
18
+ subjectType;
19
+ subjectId;
17
20
  constructor(data) {
18
21
  super(data);
19
22
  }
@@ -67,4 +70,3 @@ exports.ViewAuthorizePolicy = ViewAuthorizePolicy = __decorate([
67
70
  }),
68
71
  __metadata("design:paramtypes", [Object])
69
72
  ], ViewAuthorizePolicy);
70
- //# sourceMappingURL=view-authorize-policy.model.js.map
@@ -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 __importDefault = (this && this.__importDefault) || function (mod) {
24
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
25
16
  };
@@ -35,6 +26,10 @@ const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
35
26
  const common_1 = require("./common");
36
27
  const services_1 = require("./services");
37
28
  let AuthorizeProvider = AuthorizeProvider_1 = class AuthorizeProvider {
29
+ enforcerService;
30
+ alwaysAllowRoles;
31
+ normalizePayloadFn;
32
+ logger;
38
33
  constructor(enforcerService, alwaysAllowRoles, normalizePayloadFn) {
39
34
  this.enforcerService = enforcerService;
40
35
  this.alwaysAllowRoles = alwaysAllowRoles;
@@ -44,107 +39,97 @@ let AuthorizeProvider = AuthorizeProvider_1 = class AuthorizeProvider {
44
39
  value() {
45
40
  return this.authorize.bind(this);
46
41
  }
47
- // -------------------------------------------------------------------------------------------------------------------
48
42
  normalizeEnforcePayload(opts) {
49
- var _a, _b, _c;
50
43
  const { subject, object, scope } = opts;
51
44
  return {
52
- subject: (subject === null || subject === void 0 ? void 0 : subject.toLowerCase()) || '',
53
- object: (_a = scope === null || scope === void 0 ? void 0 : scope.toLowerCase()) !== null && _a !== void 0 ? _a : (_c = (_b = ((object === null || object === void 0 ? void 0 : object.toLowerCase()) || '')) === null || _b === void 0 ? void 0 : _b.replace(/controller/g, '')) === null || _c === void 0 ? void 0 : _c.replace(/.prototype/g, ''),
45
+ subject: subject?.toLowerCase() || '',
46
+ object: scope?.toLowerCase() ??
47
+ (object?.toLowerCase() || '')?.replace(/controller/g, '')?.replace(/.prototype/g, ''),
54
48
  action: common_1.EnforcerDefinitions.ACTION_EXECUTE,
55
49
  };
56
50
  }
57
- // -------------------------------------------------------------------------------------------------------------------
58
- authorizePermission(userId, object, scopes) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- var _a, _b, _c, _d;
61
- let isSingleAuthRs = false;
62
- let isScopeAuthRs = true;
63
- const enforcer = yield this.enforcerService.getTypeEnforcer(userId);
64
- if (!enforcer) {
65
- this.logger.debug('[authorizePermission] Skip authorization for NULL enforcer!');
66
- return false;
67
- }
68
- const subject = `${common_1.EnforcerDefinitions.PREFIX_USER}_${userId}`;
69
- for (const scope of scopes !== null && scopes !== void 0 ? scopes : []) {
70
- const enforcePayload = (_b = (_a = this.normalizePayloadFn) === null || _a === void 0 ? void 0 : _a.call(this, { subject, object, scope })) !== null && _b !== void 0 ? _b : this.normalizeEnforcePayload({ subject, object, scope });
71
- isScopeAuthRs = yield enforcer.enforce(enforcePayload.subject, enforcePayload.object, enforcePayload.action);
72
- this.logger.debug('[authorizePermission] Payload: %j | scopeAuthRs: %s', enforcePayload, isScopeAuthRs);
73
- if (!isScopeAuthRs) {
74
- this.logger.debug('[authorizePermission] Permission denied | Payload: %j', enforcePayload);
75
- break;
76
- }
77
- }
51
+ async authorizePermission(userId, object, scopes) {
52
+ let isSingleAuthRs = false;
53
+ let isScopeAuthRs = true;
54
+ const enforcer = await this.enforcerService.getTypeEnforcer(userId);
55
+ if (!enforcer) {
56
+ this.logger.debug('[authorizePermission] Skip authorization for NULL enforcer!');
57
+ return false;
58
+ }
59
+ const subject = `${common_1.EnforcerDefinitions.PREFIX_USER}_${userId}`;
60
+ for (const scope of scopes ?? []) {
61
+ const enforcePayload = this.normalizePayloadFn?.({ subject, object, scope }) ??
62
+ this.normalizeEnforcePayload({ subject, object, scope });
63
+ isScopeAuthRs = await enforcer.enforce(enforcePayload.subject, enforcePayload.object, enforcePayload.action);
64
+ this.logger.debug('[authorizePermission] Payload: %j | scopeAuthRs: %s', enforcePayload, isScopeAuthRs);
78
65
  if (!isScopeAuthRs) {
79
- return isScopeAuthRs;
66
+ this.logger.debug('[authorizePermission] Permission denied | Payload: %j', enforcePayload);
67
+ break;
80
68
  }
81
- if (object) {
82
- const enforcePayload = (_d = (_c = this.normalizePayloadFn) === null || _c === void 0 ? void 0 : _c.call(this, { subject, object })) !== null && _d !== void 0 ? _d : this.normalizeEnforcePayload({ subject, object });
83
- isSingleAuthRs = yield enforcer.enforce(enforcePayload.subject, enforcePayload.object, enforcePayload.action);
84
- this.logger.debug('[authorizePermission] Payload: %j | singleAuthRs: %s', enforcePayload, isSingleAuthRs);
85
- }
86
- return isScopeAuthRs && isSingleAuthRs;
87
- });
69
+ }
70
+ if (!isScopeAuthRs) {
71
+ return isScopeAuthRs;
72
+ }
73
+ if (object) {
74
+ const enforcePayload = this.normalizePayloadFn?.({ subject, object }) ??
75
+ this.normalizeEnforcePayload({ subject, object });
76
+ isSingleAuthRs = await enforcer.enforce(enforcePayload.subject, enforcePayload.object, enforcePayload.action);
77
+ this.logger.debug('[authorizePermission] Payload: %j | singleAuthRs: %s', enforcePayload, isSingleAuthRs);
78
+ }
79
+ return isScopeAuthRs && isSingleAuthRs;
88
80
  }
89
- // -------------------------------------------------------------------------------------------------------------------
90
- authorize(context, metadata) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- var _a, _b;
93
- const t = new Date().getTime();
94
- if ((context === null || context === void 0 ? void 0 : context.principals.length) <= 0) {
95
- return authorization_1.AuthorizationDecision.DENY;
81
+ async authorize(context, metadata) {
82
+ const t = new Date().getTime();
83
+ if (context?.principals.length <= 0) {
84
+ return authorization_1.AuthorizationDecision.DENY;
85
+ }
86
+ const { userId, roles: encodedRoles } = context.principals[0];
87
+ const roleIds = [];
88
+ const roleIdentifiers = [];
89
+ const roles = [];
90
+ for (const encodedRole of encodedRoles) {
91
+ if (!encodedRole || (0, isEmpty_1.default)(encodedRole)) {
92
+ continue;
96
93
  }
97
- const { userId, roles: encodedRoles } = context.principals[0];
98
- const roleIds = [];
99
- const roleIdentifiers = [];
100
- const roles = [];
101
- for (const encodedRole of encodedRoles) {
102
- if (!encodedRole || (0, isEmpty_1.default)(encodedRole)) {
103
- continue;
94
+ const { id, identifier } = encodedRole;
95
+ roleIds.push((0, utilities_1.int)(id));
96
+ roleIdentifiers.push(identifier);
97
+ roles.push({ id, identifier });
98
+ }
99
+ if (!userId || !roles?.length) {
100
+ return authorization_1.AuthorizationDecision.DENY;
101
+ }
102
+ const { resource, allowedRoles = [], scopes, voters } = metadata;
103
+ const requestResource = resource ?? context.resource;
104
+ if ((0, intersection_1.default)(this.alwaysAllowRoles, roleIdentifiers)?.length > 0 ||
105
+ (0, intersection_1.default)(allowedRoles, roleIdentifiers)?.length > 0) {
106
+ return authorization_1.AuthorizationDecision.ALLOW;
107
+ }
108
+ if (voters && voters?.length > 0) {
109
+ const voterRs = await Promise.all(voters?.map(el => {
110
+ switch (typeof el) {
111
+ case 'function': {
112
+ return el?.(context, metadata);
113
+ }
114
+ default: {
115
+ throw (0, utilities_1.getError)({
116
+ message: '[authorize][voter] voter implementation must be function type!',
117
+ });
118
+ }
104
119
  }
105
- const { id, identifier } = encodedRole;
106
- roleIds.push((0, utilities_1.int)(id));
107
- roleIdentifiers.push(identifier);
108
- roles.push({ id, identifier });
109
- }
110
- // DENY all unknown user and unknow roles
111
- if (!userId || !(roles === null || roles === void 0 ? void 0 : roles.length)) {
112
- return authorization_1.AuthorizationDecision.DENY;
113
- }
114
- const { resource, allowedRoles = [], scopes, voters } = metadata;
115
- const requestResource = resource !== null && resource !== void 0 ? resource : context.resource;
116
- // Verify static roles
117
- if (((_a = (0, intersection_1.default)(this.alwaysAllowRoles, roleIdentifiers)) === null || _a === void 0 ? void 0 : _a.length) > 0 ||
118
- ((_b = (0, intersection_1.default)(allowedRoles, roleIdentifiers)) === null || _b === void 0 ? void 0 : _b.length) > 0) {
120
+ }));
121
+ const voterSet = new Set(voterRs);
122
+ if (voterSet.size === 1 && voterSet.has(authorization_1.AuthorizationDecision.ALLOW)) {
119
123
  return authorization_1.AuthorizationDecision.ALLOW;
120
124
  }
121
- if (voters && (voters === null || voters === void 0 ? void 0 : voters.length) > 0) {
122
- const voterRs = yield Promise.all(voters === null || voters === void 0 ? void 0 : voters.map(el => {
123
- switch (typeof el) {
124
- case 'function': {
125
- return el === null || el === void 0 ? void 0 : el(context, metadata);
126
- }
127
- default: {
128
- throw (0, utilities_1.getError)({
129
- message: '[authorize][voter] voter implementation must be function type!',
130
- });
131
- }
132
- }
133
- }));
134
- const voterSet = new Set(voterRs);
135
- if (voterSet.size === 1 && voterSet.has(authorization_1.AuthorizationDecision.ALLOW)) {
136
- return authorization_1.AuthorizationDecision.ALLOW;
137
- }
138
- if (voterSet.has(authorization_1.AuthorizationDecision.DENY)) {
139
- return authorization_1.AuthorizationDecision.DENY;
140
- }
125
+ if (voterSet.has(authorization_1.AuthorizationDecision.DENY)) {
126
+ return authorization_1.AuthorizationDecision.DENY;
141
127
  }
142
- // Authorize by role and user permissions
143
- const isAuthorized = yield this.authorizePermission(userId, requestResource, scopes);
144
- const rs = isAuthorized ? authorization_1.AuthorizationDecision.ALLOW : authorization_1.AuthorizationDecision.DENY;
145
- this.logger.debug('[authorize] Authorizing... | Resource: %s | allowedRoles: %j | scopes: %j | Took: %d(ms)', requestResource, allowedRoles, scopes, new Date().getTime() - t);
146
- return rs;
147
- });
128
+ }
129
+ const isAuthorized = await this.authorizePermission(userId, requestResource, scopes);
130
+ const rs = isAuthorized ? authorization_1.AuthorizationDecision.ALLOW : authorization_1.AuthorizationDecision.DENY;
131
+ this.logger.debug('[authorize] Authorizing... | Resource: %s | allowedRoles: %j | scopes: %j | Took: %d(ms)', requestResource, allowedRoles, scopes, new Date().getTime() - t);
132
+ return rs;
148
133
  }
149
134
  };
150
135
  exports.AuthorizeProvider = AuthorizeProvider;
@@ -154,4 +139,3 @@ exports.AuthorizeProvider = AuthorizeProvider = AuthorizeProvider_1 = __decorate
154
139
  __param(2, (0, core_1.inject)(common_1.AuthorizerKeys.NORMALIZE_PAYLOAD_FN)),
155
140
  __metadata("design:paramtypes", [services_1.EnforcerService, Array, Function])
156
141
  ], AuthorizeProvider);
157
- //# sourceMappingURL=provider.js.map
@@ -24,7 +24,6 @@ const repository_1 = require("@loopback/repository");
24
24
  const models_1 = require("../models");
25
25
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
26
26
  const DS_AUTHORIZE = process.env.APP_ENV_APPLICATION_DS_AUTHORIZE;
27
- // ----------------------------------------------------------------------------
28
27
  class AbstractAuthorizeRepository extends repositories_1.TzCrudRepository {
29
28
  constructor(entityClass, dataSource) {
30
29
  if (!DS_AUTHORIZE || (0, isEmpty_1.default)(DS_AUTHORIZE)) {
@@ -37,8 +36,10 @@ class AbstractAuthorizeRepository extends repositories_1.TzCrudRepository {
37
36
  }
38
37
  }
39
38
  exports.AbstractAuthorizeRepository = AbstractAuthorizeRepository;
40
- // ----------------------------------------------------------------------------
41
39
  let RoleRepository = class RoleRepository extends AbstractAuthorizeRepository {
40
+ permissionRepositoryGetter;
41
+ permissionMappingRepositoryGetter;
42
+ permissions;
42
43
  constructor(dataSource, permissionRepositoryGetter, permissionMappingRepositoryGetter) {
43
44
  super(models_1.Role, dataSource);
44
45
  this.permissionRepositoryGetter = permissionRepositoryGetter;
@@ -55,7 +56,6 @@ exports.RoleRepository = RoleRepository = __decorate([
55
56
  __param(2, repository_1.repository.getter('PermissionMappingRepository')),
56
57
  __metadata("design:paramtypes", [datasources_1.BaseDataSource, Function, Function])
57
58
  ], RoleRepository);
58
- // ----------------------------------------------------------------------------
59
59
  let PermissionRepository = class PermissionRepository extends AbstractAuthorizeRepository {
60
60
  constructor(dataSource) {
61
61
  super(models_1.Permission, dataSource);
@@ -67,7 +67,6 @@ exports.PermissionRepository = PermissionRepository = __decorate([
67
67
  __param(0, (0, core_1.inject)(`datasources.${DS_AUTHORIZE}`)),
68
68
  __metadata("design:paramtypes", [datasources_1.BaseDataSource])
69
69
  ], PermissionRepository);
70
- // ----------------------------------------------------------------------------
71
70
  let PermissionMappingRepository = class PermissionMappingRepository extends AbstractAuthorizeRepository {
72
71
  constructor(dataSource) {
73
72
  super(models_1.PermissionMapping, dataSource);
@@ -79,7 +78,6 @@ exports.PermissionMappingRepository = PermissionMappingRepository = __decorate([
79
78
  __param(0, (0, core_1.inject)(`datasources.${DS_AUTHORIZE}`)),
80
79
  __metadata("design:paramtypes", [datasources_1.BaseDataSource])
81
80
  ], PermissionMappingRepository);
82
- // ----------------------------------------------------------------------------
83
81
  let UserRoleRepository = class UserRoleRepository extends AbstractAuthorizeRepository {
84
82
  constructor(dataSource) {
85
83
  super(models_1.UserRole, dataSource);
@@ -91,7 +89,6 @@ exports.UserRoleRepository = UserRoleRepository = __decorate([
91
89
  __param(0, (0, core_1.inject)(`datasources.${DS_AUTHORIZE}`)),
92
90
  __metadata("design:paramtypes", [datasources_1.BaseDataSource])
93
91
  ], UserRoleRepository);
94
- // ----------------------------------------------------------------------------
95
92
  let ViewAuthorizePolicyRepository = class ViewAuthorizePolicyRepository extends repositories_1.ViewRepository {
96
93
  constructor(dataSource) {
97
94
  super(models_1.ViewAuthorizePolicy, dataSource);
@@ -102,4 +99,3 @@ exports.ViewAuthorizePolicyRepository = ViewAuthorizePolicyRepository = __decora
102
99
  __param(0, (0, core_1.inject)(`datasources.${DS_AUTHORIZE}`)),
103
100
  __metadata("design:paramtypes", [datasources_1.BaseDataSource])
104
101
  ], ViewAuthorizePolicyRepository);
105
- //# sourceMappingURL=authorize.repository.js.map
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./authorize.repository"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -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 __importDefault = (this && this.__importDefault) || function (mod) {
24
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
25
16
  };
@@ -36,6 +27,10 @@ const node_fs_1 = __importDefault(require("node:fs"));
36
27
  const adapters_1 = require("../adapters");
37
28
  const common_1 = require("../common");
38
29
  let EnforcerService = EnforcerService_1 = class EnforcerService {
30
+ options;
31
+ dataSource;
32
+ logger;
33
+ enforcer;
39
34
  constructor(options, dataSource) {
40
35
  this.options = options;
41
36
  this.dataSource = dataSource;
@@ -63,30 +58,28 @@ let EnforcerService = EnforcerService_1 = class EnforcerService {
63
58
  });
64
59
  }
65
60
  this.logger.info('[getEnforcer] Creating new Enforcer with configure path: %s | dataSource: %s', confPath, this.dataSource.name);
66
- const casbinAdapter = adapter !== null && adapter !== void 0 ? adapter : adapters_1.CasbinAdapterBuilder.getInstance().build({
67
- type: adapterType,
68
- dataSource: this.dataSource,
69
- });
61
+ const casbinAdapter = adapter ??
62
+ adapters_1.CasbinAdapterBuilder.getInstance().build({
63
+ type: adapterType,
64
+ dataSource: this.dataSource,
65
+ });
70
66
  if (useCache) {
71
67
  return (0, casbin_1.newCachedEnforcer)(confPath, casbinAdapter);
72
68
  }
73
69
  this.logger.debug('[getEnforcer] Created new enforcer | Configure path: %s', confPath);
74
70
  return (0, casbin_1.newEnforcer)(confPath, casbinAdapter);
75
71
  }
76
- // -----------------------------------------------------------------------------------------
77
- getTypeEnforcer(id) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- const enforcer = yield this.getEnforcer();
80
- if (!enforcer) {
81
- return null;
82
- }
83
- const filterValue = {
84
- principalType: 'User',
85
- principalValue: id,
86
- };
87
- yield enforcer.loadFilteredPolicy(filterValue);
88
- return enforcer;
89
- });
72
+ async getTypeEnforcer(id) {
73
+ const enforcer = await this.getEnforcer();
74
+ if (!enforcer) {
75
+ return null;
76
+ }
77
+ const filterValue = {
78
+ principalType: 'User',
79
+ principalValue: id,
80
+ };
81
+ await enforcer.loadFilteredPolicy(filterValue);
82
+ return enforcer;
90
83
  }
91
84
  };
92
85
  exports.EnforcerService = EnforcerService;
@@ -96,4 +89,3 @@ exports.EnforcerService = EnforcerService = EnforcerService_1 = __decorate([
96
89
  __param(1, (0, core_1.inject)(common_1.AuthorizerKeys.AUTHORIZE_DATASOURCE)),
97
90
  __metadata("design:paramtypes", [Object, datasources_1.BaseDataSource])
98
91
  ], EnforcerService);
99
- //# sourceMappingURL=enforcer.service.js.map
@@ -43,29 +43,9 @@ export declare class GeneratePermissionService {
43
43
  permissionRepository: PermissionRepository;
44
44
  controllers: Array<Constructor<IController>>;
45
45
  }): Promise<void>;
46
- /**
47
- * Obtain all permission codes for a controller
48
- *
49
- * @returns {string[]} List of permission codes
50
- */
51
46
  getPermissionCodes(opts: {
52
47
  controllers: Array<Constructor<IController>>;
53
48
  }): string[];
54
- /**
55
- * Write all permission codes for a list of controllers to a file
56
- *
57
- * @param outputPath - Path to write
58
- *
59
- * @example
60
- * const generatePermissionService = new GeneratePermissionService();
61
- *
62
- * generatePermissionService.getPermissionCodesAndWriteToFile({
63
- * controllers: [XboxController, PSController, NintendoController],
64
- * outputPath: './src/migrations/',
65
- * fileName: 'permissionCodes',
66
- * fileType: 'ts',
67
- * });
68
- */
69
49
  getPermissionCodesAndWriteToFile(opts: {
70
50
  controllers: Array<Constructor<IController>>;
71
51
  outputPath?: string;