@restforgejs/platform 4.2.8 → 4.3.2
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/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x16a0b3=a0_0x2c93;(function(_0x17d666,_0x5b7426){const _0x39a090=a0_0x2c93,_0x4a66ea=_0x17d666();while(!![]){try{const _0x1bbc45=-parseInt(_0x39a090(0x1bc))/0x1*(parseInt(_0x39a090(0x176))/0x2)+-parseInt(_0x39a090(0x185))/0x3*(parseInt(_0x39a090(0x1b0))/0x4)+-parseInt(_0x39a090(0x1cf))/0x5+parseInt(_0x39a090(0x18f))/0x6+-parseInt(_0x39a090(0x199))/0x7+parseInt(_0x39a090(0x175))/0x8+parseInt(_0x39a090(0x1a2))/0x9;if(_0x1bbc45===_0x5b7426)break;else _0x4a66ea['push'](_0x4a66ea['shift']());}catch(_0x3dfedc){_0x4a66ea['push'](_0x4a66ea['shift']());}}}(a0_0x102b,0x7f2c2));const express=require('express'),{Queue}=require(a0_0x16a0b3(0x198)),Redis=require(a0_0x16a0b3(0x1a0)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;function a0_0x102b(){const _0x2a572c=['shnxzMq','rxjYB3iGDhjPz2DLCMLUzYbQB2i','AgfUzgXLCG','qMzXA3m','l2nHBMnLBc86AM9Iswq','zxjYB3i','nZK4mgDhA2Xzra','Cgf0Aa','y3DK','rxjYB3iGy2fUy2vSBgLUzYbQB2i','vMn6rKK','z2v0sM9I','q0jVEMu','CMvHzgrPCLn5BMm','ChjVy2vZC2vKt24','A2TNv0i','Bg9JywXOB3n0','z2v0u3rHDgu','mta1mwrZvenKrq','y29UBMvJDgvK','wwn2A1q','DhLWzq','AM9Ix2nHBMnLBf9LCNjVCG','zMfPBgvK','yxbP','CxvLCNK','yKPLAeC','Cgf1C2vK','A2v5CW','z2v0sM9Iq291BNrZ','Bfb2zKe','CxvLDwu','AM9Ix3rYAwDNzxjFzxjYB3i','CgfYC2u','Aw5PDgLHBerLBgf5','l2HPC3rVCNK','zMLUAxnOzwrpBG','mZmZodb6zLzntxu','zMfPBgvKuMvHC29U','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','Cgf5Bg9Hza','AM9PBG','vLLWrM8','DgLTzxn0yw1W','uM91DgvY','ANnVBG','z2XwEvO','A3Pqz3m','yM9KEq','vKD3Dhu','z2v0','ueTgy2W','CMv0DxjUDMfSDwu','weXzrgG','BgvUz3rO','nZy2ntqWmejHrgfOtW','mtC0nLPKy3HHtW','AM9Ix2XPC3rFzxjYB3i','u2LrDwG','CgfYyw1Z','sM9Iia','rxjYB3iGBgLZDgLUzYbQB2jZ','BwvZC2fNzq','D2fPDgLUzW','EK1Rs2K','igjLCMHHC2LSigrPlxrYAwDNzxi','swDdtui','sK9cx1jfreLtx1bsruzjwa','u1DJDLC','CMvHzezPBgvtEw5J','zw52','ndiWzuffq3Hc','CMv0CNK','DNvAyMG','BgLTAxq','CxbbBee','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','Cg9ZDa','DgLTzxn0yw1WCW','CMvTB3zL','l3n0yxr1CY86AM9Iswq','ntmWmdm2nhzRBhPurG','zw50CMLLCW','zgvZy3jPChrPB24','BMfTzq','y3jLyxrLza','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','weTNr3O','ihrPzgfRigrPDgvTDwTHBG','Bw92zvrVrMfPBgvK','yNvSBg1X','mJG4otCYnKLjD3DnCa','DMfSDwvZ','D0rLEwi','ywn0AxzL','zxHWB25LBNrPywW','CKn1zwS','Bwv0ywrHDge','Aw9YzwrPCW','qvvMCKS','mJy2mdGXneXZBKfWDG','yMfJA29MzG','sM9Iici','ChvZAa','zMLSDgvY','CK9psg8','C3rHDhvZ','AM9ICW'];a0_0x102b=function(){return _0x2a572c;};return a0_0x102b();}const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':'low'};function getReadQueues(){const _0x430915=a0_0x16a0b3,_0x5805b3={'zMkKi':'rf:job','HsWfd':function(_0x187858,_0x220d35,_0x16766c){return _0x187858(_0x220d35,_0x16766c);},'FGjlc':'error'};if(readQueues)return readQueues;const _0x1b4e5c=process[_0x430915(0x184)][_0x430915(0x181)]||_0x5805b3[_0x430915(0x17e)];readConnection=new Redis({'host':process[_0x430915(0x184)]['REDIS_HOST']||_0x430915(0x1ba),'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x5805b3[_0x430915(0x1aa)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x5805b3['FGjlc'],_0x3778f8=>{const _0x2b9467=_0x430915;logger['error']({'event':_0x2b9467(0x194),'error':_0x3778f8[_0x2b9467(0x17c)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x3778f8[_0x2b9467(0x17c)]);}),readQueues={};for(const [_0x39965d,_0x9d2f6b]of Object[_0x430915(0x190)](QUEUE_NAMES)){readQueues[_0x39965d]=new Queue(_0x9d2f6b,{'connection':readConnection,'prefix':_0x1b4e5c});}return readQueues;}function createJobRoutes(_0x5a8fac){const _0x7c722a=a0_0x16a0b3,_0x35f364={'QosvL':function(_0x497c93,_0x51b0a5){return _0x497c93(_0x51b0a5);},'bJehG':function(_0x22fc3e,_0x44ca7f){return _0x22fc3e(_0x44ca7f);},'SiQuh':_0x7c722a(0x1b1),'mshZn':_0x7c722a(0x1a9),'rOOHo':'utf8','VczFI':function(_0x57bcf5,_0xf4bdef){return _0x57bcf5!==_0xf4bdef;},'lPvfA':_0x7c722a(0x177),'XLYDh':function(_0x4d0c88){return _0x4d0c88();},'oxYBv':'job_status_error','Olxvn':function(_0x47f593,_0x270d0d){return _0x47f593(_0x270d0d);},'vWtDy':function(_0x2f5fd5,_0xcee705){return _0x2f5fd5(_0xcee705);},'kHkQN':_0x7c722a(0x1d2),'TwZuE':function(_0x40287d,_0x164305){return _0x40287d===_0x164305;},'Bfqks':'default','rvoSi':_0x7c722a(0x1c2),'PKFcl':'exponential','IgCMB':function(_0x3034cd){return _0x3034cd();},'CBoze':'Job\x20cancelled\x20via\x20API','MxPYl':'waiting','VYpFo':function(_0x2a9434,_0x33cd8f){return _0x2a9434===_0x33cd8f;},'qpAlA':'delayed','AxBhG':_0x7c722a(0x1c0),'vuZbh':_0x7c722a(0x1b3),'VGwtu':function(_0x1e1a64,_0x3543ab){return _0x1e1a64-_0x3543ab;},'XKgGz':function(_0x59c936,_0x2cab49){return _0x59c936-_0x2cab49;},'AUfrK':function(_0x34c2c0,_0x22d0e3){return _0x34c2c0+_0x22d0e3;},'kzPgs':_0x7c722a(0x1c1),'kkgWB':_0x7c722a(0x1c5),'rCuek':'job_queues_error','iukEm':'healthy','SWcvW':_0x7c722a(0x1bd),'YcvkT':'disconnected','glVyZ':_0x7c722a(0x18e),'wJVuD':'/trigger/:jobName','wDeyb':'/queues','YibEm':'/health'},_0x261cba=express[_0x7c722a(0x1d6)]();return _0x5a8fac&&Object[_0x7c722a(0x1c6)](_0x5a8fac)[_0x7c722a(0x174)]>0x0&&(cachedJobConfigs=_0x5a8fac),_0x261cba[_0x7c722a(0x170)]('/list',(_0x37563a,_0x169082)=>{const _0x3854cc=_0x7c722a;try{if(cachedJobConfigs){const _0x35f58b=Object[_0x3854cc(0x19a)](cachedJobConfigs)['map'](_0x530c70=>({'name':_0x530c70[_0x3854cc(0x192)],'description':_0x530c70[_0x3854cc(0x191)]||'','type':_0x530c70[_0x3854cc(0x1bf)],'schedule':_0x530c70['schedule'],'handler':_0x530c70[_0x3854cc(0x1ac)],'enabled':_0x530c70['enabled']!==![],'queue':_0x530c70['queue']||'default','timeout':_0x530c70['timeout']||0x7530,'retry':_0x530c70[_0x3854cc(0x186)]||{'maxAttempts':0x3,'backoff':_0x3854cc(0x19d),'initialDelay':0x1388},'metadata':_0x530c70['metadata']||{}}));return _0x169082[_0x3854cc(0x1d7)]({'success':!![],'data':_0x35f58b,'total':_0x35f58b[_0x3854cc(0x174)]});}const _0x216895=_0x35f364['QosvL'](require,'fs'),_0x1d7370=_0x35f364[_0x3854cc(0x1c4)](require,_0x35f364[_0x3854cc(0x178)]),_0x462892=_0x1d7370[_0x3854cc(0x1d3)](process['cwd'](),'payload',_0x35f364['mshZn']);if(!_0x216895['existsSync'](_0x462892))return _0x169082['json']({'success':!![],'data':[],'total':0x0});const _0x133114=_0x216895[_0x3854cc(0x1b7)](_0x462892)[_0x3854cc(0x1a6)](_0x5dcfb6=>_0x5dcfb6['endsWith']('.json')),_0x1db437=[];for(const _0x327f59 of _0x133114){try{const _0x448141=_0x216895[_0x3854cc(0x183)](_0x1d7370['join'](_0x462892,_0x327f59),_0x35f364[_0x3854cc(0x1a7)]),_0x2371eb=JSON[_0x3854cc(0x1cb)](_0x448141);_0x1db437[_0x3854cc(0x1a5)]({'name':_0x2371eb['name'],'description':_0x2371eb['description']||'','type':_0x2371eb['type'],'schedule':_0x2371eb['schedule'],'handler':_0x2371eb[_0x3854cc(0x1ac)],'enabled':_0x35f364[_0x3854cc(0x1b4)](_0x2371eb['enabled'],![]),'queue':_0x2371eb[_0x3854cc(0x1c9)]||'default','timeout':_0x2371eb['timeout']||0x7530,'retry':_0x2371eb['retry']||{},'metadata':_0x2371eb[_0x3854cc(0x19f)]||{}});}catch(_0x1d5e89){}}_0x169082['json']({'success':!![],'data':_0x1db437,'total':_0x1db437['length']});}catch(_0x167805){logger[_0x3854cc(0x1af)]({'event':_0x35f364[_0x3854cc(0x1c8)],'error':_0x167805[_0x3854cc(0x17c)]},_0x3854cc(0x17b)),_0x169082['status'](0x1f4)[_0x3854cc(0x1d7)]({'success':![],'error':_0x167805[_0x3854cc(0x17c)]});}}),_0x261cba[_0x7c722a(0x170)](_0x35f364[_0x7c722a(0x1d8)],async(_0x2ccd3e,_0x17fd06)=>{const _0x1649c5=_0x7c722a;try{const {jobId:_0x3d358d}=_0x2ccd3e['params'],_0xa9fd41=_0x35f364[_0x1649c5(0x173)](getReadQueues);for(const _0x52f40e of Object['values'](_0xa9fd41)){const _0x335f7e=await _0x52f40e['getJob'](_0x3d358d);if(_0x335f7e){const _0x238cac=await _0x335f7e['getState']();return _0x17fd06[_0x1649c5(0x1d7)]({'success':!![],'data':{'jobId':_0x335f7e['id'],'name':_0x335f7e['name'],'state':_0x238cac,'progress':_0x335f7e['progress'],'attemptsMade':_0x335f7e['attemptsMade'],'failedReason':_0x335f7e['failedReason'],'returnvalue':_0x335f7e[_0x1649c5(0x172)],'data':_0x335f7e['data'],'timestamps':{'created':_0x335f7e['timestamp'],'started':_0x335f7e['processedOn'],'completed':_0x335f7e['finishedOn']}}});}}_0x17fd06[_0x1649c5(0x1a8)](0x194)[_0x1649c5(0x1d7)]({'success':![],'error':_0x1649c5(0x17a)+_0x3d358d+_0x1649c5(0x196)});}catch(_0x4a92e4){logger[_0x1649c5(0x1af)]({'event':_0x35f364['oxYBv'],'error':_0x4a92e4[_0x1649c5(0x17c)]},'Error\x20getting\x20job\x20status'),_0x17fd06['status'](0x1f4)['json']({'success':![],'error':_0x4a92e4['message']});}}),_0x261cba[_0x7c722a(0x18b)](_0x35f364['wJVuD'],async(_0x49df32,_0x458180)=>{const _0x44de5a=_0x7c722a;try{const {jobName:_0x6f98ec}=_0x49df32[_0x44de5a(0x179)],_0x2191ac=_0x49df32[_0x44de5a(0x1da)]||{};let _0x40d646=cachedJobConfigs?.[_0x6f98ec];if(!_0x40d646){const _0x221f6e=_0x35f364['Olxvn'](require,'fs'),_0x89bd58=_0x35f364['vWtDy'](require,_0x44de5a(0x1b1)),_0x4f1ed3=_0x89bd58['join'](process[_0x44de5a(0x1b2)](),_0x35f364['kHkQN'],'jobs'),_0x104643=_0x221f6e['existsSync'](_0x4f1ed3)?_0x221f6e['readdirSync'](_0x4f1ed3)['filter'](_0x129d9e=>_0x129d9e['endsWith']('.json')):[];for(const _0xf7bc50 of _0x104643){try{const _0x474e64=_0x221f6e['readFileSync'](_0x89bd58[_0x44de5a(0x1d3)](_0x4f1ed3,_0xf7bc50),_0x35f364['rOOHo']),_0x4468e2=JSON['parse'](_0x474e64);if(_0x35f364['TwZuE'](_0x4468e2[_0x44de5a(0x192)],_0x6f98ec)){_0x40d646=_0x4468e2;break;}}catch(_0x2fafea){}}}if(!_0x40d646)return _0x458180[_0x44de5a(0x1a8)](0x194)[_0x44de5a(0x1d7)]({'success':![],'error':_0x44de5a(0x1a4)+_0x6f98ec+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0xcaaa94=getReadQueues(),_0x41a890=_0xcaaa94[_0x40d646[_0x44de5a(0x1c9)]||_0x35f364[_0x44de5a(0x1ad)]],_0x459ea9=await _0x41a890['add'](_0x6f98ec,{..._0x2191ac,'handler':_0x40d646[_0x44de5a(0x1ac)],'triggeredBy':_0x35f364['rvoSi']},{'attempts':_0x40d646['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x40d646['retry']?.[_0x44de5a(0x1a3)]||_0x35f364[_0x44de5a(0x171)],'delay':_0x40d646['retry']?.[_0x44de5a(0x1cc)]||0x1388},'timeout':_0x40d646['timeout']||0x7530});logger['info']({'event':'job_triggered_via_api','jobId':_0x459ea9['id'],'name':_0x6f98ec},_0x44de5a(0x18a)+_0x6f98ec+'\x20(id:\x20'+_0x459ea9['id']+')'),_0x458180['json']({'success':!![],'jobId':_0x459ea9['id'],'message':_0x44de5a(0x17a)+_0x6f98ec+_0x44de5a(0x17f)});}catch(_0x3cdcb6){logger['error']({'event':_0x44de5a(0x1ca),'error':_0x3cdcb6['message']},_0x44de5a(0x1ab)),_0x458180[_0x44de5a(0x1a8)](0x1f4)[_0x44de5a(0x1d7)]({'success':![],'error':_0x3cdcb6['message']});}}),_0x261cba[_0x7c722a(0x18b)](_0x7c722a(0x1ae),async(_0x180992,_0x1b0429)=>{const _0x48acd2=_0x7c722a;try{const {jobId:_0x22e216}=_0x180992['params'],_0x404338=_0x35f364[_0x48acd2(0x180)](getReadQueues);for(const _0x29a1e2 of Object['values'](_0x404338)){const _0x39a38e=await _0x29a1e2[_0x48acd2(0x1b5)](_0x22e216);if(_0x39a38e){const _0x23a4db=await _0x39a38e[_0x48acd2(0x1bb)]();if(_0x23a4db==='active')return await _0x39a38e[_0x48acd2(0x197)](new Error(_0x35f364[_0x48acd2(0x1b6)]),'api-cancel',!![]),_0x1b0429[_0x48acd2(0x1d7)]({'success':!![],'message':_0x48acd2(0x17a)+_0x22e216+'\x20cancelled\x20(was\x20active)'});if(_0x23a4db===_0x35f364['MxPYl']||_0x35f364[_0x48acd2(0x1d4)](_0x23a4db,_0x35f364[_0x48acd2(0x189)]))return await _0x39a38e[_0x48acd2(0x18d)](),_0x1b0429[_0x48acd2(0x1d7)]({'success':!![],'message':'Job\x20'+_0x22e216+'\x20removed\x20(was\x20'+_0x23a4db+')'});return _0x1b0429['json']({'success':![],'message':'Job\x20'+_0x22e216+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x23a4db+')'});}}_0x1b0429['status'](0x194)[_0x48acd2(0x1d7)]({'success':![],'error':'Job\x20'+_0x22e216+_0x48acd2(0x196)});}catch(_0x24dbaa){logger[_0x48acd2(0x1af)]({'event':_0x35f364['AxBhG'],'error':_0x24dbaa[_0x48acd2(0x17c)]},_0x35f364[_0x48acd2(0x187)]),_0x1b0429['status'](0x1f4)['json']({'success':![],'error':_0x24dbaa['message']});}}),_0x261cba['get'](_0x7c722a(0x1cd),async(_0x142ba4,_0x53b6b1)=>{const _0x123839=_0x7c722a;try{const _0x2f813c=parseInt(_0x142ba4['query']['page'],0xa)||0x1,_0x4c29aa=Math['min'](parseInt(_0x142ba4[_0x123839(0x1c3)][_0x123839(0x188)],0xa)||0x14,0x64),_0x1a1f89=_0x35f364[_0x123839(0x1db)](_0x2f813c,0x1)*_0x4c29aa,_0x234c47=_0x35f364[_0x123839(0x195)](_0x35f364[_0x123839(0x1a1)](_0x1a1f89,_0x4c29aa),0x1),_0x55a42b=getReadQueues(),_0x53a035=[];for(const [_0x37a7ec,_0x530172]of Object[_0x123839(0x190)](_0x55a42b)){const _0x2ab4a5=await _0x530172['getJobs'](['completed'],_0x1a1f89,_0x234c47),_0xed6bf5=await _0x530172['getJobs']([_0x35f364['kzPgs']],_0x1a1f89,_0x234c47);for(const _0x5aa6d8 of[..._0x2ab4a5,..._0xed6bf5]){const _0xe33791=await _0x5aa6d8['getState']();_0x53a035[_0x123839(0x1a5)]({'jobId':_0x5aa6d8['id'],'name':_0x5aa6d8['name'],'state':_0xe33791,'queue':_0x37a7ec,'attemptsMade':_0x5aa6d8['attemptsMade'],'failedReason':_0x5aa6d8[_0x123839(0x1d0)],'returnvalue':_0x5aa6d8['returnvalue'],'timestamps':{'created':_0x5aa6d8[_0x123839(0x1d5)],'started':_0x5aa6d8[_0x123839(0x1b8)],'completed':_0x5aa6d8[_0x123839(0x1ce)]}});}}_0x53a035['sort']((_0x7161fe,_0x183ad3)=>(_0x183ad3[_0x123839(0x18c)]['created']||0x0)-(_0x7161fe['timestamps'][_0x123839(0x193)]||0x0)),_0x53b6b1[_0x123839(0x1d7)]({'success':!![],'data':_0x53a035['slice'](0x0,_0x4c29aa),'total':_0x53a035['length'],'page':_0x2f813c,'limit':_0x4c29aa});}catch(_0x32db89){logger['error']({'event':'job_history_error','error':_0x32db89[_0x123839(0x17c)]},'Error\x20getting\x20job\x20history'),_0x53b6b1[_0x123839(0x1a8)](0x1f4)['json']({'success':![],'error':_0x32db89[_0x123839(0x17c)]});}}),_0x261cba[_0x7c722a(0x170)](_0x35f364[_0x7c722a(0x19b)],async(_0xbaaee2,_0xcc09eb)=>{const _0x5319c0=_0x7c722a;try{const _0x554d90=getReadQueues(),_0x4ebcf1={};for(const [_0x18c94f,_0x23dc74]of Object['entries'](_0x554d90)){try{const _0x5f216a=await _0x23dc74[_0x5319c0(0x1c7)](_0x5319c0(0x19c),'completed',_0x35f364['qpAlA'],_0x35f364[_0x5319c0(0x1d9)],_0x35f364[_0x5319c0(0x1b9)],_0x35f364['MxPYl']);_0x4ebcf1[_0x18c94f]=_0x5f216a;}catch(_0x179ea7){_0x4ebcf1[_0x18c94f]={'error':_0x179ea7[_0x5319c0(0x17c)]};}}_0xcc09eb[_0x5319c0(0x1d7)]({'success':!![],'data':_0x4ebcf1});}catch(_0x4046ae){logger[_0x5319c0(0x1af)]({'event':_0x35f364[_0x5319c0(0x19e)],'error':_0x4046ae['message']},_0x5319c0(0x1d1)),_0xcc09eb[_0x5319c0(0x1a8)](0x1f4)[_0x5319c0(0x1d7)]({'success':![],'error':_0x4046ae['message']});}}),_0x261cba['get'](_0x35f364['YibEm'],async(_0x53e054,_0xa00fb0)=>{const _0x2fcc1a=_0x7c722a;try{const _0x5906a8=getReadQueues(),_0x4d2578={};let _0x5a99db=![];for(const [_0x4de976,_0x58756d]of Object['entries'](_0x5906a8)){try{const _0x24cbeb=await _0x58756d[_0x2fcc1a(0x1c7)]('active',_0x2fcc1a(0x17d),_0x35f364[_0x2fcc1a(0x1d9)]);_0x4d2578[_0x4de976]=_0x24cbeb,_0x5a99db=!![];}catch(_0x5af054){_0x4d2578[_0x4de976]={'error':_0x5af054[_0x2fcc1a(0x17c)]};}}let _0x5e2589=0x0;cachedJobConfigs&&(_0x5e2589=Object[_0x2fcc1a(0x1c6)](cachedJobConfigs)[_0x2fcc1a(0x174)]),_0xa00fb0[_0x2fcc1a(0x1d7)]({'success':!![],'data':{'status':_0x5a99db?_0x35f364['iukEm']:'degraded','redis':_0x5a99db?_0x35f364[_0x2fcc1a(0x182)]:_0x35f364[_0x2fcc1a(0x1be)],'registeredJobs':_0x5e2589,'queues':_0x4d2578}});}catch(_0x209a98){_0xa00fb0['status'](0x1f7)['json']({'success':![],'data':{'status':'unhealthy','error':_0x209a98[_0x2fcc1a(0x17c)]}});}}),_0x261cba;}function a0_0x2c93(_0x2076b0,_0x18b213){_0x2076b0=_0x2076b0-0x170;const _0x102b7e=a0_0x102b();let _0x2c93ee=_0x102b7e[_0x2076b0];if(a0_0x2c93['bWwNkX']===undefined){var _0x32a91d=function(_0x4cb74a){const _0x4dbcc3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5fa7d3='',_0x8eea9e='';for(let _0x249298=0x0,_0x23fd1b,_0x4b376b,_0x5197a2=0x0;_0x4b376b=_0x4cb74a['charAt'](_0x5197a2++);~_0x4b376b&&(_0x23fd1b=_0x249298%0x4?_0x23fd1b*0x40+_0x4b376b:_0x4b376b,_0x249298++%0x4)?_0x5fa7d3+=String['fromCharCode'](0xff&_0x23fd1b>>(-0x2*_0x249298&0x6)):0x0){_0x4b376b=_0x4dbcc3['indexOf'](_0x4b376b);}for(let _0x3b697e=0x0,_0x168e5f=_0x5fa7d3['length'];_0x3b697e<_0x168e5f;_0x3b697e++){_0x8eea9e+='%'+('00'+_0x5fa7d3['charCodeAt'](_0x3b697e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8eea9e);};a0_0x2c93['WaVOiy']=_0x32a91d,a0_0x2c93['yjsRpi']={},a0_0x2c93['bWwNkX']=!![];}const _0x184696=_0x102b7e[0x0],_0x46020e=_0x2076b0+_0x184696,_0x130424=a0_0x2c93['yjsRpi'][_0x46020e];return!_0x130424?(_0x2c93ee=a0_0x2c93['WaVOiy'](_0x2c93ee),a0_0x2c93['yjsRpi'][_0x46020e]=_0x2c93ee):_0x2c93ee=_0x130424,_0x2c93ee;}module['exports']=createJobRoutes;
|
|
1
|
+
const a0_0x5baa58=a0_0x351d;(function(_0x11b82a,_0x264e5e){const _0x454b1a=a0_0x351d,_0xc8631a=_0x11b82a();while(!![]){try{const _0xd1b28d=parseInt(_0x454b1a(0x163))/0x1*(parseInt(_0x454b1a(0x171))/0x2)+-parseInt(_0x454b1a(0x162))/0x3+-parseInt(_0x454b1a(0x15c))/0x4*(parseInt(_0x454b1a(0x164))/0x5)+-parseInt(_0x454b1a(0x131))/0x6*(parseInt(_0x454b1a(0x18b))/0x7)+parseInt(_0x454b1a(0x15d))/0x8+-parseInt(_0x454b1a(0x16c))/0x9+parseInt(_0x454b1a(0x179))/0xa;if(_0xd1b28d===_0x264e5e)break;else _0xc8631a['push'](_0xc8631a['shift']());}catch(_0x43c02b){_0xc8631a['push'](_0xc8631a['shift']());}}}(a0_0x306b,0x30635));const express=require(a0_0x5baa58(0x16e)),{Queue}=require(a0_0x5baa58(0x14d)),Redis=require(a0_0x5baa58(0x14b)),{logger}=require(a0_0x5baa58(0x165));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x5baa58(0x150)};function getReadQueues(){const _0x6f6d4c=a0_0x5baa58,_0x103d7b={'TLafR':'localhost','WFgQR':'error'};if(readQueues)return readQueues;const _0x54748e=process[_0x6f6d4c(0x148)]['JOB_REDIS_PREFIX']||'rf:job';readConnection=new Redis({'host':process['env'][_0x6f6d4c(0x178)]||_0x103d7b[_0x6f6d4c(0x14f)],'port':parseInt(process[_0x6f6d4c(0x148)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x6f6d4c(0x148)][_0x6f6d4c(0x18a)]||undefined,'db':parseInt(process[_0x6f6d4c(0x148)][_0x6f6d4c(0x16b)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x103d7b['WFgQR'],_0x44bbd1=>{const _0x44560e=_0x6f6d4c;logger[_0x44560e(0x161)]({'event':_0x44560e(0x13d),'error':_0x44bbd1[_0x44560e(0x15e)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x44bbd1['message']);}),readQueues={};for(const [_0x1fc02f,_0x1b96fe]of Object['entries'](QUEUE_NAMES)){readQueues[_0x1fc02f]=new Queue(_0x1b96fe,{'connection':readConnection,'prefix':_0x54748e});}return readQueues;}function a0_0x351d(_0x54f7ea,_0x531997){_0x54f7ea=_0x54f7ea-0x127;const _0x306bf4=a0_0x306b();let _0x351d6c=_0x306bf4[_0x54f7ea];if(a0_0x351d['aoCZIp']===undefined){var _0x5e14ca=function(_0x38347e){const _0x3538ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x464cc7='',_0x4c8c78='';for(let _0x1d2077=0x0,_0x5911f1,_0x499caa,_0x468308=0x0;_0x499caa=_0x38347e['charAt'](_0x468308++);~_0x499caa&&(_0x5911f1=_0x1d2077%0x4?_0x5911f1*0x40+_0x499caa:_0x499caa,_0x1d2077++%0x4)?_0x464cc7+=String['fromCharCode'](0xff&_0x5911f1>>(-0x2*_0x1d2077&0x6)):0x0){_0x499caa=_0x3538ea['indexOf'](_0x499caa);}for(let _0x43c523=0x0,_0x580a69=_0x464cc7['length'];_0x43c523<_0x580a69;_0x43c523++){_0x4c8c78+='%'+('00'+_0x464cc7['charCodeAt'](_0x43c523)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c8c78);};a0_0x351d['ajfjsy']=_0x5e14ca,a0_0x351d['EVUBfJ']={},a0_0x351d['aoCZIp']=!![];}const _0x38d4c6=_0x306bf4[0x0],_0x40f757=_0x54f7ea+_0x38d4c6,_0x57da70=a0_0x351d['EVUBfJ'][_0x40f757];return!_0x57da70?(_0x351d6c=a0_0x351d['ajfjsy'](_0x351d6c),a0_0x351d['EVUBfJ'][_0x40f757]=_0x351d6c):_0x351d6c=_0x57da70,_0x351d6c;}function createJobRoutes(_0x1cc14c){const _0x396fd4=a0_0x5baa58,_0x6b4547={'MOrxB':function(_0x203edb,_0x10807b){return _0x203edb(_0x10807b);},'VoDfp':_0x396fd4(0x185),'irMoT':_0x396fd4(0x13f),'kzrOL':_0x396fd4(0x147),'xUzYL':'default','mmPDF':_0x396fd4(0x18f),'EzBDV':function(_0x40c3ab){return _0x40c3ab();},'fjLQx':'Error\x20getting\x20job\x20status','LQPcO':function(_0x30bfc6){return _0x30bfc6();},'fWTAG':'exponential','Xjixj':_0x396fd4(0x133),'sTyED':function(_0x315ccd){return _0x315ccd();},'EKiNX':function(_0x576844,_0x1e0c6f){return _0x576844===_0x1e0c6f;},'iuwDd':_0x396fd4(0x143),'BUCjl':_0x396fd4(0x184),'pSLAA':_0x396fd4(0x132),'ZoBGC':'Error\x20cancelling\x20job','vrnCg':function(_0x575f5e,_0x5bfa61,_0xff6528){return _0x575f5e(_0x5bfa61,_0xff6528);},'sUgve':function(_0x5e5cb5,_0x33fed0){return _0x5e5cb5*_0x33fed0;},'cMqZI':function(_0x5c8abd,_0x4e40a2){return _0x5c8abd-_0x4e40a2;},'eCral':function(_0x5c8219,_0x3ff0f9){return _0x5c8219+_0x3ff0f9;},'nvBRY':'completed','oCAAN':'job_history_error','CNUDZ':_0x396fd4(0x156),'fjyyM':_0x396fd4(0x14e),'lImDD':_0x396fd4(0x183),'oUUNN':'paused','onHNi':'job_queues_error','EkMWA':_0x396fd4(0x12b),'hgQXK':'unhealthy','KYTYN':function(_0xd0e975,_0xafdb85){return _0xd0e975>_0xafdb85;},'UfqDu':'/cancel/:jobId','fcKkC':_0x396fd4(0x18d)},_0x1d453d=express[_0x396fd4(0x17f)]();return _0x1cc14c&&_0x6b4547[_0x396fd4(0x13a)](Object[_0x396fd4(0x12f)](_0x1cc14c)['length'],0x0)&&(cachedJobConfigs=_0x1cc14c),_0x1d453d[_0x396fd4(0x16d)](_0x396fd4(0x188),(_0x2e91cd,_0x257575)=>{const _0x7df0ff=_0x396fd4;try{if(cachedJobConfigs){const _0x3c2a49=Object['values'](cachedJobConfigs)['map'](_0x5958bc=>({'name':_0x5958bc[_0x7df0ff(0x130)],'description':_0x5958bc['description']||'','type':_0x5958bc['type'],'schedule':_0x5958bc[_0x7df0ff(0x168)],'handler':_0x5958bc['handler'],'enabled':_0x5958bc['enabled']!==![],'queue':_0x5958bc['queue']||'default','timeout':_0x5958bc['timeout']||0x7530,'retry':_0x5958bc['retry']||{'maxAttempts':0x3,'backoff':_0x7df0ff(0x177),'initialDelay':0x1388},'metadata':_0x5958bc[_0x7df0ff(0x134)]||{}}));return _0x257575[_0x7df0ff(0x127)]({'success':!![],'data':_0x3c2a49,'total':_0x3c2a49[_0x7df0ff(0x151)]});}const _0x279354=_0x6b4547['MOrxB'](require,'fs'),_0x21e09b=_0x6b4547['MOrxB'](require,_0x6b4547[_0x7df0ff(0x153)]),_0x53892e=_0x21e09b[_0x7df0ff(0x182)](process['cwd'](),_0x7df0ff(0x18c),_0x6b4547['irMoT']);if(!_0x279354['existsSync'](_0x53892e))return _0x257575[_0x7df0ff(0x127)]({'success':!![],'data':[],'total':0x0});const _0x385210=_0x279354['readdirSync'](_0x53892e)[_0x7df0ff(0x159)](_0x4a2789=>_0x4a2789['endsWith']('.json')),_0x4bc7b9=[];for(const _0x4196ad of _0x385210){try{const _0x47016a=_0x279354['readFileSync'](_0x21e09b[_0x7df0ff(0x182)](_0x53892e,_0x4196ad),_0x6b4547[_0x7df0ff(0x141)]),_0x2a6d28=JSON['parse'](_0x47016a);_0x4bc7b9[_0x7df0ff(0x145)]({'name':_0x2a6d28[_0x7df0ff(0x130)],'description':_0x2a6d28['description']||'','type':_0x2a6d28['type'],'schedule':_0x2a6d28[_0x7df0ff(0x168)],'handler':_0x2a6d28['handler'],'enabled':_0x2a6d28['enabled']!==![],'queue':_0x2a6d28['queue']||_0x6b4547['xUzYL'],'timeout':_0x2a6d28[_0x7df0ff(0x158)]||0x7530,'retry':_0x2a6d28['retry']||{},'metadata':_0x2a6d28['metadata']||{}});}catch(_0x1a3a0d){}}_0x257575[_0x7df0ff(0x127)]({'success':!![],'data':_0x4bc7b9,'total':_0x4bc7b9['length']});}catch(_0x2fd5d6){logger[_0x7df0ff(0x161)]({'event':_0x6b4547['mmPDF'],'error':_0x2fd5d6[_0x7df0ff(0x15e)]},'Error\x20listing\x20jobs'),_0x257575[_0x7df0ff(0x166)](0x1f4)[_0x7df0ff(0x127)]({'success':![],'error':_0x2fd5d6[_0x7df0ff(0x15e)]});}}),_0x1d453d['get'](_0x396fd4(0x17b),async(_0x3144a7,_0x1eca57)=>{const _0x464b91=_0x396fd4;try{const {jobId:_0xcb3590}=_0x3144a7['params'],_0x1d38db=_0x6b4547[_0x464b91(0x13b)](getReadQueues);for(const _0x259099 of Object['values'](_0x1d38db)){const _0x1f653a=await _0x259099[_0x464b91(0x14a)](_0xcb3590);if(_0x1f653a){const _0x1d19c8=await _0x1f653a[_0x464b91(0x172)]();return _0x1eca57[_0x464b91(0x127)]({'success':!![],'data':{'jobId':_0x1f653a['id'],'name':_0x1f653a[_0x464b91(0x130)],'state':_0x1d19c8,'progress':_0x1f653a[_0x464b91(0x17d)],'attemptsMade':_0x1f653a['attemptsMade'],'failedReason':_0x1f653a[_0x464b91(0x17a)],'returnvalue':_0x1f653a[_0x464b91(0x13c)],'data':_0x1f653a[_0x464b91(0x174)],'timestamps':{'created':_0x1f653a['timestamp'],'started':_0x1f653a['processedOn'],'completed':_0x1f653a['finishedOn']}}});}}_0x1eca57[_0x464b91(0x166)](0x194)[_0x464b91(0x127)]({'success':![],'error':_0x464b91(0x12c)+_0xcb3590+'\x20tidak\x20ditemukan'});}catch(_0x5a9233){logger[_0x464b91(0x161)]({'event':'job_status_error','error':_0x5a9233['message']},_0x6b4547[_0x464b91(0x157)]),_0x1eca57[_0x464b91(0x166)](0x1f4)['json']({'success':![],'error':_0x5a9233['message']});}}),_0x1d453d['post']('/trigger/:jobName',async(_0x13f71e,_0x2da7ae)=>{const _0x6e6956=_0x396fd4;try{const {jobName:_0x2c50d7}=_0x13f71e['params'],_0x395475=_0x13f71e[_0x6e6956(0x12e)]||{};let _0x5694a8=cachedJobConfigs?.[_0x2c50d7];if(!_0x5694a8){const _0xe3fb7f=require('fs'),_0x272c1f=_0x6b4547[_0x6e6956(0x155)](require,_0x6e6956(0x185)),_0x23173f=_0x272c1f['join'](process['cwd'](),'payload',_0x6b4547[_0x6e6956(0x139)]),_0x37b5f4=_0xe3fb7f['existsSync'](_0x23173f)?_0xe3fb7f[_0x6e6956(0x142)](_0x23173f)[_0x6e6956(0x159)](_0x3bfe02=>_0x3bfe02['endsWith']('.json')):[];for(const _0x1ebea7 of _0x37b5f4){try{const _0x27ea50=_0xe3fb7f['readFileSync'](_0x272c1f[_0x6e6956(0x182)](_0x23173f,_0x1ebea7),_0x6b4547[_0x6e6956(0x141)]),_0x413498=JSON['parse'](_0x27ea50);if(_0x413498[_0x6e6956(0x130)]===_0x2c50d7){_0x5694a8=_0x413498;break;}}catch(_0x2d13b6){}}}if(!_0x5694a8)return _0x2da7ae[_0x6e6956(0x166)](0x194)['json']({'success':![],'error':_0x6e6956(0x154)+_0x2c50d7+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x411df5=_0x6b4547['LQPcO'](getReadQueues),_0x59357c=_0x411df5[_0x5694a8['queue']||_0x6b4547['xUzYL']],_0x2920e9=await _0x59357c[_0x6e6956(0x18e)](_0x2c50d7,{..._0x395475,'handler':_0x5694a8[_0x6e6956(0x149)],'triggeredBy':'api'},{'attempts':_0x5694a8[_0x6e6956(0x191)]?.['maxAttempts']||0x3,'backoff':{'type':_0x5694a8['retry']?.[_0x6e6956(0x15b)]||_0x6b4547['fWTAG'],'delay':_0x5694a8['retry']?.[_0x6e6956(0x152)]||0x1388},'timeout':_0x5694a8[_0x6e6956(0x158)]||0x7530});logger[_0x6e6956(0x15a)]({'event':_0x6b4547['Xjixj'],'jobId':_0x2920e9['id'],'name':_0x2c50d7},_0x6e6956(0x12d)+_0x2c50d7+'\x20(id:\x20'+_0x2920e9['id']+')'),_0x2da7ae['json']({'success':!![],'jobId':_0x2920e9['id'],'message':_0x6e6956(0x12c)+_0x2c50d7+'\x20berhasil\x20di-trigger'});}catch(_0x1a0f84){logger['error']({'event':'job_trigger_error','error':_0x1a0f84['message']},'Error\x20triggering\x20job'),_0x2da7ae['status'](0x1f4)['json']({'success':![],'error':_0x1a0f84['message']});}}),_0x1d453d['post'](_0x6b4547['UfqDu'],async(_0x2f527c,_0xa49b1c)=>{const _0x36793e=_0x396fd4;try{const {jobId:_0x1c6415}=_0x2f527c['params'],_0x51dcf0=_0x6b4547[_0x36793e(0x190)](getReadQueues);for(const _0x2132ce of Object['values'](_0x51dcf0)){const _0x7ed427=await _0x2132ce[_0x36793e(0x14a)](_0x1c6415);if(_0x7ed427){const _0x43b0ee=await _0x7ed427['getState']();if(_0x6b4547['EKiNX'](_0x43b0ee,_0x36793e(0x14e)))return await _0x7ed427['moveToFailed'](new Error(_0x6b4547['iuwDd']),_0x36793e(0x16f),!![]),_0xa49b1c['json']({'success':!![],'message':_0x36793e(0x12c)+_0x1c6415+'\x20cancelled\x20(was\x20active)'});if(_0x43b0ee===_0x6b4547[_0x36793e(0x173)]||_0x43b0ee==='delayed')return await _0x7ed427[_0x36793e(0x137)](),_0xa49b1c[_0x36793e(0x127)]({'success':!![],'message':_0x36793e(0x12c)+_0x1c6415+_0x36793e(0x12a)+_0x43b0ee+')'});return _0xa49b1c['json']({'success':![],'message':'Job\x20'+_0x1c6415+_0x36793e(0x14c)+_0x43b0ee+')'});}}_0xa49b1c[_0x36793e(0x166)](0x194)[_0x36793e(0x127)]({'success':![],'error':'Job\x20'+_0x1c6415+'\x20tidak\x20ditemukan'});}catch(_0x3791d5){logger['error']({'event':_0x6b4547['pSLAA'],'error':_0x3791d5[_0x36793e(0x15e)]},_0x6b4547['ZoBGC']),_0xa49b1c[_0x36793e(0x166)](0x1f4)['json']({'success':![],'error':_0x3791d5[_0x36793e(0x15e)]});}}),_0x1d453d[_0x396fd4(0x16d)]('/history',async(_0x35d174,_0x23bc7b)=>{const _0x475f8b=_0x396fd4;try{const _0x353d1c=parseInt(_0x35d174[_0x475f8b(0x128)][_0x475f8b(0x129)],0xa)||0x1,_0x5218ad=Math[_0x475f8b(0x136)](_0x6b4547[_0x475f8b(0x189)](parseInt,_0x35d174[_0x475f8b(0x128)]['limit'],0xa)||0x14,0x64),_0xb310d5=_0x6b4547[_0x475f8b(0x186)](_0x353d1c-0x1,_0x5218ad),_0x4adc6a=_0x6b4547['cMqZI'](_0x6b4547['eCral'](_0xb310d5,_0x5218ad),0x1),_0x22889a=getReadQueues(),_0x14bdda=[];for(const [_0x3b5793,_0x162b1e]of Object[_0x475f8b(0x175)](_0x22889a)){const _0x344972=await _0x162b1e['getJobs']([_0x6b4547[_0x475f8b(0x181)]],_0xb310d5,_0x4adc6a),_0x1de230=await _0x162b1e[_0x475f8b(0x17e)]([_0x475f8b(0x15f)],_0xb310d5,_0x4adc6a);for(const _0x9ff3d6 of[..._0x344972,..._0x1de230]){const _0x919c8c=await _0x9ff3d6[_0x475f8b(0x172)]();_0x14bdda[_0x475f8b(0x145)]({'jobId':_0x9ff3d6['id'],'name':_0x9ff3d6[_0x475f8b(0x130)],'state':_0x919c8c,'queue':_0x3b5793,'attemptsMade':_0x9ff3d6[_0x475f8b(0x160)],'failedReason':_0x9ff3d6['failedReason'],'returnvalue':_0x9ff3d6['returnvalue'],'timestamps':{'created':_0x9ff3d6['timestamp'],'started':_0x9ff3d6[_0x475f8b(0x17c)],'completed':_0x9ff3d6[_0x475f8b(0x138)]}});}}_0x14bdda[_0x475f8b(0x16a)]((_0x189eec,_0x53febe)=>(_0x53febe[_0x475f8b(0x146)]['created']||0x0)-(_0x189eec['timestamps'][_0x475f8b(0x140)]||0x0)),_0x23bc7b[_0x475f8b(0x127)]({'success':!![],'data':_0x14bdda['slice'](0x0,_0x5218ad),'total':_0x14bdda['length'],'page':_0x353d1c,'limit':_0x5218ad});}catch(_0x38d313){logger['error']({'event':_0x6b4547['oCAAN'],'error':_0x38d313[_0x475f8b(0x15e)]},_0x6b4547[_0x475f8b(0x135)]),_0x23bc7b[_0x475f8b(0x166)](0x1f4)['json']({'success':![],'error':_0x38d313[_0x475f8b(0x15e)]});}}),_0x1d453d['get'](_0x396fd4(0x169),async(_0xb2d8e0,_0x5e2ba7)=>{const _0x22f8f5=_0x396fd4;try{const _0x142e74=getReadQueues(),_0x56fafc={};for(const [_0x1dab14,_0x2dc4fb]of Object[_0x22f8f5(0x175)](_0x142e74)){try{const _0x5f1a64=await _0x2dc4fb[_0x22f8f5(0x167)](_0x6b4547[_0x22f8f5(0x176)],_0x6b4547[_0x22f8f5(0x181)],_0x6b4547['lImDD'],_0x22f8f5(0x15f),_0x6b4547[_0x22f8f5(0x13e)],_0x22f8f5(0x184));_0x56fafc[_0x1dab14]=_0x5f1a64;}catch(_0x40fe67){_0x56fafc[_0x1dab14]={'error':_0x40fe67['message']};}}_0x5e2ba7['json']({'success':!![],'data':_0x56fafc});}catch(_0x43da1c){logger['error']({'event':_0x6b4547[_0x22f8f5(0x170)],'error':_0x43da1c[_0x22f8f5(0x15e)]},'Error\x20getting\x20queue\x20stats'),_0x5e2ba7['status'](0x1f4)['json']({'success':![],'error':_0x43da1c[_0x22f8f5(0x15e)]});}}),_0x1d453d['get'](_0x6b4547[_0x396fd4(0x187)],async(_0x1b4972,_0x443713)=>{const _0x3cbb7c=_0x396fd4;try{const _0x4eb6b0=getReadQueues(),_0x4ef076={};let _0x34052d=![];for(const [_0xe8454d,_0x5a8ee7]of Object['entries'](_0x4eb6b0)){try{const _0xc5e832=await _0x5a8ee7['getJobCounts'](_0x6b4547['fjyyM'],_0x6b4547['BUCjl'],'failed');_0x4ef076[_0xe8454d]=_0xc5e832,_0x34052d=!![];}catch(_0x121707){_0x4ef076[_0xe8454d]={'error':_0x121707['message']};}}let _0x24ce72=0x0;cachedJobConfigs&&(_0x24ce72=Object[_0x3cbb7c(0x12f)](cachedJobConfigs)['length']),_0x443713[_0x3cbb7c(0x127)]({'success':!![],'data':{'status':_0x34052d?'healthy':_0x3cbb7c(0x180),'redis':_0x34052d?_0x3cbb7c(0x144):_0x6b4547['EkMWA'],'registeredJobs':_0x24ce72,'queues':_0x4ef076}});}catch(_0x308574){_0x443713['status'](0x1f7)[_0x3cbb7c(0x127)]({'success':![],'data':{'status':_0x6b4547['hgQXK'],'error':_0x308574[_0x3cbb7c(0x15e)]}});}}),_0x1d453d;}module['exports']=createJobRoutes;function a0_0x306b(){const _0x4de883=['yNvSBg1X','ywn0AxzL','veXHzLi','Bg93','BgvUz3rO','Aw5PDgLHBerLBgf5','vM9ezNa','sM9Iici','tu9YEei','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','zMPmuxG','DgLTzw91Da','zMLSDgvY','Aw5MBW','yMfJA29MzG','mZCXmdeYALHurgrp','odKYmtC2AgD5shPz','BwvZC2fNzq','zMfPBgvK','yxr0zw1WDhnnywrL','zxjYB3i','mJqZotm2ywTTsNn4','nxbTrfzTsW','mtb6Bg1VBMi','lI4VlI4VDxrPBhmVBg9Nz2vY','C3rHDhvZ','z2v0sM9Iq291BNrZ','C2nOzwr1Bgu','l3f1zxvLCW','C29YDa','uKvesvnFrei','mJG0mtq4rLrdCvjv','z2v0','zxHWCMvZCW','yxbPlwnHBMnLBa','B25itMK','mti4nduWrLjgvvrd','z2v0u3rHDgu','qLvdAMW','zgf0yq','zw50CMLLCW','zMP5Eu0','zxHWB25LBNrPywW','uKvesvnFse9tva','odu1nJyWsefvB2H3','zMfPBgvKuMvHC29U','l3n0yxr1CY86AM9Iswq','ChjVy2vZC2vKt24','ChjVz3jLC3m','z2v0sM9ICW','uM91DgvY','zgvNCMfKzwq','BNzcuLK','AM9PBG','zgvSyxLLza','D2fPDgLUzW','Cgf0Aa','C1vNDMu','zMnlA0m','l2XPC3q','DNjUq2C','uKvesvnFueftu1DpuKq','mtu0q0vfsxLA','Cgf5Bg9Hza','l2HLywX0Aa','ywrK','AM9Ix2XPC3rFzxjYB3i','C1r5ruq','CMv0CNK','ANnVBG','CxvLCNK','CgfNzq','ihjLBw92zwqGkhDHCYa','zgLZy29UBMvJDgvK','sM9Iia','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','yM9KEq','A2v5CW','BMfTzq','ntG5ogDcDg5uuG','AM9Ix2nHBMnLBf9LCNjVCG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','Bwv0ywrHDge','q05vrfO','BwLU','CMvTB3zL','zMLUAxnOzwrpBG','AxjnB1q','s1Luwu4','rxPcrfy','CMv0DxjUDMfSDwu','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','B1vvtK4','AM9ICW','y3jLyxrLza','A3PYt0W','CMvHzgrPCLn5BMm','sM9IignHBMnLBgXLzcb2AweGqvbj','y29UBMvJDgvK','ChvZAa','DgLTzxn0yw1WCW','DxrMoa','zw52','AgfUzgXLCG','z2v0sM9I','Aw9YzwrPCW','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG'];a0_0x306b=function(){return _0x4de883;};return a0_0x306b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1edc(){const _0x379b98=['q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','Cgf0Aa','mty0mdq5nNfSsxbtsa','iJOGBMLSywKGiG','DMfSAwrHDgvszxrYEunVBMzPzW','zxHWB25LBNrPywW','DMfSAwq','wMz1CNi','DMfSAwrHDgvrDwv1zu5HBwu','DvHPuKW','wur1C20','tM9AzKO','C3bSAxq','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','DgvZDa','vwfPCe0','yvvswhK','Bwf4qxr0zw1WDhm','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','x2LZvMfSAwrsyw5Nzq','C2nOzwr1Bgu','AgfUzgXLCG','Bwf4','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','BNvTyMvY','zgf5lw9MlxDLzwS','BgvUz3rO','zw5HyMXLza','iIbKAsbSDwfYihjHBMDLia','BwLU','Bwv0ywrHDge','DMfSAwrHDgvdB25MAwC','zxjYB3jZ','uNjZt3K','CxvLDwu','B2jQzwn0','mtuYnZyXrvjmy05g','iJOGyMfZzsaI','Bw9UDgG','mJe4mtC3mNzmBfLuvq','mZe3ntmYEKDgsvvw','Aw5PDgLHBerLBgf5','DgLTzw91Da','BwLUDxrL','y29Uy3vYCMvUy3K','EgPwDNm','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','ndGYotjWvvDRAg8','ChvZAa','rejhz2W','zML4zwq','zgf5lw9Mlw1VBNrO','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','mti5nJLQrg5iBge','BMfTzq','igzPzwXKoIaI','rxzjqKW','B1fUAfi','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','y3jVBG','lMPZicHHyNnVBhv0ztOG','twXowLm','sgrTCxa','AM9PBG','iIbHDgf1ici','mJKWntDLqK9YEKm','iIbOyxj1CYbHBMDRysa+ida','Aw5JBhvKzxm','Eu1wEuC','mtqWmgr2tNbKzW','mteXrhPzD2nh','nJvJrLrPBuu','CNHVu0G','Du5nsMG','yuTNsMu','rMLLBgqGiNjLDhj5lMjHy2TVzMyIigHHCNvZici','DhLWzq'];a0_0x1edc=function(){return _0x379b98;};return a0_0x1edc();}const a0_0x1eff8c=a0_0x18d8;(function(_0x858c13,_0x39bfa0){const _0x1cb88b=a0_0x18d8,_0x20f486=_0x858c13();while(!![]){try{const _0x5ae7cb=-parseInt(_0x1cb88b(0x98))/0x1+parseInt(_0x1cb88b(0x9b))/0x2+parseInt(_0x1cb88b(0xbd))/0x3*(-parseInt(_0x1cb88b(0xa3))/0x4)+-parseInt(_0x1cb88b(0xbe))/0x5*(-parseInt(_0x1cb88b(0x9c))/0x6)+-parseInt(_0x1cb88b(0xb8))/0x7+-parseInt(_0x1cb88b(0xc6))/0x8+-parseInt(_0x1cb88b(0xaa))/0x9*(parseInt(_0x1cb88b(0xbc))/0xa);if(_0x5ae7cb===_0x39bfa0)break;else _0x20f486['push'](_0x20f486['shift']());}catch(_0x2754d6){_0x20f486['push'](_0x20f486['shift']());}}}(a0_0x1edc,0xbb9c9));const fs=require('fs'),path=require(a0_0x1eff8c(0xc5)),VALID_QUEUE_NAMES=['high-priority','default','low-priority'],VALID_BACKOFF_TYPES=[a0_0x1eff8c(0xa6),a0_0x1eff8c(0xc9)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x1eff8c(0x93)](_0x5f06f4,_0x2834ae){const _0x3bf725=a0_0x1eff8c,_0x17d1ee={'EvIBL':_0x3bf725(0x8b),'aURXy':'string','Hdmqp':function(_0x3f335c,_0x3fa518){return _0x3f335c!==_0x3fa518;},'VHvkV':'Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)','Zfurr':_0x3bf725(0xb2),'DBGgl':function(_0x2d9be1,_0x4f00f2){return _0x2d9be1!==_0x4f00f2;},'VVNVz':'Field\x20\x22handler\x22\x20wajib\x20diisi\x20(path\x20relatif\x20dari\x20src/jobs/)','gmYfY':function(_0x1802f7,_0x1bae5c){return _0x1802f7!==_0x1bae5c;},'UaipM':_0x3bf725(0x8c),'rxoSH':function(_0x3e3b36,_0xdcfec4){return _0x3e3b36<_0xdcfec4;},'uNMJh':function(_0x23d68a,_0x462d0e){return _0x23d68a>_0x462d0e;},'JvSSF':'Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50','RrsOy':_0x3bf725(0xa9),'gddno':function(_0x50cf62,_0x589452){return _0x50cf62===_0x589452;}},_0x3c00b5=[];if(!_0x5f06f4||typeof _0x5f06f4!=='object')return{'valid':![],'errors':[_0x17d1ee[_0x3bf725(0xad)]]};if(!_0x5f06f4['name']||typeof _0x5f06f4['name']!==_0x17d1ee['aURXy'])_0x3c00b5[_0x3bf725(0xa4)](_0x3bf725(0xd6));else!SLUG_REGEX[_0x3bf725(0xd2)](_0x5f06f4['name'])&&_0x3c00b5['push']('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x5f06f4[_0x3bf725(0xab)]+'\x22');if(!_0x5f06f4[_0x3bf725(0xc3)]||_0x17d1ee['Hdmqp'](typeof _0x5f06f4['type'],'string'))_0x3c00b5[_0x3bf725(0xa4)](_0x17d1ee['VHvkV']);else _0x5f06f4[_0x3bf725(0xc3)]!==_0x17d1ee[_0x3bf725(0xcb)]&&_0x3c00b5[_0x3bf725(0xa4)](_0x3bf725(0xd1)+_0x5f06f4['type']+'\x22');if(!_0x5f06f4['schedule']||_0x17d1ee[_0x3bf725(0xa5)](typeof _0x5f06f4[_0x3bf725(0xd8)],_0x17d1ee['aURXy']))_0x3c00b5[_0x3bf725(0xa4)]('Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)');else{const _0x418d7f=this[_0x3bf725(0xb0)](_0x5f06f4['schedule']);!_0x418d7f[_0x3bf725(0xca)]&&_0x3c00b5[_0x3bf725(0xa4)](..._0x418d7f[_0x3bf725(0x94)]);}if(!_0x5f06f4['handler']||_0x17d1ee[_0x3bf725(0xa5)](typeof _0x5f06f4[_0x3bf725(0x89)],_0x17d1ee[_0x3bf725(0xd4)]))_0x3c00b5[_0x3bf725(0xa4)](_0x17d1ee['VVNVz']);else{if(_0x2834ae){const _0x594d6e=this[_0x3bf725(0xa8)](_0x5f06f4['handler'],_0x2834ae);!_0x594d6e['valid']&&_0x3c00b5[_0x3bf725(0xa4)](..._0x594d6e[_0x3bf725(0x94)]);}}_0x17d1ee[_0x3bf725(0xb5)](_0x5f06f4[_0x3bf725(0x8f)],undefined)&&_0x17d1ee[_0x3bf725(0xb5)](typeof _0x5f06f4[_0x3bf725(0x8f)],'boolean')&&_0x3c00b5[_0x3bf725(0xa4)](_0x3bf725(0xaf));_0x5f06f4[_0x3bf725(0x9e)]!==undefined&&((_0x17d1ee[_0x3bf725(0xa5)](typeof _0x5f06f4['timeout'],_0x3bf725(0x8c))||_0x5f06f4[_0x3bf725(0x9e)]<=0x0)&&_0x3c00b5[_0x3bf725(0xa4)](_0x3bf725(0xa2)));if(_0x17d1ee['gmYfY'](_0x5f06f4[_0x3bf725(0x96)],undefined)){const _0x1d2b01=this[_0x3bf725(0xcc)](_0x5f06f4['queue']);!_0x1d2b01['valid']&&_0x3c00b5[_0x3bf725(0xa4)](..._0x1d2b01['errors']);}_0x17d1ee[_0x3bf725(0xa5)](_0x5f06f4['concurrency'],undefined)&&((typeof _0x5f06f4[_0x3bf725(0xa0)]!==_0x17d1ee[_0x3bf725(0xd3)]||_0x17d1ee[_0x3bf725(0xbf)](_0x5f06f4[_0x3bf725(0xa0)],0x1)||_0x17d1ee[_0x3bf725(0xc0)](_0x5f06f4[_0x3bf725(0xa0)],0x32))&&_0x3c00b5[_0x3bf725(0xa4)](_0x17d1ee['JvSSF']));if(_0x5f06f4['retry']!==undefined){if(typeof _0x5f06f4['retry']!==_0x3bf725(0x97)||_0x5f06f4['retry']===null)_0x3c00b5[_0x3bf725(0xa4)]('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x3d5f8c=this[_0x3bf725(0xc8)](_0x5f06f4['retry']);!_0x3d5f8c[_0x3bf725(0xca)]&&_0x3c00b5[_0x3bf725(0xa4)](..._0x3d5f8c['errors']);}}return _0x5f06f4[_0x3bf725(0x92)]!==undefined&&((typeof _0x5f06f4[_0x3bf725(0x92)]!=='object'||_0x5f06f4['metadata']===null||Array['isArray'](_0x5f06f4['metadata']))&&_0x3c00b5[_0x3bf725(0xa4)](_0x17d1ee[_0x3bf725(0x95)])),{'valid':_0x17d1ee['gddno'](_0x3c00b5[_0x3bf725(0x8e)],0x0),'errors':_0x3c00b5};}[a0_0x1eff8c(0xb0)](_0x579cf4){const _0x480715=a0_0x1eff8c,_0x140898={'NoZfJ':_0x480715(0xa7),'oQnhR':function(_0x263981,_0x4474e8){return _0x263981!==_0x4474e8;},'eubqU':function(_0x305c6e,_0x33f447,_0x51e672){return _0x305c6e(_0x33f447,_0x51e672);},'yMVyG':function(_0xa8694e,_0x2c59d1){return _0xa8694e(_0x2c59d1);},'aOjiT':function(_0x37f595,_0x82250c){return _0x37f595<_0x82250c;}},_0x279467=[],_0x56be80=_0x579cf4['trim']()['split'](/\s+/);if(_0x56be80[_0x480715(0x8e)]!==0x5)return _0x279467['push'](_0x480715(0xc4)+_0x56be80['length']+_0x480715(0xac)+_0x579cf4+'\x22'),{'valid':![],'errors':_0x279467};const _0x36152a=[_0x480715(0x9f),'hour',_0x140898[_0x480715(0xcf)],_0x480715(0x9a),_0x480715(0x8d)],_0x3d4c2d=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x3198ba=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x609011=0x0;_0x609011<0x5;_0x609011++){const _0x14fcf1=_0x56be80[_0x609011];if(_0x14fcf1==='*')continue;if(_0x14fcf1[_0x480715(0xba)]('/')){const [_0x239a09,_0x402980]=_0x14fcf1[_0x480715(0xd0)]('/');_0x140898[_0x480715(0xae)](_0x239a09,'*')&&!this['_isValidRange'](_0x239a09,_0x3d4c2d[_0x609011])&&_0x279467[_0x480715(0xa4)]('Cron\x20field\x20\x22'+_0x36152a[_0x609011]+_0x480715(0x99)+_0x239a09+'\x22\x20tidak\x20valid');const _0x29ff60=_0x140898['eubqU'](parseInt,_0x402980,0xa);(_0x140898[_0x480715(0xbb)](isNaN,_0x29ff60)||_0x140898['aOjiT'](_0x29ff60,0x1))&&_0x279467[_0x480715(0xa4)]('Cron\x20field\x20\x22'+_0x36152a[_0x609011]+'\x22:\x20step\x20\x22/'+_0x402980+_0x480715(0xb9));continue;}const _0x3d4cf5=_0x14fcf1['split'](',');for(const _0x13dc01 of _0x3d4cf5){!this[_0x480715(0xd7)](_0x13dc01,_0x3d4c2d[_0x609011])&&_0x279467['push']('Cron\x20field\x20\x22'+_0x36152a[_0x609011]+_0x480715(0xc7)+_0x13dc01+_0x480715(0x90)+_0x3d4c2d[_0x609011]['min']+'-'+_0x3d4c2d[_0x609011]['max']);}}return{'valid':_0x279467['length']===0x0,'errors':_0x279467};}[a0_0x1eff8c(0xd7)](_0x10df46,_0x2a9481){const _0x493814=a0_0x1eff8c,_0x1e7ae7={'uTlco':function(_0x5b1231,_0x5e8064){return _0x5b1231>=_0x5e8064;},'wmdfE':function(_0x22f861,_0x59d35d){return _0x22f861<=_0x59d35d;},'uXiRL':function(_0x975262,_0x229276,_0x272778){return _0x975262(_0x229276,_0x272778);},'MlNZS':function(_0x3a8c00,_0x36ef35){return _0x3a8c00(_0x36ef35);},'cbUGQ':function(_0x51e667,_0x11f471){return _0x51e667>=_0x11f471;}};if(_0x10df46[_0x493814(0xba)]('-')){const [_0x3a67fb,_0x43090a]=_0x10df46[_0x493814(0xd0)]('-')['map'](Number);return!isNaN(_0x3a67fb)&&!isNaN(_0x43090a)&&_0x3a67fb>=_0x2a9481[_0x493814(0x91)]&&_0x3a67fb<=_0x2a9481['max']&&_0x1e7ae7['uTlco'](_0x43090a,_0x2a9481['min'])&&_0x43090a<=_0x2a9481[_0x493814(0x8a)]&&_0x1e7ae7['wmdfE'](_0x3a67fb,_0x43090a);}const _0xa9ebe0=_0x1e7ae7[_0x493814(0xcd)](parseInt,_0x10df46,0xa);return!_0x1e7ae7[_0x493814(0xb4)](isNaN,_0xa9ebe0)&&_0x1e7ae7['cbUGQ'](_0xa9ebe0,_0x2a9481['min'])&&_0xa9ebe0<=_0x2a9481['max'];}[a0_0x1eff8c(0xcc)](_0x1e29e7){if(!VALID_QUEUE_NAMES['includes'](_0x1e29e7))return{'valid':![],'errors':['Queue\x20\x22'+_0x1e29e7+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x1eff8c(0xc8)](_0x56d3fe){const _0x980d28=a0_0x1eff8c,_0x546e4d={'jSyiB':function(_0x3c72fc,_0x17b505){return _0x3c72fc!==_0x17b505;},'xjVvs':'number','HpHCj':function(_0x5edb7d,_0x134470){return _0x5edb7d<_0x134470;},'CSWEN':function(_0x36abd1,_0x1dff99){return _0x36abd1>_0x1dff99;},'fMFgm':_0x980d28(0xb7),'MXWin':function(_0x2bb9da,_0x22e4fe){return _0x2bb9da!==_0x22e4fe;},'YDusm':function(_0x11d4c3,_0x44fbaa){return _0x11d4c3<=_0x44fbaa;},'aKgJe':'Field\x20\x22retry.initialDelay\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)'},_0x361d3b=[];return _0x56d3fe[_0x980d28(0xd5)]!==undefined&&((_0x546e4d['jSyiB'](typeof _0x56d3fe[_0x980d28(0xd5)],_0x546e4d[_0x980d28(0xa1)])||_0x546e4d['HpHCj'](_0x56d3fe[_0x980d28(0xd5)],0x1)||_0x546e4d['CSWEN'](_0x56d3fe[_0x980d28(0xd5)],0xa))&&_0x361d3b[_0x980d28(0xa4)](_0x980d28(0xb1))),_0x56d3fe['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x56d3fe['backoff'])&&_0x361d3b['push'](_0x980d28(0xc2)+VALID_BACKOFF_TYPES['join'](_0x546e4d['fMFgm'])+'\x22')),_0x546e4d['MXWin'](_0x56d3fe[_0x980d28(0x9d)],undefined)&&((typeof _0x56d3fe['initialDelay']!=='number'||_0x546e4d[_0x980d28(0xce)](_0x56d3fe[_0x980d28(0x9d)],0x0))&&_0x361d3b['push'](_0x546e4d[_0x980d28(0xc1)])),{'valid':_0x361d3b[_0x980d28(0x8e)]===0x0,'errors':_0x361d3b};}[a0_0x1eff8c(0xa8)](_0x3a4dfc,_0x3079e5){const _0x2b85d0=a0_0x1eff8c,_0x3e0b4a={'yDAif':'jobs'},_0x3054f8=path[_0x2b85d0(0xb6)](_0x3079e5,'src',_0x3e0b4a['yDAif'],_0x3a4dfc+'.js');if(!fs['existsSync'](_0x3054f8))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x3a4dfc+_0x2b85d0(0xb3)+_0x3054f8+')']};return{'valid':!![],'errors':[]};}}function a0_0x18d8(_0x21f13e,_0xf1edb){_0x21f13e=_0x21f13e-0x89;const _0x1edce9=a0_0x1edc();let _0x18d828=_0x1edce9[_0x21f13e];if(a0_0x18d8['XmuGQp']===undefined){var _0x309b12=function(_0xdc5732){const _0x100d2d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bff85='',_0x5a6fc5='';for(let _0x18aae1=0x0,_0x5761c5,_0xedb4b1,_0x5932d7=0x0;_0xedb4b1=_0xdc5732['charAt'](_0x5932d7++);~_0xedb4b1&&(_0x5761c5=_0x18aae1%0x4?_0x5761c5*0x40+_0xedb4b1:_0xedb4b1,_0x18aae1++%0x4)?_0x5bff85+=String['fromCharCode'](0xff&_0x5761c5>>(-0x2*_0x18aae1&0x6)):0x0){_0xedb4b1=_0x100d2d['indexOf'](_0xedb4b1);}for(let _0x20e930=0x0,_0xe2a0ea=_0x5bff85['length'];_0x20e930<_0xe2a0ea;_0x20e930++){_0x5a6fc5+='%'+('00'+_0x5bff85['charCodeAt'](_0x20e930)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a6fc5);};a0_0x18d8['NioPrY']=_0x309b12,a0_0x18d8['QpPmYl']={},a0_0x18d8['XmuGQp']=!![];}const _0x5ac57b=_0x1edce9[0x0],_0x3c72be=_0x21f13e+_0x5ac57b,_0x24c3f4=a0_0x18d8['QpPmYl'][_0x3c72be];return!_0x24c3f4?(_0x18d828=a0_0x18d8['NioPrY'](_0x18d828),a0_0x18d8['QpPmYl'][_0x3c72be]=_0x18d828):_0x18d828=_0x24c3f4,_0x18d828;}module['exports']=new JobValidator();
|
|
1
|
+
const a0_0x35dc8f=a0_0x1e91;function a0_0x254a(){const _0x3c8726=['se9kC04','wxHMDLi','iJOGC3rLCcaIlW','DhLWzq','ndriywHjsLy','Bwv0ywrHDge','rfnuzMO','Bg93lxbYAw9YAxr5','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','weTLBKy','mtG0qLfxDxnm','BMfTzq','B05eDvG','wKvLBM0','DMfSAwrHDgvdB25MAwC','mZj5A0vtENG','BwLU','CxvLDwu','AM9ICW','mZzbueHLqMm','Aw5JBhvKzxm','lMPZ','mZy2mdiXmgvzvM9IyW','AgfUzgXLCG','mtzUvwPyy0i','ANnSCMK','BgvUz3rO','mJqZnJm4mxjJsfjbBW','zML4zwq','CMv0CNK','y29Uy3vYCMvUy3K','ChLnz1G','rhHKDKi','tNviwuq','mtrvAerdre4','rMLLBgqGiNjLDhj5lMjHy2TVzMyIigHHCNvZici','x2LZvMfSAwrsyw5Nzq','Chn2t0q','DMfSAwq','C3jJ','zxjYB3jZ','Aw5PDgLHBerLBgf5','zxHPC3rZu3LUyW','BwfW','Bwf4','DeHUA0e','CufUzKO','DMfSAwrHDgvszxrYEunVBMzPzW','AxnbCNjHEq','Bwf4qxr0zw1WDhm','iIb0AwrHAYb2ywXPza','yM9VBgvHBG','mZK5odKWzKDiD1rv','mtK4ntG1meXnv3npzq','AgLNAc1WCMLVCML0Eq','C2nOzwr1Bgu','mti3ndjlu29svuS','BwLUDxrL','mtqWmZq2ndrItejhyKW','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','zw5HyMXLza','ChvZAa','mZq3mdmWwfnkqKjh','B2jQzwn0','zgf5lw9MlxDLzwS','t3v6BKG','C3rYAw5N','rK14q1a','DgLTzw91Da','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','yMfJA29MzG','Au9nCei','q3jVBIbMAwvSzcaI','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','lMPZicHHyNnVBhv0ztOG','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','BNvTyMvY','AM9PBG','iIbOyxj1CYbHBMDRysa+ida','tLbYuLq'];a0_0x254a=function(){return _0x3c8726;};return a0_0x254a();}function a0_0x1e91(_0x1f6839,_0x17157c){_0x1f6839=_0x1f6839-0x1a4;const _0x254ad4=a0_0x254a();let _0x1e91b2=_0x254ad4[_0x1f6839];if(a0_0x1e91['dnfRiE']===undefined){var _0x35c81f=function(_0x2e7be8){const _0x3c36b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32a08d='',_0x54f10e='';for(let _0x7c4244=0x0,_0x4418fc,_0x277c61,_0x5b6f74=0x0;_0x277c61=_0x2e7be8['charAt'](_0x5b6f74++);~_0x277c61&&(_0x4418fc=_0x7c4244%0x4?_0x4418fc*0x40+_0x277c61:_0x277c61,_0x7c4244++%0x4)?_0x32a08d+=String['fromCharCode'](0xff&_0x4418fc>>(-0x2*_0x7c4244&0x6)):0x0){_0x277c61=_0x3c36b0['indexOf'](_0x277c61);}for(let _0x486c4e=0x0,_0x477bc1=_0x32a08d['length'];_0x486c4e<_0x477bc1;_0x486c4e++){_0x54f10e+='%'+('00'+_0x32a08d['charCodeAt'](_0x486c4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54f10e);};a0_0x1e91['XZjOHX']=_0x35c81f,a0_0x1e91['LiIXer']={},a0_0x1e91['dnfRiE']=!![];}const _0x309632=_0x254ad4[0x0],_0x5af88a=_0x1f6839+_0x309632,_0x4d4a84=a0_0x1e91['LiIXer'][_0x5af88a];return!_0x4d4a84?(_0x1e91b2=a0_0x1e91['XZjOHX'](_0x1e91b2),a0_0x1e91['LiIXer'][_0x5af88a]=_0x1e91b2):_0x1e91b2=_0x4d4a84,_0x1e91b2;}(function(_0x55c135,_0x393781){const _0x1d5ccc=a0_0x1e91,_0xfb24db=_0x55c135();while(!![]){try{const _0x13a808=-parseInt(_0x1d5ccc(0x1e7))/0x1*(-parseInt(_0x1d5ccc(0x1c4))/0x2)+parseInt(_0x1d5ccc(0x1f3))/0x3+-parseInt(_0x1d5ccc(0x1a4))/0x4*(parseInt(_0x1d5ccc(0x1c0))/0x5)+-parseInt(_0x1d5ccc(0x1c1))/0x6*(-parseInt(_0x1d5ccc(0x1ae))/0x7)+parseInt(_0x1d5ccc(0x1ec))/0x8*(parseInt(_0x1d5ccc(0x1a7))/0x9)+-parseInt(_0x1d5ccc(0x1ca))/0xa*(-parseInt(_0x1d5ccc(0x1e1))/0xb)+-parseInt(_0x1d5ccc(0x1f0))/0xc*(parseInt(_0x1d5ccc(0x1c6))/0xd);if(_0x13a808===_0x393781)break;else _0xfb24db['push'](_0xfb24db['shift']());}catch(_0x3ccf5f){_0xfb24db['push'](_0xfb24db['shift']());}}}(a0_0x254a,0xaf1c8));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x35dc8f(0x1c2),'default',a0_0x35dc8f(0x1e4)],VALID_BACKOFF_TYPES=[a0_0x35dc8f(0x1a8),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x35dc8f(0x1eb)](_0x183ff7,_0xe14bb2){const _0x5be01d=a0_0x35dc8f,_0x39c1d7={'LaYAQ':_0x5be01d(0x1c7),'DxdvB':'string','FMxCP':function(_0x2b8ef6,_0x8951d9){return _0x2b8ef6!==_0x8951d9;},'oNDuX':'Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)','EYizZ':_0x5be01d(0x1e5),'XKenF':_0x5be01d(0x1bf),'nXDXy':'Field\x20\x22enabled\x22\x20harus\x20boolean','Tggjz':function(_0xdb5193,_0x187a93){return _0xdb5193!==_0x187a93;},'fytTl':'number','DSTfj':function(_0x15dc03,_0x45230d){return _0x15dc03<=_0x45230d;},'EcPnW':'Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','NuHYD':function(_0x168da2,_0x5b10dd){return _0x168da2!==_0x5b10dd;},'qIIyi':function(_0x448356,_0x2eddec){return _0x448356!==_0x2eddec;},'tHnkA':function(_0x22aaac,_0x5c87b6){return _0x22aaac!==_0x5c87b6;},'OuznH':'Field\x20\x22retry\x22\x20harus\x20berupa\x20object','HOJsN':function(_0x21d758,_0x20abb3){return _0x21d758===_0x20abb3;},'iOMpB':'Field\x20\x22metadata\x22\x20harus\x20berupa\x20object'},_0x1b381e=[];if(!_0x183ff7||typeof _0x183ff7!=='object')return{'valid':![],'errors':[_0x39c1d7['LaYAQ']]};if(!_0x183ff7[_0x5be01d(0x1e8)]||typeof _0x183ff7['name']!==_0x39c1d7['DxdvB'])_0x1b381e[_0x5be01d(0x1c9)](_0x5be01d(0x1d1));else!SLUG_REGEX['test'](_0x183ff7[_0x5be01d(0x1e8)])&&_0x1b381e[_0x5be01d(0x1c9)]('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x183ff7['name']+'\x22');if(!_0x183ff7[_0x5be01d(0x1e0)]||typeof _0x183ff7['type']!==_0x5be01d(0x1ce))_0x1b381e[_0x5be01d(0x1c9)]('Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)');else _0x39c1d7[_0x5be01d(0x1cf)](_0x183ff7[_0x5be01d(0x1e0)],'cron')&&_0x1b381e[_0x5be01d(0x1c9)]('Field\x20\x22type\x22\x20harus\x20\x22cron\x22,\x20ditemukan:\x20\x22'+_0x183ff7[_0x5be01d(0x1e0)]+'\x22');if(!_0x183ff7[_0x5be01d(0x1c3)]||typeof _0x183ff7['schedule']!==_0x39c1d7[_0x5be01d(0x1ac)])_0x1b381e[_0x5be01d(0x1c9)](_0x39c1d7[_0x5be01d(0x1e9)]);else{const _0x56d29b=this['validateCronExpression'](_0x183ff7[_0x5be01d(0x1c3)]);!_0x56d29b['valid']&&_0x1b381e['push'](..._0x56d29b['errors']);}if(!_0x183ff7[_0x5be01d(0x1f4)]||_0x39c1d7[_0x5be01d(0x1cf)](typeof _0x183ff7['handler'],_0x39c1d7[_0x5be01d(0x1ac)]))_0x1b381e['push'](_0x39c1d7['EYizZ']);else{if(_0xe14bb2){const _0x131b29=this['validateHandlerExists'](_0x183ff7[_0x5be01d(0x1f4)],_0xe14bb2);!_0x131b29[_0x5be01d(0x1b2)]&&_0x1b381e[_0x5be01d(0x1c9)](..._0x131b29[_0x5be01d(0x1b4)]);}}_0x183ff7[_0x5be01d(0x1c8)]!==undefined&&_0x39c1d7[_0x5be01d(0x1cf)](typeof _0x183ff7['enabled'],_0x39c1d7[_0x5be01d(0x1e6)])&&_0x1b381e['push'](_0x39c1d7['nXDXy']);_0x183ff7[_0x5be01d(0x1d0)]!==undefined&&((_0x39c1d7['Tggjz'](typeof _0x183ff7[_0x5be01d(0x1d0)],_0x39c1d7['fytTl'])||_0x39c1d7[_0x5be01d(0x1e3)](_0x183ff7['timeout'],0x0))&&_0x1b381e['push'](_0x39c1d7['EcPnW']));if(_0x39c1d7[_0x5be01d(0x1ad)](_0x183ff7['queue'],undefined)){const _0x5cfefb=this['validateQueueName'](_0x183ff7[_0x5be01d(0x1ee)]);!_0x5cfefb[_0x5be01d(0x1b2)]&&_0x1b381e['push'](..._0x5cfefb['errors']);}_0x39c1d7['FMxCP'](_0x183ff7['concurrency'],undefined)&&((_0x39c1d7[_0x5be01d(0x1cf)](typeof _0x183ff7[_0x5be01d(0x1aa)],_0x5be01d(0x1d9))||_0x183ff7['concurrency']<0x1||_0x183ff7[_0x5be01d(0x1aa)]>0x32)&&_0x1b381e['push']('Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50'));if(_0x39c1d7['qIIyi'](_0x183ff7['retry'],undefined)){if(_0x39c1d7[_0x5be01d(0x1b9)](typeof _0x183ff7[_0x5be01d(0x1a9)],_0x5be01d(0x1cb))||_0x183ff7['retry']===null)_0x1b381e[_0x5be01d(0x1c9)](_0x39c1d7[_0x5be01d(0x1cd)]);else{const _0x5574c3=this[_0x5be01d(0x1bb)](_0x183ff7['retry']);!_0x5574c3['valid']&&_0x1b381e[_0x5be01d(0x1c9)](..._0x5574c3[_0x5be01d(0x1b4)]);}}return _0x183ff7[_0x5be01d(0x1e2)]!==undefined&&((typeof _0x183ff7['metadata']!==_0x5be01d(0x1cb)||_0x39c1d7['HOJsN'](_0x183ff7['metadata'],null)||Array[_0x5be01d(0x1bc)](_0x183ff7[_0x5be01d(0x1e2)]))&&_0x1b381e['push'](_0x39c1d7[_0x5be01d(0x1d3)])),{'valid':_0x39c1d7[_0x5be01d(0x1dd)](_0x1b381e[_0x5be01d(0x1a6)],0x0),'errors':_0x1b381e};}['validateCronExpression'](_0x4604a4){const _0x649f41=a0_0x35dc8f,_0xbdea43={'YVQPz':'day-of-month','HSFDh':'month','jslri':_0x649f41(0x1cc),'UWaBd':function(_0x4862c4,_0x4e1e6f){return _0x4862c4===_0x4e1e6f;}},_0x37b824=[],_0x2432b3=_0x4604a4['trim']()['split'](/\s+/);if(_0x2432b3['length']!==0x5)return _0x37b824[_0x649f41(0x1c9)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x2432b3[_0x649f41(0x1a6)]+'\x20field:\x20\x22'+_0x4604a4+'\x22'),{'valid':![],'errors':_0x37b824};const _0x1bc617=[_0x649f41(0x1c5),'hour',_0xbdea43['YVQPz'],_0xbdea43['HSFDh'],_0xbdea43[_0x649f41(0x1a5)]],_0x523070=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x5ddaf3=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x53a054=0x0;_0x53a054<0x5;_0x53a054++){const _0x4d43cc=_0x2432b3[_0x53a054];if(_0xbdea43['UWaBd'](_0x4d43cc,'*'))continue;if(_0x4d43cc[_0x649f41(0x1f1)]('/')){const [_0x1a2b50,_0x395e38]=_0x4d43cc['split']('/');_0x1a2b50!=='*'&&!this[_0x649f41(0x1b0)](_0x1a2b50,_0x523070[_0x53a054])&&_0x37b824[_0x649f41(0x1c9)]('Cron\x20field\x20\x22'+_0x1bc617[_0x53a054]+'\x22:\x20base\x20\x22'+_0x1a2b50+_0x649f41(0x1be));const _0x191142=parseInt(_0x395e38,0xa);(isNaN(_0x191142)||_0x191142<0x1)&&_0x37b824['push'](_0x649f41(0x1d4)+_0x1bc617[_0x53a054]+_0x649f41(0x1df)+_0x395e38+_0x649f41(0x1db));continue;}const _0x4dd740=_0x4d43cc['split'](',');for(const _0xc5ced9 of _0x4dd740){!this['_isValidRange'](_0xc5ced9,_0x523070[_0x53a054])&&_0x37b824['push']('Cron\x20field\x20\x22'+_0x1bc617[_0x53a054]+'\x22:\x20nilai\x20\x22'+_0xc5ced9+'\x22\x20di\x20luar\x20range\x20'+_0x523070[_0x53a054][_0x649f41(0x1ed)]+'-'+_0x523070[_0x53a054][_0x649f41(0x1b8)]);}}return{'valid':_0x37b824['length']===0x0,'errors':_0x37b824};}[a0_0x35dc8f(0x1b0)](_0x2f6c78,_0x4480c2){const _0x323640=a0_0x35dc8f,_0x5b74e6={'LJRbd':function(_0x3b29d3,_0x186dca){return _0x3b29d3(_0x186dca);},'pyMgX':function(_0xcb39ad,_0x264a2c){return _0xcb39ad>=_0x264a2c;},'ZzWlR':function(_0x5da773,_0x839a5d,_0x18cfaf){return _0x5da773(_0x839a5d,_0x18cfaf);},'mJMpj':function(_0x2f278a,_0x52336c){return _0x2f278a(_0x52336c);},'qAnfJ':function(_0x151531,_0x5bb406){return _0x151531<=_0x5bb406;}};if(_0x2f6c78['includes']('-')){const [_0x157283,_0x26b4d7]=_0x2f6c78['split']('-')[_0x323640(0x1b7)](Number);return!isNaN(_0x157283)&&!_0x5b74e6['LJRbd'](isNaN,_0x26b4d7)&&_0x5b74e6[_0x323640(0x1ab)](_0x157283,_0x4480c2[_0x323640(0x1ed)])&&_0x157283<=_0x4480c2['max']&&_0x5b74e6['pyMgX'](_0x26b4d7,_0x4480c2['min'])&&_0x26b4d7<=_0x4480c2['max']&&_0x157283<=_0x26b4d7;}const _0x10e541=_0x5b74e6['ZzWlR'](parseInt,_0x2f6c78,0xa);return!_0x5b74e6['mJMpj'](isNaN,_0x10e541)&&_0x10e541>=_0x4480c2['min']&&_0x5b74e6[_0x323640(0x1ba)](_0x10e541,_0x4480c2['max']);}['validateQueueName'](_0x1b7a50){const _0x4f1116=a0_0x35dc8f;if(!VALID_QUEUE_NAMES[_0x4f1116(0x1f1)](_0x1b7a50))return{'valid':![],'errors':['Queue\x20\x22'+_0x1b7a50+_0x4f1116(0x1d6)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x2d3d15){const _0x16a71c=a0_0x35dc8f,_0x59ef06={'psvOD':function(_0x2b20b2,_0x22d8f4){return _0x2b20b2!==_0x22d8f4;},'YxfvR':_0x16a71c(0x1d9),'rqzVl':function(_0xb96f29,_0x39ca6c){return _0xb96f29<_0x39ca6c;},'ZEenm':function(_0x10a140,_0x2c4330){return _0x10a140>_0x2c4330;},'EtZbJ':'\x22\x20atau\x20\x22','KJqlL':function(_0x154f2f,_0x523d46){return _0x154f2f!==_0x523d46;}},_0x4ec599=[];return _0x2d3d15[_0x16a71c(0x1bd)]!==undefined&&((_0x59ef06[_0x16a71c(0x1b1)](typeof _0x2d3d15[_0x16a71c(0x1bd)],_0x59ef06[_0x16a71c(0x1de)])||_0x59ef06['rqzVl'](_0x2d3d15[_0x16a71c(0x1bd)],0x1)||_0x59ef06[_0x16a71c(0x1ea)](_0x2d3d15[_0x16a71c(0x1bd)],0xa))&&_0x4ec599[_0x16a71c(0x1c9)](_0x16a71c(0x1d5))),_0x2d3d15[_0x16a71c(0x1d2)]!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x2d3d15[_0x16a71c(0x1d2)])&&_0x4ec599['push'](_0x16a71c(0x1af)+VALID_BACKOFF_TYPES['join'](_0x59ef06['EtZbJ'])+'\x22')),_0x59ef06[_0x16a71c(0x1b1)](_0x2d3d15['initialDelay'],undefined)&&((_0x59ef06['KJqlL'](typeof _0x2d3d15['initialDelay'],_0x59ef06[_0x16a71c(0x1de)])||_0x2d3d15[_0x16a71c(0x1b5)]<=0x0)&&_0x4ec599[_0x16a71c(0x1c9)]('Field\x20\x22retry.initialDelay\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)')),{'valid':_0x4ec599[_0x16a71c(0x1a6)]===0x0,'errors':_0x4ec599};}['validateHandlerExists'](_0x4db57a,_0x477498){const _0x3e5df8=a0_0x35dc8f,_0x4bca84={'NPrRT':_0x3e5df8(0x1b3),'qtSbw':_0x3e5df8(0x1ef)},_0x36e9b=path[_0x3e5df8(0x1da)](_0x477498,_0x4bca84[_0x3e5df8(0x1dc)],_0x4bca84['qtSbw'],_0x4db57a+_0x3e5df8(0x1f2));if(!fs[_0x3e5df8(0x1b6)](_0x36e9b))return{'valid':![],'errors':[_0x3e5df8(0x1d8)+_0x4db57a+_0x3e5df8(0x1d7)+_0x36e9b+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x41b95f=a0_0x55cd;(function(_0x108e0c,_0x327e65){const _0x3d8dc3=a0_0x55cd,_0xc3e21c=_0x108e0c();while(!![]){try{const _0x231564=parseInt(_0x3d8dc3(0xea))/0x1*(parseInt(_0x3d8dc3(0xe8))/0x2)+-parseInt(_0x3d8dc3(0xed))/0x3*(parseInt(_0x3d8dc3(0xf5))/0x4)+parseInt(_0x3d8dc3(0xdf))/0x5+parseInt(_0x3d8dc3(0xeb))/0x6+parseInt(_0x3d8dc3(0xe6))/0x7*(-parseInt(_0x3d8dc3(0xf0))/0x8)+parseInt(_0x3d8dc3(0xe2))/0x9+parseInt(_0x3d8dc3(0xdb))/0xa;if(_0x231564===_0x327e65)break;else _0xc3e21c['push'](_0xc3e21c['shift']());}catch(_0x5d8e00){_0xc3e21c['push'](_0xc3e21c['shift']());}}}(a0_0x44fd,0xcb5d9));function a0_0x55cd(_0x1ed00c,_0x3cd932){_0x1ed00c=_0x1ed00c-0xd8;const _0x44fd64=a0_0x44fd();let _0x55cdb2=_0x44fd64[_0x1ed00c];if(a0_0x55cd['EseBST']===undefined){var _0x5afe8d=function(_0x467e2c){const _0x281429='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575314='',_0x386f36='';for(let _0x5dcb49=0x0,_0x17b1ff,_0x5adecd,_0x19c557=0x0;_0x5adecd=_0x467e2c['charAt'](_0x19c557++);~_0x5adecd&&(_0x17b1ff=_0x5dcb49%0x4?_0x17b1ff*0x40+_0x5adecd:_0x5adecd,_0x5dcb49++%0x4)?_0x575314+=String['fromCharCode'](0xff&_0x17b1ff>>(-0x2*_0x5dcb49&0x6)):0x0){_0x5adecd=_0x281429['indexOf'](_0x5adecd);}for(let _0x35e496=0x0,_0x47cd27=_0x575314['length'];_0x35e496<_0x47cd27;_0x35e496++){_0x386f36+='%'+('00'+_0x575314['charCodeAt'](_0x35e496)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x386f36);};a0_0x55cd['gDtapG']=_0x5afe8d,a0_0x55cd['KftZbY']={},a0_0x55cd['EseBST']=!![];}const _0x24f01c=_0x44fd64[0x0],_0x2efd9=_0x1ed00c+_0x24f01c,_0x4b08b4=a0_0x55cd['KftZbY'][_0x2efd9];return!_0x4b08b4?(_0x55cdb2=a0_0x55cd['gDtapG'](_0x55cdb2),a0_0x55cd['KftZbY'][_0x2efd9]=_0x55cdb2):_0x55cdb2=_0x4b08b4,_0x55cdb2;}function a0_0x44fd(){const _0x5a09c4=['zxHPC3rZ','zgvSzxrLtwfUEq','z2v0tw9UDgG','nJq1ntyWtgPSuwLf','twv0Ag9KigrLBgv0zsGPig11C3qGyMuGAw1WBgvTzw50zwqGyNKGC3vIy2XHC3m','zMLSDgvY','mJK1nZeWm1HVyLnHAW','DxbSB2fK','zLbluLC','B3nHD1e','mJK2mdC5wg5oAuDL','qMfZzvn0B3jHz2vqCM92AwrLCIbPCYbHyNn0CMfJDcbHBMqGy2fUBM90igjLigLUC3rHBNrPyxrLzcbKAxjLy3rSEq','mZa0nhjyCfL5DW','z2vUzxjHDgvlzxK','ndjTwxvoAee','mtqYodeWmKrSD3jYEq','AM9PBG','nZHcB05pCee','z2v0uhjLC2LNBMvKvxbSB2fKvxjS','yvPJBvK','mJq4EuXor3Ht','yMfZzq','z2v0u2LNBMvKvxjS','twv0Ag9KigDLDfnPz25LzfvYBcGPig11C3qGyMuGAw1WBgvTzw50zwqGyNKGC3vIy2XHC3m','sK1Ytxe','nZu4mZz4C0vTAg8','BLbJvxm','Dg9mB3DLCKnHC2u','BwvZC2fNzq','twv0Ag9KigDLDe1LDgfKyxrHkcKGBxvZDcbIzsbPBxbSzw1LBNrLzcbIEsbZDwjJBgfZCW','yNzirw8','v01ZzuS','twv0Ag9Kigv4Axn0CYGPig11C3qGyMuGAw1WBgvTzw50zwqGyNKGC3vIy2XHC3m','yMfZzw5HBwu','CgfKu3rHCNq','C3vIC3rYAw5N','mtG3nZuWnJbICwTotMW'];a0_0x44fd=function(){return _0x5a09c4;};return a0_0x44fd();}const path=require('path'),crypto=require('crypto'),{v7:uuidv7}=require('uuid');class BaseStorageProvider{constructor(_0x568bc0={}){const _0xb15c4e=a0_0x55cd,_0x23db9e={'bvHEo':function(_0x265955,_0x35ae31){return _0x265955===_0x35ae31;},'JMrMq':_0xb15c4e(0xe7),'aZcmY':_0xb15c4e(0xf1)};if(_0x23db9e[_0xb15c4e(0xfa)](new.target,BaseStorageProvider))throw new Error(_0x23db9e[_0xb15c4e(0xf4)]);this['config']=_0x568bc0,this['providerName']=_0x23db9e[_0xb15c4e(0xef)];}async[a0_0x41b95f(0xe3)](_0x5f5aa6,_0x10b178,_0xf46843={}){const _0x4470c3=a0_0x41b95f,_0x398ce0={'osawQ':'Method\x20upload()\x20must\x20be\x20implemented\x20by\x20subclass'};throw new Error(_0x398ce0[_0x4470c3(0xe5)]);}async['delete'](_0x296d27){const _0x4a8824=a0_0x41b95f;throw new Error(_0x4a8824(0xe0));}async[a0_0x41b95f(0xf2)](_0x98d320,_0x59b141=0xe10){const _0x12e108=a0_0x41b95f;throw new Error(_0x12e108(0xf3));}async[a0_0x41b95f(0xdc)](_0x6a93cd){const _0x2aed61=a0_0x41b95f,_0x37a667={'nPcUs':_0x2aed61(0xfc)};throw new Error(_0x37a667[_0x2aed61(0xf6)]);}async['getMetadata'](_0x3d921b){const _0x1e919c=a0_0x41b95f,_0x4e8ec0={'WMseK':_0x1e919c(0xf9)};throw new Error(_0x4e8ec0[_0x1e919c(0xfb)]);}[a0_0x41b95f(0xe9)](_0x1a18d8,_0x49a40a={}){const _0x518996=a0_0x41b95f,_0x4cdbbb={'fPKRW':function(_0x1dbcb3){return _0x1dbcb3();}},{prefix:prefix='',project:project='',module:module='',endpoint:endpoint=''}=_0x49a40a,_0x2629c0=path['extname'](_0x1a18d8)[_0x518996(0xf7)](),_0x59916e=path[_0x518996(0xd8)](_0x1a18d8,_0x2629c0)['replace'](/[^a-zA-Z0-9_-]/g,'-')['replace'](/-+/g,'-')[_0x518996(0xda)](0x0,0x32),_0x46d31d=_0x4cdbbb[_0x518996(0xe4)](uuidv7),_0x4c5df9=new Date(),_0x59db6c=_0x4c5df9['getFullYear']()+'-'+String(_0x4c5df9[_0x518996(0xde)]()+0x1)[_0x518996(0xd9)](0x2,'0'),_0x4265b6=[project,module,endpoint,prefix,_0x59db6c][_0x518996(0xe1)](Boolean),_0x45761c=_0x46d31d+'-'+_0x59916e+_0x2629c0;return[..._0x4265b6,_0x45761c][_0x518996(0xec)]('/');}['getPublicUrl'](_0x1dbd75){return null;}async[a0_0x41b95f(0xee)](_0x3b4947,_0x5bb158,_0x2248e0=0xe10){throw new Error('Method\x20getPresignedUploadUrl()\x20must\x20be\x20implemented\x20by\x20subclass');}async[a0_0x41b95f(0xdd)](_0x5cb338){const _0x424a78=a0_0x41b95f,_0x36bf12=[],_0x54d920=[];for(const _0x12186e of _0x5cb338){try{await this['delete'](_0x12186e),_0x36bf12['push'](_0x12186e);}catch(_0x2f314c){_0x54d920['push']({'key':_0x12186e,'error':_0x2f314c[_0x424a78(0xf8)]});}}return{'deleted':_0x36bf12,'failed':_0x54d920};}}module['exports']=BaseStorageProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';const a0_0x2d6886=a0_0x5f18;(function(_0x5dd581,_0x1ff11c){const _0x3549b0=a0_0x5f18,_0x243b41=_0x5dd581();while(!![]){try{const _0x4246e4=-parseInt(_0x3549b0(0xea))/0x1+-parseInt(_0x3549b0(0xef))/0x2+-parseInt(_0x3549b0(0xf1))/0x3*(parseInt(_0x3549b0(0xf5))/0x4)+parseInt(_0x3549b0(0xfa))/0x5+parseInt(_0x3549b0(0xf8))/0x6*(parseInt(_0x3549b0(0x109))/0x7)+parseInt(_0x3549b0(0xe3))/0x8*(-parseInt(_0x3549b0(0x10c))/0x9)+parseInt(_0x3549b0(0x104))/0xa;if(_0x4246e4===_0x1ff11c)break;else _0x243b41['push'](_0x243b41['shift']());}catch(_0x3fd8f1){_0x243b41['push'](_0x243b41['shift']());}}}(a0_0x4802,0xcab24));function a0_0x4802(){const _0x15decc=['mtm0mda2mgHjrxnwsa','AxnbCNjHEq','zKPcA0G','C2L6zq','ChvZAa','mJq4nJyWnMPhAeP1za','Bg9N','mJi5nJK0n3fNrMnwEG','C3rYAw5N','BgvUz3rO','Cg93','oe9grvnQyq','igv4y2vLzhmGBwf4Aw11Bsa','ywXSB3DLze1PBwvuExbLCW','ndqYntq4ExD2qwvh','z29RwMy','mJi1otC1nuDqsLPiCq','B3jPz2LUywXUyw1L','DxjS','Dg9mB3DLCKnHC2u','Aw5JBhvKzxm','A2v5','DxbSB2fKzwrcEq','y3vVEeS','yNvJA2v0','ywXSB3DLzfr5CgvZ','mZCZmdy4otbotwfizKG','qKfrreO','zMLSDgvY','B0fxthO','swTtCfm','nZDfC2jSC1K','BwLTzxr5Cgu','uKj1qKm','oufTr2XNCa','tuLnrsb0ExbLici','zMXVB3i','BwfW','AM9PBG','DhjPBq','Bwf4rMLSzvnPEMu','Bwf4rMLSzxm','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','mZKYntG0EvPmAM1I','igzPBgvZigfSBg93zwqUien1CNjLBNrSEsbOyxmG','Dg9vChbLCKnHC2u','rg91CLe','Dg9gAxHLza','zMLUza','zxHWB3j0CW'];a0_0x4802=function(){return _0x15decc;};return a0_0x4802();}function createFileMetadata(_0x258054){const _0x515923=a0_0x5f18,{key:_0x7725f5,originalName:_0x3310ad,fileName:_0xf0177a,contentType:_0x4b3cb7,size:_0x71e6e9,url:_0x1ab347,provider:_0x58500e,bucket:_0x515fdb,uploadedBy:_0x2880a7}=_0x258054,_0x31acdf={'key':_0x7725f5,'originalName':_0x3310ad,'fileName':_0xf0177a,'contentType':_0x4b3cb7,'size':_0x71e6e9,'url':_0x1ab347,'provider':_0x58500e,'uploadedAt':new Date()['toISOString']()};if(_0x515fdb)_0x31acdf[_0x515923(0x102)]=_0x515fdb;if(_0x2880a7)_0x31acdf[_0x515923(0x100)]=_0x2880a7;return _0x31acdf;}function validateFileMetadata(_0x2090c0){const _0x1fbf7b=a0_0x5f18,_0x3a2b7f={'fJBkH':_0x1fbf7b(0xff),'oAWLz':'originalName','QccIg':'number','XuDBM':'Field\x20\x22size\x22\x20must\x20be\x20a\x20positive\x20number','cuoxK':function(_0x3227a8,_0x1344a7){return _0x3227a8!==_0x1344a7;},'BAQDJ':_0x1fbf7b(0xf2),'bpzPP':function(_0x1b8654,_0x1511dc){return _0x1b8654===_0x1511dc;}},_0x3f8142=[],_0x3fb184=[_0x3a2b7f[_0x1fbf7b(0xec)],_0x3a2b7f[_0x1fbf7b(0x107)],'contentType','size',_0x1fbf7b(0xfc),'provider'];for(const _0x46eb2d of _0x3fb184){(!_0x2090c0||_0x2090c0[_0x46eb2d]===undefined||_0x2090c0[_0x46eb2d]===null)&&_0x3f8142[_0x1fbf7b(0xee)]('Missing\x20required\x20field:\x20'+_0x46eb2d);}return _0x2090c0&&(typeof _0x2090c0[_0x1fbf7b(0xed)]===_0x3a2b7f['QccIg']&&_0x2090c0[_0x1fbf7b(0xed)]<0x0&&_0x3f8142['push'](_0x3a2b7f['XuDBM']),_0x2090c0[_0x1fbf7b(0xff)]&&_0x3a2b7f[_0x1fbf7b(0x101)](typeof _0x2090c0[_0x1fbf7b(0xff)],_0x3a2b7f[_0x1fbf7b(0x105)])&&_0x3f8142['push']('Field\x20\x22key\x22\x20must\x20be\x20a\x20string')),{'valid':_0x3a2b7f['bpzPP'](_0x3f8142[_0x1fbf7b(0xf3)],0x0),'errors':_0x3f8142};}function appendFileMetadata(_0x936257,_0x411663){const _0x47250c=a0_0x5f18,_0xcdab3=Array[_0x47250c(0xeb)](_0x936257)?[..._0x936257]:[],_0x20487d=Array[_0x47250c(0xeb)](_0x411663)?_0x411663:[_0x411663];return[..._0xcdab3,..._0x20487d];}function a0_0x5f18(_0x307890,_0x28e9ef){_0x307890=_0x307890-0xdb;const _0x480291=a0_0x4802();let _0x5f1886=_0x480291[_0x307890];if(a0_0x5f18['CshKsx']===undefined){var _0x1b29bd=function(_0x47607e){const _0x25c26a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36823b='',_0x4c0b44='';for(let _0x42ce12=0x0,_0x4bac78,_0xec0cdc,_0x2ab6d4=0x0;_0xec0cdc=_0x47607e['charAt'](_0x2ab6d4++);~_0xec0cdc&&(_0x4bac78=_0x42ce12%0x4?_0x4bac78*0x40+_0xec0cdc:_0xec0cdc,_0x42ce12++%0x4)?_0x36823b+=String['fromCharCode'](0xff&_0x4bac78>>(-0x2*_0x42ce12&0x6)):0x0){_0xec0cdc=_0x25c26a['indexOf'](_0xec0cdc);}for(let _0x1bc91e=0x0,_0x16935b=_0x36823b['length'];_0x1bc91e<_0x16935b;_0x1bc91e++){_0x4c0b44+='%'+('00'+_0x36823b['charCodeAt'](_0x1bc91e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c0b44);};a0_0x5f18['MYVTkn']=_0x1b29bd,a0_0x5f18['xFLVOS']={},a0_0x5f18['CshKsx']=!![];}const _0x1e8113=_0x480291[0x0],_0x149074=_0x307890+_0x1e8113,_0x1eb371=a0_0x5f18['xFLVOS'][_0x149074];return!_0x1eb371?(_0x5f1886=a0_0x5f18['MYVTkn'](_0x5f1886),a0_0x5f18['xFLVOS'][_0x149074]=_0x5f1886):_0x5f1886=_0x1eb371,_0x5f1886;}function removeFileMetadata(_0x43fe55,_0x298f99){const _0x10569c=a0_0x5f18;if(!Array[_0x10569c(0xeb)](_0x43fe55))return{'updatedFiles':[],'removedFile':null};const _0x3e9c5e=_0x43fe55[_0x10569c(0xe8)](_0x4de105=>_0x4de105['key']===_0x298f99)||null,_0x414448=_0x43fe55['filter'](_0xf45c73=>_0xf45c73['key']!==_0x298f99);return{'updatedFiles':_0x414448,'removedFile':_0x3e9c5e};}function extractStorageKeys(_0x380772){const _0x210cbb=a0_0x5f18;if(!Array[_0x210cbb(0xeb)](_0x380772))return[];return _0x380772[_0x210cbb(0x106)](_0x1942de=>_0x1942de&&_0x1942de['key'])[_0x210cbb(0xdd)](_0x36d8b6=>_0x36d8b6['key']);}function parseFileFieldValue(_0x2c5ff6){const _0x2f0189=a0_0x5f18,_0x521939={'gokZf':'string'};if(!_0x2c5ff6)return[];if(Array[_0x2f0189(0xeb)](_0x2c5ff6))return _0x2c5ff6;if(typeof _0x2c5ff6===_0x521939[_0x2f0189(0xf9)])try{const _0xf0522b=JSON['parse'](_0x2c5ff6);return Array['isArray'](_0xf0522b)?_0xf0522b:[];}catch{return[];}return[];}function validateUploadConstraints(_0x41b5e4,_0x4d1c1b,_0x52d11f=[]){const _0x3a7f1c=a0_0x5f18,_0x19f96e={'KLxMs':function(_0x521c2c,_0x2aed42){return _0x521c2c>_0x2aed42;},'lHjLt':function(_0x5446ff,_0xd1ba90){return _0x5446ff(_0xd1ba90);},'DourQ':function(_0x167179,_0x368ad2){return _0x167179>=_0x368ad2;}};if(_0x4d1c1b[_0x3a7f1c(0x103)]&&_0x4d1c1b[_0x3a7f1c(0x103)][_0x3a7f1c(0xf3)]>0x0){const _0x281fbb=(_0x41b5e4[_0x3a7f1c(0xfb)]||'')['split']('.')['pop']()[_0x3a7f1c(0xfd)]();if(!_0x4d1c1b['allowedTypes'][_0x3a7f1c(0xfe)](_0x281fbb))return{'valid':![],'error':'File\x20type\x20\x22.'+_0x281fbb+_0x3a7f1c(0xe2)+_0x4d1c1b['allowedTypes'][_0x3a7f1c(0xde)](',\x20')};}if(_0x4d1c1b['allowedMimeTypes']&&_0x19f96e['KLxMs'](_0x4d1c1b[_0x3a7f1c(0xf7)]['length'],0x0)){if(!_0x4d1c1b['allowedMimeTypes']['includes'](_0x41b5e4[_0x3a7f1c(0x10a)]))return{'valid':![],'error':_0x3a7f1c(0xdb)+_0x41b5e4[_0x3a7f1c(0x10a)]+'\x22\x20is\x20not\x20allowed'};}if(_0x4d1c1b[_0x3a7f1c(0xe0)]){const _0xc1f43c=_0x19f96e['lHjLt'](parseFileSize,_0x4d1c1b['maxFileSize']);if(_0xc1f43c&&_0x41b5e4[_0x3a7f1c(0xed)]>_0xc1f43c)return{'valid':![],'error':'File\x20size\x20'+formatFileSize(_0x41b5e4['size'])+_0x3a7f1c(0xf6)+_0x4d1c1b[_0x3a7f1c(0xe0)]};}if(_0x4d1c1b['maxFiles']){const _0x3477d8=Array['isArray'](_0x52d11f)?_0x52d11f['length']:0x0;if(_0x19f96e[_0x3a7f1c(0xe6)](_0x3477d8,_0x4d1c1b['maxFiles']))return{'valid':![],'error':'Maximum\x20'+_0x4d1c1b[_0x3a7f1c(0xe1)]+_0x3a7f1c(0xe4)+_0x3477d8+'\x20file(s)'};}return{'valid':!![],'error':null};}function parseFileSize(_0x468b66){const _0x446564=a0_0x5f18,_0x16e58b={'IkSpS':function(_0x22f5b0,_0x1698a7){return _0x22f5b0!==_0x1698a7;},'xcLVK':_0x446564(0xf2),'RBuBC':function(_0x57f3b8,_0x38f721){return _0x57f3b8*_0x38f721;},'QFtAD':function(_0x19534a,_0x4d618d){return _0x19534a*_0x4d618d;},'jjyfD':function(_0x258635,_0x5e6b16){return _0x258635*_0x5e6b16;}};if(typeof _0x468b66==='number')return _0x468b66;if(_0x16e58b[_0x446564(0x108)](typeof _0x468b66,_0x16e58b['xcLVK']))return null;const _0x271145=_0x468b66[_0x446564(0xdf)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x271145)return null;const _0x325fc8=parseFloat(_0x271145[0x1]),_0x447861=_0x271145[0x2][_0x446564(0xe5)](),_0xf17d2e={'B':0x1,'KB':0x400,'MB':_0x16e58b[_0x446564(0x10b)](0x400,0x400),'GB':_0x16e58b['QFtAD'](0x400,0x400)*0x400};return Math[_0x446564(0xdc)](_0x16e58b['jjyfD'](_0x325fc8,_0xf17d2e[_0x447861]||0x1));}function formatFileSize(_0x10c38f){const _0x195f8d=a0_0x5f18,_0x49b849={'hrloB':function(_0x1c6e70,_0x5f1c42){return _0x1c6e70/_0x5f1c42;},'XjCEq':function(_0x4ce681,_0x4c2048){return _0x4ce681/_0x4c2048;}};if(_0x10c38f===0x0)return'0\x20B';const _0x2090e2=['B','KB','MB','GB'],_0x4242df=Math[_0x195f8d(0xdc)](_0x49b849['hrloB'](Math[_0x195f8d(0xf0)](_0x10c38f),Math['log'](0x400))),_0x22432e=_0x49b849['XjCEq'](_0x10c38f,Math[_0x195f8d(0xf4)](0x400,_0x4242df));return _0x22432e[_0x195f8d(0xe7)](_0x4242df===0x0?0x0:0x1)+'\x20'+_0x2090e2[_0x4242df];}module[a0_0x2d6886(0xe9)]={'createFileMetadata':createFileMetadata,'validateFileMetadata':validateFileMetadata,'appendFileMetadata':appendFileMetadata,'removeFileMetadata':removeFileMetadata,'extractStorageKeys':extractStorageKeys,'parseFileFieldValue':parseFileFieldValue,'validateUploadConstraints':validateUploadConstraints,'parseFileSize':parseFileSize,'formatFileSize':formatFileSize};
|
package/src/pro/storage/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';const a0_0x589818=a0_0x1098;(function(_0x55ab8f,_0x5e6dc7){const _0x2e46a0=a0_0x1098,_0x17ee0c=_0x55ab8f();while(!![]){try{const _0x90f7ae=-parseInt(_0x2e46a0(0x10b))/0x1*(-parseInt(_0x2e46a0(0x112))/0x2)+parseInt(_0x2e46a0(0x107))/0x3+-parseInt(_0x2e46a0(0x104))/0x4+-parseInt(_0x2e46a0(0x10a))/0x5*(-parseInt(_0x2e46a0(0x106))/0x6)+parseInt(_0x2e46a0(0x110))/0x7*(parseInt(_0x2e46a0(0x109))/0x8)+parseInt(_0x2e46a0(0x102))/0x9*(-parseInt(_0x2e46a0(0x10d))/0xa)+parseInt(_0x2e46a0(0x103))/0xb;if(_0x90f7ae===_0x5e6dc7)break;else _0x17ee0c['push'](_0x17ee0c['shift']());}catch(_0x1429b6){_0x17ee0c['push'](_0x17ee0c['shift']());}}}(a0_0x37ad,0x5e615));const BaseStorageProvider=require(a0_0x589818(0x100));let _instance=null;function a0_0x37ad(){const _0x125849=['yxDZ','nJbMwgf5A1i','CvbZCKC','zxHWB3j0CW','mta0m1bcD2LlyG','zw52','odmYnZu2vxzhvxfN','lI9IyxnLlxn0B3jHz2uTChjVDMLKzxi','Dg9mB3DLCKnHC2u','odaXntG1zNPwq2PW','nJyXnJGZyxjWy2zi','mJa3odqZnNvMwLPTza','Bg9JywW','mZi0mte0vNHhCMDm','otC0odG2ExfKCefy','ChjVDMLKzxi','mJi3mtjPBKniyxC','mJbJBgjus0O','mvn3zuzdyG'];a0_0x37ad=function(){return _0x125849;};return a0_0x37ad();}function createStorageProvider(_0x4f083a={}){const _0x30b435=a0_0x589818,_0x254594={'qPsrG':_0x30b435(0x105),'cPMba':function(_0x15ee1c,_0x1d4ac4){return _0x15ee1c(_0x1d4ac4);}};if(_instance)return _instance;const _0x483375=(_0x4f083a[_0x30b435(0x108)]||process[_0x30b435(0x111)]['STORAGE_PROVIDER']||_0x254594[_0x30b435(0x10e)])[_0x30b435(0x101)]();switch(_0x483375){case's3':case _0x30b435(0x10c):{const _0x4c16cc=_0x254594['cPMba'](require,'./s3-storage-provider');_instance=new _0x4c16cc(_0x4f083a);break;}case _0x254594['qPsrG']:default:{const _0x26fd74=require('./local-storage-provider');_instance=new _0x26fd74(_0x4f083a);break;}}return _instance;}function a0_0x1098(_0x523998,_0x43a4f1){_0x523998=_0x523998-0x100;const _0x37ad52=a0_0x37ad();let _0x1098da=_0x37ad52[_0x523998];if(a0_0x1098['KVJCEk']===undefined){var _0x2c1c64=function(_0xae3e8){const _0x404fff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f16a4='',_0x2de229='';for(let _0x4876e7=0x0,_0x35c00d,_0x129caa,_0x2541c7=0x0;_0x129caa=_0xae3e8['charAt'](_0x2541c7++);~_0x129caa&&(_0x35c00d=_0x4876e7%0x4?_0x35c00d*0x40+_0x129caa:_0x129caa,_0x4876e7++%0x4)?_0x2f16a4+=String['fromCharCode'](0xff&_0x35c00d>>(-0x2*_0x4876e7&0x6)):0x0){_0x129caa=_0x404fff['indexOf'](_0x129caa);}for(let _0x456030=0x0,_0x3d8a0a=_0x2f16a4['length'];_0x456030<_0x3d8a0a;_0x456030++){_0x2de229+='%'+('00'+_0x2f16a4['charCodeAt'](_0x456030)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2de229);};a0_0x1098['njbAvw']=_0x2c1c64,a0_0x1098['KQPPVa']={},a0_0x1098['KVJCEk']=!![];}const _0x192089=_0x37ad52[0x0],_0x3020c3=_0x523998+_0x192089,_0x1febc8=a0_0x1098['KQPPVa'][_0x3020c3];return!_0x1febc8?(_0x1098da=a0_0x1098['njbAvw'](_0x1098da),a0_0x1098['KQPPVa'][_0x3020c3]=_0x1098da):_0x1098da=_0x1febc8,_0x1098da;}function getStorageProvider(){const _0x1de932={'ImNfD':function(_0x9c828f){return _0x9c828f();}};if(!_instance)return _0x1de932['ImNfD'](createStorageProvider);return _instance;}function resetStorageProvider(){_instance=null;}module[a0_0x589818(0x10f)]={'BaseStorageProvider':BaseStorageProvider,'createStorageProvider':createStorageProvider,'getStorageProvider':getStorageProvider,'resetStorageProvider':resetStorageProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x3ff5(){const _0x188a83=['nxrnwgjwCq','mZaZnZyXovf6zxfryq','yxbWBgLJyxrPB24VCgrM','CgLWzq','mZi2owPjtNHrCa','zxHWB3j0CW','BwTKAxjtEw5J','BxrPBwu','mtqYnJi1nKXlveTrqG','z2v0uhvIBgLJvxjS','x3jLC29SDMvgAwXLugf0Aa','y3jLyxrLv3jPDgvtDhjLyw0','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','z2v0uhjLC2LNBMvKvxbSB2fKvxjS','y3DK','ndeYmgjZu1vAvG','x2vUC3vYzurPCMvJDg9YEq','C2L6zq','mtiYndG1mMneyKH5uW','mu9uDwv1zW','Ae91DwO','AunhyxO','zgLYBMfTzq','zNvUy3rPB24','zgvMyxvSDa','zxHPC3rZu3LUyW','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','mJC4mZe2ng9hBfLiCW','C3rHDa','zw52','uLbOsLm','ChjVDMLKzxjoyw1L','AM9PBG','mtCYntLRu3fXteG','Dg9mB3DLCKnHC2u','sxLuDxK','mJrTtgDSqvy','yMfZzvvYBa','vvbmt0fex0jbu0vFvvjm','mtqWnta0mZfPtNjMru0','mtu3ofbtz0fOuG','zxH0BMfTzq','oeTADevgCa','Aw1Hz2uVANbLzW','Cgf0Aa','Bg9JywW','A05TyKK','ru5pru5u','D3jPDgvgAwXL','x2D1zxnZq29UDgvUDfr5Cgu','vvbmt0fex1nut1jbr0vFreLs','yMfZzurPCG','l3vWBg9HzhmV','Aw1Hz2uVD2vICa','ywnJzxnZ'];a0_0x3ff5=function(){return _0x188a83;};return a0_0x3ff5();}const a0_0x408862=a0_0x230f;(function(_0xc2597b,_0x204161){const _0x366366=a0_0x230f,_0x92c018=_0xc2597b();while(!![]){try{const _0x5a7e1f=parseInt(_0x366366(0x18e))/0x1*(parseInt(_0x366366(0x183))/0x2)+-parseInt(_0x366366(0x18d))/0x3+parseInt(_0x366366(0x196))/0x4*(-parseInt(_0x366366(0x17b))/0x5)+-parseInt(_0x366366(0x1a3))/0x6*(parseInt(_0x366366(0x17f))/0x7)+-parseInt(_0x366366(0x1a5))/0x8*(-parseInt(_0x366366(0x1a2))/0x9)+parseInt(_0x366366(0x18a))/0xa*(-parseInt(_0x366366(0x19c))/0xb)+-parseInt(_0x366366(0x19f))/0xc*(-parseInt(_0x366366(0x17c))/0xd);if(_0x5a7e1f===_0x204161)break;else _0x92c018['push'](_0x92c018['shift']());}catch(_0x420dff){_0x92c018['push'](_0x92c018['shift']());}}}(a0_0x3ff5,0xd3fc1));const BaseStorageProvider=require('./base-storage-provider'),path=require(a0_0x408862(0x1a7)),fs=require('fs')['promises'],fsSync=require('fs');function a0_0x230f(_0x156c6b,_0x1aa911){_0x156c6b=_0x156c6b-0x176;const _0x3ff5ab=a0_0x3ff5();let _0x230feb=_0x3ff5ab[_0x156c6b];if(a0_0x230f['ZzisIK']===undefined){var _0x133c37=function(_0x1a8b2c){const _0x121753='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c7f70='',_0x53be49='';for(let _0x177611=0x0,_0x58647c,_0x36b381,_0x308bf0=0x0;_0x36b381=_0x1a8b2c['charAt'](_0x308bf0++);~_0x36b381&&(_0x58647c=_0x177611%0x4?_0x58647c*0x40+_0x36b381:_0x36b381,_0x177611++%0x4)?_0x3c7f70+=String['fromCharCode'](0xff&_0x58647c>>(-0x2*_0x177611&0x6)):0x0){_0x36b381=_0x121753['indexOf'](_0x36b381);}for(let _0x42b04a=0x0,_0xa8cab1=_0x3c7f70['length'];_0x42b04a<_0xa8cab1;_0x42b04a++){_0x53be49+='%'+('00'+_0x3c7f70['charCodeAt'](_0x42b04a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53be49);};a0_0x230f['vFntiE']=_0x133c37,a0_0x230f['pEwZhx']={},a0_0x230f['ZzisIK']=!![];}const _0x25d76b=_0x3ff5ab[0x0],_0x24fad2=_0x156c6b+_0x25d76b,_0x16a7ab=a0_0x230f['pEwZhx'][_0x24fad2];return!_0x16a7ab?(_0x230feb=a0_0x230f['vFntiE'](_0x230feb),a0_0x230f['pEwZhx'][_0x24fad2]=_0x230feb):_0x230feb=_0x16a7ab,_0x230feb;}class LocalStorageProvider extends BaseStorageProvider{constructor(_0x4f5655={}){const _0x465192=a0_0x408862,_0x2e838a={'RzOlR':'uploads'};super(_0x4f5655),this[_0x465192(0x19a)]=_0x465192(0x1a8);const _0x577bd4=process[_0x465192(0x198)]['RESTFORGE_PROJECT_NAME']||_0x465192(0x193);this[_0x465192(0x177)]=_0x4f5655['baseDir']||process[_0x465192(0x198)][_0x465192(0x176)]||path[_0x465192(0x19b)](process[_0x465192(0x189)](),_0x2e838a['RzOlR'],_0x577bd4),this[_0x465192(0x1a0)]=_0x4f5655[_0x465192(0x1a0)]||process[_0x465192(0x198)][_0x465192(0x1a1)]||_0x465192(0x178)+_0x577bd4,this['_ensureBaseDir']();}['_ensureBaseDir'](){const _0x42ed16=a0_0x408862;!fsSync[_0x42ed16(0x194)](this['baseDir'])&&fsSync[_0x42ed16(0x181)](this['baseDir'],{'recursive':!![]});}['_resolveFilePath'](_0x1200a8){return path['join'](this['baseDir'],..._0x1200a8['split']('/'));}[a0_0x408862(0x18b)](_0x248fb1){const _0x4ef87c=a0_0x408862,_0x5014e5=path[_0x4ef87c(0x191)](_0x248fb1);!fsSync['existsSync'](_0x5014e5)&&fsSync['mkdirSync'](_0x5014e5,{'recursive':!![]});}async['upload'](_0x2061a7,_0x285f06,_0x1f88af={}){const _0x1cb4d6=a0_0x408862,_0x4319f0={'IyTuy':function(_0x795d76,_0x4cdc0a){return _0x795d76===_0x4cdc0a;},'dOmvH':function(_0x4650ab,_0x3ee300){return _0x4650ab(_0x3ee300);},'FGivk':function(_0x2bf086,_0x30ed52,_0x41dcb4){return _0x2bf086(_0x30ed52,_0x41dcb4);}},_0x5c3e52=this[_0x1cb4d6(0x185)](_0x285f06);this['_ensureDirectory'](_0x5c3e52);const _0x1719cb=_0x1f88af['contentType']||_0x1cb4d6(0x187);let _0x4498f8=0x0;if(Buffer['isBuffer'](_0x2061a7))await fs['writeFile'](_0x5c3e52,_0x2061a7),_0x4498f8=_0x2061a7['length'];else{if(_0x2061a7&&_0x4319f0[_0x1cb4d6(0x19e)](typeof _0x2061a7[_0x1cb4d6(0x17e)],_0x1cb4d6(0x192))){const {pipeline:_0x45ae7f}=_0x4319f0['dOmvH'](require,'stream/promises'),_0x213b50=fsSync[_0x1cb4d6(0x186)](_0x5c3e52);await _0x4319f0['FGivk'](_0x45ae7f,_0x2061a7,_0x213b50);const _0x244448=await fs[_0x1cb4d6(0x197)](_0x5c3e52);_0x4498f8=_0x244448[_0x1cb4d6(0x18c)];}else await fs[_0x1cb4d6(0x1ab)](_0x5c3e52,_0x2061a7),_0x4498f8=_0x1f88af['fileSize']||0x0;}return{'key':_0x285f06,'url':this['getPublicUrl'](_0x285f06),'size':_0x4498f8,'contentType':_0x1719cb};}async['delete'](_0xe4ad3a){const _0x524199=a0_0x408862,_0x3c41e5=this['_resolveFilePath'](_0xe4ad3a);try{return await fs['unlink'](_0x3c41e5),!![];}catch(_0x383140){if(_0x383140['code']===_0x524199(0x1aa))return!![];throw _0x383140;}}async['getSignedUrl'](_0x2f0e10,_0x1f25ca=0xe10){return this['getPublicUrl'](_0x2f0e10);}async[a0_0x408862(0x188)](_0x11df58,_0x201d62,_0x467235=0xe10){return null;}async['exists'](_0x47af02){const _0x4a26e0=a0_0x408862,_0x29eec3=this[_0x4a26e0(0x185)](_0x47af02);try{return await fs[_0x4a26e0(0x17a)](_0x29eec3),!![];}catch{return![];}}async['getMetadata'](_0x2eef43){const _0x28561e=a0_0x408862,_0x535bca=this[_0x28561e(0x185)](_0x2eef43),_0x3742bb=await fs[_0x28561e(0x197)](_0x535bca);return{'size':_0x3742bb[_0x28561e(0x18c)],'contentType':this['_guessContentType'](_0x2eef43),'lastModified':_0x3742bb[_0x28561e(0x182)]};}[a0_0x408862(0x184)](_0x2cd3fc){const _0x242037=_0x2cd3fc['split'](path['sep'])['join']('/');return this['baseUrl']+'/'+_0x242037;}[a0_0x408862(0x1ac)](_0x5bb9b4){const _0x50f8d1=a0_0x408862,_0x3a2805={'RPhJS':'image/jpeg','kNmbI':_0x50f8d1(0x179),'iCGaz':'image/svg+xml','ySrGx':_0x50f8d1(0x17d),'licUn':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','hOuuj':'application/vnd.openxmlformats-officedocument.presentationml.presentation','hTmvj':'application/msword','cSFvS':_0x50f8d1(0x187)},_0x2d1846=path[_0x50f8d1(0x1a4)](_0x5bb9b4)[_0x50f8d1(0x19d)](),_0x2aff3d={'.jpg':_0x50f8d1(0x1a6),'.jpeg':_0x3a2805[_0x50f8d1(0x199)],'.png':'image/png','.gif':'image/gif','.webp':_0x3a2805[_0x50f8d1(0x1a9)],'.svg':_0x3a2805[_0x50f8d1(0x190)],'.pdf':_0x3a2805['ySrGx'],'.docx':'application/vnd.openxmlformats-officedocument.wordprocessingml.document','.xlsx':_0x3a2805['licUn'],'.pptx':_0x3a2805[_0x50f8d1(0x18f)],'.doc':_0x3a2805['hTmvj'],'.xls':_0x50f8d1(0x195),'.ppt':'application/vnd.ms-powerpoint'};return _0x2aff3d[_0x2d1846]||_0x3a2805['cSFvS'];}}module[a0_0x408862(0x180)]=LocalStorageProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a0_0x5cf5(_0x153fa5,_0x2a5c42){_0x153fa5=_0x153fa5-0x1e1;const _0x542b70=a0_0x542b();let _0x5cf57b=_0x542b70[_0x153fa5];if(a0_0x5cf5['MwVlbk']===undefined){var _0x4fae6f=function(_0x35182c){const _0x5cc081='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a8c4b='',_0x1d8135='';for(let _0xfe7d00=0x0,_0x20c3a1,_0x44e6ea,_0x573750=0x0;_0x44e6ea=_0x35182c['charAt'](_0x573750++);~_0x44e6ea&&(_0x20c3a1=_0xfe7d00%0x4?_0x20c3a1*0x40+_0x44e6ea:_0x44e6ea,_0xfe7d00++%0x4)?_0x1a8c4b+=String['fromCharCode'](0xff&_0x20c3a1>>(-0x2*_0xfe7d00&0x6)):0x0){_0x44e6ea=_0x5cc081['indexOf'](_0x44e6ea);}for(let _0x50b07d=0x0,_0xaf91e0=_0x1a8c4b['length'];_0x50b07d<_0xaf91e0;_0x50b07d++){_0x1d8135+='%'+('00'+_0x1a8c4b['charCodeAt'](_0x50b07d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d8135);};a0_0x5cf5['ZtffhK']=_0x4fae6f,a0_0x5cf5['SPlgPi']={},a0_0x5cf5['MwVlbk']=!![];}const _0xaba982=_0x542b70[0x0],_0x121b5b=_0x153fa5+_0xaba982,_0x2b357f=a0_0x5cf5['SPlgPi'][_0x121b5b];return!_0x2b357f?(_0x5cf57b=a0_0x5cf5['ZtffhK'](_0x5cf57b),a0_0x5cf5['SPlgPi'][_0x121b5b]=_0x5cf57b):_0x5cf57b=_0x2b357f,_0x5cf57b;}function a0_0x542b(){const _0x358983=['y3jLzgvUDgLHBhm','EgPfwuW','ntK2mZKYsufiDu1Q','z2v0uhjLC2LNBMvKvxbSB2fKvxjS','wLHptvG','zuzNseK','C2vUza','zuHJuNi','B2fXEeG','qgf3CY1ZzgSVy2XPzw50lxmZ','mhW1Fdn8mNWXFdq','qgf3CY1ZzgSVCZmTCMvXDwvZDc1WCMvZAwDUzxi','CM9kDMG','uZnFru5eue9jtLq','x2DLDenSAwvUDa','CgfYDfnPEMu','uZnFqLvds0vu','lNmZlG','lI9IyxnLlxn0B3jHz2uTChjVDMLKzxi','ndyZmti1nu9juu1VAa','AM14sgG','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','zgvSzxrL','y29UzMLN','ChvZAa','Cu1mAey','AxncDwzMzxi','twLAvNO','m3DNAK1gvG','y29UDgvUDfr5Cgu','z2v0u2LNBMvKvxjS','CxLwzwi','ndi3mdGWrfnXELPk','y29Uy3vYCMvUy3K','BMfTzq','BgvUz3rO','lMfTyxPVBMf3CY5JB20V','Bwv0ywrHDge','qgf3CY1ZzgSVBgLIlxn0B3jHz2u','BwfW','mJGYmdmYnej0venMAW','twvZC2fNzq','CMvNAw9U','uZntDg9YywDLuhjVDMLKzxi6ifmZx0jvq0TfvcbPCYbYzxf1AxjLza','nZyWmJu1ohntruP1rW','C3bSAxq','CwHrsfi','rNzXEKC','x2nSAwvUDa','z1bYDNi','zM9Yy2vqyxrOu3r5Bgu','nJe0mJmYnuXpyNrkrG','q29UDgvUDfr5Cgu','s2v5','z2v0uhvIBgLJvxjS','uZnFuKvhsu9o','rxjYB3jZ','yNvJA2v0','DxbSB2fK','nZuXmtyZmLfPug9pDG','zw52'];a0_0x542b=function(){return _0x358983;};return a0_0x542b();}const a0_0x3610be=a0_0x5cf5;(function(_0x202e99,_0x1b5bd1){const _0x120f61=a0_0x5cf5,_0x523178=_0x202e99();while(!![]){try{const _0x3bf6e0=-parseInt(_0x120f61(0x21c))/0x1+parseInt(_0x120f61(0x1fd))/0x2*(-parseInt(_0x120f61(0x1f9))/0x3)+-parseInt(_0x120f61(0x205))/0x4+-parseInt(_0x120f61(0x1f0))/0x5+parseInt(_0x120f61(0x209))/0x6+parseInt(_0x120f61(0x210))/0x7+parseInt(_0x120f61(0x218))/0x8;if(_0x3bf6e0===_0x1b5bd1)break;else _0x523178['push'](_0x523178['shift']());}catch(_0x48f24c){_0x523178['push'](_0x523178['shift']());}}}(a0_0x542b,0x9ccd2));const BaseStorageProvider=require(a0_0x3610be(0x1ef));class S3StorageProvider extends BaseStorageProvider{constructor(_0x16c16f={}){const _0x3f503a=a0_0x3610be,_0x2fffde={'AfeYU':'ap-southeast-1'},_0x59dc84=_0x3f503a(0x1e7)[_0x3f503a(0x20a)]('|');let _0x362605=0x0;while(!![]){switch(_0x59dc84[_0x362605++]){case'0':super(_0x16c16f);continue;case'1':if(!this[_0x3f503a(0x216)])throw new Error(_0x3f503a(0x208));continue;case'2':this['region']=_0x16c16f[_0x3f503a(0x207)]||process[_0x3f503a(0x219)][_0x3f503a(0x214)]||_0x2fffde['AfeYU'];continue;case'3':this[_0x3f503a(0x216)]=_0x16c16f['bucket']||process[_0x3f503a(0x219)][_0x3f503a(0x1ed)];continue;case'4':this[_0x3f503a(0x20d)]=null;continue;case'5':this['providerName']='s3';continue;}break;}}['_getClient'](){const _0x50c132=a0_0x3610be,_0x416a1f={'foFwe':_0x50c132(0x1e6),'ZoutH':function(_0x376935,_0x8bd07a){return _0x376935===_0x8bd07a;},'qMLhF':'true'};if(!this['_client']){const {S3Client:_0x218545}=require(_0x416a1f['foFwe']),_0x576fd9={'region':this['region']},_0x5475fb=this['config']['accessKeyId']||process['env']['S3_ACCESS_KEY_ID'],_0xb001fc=this['config']['secretAccessKey']||process[_0x50c132(0x219)]['S3_SECRET_ACCESS_KEY'];_0x5475fb&&_0xb001fc&&(_0x576fd9[_0x50c132(0x21a)]={'accessKeyId':_0x5475fb,'secretAccessKey':_0xb001fc});const _0x3891b2=this[_0x50c132(0x1f4)]['endpoint']||process['env']['S3_ENDPOINT'];_0x3891b2&&(_0x576fd9['endpoint']=_0x3891b2);const _0xf14884=this[_0x50c132(0x1f4)][_0x50c132(0x20f)]||_0x416a1f['ZoutH'](process['env']['S3_FORCE_PATH_STYLE'],_0x416a1f[_0x50c132(0x1f6)]);_0xf14884&&(_0x576fd9['forcePathStyle']=!![]),this['_client']=new _0x218545(_0x576fd9);}return this['_client'];}async[a0_0x3610be(0x217)](_0xdf3017,_0xed7e93,_0xe5a53c={}){const _0x49a5bc=a0_0x3610be,_0x14a2dd={'lamHo':function(_0x387e15,_0x3dd3d6){return _0x387e15(_0x3dd3d6);},'bIiVr':_0x49a5bc(0x203),'qhQHR':function(_0x40ec21,_0x31a821){return _0x40ec21*_0x31a821;}},{Upload:_0x5ce06c}=_0x14a2dd['lamHo'](require,_0x14a2dd['bIiVr']),_0x2514b4=_0xe5a53c[_0x49a5bc(0x1fa)]||_0x49a5bc(0x1f2),_0x699188=_0xe5a53c[_0x49a5bc(0x1ec)]||_0x14a2dd[_0x49a5bc(0x20b)](0x5,0x400)*0x400,_0x352e96=_0xe5a53c[_0x49a5bc(0x1fe)]||0x4,_0x22173a={'Bucket':this[_0x49a5bc(0x216)],'Key':_0xed7e93,'Body':_0xdf3017,'ContentType':_0x2514b4,..._0xe5a53c['metadata']?{'Metadata':_0xe5a53c[_0x49a5bc(0x202)]}:{}},_0x3680c2=new _0x5ce06c({'client':this[_0x49a5bc(0x1eb)](),'params':_0x22173a,'queueSize':_0x352e96,'partSize':_0x699188,'leavePartsOnError':![]});await _0x3680c2['done']();const _0x5ca6e9=Buffer[_0x49a5bc(0x1f7)](_0xdf3017)?_0xdf3017[_0x49a5bc(0x200)]:_0xe5a53c['fileSize']||0x0;return{'key':_0xed7e93,'url':this[_0x49a5bc(0x213)](_0xed7e93),'size':_0x5ca6e9,'contentType':_0x2514b4};}async[a0_0x3610be(0x1f3)](_0x3f06bc){const _0x346de1=a0_0x3610be,_0x1a6610={'oaqxH':function(_0x1a7d1d,_0x207175){return _0x1a7d1d(_0x207175);}},{DeleteObjectCommand:_0x480733}=_0x1a6610[_0x346de1(0x1e5)](require,'@aws-sdk/client-s3'),_0xee193d=new _0x480733({'Bucket':this[_0x346de1(0x216)],'Key':_0x3f06bc});return await this['_getClient']()['send'](_0xee193d),!![];}async['deleteMany'](_0x4445e9){const _0x4eafc7=a0_0x3610be,_0x1fcdab={'XAbeB':function(_0x3da952,_0x284e11){return _0x3da952===_0x284e11;},'eHcRr':function(_0x123d41,_0x5af06f){return _0x123d41(_0x5af06f);},'xjEYL':_0x4eafc7(0x1e6),'PjlvC':function(_0x193f01,_0x43e8fb){return _0x193f01<_0x43e8fb;},'ZXOMX':function(_0x1954df,_0x564327){return _0x1954df+_0x564327;}};if(_0x1fcdab['XAbeB'](_0x4445e9['length'],0x0))return{'deleted':[],'failed':[]};const {DeleteObjectsCommand:_0x38d2f5}=_0x1fcdab[_0x4eafc7(0x1e4)](require,_0x1fcdab[_0x4eafc7(0x21b)]),_0x19bb31=[],_0xc44679=[],_0x162c70=0x3e8;for(let _0x149bef=0x0;_0x1fcdab['PjlvC'](_0x149bef,_0x4445e9['length']);_0x149bef+=_0x162c70){const _0x4fe120=_0x4445e9['slice'](_0x149bef,_0x1fcdab[_0x4eafc7(0x1e1)](_0x149bef,_0x162c70));try{const _0x54c544=new _0x38d2f5({'Bucket':this['bucket'],'Delete':{'Objects':_0x4fe120[_0x4eafc7(0x204)](_0x344bc4=>({'Key':_0x344bc4})),'Quiet':!![]}}),_0x4519ab=await this['_getClient']()[_0x4eafc7(0x1e3)](_0x54c544);if(_0x4519ab[_0x4eafc7(0x215)]&&_0x4519ab[_0x4eafc7(0x215)][_0x4eafc7(0x200)]>0x0)for(const _0x785eef of _0x4519ab[_0x4eafc7(0x215)]){_0xc44679[_0x4eafc7(0x1f5)]({'key':_0x785eef['Key'],'error':_0x785eef[_0x4eafc7(0x206)]});}const _0x8a4af8=new Set((_0x4519ab['Errors']||[])['map'](_0x566cf9=>_0x566cf9[_0x4eafc7(0x212)]));for(const _0x5df8eb of _0x4fe120){if(!_0x8a4af8['has'](_0x5df8eb))_0x19bb31[_0x4eafc7(0x1f5)](_0x5df8eb);}}catch(_0x1db28c){for(const _0x39accd of _0x4fe120){_0xc44679['push']({'key':_0x39accd,'error':_0x1db28c['message']});}}}return{'deleted':_0x19bb31,'failed':_0xc44679};}async[a0_0x3610be(0x1fb)](_0xab30a4,_0x3043b1=0xe10){const _0x57fc38=a0_0x3610be,_0x37a33a={'UnezS':function(_0xf552fe,_0x184a20){return _0xf552fe(_0x184a20);},'CGUgI':function(_0x1c2cbb,_0x18a882,_0x5d6c9a,_0x25ec91){return _0x1c2cbb(_0x18a882,_0x5d6c9a,_0x25ec91);}},{GetObjectCommand:_0x569c81}=_0x37a33a['UnezS'](require,_0x57fc38(0x1e6)),{getSignedUrl:_0x1fb752}=require('@aws-sdk/s3-request-presigner'),_0x2183ad=new _0x569c81({'Bucket':this[_0x57fc38(0x216)],'Key':_0xab30a4});return _0x37a33a['CGUgI'](_0x1fb752,this[_0x57fc38(0x1eb)](),_0x2183ad,{'expiresIn':_0x3043b1});}async[a0_0x3610be(0x21d)](_0x1f325f,_0x225163,_0x1376db=0xe10){const _0x98e793=a0_0x3610be,_0x388940={'eFgHI':_0x98e793(0x1e6),'jmxHh':_0x98e793(0x1e8)},{PutObjectCommand:_0x249210}=require(_0x388940[_0x98e793(0x1e2)]),{getSignedUrl:_0x33976e}=require(_0x388940[_0x98e793(0x1f1)]),_0x4eb13f=new _0x249210({'Bucket':this['bucket'],'Key':_0x1f325f,'ContentType':_0x225163}),_0x42e1b3=await _0x33976e(this[_0x98e793(0x1eb)](),_0x4eb13f,{'expiresIn':_0x1376db});return{'uploadUrl':_0x42e1b3,'key':_0x1f325f,'expiresIn':_0x1376db};}async['exists'](_0xa4283d){const _0xbdb4f5=a0_0x3610be,_0xe4b6ef={'FvqzG':function(_0x5506b6,_0x57a135){return _0x5506b6(_0x57a135);},'gPrvr':'@aws-sdk/client-s3','qyVeb':'NotFound'},{HeadObjectCommand:_0x288eff}=_0xe4b6ef[_0xbdb4f5(0x20c)](require,_0xe4b6ef[_0xbdb4f5(0x20e)]);try{return await this['_getClient']()['send'](new _0x288eff({'Bucket':this[_0xbdb4f5(0x216)],'Key':_0xa4283d})),!![];}catch(_0x21ff11){if(_0x21ff11[_0xbdb4f5(0x1ff)]===_0xe4b6ef[_0xbdb4f5(0x1fc)]||_0x21ff11['$metadata']?.['httpStatusCode']===0x194)return![];throw _0x21ff11;}}async['getMetadata'](_0x33ac1c){const _0x32cfe2=a0_0x3610be,_0x194982={'MiZVz':'@aws-sdk/client-s3'},{HeadObjectCommand:_0x3b1427}=require(_0x194982[_0x32cfe2(0x1f8)]),_0x2da15f=await this[_0x32cfe2(0x1eb)]()['send'](new _0x3b1427({'Bucket':this[_0x32cfe2(0x216)],'Key':_0x33ac1c}));return{'size':_0x2da15f['ContentLength'],'contentType':_0x2da15f[_0x32cfe2(0x211)],'lastModified':_0x2da15f['LastModified']};}['getPublicUrl'](_0x14c723){const _0xdbf386=a0_0x3610be,_0x507234={'roJvh':function(_0x12dfda,_0x54db2c){return _0x12dfda===_0x54db2c;},'HcFCi':'true'},_0x4789e2=this[_0xdbf386(0x1f4)]['endpoint']||process['env'][_0xdbf386(0x1ea)];if(_0x4789e2){const _0x23d526=this[_0xdbf386(0x1f4)][_0xdbf386(0x20f)]||_0x507234[_0xdbf386(0x1e9)](process['env']['S3_FORCE_PATH_STYLE'],_0x507234['HcFCi']);if(_0x23d526)return _0x4789e2+'/'+this[_0xdbf386(0x216)]+'/'+_0x14c723;return _0x4789e2+'/'+_0x14c723;}return'https://'+this[_0xdbf386(0x216)]+_0xdbf386(0x1ee)+this['region']+_0xdbf386(0x201)+_0x14c723;}}module['exports']=S3StorageProvider;
|
|
1
|
+
'use strict';const a0_0x16c64e=a0_0x26af;(function(_0x46c80e,_0x154ee2){const _0x26145b=a0_0x26af,_0xd3491=_0x46c80e();while(!![]){try{const _0x3bda95=-parseInt(_0x26145b(0xee))/0x1*(-parseInt(_0x26145b(0x11c))/0x2)+parseInt(_0x26145b(0x101))/0x3*(parseInt(_0x26145b(0x11a))/0x4)+parseInt(_0x26145b(0x107))/0x5+parseInt(_0x26145b(0x114))/0x6*(-parseInt(_0x26145b(0x10a))/0x7)+-parseInt(_0x26145b(0x123))/0x8+-parseInt(_0x26145b(0x120))/0x9+parseInt(_0x26145b(0x118))/0xa*(parseInt(_0x26145b(0x11b))/0xb);if(_0x3bda95===_0x154ee2)break;else _0xd3491['push'](_0xd3491['shift']());}catch(_0x54d5df){_0xd3491['push'](_0xd3491['shift']());}}}(a0_0x2b67,0xad363));function a0_0x26af(_0x2427f6,_0x2f02dd){_0x2427f6=_0x2427f6-0xea;const _0x2b670f=a0_0x2b67();let _0x26aff6=_0x2b670f[_0x2427f6];if(a0_0x26af['TRIUDu']===undefined){var _0x584d1a=function(_0x425da9){const _0x499a28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fefad='',_0x2d8a86='';for(let _0x5101af=0x0,_0x1fd8e8,_0x4b9567,_0x13dd45=0x0;_0x4b9567=_0x425da9['charAt'](_0x13dd45++);~_0x4b9567&&(_0x1fd8e8=_0x5101af%0x4?_0x1fd8e8*0x40+_0x4b9567:_0x4b9567,_0x5101af++%0x4)?_0x2fefad+=String['fromCharCode'](0xff&_0x1fd8e8>>(-0x2*_0x5101af&0x6)):0x0){_0x4b9567=_0x499a28['indexOf'](_0x4b9567);}for(let _0x472009=0x0,_0x2874bc=_0x2fefad['length'];_0x472009<_0x2874bc;_0x472009++){_0x2d8a86+='%'+('00'+_0x2fefad['charCodeAt'](_0x472009)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8a86);};a0_0x26af['rjDYbG']=_0x584d1a,a0_0x26af['ytJJcK']={},a0_0x26af['TRIUDu']=!![];}const _0x5e82d4=_0x2b670f[0x0],_0x57cfe1=_0x2427f6+_0x5e82d4,_0x2b2cd4=a0_0x26af['ytJJcK'][_0x57cfe1];return!_0x2b2cd4?(_0x26aff6=a0_0x26af['rjDYbG'](_0x26aff6),a0_0x26af['ytJJcK'][_0x57cfe1]=_0x26aff6):_0x26aff6=_0x2b2cd4,_0x26aff6;}const BaseStorageProvider=require(a0_0x16c64e(0xf9));class S3StorageProvider extends BaseStorageProvider{constructor(_0x5c494a={}){const _0x25412a=a0_0x16c64e,_0x12ae0d='2|4|0|3|1|5'[_0x25412a(0x126)]('|');let _0x33084f=0x0;while(!![]){switch(_0x12ae0d[_0x33084f++]){case'0':this[_0x25412a(0x106)]=_0x5c494a[_0x25412a(0x106)]||process['env'][_0x25412a(0xff)];continue;case'1':if(!this['bucket'])throw new Error('S3StorageProvider:\x20S3_BUCKET\x20is\x20required');continue;case'2':super(_0x5c494a);continue;case'3':this['region']=_0x5c494a[_0x25412a(0x115)]||process[_0x25412a(0x111)][_0x25412a(0x105)]||_0x25412a(0x116);continue;case'4':this[_0x25412a(0x10c)]='s3';continue;case'5':this[_0x25412a(0x119)]=null;continue;}break;}}[a0_0x16c64e(0xfd)](){const _0x4393a5=a0_0x16c64e,_0x223894={'ghKVZ':function(_0x40f9e2,_0x57220a){return _0x40f9e2(_0x57220a);},'kIhqp':function(_0x1f194e,_0x515814){return _0x1f194e===_0x515814;},'geBLf':'true'};if(!this[_0x4393a5(0x119)]){const {S3Client:_0x19be46}=_0x223894[_0x4393a5(0xf4)](require,_0x4393a5(0xf1)),_0x426ed7={'region':this[_0x4393a5(0x115)]},_0x2b0dfc=this[_0x4393a5(0x121)][_0x4393a5(0xfe)]||process['env']['S3_ACCESS_KEY_ID'],_0x592faf=this[_0x4393a5(0x121)]['secretAccessKey']||process['env']['S3_SECRET_ACCESS_KEY'];_0x2b0dfc&&_0x592faf&&(_0x426ed7['credentials']={'accessKeyId':_0x2b0dfc,'secretAccessKey':_0x592faf});const _0x3ceeb3=this['config'][_0x4393a5(0x102)]||process[_0x4393a5(0x111)][_0x4393a5(0xf8)];_0x3ceeb3&&(_0x426ed7['endpoint']=_0x3ceeb3);const _0x17de1b=this[_0x4393a5(0x121)]['forcePathStyle']||_0x223894[_0x4393a5(0x10f)](process[_0x4393a5(0x111)]['S3_FORCE_PATH_STYLE'],_0x223894['geBLf']);_0x17de1b&&(_0x426ed7['forcePathStyle']=!![]),this['_client']=new _0x19be46(_0x426ed7);}return this[_0x4393a5(0x119)];}async[a0_0x16c64e(0x112)](_0x317747,_0x55cc4b,_0x5829e7={}){const _0x293b16=a0_0x16c64e,_0xf7fddd={'livYl':function(_0x32ad5a,_0x407af2){return _0x32ad5a(_0x407af2);},'gtZih':function(_0x642e95,_0x50be38){return _0x642e95*_0x50be38;}},{Upload:_0x3ed1f0}=_0xf7fddd[_0x293b16(0xf7)](require,'@aws-sdk/lib-storage'),_0x152bde=_0x5829e7[_0x293b16(0x11d)]||'application/octet-stream',_0x421b35=_0x5829e7[_0x293b16(0x125)]||_0xf7fddd[_0x293b16(0xf0)](_0xf7fddd[_0x293b16(0xf0)](0x5,0x400),0x400),_0x456754=_0x5829e7['concurrency']||0x4,_0x3468ad={'Bucket':this[_0x293b16(0x106)],'Key':_0x55cc4b,'Body':_0x317747,'ContentType':_0x152bde,..._0x5829e7[_0x293b16(0xfa)]?{'Metadata':_0x5829e7['metadata']}:{}},_0x3a9da4=new _0x3ed1f0({'client':this[_0x293b16(0xfd)](),'params':_0x3468ad,'queueSize':_0x456754,'partSize':_0x421b35,'leavePartsOnError':![]});await _0x3a9da4['done']();const _0x3631ef=Buffer['isBuffer'](_0x317747)?_0x317747[_0x293b16(0x10b)]:_0x5829e7[_0x293b16(0xea)]||0x0;return{'key':_0x55cc4b,'url':this['getPublicUrl'](_0x55cc4b),'size':_0x3631ef,'contentType':_0x152bde};}async['delete'](_0x29e282){const _0x1cf812=a0_0x16c64e,_0x4e121b={'glbCx':_0x1cf812(0xf1)},{DeleteObjectCommand:_0x5b55e6}=require(_0x4e121b['glbCx']),_0x30b3f7=new _0x5b55e6({'Bucket':this[_0x1cf812(0x106)],'Key':_0x29e282});return await this['_getClient']()['send'](_0x30b3f7),!![];}async['deleteMany'](_0x1c523f){const _0x2df2b9=a0_0x16c64e,_0x4dc542={'TdpXS':_0x2df2b9(0xf1),'pXLkq':function(_0xac333,_0x18c055){return _0xac333+_0x18c055;}};if(_0x1c523f['length']===0x0)return{'deleted':[],'failed':[]};const {DeleteObjectsCommand:_0x5878a8}=require(_0x4dc542[_0x2df2b9(0x100)]),_0x2a7e48=[],_0x3d4565=[],_0x1dbce9=0x3e8;for(let _0x3568c4=0x0;_0x3568c4<_0x1c523f[_0x2df2b9(0x10b)];_0x3568c4+=_0x1dbce9){const _0x5ce87c=_0x1c523f[_0x2df2b9(0x10d)](_0x3568c4,_0x4dc542[_0x2df2b9(0x124)](_0x3568c4,_0x1dbce9));try{const _0x358335=new _0x5878a8({'Bucket':this['bucket'],'Delete':{'Objects':_0x5ce87c['map'](_0x46bb95=>({'Key':_0x46bb95})),'Quiet':!![]}}),_0x15edb1=await this[_0x2df2b9(0xfd)]()[_0x2df2b9(0x10e)](_0x358335);if(_0x15edb1[_0x2df2b9(0x104)]&&_0x15edb1[_0x2df2b9(0x104)][_0x2df2b9(0x10b)]>0x0)for(const _0x513699 of _0x15edb1['Errors']){_0x3d4565['push']({'key':_0x513699['Key'],'error':_0x513699['Message']});}const _0x11f334=new Set((_0x15edb1[_0x2df2b9(0x104)]||[])[_0x2df2b9(0xfb)](_0x44f24b=>_0x44f24b[_0x2df2b9(0xf3)]));for(const _0x1ef74c of _0x5ce87c){if(!_0x11f334[_0x2df2b9(0xed)](_0x1ef74c))_0x2a7e48['push'](_0x1ef74c);}}catch(_0x4fadf9){for(const _0x57d4eb of _0x5ce87c){_0x3d4565['push']({'key':_0x57d4eb,'error':_0x4fadf9[_0x2df2b9(0xf6)]});}}}return{'deleted':_0x2a7e48,'failed':_0x3d4565};}async[a0_0x16c64e(0xeb)](_0x22dba4,_0x136589=0xe10){const _0x39d38b=a0_0x16c64e,{GetObjectCommand:_0x254dde}=require(_0x39d38b(0xf1)),{getSignedUrl:_0x5dcff4}=require('@aws-sdk/s3-request-presigner'),_0x3d4f0f=new _0x254dde({'Bucket':this['bucket'],'Key':_0x22dba4});return _0x5dcff4(this['_getClient'](),_0x3d4f0f,{'expiresIn':_0x136589});}async[a0_0x16c64e(0x122)](_0x308ca3,_0x39665c,_0x578b00=0xe10){const _0x576c8d=a0_0x16c64e,{PutObjectCommand:_0x4ecd35}=require('@aws-sdk/client-s3'),{getSignedUrl:_0x5cccce}=require(_0x576c8d(0xef)),_0x5146cf=new _0x4ecd35({'Bucket':this[_0x576c8d(0x106)],'Key':_0x308ca3,'ContentType':_0x39665c}),_0x24d5b8=await _0x5cccce(this[_0x576c8d(0xfd)](),_0x5146cf,{'expiresIn':_0x578b00});return{'uploadUrl':_0x24d5b8,'key':_0x308ca3,'expiresIn':_0x578b00};}async['exists'](_0xc314bd){const _0x4fcca7=a0_0x16c64e,_0x492f09={'vUwZN':function(_0x1981a6,_0x438f9c){return _0x1981a6(_0x438f9c);},'XrvOA':'NotFound','RQFkm':function(_0xa04450,_0xc85ace){return _0xa04450===_0xc85ace;}},{HeadObjectCommand:_0x22f5ec}=_0x492f09['vUwZN'](require,'@aws-sdk/client-s3');try{return await this['_getClient']()[_0x4fcca7(0x10e)](new _0x22f5ec({'Bucket':this['bucket'],'Key':_0xc314bd})),!![];}catch(_0x4c5f88){if(_0x4c5f88['name']===_0x492f09['XrvOA']||_0x492f09[_0x4fcca7(0xfc)](_0x4c5f88['$metadata']?.['httpStatusCode'],0x194))return![];throw _0x4c5f88;}}async[a0_0x16c64e(0x117)](_0x352dc1){const _0x2ac8ca=a0_0x16c64e,_0xb049b6={'UVzjM':function(_0x2fab13,_0x30f032){return _0x2fab13(_0x30f032);},'SzvzB':'@aws-sdk/client-s3'},{HeadObjectCommand:_0x574033}=_0xb049b6['UVzjM'](require,_0xb049b6[_0x2ac8ca(0x11f)]),_0x2ca206=await this['_getClient']()[_0x2ac8ca(0x10e)](new _0x574033({'Bucket':this[_0x2ac8ca(0x106)],'Key':_0x352dc1}));return{'size':_0x2ca206[_0x2ac8ca(0xf5)],'contentType':_0x2ca206[_0x2ac8ca(0xf2)],'lastModified':_0x2ca206['LastModified']};}['getPublicUrl'](_0x76bab2){const _0x5209ca=a0_0x16c64e,_0x4e79b0={'LjvWz':function(_0x230a6b,_0x13ea44){return _0x230a6b===_0x13ea44;},'BHKxF':'true'},_0x2b0d10=this['config'][_0x5209ca(0x102)]||process[_0x5209ca(0x111)][_0x5209ca(0xf8)];if(_0x2b0d10){const _0x3ff776=this['config'][_0x5209ca(0x108)]||_0x4e79b0[_0x5209ca(0xec)](process[_0x5209ca(0x111)]['S3_FORCE_PATH_STYLE'],_0x4e79b0[_0x5209ca(0x109)]);if(_0x3ff776)return _0x2b0d10+'/'+this[_0x5209ca(0x106)]+'/'+_0x76bab2;return _0x2b0d10+'/'+_0x76bab2;}return _0x5209ca(0x103)+this[_0x5209ca(0x106)]+_0x5209ca(0x11e)+this[_0x5209ca(0x115)]+_0x5209ca(0x110)+_0x76bab2;}}function a0_0x2b67(){const _0x93f24d=['y29UDgvUDfr5Cgu','lNmZlG','u3P2EKi','ndiXmtu3n0XRuwfwyW','y29UzMLN','z2v0uhjLC2LNBMvKvxbSB2fKvxjS','odu5mJy4mfvYyK5XBW','CfHmA3e','CgfYDfnPEMu','C3bSAxq','zMLSzvnPEMu','z2v0u2LNBMvKvxjS','tgP2v3O','AgfZ','mtqXnZeYneztv2PbCW','qgf3CY1ZzgSVCZmTCMvXDwvZDc1WCMvZAwDUzxi','z3rAAwG','qgf3CY1ZzgSVy2XPzw50lxmZ','q29UDgvUDfr5Cgu','s2v5','z2HlvLO','q29UDgvUDeXLBMD0Aa','BwvZC2fNzq','BgL2wwW','uZnFru5eue9jtLq','lI9IyxnLlxn0B3jHz2uTChjVDMLKzxi','Bwv0ywrHDge','BwfW','uLfgA20','x2DLDenSAwvUDa','ywnJzxnZs2v5swq','uZnFqLvds0vu','vgrWwfm','ntyXm3fgtMf0Cq','zw5KCg9PBNq','Ahr0Chm6lY8','rxjYB3jZ','uZnFuKvhsu9o','yNvJA2v0','mtG0nJuYnxbHBhPUDq','zM9Yy2vqyxrOu3r5Bgu','qKHlEey','odrfzgDQCuO','BgvUz3rO','ChjVDMLKzxjoyw1L','C2XPy2u','C2vUza','A0LOCxa','lMfTyxPVBMf3CY5JB20V','zw52','DxbSB2fK','zxHWB3j0CW','ntu0ntK4BLHRzuf2','CMvNAw9U','yxaTC291DgHLyxn0lte','z2v0twv0ywrHDge','mtiXndbRthbjEKC','x2nSAwvUDa','mJyWmeHjEMrbsa','mZi0nwruCLj2va','mKXXAMrxua'];a0_0x2b67=function(){return _0x93f24d;};return a0_0x2b67();}module[a0_0x16c64e(0x113)]=S3StorageProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';const a0_0xcccff8=a0_0x16ac;function a0_0x16ac(_0x179dc1,_0x143f72){_0x179dc1=_0x179dc1-0x168;const _0x1269ec=a0_0x1269();let _0x16ac2a=_0x1269ec[_0x179dc1];if(a0_0x16ac['YGVpSS']===undefined){var _0x4a5b3c=function(_0x29ce79){const _0x223ca4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x428244='',_0x1b68b3='';for(let _0x2a854b=0x0,_0x45a6da,_0x3731b4,_0x4a6c58=0x0;_0x3731b4=_0x29ce79['charAt'](_0x4a6c58++);~_0x3731b4&&(_0x45a6da=_0x2a854b%0x4?_0x45a6da*0x40+_0x3731b4:_0x3731b4,_0x2a854b++%0x4)?_0x428244+=String['fromCharCode'](0xff&_0x45a6da>>(-0x2*_0x2a854b&0x6)):0x0){_0x3731b4=_0x223ca4['indexOf'](_0x3731b4);}for(let _0x133397=0x0,_0x201ea6=_0x428244['length'];_0x133397<_0x201ea6;_0x133397++){_0x1b68b3+='%'+('00'+_0x428244['charCodeAt'](_0x133397)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b68b3);};a0_0x16ac['jautxe']=_0x4a5b3c,a0_0x16ac['aMzQHx']={},a0_0x16ac['YGVpSS']=!![];}const _0x36a0b6=_0x1269ec[0x0],_0x373f00=_0x179dc1+_0x36a0b6,_0x27db24=a0_0x16ac['aMzQHx'][_0x373f00];return!_0x27db24?(_0x16ac2a=a0_0x16ac['jautxe'](_0x16ac2a),a0_0x16ac['aMzQHx'][_0x373f00]=_0x16ac2a):_0x16ac2a=_0x27db24,_0x16ac2a;}(function(_0x5bc454,_0x451b8b){const _0x3b4d02=a0_0x16ac,_0x14dc57=_0x5bc454();while(!![]){try{const _0x2dde00=-parseInt(_0x3b4d02(0x179))/0x1+-parseInt(_0x3b4d02(0x16e))/0x2+parseInt(_0x3b4d02(0x17a))/0x3*(parseInt(_0x3b4d02(0x16f))/0x4)+parseInt(_0x3b4d02(0x168))/0x5*(-parseInt(_0x3b4d02(0x186))/0x6)+parseInt(_0x3b4d02(0x188))/0x7+-parseInt(_0x3b4d02(0x17f))/0x8*(parseInt(_0x3b4d02(0x169))/0x9)+parseInt(_0x3b4d02(0x187))/0xa*(parseInt(_0x3b4d02(0x176))/0xb);if(_0x2dde00===_0x451b8b)break;else _0x14dc57['push'](_0x14dc57['shift']());}catch(_0x4a8550){_0x14dc57['push'](_0x14dc57['shift']());}}}(a0_0x1269,0x2dec0));const {logger}=require(a0_0xcccff8(0x16c));function a0_0x1269(){const _0x26cac8=['EKfby3O','zxHWB3j0CW','nuHzEunZAG','mtGZmJK5nenbBg5PyG','vxbSB2fKignSzwfUDxa6igzVDw5Kia','zw52','lI4VlI4VDxrPBhmVBg9Nz2vY','vMrjwg0','mJe3mZm2BfLuyKjM','ngf4wfvUBG','zgvSzxrLza','igrLBgv0zwqSia','DxbSB2fKx2nSzwfUDxbFzg9Uzq','vxbSB2fKignSzwfUDxaGy29TCgXLDgvKoIa','vfnSsvK','zxjYB3i','mtu3mJu2uLDguwfO','igzPBguOCYKGzMfPBgvKihrVigrLBgv0zq','yMrLveO','mZeZmJuXq25Uruff','mJu1mteXCMToyuPy','DxbSB2fKx2nSzwfUDxbFzw1WDhK','vxbSB2fKignSzwfUDxa6ig5Vig9YCgHHBIbMAwXLCYbMB3vUza','DxbSB2fKx2nSzwfUDxbFCgfYDgLHBf9MywLSDxjL','AhDxuMm','ofnes1L1yG','BgvUz3rO','zMfPBgvK','vxbSB2fKignSzwfUDxaGzMfPBgvKoIa','u3rVCMfNzsbWCM92AwrLCIbUB3qGyxzHAwXHyMXL','Aw5MBW','lI9PBMrLEa','mtC2ntaWmKjitLDTua','nZeWvMXWyurb','ntq1nJvMtK9WEwi','BwvZC2fNzq'];a0_0x1269=function(){return _0x26cac8;};return a0_0x1269();}async function execute(){const _0x46234c=a0_0xcccff8,_0x4989c0={'GUfwj':function(_0x3bbc02,_0x30283e){return _0x3bbc02*_0x30283e;},'hwWRc':'./upload-pending-tracker','zAAcz':function(_0xa1cba3,_0x2eb601){return _0xa1cba3(_0x2eb601);},'TSlIY':_0x46234c(0x185),'bdeTJ':'upload_cleanup_skipped','VdIXm':_0x46234c(0x183),'COONz':_0x46234c(0x17b),'pGMyq':_0x46234c(0x17c),'GWaFm':function(_0x394f5e,_0x4ddadf){return _0x394f5e(_0x4ddadf);},'KsXGS':function(_0x571032,_0x22b0d1){return _0x571032>_0x22b0d1;}},_0x1a4866=parseInt(process[_0x46234c(0x16b)]['UPLOAD_CLEANUP_THRESHOLD'],0xa)||0x15180,_0x450919=_0x4989c0['GUfwj'](_0x1a4866,0x3e8);try{const {getOrphanKeys:_0x22b5de,removeOrphanKeys:_0x396897}=require(_0x4989c0[_0x46234c(0x17e)]),{getStorageProvider:_0x2ae794}=_0x4989c0[_0x46234c(0x18a)](require,_0x4989c0[_0x46234c(0x174)]),_0x1ebc62=_0x2ae794();if(!_0x1ebc62)return logger['warn']({'event':_0x4989c0[_0x46234c(0x178)],'reason':_0x4989c0[_0x46234c(0x16d)]},'Upload\x20cleanup\x20skipped:\x20storage\x20provider\x20not\x20available'),{'deleted':0x0,'failed':0x0,'skipped':!![]};const _0x43594a=await _0x22b5de(_0x450919);if(_0x43594a[_0x46234c(0x180)]===0x0)return logger['info']({'event':_0x4989c0['COONz']},_0x4989c0['pGMyq']),{'deleted':0x0,'failed':0x0,'skipped':![]};logger[_0x46234c(0x184)]({'event':'upload_cleanup_start','count':_0x43594a['length'],'thresholdHours':Math['round'](_0x1a4866/0xe10)},_0x46234c(0x16a)+_0x43594a['length']+'\x20orphan\x20file(s)');const _0x545f73=await _0x1ebc62['deleteMany'](_0x43594a);return _0x545f73['deleted'][_0x46234c(0x180)]>0x0&&await _0x4989c0['GWaFm'](_0x396897,_0x545f73['deleted']),logger['info']({'event':_0x46234c(0x172),'deleted':_0x545f73['deleted'][_0x46234c(0x180)],'failed':_0x545f73['failed'][_0x46234c(0x180)]},_0x46234c(0x173)+_0x545f73['deleted']['length']+_0x46234c(0x171)+_0x545f73['failed'][_0x46234c(0x180)]+'\x20failed'),_0x4989c0['KsXGS'](_0x545f73['failed'][_0x46234c(0x180)],0x0)&&logger['warn']({'event':_0x46234c(0x17d),'failed':_0x545f73[_0x46234c(0x181)]},'Upload\x20cleanup:\x20'+_0x545f73[_0x46234c(0x181)]['length']+_0x46234c(0x177)),{'deleted':_0x545f73[_0x46234c(0x170)]['length'],'failed':_0x545f73['failed']['length'],'skipped':![]};}catch(_0x458093){logger[_0x46234c(0x175)]({'event':'upload_cleanup_error','error':_0x458093['message']},_0x46234c(0x182)+_0x458093[_0x46234c(0x189)]);throw _0x458093;}}module[a0_0xcccff8(0x18b)]={'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x402d(){const _0x43223f=['ndbzvKTKzue','yNvSBg1X','igzPBguOCYKGzgvSzxrLza','rujvA2i','wxf4AKq','ndG4zMjcvgrU','vxbSB2fKignSzwfUDxaGC2nOzwr1BgvYihn0B3bWzwq','mtC3odbrqxPkyum','uKvesvnFueftu1DpuKq','qMHzvge','DxbSB2fKx2nSzwfUDxbFAM9Ix2nVBxbSzxrLza','DxbZzxj0sM9Iu2nOzwr1BgvY','mZuWmde5Bg1kz3Dh','tfrhrvy','DxbSB2fKlwnSzwfUDxa','vxbSB2fKignSzwfUDxaGAM9IignVBxbSzxrLzdOG','ndy0ntLwte14zge','wuf6BNq','zxHWB25LBNrPywW','DxbSB2fKx2nSzwfUDxbFAM9Ix2zHAwXLza','uKvesvnFse9tva','Aw5MBW','CMy6','ndHeCgH3wKy','mte3nJvRqvzwD04','mte1otG0mZbHwe5SCxa','zxjYB3i','zw52','mJC1mtLxuwPXB0K','y2XVC2u','DxbSB2fKx2nSzwfUDxbFC2nOzwr1BgvYx2vYCM9Y','BxfUu2K','mZG0mJaWC0PWtu1N','DxbSB2fKx2nSzwfUDxbFC2nOzwr1BgvYx3n0B3bWzwq','BwvZC2fNzq','zgvSzxrLza','DxbSB2fKx2nSzwfUDxbFC2nOzwr1BgvYx3nODxrKB3DUx2vYCM9Y','v0j4A28','vxbSB2fKignSzwfUDxaGAM9IigzHAwXLzdOG'];a0_0x402d=function(){return _0x43223f;};return a0_0x402d();}(function(_0x3ebcf1,_0x404edc){const _0x163dc2=a0_0x5b44,_0x42a45c=_0x3ebcf1();while(!![]){try{const _0x54d809=-parseInt(_0x163dc2(0x1dd))/0x1+parseInt(_0x163dc2(0x1e4))/0x2*(-parseInt(_0x163dc2(0x1d9))/0x3)+parseInt(_0x163dc2(0x1eb))/0x4+-parseInt(_0x163dc2(0x1d5))/0x5*(-parseInt(_0x163dc2(0x1d4))/0x6)+parseInt(_0x163dc2(0x1f4))/0x7*(-parseInt(_0x163dc2(0x1e9))/0x8)+parseInt(_0x163dc2(0x1f0))/0x9+parseInt(_0x163dc2(0x1d6))/0xa;if(_0x54d809===_0x404edc)break;else _0x42a45c['push'](_0x42a45c['shift']());}catch(_0x2b07ad){_0x42a45c['push'](_0x42a45c['shift']());}}}(a0_0x402d,0x3ce8e));const {logger}=require('../../utils/logger');let _queue=null,_worker=null,_initialized=![];function a0_0x5b44(_0x201de2,_0xf46140){_0x201de2=_0x201de2-0x1d1;const _0x402d6c=a0_0x402d();let _0x5b442b=_0x402d6c[_0x201de2];if(a0_0x5b44['ZStTcF']===undefined){var _0x337876=function(_0x406274){const _0x4cecbd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49c6db='',_0x300f78='';for(let _0x35d03f=0x0,_0x328192,_0xced28d,_0x28db24=0x0;_0xced28d=_0x406274['charAt'](_0x28db24++);~_0xced28d&&(_0x328192=_0x35d03f%0x4?_0x328192*0x40+_0xced28d:_0xced28d,_0x35d03f++%0x4)?_0x49c6db+=String['fromCharCode'](0xff&_0x328192>>(-0x2*_0x35d03f&0x6)):0x0){_0xced28d=_0x4cecbd['indexOf'](_0xced28d);}for(let _0x5399b4=0x0,_0x2b772f=_0x49c6db['length'];_0x5399b4<_0x2b772f;_0x5399b4++){_0x300f78+='%'+('00'+_0x49c6db['charCodeAt'](_0x5399b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x300f78);};a0_0x5b44['EFEeHi']=_0x337876,a0_0x5b44['MGbiOW']={},a0_0x5b44['ZStTcF']=!![];}const _0x483624=_0x402d6c[0x0],_0x4f65ec=_0x201de2+_0x483624,_0x5aa54f=a0_0x5b44['MGbiOW'][_0x4f65ec];return!_0x5aa54f?(_0x5b442b=a0_0x5b44['EFEeHi'](_0x5b442b),a0_0x5b44['MGbiOW'][_0x4f65ec]=_0x5b442b):_0x5b442b=_0x5aa54f,_0x5b442b;}async function initialize(){const _0x11b2d2=a0_0x5b44,_0x1be952={'FNnLD':function(_0x55d2a4,_0x12c959){return _0x55d2a4(_0x12c959);},'BhYTa':'./upload-cleanup-job','YqxjD':function(_0x33d18f){return _0x33d18f();},'mqnSi':'ioredis','nkoQh':'localhost','LTGEV':function(_0x50bf48,_0xbcbafa,_0x2ac0b6){return _0x50bf48(_0xbcbafa,_0x2ac0b6);},'WBxko':_0x11b2d2(0x1f2),'EBUkb':'failed','nVVJV':'upload_cleanup_scheduler_started'};if(_initialized)return;try{const {Queue:_0x231554,Worker:_0x58bb76}=require(_0x11b2d2(0x1e5)),_0x5ca2a3=require(_0x1be952[_0x11b2d2(0x1dc)]),_0x23db36=process[_0x11b2d2(0x1d8)][_0x11b2d2(0x1d1)]||_0x1be952['nkoQh'],_0x272444=parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,_0x4705a9=process['env'][_0x11b2d2(0x1ec)]||undefined,_0x3d9331=_0x1be952[_0x11b2d2(0x1f1)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,_0x434580={'host':_0x23db36,'port':_0x272444,'password':_0x4705a9,'db':_0x3d9331,'maxRetriesPerRequest':null},_0x2b50ad=process[_0x11b2d2(0x1d8)]['RESTFORGE_PROJECT_NAME']||'default',_0x1347b1=_0x11b2d2(0x1d3)+_0x2b50ad+':upload-cleanup',_0x4be819=process[_0x11b2d2(0x1d8)]['UPLOAD_CLEANUP_CRON']||'0\x20*/6\x20*\x20*\x20*';_queue=new _0x231554(_0x1347b1,{'connection':new _0x5ca2a3(_0x434580)}),await _queue[_0x11b2d2(0x1ef)](_0x1be952['WBxko'],{'pattern':_0x4be819},{'name':_0x1be952[_0x11b2d2(0x1e2)],'data':{'triggeredBy':'cron'},'opts':{'attempts':0x3,'backoff':{'type':_0x11b2d2(0x1f6),'delay':0x1388},'timeout':0x1d4c0}}),_worker=new _0x58bb76(_0x1347b1,async _0x47fee9=>{const _0x1ed5ef=_0x11b2d2,{execute:_0x3810fa}=_0x1be952['FNnLD'](require,_0x1be952[_0x1ed5ef(0x1ed)]),_0x279bca=await _0x1be952[_0x1ed5ef(0x1e8)](_0x3810fa);return _0x279bca;},{'connection':new _0x5ca2a3(_0x434580),'concurrency':0x1}),_worker['on']('completed',(_0x460787,_0x2b4a2a)=>{const _0x3e5f3a=_0x11b2d2;logger[_0x3e5f3a(0x1d2)]({'event':_0x3e5f3a(0x1ee),'jobId':_0x460787['id'],'result':_0x2b4a2a},_0x3e5f3a(0x1f3)+_0x2b4a2a[_0x3e5f3a(0x1e0)]+_0x3e5f3a(0x1e6));}),_worker['on'](_0x1be952[_0x11b2d2(0x1e7)],(_0x2af162,_0x5aee56)=>{const _0x2bd65e=_0x11b2d2;logger['error']({'event':_0x2bd65e(0x1f7),'jobId':_0x2af162?.['id'],'error':_0x5aee56[_0x2bd65e(0x1df)]},_0x2bd65e(0x1e3)+_0x5aee56[_0x2bd65e(0x1df)]);}),_initialized=!![],logger[_0x11b2d2(0x1d2)]({'event':_0x1be952['nVVJV'],'cron':_0x4be819,'queue':_0x1347b1},'Upload\x20cleanup\x20scheduler\x20started\x20(cron:\x20'+_0x4be819+')');}catch(_0x3d0a26){logger[_0x11b2d2(0x1d7)]({'event':_0x11b2d2(0x1db),'error':_0x3d0a26[_0x11b2d2(0x1df)]},'Failed\x20to\x20initialize\x20upload\x20cleanup\x20scheduler:\x20'+_0x3d0a26[_0x11b2d2(0x1df)]);}}async function shutdown(){const _0x3ab308=a0_0x5b44,_0xfb6604={'hUTBB':_0x3ab308(0x1de),'YAznt':_0x3ab308(0x1ea),'pmfkX':_0x3ab308(0x1e1)};try{_worker&&(await _worker[_0x3ab308(0x1da)](),_worker=null),_queue&&(await _queue['close'](),_queue=null),_initialized=![],logger['info']({'event':_0xfb6604['hUTBB']},_0xfb6604[_0x3ab308(0x1f5)]);}catch(_0x187866){logger['error']({'event':_0xfb6604['pmfkX'],'error':_0x187866['message']},'Error\x20shutting\x20down\x20upload\x20cleanup\x20scheduler:\x20'+_0x187866[_0x3ab308(0x1df)]);}}module['exports']={'initialize':initialize,'shutdown':shutdown};
|