@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 @@
|
|
1
|
+
{"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/base.repository.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
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("./base.repository"), exports);
|
18
|
+
__exportStar(require("./tz-crud.repository"), exports);
|
19
|
+
__exportStar(require("./searchable-tz-crud.repository"), exports);
|
20
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,kEAAgD"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { AnyType, EntityClassType, EntityRelationType, IdType, TRelationType } from '../../common/types';
|
2
|
+
import { DataObject, Getter, Inclusion, juggler, Options, Where } from '@loopback/repository';
|
3
|
+
import { BaseObjectSearchTzEntity, BaseSearchableTzEntity, BaseTextSearchTzEntity, BaseTzEntity } from '../base.model';
|
4
|
+
import { TzCrudRepository } from './tz-crud.repository';
|
5
|
+
export declare abstract class SearchableTzCrudRepository<E extends BaseTextSearchTzEntity | BaseObjectSearchTzEntity | BaseSearchableTzEntity, R extends EntityRelationType = AnyType> extends TzCrudRepository<E, R> {
|
6
|
+
protected readonly searchableInclusions: Inclusion[];
|
7
|
+
protected readonly isInclusionRelations: boolean;
|
8
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource, opts: {
|
9
|
+
isInclusionRelations: boolean;
|
10
|
+
searchableInclusions?: Inclusion[];
|
11
|
+
}, scope?: string);
|
12
|
+
abstract renderTextSearch(opts: {
|
13
|
+
data?: DataObject<E>;
|
14
|
+
entity: E & R;
|
15
|
+
}): string;
|
16
|
+
abstract renderObjectSearch(opts: {
|
17
|
+
data?: DataObject<E>;
|
18
|
+
entity: E & R;
|
19
|
+
}): object;
|
20
|
+
abstract onInclusionChanged<RM extends BaseTzEntity>(opts: {
|
21
|
+
relation: string;
|
22
|
+
relationRepository: TzCrudRepository<RM>;
|
23
|
+
entities: RM[];
|
24
|
+
options?: Options;
|
25
|
+
}): Promise<void>;
|
26
|
+
protected registerOnInclusionChanged<RM extends BaseTzEntity>(relation: string, relationRepositoryGetter: Getter<TzCrudRepository<RM>>): Promise<void>;
|
27
|
+
protected handleInclusionChanged<RM extends BaseTzEntity>(opts: {
|
28
|
+
relationName: string;
|
29
|
+
relationType: TRelationType;
|
30
|
+
entities: RM[];
|
31
|
+
relationRepository: TzCrudRepository<RM>;
|
32
|
+
options?: Options;
|
33
|
+
}): Promise<void>;
|
34
|
+
private renderSearchable;
|
35
|
+
mixSearchFields(data: DataObject<E>, options?: Options & {
|
36
|
+
where?: Where;
|
37
|
+
}): Promise<DataObject<E>>;
|
38
|
+
create(data: DataObject<E>, options?: Options): Promise<E>;
|
39
|
+
createAll(data: DataObject<E>[], options?: Options): Promise<E[]>;
|
40
|
+
updateById(id: IdType, data: DataObject<E>, options?: Options): Promise<void>;
|
41
|
+
replaceById(id: IdType, data: DataObject<E>, options?: Options): Promise<void>;
|
42
|
+
}
|
@@ -0,0 +1,241 @@
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
18
|
+
});
|
19
|
+
};
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
22
|
+
};
|
23
|
+
var SearchableTzCrudRepository_1;
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
25
|
+
exports.SearchableTzCrudRepository = void 0;
|
26
|
+
const core_1 = require("@loopback/core");
|
27
|
+
const repository_1 = require("@loopback/repository");
|
28
|
+
const tz_crud_repository_1 = require("./tz-crud.repository");
|
29
|
+
const get_1 = __importDefault(require("lodash/get"));
|
30
|
+
const set_1 = __importDefault(require("lodash/set"));
|
31
|
+
let SearchableTzCrudRepository = SearchableTzCrudRepository_1 = class SearchableTzCrudRepository extends tz_crud_repository_1.TzCrudRepository {
|
32
|
+
constructor(entityClass, dataSource, opts, scope) {
|
33
|
+
var _a;
|
34
|
+
super(entityClass, dataSource, scope !== null && scope !== void 0 ? scope : SearchableTzCrudRepository_1.name);
|
35
|
+
this.isInclusionRelations = opts.isInclusionRelations;
|
36
|
+
this.searchableInclusions = (_a = opts.searchableInclusions) !== null && _a !== void 0 ? _a : [];
|
37
|
+
}
|
38
|
+
// ----------------------------------------------------------------------------------------------------
|
39
|
+
registerOnInclusionChanged(relation, relationRepositoryGetter) {
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
41
|
+
const relationRepository = yield relationRepositoryGetter();
|
42
|
+
relationRepository.modelClass.observe('after save', (context) => __awaiter(this, void 0, void 0, function* () {
|
43
|
+
const { isNewInstance, where, instance, options } = context;
|
44
|
+
let entities = [];
|
45
|
+
if (isNewInstance) {
|
46
|
+
entities.push(instance);
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
entities = yield relationRepository.find({ where }, options);
|
50
|
+
}
|
51
|
+
yield this.onInclusionChanged({ relation, relationRepository, entities, options });
|
52
|
+
}));
|
53
|
+
relationRepository.modelClass.observe('after deleteWithReturn', (context) => __awaiter(this, void 0, void 0, function* () {
|
54
|
+
const { data } = context;
|
55
|
+
yield this.onInclusionChanged({
|
56
|
+
relation,
|
57
|
+
relationRepository,
|
58
|
+
entities: data,
|
59
|
+
});
|
60
|
+
}));
|
61
|
+
});
|
62
|
+
}
|
63
|
+
// ----------------------------------------------------------------------------------------------------
|
64
|
+
handleInclusionChanged(opts) {
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
66
|
+
var _a;
|
67
|
+
const { relationName, relationType, entities, relationRepository, options } = opts;
|
68
|
+
const resolved = yield ((_a = relationRepository.inclusionResolvers.get(relationName)) === null || _a === void 0 ? void 0 : _a(entities, {
|
69
|
+
relation: relationName,
|
70
|
+
scope: {
|
71
|
+
include: this.searchableInclusions,
|
72
|
+
},
|
73
|
+
}, options));
|
74
|
+
const promises = [];
|
75
|
+
switch (relationType) {
|
76
|
+
case 'belongsTo': {
|
77
|
+
const rs = resolved;
|
78
|
+
if (!(rs === null || rs === void 0 ? void 0 : rs.length)) {
|
79
|
+
break;
|
80
|
+
}
|
81
|
+
for (const r1 of rs) {
|
82
|
+
if (!r1) {
|
83
|
+
continue;
|
84
|
+
}
|
85
|
+
promises.push(this.updateById(r1.id,
|
86
|
+
// TODO: handle type
|
87
|
+
{
|
88
|
+
objectSearch: this.renderObjectSearch({ entity: r1 }),
|
89
|
+
}, { ignoreMixSearchFields: true, options }));
|
90
|
+
}
|
91
|
+
break;
|
92
|
+
}
|
93
|
+
case 'hasOne': {
|
94
|
+
break;
|
95
|
+
}
|
96
|
+
case 'hasMany':
|
97
|
+
case 'hasManyThrough': {
|
98
|
+
const rs = resolved;
|
99
|
+
if (!(rs === null || rs === void 0 ? void 0 : rs.length)) {
|
100
|
+
break;
|
101
|
+
}
|
102
|
+
for (const r1 of rs) {
|
103
|
+
if (!(r1 === null || r1 === void 0 ? void 0 : r1.length)) {
|
104
|
+
break;
|
105
|
+
}
|
106
|
+
for (const r2 of r1) {
|
107
|
+
if (!rs) {
|
108
|
+
continue;
|
109
|
+
}
|
110
|
+
promises.push(this.updateById(r2.id,
|
111
|
+
// TODO: handle type
|
112
|
+
{
|
113
|
+
objectSearch: this.renderObjectSearch({ entity: r2 }),
|
114
|
+
}, { ignoreMixSearchFields: true, options }));
|
115
|
+
}
|
116
|
+
}
|
117
|
+
break;
|
118
|
+
}
|
119
|
+
default: {
|
120
|
+
break;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
yield Promise.all(promises);
|
124
|
+
});
|
125
|
+
}
|
126
|
+
// ----------------------------------------------------------------------------------------------------
|
127
|
+
renderSearchable(field, data, options) {
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
129
|
+
const where = (0, get_1.default)(options, 'where');
|
130
|
+
const isSearchable = (0, get_1.default)(this.modelClass.definition.properties, field, null) !== null;
|
131
|
+
if (!isSearchable) {
|
132
|
+
return null;
|
133
|
+
}
|
134
|
+
let resolved = [data];
|
135
|
+
if (this.isInclusionRelations && this.searchableInclusions.length) {
|
136
|
+
resolved = yield this.includeRelatedModels([data], this.searchableInclusions, options);
|
137
|
+
}
|
138
|
+
switch (field) {
|
139
|
+
case 'textSearch': {
|
140
|
+
return this.renderTextSearch({ data, entity: resolved === null || resolved === void 0 ? void 0 : resolved[0] });
|
141
|
+
}
|
142
|
+
case 'objectSearch': {
|
143
|
+
let currentObjectSearch = {};
|
144
|
+
if (where) {
|
145
|
+
const found = yield this.findOne({
|
146
|
+
where,
|
147
|
+
include: this.searchableInclusions,
|
148
|
+
});
|
149
|
+
if (found) {
|
150
|
+
currentObjectSearch = this.renderObjectSearch({
|
151
|
+
data,
|
152
|
+
entity: found,
|
153
|
+
});
|
154
|
+
}
|
155
|
+
}
|
156
|
+
const newObjectSearch = this.renderObjectSearch({
|
157
|
+
data,
|
158
|
+
entity: resolved === null || resolved === void 0 ? void 0 : resolved[0],
|
159
|
+
});
|
160
|
+
return Object.assign(Object.assign({}, currentObjectSearch), newObjectSearch);
|
161
|
+
}
|
162
|
+
default: {
|
163
|
+
return null;
|
164
|
+
}
|
165
|
+
}
|
166
|
+
});
|
167
|
+
}
|
168
|
+
// ----------------------------------------------------------------------------------------------------
|
169
|
+
mixSearchFields(data, options) {
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
171
|
+
return new Promise((resolve, reject) => {
|
172
|
+
const ignoreMixSearchFields = (0, get_1.default)(options, 'ignoreMixSearchFields');
|
173
|
+
if (ignoreMixSearchFields) {
|
174
|
+
return resolve(data);
|
175
|
+
}
|
176
|
+
Promise.all([
|
177
|
+
this.renderSearchable('textSearch', data, options),
|
178
|
+
this.renderSearchable('objectSearch', data, options),
|
179
|
+
])
|
180
|
+
.then(([ts, os]) => {
|
181
|
+
if (ts) {
|
182
|
+
(0, set_1.default)(data, 'textSearch', ts);
|
183
|
+
}
|
184
|
+
if (os) {
|
185
|
+
(0, set_1.default)(data, 'objectSearch', os);
|
186
|
+
}
|
187
|
+
resolve(data);
|
188
|
+
})
|
189
|
+
.catch(reject);
|
190
|
+
});
|
191
|
+
});
|
192
|
+
}
|
193
|
+
// ----------------------------------------------------------------------------------------------------
|
194
|
+
create(data, options) {
|
195
|
+
return new Promise((resolve, reject) => {
|
196
|
+
this.mixSearchFields(data, options)
|
197
|
+
.then(enriched => {
|
198
|
+
resolve(super.create(enriched, options));
|
199
|
+
})
|
200
|
+
.catch(reject);
|
201
|
+
});
|
202
|
+
}
|
203
|
+
// ----------------------------------------------------------------------------------------------------
|
204
|
+
createAll(data, options) {
|
205
|
+
return new Promise((resolve, reject) => {
|
206
|
+
Promise.all(data.map(el => {
|
207
|
+
return this.mixSearchFields(el, options);
|
208
|
+
}))
|
209
|
+
.then(enriched => {
|
210
|
+
resolve(super.createAll(enriched, options));
|
211
|
+
})
|
212
|
+
.catch(reject);
|
213
|
+
});
|
214
|
+
}
|
215
|
+
// ----------------------------------------------------------------------------------------------------
|
216
|
+
updateById(id, data, options) {
|
217
|
+
return new Promise((resolve, reject) => {
|
218
|
+
this.mixSearchFields(data, Object.assign(Object.assign({}, options), { where: { id } }))
|
219
|
+
.then(enriched => {
|
220
|
+
resolve(super.updateById(id, enriched, options));
|
221
|
+
})
|
222
|
+
.catch(reject);
|
223
|
+
});
|
224
|
+
}
|
225
|
+
// ----------------------------------------------------------------------------------------------------
|
226
|
+
replaceById(id, data, options) {
|
227
|
+
return new Promise((resolve, reject) => {
|
228
|
+
this.mixSearchFields(data, options)
|
229
|
+
.then(enriched => {
|
230
|
+
resolve(super.replaceById(id, enriched, options));
|
231
|
+
})
|
232
|
+
.catch(reject);
|
233
|
+
});
|
234
|
+
}
|
235
|
+
};
|
236
|
+
exports.SearchableTzCrudRepository = SearchableTzCrudRepository;
|
237
|
+
exports.SearchableTzCrudRepository = SearchableTzCrudRepository = SearchableTzCrudRepository_1 = __decorate([
|
238
|
+
(0, core_1.injectable)({ scope: core_1.BindingScope.SINGLETON }),
|
239
|
+
__metadata("design:paramtypes", [Object, repository_1.juggler.DataSource, Object, String])
|
240
|
+
], SearchableTzCrudRepository);
|
241
|
+
//# sourceMappingURL=searchable-tz-crud.repository.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"searchable-tz-crud.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/searchable-tz-crud.repository.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { AnyType, EntityClassType, EntityRelationType, IdType } from '../../common/types';
|
2
|
+
import { Count, DataObject, juggler, Options, Where } from '@loopback/repository';
|
3
|
+
import { BaseTzEntity } from '../base.model';
|
4
|
+
import { AbstractTzRepository } from './base.repository';
|
5
|
+
export declare abstract class TzCrudRepository<E extends BaseTzEntity, R extends EntityRelationType = AnyType> extends AbstractTzRepository<E, R> {
|
6
|
+
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource, scope?: string);
|
7
|
+
existsWith(where?: Where<E>, options?: Options): Promise<boolean>;
|
8
|
+
create(data: DataObject<E>, options?: Options & {
|
9
|
+
authorId?: IdType;
|
10
|
+
ignoreModified?: boolean;
|
11
|
+
}): Promise<E>;
|
12
|
+
createAll(datum: DataObject<E>[], options?: Options & {
|
13
|
+
authorId?: IdType;
|
14
|
+
ignoreModified?: boolean;
|
15
|
+
}): Promise<E[]>;
|
16
|
+
createWithReturn(data: DataObject<E>, options?: Options & {
|
17
|
+
authorId?: IdType;
|
18
|
+
ignoreModified?: boolean;
|
19
|
+
}): Promise<E>;
|
20
|
+
updateById(id: IdType, data: DataObject<E>, options?: Options & {
|
21
|
+
authorId?: IdType;
|
22
|
+
ignoreModified?: boolean;
|
23
|
+
}): Promise<void>;
|
24
|
+
updateWithReturn(id: IdType, data: DataObject<E>, options?: Options & {
|
25
|
+
authorId?: IdType;
|
26
|
+
ignoreModified?: boolean;
|
27
|
+
}): Promise<E>;
|
28
|
+
updateAll(data: DataObject<E>, where?: Where<E>, options?: Options & {
|
29
|
+
authorId?: IdType;
|
30
|
+
ignoreModified?: boolean;
|
31
|
+
}): Promise<Count>;
|
32
|
+
upsertWith(data: DataObject<E>, where: Where<E>, options?: Options & {
|
33
|
+
authorId?: IdType;
|
34
|
+
ignoreModified?: boolean;
|
35
|
+
}): Promise<E | null>;
|
36
|
+
replaceById(id: IdType, data: DataObject<E>, options?: Options & {
|
37
|
+
authorId?: IdType;
|
38
|
+
ignoreModified?: boolean;
|
39
|
+
}): Promise<void>;
|
40
|
+
private _softDelete;
|
41
|
+
softDelete(where: Where<E>, options?: Options & {
|
42
|
+
databaseSchema?: string;
|
43
|
+
connectorType?: string;
|
44
|
+
softDeleteField?: string;
|
45
|
+
authorId?: IdType;
|
46
|
+
ignoreModified?: boolean;
|
47
|
+
}): Promise<unknown>;
|
48
|
+
mixTimestamp(entity: DataObject<E>, options?: Options & {
|
49
|
+
newInstance?: boolean;
|
50
|
+
ignoreModified?: boolean;
|
51
|
+
}): DataObject<E>;
|
52
|
+
mixUserAudit(entity: DataObject<E>, options?: {
|
53
|
+
newInstance: boolean;
|
54
|
+
authorId?: IdType;
|
55
|
+
} | undefined): DataObject<E>;
|
56
|
+
_deleteWithReturn(where: Where<E>, options?: Options): Promise<{
|
57
|
+
count: Count;
|
58
|
+
data: (E & R)[];
|
59
|
+
}>;
|
60
|
+
deleteWithReturn(where: Where<E>, options?: Options): Promise<{
|
61
|
+
count: Count;
|
62
|
+
data: (E & R)[];
|
63
|
+
}>;
|
64
|
+
}
|
@@ -0,0 +1,244 @@
|
|
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.TzCrudRepository = void 0;
|
16
|
+
const helpers_1 = require("../../helpers");
|
17
|
+
const utilities_1 = require("../../utilities");
|
18
|
+
const base_repository_1 = require("./base.repository");
|
19
|
+
const get_1 = __importDefault(require("lodash/get"));
|
20
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
21
|
+
class TzCrudRepository extends base_repository_1.AbstractTzRepository {
|
22
|
+
constructor(entityClass, dataSource, scope) {
|
23
|
+
super(entityClass, dataSource, scope);
|
24
|
+
}
|
25
|
+
existsWith(where, options) {
|
26
|
+
return new Promise((resolve, reject) => {
|
27
|
+
this.findOne({ where }, options)
|
28
|
+
.then(rs => {
|
29
|
+
resolve(rs !== null && rs !== undefined);
|
30
|
+
})
|
31
|
+
.catch(reject);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
create(data, options) {
|
35
|
+
var _a;
|
36
|
+
let enriched = this.mixTimestamp(data, {
|
37
|
+
newInstance: true,
|
38
|
+
ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
|
39
|
+
});
|
40
|
+
enriched = this.mixUserAudit(enriched, {
|
41
|
+
newInstance: true,
|
42
|
+
authorId: options === null || options === void 0 ? void 0 : options.authorId,
|
43
|
+
});
|
44
|
+
return super.create(enriched, options);
|
45
|
+
}
|
46
|
+
createAll(datum, options) {
|
47
|
+
const enriched = datum.map(data => {
|
48
|
+
var _a;
|
49
|
+
const tmp = this.mixTimestamp(data, {
|
50
|
+
newInstance: true,
|
51
|
+
ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
|
52
|
+
});
|
53
|
+
return this.mixUserAudit(tmp, {
|
54
|
+
newInstance: true,
|
55
|
+
authorId: options === null || options === void 0 ? void 0 : options.authorId,
|
56
|
+
});
|
57
|
+
});
|
58
|
+
return super.createAll(enriched, options);
|
59
|
+
}
|
60
|
+
/*
|
61
|
+
* @deprecated | Redundant | Please .create
|
62
|
+
*/
|
63
|
+
createWithReturn(data, options) {
|
64
|
+
return this.create(data, options);
|
65
|
+
}
|
66
|
+
updateById(id, data, options) {
|
67
|
+
var _a;
|
68
|
+
let enriched = this.mixTimestamp(data, {
|
69
|
+
newInstance: false,
|
70
|
+
ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
|
71
|
+
});
|
72
|
+
enriched = this.mixUserAudit(enriched, {
|
73
|
+
newInstance: false,
|
74
|
+
authorId: options === null || options === void 0 ? void 0 : options.authorId,
|
75
|
+
});
|
76
|
+
return super.updateById(id, enriched, options);
|
77
|
+
}
|
78
|
+
updateWithReturn(id, data, options) {
|
79
|
+
return new Promise((resolve, reject) => {
|
80
|
+
this.updateById(id, data, options)
|
81
|
+
.then(() => {
|
82
|
+
this.findById(id, undefined, options)
|
83
|
+
.then(rs => {
|
84
|
+
resolve(rs);
|
85
|
+
})
|
86
|
+
.catch(reject);
|
87
|
+
})
|
88
|
+
.catch(reject);
|
89
|
+
});
|
90
|
+
}
|
91
|
+
updateAll(data, where, options) {
|
92
|
+
var _a;
|
93
|
+
let enriched = this.mixTimestamp(data, {
|
94
|
+
newInstance: false,
|
95
|
+
ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
|
96
|
+
});
|
97
|
+
enriched = this.mixUserAudit(enriched, {
|
98
|
+
newInstance: false,
|
99
|
+
authorId: options === null || options === void 0 ? void 0 : options.authorId,
|
100
|
+
});
|
101
|
+
return super.updateAll(enriched, where, options);
|
102
|
+
}
|
103
|
+
upsertWith(data, where, options) {
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
105
|
+
const isExisted = yield this.existsWith(where, options);
|
106
|
+
if (isExisted) {
|
107
|
+
yield this.updateAll(data, where, options);
|
108
|
+
const rs = yield this.findOne({ where }, options);
|
109
|
+
return rs;
|
110
|
+
}
|
111
|
+
const rs = yield this.create(data, options);
|
112
|
+
return rs;
|
113
|
+
});
|
114
|
+
}
|
115
|
+
replaceById(id, data, options) {
|
116
|
+
var _a;
|
117
|
+
let enriched = this.mixTimestamp(data, {
|
118
|
+
newInstance: false,
|
119
|
+
ignoreModified: (_a = options === null || options === void 0 ? void 0 : options.ignoreModified) !== null && _a !== void 0 ? _a : false,
|
120
|
+
});
|
121
|
+
enriched = this.mixUserAudit(enriched, {
|
122
|
+
newInstance: false,
|
123
|
+
authorId: options === null || options === void 0 ? void 0 : options.authorId,
|
124
|
+
});
|
125
|
+
return super.replaceById(id, enriched, options);
|
126
|
+
}
|
127
|
+
_softDelete(where, options) {
|
128
|
+
return new Promise((resolve, reject) => {
|
129
|
+
const { databaseSchema, connectorType = 'postgresql', softDeleteField = 'isDeleted', useIgnoreModified = false, authorId, } = options !== null && options !== void 0 ? options : {};
|
130
|
+
const tableName = this.modelClass.definition.tableName(connectorType);
|
131
|
+
const softDeleteColumnName = this.modelClass.definition.columnName(connectorType, softDeleteField);
|
132
|
+
// Mix Timestamp
|
133
|
+
const mixTimestampColumnName = this.modelClass.definition.columnName(connectorType, 'modifiedAt');
|
134
|
+
const schema = (0, get_1.default)(this.modelClass.definition.settings, `${connectorType}.schema`, 'public');
|
135
|
+
// Mix User Audit
|
136
|
+
const mixUserAuditColumnName = this.modelClass.definition.columnName(connectorType, 'modifiedBy');
|
137
|
+
const isSoftDeleteFieldExist = (0, get_1.default)(this.modelClass.definition.rawProperties, softDeleteField);
|
138
|
+
if (!isSoftDeleteFieldExist) {
|
139
|
+
throw (0, utilities_1.getError)({
|
140
|
+
message: `[softDelete] Model: ${this.modelClass.name} | Soft delete is not supported!`,
|
141
|
+
});
|
142
|
+
}
|
143
|
+
const now = new Date();
|
144
|
+
this.find({ fields: { id: true }, where })
|
145
|
+
.then(rs => {
|
146
|
+
var _a;
|
147
|
+
const sqlBuilder = helpers_1.QueryBuilderHelper.getPostgresQueryBuilder()
|
148
|
+
.withSchema((_a = databaseSchema !== null && databaseSchema !== void 0 ? databaseSchema : schema) !== null && _a !== void 0 ? _a : 'public')
|
149
|
+
.from(tableName)
|
150
|
+
.update({ [softDeleteColumnName]: true })
|
151
|
+
.whereIn('id', rs.map(el => el.id));
|
152
|
+
if (mixTimestampColumnName && !useIgnoreModified) {
|
153
|
+
sqlBuilder.update(mixTimestampColumnName, now);
|
154
|
+
}
|
155
|
+
if (mixUserAuditColumnName && authorId) {
|
156
|
+
sqlBuilder.update(mixUserAuditColumnName, authorId);
|
157
|
+
}
|
158
|
+
this.execute(sqlBuilder.toQuery(), null, options).then(resolve).catch(reject);
|
159
|
+
})
|
160
|
+
.catch(reject);
|
161
|
+
});
|
162
|
+
}
|
163
|
+
softDelete(where, options) {
|
164
|
+
return new Promise((resolve, reject) => {
|
165
|
+
this._softDelete(where, options)
|
166
|
+
.then(rs => {
|
167
|
+
resolve(rs);
|
168
|
+
this.notifyObservers({
|
169
|
+
operation: 'after softDelete',
|
170
|
+
where,
|
171
|
+
options,
|
172
|
+
data: rs,
|
173
|
+
});
|
174
|
+
})
|
175
|
+
.catch(error => {
|
176
|
+
reject(error);
|
177
|
+
this.notifyObservers({
|
178
|
+
operation: 'after softDelete error',
|
179
|
+
where,
|
180
|
+
options,
|
181
|
+
data: null,
|
182
|
+
});
|
183
|
+
});
|
184
|
+
});
|
185
|
+
}
|
186
|
+
mixTimestamp(entity, options = {
|
187
|
+
newInstance: false,
|
188
|
+
ignoreModified: false,
|
189
|
+
}) {
|
190
|
+
if (options === null || options === void 0 ? void 0 : options.newInstance) {
|
191
|
+
entity.createdAt = new Date();
|
192
|
+
}
|
193
|
+
if (!options.ignoreModified) {
|
194
|
+
entity.modifiedAt = new Date();
|
195
|
+
}
|
196
|
+
return entity;
|
197
|
+
}
|
198
|
+
mixUserAudit(entity, options) {
|
199
|
+
if (!(options === null || options === void 0 ? void 0 : options.authorId)) {
|
200
|
+
return entity;
|
201
|
+
}
|
202
|
+
if (options === null || options === void 0 ? void 0 : options.newInstance) {
|
203
|
+
entity.createdBy = options.authorId;
|
204
|
+
}
|
205
|
+
entity.modifiedBy = options.authorId;
|
206
|
+
return entity;
|
207
|
+
}
|
208
|
+
_deleteWithReturn(where, options) {
|
209
|
+
return new Promise((resolve, reject) => {
|
210
|
+
this.find({ where })
|
211
|
+
.then(found => {
|
212
|
+
this.deleteAll(where, options)
|
213
|
+
.then(count => resolve({ count, data: found }))
|
214
|
+
.catch(reject);
|
215
|
+
})
|
216
|
+
.catch(reject);
|
217
|
+
});
|
218
|
+
}
|
219
|
+
deleteWithReturn(where, options) {
|
220
|
+
return new Promise((resolve, reject) => {
|
221
|
+
this._deleteWithReturn(where, options)
|
222
|
+
.then(rs => {
|
223
|
+
resolve(rs);
|
224
|
+
this.notifyObservers({
|
225
|
+
operation: 'after deleteWithReturn',
|
226
|
+
where,
|
227
|
+
options,
|
228
|
+
data: rs,
|
229
|
+
});
|
230
|
+
})
|
231
|
+
.catch(e => {
|
232
|
+
reject(e);
|
233
|
+
this.notifyObservers({
|
234
|
+
operation: 'after deleteWithReturn error',
|
235
|
+
where,
|
236
|
+
options,
|
237
|
+
data: null,
|
238
|
+
});
|
239
|
+
});
|
240
|
+
});
|
241
|
+
}
|
242
|
+
}
|
243
|
+
exports.TzCrudRepository = TzCrudRepository;
|
244
|
+
//# sourceMappingURL=tz-crud.repository.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tz-crud.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/tz-crud.repository.ts"],"names":[],"mappings":"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"}
|