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
|
@@ -77,7 +77,7 @@ class PayPalLink {
|
|
|
77
77
|
* The method of the link.
|
|
78
78
|
*/
|
|
79
79
|
@Property.string({ required: false })
|
|
80
|
-
method?: string;
|
|
80
|
+
method?: string | null;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/**
|
|
@@ -93,12 +93,12 @@ class CreateOrderResp {
|
|
|
93
93
|
* The status of the order.
|
|
94
94
|
*/
|
|
95
95
|
@Property.string({ required: false })
|
|
96
|
-
status?: string;
|
|
96
|
+
status?: string | null;
|
|
97
97
|
/**
|
|
98
98
|
* The links of the order.
|
|
99
99
|
*/
|
|
100
100
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalLink } })
|
|
101
|
-
links?: PayPalLink[];
|
|
101
|
+
links?: PayPalLink[] | null;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
/**
|
|
@@ -147,7 +147,7 @@ export class PayPalCapture {
|
|
|
147
147
|
* The status of the capture.
|
|
148
148
|
*/
|
|
149
149
|
@Property.string({ required: false })
|
|
150
|
-
status?: string;
|
|
150
|
+
status?: string | null;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
/**
|
|
@@ -158,7 +158,7 @@ class PayPalPayments {
|
|
|
158
158
|
* The payment captures.
|
|
159
159
|
*/
|
|
160
160
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalCapture } })
|
|
161
|
-
captures?: PayPalCapture[];
|
|
161
|
+
captures?: PayPalCapture[] | null;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
/**
|
|
@@ -169,7 +169,7 @@ class PayPalPurchaseUnit {
|
|
|
169
169
|
* Any payments that belong to this purchase unit.
|
|
170
170
|
*/
|
|
171
171
|
@Property.object({ required: false, cls: () => PayPalPayments })
|
|
172
|
-
payments?: PayPalPayments;
|
|
172
|
+
payments?: PayPalPayments | null;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
/**
|
|
@@ -186,13 +186,13 @@ export class CaptureOrderResp {
|
|
|
186
186
|
* The status of the capture.
|
|
187
187
|
*/
|
|
188
188
|
@Property.string({ required: false })
|
|
189
|
-
status?: string;
|
|
189
|
+
status?: string | null;
|
|
190
190
|
|
|
191
191
|
/**
|
|
192
192
|
* The purchase units of the capture.
|
|
193
193
|
*/
|
|
194
194
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalPurchaseUnit } })
|
|
195
|
-
purchase_units?: PayPalPurchaseUnit[];
|
|
195
|
+
purchase_units?: PayPalPurchaseUnit[] | null;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
/**
|
|
@@ -209,13 +209,13 @@ class PayPalAuthorization {
|
|
|
209
209
|
* The status of the authorization.
|
|
210
210
|
*/
|
|
211
211
|
@Property.string({ required: false })
|
|
212
|
-
status?: string;
|
|
212
|
+
status?: string | null;
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
215
|
* The amount that has been authorized.
|
|
216
216
|
*/
|
|
217
217
|
@Property.object({ required: false, cls: () => PaymentAmount })
|
|
218
|
-
amount?: PaymentAmount;
|
|
218
|
+
amount?: PaymentAmount | null;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
/**
|
|
@@ -226,7 +226,7 @@ class PayPalPaymentsWithAuth {
|
|
|
226
226
|
* The authorizations for the payments.
|
|
227
227
|
*/
|
|
228
228
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalAuthorization } })
|
|
229
|
-
authorizations?: PayPalAuthorization[];
|
|
229
|
+
authorizations?: PayPalAuthorization[] | null;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
/**
|
|
@@ -237,7 +237,7 @@ class PayPalPurchaseUnitWithAuth {
|
|
|
237
237
|
* The payments including the authorizations.
|
|
238
238
|
*/
|
|
239
239
|
@Property.object({ required: false, cls: () => PayPalPaymentsWithAuth })
|
|
240
|
-
payments?: PayPalPaymentsWithAuth;
|
|
240
|
+
payments?: PayPalPaymentsWithAuth | null;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
/**
|
|
@@ -260,7 +260,7 @@ export class GetOrderResp {
|
|
|
260
260
|
* The purchase units of this order.
|
|
261
261
|
*/
|
|
262
262
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalPurchaseUnitWithAuth } })
|
|
263
|
-
purchase_units?: PayPalPurchaseUnitWithAuth[];
|
|
263
|
+
purchase_units?: PayPalPurchaseUnitWithAuth[] | null;
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
/**
|
|
@@ -277,13 +277,13 @@ export class AuthorizationCaptureResp {
|
|
|
277
277
|
* The status of the authorization.
|
|
278
278
|
*/
|
|
279
279
|
@Property.string({ required: false })
|
|
280
|
-
status?: string;
|
|
280
|
+
status?: string | null;
|
|
281
281
|
|
|
282
282
|
/**
|
|
283
283
|
* Any links that belong to this authorization.
|
|
284
284
|
*/
|
|
285
285
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalLink } })
|
|
286
|
-
links?: PayPalLink[];
|
|
286
|
+
links?: PayPalLink[] | null;
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
/**
|
|
@@ -300,13 +300,13 @@ export class RefundCaptureResp {
|
|
|
300
300
|
* The status of the refund.
|
|
301
301
|
*/
|
|
302
302
|
@Property.string({ required: false })
|
|
303
|
-
status?: string;
|
|
303
|
+
status?: string | null;
|
|
304
304
|
|
|
305
305
|
/**
|
|
306
306
|
* Any links that belong to this refund.
|
|
307
307
|
*/
|
|
308
308
|
@Property.array({ required: false, items: { type: 'object', cls: () => PayPalLink } })
|
|
309
|
-
links?: PayPalLink[];
|
|
309
|
+
links?: PayPalLink[] | null;
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
/**
|
|
@@ -40,7 +40,7 @@ async function getSandboxToken(clientId: string, clientSecret: string): Promise<
|
|
|
40
40
|
return access_token;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
// TODO: this currently doesn't work
|
|
43
|
+
// TODO: this currently doesn't work
|
|
44
44
|
async function simulateBuyerApproval(merchantToken: string, orderId: string, returnUrl: string, cancelUrl: string): Promise<void> {
|
|
45
45
|
const res: Response = await fetch(
|
|
46
46
|
`https://api-m.sandbox.paypal.com/v2/checkout/orders/${orderId}/confirm-payment-source`,
|
|
@@ -356,7 +356,7 @@ export class PayPalPaymentProvider implements PaymentProviderInterface<
|
|
|
356
356
|
const resp: CaptureOrderResp = await this.client.captureOrder(payment.data.orderId);
|
|
357
357
|
// TODO: handle payments with multiple parts
|
|
358
358
|
const capture: PayPalCapture | undefined = resp.purchase_units?.[0]?.payments?.captures?.[0];
|
|
359
|
-
const captureStatus: string | undefined = capture?.status ?? resp.status;
|
|
359
|
+
const captureStatus: string | undefined = capture?.status ?? resp.status ?? undefined;
|
|
360
360
|
|
|
361
361
|
if (capture?.id && captureStatus === 'COMPLETED') {
|
|
362
362
|
payment.status = PaymentStatus.PAID;
|
|
@@ -236,7 +236,7 @@ export abstract class PreactUtilities {
|
|
|
236
236
|
.replaceAll('</script>', '\\u003c/script>');
|
|
237
237
|
|
|
238
238
|
const context: HttpRequestContext | WebsocketRequestContext | undefined = inject(ZIBRI_DI_TOKENS.CURRENT_REQUEST_CONTEXT);
|
|
239
|
-
const nonce: string | undefined =
|
|
239
|
+
const nonce: string | undefined = context?.get(ZIBRI_REQUEST_CONTEXT_TOKENS.NONCE);
|
|
240
240
|
const nonceAttr: string = nonce ? ` nonce="${nonce}"` : '';
|
|
241
241
|
if (html.includes('</body>')) {
|
|
242
242
|
html = html.replace(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { warn } from '../logging/logger.helpers';
|
|
1
2
|
import { Ms } from '../utilities/ms';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -10,56 +11,66 @@ export class RateLimiter {
|
|
|
10
11
|
|
|
11
12
|
private constructor(
|
|
12
13
|
private readonly max: number,
|
|
13
|
-
private readonly intervalInMs: number
|
|
14
|
+
private readonly intervalInMs: number,
|
|
15
|
+
initialTokens: number
|
|
14
16
|
) {
|
|
15
|
-
|
|
17
|
+
if (initialTokens > max) {
|
|
18
|
+
warn('initialTokens are bigger than max, replacing initialTokens with the value of max');
|
|
19
|
+
initialTokens = max;
|
|
20
|
+
}
|
|
21
|
+
this.tokens = initialTokens;
|
|
16
22
|
this.lastRefill = Date.now();
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
/**
|
|
20
26
|
* Creates a rate limiter with the provided maximum available per day.
|
|
21
27
|
* @param max - The maximum available per day.
|
|
28
|
+
* @param initialTokens - The amount of initial tokens to fill. Defaults to the value of max.
|
|
22
29
|
* @returns The RateLimiter.
|
|
23
30
|
*/
|
|
24
|
-
static perDay(max: number): RateLimiter {
|
|
25
|
-
return new this(max, Ms.DAY);
|
|
31
|
+
static perDay(max: number, initialTokens: number = max): RateLimiter {
|
|
32
|
+
return new this(max, Ms.DAY, initialTokens);
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
/**
|
|
29
36
|
* Creates a rate limiter with the provided maximum available per hour.
|
|
30
37
|
* @param max - The maximum available per hour.
|
|
38
|
+
* @param initialTokens - The amount of initial tokens to fill. Defaults to the value of max.
|
|
31
39
|
* @returns The RateLimiter.
|
|
32
40
|
*/
|
|
33
|
-
static perHour(max: number): RateLimiter {
|
|
34
|
-
return new this(max, Ms.HOUR);
|
|
41
|
+
static perHour(max: number, initialTokens: number = max): RateLimiter {
|
|
42
|
+
return new this(max, Ms.HOUR, initialTokens);
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
/**
|
|
38
46
|
* Creates a rate limiter with the provided maximum available per minute.
|
|
39
47
|
* @param max - The maximum available per minute.
|
|
48
|
+
* @param initialTokens - The amount of initial tokens to fill. Defaults to the value of max.
|
|
40
49
|
* @returns The RateLimiter.
|
|
41
50
|
*/
|
|
42
|
-
static perMinute(max: number): RateLimiter {
|
|
43
|
-
return new this(max, Ms.MINUTE);
|
|
51
|
+
static perMinute(max: number, initialTokens: number = max): RateLimiter {
|
|
52
|
+
return new this(max, Ms.MINUTE, initialTokens);
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
/**
|
|
47
56
|
* Creates a rate limiter with the provided maximum available per second.
|
|
48
57
|
* @param max - The maximum available per seconds.
|
|
58
|
+
* @param initialTokens - The amount of initial tokens to fill. Defaults to the value of max.
|
|
49
59
|
* @returns The RateLimiter.
|
|
50
60
|
*/
|
|
51
|
-
static perSecond(max: number): RateLimiter {
|
|
52
|
-
return new this(max, Ms.SECOND);
|
|
61
|
+
static perSecond(max: number, initialTokens: number = max): RateLimiter {
|
|
62
|
+
return new this(max, Ms.SECOND, initialTokens);
|
|
53
63
|
}
|
|
54
64
|
|
|
55
65
|
/**
|
|
56
66
|
* Creates a rate limiter with a custom interval.
|
|
57
67
|
* @param max - The maximum available per the given interval.
|
|
58
68
|
* @param intervalInMs - The interval in ms.
|
|
69
|
+
* @param initialTokens - The amount of initial tokens to fill. Defaults to the value of max.
|
|
59
70
|
* @returns The RateLimiter.
|
|
60
71
|
*/
|
|
61
|
-
static custom(max: number, intervalInMs: number): RateLimiter {
|
|
62
|
-
return new this(max, intervalInMs);
|
|
72
|
+
static custom(max: number, intervalInMs: number, initialTokens: number = max): RateLimiter {
|
|
73
|
+
return new this(max, intervalInMs, initialTokens);
|
|
63
74
|
}
|
|
64
75
|
|
|
65
76
|
private refill(): void {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HttpMethod } from '../http/http-method.enum';
|
|
2
|
+
import { SupportedVersionsOptions } from '../versioning/supported-versions-options.model';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Definition for a route used eg. By controllers.
|
|
@@ -21,5 +22,9 @@ export type ControllerRouteConfiguration = {
|
|
|
21
22
|
/**
|
|
22
23
|
* The name of the method on the controller that is responsible for handling requests to the endpoint.
|
|
23
24
|
*/
|
|
24
|
-
controllerMethod: string
|
|
25
|
+
controllerMethod: string,
|
|
26
|
+
/**
|
|
27
|
+
* Configuration on what versions are supported. Defaults to '^latest'.
|
|
28
|
+
*/
|
|
29
|
+
versions: SupportedVersionsOptions | undefined
|
|
25
30
|
};
|
|
@@ -2,6 +2,7 @@ import { GlobalRegistry } from '../../global/global-registry';
|
|
|
2
2
|
import { Newable } from '../../types/newable.type';
|
|
3
3
|
import { OmitStrict } from '../../types/omit-strict.type';
|
|
4
4
|
import { MetadataUtilities } from '../../utilities/metadata.utilities';
|
|
5
|
+
import { SupportedVersionsOptions } from '../../versioning/supported-versions-options.model';
|
|
5
6
|
import { Route } from '../controller-route-configuration.model';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -12,6 +13,10 @@ export type ControllerData = {
|
|
|
12
13
|
* The base route of the controller. Any endpoints inside this class will be prefixed with this.
|
|
13
14
|
*/
|
|
14
15
|
baseRoute: Route,
|
|
16
|
+
/**
|
|
17
|
+
* The versions that should be supported by this controller's routes. Can be overridden per route.
|
|
18
|
+
*/
|
|
19
|
+
versions: SupportedVersionsOptions,
|
|
15
20
|
/**
|
|
16
21
|
* Whether or not this controller is allowed to exist without being registered in the application.
|
|
17
22
|
*/
|
|
@@ -24,14 +29,15 @@ export type ControllerData = {
|
|
|
24
29
|
* @param options - Additional options for the controller.
|
|
25
30
|
*/
|
|
26
31
|
export function Controller(baseRoute: Route, options: Partial<OmitStrict<ControllerData, 'baseRoute'>> = {}): ClassDecorator {
|
|
27
|
-
const { allowOrphan = false } = options;
|
|
32
|
+
const { allowOrphan = false, versions = ['^latest'] } = options;
|
|
28
33
|
return target => {
|
|
29
34
|
// eslint-disable-next-line unicorn/error-message
|
|
30
35
|
const stack: string = new Error().stack ?? '';
|
|
31
36
|
MetadataUtilities.setFilePath(target, stack);
|
|
32
37
|
MetadataUtilities.setControllerData(target, {
|
|
33
38
|
baseRoute,
|
|
34
|
-
allowOrphan
|
|
39
|
+
allowOrphan,
|
|
40
|
+
versions
|
|
35
41
|
});
|
|
36
42
|
GlobalRegistry.injectables.push({
|
|
37
43
|
token: target as unknown as Newable<unknown>,
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { HttpMethod } from '../../http/http-method.enum';
|
|
2
2
|
import { MetadataUtilities } from '../../utilities/metadata.utilities';
|
|
3
|
+
import { SupportedVersionsOptions } from '../../versioning/supported-versions-options.model';
|
|
3
4
|
import { Route, ControllerRouteConfiguration } from '../controller-route-configuration.model';
|
|
4
5
|
|
|
5
6
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
6
|
-
export function createHttpDecorator(method: HttpMethod, path: Route): MethodDecorator {
|
|
7
|
+
export function createHttpDecorator(method: HttpMethod, path: Route, versions: SupportedVersionsOptions | undefined): MethodDecorator {
|
|
7
8
|
return (target, propertyKey) => {
|
|
8
9
|
const ctor: Function = target.constructor;
|
|
9
10
|
// eslint-disable-next-line unicorn/error-message
|
|
10
11
|
const stack: string = new Error().stack ?? '';
|
|
11
12
|
MetadataUtilities.setFilePath(ctor, stack);
|
|
12
13
|
const routes: ControllerRouteConfiguration[] = MetadataUtilities.getControllerRoutes(ctor);
|
|
13
|
-
routes.push({ httpMethod: method, route: path, controllerMethod: propertyKey.toString() });
|
|
14
|
+
routes.push({ httpMethod: method, route: path, controllerMethod: propertyKey.toString(), versions });
|
|
14
15
|
MetadataUtilities.setControllerRoutes(ctor, routes);
|
|
15
16
|
};
|
|
16
17
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { HttpMethod } from '../../http/http-method.enum';
|
|
2
2
|
import { Route } from '../controller-route-configuration.model';
|
|
3
3
|
import { createHttpDecorator } from './create-http-decorator.function';
|
|
4
|
+
import { BaseHttpDecoratorInput } from './http-decorator-option-input.model';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Http DELETE endpoint.
|
|
7
8
|
* @param path - The path of the endpoint, defaults to '/'.
|
|
9
|
+
* @param options - Additional options, like eg. The supported versions.
|
|
8
10
|
*/
|
|
9
|
-
export function Delete(path: Route = '/'): MethodDecorator {
|
|
10
|
-
return createHttpDecorator(HttpMethod.DELETE, path);
|
|
11
|
+
export function Delete(path: Route = '/', options: BaseHttpDecoratorInput = {}): MethodDecorator {
|
|
12
|
+
return createHttpDecorator(HttpMethod.DELETE, path, options.versions);
|
|
11
13
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { HttpMethod } from '../../http/http-method.enum';
|
|
2
2
|
import { Route } from '../controller-route-configuration.model';
|
|
3
3
|
import { createHttpDecorator } from './create-http-decorator.function';
|
|
4
|
+
import { BaseHttpDecoratorInput } from './http-decorator-option-input.model';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Http GET endpoint.
|
|
7
8
|
* @param path - The path of the endpoint, defaults to '/'.
|
|
9
|
+
* @param options - Additional options, like eg. The supported versions.
|
|
8
10
|
*/
|
|
9
|
-
export function Get(path: Route = '/'): MethodDecorator {
|
|
10
|
-
return createHttpDecorator(HttpMethod.GET, path);
|
|
11
|
+
export function Get(path: Route = '/', options: BaseHttpDecoratorInput = {}): MethodDecorator {
|
|
12
|
+
return createHttpDecorator(HttpMethod.GET, path, options.versions);
|
|
11
13
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SupportedVersionsOptions } from '../../versioning/supported-versions-options.model';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Base options shared by all http decorators.
|
|
5
|
+
*/
|
|
6
|
+
export type BaseHttpDecoratorInput = {
|
|
7
|
+
/**
|
|
8
|
+
* Configuration on what versions are supported.
|
|
9
|
+
*/
|
|
10
|
+
versions?: SupportedVersionsOptions
|
|
11
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { HttpMethod } from '../../http/http-method.enum';
|
|
2
2
|
import { Route } from '../controller-route-configuration.model';
|
|
3
3
|
import { createHttpDecorator } from './create-http-decorator.function';
|
|
4
|
+
import { BaseHttpDecoratorInput } from './http-decorator-option-input.model';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Http PATCH endpoint.
|
|
7
8
|
* @param path - The path of the endpoint, defaults to '/'.
|
|
9
|
+
* @param options - Additional options, like eg. The supported versions.
|
|
8
10
|
*/
|
|
9
|
-
export function Patch(path: Route = '/'): MethodDecorator {
|
|
10
|
-
return createHttpDecorator(HttpMethod.PATCH, path);
|
|
11
|
+
export function Patch(path: Route = '/', options: BaseHttpDecoratorInput = {}): MethodDecorator {
|
|
12
|
+
return createHttpDecorator(HttpMethod.PATCH, path, options.versions);
|
|
11
13
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { HttpMethod } from '../../http/http-method.enum';
|
|
2
2
|
import { Route } from '../controller-route-configuration.model';
|
|
3
3
|
import { createHttpDecorator } from './create-http-decorator.function';
|
|
4
|
+
import { BaseHttpDecoratorInput } from './http-decorator-option-input.model';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Http POST endpoint.
|
|
7
8
|
* @param path - The path of the endpoint, defaults to '/'.
|
|
9
|
+
* @param options - Additional options, like eg. The supported versions.
|
|
8
10
|
*/
|
|
9
|
-
export function Post(path: Route = '/'): MethodDecorator {
|
|
10
|
-
return createHttpDecorator(HttpMethod.POST, path);
|
|
11
|
+
export function Post(path: Route = '/', options: BaseHttpDecoratorInput = {}): MethodDecorator {
|
|
12
|
+
return createHttpDecorator(HttpMethod.POST, path, options.versions);
|
|
11
13
|
}
|
|
@@ -87,6 +87,7 @@ async function parseRouteParams(
|
|
|
87
87
|
const headerParams: Record<string, HeaderParamMetadata> = MetadataUtilities.getRouteHeaderParams(controllerClass, controllerMethod);
|
|
88
88
|
for (const [indexStr, metadata] of ObjectUtilities.entries(headerParams)) {
|
|
89
89
|
const idx: number = Number(indexStr);
|
|
90
|
+
context.request.headers ??= {};
|
|
90
91
|
context.request.headers[metadata.name as KnownHeader] = parser.parseHeaderParam(context.request, metadata) as string | undefined;
|
|
91
92
|
params[idx] = context.request.headers[metadata.name as KnownHeader];
|
|
92
93
|
}
|
|
@@ -16,6 +16,7 @@ import { DateParamMetadataInput, DateParamMetadata } from './models/date-param-m
|
|
|
16
16
|
import { NumberParamMetadataInput, NumberParamMetadata } from './models/number-param-metadata.model';
|
|
17
17
|
import { ObjectParamMetadataInput, ObjectParamMetadata } from './models/object-param-metadata.model';
|
|
18
18
|
import { StringParamMetadataInput, StringParamMetadata } from './models/string-param-metadata.model';
|
|
19
|
+
import { SupportedVersionsOptions } from '../versioning/supported-versions-options.model';
|
|
19
20
|
|
|
20
21
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
21
22
|
type PathMetaObjectToParamsObject<PathMetaObject extends Record<string, PathParamMetadata>> = {
|
|
@@ -207,7 +208,11 @@ export type RouteConfiguration<
|
|
|
207
208
|
/**
|
|
208
209
|
* Configuration on how to handle open api.
|
|
209
210
|
*/
|
|
210
|
-
openApi: OpenApiRouteConfiguration
|
|
211
|
+
openApi: OpenApiRouteConfiguration,
|
|
212
|
+
/**
|
|
213
|
+
* Configuration on what versions are supported.
|
|
214
|
+
*/
|
|
215
|
+
versions: SupportedVersionsOptions
|
|
211
216
|
};
|
|
212
217
|
|
|
213
218
|
/**
|
|
@@ -226,7 +231,7 @@ export type RouteConfigurationInput<
|
|
|
226
231
|
QueryMetaInputObjectToMetaObject<QueryMetaInputObject>,
|
|
227
232
|
HeaderMetaInputObjectToMetaObject<HeaderMetaInputObject>
|
|
228
233
|
>,
|
|
229
|
-
'bodyMetadata' | 'pathParams' | 'queryParams' | 'headerParams' | 'openApi'
|
|
234
|
+
'bodyMetadata' | 'pathParams' | 'queryParams' | 'headerParams' | 'openApi' | 'versions'
|
|
230
235
|
> & {
|
|
231
236
|
/**
|
|
232
237
|
* The input metadata for the request body.
|
|
@@ -247,5 +252,10 @@ export type RouteConfigurationInput<
|
|
|
247
252
|
/**
|
|
248
253
|
* Configuration on how to handle open api.
|
|
249
254
|
*/
|
|
250
|
-
openApi?: Partial<OpenApiRouteConfiguration> & Pick<OpenApiRouteConfiguration, 'useInOpenApi'
|
|
255
|
+
openApi?: Partial<OpenApiRouteConfiguration> & Pick<OpenApiRouteConfiguration, 'useInOpenApi'>,
|
|
256
|
+
/**
|
|
257
|
+
* Configuration on what versions are supported.
|
|
258
|
+
* Defaults to '^latest'.
|
|
259
|
+
*/
|
|
260
|
+
versions?: SupportedVersionsOptions
|
|
251
261
|
};
|