zibri 2.4.1 → 2.5.0
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/cjs/application-options.model.d.ts +2 -2
- package/dist/cjs/application-options.model.d.ts.map +1 -1
- package/dist/cjs/application.d.ts.map +1 -1
- package/dist/cjs/application.js +0 -1
- package/dist/cjs/application.js.map +1 -1
- package/dist/cjs/assets/asset.service.d.ts.map +1 -1
- package/dist/cjs/assets/asset.service.js +3 -1
- package/dist/cjs/assets/asset.service.js.map +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.d.ts +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.d.ts.map +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js +1 -1
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/cjs/backup/backup-resource-entity.model.d.ts +1 -1
- package/dist/cjs/backup/backup-resource-entity.model.d.ts.map +1 -1
- package/dist/cjs/backup/backup-resource-entity.model.js.map +1 -1
- package/dist/cjs/change-sets/models/change-set.model.d.ts +1 -1
- package/dist/cjs/change-sets/models/change-set.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/change-set.model.js +1 -1
- package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
- package/dist/cjs/change-sets/models/change.model.d.ts +2 -2
- package/dist/cjs/change-sets/models/change.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/change.model.js.map +1 -1
- package/dist/cjs/context/cache/cache.context.d.ts +2 -2
- package/dist/cjs/context/cache/cache.context.d.ts.map +1 -1
- package/dist/cjs/context/cache/cache.context.js +2 -2
- package/dist/cjs/context/cache/cache.context.js.map +1 -1
- package/dist/cjs/context/request/request-context-token.model.js +1 -1
- package/dist/cjs/context/request/request-context-token.model.js.map +1 -1
- package/dist/cjs/cron/cron-job-entity.model.d.ts +2 -2
- package/dist/cjs/cron/cron-job-entity.model.d.ts.map +1 -1
- package/dist/cjs/cron/cron-job-entity.model.js.map +1 -1
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts +1 -0
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js +9 -0
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -1
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js +3 -3
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -1
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts +2 -1
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +20 -0
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -1
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts +4 -0
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +3 -1
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -1
- package/dist/cjs/data-source/migration/migration-entity.model.d.ts +2 -2
- package/dist/cjs/data-source/migration/migration-entity.model.d.ts.map +1 -1
- package/dist/cjs/data-source/migration/migration-entity.model.js.map +1 -1
- package/dist/cjs/data-source/migration/migration.model.d.ts +2 -2
- package/dist/cjs/data-source/migration/migration.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts +10 -2
- package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts +17 -0
- package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter-keys.model.js +3 -0
- package/dist/cjs/data-source/models/where/where-filter-keys.model.js.map +1 -1
- package/dist/cjs/di/default/zibri-di-providers.default.d.ts.map +1 -1
- package/dist/cjs/di/default/zibri-di-providers.default.js +4 -0
- package/dist/cjs/di/default/zibri-di-providers.default.js.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +3 -0
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.js +2 -0
- package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/cjs/email/email.service.d.ts +1 -1
- package/dist/cjs/email/email.service.d.ts.map +1 -1
- package/dist/cjs/email/email.service.js +4 -4
- package/dist/cjs/email/email.service.js.map +1 -1
- package/dist/cjs/email/models/email.model.d.ts +4 -4
- package/dist/cjs/email/models/email.model.d.ts.map +1 -1
- package/dist/cjs/email/models/email.model.js +4 -4
- package/dist/cjs/email/models/email.model.js.map +1 -1
- package/dist/cjs/entity/generation/generate-entity-file.function.js +1 -1
- package/dist/cjs/entity/generation/generate-entity-file.function.js.map +1 -1
- package/dist/cjs/event/event-subscriber-run.model.d.ts +1 -1
- package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -1
- package/dist/cjs/event/event-subscriber-run.model.js +1 -1
- package/dist/cjs/event/event-subscriber-run.model.js.map +1 -1
- package/dist/cjs/global/global-registry.d.ts +2 -2
- package/dist/cjs/global/global-registry.d.ts.map +1 -1
- package/dist/cjs/http/http-request.model.d.ts +2 -2
- package/dist/cjs/http/http-request.model.d.ts.map +1 -1
- package/dist/cjs/http/known-header.enum.d.ts +1 -0
- package/dist/cjs/http/known-header.enum.d.ts.map +1 -1
- package/dist/cjs/http/known-header.enum.js +1 -0
- package/dist/cjs/http/known-header.enum.js.map +1 -1
- package/dist/cjs/http-client/http-client.d.ts.map +1 -1
- package/dist/cjs/http-client/http-client.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/localization/formatting/format-price.function.d.ts.map +1 -1
- package/dist/cjs/localization/formatting/format-price.function.js.map +1 -1
- package/dist/cjs/logging/log-context.model.d.ts +6 -6
- package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
- package/dist/cjs/logging/log-context.model.js +6 -6
- package/dist/cjs/logging/log-context.model.js.map +1 -1
- package/dist/cjs/logging/logger.js +1 -1
- package/dist/cjs/logging/logger.js.map +1 -1
- package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts +5 -5
- package/dist/cjs/multithreading/models/thread-job-entity.model.d.ts.map +1 -1
- package/dist/cjs/multithreading/models/thread-job-entity.model.js +4 -4
- package/dist/cjs/multithreading/models/thread-job-entity.model.js.map +1 -1
- package/dist/cjs/multithreading/services/thread-job.d.ts +4 -4
- package/dist/cjs/multithreading/services/thread-job.d.ts.map +1 -1
- package/dist/cjs/multithreading/services/thread-job.js.map +1 -1
- package/dist/cjs/open-api/open-api-service.interface.d.ts +2 -1
- package/dist/cjs/open-api/open-api-service.interface.d.ts.map +1 -1
- package/dist/cjs/open-api/open-api.service.d.ts +5 -2
- package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
- package/dist/cjs/open-api/open-api.service.js +256 -139
- package/dist/cjs/open-api/open-api.service.js.map +1 -1
- package/dist/cjs/parsing/html/csp-options.model.d.ts +1 -1
- package/dist/cjs/parsing/html/csp-options.model.d.ts.map +1 -1
- package/dist/cjs/parsing/html/csp-options.model.js.map +1 -1
- package/dist/cjs/parsing/parser.js +3 -3
- package/dist/cjs/parsing/parser.js.map +1 -1
- package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts +2 -2
- package/dist/cjs/plugin/invoicing/models/invoice-address.model.d.ts.map +1 -1
- package/dist/cjs/plugin/invoicing/models/invoice-address.model.js +2 -2
- package/dist/cjs/plugin/invoicing/models/invoice-address.model.js.map +1 -1
- package/dist/cjs/plugin/invoicing/models/vat.model.d.ts +1 -1
- package/dist/cjs/plugin/invoicing/models/vat.model.d.ts.map +1 -1
- package/dist/cjs/plugin/invoicing/models/vat.model.js +1 -1
- package/dist/cjs/plugin/invoicing/models/vat.model.js.map +1 -1
- package/dist/cjs/plugin/mailing-list/mailing-list.controller.js +1 -1
- package/dist/cjs/plugin/mailing-list/mailing-list.controller.js.map +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.d.ts.map +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.d.ts.map +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
- package/dist/cjs/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
- package/dist/cjs/plugin/payment/models/payment.model.d.ts +2 -2
- package/dist/cjs/plugin/payment/models/payment.model.d.ts.map +1 -1
- package/dist/cjs/plugin/payment/models/payment.model.js +1 -1
- package/dist/cjs/plugin/payment/models/payment.model.js.map +1 -1
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts +17 -17
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.d.ts.map +1 -1
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
- package/dist/cjs/preact/preact.utilities.js +1 -1
- package/dist/cjs/preact/preact.utilities.js.map +1 -1
- package/dist/cjs/preact/validate-email-templates.function.js +1 -1
- package/dist/cjs/preact/validate-email-templates.function.js.map +1 -1
- package/dist/cjs/rate-limiting/rate-limiter.d.ts +10 -5
- package/dist/cjs/rate-limiting/rate-limiter.d.ts.map +1 -1
- package/dist/cjs/rate-limiting/rate-limiter.js +22 -12
- package/dist/cjs/rate-limiting/rate-limiter.js.map +1 -1
- package/dist/cjs/routing/controller-route-configuration.model.d.ts +5 -0
- package/dist/cjs/routing/controller-route-configuration.model.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/controller.decorator.d.ts +5 -0
- package/dist/cjs/routing/decorators/controller.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/controller.decorator.js +3 -2
- package/dist/cjs/routing/decorators/controller.decorator.js.map +1 -1
- package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts +2 -1
- package/dist/cjs/routing/decorators/create-http-decorator.function.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/create-http-decorator.function.js +2 -2
- package/dist/cjs/routing/decorators/create-http-decorator.function.js.map +1 -1
- package/dist/cjs/routing/decorators/delete.decorator.d.ts +3 -1
- package/dist/cjs/routing/decorators/delete.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/delete.decorator.js +3 -2
- package/dist/cjs/routing/decorators/delete.decorator.js.map +1 -1
- package/dist/cjs/routing/decorators/get.decorator.d.ts +3 -1
- package/dist/cjs/routing/decorators/get.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/get.decorator.js +3 -2
- package/dist/cjs/routing/decorators/get.decorator.js.map +1 -1
- package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts +11 -0
- package/dist/cjs/routing/decorators/http-decorator-option-input.model.d.ts.map +1 -0
- package/dist/cjs/routing/decorators/http-decorator-option-input.model.js +3 -0
- package/dist/cjs/routing/decorators/http-decorator-option-input.model.js.map +1 -0
- package/dist/cjs/routing/decorators/patch.decorator.d.ts +3 -1
- package/dist/cjs/routing/decorators/patch.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/patch.decorator.js +3 -2
- package/dist/cjs/routing/decorators/patch.decorator.js.map +1 -1
- package/dist/cjs/routing/decorators/post.decorator.d.ts +3 -1
- package/dist/cjs/routing/decorators/post.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/post.decorator.js +3 -2
- package/dist/cjs/routing/decorators/post.decorator.js.map +1 -1
- package/dist/cjs/routing/resolve-route-params.function.js +1 -0
- package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
- package/dist/cjs/routing/route-configuration.model.d.ts +11 -1
- package/dist/cjs/routing/route-configuration.model.d.ts.map +1 -1
- package/dist/cjs/routing/router.d.ts +6 -2
- package/dist/cjs/routing/router.d.ts.map +1 -1
- package/dist/cjs/routing/router.js +173 -88
- package/dist/cjs/routing/router.js.map +1 -1
- package/dist/cjs/utilities/fs.utilities.d.ts +1 -1
- package/dist/cjs/utilities/fs.utilities.js +1 -1
- package/dist/cjs/utilities/sem-ver.utilities.d.ts +46 -0
- package/dist/cjs/utilities/sem-ver.utilities.d.ts.map +1 -0
- package/dist/cjs/utilities/sem-ver.utilities.js +204 -0
- package/dist/cjs/utilities/sem-ver.utilities.js.map +1 -0
- package/dist/cjs/utilities/uuid.utilities.js +2 -2
- package/dist/cjs/utilities/uuid.utilities.js.map +1 -1
- package/dist/cjs/versioning/route-with-version-data.model.d.ts +15 -0
- package/dist/cjs/versioning/route-with-version-data.model.d.ts.map +1 -0
- package/dist/cjs/versioning/route-with-version-data.model.js +3 -0
- package/dist/cjs/versioning/route-with-version-data.model.js.map +1 -0
- package/dist/cjs/versioning/supported-versions-options.model.d.ts +17 -0
- package/dist/cjs/versioning/supported-versions-options.model.d.ts.map +1 -0
- package/dist/cjs/versioning/supported-versions-options.model.js +3 -0
- package/dist/cjs/versioning/supported-versions-options.model.js.map +1 -0
- package/dist/cjs/versioning/version.model.d.ts +29 -0
- package/dist/cjs/versioning/version.model.d.ts.map +1 -0
- package/dist/{esm/types/version.type.js → cjs/versioning/version.model.js} +1 -1
- package/dist/cjs/versioning/version.model.js.map +1 -0
- package/dist/cjs/versioning/versioning-service.interface.d.ts +31 -0
- package/dist/cjs/versioning/versioning-service.interface.d.ts.map +1 -0
- package/dist/cjs/versioning/versioning-service.interface.js +3 -0
- package/dist/cjs/versioning/versioning-service.interface.js.map +1 -0
- package/dist/cjs/versioning/versioning.service.d.ts +41 -0
- package/dist/cjs/versioning/versioning.service.d.ts.map +1 -0
- package/dist/cjs/versioning/versioning.service.js +366 -0
- package/dist/cjs/versioning/versioning.service.js.map +1 -0
- package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts +10 -0
- package/dist/cjs/websocket/decorators/websocket-controller.decorator.d.ts.map +1 -1
- package/dist/cjs/websocket/decorators/websocket-controller.decorator.js +2 -2
- package/dist/cjs/websocket/decorators/websocket-controller.decorator.js.map +1 -1
- package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts +13 -1
- package/dist/cjs/websocket/decorators/websocket-route.decorator.d.ts.map +1 -1
- package/dist/cjs/websocket/decorators/websocket-route.decorator.js +3 -2
- package/dist/cjs/websocket/decorators/websocket-route.decorator.js.map +1 -1
- package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts +5 -0
- package/dist/cjs/websocket/models/connection/base-websocket-connection.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts +3 -1
- package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
- package/dist/cjs/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
- package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts +6 -0
- package/dist/cjs/websocket/models/websocket-controller-route-configuration.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/websocket-message.model.d.ts +2 -2
- package/dist/cjs/websocket/models/websocket-message.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/websocket-message.model.js.map +1 -1
- package/dist/cjs/websocket/models/websocket-request.model.d.ts +3 -3
- package/dist/cjs/websocket/models/websocket-request.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/websocket-request.model.js +1 -1
- package/dist/cjs/websocket/models/websocket-request.model.js.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.d.ts +6 -4
- package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.js +121 -33
- package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
- package/dist/esm/application.js +0 -1
- package/dist/esm/application.js.map +1 -1
- package/dist/esm/assets/asset.service.js +3 -1
- package/dist/esm/assets/asset.service.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
- package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js +1 -1
- package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +1 -1
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
- package/dist/esm/change-sets/models/change-set.model.js +1 -1
- package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
- package/dist/esm/change-sets/models/change.model.js.map +1 -1
- package/dist/esm/context/cache/cache.context.js +2 -2
- package/dist/esm/context/cache/cache.context.js.map +1 -1
- package/dist/esm/context/request/request-context-token.model.js +1 -1
- package/dist/esm/context/request/request-context-token.model.js.map +1 -1
- package/dist/esm/cron/cron-job-entity.model.js.map +1 -1
- package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js +9 -0
- package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -1
- package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js +3 -3
- package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -1
- package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +20 -0
- package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -1
- package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +3 -1
- package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -1
- package/dist/esm/data-source/migration/migration-entity.model.js.map +1 -1
- package/dist/esm/data-source/models/where/where-filter-keys.model.js +3 -0
- package/dist/esm/data-source/models/where/where-filter-keys.model.js.map +1 -1
- package/dist/esm/di/default/zibri-di-providers.default.js +4 -0
- package/dist/esm/di/default/zibri-di-providers.default.js.map +1 -1
- package/dist/esm/di/default/zibri-di-tokens.default.js +2 -0
- package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/esm/email/email.service.js +4 -4
- package/dist/esm/email/email.service.js.map +1 -1
- package/dist/esm/email/models/email.model.js +4 -4
- package/dist/esm/email/models/email.model.js.map +1 -1
- package/dist/esm/entity/generation/generate-entity-file.function.js +1 -1
- package/dist/esm/entity/generation/generate-entity-file.function.js.map +1 -1
- package/dist/esm/event/event-subscriber-run.model.js +1 -1
- package/dist/esm/event/event-subscriber-run.model.js.map +1 -1
- package/dist/esm/http/known-header.enum.js +1 -0
- package/dist/esm/http/known-header.enum.js.map +1 -1
- package/dist/esm/http-client/http-client.js.map +1 -1
- package/dist/esm/index.js +8 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/localization/formatting/format-price.function.js.map +1 -1
- package/dist/esm/logging/log-context.model.js +6 -6
- package/dist/esm/logging/log-context.model.js.map +1 -1
- package/dist/esm/logging/logger.js +1 -1
- package/dist/esm/logging/logger.js.map +1 -1
- package/dist/esm/multithreading/models/thread-job-entity.model.js +4 -4
- package/dist/esm/multithreading/models/thread-job-entity.model.js.map +1 -1
- package/dist/esm/multithreading/services/thread-job.js.map +1 -1
- package/dist/esm/open-api/open-api.service.js +256 -139
- package/dist/esm/open-api/open-api.service.js.map +1 -1
- package/dist/esm/parsing/html/csp-options.model.js.map +1 -1
- package/dist/esm/parsing/parser.js +3 -3
- package/dist/esm/parsing/parser.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/invoice-address.model.js +2 -2
- package/dist/esm/plugin/invoicing/models/invoice-address.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/vat.model.js +1 -1
- package/dist/esm/plugin/invoicing/models/vat.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/mailing-list.controller.js +1 -1
- package/dist/esm/plugin/mailing-list/mailing-list.controller.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
- package/dist/esm/plugin/payment/models/payment.model.js +1 -1
- package/dist/esm/plugin/payment/models/payment.model.js.map +1 -1
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js +17 -17
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +1 -1
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
- package/dist/esm/preact/preact.utilities.js +1 -1
- package/dist/esm/preact/preact.utilities.js.map +1 -1
- package/dist/esm/preact/validate-email-templates.function.js +1 -1
- package/dist/esm/preact/validate-email-templates.function.js.map +1 -1
- package/dist/esm/rate-limiting/rate-limiter.js +22 -12
- package/dist/esm/rate-limiting/rate-limiter.js.map +1 -1
- package/dist/esm/routing/decorators/controller.decorator.js +3 -2
- package/dist/esm/routing/decorators/controller.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/create-http-decorator.function.js +2 -2
- package/dist/esm/routing/decorators/create-http-decorator.function.js.map +1 -1
- package/dist/esm/routing/decorators/delete.decorator.js +3 -2
- package/dist/esm/routing/decorators/delete.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/get.decorator.js +3 -2
- package/dist/esm/routing/decorators/get.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/http-decorator-option-input.model.js +3 -0
- package/dist/esm/routing/decorators/http-decorator-option-input.model.js.map +1 -0
- package/dist/esm/routing/decorators/patch.decorator.js +3 -2
- package/dist/esm/routing/decorators/patch.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/post.decorator.js +3 -2
- package/dist/esm/routing/decorators/post.decorator.js.map +1 -1
- package/dist/esm/routing/resolve-route-params.function.js +1 -0
- package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
- package/dist/esm/routing/router.js +173 -88
- package/dist/esm/routing/router.js.map +1 -1
- package/dist/esm/utilities/fs.utilities.js +1 -1
- package/dist/esm/utilities/sem-ver.utilities.js +204 -0
- package/dist/esm/utilities/sem-ver.utilities.js.map +1 -0
- package/dist/esm/utilities/uuid.utilities.js +2 -2
- package/dist/esm/utilities/uuid.utilities.js.map +1 -1
- package/dist/esm/versioning/route-with-version-data.model.js +3 -0
- package/dist/esm/versioning/route-with-version-data.model.js.map +1 -0
- package/dist/esm/versioning/supported-versions-options.model.js +3 -0
- package/dist/esm/versioning/supported-versions-options.model.js.map +1 -0
- package/dist/{cjs/types/version.type.js → esm/versioning/version.model.js} +1 -1
- package/dist/esm/versioning/version.model.js.map +1 -0
- package/dist/esm/versioning/versioning-service.interface.js +3 -0
- package/dist/esm/versioning/versioning-service.interface.js.map +1 -0
- package/dist/esm/versioning/versioning.service.js +366 -0
- package/dist/esm/versioning/versioning.service.js.map +1 -0
- package/dist/esm/websocket/decorators/websocket-controller.decorator.js +2 -2
- package/dist/esm/websocket/decorators/websocket-controller.decorator.js.map +1 -1
- package/dist/esm/websocket/decorators/websocket-route.decorator.js +3 -2
- package/dist/esm/websocket/decorators/websocket-route.decorator.js.map +1 -1
- package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js +3 -1
- package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-request.model.js +1 -1
- package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
- package/dist/esm/websocket/services/websocket.service.js +121 -33
- package/dist/esm/websocket/services/websocket.service.js.map +1 -1
- package/package.json +17 -19
- package/src/__testing__/test-server/providers.ts +25 -1
- package/src/__testing__/test-server/start-test-server.function.ts +76 -8
- package/src/application-options.model.ts +2 -2
- package/src/application.ts +0 -1
- package/src/assets/asset.service.ts +3 -1
- package/src/auth/2fa/methods/otp/otp-credentials.model.ts +1 -1
- package/src/auth/2fa/methods/otp/otp.two-factor-method.ts +1 -1
- package/src/auth/strategies/cookie/cookie-auth.controller.ts +1 -1
- package/src/auth/strategies/jwt/jwt-auth.controller.ts +1 -1
- package/src/auth/strategies/jwt/jwt.auth-strategy.ts +1 -1
- package/src/backup/backup-resource-entity.model.ts +1 -1
- package/src/backup/backup-service.test.ts +2 -1
- package/src/change-sets/models/change-set.model.ts +1 -1
- package/src/change-sets/models/change.model.ts +2 -2
- package/src/context/cache/cache.context.ts +2 -2
- package/src/context/request/request-context-token.model.ts +1 -1
- package/src/cron/cron-job-entity.model.ts +2 -2
- package/src/data-source/data-sources/postgres-typeorm-data-source.model.ts +10 -0
- package/src/data-source/data-sources/typeorm-base-data-source.model.ts +4 -5
- package/src/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.ts +35 -2
- package/src/data-source/data-sources/where-converter/typeorm-where-filter.converter.ts +14 -1
- package/src/data-source/hooks/hooks.test.ts +1 -1
- package/src/data-source/migration/migration-entity.model.ts +2 -2
- package/src/data-source/migration/migration.model.ts +2 -2
- package/src/data-source/migration/migration.test.ts +2 -2
- package/src/data-source/models/where/date-where-filter.model.ts +11 -3
- package/src/data-source/models/where/string-where-filter.model.ts +18 -1
- package/src/data-source/models/where/where-filter-keys.model.ts +3 -0
- package/src/data-source/nested-where-filter.test.ts +8 -3
- package/src/data-source/repository.test.ts +2 -2
- package/src/data-source/where-filter.test.ts +17 -7
- package/src/di/default/zibri-di-providers.default.ts +4 -0
- package/src/di/default/zibri-di-tokens.default.ts +3 -0
- package/src/email/email.service.ts +5 -5
- package/src/email/models/email.model.ts +4 -4
- package/src/entity/generation/generate-entity-file.function.ts +1 -1
- package/src/event/event-subscriber-run.model.ts +1 -1
- package/src/global/global-registry.ts +2 -2
- package/src/http/http-request.model.ts +2 -2
- package/src/http/known-header.enum.ts +1 -0
- package/src/http-client/http-client.ts +0 -1
- package/src/index.ts +9 -3
- package/src/localization/formatting/format-price.function.ts +2 -3
- package/src/logging/log-context.model.ts +6 -6
- package/src/logging/logger.ts +1 -1
- package/src/multithreading/models/thread-job-entity.model.ts +5 -5
- package/src/multithreading/services/thread-job.ts +4 -4
- package/src/open-api/open-api-service.interface.ts +2 -1
- package/src/open-api/open-api.service.ts +263 -141
- package/src/parsing/html/csp-options.model.ts +3 -0
- package/src/parsing/parser.ts +3 -3
- package/src/plugin/invoicing/models/invoice-address.model.ts +2 -2
- package/src/plugin/invoicing/models/vat.model.ts +1 -1
- package/src/plugin/mailing-list/mailing-list.controller.ts +1 -1
- package/src/plugin/mailing-list/models/mailing-list-subscriber.model.ts +1 -1
- package/src/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.ts +1 -1
- package/src/plugin/payment/models/payment.model.ts +2 -2
- package/src/plugin/payment/providers/pay-pal/pay-pal-client.ts +17 -17
- package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.test.ts +1 -1
- package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.ts +1 -1
- package/src/preact/preact.utilities.ts +1 -1
- package/src/preact/validate-email-templates.function.ts +1 -1
- package/src/rate-limiting/rate-limiter.ts +23 -12
- package/src/routing/controller-route-configuration.model.ts +6 -1
- package/src/routing/decorators/controller.decorator.ts +8 -2
- package/src/routing/decorators/create-http-decorator.function.ts +3 -2
- package/src/routing/decorators/delete.decorator.ts +4 -2
- package/src/routing/decorators/get.decorator.ts +4 -2
- package/src/routing/decorators/http-decorator-option-input.model.ts +11 -0
- package/src/routing/decorators/patch.decorator.ts +4 -2
- package/src/routing/decorators/post.decorator.ts +4 -2
- package/src/routing/resolve-route-params.function.ts +1 -0
- package/src/routing/route-configuration.model.ts +13 -3
- package/src/routing/router.ts +265 -134
- package/src/utilities/fs.utilities.ts +1 -1
- package/src/utilities/sem-ver.utilities.ts +270 -0
- package/src/utilities/uuid.utilities.ts +2 -2
- package/src/versioning/route-with-version-data.model.ts +15 -0
- package/src/versioning/supported-versions-options.model.ts +25 -0
- package/src/versioning/version.model.ts +30 -0
- package/src/versioning/versioning-service.interface.ts +39 -0
- package/src/versioning/versioning-websocket.test.ts +351 -0
- package/src/versioning/versioning.service.test.ts +582 -0
- package/src/versioning/versioning.service.ts +496 -0
- package/src/websocket/decorators/websocket-controller.decorator.ts +13 -3
- package/src/websocket/decorators/websocket-route.decorator.ts +15 -2
- package/src/websocket/models/connection/base-websocket-connection.model.ts +6 -0
- package/src/websocket/models/connection/socket-io-websocket-connection.model.ts +8 -1
- package/src/websocket/models/websocket-controller-route-configuration.model.ts +8 -1
- package/src/websocket/models/websocket-message.model.ts +2 -2
- package/src/websocket/models/websocket-request.model.ts +4 -3
- package/src/websocket/services/websocket.service.ts +143 -38
- package/dist/cjs/types/version.type.d.ts +0 -5
- package/dist/cjs/types/version.type.d.ts.map +0 -1
- package/dist/cjs/types/version.type.js.map +0 -1
- package/dist/cjs/utilities/compare-versions.function.d.ts +0 -9
- package/dist/cjs/utilities/compare-versions.function.d.ts.map +0 -1
- package/dist/cjs/utilities/compare-versions.function.js +0 -33
- package/dist/cjs/utilities/compare-versions.function.js.map +0 -1
- package/dist/cjs/utilities/is-version.function.d.ts +0 -7
- package/dist/cjs/utilities/is-version.function.d.ts.map +0 -1
- package/dist/cjs/utilities/is-version.function.js +0 -18
- package/dist/cjs/utilities/is-version.function.js.map +0 -1
- package/dist/esm/types/version.type.js.map +0 -1
- package/dist/esm/utilities/compare-versions.function.js +0 -33
- package/dist/esm/utilities/compare-versions.function.js.map +0 -1
- package/dist/esm/utilities/is-version.function.js +0 -18
- package/dist/esm/utilities/is-version.function.js.map +0 -1
- package/src/types/version.type.ts +0 -4
- package/src/utilities/compare-versions.function.ts +0 -33
- package/src/utilities/is-version.function.ts +0 -16
|
@@ -11,8 +11,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
14
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
18
|
exports.Router = void 0;
|
|
19
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
16
20
|
const express_1 = require("express");
|
|
17
21
|
const body_decorator_1 = require("./decorators/body.decorator");
|
|
18
22
|
const missing_base_route_error_1 = require("./missing-base-route.error");
|
|
@@ -22,6 +26,7 @@ const inject_decorator_1 = require("../di/decorators/inject.decorator");
|
|
|
22
26
|
const injectable_decorator_1 = require("../di/decorators/injectable.decorator");
|
|
23
27
|
const zibri_di_tokens_default_1 = require("../di/default/zibri-di-tokens.default");
|
|
24
28
|
const inject_function_1 = require("../di/inject.function");
|
|
29
|
+
const not_found_error_1 = require("../error-handling/errors/not-found.error");
|
|
25
30
|
const global_registry_1 = require("../global/global-registry");
|
|
26
31
|
const http_method_enum_1 = require("../http/http-method.enum");
|
|
27
32
|
const known_header_enum_1 = require("../http/known-header.enum");
|
|
@@ -46,8 +51,13 @@ let Router = class Router {
|
|
|
46
51
|
expressRouter = (0, express_1.Router)();
|
|
47
52
|
allBaseRoutes = [];
|
|
48
53
|
allFinalRoutes = [];
|
|
54
|
+
initComplete = false;
|
|
49
55
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
50
56
|
manuallyRegisteredRoutes = [];
|
|
57
|
+
pendingRouteGroups = new Map();
|
|
58
|
+
get versioningService() {
|
|
59
|
+
return (0, inject_function_1.inject)(zibri_di_tokens_default_1.ZIBRI_DI_TOKENS.VERSIONING_SERVICE);
|
|
60
|
+
}
|
|
51
61
|
constructor(logger, parser, validationService, authService) {
|
|
52
62
|
this.logger = logger;
|
|
53
63
|
this.parser = parser;
|
|
@@ -63,6 +73,12 @@ let Router = class Router {
|
|
|
63
73
|
await this.registerController(controller);
|
|
64
74
|
}
|
|
65
75
|
this.checkForOrphanedControllers(app.options.controllers);
|
|
76
|
+
for (const group of this.pendingRouteGroups.values()) {
|
|
77
|
+
const dispatchHandler = this.createDispatchHandler(group.entries);
|
|
78
|
+
await this.logger.debug(`- mounting ${group.httpMethod.toUpperCase()} ${group.finalRoute}`);
|
|
79
|
+
this.expressRouter[group.httpMethod](group.finalRoute, dispatchHandler);
|
|
80
|
+
}
|
|
81
|
+
this.initComplete = true;
|
|
66
82
|
}
|
|
67
83
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
68
84
|
onAppStart(app) {
|
|
@@ -83,10 +99,29 @@ let Router = class Router {
|
|
|
83
99
|
}
|
|
84
100
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
85
101
|
async registerRoute(input) {
|
|
86
|
-
|
|
87
|
-
|
|
102
|
+
const key = `${input.httpMethod.toUpperCase()} ${input.route}`;
|
|
103
|
+
const versions = input.versions ?? ['^latest'];
|
|
104
|
+
const currentLatest = global_registry_1.GlobalRegistry.getAppData('version');
|
|
105
|
+
(0, node_assert_1.default)(currentLatest);
|
|
106
|
+
const overlappingRoute = this.allFinalRoutes.find(r => r.key === key && this.versioningService.hasOverlappingVersions(r.versions, versions, currentLatest));
|
|
107
|
+
if (overlappingRoute) {
|
|
108
|
+
const overlappingVersions = this.versioningService.findOverlappingVersions(overlappingRoute.versions, versions, currentLatest);
|
|
109
|
+
if (overlappingVersions === 'all') {
|
|
110
|
+
throw new Error([
|
|
111
|
+
`The route "${key}"`,
|
|
112
|
+
// eslint-disable-next-line sonar/no-duplicate-string
|
|
113
|
+
'has been defined more than once.',
|
|
114
|
+
// eslint-disable-next-line sonar/no-duplicate-string
|
|
115
|
+
'(versions: \'all\' has been used)'
|
|
116
|
+
].join(' '));
|
|
117
|
+
}
|
|
118
|
+
throw new Error([
|
|
119
|
+
`The route "${key}"`,
|
|
120
|
+
`for the ${overlappingVersions.length > 1 ? 'versions' : 'version'} "${overlappingVersions.join(', ')}"`,
|
|
121
|
+
'has been defined more than once.'
|
|
122
|
+
].join(' '));
|
|
88
123
|
}
|
|
89
|
-
this.allFinalRoutes.push(
|
|
124
|
+
this.allFinalRoutes.push({ key, versions });
|
|
90
125
|
const pathParams = {};
|
|
91
126
|
for (const key in input.pathParams) {
|
|
92
127
|
pathParams[key] = (0, param_metdata_helpers_1.createPathParamMetadata)(key, input.pathParams[key]);
|
|
@@ -101,6 +136,7 @@ let Router = class Router {
|
|
|
101
136
|
}
|
|
102
137
|
// eslint-disable-next-line typescript/no-explicit-any
|
|
103
138
|
const route = {
|
|
139
|
+
versions: ['^latest'],
|
|
104
140
|
...input,
|
|
105
141
|
openApi: this.createOpenApiRouteConfiguration(input.openApi, input.httpMethod),
|
|
106
142
|
bodyMetadata: input.bodyMetadata
|
|
@@ -120,10 +156,63 @@ let Router = class Router {
|
|
|
120
156
|
queryParams,
|
|
121
157
|
headerParams
|
|
122
158
|
};
|
|
123
|
-
|
|
124
|
-
await this.logger.debug(`- mounting ${route.httpMethod.toUpperCase()} ${route.route}`);
|
|
159
|
+
await this.logger.debug(`- mounting ${key}`);
|
|
125
160
|
this.manuallyRegisteredRoutes.push(route);
|
|
126
|
-
this.
|
|
161
|
+
const innerHandler = this.createManualRouteInnerHandler(route);
|
|
162
|
+
// eslint-disable-next-line typescript/typedef
|
|
163
|
+
const existing = this.pendingRouteGroups.get(key);
|
|
164
|
+
if (existing) {
|
|
165
|
+
existing.entries.push({ versions, innerHandler });
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.pendingRouteGroups.set(key, {
|
|
169
|
+
httpMethod: input.httpMethod,
|
|
170
|
+
finalRoute: input.route,
|
|
171
|
+
entries: [{ versions, innerHandler }]
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
// If init has already completed, mount immediately since the deferred loop has already run
|
|
175
|
+
if (this.initComplete) {
|
|
176
|
+
// eslint-disable-next-line typescript/typedef, typescript/no-non-null-assertion
|
|
177
|
+
const group = this.pendingRouteGroups.get(key);
|
|
178
|
+
this.expressRouter[input.httpMethod](input.route, this.createDispatchHandler(group.entries));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
createManualRouteInnerHandler(route) {
|
|
182
|
+
return async (context, next) => {
|
|
183
|
+
try {
|
|
184
|
+
for (const key of object_utilities_1.ObjectUtilities.keys(route.pathParams)) {
|
|
185
|
+
context.request.params[key] = this.parser.parsePathParam(context.request, route.pathParams[key]);
|
|
186
|
+
}
|
|
187
|
+
for (const key of object_utilities_1.ObjectUtilities.keys(route.queryParams)) {
|
|
188
|
+
context.request.query[key] = this.parser.parseQueryParam(context.request, route.queryParams[key]);
|
|
189
|
+
}
|
|
190
|
+
for (const key of object_utilities_1.ObjectUtilities.keys(route.headerParams)) {
|
|
191
|
+
context.request.headers[key] = this.parser.parseHeaderParam(context.request, route.headerParams[key]);
|
|
192
|
+
}
|
|
193
|
+
if (route.bodyMetadata) {
|
|
194
|
+
context.request.body = await this.parser.parseBody(context.request, route.bodyMetadata);
|
|
195
|
+
}
|
|
196
|
+
await Promise.all([
|
|
197
|
+
...object_utilities_1.ObjectUtilities.keys(route.pathParams).map(async (key) => {
|
|
198
|
+
await this.validationService.validatePathParam(context.request.params[key], route.pathParams[key]);
|
|
199
|
+
}),
|
|
200
|
+
...object_utilities_1.ObjectUtilities.keys(route.queryParams).map(async (key) => {
|
|
201
|
+
await this.validationService.validateQueryParam(context.request.query[key], route.queryParams[key]);
|
|
202
|
+
}),
|
|
203
|
+
...object_utilities_1.ObjectUtilities.keys(route.headerParams).map(async (key) => {
|
|
204
|
+
await this.validationService.validateHeaderParam(context.request.headers[key], route.headerParams[key]);
|
|
205
|
+
}),
|
|
206
|
+
...route.bodyMetadata ? [this.validationService.validateBody(context.request.body, route.bodyMetadata)] : []
|
|
207
|
+
]);
|
|
208
|
+
// eslint-disable-next-line typescript/no-explicit-any
|
|
209
|
+
const result = await route.handler(context.request, context.response, next);
|
|
210
|
+
await this.returnResult(context.response, result, next, []);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
next(error);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
127
216
|
}
|
|
128
217
|
createOpenApiRouteConfiguration(input, httpMethod) {
|
|
129
218
|
if (input?.useInOpenApi === true) {
|
|
@@ -139,14 +228,14 @@ let Router = class Router {
|
|
|
139
228
|
switch (httpMethod) {
|
|
140
229
|
case http_method_enum_1.HttpMethod.HEAD:
|
|
141
230
|
case http_method_enum_1.HttpMethod.OPTIONS:
|
|
142
|
-
case http_method_enum_1.HttpMethod.TRACE:
|
|
143
|
-
case http_method_enum_1.HttpMethod.GET: {
|
|
231
|
+
case http_method_enum_1.HttpMethod.TRACE: {
|
|
144
232
|
return { useInOpenApi: false };
|
|
145
233
|
}
|
|
146
234
|
case http_method_enum_1.HttpMethod.POST:
|
|
147
235
|
case http_method_enum_1.HttpMethod.PUT:
|
|
148
236
|
case http_method_enum_1.HttpMethod.PATCH:
|
|
149
|
-
case http_method_enum_1.HttpMethod.DELETE:
|
|
237
|
+
case http_method_enum_1.HttpMethod.DELETE:
|
|
238
|
+
case http_method_enum_1.HttpMethod.GET: {
|
|
150
239
|
return {
|
|
151
240
|
responses: [],
|
|
152
241
|
tags: [],
|
|
@@ -155,30 +244,71 @@ let Router = class Router {
|
|
|
155
244
|
}
|
|
156
245
|
}
|
|
157
246
|
}
|
|
158
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
247
|
+
// eslint-disable-next-line jsdoc/require-jsdoc, sonar/cognitive-complexity
|
|
159
248
|
async registerController(controllerClass) {
|
|
160
249
|
const controllerData = metadata_utilities_1.MetadataUtilities.getControllerData(controllerClass);
|
|
161
250
|
if (controllerData == undefined) {
|
|
162
251
|
throw new missing_base_route_error_1.MissingBaseRouteError(controllerClass);
|
|
163
252
|
}
|
|
164
|
-
|
|
165
|
-
|
|
253
|
+
const currentLatest = global_registry_1.GlobalRegistry.getAppData('version');
|
|
254
|
+
(0, node_assert_1.default)(currentLatest);
|
|
255
|
+
const overlappingBaseRoute = this.allBaseRoutes.find(r => r.key === controllerData.baseRoute && this.versioningService.hasOverlappingVersions(r.versions, controllerData.versions, currentLatest));
|
|
256
|
+
if (overlappingBaseRoute) {
|
|
257
|
+
const overlappingVersions = this.versioningService.findOverlappingVersions(overlappingBaseRoute.versions, controllerData.versions, currentLatest);
|
|
258
|
+
if (overlappingVersions === 'all') {
|
|
259
|
+
throw new Error([
|
|
260
|
+
`The base route "${controllerData.baseRoute}"`,
|
|
261
|
+
'has been defined on more than one controller.',
|
|
262
|
+
'(versions: \'all\' has been used)'
|
|
263
|
+
].join(' '));
|
|
264
|
+
}
|
|
265
|
+
throw new Error([
|
|
266
|
+
`The base route "${controllerData.baseRoute}"`,
|
|
267
|
+
`for the ${overlappingVersions.length > 1 ? 'versions' : 'version'} "${overlappingVersions.join(', ')}"`,
|
|
268
|
+
'has been defined on more than one controller.'
|
|
269
|
+
].join(' '));
|
|
166
270
|
}
|
|
167
|
-
this.allBaseRoutes.push(controllerData.baseRoute);
|
|
271
|
+
this.allBaseRoutes.push({ key: controllerData.baseRoute, versions: controllerData.versions });
|
|
168
272
|
const routes = metadata_utilities_1.MetadataUtilities.getControllerRoutes(controllerClass);
|
|
169
273
|
for (const route of routes) {
|
|
170
|
-
const handler = await this.controllerRouteToRequestHandler(controllerClass, route);
|
|
171
274
|
const finalRoute = controllerData.baseRoute === '/' ? route.route : `${controllerData.baseRoute}${route.route}`;
|
|
172
|
-
|
|
173
|
-
|
|
275
|
+
const key = `${route.httpMethod.toUpperCase()} ${finalRoute}`;
|
|
276
|
+
const versions = route.versions ?? controllerData.versions;
|
|
277
|
+
const overlappingRoute = this.allFinalRoutes.find(r => r.key === key && this.versioningService.hasOverlappingVersions(r.versions, versions, currentLatest));
|
|
278
|
+
if (overlappingRoute) {
|
|
279
|
+
const overlappingVersions = this.versioningService.findOverlappingVersions(overlappingRoute.versions, versions, currentLatest);
|
|
280
|
+
if (overlappingVersions === 'all') {
|
|
281
|
+
throw new Error([
|
|
282
|
+
`The route "${key}"`,
|
|
283
|
+
'has been defined more than once.',
|
|
284
|
+
'(versions: \'all\' has been used)'
|
|
285
|
+
].join(' '));
|
|
286
|
+
}
|
|
287
|
+
throw new Error([
|
|
288
|
+
`The route "${key}"`,
|
|
289
|
+
`for the ${overlappingVersions.length > 1 ? 'versions' : 'version'} "${overlappingVersions.join(', ')}"`,
|
|
290
|
+
'has been defined more than once.'
|
|
291
|
+
].join(' '));
|
|
174
292
|
}
|
|
175
|
-
this.allFinalRoutes.push(
|
|
176
|
-
await this.
|
|
177
|
-
|
|
293
|
+
this.allFinalRoutes.push({ key, versions });
|
|
294
|
+
const innerHandler = await this.createControllerInnerHandler(controllerClass, route);
|
|
295
|
+
// eslint-disable-next-line typescript/typedef
|
|
296
|
+
const existing = this.pendingRouteGroups.get(key);
|
|
297
|
+
if (existing) {
|
|
298
|
+
existing.entries.push({ versions, innerHandler });
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
this.pendingRouteGroups.set(key, {
|
|
302
|
+
httpMethod: route.httpMethod,
|
|
303
|
+
finalRoute,
|
|
304
|
+
entries: [{ versions, innerHandler }]
|
|
305
|
+
});
|
|
178
306
|
}
|
|
179
307
|
}
|
|
180
|
-
|
|
181
|
-
|
|
308
|
+
createDispatchHandler(
|
|
309
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
310
|
+
entries) {
|
|
311
|
+
return (async (request, res, next) => {
|
|
182
312
|
Object.defineProperty(request, 'params', {
|
|
183
313
|
value: { ...request.params },
|
|
184
314
|
writable: true,
|
|
@@ -200,85 +330,40 @@ let Router = class Router {
|
|
|
200
330
|
const context = new http_request_context_1.HttpRequestContext(request, res, undefined, undefined);
|
|
201
331
|
await als_utilities_1.AlsUtilities.runWithHttpRequestContext(context, async () => {
|
|
202
332
|
try {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
context.request.query[key] = this.parser.parseQueryParam(context.request, route.queryParams[key]);
|
|
333
|
+
const version = await this.versioningService.resolveVersion(context);
|
|
334
|
+
// eslint-disable-next-line typescript/typedef
|
|
335
|
+
const match = entries.find(e => this.versioningService.matchesVersion(e.versions, version));
|
|
336
|
+
if (!match) {
|
|
337
|
+
throw new not_found_error_1.NotFoundError(`Could not find route "${request.url}" for version "${version.value}"`);
|
|
209
338
|
}
|
|
210
|
-
|
|
211
|
-
context.request.headers[key] = this.parser.parseHeaderParam(context.request, route.headerParams[key]);
|
|
212
|
-
}
|
|
213
|
-
if (route.bodyMetadata) {
|
|
214
|
-
context.request.body = await this.parser.parseBody(context.request, route.bodyMetadata);
|
|
215
|
-
}
|
|
216
|
-
// validate
|
|
217
|
-
await Promise.all([
|
|
218
|
-
...object_utilities_1.ObjectUtilities.keys(route.pathParams).map(async (key) => {
|
|
219
|
-
await this.validationService.validatePathParam(context.request.params[key], route.pathParams[key]);
|
|
220
|
-
}),
|
|
221
|
-
...object_utilities_1.ObjectUtilities.keys(route.queryParams).map(async (key) => {
|
|
222
|
-
await this.validationService.validateQueryParam(context.request.query[key], route.queryParams[key]);
|
|
223
|
-
}),
|
|
224
|
-
...object_utilities_1.ObjectUtilities.keys(route.headerParams).map(async (key) => {
|
|
225
|
-
await this.validationService.validateHeaderParam(context.request.headers[key], route.headerParams[key]);
|
|
226
|
-
}),
|
|
227
|
-
...route.bodyMetadata ? [this.validationService.validateBody(context.request.body, route.bodyMetadata)] : []
|
|
228
|
-
]);
|
|
229
|
-
// eslint-disable-next-line typescript/no-explicit-any
|
|
230
|
-
const result = await route.handler(context.request, context.response, next);
|
|
231
|
-
await this.returnResult(context.response, result, next, []);
|
|
339
|
+
await match.innerHandler(context, next);
|
|
232
340
|
}
|
|
233
341
|
catch (error) {
|
|
234
342
|
next(error);
|
|
235
343
|
}
|
|
236
344
|
});
|
|
237
345
|
});
|
|
238
|
-
return handler;
|
|
239
346
|
}
|
|
240
|
-
async
|
|
347
|
+
async createControllerInnerHandler(controllerClass, route) {
|
|
241
348
|
const responses = metadata_utilities_1.MetadataUtilities.getRouteResponses(controllerClass, route.controllerMethod);
|
|
242
349
|
if (!responses.length) {
|
|
243
350
|
await this.logger.warn(`No responses defined on route ${controllerClass.name}.${route.controllerMethod}`);
|
|
244
351
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
writable: true,
|
|
261
|
-
configurable: true,
|
|
262
|
-
enumerable: true
|
|
263
|
-
});
|
|
264
|
-
const context = new http_request_context_1.HttpRequestContext(request, res, controllerClass, route.controllerMethod);
|
|
265
|
-
await als_utilities_1.AlsUtilities.runWithHttpRequestContext(context, async () => {
|
|
266
|
-
try {
|
|
267
|
-
await this.authService.checkAccess(controllerClass, route.controllerMethod, context);
|
|
268
|
-
const controller = (0, inject_function_1.inject)(controllerClass);
|
|
269
|
-
const params = await (0, resolve_route_params_function_1.resolveRouteParams)(controllerClass, route.controllerMethod,
|
|
270
|
-
// eslint-disable-next-line typescript/no-unsafe-member-access, typescript/no-explicit-any
|
|
271
|
-
controller[route.controllerMethod].length, context);
|
|
272
|
-
// eslint-disable-next-line typescript/no-unsafe-call, typescript/no-explicit-any, typescript/no-unsafe-member-access
|
|
273
|
-
const result = await controller[route.controllerMethod](...params);
|
|
274
|
-
await this.returnResult(context.response, result, next, responses);
|
|
275
|
-
}
|
|
276
|
-
catch (error) {
|
|
277
|
-
next(error);
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
return handler;
|
|
352
|
+
return async (context, next) => {
|
|
353
|
+
try {
|
|
354
|
+
await this.authService.checkAccess(controllerClass, route.controllerMethod, context);
|
|
355
|
+
const controller = (0, inject_function_1.inject)(controllerClass);
|
|
356
|
+
const params = await (0, resolve_route_params_function_1.resolveRouteParams)(controllerClass, route.controllerMethod,
|
|
357
|
+
// eslint-disable-next-line typescript/no-unsafe-member-access, typescript/no-explicit-any
|
|
358
|
+
controller[route.controllerMethod].length, context);
|
|
359
|
+
// eslint-disable-next-line typescript/no-unsafe-call, typescript/no-explicit-any, typescript/no-unsafe-member-access
|
|
360
|
+
const result = await controller[route.controllerMethod](...params);
|
|
361
|
+
await this.returnResult(context.response, result, next, responses);
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
next(error);
|
|
365
|
+
}
|
|
366
|
+
};
|
|
282
367
|
}
|
|
283
368
|
async returnResult(res, result, next, responses) {
|
|
284
369
|
if (res.headersSent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/routing/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/routing/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -141,7 +141,7 @@ class FsUtilities {
|
|
|
141
141
|
* Creates a file at the given path.
|
|
142
142
|
* @param p - The path of the new file to create.
|
|
143
143
|
* @param data - The data to write into the file. Can be a raw data string or an array of lines, which are joined by \n.
|
|
144
|
-
* @param recursive - Whether or not to recursively create the file.
|
|
144
|
+
* @param recursive - Whether or not to recursively create the file. Defaults to true.
|
|
145
145
|
*/
|
|
146
146
|
static async createFile(p, data, recursive = true) {
|
|
147
147
|
if (await this.exists(p)) {
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SemVerUtilities = void 0;
|
|
4
|
+
const is_numeric_function_1 = require("./is-numeric.function");
|
|
5
|
+
/**
|
|
6
|
+
* Encapsulates functionalities around handling semver versions.
|
|
7
|
+
*/
|
|
8
|
+
class SemVerUtilities {
|
|
9
|
+
/**
|
|
10
|
+
* Checks whether the given value is a valid SemVer version.
|
|
11
|
+
* @param value - The value to check.
|
|
12
|
+
* @returns True if the value is in the format "number.number.number", false otherwise.
|
|
13
|
+
*/
|
|
14
|
+
static isSemVerVersion(value) {
|
|
15
|
+
const parts = value.split('.');
|
|
16
|
+
if (parts.length !== 3) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return parts.every(is_numeric_function_1.isNumeric);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Compares the given versions and checks if the first one is bigger, equal or smaller than the second one.
|
|
23
|
+
* @param v1 - The first version.
|
|
24
|
+
* @param v2 - The second version to compare against.
|
|
25
|
+
* @returns 'bigger', 'equal' or 'smaller'.
|
|
26
|
+
*/
|
|
27
|
+
static compare(v1, v2) {
|
|
28
|
+
const result = this.compareTuple(this.parseStrict(v1), this.parseStrict(v2));
|
|
29
|
+
if (result > 0) {
|
|
30
|
+
return 'bigger';
|
|
31
|
+
}
|
|
32
|
+
if (result < 0) {
|
|
33
|
+
return 'smaller';
|
|
34
|
+
}
|
|
35
|
+
return 'equal';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Checks if the given semver matcher overlaps with one of the provided matchers.
|
|
39
|
+
* @param version - The version/matcher to check.
|
|
40
|
+
* @param matchers - The matchers to check against.
|
|
41
|
+
* @returns True if the version/matcher overlaps with at least one matcher, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
static matches(version, matchers) {
|
|
44
|
+
const versionRange = this.toRange(version);
|
|
45
|
+
return matchers.some((matcher) => this.intersects(versionRange, this.toRange(matcher)));
|
|
46
|
+
}
|
|
47
|
+
static toRange(matcher) {
|
|
48
|
+
const parts = matcher.trim().split(/\s+/)
|
|
49
|
+
.filter(Boolean);
|
|
50
|
+
return parts.reduce((acc, part) => this.intersect(acc, this.atomicRange(part)), this.fullRange());
|
|
51
|
+
}
|
|
52
|
+
static atomicRange(matcher) {
|
|
53
|
+
if (matcher.startsWith('^')) {
|
|
54
|
+
return this.caretRange(matcher.slice(1));
|
|
55
|
+
}
|
|
56
|
+
if (matcher.startsWith('~')) {
|
|
57
|
+
return this.tildeRange(matcher.slice(1));
|
|
58
|
+
}
|
|
59
|
+
if (matcher.startsWith('>=')) {
|
|
60
|
+
return {
|
|
61
|
+
min: this.parseStrict(matcher.slice(2)),
|
|
62
|
+
max: this.infinity()
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (matcher.startsWith('>')) {
|
|
66
|
+
return {
|
|
67
|
+
min: this.increment(this.parseStrict(matcher.slice(1))),
|
|
68
|
+
max: this.infinity()
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (matcher.startsWith('<=')) {
|
|
72
|
+
return {
|
|
73
|
+
min: this.zero(),
|
|
74
|
+
max: this.increment(this.parseStrict(matcher.slice(2)))
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (matcher.startsWith('<')) {
|
|
78
|
+
return {
|
|
79
|
+
min: this.zero(),
|
|
80
|
+
max: this.parseStrict(matcher.slice(1))
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const exact = this.parseStrict(matcher);
|
|
84
|
+
return {
|
|
85
|
+
min: exact,
|
|
86
|
+
max: this.increment(exact)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
static caretRange(raw) {
|
|
90
|
+
const [major, minor, patch] = this.parseLoose(raw);
|
|
91
|
+
const min = [major, minor, patch];
|
|
92
|
+
if (major > 0) {
|
|
93
|
+
return {
|
|
94
|
+
min,
|
|
95
|
+
max: [major + 1, 0, 0]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
if (minor > 0) {
|
|
99
|
+
return {
|
|
100
|
+
min,
|
|
101
|
+
max: [0, minor + 1, 0]
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
min,
|
|
106
|
+
max: [0, 0, patch + 1]
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
static tildeRange(raw) {
|
|
110
|
+
const parts = raw.split('.');
|
|
111
|
+
if (parts.length < 1 || parts.length > 3) {
|
|
112
|
+
throw new Error(`Invalid semver matcher: ~${raw}`);
|
|
113
|
+
}
|
|
114
|
+
const [major, minor, patch] = this.parseLoose(raw);
|
|
115
|
+
const min = [major, minor, patch];
|
|
116
|
+
if (parts.length >= 2) {
|
|
117
|
+
return {
|
|
118
|
+
min,
|
|
119
|
+
max: [major, minor + 1, 0]
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
min,
|
|
124
|
+
max: [major + 1, 0, 0]
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static parseStrict(version) {
|
|
128
|
+
if (!this.isSemVerVersion(version)) {
|
|
129
|
+
throw new Error(`Invalid semver version: ${version}`);
|
|
130
|
+
}
|
|
131
|
+
const [major, minor, patch] = version.split('.').map(Number);
|
|
132
|
+
return [major, minor, patch];
|
|
133
|
+
}
|
|
134
|
+
static parseLoose(version) {
|
|
135
|
+
const parts = version.split('.');
|
|
136
|
+
if (parts.length < 1 || parts.length > 3) {
|
|
137
|
+
throw new Error(`Invalid semver matcher: ${version}`);
|
|
138
|
+
}
|
|
139
|
+
const [majorRaw, minorRaw, patchRaw] = parts;
|
|
140
|
+
if (!(0, is_numeric_function_1.isNumeric)(majorRaw)
|
|
141
|
+
|| (minorRaw !== undefined && !(0, is_numeric_function_1.isNumeric)(minorRaw))
|
|
142
|
+
|| (patchRaw !== undefined && !(0, is_numeric_function_1.isNumeric)(patchRaw))) {
|
|
143
|
+
throw new Error(`Invalid semver matcher: ${version}`);
|
|
144
|
+
}
|
|
145
|
+
return [
|
|
146
|
+
Number(majorRaw),
|
|
147
|
+
Number(minorRaw ?? 0),
|
|
148
|
+
Number(patchRaw ?? 0)
|
|
149
|
+
];
|
|
150
|
+
}
|
|
151
|
+
static compareTuple(a, b) {
|
|
152
|
+
if (a[0] > b[0]) {
|
|
153
|
+
return 1;
|
|
154
|
+
}
|
|
155
|
+
if (a[0] < b[0]) {
|
|
156
|
+
return -1;
|
|
157
|
+
}
|
|
158
|
+
if (a[1] > b[1]) {
|
|
159
|
+
return 1;
|
|
160
|
+
}
|
|
161
|
+
if (a[1] < b[1]) {
|
|
162
|
+
return -1;
|
|
163
|
+
}
|
|
164
|
+
if (a[2] > b[2]) {
|
|
165
|
+
return 1;
|
|
166
|
+
}
|
|
167
|
+
if (a[2] < b[2]) {
|
|
168
|
+
return -1;
|
|
169
|
+
}
|
|
170
|
+
return 0;
|
|
171
|
+
}
|
|
172
|
+
static intersect(a, b) {
|
|
173
|
+
return {
|
|
174
|
+
min: this.maxTuple(a.min, b.min),
|
|
175
|
+
max: this.minTuple(a.max, b.max)
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
static intersects(a, b) {
|
|
179
|
+
return this.compareTuple(this.maxTuple(a.min, b.min), this.minTuple(a.max, b.max)) < 0;
|
|
180
|
+
}
|
|
181
|
+
static minTuple(a, b) {
|
|
182
|
+
return this.compareTuple(a, b) <= 0 ? a : b;
|
|
183
|
+
}
|
|
184
|
+
static maxTuple(a, b) {
|
|
185
|
+
return this.compareTuple(a, b) >= 0 ? a : b;
|
|
186
|
+
}
|
|
187
|
+
static increment([major, minor, patch]) {
|
|
188
|
+
return [major, minor, patch + 1];
|
|
189
|
+
}
|
|
190
|
+
static zero() {
|
|
191
|
+
return [0, 0, 0];
|
|
192
|
+
}
|
|
193
|
+
static infinity() {
|
|
194
|
+
return [Number.POSITIVE_INFINITY, 0, 0];
|
|
195
|
+
}
|
|
196
|
+
static fullRange() {
|
|
197
|
+
return {
|
|
198
|
+
min: this.zero(),
|
|
199
|
+
max: this.infinity()
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
exports.SemVerUtilities = SemVerUtilities;
|
|
204
|
+
//# sourceMappingURL=sem-ver.utilities.js.map
|