stratal 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/application.d.ts +118 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +247 -0
- package/dist/application.js.map +1 -0
- package/dist/cache/cache.module.d.ts +14 -0
- package/dist/cache/cache.module.d.ts.map +1 -0
- package/dist/cache/cache.module.js +32 -0
- package/dist/cache/cache.module.js.map +1 -0
- package/dist/cache/cache.tokens.d.ts +5 -0
- package/dist/cache/cache.tokens.d.ts.map +1 -0
- package/dist/cache/cache.tokens.js +4 -0
- package/dist/cache/cache.tokens.js.map +1 -0
- package/dist/cache/errors/cache-delete.error.d.ts +11 -0
- package/dist/cache/errors/cache-delete.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-delete.error.js +14 -0
- package/dist/cache/errors/cache-delete.error.js.map +1 -0
- package/dist/cache/errors/cache-get.error.d.ts +11 -0
- package/dist/cache/errors/cache-get.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-get.error.js +14 -0
- package/dist/cache/errors/cache-get.error.js.map +1 -0
- package/dist/cache/errors/cache-list.error.d.ts +10 -0
- package/dist/cache/errors/cache-list.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-list.error.js +13 -0
- package/dist/cache/errors/cache-list.error.js.map +1 -0
- package/dist/cache/errors/cache-put.error.d.ts +11 -0
- package/dist/cache/errors/cache-put.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-put.error.js +14 -0
- package/dist/cache/errors/cache-put.error.js.map +1 -0
- package/dist/cache/errors/index.d.ts +5 -0
- package/dist/cache/errors/index.d.ts.map +1 -0
- package/dist/cache/errors/index.js +5 -0
- package/dist/cache/errors/index.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/services/cache.service.d.ts +152 -0
- package/dist/cache/services/cache.service.d.ts.map +1 -0
- package/dist/cache/services/cache.service.js +223 -0
- package/dist/cache/services/cache.service.js.map +1 -0
- package/dist/cache/services/index.d.ts +2 -0
- package/dist/cache/services/index.d.ts.map +1 -0
- package/dist/cache/services/index.js +2 -0
- package/dist/cache/services/index.js.map +1 -0
- package/dist/config/config.module.d.ts +79 -0
- package/dist/config/config.module.d.ts.map +1 -0
- package/dist/config/config.module.js +120 -0
- package/dist/config/config.module.js.map +1 -0
- package/dist/config/config.tokens.d.ts +4 -0
- package/dist/config/config.tokens.d.ts.map +1 -0
- package/dist/config/config.tokens.js +4 -0
- package/dist/config/config.tokens.js.map +1 -0
- package/dist/config/config.types.d.ts +68 -0
- package/dist/config/config.types.d.ts.map +1 -0
- package/dist/config/config.types.js +9 -0
- package/dist/config/config.types.js.map +1 -0
- package/dist/config/errors/config-not-initialized.error.d.ts +12 -0
- package/dist/config/errors/config-not-initialized.error.d.ts.map +1 -0
- package/dist/config/errors/config-not-initialized.error.js +15 -0
- package/dist/config/errors/config-not-initialized.error.js.map +1 -0
- package/dist/config/errors/index.d.ts +2 -0
- package/dist/config/errors/index.d.ts.map +1 -0
- package/dist/config/errors/index.js +2 -0
- package/dist/config/errors/index.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/register-as.d.ts +62 -0
- package/dist/config/register-as.d.ts.map +1 -0
- package/dist/config/register-as.js +48 -0
- package/dist/config/register-as.js.map +1 -0
- package/dist/config/services/config.service.d.ts +58 -0
- package/dist/config/services/config.service.d.ts.map +1 -0
- package/dist/config/services/config.service.js +123 -0
- package/dist/config/services/config.service.js.map +1 -0
- package/dist/cron/cron-job.d.ts +55 -0
- package/dist/cron/cron-job.d.ts.map +1 -0
- package/dist/cron/cron-job.js +2 -0
- package/dist/cron/cron-job.js.map +1 -0
- package/dist/cron/cron-manager.d.ts +60 -0
- package/dist/cron/cron-manager.d.ts.map +1 -0
- package/dist/cron/cron-manager.js +120 -0
- package/dist/cron/cron-manager.js.map +1 -0
- package/dist/cron/errors/cron-execution.error.d.ts +10 -0
- package/dist/cron/errors/cron-execution.error.d.ts.map +1 -0
- package/dist/cron/errors/cron-execution.error.js +17 -0
- package/dist/cron/errors/cron-execution.error.js.map +1 -0
- package/dist/cron/index.d.ts +4 -0
- package/dist/cron/index.d.ts.map +1 -0
- package/dist/cron/index.js +3 -0
- package/dist/cron/index.js.map +1 -0
- package/dist/di/conditional-binding-builder.d.ts +93 -0
- package/dist/di/conditional-binding-builder.d.ts.map +1 -0
- package/dist/di/conditional-binding-builder.js +115 -0
- package/dist/di/conditional-binding-builder.js.map +1 -0
- package/dist/di/container.d.ts +399 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +466 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/decorators/inject-param.decorator.d.ts +67 -0
- package/dist/di/decorators/inject-param.decorator.d.ts.map +1 -0
- package/dist/di/decorators/inject-param.decorator.js +53 -0
- package/dist/di/decorators/inject-param.decorator.js.map +1 -0
- package/dist/di/decorators.d.ts +57 -0
- package/dist/di/decorators.d.ts.map +1 -0
- package/dist/di/decorators.js +74 -0
- package/dist/di/decorators.js.map +1 -0
- package/dist/di/errors/conditional-binding-fallback.error.d.ts +16 -0
- package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +1 -0
- package/dist/di/errors/conditional-binding-fallback.error.js +19 -0
- package/dist/di/errors/conditional-binding-fallback.error.js.map +1 -0
- package/dist/di/errors/index.d.ts +3 -0
- package/dist/di/errors/index.d.ts.map +1 -0
- package/dist/di/errors/index.js +3 -0
- package/dist/di/errors/index.js.map +1 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +12 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +1 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.js +15 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +1 -0
- package/dist/di/index.d.ts +13 -0
- package/dist/di/index.d.ts.map +1 -0
- package/dist/di/index.js +11 -0
- package/dist/di/index.js.map +1 -0
- package/dist/di/request-context-store.d.ts +122 -0
- package/dist/di/request-context-store.d.ts.map +1 -0
- package/dist/di/request-context-store.js +135 -0
- package/dist/di/request-context-store.js.map +1 -0
- package/dist/di/tokens.d.ts +25 -0
- package/dist/di/tokens.d.ts.map +1 -0
- package/dist/di/tokens.js +27 -0
- package/dist/di/tokens.js.map +1 -0
- package/dist/di/types.d.ts +56 -0
- package/dist/di/types.d.ts.map +1 -0
- package/dist/di/types.js +34 -0
- package/dist/di/types.js.map +1 -0
- package/dist/email/consumers/email.consumer.d.ts +43 -0
- package/dist/email/consumers/email.consumer.d.ts.map +1 -0
- package/dist/email/consumers/email.consumer.js +133 -0
- package/dist/email/consumers/email.consumer.js.map +1 -0
- package/dist/email/consumers/index.d.ts +2 -0
- package/dist/email/consumers/index.d.ts.map +1 -0
- package/dist/email/consumers/index.js +2 -0
- package/dist/email/consumers/index.js.map +1 -0
- package/dist/email/contracts/email-attachment.d.ts +61 -0
- package/dist/email/contracts/email-attachment.d.ts.map +1 -0
- package/dist/email/contracts/email-attachment.js +58 -0
- package/dist/email/contracts/email-attachment.js.map +1 -0
- package/dist/email/contracts/email-message.contract.d.ts +58 -0
- package/dist/email/contracts/email-message.contract.d.ts.map +1 -0
- package/dist/email/contracts/email-message.contract.js +62 -0
- package/dist/email/contracts/email-message.contract.js.map +1 -0
- package/dist/email/contracts/index.d.ts +4 -0
- package/dist/email/contracts/index.d.ts.map +1 -0
- package/dist/email/contracts/index.js +4 -0
- package/dist/email/contracts/index.js.map +1 -0
- package/dist/email/contracts/send-email.input.d.ts +72 -0
- package/dist/email/contracts/send-email.input.d.ts.map +1 -0
- package/dist/email/contracts/send-email.input.js +28 -0
- package/dist/email/contracts/send-email.input.js.map +1 -0
- package/dist/email/email.module.d.ts +122 -0
- package/dist/email/email.module.d.ts.map +1 -0
- package/dist/email/email.module.js +129 -0
- package/dist/email/email.module.js.map +1 -0
- package/dist/email/email.tokens.d.ts +33 -0
- package/dist/email/email.tokens.d.ts.map +1 -0
- package/dist/email/email.tokens.js +33 -0
- package/dist/email/email.tokens.js.map +1 -0
- package/dist/email/errors/email-provider-not-supported.error.d.ts +13 -0
- package/dist/email/errors/email-provider-not-supported.error.d.ts.map +1 -0
- package/dist/email/errors/email-provider-not-supported.error.js +15 -0
- package/dist/email/errors/email-provider-not-supported.error.js.map +1 -0
- package/dist/email/errors/email-resend-api-failed.error.d.ts +13 -0
- package/dist/email/errors/email-resend-api-failed.error.d.ts.map +1 -0
- package/dist/email/errors/email-resend-api-failed.error.js +15 -0
- package/dist/email/errors/email-resend-api-failed.error.js.map +1 -0
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts +13 -0
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +1 -0
- package/dist/email/errors/email-smtp-connection-failed.error.js +15 -0
- package/dist/email/errors/email-smtp-connection-failed.error.js.map +1 -0
- package/dist/email/errors/index.d.ts +7 -0
- package/dist/email/errors/index.d.ts.map +1 -0
- package/dist/email/errors/index.js +7 -0
- package/dist/email/errors/index.js.map +1 -0
- package/dist/email/errors/resend-api-key-missing.error.d.ts +13 -0
- package/dist/email/errors/resend-api-key-missing.error.d.ts.map +1 -0
- package/dist/email/errors/resend-api-key-missing.error.js +15 -0
- package/dist/email/errors/resend-api-key-missing.error.js.map +1 -0
- package/dist/email/errors/smtp-configuration-missing.error.d.ts +13 -0
- package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +1 -0
- package/dist/email/errors/smtp-configuration-missing.error.js +15 -0
- package/dist/email/errors/smtp-configuration-missing.error.js.map +1 -0
- package/dist/email/errors/smtp-host-missing.error.d.ts +13 -0
- package/dist/email/errors/smtp-host-missing.error.d.ts.map +1 -0
- package/dist/email/errors/smtp-host-missing.error.js +15 -0
- package/dist/email/errors/smtp-host-missing.error.js.map +1 -0
- package/dist/email/index.d.ts +6 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +8 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/providers/base-email.provider.d.ts +22 -0
- package/dist/email/providers/base-email.provider.d.ts.map +1 -0
- package/dist/email/providers/base-email.provider.js +43 -0
- package/dist/email/providers/base-email.provider.js.map +1 -0
- package/dist/email/providers/email-provider.interface.d.ts +66 -0
- package/dist/email/providers/email-provider.interface.d.ts.map +1 -0
- package/dist/email/providers/email-provider.interface.js +2 -0
- package/dist/email/providers/email-provider.interface.js.map +1 -0
- package/dist/email/providers/index.d.ts +5 -0
- package/dist/email/providers/index.d.ts.map +1 -0
- package/dist/email/providers/index.js +5 -0
- package/dist/email/providers/index.js.map +1 -0
- package/dist/email/providers/resend.provider.d.ts +26 -0
- package/dist/email/providers/resend.provider.d.ts.map +1 -0
- package/dist/email/providers/resend.provider.js +84 -0
- package/dist/email/providers/resend.provider.js.map +1 -0
- package/dist/email/providers/smtp.provider.d.ts +25 -0
- package/dist/email/providers/smtp.provider.d.ts.map +1 -0
- package/dist/email/providers/smtp.provider.js +86 -0
- package/dist/email/providers/smtp.provider.js.map +1 -0
- package/dist/email/services/email-provider-factory.d.ts +24 -0
- package/dist/email/services/email-provider-factory.d.ts.map +1 -0
- package/dist/email/services/email-provider-factory.js +59 -0
- package/dist/email/services/email-provider-factory.js.map +1 -0
- package/dist/email/services/email.service.d.ts +51 -0
- package/dist/email/services/email.service.d.ts.map +1 -0
- package/dist/email/services/email.service.js +75 -0
- package/dist/email/services/email.service.js.map +1 -0
- package/dist/email/services/index.d.ts +3 -0
- package/dist/email/services/index.d.ts.map +1 -0
- package/dist/email/services/index.js +3 -0
- package/dist/email/services/index.js.map +1 -0
- package/dist/env.d.ts +21 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +2 -0
- package/dist/env.js.map +1 -0
- package/dist/errors/application-error.d.ts +80 -0
- package/dist/errors/application-error.d.ts.map +1 -0
- package/dist/errors/application-error.js +118 -0
- package/dist/errors/application-error.js.map +1 -0
- package/dist/errors/error-codes.d.ts +198 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +180 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/get-http-status.d.ts +12 -0
- package/dist/errors/get-http-status.d.ts.map +1 -0
- package/dist/errors/get-http-status.js +62 -0
- package/dist/errors/get-http-status.js.map +1 -0
- package/dist/errors/index.d.ts +5 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +5 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/is-application-error.d.ts +9 -0
- package/dist/errors/is-application-error.d.ts.map +1 -0
- package/dist/errors/is-application-error.js +11 -0
- package/dist/errors/is-application-error.js.map +1 -0
- package/dist/guards/guard-execution.service.d.ts +37 -0
- package/dist/guards/guard-execution.service.d.ts.map +1 -0
- package/dist/guards/guard-execution.service.js +74 -0
- package/dist/guards/guard-execution.service.js.map +1 -0
- package/dist/guards/index.d.ts +12 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +12 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/guards/types.d.ts +60 -0
- package/dist/guards/types.d.ts.map +1 -0
- package/dist/guards/types.js +5 -0
- package/dist/guards/types.js.map +1 -0
- package/dist/guards/use-guards.decorator.d.ts +73 -0
- package/dist/guards/use-guards.decorator.d.ts.map +1 -0
- package/dist/guards/use-guards.decorator.js +89 -0
- package/dist/guards/use-guards.decorator.js.map +1 -0
- package/dist/i18n/errors/index.d.ts +6 -0
- package/dist/i18n/errors/index.d.ts.map +1 -0
- package/dist/i18n/errors/index.js +6 -0
- package/dist/i18n/errors/index.js.map +1 -0
- package/dist/i18n/errors/locale-not-supported.error.d.ts +12 -0
- package/dist/i18n/errors/locale-not-supported.error.d.ts.map +1 -0
- package/dist/i18n/errors/locale-not-supported.error.js +15 -0
- package/dist/i18n/errors/locale-not-supported.error.js.map +1 -0
- package/dist/i18n/errors/translation-missing.error.d.ts +12 -0
- package/dist/i18n/errors/translation-missing.error.d.ts.map +1 -0
- package/dist/i18n/errors/translation-missing.error.js +15 -0
- package/dist/i18n/errors/translation-missing.error.js.map +1 -0
- package/dist/i18n/i18n.module.d.ts +60 -0
- package/dist/i18n/i18n.module.d.ts.map +1 -0
- package/dist/i18n/i18n.module.js +103 -0
- package/dist/i18n/i18n.module.js.map +1 -0
- package/dist/i18n/i18n.options.d.ts +60 -0
- package/dist/i18n/i18n.options.d.ts.map +1 -0
- package/dist/i18n/i18n.options.js +18 -0
- package/dist/i18n/i18n.options.js.map +1 -0
- package/dist/i18n/i18n.tokens.d.ts +13 -0
- package/dist/i18n/i18n.tokens.d.ts.map +1 -0
- package/dist/i18n/i18n.tokens.js +13 -0
- package/dist/i18n/i18n.tokens.js.map +1 -0
- package/dist/i18n/i18n.types.d.ts +78 -0
- package/dist/i18n/i18n.types.d.ts.map +1 -0
- package/dist/i18n/i18n.types.js +8 -0
- package/dist/i18n/i18n.types.js.map +1 -0
- package/dist/i18n/index.d.ts +12 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +12 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/en/common.d.ts +23 -0
- package/dist/i18n/messages/en/common.d.ts.map +1 -0
- package/dist/i18n/messages/en/common.js +23 -0
- package/dist/i18n/messages/en/common.js.map +1 -0
- package/dist/i18n/messages/en/emails.d.ts +12 -0
- package/dist/i18n/messages/en/emails.d.ts.map +1 -0
- package/dist/i18n/messages/en/emails.js +12 -0
- package/dist/i18n/messages/en/emails.js.map +1 -0
- package/dist/i18n/messages/en/errors.d.ts +115 -0
- package/dist/i18n/messages/en/errors.d.ts.map +1 -0
- package/dist/i18n/messages/en/errors.js +132 -0
- package/dist/i18n/messages/en/errors.js.map +1 -0
- package/dist/i18n/messages/en/index.d.ts +13 -0
- package/dist/i18n/messages/en/index.d.ts.map +1 -0
- package/dist/i18n/messages/en/index.js +13 -0
- package/dist/i18n/messages/en/index.js.map +1 -0
- package/dist/i18n/messages/en/validation.d.ts +38 -0
- package/dist/i18n/messages/en/validation.d.ts.map +1 -0
- package/dist/i18n/messages/en/validation.js +38 -0
- package/dist/i18n/messages/en/validation.js.map +1 -0
- package/dist/i18n/messages/en/zod.d.ts +125 -0
- package/dist/i18n/messages/en/zod.d.ts.map +1 -0
- package/dist/i18n/messages/en/zod.js +132 -0
- package/dist/i18n/messages/en/zod.js.map +1 -0
- package/dist/i18n/messages/index.d.ts +27 -0
- package/dist/i18n/messages/index.d.ts.map +1 -0
- package/dist/i18n/messages/index.js +25 -0
- package/dist/i18n/messages/index.js.map +1 -0
- package/dist/i18n/middleware/i18n-context.middleware.d.ts +15 -0
- package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +1 -0
- package/dist/i18n/middleware/i18n-context.middleware.js +42 -0
- package/dist/i18n/middleware/i18n-context.middleware.js.map +1 -0
- package/dist/i18n/middleware/index.d.ts +6 -0
- package/dist/i18n/middleware/index.d.ts.map +1 -0
- package/dist/i18n/middleware/index.js +6 -0
- package/dist/i18n/middleware/index.js.map +1 -0
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts +19 -0
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +1 -0
- package/dist/i18n/middleware/locale-extraction.middleware.js +49 -0
- package/dist/i18n/middleware/locale-extraction.middleware.js.map +1 -0
- package/dist/i18n/services/i18n.service.d.ts +62 -0
- package/dist/i18n/services/i18n.service.d.ts.map +1 -0
- package/dist/i18n/services/i18n.service.js +118 -0
- package/dist/i18n/services/i18n.service.js.map +1 -0
- package/dist/i18n/services/message-loader.service.d.ts +47 -0
- package/dist/i18n/services/message-loader.service.d.ts.map +1 -0
- package/dist/i18n/services/message-loader.service.js +121 -0
- package/dist/i18n/services/message-loader.service.js.map +1 -0
- package/dist/i18n/setup.d.ts +27 -0
- package/dist/i18n/setup.d.ts.map +1 -0
- package/dist/i18n/setup.js +40 -0
- package/dist/i18n/setup.js.map +1 -0
- package/dist/i18n/validation/index.d.ts +9 -0
- package/dist/i18n/validation/index.d.ts.map +1 -0
- package/dist/i18n/validation/index.js +10 -0
- package/dist/i18n/validation/index.js.map +1 -0
- package/dist/i18n/validation/validation.context.d.ts +34 -0
- package/dist/i18n/validation/validation.context.d.ts.map +1 -0
- package/dist/i18n/validation/validation.context.js +42 -0
- package/dist/i18n/validation/validation.context.js.map +1 -0
- package/dist/i18n/validation/validation.error-map.d.ts +8 -0
- package/dist/i18n/validation/validation.error-map.d.ts.map +1 -0
- package/dist/i18n/validation/validation.error-map.js +158 -0
- package/dist/i18n/validation/validation.error-map.js.map +1 -0
- package/dist/i18n/validation/validation.types.d.ts +44 -0
- package/dist/i18n/validation/validation.types.d.ts.map +1 -0
- package/dist/i18n/validation/validation.types.js +2 -0
- package/dist/i18n/validation/validation.types.js.map +1 -0
- package/dist/i18n/validation/with-i18n.d.ts +29 -0
- package/dist/i18n/validation/with-i18n.d.ts.map +1 -0
- package/dist/i18n/validation/with-i18n.js +40 -0
- package/dist/i18n/validation/with-i18n.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/error-handler/error-response.d.ts +32 -0
- package/dist/infrastructure/error-handler/error-response.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/error-response.js +14 -0
- package/dist/infrastructure/error-handler/error-response.js.map +1 -0
- package/dist/infrastructure/error-handler/global-error-handler.d.ts +81 -0
- package/dist/infrastructure/error-handler/global-error-handler.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/global-error-handler.js +178 -0
- package/dist/infrastructure/error-handler/global-error-handler.js.map +1 -0
- package/dist/infrastructure/error-handler/index.d.ts +6 -0
- package/dist/infrastructure/error-handler/index.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/index.js +5 -0
- package/dist/infrastructure/error-handler/index.js.map +1 -0
- package/dist/infrastructure/error-handler/internal-error.d.ts +16 -0
- package/dist/infrastructure/error-handler/internal-error.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/internal-error.js +19 -0
- package/dist/infrastructure/error-handler/internal-error.js.map +1 -0
- package/dist/infrastructure/errors/index.d.ts +2 -0
- package/dist/infrastructure/errors/index.d.ts.map +1 -0
- package/dist/infrastructure/errors/index.js +2 -0
- package/dist/infrastructure/errors/index.js.map +1 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts +12 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts.map +1 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.js +15 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.js.map +1 -0
- package/dist/infrastructure/index.d.ts +3 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +3 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/logger/contracts/index.d.ts +4 -0
- package/dist/logger/contracts/index.d.ts.map +1 -0
- package/dist/logger/contracts/index.js +4 -0
- package/dist/logger/contracts/index.js.map +1 -0
- package/dist/logger/contracts/log-context.d.ts +16 -0
- package/dist/logger/contracts/log-context.d.ts.map +1 -0
- package/dist/logger/contracts/log-context.js +2 -0
- package/dist/logger/contracts/log-context.js.map +1 -0
- package/dist/logger/contracts/log-entry.d.ts +17 -0
- package/dist/logger/contracts/log-entry.d.ts.map +1 -0
- package/dist/logger/contracts/log-entry.js +2 -0
- package/dist/logger/contracts/log-entry.js.map +1 -0
- package/dist/logger/contracts/log-level.d.ts +16 -0
- package/dist/logger/contracts/log-level.d.ts.map +1 -0
- package/dist/logger/contracts/log-level.js +22 -0
- package/dist/logger/contracts/log-level.js.map +1 -0
- package/dist/logger/formatters/formatter.interface.d.ts +14 -0
- package/dist/logger/formatters/formatter.interface.d.ts.map +1 -0
- package/dist/logger/formatters/formatter.interface.js +2 -0
- package/dist/logger/formatters/formatter.interface.js.map +1 -0
- package/dist/logger/formatters/index.d.ts +4 -0
- package/dist/logger/formatters/index.d.ts.map +1 -0
- package/dist/logger/formatters/index.js +4 -0
- package/dist/logger/formatters/index.js.map +1 -0
- package/dist/logger/formatters/json-formatter.d.ts +22 -0
- package/dist/logger/formatters/json-formatter.d.ts.map +1 -0
- package/dist/logger/formatters/json-formatter.js +28 -0
- package/dist/logger/formatters/json-formatter.js.map +1 -0
- package/dist/logger/formatters/pretty-formatter.d.ts +19 -0
- package/dist/logger/formatters/pretty-formatter.d.ts.map +1 -0
- package/dist/logger/formatters/pretty-formatter.js +42 -0
- package/dist/logger/formatters/pretty-formatter.js.map +1 -0
- package/dist/logger/index.d.ts +7 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +10 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.tokens.d.ts +29 -0
- package/dist/logger/logger.tokens.d.ts.map +1 -0
- package/dist/logger/logger.tokens.js +29 -0
- package/dist/logger/logger.tokens.js.map +1 -0
- package/dist/logger/services/index.d.ts +2 -0
- package/dist/logger/services/index.d.ts.map +1 -0
- package/dist/logger/services/index.js +2 -0
- package/dist/logger/services/index.js.map +1 -0
- package/dist/logger/services/logger.service.d.ts +86 -0
- package/dist/logger/services/logger.service.d.ts.map +1 -0
- package/dist/logger/services/logger.service.js +161 -0
- package/dist/logger/services/logger.service.js.map +1 -0
- package/dist/logger/transports/base-transport.d.ts +24 -0
- package/dist/logger/transports/base-transport.d.ts.map +1 -0
- package/dist/logger/transports/base-transport.js +23 -0
- package/dist/logger/transports/base-transport.js.map +1 -0
- package/dist/logger/transports/console-transport.d.ts +19 -0
- package/dist/logger/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/transports/console-transport.js +53 -0
- package/dist/logger/transports/console-transport.js.map +1 -0
- package/dist/logger/transports/index.d.ts +4 -0
- package/dist/logger/transports/index.d.ts.map +1 -0
- package/dist/logger/transports/index.js +4 -0
- package/dist/logger/transports/index.js.map +1 -0
- package/dist/logger/transports/transport.interface.d.ts +21 -0
- package/dist/logger/transports/transport.interface.d.ts.map +1 -0
- package/dist/logger/transports/transport.interface.js +2 -0
- package/dist/logger/transports/transport.interface.js.map +1 -0
- package/dist/middleware/index.d.ts +24 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +23 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/middleware-configuration.service.d.ts +64 -0
- package/dist/middleware/middleware-configuration.service.d.ts.map +1 -0
- package/dist/middleware/middleware-configuration.service.js +210 -0
- package/dist/middleware/middleware-configuration.service.js.map +1 -0
- package/dist/middleware/middleware-consumer.d.ts +57 -0
- package/dist/middleware/middleware-consumer.d.ts.map +1 -0
- package/dist/middleware/middleware-consumer.js +130 -0
- package/dist/middleware/middleware-consumer.js.map +1 -0
- package/dist/middleware/types.d.ts +94 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +2 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/module/errors/index.d.ts +5 -0
- package/dist/module/errors/index.d.ts.map +1 -0
- package/dist/module/errors/index.js +5 -0
- package/dist/module/errors/index.js.map +1 -0
- package/dist/module/errors/invalid-module-provider.error.d.ts +11 -0
- package/dist/module/errors/invalid-module-provider.error.d.ts.map +1 -0
- package/dist/module/errors/invalid-module-provider.error.js +14 -0
- package/dist/module/errors/invalid-module-provider.error.js.map +1 -0
- package/dist/module/errors/module-already-registered.error.d.ts +11 -0
- package/dist/module/errors/module-already-registered.error.d.ts.map +1 -0
- package/dist/module/errors/module-already-registered.error.js +14 -0
- package/dist/module/errors/module-already-registered.error.js.map +1 -0
- package/dist/module/errors/module-circular-dependency.error.d.ts +11 -0
- package/dist/module/errors/module-circular-dependency.error.d.ts.map +1 -0
- package/dist/module/errors/module-circular-dependency.error.js +15 -0
- package/dist/module/errors/module-circular-dependency.error.js.map +1 -0
- package/dist/module/errors/module-dependency-not-found.error.d.ts +11 -0
- package/dist/module/errors/module-dependency-not-found.error.d.ts.map +1 -0
- package/dist/module/errors/module-dependency-not-found.error.js +14 -0
- package/dist/module/errors/module-dependency-not-found.error.js.map +1 -0
- package/dist/module/index.d.ts +4 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +7 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/module-registry.d.ts +101 -0
- package/dist/module/module-registry.d.ts.map +1 -0
- package/dist/module/module-registry.js +278 -0
- package/dist/module/module-registry.js.map +1 -0
- package/dist/module/module.decorator.d.ts +34 -0
- package/dist/module/module.decorator.d.ts.map +1 -0
- package/dist/module/module.decorator.js +107 -0
- package/dist/module/module.decorator.js.map +1 -0
- package/dist/module/types.d.ts +240 -0
- package/dist/module/types.d.ts.map +1 -0
- package/dist/module/types.js +8 -0
- package/dist/module/types.js.map +1 -0
- package/dist/openapi/index.d.ts +5 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +7 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi/openapi.module.d.ts +52 -0
- package/dist/openapi/openapi.module.d.ts.map +1 -0
- package/dist/openapi/openapi.module.js +110 -0
- package/dist/openapi/openapi.module.js.map +1 -0
- package/dist/openapi/openapi.tokens.d.ts +12 -0
- package/dist/openapi/openapi.tokens.d.ts.map +1 -0
- package/dist/openapi/openapi.tokens.js +12 -0
- package/dist/openapi/openapi.tokens.js.map +1 -0
- package/dist/openapi/services/index.d.ts +3 -0
- package/dist/openapi/services/index.d.ts.map +1 -0
- package/dist/openapi/services/index.js +3 -0
- package/dist/openapi/services/index.js.map +1 -0
- package/dist/openapi/services/openapi-config.service.d.ts +43 -0
- package/dist/openapi/services/openapi-config.service.d.ts.map +1 -0
- package/dist/openapi/services/openapi-config.service.js +98 -0
- package/dist/openapi/services/openapi-config.service.js.map +1 -0
- package/dist/openapi/services/openapi.service.d.ts +52 -0
- package/dist/openapi/services/openapi.service.d.ts.map +1 -0
- package/dist/openapi/services/openapi.service.js +228 -0
- package/dist/openapi/services/openapi.service.js.map +1 -0
- package/dist/openapi/types.d.ts +61 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/openapi/types.js +2 -0
- package/dist/openapi/types.js.map +1 -0
- package/dist/polyfills/dom.polyfill.d.ts +2 -0
- package/dist/polyfills/dom.polyfill.d.ts.map +1 -0
- package/dist/polyfills/dom.polyfill.js +30 -0
- package/dist/polyfills/dom.polyfill.js.map +1 -0
- package/dist/polyfills/index.d.ts +8 -0
- package/dist/polyfills/index.d.ts.map +1 -0
- package/dist/polyfills/index.js +8 -0
- package/dist/polyfills/index.js.map +1 -0
- package/dist/queue/consumer-registry.d.ts +77 -0
- package/dist/queue/consumer-registry.d.ts.map +1 -0
- package/dist/queue/consumer-registry.js +110 -0
- package/dist/queue/consumer-registry.js.map +1 -0
- package/dist/queue/decorators/index.d.ts +2 -0
- package/dist/queue/decorators/index.d.ts.map +1 -0
- package/dist/queue/decorators/index.js +2 -0
- package/dist/queue/decorators/index.js.map +1 -0
- package/dist/queue/decorators/inject-queue.decorator.d.ts +31 -0
- package/dist/queue/decorators/inject-queue.decorator.d.ts.map +1 -0
- package/dist/queue/decorators/inject-queue.decorator.js +33 -0
- package/dist/queue/decorators/inject-queue.decorator.js.map +1 -0
- package/dist/queue/errors/index.d.ts +3 -0
- package/dist/queue/errors/index.d.ts.map +1 -0
- package/dist/queue/errors/index.js +3 -0
- package/dist/queue/errors/index.js.map +1 -0
- package/dist/queue/errors/queue-binding-not-found.error.d.ts +12 -0
- package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +1 -0
- package/dist/queue/errors/queue-binding-not-found.error.js +15 -0
- package/dist/queue/errors/queue-binding-not-found.error.js.map +1 -0
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts +13 -0
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +1 -0
- package/dist/queue/errors/queue-provider-not-supported.error.js +16 -0
- package/dist/queue/errors/queue-provider-not-supported.error.js.map +1 -0
- package/dist/queue/index.d.ts +14 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +21 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/providers/cloudflare-queue.provider.d.ts +42 -0
- package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +1 -0
- package/dist/queue/providers/cloudflare-queue.provider.js +73 -0
- package/dist/queue/providers/cloudflare-queue.provider.js.map +1 -0
- package/dist/queue/providers/index.d.ts +4 -0
- package/dist/queue/providers/index.d.ts.map +1 -0
- package/dist/queue/providers/index.js +4 -0
- package/dist/queue/providers/index.js.map +1 -0
- package/dist/queue/providers/queue-provider.interface.d.ts +34 -0
- package/dist/queue/providers/queue-provider.interface.d.ts.map +1 -0
- package/dist/queue/providers/queue-provider.interface.js +2 -0
- package/dist/queue/providers/queue-provider.interface.js.map +1 -0
- package/dist/queue/providers/sync-queue.provider.d.ts +48 -0
- package/dist/queue/providers/sync-queue.provider.d.ts.map +1 -0
- package/dist/queue/providers/sync-queue.provider.js +89 -0
- package/dist/queue/providers/sync-queue.provider.js.map +1 -0
- package/dist/queue/queue-consumer.d.ts +64 -0
- package/dist/queue/queue-consumer.d.ts.map +1 -0
- package/dist/queue/queue-consumer.js +2 -0
- package/dist/queue/queue-consumer.js.map +1 -0
- package/dist/queue/queue-manager.d.ts +36 -0
- package/dist/queue/queue-manager.d.ts.map +1 -0
- package/dist/queue/queue-manager.js +80 -0
- package/dist/queue/queue-manager.js.map +1 -0
- package/dist/queue/queue-name.d.ts +50 -0
- package/dist/queue/queue-name.d.ts.map +1 -0
- package/dist/queue/queue-name.js +21 -0
- package/dist/queue/queue-name.js.map +1 -0
- package/dist/queue/queue-registry.d.ts +46 -0
- package/dist/queue/queue-registry.d.ts.map +1 -0
- package/dist/queue/queue-registry.js +78 -0
- package/dist/queue/queue-registry.js.map +1 -0
- package/dist/queue/queue-sender.d.ts +38 -0
- package/dist/queue/queue-sender.d.ts.map +1 -0
- package/dist/queue/queue-sender.interface.d.ts +46 -0
- package/dist/queue/queue-sender.interface.d.ts.map +1 -0
- package/dist/queue/queue-sender.interface.js +2 -0
- package/dist/queue/queue-sender.interface.js.map +1 -0
- package/dist/queue/queue-sender.js +54 -0
- package/dist/queue/queue-sender.js.map +1 -0
- package/dist/queue/queue.module.d.ts +80 -0
- package/dist/queue/queue.module.d.ts.map +1 -0
- package/dist/queue/queue.module.js +113 -0
- package/dist/queue/queue.module.js.map +1 -0
- package/dist/queue/queue.tokens.d.ts +7 -0
- package/dist/queue/queue.tokens.d.ts.map +1 -0
- package/dist/queue/queue.tokens.js +6 -0
- package/dist/queue/queue.tokens.js.map +1 -0
- package/dist/queue/services/index.d.ts +2 -0
- package/dist/queue/services/index.d.ts.map +1 -0
- package/dist/queue/services/index.js +2 -0
- package/dist/queue/services/index.js.map +1 -0
- package/dist/queue/services/queue-provider-factory.d.ts +41 -0
- package/dist/queue/services/queue-provider-factory.d.ts.map +1 -0
- package/dist/queue/services/queue-provider-factory.js +78 -0
- package/dist/queue/services/queue-provider-factory.js.map +1 -0
- package/dist/router/constants.d.ts +72 -0
- package/dist/router/constants.d.ts.map +1 -0
- package/dist/router/constants.js +54 -0
- package/dist/router/constants.js.map +1 -0
- package/dist/router/controller.d.ts +56 -0
- package/dist/router/controller.d.ts.map +1 -0
- package/dist/router/controller.js +2 -0
- package/dist/router/controller.js.map +1 -0
- package/dist/router/decorators/controller.decorator.d.ts +55 -0
- package/dist/router/decorators/controller.decorator.d.ts.map +1 -0
- package/dist/router/decorators/controller.decorator.js +76 -0
- package/dist/router/decorators/controller.decorator.js.map +1 -0
- package/dist/router/decorators/index.d.ts +3 -0
- package/dist/router/decorators/index.d.ts.map +1 -0
- package/dist/router/decorators/index.js +7 -0
- package/dist/router/decorators/index.js.map +1 -0
- package/dist/router/decorators/route.decorator.d.ts +87 -0
- package/dist/router/decorators/route.decorator.d.ts.map +1 -0
- package/dist/router/decorators/route.decorator.js +99 -0
- package/dist/router/decorators/route.decorator.js.map +1 -0
- package/dist/router/errors/controller-method-not-found.error.d.ts +11 -0
- package/dist/router/errors/controller-method-not-found.error.d.ts.map +1 -0
- package/dist/router/errors/controller-method-not-found.error.js +14 -0
- package/dist/router/errors/controller-method-not-found.error.js.map +1 -0
- package/dist/router/errors/controller-registration.error.d.ts +15 -0
- package/dist/router/errors/controller-registration.error.d.ts.map +1 -0
- package/dist/router/errors/controller-registration.error.js +21 -0
- package/dist/router/errors/controller-registration.error.js.map +1 -0
- package/dist/router/errors/index.d.ts +9 -0
- package/dist/router/errors/index.d.ts.map +1 -0
- package/dist/router/errors/index.js +11 -0
- package/dist/router/errors/index.js.map +1 -0
- package/dist/router/errors/openapi-route-registration.error.d.ts +17 -0
- package/dist/router/errors/openapi-route-registration.error.d.ts.map +1 -0
- package/dist/router/errors/openapi-route-registration.error.js +20 -0
- package/dist/router/errors/openapi-route-registration.error.js.map +1 -0
- package/dist/router/errors/openapi-validation.error.d.ts +19 -0
- package/dist/router/errors/openapi-validation.error.d.ts.map +1 -0
- package/dist/router/errors/openapi-validation.error.js +22 -0
- package/dist/router/errors/openapi-validation.error.js.map +1 -0
- package/dist/router/errors/route-not-found.error.d.ts +11 -0
- package/dist/router/errors/route-not-found.error.d.ts.map +1 -0
- package/dist/router/errors/route-not-found.error.js +14 -0
- package/dist/router/errors/route-not-found.error.js.map +1 -0
- package/dist/router/errors/router-already-configured.error.d.ts +5 -0
- package/dist/router/errors/router-already-configured.error.d.ts.map +1 -0
- package/dist/router/errors/router-already-configured.error.js +8 -0
- package/dist/router/errors/router-already-configured.error.js.map +1 -0
- package/dist/router/errors/router-not-configured.error.d.ts +5 -0
- package/dist/router/errors/router-not-configured.error.d.ts.map +1 -0
- package/dist/router/errors/router-not-configured.error.js +8 -0
- package/dist/router/errors/router-not-configured.error.js.map +1 -0
- package/dist/router/errors/schema-validation.error.d.ts +11 -0
- package/dist/router/errors/schema-validation.error.d.ts.map +1 -0
- package/dist/router/errors/schema-validation.error.js +18 -0
- package/dist/router/errors/schema-validation.error.js.map +1 -0
- package/dist/router/index.d.ts +13 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +18 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/middleware/index.d.ts +2 -0
- package/dist/router/middleware/index.d.ts.map +1 -0
- package/dist/router/middleware/index.js +4 -0
- package/dist/router/middleware/index.js.map +1 -0
- package/dist/router/middleware/logger.middleware.d.ts +19 -0
- package/dist/router/middleware/logger.middleware.d.ts.map +1 -0
- package/dist/router/middleware/logger.middleware.js +32 -0
- package/dist/router/middleware/logger.middleware.js.map +1 -0
- package/dist/router/middleware.interface.d.ts +38 -0
- package/dist/router/middleware.interface.d.ts.map +1 -0
- package/dist/router/middleware.interface.js +2 -0
- package/dist/router/middleware.interface.js.map +1 -0
- package/dist/router/router-context.d.ts +117 -0
- package/dist/router/router-context.d.ts.map +1 -0
- package/dist/router/router-context.js +145 -0
- package/dist/router/router-context.js.map +1 -0
- package/dist/router/router.service.d.ts +62 -0
- package/dist/router/router.service.d.ts.map +1 -0
- package/dist/router/router.service.js +166 -0
- package/dist/router/router.service.js.map +1 -0
- package/dist/router/router.tokens.d.ts +39 -0
- package/dist/router/router.tokens.d.ts.map +1 -0
- package/dist/router/router.tokens.js +39 -0
- package/dist/router/router.tokens.js.map +1 -0
- package/dist/router/schemas/common.schemas.d.ts +148 -0
- package/dist/router/schemas/common.schemas.d.ts.map +1 -0
- package/dist/router/schemas/common.schemas.js +88 -0
- package/dist/router/schemas/common.schemas.js.map +1 -0
- package/dist/router/schemas/index.d.ts +2 -0
- package/dist/router/schemas/index.d.ts.map +1 -0
- package/dist/router/schemas/index.js +2 -0
- package/dist/router/schemas/index.js.map +1 -0
- package/dist/router/services/index.d.ts +7 -0
- package/dist/router/services/index.d.ts.map +1 -0
- package/dist/router/services/index.js +7 -0
- package/dist/router/services/index.js.map +1 -0
- package/dist/router/services/request-scope.service.d.ts +44 -0
- package/dist/router/services/request-scope.service.d.ts.map +1 -0
- package/dist/router/services/request-scope.service.js +78 -0
- package/dist/router/services/request-scope.service.js.map +1 -0
- package/dist/router/services/route-registration.service.d.ts +94 -0
- package/dist/router/services/route-registration.service.d.ts.map +1 -0
- package/dist/router/services/route-registration.service.js +451 -0
- package/dist/router/services/route-registration.service.js.map +1 -0
- package/dist/router/types.d.ts +130 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +2 -0
- package/dist/router/types.js.map +1 -0
- package/dist/storage/contracts/delete-file.input.d.ts +7 -0
- package/dist/storage/contracts/delete-file.input.d.ts.map +1 -0
- package/dist/storage/contracts/delete-file.input.js +6 -0
- package/dist/storage/contracts/delete-file.input.js.map +1 -0
- package/dist/storage/contracts/download-result.d.ts +28 -0
- package/dist/storage/contracts/download-result.d.ts.map +1 -0
- package/dist/storage/contracts/download-result.js +2 -0
- package/dist/storage/contracts/download-result.js.map +1 -0
- package/dist/storage/contracts/file-exists.input.d.ts +7 -0
- package/dist/storage/contracts/file-exists.input.d.ts.map +1 -0
- package/dist/storage/contracts/file-exists.input.js +6 -0
- package/dist/storage/contracts/file-exists.input.js.map +1 -0
- package/dist/storage/contracts/get-presigned-url.input.d.ts +26 -0
- package/dist/storage/contracts/get-presigned-url.input.d.ts.map +1 -0
- package/dist/storage/contracts/get-presigned-url.input.js +14 -0
- package/dist/storage/contracts/get-presigned-url.input.js.map +1 -0
- package/dist/storage/contracts/index.d.ts +6 -0
- package/dist/storage/contracts/index.d.ts.map +1 -0
- package/dist/storage/contracts/index.js +6 -0
- package/dist/storage/contracts/index.js.map +1 -0
- package/dist/storage/contracts/upload-file.input.d.ts +34 -0
- package/dist/storage/contracts/upload-file.input.d.ts.map +1 -0
- package/dist/storage/contracts/upload-file.input.js +10 -0
- package/dist/storage/contracts/upload-file.input.js.map +1 -0
- package/dist/storage/errors/disk-not-configured.error.d.ts +5 -0
- package/dist/storage/errors/disk-not-configured.error.d.ts.map +1 -0
- package/dist/storage/errors/disk-not-configured.error.js +7 -0
- package/dist/storage/errors/disk-not-configured.error.js.map +1 -0
- package/dist/storage/errors/file-not-found.error.d.ts +5 -0
- package/dist/storage/errors/file-not-found.error.d.ts.map +1 -0
- package/dist/storage/errors/file-not-found.error.js +8 -0
- package/dist/storage/errors/file-not-found.error.js.map +1 -0
- package/dist/storage/errors/file-too-large.error.d.ts +5 -0
- package/dist/storage/errors/file-too-large.error.d.ts.map +1 -0
- package/dist/storage/errors/file-too-large.error.js +11 -0
- package/dist/storage/errors/file-too-large.error.js.map +1 -0
- package/dist/storage/errors/index.d.ts +9 -0
- package/dist/storage/errors/index.d.ts.map +1 -0
- package/dist/storage/errors/index.js +9 -0
- package/dist/storage/errors/index.js.map +1 -0
- package/dist/storage/errors/invalid-disk.error.d.ts +5 -0
- package/dist/storage/errors/invalid-disk.error.d.ts.map +1 -0
- package/dist/storage/errors/invalid-disk.error.js +8 -0
- package/dist/storage/errors/invalid-disk.error.js.map +1 -0
- package/dist/storage/errors/invalid-file-type.error.d.ts +5 -0
- package/dist/storage/errors/invalid-file-type.error.d.ts.map +1 -0
- package/dist/storage/errors/invalid-file-type.error.js +10 -0
- package/dist/storage/errors/invalid-file-type.error.js.map +1 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +5 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +1 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js +12 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +1 -0
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts +5 -0
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +1 -0
- package/dist/storage/errors/storage-provider-not-supported.error.js +8 -0
- package/dist/storage/errors/storage-provider-not-supported.error.js.map +1 -0
- package/dist/storage/errors/storage-response-body-missing.error.d.ts +5 -0
- package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +1 -0
- package/dist/storage/errors/storage-response-body-missing.error.js +8 -0
- package/dist/storage/errors/storage-response-body-missing.error.js.map +1 -0
- package/dist/storage/index.d.ts +15 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +18 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts +194 -0
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +1 -0
- package/dist/storage/providers/s3-multipart-provider.interface.js +2 -0
- package/dist/storage/providers/s3-multipart-provider.interface.js.map +1 -0
- package/dist/storage/providers/s3-storage.provider.d.ts +77 -0
- package/dist/storage/providers/s3-storage.provider.d.ts.map +1 -0
- package/dist/storage/providers/s3-storage.provider.js +310 -0
- package/dist/storage/providers/s3-storage.provider.js.map +1 -0
- package/dist/storage/providers/storage-provider.interface.d.ts +58 -0
- package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -0
- package/dist/storage/providers/storage-provider.interface.js +2 -0
- package/dist/storage/providers/storage-provider.interface.js.map +1 -0
- package/dist/storage/services/storage-manager.service.d.ts +48 -0
- package/dist/storage/services/storage-manager.service.d.ts.map +1 -0
- package/dist/storage/services/storage-manager.service.js +111 -0
- package/dist/storage/services/storage-manager.service.js.map +1 -0
- package/dist/storage/services/storage.service.d.ts +140 -0
- package/dist/storage/services/storage.service.d.ts.map +1 -0
- package/dist/storage/services/storage.service.js +232 -0
- package/dist/storage/services/storage.service.js.map +1 -0
- package/dist/storage/storage.module.d.ts +52 -0
- package/dist/storage/storage.module.d.ts.map +1 -0
- package/dist/storage/storage.module.js +81 -0
- package/dist/storage/storage.module.js.map +1 -0
- package/dist/storage/storage.tokens.d.ts +10 -0
- package/dist/storage/storage.tokens.d.ts.map +1 -0
- package/dist/storage/storage.tokens.js +10 -0
- package/dist/storage/storage.tokens.js.map +1 -0
- package/dist/storage/types.d.ts +31 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/worker/index.d.ts +2 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +2 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/module-worker.d.ts +48 -0
- package/dist/worker/module-worker.d.ts.map +1 -0
- package/dist/worker/module-worker.js +88 -0
- package/dist/worker/module-worker.js.map +1 -0
- package/dist/worker/stratal-worker.d.ts +48 -0
- package/dist/worker/stratal-worker.d.ts.map +1 -0
- package/dist/worker/stratal-worker.js +88 -0
- package/dist/worker/stratal-worker.js.map +1 -0
- package/package.json +148 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-provider.interface.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { IStorageProvider } from '../providers/storage-provider.interface';
|
|
2
|
+
import type { StorageConfig, StorageEntry } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Storage Manager Service
|
|
5
|
+
* Manages multiple storage providers (one per disk)
|
|
6
|
+
* Handles lazy initialization and caching of S3Clients
|
|
7
|
+
*/
|
|
8
|
+
export declare class StorageManagerService {
|
|
9
|
+
private readonly options;
|
|
10
|
+
private readonly providers;
|
|
11
|
+
private readonly diskConfigs;
|
|
12
|
+
constructor(options: StorageConfig);
|
|
13
|
+
/**
|
|
14
|
+
* Initialize disk configurations from options
|
|
15
|
+
*/
|
|
16
|
+
private initializeDiskConfigs;
|
|
17
|
+
/**
|
|
18
|
+
* Get provider for a specific disk
|
|
19
|
+
* Lazily initializes provider on first access
|
|
20
|
+
* @param diskName - Name of the disk
|
|
21
|
+
* @returns Storage provider instance
|
|
22
|
+
*/
|
|
23
|
+
getProvider(diskName: string): IStorageProvider;
|
|
24
|
+
/**
|
|
25
|
+
* Create a provider instance based on configuration
|
|
26
|
+
* @param config - Storage entry configuration
|
|
27
|
+
* @returns Storage provider instance
|
|
28
|
+
*/
|
|
29
|
+
private createProvider;
|
|
30
|
+
/**
|
|
31
|
+
* Get disk configuration
|
|
32
|
+
* @param diskName - Name of the disk
|
|
33
|
+
* @returns Storage entry configuration
|
|
34
|
+
*/
|
|
35
|
+
getDiskConfig(diskName: string): StorageEntry;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a disk exists
|
|
38
|
+
* @param diskName - Name of the disk
|
|
39
|
+
* @returns True if disk exists, false otherwise
|
|
40
|
+
*/
|
|
41
|
+
hasDisk(diskName: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get all available disk names
|
|
44
|
+
* @returns Array of disk names
|
|
45
|
+
*/
|
|
46
|
+
getAvailableDisks(): string[];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=storage-manager.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-manager.service.d.ts","sourceRoot":"","sources":["../../../src/storage/services/storage-manager.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE3D;;;;GAIG;AACH,qBACa,qBAAqB;IAM9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;gBAI3C,OAAO,EAAE,aAAa;IAKzC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAsB/C;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAQ7C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE;CAG9B"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject } from 'tsyringe';
|
|
14
|
+
import { Transient } from '../../di/decorators';
|
|
15
|
+
import { DiskNotConfiguredError, StorageProviderNotSupportedError } from '../errors';
|
|
16
|
+
import { S3StorageProvider } from '../providers/s3-storage.provider';
|
|
17
|
+
import { STORAGE_TOKENS } from '../storage.tokens';
|
|
18
|
+
/**
|
|
19
|
+
* Storage Manager Service
|
|
20
|
+
* Manages multiple storage providers (one per disk)
|
|
21
|
+
* Handles lazy initialization and caching of S3Clients
|
|
22
|
+
*/
|
|
23
|
+
let StorageManagerService = class StorageManagerService {
|
|
24
|
+
options;
|
|
25
|
+
providers = new Map();
|
|
26
|
+
diskConfigs = new Map();
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.options = options;
|
|
29
|
+
this.initializeDiskConfigs();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialize disk configurations from options
|
|
33
|
+
*/
|
|
34
|
+
initializeDiskConfigs() {
|
|
35
|
+
for (const entry of this.options.storage) {
|
|
36
|
+
this.diskConfigs.set(entry.disk, entry);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get provider for a specific disk
|
|
41
|
+
* Lazily initializes provider on first access
|
|
42
|
+
* @param diskName - Name of the disk
|
|
43
|
+
* @returns Storage provider instance
|
|
44
|
+
*/
|
|
45
|
+
getProvider(diskName) {
|
|
46
|
+
// Return cached provider if exists
|
|
47
|
+
const cached = this.providers.get(diskName);
|
|
48
|
+
if (cached) {
|
|
49
|
+
return cached;
|
|
50
|
+
}
|
|
51
|
+
// Get disk configuration
|
|
52
|
+
const diskConfig = this.diskConfigs.get(diskName);
|
|
53
|
+
if (!diskConfig) {
|
|
54
|
+
throw new DiskNotConfiguredError(diskName);
|
|
55
|
+
}
|
|
56
|
+
// Create provider based on configuration
|
|
57
|
+
const provider = this.createProvider(diskConfig);
|
|
58
|
+
// Cache provider
|
|
59
|
+
this.providers.set(diskName, provider);
|
|
60
|
+
return provider;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a provider instance based on configuration
|
|
64
|
+
* @param config - Storage entry configuration
|
|
65
|
+
* @returns Storage provider instance
|
|
66
|
+
*/
|
|
67
|
+
createProvider(config) {
|
|
68
|
+
switch (config.provider) {
|
|
69
|
+
case 's3':
|
|
70
|
+
return new S3StorageProvider(config);
|
|
71
|
+
case 'gcs':
|
|
72
|
+
throw new StorageProviderNotSupportedError(config.provider);
|
|
73
|
+
default:
|
|
74
|
+
throw new StorageProviderNotSupportedError(config.provider);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get disk configuration
|
|
79
|
+
* @param diskName - Name of the disk
|
|
80
|
+
* @returns Storage entry configuration
|
|
81
|
+
*/
|
|
82
|
+
getDiskConfig(diskName) {
|
|
83
|
+
const config = this.diskConfigs.get(diskName);
|
|
84
|
+
if (!config) {
|
|
85
|
+
throw new DiskNotConfiguredError(diskName);
|
|
86
|
+
}
|
|
87
|
+
return config;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Check if a disk exists
|
|
91
|
+
* @param diskName - Name of the disk
|
|
92
|
+
* @returns True if disk exists, false otherwise
|
|
93
|
+
*/
|
|
94
|
+
hasDisk(diskName) {
|
|
95
|
+
return this.diskConfigs.has(diskName);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get all available disk names
|
|
99
|
+
* @returns Array of disk names
|
|
100
|
+
*/
|
|
101
|
+
getAvailableDisks() {
|
|
102
|
+
return Array.from(this.diskConfigs.keys());
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
StorageManagerService = __decorate([
|
|
106
|
+
Transient(STORAGE_TOKENS.StorageManager),
|
|
107
|
+
__param(0, inject(STORAGE_TOKENS.Options)),
|
|
108
|
+
__metadata("design:paramtypes", [Object])
|
|
109
|
+
], StorageManagerService);
|
|
110
|
+
export { StorageManagerService };
|
|
111
|
+
//# sourceMappingURL=storage-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-manager.service.js","sourceRoot":"","sources":["../../../src/storage/services/storage-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD;;;;GAIG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMb;IALF,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;IAC/C,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAA;IAE9D,YAEmB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QAEvC,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC9B,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAAgB;QAC1B,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAA;QACf,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;QAED,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAEhD,iBAAiB;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAEtC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,MAAoB;QACzC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,IAAI;gBACP,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;YACtC,KAAK,KAAK;gBACR,MAAM,IAAI,gCAAgC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7D;gBACE,MAAM,IAAI,gCAAgC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AA7FY,qBAAqB;IADjC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC;IAMpC,WAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;;GALtB,qBAAqB,CA6FjC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import '../../polyfills';
|
|
2
|
+
import type { DownloadResult, PresignedUrlResult, UploadOptions, UploadResult } from '../contracts';
|
|
3
|
+
import type { StreamingBlobPayloadInputTypes } from '../providers/storage-provider.interface';
|
|
4
|
+
import type { StorageConfig } from '../types';
|
|
5
|
+
import { StorageManagerService } from './storage-manager.service';
|
|
6
|
+
/**
|
|
7
|
+
* Storage Service
|
|
8
|
+
*
|
|
9
|
+
* Main facade for storage operations.
|
|
10
|
+
* Request-scoped for proper isolation.
|
|
11
|
+
*
|
|
12
|
+
* This service is tenant-agnostic. For tenant-aware path resolution,
|
|
13
|
+
* use TenantStorageService from the tenant module.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* @inject(STORAGE_TOKENS.StorageService)
|
|
18
|
+
* private readonly storage: StorageService
|
|
19
|
+
*
|
|
20
|
+
* await this.storage.upload(file, 'documents/report.pdf')
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class StorageService {
|
|
24
|
+
protected readonly storageManager: StorageManagerService;
|
|
25
|
+
protected readonly options: StorageConfig;
|
|
26
|
+
constructor(storageManager: StorageManagerService, options: StorageConfig);
|
|
27
|
+
/**
|
|
28
|
+
* Upload content to storage
|
|
29
|
+
* @param body - Content to upload (stream, buffer, or string)
|
|
30
|
+
* @param relativePath - Relative path within the disk
|
|
31
|
+
* @param options - Upload options including size and mime type
|
|
32
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
33
|
+
* @returns Upload result with metadata
|
|
34
|
+
*/
|
|
35
|
+
upload(body: StreamingBlobPayloadInputTypes, relativePath: string, options: UploadOptions, disk?: string): Promise<UploadResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Download a file from storage
|
|
38
|
+
* @param relativePath - Relative path within the disk
|
|
39
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
40
|
+
* @returns Download result with stream and metadata
|
|
41
|
+
*/
|
|
42
|
+
download(relativePath: string, disk?: string): Promise<DownloadResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Delete a file from storage
|
|
45
|
+
* @param relativePath - Relative path within the disk
|
|
46
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
47
|
+
*/
|
|
48
|
+
delete(relativePath: string, disk?: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Check if a file exists in storage
|
|
51
|
+
* @param relativePath - Relative path within the disk
|
|
52
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
53
|
+
* @returns True if file exists, false otherwise
|
|
54
|
+
*/
|
|
55
|
+
exists(relativePath: string, disk?: string): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Generate a presigned download URL
|
|
58
|
+
* @param relativePath - Relative path within the disk
|
|
59
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
60
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
61
|
+
* @returns Presigned URL result
|
|
62
|
+
*/
|
|
63
|
+
getPresignedDownloadUrl(relativePath: string, expiresIn?: number, disk?: string): Promise<PresignedUrlResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Generate a presigned upload URL
|
|
66
|
+
* @param relativePath - Relative path within the disk
|
|
67
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
68
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
69
|
+
* @returns Presigned URL result
|
|
70
|
+
*/
|
|
71
|
+
getPresignedUploadUrl(relativePath: string, expiresIn?: number, disk?: string): Promise<PresignedUrlResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Generate a presigned delete URL
|
|
74
|
+
* @param relativePath - Relative path within the disk
|
|
75
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
76
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
77
|
+
* @returns Presigned URL result
|
|
78
|
+
*/
|
|
79
|
+
getPresignedDeleteUrl(relativePath: string, expiresIn?: number, disk?: string): Promise<PresignedUrlResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Generate a presigned URL for any method
|
|
82
|
+
* @param relativePath - Relative path within the disk
|
|
83
|
+
* @param method - HTTP method (GET, PUT, DELETE, HEAD)
|
|
84
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
85
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
86
|
+
* @returns Presigned URL result
|
|
87
|
+
*/
|
|
88
|
+
protected getPresignedUrl(relativePath: string, method: 'GET' | 'PUT' | 'DELETE' | 'HEAD', expiresIn?: number, disk?: string): Promise<PresignedUrlResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Resolve disk name (use default if not provided)
|
|
91
|
+
* @param disk - Optional disk name
|
|
92
|
+
* @returns Resolved disk name
|
|
93
|
+
*/
|
|
94
|
+
protected resolveDisk(disk?: string): string;
|
|
95
|
+
/**
|
|
96
|
+
* Build full path with disk root and path template substitution
|
|
97
|
+
* @param relativePath - Relative path within the disk
|
|
98
|
+
* @param diskName - Name of the disk
|
|
99
|
+
* @returns Full path including disk root
|
|
100
|
+
*/
|
|
101
|
+
protected buildFullPath(relativePath: string, diskName: string): string;
|
|
102
|
+
/**
|
|
103
|
+
* Substitute template variables in path
|
|
104
|
+
* Override this method in subclasses to add tenant-specific substitutions
|
|
105
|
+
*
|
|
106
|
+
* @param path - Path with template variables
|
|
107
|
+
* @returns Path with substituted variables
|
|
108
|
+
*/
|
|
109
|
+
protected substituteTemplateVariables(path: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* Validate expiry time for presigned URLs
|
|
112
|
+
* @param expiresIn - Optional expiry time in seconds
|
|
113
|
+
* @returns Validated expiry time
|
|
114
|
+
*/
|
|
115
|
+
protected validateExpiresIn(expiresIn?: number): number;
|
|
116
|
+
/**
|
|
117
|
+
* Get all available disk names
|
|
118
|
+
* @returns Array of disk names
|
|
119
|
+
*/
|
|
120
|
+
getAvailableDisks(): string[];
|
|
121
|
+
/**
|
|
122
|
+
* Chunked upload for streaming data without known size
|
|
123
|
+
* Uses multipart upload under the hood - handles retries and large files
|
|
124
|
+
*
|
|
125
|
+
* Use this method when:
|
|
126
|
+
* - Content-Length is unknown or unreliable
|
|
127
|
+
* - Uploading from streams that can't be rewound
|
|
128
|
+
* - Need automatic retry handling for transient failures
|
|
129
|
+
*
|
|
130
|
+
* @param body - Content to upload (stream or buffer)
|
|
131
|
+
* @param relativePath - Relative path within the disk
|
|
132
|
+
* @param options - Upload options (mimeType required, size optional)
|
|
133
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
134
|
+
* @returns Upload result with metadata
|
|
135
|
+
*/
|
|
136
|
+
chunkedUpload(body: StreamingBlobPayloadInputTypes, relativePath: string, options: Omit<UploadOptions, 'size'> & {
|
|
137
|
+
size?: number;
|
|
138
|
+
}, disk?: string): Promise<UploadResult>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=storage.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.service.d.ts","sourceRoot":"","sources":["../../../src/storage/services/storage.service.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAKnG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAA;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEjE;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,cAAc;IAGvB,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAqB;IAExD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa;gBAFtB,cAAc,EAAE,qBAAqB,EAErC,OAAO,EAAE,aAAa;IAG3C;;;;;;;OAOG;IACG,MAAM,CACV,IAAI,EAAE,8BAA8B,EACpC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAQxB;;;;;OAKG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ5E;;;;OAIG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;;;;OAKG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;;;;;OAMG;IACG,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;;;;OAMG;IACG,qBAAqB,CACzB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;;;;OAMG;IACG,qBAAqB,CACzB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;;;;;OAOG;cACa,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,EACzC,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;IAS9B;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAU5C;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAavE;;;;;;OAMG;IACH,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY3D;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAevD;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;;;;;;;;;;;OAcG;IACG,aAAa,CACjB,IAAI,EAAE,8BAA8B,EACpC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACxD,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;CAOzB"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import '../../polyfills';
|
|
14
|
+
import { inject } from 'tsyringe';
|
|
15
|
+
import { Transient } from '../../di/decorators';
|
|
16
|
+
import { InvalidDiskError, PresignedUrlInvalidExpiryError, } from '../errors';
|
|
17
|
+
import { STORAGE_TOKENS } from '../storage.tokens';
|
|
18
|
+
import { StorageManagerService } from './storage-manager.service';
|
|
19
|
+
/**
|
|
20
|
+
* Storage Service
|
|
21
|
+
*
|
|
22
|
+
* Main facade for storage operations.
|
|
23
|
+
* Request-scoped for proper isolation.
|
|
24
|
+
*
|
|
25
|
+
* This service is tenant-agnostic. For tenant-aware path resolution,
|
|
26
|
+
* use TenantStorageService from the tenant module.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* @inject(STORAGE_TOKENS.StorageService)
|
|
31
|
+
* private readonly storage: StorageService
|
|
32
|
+
*
|
|
33
|
+
* await this.storage.upload(file, 'documents/report.pdf')
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
let StorageService = class StorageService {
|
|
37
|
+
storageManager;
|
|
38
|
+
options;
|
|
39
|
+
constructor(storageManager, options) {
|
|
40
|
+
this.storageManager = storageManager;
|
|
41
|
+
this.options = options;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Upload content to storage
|
|
45
|
+
* @param body - Content to upload (stream, buffer, or string)
|
|
46
|
+
* @param relativePath - Relative path within the disk
|
|
47
|
+
* @param options - Upload options including size and mime type
|
|
48
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
49
|
+
* @returns Upload result with metadata
|
|
50
|
+
*/
|
|
51
|
+
async upload(body, relativePath, options, disk) {
|
|
52
|
+
const diskName = this.resolveDisk(disk);
|
|
53
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
54
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
55
|
+
return provider.upload(body, fullPath, options);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Download a file from storage
|
|
59
|
+
* @param relativePath - Relative path within the disk
|
|
60
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
61
|
+
* @returns Download result with stream and metadata
|
|
62
|
+
*/
|
|
63
|
+
async download(relativePath, disk) {
|
|
64
|
+
const diskName = this.resolveDisk(disk);
|
|
65
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
66
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
67
|
+
return provider.download(fullPath);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Delete a file from storage
|
|
71
|
+
* @param relativePath - Relative path within the disk
|
|
72
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
73
|
+
*/
|
|
74
|
+
async delete(relativePath, disk) {
|
|
75
|
+
const diskName = this.resolveDisk(disk);
|
|
76
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
77
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
78
|
+
await provider.delete(fullPath);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check if a file exists in storage
|
|
82
|
+
* @param relativePath - Relative path within the disk
|
|
83
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
84
|
+
* @returns True if file exists, false otherwise
|
|
85
|
+
*/
|
|
86
|
+
async exists(relativePath, disk) {
|
|
87
|
+
const diskName = this.resolveDisk(disk);
|
|
88
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
89
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
90
|
+
return provider.exists(fullPath);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Generate a presigned download URL
|
|
94
|
+
* @param relativePath - Relative path within the disk
|
|
95
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
96
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
97
|
+
* @returns Presigned URL result
|
|
98
|
+
*/
|
|
99
|
+
async getPresignedDownloadUrl(relativePath, expiresIn, disk) {
|
|
100
|
+
return this.getPresignedUrl(relativePath, 'GET', expiresIn, disk);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Generate a presigned upload URL
|
|
104
|
+
* @param relativePath - Relative path within the disk
|
|
105
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
106
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
107
|
+
* @returns Presigned URL result
|
|
108
|
+
*/
|
|
109
|
+
async getPresignedUploadUrl(relativePath, expiresIn, disk) {
|
|
110
|
+
return this.getPresignedUrl(relativePath, 'PUT', expiresIn, disk);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate a presigned delete URL
|
|
114
|
+
* @param relativePath - Relative path within the disk
|
|
115
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
116
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
117
|
+
* @returns Presigned URL result
|
|
118
|
+
*/
|
|
119
|
+
async getPresignedDeleteUrl(relativePath, expiresIn, disk) {
|
|
120
|
+
return this.getPresignedUrl(relativePath, 'DELETE', expiresIn, disk);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Generate a presigned URL for any method
|
|
124
|
+
* @param relativePath - Relative path within the disk
|
|
125
|
+
* @param method - HTTP method (GET, PUT, DELETE, HEAD)
|
|
126
|
+
* @param expiresIn - Optional expiry time in seconds (uses default if not provided)
|
|
127
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
128
|
+
* @returns Presigned URL result
|
|
129
|
+
*/
|
|
130
|
+
async getPresignedUrl(relativePath, method, expiresIn, disk) {
|
|
131
|
+
const diskName = this.resolveDisk(disk);
|
|
132
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
133
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
134
|
+
const validatedExpiresIn = this.validateExpiresIn(expiresIn);
|
|
135
|
+
return provider.getPresignedUrl(fullPath, method, validatedExpiresIn);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve disk name (use default if not provided)
|
|
139
|
+
* @param disk - Optional disk name
|
|
140
|
+
* @returns Resolved disk name
|
|
141
|
+
*/
|
|
142
|
+
resolveDisk(disk) {
|
|
143
|
+
const diskName = disk ?? this.options.defaultStorageDisk;
|
|
144
|
+
if (!this.storageManager.hasDisk(diskName)) {
|
|
145
|
+
throw new InvalidDiskError(diskName);
|
|
146
|
+
}
|
|
147
|
+
return diskName;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Build full path with disk root and path template substitution
|
|
151
|
+
* @param relativePath - Relative path within the disk
|
|
152
|
+
* @param diskName - Name of the disk
|
|
153
|
+
* @returns Full path including disk root
|
|
154
|
+
*/
|
|
155
|
+
buildFullPath(relativePath, diskName) {
|
|
156
|
+
const diskConfig = this.storageManager.getDiskConfig(diskName);
|
|
157
|
+
let root = diskConfig.root || '';
|
|
158
|
+
// Substitute template variables
|
|
159
|
+
root = this.substituteTemplateVariables(root);
|
|
160
|
+
// Combine root and relative path
|
|
161
|
+
const fullPath = `${root}/${relativePath}`.replace(/\/+/g, '/').replace(/^\//, '');
|
|
162
|
+
return fullPath;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Substitute template variables in path
|
|
166
|
+
* Override this method in subclasses to add tenant-specific substitutions
|
|
167
|
+
*
|
|
168
|
+
* @param path - Path with template variables
|
|
169
|
+
* @returns Path with substituted variables
|
|
170
|
+
*/
|
|
171
|
+
substituteTemplateVariables(path) {
|
|
172
|
+
let result = path;
|
|
173
|
+
// Substitute {date}, {year}, {month}
|
|
174
|
+
const now = new Date();
|
|
175
|
+
result = result.replace(/{date}/g, now.toISOString().split('T')[0]);
|
|
176
|
+
result = result.replace(/{year}/g, now.getFullYear().toString());
|
|
177
|
+
result = result.replace(/{month}/g, (now.getMonth() + 1).toString().padStart(2, '0'));
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Validate expiry time for presigned URLs
|
|
182
|
+
* @param expiresIn - Optional expiry time in seconds
|
|
183
|
+
* @returns Validated expiry time
|
|
184
|
+
*/
|
|
185
|
+
validateExpiresIn(expiresIn) {
|
|
186
|
+
const presignedUrlConfig = this.options.presignedUrl;
|
|
187
|
+
const validatedExpiresIn = expiresIn ?? presignedUrlConfig.defaultExpiry;
|
|
188
|
+
// S3 presigned URL limits: 1 second to 7 days (604800 seconds)
|
|
189
|
+
const minExpiry = 1;
|
|
190
|
+
const maxExpiry = presignedUrlConfig.maxExpiry;
|
|
191
|
+
if (validatedExpiresIn < minExpiry || validatedExpiresIn > maxExpiry) {
|
|
192
|
+
throw new PresignedUrlInvalidExpiryError(validatedExpiresIn, minExpiry, maxExpiry);
|
|
193
|
+
}
|
|
194
|
+
return validatedExpiresIn;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get all available disk names
|
|
198
|
+
* @returns Array of disk names
|
|
199
|
+
*/
|
|
200
|
+
getAvailableDisks() {
|
|
201
|
+
return this.storageManager.getAvailableDisks();
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Chunked upload for streaming data without known size
|
|
205
|
+
* Uses multipart upload under the hood - handles retries and large files
|
|
206
|
+
*
|
|
207
|
+
* Use this method when:
|
|
208
|
+
* - Content-Length is unknown or unreliable
|
|
209
|
+
* - Uploading from streams that can't be rewound
|
|
210
|
+
* - Need automatic retry handling for transient failures
|
|
211
|
+
*
|
|
212
|
+
* @param body - Content to upload (stream or buffer)
|
|
213
|
+
* @param relativePath - Relative path within the disk
|
|
214
|
+
* @param options - Upload options (mimeType required, size optional)
|
|
215
|
+
* @param disk - Optional disk name (uses default if not provided)
|
|
216
|
+
* @returns Upload result with metadata
|
|
217
|
+
*/
|
|
218
|
+
async chunkedUpload(body, relativePath, options, disk) {
|
|
219
|
+
const diskName = this.resolveDisk(disk);
|
|
220
|
+
const provider = this.storageManager.getProvider(diskName);
|
|
221
|
+
const fullPath = this.buildFullPath(relativePath, diskName);
|
|
222
|
+
return provider.chunkedUpload(body, fullPath, options);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
StorageService = __decorate([
|
|
226
|
+
Transient(STORAGE_TOKENS.StorageService),
|
|
227
|
+
__param(0, inject(STORAGE_TOKENS.StorageManager)),
|
|
228
|
+
__param(1, inject(STORAGE_TOKENS.Options)),
|
|
229
|
+
__metadata("design:paramtypes", [StorageManagerService, Object])
|
|
230
|
+
], StorageService);
|
|
231
|
+
export { StorageService };
|
|
232
|
+
//# sourceMappingURL=storage.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/storage/services/storage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Module
|
|
3
|
+
* Provides file storage capabilities using AWS S3
|
|
4
|
+
* Supports multiple disk configurations with tenant-aware path templates
|
|
5
|
+
*/
|
|
6
|
+
import type { AsyncModuleOptions, DynamicModule } from '../module/types';
|
|
7
|
+
import type { StorageConfig } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Storage module options
|
|
10
|
+
* Same as StorageConfig from types.ts
|
|
11
|
+
*/
|
|
12
|
+
export type StorageModuleOptions = StorageConfig;
|
|
13
|
+
export declare class StorageModule {
|
|
14
|
+
/**
|
|
15
|
+
* Configure StorageModule with static options
|
|
16
|
+
*
|
|
17
|
+
* @param options - Storage configuration options
|
|
18
|
+
* @returns Dynamic module with storage infrastructure
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* StorageModule.forRoot({
|
|
23
|
+
* storage: [{ disk: 'uploads', provider: 's3', ... }],
|
|
24
|
+
* defaultStorageDisk: 'uploads',
|
|
25
|
+
* presignedUrl: { defaultExpiry: 3600, maxExpiry: 86400 }
|
|
26
|
+
* })
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
static forRoot(options: StorageModuleOptions): DynamicModule;
|
|
30
|
+
/**
|
|
31
|
+
* Configure StorageModule with async factory
|
|
32
|
+
*
|
|
33
|
+
* Use when configuration depends on other services.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Async configuration with factory and inject tokens
|
|
36
|
+
* @returns Dynamic module with storage infrastructure
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* StorageModule.forRootAsync({
|
|
41
|
+
* inject: [storageConfig.KEY],
|
|
42
|
+
* useFactory: (storage) => ({
|
|
43
|
+
* storage: storage.storage,
|
|
44
|
+
* defaultStorageDisk: storage.defaultStorageDisk,
|
|
45
|
+
* presignedUrl: storage.presignedUrl
|
|
46
|
+
* })
|
|
47
|
+
* })
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
static forRootAsync(options: AsyncModuleOptions<StorageModuleOptions>): DynamicModule;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=storage.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.module.d.ts","sourceRoot":"","sources":["../../src/storage/storage.module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEhD,qBAIa,aAAa;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAS5D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,aAAa;CAYtF"}
|