@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.
- package/dist/base/applications/base.application.d.ts +2 -1
- package/dist/base/applications/base.application.js +31 -41
- package/dist/base/applications/default.application.js +2 -9
- package/dist/base/applications/index.js +0 -1
- package/dist/base/base.component.js +2 -3
- package/dist/base/base.helper.js +4 -4
- package/dist/base/base.provider.js +2 -3
- package/dist/base/base.sequence.js +17 -27
- package/dist/base/controllers/common.js +8 -10
- package/dist/base/controllers/crud.controller.js +55 -68
- package/dist/base/controllers/express-request-handler.d.ts +16 -0
- package/dist/base/controllers/express-request-handler.js +19 -0
- package/dist/base/controllers/index.d.ts +1 -0
- package/dist/base/controllers/index.js +1 -1
- package/dist/base/controllers/kv.controller.js +7 -19
- package/dist/base/controllers/relational.controller.d.ts +1 -3
- package/dist/base/controllers/relational.controller.js +40 -58
- package/dist/base/controllers/service-crud.controller.js +46 -47
- package/dist/base/datasources/base.datasource.js +1 -1
- package/dist/base/datasources/index.js +0 -1
- package/dist/base/datasources/types.js +0 -1
- package/dist/base/index.js +0 -1
- package/dist/base/loopback/@lb/auth/index.js +0 -1
- package/dist/base/loopback/@lb/core/index.d.ts +1 -1
- package/dist/base/loopback/@lb/core/index.js +1 -2
- package/dist/base/loopback/@lb/repository/index.d.ts +0 -1
- package/dist/base/loopback/@lb/repository/index.js +0 -2
- package/dist/base/loopback/@lb/rest/index.js +0 -1
- package/dist/base/loopback/authentication/index.d.ts +0 -2
- package/dist/base/loopback/authentication/index.js +0 -2
- package/dist/base/loopback/authorization/index.js +0 -1
- package/dist/base/loopback/boot/index.js +0 -1
- package/dist/base/loopback/core/index.js +0 -1
- package/dist/base/loopback/filter/index.d.ts +1 -2
- package/dist/base/loopback/filter/index.js +0 -16
- package/dist/base/loopback/health-check/index.d.ts +2 -0
- package/dist/base/loopback/health-check/index.js +17 -0
- package/dist/base/loopback/http-server/index.d.ts +1 -2
- package/dist/base/loopback/http-server/index.js +0 -16
- package/dist/base/loopback/metadata/index.js +0 -1
- package/dist/base/loopback/repository/index.js +0 -1
- package/dist/base/loopback/rest/index.js +0 -1
- package/dist/base/loopback/security/index.js +0 -1
- package/dist/base/loopback/service-proxy/index.js +0 -1
- package/dist/base/models/base.model.d.ts +0 -7
- package/dist/base/models/base.model.js +5 -24
- package/dist/base/models/index.js +0 -1
- package/dist/base/repositories/base.repository.d.ts +0 -3
- package/dist/base/repositories/base.repository.js +5 -25
- package/dist/base/repositories/index.js +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +0 -8
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +11 -11
- package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +0 -9
- package/dist/base/repositories/relations/has-many-polymorphic/factory.js +12 -31
- package/dist/base/repositories/relations/has-many-polymorphic/index.js +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/types.js +0 -1
- package/dist/base/repositories/relations/index.js +0 -1
- package/dist/base/repositories/searchable-tz-crud.repository.js +129 -161
- package/dist/base/repositories/tz-crud.repository.js +23 -59
- package/dist/base/services/base-crud.service.js +6 -10
- package/dist/base/services/base.service.js +2 -3
- package/dist/base/services/index.js +0 -1
- package/dist/common/constants.js +81 -90
- package/dist/common/environments.js +25 -26
- package/dist/common/index.js +0 -1
- package/dist/common/keys.js +2 -3
- package/dist/common/statuses.js +28 -32
- package/dist/common/types.d.ts +0 -3
- package/dist/common/types.js +0 -1
- package/dist/components/authenticate/common/constants.js +11 -14
- package/dist/components/authenticate/common/index.js +0 -1
- package/dist/components/authenticate/common/keys.js +7 -8
- package/dist/components/authenticate/common/types.js +11 -4
- package/dist/components/authenticate/component.js +22 -30
- package/dist/components/authenticate/controllers/auth.controller.js +13 -12
- package/dist/components/authenticate/controllers/index.js +0 -1
- package/dist/components/authenticate/controllers/oauth2.controller.d.ts +6 -9
- package/dist/components/authenticate/controllers/oauth2.controller.js +20 -28
- package/dist/components/authenticate/index.js +0 -1
- package/dist/components/authenticate/middleware.js +25 -36
- package/dist/components/authenticate/models/index.js +0 -1
- package/dist/components/authenticate/models/oauth2-client.model.js +8 -4
- package/dist/components/authenticate/models/oauth2-scope.model.js +4 -1
- package/dist/components/authenticate/models/oauth2-token.model.js +7 -1
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +4 -6
- package/dist/components/authenticate/oauth2-handlers/base.js +95 -111
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +2 -4
- package/dist/components/authenticate/oauth2-handlers/index.js +0 -1
- package/dist/components/authenticate/oauth2-handlers/oauth2.js +3 -3
- package/dist/components/authenticate/oauth2-handlers/password.handler.js +0 -1
- package/dist/components/authenticate/repositories/index.js +0 -1
- package/dist/components/authenticate/repositories/oauth2.repository.js +2 -1
- package/dist/components/authenticate/services/basic-token.service.js +18 -30
- package/dist/components/authenticate/services/basic.strategy.js +7 -18
- package/dist/components/authenticate/services/index.js +0 -1
- package/dist/components/authenticate/services/jwt-token.service.js +27 -41
- package/dist/components/authenticate/services/jwt.strategy.js +2 -2
- package/dist/components/authenticate/services/oauth2.service.js +98 -111
- package/dist/components/authenticate/services/oauth2.strategy.js +19 -32
- package/dist/components/authorize/adapters/adapter-builder.js +1 -1
- package/dist/components/authorize/adapters/base.adapter.js +2 -10
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +37 -56
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +0 -2
- package/dist/components/authorize/adapters/index.js +0 -1
- package/dist/components/authorize/common/constants.js +10 -13
- package/dist/components/authorize/common/index.js +0 -1
- package/dist/components/authorize/common/keys.js +15 -16
- package/dist/components/authorize/common/types.js +2 -3
- package/dist/components/authorize/component.js +44 -60
- package/dist/components/authorize/decorators/index.d.ts +0 -11
- package/dist/components/authorize/decorators/index.js +1 -15
- package/dist/components/authorize/index.js +0 -1
- package/dist/components/authorize/interceptor.js +76 -81
- package/dist/components/authorize/migrations/0000-create-view-policy.js +3 -15
- package/dist/components/authorize/migrations/index.js +0 -1
- package/dist/components/authorize/models/defs.d.ts +5 -5
- package/dist/components/authorize/models/defs.js +24 -6
- package/dist/components/authorize/models/index.js +0 -1
- package/dist/components/authorize/models/permission-mapping.model.d.ts +1 -1
- package/dist/components/authorize/models/permission-mapping.model.js +0 -1
- package/dist/components/authorize/models/permission.model.d.ts +1 -1
- package/dist/components/authorize/models/permission.model.js +0 -1
- package/dist/components/authorize/models/role.model.d.ts +1 -1
- package/dist/components/authorize/models/role.model.js +1 -2
- package/dist/components/authorize/models/user-role.model.d.ts +1 -1
- package/dist/components/authorize/models/user-role.model.js +0 -2
- package/dist/components/authorize/models/view-authorize-policy.model.js +4 -2
- package/dist/components/authorize/provider.js +81 -97
- package/dist/components/authorize/repositories/authorize.repository.js +3 -7
- package/dist/components/authorize/repositories/index.js +0 -1
- package/dist/components/authorize/services/enforcer.service.js +20 -28
- package/dist/components/authorize/services/generator.service.d.ts +0 -20
- package/dist/components/authorize/services/generator.service.js +62 -97
- package/dist/components/authorize/services/index.js +0 -1
- package/dist/components/crash-report/common/constants.js +0 -1
- package/dist/components/crash-report/common/index.js +0 -1
- package/dist/components/crash-report/common/keys.js +8 -11
- package/dist/components/crash-report/common/types.js +0 -1
- package/dist/components/crash-report/component.js +31 -45
- package/dist/components/crash-report/index.js +0 -1
- package/dist/components/crash-report/providers/index.js +0 -1
- package/dist/components/crash-report/providers/provider.js +1 -1
- package/dist/components/crash-report/providers/third-parties/base.js +2 -3
- package/dist/components/crash-report/providers/third-parties/index.js +0 -1
- package/dist/components/crash-report/services/index.js +0 -1
- package/dist/components/crash-report/services/mt-crash-report.service.js +5 -6
- package/dist/components/grpc/common/constants.js +0 -1
- package/dist/components/grpc/common/index.js +0 -1
- package/dist/components/grpc/common/keys.js +4 -5
- package/dist/components/grpc/common/types.js +0 -1
- package/dist/components/grpc/components/index.js +0 -1
- package/dist/components/grpc/components/server.component.js +9 -10
- package/dist/components/grpc/controllers/base.js +1 -1
- package/dist/components/grpc/controllers/index.js +0 -1
- package/dist/components/grpc/decorators/index.js +0 -1
- package/dist/components/grpc/helpers/grpc-client.js +9 -4
- package/dist/components/grpc/helpers/grpc-server.js +14 -18
- package/dist/components/grpc/helpers/index.js +0 -1
- package/dist/components/grpc/index.js +0 -1
- package/dist/components/grpc/persistents/grpc.connector.js +8 -3
- package/dist/components/grpc/persistents/grpc.datasource.js +2 -4
- package/dist/components/grpc/persistents/grpc.repository.js +3 -3
- package/dist/components/grpc/persistents/index.js +0 -1
- package/dist/components/health-check/component.d.ts +7 -0
- package/dist/components/health-check/component.js +51 -0
- package/dist/components/health-check/index.d.ts +1 -0
- package/dist/components/health-check/index.js +17 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +2 -2
- package/dist/components/migration/common/index.js +0 -1
- package/dist/components/migration/common/keys.js +3 -4
- package/dist/components/migration/common/types.js +0 -1
- package/dist/components/migration/component.js +5 -9
- package/dist/components/migration/index.js +0 -1
- package/dist/components/migration/models/index.js +0 -1
- package/dist/components/migration/models/migration.model.js +2 -1
- package/dist/components/migration/repositories/index.js +0 -1
- package/dist/components/migration/repositories/migration.repository.js +0 -1
- package/dist/components/socket-io/common/constants.js +10 -11
- package/dist/components/socket-io/common/index.js +0 -1
- package/dist/components/socket-io/common/keys.js +6 -7
- package/dist/components/socket-io/component.js +9 -9
- package/dist/components/socket-io/helpers/index.js +0 -1
- package/dist/components/socket-io/helpers/socket-io-client.helper.js +7 -12
- package/dist/components/socket-io/helpers/socket-io-server.helper.js +26 -42
- package/dist/components/socket-io/index.js +0 -1
- package/dist/components/static-asset/common/index.js +0 -1
- package/dist/components/static-asset/common/keys.js +4 -5
- package/dist/components/static-asset/component.js +9 -9
- package/dist/components/static-asset/controllers/asset.controller.d.ts +0 -8
- package/dist/components/static-asset/controllers/asset.controller.js +71 -94
- package/dist/components/static-asset/controllers/index.js +0 -1
- package/dist/components/static-asset/controllers/resource.controller.js +8 -10
- package/dist/components/static-asset/index.js +0 -1
- package/dist/datasources/index.d.ts +1 -1
- package/dist/datasources/index.js +1 -2
- package/dist/datasources/{kvmem → memory}/datasource.js +3 -4
- package/dist/datasources/{kvmem → memory}/index.js +0 -1
- package/dist/datasources/postgres/datasource.js +10 -11
- package/dist/datasources/postgres/index.js +0 -1
- package/dist/datasources/postgres/types.js +0 -1
- package/dist/datasources/redis/connector.js +18 -8
- package/dist/datasources/redis/datasource.js +7 -8
- package/dist/datasources/redis/index.js +0 -1
- package/dist/datasources/redis/types.js +0 -1
- package/dist/helpers/application-environment.helper.js +3 -4
- package/dist/helpers/cron.helper.js +9 -15
- package/dist/helpers/crypto/algorithms/aes.algorithm.js +8 -8
- package/dist/helpers/crypto/algorithms/base.algorithm.js +3 -5
- package/dist/helpers/crypto/algorithms/index.js +0 -1
- package/dist/helpers/crypto/algorithms/rsa.algorithm.js +4 -6
- package/dist/helpers/crypto/common/constants.js +0 -1
- package/dist/helpers/crypto/common/index.js +0 -1
- package/dist/helpers/crypto/common/types.js +0 -1
- package/dist/helpers/crypto/index.js +0 -1
- package/dist/helpers/database/index.js +0 -1
- package/dist/helpers/database/query-builder.helper.js +2 -6
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/logger/application-logger.js +7 -18
- package/dist/helpers/logger/common/index.js +0 -1
- package/dist/helpers/logger/common/types.js +20 -23
- package/dist/helpers/logger/default-logger.js +2 -13
- package/dist/helpers/logger/factory.js +1 -2
- package/dist/helpers/logger/index.js +0 -1
- package/dist/helpers/logger/transports/dgram.transport.js +16 -26
- package/dist/helpers/logger/transports/index.js +0 -1
- package/dist/helpers/network/http-request/base-network-request.helper.d.ts +3 -0
- package/dist/helpers/network/http-request/base-network-request.helper.js +39 -35
- package/dist/helpers/network/http-request/fetcher/axios-fetcher.d.ts +2 -3
- package/dist/helpers/network/http-request/fetcher/axios-fetcher.js +10 -23
- package/dist/helpers/network/http-request/fetcher/base-fetcher.d.ts +5 -1
- package/dist/helpers/network/http-request/fetcher/base-fetcher.js +16 -37
- package/dist/helpers/network/http-request/fetcher/index.js +0 -1
- package/dist/helpers/network/http-request/fetcher/node-fetcher.d.ts +2 -2
- package/dist/helpers/network/http-request/fetcher/node-fetcher.js +28 -13
- package/dist/helpers/network/http-request/index.js +0 -1
- package/dist/helpers/network/http-request/types.d.ts +2 -1
- package/dist/helpers/network/http-request/types.js +0 -1
- package/dist/helpers/network/index.js +0 -1
- package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js +30 -28
- package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js +21 -20
- package/dist/helpers/network/tcp-socket/index.js +0 -1
- package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js +5 -2
- package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js +5 -2
- package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js +5 -2
- package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js +5 -2
- package/dist/helpers/network/udp-socket/index.js +0 -1
- package/dist/helpers/network/udp-socket/network-udp-client.helper.js +21 -19
- package/dist/helpers/queue/bullmq.helper.js +21 -23
- package/dist/helpers/queue/index.js +0 -1
- package/dist/helpers/queue/mqtt.helper.js +15 -18
- package/dist/helpers/queue/queue.helper.js +74 -146
- package/dist/helpers/redis/default.helper.js +117 -163
- package/dist/helpers/redis/index.js +0 -1
- package/dist/helpers/redis/redis-cluster.helper.js +7 -3
- package/dist/helpers/redis/redis.helper.js +8 -6
- package/dist/helpers/redis/types.js +0 -1
- package/dist/helpers/storage/di-container.helper.js +2 -1
- package/dist/helpers/storage/index.js +0 -1
- package/dist/helpers/storage/minio.helper.js +88 -129
- package/dist/helpers/testing/common.js +3 -4
- package/dist/helpers/testing/describe.js +14 -22
- package/dist/helpers/testing/index.js +0 -1
- package/dist/helpers/testing/test-case.js +5 -1
- package/dist/helpers/testing/test-handler.js +23 -31
- package/dist/helpers/testing/test-plan/base.js +9 -7
- package/dist/helpers/testing/test-plan/default.js +0 -1
- package/dist/helpers/testing/test-plan/index.js +0 -1
- package/dist/helpers/testing/types.js +0 -1
- package/dist/helpers/worker-thread/base.js +10 -21
- package/dist/helpers/worker-thread/index.js +0 -1
- package/dist/helpers/worker-thread/types.js +0 -1
- package/dist/helpers/worker-thread/worker-bus.js +11 -13
- package/dist/helpers/worker-thread/worker-pool.js +17 -26
- package/dist/index.js +0 -1
- package/dist/interceptors/content-range.interceptor.js +115 -133
- package/dist/interceptors/index.js +0 -1
- package/dist/middlewares/index.js +0 -1
- package/dist/middlewares/request-body-parser.middleware.js +4 -17
- package/dist/middlewares/request-spy.middleware.js +4 -6
- package/dist/migrations/base-path.js +0 -1
- package/dist/migrations/handler.js +13 -23
- package/dist/migrations/index.js +0 -1
- package/dist/mixins/data-type.mixin.js +5 -1
- package/dist/mixins/deprecated/user-audit.mixin.d.ts +0 -3
- package/dist/mixins/deprecated/user-audit.mixin.js +2 -6
- package/dist/mixins/duplicatable.mixin.js +1 -1
- package/dist/mixins/index.js +0 -1
- package/dist/mixins/object-search.mixin.js +1 -1
- package/dist/mixins/principal.mixin.js +2 -1
- package/dist/mixins/soft-delete.mixin.js +1 -1
- package/dist/mixins/soft-persistent.mixin.js +1 -1
- package/dist/mixins/text-search.mixin.js +1 -1
- package/dist/mixins/tz.mixin.js +2 -1
- package/dist/mixins/user-audit.mixin.js +5 -4
- package/dist/mixins/vector.mixin.js +9 -7
- package/dist/tsconfig.base.json +11 -4
- package/dist/utilities/crypto.utility.js +0 -1
- package/dist/utilities/date.utility.js +5 -24
- package/dist/utilities/error.utility.js +2 -1
- package/dist/utilities/index.js +0 -1
- package/dist/utilities/model.utility.js +2 -7
- package/dist/utilities/parse.utility.d.ts +0 -16
- package/dist/utilities/parse.utility.js +6 -42
- package/dist/utilities/performance.utility.js +1 -3
- package/dist/utilities/promise.utility.d.ts +0 -17
- package/dist/utilities/promise.utility.js +5 -32
- package/dist/utilities/query.utility.js +8 -17
- package/dist/utilities/request.utility.js +2 -9
- package/dist/utilities/url.utility.js +0 -1
- package/package.json +11 -7
- package/dist/base/applications/base.application.js.map +0 -1
- package/dist/base/applications/default.application.js.map +0 -1
- package/dist/base/applications/index.js.map +0 -1
- package/dist/base/base.component.js.map +0 -1
- package/dist/base/base.helper.js.map +0 -1
- package/dist/base/base.provider.js.map +0 -1
- package/dist/base/base.sequence.js.map +0 -1
- package/dist/base/controllers/common.js.map +0 -1
- package/dist/base/controllers/crud.controller.js.map +0 -1
- package/dist/base/controllers/index.js.map +0 -1
- package/dist/base/controllers/kv.controller.js.map +0 -1
- package/dist/base/controllers/relational.controller.js.map +0 -1
- package/dist/base/controllers/service-crud.controller.js.map +0 -1
- package/dist/base/datasources/base.datasource.js.map +0 -1
- package/dist/base/datasources/index.js.map +0 -1
- package/dist/base/datasources/types.js.map +0 -1
- package/dist/base/index.js.map +0 -1
- package/dist/base/loopback/@lb/auth/index.js.map +0 -1
- package/dist/base/loopback/@lb/core/index.js.map +0 -1
- package/dist/base/loopback/@lb/repository/index.js.map +0 -1
- package/dist/base/loopback/@lb/rest/index.js.map +0 -1
- package/dist/base/loopback/authentication/index.js.map +0 -1
- package/dist/base/loopback/authorization/index.js.map +0 -1
- package/dist/base/loopback/boot/index.js.map +0 -1
- package/dist/base/loopback/core/index.js.map +0 -1
- package/dist/base/loopback/filter/index.js.map +0 -1
- package/dist/base/loopback/http-server/index.js.map +0 -1
- package/dist/base/loopback/metadata/index.js.map +0 -1
- package/dist/base/loopback/repository/index.js.map +0 -1
- package/dist/base/loopback/rest/index.js.map +0 -1
- package/dist/base/loopback/security/index.js.map +0 -1
- package/dist/base/loopback/service-proxy/index.js.map +0 -1
- package/dist/base/models/base.model.js.map +0 -1
- package/dist/base/models/index.js.map +0 -1
- package/dist/base/repositories/base.repository.js.map +0 -1
- package/dist/base/repositories/index.js.map +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.js.map +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/index.js.map +0 -1
- package/dist/base/repositories/relations/has-many-polymorphic/types.js.map +0 -1
- package/dist/base/repositories/relations/index.js.map +0 -1
- package/dist/base/repositories/searchable-tz-crud.repository.js.map +0 -1
- package/dist/base/repositories/tz-crud.repository.js.map +0 -1
- package/dist/base/services/base-crud.service.js.map +0 -1
- package/dist/base/services/base.service.js.map +0 -1
- package/dist/base/services/index.js.map +0 -1
- package/dist/common/constants.js.map +0 -1
- package/dist/common/environments.js.map +0 -1
- package/dist/common/index.js.map +0 -1
- package/dist/common/keys.js.map +0 -1
- package/dist/common/statuses.js.map +0 -1
- package/dist/common/types.js.map +0 -1
- package/dist/components/authenticate/common/constants.js.map +0 -1
- package/dist/components/authenticate/common/index.js.map +0 -1
- package/dist/components/authenticate/common/keys.js.map +0 -1
- package/dist/components/authenticate/common/types.js.map +0 -1
- package/dist/components/authenticate/component.js.map +0 -1
- package/dist/components/authenticate/controllers/auth.controller.js.map +0 -1
- package/dist/components/authenticate/controllers/index.js.map +0 -1
- package/dist/components/authenticate/controllers/oauth2.controller.js.map +0 -1
- package/dist/components/authenticate/index.js.map +0 -1
- package/dist/components/authenticate/middleware.js.map +0 -1
- package/dist/components/authenticate/models/index.js.map +0 -1
- package/dist/components/authenticate/models/oauth2-client.model.js.map +0 -1
- package/dist/components/authenticate/models/oauth2-scope.model.js.map +0 -1
- package/dist/components/authenticate/models/oauth2-token.model.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/base.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/index.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/oauth2.js.map +0 -1
- package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +0 -1
- package/dist/components/authenticate/repositories/index.js.map +0 -1
- package/dist/components/authenticate/repositories/oauth2.repository.js.map +0 -1
- package/dist/components/authenticate/services/basic-token.service.js.map +0 -1
- package/dist/components/authenticate/services/basic.strategy.js.map +0 -1
- package/dist/components/authenticate/services/index.js.map +0 -1
- package/dist/components/authenticate/services/jwt-token.service.js.map +0 -1
- package/dist/components/authenticate/services/jwt.strategy.js.map +0 -1
- package/dist/components/authenticate/services/oauth2.service.js.map +0 -1
- package/dist/components/authenticate/services/oauth2.strategy.js.map +0 -1
- package/dist/components/authorize/adapters/adapter-builder.js.map +0 -1
- package/dist/components/authorize/adapters/base.adapter.js.map +0 -1
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +0 -1
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js.map +0 -1
- package/dist/components/authorize/adapters/index.js.map +0 -1
- package/dist/components/authorize/common/constants.js.map +0 -1
- package/dist/components/authorize/common/index.js.map +0 -1
- package/dist/components/authorize/common/keys.js.map +0 -1
- package/dist/components/authorize/common/types.js.map +0 -1
- package/dist/components/authorize/component.js.map +0 -1
- package/dist/components/authorize/decorators/index.js.map +0 -1
- package/dist/components/authorize/index.js.map +0 -1
- package/dist/components/authorize/interceptor.js.map +0 -1
- package/dist/components/authorize/migrations/0000-create-view-policy.js.map +0 -1
- package/dist/components/authorize/migrations/index.js.map +0 -1
- package/dist/components/authorize/models/defs.js.map +0 -1
- package/dist/components/authorize/models/index.js.map +0 -1
- package/dist/components/authorize/models/permission-mapping.model.js.map +0 -1
- package/dist/components/authorize/models/permission.model.js.map +0 -1
- package/dist/components/authorize/models/role.model.js.map +0 -1
- package/dist/components/authorize/models/user-role.model.js.map +0 -1
- package/dist/components/authorize/models/view-authorize-policy.model.js.map +0 -1
- package/dist/components/authorize/provider.js.map +0 -1
- package/dist/components/authorize/repositories/authorize.repository.js.map +0 -1
- package/dist/components/authorize/repositories/index.js.map +0 -1
- package/dist/components/authorize/services/enforcer.service.js.map +0 -1
- package/dist/components/authorize/services/generator.service.js.map +0 -1
- package/dist/components/authorize/services/index.js.map +0 -1
- package/dist/components/crash-report/common/constants.js.map +0 -1
- package/dist/components/crash-report/common/index.js.map +0 -1
- package/dist/components/crash-report/common/keys.js.map +0 -1
- package/dist/components/crash-report/common/types.js.map +0 -1
- package/dist/components/crash-report/component.js.map +0 -1
- package/dist/components/crash-report/index.js.map +0 -1
- package/dist/components/crash-report/providers/index.js.map +0 -1
- package/dist/components/crash-report/providers/provider.js.map +0 -1
- package/dist/components/crash-report/providers/third-parties/base.js.map +0 -1
- package/dist/components/crash-report/providers/third-parties/index.js.map +0 -1
- package/dist/components/crash-report/services/index.js.map +0 -1
- package/dist/components/crash-report/services/mt-crash-report.service.js.map +0 -1
- package/dist/components/grpc/common/constants.js.map +0 -1
- package/dist/components/grpc/common/index.js.map +0 -1
- package/dist/components/grpc/common/keys.js.map +0 -1
- package/dist/components/grpc/common/types.js.map +0 -1
- package/dist/components/grpc/components/index.js.map +0 -1
- package/dist/components/grpc/components/server.component.js.map +0 -1
- package/dist/components/grpc/controllers/base.js.map +0 -1
- package/dist/components/grpc/controllers/index.js.map +0 -1
- package/dist/components/grpc/decorators/index.js.map +0 -1
- package/dist/components/grpc/helpers/grpc-client.js.map +0 -1
- package/dist/components/grpc/helpers/grpc-server.js.map +0 -1
- package/dist/components/grpc/helpers/index.js.map +0 -1
- package/dist/components/grpc/index.js.map +0 -1
- package/dist/components/grpc/persistents/grpc.connector.js.map +0 -1
- package/dist/components/grpc/persistents/grpc.datasource.js.map +0 -1
- package/dist/components/grpc/persistents/grpc.repository.js.map +0 -1
- package/dist/components/grpc/persistents/index.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/migration/common/index.js.map +0 -1
- package/dist/components/migration/common/keys.js.map +0 -1
- package/dist/components/migration/common/types.js.map +0 -1
- package/dist/components/migration/component.js.map +0 -1
- package/dist/components/migration/index.js.map +0 -1
- package/dist/components/migration/models/index.js.map +0 -1
- package/dist/components/migration/models/migration.model.js.map +0 -1
- package/dist/components/migration/repositories/index.js.map +0 -1
- package/dist/components/migration/repositories/migration.repository.js.map +0 -1
- package/dist/components/socket-io/common/constants.js.map +0 -1
- package/dist/components/socket-io/common/index.js.map +0 -1
- package/dist/components/socket-io/common/keys.js.map +0 -1
- package/dist/components/socket-io/component.js.map +0 -1
- package/dist/components/socket-io/helpers/index.js.map +0 -1
- package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +0 -1
- package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +0 -1
- package/dist/components/socket-io/index.js.map +0 -1
- package/dist/components/static-asset/common/index.js.map +0 -1
- package/dist/components/static-asset/common/keys.js.map +0 -1
- package/dist/components/static-asset/component.js.map +0 -1
- package/dist/components/static-asset/controllers/asset.controller.js.map +0 -1
- package/dist/components/static-asset/controllers/index.js.map +0 -1
- package/dist/components/static-asset/controllers/resource.controller.js.map +0 -1
- package/dist/components/static-asset/index.js.map +0 -1
- package/dist/datasources/index.js.map +0 -1
- package/dist/datasources/kvmem/datasource.js.map +0 -1
- package/dist/datasources/kvmem/index.js.map +0 -1
- package/dist/datasources/postgres/datasource.js.map +0 -1
- package/dist/datasources/postgres/index.js.map +0 -1
- package/dist/datasources/postgres/types.js.map +0 -1
- package/dist/datasources/redis/connector.js.map +0 -1
- package/dist/datasources/redis/datasource.js.map +0 -1
- package/dist/datasources/redis/index.js.map +0 -1
- package/dist/datasources/redis/types.js.map +0 -1
- package/dist/helpers/application-environment.helper.js.map +0 -1
- package/dist/helpers/cron.helper.js.map +0 -1
- package/dist/helpers/crypto/algorithms/aes.algorithm.js.map +0 -1
- package/dist/helpers/crypto/algorithms/base.algorithm.js.map +0 -1
- package/dist/helpers/crypto/algorithms/index.js.map +0 -1
- package/dist/helpers/crypto/algorithms/rsa.algorithm.js.map +0 -1
- package/dist/helpers/crypto/common/constants.js.map +0 -1
- package/dist/helpers/crypto/common/index.js.map +0 -1
- package/dist/helpers/crypto/common/types.js.map +0 -1
- package/dist/helpers/crypto/index.js.map +0 -1
- package/dist/helpers/database/index.js.map +0 -1
- package/dist/helpers/database/query-builder.helper.js.map +0 -1
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/logger/application-logger.js.map +0 -1
- package/dist/helpers/logger/common/index.js.map +0 -1
- package/dist/helpers/logger/common/types.js.map +0 -1
- package/dist/helpers/logger/default-logger.js.map +0 -1
- package/dist/helpers/logger/factory.js.map +0 -1
- package/dist/helpers/logger/index.js.map +0 -1
- package/dist/helpers/logger/transports/dgram.transport.js.map +0 -1
- package/dist/helpers/logger/transports/index.js.map +0 -1
- package/dist/helpers/network/http-request/base-network-request.helper.js.map +0 -1
- package/dist/helpers/network/http-request/fetcher/axios-fetcher.js.map +0 -1
- package/dist/helpers/network/http-request/fetcher/base-fetcher.js.map +0 -1
- package/dist/helpers/network/http-request/fetcher/index.js.map +0 -1
- package/dist/helpers/network/http-request/fetcher/node-fetcher.js.map +0 -1
- package/dist/helpers/network/http-request/index.js.map +0 -1
- package/dist/helpers/network/http-request/types.js.map +0 -1
- package/dist/helpers/network/index.js.map +0 -1
- package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js.map +0 -1
- package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js.map +0 -1
- package/dist/helpers/network/tcp-socket/index.js.map +0 -1
- package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js.map +0 -1
- package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js.map +0 -1
- package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js.map +0 -1
- package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js.map +0 -1
- package/dist/helpers/network/udp-socket/index.js.map +0 -1
- package/dist/helpers/network/udp-socket/network-udp-client.helper.js.map +0 -1
- package/dist/helpers/queue/bullmq.helper.js.map +0 -1
- package/dist/helpers/queue/index.js.map +0 -1
- package/dist/helpers/queue/mqtt.helper.js.map +0 -1
- package/dist/helpers/queue/queue.helper.js.map +0 -1
- package/dist/helpers/redis/default.helper.js.map +0 -1
- package/dist/helpers/redis/index.js.map +0 -1
- package/dist/helpers/redis/redis-cluster.helper.js.map +0 -1
- package/dist/helpers/redis/redis.helper.js.map +0 -1
- package/dist/helpers/redis/types.js.map +0 -1
- package/dist/helpers/storage/di-container.helper.js.map +0 -1
- package/dist/helpers/storage/index.js.map +0 -1
- package/dist/helpers/storage/minio.helper.js.map +0 -1
- package/dist/helpers/testing/common.js.map +0 -1
- package/dist/helpers/testing/describe.js.map +0 -1
- package/dist/helpers/testing/index.js.map +0 -1
- package/dist/helpers/testing/test-case.js.map +0 -1
- package/dist/helpers/testing/test-handler.js.map +0 -1
- package/dist/helpers/testing/test-plan/base.js.map +0 -1
- package/dist/helpers/testing/test-plan/default.js.map +0 -1
- package/dist/helpers/testing/test-plan/index.js.map +0 -1
- package/dist/helpers/testing/types.js.map +0 -1
- package/dist/helpers/worker-thread/base.js.map +0 -1
- package/dist/helpers/worker-thread/index.js.map +0 -1
- package/dist/helpers/worker-thread/types.js.map +0 -1
- package/dist/helpers/worker-thread/worker-bus.js.map +0 -1
- package/dist/helpers/worker-thread/worker-pool.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interceptors/content-range.interceptor.js.map +0 -1
- package/dist/interceptors/index.js.map +0 -1
- package/dist/middlewares/index.js.map +0 -1
- package/dist/middlewares/request-body-parser.middleware.js.map +0 -1
- package/dist/middlewares/request-spy.middleware.js.map +0 -1
- package/dist/migrations/base-path.js.map +0 -1
- package/dist/migrations/handler.js.map +0 -1
- package/dist/migrations/index.js.map +0 -1
- package/dist/mixins/data-type.mixin.js.map +0 -1
- package/dist/mixins/deprecated/user-audit.mixin.js.map +0 -1
- package/dist/mixins/duplicatable.mixin.js.map +0 -1
- package/dist/mixins/index.js.map +0 -1
- package/dist/mixins/object-search.mixin.js.map +0 -1
- package/dist/mixins/principal.mixin.js.map +0 -1
- package/dist/mixins/soft-delete.mixin.js.map +0 -1
- package/dist/mixins/soft-persistent.mixin.js.map +0 -1
- package/dist/mixins/text-search.mixin.js.map +0 -1
- package/dist/mixins/tz.mixin.js.map +0 -1
- package/dist/mixins/user-audit.mixin.js.map +0 -1
- package/dist/mixins/vector.mixin.js.map +0 -1
- package/dist/utilities/crypto.utility.js.map +0 -1
- package/dist/utilities/date.utility.js.map +0 -1
- package/dist/utilities/error.utility.js.map +0 -1
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/model.utility.js.map +0 -1
- package/dist/utilities/parse.utility.js.map +0 -1
- package/dist/utilities/performance.utility.js.map +0 -1
- package/dist/utilities/promise.utility.js.map +0 -1
- package/dist/utilities/query.utility.js.map +0 -1
- package/dist/utilities/request.utility.js.map +0 -1
- package/dist/utilities/url.utility.js.map +0 -1
- /package/dist/datasources/{kvmem → memory}/datasource.d.ts +0 -0
- /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:
|
|
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 (!
|
|
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 =
|
|
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(
|
|
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(
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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 =
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
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:
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|