@venizia/ignis 0.0.1-3 → 0.0.1-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/applications/abstract.d.ts +47 -0
- package/dist/base/applications/abstract.d.ts.map +1 -0
- package/dist/base/applications/abstract.js +201 -0
- package/dist/base/applications/abstract.js.map +1 -0
- package/dist/base/applications/base.d.ts +28 -0
- package/dist/base/applications/base.d.ts.map +1 -0
- package/dist/base/applications/base.js +215 -0
- package/dist/base/applications/base.js.map +1 -0
- package/dist/base/applications/index.d.ts +4 -0
- package/dist/base/applications/index.d.ts.map +1 -0
- package/dist/base/applications/index.js +20 -0
- package/dist/base/applications/index.js.map +1 -0
- package/dist/base/applications/types.d.ts +95 -0
- package/dist/base/applications/types.d.ts.map +1 -0
- package/dist/base/applications/types.js +5 -0
- package/dist/base/applications/types.js.map +1 -0
- package/dist/base/components/base.d.ts +23 -0
- package/dist/base/components/base.d.ts.map +1 -0
- package/dist/base/components/base.js +39 -0
- package/dist/base/components/base.js.map +1 -0
- package/dist/base/components/index.d.ts +2 -0
- package/dist/base/components/index.d.ts.map +1 -0
- package/dist/base/components/index.js +18 -0
- package/dist/base/components/index.js.map +1 -0
- package/dist/base/controllers/abstract.d.ts +34 -0
- package/dist/base/controllers/abstract.d.ts.map +1 -0
- package/dist/base/controllers/abstract.js +94 -0
- package/dist/base/controllers/abstract.js.map +1 -0
- package/dist/base/controllers/base.d.ts +48 -0
- package/dist/base/controllers/base.d.ts.map +1 -0
- package/dist/base/controllers/base.js +61 -0
- package/dist/base/controllers/base.js.map +1 -0
- package/dist/base/controllers/common/constants.d.ts +6 -0
- package/dist/base/controllers/common/constants.d.ts.map +1 -0
- package/dist/base/controllers/common/constants.js +10 -0
- package/dist/base/controllers/common/constants.js.map +1 -0
- package/dist/base/controllers/common/index.d.ts +3 -0
- package/dist/base/controllers/common/index.d.ts.map +1 -0
- package/dist/base/controllers/common/index.js +19 -0
- package/dist/base/controllers/common/index.js.map +1 -0
- package/dist/base/controllers/common/types.d.ts +82 -0
- package/dist/base/controllers/common/types.d.ts.map +1 -0
- package/dist/base/controllers/common/types.js +3 -0
- package/dist/base/controllers/common/types.js.map +1 -0
- package/dist/base/controllers/factory/controller.d.ts +81 -0
- package/dist/base/controllers/factory/controller.d.ts.map +1 -0
- package/dist/base/controllers/factory/controller.js +240 -0
- package/dist/base/controllers/factory/controller.js.map +1 -0
- package/dist/base/controllers/factory/definition.d.ts +395 -0
- package/dist/base/controllers/factory/definition.d.ts.map +1 -0
- package/dist/base/controllers/factory/definition.js +141 -0
- package/dist/base/controllers/factory/definition.js.map +1 -0
- package/dist/base/controllers/factory/index.d.ts +3 -0
- package/dist/base/controllers/factory/index.d.ts.map +1 -0
- package/dist/base/controllers/factory/index.js +19 -0
- package/dist/base/controllers/factory/index.js.map +1 -0
- package/dist/base/controllers/index.d.ts +5 -0
- package/dist/base/controllers/index.d.ts.map +1 -0
- package/dist/base/controllers/index.js +21 -0
- package/dist/base/controllers/index.js.map +1 -0
- package/dist/base/datasources/base.d.ts +23 -0
- package/dist/base/datasources/base.d.ts.map +1 -0
- package/dist/base/datasources/base.js +29 -0
- package/dist/base/datasources/base.js.map +1 -0
- package/dist/base/datasources/index.d.ts +3 -0
- package/dist/base/datasources/index.d.ts.map +1 -0
- package/dist/base/datasources/index.js +19 -0
- package/dist/base/datasources/index.js.map +1 -0
- package/dist/base/datasources/types.d.ts +20 -0
- package/dist/base/datasources/types.d.ts.map +1 -0
- package/dist/base/datasources/types.js +3 -0
- package/dist/base/datasources/types.js.map +1 -0
- package/dist/base/index.d.ts +10 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +26 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/metadata/index.d.ts +4 -0
- package/dist/base/metadata/index.d.ts.map +1 -0
- package/dist/base/metadata/index.js +20 -0
- package/dist/base/metadata/index.js.map +1 -0
- package/dist/base/metadata/injectors.d.ts +37 -0
- package/dist/base/metadata/injectors.d.ts.map +1 -0
- package/dist/base/metadata/injectors.js +74 -0
- package/dist/base/metadata/injectors.js.map +1 -0
- package/dist/base/metadata/persistents.d.ts +5 -0
- package/dist/base/metadata/persistents.d.ts.map +1 -0
- package/dist/base/metadata/persistents.js +23 -0
- package/dist/base/metadata/persistents.js.map +1 -0
- package/dist/base/metadata/routes.d.ts +97 -0
- package/dist/base/metadata/routes.d.ts.map +1 -0
- package/dist/base/metadata/routes.js +89 -0
- package/dist/base/metadata/routes.js.map +1 -0
- package/dist/base/middlewares/app-error.middleware.d.ts +6 -0
- package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -0
- package/dist/base/middlewares/app-error.middleware.js +75 -0
- package/dist/base/middlewares/app-error.middleware.js.map +1 -0
- package/dist/base/middlewares/emoji-favicon.middleware.d.ts +5 -0
- package/dist/base/middlewares/emoji-favicon.middleware.d.ts.map +1 -0
- package/dist/base/middlewares/emoji-favicon.middleware.js +17 -0
- package/dist/base/middlewares/emoji-favicon.middleware.js.map +1 -0
- package/dist/base/middlewares/index.d.ts +6 -0
- package/dist/base/middlewares/index.d.ts.map +1 -0
- package/dist/base/middlewares/index.js +22 -0
- package/dist/base/middlewares/index.js.map +1 -0
- package/dist/base/middlewares/not-found.middleware.d.ts +6 -0
- package/dist/base/middlewares/not-found.middleware.d.ts.map +1 -0
- package/dist/base/middlewares/not-found.middleware.js +14 -0
- package/dist/base/middlewares/not-found.middleware.js.map +1 -0
- package/dist/base/middlewares/request-normalize.middleware.d.ts +3 -0
- package/dist/base/middlewares/request-normalize.middleware.d.ts.map +1 -0
- package/dist/base/middlewares/request-normalize.middleware.js +34 -0
- package/dist/base/middlewares/request-normalize.middleware.js.map +1 -0
- package/dist/base/middlewares/request-spy.middleware.d.ts +8 -0
- package/dist/base/middlewares/request-spy.middleware.d.ts.map +1 -0
- package/dist/base/middlewares/request-spy.middleware.js +33 -0
- package/dist/base/middlewares/request-spy.middleware.js.map +1 -0
- package/dist/base/mixins/component.mixin.d.ts +71 -0
- package/dist/base/mixins/component.mixin.d.ts.map +1 -0
- package/dist/base/mixins/component.mixin.js +40 -0
- package/dist/base/mixins/component.mixin.js.map +1 -0
- package/dist/base/mixins/controller.mixin.d.ts +72 -0
- package/dist/base/mixins/controller.mixin.d.ts.map +1 -0
- package/dist/base/mixins/controller.mixin.js +53 -0
- package/dist/base/mixins/controller.mixin.js.map +1 -0
- package/dist/base/mixins/index.d.ts +6 -0
- package/dist/base/mixins/index.d.ts.map +1 -0
- package/dist/base/mixins/index.js +22 -0
- package/dist/base/mixins/index.js.map +1 -0
- package/dist/base/mixins/repository.mixin.d.ts +76 -0
- package/dist/base/mixins/repository.mixin.d.ts.map +1 -0
- package/dist/base/mixins/repository.mixin.js +48 -0
- package/dist/base/mixins/repository.mixin.js.map +1 -0
- package/dist/base/mixins/server-config.mixin.d.ts +2 -0
- package/dist/base/mixins/server-config.mixin.d.ts.map +1 -0
- package/dist/base/mixins/server-config.mixin.js +26 -0
- package/dist/base/mixins/server-config.mixin.js.map +1 -0
- package/dist/base/mixins/service.mixin.d.ts +72 -0
- package/dist/base/mixins/service.mixin.d.ts.map +1 -0
- package/dist/base/mixins/service.mixin.js +19 -0
- package/dist/base/mixins/service.mixin.js.map +1 -0
- package/dist/base/mixins/types.d.ts +35 -0
- package/dist/base/mixins/types.d.ts.map +1 -0
- package/dist/base/mixins/types.js +3 -0
- package/dist/base/mixins/types.js.map +1 -0
- package/dist/base/models/base.d.ts +18 -0
- package/dist/base/models/base.d.ts.map +1 -0
- package/dist/base/models/base.js +136 -0
- package/dist/base/models/base.js.map +1 -0
- package/dist/base/models/common/constants.d.ts +10 -0
- package/dist/base/models/common/constants.d.ts.map +1 -0
- package/dist/base/models/common/constants.js +14 -0
- package/dist/base/models/common/constants.js.map +1 -0
- package/dist/base/models/common/index.d.ts +3 -0
- package/dist/base/models/common/index.d.ts.map +1 -0
- package/dist/base/models/common/index.js +19 -0
- package/dist/base/models/common/index.js.map +1 -0
- package/dist/base/models/common/types.d.ts +74 -0
- package/dist/base/models/common/types.d.ts.map +1 -0
- package/dist/base/models/common/types.js +66 -0
- package/dist/base/models/common/types.js.map +1 -0
- package/dist/base/models/enrichers/data-type.enricher.d.ts +42 -0
- package/dist/base/models/enrichers/data-type.enricher.d.ts.map +1 -0
- package/dist/base/models/enrichers/data-type.enricher.js +35 -0
- package/dist/base/models/enrichers/data-type.enricher.js.map +1 -0
- package/dist/base/models/enrichers/id.enricher.d.ts +31 -0
- package/dist/base/models/enrichers/id.enricher.d.ts.map +1 -0
- package/dist/base/models/enrichers/id.enricher.js +43 -0
- package/dist/base/models/enrichers/id.enricher.js.map +1 -0
- package/dist/base/models/enrichers/index.d.ts +6 -0
- package/dist/base/models/enrichers/index.d.ts.map +1 -0
- package/dist/base/models/enrichers/index.js +22 -0
- package/dist/base/models/enrichers/index.js.map +1 -0
- package/dist/base/models/enrichers/principal.enricher.d.ts +13 -0
- package/dist/base/models/enrichers/principal.enricher.d.ts.map +1 -0
- package/dist/base/models/enrichers/principal.enricher.js +27 -0
- package/dist/base/models/enrichers/principal.enricher.js.map +1 -0
- package/dist/base/models/enrichers/tz.enricher.d.ts +27 -0
- package/dist/base/models/enrichers/tz.enricher.d.ts.map +1 -0
- package/dist/base/models/enrichers/tz.enricher.js +36 -0
- package/dist/base/models/enrichers/tz.enricher.js.map +1 -0
- package/dist/base/models/enrichers/user-audit.enricher.d.ts +21 -0
- package/dist/base/models/enrichers/user-audit.enricher.d.ts.map +1 -0
- package/dist/base/models/enrichers/user-audit.enricher.js +18 -0
- package/dist/base/models/enrichers/user-audit.enricher.js.map +1 -0
- package/dist/base/models/index.d.ts +4 -0
- package/dist/base/models/index.d.ts.map +1 -0
- package/dist/base/models/index.js +20 -0
- package/dist/base/models/index.js.map +1 -0
- package/dist/base/providers/base.d.ts +5 -0
- package/dist/base/providers/base.d.ts.map +1 -0
- package/dist/base/providers/base.js +8 -0
- package/dist/base/providers/base.js.map +1 -0
- package/dist/base/providers/index.d.ts +2 -0
- package/dist/base/providers/index.d.ts.map +1 -0
- package/dist/base/providers/index.js +18 -0
- package/dist/base/providers/index.js.map +1 -0
- package/dist/base/repositories/common/constants.d.ts +18 -0
- package/dist/base/repositories/common/constants.d.ts.map +1 -0
- package/dist/base/repositories/common/constants.js +26 -0
- package/dist/base/repositories/common/constants.js.map +1 -0
- package/dist/base/repositories/common/index.d.ts +3 -0
- package/dist/base/repositories/common/index.d.ts.map +1 -0
- package/dist/base/repositories/common/index.js +19 -0
- package/dist/base/repositories/common/index.js.map +1 -0
- package/dist/base/repositories/common/types.d.ts +177 -0
- package/dist/base/repositories/common/types.d.ts.map +1 -0
- package/dist/base/repositories/common/types.js +149 -0
- package/dist/base/repositories/common/types.js.map +1 -0
- package/dist/base/repositories/core/base.d.ts +131 -0
- package/dist/base/repositories/core/base.d.ts.map +1 -0
- package/dist/base/repositories/core/base.js +237 -0
- package/dist/base/repositories/core/base.js.map +1 -0
- package/dist/base/repositories/core/default-crud.d.ts +6 -0
- package/dist/base/repositories/core/default-crud.d.ts.map +1 -0
- package/dist/base/repositories/core/default-crud.js +8 -0
- package/dist/base/repositories/core/default-crud.js.map +1 -0
- package/dist/base/repositories/core/index.d.ts +5 -0
- package/dist/base/repositories/core/index.d.ts.map +1 -0
- package/dist/base/repositories/core/index.js +21 -0
- package/dist/base/repositories/core/index.js.map +1 -0
- package/dist/base/repositories/core/persistable.d.ts +94 -0
- package/dist/base/repositories/core/persistable.d.ts.map +1 -0
- package/dist/base/repositories/core/persistable.js +183 -0
- package/dist/base/repositories/core/persistable.js.map +1 -0
- package/dist/base/repositories/core/readable.d.ts +88 -0
- package/dist/base/repositories/core/readable.d.ts.map +1 -0
- package/dist/base/repositories/core/readable.js +95 -0
- package/dist/base/repositories/core/readable.js.map +1 -0
- package/dist/base/repositories/index.d.ts +4 -0
- package/dist/base/repositories/index.d.ts.map +1 -0
- package/dist/base/repositories/index.js +20 -0
- package/dist/base/repositories/index.js.map +1 -0
- package/dist/base/repositories/operators/filter.d.ts +33 -0
- package/dist/base/repositories/operators/filter.d.ts.map +1 -0
- package/dist/base/repositories/operators/filter.js +176 -0
- package/dist/base/repositories/operators/filter.js.map +1 -0
- package/dist/base/repositories/operators/index.d.ts +4 -0
- package/dist/base/repositories/operators/index.d.ts.map +1 -0
- package/dist/base/repositories/operators/index.js +20 -0
- package/dist/base/repositories/operators/index.js.map +1 -0
- package/dist/base/repositories/operators/query.d.ts +57 -0
- package/dist/base/repositories/operators/query.d.ts.map +1 -0
- package/dist/base/repositories/operators/query.js +96 -0
- package/dist/base/repositories/operators/query.js.map +1 -0
- package/dist/base/repositories/operators/relation.d.ts +10 -0
- package/dist/base/repositories/operators/relation.d.ts.map +1 -0
- package/dist/base/repositories/operators/relation.js +40 -0
- package/dist/base/repositories/operators/relation.js.map +1 -0
- package/dist/base/services/base-crud.d.ts +2 -0
- package/dist/base/services/base-crud.d.ts.map +1 -0
- package/dist/base/services/base-crud.js +108 -0
- package/dist/base/services/base-crud.js.map +1 -0
- package/dist/base/services/base.d.ts +12 -0
- package/dist/base/services/base.d.ts.map +1 -0
- package/dist/base/services/base.js +15 -0
- package/dist/base/services/base.js.map +1 -0
- package/dist/base/services/index.d.ts +4 -0
- package/dist/base/services/index.d.ts.map +1 -0
- package/dist/base/services/index.js +20 -0
- package/dist/base/services/index.js.map +1 -0
- package/dist/base/services/types.d.ts +3 -0
- package/dist/base/services/types.d.ts.map +1 -0
- package/dist/base/services/types.js +39 -0
- package/dist/base/services/types.js.map +1 -0
- package/dist/common/bindings.d.ts +23 -0
- package/dist/common/bindings.d.ts.map +1 -0
- package/dist/common/bindings.js +28 -0
- package/dist/common/bindings.js.map +1 -0
- package/dist/common/constants.d.ts +9 -0
- package/dist/common/constants.d.ts.map +1 -0
- package/dist/common/constants.js +14 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/environments.d.ts +23 -0
- package/dist/common/environments.d.ts.map +1 -0
- package/dist/common/environments.js +27 -0
- package/dist/common/environments.js.map +1 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +21 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/statuses.d.ts +35 -0
- package/dist/common/statuses.d.ts.map +1 -0
- package/dist/common/statuses.js +54 -0
- package/dist/common/statuses.js.map +1 -0
- package/dist/components/auth/authenticate/common/constants.d.ts +19 -0
- package/dist/components/auth/authenticate/common/constants.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/constants.js +26 -0
- package/dist/components/auth/authenticate/common/constants.js.map +1 -0
- package/dist/components/auth/authenticate/common/index.d.ts +4 -0
- package/dist/components/auth/authenticate/common/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/index.js +20 -0
- package/dist/components/auth/authenticate/common/index.js.map +1 -0
- package/dist/components/auth/authenticate/common/keys.d.ts +5 -0
- package/dist/components/auth/authenticate/common/keys.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/keys.js +9 -0
- package/dist/components/auth/authenticate/common/keys.js.map +1 -0
- package/dist/components/auth/authenticate/common/types.d.ts +48 -0
- package/dist/components/auth/authenticate/common/types.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/types.js +3 -0
- package/dist/components/auth/authenticate/common/types.js.map +1 -0
- package/dist/components/auth/authenticate/component.d.ts +11 -0
- package/dist/components/auth/authenticate/component.d.ts.map +1 -0
- package/dist/components/auth/authenticate/component.js +97 -0
- package/dist/components/auth/authenticate/component.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/factory.d.ts +77 -0
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/factory.js +133 -0
- package/dist/components/auth/authenticate/controllers/factory.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/index.d.ts +2 -0
- package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/index.js +18 -0
- package/dist/components/auth/authenticate/controllers/index.js.map +1 -0
- package/dist/components/auth/authenticate/index.d.ts +5 -0
- package/dist/components/auth/authenticate/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/index.js +21 -0
- package/dist/components/auth/authenticate/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/index.d.ts +2 -0
- package/dist/components/auth/authenticate/services/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/index.js +18 -0
- package/dist/components/auth/authenticate/services/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/jwt-token.service.d.ts +33 -0
- package/dist/components/auth/authenticate/services/jwt-token.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/jwt-token.service.js +197 -0
- package/dist/components/auth/authenticate/services/jwt-token.service.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/index.d.ts +3 -0
- package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/index.js +19 -0
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts +11 -0
- package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwt.strategy.js +37 -0
- package/dist/components/auth/authenticate/strategies/jwt.strategy.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts +28 -0
- package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/strategy-registry.js +105 -0
- package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -0
- package/dist/components/auth/authorize/index.d.ts +2 -0
- package/dist/components/auth/authorize/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/index.js +3 -0
- package/dist/components/auth/authorize/index.js.map +1 -0
- package/dist/components/auth/authorize/middleware.d.ts +2 -0
- package/dist/components/auth/authorize/middleware.d.ts.map +1 -0
- package/dist/components/auth/authorize/middleware.js +41 -0
- package/dist/components/auth/authorize/middleware.js.map +1 -0
- package/dist/components/auth/index.d.ts +4 -0
- package/dist/components/auth/index.d.ts.map +1 -0
- package/dist/components/auth/index.js +20 -0
- package/dist/components/auth/index.js.map +1 -0
- package/dist/components/auth/models/entities/index.d.ts +6 -0
- package/dist/components/auth/models/entities/index.d.ts.map +1 -0
- package/dist/components/auth/models/entities/index.js +22 -0
- package/dist/components/auth/models/entities/index.js.map +1 -0
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts +5 -0
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/permission-mapping.model.js +70 -0
- package/dist/components/auth/models/entities/permission-mapping.model.js.map +1 -0
- package/dist/components/auth/models/entities/permission.model.d.ts +5 -0
- package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/permission.model.js +46 -0
- package/dist/components/auth/models/entities/permission.model.js.map +1 -0
- package/dist/components/auth/models/entities/role.model.d.ts +3 -0
- package/dist/components/auth/models/entities/role.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/role.model.js +35 -0
- package/dist/components/auth/models/entities/role.model.js.map +1 -0
- package/dist/components/auth/models/entities/user-role.model.d.ts +5 -0
- package/dist/components/auth/models/entities/user-role.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/user-role.model.js +37 -0
- package/dist/components/auth/models/entities/user-role.model.js.map +1 -0
- package/dist/components/auth/models/entities/user.model.d.ts +5 -0
- package/dist/components/auth/models/entities/user.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/user.model.js +36 -0
- package/dist/components/auth/models/entities/user.model.js.map +1 -0
- package/dist/components/auth/models/index.d.ts +3 -0
- package/dist/components/auth/models/index.d.ts.map +1 -0
- package/dist/components/auth/models/index.js +19 -0
- package/dist/components/auth/models/index.js.map +1 -0
- package/dist/components/auth/models/requests/change-password.schema.d.ts +9 -0
- package/dist/components/auth/models/requests/change-password.schema.d.ts.map +1 -0
- package/dist/components/auth/models/requests/change-password.schema.js +23 -0
- package/dist/components/auth/models/requests/change-password.schema.js.map +1 -0
- package/dist/components/auth/models/requests/index.d.ts +4 -0
- package/dist/components/auth/models/requests/index.d.ts.map +1 -0
- package/dist/components/auth/models/requests/index.js +20 -0
- package/dist/components/auth/models/requests/index.js.map +1 -0
- package/dist/components/auth/models/requests/sign-in.schema.d.ts +14 -0
- package/dist/components/auth/models/requests/sign-in.schema.d.ts.map +1 -0
- package/dist/components/auth/models/requests/sign-in.schema.js +44 -0
- package/dist/components/auth/models/requests/sign-in.schema.js.map +1 -0
- package/dist/components/auth/models/requests/sign-up.schema.d.ts +7 -0
- package/dist/components/auth/models/requests/sign-up.schema.d.ts.map +1 -0
- package/dist/components/auth/models/requests/sign-up.schema.js +19 -0
- package/dist/components/auth/models/requests/sign-up.schema.js.map +1 -0
- package/dist/components/health-check/common/index.d.ts +4 -0
- package/dist/components/health-check/common/index.d.ts.map +1 -0
- package/dist/components/health-check/common/index.js +20 -0
- package/dist/components/health-check/common/index.js.map +1 -0
- package/dist/components/health-check/common/keys.d.ts +4 -0
- package/dist/components/health-check/common/keys.d.ts.map +1 -0
- package/dist/components/health-check/common/keys.js +8 -0
- package/dist/components/health-check/common/keys.js.map +1 -0
- package/dist/components/health-check/common/rest-paths.d.ts +5 -0
- package/dist/components/health-check/common/rest-paths.d.ts.map +1 -0
- package/dist/components/health-check/common/rest-paths.js +9 -0
- package/dist/components/health-check/common/rest-paths.js.map +1 -0
- package/dist/components/health-check/common/types.d.ts +6 -0
- package/dist/components/health-check/common/types.d.ts.map +1 -0
- package/dist/components/health-check/common/types.js +3 -0
- package/dist/components/health-check/common/types.js.map +1 -0
- package/dist/components/health-check/component.d.ts +9 -0
- package/dist/components/health-check/component.d.ts.map +1 -0
- package/dist/components/health-check/component.js +54 -0
- package/dist/components/health-check/component.js.map +1 -0
- package/dist/components/health-check/controller.d.ts +95 -0
- package/dist/components/health-check/controller.d.ts.map +1 -0
- package/dist/components/health-check/controller.js +100 -0
- package/dist/components/health-check/controller.js.map +1 -0
- package/dist/components/health-check/index.d.ts +4 -0
- package/dist/components/health-check/index.d.ts.map +1 -0
- package/dist/components/health-check/index.js +20 -0
- package/dist/components/health-check/index.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +22 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/request-tracker/component.d.ts +10 -0
- package/dist/components/request-tracker/component.d.ts.map +1 -0
- package/dist/components/request-tracker/component.js +63 -0
- package/dist/components/request-tracker/component.js.map +1 -0
- package/dist/components/request-tracker/index.d.ts +2 -0
- package/dist/components/request-tracker/index.d.ts.map +1 -0
- package/dist/components/request-tracker/index.js +18 -0
- package/dist/components/request-tracker/index.js.map +1 -0
- package/dist/components/socket-io/component.d.ts +15 -0
- package/dist/components/socket-io/component.d.ts.map +1 -0
- package/dist/components/socket-io/component.js +115 -0
- package/dist/components/socket-io/component.js.map +1 -0
- package/dist/components/socket-io/index.d.ts +3 -0
- package/dist/components/socket-io/index.d.ts.map +1 -0
- package/dist/components/socket-io/index.js +19 -0
- package/dist/components/socket-io/index.js.map +1 -0
- package/dist/components/socket-io/keys.d.ts +8 -0
- package/dist/components/socket-io/keys.d.ts.map +1 -0
- package/dist/components/socket-io/keys.js +13 -0
- package/dist/components/socket-io/keys.js.map +1 -0
- package/dist/components/swagger/common/constants.d.ts +7 -0
- package/dist/components/swagger/common/constants.d.ts.map +1 -0
- package/dist/components/swagger/common/constants.js +13 -0
- package/dist/components/swagger/common/constants.js.map +1 -0
- package/dist/components/swagger/common/index.d.ts +4 -0
- package/dist/components/swagger/common/index.d.ts.map +1 -0
- package/dist/components/swagger/common/index.js +20 -0
- package/dist/components/swagger/common/index.js.map +1 -0
- package/dist/components/swagger/common/keys.d.ts +4 -0
- package/dist/components/swagger/common/keys.d.ts.map +1 -0
- package/dist/components/swagger/common/keys.js +8 -0
- package/dist/components/swagger/common/keys.js.map +1 -0
- package/dist/components/swagger/common/types.d.ts +47 -0
- package/dist/components/swagger/common/types.d.ts.map +1 -0
- package/dist/components/swagger/common/types.js +3 -0
- package/dist/components/swagger/common/types.js.map +1 -0
- package/dist/components/swagger/component.d.ts +8 -0
- package/dist/components/swagger/component.d.ts.map +1 -0
- package/dist/components/swagger/component.js +121 -0
- package/dist/components/swagger/component.js.map +1 -0
- package/dist/components/swagger/index.d.ts +4 -0
- package/dist/components/swagger/index.d.ts.map +1 -0
- package/dist/components/swagger/index.js +20 -0
- package/dist/components/swagger/index.js.map +1 -0
- package/dist/components/swagger/ui-factory.d.ts +21 -0
- package/dist/components/swagger/ui-factory.d.ts.map +1 -0
- package/dist/components/swagger/ui-factory.js +68 -0
- package/dist/components/swagger/ui-factory.js.map +1 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +18 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/utilities/index.d.ts +3 -0
- package/dist/utilities/index.d.ts.map +1 -0
- package/dist/utilities/index.js +19 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/jsx.utility.d.ts +57 -0
- package/dist/utilities/jsx.utility.d.ts.map +1 -0
- package/dist/utilities/jsx.utility.js +55 -0
- package/dist/utilities/jsx.utility.js.map +1 -0
- package/dist/utilities/schema.utility.d.ts +8 -0
- package/dist/utilities/schema.utility.d.ts.map +1 -0
- package/dist/utilities/schema.utility.js +25 -0
- package/dist/utilities/schema.utility.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { OpenAPIHono } from '@hono/zod-openapi';
|
|
2
|
+
import type { Context, Env, Schema } from 'hono';
|
|
3
|
+
import { IPRestrictionRules as IIPRestrictionRules } from 'hono/ip-restriction';
|
|
4
|
+
import { IComponentMixin, IControllerMixin, IRepositoryMixin, IServiceMixin, IStaticServeMixin } from '../mixins/types';
|
|
5
|
+
import { ValueOrPromise } from '@venizia/ignis-helpers';
|
|
6
|
+
export interface IBaseMiddlewareOptions {
|
|
7
|
+
enable: boolean;
|
|
8
|
+
path?: string;
|
|
9
|
+
[extra: string | symbol]: any;
|
|
10
|
+
}
|
|
11
|
+
export interface ICompressOptions extends IBaseMiddlewareOptions {
|
|
12
|
+
encoding: 'gzip' | 'deflate';
|
|
13
|
+
threshold?: number;
|
|
14
|
+
}
|
|
15
|
+
export type TOrigin = string | string[] | ((origin: string, c: Context) => Promise<string | undefined | null> | string | undefined | null);
|
|
16
|
+
export interface ICORSOptions extends IBaseMiddlewareOptions {
|
|
17
|
+
origin: TOrigin;
|
|
18
|
+
allowMethods?: string[] | ((origin: string, c: Context) => Promise<string[]> | string[]);
|
|
19
|
+
allowHeaders?: string[];
|
|
20
|
+
maxAge?: number;
|
|
21
|
+
credentials?: boolean;
|
|
22
|
+
exposeHeaders?: string[];
|
|
23
|
+
}
|
|
24
|
+
export type TIsAllowedOriginHandler = (origin: string, context: Context) => boolean;
|
|
25
|
+
export declare const SecFetchSiteValues: readonly ["same-origin", "same-site", "none", "cross-site"];
|
|
26
|
+
export type TSecFetchSite = (typeof SecFetchSiteValues)[number];
|
|
27
|
+
export type TIsAllowedSecFetchSiteHandler = (secFetchSite: TSecFetchSite, context: Context) => boolean;
|
|
28
|
+
export interface ICSRFOptions extends IBaseMiddlewareOptions {
|
|
29
|
+
origin?: string | string[] | TIsAllowedOriginHandler;
|
|
30
|
+
secFetchSite?: TSecFetchSite | TSecFetchSite[] | TIsAllowedSecFetchSiteHandler;
|
|
31
|
+
}
|
|
32
|
+
export interface IBodyLimitOptions extends IBaseMiddlewareOptions {
|
|
33
|
+
maxSize: number;
|
|
34
|
+
onError?: (c: Context) => Response | Promise<Response>;
|
|
35
|
+
}
|
|
36
|
+
export interface IRequestIdOptions extends IBaseMiddlewareOptions {
|
|
37
|
+
}
|
|
38
|
+
export type TBunServerInstance = ReturnType<typeof Bun.serve>;
|
|
39
|
+
export type TNodeServerInstance = any;
|
|
40
|
+
export interface IMiddlewareConfigs {
|
|
41
|
+
requestId?: IRequestIdOptions;
|
|
42
|
+
compress?: ICompressOptions;
|
|
43
|
+
cors?: ICORSOptions;
|
|
44
|
+
csrf?: ICSRFOptions;
|
|
45
|
+
bodyLimit?: IBodyLimitOptions;
|
|
46
|
+
ipRestriction?: IBaseMiddlewareOptions & IIPRestrictionRules;
|
|
47
|
+
[extra: string | symbol]: any;
|
|
48
|
+
}
|
|
49
|
+
export interface IApplicationConfigs {
|
|
50
|
+
host?: string;
|
|
51
|
+
port?: number;
|
|
52
|
+
path: {
|
|
53
|
+
base: string;
|
|
54
|
+
isStrict: boolean;
|
|
55
|
+
};
|
|
56
|
+
favicon?: string;
|
|
57
|
+
autoLoad?: {
|
|
58
|
+
dirs: {
|
|
59
|
+
[key: string | symbol]: {
|
|
60
|
+
path: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
debug?: {
|
|
65
|
+
shouldShowRoutes?: boolean;
|
|
66
|
+
};
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
}
|
|
69
|
+
export interface IApplicationInfo {
|
|
70
|
+
name: string;
|
|
71
|
+
version: string;
|
|
72
|
+
description: string;
|
|
73
|
+
author?: {
|
|
74
|
+
name: string;
|
|
75
|
+
email: string;
|
|
76
|
+
url?: string;
|
|
77
|
+
};
|
|
78
|
+
[extra: string | symbol]: any;
|
|
79
|
+
}
|
|
80
|
+
export interface IApplication<AppEnv extends Env = Env, AppSchema extends Schema = Schema, BasePath extends string = '/'> {
|
|
81
|
+
getProjectRoot(): string;
|
|
82
|
+
getProjectConfigs(): IApplicationConfigs;
|
|
83
|
+
getServerHost(): string;
|
|
84
|
+
getServerPort(): number;
|
|
85
|
+
getServerAddress(): string;
|
|
86
|
+
getServer(): OpenAPIHono<AppEnv, AppSchema, BasePath>;
|
|
87
|
+
getRootRouter(): OpenAPIHono<AppEnv, AppSchema, BasePath>;
|
|
88
|
+
setupMiddlewares(): ValueOrPromise<void>;
|
|
89
|
+
initialize(): ValueOrPromise<void>;
|
|
90
|
+
start(): ValueOrPromise<void>;
|
|
91
|
+
stop(): ValueOrPromise<void>;
|
|
92
|
+
}
|
|
93
|
+
export interface IRestApplication extends IApplication, IComponentMixin, IControllerMixin, IRepositoryMixin, IServiceMixin, IStaticServeMixin {
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/base/applications/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/base/applications/types.ts"],"names":[],"mappings":";;;AAoDa,QAAA,kBAAkB,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseHelper, Binding, Container, IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
2
|
+
type TInitDefault = {
|
|
3
|
+
enable: false;
|
|
4
|
+
} | {
|
|
5
|
+
enable: true;
|
|
6
|
+
container: Container;
|
|
7
|
+
};
|
|
8
|
+
export declare abstract class BaseComponent<ConfigurableOptions extends object = {}> extends BaseHelper implements IConfigurable<ConfigurableOptions> {
|
|
9
|
+
protected bindings: Record<string | symbol, Binding>;
|
|
10
|
+
protected initDefault: TInitDefault;
|
|
11
|
+
constructor(opts: {
|
|
12
|
+
scope: string;
|
|
13
|
+
initDefault?: TInitDefault;
|
|
14
|
+
bindings?: Record<string | symbol, Binding>;
|
|
15
|
+
});
|
|
16
|
+
abstract binding(): ValueOrPromise<void>;
|
|
17
|
+
protected initDefaultBindings(opts: {
|
|
18
|
+
container: Container;
|
|
19
|
+
}): void;
|
|
20
|
+
configure(opts?: ConfigurableOptions): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/base/components/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EAET,aAAa,EACb,cAAc,EACf,MAAM,wBAAwB,CAAC;AAEhC,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAE/E,8BAAsB,aAAa,CAAC,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACzE,SAAQ,UACR,YAAW,aAAa,CAAC,mBAAmB,CAAC;IAE7C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;IAErD,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC;gBAExB,IAAI,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,YAAY,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C;IAOD,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAGxC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE;IAmBtD,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseComponent = void 0;
|
|
4
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
5
|
+
class BaseComponent extends ignis_helpers_1.BaseHelper {
|
|
6
|
+
constructor(opts) {
|
|
7
|
+
super(opts);
|
|
8
|
+
this.initDefault = opts.initDefault ?? { enable: false };
|
|
9
|
+
this.bindings = opts.bindings ?? {};
|
|
10
|
+
}
|
|
11
|
+
// ------------------------------------------------------------------------------
|
|
12
|
+
initDefaultBindings(opts) {
|
|
13
|
+
const { container } = opts;
|
|
14
|
+
if (!container) {
|
|
15
|
+
throw (0, ignis_helpers_1.getError)({
|
|
16
|
+
message: '[initBindings] Invalid DI Container to init bindings!',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
for (const key in this.bindings) {
|
|
20
|
+
if (container.isBound({ key })) {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
container.set({ binding: this.bindings[key] });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// ------------------------------------------------------------------------------
|
|
27
|
+
async configure(opts) {
|
|
28
|
+
const t = performance.now();
|
|
29
|
+
const configureOptions = opts ?? {};
|
|
30
|
+
this.logger.info('[binding] START | Binding component | Options: %j', configureOptions);
|
|
31
|
+
if (this.initDefault?.enable) {
|
|
32
|
+
this.initDefaultBindings({ container: this.initDefault.container });
|
|
33
|
+
}
|
|
34
|
+
await this.binding();
|
|
35
|
+
this.logger.info('[binding] DONE | Binding component | Took: %s (ms)', performance.now() - t);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.BaseComponent = BaseComponent;
|
|
39
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/components/base.ts"],"names":[],"mappings":";;;AAAA,0DAOgC;AAIhC,MAAsB,aACpB,SAAQ,0BAAU;IAOlB,YAAY,IAIX;QACC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,CAAC;IAID,iFAAiF;IACvE,mBAAmB,CAAC,IAA8B;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,uDAAuD;aACjE,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,SAAS,CAAC,IAA0B;QACxC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE5B,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE,gBAAgB,CAAC,CAAC;QAExF,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAvDD,sCAuDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./base"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Hook, OpenAPIHono, RouteConfig } from '@hono/zod-openapi';
|
|
2
|
+
import { BaseHelper, TAuthStrategy, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
3
|
+
import { Env, Schema } from 'hono';
|
|
4
|
+
import { IController, IControllerOptions, TAuthRouteConfig, TLazyRouteHandler, TRouteBindingOptions, TRouteDefinition } from './common/types';
|
|
5
|
+
export declare abstract class AbstractController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}> extends BaseHelper implements IController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions> {
|
|
6
|
+
router: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
7
|
+
definitions: Record<string, TAuthRouteConfig<RouteConfig>>;
|
|
8
|
+
constructor(opts: IControllerOptions);
|
|
9
|
+
getRouter(): OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
10
|
+
registerRoutesFromRegistry(): void;
|
|
11
|
+
configure(opts?: ConfigurableOptions): Promise<OpenAPIHono<RouteEnv, RouteSchema, BasePath>>;
|
|
12
|
+
getRouteConfigs<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
13
|
+
configs: RC;
|
|
14
|
+
}): RC & {
|
|
15
|
+
getRoutingPath(): RC["path"] extends infer T ? T extends RC["path"] ? T extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${/*elided*/ any}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : T : never : never;
|
|
16
|
+
};
|
|
17
|
+
getJSXRouteConfigs<RC extends RouteConfig & {
|
|
18
|
+
authStrategies?: Array<TAuthStrategy>;
|
|
19
|
+
}>(opts: {
|
|
20
|
+
configs: RC;
|
|
21
|
+
}): RC & {
|
|
22
|
+
getRoutingPath(): RC["path"] extends infer T ? T extends RC["path"] ? T extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${Tail extends `${infer Head}/{${infer Param}}${infer Tail}` ? `${Head}/:${Param}${/*elided*/ any}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : Tail}` : T : never : never;
|
|
23
|
+
};
|
|
24
|
+
abstract binding(): ValueOrPromise<void>;
|
|
25
|
+
abstract bindRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
26
|
+
configs: RC;
|
|
27
|
+
}): TRouteBindingOptions<RC, RouteEnv, RouteSchema, BasePath>;
|
|
28
|
+
abstract defineRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
29
|
+
configs: RC;
|
|
30
|
+
handler: TLazyRouteHandler<RC, RouteEnv>;
|
|
31
|
+
hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;
|
|
32
|
+
}): TRouteDefinition<RC, RouteEnv, RouteSchema, BasePath>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/abstract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EACL,UAAU,EAEV,aAAa,EACb,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAGxB,8BAAsB,kBAAkB,CACtC,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,CAEvC,SAAQ,UACR,YAAW,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAE5E,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAG/C,IAAI,EAAE,kBAAkB;IAepC,SAAS;IAKT,0BAA0B,IAAI,IAAI;IAiB5B,SAAS,CACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAgBxD,eAAe,CAAC,EAAE,SAAS,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE;;;IAiC/E,kBAAkB,CAAC,EAAE,SAAS,WAAW,GAAG;QAAE,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;KAAE,EAAE,IAAI,EAAE;QAC3F,OAAO,EAAE,EAAE,CAAC;KACb;;;IA6BD,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,CAAC;KACb,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IAE7D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QACnE,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD,GAAG,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;CAC1D"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractController = void 0;
|
|
4
|
+
const auth_1 = require("../../components/auth");
|
|
5
|
+
const jsx_utility_1 = require("../../utilities/jsx.utility");
|
|
6
|
+
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
7
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
8
|
+
// -----------------------------------------------------------------------------
|
|
9
|
+
class AbstractController extends ignis_helpers_1.BaseHelper {
|
|
10
|
+
// ------------------------------------------------------------------------------
|
|
11
|
+
constructor(opts) {
|
|
12
|
+
super(opts);
|
|
13
|
+
const { isStrict = true } = opts;
|
|
14
|
+
this.router = new zod_openapi_1.OpenAPIHono({
|
|
15
|
+
strict: isStrict,
|
|
16
|
+
defaultHook: (result, _context) => {
|
|
17
|
+
if (!result.success) {
|
|
18
|
+
throw result.error;
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
// ------------------------------------------------------------------------------
|
|
24
|
+
getRouter() {
|
|
25
|
+
return this.router;
|
|
26
|
+
}
|
|
27
|
+
// ------------------------------------------------------------------------------
|
|
28
|
+
registerRoutesFromRegistry() {
|
|
29
|
+
const routes = ignis_helpers_1.MetadataRegistry.getInstance().getRoutes({
|
|
30
|
+
target: Object.getPrototypeOf(this),
|
|
31
|
+
});
|
|
32
|
+
if (!routes?.size) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const routeDefs = routes.entries();
|
|
36
|
+
for (const [methodName, routeConfigs] of routeDefs) {
|
|
37
|
+
this.bindRoute({ configs: routeConfigs }).to({
|
|
38
|
+
handler: this[methodName].bind(this),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async configure(opts) {
|
|
43
|
+
const t = performance.now();
|
|
44
|
+
const configureOptions = opts ?? {};
|
|
45
|
+
this.logger.info('[configure] START | Binding controller | Options: %j', configureOptions);
|
|
46
|
+
await this.binding();
|
|
47
|
+
this.registerRoutesFromRegistry();
|
|
48
|
+
this.logger.info('[configure] DONE | Binding controller | Took: %s (ms)', performance.now() - t);
|
|
49
|
+
return this.router;
|
|
50
|
+
}
|
|
51
|
+
getRouteConfigs(opts) {
|
|
52
|
+
const { configs } = opts;
|
|
53
|
+
const { authStrategies = [], ...restConfig } = configs;
|
|
54
|
+
const security = authStrategies.map(strategy => ({ [strategy]: [] }));
|
|
55
|
+
const mws = authStrategies?.map(strategy => (0, auth_1.authenticate)({ strategy })) ?? [];
|
|
56
|
+
if (restConfig.middleware) {
|
|
57
|
+
const extraMws = Array.isArray(restConfig.middleware)
|
|
58
|
+
? restConfig.middleware
|
|
59
|
+
: [restConfig.middleware];
|
|
60
|
+
for (const mw of extraMws) {
|
|
61
|
+
if (!mw) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
mws.push(mw);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const { tags = [] } = configs;
|
|
68
|
+
return (0, zod_openapi_1.createRoute)(Object.assign({}, configs, {
|
|
69
|
+
middleware: mws,
|
|
70
|
+
tags: [...tags, this.scope],
|
|
71
|
+
security,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
getJSXRouteConfigs(opts) {
|
|
75
|
+
const { configs } = opts;
|
|
76
|
+
const { authStrategies = [], ...restConfig } = configs;
|
|
77
|
+
const security = authStrategies.map(strategy => ({ [strategy]: [] }));
|
|
78
|
+
const mws = authStrategies?.map(strategy => (0, auth_1.authenticate)({ strategy })) ?? [];
|
|
79
|
+
const extraMws = restConfig.middleware && Array.isArray(restConfig.middleware)
|
|
80
|
+
? restConfig.middleware
|
|
81
|
+
: [restConfig.middleware];
|
|
82
|
+
for (const mw of extraMws) {
|
|
83
|
+
mws.push(mw);
|
|
84
|
+
}
|
|
85
|
+
const { responses, tags = [] } = configs;
|
|
86
|
+
return (0, zod_openapi_1.createRoute)(Object.assign({}, configs, {
|
|
87
|
+
responses: Object.assign({}, (0, jsx_utility_1.htmlResponse)({ description: 'HTML page' }), responses),
|
|
88
|
+
tags: [...tags, this.scope],
|
|
89
|
+
security,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.AbstractController = AbstractController;
|
|
94
|
+
//# sourceMappingURL=abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../src/base/controllers/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Hook, RouteConfig } from '@hono/zod-openapi';
|
|
2
|
+
import { TAuthStrategy, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
3
|
+
import { Env, Schema } from 'hono';
|
|
4
|
+
import { AbstractController } from './abstract';
|
|
5
|
+
import { TAuthRouteConfig, TLazyRouteHandler, TRouteBindingOptions, TRouteDefinition } from './common/types';
|
|
6
|
+
export declare abstract class BaseController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}> extends AbstractController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions> {
|
|
7
|
+
bindRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
8
|
+
configs: RC;
|
|
9
|
+
}): TRouteBindingOptions<RC, RouteEnv, RouteSchema, BasePath>;
|
|
10
|
+
defineRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
11
|
+
configs: RC;
|
|
12
|
+
handler: TLazyRouteHandler<RC, RouteEnv>;
|
|
13
|
+
hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;
|
|
14
|
+
}): TRouteDefinition<RC, RouteEnv, RouteSchema, BasePath>;
|
|
15
|
+
/**
|
|
16
|
+
* Define a JSX route that renders server-side HTML
|
|
17
|
+
* Scope: [BaseController][defineJSXRoute]
|
|
18
|
+
*
|
|
19
|
+
* JSX routes use Hono's built-in JSX support to render components to HTML.
|
|
20
|
+
* The handler must return c.html() with the JSX component.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* this.defineJSXRoute({
|
|
25
|
+
* configs: {
|
|
26
|
+
* path: '/profile',
|
|
27
|
+
* method: 'get',
|
|
28
|
+
* description: 'User profile page',
|
|
29
|
+
* },
|
|
30
|
+
* handler: (c) => {
|
|
31
|
+
* const user = c.get('user');
|
|
32
|
+
* return c.html(<ProfilePage user={user} />);
|
|
33
|
+
* }
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @param opts - Route configuration and handler
|
|
38
|
+
* @returns Route definition
|
|
39
|
+
*/
|
|
40
|
+
defineJSXRoute<RC extends RouteConfig & {
|
|
41
|
+
authStrategies?: Array<TAuthStrategy>;
|
|
42
|
+
}>(opts: {
|
|
43
|
+
configs: RC;
|
|
44
|
+
handler: TLazyRouteHandler<RC, RouteEnv>;
|
|
45
|
+
hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;
|
|
46
|
+
}): TRouteDefinition<RC, RouteEnv, RouteSchema, BasePath>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,8BAAsB,cAAc,CAClC,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAEhF,SAAS,CAAC,EAAE,SAAS,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QACxD,OAAO,EAAE,EAAE,CAAC;KACb,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IAe7D,WAAW,CAAC,EAAE,SAAS,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QAC1D,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD,GAAG,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IASzD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,cAAc,CAAC,EAAE,SAAS,WAAW,GAAG;QAAE,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;KAAE,EAAE,IAAI,EAAE;QACvF,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD,GAAG,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;CAQ1D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseController = void 0;
|
|
4
|
+
const abstract_1 = require("./abstract");
|
|
5
|
+
class BaseController extends abstract_1.AbstractController {
|
|
6
|
+
// ------------------------------------------------------------------------------
|
|
7
|
+
bindRoute(opts) {
|
|
8
|
+
const routeConfigs = this.getRouteConfigs({ configs: opts.configs });
|
|
9
|
+
return {
|
|
10
|
+
configs: routeConfigs,
|
|
11
|
+
to: ({ handler }) => {
|
|
12
|
+
return {
|
|
13
|
+
configs: routeConfigs,
|
|
14
|
+
route: this.router.openapi(routeConfigs, handler),
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// ------------------------------------------------------------------------------
|
|
20
|
+
defineRoute(opts) {
|
|
21
|
+
const routeConfigs = this.getRouteConfigs({ configs: opts.configs });
|
|
22
|
+
return {
|
|
23
|
+
configs: routeConfigs,
|
|
24
|
+
route: this.router.openapi(routeConfigs, opts.handler, opts.hook),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Define a JSX route that renders server-side HTML
|
|
29
|
+
* Scope: [BaseController][defineJSXRoute]
|
|
30
|
+
*
|
|
31
|
+
* JSX routes use Hono's built-in JSX support to render components to HTML.
|
|
32
|
+
* The handler must return c.html() with the JSX component.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* this.defineJSXRoute({
|
|
37
|
+
* configs: {
|
|
38
|
+
* path: '/profile',
|
|
39
|
+
* method: 'get',
|
|
40
|
+
* description: 'User profile page',
|
|
41
|
+
* },
|
|
42
|
+
* handler: (c) => {
|
|
43
|
+
* const user = c.get('user');
|
|
44
|
+
* return c.html(<ProfilePage user={user} />);
|
|
45
|
+
* }
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param opts - Route configuration and handler
|
|
50
|
+
* @returns Route definition
|
|
51
|
+
*/
|
|
52
|
+
defineJSXRoute(opts) {
|
|
53
|
+
const routeConfigs = this.getJSXRouteConfigs({ configs: opts.configs });
|
|
54
|
+
return {
|
|
55
|
+
configs: routeConfigs,
|
|
56
|
+
route: this.router.openapi(routeConfigs, opts.handler, opts.hook),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.BaseController = BaseController;
|
|
61
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/controllers/base.ts"],"names":[],"mappings":";;;AAGA,yCAAgD;AAQhD,MAAsB,cAKpB,SAAQ,6BAAwE;IAChF,iFAAiF;IACjF,SAAS,CAA2C,IAEnD;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClB,OAAO;oBACL,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;iBAClD,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,WAAW,CAA2C,IAIrD;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,cAAc,CAAqE,IAIlF;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5E,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;CACF;AA1ED,wCA0EC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RestPaths = void 0;
|
|
4
|
+
class RestPaths {
|
|
5
|
+
static { this.ROOT = '/'; }
|
|
6
|
+
static { this.COUNT = '/count'; }
|
|
7
|
+
static { this.FIND_ONE = '/find-one'; }
|
|
8
|
+
}
|
|
9
|
+
exports.RestPaths = RestPaths;
|
|
10
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;aACJ,SAAI,GAAG,GAAG,CAAC;aACX,UAAK,GAAG,QAAQ,CAAC;aACjB,aAAQ,GAAG,WAAW,CAAC;;AAHzC,8BAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./constants"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { RouteConfig, RouteHandler } from '@hono/zod-openapi';
|
|
2
|
+
import { createRoute, Hook, OpenAPIHono } from '@hono/zod-openapi';
|
|
3
|
+
import { IConfigurable, TAuthStrategy, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
4
|
+
import { Env, Schema } from 'hono';
|
|
5
|
+
export type TLazyRouteHandler<RC extends RouteConfig, RouteEnv extends Env = Env> = RC extends RC ? RouteHandler<RC, RouteEnv> : never;
|
|
6
|
+
export type TRouteDefinition<RC extends RouteConfig, RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/'> = {
|
|
7
|
+
configs: ReturnType<typeof createRoute<string, RC>>;
|
|
8
|
+
route: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
9
|
+
};
|
|
10
|
+
export type TRouteBindingOptions<RC extends RouteConfig, RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/'> = {
|
|
11
|
+
configs: RC;
|
|
12
|
+
to: (opts: {
|
|
13
|
+
handler: TLazyRouteHandler<RC, RouteEnv>;
|
|
14
|
+
}) => TRouteDefinition<RC, RouteEnv, RouteSchema, BasePath>;
|
|
15
|
+
};
|
|
16
|
+
export type TAuthRouteConfig<RC extends RouteConfig> = RC & {
|
|
17
|
+
authStrategies?: readonly TAuthStrategy[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Extract the context type from a route config for use in decorated handler methods
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const config = {
|
|
25
|
+
* path: '/test',
|
|
26
|
+
* method: 'post',
|
|
27
|
+
* request: { body: jsonContent({ schema: z.object({ name: z.string() }) }) },
|
|
28
|
+
* responses: { 200: jsonContent({ schema: z.object({ id: z.string() }) }) }
|
|
29
|
+
* } as const;
|
|
30
|
+
*
|
|
31
|
+
* class MyController extends BaseController {
|
|
32
|
+
* @post({ configs: config })
|
|
33
|
+
* myMethod(context: TRouteContext<typeof config>): TRouteResponse<typeof config> {
|
|
34
|
+
* const body = context.req.valid('json'); // typed as { name: string }
|
|
35
|
+
* return context.json({ id: '123' }, 200); // validated against response schema
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export type TRouteContext<RC extends TAuthRouteConfig<RouteConfig>, RouteEnv extends Env = Env> = Parameters<TLazyRouteHandler<RC, RouteEnv>>[0];
|
|
41
|
+
/**
|
|
42
|
+
* Extract the return type from a route config for use in decorated handler methods.
|
|
43
|
+
*
|
|
44
|
+
* **Note:** This type is optional for decorated methods, as TypeScript can automatically
|
|
45
|
+
* infer and validate the return type from the route configuration. It can be useful for
|
|
46
|
+
* explicit clarity or in complex scenarios.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const config = {
|
|
51
|
+
* path: '/test',
|
|
52
|
+
* method: 'get',
|
|
53
|
+
* responses: { 200: jsonContent({ schema: z.object({ message: z.string() }) }) }
|
|
54
|
+
* } as const;
|
|
55
|
+
*
|
|
56
|
+
* class MyController extends BaseController {
|
|
57
|
+
* @get({ configs: config })
|
|
58
|
+
* myMethod(context: TRouteContext<typeof config>) { // TRouteResponse is optional here
|
|
59
|
+
* // Return type is validated - must return Response or TypedResponse matching the schema
|
|
60
|
+
* return context.json({ message: 'hello' }, 200);
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export type TRouteResponse<RC extends TAuthRouteConfig<RouteConfig>, RouteEnv extends Env = Env> = ReturnType<TLazyRouteHandler<RC, RouteEnv>>;
|
|
66
|
+
export interface IController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}> extends IConfigurable<ConfigurableOptions, OpenAPIHono<RouteEnv, RouteSchema, BasePath>> {
|
|
67
|
+
router: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
68
|
+
bindRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
69
|
+
configs: RC;
|
|
70
|
+
}): TRouteBindingOptions<RC, RouteEnv, RouteSchema, BasePath>;
|
|
71
|
+
defineRoute<RC extends TAuthRouteConfig<RouteConfig>>(opts: {
|
|
72
|
+
configs: RC;
|
|
73
|
+
handler: TLazyRouteHandler<RC, RouteEnv>;
|
|
74
|
+
hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;
|
|
75
|
+
}): TRouteDefinition<RC, RouteEnv, RouteSchema, BasePath>;
|
|
76
|
+
}
|
|
77
|
+
export interface IControllerOptions {
|
|
78
|
+
scope: string;
|
|
79
|
+
path: string;
|
|
80
|
+
isStrict?: boolean;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":"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"}
|