@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,393 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
24
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
25
|
+
};
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
27
|
+
exports.defineRelationCrudController = exports.defineAssociateController = exports.defineRelationViewController = void 0;
|
28
|
+
const repository_1 = require("@loopback/repository");
|
29
|
+
const rest_1 = require("@loopback/rest");
|
30
|
+
const get_1 = __importDefault(require("lodash/get"));
|
31
|
+
const common_1 = require("../../common");
|
32
|
+
const utilities_1 = require("../../utilities");
|
33
|
+
const common_2 = require("./common");
|
34
|
+
// --------------------------------------------------------------------------------------------------------------
|
35
|
+
const defineRelationViewController = (opts) => {
|
36
|
+
const { baseClass, relationType, relationName, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema } = opts;
|
37
|
+
const restPath = `/{id}/${endPoint ? endPoint : relationName}`;
|
38
|
+
const BaseClass = baseClass !== null && baseClass !== void 0 ? baseClass : common_2.BaseController;
|
39
|
+
class ViewController extends BaseClass {
|
40
|
+
constructor(sourceRepository, targetRepository) {
|
41
|
+
super({ scope: `ViewController.${relationName}` });
|
42
|
+
this.relation = {
|
43
|
+
name: relationName,
|
44
|
+
type: relationType,
|
45
|
+
};
|
46
|
+
this.defaultLimit = defaultLimit;
|
47
|
+
if (!sourceRepository) {
|
48
|
+
throw (0, utilities_1.getError)({
|
49
|
+
statusCode: 500,
|
50
|
+
message: '[defineRelationViewController] Invalid source repository!',
|
51
|
+
});
|
52
|
+
}
|
53
|
+
this.sourceRepository = sourceRepository;
|
54
|
+
if (!targetRepository) {
|
55
|
+
throw (0, utilities_1.getError)({
|
56
|
+
statusCode: 500,
|
57
|
+
message: '[defineRelationViewController] Invalid target repository!',
|
58
|
+
});
|
59
|
+
}
|
60
|
+
this.targetRepository = targetRepository;
|
61
|
+
}
|
62
|
+
// -----------------------------------------------------------------------------------------------
|
63
|
+
find(id, filter) {
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
65
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
66
|
+
switch (relationType) {
|
67
|
+
case common_1.EntityRelations.BELONGS_TO: {
|
68
|
+
return ref;
|
69
|
+
}
|
70
|
+
case common_1.EntityRelations.HAS_ONE: {
|
71
|
+
return ref.get((0, common_2.applyLimit)(filter));
|
72
|
+
}
|
73
|
+
case common_1.EntityRelations.HAS_MANY: {
|
74
|
+
return ref.find((0, common_2.applyLimit)(filter));
|
75
|
+
}
|
76
|
+
case common_1.EntityRelations.HAS_MANY_THROUGH: {
|
77
|
+
return ref.find((0, common_2.applyLimit)(filter));
|
78
|
+
}
|
79
|
+
default: {
|
80
|
+
return Promise.resolve([]);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
});
|
84
|
+
}
|
85
|
+
// -----------------------------------------------------------------------------------------------
|
86
|
+
count(id, where) {
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
88
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
89
|
+
switch (relationType) {
|
90
|
+
case common_1.EntityRelations.BELONGS_TO: {
|
91
|
+
return ref;
|
92
|
+
}
|
93
|
+
case common_1.EntityRelations.HAS_ONE: {
|
94
|
+
return ref
|
95
|
+
.get({ where })
|
96
|
+
.then(() => Promise.resolve({ count: 1 }))
|
97
|
+
.catch(() => Promise.resolve({ count: 0 }));
|
98
|
+
}
|
99
|
+
case common_1.EntityRelations.HAS_MANY: {
|
100
|
+
const targetConstraint = ref.constraint;
|
101
|
+
const targetRepository = yield ref.getTargetRepository();
|
102
|
+
return targetRepository.count(Object.assign(Object.assign({}, where), targetConstraint));
|
103
|
+
}
|
104
|
+
case common_1.EntityRelations.HAS_MANY_THROUGH: {
|
105
|
+
const throughConstraint = yield ref.getThroughConstraintFromSource();
|
106
|
+
const throughRepository = yield ref.getThroughRepository();
|
107
|
+
const thoughInstances = yield throughRepository.find({
|
108
|
+
where: Object.assign({}, throughConstraint),
|
109
|
+
});
|
110
|
+
const targetConstraint = yield ref.getTargetConstraintFromThroughModels(thoughInstances);
|
111
|
+
const targetModelName = yield ref.targetResolver().name;
|
112
|
+
const targetRepositoryGetter = (0, get_1.default)(ref.getTargetRepository, targetModelName);
|
113
|
+
const targetRepository = yield targetRepositoryGetter();
|
114
|
+
return targetRepository.count(Object.assign(Object.assign({}, where), targetConstraint));
|
115
|
+
}
|
116
|
+
default: {
|
117
|
+
return { count: 0 };
|
118
|
+
}
|
119
|
+
}
|
120
|
+
});
|
121
|
+
}
|
122
|
+
}
|
123
|
+
__decorate([
|
124
|
+
(0, rest_1.get)(restPath, {
|
125
|
+
responses: {
|
126
|
+
'200': {
|
127
|
+
description: `Array of target model in relation ${relationName}`,
|
128
|
+
content: {
|
129
|
+
'application/json': {
|
130
|
+
schema,
|
131
|
+
},
|
132
|
+
},
|
133
|
+
},
|
134
|
+
},
|
135
|
+
}),
|
136
|
+
__param(0, rest_1.param.path.number('id')),
|
137
|
+
__param(1, rest_1.param.query.object('filter')),
|
138
|
+
__metadata("design:type", Function),
|
139
|
+
__metadata("design:paramtypes", [Object, Object]),
|
140
|
+
__metadata("design:returntype", Promise)
|
141
|
+
], ViewController.prototype, "find", null);
|
142
|
+
__decorate([
|
143
|
+
(0, rest_1.get)(`${restPath}/count`, {
|
144
|
+
responses: {
|
145
|
+
'200': {
|
146
|
+
content: {
|
147
|
+
'application/json': {
|
148
|
+
schema: repository_1.CountSchema,
|
149
|
+
},
|
150
|
+
},
|
151
|
+
},
|
152
|
+
},
|
153
|
+
}),
|
154
|
+
__param(0, rest_1.param.path.number('id')),
|
155
|
+
__param(1, rest_1.param.query.object('where')),
|
156
|
+
__metadata("design:type", Function),
|
157
|
+
__metadata("design:paramtypes", [Object, Object]),
|
158
|
+
__metadata("design:returntype", Promise)
|
159
|
+
], ViewController.prototype, "count", null);
|
160
|
+
return ViewController;
|
161
|
+
};
|
162
|
+
exports.defineRelationViewController = defineRelationViewController;
|
163
|
+
// --------------------------------------------------------------------------------------------------------------
|
164
|
+
const defineAssociateController = (opts) => {
|
165
|
+
const { baseClass, relationName, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema } = opts;
|
166
|
+
const restPath = `/{id}/${endPoint ? endPoint : relationName}`;
|
167
|
+
const BaseClass = baseClass !== null && baseClass !== void 0 ? baseClass : common_2.BaseController;
|
168
|
+
class AssociationController extends BaseClass {
|
169
|
+
constructor(sourceRepository, targetRepository) {
|
170
|
+
super(sourceRepository, targetRepository);
|
171
|
+
this.defaultLimit = defaultLimit;
|
172
|
+
if (!sourceRepository) {
|
173
|
+
throw (0, utilities_1.getError)({
|
174
|
+
statusCode: 500,
|
175
|
+
message: '[defineAssociateController] Invalid source repository!',
|
176
|
+
});
|
177
|
+
}
|
178
|
+
this.sourceRepository = sourceRepository;
|
179
|
+
if (!targetRepository) {
|
180
|
+
throw (0, utilities_1.getError)({
|
181
|
+
statusCode: 500,
|
182
|
+
message: '[defineAssociateController] Invalid target repository!',
|
183
|
+
});
|
184
|
+
}
|
185
|
+
this.targetRepository = targetRepository;
|
186
|
+
}
|
187
|
+
// -----------------------------------------------------------------------------------------------
|
188
|
+
link(id, linkId) {
|
189
|
+
return __awaiter(this, void 0, void 0, function* () {
|
190
|
+
const isSourceExist = yield this.sourceRepository.exists(id);
|
191
|
+
if (!isSourceExist) {
|
192
|
+
throw (0, utilities_1.getError)({
|
193
|
+
statusCode: 400,
|
194
|
+
message: 'Invalid association (source model is not existed)',
|
195
|
+
});
|
196
|
+
}
|
197
|
+
const isTargetExist = yield this.targetRepository.exists(linkId);
|
198
|
+
if (!isTargetExist) {
|
199
|
+
throw (0, utilities_1.getError)({
|
200
|
+
statusCode: 400,
|
201
|
+
message: 'Invalid association (target model is not existed)',
|
202
|
+
});
|
203
|
+
}
|
204
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
205
|
+
return ref.link(linkId);
|
206
|
+
});
|
207
|
+
}
|
208
|
+
// -----------------------------------------------------------------------------------------------
|
209
|
+
unlink(id, linkId) {
|
210
|
+
return __awaiter(this, void 0, void 0, function* () {
|
211
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
212
|
+
return ref.unlink(linkId);
|
213
|
+
});
|
214
|
+
}
|
215
|
+
}
|
216
|
+
__decorate([
|
217
|
+
(0, rest_1.post)(`${restPath}/{link_id}`, {
|
218
|
+
responses: {
|
219
|
+
'200': {
|
220
|
+
description: `Create association between source and target for ${relationName} relation`,
|
221
|
+
content: {
|
222
|
+
'application/json': {
|
223
|
+
schema,
|
224
|
+
},
|
225
|
+
},
|
226
|
+
},
|
227
|
+
},
|
228
|
+
}),
|
229
|
+
__param(0, rest_1.param.path.number('id')),
|
230
|
+
__param(1, rest_1.param.path.number('link_id')),
|
231
|
+
__metadata("design:type", Function),
|
232
|
+
__metadata("design:paramtypes", [Number, Number]),
|
233
|
+
__metadata("design:returntype", Promise)
|
234
|
+
], AssociationController.prototype, "link", null);
|
235
|
+
__decorate([
|
236
|
+
(0, rest_1.del)(`${restPath}/{link_id}`, {
|
237
|
+
responses: {
|
238
|
+
'200': {
|
239
|
+
description: `Remove association between source and target for ${relationName} relation`,
|
240
|
+
content: { 'application/json': {} },
|
241
|
+
},
|
242
|
+
},
|
243
|
+
}),
|
244
|
+
__param(0, rest_1.param.path.number('id')),
|
245
|
+
__param(1, rest_1.param.path.number('link_id')),
|
246
|
+
__metadata("design:type", Function),
|
247
|
+
__metadata("design:paramtypes", [Number, Number]),
|
248
|
+
__metadata("design:returntype", Promise)
|
249
|
+
], AssociationController.prototype, "unlink", null);
|
250
|
+
return AssociationController;
|
251
|
+
};
|
252
|
+
exports.defineAssociateController = defineAssociateController;
|
253
|
+
// --------------------------------------------------------------------------------------------------------------
|
254
|
+
const defineRelationCrudController = (controllerOptions) => {
|
255
|
+
const { association, schema, options = {
|
256
|
+
useControlTarget: false,
|
257
|
+
defaultLimit: common_1.App.DEFAULT_QUERY_LIMIT,
|
258
|
+
endPoint: '',
|
259
|
+
}, } = controllerOptions;
|
260
|
+
const { relationName, relationType } = association;
|
261
|
+
const { target } = schema;
|
262
|
+
if (!common_1.EntityRelations.isValid(relationType)) {
|
263
|
+
throw (0, utilities_1.getError)({
|
264
|
+
statusCode: 500,
|
265
|
+
message: `[defineRelationCrudController] Invalid relationType! Valids: ${[...common_1.EntityRelations.TYPE_SET]}`,
|
266
|
+
});
|
267
|
+
}
|
268
|
+
const { target: targetSchema } = schema;
|
269
|
+
const { useControlTarget = true, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '' } = options;
|
270
|
+
const restPath = `{id}/${endPoint ? endPoint : relationName}`;
|
271
|
+
const ViewController = (0, exports.defineRelationViewController)({
|
272
|
+
baseClass: common_2.BaseController,
|
273
|
+
relationType,
|
274
|
+
relationName,
|
275
|
+
defaultLimit,
|
276
|
+
endPoint,
|
277
|
+
schema: target,
|
278
|
+
});
|
279
|
+
const AssociationController = (0, exports.defineAssociateController)({
|
280
|
+
baseClass: ViewController,
|
281
|
+
relationName,
|
282
|
+
defaultLimit,
|
283
|
+
endPoint,
|
284
|
+
schema: target,
|
285
|
+
});
|
286
|
+
// -----------------------------------------------------------------------------------------------
|
287
|
+
const ExtendsableClass = relationType === common_1.EntityRelations.HAS_MANY_THROUGH ? AssociationController : ViewController;
|
288
|
+
if (!useControlTarget) {
|
289
|
+
return ExtendsableClass;
|
290
|
+
}
|
291
|
+
// -----------------------------------------------------------------------------------------------
|
292
|
+
class Controller extends ExtendsableClass {
|
293
|
+
constructor(sourceRepository, targetRepository) {
|
294
|
+
if (!sourceRepository) {
|
295
|
+
throw (0, utilities_1.getError)({
|
296
|
+
statusCode: 500,
|
297
|
+
message: '[defineRelationCrudController] Invalid source repository!',
|
298
|
+
});
|
299
|
+
}
|
300
|
+
if (!targetRepository) {
|
301
|
+
throw (0, utilities_1.getError)({
|
302
|
+
statusCode: 500,
|
303
|
+
message: '[defineRelationCrudController] Invalid target repository!',
|
304
|
+
});
|
305
|
+
}
|
306
|
+
super(sourceRepository, targetRepository);
|
307
|
+
}
|
308
|
+
// -----------------------------------------------------------------------------------------------
|
309
|
+
create(id, mapping) {
|
310
|
+
return __awaiter(this, void 0, void 0, function* () {
|
311
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
312
|
+
return ref.create(mapping);
|
313
|
+
});
|
314
|
+
}
|
315
|
+
// -----------------------------------------------------------------------------------------------
|
316
|
+
patch(id, mapping, where) {
|
317
|
+
return __awaiter(this, void 0, void 0, function* () {
|
318
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
319
|
+
return ref.patch(mapping, where);
|
320
|
+
});
|
321
|
+
}
|
322
|
+
// -----------------------------------------------------------------------------------------------
|
323
|
+
delete(id, where) {
|
324
|
+
return __awaiter(this, void 0, void 0, function* () {
|
325
|
+
const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
|
326
|
+
return ref.delete(where);
|
327
|
+
});
|
328
|
+
}
|
329
|
+
}
|
330
|
+
__decorate([
|
331
|
+
(0, rest_1.post)(restPath, {
|
332
|
+
responses: {
|
333
|
+
'200': {
|
334
|
+
description: `Create target model for ${relationName} relation`,
|
335
|
+
content: {
|
336
|
+
'application/json': {
|
337
|
+
schema,
|
338
|
+
},
|
339
|
+
},
|
340
|
+
},
|
341
|
+
},
|
342
|
+
}),
|
343
|
+
__param(0, rest_1.param.path.number('id')),
|
344
|
+
__param(1, (0, rest_1.requestBody)({
|
345
|
+
required: true,
|
346
|
+
content: {
|
347
|
+
'application/json': { schema: targetSchema },
|
348
|
+
},
|
349
|
+
})),
|
350
|
+
__metadata("design:type", Function),
|
351
|
+
__metadata("design:paramtypes", [Number, Object]),
|
352
|
+
__metadata("design:returntype", Promise)
|
353
|
+
], Controller.prototype, "create", null);
|
354
|
+
__decorate([
|
355
|
+
(0, rest_1.patch)(restPath, {
|
356
|
+
responses: {
|
357
|
+
'200': {
|
358
|
+
description: `Patch target model for ${relationName} relation`,
|
359
|
+
content: { 'application/json': { schema: repository_1.CountSchema } },
|
360
|
+
},
|
361
|
+
},
|
362
|
+
}),
|
363
|
+
__param(0, rest_1.param.path.number('id')),
|
364
|
+
__param(1, (0, rest_1.requestBody)({
|
365
|
+
required: true,
|
366
|
+
content: {
|
367
|
+
'application/json': { schema: targetSchema },
|
368
|
+
},
|
369
|
+
})),
|
370
|
+
__param(2, rest_1.param.query.object('where')),
|
371
|
+
__metadata("design:type", Function),
|
372
|
+
__metadata("design:paramtypes", [Number, Object, Object]),
|
373
|
+
__metadata("design:returntype", Promise)
|
374
|
+
], Controller.prototype, "patch", null);
|
375
|
+
__decorate([
|
376
|
+
(0, rest_1.del)(restPath, {
|
377
|
+
responses: {
|
378
|
+
'200': {
|
379
|
+
description: `Delete target model for ${relationName} relation`,
|
380
|
+
content: { 'application/json': { schema: repository_1.CountSchema } },
|
381
|
+
},
|
382
|
+
},
|
383
|
+
}),
|
384
|
+
__param(0, rest_1.param.path.number('id')),
|
385
|
+
__param(1, rest_1.param.query.object('where')),
|
386
|
+
__metadata("design:type", Function),
|
387
|
+
__metadata("design:paramtypes", [Number, Object]),
|
388
|
+
__metadata("design:returntype", Promise)
|
389
|
+
], Controller.prototype, "delete", null);
|
390
|
+
return Controller;
|
391
|
+
};
|
392
|
+
exports.defineRelationCrudController = defineRelationCrudController;
|
393
|
+
//# sourceMappingURL=relational.controller.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"relational.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/relational.controller.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export * from './applications';
|
2
|
+
export * from './controllers';
|
3
|
+
export * from './repositories';
|
4
|
+
export * from './base.component';
|
5
|
+
export * from './base.datasource';
|
6
|
+
export * from './base.model';
|
7
|
+
export * from './base.provider';
|
8
|
+
export * from './base.sequence';
|
9
|
+
export * from './base.service';
|
@@ -0,0 +1,26 @@
|
|
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("./applications"), exports);
|
18
|
+
__exportStar(require("./controllers"), exports);
|
19
|
+
__exportStar(require("./repositories"), exports);
|
20
|
+
__exportStar(require("./base.component"), exports);
|
21
|
+
__exportStar(require("./base.datasource"), exports);
|
22
|
+
__exportStar(require("./base.model"), exports);
|
23
|
+
__exportStar(require("./base.provider"), exports);
|
24
|
+
__exportStar(require("./base.sequence"), exports);
|
25
|
+
__exportStar(require("./base.service"), exports);
|
26
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,gDAA8B;AAC9B,iDAA+B;AAE/B,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { AnyType, EntityClassType, EntityRelationType, IdType, ITzRepository } from '../../common/types';
|
2
|
+
import { ApplicationLogger } from '../../helpers';
|
3
|
+
import { AnyObject, WhereBuilder as BaseWhereBuilder, Command, Count, DataObject, DefaultCrudRepository, DefaultKeyValueRepository, IsolationLevel, juggler, NamedParameters, Options, PositionalParameters, Transaction, TransactionalEntityRepository, Where } from '@loopback/repository';
|
4
|
+
import { BaseEntity, BaseKVEntity, BaseTzEntity } from '../base.model';
|
5
|
+
export declare class WhereBuilder<E extends object = AnyObject> extends BaseWhereBuilder {
|
6
|
+
constructor(opts?: Where<E>);
|
7
|
+
newInstance(opts?: Where<E>): WhereBuilder<E>;
|
8
|
+
clone(): WhereBuilder;
|
9
|
+
}
|
10
|
+
export declare abstract class AbstractTzRepository<E extends BaseTzEntity, R extends EntityRelationType = AnyType> extends DefaultCrudRepository<E, IdType, R> implements ITzRepository<E>, TransactionalEntityRepository<E, IdType, R> {
|
11
|
+
protected logger: ApplicationLogger;
|
12
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource, scope?: string);
|
13
|
+
beginTransaction(options?: IsolationLevel | Options): Promise<Transaction>;
|
14
|
+
executeSql<T>(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<T>;
|
15
|
+
protected getObservers(opts: {
|
16
|
+
operation: string;
|
17
|
+
}): Array<Function>;
|
18
|
+
protected notifyObservers(opts: {
|
19
|
+
operation: string;
|
20
|
+
[extra: symbol | string]: unknown | string;
|
21
|
+
}): void;
|
22
|
+
abstract mixTimestamp(entity: DataObject<E>, options?: {
|
23
|
+
newInstance: boolean;
|
24
|
+
ignoreModified?: boolean;
|
25
|
+
}): DataObject<E>;
|
26
|
+
abstract mixUserAudit(entity: DataObject<E>, options?: {
|
27
|
+
newInstance: boolean;
|
28
|
+
authorId: IdType;
|
29
|
+
}): DataObject<E>;
|
30
|
+
abstract existsWith(where?: Where<E>, options?: any): Promise<boolean>;
|
31
|
+
abstract createWithReturn(data: DataObject<E>, options?: any): Promise<E>;
|
32
|
+
abstract updateWithReturn(id: IdType, data: DataObject<E>, options?: any): Promise<E>;
|
33
|
+
abstract upsertWith(data: DataObject<E>, where: Where<E>, options?: any): Promise<E | null>;
|
34
|
+
}
|
35
|
+
export declare abstract class AbstractKVRepository<E extends BaseKVEntity> extends DefaultKeyValueRepository<E> {
|
36
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource);
|
37
|
+
}
|
38
|
+
export declare abstract class KVRepository<E extends BaseKVEntity> extends AbstractKVRepository<E> {
|
39
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource);
|
40
|
+
}
|
41
|
+
export declare abstract class ViewRepository<E extends BaseEntity, R extends EntityRelationType = AnyType> extends DefaultCrudRepository<E, IdType, R> {
|
42
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource);
|
43
|
+
existsWith(where?: Where<E>, options?: Options): Promise<boolean>;
|
44
|
+
create(_data: DataObject<E>, _options?: Options): Promise<E>;
|
45
|
+
createAll(_datum: DataObject<E>[], _options?: Options): Promise<E[]>;
|
46
|
+
save(_entity: E, _options?: Options): Promise<E>;
|
47
|
+
update(_entity: E, _options?: Options): Promise<void>;
|
48
|
+
delete(_entity: E, _options?: Options): Promise<void>;
|
49
|
+
updateAll(_data: DataObject<E>, _where?: Where<E>, _options?: Options): Promise<Count>;
|
50
|
+
updateById(_id: IdType, _data: DataObject<E>, _options?: Options): Promise<void>;
|
51
|
+
replaceById(_id: IdType, _data: DataObject<E>, _options?: Options): Promise<void>;
|
52
|
+
deleteAll(_where?: Where<E>, _options?: Options): Promise<Count>;
|
53
|
+
deleteById(_id: IdType, _options?: Options): Promise<void>;
|
54
|
+
}
|
@@ -0,0 +1,156 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
3
|
+
var t = {};
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
5
|
+
t[p] = s[p];
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
9
|
+
t[p[i]] = s[p[i]];
|
10
|
+
}
|
11
|
+
return t;
|
12
|
+
};
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
exports.ViewRepository = exports.KVRepository = exports.AbstractKVRepository = exports.AbstractTzRepository = exports.WhereBuilder = void 0;
|
18
|
+
const helpers_1 = require("../../helpers");
|
19
|
+
const utilities_1 = require("../../utilities");
|
20
|
+
const repository_1 = require("@loopback/repository");
|
21
|
+
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
22
|
+
const get_1 = __importDefault(require("lodash/get"));
|
23
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
24
|
+
class WhereBuilder extends repository_1.WhereBuilder {
|
25
|
+
constructor(opts) {
|
26
|
+
super(opts);
|
27
|
+
}
|
28
|
+
newInstance(opts) {
|
29
|
+
return new WhereBuilder(opts);
|
30
|
+
}
|
31
|
+
clone() {
|
32
|
+
return new WhereBuilder((0, cloneDeep_1.default)(this.build()));
|
33
|
+
}
|
34
|
+
}
|
35
|
+
exports.WhereBuilder = WhereBuilder;
|
36
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
37
|
+
class AbstractTzRepository extends repository_1.DefaultCrudRepository {
|
38
|
+
constructor(entityClass, dataSource, scope) {
|
39
|
+
super(entityClass, dataSource);
|
40
|
+
this.logger = helpers_1.LoggerFactory.getLogger([scope !== null && scope !== void 0 ? scope : '']);
|
41
|
+
}
|
42
|
+
beginTransaction(options) {
|
43
|
+
return new Promise((resolve, reject) => {
|
44
|
+
this.dataSource
|
45
|
+
.beginTransaction(options !== null && options !== void 0 ? options : {})
|
46
|
+
.then(rs => {
|
47
|
+
resolve(rs);
|
48
|
+
})
|
49
|
+
.catch(reject);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
executeSql(command, parameters, options) {
|
53
|
+
return this.execute(command, parameters, options);
|
54
|
+
}
|
55
|
+
getObservers(opts) {
|
56
|
+
const { operation } = opts;
|
57
|
+
return (0, get_1.default)(this.modelClass, `_observers.${operation}`, []);
|
58
|
+
}
|
59
|
+
notifyObservers(opts) {
|
60
|
+
const { operation } = opts, rest = __rest(opts, ["operation"]);
|
61
|
+
const observers = this.getObservers({ operation });
|
62
|
+
observers.forEach(observer => observer(Object.assign(Object.assign({}, this.modelClass), rest)));
|
63
|
+
}
|
64
|
+
}
|
65
|
+
exports.AbstractTzRepository = AbstractTzRepository;
|
66
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
67
|
+
class AbstractKVRepository extends repository_1.DefaultKeyValueRepository {
|
68
|
+
constructor(entityClass, dataSource) {
|
69
|
+
super(entityClass, dataSource);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
exports.AbstractKVRepository = AbstractKVRepository;
|
73
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
74
|
+
class KVRepository extends AbstractKVRepository {
|
75
|
+
constructor(entityClass, dataSource) {
|
76
|
+
super(entityClass, dataSource);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
exports.KVRepository = KVRepository;
|
80
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
81
|
+
class ViewRepository extends repository_1.DefaultCrudRepository {
|
82
|
+
constructor(entityClass, dataSource) {
|
83
|
+
super(entityClass, dataSource);
|
84
|
+
}
|
85
|
+
existsWith(where, options) {
|
86
|
+
return new Promise((resolve, reject) => {
|
87
|
+
this.findOne({ where }, options)
|
88
|
+
.then(rs => {
|
89
|
+
resolve(rs !== null && rs !== undefined);
|
90
|
+
})
|
91
|
+
.catch(reject);
|
92
|
+
});
|
93
|
+
}
|
94
|
+
create(_data, _options) {
|
95
|
+
throw (0, utilities_1.getError)({
|
96
|
+
statusCode: 500,
|
97
|
+
message: 'Cannot manipulate entity with view repository!',
|
98
|
+
});
|
99
|
+
}
|
100
|
+
createAll(_datum, _options) {
|
101
|
+
throw (0, utilities_1.getError)({
|
102
|
+
statusCode: 500,
|
103
|
+
message: 'Cannot manipulate entity with view repository!',
|
104
|
+
});
|
105
|
+
}
|
106
|
+
save(_entity, _options) {
|
107
|
+
throw (0, utilities_1.getError)({
|
108
|
+
statusCode: 500,
|
109
|
+
message: 'Cannot manipulate entity with view repository!',
|
110
|
+
});
|
111
|
+
}
|
112
|
+
update(_entity, _options) {
|
113
|
+
throw (0, utilities_1.getError)({
|
114
|
+
statusCode: 500,
|
115
|
+
message: 'Cannot manipulate entity with view repository!',
|
116
|
+
});
|
117
|
+
}
|
118
|
+
delete(_entity, _options) {
|
119
|
+
throw (0, utilities_1.getError)({
|
120
|
+
statusCode: 500,
|
121
|
+
message: 'Cannot manipulate entity with view repository!',
|
122
|
+
});
|
123
|
+
}
|
124
|
+
updateAll(_data, _where, _options) {
|
125
|
+
throw (0, utilities_1.getError)({
|
126
|
+
statusCode: 500,
|
127
|
+
message: 'Cannot manipulate entity with view repository!',
|
128
|
+
});
|
129
|
+
}
|
130
|
+
updateById(_id, _data, _options) {
|
131
|
+
throw (0, utilities_1.getError)({
|
132
|
+
statusCode: 500,
|
133
|
+
message: 'Cannot manipulate entity with view repository!',
|
134
|
+
});
|
135
|
+
}
|
136
|
+
replaceById(_id, _data, _options) {
|
137
|
+
throw (0, utilities_1.getError)({
|
138
|
+
statusCode: 500,
|
139
|
+
message: 'Cannot manipulate entity with view repository!',
|
140
|
+
});
|
141
|
+
}
|
142
|
+
deleteAll(_where, _options) {
|
143
|
+
throw (0, utilities_1.getError)({
|
144
|
+
statusCode: 500,
|
145
|
+
message: 'Cannot manipulate entity with view repository!',
|
146
|
+
});
|
147
|
+
}
|
148
|
+
deleteById(_id, _options) {
|
149
|
+
throw (0, utilities_1.getError)({
|
150
|
+
statusCode: 500,
|
151
|
+
message: 'Cannot manipulate entity with view repository!',
|
152
|
+
});
|
153
|
+
}
|
154
|
+
}
|
155
|
+
exports.ViewRepository = ViewRepository;
|
156
|
+
//# sourceMappingURL=base.repository.js.map
|