@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
|
-
function a0_0x4e6b(_0x3b22c4,_0x50ea9f){_0x3b22c4=_0x3b22c4-0xe1;const _0x39ec84=a0_0x39ec();let _0x4e6b4e=_0x39ec84[_0x3b22c4];if(a0_0x4e6b['rOsfId']===undefined){var _0xbdade8=function(_0x2b71a3){const _0x46f94c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50dd01='',_0x41c9fd='';for(let _0xe09d57=0x0,_0x4117aa,_0x45b923,_0x2ac39f=0x0;_0x45b923=_0x2b71a3['charAt'](_0x2ac39f++);~_0x45b923&&(_0x4117aa=_0xe09d57%0x4?_0x4117aa*0x40+_0x45b923:_0x45b923,_0xe09d57++%0x4)?_0x50dd01+=String['fromCharCode'](0xff&_0x4117aa>>(-0x2*_0xe09d57&0x6)):0x0){_0x45b923=_0x46f94c['indexOf'](_0x45b923);}for(let _0x10ba91=0x0,_0x412883=_0x50dd01['length'];_0x10ba91<_0x412883;_0x10ba91++){_0x41c9fd+='%'+('00'+_0x50dd01['charCodeAt'](_0x10ba91)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41c9fd);};a0_0x4e6b['MQWaOG']=_0xbdade8,a0_0x4e6b['cVWkgO']={},a0_0x4e6b['rOsfId']=!![];}const _0x460eb6=_0x39ec84[0x0],_0x502bfa=_0x3b22c4+_0x460eb6,_0x4b6b36=a0_0x4e6b['cVWkgO'][_0x502bfa];return!_0x4b6b36?(_0x4e6b4e=a0_0x4e6b['MQWaOG'](_0x4e6b4e),a0_0x4e6b['cVWkgO'][_0x502bfa]=_0x4e6b4e):_0x4e6b4e=_0x4b6b36,_0x4e6b4e;}const a0_0xec2cb9=a0_0x4e6b;(function(_0x5b9be3,_0x3271fd){const _0x5d2c0b=a0_0x4e6b,_0x164202=_0x5b9be3();while(!![]){try{const _0x552d0b=-parseInt(_0x5d2c0b(0xfa))/0x1*(-parseInt(_0x5d2c0b(0x166))/0x2)+parseInt(_0x5d2c0b(0xe6))/0x3*(-parseInt(_0x5d2c0b(0x168))/0x4)+parseInt(_0x5d2c0b(0x124))/0x5+-parseInt(_0x5d2c0b(0x13b))/0x6*(-parseInt(_0x5d2c0b(0x14b))/0x7)+parseInt(_0x5d2c0b(0x156))/0x8+parseInt(_0x5d2c0b(0x12c))/0x9+-parseInt(_0x5d2c0b(0x157))/0xa*(parseInt(_0x5d2c0b(0x184))/0xb);if(_0x552d0b===_0x3271fd)break;else _0x164202['push'](_0x164202['shift']());}catch(_0x1ee014){_0x164202['push'](_0x164202['shift']());}}}(a0_0x39ec,0x42075));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xec2cb9(0x121)],redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0xec2cb9(0x10e)),dbType=(process['env'][a0_0xec2cb9(0x126)]||a0_0xec2cb9(0xec))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0xec2cb9(0x14f))oracleDb=require(a0_0xec2cb9(0x172)),executeQuery=(_0xf4dfdf,_0x274f6a)=>oracleDb['executeQuery'](_0xf4dfdf,_0x274f6a),executeTransaction=_0x100e4c=>oracleDb[a0_0xec2cb9(0x127)](_0x100e4c);else{if(dbType===a0_0xec2cb9(0xe5)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x24054c,_0x2e3f62)=>mysqlDb['executeQuery'](_0x24054c,_0x2e3f62),executeTransaction=_0x2eaf72=>mysqlDb['executeTransaction'](_0x2eaf72);}else{const db=require('../../core/utils/db');executeQuery=db[a0_0xec2cb9(0xf4)],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0xec2cb9(0x16b)),importValidator=require(a0_0xec2cb9(0x107)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0xec2cb9(0x153));function a0_0x39ec(){const _0x183255=['Aw1WB3j0x2zPBgvFDxbSB2fKzwq','DxbSB2fKoG','AM9Ix2LK','AM9PBG','yMf0y2HwywXPzgf0zvjVD3m','su5trvju','zMfPBgvK','Aw5Zzxj0x29UBhK','s3DXtfq','vvbhwxu','C2L6zq','ChjVBwLZzxm','A2v5CW','BwfW','mtC2otqXnuf0sLH4EG','AxzougW','rejFvfLqrq','zxHLy3v0zvrYyw5Zywn0Aw9U','Dg9ju09tDhjPBMC','x2fJDgLVBG','CenXze0','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','mJuWmJa0nvD0rKLdqq','Cgf0Aa','jdfFjdi','uhjLDMLLDYbQB2iGzMfPBgvK','yNvPBgrmywjLBfrVrMLLBgrnyxa','DhjPBq','y3vpsLy','q29TBwL0igPVyIbJB21WBgv0zwq','CgfYyw1Z','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','CMvWBgfJzq','Bwf0y2G','v2DhAeO','x3vWBg9HzerPCG','rKPMwM8','nKXRy0rhDG','cIaGicaGicaGu0vmrunuia','uhLkDgy','rhvWBgLJyxrLihzHBhvLigzVCIa','Aw5MBW','BNvTyMvY','q25Szw8','C3rYAw5N','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','rurUyxO','AgvHzgvYC19TyxbWzwq','ChjLDMLLD19VAW','zgvIDwC','yNvPBgrcyxrJAeLUC2vYDa','D0rJuM0','ChjLDMLLD19QB2jFzMfPBgvK','mJq0ntCWowfeyu94sG','y29SDw1UrM9YBwf0CW','DgfYz2v0rMLLBgq','CM93sw5KzxG','B3jHy2XL','u0Tjua','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','y3jLyxrLzf9HDa','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','Ce5dDe0','DgvZDa','mJG3nZqYngzRufLOCG','mtq5nJuWmJbzsvbXtLG','DxbSB2fKrMLSzq','tLvmta','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','vvbmt0fex0rjuG','Aw5KzxHpzG','y2H1BMTsB3DZ','twnVAKi','zMLUza','B3jPz2LUywXUyw1L','Dw5SAw5R','ChvZAa','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','AMvjAwq','z2v0rNvSBfLLyxi','mJaYmtKWsM5TCfHY','tgTIDfK','mtC5nKLUCvnSDW','DxbSB2fKx2LK','y291BNq','lI9LEgnLBc1WyxjZzxi','zxHWB3j0CW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','weXwELi','CM93CW','r2DSBKe','Dg9tDhjPBMC','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','Dg9mB3DLCKnHC2u','z2v0rgf0zq','ChjVy2vZC0nVBw1PDePVyG','cIaGicaGicaGv0HfuKuG','z2v0sM9I','y29TBwL0x2PVyL9MywLSzwq','zMLSDgvY','z2v0','A3vNyNO','zw50CMLLCW','ChjLDMLLD19QB2jFy3jLyxrLza','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','z2vUzxjHDgvjza','CgfYC2vfEgnLBezPBgu','D1DOC0W','vw5cBxe','DMfSDwvZ','mtfire1oB1i','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','rwD1y1O','B0X1ALe','C3fS','BxLZCwW','ntmXuKjire9Q','BMLwuwS','C2v0sM9I','r29oDee','ChjVy2vZC1bYzxzPzxDkB2i','CgfKu3rHCNq','Cg9ZDgDYzxnXBa','sLnZCeW','CMPWDKq','y29TBwL0x3bYB2nLC3nFzxjYB3i','yxbWBhLdB2X1Bw5gB3jTyxrZ','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','C2TywvK','C2XPy2u','zxHLy3v0zvf1zxj5','x2DLBMvYyxrLzf91DwLK','DxbKyxrLx2v4Axn0Aw5N','uMzWrve','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','DxbKyxrL','nvzyu2XkuW','BgvUz3rO','sunPEKi','zM9YrwfJAa','C2TPCf9LEgLZDgLUzW','y29TBwL0x2PVyL9JCMvHDgvK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','x2vYCM9YCW','t0PsCei','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zxjYB3jZ','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zMLLBgrmywjLBhm','lI9PBxbVCNqTDMfSAwrHDg9Y','y3jLyxrLq29TBwL0sM9I','DvnYzvq','y2HHCKf0','C2v0','AM9IoG','z2v0vgLTzq','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','AgfZ','wfn2zu8','igf0ihjVDYa','BwvZC2fNzq','z2v0sM9Iu3rHDhvZ','vvbeqvrf','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq'];a0_0x39ec=function(){return _0x183255;};return a0_0x39ec();}class ImportService{constructor(){const _0x64ac94=a0_0xec2cb9;this[_0x64ac94(0x139)]=null;}get['uploadDir'](){const _0x25adaf=a0_0xec2cb9;if(!this[_0x25adaf(0x139)]){const _0x591db2=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x25adaf(0x139)]=process['env'][_0x25adaf(0x15b)]||path[_0x25adaf(0x119)](__dirname,'../../temp/uploads/'+_0x591db2);}return this[_0x25adaf(0x139)];}[a0_0xec2cb9(0x17f)](){const _0x4bb5a=a0_0xec2cb9,_0x4ad519={'bmKBh':_0x4bb5a(0x135),'RpVOw':function(_0x1319a9){return _0x1319a9();},'MCwzT':function(_0x9c7434,_0xb9c403){return _0x9c7434<_0xb9c403;}},_0x342f2d=_0x4ad519['bmKBh'],_0x233f6b=Date['now']()[_0x4bb5a(0x171)](0x24),_0x4cc849=_0x4ad519['RpVOw'](uuidv7)[_0x4bb5a(0x136)](/-/g,'')['substring'](0x0,0xc-_0x233f6b[_0x4bb5a(0xfb)]),_0x2b8b87=(_0x233f6b+_0x4cc849)['substring'](0x0,0xc);let _0xa44b19='';for(let _0x56de35=0x0;_0x4ad519['MCwzT'](_0x56de35,0xc);_0x56de35++){_0x2b8b87[_0x56de35]?_0xa44b19+=_0x2b8b87[_0x56de35]:_0xa44b19+=_0x342f2d[_0x4bb5a(0x10a)](Math['floor'](Math['random']()*_0x342f2d[_0x4bb5a(0xfb)]));}return _0xa44b19;}[a0_0xec2cb9(0x130)](_0x17338a){const _0x520387=a0_0xec2cb9,_0x12dc63={'bxKBG':function(_0x24db08,_0x34bb28){return _0x24db08(_0x34bb28);},'xRFRx':'Label\x20to\x20field\x20mapping\x20built'},_0x3864c5=new Map();if(!_0x17338a)return _0x3864c5;return Object[_0x520387(0x17c)](_0x17338a)[_0x520387(0xfd)](([_0x347961,_0x56e2cd])=>{const _0xb0926=_0x520387,_0x4dbb2a=_0x12dc63['bxKBG'](String,_0x56e2cd)[_0xb0926(0x131)]()[_0xb0926(0x136)](/\s+/g,'_')[_0xb0926(0x136)](/([a-z])([A-Z])/g,_0xb0926(0x12e))[_0xb0926(0x136)](/([A-Z]+)([A-Z][a-z])/g,_0xb0926(0x12e))['toLowerCase']();_0x3864c5[_0xb0926(0x10b)](_0x4dbb2a,_0x347961);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x3864c5['size']},_0x12dc63['xRFRx']),_0x3864c5;}[a0_0xec2cb9(0xf0)](_0x5e081f,_0x1ee586){const _0x42aa97=a0_0xec2cb9,_0x3d3c3e={'CQpbs':function(_0x502ceb,_0x11163e){return _0x502ceb===_0x11163e;},'pCqdM':_0x42aa97(0x140),'XSveO':'text','Pstjy':function(_0x10cbc4,_0x19f46a){return _0x10cbc4(_0x19f46a);}};if(!_0x1ee586||_0x3d3c3e['CQpbs'](Object['keys'](_0x1ee586)['length'],0x0))return _0x5e081f;return _0x5e081f['map'](_0x100b50=>{const _0x27100c=_0x42aa97,_0x29e7fb={..._0x100b50};for(const [_0x557898,_0x4861b5]of Object['entries'](_0x1ee586)){const _0x272fa8=_0x29e7fb[_0x557898];if(_0x3d3c3e['CQpbs'](_0x272fa8,null)||_0x272fa8===undefined||_0x272fa8===''){_0x29e7fb[_0x557898]=null;continue;}switch(_0x4861b5['type']){case'date':_0x29e7fb[_0x557898]=this[_0x27100c(0xf1)](_0x272fa8);break;case _0x3d3c3e[_0x27100c(0x12a)]:_0x29e7fb[_0x557898]=this[_0x27100c(0x143)](_0x272fa8);break;case _0x3d3c3e[_0x27100c(0x110)]:_0x29e7fb[_0x557898]=_0x3d3c3e['Pstjy'](String,_0x272fa8);break;default:break;}}return _0x29e7fb;});}['formatDateForDatabase'](_0x487154){const _0x8c152f=a0_0xec2cb9,_0x273a64={'pxwaP':function(_0x1daa2e,_0x2bf79b){return _0x1daa2e===_0x2bf79b;},'gzswW':'string','niVQk':function(_0x495f2a,_0x510493){return _0x495f2a(_0x510493);},'GclKJ':function(_0x50d338,_0x378cc1){return _0x50d338(_0x378cc1);}};if(_0x487154===null||_0x273a64['pxwaP'](_0x487154,undefined)||_0x273a64['pxwaP'](_0x487154,''))return null;if(typeof _0x487154===_0x273a64['gzswW']&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x487154))return _0x487154;if(_0x487154 instanceof Date){if(isNaN(_0x487154[_0x8c152f(0x10d)]()))return null;const _0x283699=_0x487154[_0x8c152f(0x165)](),_0x549fdc=String(_0x487154['getMonth']()+0x1)[_0x8c152f(0xeb)](0x2,'0'),_0x5453e1=_0x273a64[_0x8c152f(0xe7)](String,_0x487154[_0x8c152f(0x174)]())['padStart'](0x2,'0');return _0x283699+'-'+_0x549fdc+'-'+_0x5453e1;}if(typeof _0x487154===_0x8c152f(0x142)){const _0x611c61=_0x487154[_0x8c152f(0x137)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x611c61){const _0x467830=String(_0x611c61[0x1])['padStart'](0x2,'0'),_0x21b847=String(_0x611c61[0x2])['padStart'](0x2,'0'),_0x2e3b41=_0x611c61[0x3];return _0x2e3b41+'-'+_0x21b847+'-'+_0x467830;}const _0x660092=_0x487154['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x660092){const _0x342b5f=_0x660092[0x1],_0x18db8b=_0x273a64['GclKJ'](String,_0x660092[0x2])['padStart'](0x2,'0'),_0x5239b2=String(_0x660092[0x3])[_0x8c152f(0xeb)](0x2,'0');return _0x342b5f+'-'+_0x18db8b+'-'+_0x5239b2;}}return _0x487154;}[a0_0xec2cb9(0x143)](_0x4140fd){const _0x1642bb=a0_0xec2cb9,_0x2583c6={'qUsjT':function(_0x96419f,_0x251dc6){return _0x96419f===_0x251dc6;},'LGFgR':function(_0x1f71bf,_0x52402e){return _0x1f71bf===_0x52402e;},'MRQMq':_0x1642bb(0x140),'DpERr':function(_0x2c5717,_0x3c5ea2){return _0x2c5717(_0x3c5ea2);},'RfpEQ':function(_0x164d31,_0x965060){return _0x164d31===_0x965060;},'UnBmq':function(_0x13f049,_0x11f027){return _0x13f049(_0x11f027);}};if(_0x2583c6['qUsjT'](_0x4140fd,null)||_0x4140fd===undefined||_0x4140fd==='')return null;if(_0x2583c6['LGFgR'](typeof _0x4140fd,_0x2583c6['MRQMq']))return _0x2583c6['DpERr'](isNaN,_0x4140fd)?null:_0x4140fd;if(_0x2583c6[_0x1642bb(0xf7)](typeof _0x4140fd,_0x1642bb(0x142))){let _0x358356=_0x4140fd['trim']();const _0xab39dc=/,\d{1,2}$/[_0x1642bb(0x155)](_0x358356)&&!/,\d{3}/['test'](_0x358356);_0xab39dc?_0x358356=_0x358356['replace'](/\./g,'')['replace'](',','.'):_0x358356=_0x358356['replace'](/,/g,'');const _0xfdc12a=_0x2583c6[_0x1642bb(0x182)](parseFloat,_0x358356);return isNaN(_0xfdc12a)?null:_0xfdc12a;}return null;}async[a0_0xec2cb9(0x158)](_0x1a2849,_0x51f776){const _0x25e1e4=a0_0xec2cb9,_0x398578={'PyJtf':function(_0x51130a,_0xb454a7){return _0x51130a||_0xb454a7;},'ivNPl':_0x25e1e4(0x17e),'mJMlb':function(_0x5142a9,_0xf4821d){return _0x5142a9>_0xf4821d;},'rQvKX':_0x25e1e4(0xf8),'GoNtA':_0x25e1e4(0x116),'JSspL':function(_0x306e36,_0x3920d0,_0x186d15,_0x2b8b73){return _0x306e36(_0x3920d0,_0x186d15,_0x2b8b73);},'skXYY':'Failed\x20to\x20cleanup\x20file'},_0x55e1d6=this[_0x25e1e4(0x17f)]();try{let {headers:_0x1f7a39,rows:_0x5e24d2,totalRows:_0x432997}=await excelParser[_0x25e1e4(0x180)](_0x1a2849['path']);const _0x5709e2=this['buildLabelToFieldMap'](_0x51f776[_0x25e1e4(0x106)]),_0x595849=_0x1f7a39['map'](_0x509101=>{const _0x51a5dc=_0x25e1e4,_0x47f2d3=_0x5709e2[_0x51a5dc(0x17a)](_0x509101);return _0x398578[_0x51a5dc(0x13d)](_0x47f2d3,_0x509101);});_0x5e24d2=_0x5e24d2[_0x25e1e4(0x123)](_0x542a62=>{const _0x1d9efb=_0x25e1e4,_0x1a848d={};return _0x1f7a39[_0x1d9efb(0xfd)]((_0x4177dd,_0x2d8426)=>{const _0x415de5=_0x595849[_0x2d8426];_0x1a848d[_0x415de5]=_0x542a62[_0x4177dd];}),_0x1a848d;}),_0x1f7a39=_0x595849,logger['debug']({'event':_0x25e1e4(0x145),'original':_0x1f7a39['length'],'mapped':_0x595849['filter']((_0x168ad3,_0x59d00f)=>_0x168ad3!==_0x1f7a39[_0x59d00f])[_0x25e1e4(0xfb)]},_0x398578[_0x25e1e4(0x125)]);_0x51f776['columnFormats']&&_0x398578['mJMlb'](Object[_0x25e1e4(0x122)](_0x51f776[_0x25e1e4(0x14c)])[_0x25e1e4(0xfb)],0x0)&&(_0x5e24d2=this[_0x25e1e4(0xf0)](_0x5e24d2,_0x51f776[_0x25e1e4(0x14c)]),logger['debug']({'event':_0x398578['rQvKX'],'formatCount':Object['keys'](_0x51f776['columnFormats'])[_0x25e1e4(0xfb)],'formats':Object['keys'](_0x51f776[_0x25e1e4(0x14c)])},'Column\x20formats\x20applied\x20to\x20rows'));const _0x2ac130=_0x51f776['lookupFields']?Object[_0x25e1e4(0x183)](_0x51f776['lookupFields'])['map'](_0x4042d8=>_0x4042d8[_0x25e1e4(0x14d)]):[],_0x18d273=_0x51f776['fieldName']['filter'](_0x167a86=>!_0x2ac130['includes'](_0x167a86)),_0x3f1622=excelParser[_0x25e1e4(0x151)](_0x1f7a39,_0x18d273);if(!_0x3f1622['valid']){await fs[_0x25e1e4(0x161)](_0x1a2849[_0x25e1e4(0x12d)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x3f1622['missingFields'][_0x25e1e4(0x119)](',\x20'));}const _0x2d162b={'upload_id':_0x55e1d6,'filename':_0x1a2849['originalname'],'total_rows':_0x432997,'headers':_0x1f7a39,'rows':_0x5e24d2,'params':_0x51f776,'created_at':new Date()[_0x25e1e4(0x128)]()};return await redisHelper['setJob'](_0x25e1e4(0x117)+_0x55e1d6,_0x2d162b,0xe10),await fs['unlink'](_0x1a2849[_0x25e1e4(0x12d)]),logger['info']({'event':_0x398578[_0x25e1e4(0xe9)],'uploadId':_0x55e1d6,'filename':_0x1a2849[_0x25e1e4(0x160)],'totalRows':_0x432997},_0x25e1e4(0x16d)),{'upload_id':_0x55e1d6,'total_rows':_0x432997,'preview':_0x5e24d2[_0x25e1e4(0xf3)](0x0,0xa)};}catch(_0x87ffd1){try{await fs['unlink'](_0x1a2849['path']);}catch(_0x4159a2){_0x398578[_0x25e1e4(0xed)](logError,_0x4159a2,{'event':'file_cleanup_error'},_0x398578[_0x25e1e4(0xf2)]);}throw _0x87ffd1;}}async['createPreviewJob'](_0xb4ff95){const _0x4bec47=a0_0xec2cb9,_0x55e3ed={'EWPBA':'Preview\x20processing\x20failed'},_0x69d917=this['generateId'](),_0x488e6e=await redisHelper['getJob'](_0x4bec47(0x117)+_0xb4ff95);if(!_0x488e6e)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x49d16f={'job_id':_0x69d917,'upload_id':_0xb4ff95,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x488e6e[_0x4bec47(0x134)]};return await redisHelper['setJob']('job:'+_0x69d917,_0x49d16f,0xe10),logger['info']({'event':_0x4bec47(0x17d),'jobId':_0x69d917,'uploadId':_0xb4ff95},'Preview\x20job\x20created'),this[_0x4bec47(0xea)](_0x69d917,_0xb4ff95,_0x488e6e)['catch'](_0x4dfb44=>{logError(_0x4dfb44,{'event':'preview_process_error','jobId':_0x69d917},_0x55e3ed['EWPBA']);}),{'job_id':_0x69d917,'status':'validating'};}['autoGenerateUpsertKeys'](_0x31569a,_0x305336){const _0x19a788=a0_0xec2cb9,_0xdb540d={'GrwXE':function(_0x546b62,_0x48172a){return _0x546b62===_0x48172a;},'rjpvD':function(_0x384ac4,_0x32c5e6){return _0x384ac4(_0x32c5e6);}};_0x31569a[_0x19a788(0xfd)]((_0x47e76b,_0x11931e)=>{const _0x544f60=_0x19a788;_0x305336[_0x544f60(0xfd)](_0x4d146c=>{const _0x5c27a3=_0x544f60,_0x12247d=_0x47e76b[_0x4d146c];if(_0x12247d===null||_0x12247d===undefined||_0xdb540d['GrwXE'](_0x12247d,'')||_0xdb540d[_0x5c27a3(0xee)](String,_0x12247d)['trim']()==='-'){const _0x36247c=uuidv7();_0x47e76b[_0x4d146c]=_0x36247c,_0x47e76b[_0x5c27a3(0xf5)]=_0x47e76b['_generated_uuid']||{},_0x47e76b[_0x5c27a3(0xf5)][_0x4d146c]=_0x36247c,logger[_0x5c27a3(0x147)]({'event':'uuid_auto_generated','rowIndex':_0x11931e,'field':_0x4d146c,'uuid':_0x36247c},'Auto-generated\x20UUID\x20for\x20'+_0x4d146c+_0x5c27a3(0x111)+(_0x11931e+0x2));}});});}async[a0_0xec2cb9(0xea)](_0x34ea8e,_0x510591,_0x2ac2ab){const _0x1406a2=a0_0xec2cb9,_0x49bc63={'XGAkO':_0x1406a2(0x150),'FJfZo':_0x1406a2(0x100),'Cnleo':'preview_job_completed','wWhsL':'Preview\x20job\x20completed','iywbv':_0x1406a2(0x14a)};try{let {rows:_0x4137a9,params:_0x4617c3}=_0x2ac2ab;const {requiredFields:_0x426450,validations:_0x8c4ff4,upsertKeys:_0x12a1e8,tableName:_0x10f571,primaryKey:_0x5fb7,fieldName:_0x475d86,upsertStrategy:_0x51e789,lookupFields:_0x140007}=_0x4617c3;this[_0x1406a2(0xe1)](_0x4137a9,_0x12a1e8);let _0x2f1456=[];if(_0x140007&&Object[_0x1406a2(0x122)](_0x140007)['length']>0x0){logger['info']({'event':_0x49bc63[_0x1406a2(0x13a)],'jobId':_0x34ea8e,'lookupFieldCount':Object[_0x1406a2(0x122)](_0x140007)[_0x1406a2(0xfb)]},'Processing\x20lookup\x20fields');const _0x349736=await lookupResolver['processLookupFields'](_0x4137a9,_0x140007);_0x4137a9=_0x349736['processedRows'],_0x2f1456=_0x349736[_0x1406a2(0x104)],_0x2ac2ab['rows']=_0x4137a9;}const _0x11e501=importValidator[_0x1406a2(0x11a)](_0x4137a9,_0x426450||[],_0x8c4ff4||{});_0x2f1456[_0x1406a2(0xfd)](_0x436f10=>{const _0x477f8e=_0x1406a2,_0x495a4b=_0x11e501['find'](_0xfc43c0=>_0xfc43c0[_0x477f8e(0x14e)]===_0x436f10[_0x477f8e(0x14e)]);_0x495a4b?_0x495a4b['errors']['push'](_0x436f10[_0x477f8e(0x112)]):_0x11e501['push']({'rowIndex':_0x436f10['rowIndex'],'rowData':_0x4137a9[_0x436f10['rowIndex']],'errors':[_0x436f10[_0x477f8e(0x112)]]});});const _0x2546ed=importValidator['detectDuplicatesInFile'](_0x4137a9,_0x12a1e8);_0x2546ed['forEach'](_0x26a326=>{const _0x421b4d=_0x1406a2,_0x1a4c9a=_0x11e501[_0x421b4d(0x15f)](_0x1ba7f0=>_0x1ba7f0['rowIndex']===_0x26a326[_0x421b4d(0x14e)]),_0x4e9500=_0x12a1e8[_0x421b4d(0x123)](_0x2e232e=>_0x2e232e['toUpperCase']())[_0x421b4d(0x119)](',\x20'),_0x47c142=_0x421b4d(0x13e)+_0x4e9500;_0x1a4c9a?_0x1a4c9a['errors']['push'](_0x47c142):_0x11e501[_0x421b4d(0x162)]({'rowIndex':_0x26a326['rowIndex'],'rowData':_0x4137a9[_0x26a326['rowIndex']],'errors':[_0x47c142]});}),await this['detectDatabaseDuplicates'](_0x4137a9,_0x12a1e8,_0x10f571,_0x5fb7,_0x51e789,_0x11e501),_0x11e501['forEach'](_0x5e24c6=>{const _0x42f11e=_0x1406a2,_0x39859d=_0x4137a9[_0x5e24c6[_0x42f11e(0x14e)]];_0x39859d&&(_0x39859d[_0x42f11e(0x101)]=_0x5e24c6['errors']);});let _0x520e5f=0x0,_0xb61f8f=0x0,_0x3268d7=0x0;_0x4137a9['forEach'](_0x2b482f=>{const _0x7c1e4f=_0x1406a2;if(_0x2b482f[_0x7c1e4f(0x129)]==='INSERT')_0x520e5f++;else{if(_0x2b482f['_action']==='UPDATE')_0xb61f8f++;else _0x2b482f['_action']===_0x49bc63['XGAkO']&&_0x3268d7++;}});const _0x228229={'job_id':_0x34ea8e,'upload_id':_0x510591,'status':_0x11e501['length']>0x0?'preview_error':_0x1406a2(0x146),'progress':0x64,'created_at':_0x2ac2ab['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x4137a9[_0x1406a2(0xfb)],'insert_count':_0x520e5f,'update_count':_0xb61f8f,'skip_count':_0x3268d7,'error_count':_0x11e501[_0x1406a2(0xfb)],'errors':_0x11e501,'data':_0x4137a9,'sample_insert':_0x4137a9['filter'](_0xa11739=>_0xa11739['_action']===_0x1406a2(0x11b))['slice'](0x0,0x5),'sample_update':_0x4137a9['filter'](_0x4a9e73=>_0x4a9e73['_action']===_0x1406a2(0x114))[_0x1406a2(0xf3)](0x0,0x5),'sample_skip':_0x4137a9[_0x1406a2(0x179)](_0x4d504f=>_0x4d504f[_0x1406a2(0x129)]===_0x1406a2(0x150))[_0x1406a2(0xf3)](0x0,0x5)},'params':_0x4617c3};await redisHelper[_0x1406a2(0xe8)]('job:'+_0x34ea8e,_0x228229,0xe10),_0x2ac2ab[_0x1406a2(0x16f)]=_0x4137a9,await redisHelper[_0x1406a2(0xe8)](_0x1406a2(0x117)+_0x510591,_0x2ac2ab,0xe10),logger['info']({'event':_0x49bc63[_0x1406a2(0x141)],'jobId':_0x34ea8e,'status':_0x228229['status'],'insertCount':_0x520e5f,'updateCount':_0xb61f8f,'skipCount':_0x3268d7,'errorCount':_0x11e501[_0x1406a2(0xfb)]},_0x49bc63[_0x1406a2(0x181)]);}catch(_0x209c95){logError(_0x209c95,{'event':_0x49bc63['iywbv'],'jobId':_0x34ea8e},_0x1406a2(0x12f)),await redisHelper[_0x1406a2(0xe8)](_0x1406a2(0x10c)+_0x34ea8e,{'job_id':_0x34ea8e,'upload_id':_0x510591,'status':_0x1406a2(0x11c),'progress':0x0,'error':_0x209c95[_0x1406a2(0x112)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x1c44be,_0x1ef84d,_0x245482,_0x4264a6,_0x8f682b='update_existing',_0x3ab8d3=[]){const _0x44eaef=a0_0xec2cb9,_0x1b38d4={'wdeWR':function(_0x5405b5,_0x288e15){return _0x5405b5===_0x288e15;},'KwqLT':function(_0x184b66,_0x491877){return _0x184b66(_0x491877);},'RPXow':_0x44eaef(0xf6),'XLVzR':'UPDATE','UPGYu':function(_0x5ccb54,_0x4e8d80){return _0x5ccb54!==_0x4e8d80;},'kgPKF':'SKIP','oLujQ':function(_0x291615,_0x47366c){return _0x291615===_0x47366c;},'ZRyrV':function(_0x4fbac5,_0x5a5352){return _0x4fbac5===_0x5a5352;},'WgGhJ':function(_0x2acbf0,_0x2775cc){return _0x2acbf0===_0x2775cc;},'gxrXr':_0x44eaef(0xfe),'LkbtY':function(_0x39a2b4,_0x5dac44){return _0x39a2b4(_0x5dac44);},'ycdLg':_0x44eaef(0x14f),'ICizB':function(_0x3eeadc,_0x5d0075){return _0x3eeadc>_0x5d0075;}},_0x2f2861=upsertBuilder[_0x44eaef(0x15d)](_0x1c44be,0x64);for(const _0x32e287 of _0x2f2861){const _0x1d2dfa=_0x32e287[_0x44eaef(0x123)](_0x2b33dc=>_0x2b33dc[_0x1ef84d[0x0]]),_0x23ca27=_0x1d2dfa[_0x44eaef(0x123)](_0x1d6e05=>{const _0xa7760=_0x44eaef;if(_0x1b38d4['wdeWR'](_0x1d6e05,null)||_0x1d6e05===undefined)return _0xa7760(0x159);return'\x27'+_0x1b38d4[_0xa7760(0x11e)](String,_0x1d6e05)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x215676=_0x44eaef(0x13c)+_0x4264a6+',\x20'+_0x1ef84d['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x245482+_0x44eaef(0x176)+_0x1ef84d[0x0]+'\x20IN\x20('+_0x23ca27[_0x44eaef(0x119)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x159a23=await _0x1b38d4[_0x44eaef(0x167)](executeQuery,_0x215676);dbType===_0x1b38d4['ycdLg']&&_0x159a23&&_0x1b38d4[_0x44eaef(0xfc)](_0x159a23[_0x44eaef(0xfb)],0x0)&&(_0x159a23=_0x159a23['map'](_0x4fac0d=>{const _0x579fbe=_0x44eaef,_0x430ef8={};for(const [_0x326181,_0x109212]of Object['entries'](_0x4fac0d)){_0x430ef8[_0x326181[_0x579fbe(0x173)]()]=_0x109212;}return _0x430ef8;}));const _0x7a80bd=new Map();_0x159a23['forEach'](_0x5b311e=>{const _0x48df49=_0x44eaef,_0x17b78a=_0x5b311e[_0x1ef84d[0x0]];_0x7a80bd[_0x48df49(0x10b)](_0x17b78a,_0x5b311e);}),_0x32e287[_0x44eaef(0xfd)]((_0xb672ee,_0x259816)=>{const _0x4fe3b5=_0x44eaef,_0x3935f7=_0xb672ee[_0x1ef84d[0x0]],_0x68c083=_0x7a80bd['get'](_0x3935f7);if(_0x68c083){if(_0x8f682b===_0x1b38d4['RPXow'])_0xb672ee['_action']=_0x1b38d4[_0x4fe3b5(0x16e)],_0xb672ee['_existingId']=_0x68c083[_0x4264a6];else{if(_0x8f682b===_0x4fe3b5(0x11d)){_0xb672ee[_0x4fe3b5(0x129)]='SKIP',_0xb672ee['_errors']=_0xb672ee[_0x4fe3b5(0x101)]||[],_0xb672ee[_0x4fe3b5(0x101)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x2f0a32=_0x1c44be[_0x4fe3b5(0x15c)](_0xb672ee);_0x1b38d4[_0x4fe3b5(0x11f)](_0x2f0a32,-0x1)&&_0x3ab8d3[_0x4fe3b5(0x162)]({'rowIndex':_0x2f0a32,'rowData':_0xb672ee,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x8f682b==='skip_existing'&&(_0xb672ee[_0x4fe3b5(0x129)]=_0x1b38d4['kgPKF']);}}else{if(_0x1b38d4[_0x4fe3b5(0xe3)](_0x8f682b,_0x4fe3b5(0xf6)))_0xb672ee[_0x4fe3b5(0x129)]=_0x4fe3b5(0x11b);else(_0x1b38d4['ZRyrV'](_0x8f682b,_0x4fe3b5(0x11d))||_0x1b38d4[_0x4fe3b5(0x138)](_0x8f682b,_0x1b38d4['gxrXr']))&&(_0xb672ee[_0x4fe3b5(0x129)]=_0x4fe3b5(0x11b));}});}}async[a0_0xec2cb9(0x108)](_0x2b87ac){const _0x9a8c0c=a0_0xec2cb9,_0x5204b3={'pmiKh':function(_0xfab2ac,_0x5d846a,_0x22b0d5,_0x99b00e){return _0xfab2ac(_0x5d846a,_0x22b0d5,_0x99b00e);},'EDnaz':_0x9a8c0c(0x115),'EgucZ':function(_0x2f77aa,_0x80a204){return _0x2f77aa!==_0x80a204;},'BHGjK':'processing'},_0xb0392f=this['generateId'](),_0x39f6e4=await redisHelper['getJob']('job:'+_0x2b87ac);if(!_0x39f6e4)throw new Error(_0x5204b3[_0x9a8c0c(0x144)]);if(_0x5204b3[_0x9a8c0c(0xe2)](_0x39f6e4['status'],'preview_ok'))throw new Error(_0x9a8c0c(0x103)+_0x39f6e4['status']);const _0x692067={'job_id':_0xb0392f,'upload_id':_0x39f6e4[_0x9a8c0c(0x169)],'preview_job_id':_0x2b87ac,'status':_0x5204b3['BHGjK'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x39f6e4['params']};return await redisHelper['setJob']('job:'+_0xb0392f,_0x692067,0xe10),logger[_0x9a8c0c(0x13f)]({'event':_0x9a8c0c(0xff),'jobId':_0xb0392f,'previewJobId':_0x2b87ac},'Commit\x20job\x20created'),this['processCommitJob'](_0xb0392f,_0x39f6e4)['catch'](_0x30f64b=>{const _0x13a0aa=_0x9a8c0c;_0x5204b3['pmiKh'](logError,_0x30f64b,{'event':_0x13a0aa(0xef),'jobId':_0xb0392f},'Commit\x20processing\x20failed');}),{'job_id':_0xb0392f,'status':'processing'};}async[a0_0xec2cb9(0x175)](_0x4950ea,_0x10e71a){const _0x10d564=a0_0xec2cb9,_0x2d8e09={'GglnA':function(_0x30160f,_0xe1e560){return _0x30160f===_0xe1e560;},'jeIid':'insert','pNCtM':_0x10d564(0x105),'wDcRm':function(_0x5553df,_0x395c16){return _0x5553df>_0x395c16;},'OJRpB':_0x10d564(0x15a),'SdBIM':function(_0x2303dd,_0x5b8796){return _0x2303dd>_0x5b8796;},'kugbz':function(_0x357971,_0x53457a){return _0x357971||_0x53457a;},'McojB':'commit_job_completed','DohKl':function(_0x241e8d,_0x8c3289,_0x5e73e6,_0x40cfb3){return _0x241e8d(_0x8c3289,_0x5e73e6,_0x40cfb3);},'cuOJV':_0x10d564(0x178),'Cyxuh':'Commit\x20job\x20failed','uSreT':'failed'};try{const _0xcb7a3e=await redisHelper[_0x10d564(0x177)]('upload:'+_0x10e71a[_0x10d564(0x169)]);if(!_0xcb7a3e)throw new Error(_0x2d8e09[_0x10d564(0x154)]);const {rows:_0x3e6983,params:_0x52b54b}=_0xcb7a3e,{tableName:_0x2225d0,fieldName:_0x1731e0,primaryKey:_0x300d49,upsertKeys:_0x108314,excludeFromImport:_0x4497e8,lookupFields:_0x606c6d,columnFormats:_0x779562}=_0x52b54b,_0x23396f=_0x606c6d?Object[_0x10d564(0x122)](_0x606c6d):[],_0x5b4c0a=new Set([..._0x4497e8||[],..._0x23396f]);let _0x5ef085=_0x1731e0;_0x2d8e09[_0x10d564(0x149)](_0x5b4c0a[_0x10d564(0x120)],0x0)&&(_0x5ef085=_0x1731e0[_0x10d564(0x179)](_0x3bd63c=>!_0x5b4c0a[_0x10d564(0x10f)](_0x3bd63c)),logger[_0x10d564(0x147)]({'event':_0x10d564(0x12b),'originalCount':_0x1731e0['length'],'filteredCount':_0x5ef085[_0x10d564(0xfb)],'excludedFields':Array['from'](_0x5b4c0a),'lookupSourceFields':_0x23396f},_0x2d8e09[_0x10d564(0x102)]));const _0x3b8463=_0x3e6983[_0x10d564(0x179)](_0x5db05d=>_0x5db05d[_0x10d564(0x129)]===_0x10d564(0x11b)),_0x38a68f=_0x3e6983[_0x10d564(0x179)](_0xa33c02=>_0xa33c02[_0x10d564(0x129)]===_0x10d564(0x114));let _0x20bc31=0x0,_0x44268e=0x0;const _0x56ca0a=[];if(_0x2d8e09['SdBIM'](_0x3b8463[_0x10d564(0xfb)],0x0)){const _0x2e1c7c=upsertBuilder[_0x10d564(0x15d)](_0x3b8463,0x64);for(const _0x306005 of _0x2e1c7c){const {query:_0xbfe8e5}=upsertBuilder[_0x10d564(0x148)](_0x306005,_0x2225d0,_0x5ef085,_0x2d8e09[_0x10d564(0x17b)](_0x779562,{}));_0xbfe8e5&&_0x56ca0a['push']({'sql':_0xbfe8e5,'count':_0x306005['length'],'type':'insert'});}}if(_0x38a68f['length']>0x0){const _0xd2d152=upsertBuilder[_0x10d564(0x15d)](_0x38a68f,0x64);for(const _0x1c5316 of _0xd2d152){const {query:_0x5ebe96}=upsertBuilder['buildBatchUpdate'](_0x1c5316,_0x2225d0,_0x5ef085,_0x300d49,_0x108314,_0x2d8e09['kugbz'](_0x779562,{}));_0x5ebe96&&_0x56ca0a['push']({'sql':_0x5ebe96,'count':_0x1c5316[_0x10d564(0xfb)],'type':_0x10d564(0xf9)});}}_0x56ca0a['length']>0x0&&await executeTransaction(_0x56ca0a['map'](_0x2e8425=>({'sql':_0x2e8425[_0x10d564(0xe4)],'params':[]})));_0x56ca0a['forEach'](_0x2f281e=>{const _0x275dc5=_0x10d564;if(_0x2d8e09[_0x275dc5(0x170)](_0x2f281e['type'],_0x2d8e09[_0x275dc5(0x164)]))_0x20bc31+=_0x2f281e[_0x275dc5(0x16a)];else _0x44268e+=_0x2f281e['count'];});const _0x51b380={'job_id':_0x4950ea,'upload_id':_0x10e71a['upload_id'],'preview_job_id':_0x10e71a[_0x10d564(0x118)],'status':'completed','progress':0x64,'created_at':_0x10e71a[_0x10d564(0x152)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3e6983['length'],'inserted_rows':_0x20bc31,'updated_rows':_0x44268e,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x52b54b};await redisHelper['setJob'](_0x10d564(0x10c)+_0x4950ea,_0x51b380,0xe10),logger['info']({'event':_0x2d8e09[_0x10d564(0x15e)],'jobId':_0x4950ea,'insertedCount':_0x20bc31,'updatedCount':_0x44268e},_0x10d564(0x133));}catch(_0x14c967){_0x2d8e09['DohKl'](logError,_0x14c967,{'event':_0x2d8e09[_0x10d564(0x132)],'jobId':_0x4950ea},_0x2d8e09['Cyxuh']),await redisHelper['setJob'](_0x10d564(0x10c)+_0x4950ea,{'job_id':_0x4950ea,'upload_id':_0x10e71a['upload_id'],'preview_job_id':_0x10e71a['job_id'],'status':_0x2d8e09[_0x10d564(0x109)],'progress':0x0,'error':_0x14c967[_0x10d564(0x112)],'created_at':_0x10e71a['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x10d564(0x128)]()},0xe10);}}async[a0_0xec2cb9(0x113)](_0x4c5f05){const _0xb231c9=a0_0xec2cb9,_0x4269f3=await redisHelper['getJob'](_0xb231c9(0x10c)+_0x4c5f05);if(!_0x4269f3)return{'success':![],'error':_0xb231c9(0x163)};return{'success':!![],'data':_0x4269f3};}}module[a0_0xec2cb9(0x16c)]=new ImportService();
|
|
1
|
+
const a0_0x40da10=a0_0x5098;(function(_0x42ee66,_0x5e877c){const _0x424d79=a0_0x5098,_0x455aed=_0x42ee66();while(!![]){try{const _0x29f41a=parseInt(_0x424d79(0x16e))/0x1*(parseInt(_0x424d79(0x189))/0x2)+parseInt(_0x424d79(0x1d4))/0x3+parseInt(_0x424d79(0x203))/0x4+parseInt(_0x424d79(0x190))/0x5*(-parseInt(_0x424d79(0x166))/0x6)+-parseInt(_0x424d79(0x180))/0x7+-parseInt(_0x424d79(0x182))/0x8*(-parseInt(_0x424d79(0x174))/0x9)+-parseInt(_0x424d79(0x1ab))/0xa;if(_0x29f41a===_0x5e877c)break;else _0x455aed['push'](_0x455aed['shift']());}catch(_0x5d12a4){_0x455aed['push'](_0x455aed['shift']());}}}(a0_0x81ef,0x96f67));const {v7:uuidv7}=require('uuid'),path=require(a0_0x40da10(0x1f5)),fs=require('fs')['promises'],redisHelper=require(a0_0x40da10(0x202)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x40da10(0x1a4)][a0_0x40da10(0x19b)]||a0_0x40da10(0x1e3))[a0_0x40da10(0x1ec)]();function a0_0x81ef(){const _0x5c6a6b=['uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','EufRwha','lI9PBxbVCNqTDMfSAwrHDg9Y','BNvTyMvY','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2vKuM93CW','D1zfAfq','yNvPBgrcyxrJAfvWzgf0zq','C2v0','zgvMyxvSDa','CM93CW','y2H1BMTsB3DZ','rMjWEfq','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','te1ruwO','DMfSDwvZ','mJK0mda5nMfWtxnPCW','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','Dg9vChbLCKnHC2u','u0Ppz20','y29TBwL0x3bYB2nLC3nFzxjYB3i','EuD0wwC','z2v0sM9I','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','z2v0vgLTzq','DxbSB2fKoG','B3jHy2XL','x2v4Axn0Aw5Nswq','y3jLyxrLuhjLDMLLD0PVyG','zgvIDwC','CgHNuw8','Cg9ZDgDYzxnXBa','C2L6zq','y29TBwL0x2PVyL9MywLSzwq','Dg9ju09tDhjPBMC','y291BNq','C3rYAw5N','x2DLBMvYyxrLzf91DwLK','CgfYC2vfEgnLBezPBgu','BgvUz3rO','Dg9mB3DLCKnHC2u','cIaGicaGicaGu0vmrunuia','y29TBwL0x2PVyL9JB21WBgv0zwq','lI9LEgnLBc1WyxjZzxi','Dw5SAw5R','ywjyrey','zMLSzv9JBgvHBNvWx2vYCM9Y','DhLWzq','zgTQuuW','Cgf0Aa','Aw5Zzxj0x29UBhK','C1LIvxC','EevPDNi','zxHLy3v0zvf1zxj5','DxbKyxrL','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','z2v0sM9Iu3rHDhvZ','Aw5MBW','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','C3rHDhvZ','tLvmta','CgfKu3rHCNq','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','nZq3mtqWz2fSB3zT','BwfW','Aw5KzxHpzG','su5trvju','zM9YrwfJAa','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','EgXoDeC','DgvZDa','vvbeqvrf','C2v0sM9I','mteWngPewxPbqq','q29TBwL0igPVyIbJCMvHDgvK','ChjLDMLLD19VAW','yvjsvMu','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','AM9PBG','q29TBwL0igPVyIbMywLSzwq','Bwf0y2G','nZu1mJnHCLfOtfm','wMf5B1G','tu1Ou3O','y29SDw1UrM9YBwf0CW','zMLSDgvY','yMf0y2HwywXPzgf0zvjVD3m','ntu5mduZDwXRBvjr','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','rhvWBgLJyxrLihzHBhvLigzVCIa','C2TPCf9LEgLZDgLUzW','qwz6uvu','zMLLBgroyw1L','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','B3jPz2LUywXUyw1L','DhjPBq','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','lI4VlI4Vy29Yzs91DgLSCY9KyG','CM93sw5KzxG','mtKZmdeZmvPYENvTCW','BhvWDfC','ndHouKjjDMe','z2vUzxjHDgvjza','C3vIC3rYAw5N','y3jLyxrLzf9HDa','zMLUza','zvPzCLq','AM9IoG','mtruAM90wue','igf0ihjVDYa','t3v2tgW','tenqAuS','C3fS','zxjYB3jZ','BwvZC2fNzq','nZC4mhbgt2PYra','ieLoicG','x2fJDgLVBG','EuzKt0m','y3jLyxrLq29TBwL0sM9I','whj4wvK','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','zfLbBfm','A2v5CW','qvL1zKS','ChvZAa','rejFvfLqrq','z2v0','BgLRwKq','x3vWBg9HzerPCG','Efvpvxa','zxHLy3v0zvrYyw5Zywn0Aw9U','y29TBwL0x2PVyL9JCMvHDgvK','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','u0Tjua','zw52','kqOGicaGica','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','uhjLDMLLDYbQB2iGzMfPBgvK','BwLZC2LUz0zPzwXKCW','DxbSB2fKx2LK','odG3odaWmgPIDMHnuG','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChjVy2vZC2LUzW','CwjIu3u','AuvLs3C','ruPeAK0','ChjVy2vZC0nVBw1PDePVyG','Du1MBwy','yNvPBgrmywjLBfrVrMLLBgrnyxa','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DhjZt2O','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','C2XPy2u','ChjLDMLLD19QB2jFzMfPBgvK','AgvHzgvYC19TyxbWzwq','wNHUuvy','x2vYCM9YCW','vLbVEvi','zMfPBgvK','CgnQA0C','AM9Ix2LK','CMvWBgfJzq','AffJwKS','vvD5D3O'];a0_0x81ef=function(){return _0x5c6a6b;};return a0_0x81ef();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../database/db-oracle'),executeQuery=(_0x376612,_0x222b9f)=>oracleDb['executeQuery'](_0x376612,_0x222b9f),executeTransaction=_0x5c26a4=>oracleDb['executeTransaction'](_0x5c26a4);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40da10(0x1db));executeQuery=(_0x4918d9,_0x104317)=>mysqlDb[a0_0x40da10(0x1f9)](_0x4918d9,_0x104317),executeTransaction=_0xfd77f2=>mysqlDb[a0_0x40da10(0x1a0)](_0xfd77f2);}else{const db=require(a0_0x40da10(0x17e));executeQuery=db[a0_0x40da10(0x1f9)],executeTransaction=db[a0_0x40da10(0x1a0)];}}const excelParser=require(a0_0x40da10(0x1ef)),importValidator=require(a0_0x40da10(0x1c6)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x40da10(0x1b6));class ImportService{constructor(){const _0x3f0134=a0_0x40da10;this[_0x3f0134(0x19e)]=null;}get['uploadDir'](){const _0x35da1e=a0_0x40da10;if(!this[_0x35da1e(0x19e)]){const _0x59112c=process['env'][_0x35da1e(0x1c3)]||_0x35da1e(0x1cd);this[_0x35da1e(0x19e)]=process[_0x35da1e(0x1a4)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x59112c);}return this[_0x35da1e(0x19e)];}['generateId'](){const _0x4baa9d=a0_0x40da10,_0x19d153={'ORgvg':function(_0x44e1ee){return _0x44e1ee();},'abXDF':function(_0x3094a5,_0xde208e){return _0x3094a5+_0xde208e;},'ZxnQV':function(_0x224f02,_0x28d543){return _0x224f02<_0x28d543;},'sxtiU':function(_0x5cfbef,_0x9dce29){return _0x5cfbef*_0x9dce29;}},_0xf79f2d=_0x4baa9d(0x1a6),_0x2f1c81=Date['now']()['toString'](0x24),_0xda77a9=_0x19d153['ORgvg'](uuidv7)['replace'](/-/g,'')[_0x4baa9d(0x184)](0x0,0xc-_0x2f1c81['length']),_0x32086a=_0x19d153[_0x4baa9d(0x1f1)](_0x2f1c81,_0xda77a9)['substring'](0x0,0xc);let _0x3d6013='';for(let _0x46afdb=0x0;_0x19d153[_0x4baa9d(0x1ba)](_0x46afdb,0xc);_0x46afdb++){_0x32086a[_0x46afdb]?_0x3d6013+=_0x32086a[_0x46afdb]:_0x3d6013+=_0xf79f2d['charAt'](Math['floor'](_0x19d153['sxtiU'](Math['random'](),_0xf79f2d[_0x4baa9d(0x1eb)])));}return _0x3d6013;}[a0_0x40da10(0x1b3)](_0x511a37){const _0xeebc5=a0_0x40da10,_0x20c446={'hQcZK':'$1_$2','eZYrT':'label_to_field_map_built','FHcCN':'Label\x20to\x20field\x20mapping\x20built'},_0x3d2446=new Map();if(!_0x511a37)return _0x3d2446;return Object['entries'](_0x511a37)[_0xeebc5(0x160)](([_0x4bbd01,_0x132ad0])=>{const _0x147d1a=_0xeebc5,_0x1633bc=String(_0x132ad0)[_0x147d1a(0x17c)]()['replace'](/\s+/g,'_')[_0x147d1a(0x1c0)](/([a-z])([A-Z])/g,_0x20c446['hQcZK'])[_0x147d1a(0x1c0)](/([A-Z]+)([A-Z][a-z])/g,_0x20c446[_0x147d1a(0x1c1)])[_0x147d1a(0x1ec)]();_0x3d2446['set'](_0x1633bc,_0x4bbd01);}),logger[_0xeebc5(0x1e1)]({'event':_0x20c446[_0xeebc5(0x187)],'mappingCount':_0x3d2446[_0xeebc5(0x1e4)]},_0x20c446['FHcCN']),_0x3d2446;}[a0_0x40da10(0x1ac)](_0x17e61b,_0x24435c){const _0x1a630d={'AxvqV':function(_0x356c38,_0x523b10){return _0x356c38===_0x523b10;},'VPoyR':function(_0x4de347,_0x1bdf3c){return _0x4de347===_0x1bdf3c;},'oiOyU':'date'};if(!_0x24435c||Object['keys'](_0x24435c)['length']===0x0)return _0x17e61b;return _0x17e61b['map'](_0x24771f=>{const _0x1e5a01=a0_0x5098,_0x43ce63={..._0x24771f};for(const [_0x4488c6,_0x595991]of Object['entries'](_0x24435c)){const _0x47bdb4=_0x43ce63[_0x4488c6];if(_0x47bdb4===null||_0x1a630d['AxvqV'](_0x47bdb4,undefined)||_0x1a630d[_0x1e5a01(0x1bc)](_0x47bdb4,'')){_0x43ce63[_0x4488c6]=null;continue;}switch(_0x595991[_0x1e5a01(0x1f3)]){case _0x1a630d['oiOyU']:_0x43ce63[_0x4488c6]=this[_0x1e5a01(0x1a2)](_0x47bdb4);break;case'number':_0x43ce63[_0x4488c6]=this['formatNumberForDatabase'](_0x47bdb4);break;case'text':_0x43ce63[_0x4488c6]=String(_0x47bdb4);break;default:break;}}return _0x43ce63;});}[a0_0x40da10(0x1a2)](_0x240bee){const _0x598bb7=a0_0x40da10,_0x366240={'wKXbZ':function(_0x5323e3,_0x2c445c){return _0x5323e3===_0x2c445c;},'xupaq':'string','QwGWG':function(_0x2084d0,_0x50903f){return _0x2084d0 instanceof _0x50903f;},'LMQQj':function(_0x2e1e4e,_0x50f04b){return _0x2e1e4e(_0x50f04b);},'phgQo':function(_0x3da036,_0x152fb7){return _0x3da036+_0x152fb7;},'AfzQU':function(_0xce7b1b,_0x3eadb3){return _0xce7b1b(_0x3eadb3);}};if(_0x366240['wKXbZ'](_0x240bee,null)||_0x240bee===undefined||_0x240bee==='')return null;if(typeof _0x240bee===_0x366240['xupaq']&&/^\d{4}-\d{2}-\d{2}$/[_0x598bb7(0x163)](_0x240bee))return _0x240bee;if(_0x366240['QwGWG'](_0x240bee,Date)){if(_0x366240['LMQQj'](isNaN,_0x240bee[_0x598bb7(0x1dc)]()))return null;const _0x2c3d21=_0x240bee['getFullYear'](),_0x42a08e=String(_0x366240[_0x598bb7(0x1e2)](_0x240bee['getMonth'](),0x1))[_0x598bb7(0x201)](0x2,'0'),_0x1cd660=_0x366240[_0x598bb7(0x1d2)](String,_0x240bee['getDate']())['padStart'](0x2,'0');return _0x2c3d21+'-'+_0x42a08e+'-'+_0x1cd660;}if(typeof _0x240bee===_0x598bb7(0x1e8)){const _0x2772df=_0x240bee[_0x598bb7(0x16d)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x2772df){const _0x259000=String(_0x2772df[0x1])[_0x598bb7(0x201)](0x2,'0'),_0x4b64b7=_0x366240['LMQQj'](String,_0x2772df[0x2])['padStart'](0x2,'0'),_0x3fa16f=_0x2772df[0x3];return _0x3fa16f+'-'+_0x4b64b7+'-'+_0x259000;}const _0x39a8d5=_0x240bee[_0x598bb7(0x16d)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x39a8d5){const _0x1fd85a=_0x39a8d5[0x1],_0x41f416=_0x366240[_0x598bb7(0x178)](String,_0x39a8d5[0x2])[_0x598bb7(0x201)](0x2,'0'),_0x527ca8=String(_0x39a8d5[0x3])['padStart'](0x2,'0');return _0x1fd85a+'-'+_0x41f416+'-'+_0x527ca8;}}return _0x240bee;}[a0_0x40da10(0x17d)](_0x4706d7){const _0x94ad5e=a0_0x40da10,_0x2819a1={'UWywz':function(_0x5dd517,_0x427098){return _0x5dd517===_0x427098;},'dYAlS':function(_0xe12a9a,_0x49de02){return _0xe12a9a===_0x49de02;},'SJOgm':function(_0x31af97,_0x3df097){return _0x31af97===_0x3df097;},'GddBV':_0x94ad5e(0x1c7),'xUOUp':function(_0x2c0ba7,_0x13c532){return _0x2c0ba7===_0x13c532;}};if(_0x2819a1[_0x94ad5e(0x1c2)](_0x4706d7,null)||_0x2819a1['dYAlS'](_0x4706d7,undefined)||_0x2819a1[_0x94ad5e(0x1d7)](_0x4706d7,''))return null;if(_0x2819a1[_0x94ad5e(0x197)](typeof _0x4706d7,_0x2819a1['GddBV']))return isNaN(_0x4706d7)?null:_0x4706d7;if(_0x2819a1[_0x94ad5e(0x19f)](typeof _0x4706d7,'string')){let _0x30b7e7=_0x4706d7[_0x94ad5e(0x17c)]();const _0x3f6219=/,\d{1,2}$/['test'](_0x30b7e7)&&!/,\d{3}/[_0x94ad5e(0x163)](_0x30b7e7);_0x3f6219?_0x30b7e7=_0x30b7e7[_0x94ad5e(0x1c0)](/\./g,'')['replace'](',','.'):_0x30b7e7=_0x30b7e7[_0x94ad5e(0x1c0)](/,/g,'');const _0x9356b5=parseFloat(_0x30b7e7);return isNaN(_0x9356b5)?null:_0x9356b5;}return null;}async['uploadFile'](_0xbdc45f,_0x23a486){const _0x369b25=a0_0x40da10,_0x3b6b05={'HXFBW':function(_0x4ff7d1,_0x46c478){return _0x4ff7d1||_0x46c478;},'uBoqu':_0x369b25(0x1b9),'xEivr':function(_0x3c043d,_0x5a5d3f){return _0x3c043d>_0x5a5d3f;},'wVEhT':function(_0x3e04e7,_0x40de9c,_0x5e3284,_0x120f36){return _0x3e04e7(_0x40de9c,_0x5e3284,_0x120f36);}},_0x4f4186=this[_0x369b25(0x183)]();try{let {headers:_0x39d627,rows:_0x2cba0e,totalRows:_0x54452b}=await excelParser[_0x369b25(0x1ea)](_0xbdc45f[_0x369b25(0x1f5)]);const _0x5391c6=this[_0x369b25(0x1b3)](_0x23a486['fieldLabels']),_0x123b90=_0x39d627['map'](_0x1dda03=>{const _0x372851=_0x369b25,_0x2d8839=_0x5391c6[_0x372851(0x19c)](_0x1dda03);return _0x3b6b05['HXFBW'](_0x2d8839,_0x1dda03);});_0x2cba0e=_0x2cba0e[_0x369b25(0x204)](_0x5e8ee0=>{const _0x5227e3={};return _0x39d627['forEach']((_0x2a034f,_0x1eaeac)=>{const _0x372e08=_0x123b90[_0x1eaeac];_0x5227e3[_0x372e08]=_0x5e8ee0[_0x2a034f];}),_0x5227e3;}),_0x39d627=_0x123b90,logger[_0x369b25(0x1e1)]({'event':_0x3b6b05['uBoqu'],'original':_0x39d627['length'],'mapped':_0x123b90[_0x369b25(0x172)]((_0x18a5cf,_0x1450af)=>_0x18a5cf!==_0x39d627[_0x1450af])[_0x369b25(0x1eb)]},_0x369b25(0x196));_0x23a486[_0x369b25(0x171)]&&_0x3b6b05[_0x369b25(0x1f8)](Object['keys'](_0x23a486['columnFormats'])[_0x369b25(0x1eb)],0x0)&&(_0x2cba0e=this['applyColumnFormats'](_0x2cba0e,_0x23a486['columnFormats']),logger[_0x369b25(0x1e1)]({'event':_0x369b25(0x1c8),'formatCount':Object[_0x369b25(0x198)](_0x23a486['columnFormats'])[_0x369b25(0x1eb)],'formats':Object[_0x369b25(0x198)](_0x23a486[_0x369b25(0x171)])},'Column\x20formats\x20applied\x20to\x20rows'));const _0x943f93=_0x23a486['lookupFields']?Object[_0x369b25(0x1d3)](_0x23a486['lookupFields'])[_0x369b25(0x204)](_0x387e91=>_0x387e91['targetField']):[],_0x447d3d=_0x23a486[_0x369b25(0x179)][_0x369b25(0x172)](_0x24e590=>!_0x943f93['includes'](_0x24e590)),_0x332307=excelParser[_0x369b25(0x1b4)](_0x39d627,_0x447d3d);if(!_0x332307['valid']){await fs[_0x369b25(0x1f0)](_0xbdc45f['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x332307[_0x369b25(0x1a9)][_0x369b25(0x16b)](',\x20'));}const _0x15d80a={'upload_id':_0x4f4186,'filename':_0xbdc45f[_0x369b25(0x17b)],'total_rows':_0x54452b,'headers':_0x39d627,'rows':_0x2cba0e,'params':_0x23a486,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x4f4186,_0x15d80a,0xe10),await fs[_0x369b25(0x1f0)](_0xbdc45f[_0x369b25(0x1f5)]),logger[_0x369b25(0x1fd)]({'event':'import_file_uploaded','uploadId':_0x4f4186,'filename':_0xbdc45f['originalname'],'totalRows':_0x54452b},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x4f4186,'total_rows':_0x54452b,'preview':_0x2cba0e['slice'](0x0,0xa)};}catch(_0x1f5e4f){try{await fs[_0x369b25(0x1f0)](_0xbdc45f['path']);}catch(_0x374f4a){_0x3b6b05[_0x369b25(0x1ca)](logError,_0x374f4a,{'event':_0x369b25(0x1f2)},'Failed\x20to\x20cleanup\x20file');}throw _0x1f5e4f;}}async[a0_0x40da10(0x1e0)](_0x177589){const _0xc243bd=a0_0x40da10,_0x5e0dc9={'BCtIV':function(_0x1a3c48,_0x38bb13,_0xcf4f0c,_0x6ff1ad){return _0x1a3c48(_0x38bb13,_0xcf4f0c,_0x6ff1ad);},'dMaqM':'Preview\x20processing\x20failed','aRRVe':'preview_job_created','DDXAc':'validating'},_0x1fa9d5=this[_0xc243bd(0x183)](),_0x5ccd05=await redisHelper['getJob']('upload:'+_0x177589);if(!_0x5ccd05)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x85dbb1={'job_id':_0x1fa9d5,'upload_id':_0x177589,'status':'validating','progress':0x0,'created_at':new Date()[_0xc243bd(0x1e6)](),'params':_0x5ccd05['params']};return await redisHelper['setJob']('job:'+_0x1fa9d5,_0x85dbb1,0xe10),logger['info']({'event':_0x5e0dc9[_0xc243bd(0x169)],'jobId':_0x1fa9d5,'uploadId':_0x177589},'Preview\x20job\x20created'),this['processPreviewJob'](_0x1fa9d5,_0x177589,_0x5ccd05)['catch'](_0x24ae66=>{_0x5e0dc9['BCtIV'](logError,_0x24ae66,{'event':'preview_process_error','jobId':_0x1fa9d5},_0x5e0dc9['dMaqM']);}),{'job_id':_0x1fa9d5,'status':_0x5e0dc9['DDXAc']};}[a0_0x40da10(0x1c4)](_0x2e5a95,_0x31d6f9){const _0x1faa82={'xlNtG':function(_0x125c74,_0x51f87c){return _0x125c74===_0x51f87c;}};_0x2e5a95['forEach']((_0x1bab9b,_0x451174)=>{const _0x8e385b={'XrxYY':function(_0x2ba85f,_0x422a63){const _0x245850=a0_0x5098;return _0x1faa82[_0x245850(0x162)](_0x2ba85f,_0x422a63);},'kVQYE':function(_0x2dc1b8,_0x394028){return _0x2dc1b8(_0x394028);},'ZayoX':function(_0x472587){return _0x472587();},'MMhSz':function(_0x6cab9a,_0x383df0){return _0x6cab9a+_0x383df0;}};_0x31d6f9['forEach'](_0x4bc68e=>{const _0x10eed1=a0_0x5098,_0x2e396e=_0x1bab9b[_0x4bc68e];if(_0x2e396e===null||_0x2e396e===undefined||_0x8e385b[_0x10eed1(0x195)](_0x2e396e,'')||_0x8e385b['kVQYE'](String,_0x2e396e)[_0x10eed1(0x17c)]()==='-'){const _0x575f09=_0x8e385b[_0x10eed1(0x16f)](uuidv7);_0x1bab9b[_0x4bc68e]=_0x575f09,_0x1bab9b['_generated_uuid']=_0x1bab9b[_0x10eed1(0x1e9)]||{},_0x1bab9b[_0x10eed1(0x1e9)][_0x4bc68e]=_0x575f09,logger[_0x10eed1(0x1e1)]({'event':'uuid_auto_generated','rowIndex':_0x451174,'field':_0x4bc68e,'uuid':_0x575f09},_0x10eed1(0x1d5)+_0x4bc68e+_0x10eed1(0x18a)+_0x8e385b[_0x10eed1(0x170)](_0x451174,0x2));}});});}async['processPreviewJob'](_0x535e68,_0x328806,_0x463fa3){const _0x4842e7=a0_0x40da10,_0x587f15={'sYbUw':function(_0x1dffce,_0x58c3e3){return _0x1dffce===_0x58c3e3;},'QgssY':function(_0x4fcae1,_0x576a43){return _0x4fcae1===_0x576a43;},'FrCHm':'SKIP','JAweV':'processing_lookup_fields','UGyPS':_0x4842e7(0x1d1),'tOYrj':function(_0x49b4da,_0x14b6f9){return _0x49b4da>_0x14b6f9;},'YDQaS':'preview_error','txDZK':'preview_ok','APrrK':'Preview\x20job\x20completed','luptW':_0x4842e7(0x1a8)};try{let {rows:_0x3c3f0d,params:_0x5316c4}=_0x463fa3;const {requiredFields:_0x59265e,validations:_0x14fe51,upsertKeys:_0x48627b,tableName:_0x593b62,primaryKey:_0x4a5b81,fieldName:_0x563586,upsertStrategy:_0x4ee1cb,lookupFields:_0x3b424d}=_0x5316c4;this[_0x4842e7(0x1c4)](_0x3c3f0d,_0x48627b);let _0x2cb00a=[];if(_0x3b424d&&Object[_0x4842e7(0x198)](_0x3b424d)[_0x4842e7(0x1eb)]>0x0){logger['info']({'event':_0x587f15['JAweV'],'jobId':_0x535e68,'lookupFieldCount':Object[_0x4842e7(0x198)](_0x3b424d)[_0x4842e7(0x1eb)]},_0x587f15['UGyPS']);const _0x3db176=await lookupResolver['processLookupFields'](_0x3c3f0d,_0x3b424d);_0x3c3f0d=_0x3db176[_0x4842e7(0x1c9)],_0x2cb00a=_0x3db176[_0x4842e7(0x18e)],_0x463fa3[_0x4842e7(0x1ce)]=_0x3c3f0d;}const _0xbcdf30=importValidator[_0x4842e7(0x173)](_0x3c3f0d,_0x59265e||[],_0x14fe51||{});_0x2cb00a['forEach'](_0x376451=>{const _0x5a7b35=_0x4842e7,_0x4d425f=_0xbcdf30[_0x5a7b35(0x186)](_0x1b566c=>_0x1b566c['rowIndex']===_0x376451['rowIndex']);_0x4d425f?_0x4d425f['errors']['push'](_0x376451[_0x5a7b35(0x18f)]):_0xbcdf30[_0x5a7b35(0x19a)]({'rowIndex':_0x376451['rowIndex'],'rowData':_0x3c3f0d[_0x376451['rowIndex']],'errors':[_0x376451['message']]});});const _0xa107db=importValidator[_0x4842e7(0x1a7)](_0x3c3f0d,_0x48627b);_0xa107db['forEach'](_0x4ee59c=>{const _0x2218e1=_0x4842e7,_0x4aaed1=_0xbcdf30['find'](_0x4efcf4=>_0x4efcf4['rowIndex']===_0x4ee59c['rowIndex']),_0x166d36=_0x48627b['map'](_0x3f99ba=>_0x3f99ba[_0x2218e1(0x1d6)]())[_0x2218e1(0x16b)](',\x20'),_0xc677a1=_0x2218e1(0x176)+_0x166d36;_0x4aaed1?_0x4aaed1[_0x2218e1(0x18e)]['push'](_0xc677a1):_0xbcdf30[_0x2218e1(0x19a)]({'rowIndex':_0x4ee59c[_0x2218e1(0x17f)],'rowData':_0x3c3f0d[_0x4ee59c['rowIndex']],'errors':[_0xc677a1]});}),await this['detectDatabaseDuplicates'](_0x3c3f0d,_0x48627b,_0x593b62,_0x4a5b81,_0x4ee1cb,_0xbcdf30),_0xbcdf30[_0x4842e7(0x160)](_0x449162=>{const _0x3c7fec=_0x4842e7,_0x5ba40c=_0x3c3f0d[_0x449162['rowIndex']];_0x5ba40c&&(_0x5ba40c[_0x3c7fec(0x1bb)]=_0x449162[_0x3c7fec(0x18e)]);});let _0x45f054=0x0,_0x68e300=0x0,_0x1574e1=0x0;_0x3c3f0d['forEach'](_0x265eeb=>{const _0x187c07=_0x4842e7;if(_0x587f15[_0x187c07(0x1f7)](_0x265eeb[_0x187c07(0x192)],'INSERT'))_0x45f054++;else{if(_0x265eeb[_0x187c07(0x192)]==='UPDATE')_0x68e300++;else _0x587f15['QgssY'](_0x265eeb['_action'],_0x587f15['FrCHm'])&&_0x1574e1++;}});const _0x579c66={'job_id':_0x535e68,'upload_id':_0x328806,'status':_0x587f15['tOYrj'](_0xbcdf30[_0x4842e7(0x1eb)],0x0)?_0x587f15['YDQaS']:_0x587f15['txDZK'],'progress':0x64,'created_at':_0x463fa3[_0x4842e7(0x185)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x3c3f0d[_0x4842e7(0x1eb)],'insert_count':_0x45f054,'update_count':_0x68e300,'skip_count':_0x1574e1,'error_count':_0xbcdf30[_0x4842e7(0x1eb)],'errors':_0xbcdf30,'data':_0x3c3f0d,'sample_insert':_0x3c3f0d['filter'](_0x250c72=>_0x250c72[_0x4842e7(0x192)]===_0x4842e7(0x15f))[_0x4842e7(0x1b7)](0x0,0x5),'sample_update':_0x3c3f0d[_0x4842e7(0x172)](_0x4be5ab=>_0x4be5ab['_action']===_0x4842e7(0x164))['slice'](0x0,0x5),'sample_skip':_0x3c3f0d[_0x4842e7(0x172)](_0xa97a4e=>_0xa97a4e[_0x4842e7(0x192)]==='SKIP')[_0x4842e7(0x1b7)](0x0,0x5)},'params':_0x5316c4};await redisHelper[_0x4842e7(0x165)](_0x4842e7(0x188)+_0x535e68,_0x579c66,0xe10),_0x463fa3['rows']=_0x3c3f0d,await redisHelper['setJob']('upload:'+_0x328806,_0x463fa3,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x535e68,'status':_0x579c66['status'],'insertCount':_0x45f054,'updateCount':_0x68e300,'skipCount':_0x1574e1,'errorCount':_0xbcdf30['length']},_0x587f15['APrrK']);}catch(_0x2708d3){logError(_0x2708d3,{'event':_0x4842e7(0x1b8),'jobId':_0x535e68},_0x587f15[_0x4842e7(0x181)]),await redisHelper[_0x4842e7(0x165)](_0x4842e7(0x188)+_0x535e68,{'job_id':_0x535e68,'upload_id':_0x328806,'status':_0x4842e7(0x1bd),'progress':0x0,'error':_0x2708d3['message'],'created_at':new Date()[_0x4842e7(0x1e6)](),'completed_at':new Date()[_0x4842e7(0x1e6)]()},0xe10);}}async[a0_0x40da10(0x1fe)](_0x2e4350,_0x2de06a,_0x137e5e,_0x23ccb0,_0x413bc1='update_existing',_0x39d6bc=[]){const _0x1f4cad=a0_0x40da10,_0x3fffe5={'ZTZuS':function(_0x1db42d,_0x878bf0){return _0x1db42d===_0x878bf0;},'uMfmf':function(_0x28335f,_0x47dc65){return _0x28335f===_0x47dc65;},'ZFDVg':_0x1f4cad(0x200),'cGeLz':function(_0x50dd87,_0x4ef3ef){return _0x50dd87(_0x4ef3ef);},'tvhqp':'update_existing','trsOj':function(_0x43c9d7,_0x1dd618){return _0x43c9d7===_0x1dd618;},'OuvLl':_0x1f4cad(0x1a3),'gLfXs':function(_0x33a3ff,_0x5ec995){return _0x33a3ff!==_0x5ec995;},'likZD':'skip_existing','FbpxT':'INSERT','YBilc':function(_0x55eedc,_0x5ca15b){return _0x55eedc===_0x5ca15b;},'QfYia':_0x1f4cad(0x1de),'iEeKw':function(_0x4a9c68,_0x2e46e3){return _0x4a9c68>_0x2e46e3;}},_0x1fc1a6=upsertBuilder['chunkRows'](_0x2e4350,0x64);for(const _0x4f6a78 of _0x1fc1a6){const _0x43abd0=_0x4f6a78['map'](_0x2ef9ba=>_0x2ef9ba[_0x2de06a[0x0]]),_0x3c1409=_0x43abd0[_0x1f4cad(0x204)](_0x5a3848=>{const _0x5e0e6c=_0x1f4cad;if(_0x3fffe5['ZTZuS'](_0x5a3848,null)||_0x3fffe5[_0x5e0e6c(0x1b2)](_0x5a3848,undefined))return _0x3fffe5['ZFDVg'];return'\x27'+_0x3fffe5['cGeLz'](String,_0x5a3848)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x6a1fd=_0x1f4cad(0x1ed)+_0x23ccb0+',\x20'+_0x2de06a[_0x1f4cad(0x16b)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x137e5e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x2de06a[0x0]+_0x1f4cad(0x191)+_0x3c1409['join'](',\x20')+_0x1f4cad(0x1a5);let _0x5873b3=await executeQuery(_0x6a1fd);dbType===_0x3fffe5['QfYia']&&_0x5873b3&&_0x3fffe5[_0x1f4cad(0x1af)](_0x5873b3['length'],0x0)&&(_0x5873b3=_0x5873b3['map'](_0x30059c=>{const _0x336377=_0x1f4cad,_0x1e17ff={};for(const [_0x269ebb,_0x2a4999]of Object['entries'](_0x30059c)){_0x1e17ff[_0x269ebb[_0x336377(0x1ec)]()]=_0x2a4999;}return _0x1e17ff;}));const _0x3bf165=new Map();_0x5873b3[_0x1f4cad(0x160)](_0x20ecf1=>{const _0x26bac5=_0x1f4cad,_0x4fd4f7=_0x20ecf1[_0x2de06a[0x0]];_0x3bf165[_0x26bac5(0x1cc)](_0x4fd4f7,_0x20ecf1);}),_0x4f6a78['forEach']((_0x56686f,_0x5d3fa4)=>{const _0x1f6e74=_0x1f4cad,_0x4eb92b=_0x56686f[_0x2de06a[0x0]],_0x2a5a2b=_0x3bf165['get'](_0x4eb92b);if(_0x2a5a2b){if(_0x413bc1===_0x3fffe5['tvhqp'])_0x56686f[_0x1f6e74(0x192)]=_0x1f6e74(0x164),_0x56686f[_0x1f6e74(0x1df)]=_0x2a5a2b[_0x23ccb0];else{if(_0x3fffe5[_0x1f6e74(0x1b5)](_0x413bc1,'insert_only')){_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5['OuvLl'],_0x56686f['_errors']=_0x56686f[_0x1f6e74(0x1bb)]||[],_0x56686f[_0x1f6e74(0x1bb)]['push'](_0x1f6e74(0x161));const _0x8229a4=_0x2e4350[_0x1f6e74(0x205)](_0x56686f);_0x3fffe5['gLfXs'](_0x8229a4,-0x1)&&_0x39d6bc['push']({'rowIndex':_0x8229a4,'rowData':_0x56686f,'errors':[_0x1f6e74(0x161)]});}else _0x413bc1===_0x3fffe5[_0x1f6e74(0x19d)]&&(_0x56686f['_action']=_0x3fffe5[_0x1f6e74(0x18b)]);}}else{if(_0x413bc1==='update_existing')_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5['FbpxT'];else(_0x413bc1===_0x1f6e74(0x1f6)||_0x3fffe5['YBilc'](_0x413bc1,_0x1f6e74(0x177)))&&(_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5[_0x1f6e74(0x1d0)]);}});}}async[a0_0x40da10(0x194)](_0x3153e){const _0x23f619=a0_0x40da10,_0x474619={'jFGOY':_0x23f619(0x1d8),'yAkXp':'Preview\x20job\x20not\x20found\x20or\x20expired','AYufK':function(_0x316f82,_0x289c97){return _0x316f82!==_0x289c97;},'qbbSu':_0x23f619(0x168),'LfWIf':_0x23f619(0x1a1)},_0x6336f0=this['generateId'](),_0x2b3acf=await redisHelper[_0x23f619(0x1da)]('job:'+_0x3153e);if(!_0x2b3acf)throw new Error(_0x474619[_0x23f619(0x1c5)]);if(_0x474619[_0x23f619(0x199)](_0x2b3acf['status'],_0x474619[_0x23f619(0x1ae)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x2b3acf[_0x23f619(0x1ff)]);const _0x1c0116={'job_id':_0x6336f0,'upload_id':_0x2b3acf[_0x23f619(0x1aa)],'preview_job_id':_0x3153e,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2b3acf['params']};return await redisHelper['setJob'](_0x23f619(0x188)+_0x6336f0,_0x1c0116,0xe10),logger['info']({'event':_0x474619['LfWIf'],'jobId':_0x6336f0,'previewJobId':_0x3153e},_0x23f619(0x167)),this['processCommitJob'](_0x6336f0,_0x2b3acf)['catch'](_0x401701=>{const _0x311d43=_0x23f619;logError(_0x401701,{'event':_0x474619['jFGOY'],'jobId':_0x6336f0},_0x311d43(0x16a));}),{'job_id':_0x6336f0,'status':_0x23f619(0x1ad)};}async[a0_0x40da10(0x1b1)](_0xb5a0f5,_0x4c017a){const _0x3c181d=a0_0x40da10,_0xa253ea={'dkjQL':_0x3c181d(0x17a),'GBaNi':function(_0x4fd307,_0x5b6da1){return _0x4fd307||_0x5b6da1;},'cggYE':'insert','yFdOC':_0x3c181d(0x1fa),'EJDjM':function(_0x86dc9a,_0x2327cb){return _0x86dc9a(_0x2327cb);},'LCPiK':'completed','yGtYg':_0x3c181d(0x1ee),'TKmfS':'Commit\x20job\x20completed','pcjkG':function(_0x396bd2,_0x5f32a7,_0x58437c,_0x5e928e){return _0x396bd2(_0x5f32a7,_0x58437c,_0x5e928e);},'FydXt':_0x3c181d(0x1bd)};try{const _0x137d2c=await redisHelper['getJob'](_0x3c181d(0x1dd)+_0x4c017a['upload_id']);if(!_0x137d2c)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x1b0c94,params:_0x2cee30}=_0x137d2c,{tableName:_0xda181,fieldName:_0x42207b,primaryKey:_0xa4ff1b,upsertKeys:_0x5648b8,excludeFromImport:_0x522a97,lookupFields:_0x2bff41,columnFormats:_0x5cfe98}=_0x2cee30,_0x18aee0=_0x2bff41?Object['keys'](_0x2bff41):[],_0x310dd9=new Set([..._0x522a97||[],..._0x18aee0]);let _0x34d2f1=_0x42207b;_0x310dd9[_0x3c181d(0x1e4)]>0x0&&(_0x34d2f1=_0x42207b[_0x3c181d(0x172)](_0x125778=>!_0x310dd9['has'](_0x125778)),logger[_0x3c181d(0x1e1)]({'event':_0x3c181d(0x1fb),'originalCount':_0x42207b[_0x3c181d(0x1eb)],'filteredCount':_0x34d2f1[_0x3c181d(0x1eb)],'excludedFields':Array['from'](_0x310dd9),'lookupSourceFields':_0x18aee0},_0xa253ea[_0x3c181d(0x1f4)]));const _0xdf5f05=_0x1b0c94['filter'](_0x53d077=>_0x53d077[_0x3c181d(0x192)]==='INSERT'),_0x29ebc7=_0x1b0c94[_0x3c181d(0x172)](_0x36f72a=>_0x36f72a['_action']==='UPDATE');let _0x551ae0=0x0,_0x4f0fb7=0x0;const _0x36f3fb=[];if(_0xdf5f05['length']>0x0){const _0x628e28=upsertBuilder[_0x3c181d(0x1cf)](_0xdf5f05,0x64);for(const _0x4d4819 of _0x628e28){const {query:_0x2b9602}=upsertBuilder['buildBatchInsert'](_0x4d4819,_0xda181,_0x34d2f1,_0xa253ea['GBaNi'](_0x5cfe98,{}));_0x2b9602&&_0x36f3fb['push']({'sql':_0x2b9602,'count':_0x4d4819['length'],'type':_0xa253ea['cggYE']});}}if(_0x29ebc7['length']>0x0){const _0x69a2c=upsertBuilder['chunkRows'](_0x29ebc7,0x64);for(const _0x4b8cd2 of _0x69a2c){const {query:_0x5f0729}=upsertBuilder[_0x3c181d(0x1cb)](_0x4b8cd2,_0xda181,_0x34d2f1,_0xa4ff1b,_0x5648b8,_0x5cfe98||{});_0x5f0729&&_0x36f3fb[_0x3c181d(0x19a)]({'sql':_0x5f0729,'count':_0x4b8cd2['length'],'type':_0xa253ea[_0x3c181d(0x193)]});}}_0x36f3fb['length']>0x0&&await _0xa253ea[_0x3c181d(0x1b0)](executeTransaction,_0x36f3fb['map'](_0x5adcd8=>({'sql':_0x5adcd8[_0x3c181d(0x18d)],'params':[]})));_0x36f3fb[_0x3c181d(0x160)](_0x5cf380=>{const _0x4f938d=_0x3c181d;if(_0x5cf380[_0x4f938d(0x1f3)]==='insert')_0x551ae0+=_0x5cf380['count'];else _0x4f0fb7+=_0x5cf380[_0x4f938d(0x1e7)];});const _0x1eab42={'job_id':_0xb5a0f5,'upload_id':_0x4c017a[_0x3c181d(0x1aa)],'preview_job_id':_0x4c017a[_0x3c181d(0x1bf)],'status':_0xa253ea[_0x3c181d(0x18c)],'progress':0x64,'created_at':_0x4c017a[_0x3c181d(0x185)],'started_at':new Date()[_0x3c181d(0x1e6)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x1b0c94[_0x3c181d(0x1eb)],'inserted_rows':_0x551ae0,'updated_rows':_0x4f0fb7,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2cee30};await redisHelper[_0x3c181d(0x165)](_0x3c181d(0x188)+_0xb5a0f5,_0x1eab42,0xe10),logger[_0x3c181d(0x1fd)]({'event':_0xa253ea[_0x3c181d(0x1d9)],'jobId':_0xb5a0f5,'insertedCount':_0x551ae0,'updatedCount':_0x4f0fb7},_0xa253ea['TKmfS']);}catch(_0x52363a){_0xa253ea[_0x3c181d(0x1be)](logError,_0x52363a,{'event':_0x3c181d(0x1e5),'jobId':_0xb5a0f5},_0x3c181d(0x16c)),await redisHelper[_0x3c181d(0x165)]('job:'+_0xb5a0f5,{'job_id':_0xb5a0f5,'upload_id':_0x4c017a[_0x3c181d(0x1aa)],'preview_job_id':_0x4c017a['job_id'],'status':_0xa253ea['FydXt'],'progress':0x0,'error':_0x52363a[_0x3c181d(0x18f)],'created_at':_0x4c017a[_0x3c181d(0x185)],'started_at':new Date()[_0x3c181d(0x1e6)](),'completed_at':new Date()[_0x3c181d(0x1e6)]()},0xe10);}}async[a0_0x40da10(0x1fc)](_0x355b95){const _0x5bd833=a0_0x40da10,_0x545839=await redisHelper['getJob']('job:'+_0x355b95);if(!_0x545839)return{'success':![],'error':_0x5bd833(0x175)};return{'success':!![],'data':_0x545839};}}function a0_0x5098(_0x40d133,_0x40ae77){_0x40d133=_0x40d133-0x15f;const _0x81ef39=a0_0x81ef();let _0x509877=_0x81ef39[_0x40d133];if(a0_0x5098['qSeiJB']===undefined){var _0x4c1694=function(_0x73db10){const _0x8891d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x407ead='',_0xb23c31='';for(let _0x2f8f2d=0x0,_0x780836,_0x16bf0e,_0x3269a2=0x0;_0x16bf0e=_0x73db10['charAt'](_0x3269a2++);~_0x16bf0e&&(_0x780836=_0x2f8f2d%0x4?_0x780836*0x40+_0x16bf0e:_0x16bf0e,_0x2f8f2d++%0x4)?_0x407ead+=String['fromCharCode'](0xff&_0x780836>>(-0x2*_0x2f8f2d&0x6)):0x0){_0x16bf0e=_0x8891d6['indexOf'](_0x16bf0e);}for(let _0x27a68a=0x0,_0x287dc2=_0x407ead['length'];_0x27a68a<_0x287dc2;_0x27a68a++){_0xb23c31+='%'+('00'+_0x407ead['charCodeAt'](_0x27a68a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb23c31);};a0_0x5098['Mzuyax']=_0x4c1694,a0_0x5098['zjEnoJ']={},a0_0x5098['qSeiJB']=!![];}const _0x19c4f2=_0x81ef39[0x0],_0x228eb8=_0x40d133+_0x19c4f2,_0x524eef=a0_0x5098['zjEnoJ'][_0x228eb8];return!_0x524eef?(_0x509877=a0_0x5098['Mzuyax'](_0x509877),a0_0x5098['zjEnoJ'][_0x228eb8]=_0x509877):_0x509877=_0x524eef,_0x509877;}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x534569=a0_0x1c1d;(function(_0x453f80,_0x36ed27){const _0x1b4d5d=a0_0x1c1d,_0xdc8519=_0x453f80();while(!![]){try{const _0x5758cb=-parseInt(_0x1b4d5d(0x15f))/0x1*(parseInt(_0x1b4d5d(0x169))/0x2)+parseInt(_0x1b4d5d(0x16b))/0x3+parseInt(_0x1b4d5d(0x16c))/0x4+-parseInt(_0x1b4d5d(0x152))/0x5*(parseInt(_0x1b4d5d(0x154))/0x6)+-parseInt(_0x1b4d5d(0x159))/0x7*(parseInt(_0x1b4d5d(0x14e))/0x8)+parseInt(_0x1b4d5d(0x15e))/0x9*(parseInt(_0x1b4d5d(0x163))/0xa)+parseInt(_0x1b4d5d(0x156))/0xb;if(_0x5758cb===_0x36ed27)break;else _0xdc8519['push'](_0xdc8519['shift']());}catch(_0x4ddb0d){_0xdc8519['push'](_0xdc8519['shift']());}}}(a0_0x4dbc,0xd3642));function a0_0x4dbc(){const _0x2d7cc2=['AgfZ','sw52ywXPzcbWAg9UzsbMB3jTyxq','nfzVBLPhwa','rKXct1m','ndmWmJe2ohDcuxr6za','mtq0mdCYnffRsNH2CW','DMfSAwrHDgvfBwfPBa','Aw5MBW','DxjS','txLTA1m','Cufmrfy','rhr1z3i','DMfSAwrHDgvgAwvSzezVCM1HDa','mJrcte9XsuC','zxHWB3j0CW','uhnTwLa','zM9YrwfJAa','mtyYnwvLrKfnBW','BgvUz3rO','mJiZofLqBLrcva','CMvWBgfJzq','mte3mZC4oeHVyNnQtW','lI9SB2DNzxi','vvPJCNy','mJCZmta5owTVz1nHta','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvoDw1Izxi','AurrrMG','z2v0','mtCXu0r3rM9o','mJK4mZeYz0PTshft','uKzSz20','yMf0y2HwywXPzgf0zvjVD3m','sw52ywXPzcbvuKWGzM9YBwf0','ndq5mdCWs01rtvzI','zM9YBwf0','ChvZAa','DMfSAwrHDgvsB3C'];a0_0x4dbc=function(){return _0x2d7cc2;};return a0_0x4dbc();}const {logger}=require(a0_0x534569(0x157));class ImportValidator{[a0_0x534569(0x166)](_0x5b29b1,_0x177bae=[],_0x585843={}){const _0x12779c={'FLBOS':function(_0x30fd50,_0x3c9b87){return _0x30fd50===_0x3c9b87;},'MymkS':'required'},_0x673f62=[];return _0x177bae['forEach'](_0x31e5bb=>{const _0x2a1054=a0_0x1c1d,_0x11004f=_0x5b29b1[_0x31e5bb];(_0x12779c['FLBOS'](_0x11004f,null)||_0x12779c[_0x2a1054(0x16a)](_0x11004f,undefined)||_0x12779c['FLBOS'](_0x11004f,''))&&_0x673f62[_0x2a1054(0x165)]({'field':_0x31e5bb,'type':_0x12779c[_0x2a1054(0x14a)],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x585843)['forEach'](_0x3f9bc2=>{const _0x17931a=a0_0x1c1d,_0x5583b4=_0x5b29b1[_0x3f9bc2],_0x17026c=_0x585843[_0x3f9bc2];if(_0x5583b4===null||_0x5583b4===undefined||_0x12779c['FLBOS'](_0x5583b4,''))return;const _0x112b7c=this[_0x17931a(0x14d)](_0x3f9bc2,_0x5583b4,_0x17026c);_0x112b7c&&_0x673f62['push'](_0x112b7c);}),_0x673f62;}[a0_0x534569(0x14d)](_0x1705cf,_0x1497f1,_0x59f5de){const _0x18668f=a0_0x534569,_0x5ad8d4={'iDQFh':'phone','PsmZP':_0x18668f(0x149),'TampK':'number'};switch(_0x59f5de){case'email':return this['validateEmail'](_0x1705cf,_0x1497f1);case _0x5ad8d4[_0x18668f(0x15c)]:return this['validatePhone'](_0x1705cf,_0x1497f1);case _0x5ad8d4[_0x18668f(0x150)]:return this['validateUrl'](_0x1705cf,_0x1497f1);case _0x5ad8d4['TampK']:return this[_0x18668f(0x15b)](_0x1705cf,_0x1497f1);default:return null;}}[a0_0x534569(0x147)](_0x2ef60b,_0x505580){const _0x478213=a0_0x534569,_0x22c95f={'stHQz':_0x478213(0x164),'ekNVi':_0x478213(0x15a)},_0x4c5038=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x4c5038['test'](String(_0x505580)))return{'field':_0x2ef60b,'type':_0x22c95f['stHQz'],'message':_0x22c95f['ekNVi']};return null;}['validatePhone'](_0x2e7548,_0x310b3e){const _0x393230=a0_0x534569,_0x33ef74={'RFlgm':function(_0x503409,_0x2d26b5){return _0x503409<_0x2d26b5;}},_0x185cbb=String(_0x310b3e)[_0x393230(0x155)](/\s+/g,''),_0x4d2123=/^[\d\+\-\(\)]+$/;if(!_0x4d2123['test'](_0x185cbb)||_0x33ef74[_0x393230(0x160)](_0x185cbb['length'],0x8))return{'field':_0x2e7548,'type':_0x393230(0x164),'message':_0x393230(0x168)};return null;}['validateUrl'](_0x5a1356,_0x2d8e96){const _0x583912=a0_0x534569,_0x31defa={'Dtugr':_0x583912(0x162)};try{return new URL(String(_0x2d8e96)),null;}catch(_0x353d95){return{'field':_0x5a1356,'type':'format','message':_0x31defa[_0x583912(0x14c)]};}}['validateNumber'](_0x4386a2,_0xd88e91){const _0x2ea6b8=a0_0x534569,_0x21f0c6={'UZcrv':function(_0x21441d,_0x464117){return _0x21441d(_0x464117);},'qALDV':'format','MoIfn':'Invalid\x20number\x20format'};if(_0x21f0c6[_0x2ea6b8(0x158)](isNaN,_0xd88e91))return{'field':_0x4386a2,'type':_0x21f0c6[_0x2ea6b8(0x14b)],'message':_0x21f0c6['MoIfn']};return null;}['detectDuplicatesInFile'](_0x5f7c8e,_0x4fc039){const _0x27cb71=a0_0x534569,_0x65985=new Map(),_0x2eb3da=[];return _0x5f7c8e[_0x27cb71(0x151)]((_0x528798,_0x33951f)=>{const _0x221ebe=_0x27cb71,_0x4ae471=_0x4fc039['map'](_0x1d53d8=>_0x528798[_0x1d53d8])['join']('|');_0x65985[_0x221ebe(0x167)](_0x4ae471)?_0x2eb3da['push']({'rowIndex':_0x33951f,'duplicateOf':_0x65985[_0x221ebe(0x15d)](_0x4ae471),'key':_0x4ae471}):_0x65985['set'](_0x4ae471,_0x33951f);}),_0x2eb3da;}[a0_0x534569(0x161)](_0x351e3b,_0x43000c,_0x33255c){const _0x18760b=a0_0x534569,_0x477e20={'kllSk':function(_0x4d913e,_0xcb3236){return _0x4d913e>_0xcb3236;},'Hiwcz':'Batch\x20validation\x20completed'},_0x46b811=[];return _0x351e3b[_0x18760b(0x151)]((_0xa11f5a,_0x2164a3)=>{const _0x9ad6a6=_0x18760b,_0x1f7844=this[_0x9ad6a6(0x166)](_0xa11f5a,_0x43000c,_0x33255c);_0x477e20['kllSk'](_0x1f7844['length'],0x0)&&_0x46b811['push']({'rowIndex':_0x2164a3,'rowData':_0xa11f5a,'errors':_0x1f7844});}),logger[_0x18760b(0x148)]({'event':'batch_validation_complete','totalRows':_0x351e3b[_0x18760b(0x153)],'errorCount':_0x46b811['length']},_0x477e20['Hiwcz']),_0x46b811;}}function a0_0x1c1d(_0x42ec94,_0x259357){_0x42ec94=_0x42ec94-0x147;const _0x4dbc0f=a0_0x4dbc();let _0x1c1d8b=_0x4dbc0f[_0x42ec94];if(a0_0x1c1d['peusuH']===undefined){var _0x279308=function(_0x83f9ed){const _0x18e281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476b8d='',_0x4d504f='';for(let _0x3c0beb=0x0,_0x3ecb4a,_0x3cb3fc,_0x2fcd6e=0x0;_0x3cb3fc=_0x83f9ed['charAt'](_0x2fcd6e++);~_0x3cb3fc&&(_0x3ecb4a=_0x3c0beb%0x4?_0x3ecb4a*0x40+_0x3cb3fc:_0x3cb3fc,_0x3c0beb++%0x4)?_0x476b8d+=String['fromCharCode'](0xff&_0x3ecb4a>>(-0x2*_0x3c0beb&0x6)):0x0){_0x3cb3fc=_0x18e281['indexOf'](_0x3cb3fc);}for(let _0x1001a1=0x0,_0xd8b2e6=_0x476b8d['length'];_0x1001a1<_0xd8b2e6;_0x1001a1++){_0x4d504f+='%'+('00'+_0x476b8d['charCodeAt'](_0x1001a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d504f);};a0_0x1c1d['aPeCnj']=_0x279308,a0_0x1c1d['NStHsn']={},a0_0x1c1d['peusuH']=!![];}const _0x3e7f8f=_0x4dbc0f[0x0],_0x5166f0=_0x42ec94+_0x3e7f8f,_0x4578fd=a0_0x1c1d['NStHsn'][_0x5166f0];return!_0x4578fd?(_0x1c1d8b=a0_0x1c1d['aPeCnj'](_0x1c1d8b),a0_0x1c1d['NStHsn'][_0x5166f0]=_0x1c1d8b):_0x1c1d8b=_0x4578fd,_0x1c1d8b;}module[a0_0x534569(0x14f)]=new ImportValidator();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x26bc1c=a0_0x4e72;function a0_0x4e72(_0x38ac03,_0x100d8a){_0x38ac03=_0x38ac03-0x14c;const _0x57aafa=a0_0x57aa();let _0x4e728b=_0x57aafa[_0x38ac03];if(a0_0x4e72['bkhBIT']===undefined){var _0x4b7b94=function(_0x31cb5c){const _0x5370c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41440a='',_0x294cde='';for(let _0x1191d5=0x0,_0x636537,_0x8ca5a,_0x1cd53c=0x0;_0x8ca5a=_0x31cb5c['charAt'](_0x1cd53c++);~_0x8ca5a&&(_0x636537=_0x1191d5%0x4?_0x636537*0x40+_0x8ca5a:_0x8ca5a,_0x1191d5++%0x4)?_0x41440a+=String['fromCharCode'](0xff&_0x636537>>(-0x2*_0x1191d5&0x6)):0x0){_0x8ca5a=_0x5370c0['indexOf'](_0x8ca5a);}for(let _0x5a6471=0x0,_0x31bbb7=_0x41440a['length'];_0x5a6471<_0x31bbb7;_0x5a6471++){_0x294cde+='%'+('00'+_0x41440a['charCodeAt'](_0x5a6471)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x294cde);};a0_0x4e72['CHpPxK']=_0x4b7b94,a0_0x4e72['dLGjXd']={},a0_0x4e72['bkhBIT']=!![];}const _0x440f9e=_0x57aafa[0x0],_0x2ec68b=_0x38ac03+_0x440f9e,_0x5802aa=a0_0x4e72['dLGjXd'][_0x2ec68b];return!_0x5802aa?(_0x4e728b=a0_0x4e72['CHpPxK'](_0x4e728b),a0_0x4e72['dLGjXd'][_0x2ec68b]=_0x4e728b):_0x4e728b=_0x5802aa,_0x4e728b;}(function(_0x17a6d6,_0x4d5e0e){const _0x1ae832=a0_0x4e72,_0x4f4b97=_0x17a6d6();while(!![]){try{const _0x5cadc4=parseInt(_0x1ae832(0x168))/0x1*(-parseInt(_0x1ae832(0x163))/0x2)+-parseInt(_0x1ae832(0x17e))/0x3+parseInt(_0x1ae832(0x17d))/0x4+parseInt(_0x1ae832(0x188))/0x5+-parseInt(_0x1ae832(0x160))/0x6+parseInt(_0x1ae832(0x173))/0x7*(parseInt(_0x1ae832(0x180))/0x8)+parseInt(_0x1ae832(0x186))/0x9*(parseInt(_0x1ae832(0x16f))/0xa);if(_0x5cadc4===_0x4d5e0e)break;else _0x4f4b97['push'](_0x4f4b97['shift']());}catch(_0x1e7ed7){_0x4f4b97['push'](_0x4f4b97['shift']());}}}(a0_0x57aa,0x6c591));const importService=require(a0_0x26bc1c(0x16c)),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require(a0_0x26bc1c(0x15f));class ImportHandler{static[a0_0x26bc1c(0x161)](_0x49c877,_0x3e7b8a,_0xbe45e0,_0x539e1a){const _0x400897=a0_0x26bc1c,_0x396710={'PSsTC':_0x400897(0x182),'hpmJc':_0x400897(0x156),'bgaKV':function(_0x5ed106,_0x21891d,_0x4f12f1,_0x26335f){return _0x5ed106(_0x21891d,_0x4f12f1,_0x26335f);},'GtKrq':'Failed\x20to\x20create\x20preview\x20job','TDIYE':function(_0x299d14,_0x373366,_0xf2fad6,_0x5864fa){return _0x299d14(_0x373366,_0xf2fad6,_0x5864fa);},'wETCM':'import_commit_error','bWhVB':_0x400897(0x166),'PMceN':_0x400897(0x152),'UdnPL':'import_routes_registered'},_0x3797c2=_0x400897(0x16d)+_0x3e7b8a+'/'+_0xbe45e0;_0x49c877[_0x400897(0x14e)](_0x3797c2+_0x400897(0x176),async(_0x137644,_0x3d01fa)=>{try{await this['handleImportUpload'](_0x137644,_0x3d01fa,_0x539e1a,_0x3e7b8a,_0xbe45e0);}catch(_0x26d6c3){logError(_0x26d6c3,{'event':_0x396710['PSsTC']},_0x396710['hpmJc']),_0x3d01fa['status'](0x1f4)['json']({'success':![],'error':_0x26d6c3['message']});}}),_0x49c877['post'](_0x3797c2+'/import-preview',async(_0x8c89d6,_0x5be843)=>{const _0x5b61d6=_0x400897;try{await this[_0x5b61d6(0x15c)](_0x8c89d6,_0x5be843);}catch(_0xdebf75){_0x396710[_0x5b61d6(0x17c)](logError,_0xdebf75,{'event':'import_preview_error'},_0x396710[_0x5b61d6(0x18a)]),_0x5be843[_0x5b61d6(0x16b)](0x1f4)[_0x5b61d6(0x164)]({'success':![],'error':_0xdebf75['message']});}}),_0x49c877['post'](_0x3797c2+'/import-commit',async(_0x56bc82,_0xce38b4)=>{const _0x566815=_0x400897;try{await this[_0x566815(0x157)](_0x56bc82,_0xce38b4);}catch(_0x367519){_0x396710[_0x566815(0x158)](logError,_0x367519,{'event':_0x396710['wETCM']},'Failed\x20to\x20create\x20commit\x20job'),_0xce38b4[_0x566815(0x16b)](0x1f4)[_0x566815(0x164)]({'success':![],'error':_0x367519['message']});}}),_0x49c877[_0x400897(0x155)](_0x3797c2+_0x400897(0x189),async(_0x41dc1c,_0x39e97c)=>{const _0x259dbd=_0x400897;try{await this[_0x259dbd(0x184)](_0x41dc1c,_0x39e97c);}catch(_0x593393){logError(_0x593393,{'event':_0x396710['bWhVB']},_0x396710[_0x259dbd(0x15d)]),_0x39e97c[_0x259dbd(0x16b)](0x1f4)['json']({'success':![],'error':_0x593393['message']});}}),logger['info']({'event':_0x396710[_0x400897(0x171)],'module':_0x3e7b8a,'endpoint':_0xbe45e0,'table':_0x539e1a[_0x400897(0x15e)]},'Import\x20routes\x20registered\x20for\x20'+_0x3e7b8a+'/'+_0xbe45e0);}static async[a0_0x26bc1c(0x151)](_0x35090a,_0x1931d8,_0x235c87,_0x2507bf,_0x48db1){const _0x23ce69=a0_0x26bc1c,_0x2ed385={'KLpiZ':_0x23ce69(0x178),'uDwhJ':_0x23ce69(0x14f),'PvxgV':function(_0x59b6ab,_0x172887){return _0x59b6ab>_0x172887;},'aNjxP':_0x23ce69(0x17b),'vXnld':'import_upload_process_error','Ushiz':_0x23ce69(0x165),'MAXXU':function(_0x56a233,_0x2486cf,_0x58e8d7,_0x418f84){return _0x56a233(_0x2486cf,_0x58e8d7,_0x418f84);}},_0x49cf9c=uploadHandler['getUploadMiddleware']();_0x2ed385['MAXXU'](_0x49cf9c,_0x35090a,_0x1931d8,async _0x1bdb7e=>{const _0x2f7c26=_0x23ce69;if(_0x1bdb7e)return _0x1931d8['status'](0x190)[_0x2f7c26(0x164)]({'success':![],'error':_0x1bdb7e[_0x2f7c26(0x17f)]});if(!_0x35090a['file'])return _0x1931d8['status'](0x190)['json']({'success':![],'error':'No\x20file\x20uploaded'});try{const _0x4a3066=_0x35090a['body']['upsertMode']||_0x2ed385['KLpiZ'];let _0x1fc4ba=_0x235c87[_0x2f7c26(0x179)];if(_0x35090a['body'][_0x2f7c26(0x179)])try{_0x1fc4ba=JSON[_0x2f7c26(0x175)](_0x35090a[_0x2f7c26(0x177)][_0x2f7c26(0x179)]);}catch(_0x1d160c){logger['warn']({'event':_0x2f7c26(0x159),'error':_0x1d160c[_0x2f7c26(0x17f)]},_0x2ed385['uDwhJ']);}const _0x44b87d=_0x235c87[_0x2f7c26(0x187)]||[];if(Array['isArray'](_0x1fc4ba)){const _0x2fa2ab=_0x1fc4ba['filter'](_0x495817=>!_0x44b87d[_0x2f7c26(0x170)](_0x495817));if(_0x2ed385[_0x2f7c26(0x16a)](_0x2fa2ab[_0x2f7c26(0x150)],0x0))return _0x1931d8['status'](0x190)['json']({'success':![],'error':_0x2ed385[_0x2f7c26(0x14d)],'message':_0x2f7c26(0x15b)+_0x2fa2ab['join'](',\x20'),'validFields':_0x44b87d});}const _0x6b1d40={'moduleName':_0x2507bf,'endpointName':_0x48db1,'tableName':_0x235c87['tableName'],'primaryKey':_0x235c87[_0x2f7c26(0x181)],'fieldName':_0x235c87['fieldName'],'fieldLabels':_0x235c87['fieldLabels']||{},'columnFormats':_0x235c87['columnFormats']||{},'upsertKeys':_0x1fc4ba,'upsertStrategy':_0x4a3066,'requiredFields':_0x235c87[_0x2f7c26(0x153)]||[],'validations':_0x235c87[_0x2f7c26(0x14c)]||{},'lookupFields':_0x235c87[_0x2f7c26(0x169)]||{},'excludeFromImport':_0x235c87[_0x2f7c26(0x15a)]||[],'chunkSize':_0x235c87[_0x2f7c26(0x17a)]||0x64},_0xd243fd=await importService['uploadFile'](_0x35090a[_0x2f7c26(0x167)],_0x6b1d40);_0x1931d8['json']({'success':!![],'data':_0xd243fd});}catch(_0x162d57){logError(_0x162d57,{'event':_0x2ed385[_0x2f7c26(0x183)]},_0x2ed385[_0x2f7c26(0x162)]),_0x1931d8['status'](0x1f4)[_0x2f7c26(0x164)]({'success':![],'error':_0x162d57[_0x2f7c26(0x17f)]});}});}static async['handleImportPreview'](_0x5ccef2,_0x83415e){const _0x26391b=a0_0x26bc1c,_0x2ece70={'uyeBS':'upload_id\x20is\x20required'},{upload_id:_0x3b7b98}=_0x5ccef2[_0x26391b(0x177)];if(!_0x3b7b98)return _0x83415e[_0x26391b(0x16b)](0x190)[_0x26391b(0x164)]({'success':![],'error':_0x2ece70['uyeBS']});try{const _0xc6a28b=await importService['createPreviewJob'](_0x3b7b98);_0x83415e['json']({'success':!![],'data':_0xc6a28b});}catch(_0x185325){_0x83415e[_0x26391b(0x16b)](0x1f4)['json']({'success':![],'error':_0x185325[_0x26391b(0x17f)]});}}static async['handleImportCommit'](_0x4cb272,_0x2cb4d3){const _0xe430a1=a0_0x26bc1c,{preview_job_id:_0x204434}=_0x4cb272['body'];if(!_0x204434)return _0x2cb4d3['status'](0x190)['json']({'success':![],'error':_0xe430a1(0x174)});try{const _0x3802ee=await importService[_0xe430a1(0x172)](_0x204434);_0x2cb4d3['json']({'success':!![],'data':_0x3802ee});}catch(_0x304bbb){_0x2cb4d3[_0xe430a1(0x16b)](0x1f4)['json']({'success':![],'error':_0x304bbb[_0xe430a1(0x17f)]});}}static async[a0_0x26bc1c(0x184)](_0x4ba73a,_0x5988d5){const _0x2a7f88=a0_0x26bc1c,{job_id:_0x2bed79}=_0x4ba73a[_0x2a7f88(0x185)];if(!_0x2bed79)return _0x5988d5['status'](0x190)['json']({'success':![],'error':'job_id\x20is\x20required'});try{const _0x2037e8=await importService['getJobStatus'](_0x2bed79);if(!_0x2037e8[_0x2a7f88(0x154)])return _0x5988d5['status'](0x194)['json'](_0x2037e8);_0x5988d5['json'](_0x2037e8);}catch(_0xbd01a3){_0x5988d5['status'](0x1f4)['json']({'success':![],'error':_0xbd01a3[_0x2a7f88(0x17f)]});}}}function a0_0x57aa(){const _0x346e2b=['DLHUBgq','AgfUzgXLsw1WB3j0u3rHDhvZ','CxvLCNK','mtq1ndKXndHqBvnUq2e','zMLLBgroyw1L','mtu0otq1C2rgzg92','l2LTCg9YDc1ZDgf0Dxm','r3rlCNe','DMfSAwrHDgLVBNm','yu5QEfa','Cg9ZDa','rMfPBgvKihrVihbHCNnLihvWC2vYDeTLExmSihvZAw5NigrLzMf1Bhq','BgvUz3rO','AgfUzgXLsw1WB3j0vxbSB2fK','rMfPBgvKihrVigDLDcbPBxbVCNqGC3rHDhvZ','CMvXDwLYzwrgAwvSzhm','C3vJy2vZCW','z2v0','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','AgfUzgXLsw1WB3j0q29TBwL0','verjwuu','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','zxHJBhvKzuzYB21jBxbVCNq','s2v5CYbUB3qGywXSB3DLzdOG','AgfUzgXLsw1WB3j0uhjLDMLLDW','ue1Jzu4','DgfIBgvoyw1L','lI4VlI4VDxrPBhmVBg9Nz2vY','ndGYmJeXnKDZve1LDW','CMvNAxn0zxjsB3v0zxm','vxnOAxO','ndq0twD3C0L6','ANnVBG','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fK','Aw1WB3j0x3n0yxr1C19LCNjVCG','zMLSzq','mZu4mufnteLhAG','Bg9VA3vWrMLLBgrZ','uhz4z1y','C3rHDhvZ','lI4VlI4VC2vYDMLJzxmVAw1WB3j0lxnLCNzPy2u','l2fWAs8','zxHWB3j0CW','mtbyrhvOtLe','Aw5JBhvKzxm','vwrUueW','y3jLyxrLq29TBwL0sM9I','odG5wgjWBwz4','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','CgfYC2u','l2LTCg9YDc11CgXVywq','yM9KEq','DxbKyxrLx2v4Axn0Aw5N','DxbZzxj0s2v5CW','y2H1BMTtAxPL','sw52ywXPzcb1ChnLCNqGA2v5CW','yMDHs1y','nZi1mZi0DvzHC3LO','nJmXmdCXtgjWrNzQ','BwvZC2fNzq','mJy3mdrntwTSENq','ChjPBwfYEuTLEq','Aw1WB3j0x3vWBg9Hzf9LCNjVCG'];a0_0x57aa=function(){return _0x346e2b;};return a0_0x57aa();}module[a0_0x26bc1c(0x16e)]=ImportHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x592ff0=a0_0x36e8;(function(_0x3d6ade,_0x4fb5a7){const _0x4bd161=a0_0x36e8,_0x4b8493=_0x3d6ade();while(!![]){try{const _0x42cf78=parseInt(_0x4bd161(0x126))/0x1*(parseInt(_0x4bd161(0xe7))/0x2)+-parseInt(_0x4bd161(0x110))/0x3+parseInt(_0x4bd161(0xfe))/0x4*(-parseInt(_0x4bd161(0xf5))/0x5)+parseInt(_0x4bd161(0x11e))/0x6*(parseInt(_0x4bd161(0xf6))/0x7)+-parseInt(_0x4bd161(0x132))/0x8*(-parseInt(_0x4bd161(0xea))/0x9)+-parseInt(_0x4bd161(0x12c))/0xa+parseInt(_0x4bd161(0xfa))/0xb*(parseInt(_0x4bd161(0xfc))/0xc);if(_0x42cf78===_0x4fb5a7)break;else _0x4b8493['push'](_0x4b8493['shift']());}catch(_0x2030ac){_0x4b8493['push'](_0x4b8493['shift']());}}}(a0_0x3707,0xd2959));function a0_0x36e8(_0x26bf48,_0x5ef3ed){_0x26bf48=_0x26bf48-0xe4;const _0x3707b6=a0_0x3707();let _0x36e80b=_0x3707b6[_0x26bf48];if(a0_0x36e8['PYTABa']===undefined){var _0x37d3b6=function(_0x42dda5){const _0x18c1bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x341ccf='',_0xf97b63='';for(let _0x419dca=0x0,_0x1611ba,_0x448e0d,_0x2b0b8f=0x0;_0x448e0d=_0x42dda5['charAt'](_0x2b0b8f++);~_0x448e0d&&(_0x1611ba=_0x419dca%0x4?_0x1611ba*0x40+_0x448e0d:_0x448e0d,_0x419dca++%0x4)?_0x341ccf+=String['fromCharCode'](0xff&_0x1611ba>>(-0x2*_0x419dca&0x6)):0x0){_0x448e0d=_0x18c1bf['indexOf'](_0x448e0d);}for(let _0x381503=0x0,_0x416f9a=_0x341ccf['length'];_0x381503<_0x416f9a;_0x381503++){_0xf97b63+='%'+('00'+_0x341ccf['charCodeAt'](_0x381503)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf97b63);};a0_0x36e8['ZeHSuM']=_0x37d3b6,a0_0x36e8['iIOVOB']={},a0_0x36e8['PYTABa']=!![];}const _0x4e2e39=_0x3707b6[0x0],_0x2210c3=_0x26bf48+_0x4e2e39,_0x21c3de=a0_0x36e8['iIOVOB'][_0x2210c3];return!_0x21c3de?(_0x36e80b=a0_0x36e8['ZeHSuM'](_0x36e80b),a0_0x36e8['iIOVOB'][_0x2210c3]=_0x36e80b):_0x36e80b=_0x21c3de,_0x36e80b;}function a0_0x3707(){const _0x16b611=['x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','cIaGicaGifvqrefursa','ue9tveDsrvnrta','Aw52ywXPzf9KyL90ExbL','yxfbDuS','C3rYAw5N','id0GvKfmvuvtka','AM9PBG','s05oveS','mZe0ntuXogzkvxvLBq','su5trvjuiefmtaO','Cg9ZDgDYzxnXBa','z2zbCvG','BNvTyMvY','icaGifnftevdvca','zxHWB3j0CW','Dg9mB3DLCKnHC2u','mtyWodfrANbVuNO','BKfPDKG','BwfW','C3fSAxrL','laOGicaGicaGica','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','otC3nZC4mgPSrKjlCW','wvnxB2S','tMzvtM0','yMf0y2HFDxbKyxrLx2j1AwX0','yMf0y2HFAw5Zzxj0x2j1AwX0','CKLgsuq','nJrlB1PSuLC','oJPeqvrf','ChvZAa','ve9FrefursG','zM9YBwf0rgf0zvzHBhvL','mJzhuM1ovha','CfDqsxe','yNvPBgrfC2nHCgvgDw5JDgLVBG','nti3nZi0vhb2EKnh','cIaGica','BgvUz3rO','q0ftvcG','laOGicaGicaGia','cLnftevdvcaXiezst00Grfvbta','ieftierbveuP','rejFvfLqrq','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','ihqkicaGicaGvvnjtKCGkaO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','mJu4mgXQsKnwua','mJfsuenergu','Aw5JBhvKzxm','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','CMvWBgfJzq','nde4wLbArxvP','kqOGicaGicbwquXvrvmG','nde2nJqWDNnqtMPU','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','mtKZnKLeAeTRzq','tLvmta','ieforca','vfPOBMe','cIaGicaGicKGqvmGDIG','Cun2D3i','zLjKre0','id0GDI4','uLDND1G','uwPPEwu','Bgz1r3C','CMnVwhe','y0Dqz3e','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','EKHoD3a','sgfRzNq','sMjgue0','sw52ywXPzcbeqL9uwvbfoIa','ndq0mdu1nwvxC0vmsG','z2v0rgf0ywjHC2vuExbL','t1jbq0Xf','tLvmtdO6refurq','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq'];a0_0x3707=function(){return _0x16b611;};return a0_0x3707();}const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x592ff0(0x129)};class UpsertBuilder{[a0_0x592ff0(0x111)](){const _0x27a615=a0_0x592ff0,_0x476e84={'aqAuK':_0x27a615(0x118)},_0x15f9aa=(process['env'][_0x27a615(0xf1)]||_0x27a615(0x120))[_0x27a615(0x125)](),_0x277961=Object['values'](DB_TYPES);if(!_0x277961['includes'](_0x15f9aa))return logger['warn']({'event':_0x476e84[_0x27a615(0x119)],'provided':_0x15f9aa,'fallback':_0x27a615(0x120)},_0x27a615(0x10f)+_0x15f9aa+_0x27a615(0xfd)),DB_TYPES['POSTGRESQL'];return _0x15f9aa;}['formatDateValue'](_0x25fe5f,_0x3c833b,_0x527bf4=![]){const _0x3f7f97=a0_0x592ff0,_0x371232={'rcoXq':_0x3f7f97(0xff),'eDzfs':_0x3f7f97(0x113)};if(_0x527bf4)switch(_0x3c833b){case DB_TYPES[_0x3f7f97(0x117)]:return'NULL::DATE';case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return _0x371232['rcoXq'];case DB_TYPES['SQLSERVER']:return _0x371232[_0x3f7f97(0x109)];case DB_TYPES[_0x3f7f97(0x112)]:return _0x371232['rcoXq'];default:return _0x371232['eDzfs'];}switch(_0x3c833b){case DB_TYPES[_0x3f7f97(0x117)]:return _0x25fe5f+_0x3f7f97(0x133);case DB_TYPES['MYSQL']:return _0x25fe5f;case DB_TYPES['SQLITE']:return _0x25fe5f;case DB_TYPES['SQLSERVER']:return _0x3f7f97(0xed)+_0x25fe5f+_0x3f7f97(0xf0);case DB_TYPES[_0x3f7f97(0x112)]:return _0x3f7f97(0xe5)+_0x25fe5f+',\x20\x27YYYY-MM-DD\x27)';default:return _0x25fe5f+'::DATE';}}[a0_0x592ff0(0xe9)](_0x401f48={}){const _0x33bc62=a0_0x592ff0,_0x2a8120={'RZdDt':function(_0x492db3,_0x5406b7){return _0x492db3===_0x5406b7;},'fRdDM':'date','rIFID':_0x33bc62(0xff),'vmmgj':function(_0x5ae93e,_0x24aa8b){return _0x5ae93e===_0x24aa8b;},'lHWgs':_0x33bc62(0x122),'KNNTK':function(_0x56d753,_0x1b149a){return _0x56d753(_0x1b149a);}},_0x2bb4c3=this[_0x33bc62(0x111)]();return(_0x34e6d0,_0x56ee82)=>{const _0x3d2e09=_0x33bc62,_0x181e37=_0x401f48[_0x56ee82];if(_0x2a8120['RZdDt'](_0x34e6d0,null)||_0x34e6d0===undefined){if(_0x181e37&&_0x181e37['type']===_0x2a8120['fRdDM'])return this['formatDateValue'](null,_0x2bb4c3,!![]);return _0x2a8120[_0x3d2e09(0x131)];}if(_0x2a8120['vmmgj'](typeof _0x34e6d0,_0x3d2e09(0x11a))){const _0xa14b7d='\x27'+_0x34e6d0['replace'](/'/g,'\x27\x27')+'\x27';if(_0x181e37&&_0x181e37['type']===_0x2a8120[_0x3d2e09(0x104)])return this[_0x3d2e09(0xe6)](_0xa14b7d,_0x2bb4c3,![]);return _0xa14b7d;}if(typeof _0x34e6d0===_0x2a8120['lHWgs'])return _0x34e6d0;if(typeof _0x34e6d0==='boolean')return _0x34e6d0;const _0xfb9ed9='\x27'+_0x2a8120[_0x3d2e09(0x11d)](String,_0x34e6d0)[_0x3d2e09(0xf9)](/'/g,'\x27\x27')+'\x27';if(_0x181e37&&_0x181e37['type']===_0x2a8120[_0x3d2e09(0x104)])return this[_0x3d2e09(0xe6)](_0xfb9ed9,_0x2bb4c3,![]);return _0xfb9ed9;};}['buildBatchInsert'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5={}){const _0x41a477={'wnfmu':function(_0x2a3dca,_0x5d1a28){return _0x2a3dca===_0x5d1a28;}},_0x5048ce=this['getDatabaseType']();if(_0x41a477['wnfmu'](_0x5048ce,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5);return this['_buildBatchInsertPostgres'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5);}['_buildBatchInsertPostgres'](_0x28b8e7,_0x43d59d,_0x22f856,_0x2e5c81={}){const _0x3b4262=a0_0x592ff0,_0x423e64={'NfUNm':function(_0x1b66d8,_0x200dd8){return _0x1b66d8===_0x200dd8;},'uQlYy':',\x0a\x20\x20\x20\x20\x20\x20\x20','lfuGw':_0x3b4262(0x130),'mUHJO':_0x3b4262(0x120),'RWgwX':_0x3b4262(0x114)};if(_0x423e64[_0x3b4262(0x12e)](_0x28b8e7['length'],0x0))return{'query':null,'values':[]};const _0x4e992e=this['buildEscapeFunction'](_0x2e5c81),_0x2ebd5f=_0x28b8e7['map'](_0x545b10=>{const _0x525355=_0x3b4262,_0xcea7d6=_0x22f856['map'](_0x86a5e0=>_0x4e992e(_0x545b10[_0x86a5e0],_0x86a5e0));return'('+_0xcea7d6[_0x525355(0x11c)](',\x20')+')';}),_0x1b7793='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x43d59d+'\x20('+_0x22f856[_0x3b4262(0x11c)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2ebd5f[_0x3b4262(0x11c)](_0x423e64['uQlYy'])+_0x3b4262(0xeb);return logger['debug']({'event':_0x423e64[_0x3b4262(0x108)],'tableName':_0x43d59d,'rowCount':_0x28b8e7['length'],'dbType':_0x423e64['mUHJO']},_0x423e64[_0x3b4262(0x106)]),{'query':_0x1b7793,'values':[]};}[a0_0x592ff0(0x115)](_0x27a858,_0x4d6a43,_0x3d3f4b,_0x329655={}){const _0x1799b9=a0_0x592ff0,_0x565171={'JbFPM':function(_0x5d1db3,_0x17aa44){return _0x5d1db3===_0x17aa44;},'gxhwj':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x565171[_0x1799b9(0x10e)](_0x27a858[_0x1799b9(0xec)],0x0))return{'query':null,'values':[]};const _0x5ebd8f=this[_0x1799b9(0xe9)](_0x329655),_0x19e112=_0x27a858[_0x1799b9(0x128)](_0x5c8a28=>{const _0x4b759d=_0x1799b9,_0x7a4758=_0x3d3f4b['map'](_0x2823b7=>_0x5ebd8f(_0x5c8a28[_0x2823b7],_0x2823b7));return'\x20\x20INTO\x20'+_0x4d6a43+'\x20('+_0x3d3f4b[_0x4b759d(0x11c)](',\x20')+')\x20VALUES\x20('+_0x7a4758[_0x4b759d(0x11c)](',\x20')+')';}),_0x4d7849=_0x1799b9(0x11f)+_0x19e112['join']('\x0a')+_0x1799b9(0xef);return logger['debug']({'event':_0x1799b9(0x130),'tableName':_0x4d6a43,'rowCount':_0x27a858[_0x1799b9(0xec)],'dbType':'oracle'},_0x565171['gxhwj']),{'query':_0x4d7849,'values':[]};}['buildBatchUpdate'](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14={}){const _0x3323ec=a0_0x592ff0,_0xfe5e30={'ZoNUw':function(_0x1f8d5e,_0x1c2af4){return _0x1f8d5e===_0x1c2af4;},'eInzn':function(_0x4c85b4,_0x15c238){return _0x4c85b4===_0x15c238;}},_0x4c0590=this['getDatabaseType']();if(_0xfe5e30['ZoNUw'](_0x4c0590,DB_TYPES[_0x3323ec(0x112)]))return this[_0x3323ec(0xf4)](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);if(_0xfe5e30['eInzn'](_0x4c0590,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);return this[_0x3323ec(0xf2)](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);}['_buildBatchUpdatePostgres'](_0x11e1df,_0x323cd2,_0x5f58d5,_0x5e9a05,_0x12b2c2,_0x30b1b5={}){const _0x420c5b=a0_0x592ff0,_0xa6208={'zHNwp':'batch_update_no_columns','VAcoO':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','hqwQU':'\x20AND\x20','pWPIq':_0x420c5b(0x12f)};if(_0x11e1df[_0x420c5b(0xec)]===0x0)return{'query':null,'values':[]};const _0x5b8c54=this[_0x420c5b(0xe9)](_0x30b1b5),_0x228508=_0x5f58d5['filter'](_0x5d080e=>!_0x12b2c2['includes'](_0x5d080e)&&_0x5d080e!==_0x5e9a05);if(_0x228508['length']===0x0)return logger['warn']({'event':_0xa6208[_0x420c5b(0x10c)],'tableName':_0x323cd2},_0xa6208['VAcoO']),{'query':null,'values':[]};const _0x11eb87=_0x11e1df['map'](_0x3c09ee=>{const _0xcd48bf=_0x420c5b,_0x4e5073=[..._0x12b2c2,..._0x228508],_0xb156bb=_0x4e5073['map'](_0x5ec243=>_0x5b8c54(_0x3c09ee[_0x5ec243],_0x5ec243));return'('+_0xb156bb[_0xcd48bf(0x11c)](',\x20')+')';}),_0x311ab1=_0x228508[_0x420c5b(0x128)](_0xfdf8de=>_0xfdf8de+'\x20=\x20v.'+_0xfdf8de)[_0x420c5b(0x11c)](_0x420c5b(0x12a)),_0x29e966=_0x12b2c2[_0x420c5b(0x128)](_0x45ff90=>'t.'+_0x45ff90+'\x20=\x20v.'+_0x45ff90)['join'](_0xa6208['hqwQU']),_0x5ed3b6=_0x420c5b(0x116)+_0x323cd2+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x311ab1+_0x420c5b(0xf8)+_0x11eb87[_0x420c5b(0x11c)](_0x420c5b(0xee))+_0x420c5b(0x102)+[..._0x12b2c2,..._0x228508]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x29e966+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xa6208[_0x420c5b(0xe8)],'tableName':_0x323cd2,'rowCount':_0x11e1df[_0x420c5b(0xec)],'updateColumns':_0x228508['length'],'dbType':_0x420c5b(0x120)},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x5ed3b6,'values':[]};}[a0_0x592ff0(0xf4)](_0x1a946f,_0x3e332b,_0x11634c,_0x4454b1,_0x3ff115,_0x2bba39={}){const _0x2e1298=a0_0x592ff0,_0x1f535e={'nAivH':function(_0x27ae83,_0x1bc84d){return _0x27ae83===_0x1bc84d;},'Qjiye':function(_0x8b3536,_0x1ff0e7){return _0x8b3536===_0x1ff0e7;},'ZmLyM':_0x2e1298(0x12a),'gfAqX':_0x2e1298(0x100),'cGPgq':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','KAkxZ':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x1f535e[_0x2e1298(0x127)](_0x1a946f['length'],0x0))return{'query':null,'values':[]};const _0x4b96d0=this[_0x2e1298(0xe9)](_0x2bba39),_0xa88737=_0x11634c['filter'](_0x111e3e=>!_0x3ff115[_0x2e1298(0xf7)](_0x111e3e)&&_0x111e3e!==_0x4454b1);if(_0x1f535e[_0x2e1298(0x107)](_0xa88737['length'],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x3e332b},_0x2e1298(0x10b)),{'query':null,'values':[]};const _0x2bf5e4=[..._0x3ff115,..._0xa88737],_0x3af84c=_0x1a946f[_0x2e1298(0x128)]((_0x4b6168,_0x4e3dd0)=>{const _0x344103=_0x2e1298,_0x3e8a6d={'TZhna':function(_0x87eca7,_0x4ba09b){return _0x87eca7===_0x4ba09b;}},_0x246924=_0x2bf5e4['map'](_0x366fb8=>{const _0x44fb1a=a0_0x36e8,_0x385635=_0x4b96d0(_0x4b6168[_0x366fb8],_0x366fb8);return _0x3e8a6d[_0x44fb1a(0x101)](_0x4e3dd0,0x0)?_0x385635+'\x20AS\x20'+_0x366fb8:_0x385635;});return _0x344103(0x123)+_0x246924[_0x344103(0x11c)](',\x20')+'\x20FROM\x20DUAL';}),_0x1f1406=_0xa88737['map'](_0x40a75c=>'t.'+_0x40a75c+_0x2e1298(0x105)+_0x40a75c)['join'](_0x1f535e['ZmLyM']),_0x3e625b=_0x3ff115[_0x2e1298(0x128)](_0x42cd64=>'t.'+_0x42cd64+_0x2e1298(0x105)+_0x42cd64)[_0x2e1298(0x11c)](_0x1f535e[_0x2e1298(0x121)]),_0x1d09ec='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3e332b+_0x2e1298(0xf3)+_0x3af84c[_0x2e1298(0x11c)](_0x1f535e[_0x2e1298(0x10a)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x3e625b+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x1f1406+_0x2e1298(0xeb);return logger['debug']({'event':'batch_update_built','tableName':_0x3e332b,'rowCount':_0x1a946f['length'],'updateColumns':_0xa88737['length'],'dbType':'oracle'},_0x1f535e['KAkxZ']),{'query':_0x1d09ec,'values':[]};}['_buildBatchUpdateMysql'](_0x2b3bff,_0x3f5258,_0x4e45b,_0x18d300,_0x364feb,_0x3cf2cb={}){const _0x19ec56=a0_0x592ff0,_0x450092={'qCvwr':function(_0x17ecdb,_0x23aecc){return _0x17ecdb===_0x23aecc;},'Hakft':_0x19ec56(0x10b),'YSWok':_0x19ec56(0x12a),'GjvLS':_0x19ec56(0xee),'SuhsQ':'mysql','tAPLC':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x2b3bff[_0x19ec56(0xec)]===0x0)return{'query':null,'values':[]};const _0x5185d1=this['buildEscapeFunction'](_0x3cf2cb),_0x279548=_0x4e45b['filter'](_0x599652=>!_0x364feb['includes'](_0x599652)&&_0x599652!==_0x18d300);if(_0x450092[_0x19ec56(0x103)](_0x279548[_0x19ec56(0xec)],0x0))return logger['warn']({'event':_0x19ec56(0x12b),'tableName':_0x3f5258},_0x450092[_0x19ec56(0x10d)]),{'query':null,'values':[]};const _0x4dfd99=[...new Set([..._0x364feb,..._0x279548])],_0x517602=_0x2b3bff['map'](_0x5312c5=>{const _0x16e0c1=_0x19ec56,_0x2338c9=_0x4dfd99['map'](_0x58bc39=>_0x5185d1(_0x5312c5[_0x58bc39],_0x58bc39));return'('+_0x2338c9[_0x16e0c1(0x11c)](',\x20')+')';}),_0x80fa20=_0x279548['map'](_0x1ba1d1=>_0x1ba1d1+_0x19ec56(0x11b)+_0x1ba1d1+')')['join'](_0x450092[_0x19ec56(0x12d)]),_0x184522='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3f5258+'\x20('+_0x4dfd99['join'](',\x20')+_0x19ec56(0xfb)+_0x517602[_0x19ec56(0x11c)](_0x450092['GjvLS'])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x80fa20+_0x19ec56(0xeb);return logger['debug']({'event':_0x19ec56(0x12f),'tableName':_0x3f5258,'rowCount':_0x2b3bff['length'],'updateColumns':_0x279548['length'],'dbType':_0x450092['SuhsQ']},_0x450092['tAPLC']),{'query':_0x184522,'values':[]};}['chunkRows'](_0x1ed54c,_0x5db5f7=0x64){const _0x401fb6=a0_0x592ff0,_0x30287e=[];for(let _0x434be2=0x0;_0x434be2<_0x1ed54c[_0x401fb6(0xec)];_0x434be2+=_0x5db5f7){_0x30287e[_0x401fb6(0xe4)](_0x1ed54c['slice'](_0x434be2,_0x434be2+_0x5db5f7));}return _0x30287e;}}module[a0_0x592ff0(0x124)]=new UpsertBuilder();
|
|
1
|
+
const a0_0x318e8d=a0_0xaf76;function a0_0xaf76(_0x21c302,_0x3689e4){_0x21c302=_0x21c302-0x1c7;const _0x4adb13=a0_0x4adb();let _0xaf768e=_0x4adb13[_0x21c302];if(a0_0xaf76['dQdIgW']===undefined){var _0x3c4737=function(_0x4e6808){const _0x552273='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2048d0='',_0x5819a8='';for(let _0x1e5562=0x0,_0x46c3fd,_0x162819,_0x3c0e4f=0x0;_0x162819=_0x4e6808['charAt'](_0x3c0e4f++);~_0x162819&&(_0x46c3fd=_0x1e5562%0x4?_0x46c3fd*0x40+_0x162819:_0x162819,_0x1e5562++%0x4)?_0x2048d0+=String['fromCharCode'](0xff&_0x46c3fd>>(-0x2*_0x1e5562&0x6)):0x0){_0x162819=_0x552273['indexOf'](_0x162819);}for(let _0x82b098=0x0,_0xd2c79=_0x2048d0['length'];_0x82b098<_0xd2c79;_0x82b098++){_0x5819a8+='%'+('00'+_0x2048d0['charCodeAt'](_0x82b098)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5819a8);};a0_0xaf76['grDjVf']=_0x3c4737,a0_0xaf76['WSkvtX']={},a0_0xaf76['dQdIgW']=!![];}const _0x407e79=_0x4adb13[0x0],_0x299f0d=_0x21c302+_0x407e79,_0x27c1f3=a0_0xaf76['WSkvtX'][_0x299f0d];return!_0x27c1f3?(_0xaf768e=a0_0xaf76['grDjVf'](_0xaf768e),a0_0xaf76['WSkvtX'][_0x299f0d]=_0xaf768e):_0xaf768e=_0x27c1f3,_0xaf768e;}(function(_0x263063,_0x54ac9c){const _0x1be0c5=a0_0xaf76,_0x35b70d=_0x263063();while(!![]){try{const _0x8d01e8=parseInt(_0x1be0c5(0x1ee))/0x1+-parseInt(_0x1be0c5(0x1ec))/0x2+parseInt(_0x1be0c5(0x1d8))/0x3*(parseInt(_0x1be0c5(0x20a))/0x4)+-parseInt(_0x1be0c5(0x1f0))/0x5+-parseInt(_0x1be0c5(0x213))/0x6+parseInt(_0x1be0c5(0x1e8))/0x7*(-parseInt(_0x1be0c5(0x1dd))/0x8)+parseInt(_0x1be0c5(0x1ce))/0x9*(parseInt(_0x1be0c5(0x209))/0xa);if(_0x8d01e8===_0x54ac9c)break;else _0x35b70d['push'](_0x35b70d['shift']());}catch(_0x32fe38){_0x35b70d['push'](_0x35b70d['shift']());}}}(a0_0x4adb,0x565de));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x318e8d(0x202),'MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x318e8d(0x1f5)};class UpsertBuilder{[a0_0x318e8d(0x1f1)](){const _0x50d9df=a0_0x318e8d,_0x102a53={'fsBMX':'postgresql'},_0x53f667=(process[_0x50d9df(0x1da)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0xa55b93=Object[_0x50d9df(0x20e)](DB_TYPES);if(!_0xa55b93[_0x50d9df(0x1f4)](_0x53f667))return logger[_0x50d9df(0x1c7)]({'event':_0x50d9df(0x1d4),'provided':_0x53f667,'fallback':_0x102a53['fsBMX']},_0x50d9df(0x1db)+_0x53f667+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x53f667;}[a0_0x318e8d(0x1e3)](_0x588096,_0x4a4812,_0x1fb744=![]){const _0xcdd885=a0_0x318e8d,_0x45f977={'nLLnk':_0xcdd885(0x200),'sJuEV':_0xcdd885(0x1ed)};if(_0x1fb744)switch(_0x4a4812){case DB_TYPES['POSTGRESQL']:return _0x45f977['nLLnk'];case DB_TYPES[_0xcdd885(0x1e4)]:return _0x45f977['sJuEV'];case DB_TYPES[_0xcdd885(0x206)]:return _0x45f977['sJuEV'];case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0xcdd885(0x1ed);default:return _0x45f977[_0xcdd885(0x1ff)];}switch(_0x4a4812){case DB_TYPES[_0xcdd885(0x1de)]:return _0x588096+_0xcdd885(0x1e7);case DB_TYPES[_0xcdd885(0x1e4)]:return _0x588096;case DB_TYPES['SQLITE']:return _0x588096;case DB_TYPES[_0xcdd885(0x1d1)]:return _0xcdd885(0x1e5)+_0x588096+_0xcdd885(0x1cd);case DB_TYPES[_0xcdd885(0x20b)]:return'TO_DATE('+_0x588096+_0xcdd885(0x1fe);default:return _0x588096+'::DATE';}}[a0_0x318e8d(0x1fc)](_0x564c83={}){const _0x2afb1b=a0_0x318e8d,_0x58ec08={'GsvAw':function(_0xe56233,_0x4ff3f2){return _0xe56233===_0x4ff3f2;},'azxKq':_0x2afb1b(0x1ca),'uYQKd':'NULL','gGZfz':'number','HNVhM':'boolean','XkaSx':function(_0x475858,_0x323e35){return _0x475858(_0x323e35);},'VpLct':function(_0x13129e,_0xa90e96){return _0x13129e===_0xa90e96;}},_0x5ed2da=this['getDatabaseType']();return(_0x2c0b99,_0x1443fd)=>{const _0x508fdb=_0x2afb1b,_0x5f8ac5=_0x564c83[_0x1443fd];if(_0x58ec08['GsvAw'](_0x2c0b99,null)||_0x2c0b99===undefined){if(_0x5f8ac5&&_0x5f8ac5['type']===_0x58ec08[_0x508fdb(0x1fb)])return this[_0x508fdb(0x1e3)](null,_0x5ed2da,!![]);return _0x58ec08['uYQKd'];}if(typeof _0x2c0b99==='string'){const _0x3823e1='\x27'+_0x2c0b99['replace'](/'/g,'\x27\x27')+'\x27';if(_0x5f8ac5&&_0x5f8ac5[_0x508fdb(0x1d3)]===_0x58ec08['azxKq'])return this[_0x508fdb(0x1e3)](_0x3823e1,_0x5ed2da,![]);return _0x3823e1;}if(_0x58ec08['GsvAw'](typeof _0x2c0b99,_0x58ec08['gGZfz']))return _0x2c0b99;if(typeof _0x2c0b99===_0x58ec08['HNVhM'])return _0x2c0b99;const _0x4855bc='\x27'+_0x58ec08['XkaSx'](String,_0x2c0b99)[_0x508fdb(0x1c9)](/'/g,'\x27\x27')+'\x27';if(_0x5f8ac5&&_0x58ec08[_0x508fdb(0x20c)](_0x5f8ac5[_0x508fdb(0x1d3)],_0x58ec08['azxKq']))return this[_0x508fdb(0x1e3)](_0x4855bc,_0x5ed2da,![]);return _0x4855bc;};}['buildBatchInsert'](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae={}){const _0x517822=a0_0x318e8d,_0x3ddd91=this['getDatabaseType']();if(_0x3ddd91===DB_TYPES['ORACLE'])return this[_0x517822(0x1d0)](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae);return this['_buildBatchInsertPostgres'](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae);}['_buildBatchInsertPostgres'](_0x32835a,_0x1f2d5e,_0x4c1574,_0x7f85b={}){const _0x4d7f61=a0_0x318e8d,_0x22f971={'zDKJT':'postgresql','QoVkl':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0x32835a[_0x4d7f61(0x1d5)]===0x0)return{'query':null,'values':[]};const _0x4459bd=this[_0x4d7f61(0x1fc)](_0x7f85b),_0x376562=_0x32835a[_0x4d7f61(0x1f8)](_0x233dd4=>{const _0x113775=_0x4d7f61,_0x10c004=_0x4c1574['map'](_0x5c6293=>_0x4459bd(_0x233dd4[_0x5c6293],_0x5c6293));return'('+_0x10c004[_0x113775(0x1f3)](',\x20')+')';}),_0x8edf96='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x1f2d5e+'\x20('+_0x4c1574['join'](',\x20')+_0x4d7f61(0x1cc)+_0x376562['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x4d7f61(0x204)]({'event':_0x4d7f61(0x1e0),'tableName':_0x1f2d5e,'rowCount':_0x32835a[_0x4d7f61(0x1d5)],'dbType':_0x22f971['zDKJT']},_0x22f971['QoVkl']),{'query':_0x8edf96,'values':[]};}[a0_0x318e8d(0x1d0)](_0x52a187,_0xe6a29a,_0x144df7,_0x141574={}){const _0x12f738=a0_0x318e8d,_0xfd3443={'eZRoL':function(_0x1f444e,_0x3963b1){return _0x1f444e===_0x3963b1;}};if(_0xfd3443['eZRoL'](_0x52a187[_0x12f738(0x1d5)],0x0))return{'query':null,'values':[]};const _0x55f69e=this['buildEscapeFunction'](_0x141574),_0x1e43c3=_0x52a187[_0x12f738(0x1f8)](_0x3110ba=>{const _0x53caf2=_0x12f738,_0x1eca7c=_0x144df7['map'](_0x4be15a=>_0x55f69e(_0x3110ba[_0x4be15a],_0x4be15a));return'\x20\x20INTO\x20'+_0xe6a29a+'\x20('+_0x144df7[_0x53caf2(0x1f3)](',\x20')+')\x20VALUES\x20('+_0x1eca7c['join'](',\x20')+')';}),_0x4a109e=_0x12f738(0x1e2)+_0x1e43c3[_0x12f738(0x1f3)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x12f738(0x204)]({'event':_0x12f738(0x1e0),'tableName':_0xe6a29a,'rowCount':_0x52a187[_0x12f738(0x1d5)],'dbType':'oracle'},_0x12f738(0x1d9)),{'query':_0x4a109e,'values':[]};}['buildBatchUpdate'](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d={}){const _0x58cad9=a0_0x318e8d,_0x22394f={'UXeGI':function(_0x32826d,_0x35e858){return _0x32826d===_0x35e858;},'FsPSz':function(_0x26698b,_0x3a4ce0){return _0x26698b===_0x3a4ce0;}},_0x20bc21=this[_0x58cad9(0x1f1)]();if(_0x22394f['UXeGI'](_0x20bc21,DB_TYPES[_0x58cad9(0x20b)]))return this['_buildBatchUpdateOracle'](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);if(_0x22394f['FsPSz'](_0x20bc21,DB_TYPES[_0x58cad9(0x1e4)]))return this[_0x58cad9(0x1fa)](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);return this[_0x58cad9(0x1e1)](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);}[a0_0x318e8d(0x1e1)](_0x2a90f4,_0x30456c,_0x3763d8,_0x5e62cf,_0x3d1f42,_0x1db45c={}){const _0x1c38b9=a0_0x318e8d,_0x50591d={'gicYT':_0x1c38b9(0x1f2),'uaAre':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','SzzPl':'\x20AND\x20','UUZOp':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20'};if(_0x2a90f4[_0x1c38b9(0x1d5)]===0x0)return{'query':null,'values':[]};const _0x48f040=this['buildEscapeFunction'](_0x1db45c),_0x3a838f=_0x3763d8['filter'](_0x392d67=>!_0x3d1f42[_0x1c38b9(0x1f4)](_0x392d67)&&_0x392d67!==_0x5e62cf);if(_0x3a838f['length']===0x0)return logger['warn']({'event':_0x50591d['gicYT'],'tableName':_0x30456c},_0x50591d[_0x1c38b9(0x203)]),{'query':null,'values':[]};const _0x517109=_0x2a90f4[_0x1c38b9(0x1f8)](_0x1faa8d=>{const _0xe24073=_0x1c38b9,_0x8021f4=[..._0x3d1f42,..._0x3a838f],_0x1ce5a0=_0x8021f4[_0xe24073(0x1f8)](_0x211f22=>_0x48f040(_0x1faa8d[_0x211f22],_0x211f22));return'('+_0x1ce5a0[_0xe24073(0x1f3)](',\x20')+')';}),_0x566590=_0x3a838f['map'](_0x3243cc=>_0x3243cc+'\x20=\x20v.'+_0x3243cc)['join'](_0x1c38b9(0x1fd)),_0x229faa=_0x3d1f42[_0x1c38b9(0x1f8)](_0x510bd9=>'t.'+_0x510bd9+_0x1c38b9(0x208)+_0x510bd9)['join'](_0x50591d['SzzPl']),_0x3332cc='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x30456c+_0x1c38b9(0x1f7)+_0x566590+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x517109['join'](_0x50591d['UUZOp'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x3d1f42,..._0x3a838f]['join'](',\x20')+_0x1c38b9(0x1f6)+_0x229faa+_0x1c38b9(0x1d2);return logger['debug']({'event':'batch_update_built','tableName':_0x30456c,'rowCount':_0x2a90f4['length'],'updateColumns':_0x3a838f['length'],'dbType':_0x1c38b9(0x202)},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x3332cc,'values':[]};}[a0_0x318e8d(0x1e6)](_0xa6042,_0x3b3fa9,_0x4bd9a6,_0x4e5250,_0x50cc31,_0xeae35f={}){const _0x341571=a0_0x318e8d,_0x55bb02={'janbq':function(_0x561e0d,_0x2ebb48,_0x3a7dbb){return _0x561e0d(_0x2ebb48,_0x3a7dbb);},'Cawmw':function(_0x414529,_0x57b612){return _0x414529===_0x57b612;},'pZKZP':function(_0x401656,_0x4bb577){return _0x401656===_0x4bb577;},'eRQuv':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','siNwO':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','rqOde':_0x341571(0x212)};if(_0xa6042['length']===0x0)return{'query':null,'values':[]};const _0x5b7c0f=this['buildEscapeFunction'](_0xeae35f),_0x161463=_0x4bd9a6['filter'](_0x430dfe=>!_0x50cc31[_0x341571(0x1f4)](_0x430dfe)&&_0x430dfe!==_0x4e5250);if(_0x55bb02[_0x341571(0x1d6)](_0x161463[_0x341571(0x1d5)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x3b3fa9},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x3e04c9=[..._0x50cc31,..._0x161463],_0x5353e1=_0xa6042[_0x341571(0x1f8)]((_0x46a1a1,_0x41a360)=>{const _0x491574=_0x341571,_0x1499cb=_0x3e04c9[_0x491574(0x1f8)](_0x1b5194=>{const _0x4be58d=_0x491574,_0xaf741f=_0x55bb02['janbq'](_0x5b7c0f,_0x46a1a1[_0x1b5194],_0x1b5194);return _0x55bb02['Cawmw'](_0x41a360,0x0)?_0xaf741f+_0x4be58d(0x1cf)+_0x1b5194:_0xaf741f;});return'\x20\x20\x20\x20SELECT\x20'+_0x1499cb['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x3c8834=_0x161463[_0x341571(0x1f8)](_0x10b700=>'t.'+_0x10b700+_0x341571(0x208)+_0x10b700)['join'](_0x55bb02[_0x341571(0x1ef)]),_0x628836=_0x50cc31[_0x341571(0x1f8)](_0x4e5d0c=>'t.'+_0x4e5d0c+'\x20=\x20v.'+_0x4e5d0c)['join'](_0x341571(0x207)),_0x30e8e3='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3b3fa9+_0x341571(0x211)+_0x5353e1[_0x341571(0x1f3)](_0x55bb02['siNwO'])+_0x341571(0x1eb)+_0x628836+_0x341571(0x205)+_0x3c8834+'\x0a\x20\x20\x20\x20';return logger[_0x341571(0x204)]({'event':'batch_update_built','tableName':_0x3b3fa9,'rowCount':_0xa6042[_0x341571(0x1d5)],'updateColumns':_0x161463['length'],'dbType':_0x55bb02['rqOde']},_0x341571(0x1dc)),{'query':_0x30e8e3,'values':[]};}[a0_0x318e8d(0x1fa)](_0x36c881,_0x199497,_0xcac8ef,_0x3553ce,_0x5d9f86,_0x2ea083={}){const _0x54d3b4=a0_0x318e8d,_0x38cdc7={'MyZxP':function(_0x30009d,_0x520727){return _0x30009d===_0x520727;},'KlsWy':_0x54d3b4(0x1d7),'IMPdI':_0x54d3b4(0x1c8)};if(_0x36c881['length']===0x0)return{'query':null,'values':[]};const _0x3c4ad0=this['buildEscapeFunction'](_0x2ea083),_0x1d5a48=_0xcac8ef[_0x54d3b4(0x20f)](_0x25cab2=>!_0x5d9f86[_0x54d3b4(0x1f4)](_0x25cab2)&&_0x25cab2!==_0x3553ce);if(_0x38cdc7['MyZxP'](_0x1d5a48[_0x54d3b4(0x1d5)],0x0))return logger[_0x54d3b4(0x1c7)]({'event':'batch_update_no_columns','tableName':_0x199497},_0x54d3b4(0x1f9)),{'query':null,'values':[]};const _0x1b019a=[...new Set([..._0x5d9f86,..._0x1d5a48])],_0x47f5a4=_0x36c881['map'](_0x224b14=>{const _0x29022a=_0x54d3b4,_0x4128f2=_0x1b019a[_0x29022a(0x1f8)](_0x24dc60=>_0x3c4ad0(_0x224b14[_0x24dc60],_0x24dc60));return'('+_0x4128f2['join'](',\x20')+')';}),_0x230318=_0x1d5a48['map'](_0x282bc6=>_0x282bc6+_0x54d3b4(0x210)+_0x282bc6+')')[_0x54d3b4(0x1f3)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x2c9cf8='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x199497+'\x20('+_0x1b019a[_0x54d3b4(0x1f3)](',\x20')+_0x54d3b4(0x1cc)+_0x47f5a4['join'](_0x54d3b4(0x1df))+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x230318+'\x0a\x20\x20\x20\x20';return logger[_0x54d3b4(0x204)]({'event':'batch_update_built','tableName':_0x199497,'rowCount':_0x36c881['length'],'updateColumns':_0x1d5a48['length'],'dbType':_0x38cdc7['KlsWy']},_0x38cdc7[_0x54d3b4(0x20d)]),{'query':_0x2c9cf8,'values':[]};}['chunkRows'](_0x347946,_0x4af565=0x64){const _0xaef16b=a0_0x318e8d,_0x45a491={'vvudu':function(_0x35e4b9,_0x35e56e){return _0x35e4b9<_0x35e56e;}},_0x46f891=[];for(let _0x59bd57=0x0;_0x45a491[_0xaef16b(0x1ea)](_0x59bd57,_0x347946[_0xaef16b(0x1d5)]);_0x59bd57+=_0x4af565){_0x46f891[_0xaef16b(0x1cb)](_0x347946[_0xaef16b(0x1e9)](_0x59bd57,_0x59bd57+_0x4af565));}return _0x46f891;}}module[a0_0x318e8d(0x201)]=new UpsertBuilder();function a0_0x4adb(){const _0x4d121b=['oJPeqvrf','mJm3m0P1tKXrva','C2XPy2u','DNz1zhu','cIaGicaGicKGDGOGicaGicbptIaO','mteWndq4mMj1whrdsq','tLvmta','nJCZoti3DuHYELjf','zvjrDxy','mJCZndu3mhz5wK9nzG','z2v0rgf0ywjHC2vuExbL','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','AM9PBG','Aw5JBhvKzxm','C3fSAxrL','kqOGicaGicbxsevsrsa','ieftihqkicaGicaGu0vuia','BwfW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','yxP4s3e','yNvPBgrfC2nHCgvgDw5JDgLVBG','laOGicaGicaGica','lcaNwvLzws1nts1ercCP','BKXmBMS','tLvmtdO6refurq','zxHWB3j0CW','Cg9ZDgDYzxnXBa','DwfbCMu','zgvIDwC','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','u1fmsvrf','ieforca','id0GDI4','mtmZmtbOvxzwrwm','mtaWnZG0sfzqsLfX','t1jbq0Xf','vNbmy3q','su1qzeK','DMfSDwvZ','zMLSDgvY','id0GvKfmvuvtka','ihqkicaGicaGvvnjtKCGkaO','B3jHy2XL','mJe1mtKWmgj1sgrYqG','D2fYBG','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','CMvWBgfJzq','zgf0zq','ChvZAa','kqOGicaGicbwquXvrvmG','ieftierbveuP','nZeXowL1B216CG','ieftia','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','u1fmu0vsvKvs','cIaGica','DhLWzq','Aw52ywXPzf9KyL90ExbL','BgvUz3rO','CfPlwLa','BxLZCwW','ndHIDvHZtuS','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zw52','sw52ywXPzcbeqL9uwvbfoIa','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','nZuXmNflELPSvG','ue9tveDsrvnrta','laOGicaGicaGia','yMf0y2HFAw5Zzxj0x2j1AwX0','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','su5trvjuiefmtaO','zM9YBwf0rgf0zvzHBhvL','tvLtuuW','q0ftvcG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu'];a0_0x4adb=function(){return _0x4d121b;};return a0_0x4adb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x54c84d=a0_0x52f0;(function(_0x238230,_0x137b2c){const _0x282379=a0_0x52f0,_0x5d17d6=_0x238230();while(!![]){try{const _0x1ebb64=parseInt(_0x282379(0x136))/0x1*(parseInt(_0x282379(0x146))/0x2)+-parseInt(_0x282379(0x16f))/0x3*(parseInt(_0x282379(0x148))/0x4)+parseInt(_0x282379(0x158))/0x5*(parseInt(_0x282379(0x162))/0x6)+-parseInt(_0x282379(0x169))/0x7*(-parseInt(_0x282379(0x130))/0x8)+parseInt(_0x282379(0x15c))/0x9*(parseInt(_0x282379(0x16e))/0xa)+parseInt(_0x282379(0x14a))/0xb*(-parseInt(_0x282379(0x14c))/0xc)+-parseInt(_0x282379(0x141))/0xd;if(_0x1ebb64===_0x137b2c)break;else _0x5d17d6['push'](_0x5d17d6['shift']());}catch(_0x310e45){_0x5d17d6['push'](_0x5d17d6['shift']());}}}(a0_0x52e5,0x6a179));const express=require(a0_0x54c84d(0x16c)),{logger}=require('../../utils/logger'),{createResponse,createError}=require(a0_0x54c84d(0x12f)),redisClient=require(a0_0x54c84d(0x157)),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function a0_0x52f0(_0x553dc8,_0x6ff332){_0x553dc8=_0x553dc8-0x127;const _0x52e5a8=a0_0x52e5();let _0x52f0f6=_0x52e5a8[_0x553dc8];if(a0_0x52f0['KaVhuO']===undefined){var _0x886e7c=function(_0x4593df){const _0x3f61a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a2a1b='',_0x16aa5e='';for(let _0x1a8ea0=0x0,_0x4656c5,_0x3e4a5d,_0x55f238=0x0;_0x3e4a5d=_0x4593df['charAt'](_0x55f238++);~_0x3e4a5d&&(_0x4656c5=_0x1a8ea0%0x4?_0x4656c5*0x40+_0x3e4a5d:_0x3e4a5d,_0x1a8ea0++%0x4)?_0x5a2a1b+=String['fromCharCode'](0xff&_0x4656c5>>(-0x2*_0x1a8ea0&0x6)):0x0){_0x3e4a5d=_0x3f61a5['indexOf'](_0x3e4a5d);}for(let _0x21b210=0x0,_0x59db6d=_0x5a2a1b['length'];_0x21b210<_0x59db6d;_0x21b210++){_0x16aa5e+='%'+('00'+_0x5a2a1b['charCodeAt'](_0x21b210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16aa5e);};a0_0x52f0['hozYSy']=_0x886e7c,a0_0x52f0['mqNSYj']={},a0_0x52f0['KaVhuO']=!![];}const _0x1cb795=_0x52e5a8[0x0],_0x1160ad=_0x553dc8+_0x1cb795,_0x50ea78=a0_0x52f0['mqNSYj'][_0x1160ad];return!_0x50ea78?(_0x52f0f6=a0_0x52f0['hozYSy'](_0x52f0f6),a0_0x52f0['mqNSYj'][_0x1160ad]=_0x52f0f6):_0x52f0f6=_0x50ea78,_0x52f0f6;}function createIdgenRoutes(){const _0x270495=a0_0x54c84d,_0x5b5605={'LeFhh':function(_0x1fcc0d,_0x1f1e8a){return _0x1fcc0d(_0x1f1e8a);},'YotLX':'../../utils/id-generator','eGJcB':function(_0x152c17,_0x39ed8c){return _0x152c17===_0x39ed8c;},'YjKhe':function(_0x5e1ab3){return _0x5e1ab3();},'CpXEr':function(_0x21e4e9,_0x54dfa9,_0x31d834,_0x4cb803){return _0x21e4e9(_0x54dfa9,_0x31d834,_0x4cb803);},'fuNMB':'idgen_route_number_error','XioTc':'Number\x20released\x20to\x20reuse\x20pool','dHNVQ':function(_0x1e90bc,_0x1c8289){return _0x1e90bc(_0x1c8289);},'JBRJh':function(_0xf8d383){return _0xf8d383();},'UZGat':_0x270495(0x170),'BoJHP':'idgen_route_reserve_error','tOYRi':function(_0xff7f3c,_0x6a7646,_0x262533,_0x4a6e38){return _0xff7f3c(_0x6a7646,_0x262533,_0x4a6e38);},'PKAdM':function(_0x27a1de,_0x3d13ff,_0x456969,_0x48d0de){return _0x27a1de(_0x3d13ff,_0x456969,_0x48d0de);},'iNnND':'idgen_route_reserve_extend_error','IxzVR':function(_0x26be71,_0xaf9f8c,_0x3d3ab9,_0x2823e1){return _0x26be71(_0xaf9f8c,_0x3d3ab9,_0x2823e1);},'ygopu':function(_0x367f98,_0x5eddc4,_0x34ba75,_0x3bf5a0){return _0x367f98(_0x5eddc4,_0x34ba75,_0x3bf5a0);},'ObqPv':_0x270495(0x16b),'IrYOy':function(_0x46651e,_0x1f7b7e){return _0x46651e(_0x1f7b7e);},'DNUTk':function(_0x35cfb5,_0x7161c8,_0xf50a3,_0x1ab86d){return _0x35cfb5(_0x7161c8,_0xf50a3,_0x1ab86d);},'hQKsv':'PIN\x20generated\x20successfully','CZCnp':function(_0x35d83a,_0x1f86ea,_0x26b0ee,_0x4e6555){return _0x35d83a(_0x1f86ea,_0x26b0ee,_0x4e6555);},'jgGrM':'idgen_route_serial_error','rnVny':function(_0x4673b0,_0x422ac0){return _0x4673b0(_0x422ac0);},'wmyJn':function(_0x31be7c){return _0x31be7c();},'kcBXk':function(_0x5915e7,_0x2fb205,_0x2c14fe,_0xc6dcae){return _0x5915e7(_0x2fb205,_0x2c14fe,_0xc6dcae);},'FSqro':'idgen_route_code_error','ixfKa':function(_0x1df2b1,_0x39bcd8,_0x59477b,_0x527aba){return _0x1df2b1(_0x39bcd8,_0x59477b,_0x527aba);},'XWLuu':_0x270495(0x142),'nBpnp':function(_0x5f2199){return _0x5f2199();},'Exznk':function(_0x5ed486,_0x355dff){return _0x5ed486||_0x355dff;},'kLTkX':'number','uHorr':_0x270495(0x132),'XTgAz':function(_0xa83527,_0xeb37a4){return _0xa83527||_0xeb37a4;},'ihQVf':'true','GTZer':function(_0xaefb0b,_0x589fa9){return _0xaefb0b===_0x589fa9;},'IrFkc':function(_0x3c2015,_0x328f82){return _0x3c2015||_0x328f82;},'ibuWS':'IDGEN_ENABLED=false','BSDdh':_0x270495(0x14f),'wMzvL':'ID\x20Generator\x20service\x20is\x20healthy','YYOeg':function(_0x4bfc15,_0x59eddf,_0x35b5da,_0x302623){return _0x4bfc15(_0x59eddf,_0x35b5da,_0x302623);},'dVXZO':'/number/release','sByNj':'/reserve/cancel','YizJC':_0x270495(0x155),'odLnn':_0x270495(0x134),'ZYqJy':'/pin','qSiiH':'/info/:resource','BYpOo':'/reset','mZuJa':'/health'},_0xe2bdb2=express['Router']();let _0x4f3371=null;function _0x1958fd(){return!_0x4f3371&&(_0x4f3371=_0x5b5605['LeFhh'](require,_0x5b5605['YotLX'])),_0x4f3371;}function _0x4e7f05(_0x18f67c,_0x22e781,_0x2b4f6e){const _0x10f6c7=_0x270495;if(_0x22e781&&_0x5b5605['eGJcB'](_0x22e781[_0x10f6c7(0x15a)],'IdGeneratorError')){const _0x68eb1a=ERROR_CODE_HTTP_MAP[_0x22e781[_0x10f6c7(0x149)]]||0x1f4;return logger[_0x10f6c7(0x13d)]({'event':_0x2b4f6e,'code':_0x22e781[_0x10f6c7(0x149)],'message':_0x22e781[_0x10f6c7(0x147)]},'ID\x20Generator\x20route\x20error:\x20'+_0x22e781['code']),_0x18f67c[_0x10f6c7(0x163)](_0x68eb1a)[_0x10f6c7(0x129)](createError(_0x68eb1a,_0x22e781['message'],{'code':_0x22e781['code'],'details':_0x22e781[_0x10f6c7(0x152)]||null}));}return logger[_0x10f6c7(0x160)]({'event':_0x2b4f6e,'error':_0x22e781&&_0x22e781['message'],'stack':_0x22e781&&_0x22e781['stack']},'ID\x20Generator\x20route\x20exception:\x20'+(_0x22e781&&_0x22e781['message'])),_0x18f67c[_0x10f6c7(0x163)](0x1f4)[_0x10f6c7(0x129)](createError(0x1f4,_0x10f6c7(0x127),null));}function _0x4c76b9(_0x3929f3){return _0x3929f3['header']('Idempotency-Key')||undefined;}return _0xe2bdb2['post']('/number',async(_0x38bc4e,_0x497ecd)=>{const _0x23f568=_0x270495;try{const {resource:_0x12be0a,format:_0x92a479,prefix:_0x4711b6,separator:_0x661c74,numDigits:_0x598c74,reuseDelete:_0x40cf99}=_0x38bc4e['body']||{},_0x443683=_0x5b5605['LeFhh'](_0x4c76b9,_0x38bc4e),_0x3d3a93=_0x5b5605['YjKhe'](_0x1958fd),_0x536260=await _0x3d3a93[_0x23f568(0x172)]({'resource':_0x12be0a,'format':_0x92a479,'prefix':_0x4711b6,'separator':_0x661c74,'numDigits':_0x598c74,'reuseDelete':_0x40cf99,'idempotencyKey':_0x443683});return _0x497ecd[_0x23f568(0x163)](0xc9)[_0x23f568(0x129)](_0x5b5605['CpXEr'](createResponse,0xc9,'Number\x20generated\x20successfully',_0x536260));}catch(_0x4ced80){return _0x4e7f05(_0x497ecd,_0x4ced80,_0x5b5605['fuNMB']);}}),_0xe2bdb2['post'](_0x5b5605['dVXZO'],async(_0x1c5754,_0x3d36d2)=>{const _0x5dc422=_0x270495;try{const _0x5996ca=_0x4c76b9(_0x1c5754),_0x5aea97={..._0x1c5754[_0x5dc422(0x16a)]||{},'idempotencyKey':_0x5996ca},_0x15b029=_0x1958fd(),_0x80ff82=await _0x15b029[_0x5dc422(0x15d)](_0x5aea97);return _0x3d36d2['status'](0xc8)['json'](createResponse(0xc8,_0x5b5605['XioTc'],_0x80ff82));}catch(_0x363677){return _0x4e7f05(_0x3d36d2,_0x363677,'idgen_route_release_error');}}),_0xe2bdb2[_0x270495(0x150)]('/reserve',async(_0x194e64,_0x439cf1)=>{const _0x412053=_0x270495;try{const {resource:_0x5120e7,format:_0x6efc09,prefix:_0x41da6e,separator:_0x27b0ad,numDigits:_0x196bcc,reuseDelete:_0x310ca5,ttl:_0x1a20ac}=_0x194e64['body']||{},_0x2d08ba=_0x5b5605['dHNVQ'](_0x4c76b9,_0x194e64),_0x16ba98=_0x5b5605[_0x412053(0x13c)](_0x1958fd),_0x10b0de=await _0x16ba98['reserveNumber']({'resource':_0x5120e7,'format':_0x6efc09,'prefix':_0x41da6e,'separator':_0x27b0ad,'numDigits':_0x196bcc,'reuseDelete':_0x310ca5,'ttl':_0x1a20ac,'idempotencyKey':_0x2d08ba});return _0x439cf1['status'](0xc9)[_0x412053(0x129)](createResponse(0xc9,_0x5b5605[_0x412053(0x171)],_0x10b0de));}catch(_0x52e331){return _0x4e7f05(_0x439cf1,_0x52e331,_0x5b5605['BoJHP']);}}),_0xe2bdb2[_0x270495(0x150)]('/reserve/confirm',async(_0x4430bb,_0xbed743)=>{const _0x16c5e3=_0x270495;try{const {token:_0x183562}=_0x4430bb['body']||{},_0x704570=_0x4c76b9(_0x4430bb),_0x231384=_0x5b5605['YjKhe'](_0x1958fd),_0x221a94=await _0x231384['confirmReservation']({'token':_0x183562,'idempotencyKey':_0x704570});return _0xbed743[_0x16c5e3(0x163)](0xc8)['json'](createResponse(0xc8,'Reservation\x20confirmed',_0x221a94));}catch(_0x113089){return _0x5b5605['tOYRi'](_0x4e7f05,_0xbed743,_0x113089,_0x16c5e3(0x161));}}),_0xe2bdb2['post'](_0x5b5605[_0x270495(0x13b)],async(_0x466715,_0x2cb953)=>{const _0x440f67=_0x270495;try{const {token:_0x157f82}=_0x466715['body']||{},_0x315981=_0x4c76b9(_0x466715),_0x54e479=_0x1958fd(),_0x437008=await _0x54e479[_0x440f67(0x15b)]({'token':_0x157f82,'idempotencyKey':_0x315981});return _0x2cb953['status'](0xc8)['json'](_0x5b5605[_0x440f67(0x143)](createResponse,0xc8,'Reservation\x20cancelled',_0x437008));}catch(_0x436523){return _0x5b5605[_0x440f67(0x12a)](_0x4e7f05,_0x2cb953,_0x436523,_0x440f67(0x173));}}),_0xe2bdb2[_0x270495(0x150)](_0x5b5605['YizJC'],async(_0x53b305,_0x7cd869)=>{const _0x1e540c=_0x270495;try{const {token:_0x25b17d,ttl:_0x4335df}=_0x53b305['body']||{},_0xe94b0e=_0x5b5605['LeFhh'](_0x4c76b9,_0x53b305),_0x4497a9=_0x5b5605['YjKhe'](_0x1958fd),_0x2789f7=await _0x4497a9[_0x1e540c(0x144)]({'token':_0x25b17d,'ttl':_0x4335df,'idempotencyKey':_0xe94b0e});return _0x7cd869['status'](0xc8)[_0x1e540c(0x129)](createResponse(0xc8,'Reservation\x20extended',_0x2789f7));}catch(_0x5a1748){return _0x4e7f05(_0x7cd869,_0x5a1748,_0x5b5605['iNnND']);}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605['odLnn'],async(_0x41de30,_0x3d1e58)=>{const _0x4eed33=_0x270495;try{const {token:_0x80eff0}=_0x41de30[_0x4eed33(0x167)],_0x4e5164=_0x1958fd(),_0x2cd1a6=await _0x4e5164['getReservation']({'token':_0x80eff0});return _0x3d1e58[_0x4eed33(0x163)](0xc8)[_0x4eed33(0x129)](_0x5b5605[_0x4eed33(0x13e)](createResponse,0xc8,'Reservation\x20retrieved',_0x2cd1a6));}catch(_0x12d17e){return _0x5b5605[_0x4eed33(0x12e)](_0x4e7f05,_0x3d1e58,_0x12d17e,_0x5b5605[_0x4eed33(0x12d)]);}}),_0xe2bdb2[_0x270495(0x150)](_0x5b5605['ZYqJy'],async(_0x744f7d,_0x23f0d0)=>{const _0x127425=_0x270495;try{const {resource:_0xabeb44,digits:_0x4bd046,ensureUnique:_0x191a1c,ttl:_0x3103e6,maxRetry:_0x154b31}=_0x744f7d[_0x127425(0x16a)]||{},_0x508938=_0x5b5605['IrYOy'](_0x4c76b9,_0x744f7d),_0x8ed916=_0x1958fd(),_0xb4986c=await _0x8ed916['pin']({'resource':_0xabeb44,'digits':_0x4bd046,'ensureUnique':_0x191a1c,'ttl':_0x3103e6,'maxRetry':_0x154b31,'idempotencyKey':_0x508938});return _0x23f0d0[_0x127425(0x163)](0xc9)[_0x127425(0x129)](_0x5b5605['DNUTk'](createResponse,0xc9,_0x5b5605[_0x127425(0x15e)],_0xb4986c));}catch(_0x1a8e63){return _0x5b5605[_0x127425(0x153)](_0x4e7f05,_0x23f0d0,_0x1a8e63,'idgen_route_pin_error');}}),_0xe2bdb2[_0x270495(0x150)](_0x270495(0x168),async(_0x3370ff,_0x3bf216)=>{const _0x476d2f=_0x270495;try{const {resource:_0x5dbeef,pattern:_0x3bd691,ensureUnique:_0x9dce0b,ttl:_0x904310,maxRetry:_0x39b4b7}=_0x3370ff['body']||{},_0x1d3fab=_0x4c76b9(_0x3370ff),_0x7ce701=_0x1958fd(),_0x43963e=await _0x7ce701[_0x476d2f(0x13f)]({'resource':_0x5dbeef,'pattern':_0x3bd691,'ensureUnique':_0x9dce0b,'ttl':_0x904310,'maxRetry':_0x39b4b7,'idempotencyKey':_0x1d3fab});return _0x3bf216[_0x476d2f(0x163)](0xc9)[_0x476d2f(0x129)](createResponse(0xc9,_0x476d2f(0x151),_0x43963e));}catch(_0x118fd1){return _0x4e7f05(_0x3bf216,_0x118fd1,_0x5b5605['jgGrM']);}}),_0xe2bdb2['post']('/code',async(_0x3addf5,_0x21c73b)=>{const _0x3523b8=_0x270495;try{const {resource:_0x2cc68d,pattern:_0x22fd48,ensureUnique:_0x34d612,ttl:_0x437cb9,maxRetry:_0x39310c}=_0x3addf5['body']||{},_0x21a29=_0x5b5605['rnVny'](_0x4c76b9,_0x3addf5),_0x25edc1=_0x5b5605[_0x3523b8(0x13a)](_0x1958fd),_0x32ec3a=await _0x25edc1[_0x3523b8(0x149)]({'resource':_0x2cc68d,'pattern':_0x22fd48,'ensureUnique':_0x34d612,'ttl':_0x437cb9,'maxRetry':_0x39310c,'idempotencyKey':_0x21a29});return _0x21c73b[_0x3523b8(0x163)](0xc9)['json'](_0x5b5605['IxzVR'](createResponse,0xc9,_0x3523b8(0x12b),_0x32ec3a));}catch(_0x4ed6af){return _0x5b5605[_0x3523b8(0x14b)](_0x4e7f05,_0x21c73b,_0x4ed6af,_0x5b5605['FSqro']);}}),_0xe2bdb2['post']('/random',async(_0x547db8,_0x498b75)=>{const _0x1fb32c=_0x270495;try{const {resource:_0x40ce00,pattern:_0x488b32,ensureUnique:_0x1907e3,ttl:_0x2143f6,maxRetry:_0x3645b8}=_0x547db8[_0x1fb32c(0x16a)]||{},_0x14f129=_0x4c76b9(_0x547db8),_0x3da1e2=_0x1958fd(),_0x568fee=await _0x3da1e2['random']({'resource':_0x40ce00,'pattern':_0x488b32,'ensureUnique':_0x1907e3,'ttl':_0x2143f6,'maxRetry':_0x3645b8,'idempotencyKey':_0x14f129});return _0x498b75[_0x1fb32c(0x163)](0xc9)['json'](_0x5b5605['ixfKa'](createResponse,0xc9,_0x1fb32c(0x135),_0x568fee));}catch(_0x47512b){return _0x5b5605['ixfKa'](_0x4e7f05,_0x498b75,_0x47512b,_0x1fb32c(0x156));}}),_0xe2bdb2[_0x270495(0x150)]('/consume',async(_0x2af5a6,_0x173c3f)=>{const _0x2ec93d=_0x270495;try{const {resource:_0x99ea78,value:_0x325b6f}=_0x2af5a6[_0x2ec93d(0x16a)]||{},_0x355ea8=_0x1958fd(),_0x277526=await _0x355ea8['consume']({'resource':_0x99ea78,'value':_0x325b6f});return _0x173c3f['status'](0xc8)['json'](createResponse(0xc8,_0x5b5605[_0x2ec93d(0x139)],_0x277526));}catch(_0x40e4dd){return _0x5b5605[_0x2ec93d(0x12e)](_0x4e7f05,_0x173c3f,_0x40e4dd,_0x2ec93d(0x166));}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605[_0x270495(0x133)],async(_0x3d7c2f,_0x44effa)=>{const _0x1606c3=_0x270495;try{const {resource:_0x20d794}=_0x3d7c2f['params'],{mode:_0x1ba011,format:_0xdbd4fa,prefix:_0x3a7d13}=_0x3d7c2f[_0x1606c3(0x15f)],_0xe76bb6=_0x5b5605[_0x1606c3(0x154)](_0x1958fd),_0x14a75=await _0xe76bb6['getInfo']({'resource':_0x20d794,'mode':_0x5b5605[_0x1606c3(0x140)](_0x1ba011,_0x5b5605['kLTkX']),'format':_0xdbd4fa,'prefix':_0x3a7d13});return _0x44effa['status'](0xc8)[_0x1606c3(0x129)](createResponse(0xc8,_0x1606c3(0x14d),_0x14a75));}catch(_0x46c7cf){return _0x4e7f05(_0x44effa,_0x46c7cf,_0x5b5605['uHorr']);}}),_0xe2bdb2['post'](_0x5b5605[_0x270495(0x16d)],async(_0x5a2491,_0x19b7bf)=>{const _0x2c466c=_0x270495;try{const {resource:_0x3eb8e9,mode:_0x1621b4,format:_0x1490c1,prefix:_0x315db0}=_0x5a2491['body']||{},_0x39cad5=_0x1958fd(),_0x4e19b5=await _0x39cad5['reset']({'resource':_0x3eb8e9,'mode':_0x5b5605['XTgAz'](_0x1621b4,_0x2c466c(0x172)),'format':_0x1490c1,'prefix':_0x315db0});return _0x19b7bf[_0x2c466c(0x163)](0xc8)['json'](_0x5b5605['IxzVR'](createResponse,0xc8,'Resource\x20state\x20reset',_0x4e19b5));}catch(_0x3e70fd){return _0x4e7f05(_0x19b7bf,_0x3e70fd,'idgen_route_reset_error');}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605[_0x270495(0x165)],async(_0x2f8c71,_0x20f140)=>{const _0x4455b4=_0x270495;try{const _0x830c3c=_0x1958fd(),_0xfa596a=_0x830c3c[_0x4455b4(0x145)]();let _0x519d0a=![],_0x2b8ed4=null;try{_0x519d0a=await redisClient['ping'](0xbb8);}catch(_0x380533){_0x2b8ed4=_0x380533[_0x4455b4(0x147)];}const _0x42895a=_0x5b5605[_0x4455b4(0x159)](process[_0x4455b4(0x128)]['LOCK_DISTRIBUTED_ENABLED'],_0x5b5605['ihQVf']),_0x5c1d67=_0x5b5605[_0x4455b4(0x12c)](process[_0x4455b4(0x128)][_0x4455b4(0x138)],'true');if(_0x5b5605['IrFkc'](!_0xfa596a,!_0x519d0a))return _0x20f140[_0x4455b4(0x163)](0x1f7)[_0x4455b4(0x129)](_0x5b5605['ixfKa'](createError,0x1f7,_0x4455b4(0x14e),{'enabled':_0xfa596a,'redisConnected':_0x519d0a,'lockEnabled':_0x42895a,'idempotencyEnabled':_0x5c1d67,'error':_0x2b8ed4||(!_0xfa596a?_0x5b5605['ibuWS']:_0x5b5605['BSDdh'])}));return _0x20f140['status'](0xc8)[_0x4455b4(0x129)](_0x5b5605['tOYRi'](createResponse,0xc8,_0x5b5605['wMzvL'],{'enabled':_0xfa596a,'redisConnected':_0x519d0a,'lockEnabled':_0x42895a,'idempotencyEnabled':_0x5c1d67}));}catch(_0x371e3f){return _0x5b5605['YYOeg'](_0x4e7f05,_0x20f140,_0x371e3f,_0x4455b4(0x164));}}),_0xe2bdb2;}module[a0_0x54c84d(0x131)]=createIdgenRoutes;function a0_0x52e5(){const _0xb56599=['otfbsM5Ivha','yM9KEq','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','zxHWCMvZCW','qLLWt28','ndbouhfQueG','nJbkvKLUzK0','tNvTyMvYihjLC2vYDMvKihn1y2nLC3nMDwXSEq','vvPhyxq','BNvTyMvY','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zw52','ANnVBG','ueTbze0','q29KzsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','r1rAzxi','t2jXuhy','EwDVChu','lI4VlI4VDxrPBhmVChjVy2vZC29YlxjLC3bVBNnL','mJaXmZy4ve5uverM','zxHWB3j0CW','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','CvnPAuG','l3jLC2vYDMuVoNrVA2vU','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','mti5mZy1uLrVvgXR','z2v0','surftvbpvevoq1LFru5bqKXfra','wfDmDxu','D215sM4','C0j5tMO','sKjssMG','D2fYBG','sxH6vLi','C2vYAwfS','rxH6BMS','mJy5mZa0mxbdtNvszG','vMfSDwuGy29UC3vTzwq','q3byrxi','zxH0zw5KuMvZzxj2yxrPB24','AxnfBMfIBgvK','mKjetMzAuG','BwvZC2fNzq','mJi3nKXyyuHJrG','y29Kzq','mJq2mJy4s3zuwLz0','A2ncwgS','mtjdvxLVr3q','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','uMvKAxmGBM90ignVBM5Ly3rLza','Cg9ZDa','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','zgv0ywLSCW','q1PdBNa','BKjWBNa','l3jLC2vYDMuVzxH0zw5K','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mtbhy2HPt2q','zuDky0i','BMfTzq','y2fUy2vSuMvZzxj2yxrPB24','mZK4mZy3CMjNqK9Q','CMvSzwfZzu51BwjLCG','AfflC3y','CxvLCNK','zxjYB3i','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','mti1nte0z3PSsfHL','C3rHDhvZ','AwrNzw5FCM91DgvFAgvHBhrOx2vYCM9Y','BvP1sMe','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','CgfYyw1Z','l3nLCMLHBa'];a0_0x52e5=function(){return _0xb56599;};return a0_0x52e5();}
|
|
1
|
+
function a0_0x280c(_0x56fdc8,_0x5c574f){_0x56fdc8=_0x56fdc8-0x17c;const _0x3c9845=a0_0x3c98();let _0x280cf2=_0x3c9845[_0x56fdc8];if(a0_0x280c['ZrUJqX']===undefined){var _0x95c8bb=function(_0x55c163){const _0x2ad08a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b7541='',_0x42dc21='';for(let _0x1d9831=0x0,_0x4d3845,_0x51ad41,_0x2ba081=0x0;_0x51ad41=_0x55c163['charAt'](_0x2ba081++);~_0x51ad41&&(_0x4d3845=_0x1d9831%0x4?_0x4d3845*0x40+_0x51ad41:_0x51ad41,_0x1d9831++%0x4)?_0x2b7541+=String['fromCharCode'](0xff&_0x4d3845>>(-0x2*_0x1d9831&0x6)):0x0){_0x51ad41=_0x2ad08a['indexOf'](_0x51ad41);}for(let _0x2e1b84=0x0,_0x554601=_0x2b7541['length'];_0x2e1b84<_0x554601;_0x2e1b84++){_0x42dc21+='%'+('00'+_0x2b7541['charCodeAt'](_0x2e1b84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42dc21);};a0_0x280c['WIhthF']=_0x95c8bb,a0_0x280c['accbLy']={},a0_0x280c['ZrUJqX']=!![];}const _0x4398b0=_0x3c9845[0x0],_0x4689b8=_0x56fdc8+_0x4398b0,_0x4cc636=a0_0x280c['accbLy'][_0x4689b8];return!_0x4cc636?(_0x280cf2=a0_0x280c['WIhthF'](_0x280cf2),a0_0x280c['accbLy'][_0x4689b8]=_0x280cf2):_0x280cf2=_0x4cc636,_0x280cf2;}const a0_0x1bd260=a0_0x280c;(function(_0x5098af,_0x4a2c32){const _0xd1a4f5=a0_0x280c,_0x3f8228=_0x5098af();while(!![]){try{const _0x246dd2=-parseInt(_0xd1a4f5(0x19e))/0x1*(-parseInt(_0xd1a4f5(0x1d6))/0x2)+parseInt(_0xd1a4f5(0x1cf))/0x3*(-parseInt(_0xd1a4f5(0x1c1))/0x4)+parseInt(_0xd1a4f5(0x190))/0x5+-parseInt(_0xd1a4f5(0x1c4))/0x6+parseInt(_0xd1a4f5(0x197))/0x7+-parseInt(_0xd1a4f5(0x1bb))/0x8+-parseInt(_0xd1a4f5(0x1b1))/0x9;if(_0x246dd2===_0x4a2c32)break;else _0x3f8228['push'](_0x3f8228['shift']());}catch(_0x24d12a){_0x3f8228['push'](_0x3f8228['shift']());}}}(a0_0x3c98,0x9d829));const express=require('express'),{logger}=require(a0_0x1bd260(0x1b3)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require(a0_0x1bd260(0x1a8)),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function createIdgenRoutes(){const _0x49f093=a0_0x1bd260,_0x3946d8={'WHOhn':function(_0x407d84,_0x1b9de5){return _0x407d84===_0x1b9de5;},'MVEpa':'IdGeneratorError','tOEIb':function(_0x44033e,_0x38fea9,_0x4a1745,_0x28f45b){return _0x44033e(_0x38fea9,_0x4a1745,_0x28f45b);},'DSklF':_0x49f093(0x1ba),'lUsKz':function(_0x43bc58,_0x41b1fd){return _0x43bc58(_0x41b1fd);},'ebXhx':function(_0x2a976c,_0x3ab6e3,_0x5bd56e,_0x456920){return _0x2a976c(_0x3ab6e3,_0x5bd56e,_0x456920);},'dMmIu':_0x49f093(0x1d5),'MEFeB':_0x49f093(0x1c0),'wrMzG':function(_0x52a868){return _0x52a868();},'HdHEZ':function(_0x54a19e,_0x22d165,_0x36c24d,_0x36c220){return _0x54a19e(_0x22d165,_0x36c24d,_0x36c220);},'kpIla':'Number\x20released\x20to\x20reuse\x20pool','QphwA':function(_0x56ba50,_0xe4ca9f,_0x2768c1,_0x11649e){return _0x56ba50(_0xe4ca9f,_0x2768c1,_0x11649e);},'tBAxT':function(_0x56eaf4,_0x2cc2ac){return _0x56eaf4(_0x2cc2ac);},'jYZDt':_0x49f093(0x1b2),'zIQtO':function(_0x4611bc,_0x55ca7c){return _0x4611bc(_0x55ca7c);},'Yosrn':function(_0x13cb25,_0x55ec17,_0x348632,_0x3bdf61){return _0x13cb25(_0x55ec17,_0x348632,_0x3bdf61);},'ZarhW':function(_0xb408ce,_0x550727,_0x8151be,_0x178180){return _0xb408ce(_0x550727,_0x8151be,_0x178180);},'NOAKd':function(_0x4c1e19){return _0x4c1e19();},'qBXZJ':_0x49f093(0x1ca),'jlGCb':function(_0x586a02,_0x467b9c){return _0x586a02(_0x467b9c);},'ZOZYx':function(_0x2828f3,_0x2e31ce,_0xdbcc93,_0x49c0b2){return _0x2828f3(_0x2e31ce,_0xdbcc93,_0x49c0b2);},'UqcUu':'Reservation\x20extended','KdJVv':function(_0xdb5b6d,_0x1e0395,_0xc6b021,_0x1701e3){return _0xdb5b6d(_0x1e0395,_0xc6b021,_0x1701e3);},'vTuEi':function(_0x43e656){return _0x43e656();},'LUBUX':function(_0x78eca2,_0x1c595b,_0x500eed,_0x5744f3){return _0x78eca2(_0x1c595b,_0x500eed,_0x5744f3);},'Igmsk':_0x49f093(0x19c),'PWMnY':function(_0x5e8864){return _0x5e8864();},'CeAYv':function(_0xa6f666,_0x30a302,_0x4e9ff5,_0x36a9b4){return _0xa6f666(_0x30a302,_0x4e9ff5,_0x36a9b4);},'KRkrq':_0x49f093(0x187),'nfXcw':function(_0x229e4a,_0x14d22c,_0x227c5a,_0xf28589){return _0x229e4a(_0x14d22c,_0x227c5a,_0xf28589);},'CIggg':'idgen_route_code_error','RscTe':_0x49f093(0x1ac),'UGaCJ':_0x49f093(0x19a),'LdPvL':function(_0x2799af){return _0x2799af();},'xfMqq':function(_0x4efb80,_0x53fce9){return _0x4efb80||_0x53fce9;},'Bjvqf':'number','CJVYc':function(_0x7cb4eb,_0x184ed9,_0x565a24,_0x1924c1){return _0x7cb4eb(_0x184ed9,_0x565a24,_0x1924c1);},'RpeXi':'Resource\x20info\x20retrieved','OiEjS':function(_0x54193a,_0x4803b8,_0x55ad7f,_0x43fef8){return _0x54193a(_0x4803b8,_0x55ad7f,_0x43fef8);},'fIVKD':_0x49f093(0x1d7),'zntZY':function(_0xc838b3,_0x265671,_0x5d7ed2,_0x5046eb){return _0xc838b3(_0x265671,_0x5d7ed2,_0x5046eb);},'ViTmN':'Resource\x20state\x20reset','HKBhj':'idgen_route_reset_error','DYFac':function(_0x5adaae){return _0x5adaae();},'NuDNU':function(_0xdaf595,_0xe88586){return _0xdaf595===_0xe88586;},'hhmNQ':'true','kXNcS':'ID\x20Generator\x20service\x20unavailable','gOggW':_0x49f093(0x1a6),'Jltjp':function(_0x3dbe84,_0x18520b,_0x4a27c8,_0x5e9c0e){return _0x3dbe84(_0x18520b,_0x4a27c8,_0x5e9c0e);},'aXOgc':'/number','nqwFD':'/number/release','qTTWs':'/reserve','cxeLu':_0x49f093(0x182),'MGvzN':'/reserve/extend','cTllt':'/consume','PsUUI':'/info/:resource'},_0x543149=express[_0x49f093(0x18a)]();let _0x264bac=null;function _0x54541f(){const _0x536687=_0x49f093;return!_0x264bac&&(_0x264bac=require(_0x536687(0x1ae))),_0x264bac;}function _0x64e086(_0x357bb7,_0x8b0437,_0x4c25fb){const _0x23c522=_0x49f093;if(_0x8b0437&&_0x3946d8['WHOhn'](_0x8b0437['name'],_0x3946d8['MVEpa'])){const _0xe5622f=ERROR_CODE_HTTP_MAP[_0x8b0437[_0x23c522(0x1b8)]]||0x1f4;return logger['warn']({'event':_0x4c25fb,'code':_0x8b0437['code'],'message':_0x8b0437['message']},'ID\x20Generator\x20route\x20error:\x20'+_0x8b0437['code']),_0x357bb7['status'](_0xe5622f)['json'](_0x3946d8[_0x23c522(0x1af)](createError,_0xe5622f,_0x8b0437['message'],{'code':_0x8b0437[_0x23c522(0x1b8)],'details':_0x8b0437[_0x23c522(0x1ad)]||null}));}return logger[_0x23c522(0x1a4)]({'event':_0x4c25fb,'error':_0x8b0437&&_0x8b0437[_0x23c522(0x1a1)],'stack':_0x8b0437&&_0x8b0437['stack']},_0x23c522(0x19d)+(_0x8b0437&&_0x8b0437[_0x23c522(0x1a1)])),_0x357bb7[_0x23c522(0x1d0)](0x1f4)['json'](createError(0x1f4,_0x3946d8[_0x23c522(0x185)],null));}function _0x568ff4(_0x68488d){const _0x583e2e=_0x49f093;return _0x68488d[_0x583e2e(0x1c5)]('Idempotency-Key')||undefined;}return _0x543149['post'](_0x3946d8[_0x49f093(0x1c3)],async(_0x37743a,_0x1a5066)=>{const _0x5327d3=_0x49f093;try{const {resource:_0x484886,format:_0x13d85a,prefix:_0x850582,separator:_0x67c21,numDigits:_0x1e6b02,reuseDelete:_0x2ff9f6}=_0x37743a['body']||{},_0xad3980=_0x3946d8[_0x5327d3(0x193)](_0x568ff4,_0x37743a),_0x14e52b=_0x54541f(),_0x394b9c=await _0x14e52b['number']({'resource':_0x484886,'format':_0x13d85a,'prefix':_0x850582,'separator':_0x67c21,'numDigits':_0x1e6b02,'reuseDelete':_0x2ff9f6,'idempotencyKey':_0xad3980});return _0x1a5066['status'](0xc9)['json'](_0x3946d8['ebXhx'](createResponse,0xc9,_0x3946d8[_0x5327d3(0x1a0)],_0x394b9c));}catch(_0x199db8){return _0x64e086(_0x1a5066,_0x199db8,_0x3946d8['MEFeB']);}}),_0x543149['post'](_0x3946d8['nqwFD'],async(_0x3246f9,_0x4fc447)=>{const _0x2f0ed7=_0x49f093;try{const _0x5c3172=_0x568ff4(_0x3246f9),_0x48565b={..._0x3246f9[_0x2f0ed7(0x1a3)]||{},'idempotencyKey':_0x5c3172},_0x3ca5b9=_0x3946d8[_0x2f0ed7(0x1d4)](_0x54541f),_0x16544e=await _0x3ca5b9['releaseNumber'](_0x48565b);return _0x4fc447[_0x2f0ed7(0x1d0)](0xc8)['json'](_0x3946d8[_0x2f0ed7(0x18f)](createResponse,0xc8,_0x3946d8[_0x2f0ed7(0x1cd)],_0x16544e));}catch(_0x3cb671){return _0x3946d8['QphwA'](_0x64e086,_0x4fc447,_0x3cb671,'idgen_route_release_error');}}),_0x543149['post'](_0x3946d8['qTTWs'],async(_0x210f4d,_0x502184)=>{const _0x444fe3=_0x49f093;try{const {resource:_0x385e6a,format:_0x215e65,prefix:_0x17fedb,separator:_0x33b4e4,numDigits:_0x520059,reuseDelete:_0x4a5cbc,ttl:_0x1aec3e}=_0x210f4d['body']||{},_0x4db03d=_0x3946d8[_0x444fe3(0x180)](_0x568ff4,_0x210f4d),_0x1adac2=_0x3946d8[_0x444fe3(0x1d4)](_0x54541f),_0x2e7f0a=await _0x1adac2[_0x444fe3(0x1cc)]({'resource':_0x385e6a,'format':_0x215e65,'prefix':_0x17fedb,'separator':_0x33b4e4,'numDigits':_0x520059,'reuseDelete':_0x4a5cbc,'ttl':_0x1aec3e,'idempotencyKey':_0x4db03d});return _0x502184['status'](0xc9)[_0x444fe3(0x1bc)](createResponse(0xc9,'Number\x20reserved\x20successfully',_0x2e7f0a));}catch(_0x1c0d7e){return _0x64e086(_0x502184,_0x1c0d7e,_0x3946d8['jYZDt']);}}),_0x543149[_0x49f093(0x1aa)](_0x3946d8['cxeLu'],async(_0x43845f,_0x141935)=>{const _0x24bf82=_0x49f093;try{const {token:_0x135627}=_0x43845f[_0x24bf82(0x1a3)]||{},_0x558335=_0x3946d8['zIQtO'](_0x568ff4,_0x43845f),_0x181445=_0x54541f(),_0x17d562=await _0x181445['confirmReservation']({'token':_0x135627,'idempotencyKey':_0x558335});return _0x141935['status'](0xc8)['json'](_0x3946d8['Yosrn'](createResponse,0xc8,_0x24bf82(0x192),_0x17d562));}catch(_0xb46fb7){return _0x3946d8['ZarhW'](_0x64e086,_0x141935,_0xb46fb7,_0x24bf82(0x19b));}}),_0x543149['post'](_0x49f093(0x17e),async(_0x1f8ebc,_0x3edfa3)=>{const _0x171a9a=_0x49f093;try{const {token:_0x318646}=_0x1f8ebc['body']||{},_0x285e48=_0x568ff4(_0x1f8ebc),_0x780e4b=_0x3946d8[_0x171a9a(0x18b)](_0x54541f),_0x4aaf89=await _0x780e4b['cancelReservation']({'token':_0x318646,'idempotencyKey':_0x285e48});return _0x3edfa3[_0x171a9a(0x1d0)](0xc8)[_0x171a9a(0x1bc)](createResponse(0xc8,_0x171a9a(0x1ab),_0x4aaf89));}catch(_0x3c2c7a){return _0x3946d8['HdHEZ'](_0x64e086,_0x3edfa3,_0x3c2c7a,_0x3946d8[_0x171a9a(0x199)]);}}),_0x543149[_0x49f093(0x1aa)](_0x3946d8[_0x49f093(0x1c2)],async(_0x16b273,_0x15a1aa)=>{const _0x112899=_0x49f093;try{const {token:_0x19d2ae,ttl:_0x418920}=_0x16b273[_0x112899(0x1a3)]||{},_0x370eda=_0x3946d8['jlGCb'](_0x568ff4,_0x16b273),_0x546abf=_0x54541f(),_0x551318=await _0x546abf['extendReservation']({'token':_0x19d2ae,'ttl':_0x418920,'idempotencyKey':_0x370eda});return _0x15a1aa[_0x112899(0x1d0)](0xc8)[_0x112899(0x1bc)](_0x3946d8[_0x112899(0x17c)](createResponse,0xc8,_0x3946d8[_0x112899(0x18e)],_0x551318));}catch(_0xfa1a8c){return _0x3946d8['KdJVv'](_0x64e086,_0x15a1aa,_0xfa1a8c,_0x112899(0x1a2));}}),_0x543149['get'](_0x49f093(0x183),async(_0x2440f6,_0x5f4e9a)=>{const _0x48bc51=_0x49f093;try{const {token:_0x18137a}=_0x2440f6['params'],_0xe7ee2f=_0x3946d8['vTuEi'](_0x54541f),_0x229475=await _0xe7ee2f['getReservation']({'token':_0x18137a});return _0x5f4e9a[_0x48bc51(0x1d0)](0xc8)['json'](createResponse(0xc8,'Reservation\x20retrieved',_0x229475));}catch(_0x5c3093){return _0x3946d8['LUBUX'](_0x64e086,_0x5f4e9a,_0x5c3093,_0x3946d8[_0x48bc51(0x1b6)]);}}),_0x543149[_0x49f093(0x1aa)]('/pin',async(_0x451730,_0x5ac1c0)=>{const _0x1a1c92=_0x49f093;try{const {resource:_0x5635a2,digits:_0x57b1ac,ensureUnique:_0x18fa50,ttl:_0x568302,maxRetry:_0x340a8e}=_0x451730['body']||{},_0x4414c2=_0x3946d8['tBAxT'](_0x568ff4,_0x451730),_0x5f40be=_0x3946d8[_0x1a1c92(0x17f)](_0x54541f),_0x4960b2=await _0x5f40be['pin']({'resource':_0x5635a2,'digits':_0x57b1ac,'ensureUnique':_0x18fa50,'ttl':_0x568302,'maxRetry':_0x340a8e,'idempotencyKey':_0x4414c2});return _0x5ac1c0['status'](0xc9)['json'](_0x3946d8[_0x1a1c92(0x1c8)](createResponse,0xc9,'PIN\x20generated\x20successfully',_0x4960b2));}catch(_0x1bd372){return _0x64e086(_0x5ac1c0,_0x1bd372,'idgen_route_pin_error');}}),_0x543149[_0x49f093(0x1aa)]('/serial',async(_0x2333f6,_0x5646e4)=>{const _0x5a8cc4=_0x49f093;try{const {resource:_0x15ca92,pattern:_0x10fbe9,ensureUnique:_0x55dc1d,ttl:_0x10f913,maxRetry:_0x40f611}=_0x2333f6['body']||{},_0x4a6892=_0x568ff4(_0x2333f6),_0x4ccd06=_0x54541f(),_0x117c2c=await _0x4ccd06[_0x5a8cc4(0x198)]({'resource':_0x15ca92,'pattern':_0x10fbe9,'ensureUnique':_0x55dc1d,'ttl':_0x10f913,'maxRetry':_0x40f611,'idempotencyKey':_0x4a6892});return _0x5646e4['status'](0xc9)[_0x5a8cc4(0x1bc)](createResponse(0xc9,_0x5a8cc4(0x1cb),_0x117c2c));}catch(_0x41d5df){return _0x3946d8['CeAYv'](_0x64e086,_0x5646e4,_0x41d5df,_0x3946d8['KRkrq']);}}),_0x543149[_0x49f093(0x1aa)]('/code',async(_0x2e0cc6,_0x12fad4)=>{const _0xcba20=_0x49f093;try{const {resource:_0x50db63,pattern:_0x58ae3d,ensureUnique:_0x18cd79,ttl:_0x3e4981,maxRetry:_0x4711f0}=_0x2e0cc6[_0xcba20(0x1a3)]||{},_0x21c8ef=_0x568ff4(_0x2e0cc6),_0xd60452=_0x54541f(),_0xd5623e=await _0xd60452[_0xcba20(0x1b8)]({'resource':_0x50db63,'pattern':_0x58ae3d,'ensureUnique':_0x18cd79,'ttl':_0x3e4981,'maxRetry':_0x4711f0,'idempotencyKey':_0x21c8ef});return _0x12fad4['status'](0xc9)['json'](_0x3946d8[_0xcba20(0x184)](createResponse,0xc9,_0xcba20(0x1c9),_0xd5623e));}catch(_0x38ccfb){return _0x3946d8['nfXcw'](_0x64e086,_0x12fad4,_0x38ccfb,_0x3946d8[_0xcba20(0x1a7)]);}}),_0x543149[_0x49f093(0x1aa)](_0x49f093(0x181),async(_0x4af0bf,_0x1647bf)=>{const _0xcc75e3=_0x49f093;try{const {resource:_0x34b774,pattern:_0x5e87cf,ensureUnique:_0x3c27c3,ttl:_0x1f1316,maxRetry:_0x29abdd}=_0x4af0bf[_0xcc75e3(0x1a3)]||{},_0x3ae3ea=_0x3946d8[_0xcc75e3(0x195)](_0x568ff4,_0x4af0bf),_0x11911d=_0x54541f(),_0x2ed404=await _0x11911d[_0xcc75e3(0x1d1)]({'resource':_0x34b774,'pattern':_0x5e87cf,'ensureUnique':_0x3c27c3,'ttl':_0x1f1316,'maxRetry':_0x29abdd,'idempotencyKey':_0x3ae3ea});return _0x1647bf['status'](0xc9)['json'](createResponse(0xc9,_0x3946d8['RscTe'],_0x2ed404));}catch(_0x5026c1){return _0x64e086(_0x1647bf,_0x5026c1,_0x3946d8[_0xcc75e3(0x194)]);}}),_0x543149['post'](_0x3946d8['cTllt'],async(_0x4e6aba,_0x170765)=>{const _0x301616=_0x49f093;try{const {resource:_0x519cce,value:_0x231a6a}=_0x4e6aba[_0x301616(0x1a3)]||{},_0x477750=_0x3946d8['LdPvL'](_0x54541f),_0x1dd16a=await _0x477750[_0x301616(0x1b9)]({'resource':_0x519cce,'value':_0x231a6a});return _0x170765['status'](0xc8)['json'](createResponse(0xc8,_0x301616(0x1bf),_0x1dd16a));}catch(_0x2b78fd){return _0x64e086(_0x170765,_0x2b78fd,_0x301616(0x1b0));}}),_0x543149['get'](_0x3946d8[_0x49f093(0x1b4)],async(_0x1bd0bd,_0x378bee)=>{const _0x555e89=_0x49f093;try{const {resource:_0x43927a}=_0x1bd0bd['params'],{mode:_0x37fe24,format:_0x3efaf5,prefix:_0xaff263}=_0x1bd0bd[_0x555e89(0x18d)],_0x18702b=_0x3946d8['NOAKd'](_0x54541f),_0x354223=await _0x18702b[_0x555e89(0x1d3)]({'resource':_0x43927a,'mode':_0x3946d8[_0x555e89(0x17d)](_0x37fe24,_0x3946d8['Bjvqf']),'format':_0x3efaf5,'prefix':_0xaff263});return _0x378bee[_0x555e89(0x1d0)](0xc8)['json'](_0x3946d8['CJVYc'](createResponse,0xc8,_0x3946d8['RpeXi'],_0x354223));}catch(_0x1ede39){return _0x3946d8[_0x555e89(0x1b5)](_0x64e086,_0x378bee,_0x1ede39,_0x3946d8[_0x555e89(0x1b7)]);}}),_0x543149[_0x49f093(0x1aa)]('/reset',async(_0x25264c,_0x9f665a)=>{const _0xab3737=_0x49f093;try{const {resource:_0x18a94b,mode:_0xe37735,format:_0x5d9305,prefix:_0x212b0b}=_0x25264c['body']||{},_0x464b68=_0x54541f(),_0x20e625=await _0x464b68['reset']({'resource':_0x18a94b,'mode':_0x3946d8['xfMqq'](_0xe37735,_0x3946d8[_0xab3737(0x1c6)]),'format':_0x5d9305,'prefix':_0x212b0b});return _0x9f665a['status'](0xc8)[_0xab3737(0x1bc)](_0x3946d8['zntZY'](createResponse,0xc8,_0x3946d8['ViTmN'],_0x20e625));}catch(_0x345c30){return _0x64e086(_0x9f665a,_0x345c30,_0x3946d8[_0xab3737(0x18c)]);}}),_0x543149['get'](_0x49f093(0x1a9),async(_0x53ccbb,_0x47d15b)=>{const _0x58afe2=_0x49f093;try{const _0x3d5e25=_0x3946d8[_0x58afe2(0x186)](_0x54541f),_0x5a7131=_0x3d5e25[_0x58afe2(0x188)]();let _0x5efdaf=![],_0xe83ccc=null;try{_0x5efdaf=await redisClient[_0x58afe2(0x191)](0xbb8);}catch(_0x4d5e1e){_0xe83ccc=_0x4d5e1e[_0x58afe2(0x1a1)];}const _0x52a03b=_0x3946d8[_0x58afe2(0x1bd)](process[_0x58afe2(0x1c7)]['LOCK_DISTRIBUTED_ENABLED'],'true'),_0x5038e5=process['env']['IDEMPOTENCY_ENABLED']===_0x3946d8[_0x58afe2(0x196)];if(_0x3946d8['xfMqq'](!_0x5a7131,!_0x5efdaf))return _0x47d15b[_0x58afe2(0x1d0)](0x1f7)['json'](createError(0x1f7,_0x3946d8[_0x58afe2(0x189)],{'enabled':_0x5a7131,'redisConnected':_0x5efdaf,'lockEnabled':_0x52a03b,'idempotencyEnabled':_0x5038e5,'error':_0xe83ccc||(!_0x5a7131?_0x58afe2(0x19f):_0x3946d8[_0x58afe2(0x1d2)])}));return _0x47d15b['status'](0xc8)['json'](_0x3946d8[_0x58afe2(0x1a5)](createResponse,0xc8,_0x58afe2(0x1be),{'enabled':_0x5a7131,'redisConnected':_0x5efdaf,'lockEnabled':_0x52a03b,'idempotencyEnabled':_0x5038e5}));}catch(_0x6d9ee7){return _0x3946d8['HdHEZ'](_0x64e086,_0x47d15b,_0x6d9ee7,'idgen_route_health_error');}}),_0x543149;}function a0_0x3c98(){const _0x609796=['uhnvvuK','t2LfALm','swDTC2S','zKLws0q','y29Kzq','y29UC3vTzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','mte3mdy1nNf4rvflEa','ANnVBG','tNvetLu','suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','vMfSDwuGy29UC3vTzwq','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','ngvQChvLsa','tuD2EK4','yvHpz2m','ndq3mJu4B0LrCwzX','AgvHzgvY','qMP2Cwy','zw52','wMfYAfC','q29KzsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','CMvZzxj2zu51BwjLCG','A3bjBge','zxHWB3j0CW','ntC3mteZD29VsgLx','C3rHDhvZ','CMfUzg9T','z09Nz1C','z2v0sw5MBW','D3jnEKC','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','nZy0nLjmsxHLCq','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','wK9AwxG','EgznCxe','l3jLC2vYDMuVy2fUy2vS','ufDnBLK','DejbEfq','l3jHBMrVBq','l3jLC2vYDMuVy29UzMLYBq','l3jLC2vYDMuVoNrVA2vU','ww9ZCM4','rfnRBey','rfLgywm','AwrNzw5FCM91DgvFC2vYAwfSx2vYCM9Y','AxnfBMfIBgvK','A1Hoy1m','uM91DgvY','tK9bs2q','seTcAgO','CxvLCNK','vxfJvxu','sgrirvO','ndq4nta4nu1OwKXwzq','CgLUzW','uMvZzxj2yxrPB24Gy29UzMLYBwvK','BfvZs3O','vuDHq0O','AMXhq2i','AgHTtLe','nJK5odC3nvfku0ziva','C2vYAwfS','CujywKO','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','suqGr2vUzxjHDg9YihjVDxrLigv4y2vWDgLVBJOG','mZfXs1Ljsve','surhru5Fru5bqKXfrd1MywXZzq','ze1Tsxu','BwvZC2fNzq','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','yM9KEq','zxjYB3i','sMX0ANa','uMvKAxmGBM90ignVBM5Ly3rLza','q0LNz2C','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','l2HLywX0Aa','Cg9ZDa','uMvZzxj2yxrPB24Gy2fUy2vSBgvK','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','zgv0ywLSCW','lI4VlI4VDxrPBhmVAwqTz2vUzxjHDg9Y','De9fswi','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','odyXmJuZmNrczvrotW','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','lI4VlI4VDxrPBhmVBg9Nz2vY'];a0_0x3c98=function(){return _0x609796;};return a0_0x3c98();}module[a0_0x1bd260(0x1ce)]=createIdgenRoutes;
|