@minimaltech/node-infra 0.2.27
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/LICENSE +26 -0
- package/README.md +8 -0
- package/dist/base/applications/base.application.d.ts +306 -0
- package/dist/base/applications/base.application.js +147 -0
- package/dist/base/applications/base.application.js.map +1 -0
- package/dist/base/applications/default.application.d.ts +19 -0
- package/dist/base/applications/default.application.js +78 -0
- package/dist/base/applications/default.application.js.map +1 -0
- package/dist/base/applications/index.d.ts +2 -0
- package/dist/base/applications/index.js +19 -0
- package/dist/base/applications/index.js.map +1 -0
- package/dist/base/base.component.d.ts +8 -0
- package/dist/base/base.component.js +12 -0
- package/dist/base/base.component.js.map +1 -0
- package/dist/base/base.datasource.d.ts +9 -0
- package/dist/base/base.datasource.js +13 -0
- package/dist/base/base.datasource.js.map +1 -0
- package/dist/base/base.model.d.ts +107 -0
- package/dist/base/base.model.js +79 -0
- package/dist/base/base.model.js.map +1 -0
- package/dist/base/base.provider.d.ts +7 -0
- package/dist/base/base.provider.js +12 -0
- package/dist/base/base.provider.js.map +1 -0
- package/dist/base/base.sequence.d.ts +8 -0
- package/dist/base/base.sequence.js +62 -0
- package/dist/base/base.sequence.js.map +1 -0
- package/dist/base/base.service.d.ts +8 -0
- package/dist/base/base.service.js +12 -0
- package/dist/base/base.service.js.map +1 -0
- package/dist/base/controllers/common.d.ts +17 -0
- package/dist/base/controllers/common.js +33 -0
- package/dist/base/controllers/common.js.map +1 -0
- package/dist/base/controllers/crud.controller.d.ts +39 -0
- package/dist/base/controllers/crud.controller.js +297 -0
- package/dist/base/controllers/crud.controller.js.map +1 -0
- package/dist/base/controllers/index.d.ts +4 -0
- package/dist/base/controllers/index.js +21 -0
- package/dist/base/controllers/index.js.map +1 -0
- package/dist/base/controllers/kv.controller.d.ts +20 -0
- package/dist/base/controllers/kv.controller.js +139 -0
- package/dist/base/controllers/kv.controller.js.map +1 -0
- package/dist/base/controllers/relational.controller.d.ts +40 -0
- package/dist/base/controllers/relational.controller.js +393 -0
- package/dist/base/controllers/relational.controller.js.map +1 -0
- package/dist/base/index.d.ts +9 -0
- package/dist/base/index.js +26 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/repositories/base.repository.d.ts +54 -0
- package/dist/base/repositories/base.repository.js +156 -0
- package/dist/base/repositories/base.repository.js.map +1 -0
- package/dist/base/repositories/index.d.ts +3 -0
- package/dist/base/repositories/index.js +20 -0
- package/dist/base/repositories/index.js.map +1 -0
- package/dist/base/repositories/searchable-tz-crud.repository.d.ts +42 -0
- package/dist/base/repositories/searchable-tz-crud.repository.js +241 -0
- package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -0
- package/dist/base/repositories/tz-crud.repository.d.ts +64 -0
- package/dist/base/repositories/tz-crud.repository.js +244 -0
- package/dist/base/repositories/tz-crud.repository.js.map +1 -0
- package/dist/common/constants.d.ts +62 -0
- package/dist/common/constants.js +87 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/environments.d.ts +20 -0
- package/dist/common/environments.js +25 -0
- package/dist/common/environments.js.map +1 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/index.js +22 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/keys.d.ts +4 -0
- package/dist/common/keys.js +9 -0
- package/dist/common/keys.js.map +1 -0
- package/dist/common/statuses.d.ts +36 -0
- package/dist/common/statuses.js +53 -0
- package/dist/common/statuses.js.map +1 -0
- package/dist/common/types.d.ts +96 -0
- package/dist/common/types.js +3 -0
- package/dist/common/types.js.map +1 -0
- package/dist/components/authenticate/common/constants.d.ts +15 -0
- package/dist/components/authenticate/common/constants.js +23 -0
- package/dist/components/authenticate/common/constants.js.map +1 -0
- package/dist/components/authenticate/common/index.d.ts +3 -0
- package/dist/components/authenticate/common/index.js +20 -0
- package/dist/components/authenticate/common/index.js.map +1 -0
- package/dist/components/authenticate/common/keys.d.ts +8 -0
- package/dist/components/authenticate/common/keys.js +13 -0
- package/dist/components/authenticate/common/keys.js.map +1 -0
- package/dist/components/authenticate/common/types.d.ts +80 -0
- package/dist/components/authenticate/common/types.js +146 -0
- package/dist/components/authenticate/common/types.js.map +1 -0
- package/dist/components/authenticate/component.d.ts +14 -0
- package/dist/components/authenticate/component.js +143 -0
- package/dist/components/authenticate/component.js.map +1 -0
- package/dist/components/authenticate/controllers/auth.controller.d.ts +21 -0
- package/dist/components/authenticate/controllers/auth.controller.js +125 -0
- package/dist/components/authenticate/controllers/auth.controller.js.map +1 -0
- package/dist/components/authenticate/controllers/index.d.ts +2 -0
- package/dist/components/authenticate/controllers/index.js +19 -0
- package/dist/components/authenticate/controllers/index.js.map +1 -0
- package/dist/components/authenticate/controllers/oauth2.controller.d.ts +46 -0
- package/dist/components/authenticate/controllers/oauth2.controller.js +227 -0
- package/dist/components/authenticate/controllers/oauth2.controller.js.map +1 -0
- package/dist/components/authenticate/index.d.ts +7 -0
- package/dist/components/authenticate/index.js +24 -0
- package/dist/components/authenticate/index.js.map +1 -0
- package/dist/components/authenticate/middleware.d.ts +11 -0
- package/dist/components/authenticate/middleware.js +89 -0
- package/dist/components/authenticate/middleware.js.map +1 -0
- package/dist/components/authenticate/models/index.d.ts +3 -0
- package/dist/components/authenticate/models/index.js +20 -0
- package/dist/components/authenticate/models/index.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-client.model.d.ts +19 -0
- package/dist/components/authenticate/models/oauth2-client.model.js +100 -0
- package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-scope.model.d.ts +8 -0
- package/dist/components/authenticate/models/oauth2-scope.model.js +61 -0
- package/dist/components/authenticate/models/oauth2-scope.model.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-token.model.d.ts +12 -0
- package/dist/components/authenticate/models/oauth2-token.model.js +87 -0
- package/dist/components/authenticate/models/oauth2-token.model.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.d.ts +13 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +56 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/base.d.ts +37 -0
- package/dist/components/authenticate/oauth2-handlers/base.js +192 -0
- package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.d.ts +12 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +28 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/index.d.ts +5 -0
- package/dist/components/authenticate/oauth2-handlers/index.js +22 -0
- package/dist/components/authenticate/oauth2-handlers/index.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.d.ts +15 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.js +36 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.d.ts +12 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.js +22 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +1 -0
- package/dist/components/authenticate/repositories/index.d.ts +1 -0
- package/dist/components/authenticate/repositories/index.js +18 -0
- package/dist/components/authenticate/repositories/index.js.map +1 -0
- package/dist/components/authenticate/repositories/oauth2.repository.d.ts +17 -0
- package/dist/components/authenticate/repositories/oauth2.repository.js +78 -0
- package/dist/components/authenticate/repositories/oauth2.repository.js.map +1 -0
- package/dist/components/authenticate/services/basic-token.service.d.ts +8 -0
- package/dist/components/authenticate/services/basic-token.service.js +42 -0
- package/dist/components/authenticate/services/basic-token.service.js.map +1 -0
- package/dist/components/authenticate/services/basic.strategy.d.ts +13 -0
- package/dist/components/authenticate/services/basic.strategy.js +64 -0
- package/dist/components/authenticate/services/basic.strategy.js.map +1 -0
- package/dist/components/authenticate/services/index.d.ts +6 -0
- package/dist/components/authenticate/services/index.js +23 -0
- package/dist/components/authenticate/services/index.js.map +1 -0
- package/dist/components/authenticate/services/jwt-token.service.d.ts +23 -0
- package/dist/components/authenticate/services/jwt-token.service.js +154 -0
- package/dist/components/authenticate/services/jwt-token.service.js.map +1 -0
- package/dist/components/authenticate/services/jwt.strategy.d.ts +9 -0
- package/dist/components/authenticate/services/jwt.strategy.js +34 -0
- package/dist/components/authenticate/services/jwt.strategy.js.map +1 -0
- package/dist/components/authenticate/services/oauth2.service.d.ts +51 -0
- package/dist/components/authenticate/services/oauth2.service.js +208 -0
- package/dist/components/authenticate/services/oauth2.service.js.map +1 -0
- package/dist/components/authenticate/services/oauth2.strategy.d.ts +23 -0
- package/dist/components/authenticate/services/oauth2.strategy.js +69 -0
- package/dist/components/authenticate/services/oauth2.strategy.js.map +1 -0
- package/dist/components/authenticate/views/fragments/footer.ejs +0 -0
- package/dist/components/authenticate/views/fragments/head.ejs +26 -0
- package/dist/components/authenticate/views/fragments/header.ejs +0 -0
- package/dist/components/authenticate/views/pages/auth.ejs +61 -0
- package/dist/components/authenticate/views/pages/error.ejs +21 -0
- package/dist/components/authorize/adapters/adapter-builder.d.ts +12 -0
- package/dist/components/authorize/adapters/adapter-builder.js +34 -0
- package/dist/components/authorize/adapters/adapter-builder.js.map +1 -0
- package/dist/components/authorize/adapters/base.adapter.d.ts +18 -0
- package/dist/components/authorize/adapters/base.adapter.js +67 -0
- package/dist/components/authorize/adapters/base.adapter.js.map +1 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.d.ts +12 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +91 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +1 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.d.ts +7 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +15 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js.map +1 -0
- package/dist/components/authorize/adapters/index.d.ts +4 -0
- package/dist/components/authorize/adapters/index.js +21 -0
- package/dist/components/authorize/adapters/index.js.map +1 -0
- package/dist/components/authorize/common/constants.d.ts +14 -0
- package/dist/components/authorize/common/constants.js +22 -0
- package/dist/components/authorize/common/constants.js.map +1 -0
- package/dist/components/authorize/common/index.d.ts +3 -0
- package/dist/components/authorize/common/index.js +20 -0
- package/dist/components/authorize/common/index.js.map +1 -0
- package/dist/components/authorize/common/keys.d.ts +17 -0
- package/dist/components/authorize/common/keys.js +22 -0
- package/dist/components/authorize/common/keys.js.map +1 -0
- package/dist/components/authorize/common/types.d.ts +16 -0
- package/dist/components/authorize/common/types.js +9 -0
- package/dist/components/authorize/common/types.js.map +1 -0
- package/dist/components/authorize/component.d.ts +12 -0
- package/dist/components/authorize/component.js +158 -0
- package/dist/components/authorize/component.js.map +1 -0
- package/dist/components/authorize/decorators/index.d.ts +8 -0
- package/dist/components/authorize/decorators/index.js +19 -0
- package/dist/components/authorize/decorators/index.js.map +1 -0
- package/dist/components/authorize/index.d.ts +9 -0
- package/dist/components/authorize/index.js +26 -0
- package/dist/components/authorize/index.js.map +1 -0
- package/dist/components/authorize/interceptor.d.ts +9 -0
- package/dist/components/authorize/interceptor.js +121 -0
- package/dist/components/authorize/interceptor.js.map +1 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.d.ts +7 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.js +83 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.js.map +1 -0
- package/dist/components/authorize/migrations/index.d.ts +1 -0
- package/dist/components/authorize/migrations/index.js +18 -0
- package/dist/components/authorize/migrations/index.js.map +1 -0
- package/dist/components/authorize/models/defs.d.ts +173 -0
- package/dist/components/authorize/models/defs.js +243 -0
- package/dist/components/authorize/models/defs.js.map +1 -0
- package/dist/components/authorize/models/index.d.ts +6 -0
- package/dist/components/authorize/models/index.js +23 -0
- package/dist/components/authorize/models/index.js.map +1 -0
- package/dist/components/authorize/models/permission-mapping.model.d.ts +36 -0
- package/dist/components/authorize/models/permission-mapping.model.js +40 -0
- package/dist/components/authorize/models/permission-mapping.model.js.map +1 -0
- package/dist/components/authorize/models/permission.model.d.ts +44 -0
- package/dist/components/authorize/models/permission.model.js +34 -0
- package/dist/components/authorize/models/permission.model.js.map +1 -0
- package/dist/components/authorize/models/role.model.d.ts +40 -0
- package/dist/components/authorize/models/role.model.js +46 -0
- package/dist/components/authorize/models/role.model.js.map +1 -0
- package/dist/components/authorize/models/user-role.model.d.ts +34 -0
- package/dist/components/authorize/models/user-role.model.js +35 -0
- package/dist/components/authorize/models/user-role.model.js.map +1 -0
- package/dist/components/authorize/models/view-authorize-policy.model.d.ts +9 -0
- package/dist/components/authorize/models/view-authorize-policy.model.js +70 -0
- package/dist/components/authorize/models/view-authorize-policy.model.js.map +1 -0
- package/dist/components/authorize/provider.d.ts +30 -0
- package/dist/components/authorize/provider.js +157 -0
- package/dist/components/authorize/provider.js.map +1 -0
- package/dist/components/authorize/repositories/authorize.repository.d.ts +33 -0
- package/dist/components/authorize/repositories/authorize.repository.js +105 -0
- package/dist/components/authorize/repositories/authorize.repository.js.map +1 -0
- package/dist/components/authorize/repositories/index.d.ts +1 -0
- package/dist/components/authorize/repositories/index.js +18 -0
- package/dist/components/authorize/repositories/index.js.map +1 -0
- package/dist/components/authorize/services/enforcer.service.d.ts +13 -0
- package/dist/components/authorize/services/enforcer.service.js +99 -0
- package/dist/components/authorize/services/enforcer.service.js.map +1 -0
- package/dist/components/authorize/services/generator.service.d.ts +54 -0
- package/dist/components/authorize/services/generator.service.js +161 -0
- package/dist/components/authorize/services/generator.service.js.map +1 -0
- package/dist/components/authorize/services/index.d.ts +2 -0
- package/dist/components/authorize/services/index.js +19 -0
- package/dist/components/authorize/services/index.js.map +1 -0
- package/dist/components/grpc/common/constants.d.ts +2 -0
- package/dist/components/grpc/common/constants.js +6 -0
- package/dist/components/grpc/common/constants.js.map +1 -0
- package/dist/components/grpc/common/index.d.ts +3 -0
- package/dist/components/grpc/common/index.js +20 -0
- package/dist/components/grpc/common/index.js.map +1 -0
- package/dist/components/grpc/common/keys.d.ts +10 -0
- package/dist/components/grpc/common/keys.js +17 -0
- package/dist/components/grpc/common/keys.js.map +1 -0
- package/dist/components/grpc/common/types.d.ts +31 -0
- package/dist/components/grpc/common/types.js +3 -0
- package/dist/components/grpc/common/types.js.map +1 -0
- package/dist/components/grpc/components/index.d.ts +1 -0
- package/dist/components/grpc/components/index.js +18 -0
- package/dist/components/grpc/components/index.js.map +1 -0
- package/dist/components/grpc/components/server.component.d.ts +10 -0
- package/dist/components/grpc/components/server.component.js +65 -0
- package/dist/components/grpc/components/server.component.js.map +1 -0
- package/dist/components/grpc/controllers/base.d.ts +14 -0
- package/dist/components/grpc/controllers/base.js +31 -0
- package/dist/components/grpc/controllers/base.js.map +1 -0
- package/dist/components/grpc/controllers/index.d.ts +1 -0
- package/dist/components/grpc/controllers/index.js +18 -0
- package/dist/components/grpc/controllers/index.js.map +1 -0
- package/dist/components/grpc/decorators/index.d.ts +3 -0
- package/dist/components/grpc/decorators/index.js +14 -0
- package/dist/components/grpc/decorators/index.js.map +1 -0
- package/dist/components/grpc/helpers/grpc-client.d.ts +15 -0
- package/dist/components/grpc/helpers/grpc-client.js +58 -0
- package/dist/components/grpc/helpers/grpc-client.js.map +1 -0
- package/dist/components/grpc/helpers/grpc-server.d.ts +21 -0
- package/dist/components/grpc/helpers/grpc-server.js +152 -0
- package/dist/components/grpc/helpers/grpc-server.js.map +1 -0
- package/dist/components/grpc/helpers/index.d.ts +2 -0
- package/dist/components/grpc/helpers/index.js +19 -0
- package/dist/components/grpc/helpers/index.js.map +1 -0
- package/dist/components/grpc/index.d.ts +6 -0
- package/dist/components/grpc/index.js +23 -0
- package/dist/components/grpc/index.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.connector.d.ts +27 -0
- package/dist/components/grpc/persistents/grpc.connector.js +39 -0
- package/dist/components/grpc/persistents/grpc.connector.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.datasource.d.ts +21 -0
- package/dist/components/grpc/persistents/grpc.datasource.js +43 -0
- package/dist/components/grpc/persistents/grpc.datasource.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.repository.d.ts +13 -0
- package/dist/components/grpc/persistents/grpc.repository.js +28 -0
- package/dist/components/grpc/persistents/grpc.repository.js.map +1 -0
- package/dist/components/grpc/persistents/index.d.ts +3 -0
- package/dist/components/grpc/persistents/index.js +20 -0
- package/dist/components/grpc/persistents/index.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +23 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/migration/common/index.d.ts +2 -0
- package/dist/components/migration/common/index.js +19 -0
- package/dist/components/migration/common/index.js.map +1 -0
- package/dist/components/migration/common/keys.d.ts +5 -0
- package/dist/components/migration/common/keys.js +10 -0
- package/dist/components/migration/common/keys.js.map +1 -0
- package/dist/components/migration/common/types.d.ts +9 -0
- package/dist/components/migration/common/types.js +3 -0
- package/dist/components/migration/common/types.js.map +1 -0
- package/dist/components/migration/component.d.ts +11 -0
- package/dist/components/migration/component.js +55 -0
- package/dist/components/migration/component.js.map +1 -0
- package/dist/components/migration/index.d.ts +4 -0
- package/dist/components/migration/index.js +21 -0
- package/dist/components/migration/index.js.map +1 -0
- package/dist/components/migration/models/index.d.ts +1 -0
- package/dist/components/migration/models/index.js +18 -0
- package/dist/components/migration/models/index.js.map +1 -0
- package/dist/components/migration/models/migration.model.d.ts +6 -0
- package/dist/components/migration/models/migration.model.js +54 -0
- package/dist/components/migration/models/migration.model.js.map +1 -0
- package/dist/components/migration/repositories/index.d.ts +1 -0
- package/dist/components/migration/repositories/index.js +18 -0
- package/dist/components/migration/repositories/index.js.map +1 -0
- package/dist/components/migration/repositories/migration.repository.d.ts +13 -0
- package/dist/components/migration/repositories/migration.repository.js +53 -0
- package/dist/components/migration/repositories/migration.repository.js.map +1 -0
- package/dist/components/socket-io/common/constants.d.ts +12 -0
- package/dist/components/socket-io/common/constants.js +17 -0
- package/dist/components/socket-io/common/constants.js.map +1 -0
- package/dist/components/socket-io/common/index.d.ts +2 -0
- package/dist/components/socket-io/common/index.js +19 -0
- package/dist/components/socket-io/common/index.js.map +1 -0
- package/dist/components/socket-io/common/keys.d.ts +8 -0
- package/dist/components/socket-io/common/keys.js +13 -0
- package/dist/components/socket-io/common/keys.js.map +1 -0
- package/dist/components/socket-io/component.d.ts +9 -0
- package/dist/components/socket-io/component.js +73 -0
- package/dist/components/socket-io/component.js.map +1 -0
- package/dist/components/socket-io/helpers/index.d.ts +2 -0
- package/dist/components/socket-io/helpers/index.js +19 -0
- package/dist/components/socket-io/helpers/index.js.map +1 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.d.ts +34 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.js +89 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +1 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.d.ts +74 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.js +325 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +1 -0
- package/dist/components/socket-io/helpers/types.d.ts +15 -0
- package/dist/components/socket-io/helpers/types.js +3 -0
- package/dist/components/socket-io/helpers/types.js.map +1 -0
- package/dist/components/socket-io/index.d.ts +3 -0
- package/dist/components/socket-io/index.js +20 -0
- package/dist/components/socket-io/index.js.map +1 -0
- package/dist/components/static-asset/common/index.d.ts +1 -0
- package/dist/components/static-asset/common/index.js +18 -0
- package/dist/components/static-asset/common/index.js.map +1 -0
- package/dist/components/static-asset/common/keys.d.ts +6 -0
- package/dist/components/static-asset/common/keys.js +11 -0
- package/dist/components/static-asset/common/keys.js.map +1 -0
- package/dist/components/static-asset/component.d.ts +13 -0
- package/dist/components/static-asset/component.js +73 -0
- package/dist/components/static-asset/component.js.map +1 -0
- package/dist/components/static-asset/controllers/asset.controller.d.ts +18 -0
- package/dist/components/static-asset/controllers/asset.controller.js +239 -0
- package/dist/components/static-asset/controllers/asset.controller.js.map +1 -0
- package/dist/components/static-asset/controllers/index.d.ts +2 -0
- package/dist/components/static-asset/controllers/index.js +19 -0
- package/dist/components/static-asset/controllers/index.js.map +1 -0
- package/dist/components/static-asset/controllers/resource.controller.d.ts +14 -0
- package/dist/components/static-asset/controllers/resource.controller.js +140 -0
- package/dist/components/static-asset/controllers/resource.controller.js.map +1 -0
- package/dist/components/static-asset/index.d.ts +3 -0
- package/dist/components/static-asset/index.js +20 -0
- package/dist/components/static-asset/index.js.map +1 -0
- package/dist/datasources/index.d.ts +2 -0
- package/dist/datasources/index.js +19 -0
- package/dist/datasources/index.js.map +1 -0
- package/dist/datasources/kvmem.datasource.d.ts +9 -0
- package/dist/datasources/kvmem.datasource.js +36 -0
- package/dist/datasources/kvmem.datasource.js.map +1 -0
- package/dist/datasources/postgres.datasource.d.ts +14 -0
- package/dist/datasources/postgres.datasource.js +71 -0
- package/dist/datasources/postgres.datasource.js.map +1 -0
- package/dist/helpers/application-environment.helper.d.ts +13 -0
- package/dist/helpers/application-environment.helper.js +31 -0
- package/dist/helpers/application-environment.helper.js.map +1 -0
- package/dist/helpers/cron.helper.d.ts +21 -0
- package/dist/helpers/cron.helper.js +59 -0
- package/dist/helpers/cron.helper.js.map +1 -0
- package/dist/helpers/database/index.d.ts +1 -0
- package/dist/helpers/database/index.js +18 -0
- package/dist/helpers/database/index.js.map +1 -0
- package/dist/helpers/database/query-builder.helper.d.ts +43 -0
- package/dist/helpers/database/query-builder.helper.js +72 -0
- package/dist/helpers/database/query-builder.helper.js.map +1 -0
- package/dist/helpers/index.d.ts +9 -0
- package/dist/helpers/index.js +26 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/logger/application-logger.d.ts +13 -0
- package/dist/helpers/logger/application-logger.js +66 -0
- package/dist/helpers/logger/application-logger.js.map +1 -0
- package/dist/helpers/logger/default-logger.d.ts +4 -0
- package/dist/helpers/logger/default-logger.js +40 -0
- package/dist/helpers/logger/default-logger.js.map +1 -0
- package/dist/helpers/logger/factory.d.ts +4 -0
- package/dist/helpers/logger/factory.js +13 -0
- package/dist/helpers/logger/factory.js.map +1 -0
- package/dist/helpers/logger/index.d.ts +3 -0
- package/dist/helpers/logger/index.js +20 -0
- package/dist/helpers/logger/index.js.map +1 -0
- package/dist/helpers/network/base-network-request.d.ts +16 -0
- package/dist/helpers/network/base-network-request.js +65 -0
- package/dist/helpers/network/base-network-request.js.map +1 -0
- package/dist/helpers/network/index.d.ts +4 -0
- package/dist/helpers/network/index.js +21 -0
- package/dist/helpers/network/index.js.map +1 -0
- package/dist/helpers/network/network-tcp-client.helper.d.ts +45 -0
- package/dist/helpers/network/network-tcp-client.helper.js +136 -0
- package/dist/helpers/network/network-tcp-client.helper.js.map +1 -0
- package/dist/helpers/network/network-udp-client.helper.d.ts +43 -0
- package/dist/helpers/network/network-udp-client.helper.js +82 -0
- package/dist/helpers/network/network-udp-client.helper.js.map +1 -0
- package/dist/helpers/network/network.helper.d.ts +26 -0
- package/dist/helpers/network/network.helper.js +121 -0
- package/dist/helpers/network/network.helper.js.map +1 -0
- package/dist/helpers/queue/bullmq.helper.d.ts +32 -0
- package/dist/helpers/queue/bullmq.helper.js +94 -0
- package/dist/helpers/queue/bullmq.helper.js.map +1 -0
- package/dist/helpers/queue/index.d.ts +3 -0
- package/dist/helpers/queue/index.js +20 -0
- package/dist/helpers/queue/index.js.map +1 -0
- package/dist/helpers/queue/mqtt.helper.d.ts +35 -0
- package/dist/helpers/queue/mqtt.helper.js +99 -0
- package/dist/helpers/queue/mqtt.helper.js.map +1 -0
- package/dist/helpers/queue/queue.helper.d.ts +31 -0
- package/dist/helpers/queue/queue.helper.js +90 -0
- package/dist/helpers/queue/queue.helper.js.map +1 -0
- package/dist/helpers/redis.helper.d.ts +82 -0
- package/dist/helpers/redis.helper.js +238 -0
- package/dist/helpers/redis.helper.js.map +1 -0
- package/dist/helpers/storage/di-container.helper.d.ts +11 -0
- package/dist/helpers/storage/di-container.helper.js +28 -0
- package/dist/helpers/storage/di-container.helper.js.map +1 -0
- package/dist/helpers/storage/index.d.ts +2 -0
- package/dist/helpers/storage/index.js +19 -0
- package/dist/helpers/storage/index.js.map +1 -0
- package/dist/helpers/storage/minio.helper.d.ts +58 -0
- package/dist/helpers/storage/minio.helper.js +171 -0
- package/dist/helpers/storage/minio.helper.js.map +1 -0
- package/dist/helpers/testing/common.d.ts +6 -0
- package/dist/helpers/testing/common.js +10 -0
- package/dist/helpers/testing/common.js.map +1 -0
- package/dist/helpers/testing/describe.d.ts +15 -0
- package/dist/helpers/testing/describe.js +55 -0
- package/dist/helpers/testing/describe.js.map +1 -0
- package/dist/helpers/testing/index.d.ts +6 -0
- package/dist/helpers/testing/index.js +23 -0
- package/dist/helpers/testing/index.js.map +1 -0
- package/dist/helpers/testing/test-case.d.ts +20 -0
- package/dist/helpers/testing/test-case.js +18 -0
- package/dist/helpers/testing/test-case.js.map +1 -0
- package/dist/helpers/testing/test-handler.d.ts +23 -0
- package/dist/helpers/testing/test-handler.js +54 -0
- package/dist/helpers/testing/test-handler.js.map +1 -0
- package/dist/helpers/testing/test-plan/base.d.ts +28 -0
- package/dist/helpers/testing/test-plan/base.js +70 -0
- package/dist/helpers/testing/test-plan/base.js.map +1 -0
- package/dist/helpers/testing/test-plan/default.d.ts +5 -0
- package/dist/helpers/testing/test-plan/default.js +11 -0
- package/dist/helpers/testing/test-plan/default.js.map +1 -0
- package/dist/helpers/testing/test-plan/index.d.ts +2 -0
- package/dist/helpers/testing/test-plan/index.js +19 -0
- package/dist/helpers/testing/test-plan/index.js.map +1 -0
- package/dist/helpers/testing/types.d.ts +51 -0
- package/dist/helpers/testing/types.js +3 -0
- package/dist/helpers/testing/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors/content-range.interceptor.d.ts +26 -0
- package/dist/interceptors/content-range.interceptor.js +188 -0
- package/dist/interceptors/content-range.interceptor.js.map +1 -0
- package/dist/interceptors/index.d.ts +1 -0
- package/dist/interceptors/index.js +18 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/middlewares/index.d.ts +2 -0
- package/dist/middlewares/index.js +19 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/request-body-parser.middleware.d.ts +9 -0
- package/dist/middlewares/request-body-parser.middleware.js +80 -0
- package/dist/middlewares/request-body-parser.middleware.js.map +1 -0
- package/dist/middlewares/request-spy.middleware.d.ts +8 -0
- package/dist/middlewares/request-spy.middleware.js +64 -0
- package/dist/middlewares/request-spy.middleware.js.map +1 -0
- package/dist/migrations/base-path.d.ts +1 -0
- package/dist/migrations/base-path.js +6 -0
- package/dist/migrations/base-path.js.map +1 -0
- package/dist/migrations/handler.d.ts +9 -0
- package/dist/migrations/handler.js +80 -0
- package/dist/migrations/handler.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.js +18 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/mixins/data-type.mixin.d.ts +15 -0
- package/dist/mixins/data-type.mixin.js +68 -0
- package/dist/mixins/data-type.mixin.js.map +1 -0
- package/dist/mixins/index.d.ts +8 -0
- package/dist/mixins/index.js +25 -0
- package/dist/mixins/index.js.map +1 -0
- package/dist/mixins/object-search.mixin.d.ts +12 -0
- package/dist/mixins/object-search.mixin.js +31 -0
- package/dist/mixins/object-search.mixin.js.map +1 -0
- package/dist/mixins/principal.mixin.d.ts +13 -0
- package/dist/mixins/principal.mixin.js +41 -0
- package/dist/mixins/principal.mixin.js.map +1 -0
- package/dist/mixins/soft-delete.mixin.d.ts +11 -0
- package/dist/mixins/soft-delete.mixin.js +31 -0
- package/dist/mixins/soft-delete.mixin.js.map +1 -0
- package/dist/mixins/soft-persistent.mixin.d.ts +11 -0
- package/dist/mixins/soft-persistent.mixin.js +30 -0
- package/dist/mixins/soft-persistent.mixin.js.map +1 -0
- package/dist/mixins/text-search.mixin.d.ts +11 -0
- package/dist/mixins/text-search.mixin.js +31 -0
- package/dist/mixins/text-search.mixin.js.map +1 -0
- package/dist/mixins/tz.mixin.d.ts +12 -0
- package/dist/mixins/tz.mixin.js +42 -0
- package/dist/mixins/tz.mixin.js.map +1 -0
- package/dist/mixins/user-audit.mixin.d.ts +13 -0
- package/dist/mixins/user-audit.mixin.js +42 -0
- package/dist/mixins/user-audit.mixin.js.map +1 -0
- package/dist/static/security/authorize_model.conf +14 -0
- package/dist/static/security/authorize_model_match_subject.conf +14 -0
- package/dist/utilities/crypto.utility.d.ts +22 -0
- package/dist/utilities/crypto.utility.js +131 -0
- package/dist/utilities/crypto.utility.js.map +1 -0
- package/dist/utilities/date.utility.d.ts +13 -0
- package/dist/utilities/date.utility.js +59 -0
- package/dist/utilities/date.utility.js.map +1 -0
- package/dist/utilities/error.utility.d.ts +14 -0
- package/dist/utilities/error.utility.js +18 -0
- package/dist/utilities/error.utility.js.map +1 -0
- package/dist/utilities/index.d.ts +7 -0
- package/dist/utilities/index.js +24 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/parse.utility.d.ts +12 -0
- package/dist/utilities/parse.utility.js +160 -0
- package/dist/utilities/parse.utility.js.map +1 -0
- package/dist/utilities/performance.utility.d.ts +4 -0
- package/dist/utilities/performance.utility.js +11 -0
- package/dist/utilities/performance.utility.js.map +1 -0
- package/dist/utilities/request.utility.d.ts +17 -0
- package/dist/utilities/request.utility.js +41 -0
- package/dist/utilities/request.utility.js.map +1 -0
- package/dist/utilities/url.utility.d.ts +2 -0
- package/dist/utilities/url.utility.js +32 -0
- package/dist/utilities/url.utility.js.map +1 -0
- package/package.json +128 -0
@@ -0,0 +1,121 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
|
+
};
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
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
|
+
var AuthorizateInterceptor_1;
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
25
|
+
exports.AuthorizateInterceptor = void 0;
|
26
|
+
const core_1 = require("@loopback/core");
|
27
|
+
const security_1 = require("@loopback/security");
|
28
|
+
const authorization_1 = require("@loopback/authorization");
|
29
|
+
const helpers_1 = require("../../helpers");
|
30
|
+
let AuthorizateInterceptor = AuthorizateInterceptor_1 = class AuthorizateInterceptor {
|
31
|
+
constructor(options = {}) {
|
32
|
+
this.options = Object.assign({ defaultDecision: authorization_1.AuthorizationDecision.DENY, precedence: authorization_1.AuthorizationDecision.DENY, defaultStatusCodeForDeny: 403 }, options);
|
33
|
+
this.logger = helpers_1.LoggerFactory.getLogger([AuthorizateInterceptor_1.name]);
|
34
|
+
}
|
35
|
+
value() {
|
36
|
+
return this.intercept.bind(this);
|
37
|
+
}
|
38
|
+
intercept(invocationCtx, next) {
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
40
|
+
var _a;
|
41
|
+
let metadata = (0, authorization_1.getAuthorizationMetadata)(invocationCtx.target, invocationCtx.methodName);
|
42
|
+
const description = invocationCtx.description;
|
43
|
+
if (!metadata) {
|
44
|
+
this.logger.debug('[intercept] No authorization metadata is found for %s', description);
|
45
|
+
}
|
46
|
+
metadata = metadata !== null && metadata !== void 0 ? metadata : this.options.defaultMetadata;
|
47
|
+
if (!metadata || (metadata === null || metadata === void 0 ? void 0 : metadata.skip)) {
|
48
|
+
this.logger.debug('[intercept] Authorization is skipped for %s', description);
|
49
|
+
const result = yield next();
|
50
|
+
return result;
|
51
|
+
}
|
52
|
+
this.logger.debug('[intercept] Authorization metadata for %s', description);
|
53
|
+
// retrieve it from authentication module
|
54
|
+
const user = yield invocationCtx.get(security_1.SecurityBindings.USER, {
|
55
|
+
optional: true,
|
56
|
+
});
|
57
|
+
this.logger.debug('[intercept] Current user: %s', user);
|
58
|
+
const authorizationCtx = {
|
59
|
+
principals: user
|
60
|
+
? [
|
61
|
+
Object.assign(Object.assign({}, user), { name: (_a = user.name) !== null && _a !== void 0 ? _a : user[security_1.securityId], type: 'USER' }),
|
62
|
+
]
|
63
|
+
: [],
|
64
|
+
roles: [],
|
65
|
+
scopes: [],
|
66
|
+
resource: invocationCtx.targetName,
|
67
|
+
invocationContext: invocationCtx,
|
68
|
+
};
|
69
|
+
this.logger.debug('[intercept] Security context for %s', description);
|
70
|
+
const authorizers = yield loadAuthorizers(invocationCtx);
|
71
|
+
let finalDecision = this.options.defaultDecision;
|
72
|
+
for (const fn of authorizers) {
|
73
|
+
const decision = yield fn(authorizationCtx, metadata);
|
74
|
+
this.logger.debug('[intercept] Decision: %s', decision);
|
75
|
+
if (decision && decision !== authorization_1.AuthorizationDecision.ABSTAIN) {
|
76
|
+
finalDecision = decision;
|
77
|
+
}
|
78
|
+
if (decision === authorization_1.AuthorizationDecision.DENY && this.options.precedence === authorization_1.AuthorizationDecision.DENY) {
|
79
|
+
this.logger.debug('[intercept] Access denied');
|
80
|
+
const error = new authorization_1.AuthorizationError('Access denied');
|
81
|
+
error.statusCode = this.options.defaultStatusCodeForDeny;
|
82
|
+
throw error;
|
83
|
+
}
|
84
|
+
if (decision === authorization_1.AuthorizationDecision.ALLOW && this.options.precedence === authorization_1.AuthorizationDecision.ALLOW) {
|
85
|
+
this.logger.debug('[intercept] Access allowed');
|
86
|
+
break;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
this.logger.debug('[intercept] Final decision: %s', finalDecision);
|
90
|
+
if (finalDecision === authorization_1.AuthorizationDecision.DENY) {
|
91
|
+
const error = new authorization_1.AuthorizationError('Access denied');
|
92
|
+
error.statusCode = this.options.defaultStatusCodeForDeny;
|
93
|
+
throw error;
|
94
|
+
}
|
95
|
+
return next();
|
96
|
+
});
|
97
|
+
}
|
98
|
+
};
|
99
|
+
exports.AuthorizateInterceptor = AuthorizateInterceptor;
|
100
|
+
exports.AuthorizateInterceptor = AuthorizateInterceptor = AuthorizateInterceptor_1 = __decorate([
|
101
|
+
(0, core_1.injectable)((0, core_1.asGlobalInterceptor)('authorization')),
|
102
|
+
__param(0, (0, core_1.config)({ fromBinding: authorization_1.AuthorizationBindings.COMPONENT })),
|
103
|
+
__metadata("design:paramtypes", [Object])
|
104
|
+
], AuthorizateInterceptor);
|
105
|
+
function loadAuthorizers(ctx) {
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
107
|
+
const authorizerFunctions = [];
|
108
|
+
const bindings = ctx.findByTag(authorization_1.AuthorizationTags.AUTHORIZER);
|
109
|
+
const authorizers = bindings.map(b => b.key);
|
110
|
+
for (const keyOrFn of authorizers) {
|
111
|
+
if (typeof keyOrFn === 'function') {
|
112
|
+
authorizerFunctions.push(keyOrFn);
|
113
|
+
continue;
|
114
|
+
}
|
115
|
+
const fn = yield ctx.get(keyOrFn);
|
116
|
+
authorizerFunctions.push(fn);
|
117
|
+
}
|
118
|
+
return authorizerFunctions;
|
119
|
+
});
|
120
|
+
}
|
121
|
+
//# sourceMappingURL=interceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../../src/components/authorize/interceptor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,83 @@
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.createViewPolicy = void 0;
|
16
|
+
const constants_1 = require("../../../components/authorize/common/constants");
|
17
|
+
const helpers_1 = require("../../../helpers");
|
18
|
+
const utilities_1 = require("../../../utilities");
|
19
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
20
|
+
const sqls = [
|
21
|
+
// UUID
|
22
|
+
`CREATE EXTENSION IF NOT EXISTS "uuid-ossp"`,
|
23
|
+
// View policies
|
24
|
+
'DROP VIEW IF EXISTS "ViewAuthorizePolicy";',
|
25
|
+
`CREATE OR REPLACE VIEW "ViewAuthorizePolicy"
|
26
|
+
AS (
|
27
|
+
SELECT
|
28
|
+
uuid_generate_v4() as id,
|
29
|
+
(t.subject_type || '_' || t.subject_id) as subject,
|
30
|
+
t.subject_type,
|
31
|
+
t.subject_id,
|
32
|
+
json_agg(t.policy)::JSONB as policies
|
33
|
+
FROM (
|
34
|
+
SELECT
|
35
|
+
pm.id as id,
|
36
|
+
(CASE
|
37
|
+
WHEN user_id IS NOT NULL THEN '${constants_1.EnforcerDefinitions.PREFIX_USER}'
|
38
|
+
WHEN role_id IS NOT NULL THEN '${constants_1.EnforcerDefinitions.PREFIX_ROLE}'
|
39
|
+
ELSE NULL
|
40
|
+
END) AS subject_type,
|
41
|
+
(CASE
|
42
|
+
WHEN user_id IS NOT NULL THEN user_id
|
43
|
+
WHEN role_id IS NOT NULL THEN role_id
|
44
|
+
ELSE NULL
|
45
|
+
END) AS subject_id,
|
46
|
+
p.id AS permision_id,
|
47
|
+
p.code AS permision_code,
|
48
|
+
(CASE
|
49
|
+
WHEN user_id IS NOT NULL THEN
|
50
|
+
'p,${constants_1.EnforcerDefinitions.PREFIX_USER}_' || user_id || ',' || LOWER(p.code) || ',${constants_1.EnforcerDefinitions.ACTION_EXECUTE},' || effect
|
51
|
+
WHEN role_id IS NOT NULL THEN
|
52
|
+
'p,${constants_1.EnforcerDefinitions.PREFIX_ROLE}_' || role_id || ',' || LOWER(p.code) || ',${constants_1.EnforcerDefinitions.ACTION_EXECUTE},' || effect
|
53
|
+
ELSE NULL
|
54
|
+
END) AS policy
|
55
|
+
FROM "PermissionMapping" AS pm INNER JOIN "Permission" AS p ON pm.permission_id = p.id
|
56
|
+
) AS t GROUP BY t.subject_type, t.subject_id, subject);`,
|
57
|
+
];
|
58
|
+
const createViewPolicy = (opts) => ({
|
59
|
+
name: __filename.slice(__dirname.length + 1),
|
60
|
+
fn: (application) => __awaiter(void 0, void 0, void 0, function* () {
|
61
|
+
if (!opts.datasourceKey || (0, isEmpty_1.default)(opts.datasourceKey)) {
|
62
|
+
throw (0, utilities_1.getError)({
|
63
|
+
statusCode: 500,
|
64
|
+
message: '[createViewPolicy] Invalid datasourceKey to execute migration!',
|
65
|
+
});
|
66
|
+
}
|
67
|
+
const { datasourceKey } = opts;
|
68
|
+
const datasource = application.getSync(datasourceKey);
|
69
|
+
if (!datasource) {
|
70
|
+
throw (0, utilities_1.getError)({
|
71
|
+
statusCode: 500,
|
72
|
+
message: `[createViewPolicy] Cannot find datasource with key ${datasourceKey} to execute migration!`,
|
73
|
+
});
|
74
|
+
}
|
75
|
+
for (const sql of sqls) {
|
76
|
+
helpers_1.applicationLogger.info('[creatViewPolicy] START | Execute SQL: %s', sql);
|
77
|
+
yield datasource.execute(sql);
|
78
|
+
helpers_1.applicationLogger.info('[createViewPolicy] DONE | Execute SQL: %s', sql);
|
79
|
+
}
|
80
|
+
}),
|
81
|
+
});
|
82
|
+
exports.createViewPolicy = createViewPolicy;
|
83
|
+
//# sourceMappingURL=0000-create-view-policy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"0000-create-view-policy.js","sourceRoot":"","sources":["../../../../src/components/authorize/migrations/0000-create-view-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,uEAA8E;AAC9E,uCAA8C;AAC9C,2CAAuC;AACvC,6DAAqC;AAErC,MAAM,IAAI,GAAG;IACX,OAAO;IACP,4CAA4C;IAE5C,gBAAgB;IAChB,4CAA4C;IAC5C;;;;;;;;;;;;+CAY6C,+BAAmB,CAAC,WAAW;+CAC/B,+BAAmB,CAAC,WAAW;;;;;;;;;;;;uBAYvD,+BAAmB,CAAC,WAAW,8CAA8C,+BAAmB,CAAC,cAAc;;uBAE/G,+BAAmB,CAAC,WAAW,8CAA8C,+BAAmB,CAAC,cAAc;;;;0DAI5E;CACzD,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,EAAE,EAAE,CAAO,WAA4B,EAAE,EAAE;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,oBAAQ,EAAC;gBACb,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,gEAAgE;aAC1E,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAiB,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAA,oBAAQ,EAAC;gBACb,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,sDAAsD,aAAa,wBAAwB;aACrG,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,2BAAiB,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YACzE,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,2BAAiB,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC;AAzBU,QAAA,gBAAgB,oBAyB1B"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './0000-create-view-policy';
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./0000-create-view-policy"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/authorize/migrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
@@ -0,0 +1,173 @@
|
|
1
|
+
import { AnyObject } from '../../../common';
|
2
|
+
export declare const defineUser: () => {
|
3
|
+
new (data?: Partial<{
|
4
|
+
realm?: string;
|
5
|
+
status: string;
|
6
|
+
userType?: string;
|
7
|
+
activatedAt?: Date;
|
8
|
+
lastLoginAt?: Date;
|
9
|
+
parentId: number;
|
10
|
+
createdAt: Date;
|
11
|
+
modifiedAt: Date;
|
12
|
+
getId: () => any;
|
13
|
+
getIdObject: () => Object;
|
14
|
+
toJSON: () => Object;
|
15
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
16
|
+
id: number;
|
17
|
+
}>): {
|
18
|
+
realm?: string;
|
19
|
+
status: string;
|
20
|
+
userType?: string;
|
21
|
+
activatedAt?: Date;
|
22
|
+
lastLoginAt?: Date;
|
23
|
+
parentId: number;
|
24
|
+
createdAt: Date;
|
25
|
+
modifiedAt: Date;
|
26
|
+
getId: () => any;
|
27
|
+
getIdObject: () => Object;
|
28
|
+
toJSON: () => Object;
|
29
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
30
|
+
id: number;
|
31
|
+
};
|
32
|
+
getIdProperties(): string[];
|
33
|
+
getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
|
34
|
+
buildWhereForId(id: any): any;
|
35
|
+
readonly modelName: string;
|
36
|
+
definition: import("@loopback/repository").ModelDefinition;
|
37
|
+
};
|
38
|
+
export declare const defineRole: () => {
|
39
|
+
new (data?: Partial<{
|
40
|
+
identifier: string;
|
41
|
+
name: string;
|
42
|
+
description?: string;
|
43
|
+
priority: number;
|
44
|
+
status: string;
|
45
|
+
createdAt: Date;
|
46
|
+
modifiedAt: Date;
|
47
|
+
getId: () => any;
|
48
|
+
getIdObject: () => Object;
|
49
|
+
toJSON: () => Object;
|
50
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
51
|
+
id: number;
|
52
|
+
}>): {
|
53
|
+
identifier: string;
|
54
|
+
name: string;
|
55
|
+
description?: string;
|
56
|
+
priority: number;
|
57
|
+
status: string;
|
58
|
+
createdAt: Date;
|
59
|
+
modifiedAt: Date;
|
60
|
+
getId: () => any;
|
61
|
+
getIdObject: () => Object;
|
62
|
+
toJSON: () => Object;
|
63
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
64
|
+
id: number;
|
65
|
+
};
|
66
|
+
getIdProperties(): string[];
|
67
|
+
getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
|
68
|
+
buildWhereForId(id: any): any;
|
69
|
+
readonly modelName: string;
|
70
|
+
definition: import("@loopback/repository").ModelDefinition;
|
71
|
+
};
|
72
|
+
export declare const definePermission: <T extends AnyObject = AnyObject>() => {
|
73
|
+
new (data?: Partial<{
|
74
|
+
code: string;
|
75
|
+
name: string;
|
76
|
+
subject: string;
|
77
|
+
pType: string;
|
78
|
+
action: string;
|
79
|
+
scope?: string;
|
80
|
+
parentId: number;
|
81
|
+
details: T;
|
82
|
+
createdAt: Date;
|
83
|
+
modifiedAt: Date;
|
84
|
+
getId: () => any;
|
85
|
+
getIdObject: () => Object;
|
86
|
+
toJSON: () => Object;
|
87
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
88
|
+
id: number;
|
89
|
+
}>): {
|
90
|
+
code: string;
|
91
|
+
name: string;
|
92
|
+
subject: string;
|
93
|
+
pType: string;
|
94
|
+
action: string;
|
95
|
+
scope?: string;
|
96
|
+
parentId: number;
|
97
|
+
details: T;
|
98
|
+
createdAt: Date;
|
99
|
+
modifiedAt: Date;
|
100
|
+
getId: () => any;
|
101
|
+
getIdObject: () => Object;
|
102
|
+
toJSON: () => Object;
|
103
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
104
|
+
id: number;
|
105
|
+
};
|
106
|
+
getIdProperties(): string[];
|
107
|
+
getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
|
108
|
+
buildWhereForId(id: any): any;
|
109
|
+
readonly modelName: string;
|
110
|
+
definition: import("@loopback/repository").ModelDefinition;
|
111
|
+
};
|
112
|
+
export declare const definePermissionMapping: () => {
|
113
|
+
new (data?: Partial<{
|
114
|
+
userId?: number;
|
115
|
+
roleId: number;
|
116
|
+
permissionId: number;
|
117
|
+
effect: string;
|
118
|
+
createdAt: Date;
|
119
|
+
modifiedAt: Date;
|
120
|
+
getId: () => any;
|
121
|
+
getIdObject: () => Object;
|
122
|
+
toJSON: () => Object;
|
123
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
124
|
+
id: number;
|
125
|
+
}>): {
|
126
|
+
userId?: number;
|
127
|
+
roleId: number;
|
128
|
+
permissionId: number;
|
129
|
+
effect: string;
|
130
|
+
createdAt: Date;
|
131
|
+
modifiedAt: Date;
|
132
|
+
getId: () => any;
|
133
|
+
getIdObject: () => Object;
|
134
|
+
toJSON: () => Object;
|
135
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
136
|
+
id: number;
|
137
|
+
};
|
138
|
+
getIdProperties(): string[];
|
139
|
+
getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
|
140
|
+
buildWhereForId(id: any): any;
|
141
|
+
readonly modelName: string;
|
142
|
+
definition: import("@loopback/repository").ModelDefinition;
|
143
|
+
};
|
144
|
+
export declare const defineUserRole: () => {
|
145
|
+
new (data?: Partial<{
|
146
|
+
userId: number;
|
147
|
+
principalType?: string;
|
148
|
+
principalId?: import("../../../common").IdType;
|
149
|
+
getId: () => any;
|
150
|
+
getIdObject: () => Object;
|
151
|
+
toJSON: () => Object;
|
152
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
153
|
+
createdAt: Date;
|
154
|
+
modifiedAt: Date;
|
155
|
+
id: number;
|
156
|
+
}>): {
|
157
|
+
userId: number;
|
158
|
+
principalType?: string;
|
159
|
+
principalId?: import("../../../common").IdType;
|
160
|
+
getId: () => any;
|
161
|
+
getIdObject: () => Object;
|
162
|
+
toJSON: () => Object;
|
163
|
+
toObject: (options?: import("@loopback/repository").Options) => Object;
|
164
|
+
createdAt: Date;
|
165
|
+
modifiedAt: Date;
|
166
|
+
id: number;
|
167
|
+
};
|
168
|
+
getIdProperties(): string[];
|
169
|
+
getIdOf(entityOrData: import("@loopback/repository").AnyObject): any;
|
170
|
+
buildWhereForId(id: any): any;
|
171
|
+
readonly modelName: string;
|
172
|
+
definition: import("@loopback/repository").ModelDefinition;
|
173
|
+
};
|
@@ -0,0 +1,243 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.defineUserRole = exports.definePermissionMapping = exports.definePermission = exports.defineRole = exports.defineUser = void 0;
|
13
|
+
const base_model_1 = require("../../../base/base.model");
|
14
|
+
const common_1 = require("../../../common");
|
15
|
+
const mixins_1 = require("../../../mixins");
|
16
|
+
const repository_1 = require("@loopback/repository");
|
17
|
+
// -----------------------------------------------------------------------
|
18
|
+
const defineUser = () => {
|
19
|
+
class User extends base_model_1.BaseTzEntity {
|
20
|
+
constructor(data) {
|
21
|
+
super(data);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
__decorate([
|
25
|
+
(0, repository_1.property)({
|
26
|
+
type: 'string',
|
27
|
+
}),
|
28
|
+
__metadata("design:type", String)
|
29
|
+
], User.prototype, "realm", void 0);
|
30
|
+
__decorate([
|
31
|
+
(0, repository_1.property)({
|
32
|
+
type: 'string',
|
33
|
+
default: common_1.UserStatuses.UNKNOWN,
|
34
|
+
postgresql: {
|
35
|
+
columnName: 'status',
|
36
|
+
dataType: 'text',
|
37
|
+
},
|
38
|
+
}),
|
39
|
+
__metadata("design:type", String)
|
40
|
+
], User.prototype, "status", void 0);
|
41
|
+
__decorate([
|
42
|
+
(0, repository_1.property)({
|
43
|
+
type: 'string',
|
44
|
+
default: common_1.UserTypes.SYSTEM,
|
45
|
+
postgresql: {
|
46
|
+
columnName: 'user_type',
|
47
|
+
dataType: 'text',
|
48
|
+
},
|
49
|
+
}),
|
50
|
+
__metadata("design:type", String)
|
51
|
+
], User.prototype, "userType", void 0);
|
52
|
+
__decorate([
|
53
|
+
(0, repository_1.property)({
|
54
|
+
type: 'date',
|
55
|
+
postgresql: {
|
56
|
+
columnName: 'activated_at',
|
57
|
+
dataType: 'TIMESTAMPTZ',
|
58
|
+
},
|
59
|
+
}),
|
60
|
+
__metadata("design:type", Date)
|
61
|
+
], User.prototype, "activatedAt", void 0);
|
62
|
+
__decorate([
|
63
|
+
(0, repository_1.property)({
|
64
|
+
type: 'date',
|
65
|
+
postgresql: {
|
66
|
+
columnName: 'last_login_at',
|
67
|
+
dataType: 'TIMESTAMPTZ',
|
68
|
+
},
|
69
|
+
}),
|
70
|
+
__metadata("design:type", Date)
|
71
|
+
], User.prototype, "lastLoginAt", void 0);
|
72
|
+
__decorate([
|
73
|
+
(0, repository_1.property)({
|
74
|
+
type: 'number',
|
75
|
+
postgresql: {
|
76
|
+
columnName: 'parent_id',
|
77
|
+
},
|
78
|
+
}),
|
79
|
+
__metadata("design:type", Number)
|
80
|
+
], User.prototype, "parentId", void 0);
|
81
|
+
return User;
|
82
|
+
};
|
83
|
+
exports.defineUser = defineUser;
|
84
|
+
// -----------------------------------------------------------------------
|
85
|
+
const defineRole = () => {
|
86
|
+
class Role extends base_model_1.BaseTzEntity {
|
87
|
+
constructor(data) {
|
88
|
+
super(data);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
__decorate([
|
92
|
+
(0, repository_1.property)({
|
93
|
+
type: 'string',
|
94
|
+
require: true,
|
95
|
+
}),
|
96
|
+
__metadata("design:type", String)
|
97
|
+
], Role.prototype, "identifier", void 0);
|
98
|
+
__decorate([
|
99
|
+
(0, repository_1.property)({
|
100
|
+
type: 'string',
|
101
|
+
require: true,
|
102
|
+
}),
|
103
|
+
__metadata("design:type", String)
|
104
|
+
], Role.prototype, "name", void 0);
|
105
|
+
__decorate([
|
106
|
+
(0, repository_1.property)({
|
107
|
+
type: 'string',
|
108
|
+
}),
|
109
|
+
__metadata("design:type", String)
|
110
|
+
], Role.prototype, "description", void 0);
|
111
|
+
__decorate([
|
112
|
+
(0, repository_1.property)({
|
113
|
+
type: 'number',
|
114
|
+
}),
|
115
|
+
__metadata("design:type", Number)
|
116
|
+
], Role.prototype, "priority", void 0);
|
117
|
+
__decorate([
|
118
|
+
(0, repository_1.property)({
|
119
|
+
type: 'string',
|
120
|
+
default: common_1.RoleStatuses.ACTIVATED,
|
121
|
+
}),
|
122
|
+
__metadata("design:type", String)
|
123
|
+
], Role.prototype, "status", void 0);
|
124
|
+
return Role;
|
125
|
+
};
|
126
|
+
exports.defineRole = defineRole;
|
127
|
+
// -----------------------------------------------------------------------
|
128
|
+
const definePermission = () => {
|
129
|
+
class Permission extends base_model_1.BaseTzEntity {
|
130
|
+
constructor(data) {
|
131
|
+
super(data);
|
132
|
+
}
|
133
|
+
}
|
134
|
+
__decorate([
|
135
|
+
(0, repository_1.property)({
|
136
|
+
type: 'string',
|
137
|
+
}),
|
138
|
+
__metadata("design:type", String)
|
139
|
+
], Permission.prototype, "code", void 0);
|
140
|
+
__decorate([
|
141
|
+
(0, repository_1.property)({
|
142
|
+
type: 'string',
|
143
|
+
}),
|
144
|
+
__metadata("design:type", String)
|
145
|
+
], Permission.prototype, "name", void 0);
|
146
|
+
__decorate([
|
147
|
+
(0, repository_1.property)({
|
148
|
+
type: 'string',
|
149
|
+
}),
|
150
|
+
__metadata("design:type", String)
|
151
|
+
], Permission.prototype, "subject", void 0);
|
152
|
+
__decorate([
|
153
|
+
(0, repository_1.property)({
|
154
|
+
type: 'string',
|
155
|
+
postgresql: { columnName: 'p_type' },
|
156
|
+
}),
|
157
|
+
__metadata("design:type", String)
|
158
|
+
], Permission.prototype, "pType", void 0);
|
159
|
+
__decorate([
|
160
|
+
(0, repository_1.property)({
|
161
|
+
type: 'string',
|
162
|
+
}),
|
163
|
+
__metadata("design:type", String)
|
164
|
+
], Permission.prototype, "action", void 0);
|
165
|
+
__decorate([
|
166
|
+
(0, repository_1.property)({
|
167
|
+
type: 'string',
|
168
|
+
}),
|
169
|
+
__metadata("design:type", String)
|
170
|
+
], Permission.prototype, "scope", void 0);
|
171
|
+
__decorate([
|
172
|
+
(0, repository_1.property)({
|
173
|
+
type: 'number',
|
174
|
+
postgresql: { columnName: 'parent_id' },
|
175
|
+
}),
|
176
|
+
__metadata("design:type", Number)
|
177
|
+
], Permission.prototype, "parentId", void 0);
|
178
|
+
__decorate([
|
179
|
+
(0, repository_1.property)({
|
180
|
+
type: 'object',
|
181
|
+
postgresql: {
|
182
|
+
columnName: 'details',
|
183
|
+
dataType: 'jsonb',
|
184
|
+
},
|
185
|
+
}),
|
186
|
+
__metadata("design:type", Object)
|
187
|
+
], Permission.prototype, "details", void 0);
|
188
|
+
return Permission;
|
189
|
+
};
|
190
|
+
exports.definePermission = definePermission;
|
191
|
+
// -----------------------------------------------------------------------
|
192
|
+
const definePermissionMapping = () => {
|
193
|
+
class PermissionMapping extends base_model_1.BaseTzEntity {
|
194
|
+
constructor(data) {
|
195
|
+
super(data);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
__decorate([
|
199
|
+
(0, repository_1.property)({
|
200
|
+
type: 'number',
|
201
|
+
postgresql: { columnName: 'user_id' },
|
202
|
+
}),
|
203
|
+
__metadata("design:type", Number)
|
204
|
+
], PermissionMapping.prototype, "userId", void 0);
|
205
|
+
__decorate([
|
206
|
+
(0, repository_1.property)({
|
207
|
+
type: 'number',
|
208
|
+
postgresql: { columnName: 'role_id' },
|
209
|
+
}),
|
210
|
+
__metadata("design:type", Number)
|
211
|
+
], PermissionMapping.prototype, "roleId", void 0);
|
212
|
+
__decorate([
|
213
|
+
(0, repository_1.property)({
|
214
|
+
type: 'number',
|
215
|
+
postgresql: { columnName: 'permission_id' },
|
216
|
+
}),
|
217
|
+
__metadata("design:type", Number)
|
218
|
+
], PermissionMapping.prototype, "permissionId", void 0);
|
219
|
+
__decorate([
|
220
|
+
(0, repository_1.property)({ type: 'string' }),
|
221
|
+
__metadata("design:type", String)
|
222
|
+
], PermissionMapping.prototype, "effect", void 0);
|
223
|
+
return PermissionMapping;
|
224
|
+
};
|
225
|
+
exports.definePermissionMapping = definePermissionMapping;
|
226
|
+
// -----------------------------------------------------------------------
|
227
|
+
const defineUserRole = () => {
|
228
|
+
class UserRole extends (0, mixins_1.PrincipalMixin)(base_model_1.BaseTzEntity, 'Role', 'number') {
|
229
|
+
constructor(data) {
|
230
|
+
super(data);
|
231
|
+
}
|
232
|
+
}
|
233
|
+
__decorate([
|
234
|
+
(0, repository_1.property)({
|
235
|
+
type: 'number',
|
236
|
+
postgresql: { columnName: 'user_id' },
|
237
|
+
}),
|
238
|
+
__metadata("design:type", Number)
|
239
|
+
], UserRole.prototype, "userId", void 0);
|
240
|
+
return UserRole;
|
241
|
+
};
|
242
|
+
exports.defineUserRole = defineUserRole;
|
243
|
+
//# sourceMappingURL=defs.js.map
|