@warlock.js/core 1.0.20 → 1.0.21
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/cjs/application.d.ts +28 -0
- package/cjs/application.d.ts.map +1 -0
- package/cjs/application.js +5 -0
- package/cjs/application.js.map +1 -0
- package/cjs/aws/get-aws-configurations.d.ts +4 -0
- package/cjs/aws/get-aws-configurations.d.ts.map +1 -0
- package/cjs/aws/get-aws-configurations.js +14 -0
- package/cjs/aws/get-aws-configurations.js.map +1 -0
- package/cjs/aws/index.d.ts +61 -0
- package/cjs/aws/index.d.ts.map +1 -0
- package/cjs/aws/index.js +108 -0
- package/cjs/aws/index.js.map +1 -0
- package/cjs/bootstrap/setup.d.ts +7 -0
- package/cjs/bootstrap/setup.d.ts.map +1 -0
- package/cjs/bootstrap/setup.js +38 -0
- package/cjs/bootstrap/setup.js.map +1 -0
- package/cjs/bootstrap.d.ts +2 -0
- package/cjs/bootstrap.d.ts.map +1 -0
- package/cjs/bootstrap.js +5 -0
- package/cjs/bootstrap.js.map +1 -0
- package/cjs/builder/app-builder.d.ts +20 -0
- package/cjs/builder/app-builder.d.ts.map +1 -0
- package/cjs/builder/app-builder.js +118 -0
- package/cjs/builder/app-builder.js.map +1 -0
- package/cjs/builder/build-cli-app.d.ts +4 -0
- package/cjs/builder/build-cli-app.d.ts.map +1 -0
- package/cjs/builder/build-cli-app.js +58 -0
- package/cjs/builder/build-cli-app.js.map +1 -0
- package/cjs/builder/build-http-app.d.ts +3 -0
- package/cjs/builder/build-http-app.d.ts.map +1 -0
- package/cjs/builder/build-http-app.js +24 -0
- package/cjs/builder/build-http-app.js.map +1 -0
- package/cjs/builder/config-loader-builder.d.ts +3 -0
- package/cjs/builder/config-loader-builder.d.ts.map +1 -0
- package/cjs/builder/config-loader-builder.js +49 -0
- package/cjs/builder/config-loader-builder.js.map +1 -0
- package/cjs/builder/index.d.ts +5 -0
- package/cjs/builder/index.d.ts.map +1 -0
- package/cjs/cli/index.d.ts +2 -0
- package/cjs/cli/index.d.ts.map +1 -0
- package/cjs/cli/index.js +1 -0
- package/cjs/cli/index.js.map +1 -0
- package/cjs/config/default-configurations.d.ts +3 -0
- package/cjs/config/default-configurations.d.ts.map +1 -0
- package/cjs/config/default-configurations.js +10 -0
- package/cjs/config/default-configurations.js.map +1 -0
- package/cjs/config/define-config.d.ts +3 -0
- package/cjs/config/define-config.d.ts.map +1 -0
- package/cjs/config/define-config.js +3 -0
- package/cjs/config/define-config.js.map +1 -0
- package/cjs/config/get-warlock-config.d.ts +3 -0
- package/cjs/config/get-warlock-config.d.ts.map +1 -0
- package/cjs/config/get-warlock-config.js +12 -0
- package/cjs/config/get-warlock-config.js.map +1 -0
- package/cjs/config/index.d.ts +3 -0
- package/cjs/config/index.d.ts.map +1 -0
- package/cjs/config/types.d.ts +56 -0
- package/cjs/config/types.d.ts.map +1 -0
- package/cjs/console/command-builder.d.ts +45 -0
- package/cjs/console/command-builder.d.ts.map +1 -0
- package/cjs/console/command-builder.js +93 -0
- package/cjs/console/command-builder.js.map +1 -0
- package/cjs/console/commander.d.ts +9 -0
- package/cjs/console/commander.d.ts.map +1 -0
- package/cjs/console/commander.js +85 -0
- package/cjs/console/commander.js.map +1 -0
- package/cjs/console/commands/database/migrate.d.ts +3 -0
- package/cjs/console/commands/database/migrate.d.ts.map +1 -0
- package/cjs/console/commands/database/migrate.js +26 -0
- package/cjs/console/commands/database/migrate.js.map +1 -0
- package/cjs/console/commands/database/seed.d.ts +13 -0
- package/cjs/console/commands/database/seed.d.ts.map +1 -0
- package/cjs/console/commands/database/seed.js +14 -0
- package/cjs/console/commands/database/seed.js.map +1 -0
- package/cjs/console/commands/database/seeder.d.ts +13 -0
- package/cjs/console/commands/database/seeder.d.ts.map +1 -0
- package/cjs/console/commands/database/seeder.js +42 -0
- package/cjs/console/commands/database/seeder.js.map +1 -0
- package/cjs/console/commands/database/seeds.d.ts +3 -0
- package/cjs/console/commands/database/seeds.d.ts.map +1 -0
- package/cjs/console/commands/database/seeds.js +24 -0
- package/cjs/console/commands/database/seeds.js.map +1 -0
- package/cjs/console/commands/index.d.ts +3 -0
- package/cjs/console/commands/index.d.ts.map +1 -0
- package/cjs/console/commands/index.js +12 -0
- package/cjs/console/commands/index.js.map +1 -0
- package/cjs/console/index.d.ts +5 -0
- package/cjs/console/index.d.ts.map +1 -0
- package/cjs/console/types.d.ts +17 -0
- package/cjs/console/types.d.ts.map +1 -0
- package/cjs/database/decorators/index.d.ts +2 -0
- package/cjs/database/decorators/index.d.ts.map +1 -0
- package/cjs/database/decorators/sluggable.d.ts +2 -0
- package/cjs/database/decorators/sluggable.d.ts.map +1 -0
- package/cjs/database/decorators/sluggable.js +8 -0
- package/cjs/database/decorators/sluggable.js.map +1 -0
- package/cjs/database/index.d.ts +3 -0
- package/cjs/database/index.d.ts.map +1 -0
- package/cjs/database/models/database-log/database-log.d.ts +13 -0
- package/cjs/database/models/database-log/database-log.d.ts.map +1 -0
- package/cjs/database/models/database-log/database-log.js +16 -0
- package/cjs/database/models/database-log/database-log.js.map +1 -0
- package/cjs/database/models/database-log/index.d.ts +2 -0
- package/cjs/database/models/database-log/index.d.ts.map +1 -0
- package/cjs/esbuild/exec.d.ts +2 -0
- package/cjs/esbuild/exec.d.ts.map +1 -0
- package/cjs/esbuild/execute-ts-file.d.ts +2 -0
- package/cjs/esbuild/execute-ts-file.d.ts.map +1 -0
- package/cjs/esbuild/execute-ts-file.js +27 -0
- package/cjs/esbuild/execute-ts-file.js.map +1 -0
- package/cjs/esbuild/index.d.ts +3 -0
- package/cjs/esbuild/index.d.ts.map +1 -0
- package/cjs/esbuild/plugins.d.ts +9 -0
- package/cjs/esbuild/plugins.d.ts.map +1 -0
- package/cjs/esbuild/plugins.js +82 -0
- package/cjs/esbuild/plugins.js.map +1 -0
- package/cjs/esbuild/transpile.d.ts +2 -0
- package/cjs/esbuild/transpile.d.ts.map +1 -0
- package/cjs/esbuild/transpile.js +18 -0
- package/cjs/esbuild/transpile.js.map +1 -0
- package/cjs/http/UploadedFile.d.ts +73 -0
- package/cjs/http/UploadedFile.d.ts.map +1 -0
- package/cjs/http/UploadedFile.js +113 -0
- package/cjs/http/UploadedFile.js.map +1 -0
- package/cjs/http/config.d.ts +10 -0
- package/cjs/http/config.d.ts.map +1 -0
- package/cjs/http/config.js +22 -0
- package/cjs/http/config.js.map +1 -0
- package/cjs/http/createHttpApplication.d.ts +3 -0
- package/cjs/http/createHttpApplication.d.ts.map +1 -0
- package/cjs/http/createHttpApplication.js +27 -0
- package/cjs/http/createHttpApplication.js.map +1 -0
- package/cjs/http/database/RequestLog.d.ts +13 -0
- package/cjs/http/database/RequestLog.d.ts.map +1 -0
- package/cjs/http/database/RequestLog.js +25 -0
- package/cjs/http/database/RequestLog.js.map +1 -0
- package/cjs/http/events.d.ts +4 -0
- package/cjs/http/events.d.ts.map +1 -0
- package/cjs/http/events.js +26 -0
- package/cjs/http/events.js.map +1 -0
- package/cjs/http/index.d.ts +13 -0
- package/cjs/http/index.d.ts.map +1 -0
- package/cjs/http/middleware/_inject-request-context.d.ts +30 -0
- package/cjs/http/middleware/_inject-request-context.d.ts.map +1 -0
- package/cjs/http/middleware/cache-response-middleware.d.ts +34 -0
- package/cjs/http/middleware/cache-response-middleware.d.ts.map +1 -0
- package/cjs/http/middleware/cache-response-middleware.js +46 -0
- package/cjs/http/middleware/cache-response-middleware.js.map +1 -0
- package/cjs/http/middleware/index.d.ts +3 -0
- package/cjs/http/middleware/index.d.ts.map +1 -0
- package/cjs/http/middleware/inject-request-context.d.ts +30 -0
- package/cjs/http/middleware/inject-request-context.d.ts.map +1 -0
- package/cjs/http/middleware/inject-request-context.js +71 -0
- package/cjs/http/middleware/inject-request-context.js.map +1 -0
- package/cjs/http/plugins.d.ts +3 -0
- package/cjs/http/plugins.d.ts.map +1 -0
- package/cjs/http/plugins.js +31 -0
- package/cjs/http/plugins.js.map +1 -0
- package/cjs/http/request-controller.d.ts +11 -0
- package/cjs/http/request-controller.d.ts.map +1 -0
- package/cjs/http/request-controller.js +9 -0
- package/cjs/http/request-controller.js.map +1 -0
- package/cjs/http/request.d.ts +324 -0
- package/cjs/http/request.d.ts.map +1 -0
- package/cjs/http/request.js +709 -0
- package/cjs/http/request.js.map +1 -0
- package/cjs/http/response.d.ts +256 -0
- package/cjs/http/response.d.ts.map +1 -0
- package/cjs/http/response.js +498 -0
- package/cjs/http/response.js.map +1 -0
- package/cjs/http/server.d.ts +8 -0
- package/cjs/http/server.d.ts.map +1 -0
- package/cjs/http/server.js +15 -0
- package/cjs/http/server.js.map +1 -0
- package/cjs/http/types.d.ts +162 -0
- package/cjs/http/types.d.ts.map +1 -0
- package/cjs/image/image.d.ts +92 -0
- package/cjs/image/image.d.ts.map +1 -0
- package/cjs/image/image.js +167 -0
- package/cjs/image/image.js.map +1 -0
- package/cjs/image/index.d.ts +2 -0
- package/cjs/image/index.d.ts.map +1 -0
- package/cjs/index.d.ts +27 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -0
- package/cjs/loaders/create-essential-files.d.ts +4 -0
- package/cjs/loaders/create-essential-files.d.ts.map +1 -0
- package/cjs/loaders/http-loader.d.ts +9 -0
- package/cjs/loaders/http-loader.d.ts.map +1 -0
- package/cjs/loaders/http-modules-loader.d.ts +20 -0
- package/cjs/loaders/http-modules-loader.d.ts.map +1 -0
- package/cjs/loaders/http-modules-loader.js +66 -0
- package/cjs/loaders/http-modules-loader.js.map +1 -0
- package/cjs/loaders/index.d.ts +2 -0
- package/cjs/loaders/index.d.ts.map +1 -0
- package/cjs/logger/index.d.ts +3 -0
- package/cjs/logger/index.d.ts.map +1 -0
- package/cjs/logger/logger.d.ts +3 -0
- package/cjs/logger/logger.d.ts.map +1 -0
- package/cjs/logger/logger.js +16 -0
- package/cjs/logger/logger.js.map +1 -0
- package/cjs/logger/types.d.ts +39 -0
- package/cjs/logger/types.d.ts.map +1 -0
- package/cjs/mail/config.d.ts +4 -0
- package/cjs/mail/config.d.ts.map +1 -0
- package/cjs/mail/config.js +11 -0
- package/cjs/mail/config.js.map +1 -0
- package/cjs/mail/index.d.ts +5 -0
- package/cjs/mail/index.d.ts.map +1 -0
- package/cjs/mail/react-mail.d.ts +3 -0
- package/cjs/mail/react-mail.d.ts.map +1 -0
- package/cjs/mail/react-mail.js +19 -0
- package/cjs/mail/react-mail.js.map +1 -0
- package/cjs/mail/sendMail.d.ts +19 -0
- package/cjs/mail/sendMail.d.ts.map +1 -0
- package/cjs/mail/sendMail.js +38 -0
- package/cjs/mail/sendMail.js.map +1 -0
- package/cjs/mail/types.d.ts +11 -0
- package/cjs/mail/types.d.ts.map +1 -0
- package/cjs/modules/index.d.ts +2 -0
- package/cjs/modules/index.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/delete-file.d.ts +3 -0
- package/cjs/modules/uploads/controllers/delete-file.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/delete-file.js +8 -0
- package/cjs/modules/uploads/controllers/delete-file.js.map +1 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts +5 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js +183 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js.map +1 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file.d.ts +3 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file.js +54 -0
- package/cjs/modules/uploads/controllers/get-uploaded-file.js.map +1 -0
- package/cjs/modules/uploads/controllers/upload-chunked-files.d.ts +3 -0
- package/cjs/modules/uploads/controllers/upload-chunked-files.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/upload-chunked-files.js +181 -0
- package/cjs/modules/uploads/controllers/upload-chunked-files.js.map +1 -0
- package/cjs/modules/uploads/controllers/upload-files.d.ts +12 -0
- package/cjs/modules/uploads/controllers/upload-files.d.ts.map +1 -0
- package/cjs/modules/uploads/controllers/upload-files.js +54 -0
- package/cjs/modules/uploads/controllers/upload-files.js.map +1 -0
- package/cjs/modules/uploads/events/compress-uploaded-file.d.ts +4 -0
- package/cjs/modules/uploads/events/compress-uploaded-file.d.ts.map +1 -0
- package/cjs/modules/uploads/events/compress-uploaded-file.js +35 -0
- package/cjs/modules/uploads/events/compress-uploaded-file.js.map +1 -0
- package/cjs/modules/uploads/events/delete-file-from-disk.d.ts +2 -0
- package/cjs/modules/uploads/events/delete-file-from-disk.d.ts.map +1 -0
- package/cjs/modules/uploads/events/delete-file-from-disk.js +44 -0
- package/cjs/modules/uploads/events/delete-file-from-disk.js.map +1 -0
- package/cjs/modules/uploads/events/index.d.ts +6 -0
- package/cjs/modules/uploads/events/index.d.ts.map +1 -0
- package/cjs/modules/uploads/events/index.js +1 -0
- package/cjs/modules/uploads/events/index.js.map +1 -0
- package/cjs/modules/uploads/events/remove-from-aws.d.ts +3 -0
- package/cjs/modules/uploads/events/remove-from-aws.d.ts.map +1 -0
- package/cjs/modules/uploads/events/remove-from-aws.js +18 -0
- package/cjs/modules/uploads/events/remove-from-aws.js.map +1 -0
- package/cjs/modules/uploads/events/sync-with-aws.d.ts +2 -0
- package/cjs/modules/uploads/events/sync-with-aws.d.ts.map +1 -0
- package/cjs/modules/uploads/events/sync-with-aws.js +6 -0
- package/cjs/modules/uploads/events/sync-with-aws.js.map +1 -0
- package/cjs/modules/uploads/events/upload-to-aws.d.ts +4 -0
- package/cjs/modules/uploads/events/upload-to-aws.d.ts.map +1 -0
- package/cjs/modules/uploads/events/upload-to-aws.js +36 -0
- package/cjs/modules/uploads/events/upload-to-aws.js.map +1 -0
- package/cjs/modules/uploads/index.d.ts +10 -0
- package/cjs/modules/uploads/index.d.ts.map +1 -0
- package/cjs/modules/uploads/models/index.d.ts +2 -0
- package/cjs/modules/uploads/models/index.d.ts.map +1 -0
- package/cjs/modules/uploads/models/upload.d.ts +52 -0
- package/cjs/modules/uploads/models/upload.d.ts.map +1 -0
- package/cjs/modules/uploads/models/upload.js +89 -0
- package/cjs/modules/uploads/models/upload.js.map +1 -0
- package/cjs/modules/uploads/output/upload-output.d.ts +25 -0
- package/cjs/modules/uploads/output/upload-output.d.ts.map +1 -0
- package/cjs/modules/uploads/output/upload-output.js +46 -0
- package/cjs/modules/uploads/output/upload-output.js.map +1 -0
- package/cjs/modules/uploads/routes.d.ts +17 -0
- package/cjs/modules/uploads/routes.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/file.d.ts +36 -0
- package/cjs/modules/uploads/utils/file.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/file.js +54 -0
- package/cjs/modules/uploads/utils/file.js.map +1 -0
- package/cjs/modules/uploads/utils/get-uploads-directory.d.ts +2 -0
- package/cjs/modules/uploads/utils/get-uploads-directory.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/get-uploads-directory.js +13 -0
- package/cjs/modules/uploads/utils/get-uploads-directory.js.map +1 -0
- package/cjs/modules/uploads/utils/get-uploads-size.d.ts +2 -0
- package/cjs/modules/uploads/utils/get-uploads-size.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/get-uploads-size.js +3 -0
- package/cjs/modules/uploads/utils/get-uploads-size.js.map +1 -0
- package/cjs/modules/uploads/utils/get-watermark-options.d.ts +3 -0
- package/cjs/modules/uploads/utils/get-watermark-options.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/get-watermark-options.js +7 -0
- package/cjs/modules/uploads/utils/get-watermark-options.js.map +1 -0
- package/cjs/modules/uploads/utils/index.d.ts +5 -0
- package/cjs/modules/uploads/utils/index.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/types.d.ts +47 -0
- package/cjs/modules/uploads/utils/types.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/uploadable.d.ts +15 -0
- package/cjs/modules/uploads/utils/uploadable.d.ts.map +1 -0
- package/cjs/modules/uploads/utils/uploadable.js +157 -0
- package/cjs/modules/uploads/utils/uploadable.js.map +1 -0
- package/cjs/output/index.d.ts +3 -0
- package/cjs/output/index.d.ts.map +1 -0
- package/cjs/output/output.d.ts +160 -0
- package/cjs/output/output.d.ts.map +1 -0
- package/cjs/output/output.js +421 -0
- package/cjs/output/output.js.map +1 -0
- package/cjs/output/types.d.ts +24 -0
- package/cjs/output/types.d.ts.map +1 -0
- package/cjs/pool/index.d.ts +24 -0
- package/cjs/pool/index.d.ts.map +1 -0
- package/cjs/pool/index.js +39 -0
- package/cjs/pool/index.js.map +1 -0
- package/cjs/react/index.d.ts +4 -0
- package/cjs/react/index.d.ts.map +1 -0
- package/cjs/react/index.js +8 -0
- package/cjs/react/index.js.map +1 -0
- package/cjs/repositories/base-repository-manager.d.ts +47 -0
- package/cjs/repositories/base-repository-manager.d.ts.map +1 -0
- package/cjs/repositories/base-repository-manager.js +63 -0
- package/cjs/repositories/base-repository-manager.js.map +1 -0
- package/cjs/repositories/index.d.ts +8 -0
- package/cjs/repositories/index.d.ts.map +1 -0
- package/cjs/repositories/repository-destroyer-manager.d.ts +21 -0
- package/cjs/repositories/repository-destroyer-manager.d.ts.map +1 -0
- package/cjs/repositories/repository-destroyer-manager.js +38 -0
- package/cjs/repositories/repository-destroyer-manager.js.map +1 -0
- package/cjs/repositories/repository-filler-manager.d.ts +74 -0
- package/cjs/repositories/repository-filler-manager.d.ts.map +1 -0
- package/cjs/repositories/repository-filler-manager.js +118 -0
- package/cjs/repositories/repository-filler-manager.js.map +1 -0
- package/cjs/repositories/repository-filler.d.ts +48 -0
- package/cjs/repositories/repository-filler.d.ts.map +1 -0
- package/cjs/repositories/repository-filler.js +181 -0
- package/cjs/repositories/repository-filler.js.map +1 -0
- package/cjs/repositories/repository-list-manager.d.ts +347 -0
- package/cjs/repositories/repository-list-manager.d.ts.map +1 -0
- package/cjs/repositories/repository-list-manager.js +747 -0
- package/cjs/repositories/repository-list-manager.js.map +1 -0
- package/cjs/repositories/repository-listing.d.ts +118 -0
- package/cjs/repositories/repository-listing.d.ts.map +1 -0
- package/cjs/repositories/repository-listing.js +796 -0
- package/cjs/repositories/repository-listing.js.map +1 -0
- package/cjs/repositories/repository-manager.d.ts +5 -0
- package/cjs/repositories/repository-manager.d.ts.map +1 -0
- package/cjs/repositories/repository-manager.js +2 -0
- package/cjs/repositories/repository-manager.js.map +1 -0
- package/cjs/repositories/types.d.ts +116 -0
- package/cjs/repositories/types.d.ts.map +1 -0
- package/cjs/repositories/utils.d.ts +3 -0
- package/cjs/repositories/utils.d.ts.map +1 -0
- package/cjs/repositories/utils.js +7 -0
- package/cjs/repositories/utils.js.map +1 -0
- package/cjs/restful/index.d.ts +3 -0
- package/cjs/restful/index.d.ts.map +1 -0
- package/cjs/restful/restful.d.ts +110 -0
- package/cjs/restful/restful.d.ts.map +1 -0
- package/cjs/restful/restful.js +307 -0
- package/cjs/restful/restful.js.map +1 -0
- package/cjs/restful/utils.d.ts +87 -0
- package/cjs/restful/utils.d.ts.map +1 -0
- package/cjs/restful/utils.js +247 -0
- package/cjs/restful/utils.js.map +1 -0
- package/cjs/router/index.d.ts +4 -0
- package/cjs/router/index.d.ts.map +1 -0
- package/cjs/router/router.d.ts +105 -0
- package/cjs/router/router.d.ts.map +1 -0
- package/cjs/router/router.js +377 -0
- package/cjs/router/router.js.map +1 -0
- package/cjs/router/types.d.ts +229 -0
- package/cjs/router/types.d.ts.map +1 -0
- package/cjs/router/utils.d.ts +5 -0
- package/cjs/router/utils.d.ts.map +1 -0
- package/cjs/router/utils.js +6 -0
- package/cjs/router/utils.js.map +1 -0
- package/cjs/starters/build-http-production.d.ts +3 -0
- package/cjs/starters/build-http-production.d.ts.map +1 -0
- package/cjs/starters/build-http-production.js +25 -0
- package/cjs/starters/build-http-production.js.map +1 -0
- package/cjs/starters/start-cli-server.d.ts +2 -0
- package/cjs/starters/start-cli-server.d.ts.map +1 -0
- package/cjs/starters/start-cli-server.js +34 -0
- package/cjs/starters/start-cli-server.js.map +1 -0
- package/cjs/starters/start-http-production-server.d.ts +2 -0
- package/cjs/starters/start-http-production-server.d.ts.map +1 -0
- package/cjs/starters/start-http-production-server.js +14 -0
- package/cjs/starters/start-http-production-server.js.map +1 -0
- package/cjs/starters/start-http-server.d.ts +3 -0
- package/cjs/starters/start-http-server.d.ts.map +1 -0
- package/cjs/starters/start-http-server.js +28 -0
- package/cjs/starters/start-http-server.js.map +1 -0
- package/cjs/store/index.d.ts +25 -0
- package/cjs/store/index.d.ts.map +1 -0
- package/cjs/store/index.js +52 -0
- package/cjs/store/index.js.map +1 -0
- package/cjs/swagger/postman-to-swagger.d.ts +2 -0
- package/cjs/swagger/postman-to-swagger.d.ts.map +1 -0
- package/cjs/swagger/types.d.ts +22 -0
- package/cjs/swagger/types.d.ts.map +1 -0
- package/cjs/tests/boot-testing.d.ts +7 -0
- package/cjs/tests/boot-testing.d.ts.map +1 -0
- package/cjs/tests/boot-testing.js +23 -0
- package/cjs/tests/boot-testing.js.map +1 -0
- package/cjs/tests/create-http-test-application.d.ts +25 -0
- package/cjs/tests/create-http-test-application.d.ts.map +1 -0
- package/cjs/tests/create-http-test-application.js +76 -0
- package/cjs/tests/create-http-test-application.js.map +1 -0
- package/cjs/tests/http-response-output-test.d.ts +42 -0
- package/cjs/tests/http-response-output-test.d.ts.map +1 -0
- package/cjs/tests/http-response-output-test.js +53 -0
- package/cjs/tests/http-response-output-test.js.map +1 -0
- package/cjs/tests/http-test-response.d.ts +75 -0
- package/cjs/tests/http-test-response.d.ts.map +1 -0
- package/cjs/tests/index.d.ts +4 -0
- package/cjs/tests/index.d.ts.map +1 -0
- package/cjs/tests/init-testing.d.ts +7 -0
- package/cjs/tests/init-testing.d.ts.map +1 -0
- package/cjs/tests/init-testing.js +71 -0
- package/cjs/tests/init-testing.js.map +1 -0
- package/cjs/tests/types.d.ts +10 -0
- package/cjs/tests/types.d.ts.map +1 -0
- package/cjs/utils/_database-log.d.ts +25 -0
- package/cjs/utils/_database-log.d.ts.map +1 -0
- package/cjs/utils/date-output.d.ts +69 -0
- package/cjs/utils/date-output.d.ts.map +1 -0
- package/cjs/utils/date-output.js +64 -0
- package/cjs/utils/date-output.js.map +1 -0
- package/cjs/utils/date-output.test.d.ts +2 -0
- package/cjs/utils/date-output.test.d.ts.map +1 -0
- package/cjs/utils/download-file.d.ts +3 -0
- package/cjs/utils/download-file.d.ts.map +1 -0
- package/cjs/utils/environment.d.ts +4 -0
- package/cjs/utils/environment.d.ts.map +1 -0
- package/cjs/utils/environment.js +6 -0
- package/cjs/utils/environment.js.map +1 -0
- package/cjs/utils/get-localized.d.ts +10 -0
- package/cjs/utils/get-localized.d.ts.map +1 -0
- package/cjs/utils/get-localized.js +15 -0
- package/cjs/utils/get-localized.js.map +1 -0
- package/cjs/utils/get-localized.test.d.ts +2 -0
- package/cjs/utils/get-localized.test.d.ts.map +1 -0
- package/cjs/utils/index.d.ts +10 -0
- package/cjs/utils/index.d.ts.map +1 -0
- package/cjs/utils/internal.d.ts +3 -0
- package/cjs/utils/internal.d.ts.map +1 -0
- package/cjs/utils/paths.d.ts +55 -0
- package/cjs/utils/paths.d.ts.map +1 -0
- package/cjs/utils/paths.js +89 -0
- package/cjs/utils/paths.js.map +1 -0
- package/cjs/utils/promise-all-object.d.ts +8 -0
- package/cjs/utils/promise-all-object.d.ts.map +1 -0
- package/cjs/utils/promise-all-object.js +12 -0
- package/cjs/utils/promise-all-object.js.map +1 -0
- package/cjs/utils/sleep.d.ts +2 -0
- package/cjs/utils/sleep.d.ts.map +1 -0
- package/cjs/utils/sleep.js +3 -0
- package/cjs/utils/sleep.js.map +1 -0
- package/cjs/utils/sluggable.d.ts +5 -0
- package/cjs/utils/sluggable.d.ts.map +1 -0
- package/cjs/utils/sluggable.js +14 -0
- package/cjs/utils/sluggable.js.map +1 -0
- package/cjs/utils/sluggable.test.d.ts +2 -0
- package/cjs/utils/sluggable.test.d.ts.map +1 -0
- package/cjs/utils/to-json.d.ts +2 -0
- package/cjs/utils/to-json.d.ts.map +1 -0
- package/cjs/utils/to-json.js +26 -0
- package/cjs/utils/to-json.js.map +1 -0
- package/cjs/utils/types.d.ts +18 -0
- package/cjs/utils/types.d.ts.map +1 -0
- package/cjs/utils/urls.d.ts +21 -0
- package/cjs/utils/urls.d.ts.map +1 -0
- package/cjs/utils/urls.js +31 -0
- package/cjs/utils/urls.js.map +1 -0
- package/cjs/validator/index.d.ts +10 -0
- package/cjs/validator/index.d.ts.map +1 -0
- package/cjs/validator/locales.d.ts +2 -0
- package/cjs/validator/locales.d.ts.map +1 -0
- package/cjs/validator/locales.js +126 -0
- package/cjs/validator/locales.js.map +1 -0
- package/cjs/validator/rules/array-of.d.ts +20 -0
- package/cjs/validator/rules/array-of.d.ts.map +1 -0
- package/cjs/validator/rules/array-of.js +33 -0
- package/cjs/validator/rules/array-of.js.map +1 -0
- package/cjs/validator/rules/array.d.ts +20 -0
- package/cjs/validator/rules/array.d.ts.map +1 -0
- package/cjs/validator/rules/array.js +24 -0
- package/cjs/validator/rules/array.js.map +1 -0
- package/cjs/validator/rules/boolean.d.ts +16 -0
- package/cjs/validator/rules/boolean.d.ts.map +1 -0
- package/cjs/validator/rules/boolean.js +18 -0
- package/cjs/validator/rules/boolean.js.map +1 -0
- package/cjs/validator/rules/confirmed.d.ts +20 -0
- package/cjs/validator/rules/confirmed.d.ts.map +1 -0
- package/cjs/validator/rules/confirmed.js +27 -0
- package/cjs/validator/rules/confirmed.js.map +1 -0
- package/cjs/validator/rules/date.d.ts +16 -0
- package/cjs/validator/rules/date.d.ts.map +1 -0
- package/cjs/validator/rules/date.js +21 -0
- package/cjs/validator/rules/date.js.map +1 -0
- package/cjs/validator/rules/egyption-phone-number.d.ts +16 -0
- package/cjs/validator/rules/egyption-phone-number.d.ts.map +1 -0
- package/cjs/validator/rules/egyption-phone-number.js +20 -0
- package/cjs/validator/rules/egyption-phone-number.js.map +1 -0
- package/cjs/validator/rules/email.d.ts +16 -0
- package/cjs/validator/rules/email.d.ts.map +1 -0
- package/cjs/validator/rules/email.js +18 -0
- package/cjs/validator/rules/email.js.map +1 -0
- package/cjs/validator/rules/exists.d.ts +28 -0
- package/cjs/validator/rules/exists.d.ts.map +1 -0
- package/cjs/validator/rules/exists.js +89 -0
- package/cjs/validator/rules/exists.js.map +1 -0
- package/cjs/validator/rules/file.d.ts +20 -0
- package/cjs/validator/rules/file.d.ts.map +1 -0
- package/cjs/validator/rules/file.js +28 -0
- package/cjs/validator/rules/file.js.map +1 -0
- package/cjs/validator/rules/float.d.ts +20 -0
- package/cjs/validator/rules/float.d.ts.map +1 -0
- package/cjs/validator/rules/float.js +26 -0
- package/cjs/validator/rules/float.js.map +1 -0
- package/cjs/validator/rules/image.d.ts +20 -0
- package/cjs/validator/rules/image.d.ts.map +1 -0
- package/cjs/validator/rules/image.js +41 -0
- package/cjs/validator/rules/image.js.map +1 -0
- package/cjs/validator/rules/in.d.ts +24 -0
- package/cjs/validator/rules/in.d.ts.map +1 -0
- package/cjs/validator/rules/in.js +32 -0
- package/cjs/validator/rules/in.js.map +1 -0
- package/cjs/validator/rules/index.d.ts +36 -0
- package/cjs/validator/rules/index.d.ts.map +1 -0
- package/cjs/validator/rules/int.d.ts +20 -0
- package/cjs/validator/rules/int.d.ts.map +1 -0
- package/cjs/validator/rules/int.js +24 -0
- package/cjs/validator/rules/int.js.map +1 -0
- package/cjs/validator/rules/length.d.ts +16 -0
- package/cjs/validator/rules/length.d.ts.map +1 -0
- package/cjs/validator/rules/length.js +20 -0
- package/cjs/validator/rules/length.js.map +1 -0
- package/cjs/validator/rules/localized.d.ts +27 -0
- package/cjs/validator/rules/localized.d.ts.map +1 -0
- package/cjs/validator/rules/localized.js +55 -0
- package/cjs/validator/rules/localized.js.map +1 -0
- package/cjs/validator/rules/max-length.d.ts +20 -0
- package/cjs/validator/rules/max-length.d.ts.map +1 -0
- package/cjs/validator/rules/max-length.js +26 -0
- package/cjs/validator/rules/max-length.js.map +1 -0
- package/cjs/validator/rules/max.d.ts +20 -0
- package/cjs/validator/rules/max.d.ts.map +1 -0
- package/cjs/validator/rules/max.js +26 -0
- package/cjs/validator/rules/max.js.map +1 -0
- package/cjs/validator/rules/min-length.d.ts +20 -0
- package/cjs/validator/rules/min-length.d.ts.map +1 -0
- package/cjs/validator/rules/min-length.js +26 -0
- package/cjs/validator/rules/min-length.js.map +1 -0
- package/cjs/validator/rules/min.d.ts +20 -0
- package/cjs/validator/rules/min.d.ts.map +1 -0
- package/cjs/validator/rules/min.js +26 -0
- package/cjs/validator/rules/min.js.map +1 -0
- package/cjs/validator/rules/missing-if.d.ts +29 -0
- package/cjs/validator/rules/missing-if.d.ts.map +1 -0
- package/cjs/validator/rules/missing-if.js +44 -0
- package/cjs/validator/rules/missing-if.js.map +1 -0
- package/cjs/validator/rules/number.d.ts +20 -0
- package/cjs/validator/rules/number.d.ts.map +1 -0
- package/cjs/validator/rules/number.js +24 -0
- package/cjs/validator/rules/number.js.map +1 -0
- package/cjs/validator/rules/object.d.ts +16 -0
- package/cjs/validator/rules/object.d.ts.map +1 -0
- package/cjs/validator/rules/object.js +18 -0
- package/cjs/validator/rules/object.js.map +1 -0
- package/cjs/validator/rules/pattern.d.ts +22 -0
- package/cjs/validator/rules/pattern.d.ts.map +1 -0
- package/cjs/validator/rules/pattern.js +30 -0
- package/cjs/validator/rules/pattern.js.map +1 -0
- package/cjs/validator/rules/required-if-empty.d.ts +25 -0
- package/cjs/validator/rules/required-if-empty.d.ts.map +1 -0
- package/cjs/validator/rules/required-if-empty.js +34 -0
- package/cjs/validator/rules/required-if-empty.js.map +1 -0
- package/cjs/validator/rules/required-if.d.ts +29 -0
- package/cjs/validator/rules/required-if.d.ts.map +1 -0
- package/cjs/validator/rules/required-if.js +46 -0
- package/cjs/validator/rules/required-if.js.map +1 -0
- package/cjs/validator/rules/required-with-all.d.ts +28 -0
- package/cjs/validator/rules/required-with-all.d.ts.map +1 -0
- package/cjs/validator/rules/required-with-all.js +43 -0
- package/cjs/validator/rules/required-with-all.js.map +1 -0
- package/cjs/validator/rules/required-with.d.ts +28 -0
- package/cjs/validator/rules/required-with.d.ts.map +1 -0
- package/cjs/validator/rules/required-with.js +43 -0
- package/cjs/validator/rules/required-with.js.map +1 -0
- package/cjs/validator/rules/required.d.ts +20 -0
- package/cjs/validator/rules/required.d.ts.map +1 -0
- package/cjs/validator/rules/required.js +22 -0
- package/cjs/validator/rules/required.js.map +1 -0
- package/cjs/validator/rules/rule.d.ts +93 -0
- package/cjs/validator/rules/rule.d.ts.map +1 -0
- package/cjs/validator/rules/rule.js +124 -0
- package/cjs/validator/rules/rule.js.map +1 -0
- package/cjs/validator/rules/scalar.d.ts +16 -0
- package/cjs/validator/rules/scalar.d.ts.map +1 -0
- package/cjs/validator/rules/scalar.js +18 -0
- package/cjs/validator/rules/scalar.js.map +1 -0
- package/cjs/validator/rules/string.d.ts +16 -0
- package/cjs/validator/rules/string.d.ts.map +1 -0
- package/cjs/validator/rules/string.js +18 -0
- package/cjs/validator/rules/string.js.map +1 -0
- package/cjs/validator/rules/stringify.d.ts +16 -0
- package/cjs/validator/rules/stringify.d.ts.map +1 -0
- package/cjs/validator/rules/stringify.js +19 -0
- package/cjs/validator/rules/stringify.js.map +1 -0
- package/cjs/validator/rules/unique.d.ts +93 -0
- package/cjs/validator/rules/unique.d.ts.map +1 -0
- package/cjs/validator/rules/unique.js +186 -0
- package/cjs/validator/rules/unique.js.map +1 -0
- package/cjs/validator/rules/uploadable.d.ts +17 -0
- package/cjs/validator/rules/uploadable.d.ts.map +1 -0
- package/cjs/validator/rules/uploadable.js +33 -0
- package/cjs/validator/rules/uploadable.js.map +1 -0
- package/cjs/validator/rules/url.d.ts +16 -0
- package/cjs/validator/rules/url.d.ts.map +1 -0
- package/cjs/validator/rules/url.js +18 -0
- package/cjs/validator/rules/url.js.map +1 -0
- package/cjs/validator/rules-list.d.ts +39 -0
- package/cjs/validator/rules-list.d.ts.map +1 -0
- package/cjs/validator/rules-list.js +74 -0
- package/cjs/validator/rules-list.js.map +1 -0
- package/cjs/validator/types.d.ts +69 -0
- package/cjs/validator/types.d.ts.map +1 -0
- package/cjs/validator/utils.d.ts +6 -0
- package/cjs/validator/utils.d.ts.map +1 -0
- package/cjs/validator/utils.js +24 -0
- package/cjs/validator/utils.js.map +1 -0
- package/cjs/validator/validateAll.d.ts +7 -0
- package/cjs/validator/validateAll.d.ts.map +1 -0
- package/cjs/validator/validateAll.js +37 -0
- package/cjs/validator/validateAll.js.map +1 -0
- package/cjs/validator/validation-schema-validator.d.ts +94 -0
- package/cjs/validator/validation-schema-validator.d.ts.map +1 -0
- package/cjs/validator/validation-schema-validator.js +230 -0
- package/cjs/validator/validation-schema-validator.js.map +1 -0
- package/cjs/validator/validation-schema.d.ts +30 -0
- package/cjs/validator/validation-schema.d.ts.map +1 -0
- package/cjs/validator/validation-schema.js +51 -0
- package/cjs/validator/validation-schema.js.map +1 -0
- package/cjs/validator/validator-events.d.ts +6 -0
- package/cjs/validator/validator-events.d.ts.map +1 -0
- package/cjs/validator/validator-events.js +6 -0
- package/cjs/validator/validator-events.js.map +1 -0
- package/cjs/validator/validator.d.ts +60 -0
- package/cjs/validator/validator.d.ts.map +1 -0
- package/cjs/validator/validator.js +80 -0
- package/cjs/validator/validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
'use strict';var config=require('@mongez/config'),fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements'),logger=require('@warlock.js/logger'),dayjs=require('dayjs'),fs$1=require('fs'),upload=require('../models/upload.js'),image=require('../../../image/image.js');require('../../../utils/date-output.js'),require('../../../http/middleware/inject-request-context.js');var paths=require('../../../utils/paths.js');require('@mongez/slug'),require('@mongez/supportive-is');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config);var dayjs__default=/*#__PURE__*/_interopDefault(dayjs);var fs__default=/*#__PURE__*/_interopDefault(fs$1);/* eslint-disable no-async-promise-executor */
|
|
2
|
+
// Import required modules and classes
|
|
3
|
+
// Use a Map to store the chunked file queues
|
|
4
|
+
const queuesList = new Map();
|
|
5
|
+
const maxTimeToClearQueue = 1000 * 60 * 60 * 24; // 24 hours
|
|
6
|
+
// Create a function that auto clear the queue list after the queue creation with one date
|
|
7
|
+
function cleanupQueuesList() {
|
|
8
|
+
// use interval
|
|
9
|
+
setInterval(() => {
|
|
10
|
+
// make sure only the queue that created before one day will be deleted
|
|
11
|
+
queuesList.forEach((queue, key) => {
|
|
12
|
+
if (queue.createdAt < Date.now() - maxTimeToClearQueue) {
|
|
13
|
+
queuesList.delete(key);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}, maxTimeToClearQueue);
|
|
17
|
+
}
|
|
18
|
+
// Clear the queue list every 24 hours
|
|
19
|
+
cleanupQueuesList();
|
|
20
|
+
async function uploadChunkedFiles(request, response) {
|
|
21
|
+
try {
|
|
22
|
+
// Extract input data from the request
|
|
23
|
+
const fileId = request.input("fileId");
|
|
24
|
+
const chunkNumber = request.int("chunkNumber");
|
|
25
|
+
const chunkFile = request.file("chunk");
|
|
26
|
+
const fileName = request.input("fileName");
|
|
27
|
+
if (!chunkFile) {
|
|
28
|
+
return response.badRequest({
|
|
29
|
+
error: "chunk field is required",
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
logger.log.info("upload", "chunking", `Received chunk ${chunkNumber + 1} of ${request.int("totalChunks")} (${request.int("currentChunkSize")} / ${request.number("chunkSize")}) ${fileId}`);
|
|
33
|
+
// Create the file directory if it doesn't exist
|
|
34
|
+
if (!queuesList.has(fileId)) {
|
|
35
|
+
const date = dayjs__default.default().format("DD-MM-YYYY");
|
|
36
|
+
const hash = reinforcements.Random.string(64);
|
|
37
|
+
const defaultDirectoryPath = date + "/" + hash;
|
|
38
|
+
const directoryPath = config__default.default.get("uploads.saveTo", defaultDirectoryPath);
|
|
39
|
+
const fileDirectoryPath = typeof directoryPath === "function"
|
|
40
|
+
? directoryPath(defaultDirectoryPath)
|
|
41
|
+
: directoryPath;
|
|
42
|
+
fs.ensureDirectory(paths.uploadsPath(fileDirectoryPath));
|
|
43
|
+
fs.touch(paths.uploadsPath(fileDirectoryPath) + "/" + fileName);
|
|
44
|
+
// Create a new queue for this file
|
|
45
|
+
const queue = new ChunkedFileQueue(paths.uploadsPath(fileDirectoryPath) + "/" + fileName, request.int("totalChunks"));
|
|
46
|
+
queuesList.set(fileId, queue);
|
|
47
|
+
}
|
|
48
|
+
const queue = queuesList.get(fileId);
|
|
49
|
+
// Add the chunk to the queue
|
|
50
|
+
await queue.append({
|
|
51
|
+
chunk: chunkFile,
|
|
52
|
+
chunkNumber,
|
|
53
|
+
});
|
|
54
|
+
// Process the last chunk
|
|
55
|
+
if (request.int("totalChunks") === chunkNumber + 1) {
|
|
56
|
+
await queue.process();
|
|
57
|
+
const fileData = {
|
|
58
|
+
hash: reinforcements.Random.string(64),
|
|
59
|
+
path: queue.filePath.replace(paths.uploadsPath("/"), ""),
|
|
60
|
+
size: fs.fileSize(queue.filePath),
|
|
61
|
+
extension: fs.extension(request.input("fileName")),
|
|
62
|
+
name: request.input("fileName"),
|
|
63
|
+
mimeType: request.input("fileType"),
|
|
64
|
+
chunked: true,
|
|
65
|
+
};
|
|
66
|
+
if (chunkFile.isImage) {
|
|
67
|
+
const { width, height } = await new image.Image(queue.filePath).dimensions();
|
|
68
|
+
fileData.width = width;
|
|
69
|
+
fileData.height = height;
|
|
70
|
+
}
|
|
71
|
+
const upload$1 = await upload.Upload.create(fileData);
|
|
72
|
+
// Remove the queue from the list after processing
|
|
73
|
+
queuesList.delete(fileId);
|
|
74
|
+
return response.success({
|
|
75
|
+
upload: upload$1,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
response.success({
|
|
79
|
+
chunkNumber,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
logger.log.error("upload", "Error occurred while processing chunk:", error);
|
|
84
|
+
return response.serverError({
|
|
85
|
+
message: "An error occurred while processing the chunk",
|
|
86
|
+
error,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Create a queue class that receives the chunks and append them to the file
|
|
91
|
+
class ChunkedFileQueue {
|
|
92
|
+
filePath;
|
|
93
|
+
totalChunks;
|
|
94
|
+
/**
|
|
95
|
+
* Creation Time
|
|
96
|
+
*/
|
|
97
|
+
createdAt = Date.now();
|
|
98
|
+
/**
|
|
99
|
+
* The queue
|
|
100
|
+
*/
|
|
101
|
+
queue = [];
|
|
102
|
+
/**
|
|
103
|
+
* Total chunks that have been processed
|
|
104
|
+
*/
|
|
105
|
+
processedChunks = 0;
|
|
106
|
+
/**
|
|
107
|
+
* Constructor
|
|
108
|
+
*/
|
|
109
|
+
constructor(filePath, totalChunks) {
|
|
110
|
+
this.filePath = filePath;
|
|
111
|
+
this.totalChunks = totalChunks;
|
|
112
|
+
//
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Append a chunk to the queue
|
|
116
|
+
*/
|
|
117
|
+
async append(chunk) {
|
|
118
|
+
this.queue.push({
|
|
119
|
+
chunkNumber: chunk.chunkNumber,
|
|
120
|
+
});
|
|
121
|
+
const buffer = await chunk.chunk.buffer();
|
|
122
|
+
const temporaryFilePath = this.filePath + ".part" + chunk.chunkNumber;
|
|
123
|
+
await fs__default.default.promises.writeFile(temporaryFilePath, buffer);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create the file and append all chunks to it
|
|
127
|
+
* This method will be called only when the queue is full
|
|
128
|
+
* and all chunks are received correctly
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
async createFile() {
|
|
132
|
+
const temporaryFilePaths = Array.from({ length: this.totalChunks }, (_, i) => this.filePath + ".part" + i);
|
|
133
|
+
// Create a writable stream for the final file
|
|
134
|
+
const writeStream = fs__default.default.createWriteStream(this.filePath);
|
|
135
|
+
// Create an array to hold promises for the stream pipeline
|
|
136
|
+
const pipelinePromises = temporaryFilePaths.map(tempFile => {
|
|
137
|
+
const readStream = fs__default.default.createReadStream(tempFile);
|
|
138
|
+
return new Promise((resolve, reject) => {
|
|
139
|
+
readStream
|
|
140
|
+
.pipe(writeStream, { end: false })
|
|
141
|
+
.on("error", reject)
|
|
142
|
+
.on("end", resolve);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
// Use Promise.all to wait for all stream pipelines to complete
|
|
146
|
+
return Promise.all(pipelinePromises)
|
|
147
|
+
.then(async () => {
|
|
148
|
+
// Close the write stream to ensure everything is flushed and saved
|
|
149
|
+
writeStream.end();
|
|
150
|
+
// Remove temporary files
|
|
151
|
+
await Promise.all(temporaryFilePaths.map(async (tempFile) => {
|
|
152
|
+
await fs__default.default.promises.unlink(tempFile);
|
|
153
|
+
}));
|
|
154
|
+
})
|
|
155
|
+
.catch(error => {
|
|
156
|
+
// Handle any errors that occurred during stream pipeline
|
|
157
|
+
console.error("Error during stream pipeline:", error);
|
|
158
|
+
throw error; // Rethrow the error to indicate failure
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Process the chunks and create the file when all chunks are received
|
|
163
|
+
*/
|
|
164
|
+
process() {
|
|
165
|
+
return new Promise(resolve => {
|
|
166
|
+
// Check if all chunks have been received
|
|
167
|
+
if (this.queue.length < this.totalChunks) {
|
|
168
|
+
logger.log.info("upload", "chunked", `Waiting for all chunks to be received... (Received: ${this.queue.length}, Total: ${this.totalChunks})`);
|
|
169
|
+
// Retry after a short delay
|
|
170
|
+
setTimeout(() => {
|
|
171
|
+
this.process().then(resolve);
|
|
172
|
+
}, 100);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
// Now create the file and resolve the Promise when done
|
|
176
|
+
this.createFile().then(() => {
|
|
177
|
+
resolve();
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}exports.uploadChunkedFiles=uploadChunkedFiles;//# sourceMappingURL=upload-chunked-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-chunked-files.js","sources":["../../../../src/modules/uploads/controllers/upload-chunked-files.ts"],"sourcesContent":[null],"names":["log","dayjs","Random","config","ensureDirectory","uploadsPath","touch","fileSize","extension","Image","upload","Upload","fs"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Request, Response } from "../../../http";
|
|
2
|
+
export declare function uploadFiles(request: Request, response: Response): Promise<Response>;
|
|
3
|
+
export declare namespace uploadFiles {
|
|
4
|
+
var validation: {
|
|
5
|
+
rules: {
|
|
6
|
+
uploads: string[];
|
|
7
|
+
directory: string[];
|
|
8
|
+
random: string[];
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=upload-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-files.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/controllers/upload-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAKrE,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,qBA6DrE;yBA7DqB,WAAW"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements');require('../../../utils/date-output.js'),require('../../../http/middleware/inject-request-context.js');var paths=require('../../../utils/paths.js');require('@mongez/slug'),require('@mongez/supportive-is');var upload=require('../models/upload.js'),getUploadsDirectory=require('../utils/get-uploads-directory.js');async function uploadFiles(request, response) {
|
|
2
|
+
const files = request.files("uploads");
|
|
3
|
+
const directory = request.input("directory");
|
|
4
|
+
const uploads = [];
|
|
5
|
+
const isRandom = request.bool("random");
|
|
6
|
+
const baseDirectoryPath = await getUploadsDirectory.getUploadsDirectory(directory);
|
|
7
|
+
const addFile = async (file) => {
|
|
8
|
+
const hash = reinforcements.Random.string(64);
|
|
9
|
+
const fileDirectoryPath = baseDirectoryPath + "/" + hash;
|
|
10
|
+
const fileName = file.name;
|
|
11
|
+
const filePath = isRandom
|
|
12
|
+
? await file.save(fileDirectoryPath)
|
|
13
|
+
: await file.saveAs(fileDirectoryPath, fileName); // relative to uploadsPath
|
|
14
|
+
const fileData = {
|
|
15
|
+
name: file.name,
|
|
16
|
+
fileHash: file.hash,
|
|
17
|
+
hash: hash,
|
|
18
|
+
path: reinforcements.ltrim(filePath, "/"),
|
|
19
|
+
directory: fileDirectoryPath,
|
|
20
|
+
size: fs.fileSize(paths.uploadsPath(filePath)),
|
|
21
|
+
mimeType: file.mimeType,
|
|
22
|
+
extension: file.extension,
|
|
23
|
+
};
|
|
24
|
+
if (file.isImage) {
|
|
25
|
+
const { width, height } = await file.dimensions();
|
|
26
|
+
fileData.width = width;
|
|
27
|
+
fileData.height = height;
|
|
28
|
+
}
|
|
29
|
+
const upload$1 = new upload.Upload(fileData);
|
|
30
|
+
await upload$1.save();
|
|
31
|
+
uploads.push(upload$1);
|
|
32
|
+
return upload$1;
|
|
33
|
+
};
|
|
34
|
+
const uploadedFiles = [];
|
|
35
|
+
if (Array.isArray(files)) {
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
uploadedFiles.push(addFile(file));
|
|
38
|
+
}
|
|
39
|
+
await Promise.all(uploadedFiles);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
await addFile(files);
|
|
43
|
+
}
|
|
44
|
+
return response.success({
|
|
45
|
+
uploads,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
uploadFiles.validation = {
|
|
49
|
+
rules: {
|
|
50
|
+
uploads: ["required", "array", "file"],
|
|
51
|
+
directory: ["string"],
|
|
52
|
+
random: ["boolean"],
|
|
53
|
+
},
|
|
54
|
+
};exports.uploadFiles=uploadFiles;//# sourceMappingURL=upload-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-files.js","sources":["../../../../src/modules/uploads/controllers/upload-files.ts"],"sourcesContent":[null],"names":["getUploadsDirectory","Random","ltrim","fileSize","uploadsPath","upload","Upload"],"mappings":"mZAOO,eAAe,WAAW,CAAC,OAAgB,EAAE,QAAkB,EAAA;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAExC,IAAA,MAAM,iBAAiB,GAAG,MAAMA,uCAAmB,CAAC,SAAS,CAAC,CAAC;AAE/D,IAAA,MAAM,OAAO,GAAG,OAAO,IAAkB,KAAI;QAC3C,MAAM,IAAI,GAAGC,qBAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEzD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ;AACvB,cAAE,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACpC,cAAE,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAEnD,QAAA,MAAM,QAAQ,GAAQ;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;AACnB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAEC,oBAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC1B,YAAA,SAAS,EAAE,iBAAiB;AAC5B,YAAA,IAAI,EAAEC,WAAQ,CAACC,iBAAW,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;AAClD,YAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,YAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1B,SAAA;AAED,QAAA,MAAMC,QAAM,GAAG,IAAIC,aAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,MAAMD,QAAM,CAAC,IAAI,EAAE,CAAC;AAEpB,QAAA,OAAO,CAAC,IAAI,CAACA,QAAM,CAAC,CAAC;AAErB,QAAA,OAAOA,QAAM,CAAC;AAChB,KAAC,CAAC;IAEF,MAAM,aAAa,GAAsB,EAAE,CAAC;AAE5C,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAClC,KAAA;AAAM,SAAA;AACL,QAAA,MAAM,OAAO,CAAC,KAAqB,CAAC,CAAC;AACtC,KAAA;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,OAAO;AACR,KAAA,CAAC,CAAC;AACL,CAAC;AAED,WAAW,CAAC,UAAU,GAAG;AACvB,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,MAAM,EAAE,CAAC,SAAS,CAAC;AACpB,KAAA;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compress-uploaded-file.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/compress-uploaded-file.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAkCvD;AAED,wBAAgB,2BAA2B,SAI1C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';var config=require('@mongez/config'),fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements'),logger=require('@warlock.js/logger'),image=require('../../../image/image.js'),paths=require('../../../utils/paths.js'),upload=require('../models/upload.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config);async function compressUploadingFile(file) {
|
|
2
|
+
if (file.get("mimeType").startsWith("image/") === false)
|
|
3
|
+
return;
|
|
4
|
+
// skip if file is webp
|
|
5
|
+
if (file.get("extension") === "webp")
|
|
6
|
+
return;
|
|
7
|
+
try {
|
|
8
|
+
const fullFilePath = file.path;
|
|
9
|
+
const fileName = file.get("name");
|
|
10
|
+
// convert the image to webp
|
|
11
|
+
logger.log("upload", "compressing", "Compressing " + fileName + "...", "info");
|
|
12
|
+
const image$1 = new image.Image(fullFilePath);
|
|
13
|
+
// replace the end of the file path with .webp
|
|
14
|
+
const newPath = fullFilePath.replace(/(\.[a-zA-Z0-9]+)$/, ".webp");
|
|
15
|
+
await image$1.saveAsWebp(newPath);
|
|
16
|
+
file.set("name", fileName.replace(/(\.[a-zA-Z0-9]+)$/, ".webp"));
|
|
17
|
+
file.set("path", reinforcements.removeFirst(newPath, paths.uploadsPath()));
|
|
18
|
+
file.set("mimeType", "image/webp");
|
|
19
|
+
file.set("extension", "webp");
|
|
20
|
+
file.set("size", fs.fileSize(newPath));
|
|
21
|
+
logger.log("upload", "compressed", "Compressed " + fileName + "...", "success");
|
|
22
|
+
// now remove the original file
|
|
23
|
+
fs.removePath(fullFilePath);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
// do nothing
|
|
27
|
+
console.log("Compressing Error", error.message);
|
|
28
|
+
logger.log.error("upload", "compressing", error.message);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function compressImageWhileUploading() {
|
|
32
|
+
if (!config__default.default.get("uploads.compress"))
|
|
33
|
+
return;
|
|
34
|
+
upload.Upload?.events().onSaving(compressUploadingFile);
|
|
35
|
+
}exports.compressImageWhileUploading=compressImageWhileUploading;exports.compressUploadingFile=compressUploadingFile;//# sourceMappingURL=compress-uploaded-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compress-uploaded-file.js","sources":["../../../../src/modules/uploads/events/compress-uploaded-file.ts"],"sourcesContent":[null],"names":["log","image","Image","removeFirst","uploadsPath","fileSize","removePath","config","Upload"],"mappings":"mZAQO,eAAe,qBAAqB,CAAC,IAAY,EAAA;AACtD,IAAA,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK;QAAE,OAAO;;AAGhE,IAAA,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,MAAM;QAAE,OAAO;IAC7C,IAAI;AACF,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;AAGlC,QAAAA,UAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,GAAG,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;AAExE,QAAA,MAAMC,OAAK,GAAG,IAAIC,WAAK,CAAC,YAAY,CAAC,CAAC;;QAGtC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAEnE,QAAA,MAAMD,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEhC,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAEE,0BAAW,CAAC,OAAO,EAAEC,iBAAW,EAAE,CAAC,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAEC,WAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAEpC,QAAAL,UAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,GAAG,QAAQ,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC;;QAGzEM,aAAU,CAAC,YAAY,CAAC,CAAC;AAC1B,KAAA;AAAC,IAAA,OAAO,KAAU,EAAE;;QAEnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChDN,UAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnD,KAAA;AACH,CAAC;SAEe,2BAA2B,GAAA;AACzC,IAAA,IAAI,CAACO,uBAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO;IAE5CC,aAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-file-from-disk.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/delete-file-from-disk.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),cascade=require('@warlock.js/cascade'),upload=require('../models/upload.js');upload.Upload?.events().onDeleted(async (upload) => {
|
|
2
|
+
const path = upload.path;
|
|
3
|
+
if (!(await fs.fileExistsAsync(path)))
|
|
4
|
+
return;
|
|
5
|
+
fs.unlinkAsync(path);
|
|
6
|
+
});
|
|
7
|
+
cascade.Model?.events()
|
|
8
|
+
.onUpdated(async (model, oldModel) => {
|
|
9
|
+
const uploads = oldModel.get("_uploads");
|
|
10
|
+
if (!uploads)
|
|
11
|
+
return;
|
|
12
|
+
for (const column in uploads) {
|
|
13
|
+
const oldValue = oldModel.get(column);
|
|
14
|
+
const newValue = model.get(column);
|
|
15
|
+
if (Array.isArray(oldValue) && Array.isArray(newValue)) {
|
|
16
|
+
// now find all hashes on the old value that are not in the new value
|
|
17
|
+
const hashes = oldValue
|
|
18
|
+
.map(value => value.hash)
|
|
19
|
+
.filter(hash => {
|
|
20
|
+
return !newValue.find(value => value.hash === hash);
|
|
21
|
+
});
|
|
22
|
+
upload.Upload.aggregate().whereIn("hash", hashes).delete();
|
|
23
|
+
}
|
|
24
|
+
else if (oldValue && newValue && oldValue.hash !== newValue.hash) {
|
|
25
|
+
upload.Upload.aggregate().where("hash", oldValue.hash).delete();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
.onDeleted(async (model) => {
|
|
30
|
+
const uploads = model.get("_uploads");
|
|
31
|
+
if (!uploads)
|
|
32
|
+
return;
|
|
33
|
+
for (const column in uploads) {
|
|
34
|
+
const value = model.get(column);
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
upload.Upload.aggregate()
|
|
37
|
+
.whereIn("hash", value.map(value => value.hash))
|
|
38
|
+
.delete();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
upload.Upload.aggregate().where("hash", value.hash).delete();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});//# sourceMappingURL=delete-file-from-disk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-file-from-disk.js","sources":["../../../../src/modules/uploads/events/delete-file-from-disk.ts"],"sourcesContent":[null],"names":["Upload","fileExistsAsync","unlinkAsync","Model"],"mappings":"uHAIAA,aAAM,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,MAAc,KAAI;AAClD,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAEzB,IAAA,IAAI,EAAE,MAAMC,kBAAe,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO;IAE3CC,cAAW,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEHC,aAAK,EAAE,MAAM,EAAE;AACZ,KAAA,SAAS,CAAC,OAAO,KAAY,EAAE,QAAe,KAAI;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEzC,IAAA,IAAI,CAAC,OAAO;QAAE,OAAO;AAErB,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;YAEtD,MAAM,MAAM,GAAG,QAAQ;iBACpB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;iBACxB,MAAM,CAAC,IAAI,IAAG;AACb,gBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,aAAC,CAAC,CAAC;AAEL,YAAAH,aAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,SAAA;aAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;AAClE,YAAAA,aAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC1D,SAAA;AACF,KAAA;AACH,CAAC,CAAC;AACD,KAAA,SAAS,CAAC,OAAO,KAAY,KAAI;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEtC,IAAA,IAAI,CAAC,OAAO;QAAE,OAAO;AAErB,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEhC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxBA,aAAM,CAAC,SAAS,EAAE;AACf,iBAAA,OAAO,CACN,MAAM,EACN,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAC/B;AACA,iBAAA,MAAM,EAAE,CAAC;AACb,SAAA;AAAM,aAAA;AACL,YAAAA,aAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACvD,SAAA;AACF,KAAA;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/index.ts"],"names":[],"mappings":"AAEA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var compressUploadedFile=require('./compress-uploaded-file.js');require('./delete-file-from-disk.js'),require('@aws-sdk/client-s3'),require('@warlock.js/logger'),require('fs'),require('@mongez/config'),require('../models/upload.js'),require('@mongez/fs'),require('path');compressUploadedFile.compressImageWhileUploading();exports.compressImageWhileUploading=compressUploadedFile.compressImageWhileUploading;exports.compressUploadingFile=compressUploadedFile.compressUploadingFile;//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/modules/uploads/events/index.ts"],"sourcesContent":[null],"names":["compressImageWhileUploading"],"mappings":"4RAQAA,gDAA2B,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-from-aws.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/remove-from-aws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,iBAiBrD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';var index=require('../../../aws/index.js'),getAwsConfigurations=require('../../../aws/get-aws-configurations.js');async function removeFromAWSBucket(file) {
|
|
2
|
+
if (!file.get("isRemote"))
|
|
3
|
+
return;
|
|
4
|
+
// delete from AWS
|
|
5
|
+
const awsOptions = await getAwsConfigurations.getAWSConfigurations();
|
|
6
|
+
if (awsOptions) {
|
|
7
|
+
try {
|
|
8
|
+
await index.deleteFromAWS({
|
|
9
|
+
fileName: file.get("provider.fileName"),
|
|
10
|
+
connectionOptions: awsOptions,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.log(error);
|
|
15
|
+
throw new Error("Failed to delete the file");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}exports.removeFromAWSBucket=removeFromAWSBucket;//# sourceMappingURL=remove-from-aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-from-aws.js","sources":["../../../../src/modules/uploads/events/remove-from-aws.ts"],"sourcesContent":[null],"names":["getAWSConfigurations","deleteFromAWS"],"mappings":"+HAGO,eAAe,mBAAmB,CAAC,IAAY,EAAA;AACpD,IAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;;AAGlC,IAAA,MAAM,UAAU,GAAG,MAAMA,yCAAoB,EAAE,CAAC;AAEhD,IAAA,IAAI,UAAU,EAAE;QACd,IAAI;AACF,YAAA,MAAMC,mBAAa,CAAC;AAClB,gBAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACvC,gBAAA,iBAAiB,EAAE,UAAU;AAC9B,aAAA,CAAC,CAAC;AACJ,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC9C,SAAA;AACF,KAAA;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-with-aws.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/sync-with-aws.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,kBAKrC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';var upload=require('../models/upload.js'),removeFromAws=require('./remove-from-aws.js'),uploadToAws=require('./upload-to-aws.js');async function syncFilesWithAWS() {
|
|
2
|
+
upload.Upload.events()
|
|
3
|
+
.onSaving(uploadToAws.uploadFileToAWS)
|
|
4
|
+
.onSaved(uploadToAws.uploadFileToAWSInBackground)
|
|
5
|
+
.onDeleted(removeFromAws.removeFromAWSBucket);
|
|
6
|
+
}exports.syncFilesWithAWS=syncFilesWithAWS;//# sourceMappingURL=sync-with-aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-with-aws.js","sources":["../../../../src/modules/uploads/events/sync-with-aws.ts"],"sourcesContent":[null],"names":["Upload","uploadFileToAWS","uploadFileToAWSInBackground","removeFromAWSBucket"],"mappings":"+IAIO,eAAe,gBAAgB,GAAA;IACpCA,aAAM,CAAC,MAAM,EAAE;SACZ,QAAQ,CAACC,2BAAe,CAAC;SACzB,OAAO,CAACC,uCAA2B,CAAC;SACpC,SAAS,CAACC,iCAAmB,CAAC,CAAC;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-to-aws.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/events/upload-to-aws.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKxC,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,iBAUjD;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,iBAW7D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),path=require('path'),index=require('../../../aws/index.js'),paths=require('../../../utils/paths.js'),getAwsConfigurations=require('../../../aws/get-aws-configurations.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);async function uploadFileToAWS(file) {
|
|
2
|
+
const awsOptions = await getAwsConfigurations.getAWSConfigurations();
|
|
3
|
+
if (!awsOptions)
|
|
4
|
+
return;
|
|
5
|
+
// if the file is chunked, then we'll do it after the file is saved in database
|
|
6
|
+
// in that case use uploadFileToAWSInBackground
|
|
7
|
+
if (file.get("chunked"))
|
|
8
|
+
return;
|
|
9
|
+
await toAWS(file, awsOptions);
|
|
10
|
+
}
|
|
11
|
+
async function uploadFileToAWSInBackground(file) {
|
|
12
|
+
const awsOptions = await getAwsConfigurations.getAWSConfigurations();
|
|
13
|
+
if (!awsOptions)
|
|
14
|
+
return;
|
|
15
|
+
// if the file is chunked, then skip it
|
|
16
|
+
if (!file.get("chunked"))
|
|
17
|
+
return;
|
|
18
|
+
await toAWS(file, awsOptions);
|
|
19
|
+
file.silentSaving();
|
|
20
|
+
}
|
|
21
|
+
async function toAWS(file, awsOptions) {
|
|
22
|
+
const uploadData = await index.uploadToAWS({
|
|
23
|
+
filePath: file.path,
|
|
24
|
+
fileName: file.get("name"),
|
|
25
|
+
hash: file.get("hash"),
|
|
26
|
+
mimeType: file.get("mimeType"),
|
|
27
|
+
connectionOptions: awsOptions,
|
|
28
|
+
});
|
|
29
|
+
if (uploadData) {
|
|
30
|
+
file.set("isRemote", true);
|
|
31
|
+
file.set("provider", uploadData);
|
|
32
|
+
// now remove the file from the server
|
|
33
|
+
const directoryPath = path__default.default.dirname(String(file.get("path")));
|
|
34
|
+
fs.removePath(paths.uploadsPath(directoryPath));
|
|
35
|
+
}
|
|
36
|
+
}exports.uploadFileToAWS=uploadFileToAWS;exports.uploadFileToAWSInBackground=uploadFileToAWSInBackground;//# sourceMappingURL=upload-to-aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-to-aws.js","sources":["../../../../src/modules/uploads/events/upload-to-aws.ts"],"sourcesContent":[null],"names":["getAWSConfigurations","uploadToAWS","path","removePath","uploadsPath"],"mappings":"4UAOO,eAAe,eAAe,CAAC,IAAY,EAAA;AAChD,IAAA,MAAM,UAAU,GAAG,MAAMA,yCAAoB,EAAE,CAAC;AAEhD,IAAA,IAAI,CAAC,UAAU;QAAE,OAAO;;;AAIxB,IAAA,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;AAEhC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAChC,CAAC;AAEM,eAAe,2BAA2B,CAAC,IAAY,EAAA;AAC5D,IAAA,MAAM,UAAU,GAAG,MAAMA,yCAAoB,EAAE,CAAC;AAEhD,IAAA,IAAI,CAAC,UAAU;QAAE,OAAO;;AAGxB,IAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;AAEjC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE9B,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,CAAC;AAED,eAAe,KAAK,CAAC,IAAY,EAAE,UAAgC,EAAA;AACjE,IAAA,MAAM,UAAU,GAAG,MAAMC,iBAAW,CAAC;QACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;AACnB,QAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,QAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9B,QAAA,iBAAiB,EAAE,UAAU;AAC9B,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,UAAU,EAAE;AACd,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;;AAIjC,QAAA,MAAM,aAAa,GAAGC,qBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE7D,QAAAC,aAAU,CAACC,iBAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,KAAA;AACH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./controllers/delete-file";
|
|
2
|
+
export * from "./controllers/get-uploaded-file";
|
|
3
|
+
export * from "./controllers/get-uploaded-file-with-hash";
|
|
4
|
+
export * from "./controllers/upload-chunked-files";
|
|
5
|
+
export * from "./controllers/upload-files";
|
|
6
|
+
export * from "./events";
|
|
7
|
+
export * from "./models";
|
|
8
|
+
export * from "./output/upload-output";
|
|
9
|
+
export * from "./utils";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/uploads/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Casts } from "@warlock.js/cascade";
|
|
2
|
+
import { Model } from "@warlock.js/cascade";
|
|
3
|
+
import { UploadOutput } from "../output/upload-output";
|
|
4
|
+
export declare class Upload extends Model {
|
|
5
|
+
/**
|
|
6
|
+
* Collection name
|
|
7
|
+
*/
|
|
8
|
+
static collection: string;
|
|
9
|
+
/**
|
|
10
|
+
* {@inheritDoc}
|
|
11
|
+
*/
|
|
12
|
+
static output: typeof UploadOutput;
|
|
13
|
+
/**
|
|
14
|
+
* {@inheritDoc}
|
|
15
|
+
*/
|
|
16
|
+
protected casts: Casts;
|
|
17
|
+
/**
|
|
18
|
+
* {@inheritDoc}
|
|
19
|
+
*/
|
|
20
|
+
embedded: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Get file full path
|
|
23
|
+
*/
|
|
24
|
+
get path(): any;
|
|
25
|
+
/**
|
|
26
|
+
* Determine if file is an image
|
|
27
|
+
*/
|
|
28
|
+
get isImage(): any;
|
|
29
|
+
/**
|
|
30
|
+
* Determine if file is a video
|
|
31
|
+
*/
|
|
32
|
+
get isVideo(): any;
|
|
33
|
+
/**
|
|
34
|
+
* Determine if file is a PDF
|
|
35
|
+
*/
|
|
36
|
+
get isPDF(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Get the hash value
|
|
39
|
+
*/
|
|
40
|
+
get hash(): string;
|
|
41
|
+
/**
|
|
42
|
+
* Clone the uploaded file into a new different path
|
|
43
|
+
*/
|
|
44
|
+
copy(saveTo?: string): Promise<any>;
|
|
45
|
+
}
|
|
46
|
+
export declare const UploadBlueprint: any;
|
|
47
|
+
export declare function uploadsMigration(): Promise<void>;
|
|
48
|
+
export declare namespace uploadsMigration {
|
|
49
|
+
var down: () => Promise<void>;
|
|
50
|
+
var blueprint: any;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../src/modules/uploads/models/upload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,qBAAa,MAAO,SAAQ,KAAK;IAC/B;;OAEG;IACH,OAAc,UAAU,SAAa;IAErC;;OAEG;IACH,OAAc,MAAM,sBAAgB;IAEpC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,CAepB;IAEF;;OAEG;IACI,QAAQ,WAA2B;IAE1C;;OAEG;IACH,IAAW,IAAI,QAGd;IAED;;OAEG;IACH,IAAW,OAAO,QAEjB;IAED;;OAEG;IACH,IAAW,OAAO,QAEjB;IAED;;OAEG;IACH,IAAW,KAAK,YAEf;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACU,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM;CAclC;AAED,eAAO,MAAM,eAAe,KAAqB,CAAC;AAElD,wBAAsB,gBAAgB,kBAGrC;yBAHqB,gBAAgB"}
|