@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
package/LICENSE
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Copyright (c) Minimal Technology Vietnam Ltd. 2023. All Rights Reserved.
|
2
|
+
This project is licensed under the MIT License, full text below.
|
3
|
+
|
4
|
+
-------- -------- -------- -------- -------- -------- -------- --------
|
5
|
+
|
6
|
+
MIT License
|
7
|
+
|
8
|
+
-------- -------- -------- -------- -------- -------- -------- --------
|
9
|
+
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
12
|
+
in the Software without restriction, including without limitation the rights
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
15
|
+
furnished to do so, subject to the following conditions:
|
16
|
+
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
18
|
+
copies or substantial portions of the Software.
|
19
|
+
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
26
|
+
SOFTWARE.
|
package/README.md
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
## HUGE THANKS TO [@StrongLoop](https://x.com/strongloop) team
|
2
|
+
|
3
|
+
<img src="https://raw.githubusercontent.com/loopbackio/loopback.io/gh-pages/images/branding/logo/blue/loopback-sm.png" alt="LoopBack4 logo" width="400"/>
|
4
|
+
|
5
|
+
Please checkout these references for more guiding:
|
6
|
+
|
7
|
+
- [Project WIKI](https://github.com/phatnt199/lb-infra/wiki)
|
8
|
+
- [Loopback 4 Official Documentation](https://loopback.io/doc/en/lb4/)
|
@@ -0,0 +1,306 @@
|
|
1
|
+
import { IEnvironmentValidationResult, IApplication } from '../../common/types';
|
2
|
+
import { ApplicationLogger } from '../../helpers';
|
3
|
+
import { ApplicationConfig, Binding, BindingFromClassOptions, BindingScope, Constructor, ControllerClass } from '@loopback/core';
|
4
|
+
import { Repository } from '@loopback/repository';
|
5
|
+
import { RestApplication, SequenceHandler } from '@loopback/rest';
|
6
|
+
import { BaseEntity } from '../base.model';
|
7
|
+
declare const BaseApplication_base: (new (...args: any[]) => {
|
8
|
+
projectRoot: string;
|
9
|
+
bootOptions?: import("@loopback/boot").BootOptions | undefined;
|
10
|
+
booted: boolean;
|
11
|
+
start(): Promise<void>;
|
12
|
+
boot(): Promise<void>;
|
13
|
+
booters(...booterCls: Constructor<import("@loopback/boot").Booter>[]): Binding[];
|
14
|
+
applicationBooter(subApp: import("@loopback/core").Application & import("@loopback/boot").Bootable, filter?: import("@loopback/core").BindingFilter): Binding<import("@loopback/boot").Booter>;
|
15
|
+
component<C extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: Constructor<C>, nameOrOptions?: string | BindingFromClassOptions): Binding<C>;
|
16
|
+
mountComponentBooters(componentInstanceOrClass: Constructor<unknown> | import("@loopback/boot").InstanceWithBooters): void;
|
17
|
+
readonly options: import("@loopback/core").ApplicationConfig;
|
18
|
+
readonly state: string;
|
19
|
+
controller: <T>(controllerCtor: import("@loopback/core").ControllerClass<T>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T>;
|
20
|
+
server: <T_1 extends import("@loopback/core").Server>(ctor: Constructor<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
|
21
|
+
servers: <T_2 extends import("@loopback/core").Server>(ctors: Constructor<T_2>[]) => Binding<any>[];
|
22
|
+
getServer: <T_3 extends import("@loopback/core").Server>(target: string | Constructor<T_3>) => Promise<T_3>;
|
23
|
+
init: () => Promise<void>;
|
24
|
+
onInit: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
25
|
+
onStart: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
26
|
+
stop: () => Promise<void>;
|
27
|
+
onStop: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
28
|
+
setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void;
|
29
|
+
lifeCycleObserver: <T_4 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_4>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_4>;
|
30
|
+
service: <S>(cls: import("@loopback/core").ServiceOrProviderClass<S>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => Binding<S>;
|
31
|
+
interceptor: (interceptor: import("@loopback/core").Interceptor | Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => Binding<import("@loopback/core").Interceptor>;
|
32
|
+
readonly name: string;
|
33
|
+
readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager;
|
34
|
+
scope: BindingScope;
|
35
|
+
readonly parent: import("@loopback/core").Context | undefined;
|
36
|
+
emitEvent: <T_5 extends import("@loopback/core").ContextEvent>(type: string, event: T_5) => void;
|
37
|
+
emitError: (err: unknown) => void;
|
38
|
+
bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => Binding<ValueType>;
|
39
|
+
add: (binding: Binding<unknown>) => import("@loopback/core").Application;
|
40
|
+
configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress | undefined) => Binding<ConfigValueType>;
|
41
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
|
42
|
+
getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
43
|
+
getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
44
|
+
unbind: (key: import("@loopback/core").BindingAddress) => boolean;
|
45
|
+
subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription;
|
46
|
+
unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean;
|
47
|
+
close: () => void;
|
48
|
+
isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean;
|
49
|
+
createView: <T_6 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_6>;
|
50
|
+
contains: (key: import("@loopback/core").BindingAddress) => boolean;
|
51
|
+
isBound: (key: import("@loopback/core").BindingAddress) => boolean;
|
52
|
+
getOwnerContext: (keyOrBinding: Readonly<Binding<unknown>> | import("@loopback/core").BindingAddress) => import("@loopback/core").Context | undefined;
|
53
|
+
getScopedContext: (scope: BindingScope.APPLICATION | BindingScope.SERVER | BindingScope.REQUEST) => import("@loopback/core").Context | undefined;
|
54
|
+
getResolutionContext: (binding: Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
|
55
|
+
isVisibleTo: (ctx: import("@loopback/core").Context) => boolean;
|
56
|
+
find: <ValueType_1 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
57
|
+
findByTag: <ValueType_2 = any>(tagFilter: RegExp | import("@loopback/core").BindingTag) => Readonly<Binding<ValueType_2>>[];
|
58
|
+
get: {
|
59
|
+
<ValueType_3>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3>;
|
60
|
+
<ValueType_4>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4 | undefined>;
|
61
|
+
};
|
62
|
+
getSync: {
|
63
|
+
<ValueType_5>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5;
|
64
|
+
<ValueType_6>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6 | undefined;
|
65
|
+
};
|
66
|
+
getBinding: {
|
67
|
+
<ValueType_7 = any>(key: import("@loopback/core").BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
68
|
+
<ValueType_8>(key: import("@loopback/core").BindingAddress<ValueType_8>, options?: {
|
69
|
+
optional?: boolean | undefined;
|
70
|
+
} | undefined): Binding<ValueType_8> | undefined;
|
71
|
+
};
|
72
|
+
findOrCreateBinding: <T_7>(key: import("@loopback/core").BindingAddress<T_7>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_7>;
|
73
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionOptionsOrSession | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>;
|
74
|
+
toJSON: () => import("@loopback/core").JSONObject;
|
75
|
+
inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject;
|
76
|
+
on: {
|
77
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
78
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
79
|
+
};
|
80
|
+
once: {
|
81
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
82
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
83
|
+
};
|
84
|
+
[EventEmitter.captureRejectionSymbol]?: (<K>(error: Error, event: string | symbol, ...args: any[]) => void) | undefined;
|
85
|
+
addListener: <K_1>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
86
|
+
removeListener: <K_2>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
87
|
+
off: <K_3>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
88
|
+
removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application;
|
89
|
+
setMaxListeners: (n: number) => import("@loopback/core").Application;
|
90
|
+
getMaxListeners: () => number;
|
91
|
+
listeners: <K_4>(eventName: string | symbol) => Function[];
|
92
|
+
rawListeners: <K_5>(eventName: string | symbol) => Function[];
|
93
|
+
emit: <K_6>(eventName: string | symbol, ...args: any[]) => boolean;
|
94
|
+
listenerCount: <K_7>(eventName: string | symbol, listener?: Function | undefined) => number;
|
95
|
+
prependListener: <K_8>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
96
|
+
prependOnceListener: <K_9>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
97
|
+
eventNames: () => (string | symbol)[];
|
98
|
+
}) & (new (...args: any[]) => {
|
99
|
+
serviceProvider<S>(provider: Constructor<import("@loopback/core").Provider<S>>, nameOrOptions?: string | import("@loopback/core").ServiceOptions): Binding<S>;
|
100
|
+
component<C extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: Constructor<C>, nameOrOptions?: string | BindingFromClassOptions): Binding<C>;
|
101
|
+
mountComponentServices<C_1 extends import("@loopback/core").Component = import("@loopback/core").Component>(component: Constructor<C_1>, componentBindingKey?: import("@loopback/core").BindingAddress<C_1> | undefined): void;
|
102
|
+
readonly options: import("@loopback/core").ApplicationConfig;
|
103
|
+
readonly state: string;
|
104
|
+
controller: <T>(controllerCtor: import("@loopback/core").ControllerClass<T>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T>;
|
105
|
+
server: <T_1 extends import("@loopback/core").Server>(ctor: Constructor<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
|
106
|
+
servers: <T_2 extends import("@loopback/core").Server>(ctors: Constructor<T_2>[]) => Binding<any>[];
|
107
|
+
getServer: <T_3 extends import("@loopback/core").Server>(target: string | Constructor<T_3>) => Promise<T_3>;
|
108
|
+
init: () => Promise<void>;
|
109
|
+
onInit: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
110
|
+
start: () => Promise<void>;
|
111
|
+
onStart: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
112
|
+
stop: () => Promise<void>;
|
113
|
+
onStop: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
114
|
+
setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void;
|
115
|
+
lifeCycleObserver: <T_4 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_4>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_4>;
|
116
|
+
service: <S_1>(cls: import("@loopback/core").ServiceOrProviderClass<S_1>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => Binding<S_1>;
|
117
|
+
interceptor: (interceptor: import("@loopback/core").Interceptor | Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => Binding<import("@loopback/core").Interceptor>;
|
118
|
+
readonly name: string;
|
119
|
+
readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager;
|
120
|
+
scope: import("@loopback/core").BindingScope;
|
121
|
+
readonly parent: import("@loopback/core").Context | undefined;
|
122
|
+
emitEvent: <T_5 extends import("@loopback/core").ContextEvent>(type: string, event: T_5) => void;
|
123
|
+
emitError: (err: unknown) => void;
|
124
|
+
bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => Binding<ValueType>;
|
125
|
+
add: (binding: Binding<unknown>) => import("@loopback/core").Application;
|
126
|
+
configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress | undefined) => Binding<ConfigValueType>;
|
127
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
|
128
|
+
getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
129
|
+
getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
130
|
+
unbind: (key: import("@loopback/core").BindingAddress) => boolean;
|
131
|
+
subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription;
|
132
|
+
unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean;
|
133
|
+
close: () => void;
|
134
|
+
isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean;
|
135
|
+
createView: <T_6 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_6>;
|
136
|
+
contains: (key: import("@loopback/core").BindingAddress) => boolean;
|
137
|
+
isBound: (key: import("@loopback/core").BindingAddress) => boolean;
|
138
|
+
getOwnerContext: (keyOrBinding: import("@loopback/core").BindingAddress | Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
|
139
|
+
getScopedContext: (scope: import("@loopback/core").BindingScope.APPLICATION | import("@loopback/core").BindingScope.SERVER | import("@loopback/core").BindingScope.REQUEST) => import("@loopback/core").Context | undefined;
|
140
|
+
getResolutionContext: (binding: Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
|
141
|
+
isVisibleTo: (ctx: import("@loopback/core").Context) => boolean;
|
142
|
+
find: <ValueType_1 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
143
|
+
findByTag: <ValueType_2 = any>(tagFilter: RegExp | import("@loopback/core").BindingTag) => Readonly<Binding<ValueType_2>>[];
|
144
|
+
get: {
|
145
|
+
<ValueType_3>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3>;
|
146
|
+
<ValueType_4>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4 | undefined>;
|
147
|
+
};
|
148
|
+
getSync: {
|
149
|
+
<ValueType_5>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5;
|
150
|
+
<ValueType_6>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6 | undefined;
|
151
|
+
};
|
152
|
+
getBinding: {
|
153
|
+
<ValueType_7 = any>(key: import("@loopback/core").BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
154
|
+
<ValueType_8>(key: import("@loopback/core").BindingAddress<ValueType_8>, options?: {
|
155
|
+
optional?: boolean | undefined;
|
156
|
+
} | undefined): Binding<ValueType_8> | undefined;
|
157
|
+
};
|
158
|
+
findOrCreateBinding: <T_7>(key: import("@loopback/core").BindingAddress<T_7>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_7>;
|
159
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionOptionsOrSession | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>;
|
160
|
+
toJSON: () => import("@loopback/core").JSONObject;
|
161
|
+
inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject;
|
162
|
+
on: {
|
163
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
164
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
165
|
+
};
|
166
|
+
once: {
|
167
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
168
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
169
|
+
};
|
170
|
+
[EventEmitter.captureRejectionSymbol]?: (<K>(error: Error, event: string | symbol, ...args: any[]) => void) | undefined;
|
171
|
+
addListener: <K_1>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
172
|
+
removeListener: <K_2>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
173
|
+
off: <K_3>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
174
|
+
removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application;
|
175
|
+
setMaxListeners: (n: number) => import("@loopback/core").Application;
|
176
|
+
getMaxListeners: () => number;
|
177
|
+
listeners: <K_4>(eventName: string | symbol) => Function[];
|
178
|
+
rawListeners: <K_5>(eventName: string | symbol) => Function[];
|
179
|
+
emit: <K_6>(eventName: string | symbol, ...args: any[]) => boolean;
|
180
|
+
listenerCount: <K_7>(eventName: string | symbol, listener?: Function | undefined) => number;
|
181
|
+
prependListener: <K_8>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
182
|
+
prependOnceListener: <K_9>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
183
|
+
eventNames: () => (string | symbol)[];
|
184
|
+
}) & (new (...args: any[]) => {
|
185
|
+
repository<R extends Repository<any>>(repoClass: import("@loopback/repository").Class<R>, nameOrOptions?: string | BindingFromClassOptions): Binding<R>;
|
186
|
+
getRepository<R_1 extends Repository<any>>(repo: import("@loopback/repository").Class<R_1>): Promise<R_1>;
|
187
|
+
dataSource<D extends import("@loopback/repository").JugglerDataSource>(dataSource: D | import("@loopback/repository").Class<D>, nameOrOptions?: string | BindingFromClassOptions): Binding<D>;
|
188
|
+
model<M extends import("@loopback/repository").Class<unknown>>(modelClass: M): Binding<M>;
|
189
|
+
component<C extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: Constructor<C>, nameOrOptions?: string | BindingFromClassOptions): Binding<C>;
|
190
|
+
mountComponentRepositories(componentInstanceOrClass: import("@loopback/repository").Class<unknown> | import("@loopback/repository").RepositoryComponent): void;
|
191
|
+
mountComponentModels(component: import("@loopback/repository").RepositoryComponent): void;
|
192
|
+
migrateSchema(options?: import("@loopback/repository").SchemaMigrationOptions): Promise<void>;
|
193
|
+
readonly options: import("@loopback/core").ApplicationConfig;
|
194
|
+
readonly state: string;
|
195
|
+
controller: <T>(controllerCtor: import("@loopback/core").ControllerClass<T>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T>;
|
196
|
+
server: <T_1 extends import("@loopback/core").Server>(ctor: Constructor<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
|
197
|
+
servers: <T_2 extends import("@loopback/core").Server>(ctors: Constructor<T_2>[]) => Binding<any>[];
|
198
|
+
getServer: <T_3 extends import("@loopback/core").Server>(target: string | Constructor<T_3>) => Promise<T_3>;
|
199
|
+
init: () => Promise<void>;
|
200
|
+
onInit: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
201
|
+
start: () => Promise<void>;
|
202
|
+
onStart: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
203
|
+
stop: () => Promise<void>;
|
204
|
+
onStop: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
205
|
+
setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void;
|
206
|
+
lifeCycleObserver: <T_4 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_4>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_4>;
|
207
|
+
service: <S>(cls: import("@loopback/core").ServiceOrProviderClass<S>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => Binding<S>;
|
208
|
+
interceptor: (interceptor: import("@loopback/core").Interceptor | Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => Binding<import("@loopback/core").Interceptor>;
|
209
|
+
readonly name: string;
|
210
|
+
readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager;
|
211
|
+
scope: BindingScope;
|
212
|
+
readonly parent: import("@loopback/core").Context | undefined;
|
213
|
+
emitEvent: <T_5 extends import("@loopback/core").ContextEvent>(type: string, event: T_5) => void;
|
214
|
+
emitError: (err: unknown) => void;
|
215
|
+
bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => Binding<ValueType>;
|
216
|
+
add: (binding: Binding<unknown>) => import("@loopback/core").Application;
|
217
|
+
configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress | undefined) => Binding<ConfigValueType>;
|
218
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
|
219
|
+
getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
220
|
+
getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
221
|
+
unbind: (key: import("@loopback/core").BindingAddress) => boolean;
|
222
|
+
subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription;
|
223
|
+
unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean;
|
224
|
+
close: () => void;
|
225
|
+
isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean;
|
226
|
+
createView: <T_6 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_6>;
|
227
|
+
contains: (key: import("@loopback/core").BindingAddress) => boolean;
|
228
|
+
isBound: (key: import("@loopback/core").BindingAddress) => boolean;
|
229
|
+
getOwnerContext: (keyOrBinding: import("@loopback/core").BindingAddress | Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
|
230
|
+
getScopedContext: (scope: BindingScope.APPLICATION | BindingScope.SERVER | BindingScope.REQUEST) => import("@loopback/core").Context | undefined;
|
231
|
+
getResolutionContext: (binding: Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
|
232
|
+
isVisibleTo: (ctx: import("@loopback/core").Context) => boolean;
|
233
|
+
find: <ValueType_1 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
234
|
+
findByTag: <ValueType_2 = any>(tagFilter: RegExp | import("@loopback/core").BindingTag) => Readonly<Binding<ValueType_2>>[];
|
235
|
+
get: {
|
236
|
+
<ValueType_3>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3>;
|
237
|
+
<ValueType_4>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4 | undefined>;
|
238
|
+
};
|
239
|
+
getSync: {
|
240
|
+
<ValueType_5>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5;
|
241
|
+
<ValueType_6>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6 | undefined;
|
242
|
+
};
|
243
|
+
getBinding: {
|
244
|
+
<ValueType_7 = any>(key: import("@loopback/core").BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
245
|
+
<ValueType_8>(key: import("@loopback/core").BindingAddress<ValueType_8>, options?: {
|
246
|
+
optional?: boolean | undefined;
|
247
|
+
} | undefined): Binding<ValueType_8> | undefined;
|
248
|
+
};
|
249
|
+
findOrCreateBinding: <T_7>(key: import("@loopback/core").BindingAddress<T_7>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_7>;
|
250
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionOptionsOrSession | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>;
|
251
|
+
toJSON: () => import("@loopback/core").JSONObject;
|
252
|
+
inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject;
|
253
|
+
on: {
|
254
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
255
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
256
|
+
};
|
257
|
+
once: {
|
258
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application;
|
259
|
+
(event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application;
|
260
|
+
};
|
261
|
+
[EventEmitter.captureRejectionSymbol]?: (<K>(error: Error, event: string | symbol, ...args: any[]) => void) | undefined;
|
262
|
+
addListener: <K_1>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
263
|
+
removeListener: <K_2>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
264
|
+
off: <K_3>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
265
|
+
removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application;
|
266
|
+
setMaxListeners: (n: number) => import("@loopback/core").Application;
|
267
|
+
getMaxListeners: () => number;
|
268
|
+
listeners: <K_4>(eventName: string | symbol) => Function[];
|
269
|
+
rawListeners: <K_5>(eventName: string | symbol) => Function[];
|
270
|
+
emit: <K_6>(eventName: string | symbol, ...args: any[]) => boolean;
|
271
|
+
listenerCount: <K_7>(eventName: string | symbol, listener?: Function | undefined) => number;
|
272
|
+
prependListener: <K_8>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
273
|
+
prependOnceListener: <K_9>(eventName: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application;
|
274
|
+
eventNames: () => (string | symbol)[];
|
275
|
+
}) & typeof RestApplication;
|
276
|
+
export declare abstract class BaseApplication extends BaseApplication_base implements IApplication {
|
277
|
+
protected logger: ApplicationLogger;
|
278
|
+
models: Set<string>;
|
279
|
+
constructor(opts: {
|
280
|
+
serverOptions: ApplicationConfig;
|
281
|
+
sequence?: Constructor<SequenceHandler>;
|
282
|
+
});
|
283
|
+
abstract staticConfigure(): void;
|
284
|
+
abstract getProjectRoot(): string;
|
285
|
+
abstract validateEnv(): IEnvironmentValidationResult;
|
286
|
+
abstract declareModels(): Set<string>;
|
287
|
+
abstract preConfigure(): void;
|
288
|
+
abstract postConfigure(): void;
|
289
|
+
getServerHost(): string;
|
290
|
+
getServerPort(): number;
|
291
|
+
getServerAddress(): string;
|
292
|
+
getMigrateModels(opts: {
|
293
|
+
ignoreModels?: string[];
|
294
|
+
migrateModels?: string[];
|
295
|
+
}): Promise<unknown[]>;
|
296
|
+
classifyModelsByDs(opts: {
|
297
|
+
reps: Array<Repository<BaseEntity>>;
|
298
|
+
}): Record<string, string[]>;
|
299
|
+
migrateModels(opts: {
|
300
|
+
existingSchema: string;
|
301
|
+
ignoreModels?: string[];
|
302
|
+
migrateModels?: string[];
|
303
|
+
}): Promise<void>;
|
304
|
+
grpcController<T>(ctor: ControllerClass<T>, nameOrOptions?: string | BindingFromClassOptions): Binding<T>;
|
305
|
+
}
|
306
|
+
export {};
|
@@ -0,0 +1,147 @@
|
|
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.BaseApplication = void 0;
|
16
|
+
const common_1 = require("../../common");
|
17
|
+
const components_1 = require("../../components");
|
18
|
+
const common_2 = require("../../components/authenticate/common");
|
19
|
+
const helpers_1 = require("../../helpers");
|
20
|
+
const middlewares_1 = require("../../middlewares");
|
21
|
+
const utilities_1 = require("../../utilities");
|
22
|
+
const boot_1 = require("@loopback/boot");
|
23
|
+
const core_1 = require("@loopback/core");
|
24
|
+
const repository_1 = require("@loopback/repository");
|
25
|
+
const rest_1 = require("@loopback/rest");
|
26
|
+
const rest_crud_1 = require("@loopback/rest-crud");
|
27
|
+
const service_proxy_1 = require("@loopback/service-proxy");
|
28
|
+
const base_sequence_1 = require("../base.sequence");
|
29
|
+
const get_1 = __importDefault(require("lodash/get"));
|
30
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
31
|
+
class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceMixin)((0, repository_1.RepositoryMixin)(rest_1.RestApplication))) {
|
32
|
+
constructor(opts) {
|
33
|
+
var _a, _b;
|
34
|
+
const { serverOptions, sequence } = opts;
|
35
|
+
super(serverOptions);
|
36
|
+
this.logger = helpers_1.LoggerFactory.getLogger(['Application']);
|
37
|
+
this.bind(common_2.AuthenticateKeys.ALWAYS_ALLOW_PATHS).to([]);
|
38
|
+
this.bind(common_1.BindingKeys.APPLICATION_MIDDLEWARE_OPTIONS).to(rest_1.MiddlewareSequence.defaultOptions);
|
39
|
+
this.sequence(sequence !== null && sequence !== void 0 ? sequence : base_sequence_1.BaseApplicationSequence);
|
40
|
+
this.staticConfigure();
|
41
|
+
this.projectRoot = this.getProjectRoot();
|
42
|
+
this.component(rest_crud_1.CrudRestComponent);
|
43
|
+
const applicationEnv = (_a = process.env.NODE_ENV) !== null && _a !== void 0 ? _a : 'unknown';
|
44
|
+
this.logger.info('[Application] Starting application with ENV "%s"...', applicationEnv);
|
45
|
+
// Validate whole application environment args.
|
46
|
+
this.logger.info('[Application] Validating application environments...');
|
47
|
+
const envValidation = this.validateEnv();
|
48
|
+
if (!envValidation.result) {
|
49
|
+
throw new Error((_b = envValidation === null || envValidation === void 0 ? void 0 : envValidation.message) !== null && _b !== void 0 ? _b : 'Invalid application environment!');
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
this.logger.info('[Application] All application environments are valid...');
|
53
|
+
}
|
54
|
+
this.logger.info('[Application] Declare application models...');
|
55
|
+
this.models = new Set([]);
|
56
|
+
this.models = this.declareModels();
|
57
|
+
// Middlewares
|
58
|
+
this.middleware(middlewares_1.RequestBodyParserMiddleware);
|
59
|
+
this.middleware(middlewares_1.RequestSpyMiddleware);
|
60
|
+
// Do configure while modules for application.
|
61
|
+
this.logger.info('[Application] Executing Pre-Configure...');
|
62
|
+
this.preConfigure();
|
63
|
+
this.logger.info('[Application] Executing Post-Configure...');
|
64
|
+
this.postConfigure();
|
65
|
+
}
|
66
|
+
getServerHost() {
|
67
|
+
return helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_SERVER_HOST);
|
68
|
+
}
|
69
|
+
getServerPort() {
|
70
|
+
return (0, utilities_1.int)(helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_SERVER_PORT));
|
71
|
+
}
|
72
|
+
getServerAddress() {
|
73
|
+
return `${this.getServerHost()}:${this.getServerPort()}`;
|
74
|
+
}
|
75
|
+
getMigrateModels(opts) {
|
76
|
+
const { ignoreModels, migrateModels } = opts;
|
77
|
+
const repoBindings = this.findByTag(repository_1.RepositoryTags.REPOSITORY);
|
78
|
+
const valids = repoBindings.filter(b => {
|
79
|
+
const key = b.key;
|
80
|
+
const modelName = key.slice(key.indexOf('.') + 1, key.indexOf('Repository'));
|
81
|
+
if (ignoreModels === null || ignoreModels === void 0 ? void 0 : ignoreModels.includes(modelName)) {
|
82
|
+
return false;
|
83
|
+
}
|
84
|
+
if (migrateModels && !migrateModels.includes(modelName)) {
|
85
|
+
return false;
|
86
|
+
}
|
87
|
+
return true;
|
88
|
+
});
|
89
|
+
// Load models
|
90
|
+
return Promise.all(valids.map(b => this.get(b.key)));
|
91
|
+
}
|
92
|
+
classifyModelsByDs(opts) {
|
93
|
+
const { reps } = opts;
|
94
|
+
const modelByDs = {};
|
95
|
+
for (const rep of reps) {
|
96
|
+
const dsName = (0, get_1.default)(rep, 'dataSource.name');
|
97
|
+
if (!dsName || (0, isEmpty_1.default)(dsName)) {
|
98
|
+
continue;
|
99
|
+
}
|
100
|
+
const dsKey = `datasources.${dsName}`;
|
101
|
+
if (!(modelByDs === null || modelByDs === void 0 ? void 0 : modelByDs[dsKey])) {
|
102
|
+
modelByDs[dsKey] = [];
|
103
|
+
}
|
104
|
+
const modelName = (0, get_1.default)(rep, 'entityClass.definition.name', '');
|
105
|
+
if ((0, isEmpty_1.default)(modelName)) {
|
106
|
+
continue;
|
107
|
+
}
|
108
|
+
modelByDs[dsKey].push(modelName);
|
109
|
+
}
|
110
|
+
return modelByDs;
|
111
|
+
}
|
112
|
+
migrateModels(opts) {
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
114
|
+
var _a, _b;
|
115
|
+
const { existingSchema, ignoreModels = [], migrateModels } = opts;
|
116
|
+
this.logger.info('[migrateModels] Loading legacy migratable models...!');
|
117
|
+
const reps = (yield this.getMigrateModels({
|
118
|
+
ignoreModels,
|
119
|
+
migrateModels,
|
120
|
+
}));
|
121
|
+
const classified = this.classifyModelsByDs({ reps });
|
122
|
+
const operation = existingSchema === 'drop' ? 'automigrate' : 'autoupdate';
|
123
|
+
const dsBindings = this.findByTag(repository_1.RepositoryTags.DATASOURCE);
|
124
|
+
for (const b of dsBindings) {
|
125
|
+
const t = new Date().getTime();
|
126
|
+
this.logger.info('[migrateModels] START | Migrating datasource %s', b.key);
|
127
|
+
const ds = yield this.get(b.key);
|
128
|
+
if (!ds) {
|
129
|
+
this.logger.error('[migrateModels] Invalid datasource with key %s', b.key);
|
130
|
+
continue;
|
131
|
+
}
|
132
|
+
const isDisableMigration = (_b = (_a = ds.settings) === null || _a === void 0 ? void 0 : _a.disableMigration) !== null && _b !== void 0 ? _b : false;
|
133
|
+
if (!(operation in ds) || isDisableMigration) {
|
134
|
+
this.logger.info('[migrateModels] Skip migrating datasource %s', b.key);
|
135
|
+
continue;
|
136
|
+
}
|
137
|
+
yield ds[operation](classified === null || classified === void 0 ? void 0 : classified[b.key]);
|
138
|
+
this.logger.info('[migrateModels] DONE | Migrating datasource %s | Took: %d(ms)', b.key, new Date().getTime() - t);
|
139
|
+
}
|
140
|
+
});
|
141
|
+
}
|
142
|
+
grpcController(ctor, nameOrOptions) {
|
143
|
+
return this.controller(ctor, nameOrOptions).tag(components_1.GrpcTags.CONTROLLERS).inScope(core_1.BindingScope.SINGLETON);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
exports.BaseApplication = BaseApplication;
|
147
|
+
//# sourceMappingURL=base.application.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"base.application.js","sourceRoot":"","sources":["../../../src/base/applications/base.application.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { IEnvironmentValidationResult } from '../../common';
|
2
|
+
import { ApplicationConfig, Constructor } from '@loopback/core';
|
3
|
+
import { SequenceHandler } from '@loopback/rest';
|
4
|
+
import { BaseApplication } from './base.application';
|
5
|
+
export declare abstract class DefaultRestApplication extends BaseApplication {
|
6
|
+
protected applicationRoles: string[];
|
7
|
+
constructor(opts: {
|
8
|
+
serverOptions: ApplicationConfig;
|
9
|
+
sequence?: Constructor<SequenceHandler>;
|
10
|
+
});
|
11
|
+
getApplicationRoles(): string[];
|
12
|
+
validateEnv(): IEnvironmentValidationResult;
|
13
|
+
declareModels(): Set<string>;
|
14
|
+
configureMigration(): void;
|
15
|
+
preConfigure(): void;
|
16
|
+
abstract staticConfigure(): void;
|
17
|
+
abstract getProjectRoot(): string;
|
18
|
+
abstract postConfigure(): void;
|
19
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.DefaultRestApplication = void 0;
|
7
|
+
const common_1 = require("../../common");
|
8
|
+
const components_1 = require("../../components");
|
9
|
+
const common_2 = require("../../components/migration/common");
|
10
|
+
const datasources_1 = require("../../datasources");
|
11
|
+
const helpers_1 = require("../../helpers");
|
12
|
+
const content_range_interceptor_1 = require("../../interceptors/content-range.interceptor");
|
13
|
+
const utilities_1 = require("../../utilities");
|
14
|
+
const rest_1 = require("@loopback/rest");
|
15
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
16
|
+
const base_application_1 = require("./base.application");
|
17
|
+
class DefaultRestApplication extends base_application_1.BaseApplication {
|
18
|
+
constructor(opts) {
|
19
|
+
super(opts);
|
20
|
+
this.applicationRoles = [];
|
21
|
+
}
|
22
|
+
getApplicationRoles() {
|
23
|
+
var _a;
|
24
|
+
const roleConf = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_APPLICATION_ROLES);
|
25
|
+
return (_a = roleConf === null || roleConf === void 0 ? void 0 : roleConf.split(',')) === null || _a === void 0 ? void 0 : _a.map((el) => el.trim());
|
26
|
+
}
|
27
|
+
validateEnv() {
|
28
|
+
const rs = { result: true, message: '' };
|
29
|
+
const envKeys = helpers_1.applicationEnvironment.keys();
|
30
|
+
for (const argKey of envKeys) {
|
31
|
+
const argValue = helpers_1.applicationEnvironment.get(argKey);
|
32
|
+
if ((0, utilities_1.toBoolean)(process.env.ALLOW_EMPTY_ENV_VALUE) || !(0, isEmpty_1.default)(argValue)) {
|
33
|
+
continue;
|
34
|
+
}
|
35
|
+
rs.result = false;
|
36
|
+
rs.message = `Invalid Application Environment! Key: ${argKey} | Value: ${argValue}`;
|
37
|
+
}
|
38
|
+
return rs;
|
39
|
+
}
|
40
|
+
declareModels() {
|
41
|
+
return this.models;
|
42
|
+
}
|
43
|
+
configureMigration() {
|
44
|
+
this.bind(common_2.MigrationKeys.MIGRATION_DATASOURCE).toInjectable(datasources_1.PostgresDataSource);
|
45
|
+
this.component(components_1.MigrationComponent);
|
46
|
+
}
|
47
|
+
preConfigure() {
|
48
|
+
this.bind(common_1.BindingKeys.APPLICATION_ENVIRONMENTS).to(helpers_1.applicationEnvironment);
|
49
|
+
this.applicationRoles = this.getApplicationRoles();
|
50
|
+
this.logger.info('[preConfigure] ApplicationRoles: %s', this.applicationRoles);
|
51
|
+
// Error Handler
|
52
|
+
this.bind(rest_1.RestBindings.ERROR_WRITER_OPTIONS).to({
|
53
|
+
safeFields: ['statusCode', 'name', 'message', 'messageCode'],
|
54
|
+
});
|
55
|
+
// Configuring datasources
|
56
|
+
this.dataSource(datasources_1.PostgresDataSource);
|
57
|
+
this.dataSource(datasources_1.KvMemDataSource);
|
58
|
+
// Migration
|
59
|
+
this.configureMigration();
|
60
|
+
// Interceptors
|
61
|
+
this.interceptor(content_range_interceptor_1.ContentRangeInterceptor, { global: true });
|
62
|
+
// controllers
|
63
|
+
this.bootOptions = {
|
64
|
+
controllers: {
|
65
|
+
dirs: ['controllers'],
|
66
|
+
extensions: ['.controller.js'],
|
67
|
+
nested: true,
|
68
|
+
},
|
69
|
+
repositories: {
|
70
|
+
dirs: ['repositories'],
|
71
|
+
extensions: ['.repository.js'],
|
72
|
+
nested: true,
|
73
|
+
},
|
74
|
+
};
|
75
|
+
}
|
76
|
+
}
|
77
|
+
exports.DefaultRestApplication = DefaultRestApplication;
|
78
|
+
//# sourceMappingURL=default.application.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"default.application.js","sourceRoot":"","sources":["../../../src/base/applications/default.application.ts"],"names":[],"mappings":"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"}
|