@restforgejs/platform 4.1.1 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +43 -4
- 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 +526 -0
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +322 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +13 -18
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- 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/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5626af=a0_0x4963;(function(_0x4947ea,_0x3cb794){const _0x3b7d17=a0_0x4963,_0x389da5=_0x4947ea();while(!![]){try{const _0x4167b7=parseInt(_0x3b7d17(0x26b))/0x1*(parseInt(_0x3b7d17(0x272))/0x2)+parseInt(_0x3b7d17(0x207))/0x3+parseInt(_0x3b7d17(0x275))/0x4*(parseInt(_0x3b7d17(0x256))/0x5)+parseInt(_0x3b7d17(0x25b))/0x6+parseInt(_0x3b7d17(0x1ed))/0x7+-parseInt(_0x3b7d17(0x268))/0x8*(parseInt(_0x3b7d17(0x22c))/0x9)+parseInt(_0x3b7d17(0x21d))/0xa*(-parseInt(_0x3b7d17(0x209))/0xb);if(_0x4167b7===_0x3cb794)break;else _0x389da5['push'](_0x389da5['shift']());}catch(_0x8471fd){_0x389da5['push'](_0x389da5['shift']());}}}(a0_0x2b57,0xd1694));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x5626af(0x1fe)),{logger,logError}=require('../../core/utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x5626af(0x263))[a0_0x5626af(0x26d)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x5626af(0x214))oracleDb=require(a0_0x5626af(0x27d)),executeQuery=(_0x502055,_0x587720)=>oracleDb[a0_0x5626af(0x25d)](_0x502055,_0x587720),executeTransaction=_0x4d1f6b=>oracleDb[a0_0x5626af(0x26c)](_0x4d1f6b);else{if(dbType===a0_0x5626af(0x217)){const mysqlDb=require(a0_0x5626af(0x23f));executeQuery=(_0x3d58b8,_0x9c5748)=>mysqlDb['executeQuery'](_0x3d58b8,_0x9c5748),executeTransaction=_0x1d4832=>mysqlDb['executeTransaction'](_0x1d4832);}else{const db=require(a0_0x5626af(0x267));executeQuery=db[a0_0x5626af(0x25d)],executeTransaction=db[a0_0x5626af(0x26c)];}}const excelParser=require(a0_0x5626af(0x1f1)),importValidator=require('./import-validator'),upsertBuilder=require(a0_0x5626af(0x216)),lookupResolver=require('../integrations/lookup-resolver');function a0_0x4963(_0x1c5cd4,_0x2980e1){_0x1c5cd4=_0x1c5cd4-0x1de;const _0x2b5704=a0_0x2b57();let _0x49635e=_0x2b5704[_0x1c5cd4];if(a0_0x4963['FgfUYC']===undefined){var _0x12bcd6=function(_0x268c56){const _0xc6f36b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ef484='',_0x453ee8='';for(let _0x3d9b2f=0x0,_0x272a04,_0x4bb084,_0x42d5ab=0x0;_0x4bb084=_0x268c56['charAt'](_0x42d5ab++);~_0x4bb084&&(_0x272a04=_0x3d9b2f%0x4?_0x272a04*0x40+_0x4bb084:_0x4bb084,_0x3d9b2f++%0x4)?_0x4ef484+=String['fromCharCode'](0xff&_0x272a04>>(-0x2*_0x3d9b2f&0x6)):0x0){_0x4bb084=_0xc6f36b['indexOf'](_0x4bb084);}for(let _0x454cd6=0x0,_0x43efe8=_0x4ef484['length'];_0x454cd6<_0x43efe8;_0x454cd6++){_0x453ee8+='%'+('00'+_0x4ef484['charCodeAt'](_0x454cd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x453ee8);};a0_0x4963['PnkBxp']=_0x12bcd6,a0_0x4963['VjoxbC']={},a0_0x4963['FgfUYC']=!![];}const _0x1ad7fe=_0x2b5704[0x0],_0x586ad2=_0x1c5cd4+_0x1ad7fe,_0xa67907=a0_0x4963['VjoxbC'][_0x586ad2];return!_0xa67907?(_0x49635e=a0_0x4963['PnkBxp'](_0x49635e),a0_0x4963['VjoxbC'][_0x586ad2]=_0x49635e):_0x49635e=_0xa67907,_0x49635e;}class ImportService{constructor(){const _0x38a835=a0_0x5626af;this[_0x38a835(0x204)]=null;}get[a0_0x5626af(0x210)](){const _0x1760d2=a0_0x5626af,_0x549d1f={'pSvBC':_0x1760d2(0x25f)};if(!this[_0x1760d2(0x204)]){const _0x801a72=process['env']['RESTFORGE_PROJECT_NAME']||_0x549d1f[_0x1760d2(0x264)];this['_uploadDir']=process[_0x1760d2(0x230)][_0x1760d2(0x27f)]||path[_0x1760d2(0x1f9)](__dirname,'../../temp/uploads/'+_0x801a72);}return this['_uploadDir'];}['generateId'](){const _0x2d65af=a0_0x5626af,_0x5660b5={'feLNh':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','CibeJ':function(_0x12490e,_0x27916f){return _0x12490e-_0x27916f;}},_0xe29d5a=_0x5660b5[_0x2d65af(0x20e)],_0x514474=Date['now']()['toString'](0x24),_0x540890=uuidv7()[_0x2d65af(0x232)](/-/g,'')[_0x2d65af(0x1fb)](0x0,_0x5660b5[_0x2d65af(0x25a)](0xc,_0x514474['length'])),_0x52c0b9=(_0x514474+_0x540890)['substring'](0x0,0xc);let _0x2e2b7e='';for(let _0xc43619=0x0;_0xc43619<0xc;_0xc43619++){_0x52c0b9[_0xc43619]?_0x2e2b7e+=_0x52c0b9[_0xc43619]:_0x2e2b7e+=_0xe29d5a['charAt'](Math['floor'](Math['random']()*_0xe29d5a[_0x2d65af(0x1f0)]));}return _0x2e2b7e;}[a0_0x5626af(0x25c)](_0x5caef3){const _0x1f9d80=a0_0x5626af,_0x4d3ffb={'Ymtxe':'$1_$2','JvDqX':_0x1f9d80(0x221)},_0x3e6208=new Map();if(!_0x5caef3)return _0x3e6208;return Object['entries'](_0x5caef3)[_0x1f9d80(0x271)](([_0x219e4e,_0x49ac9c])=>{const _0x57b631=_0x1f9d80,_0x201696=String(_0x49ac9c)['trim']()['replace'](/\s+/g,'_')[_0x57b631(0x232)](/([a-z])([A-Z])/g,_0x4d3ffb['Ymtxe'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x4d3ffb['Ymtxe'])[_0x57b631(0x26d)]();_0x3e6208[_0x57b631(0x261)](_0x201696,_0x219e4e);}),logger['debug']({'event':_0x4d3ffb['JvDqX'],'mappingCount':_0x3e6208[_0x1f9d80(0x224)]},'Label\x20to\x20field\x20mapping\x20built'),_0x3e6208;}['applyColumnFormats'](_0x12c08f,_0x1ed9ec){const _0xa9e9ab=a0_0x5626af,_0x587862={'SMFMF':function(_0x34f4c7,_0x2db1cf){return _0x34f4c7===_0x2db1cf;},'vXYCN':function(_0x4fe629,_0x2cf727){return _0x4fe629===_0x2cf727;},'UqaDY':_0xa9e9ab(0x250),'SkwYp':'number'};if(!_0x1ed9ec||Object['keys'](_0x1ed9ec)[_0xa9e9ab(0x1f0)]===0x0)return _0x12c08f;return _0x12c08f[_0xa9e9ab(0x1e0)](_0x3de03c=>{const _0x51d2ea=_0xa9e9ab,_0x2da7bf={..._0x3de03c};for(const [_0x28c8e4,_0xa507fe]of Object['entries'](_0x1ed9ec)){const _0xdf4ce2=_0x2da7bf[_0x28c8e4];if(_0xdf4ce2===null||_0x587862[_0x51d2ea(0x240)](_0xdf4ce2,undefined)||_0x587862['vXYCN'](_0xdf4ce2,'')){_0x2da7bf[_0x28c8e4]=null;continue;}switch(_0xa507fe['type']){case _0x587862['UqaDY']:_0x2da7bf[_0x28c8e4]=this['formatDateForDatabase'](_0xdf4ce2);break;case _0x587862['SkwYp']:_0x2da7bf[_0x28c8e4]=this['formatNumberForDatabase'](_0xdf4ce2);break;case _0x51d2ea(0x23d):_0x2da7bf[_0x28c8e4]=String(_0xdf4ce2);break;default:break;}}return _0x2da7bf;});}[a0_0x5626af(0x26e)](_0x1f4dab){const _0x52fdc4=a0_0x5626af,_0x5be132={'koYkh':function(_0x453153,_0x418f99){return _0x453153===_0x418f99;},'wuEZo':'string','EFFns':function(_0x360f59,_0x5af52a){return _0x360f59 instanceof _0x5af52a;},'xcjoH':function(_0x248f84,_0x4191b5){return _0x248f84(_0x4191b5);},'EOgaE':function(_0x4019d1,_0x28ee98){return _0x4019d1+_0x28ee98;}};if(_0x5be132['koYkh'](_0x1f4dab,null)||_0x5be132[_0x52fdc4(0x254)](_0x1f4dab,undefined)||_0x1f4dab==='')return null;if(_0x5be132[_0x52fdc4(0x254)](typeof _0x1f4dab,_0x5be132[_0x52fdc4(0x215)])&&/^\d{4}-\d{2}-\d{2}$/[_0x52fdc4(0x27e)](_0x1f4dab))return _0x1f4dab;if(_0x5be132[_0x52fdc4(0x1f4)](_0x1f4dab,Date)){if(_0x5be132['xcjoH'](isNaN,_0x1f4dab[_0x52fdc4(0x283)]()))return null;const _0x5dc3f1=_0x1f4dab['getFullYear'](),_0x4f3a4f=_0x5be132[_0x52fdc4(0x1e8)](String,_0x5be132['EOgaE'](_0x1f4dab['getMonth'](),0x1))['padStart'](0x2,'0'),_0x495c8e=String(_0x1f4dab[_0x52fdc4(0x246)]())['padStart'](0x2,'0');return _0x5dc3f1+'-'+_0x4f3a4f+'-'+_0x495c8e;}if(typeof _0x1f4dab===_0x5be132[_0x52fdc4(0x215)]){const _0x5d08c4=_0x1f4dab['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5d08c4){const _0x2b5291=_0x5be132[_0x52fdc4(0x1e8)](String,_0x5d08c4[0x1])['padStart'](0x2,'0'),_0x47a30a=String(_0x5d08c4[0x2])['padStart'](0x2,'0'),_0x54822b=_0x5d08c4[0x3];return _0x54822b+'-'+_0x47a30a+'-'+_0x2b5291;}const _0x233e21=_0x1f4dab[_0x52fdc4(0x229)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x233e21){const _0x2cafda=_0x233e21[0x1],_0x5d9833=String(_0x233e21[0x2])['padStart'](0x2,'0'),_0x120517=String(_0x233e21[0x3])['padStart'](0x2,'0');return _0x2cafda+'-'+_0x5d9833+'-'+_0x120517;}}return _0x1f4dab;}['formatNumberForDatabase'](_0x83b0e7){const _0x38ea5c=a0_0x5626af,_0x4c156d={'rFhVh':function(_0xecd516,_0x594410){return _0xecd516===_0x594410;},'TNJZo':function(_0x4fd996,_0x30fe8e){return _0x4fd996(_0x30fe8e);}};if(_0x4c156d['rFhVh'](_0x83b0e7,null)||_0x4c156d[_0x38ea5c(0x1e5)](_0x83b0e7,undefined)||_0x4c156d[_0x38ea5c(0x1e5)](_0x83b0e7,''))return null;if(_0x4c156d['rFhVh'](typeof _0x83b0e7,_0x38ea5c(0x22d)))return _0x4c156d[_0x38ea5c(0x1f3)](isNaN,_0x83b0e7)?null:_0x83b0e7;if(typeof _0x83b0e7===_0x38ea5c(0x1ee)){let _0x57c354=_0x83b0e7['trim']();const _0x18ae55=/,\d{1,2}$/['test'](_0x57c354)&&!/,\d{3}/[_0x38ea5c(0x27e)](_0x57c354);_0x18ae55?_0x57c354=_0x57c354['replace'](/\./g,'')['replace'](',','.'):_0x57c354=_0x57c354['replace'](/,/g,'');const _0x46d4f5=parseFloat(_0x57c354);return isNaN(_0x46d4f5)?null:_0x46d4f5;}return null;}async[a0_0x5626af(0x206)](_0x17cc72,_0x270567){const _0x5366fe=a0_0x5626af,_0x411b47={'rZnpT':function(_0x50b537,_0x3b7a79){return _0x50b537||_0x3b7a79;},'hOUkT':function(_0x5be30e,_0x533899){return _0x5be30e>_0x533899;},'hWjed':_0x5366fe(0x287),'RxSPd':function(_0xfdbd44,_0x588541,_0x1bb158,_0x37ad83){return _0xfdbd44(_0x588541,_0x1bb158,_0x37ad83);},'zIxEY':_0x5366fe(0x23e)},_0x29c738=this[_0x5366fe(0x26f)]();try{let {headers:_0x4b7775,rows:_0x1c79f5,totalRows:_0x4ad7b3}=await excelParser['parseExcelFile'](_0x17cc72[_0x5366fe(0x273)]);const _0x6084ce=this['buildLabelToFieldMap'](_0x270567[_0x5366fe(0x1e1)]),_0x2f528b=_0x4b7775[_0x5366fe(0x1e0)](_0x13af0a=>{const _0x2aa64d=_0x5366fe,_0x2c27d7=_0x6084ce['get'](_0x13af0a);return _0x411b47[_0x2aa64d(0x203)](_0x2c27d7,_0x13af0a);});_0x1c79f5=_0x1c79f5['map'](_0x3c5543=>{const _0x39610a=_0x5366fe,_0x57dbbb={};return _0x4b7775[_0x39610a(0x271)]((_0x3d588a,_0x459670)=>{const _0x2b7749=_0x2f528b[_0x459670];_0x57dbbb[_0x2b7749]=_0x3c5543[_0x3d588a];}),_0x57dbbb;}),_0x4b7775=_0x2f528b,logger[_0x5366fe(0x1f5)]({'event':'headers_mapped','original':_0x4b7775[_0x5366fe(0x1f0)],'mapped':_0x2f528b[_0x5366fe(0x260)]((_0x1aab29,_0x4e1114)=>_0x1aab29!==_0x4b7775[_0x4e1114])[_0x5366fe(0x1f0)]},_0x5366fe(0x269));_0x270567[_0x5366fe(0x282)]&&_0x411b47['hOUkT'](Object[_0x5366fe(0x24d)](_0x270567['columnFormats'])[_0x5366fe(0x1f0)],0x0)&&(_0x1c79f5=this[_0x5366fe(0x1e2)](_0x1c79f5,_0x270567['columnFormats']),logger[_0x5366fe(0x1f5)]({'event':_0x5366fe(0x227),'formatCount':Object[_0x5366fe(0x24d)](_0x270567['columnFormats'])['length'],'formats':Object[_0x5366fe(0x24d)](_0x270567[_0x5366fe(0x282)])},_0x411b47[_0x5366fe(0x23c)]));const _0x2a5307=_0x270567['lookupFields']?Object['values'](_0x270567['lookupFields'])[_0x5366fe(0x1e0)](_0x559518=>_0x559518[_0x5366fe(0x26a)]):[],_0x53a9b1=_0x270567['fieldName'][_0x5366fe(0x260)](_0x212b91=>!_0x2a5307['includes'](_0x212b91)),_0x2d6929=excelParser['validateExcelStructure'](_0x4b7775,_0x53a9b1);if(!_0x2d6929[_0x5366fe(0x223)]){await fs[_0x5366fe(0x1e6)](_0x17cc72['path']);throw new Error(_0x5366fe(0x231)+_0x2d6929['missingFields'][_0x5366fe(0x1f9)](',\x20'));}const _0x290c56={'upload_id':_0x29c738,'filename':_0x17cc72['originalname'],'total_rows':_0x4ad7b3,'headers':_0x4b7775,'rows':_0x1c79f5,'params':_0x270567,'created_at':new Date()[_0x5366fe(0x255)]()};return await redisHelper['setJob'](_0x5366fe(0x24b)+_0x29c738,_0x290c56,0xe10),await fs['unlink'](_0x17cc72[_0x5366fe(0x273)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x29c738,'filename':_0x17cc72[_0x5366fe(0x276)],'totalRows':_0x4ad7b3},_0x5366fe(0x1f7)),{'upload_id':_0x29c738,'total_rows':_0x4ad7b3,'preview':_0x1c79f5[_0x5366fe(0x236)](0x0,0xa)};}catch(_0x4ac15b){try{await fs['unlink'](_0x17cc72[_0x5366fe(0x273)]);}catch(_0x4db01b){_0x411b47[_0x5366fe(0x23a)](logError,_0x4db01b,{'event':_0x5366fe(0x22a)},_0x411b47[_0x5366fe(0x1fa)]);}throw _0x4ac15b;}}async[a0_0x5626af(0x237)](_0x3faf37){const _0x5f8e9a=a0_0x5626af,_0x41fa19={'LelIP':'Preview\x20processing\x20failed','WntUt':'validating'},_0x5a8389=this['generateId'](),_0x17d55e=await redisHelper['getJob'](_0x5f8e9a(0x24b)+_0x3faf37);if(!_0x17d55e)throw new Error(_0x5f8e9a(0x284));const _0x5376ff={'job_id':_0x5a8389,'upload_id':_0x3faf37,'status':_0x41fa19[_0x5f8e9a(0x1ea)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x17d55e['params']};return await redisHelper['setJob']('job:'+_0x5a8389,_0x5376ff,0xe10),logger['info']({'event':_0x5f8e9a(0x21b),'jobId':_0x5a8389,'uploadId':_0x3faf37},'Preview\x20job\x20created'),this[_0x5f8e9a(0x1de)](_0x5a8389,_0x3faf37,_0x17d55e)[_0x5f8e9a(0x220)](_0x35340a=>{const _0xd6132a=_0x5f8e9a;logError(_0x35340a,{'event':_0xd6132a(0x201),'jobId':_0x5a8389},_0x41fa19['LelIP']);}),{'job_id':_0x5a8389,'status':_0x5f8e9a(0x238)};}['autoGenerateUpsertKeys'](_0xcfc0c5,_0x111641){const _0x1e08b6=a0_0x5626af,_0x4e66ef={'dvUIp':function(_0x591d0d,_0x480efc){return _0x591d0d===_0x480efc;},'LuGfm':function(_0x4f7800,_0x6018){return _0x4f7800===_0x6018;},'hynak':function(_0x15cea9,_0x3436a1){return _0x15cea9===_0x3436a1;},'yIrsQ':function(_0x21e0ac){return _0x21e0ac();}};_0xcfc0c5[_0x1e08b6(0x271)]((_0x5be196,_0x80ebe)=>{_0x111641['forEach'](_0x46af31=>{const _0x35c961=a0_0x4963,_0xbb05f7=_0x5be196[_0x46af31];if(_0x4e66ef[_0x35c961(0x277)](_0xbb05f7,null)||_0x4e66ef[_0x35c961(0x213)](_0xbb05f7,undefined)||_0x4e66ef[_0x35c961(0x277)](_0xbb05f7,'')||_0x4e66ef[_0x35c961(0x22e)](String(_0xbb05f7)['trim'](),'-')){const _0x249a2a=_0x4e66ef[_0x35c961(0x222)](uuidv7);_0x5be196[_0x46af31]=_0x249a2a,_0x5be196['_generated_uuid']=_0x5be196[_0x35c961(0x20d)]||{},_0x5be196['_generated_uuid'][_0x46af31]=_0x249a2a,logger[_0x35c961(0x1f5)]({'event':'uuid_auto_generated','rowIndex':_0x80ebe,'field':_0x46af31,'uuid':_0x249a2a},'Auto-generated\x20UUID\x20for\x20'+_0x46af31+'\x20at\x20row\x20'+(_0x80ebe+0x2));}});});}async[a0_0x5626af(0x1de)](_0x5abe1c,_0x3c22c4,_0x1e68bd){const _0x3fc7b9=a0_0x5626af,_0x2de4c7={'YPQkv':function(_0x404163,_0x2ee1b2){return _0x404163===_0x2ee1b2;},'pAUbr':_0x3fc7b9(0x281),'PnGCG':_0x3fc7b9(0x266)};try{let {rows:_0x38e106,params:_0x54d7f1}=_0x1e68bd;const {requiredFields:_0x27805f,validations:_0x155e59,upsertKeys:_0x51092d,tableName:_0x13af82,primaryKey:_0x2f9bfd,fieldName:_0x1090c6,upsertStrategy:_0xd6b400,lookupFields:_0x4648e9}=_0x54d7f1;this['autoGenerateUpsertKeys'](_0x38e106,_0x51092d);let _0x534d99=[];if(_0x4648e9&&Object['keys'](_0x4648e9)[_0x3fc7b9(0x1f0)]>0x0){logger[_0x3fc7b9(0x259)]({'event':_0x3fc7b9(0x262),'jobId':_0x5abe1c,'lookupFieldCount':Object['keys'](_0x4648e9)[_0x3fc7b9(0x1f0)]},_0x3fc7b9(0x218));const _0x308bd4=await lookupResolver[_0x3fc7b9(0x1f6)](_0x38e106,_0x4648e9);_0x38e106=_0x308bd4[_0x3fc7b9(0x23b)],_0x534d99=_0x308bd4['errors'],_0x1e68bd[_0x3fc7b9(0x253)]=_0x38e106;}const _0xe8b75f=importValidator[_0x3fc7b9(0x1fd)](_0x38e106,_0x27805f||[],_0x155e59||{});_0x534d99['forEach'](_0x4a00da=>{const _0x580c05=_0x3fc7b9,_0x545296=_0xe8b75f[_0x580c05(0x20b)](_0x5b453d=>_0x5b453d[_0x580c05(0x1eb)]===_0x4a00da[_0x580c05(0x1eb)]);_0x545296?_0x545296[_0x580c05(0x1ff)]['push'](_0x4a00da['message']):_0xe8b75f['push']({'rowIndex':_0x4a00da[_0x580c05(0x1eb)],'rowData':_0x38e106[_0x4a00da['rowIndex']],'errors':[_0x4a00da['message']]});});const _0x200d7b=importValidator[_0x3fc7b9(0x21c)](_0x38e106,_0x51092d);_0x200d7b[_0x3fc7b9(0x271)](_0x184ddf=>{const _0x5f0d8b=_0x3fc7b9,_0x55edb0=_0xe8b75f['find'](_0x5e662c=>_0x5e662c['rowIndex']===_0x184ddf['rowIndex']),_0x17bb94=_0x51092d[_0x5f0d8b(0x1e0)](_0x14c4d1=>_0x14c4d1['toUpperCase']())['join'](',\x20'),_0xe6d87b='Duplicate\x20value\x20for\x20'+_0x17bb94;_0x55edb0?_0x55edb0['errors']['push'](_0xe6d87b):_0xe8b75f[_0x5f0d8b(0x226)]({'rowIndex':_0x184ddf['rowIndex'],'rowData':_0x38e106[_0x184ddf['rowIndex']],'errors':[_0xe6d87b]});}),await this['detectDatabaseDuplicates'](_0x38e106,_0x51092d,_0x13af82,_0x2f9bfd,_0xd6b400,_0xe8b75f),_0xe8b75f['forEach'](_0x429539=>{const _0x10c5af=_0x3fc7b9,_0x37d3d9=_0x38e106[_0x429539[_0x10c5af(0x1eb)]];_0x37d3d9&&(_0x37d3d9['_errors']=_0x429539[_0x10c5af(0x1ff)]);});let _0xb6ab2b=0x0,_0x2e2f04=0x0,_0x2825d1=0x0;_0x38e106['forEach'](_0x32c8e8=>{const _0x303ebc=_0x3fc7b9;if(_0x2de4c7[_0x303ebc(0x280)](_0x32c8e8['_action'],_0x2de4c7['pAUbr']))_0xb6ab2b++;else{if(_0x32c8e8['_action']===_0x303ebc(0x21a))_0x2e2f04++;else _0x2de4c7[_0x303ebc(0x280)](_0x32c8e8[_0x303ebc(0x247)],'SKIP')&&_0x2825d1++;}});const _0x24fe50={'job_id':_0x5abe1c,'upload_id':_0x3c22c4,'status':_0xe8b75f[_0x3fc7b9(0x1f0)]>0x0?_0x2de4c7[_0x3fc7b9(0x270)]:_0x3fc7b9(0x242),'progress':0x64,'created_at':_0x1e68bd[_0x3fc7b9(0x27b)],'completed_at':new Date()[_0x3fc7b9(0x255)](),'preview':{'total_rows':_0x38e106['length'],'insert_count':_0xb6ab2b,'update_count':_0x2e2f04,'skip_count':_0x2825d1,'error_count':_0xe8b75f['length'],'errors':_0xe8b75f,'data':_0x38e106,'sample_insert':_0x38e106[_0x3fc7b9(0x260)](_0x59b01a=>_0x59b01a['_action']===_0x3fc7b9(0x281))['slice'](0x0,0x5),'sample_update':_0x38e106['filter'](_0x100bd8=>_0x100bd8['_action']===_0x3fc7b9(0x21a))[_0x3fc7b9(0x236)](0x0,0x5),'sample_skip':_0x38e106[_0x3fc7b9(0x260)](_0x27571c=>_0x27571c['_action']==='SKIP')['slice'](0x0,0x5)},'params':_0x54d7f1};await redisHelper['setJob'](_0x3fc7b9(0x245)+_0x5abe1c,_0x24fe50,0xe10),_0x1e68bd['rows']=_0x38e106,await redisHelper[_0x3fc7b9(0x200)](_0x3fc7b9(0x24b)+_0x3c22c4,_0x1e68bd,0xe10),logger['info']({'event':_0x3fc7b9(0x202),'jobId':_0x5abe1c,'status':_0x24fe50[_0x3fc7b9(0x285)],'insertCount':_0xb6ab2b,'updateCount':_0x2e2f04,'skipCount':_0x2825d1,'errorCount':_0xe8b75f['length']},'Preview\x20job\x20completed');}catch(_0x2399ab){logError(_0x2399ab,{'event':'preview_job_failed','jobId':_0x5abe1c},'Preview\x20job\x20failed'),await redisHelper[_0x3fc7b9(0x200)]('job:'+_0x5abe1c,{'job_id':_0x5abe1c,'upload_id':_0x3c22c4,'status':_0x3fc7b9(0x234),'progress':0x0,'error':_0x2399ab['message'],'created_at':new Date()[_0x3fc7b9(0x255)](),'completed_at':new Date()[_0x3fc7b9(0x255)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x2e1aec,_0xf1a860,_0x1bcde4,_0x3144ae,_0x5b1782='update_existing',_0xdc29e3=[]){const _0x41526b=a0_0x5626af,_0x5bce8b={'PnfoQ':function(_0x1568c8,_0x45b06a){return _0x1568c8===_0x45b06a;},'vYUqW':'NULL','FweLu':function(_0x338c6e,_0xebf31){return _0x338c6e(_0xebf31);},'oCRro':_0x41526b(0x21a),'NwLyP':function(_0x5f5774,_0x4349bf){return _0x5f5774===_0x4349bf;},'qjqei':_0x41526b(0x24c),'zHMTd':function(_0x141f7b,_0x51731f){return _0x141f7b!==_0x51731f;},'TBQeX':'skip_existing','LtdQl':function(_0x280ce6,_0x3c7711){return _0x280ce6===_0x3c7711;},'dtfXh':function(_0x44634b,_0x3a0711){return _0x44634b===_0x3a0711;},'MHuuN':_0x41526b(0x281),'eRdfX':function(_0x4c58c8,_0x23325a){return _0x4c58c8===_0x23325a;},'bpOCD':'oracle'},_0x523d90=upsertBuilder['chunkRows'](_0x2e1aec,0x64);for(const _0x2b95cf of _0x523d90){const _0x5b2740=_0x2b95cf[_0x41526b(0x1e0)](_0xeb1ed=>_0xeb1ed[_0xf1a860[0x0]]),_0x42be45=_0x5b2740['map'](_0x351c8e=>{const _0x1ddf6c=_0x41526b;if(_0x5bce8b[_0x1ddf6c(0x248)](_0x351c8e,null)||_0x351c8e===undefined)return _0x5bce8b[_0x1ddf6c(0x21f)];return'\x27'+_0x5bce8b['FweLu'](String,_0x351c8e)[_0x1ddf6c(0x232)](/'/g,'\x27\x27')+'\x27';}),_0x531aff=_0x41526b(0x24f)+_0x3144ae+',\x20'+_0xf1a860['join'](',\x20')+_0x41526b(0x252)+_0x1bcde4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0xf1a860[0x0]+'\x20IN\x20('+_0x42be45['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x29d7cd=await executeQuery(_0x531aff);_0x5bce8b[_0x41526b(0x27a)](dbType,_0x5bce8b[_0x41526b(0x225)])&&_0x29d7cd&&_0x29d7cd['length']>0x0&&(_0x29d7cd=_0x29d7cd[_0x41526b(0x1e0)](_0x5720fc=>{const _0x507816=_0x41526b,_0x224034={};for(const [_0x2dc712,_0x4b29eb]of Object['entries'](_0x5720fc)){_0x224034[_0x2dc712[_0x507816(0x26d)]()]=_0x4b29eb;}return _0x224034;}));const _0x230b9f=new Map();_0x29d7cd['forEach'](_0x6573f5=>{const _0x4fab23=_0x6573f5[_0xf1a860[0x0]];_0x230b9f['set'](_0x4fab23,_0x6573f5);}),_0x2b95cf[_0x41526b(0x271)]((_0x23b921,_0x58e3b7)=>{const _0x4410c3=_0x41526b,_0x4b59be=_0x23b921[_0xf1a860[0x0]],_0x1f18ba=_0x230b9f[_0x4410c3(0x251)](_0x4b59be);if(_0x1f18ba){if(_0x5b1782===_0x4410c3(0x212))_0x23b921[_0x4410c3(0x247)]=_0x5bce8b[_0x4410c3(0x1e3)],_0x23b921[_0x4410c3(0x235)]=_0x1f18ba[_0x3144ae];else{if(_0x5bce8b['NwLyP'](_0x5b1782,_0x5bce8b[_0x4410c3(0x20f)])){_0x23b921[_0x4410c3(0x247)]=_0x4410c3(0x21e),_0x23b921['_errors']=_0x23b921[_0x4410c3(0x228)]||[],_0x23b921['_errors'][_0x4410c3(0x226)](_0x4410c3(0x279));const _0x37e762=_0x2e1aec[_0x4410c3(0x243)](_0x23b921);_0x5bce8b['zHMTd'](_0x37e762,-0x1)&&_0xdc29e3[_0x4410c3(0x226)]({'rowIndex':_0x37e762,'rowData':_0x23b921,'errors':[_0x4410c3(0x279)]});}else _0x5b1782===_0x5bce8b['TBQeX']&&(_0x23b921[_0x4410c3(0x247)]=_0x4410c3(0x21e));}}else{if(_0x5bce8b[_0x4410c3(0x22f)](_0x5b1782,_0x4410c3(0x212)))_0x23b921['_action']='INSERT';else(_0x5b1782===_0x4410c3(0x24c)||_0x5bce8b[_0x4410c3(0x278)](_0x5b1782,_0x4410c3(0x239)))&&(_0x23b921['_action']=_0x5bce8b['MHuuN']);}});}}async[a0_0x5626af(0x20c)](_0x3f9e24){const _0x585d52=a0_0x5626af,_0x22213e={'WeZmH':function(_0xed2796,_0x4174f4,_0x26b8ed,_0x1b781d){return _0xed2796(_0x4174f4,_0x26b8ed,_0x1b781d);},'qgkfa':_0x585d52(0x24e),'JBuYZ':_0x585d52(0x24a),'nJvbB':'Preview\x20job\x20not\x20found\x20or\x20expired','YeoMo':_0x585d52(0x1e4)},_0x1472c9=this[_0x585d52(0x26f)](),_0x3d3a5f=await redisHelper[_0x585d52(0x244)](_0x585d52(0x245)+_0x3f9e24);if(!_0x3d3a5f)throw new Error(_0x22213e['nJvbB']);if(_0x3d3a5f['status']!==_0x585d52(0x242))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x3d3a5f['status']);const _0x46343f={'job_id':_0x1472c9,'upload_id':_0x3d3a5f[_0x585d52(0x258)],'preview_job_id':_0x3f9e24,'status':'processing','progress':0x0,'created_at':new Date()[_0x585d52(0x255)](),'params':_0x3d3a5f[_0x585d52(0x265)]};return await redisHelper['setJob'](_0x585d52(0x245)+_0x1472c9,_0x46343f,0xe10),logger['info']({'event':_0x585d52(0x1f8),'jobId':_0x1472c9,'previewJobId':_0x3f9e24},_0x22213e[_0x585d52(0x1df)]),this['processCommitJob'](_0x1472c9,_0x3d3a5f)['catch'](_0x444556=>{const _0x29165e=_0x585d52;_0x22213e[_0x29165e(0x233)](logError,_0x444556,{'event':_0x22213e[_0x29165e(0x20a)],'jobId':_0x1472c9},_0x22213e['JBuYZ']);}),{'job_id':_0x1472c9,'status':_0x585d52(0x25e)};}async['processCommitJob'](_0x1a21e0,_0x3c638f){const _0x4dba26=a0_0x5626af,_0x3908c4={'XZSfC':'insert','aVPHe':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','freme':function(_0x477a9c,_0x37269b){return _0x477a9c>_0x37269b;},'zCaqU':'completed','Mmeyq':_0x4dba26(0x286),'DuiFK':'Commit\x20job\x20completed','zZsdb':_0x4dba26(0x274),'iDSyA':'failed'};try{const _0x5892bd=await redisHelper['getJob'](_0x4dba26(0x24b)+_0x3c638f[_0x4dba26(0x258)]);if(!_0x5892bd)throw new Error(_0x4dba26(0x284));const {rows:_0x4a2a0f,params:_0x57d004}=_0x5892bd,{tableName:_0x28d5cd,fieldName:_0x474dc7,primaryKey:_0x16ddef,upsertKeys:_0x3fc743,excludeFromImport:_0x2fe3be,lookupFields:_0x4efcad,columnFormats:_0x3008b8}=_0x57d004,_0x5d4312=_0x4efcad?Object['keys'](_0x4efcad):[],_0x530786=new Set([..._0x2fe3be||[],..._0x5d4312]);let _0x395d03=_0x474dc7;_0x530786['size']>0x0&&(_0x395d03=_0x474dc7[_0x4dba26(0x260)](_0x16edf4=>!_0x530786[_0x4dba26(0x211)](_0x16edf4)),logger[_0x4dba26(0x1f5)]({'event':'import_fields_filtered','originalCount':_0x474dc7['length'],'filteredCount':_0x395d03['length'],'excludedFields':Array[_0x4dba26(0x249)](_0x530786),'lookupSourceFields':_0x5d4312},_0x3908c4['aVPHe']));const _0x16432a=_0x4a2a0f[_0x4dba26(0x260)](_0x1612e2=>_0x1612e2['_action']===_0x4dba26(0x281)),_0x56daae=_0x4a2a0f['filter'](_0x5ed927=>_0x5ed927[_0x4dba26(0x247)]===_0x4dba26(0x21a));let _0x502a72=0x0,_0x12de83=0x0;const _0x2d6858=[];if(_0x16432a[_0x4dba26(0x1f0)]>0x0){const _0x22f5ae=upsertBuilder[_0x4dba26(0x22b)](_0x16432a,0x64);for(const _0x16793f of _0x22f5ae){const {query:_0x187f66}=upsertBuilder['buildBatchInsert'](_0x16793f,_0x28d5cd,_0x395d03,_0x3008b8||{});_0x187f66&&_0x2d6858['push']({'sql':_0x187f66,'count':_0x16793f['length'],'type':'insert'});}}if(_0x3908c4['freme'](_0x56daae['length'],0x0)){const _0x5a9aed=upsertBuilder['chunkRows'](_0x56daae,0x64);for(const _0x2af113 of _0x5a9aed){const {query:_0x440080}=upsertBuilder[_0x4dba26(0x219)](_0x2af113,_0x28d5cd,_0x395d03,_0x16ddef,_0x3fc743,_0x3008b8||{});_0x440080&&_0x2d6858[_0x4dba26(0x226)]({'sql':_0x440080,'count':_0x2af113[_0x4dba26(0x1f0)],'type':_0x4dba26(0x257)});}}_0x2d6858['length']>0x0&&await executeTransaction(_0x2d6858['map'](_0x58fb72=>({'sql':_0x58fb72['sql'],'params':[]})));_0x2d6858['forEach'](_0x324a93=>{const _0x38ca7b=_0x4dba26;if(_0x324a93[_0x38ca7b(0x1ef)]===_0x3908c4['XZSfC'])_0x502a72+=_0x324a93[_0x38ca7b(0x205)];else _0x12de83+=_0x324a93[_0x38ca7b(0x205)];});const _0x503543={'job_id':_0x1a21e0,'upload_id':_0x3c638f['upload_id'],'preview_job_id':_0x3c638f['job_id'],'status':_0x3908c4['zCaqU'],'progress':0x64,'created_at':_0x3c638f['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x4a2a0f['length'],'inserted_rows':_0x502a72,'updated_rows':_0x12de83,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x57d004};await redisHelper['setJob'](_0x4dba26(0x245)+_0x1a21e0,_0x503543,0xe10),logger[_0x4dba26(0x259)]({'event':_0x3908c4['Mmeyq'],'jobId':_0x1a21e0,'insertedCount':_0x502a72,'updatedCount':_0x12de83},_0x3908c4[_0x4dba26(0x1e9)]);}catch(_0xc75e58){logError(_0xc75e58,{'event':_0x4dba26(0x1e7),'jobId':_0x1a21e0},_0x3908c4[_0x4dba26(0x1ec)]),await redisHelper[_0x4dba26(0x200)](_0x4dba26(0x245)+_0x1a21e0,{'job_id':_0x1a21e0,'upload_id':_0x3c638f['upload_id'],'preview_job_id':_0x3c638f[_0x4dba26(0x241)],'status':_0x3908c4[_0x4dba26(0x1fc)],'progress':0x0,'error':_0xc75e58['message'],'created_at':_0x3c638f['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x4dba26(0x255)]()},0xe10);}}async[a0_0x5626af(0x27c)](_0x517315){const _0x995f0c=a0_0x5626af,_0x10a24e=await redisHelper['getJob'](_0x995f0c(0x245)+_0x517315);if(!_0x10a24e)return{'success':![],'error':_0x995f0c(0x208)};return{'success':!![],'data':_0x10a24e};}}module[a0_0x5626af(0x1f2)]=new ImportService();function a0_0x2b57(){const _0x171300=['DLLvCvC','y2f0y2G','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','EuLYC1e','DMfSAwq','C2L6zq','yNbpq0q','ChvZAa','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','x2vYCM9YCW','Bwf0y2G','zMLSzv9JBgvHBNvWx2vYCM9Y','y2H1BMTsB3DZ','mtHNANzwz3G','BNvTyMvY','AhLUywS','thrKuwW','zw52','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','CMvWBgfJzq','v2vABuG','zMfPBgvK','x2v4Axn0Aw5Nswq','C2XPy2u','y3jLyxrLuhjLDMLLD0PVyG','DMfSAwrHDgLUzW','C2TPCf9LEgLZDgLUzW','uNHtugq','ChjVy2vZC2vKuM93CW','AfDQzwq','Dgv4Da','rMfPBgvKihrVignSzwfUDxaGzMLSzq','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','u01gtuy','AM9Ix2LK','ChjLDMLLD19VAW','Aw5KzxHpzG','z2v0sM9I','AM9IoG','z2v0rgf0zq','x2fJDgLVBG','ug5MB1e','zNjVBq','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','DxbSB2fKoG','Aw5Zzxj0x29UBhK','A2v5CW','y29TBwL0x3bYB2nLC3nFzxjYB3i','cIaGicaGicaGu0vmrunuia','zgf0zq','z2v0','cIaGicaGicaGrLjptsa','CM93CW','A29zA2G','Dg9ju09tDhjPBMC','mZiWmgHbquPxza','DxbKyxrL','DxbSB2fKx2LK','Aw5MBW','q2LIzuO','mtuWndy1nMnZzLzWyG','yNvPBgrmywjLBfrVrMLLBgrnyxa','zxHLy3v0zvf1zxj5','ChjVy2vZC2LUzW','zgvMyxvSDa','zMLSDgvY','C2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Cg9ZDgDYzxnXBa','Cfn2qKm','CgfYyw1Z','ChjLDMLLD19LCNjVCG','lI4VlI4Vy29Yzs91DgLSCY9KyG','ndK3oduYmhL1r1jiAG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','DgfYz2v0rMLLBgq','mZiXweDcALrh','zxHLy3v0zvrYyw5Zywn0Aw9U','Dg9mB3DLCKnHC2u','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','z2vUzxjHDgvjza','ug5hq0C','zM9YrwfJAa','mJGZogXgqxvUDW','Cgf0Aa','q29TBwL0igPVyIbMywLSzwq','nde4nfjZAxjfBq','B3jPz2LUywXUyw1L','zhzvsxa','zhrMwgG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zvjKzLG','y3jLyxrLzf9HDa','z2v0sM9Iu3rHDhvZ','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','DgvZDa','vvbmt0fex0rjuG','wvbrA3y','su5trvju','y29SDw1UrM9YBwf0CW','z2v0vgLTzq','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','C3rHDhvZ','y29TBwL0x2PVyL9JB21WBgv0zwq','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','ChjVy2vZC1bYzxzPzxDkB2i','wwvVtw8','BwfW','zMLLBgrmywjLBhm','yxbWBhLdB2X1Bw5gB3jTyxrZ','B0nsCM8','q29TBwL0igPVyIbJCMvHDgvK','CKzOvMG','Dw5SAw5R','y29TBwL0x2PVyL9MywLSzwq','EgnQB0G','rhvPrKS','v250vxq','CM93sw5KzxG','ELPZzgi','nJK4nJu0nMnRCKPMtG','C3rYAw5N','DhLWzq','BgvUz3rO','lI9LEgnLBc1WyxjZzxi','zxHWB3j0CW','ve5kwM8','ruzgBNm','zgvIDwC','ChjVy2vZC0XVB2T1CezPzwXKCW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','y29TBwL0x2PVyL9JCMvHDgvK','AM9PBG','EKL4rvK','C3vIC3rYAw5N','AurtEue','yMf0y2HwywXPzgf0zvjVD3m','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','zxjYB3jZ','C2v0sM9I','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ChjLDMLLD19QB2jFy29TCgXLDgvK','CLPUCfq','x3vWBg9HzerPCG','y291BNq','DxbSB2fKrMLSzq','ndC4mZK4nNfiquvOzq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','mZG3mJK5s2PMCw1A','CwDRzMe','zMLUza','y3jLyxrLq29TBwL0sM9I','x2DLBMvYyxrLzf91DwLK','zMvmtMG','CwPXzwK','DxbSB2fKrgLY','AgfZ','DxbKyxrLx2v4Axn0Aw5N','thvhzM0','B3jHy2XL','D3vfwM8','lI91ChnLCNqTyNvPBgrLCG','BxLZCwW','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','yNvPBgrcyxrJAfvWzgf0zq','vvbeqvrf','ChjLDMLLD19QB2jFy3jLyxrLza','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','ntmWBffXqvnt','u0Tjua'];a0_0x2b57=function(){return _0x171300;};return a0_0x2b57();}
|
|
1
|
+
const a0_0x369328=a0_0x45bd;(function(_0xb101b,_0x30073e){const _0x1b9526=a0_0x45bd,_0x530c96=_0xb101b();while(!![]){try{const _0x112635=parseInt(_0x1b9526(0x13f))/0x1*(-parseInt(_0x1b9526(0x10c))/0x2)+-parseInt(_0x1b9526(0x117))/0x3*(-parseInt(_0x1b9526(0x11b))/0x4)+parseInt(_0x1b9526(0x175))/0x5+parseInt(_0x1b9526(0x159))/0x6+parseInt(_0x1b9526(0xf3))/0x7+-parseInt(_0x1b9526(0x152))/0x8*(-parseInt(_0x1b9526(0x189))/0x9)+parseInt(_0x1b9526(0x12b))/0xa*(-parseInt(_0x1b9526(0x17c))/0xb);if(_0x112635===_0x30073e)break;else _0x530c96['push'](_0x530c96['shift']());}catch(_0x2e0e4e){_0x530c96['push'](_0x530c96['shift']());}}}(a0_0x3d14,0x8ba8e));const {v7:uuidv7}=require('uuid'),path=require(a0_0x369328(0x150)),fs=require('fs')['promises'],redisHelper=require(a0_0x369328(0x145)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x369328(0x15a)]['DB_TYPE']||'postgresql')[a0_0x369328(0x16c)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x369328(0x151)),executeQuery=(_0x4833b6,_0x317482)=>oracleDb[a0_0x369328(0x118)](_0x4833b6,_0x317482),executeTransaction=_0x55c4ea=>oracleDb['executeTransaction'](_0x55c4ea);else{if(dbType===a0_0x369328(0x103)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x388739,_0x42cc47)=>mysqlDb[a0_0x369328(0x118)](_0x388739,_0x42cc47),executeTransaction=_0x16da68=>mysqlDb['executeTransaction'](_0x16da68);}else{const db=require('../../core/utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x369328(0x148)];}}const excelParser=require('./excel-parser'),importValidator=require('./import-validator'),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x369328(0x171));function a0_0x45bd(_0x38397c,_0x44795e){_0x38397c=_0x38397c-0xf3;const _0x3d1434=a0_0x3d14();let _0x45bdb5=_0x3d1434[_0x38397c];if(a0_0x45bd['xLZunO']===undefined){var _0x20fdda=function(_0x2c89f1){const _0x1a109f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a3cb1='',_0x1ece5a='';for(let _0x3d862f=0x0,_0x33a4bb,_0x47698a,_0x2c6842=0x0;_0x47698a=_0x2c89f1['charAt'](_0x2c6842++);~_0x47698a&&(_0x33a4bb=_0x3d862f%0x4?_0x33a4bb*0x40+_0x47698a:_0x47698a,_0x3d862f++%0x4)?_0x3a3cb1+=String['fromCharCode'](0xff&_0x33a4bb>>(-0x2*_0x3d862f&0x6)):0x0){_0x47698a=_0x1a109f['indexOf'](_0x47698a);}for(let _0x20ed00=0x0,_0x3bc4be=_0x3a3cb1['length'];_0x20ed00<_0x3bc4be;_0x20ed00++){_0x1ece5a+='%'+('00'+_0x3a3cb1['charCodeAt'](_0x20ed00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece5a);};a0_0x45bd['evBgVT']=_0x20fdda,a0_0x45bd['sEYvtX']={},a0_0x45bd['xLZunO']=!![];}const _0x303d13=_0x3d1434[0x0],_0x4196dc=_0x38397c+_0x303d13,_0x359cd9=a0_0x45bd['sEYvtX'][_0x4196dc];return!_0x359cd9?(_0x45bdb5=a0_0x45bd['evBgVT'](_0x45bdb5),a0_0x45bd['sEYvtX'][_0x4196dc]=_0x45bdb5):_0x45bdb5=_0x359cd9,_0x45bdb5;}function a0_0x3d14(){const _0x861f50=['C3fS','BM93','ChjLDMLLD19QB2jFy3jLyxrLza','ChjVy2vZC1bYzxzPzxDkB2i','mta2otjczLrctum','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','cIaGicaGicaGrLjptsa','C2XPy2u','B3rRug4','BwfW','DxvPzf9HDxrVx2DLBMvYyxrLza','t3ncq08','y29SDw1UrM9YBwf0CW','ChvZAa','Bvv3zNC','t0nsy2u','Bwf0y2G','mtHkwuDrqvq','tNjVrNa','vgfLs2q','qvHItKC','BwvZC2fNzq','Bg9VA3vWrMLLBgrZ','ndmXmZGZngfrseHACa','CgfKu3rHCNq','BNvTyMvY','CM93sw5KzxG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','yLvPwK0','z2v0rgf0zq','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ieLoicG','B3jHy2XL','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','AM9IoG','r1zQrei','x2fJDgLVBG','z2v0','BxLZCwW','yxbWBhLdB2X1Bw5gB3jTyxrZ','y2f0y2G','zxz0qM0','q29TBwL0igPVyIbJCMvHDgvK','x2vYCM9YCW','sMX6yK8','DgvZDa','BgvUz3rO','mta2mJC5nKngr2vcDa','zw50CMLLCW','BwTbrhC','y29TBwL0x2PVyL9JB21WBgv0zwq','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','u0Tjua','ChjLDMLLD19VAW','AM9Ix2LK','Aw5JBhvKzxm','m2PnEwvrzG','zxHLy3v0zvf1zxj5','DMfSAwq','tuHAz2u','mti3mdG4ogXxANrvDG','ywHRCg8','y3jLyxrLzf9HDa','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','Aw5Zzxj0x29UBhK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','su5trvju','DxzwCgm','AM9PBG','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','x2DLBMvYyxrLzf91DwLK','Dw5SAw5R','z2v0sM9I','vvbeqvrf','ChjVy2vZC0nVBw1PDePVyG','DhjPBq','mJe3mJbKuMPls1y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','yNvPBgrcyxrJAfvWzgf0zq','B2Pszfq','DxbSB2fKoG','ChjVy2vZC0XVB2T1CezPzwXKCW','C3rHDhvZ','qNvPqxO','uNzrs1G','qLfcDhy','zMXVB3i','zgftv0W','x3vWBg9HzerPCG','DMfSDwvZ','zhnorei','q29TBwL0igPVyIbJB21WBgv0zwq','zM9YrwfJAa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','mLfpvvzsEG','C2v0sM9I','CM93CW','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','DMvSu1G','A2v5CW','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','ChjLDMLLD19QB2jFzMfPBgvK','BgPdD3m','zxHLy3v0zvrYyw5Zywn0Aw9U','y291BNq','C2TPCf9LEgLZDgLUzW','yNP1DNu','DMfSAwrHDgLUzW','CMvWBgfJzq','zwj5BKS','DhLWzq','Cgf0Aa','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','mZC3nJC3nNnSrNLtvq','CMfUzg9T','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Dg9vChbLCKnHC2u','Aw5MBW','cIaGicaGicaGu0vmrunuia','rhvWBgLJyxrLihzHBhvLigzVCIa','ntKXmtKYnKjuuejuyG','zw52','zMfPBgvK','B3jPz2LUywXUyw1L','C2v0','CgfYyw1Z','DNHXr1O','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zg1Sz2y','B0DlAK8','y29TCgXLDgvK','y3jLyxrLuhjLDMLLD0PVyG','DxbKyxrLx2v4Axn0Aw5N','yxPvwha','uhjLDMLLDYbQB2iGy3jLyxrLza','AMjUEMO','C3vIC3rYAw5N','zMLSDgvY','Dg9mB3DLCKnHC2u','z2v0sM9Iu3rHDhvZ','z2v0tw9UDgG','zgvIDwC','Aw5Zzxj0','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','zMLUza','tLvmta','zenksLu','ndqXmJyZnwPvAMzOEG','C2L6zq','qvbSDu4'];a0_0x3d14=function(){return _0x861f50;};return a0_0x3d14();}class ImportService{constructor(){const _0x10a56c=a0_0x369328;this[_0x10a56c(0x138)]=null;}get['uploadDir'](){const _0x2fb5e1=a0_0x369328;if(!this[_0x2fb5e1(0x138)]){const _0x38a678=process[_0x2fb5e1(0x15a)][_0x2fb5e1(0x12c)]||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x2fb5e1(0x123)](__dirname,'../../temp/uploads/'+_0x38a678);}return this[_0x2fb5e1(0x138)];}['generateId'](){const _0x5798c8=a0_0x369328,_0x27d40a={'iXKFI':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','dmlgf':function(_0x2d2111){return _0x2d2111();}},_0x45e826=_0x27d40a['iXKFI'],_0x4c67b3=Date[_0x5798c8(0x179)]()['toString'](0x24),_0x8cc72=_0x27d40a[_0x5798c8(0x162)](uuidv7)[_0x5798c8(0x14d)](/-/g,'')[_0x5798c8(0x16a)](0x0,0xc-_0x4c67b3[_0x5798c8(0x10b)]),_0x2b22fc=(_0x4c67b3+_0x8cc72)[_0x5798c8(0x16a)](0x0,0xc);let _0x53b0bb='';for(let _0x7b59c4=0x0;_0x7b59c4<0xc;_0x7b59c4++){_0x2b22fc[_0x7b59c4]?_0x53b0bb+=_0x2b22fc[_0x7b59c4]:_0x53b0bb+=_0x45e826['charAt'](Math[_0x5798c8(0x136)](Math[_0x5798c8(0x153)]()*_0x45e826['length']));}return _0x53b0bb;}['buildLabelToFieldMap'](_0x18e26c){const _0x7ac352=a0_0x369328,_0x292285={'RvQKX':'$1_$2','ljCws':'label_to_field_map_built'},_0x49c199=new Map();if(!_0x18e26c)return _0x49c199;return Object['entries'](_0x18e26c)['forEach'](([_0x208e5f,_0x1feefb])=>{const _0x211740=a0_0x45bd,_0x520338=String(_0x1feefb)[_0x211740(0x12a)]()[_0x211740(0x14d)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x292285['RvQKX'])[_0x211740(0x14d)](/([A-Z]+)([A-Z][a-z])/g,_0x292285[_0x211740(0x134)])['toLowerCase']();_0x49c199[_0x211740(0x15d)](_0x520338,_0x208e5f);}),logger['debug']({'event':_0x292285[_0x7ac352(0x147)],'mappingCount':_0x49c199[_0x7ac352(0x176)]},_0x7ac352(0x11e)),_0x49c199;}[a0_0x369328(0x104)](_0x3a98d9,_0x166b28){const _0x35a797=a0_0x369328,_0x27d994={'SfSkr':function(_0x2347f7,_0x22df6b){return _0x2347f7===_0x22df6b;},'OCRce':function(_0x2cdfe8,_0x73ef8){return _0x2cdfe8===_0x73ef8;},'DslWF':function(_0x4af2ba,_0x576a23){return _0x4af2ba===_0x576a23;}};if(!_0x166b28||_0x27d994['DslWF'](Object[_0x35a797(0x144)](_0x166b28)['length'],0x0))return _0x3a98d9;return _0x3a98d9[_0x35a797(0x181)](_0x1b89c8=>{const _0x1a501c=_0x35a797,_0x5e2944={..._0x1b89c8};for(const [_0x3c64d4,_0x2fa278]of Object[_0x1a501c(0x10d)](_0x166b28)){const _0x494051=_0x5e2944[_0x3c64d4];if(_0x27d994['SfSkr'](_0x494051,null)||_0x494051===undefined||_0x27d994[_0x1a501c(0x187)](_0x494051,'')){_0x5e2944[_0x3c64d4]=null;continue;}switch(_0x2fa278['type']){case'date':_0x5e2944[_0x3c64d4]=this['formatDateForDatabase'](_0x494051);break;case _0x1a501c(0xf5):_0x5e2944[_0x3c64d4]=this[_0x1a501c(0x161)](_0x494051);break;case'text':_0x5e2944[_0x3c64d4]=String(_0x494051);break;default:break;}}return _0x5e2944;});}[a0_0x369328(0x13d)](_0x329f6a){const _0x5ce953=a0_0x369328,_0x1a824f={'NVAFd':function(_0x30c204,_0x5b6c0a){return _0x30c204===_0x5b6c0a;},'FMbSn':'string','YpcIZ':function(_0x3ca2f1,_0x4e14fb){return _0x3ca2f1 instanceof _0x4e14fb;},'NhsZy':function(_0x34e086,_0x56202d){return _0x34e086(_0x56202d);},'jbnzj':function(_0x2a15d5,_0x547730){return _0x2a15d5===_0x547730;},'JlzbO':function(_0x20ec1a,_0xb5d7ed){return _0x20ec1a(_0xb5d7ed);},'NroFp':function(_0x4e3838,_0x41c054){return _0x4e3838(_0x41c054);}};if(_0x1a824f['NVAFd'](_0x329f6a,null)||_0x329f6a===undefined||_0x329f6a==='')return null;if(_0x1a824f['NVAFd'](typeof _0x329f6a,_0x1a824f['FMbSn'])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x329f6a))return _0x329f6a;if(_0x1a824f['YpcIZ'](_0x329f6a,Date)){if(isNaN(_0x329f6a['getTime']()))return null;const _0x111aca=_0x329f6a['getFullYear'](),_0x3dbd3b=String(_0x329f6a[_0x5ce953(0x16e)]()+0x1)[_0x5ce953(0xf4)](0x2,'0'),_0x11ade0=_0x1a824f['NhsZy'](String,_0x329f6a[_0x5ce953(0xf9)]())['padStart'](0x2,'0');return _0x111aca+'-'+_0x3dbd3b+'-'+_0x11ade0;}if(_0x1a824f[_0x5ce953(0x169)](typeof _0x329f6a,'string')){const _0x21b545=_0x329f6a['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x21b545){const _0x3e1452=_0x1a824f['NhsZy'](String,_0x21b545[0x1])[_0x5ce953(0xf4)](0x2,'0'),_0x57ed4d=_0x1a824f[_0x5ce953(0x109)](String,_0x21b545[0x2])['padStart'](0x2,'0'),_0x240a4a=_0x21b545[0x3];return _0x240a4a+'-'+_0x57ed4d+'-'+_0x3e1452;}const _0x5368c0=_0x329f6a[_0x5ce953(0x188)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5368c0){const _0x48681f=_0x5368c0[0x1],_0x2e358b=_0x1a824f[_0x5ce953(0x18a)](String,_0x5368c0[0x2])['padStart'](0x2,'0'),_0x48f273=_0x1a824f['NroFp'](String,_0x5368c0[0x3])['padStart'](0x2,'0');return _0x48681f+'-'+_0x2e358b+'-'+_0x48f273;}}return _0x329f6a;}[a0_0x369328(0x161)](_0x185584){const _0x53262d=a0_0x369328,_0x1ee5bf={'velSX':function(_0x88f4b7,_0x19bad2){return _0x88f4b7===_0x19bad2;},'APluN':function(_0x2174db,_0x54a570){return _0x2174db(_0x54a570);}};if(_0x1ee5bf[_0x53262d(0x143)](_0x185584,null)||_0x185584===undefined||_0x185584==='')return null;if(typeof _0x185584===_0x53262d(0xf5))return isNaN(_0x185584)?null:_0x185584;if(typeof _0x185584==='string'){let _0x489a17=_0x185584['trim']();const _0x5ad633=/,\d{1,2}$/['test'](_0x489a17)&&!/,\d{3}/[_0x53262d(0x10a)](_0x489a17);_0x5ad633?_0x489a17=_0x489a17['replace'](/\./g,'')[_0x53262d(0x14d)](',','.'):_0x489a17=_0x489a17[_0x53262d(0x14d)](/,/g,'');const _0x44d435=_0x1ee5bf[_0x53262d(0x177)](parseFloat,_0x489a17);return isNaN(_0x44d435)?null:_0x44d435;}return null;}async['uploadFile'](_0x53f8fd,_0x24fe01){const _0x17a6d2=a0_0x369328,_0x5bfc11={'oQuUX':function(_0x998881,_0x45fede){return _0x998881||_0x45fede;},'SaCrT':function(_0x2aa015,_0x18aa33){return _0x2aa015>_0x18aa33;},'QjXGJ':_0x17a6d2(0xfa),'mkADw':'Failed\x20to\x20cleanup\x20file'},_0x5eeb47=this['generateId']();try{let {headers:_0x4e4d27,rows:_0x25a596,totalRows:_0x5bd3c4}=await excelParser['parseExcelFile'](_0x53f8fd[_0x17a6d2(0x150)]);const _0x4fe69b=this['buildLabelToFieldMap'](_0x24fe01['fieldLabels']),_0xdec594=_0x4e4d27['map'](_0x975741=>{const _0x1f8f15=_0x17a6d2,_0x821258=_0x4fe69b[_0x1f8f15(0x102)](_0x975741);return _0x5bfc11['oQuUX'](_0x821258,_0x975741);});_0x25a596=_0x25a596[_0x17a6d2(0x181)](_0xe64683=>{const _0x57a49d={};return _0x4e4d27['forEach']((_0x31b022,_0x171f0d)=>{const _0x3cf4af=_0xdec594[_0x171f0d];_0x57a49d[_0x3cf4af]=_0xe64683[_0x31b022];}),_0x57a49d;}),_0x4e4d27=_0xdec594,logger['debug']({'event':'headers_mapped','original':_0x4e4d27['length'],'mapped':_0xdec594[_0x17a6d2(0x16b)]((_0x57e16b,_0x1588fc)=>_0x57e16b!==_0x4e4d27[_0x1588fc])[_0x17a6d2(0x10b)]},_0x17a6d2(0x112));_0x24fe01[_0x17a6d2(0x184)]&&_0x5bfc11['SaCrT'](Object['keys'](_0x24fe01[_0x17a6d2(0x184)])['length'],0x0)&&(_0x25a596=this[_0x17a6d2(0x104)](_0x25a596,_0x24fe01[_0x17a6d2(0x184)]),logger[_0x17a6d2(0x16f)]({'event':'column_formats_applied','formatCount':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])['length'],'formats':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])},_0x17a6d2(0x120)));const _0x1563b4=_0x24fe01[_0x17a6d2(0x18e)]?Object[_0x17a6d2(0x139)](_0x24fe01['lookupFields'])['map'](_0x5dd830=>_0x5dd830['targetField']):[],_0xef23fc=_0x24fe01['fieldName'][_0x17a6d2(0x16b)](_0x4c8d6b=>!_0x1563b4[_0x17a6d2(0x116)](_0x4c8d6b)),_0x38cec6=excelParser[_0x17a6d2(0xf7)](_0x4e4d27,_0xef23fc);if(!_0x38cec6[_0x17a6d2(0x119)]){await fs[_0x17a6d2(0x126)](_0x53f8fd['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x38cec6['missingFields']['join'](',\x20'));}const _0x269a76={'upload_id':_0x5eeb47,'filename':_0x53f8fd['originalname'],'total_rows':_0x5bd3c4,'headers':_0x4e4d27,'rows':_0x25a596,'params':_0x24fe01,'created_at':new Date()['toISOString']()};return await redisHelper[_0x17a6d2(0x140)]('upload:'+_0x5eeb47,_0x269a76,0xe10),await fs['unlink'](_0x53f8fd[_0x17a6d2(0x150)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x5eeb47,'filename':_0x53f8fd[_0x17a6d2(0x15c)],'totalRows':_0x5bd3c4},_0x5bfc11['QjXGJ']),{'upload_id':_0x5eeb47,'total_rows':_0x5bd3c4,'preview':_0x25a596['slice'](0x0,0xa)};}catch(_0x318f34){try{await fs[_0x17a6d2(0x126)](_0x53f8fd[_0x17a6d2(0x150)]);}catch(_0x4fc547){logError(_0x4fc547,{'event':'file_cleanup_error'},_0x5bfc11[_0x17a6d2(0x10e)]);}throw _0x318f34;}}async[a0_0x369328(0x165)](_0x4d0079){const _0x503b38=a0_0x369328,_0x3f7347={'xIOBO':function(_0x16bef5,_0x5388f5,_0x3380ce,_0x30d42c){return _0x16bef5(_0x5388f5,_0x3380ce,_0x30d42c);},'azUXp':'Preview\x20processing\x20failed','GVjDB':_0x503b38(0x154),'BQBtv':_0x503b38(0x14c),'TaeKd':_0x503b38(0x168)},_0x2b3845=this['generateId'](),_0x3e0295=await redisHelper['getJob']('upload:'+_0x4d0079);if(!_0x3e0295)throw new Error(_0x3f7347[_0x503b38(0x100)]);const _0xaf6333={'job_id':_0x2b3845,'upload_id':_0x4d0079,'status':_0x3f7347[_0x503b38(0x135)],'progress':0x0,'created_at':new Date()[_0x503b38(0x111)](),'params':_0x3e0295[_0x503b38(0x15e)]};return await redisHelper['setJob']('job:'+_0x2b3845,_0xaf6333,0xe10),logger[_0x503b38(0x156)]({'event':_0x503b38(0x17a),'jobId':_0x2b3845,'uploadId':_0x4d0079},_0x3f7347[_0x503b38(0x18b)]),this['processPreviewJob'](_0x2b3845,_0x4d0079,_0x3e0295)[_0x503b38(0x105)](_0x2944fa=>{const _0x5007d1=_0x503b38;_0x3f7347['xIOBO'](logError,_0x2944fa,{'event':'preview_process_error','jobId':_0x2b3845},_0x3f7347[_0x5007d1(0x167)]);}),{'job_id':_0x2b3845,'status':_0x3f7347[_0x503b38(0x135)]};}[a0_0x369328(0x17d)](_0x27168d,_0x492c04){const _0xb9a9aa={'amguG':function(_0x36d672,_0x129643){return _0x36d672===_0x129643;},'UdjkZ':function(_0x5a88bd,_0xb73479){return _0x5a88bd+_0xb73479;}};_0x27168d['forEach']((_0x2abab6,_0x2d8c3c)=>{const _0x51efd7=a0_0x45bd,_0x3bc6c8={'ahkpo':function(_0x30d5e6,_0x5f0a43){return _0xb9a9aa['amguG'](_0x30d5e6,_0x5f0a43);},'iJWEE':function(_0x23d21c,_0x5d4560){return _0x23d21c(_0x5d4560);},'vxqGZ':function(_0x1fd51e,_0x56db18){return _0xb9a9aa['UdjkZ'](_0x1fd51e,_0x56db18);}};_0x492c04[_0x51efd7(0x13c)](_0x1c39d3=>{const _0x23866f=_0x51efd7,_0x178fd2=_0x2abab6[_0x1c39d3];if(_0x3bc6c8[_0x23866f(0x11c)](_0x178fd2,null)||_0x3bc6c8['ahkpo'](_0x178fd2,undefined)||_0x178fd2===''||_0x3bc6c8['iJWEE'](String,_0x178fd2)[_0x23866f(0x12a)]()==='-'){const _0x19c712=uuidv7();_0x2abab6[_0x1c39d3]=_0x19c712,_0x2abab6[_0x23866f(0x125)]=_0x2abab6[_0x23866f(0x125)]||{},_0x2abab6['_generated_uuid'][_0x1c39d3]=_0x19c712,logger['debug']({'event':_0x23866f(0x182),'rowIndex':_0x2d8c3c,'field':_0x1c39d3,'uuid':_0x19c712},_0x23866f(0x124)+_0x1c39d3+'\x20at\x20row\x20'+_0x3bc6c8[_0x23866f(0x15f)](_0x2d8c3c,0x2));}});});}async[a0_0x369328(0x17b)](_0x17295a,_0x2d5223,_0x5cae36){const _0x219796=a0_0x369328,_0x39ee06={'aDRgL':'INSERT','KoDbJ':'UPDATE','FEtzB':function(_0x35cf49,_0x5e9ac0){return _0x35cf49>_0x5e9ac0;},'dePzh':_0x219796(0xfd),'OsBCO':'Processing\x20lookup\x20fields','bUiZM':_0x219796(0x114),'RuqZB':'preview_job_completed','BuiAz':function(_0x4fb88c,_0x1ca892,_0x358cc2,_0x24ad10){return _0x4fb88c(_0x1ca892,_0x358cc2,_0x24ad10);},'ojRdT':_0x219796(0x146)};try{let {rows:_0x15768a,params:_0x33d6fe}=_0x5cae36;const {requiredFields:_0x2260ae,validations:_0x23847,upsertKeys:_0x3aa0f7,tableName:_0x116b9d,primaryKey:_0x3ae343,fieldName:_0x1c5e2d,upsertStrategy:_0x40cc20,lookupFields:_0xe889ed}=_0x33d6fe;this['autoGenerateUpsertKeys'](_0x15768a,_0x3aa0f7);let _0x5c8e0d=[];if(_0xe889ed&&_0x39ee06['FEtzB'](Object['keys'](_0xe889ed)[_0x219796(0x10b)],0x0)){logger[_0x219796(0x156)]({'event':_0x39ee06['dePzh'],'jobId':_0x17295a,'lookupFieldCount':Object[_0x219796(0x144)](_0xe889ed)['length']},_0x39ee06[_0x219796(0x183)]);const _0x361eab=await lookupResolver[_0x219796(0x131)](_0x15768a,_0xe889ed);_0x15768a=_0x361eab['processedRows'],_0x5c8e0d=_0x361eab['errors'],_0x5cae36[_0x219796(0x141)]=_0x15768a;}const _0x4ca295=importValidator['batchValidateRows'](_0x15768a,_0x2260ae||[],_0x23847||{});_0x5c8e0d[_0x219796(0x13c)](_0x2dc5ee=>{const _0x2ff67d=_0x219796,_0x212481=_0x4ca295['find'](_0x3017a3=>_0x3017a3[_0x2ff67d(0xf6)]===_0x2dc5ee[_0x2ff67d(0xf6)]);_0x212481?_0x212481['errors']['push'](_0x2dc5ee['message']):_0x4ca295[_0x2ff67d(0x185)]({'rowIndex':_0x2dc5ee[_0x2ff67d(0xf6)],'rowData':_0x15768a[_0x2dc5ee['rowIndex']],'errors':[_0x2dc5ee[_0x2ff67d(0x18d)]]});});const _0x32af6e=importValidator['detectDuplicatesInFile'](_0x15768a,_0x3aa0f7);_0x32af6e['forEach'](_0x414b29=>{const _0x26b3be=_0x219796,_0x557b71=_0x4ca295[_0x26b3be(0x172)](_0xb7f18a=>_0xb7f18a[_0x26b3be(0xf6)]===_0x414b29['rowIndex']),_0x4196b6=_0x3aa0f7['map'](_0xe17048=>_0xe17048[_0x26b3be(0x155)]())['join'](',\x20'),_0x5dfd74=_0x26b3be(0x158)+_0x4196b6;_0x557b71?_0x557b71['errors']['push'](_0x5dfd74):_0x4ca295['push']({'rowIndex':_0x414b29[_0x26b3be(0xf6)],'rowData':_0x15768a[_0x414b29[_0x26b3be(0xf6)]],'errors':[_0x5dfd74]});}),await this[_0x219796(0xfe)](_0x15768a,_0x3aa0f7,_0x116b9d,_0x3ae343,_0x40cc20,_0x4ca295),_0x4ca295[_0x219796(0x13c)](_0x17e148=>{const _0x3eac3f=_0x219796,_0x20d6a1=_0x15768a[_0x17e148['rowIndex']];_0x20d6a1&&(_0x20d6a1[_0x3eac3f(0x108)]=_0x17e148['errors']);});let _0x4eb8d2=0x0,_0x8e222e=0x0,_0x4d57f3=0x0;_0x15768a[_0x219796(0x13c)](_0x3d2a1f=>{const _0x34455a=_0x219796;if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['aDRgL'])_0x4eb8d2++;else{if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['KoDbJ'])_0x8e222e++;else _0x3d2a1f['_action']===_0x34455a(0x113)&&_0x4d57f3++;}});const _0x73fb6c={'job_id':_0x17295a,'upload_id':_0x2d5223,'status':_0x39ee06['FEtzB'](_0x4ca295[_0x219796(0x10b)],0x0)?'preview_error':_0x39ee06[_0x219796(0xf8)],'progress':0x64,'created_at':_0x5cae36['created_at'],'completed_at':new Date()[_0x219796(0x111)](),'preview':{'total_rows':_0x15768a['length'],'insert_count':_0x4eb8d2,'update_count':_0x8e222e,'skip_count':_0x4d57f3,'error_count':_0x4ca295['length'],'errors':_0x4ca295,'data':_0x15768a,'sample_insert':_0x15768a[_0x219796(0x16b)](_0x452d59=>_0x452d59['_action']===_0x219796(0x121))[_0x219796(0x17f)](0x0,0x5),'sample_update':_0x15768a[_0x219796(0x16b)](_0x5f0691=>_0x5f0691['_action']===_0x219796(0x128))['slice'](0x0,0x5),'sample_skip':_0x15768a[_0x219796(0x16b)](_0x5b2153=>_0x5b2153[_0x219796(0x101)]===_0x219796(0x113))[_0x219796(0x17f)](0x0,0x5)},'params':_0x33d6fe};await redisHelper[_0x219796(0x140)]('job:'+_0x17295a,_0x73fb6c,0xe10),_0x5cae36['rows']=_0x15768a,await redisHelper[_0x219796(0x140)](_0x219796(0x130)+_0x2d5223,_0x5cae36,0xe10),logger[_0x219796(0x156)]({'event':_0x39ee06['RuqZB'],'jobId':_0x17295a,'status':_0x73fb6c['status'],'insertCount':_0x4eb8d2,'updateCount':_0x8e222e,'skipCount':_0x4d57f3,'errorCount':_0x4ca295[_0x219796(0x10b)]},_0x219796(0x160));}catch(_0x58e0c7){_0x39ee06[_0x219796(0x133)](logError,_0x58e0c7,{'event':_0x39ee06[_0x219796(0x12f)],'jobId':_0x17295a},'Preview\x20job\x20failed'),await redisHelper[_0x219796(0x140)](_0x219796(0xff)+_0x17295a,{'job_id':_0x17295a,'upload_id':_0x2d5223,'status':'failed','progress':0x0,'error':_0x58e0c7[_0x219796(0x18d)],'created_at':new Date()[_0x219796(0x111)](),'completed_at':new Date()[_0x219796(0x111)]()},0xe10);}}async[a0_0x369328(0xfe)](_0x41ebaa,_0x18954e,_0x1bbf40,_0x626355,_0x5c95eb=a0_0x369328(0x166),_0x42dd59=[]){const _0x57191d=a0_0x369328,_0x236817={'hevhi':function(_0x36670b,_0x5180d1){return _0x36670b===_0x5180d1;},'evtBm':_0x57191d(0x173),'AXbNG':function(_0x4f29cc,_0x26d47a){return _0x4f29cc===_0x26d47a;},'uvVpc':'skip_existing','kRatI':'SKIP','ZYPCg':_0x57191d(0x11f),'mUwfw':function(_0xe6a0bd,_0x72dd35){return _0xe6a0bd(_0x72dd35);}},_0x4eafc5=upsertBuilder['chunkRows'](_0x41ebaa,0x64);for(const _0x1130d7 of _0x4eafc5){const _0x385301=_0x1130d7['map'](_0xf9a0ea=>_0xf9a0ea[_0x18954e[0x0]]),_0x2ca390=_0x385301['map'](_0x5e5afe=>{const _0x496ac7=_0x57191d;if(_0x5e5afe===null||_0x236817['hevhi'](_0x5e5afe,undefined))return _0x236817[_0x496ac7(0x106)];return'\x27'+String(_0x5e5afe)[_0x496ac7(0x14d)](/'/g,'\x27\x27')+'\x27';}),_0x2837b7=_0x57191d(0x157)+_0x626355+',\x20'+_0x18954e[_0x57191d(0x123)](',\x20')+_0x57191d(0x17e)+_0x1bbf40+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x18954e[0x0]+_0x57191d(0xfb)+_0x2ca390['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x2e620e=await _0x236817[_0x57191d(0x186)](executeQuery,_0x2837b7);dbType===_0x57191d(0xfc)&&_0x2e620e&&_0x2e620e['length']>0x0&&(_0x2e620e=_0x2e620e['map'](_0x53a8fa=>{const _0xc2cea0=_0x57191d,_0x34b764={};for(const [_0x420e59,_0x30ebc1]of Object['entries'](_0x53a8fa)){_0x34b764[_0x420e59[_0xc2cea0(0x16c)]()]=_0x30ebc1;}return _0x34b764;}));const _0x412989=new Map();_0x2e620e[_0x57191d(0x13c)](_0x1ba526=>{const _0x26c34e=_0x57191d,_0x43771a=_0x1ba526[_0x18954e[0x0]];_0x412989[_0x26c34e(0x15d)](_0x43771a,_0x1ba526);}),_0x1130d7['forEach']((_0x1eb8c8,_0x2af20a)=>{const _0x59fa84=_0x57191d,_0x31f038=_0x1eb8c8[_0x18954e[0x0]],_0x2c62a9=_0x412989['get'](_0x31f038);if(_0x2c62a9){if(_0x236817[_0x59fa84(0x18c)](_0x5c95eb,'update_existing'))_0x1eb8c8['_action']='UPDATE',_0x1eb8c8['_existingId']=_0x2c62a9[_0x626355];else{if(_0x5c95eb==='insert_only'){_0x1eb8c8[_0x59fa84(0x101)]='SKIP',_0x1eb8c8[_0x59fa84(0x108)]=_0x1eb8c8[_0x59fa84(0x108)]||[],_0x1eb8c8[_0x59fa84(0x108)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0xf781a0=_0x41ebaa['indexOf'](_0x1eb8c8);_0xf781a0!==-0x1&&_0x42dd59['push']({'rowIndex':_0xf781a0,'rowData':_0x1eb8c8,'errors':[_0x59fa84(0x12d)]});}else _0x5c95eb===_0x236817[_0x59fa84(0x122)]&&(_0x1eb8c8['_action']=_0x236817['kRatI']);}}else{if(_0x5c95eb===_0x59fa84(0x166))_0x1eb8c8[_0x59fa84(0x101)]='INSERT';else(_0x5c95eb===_0x236817['ZYPCg']||_0x236817['hevhi'](_0x5c95eb,_0x59fa84(0x14a)))&&(_0x1eb8c8[_0x59fa84(0x101)]='INSERT');}});}}async['createCommitJob'](_0x2426e7){const _0x1b07b0=a0_0x369328,_0x1dcaab={'HQoPk':function(_0xe2f1a2,_0x3e81c5,_0x3f51bb,_0x1be371){return _0xe2f1a2(_0x3e81c5,_0x3f51bb,_0x1be371);},'bCZzn':'Commit\x20processing\x20failed','ebynK':_0x1b07b0(0x107),'dCJJU':'processing'},_0x21d4e3=this['generateId'](),_0x83db1c=await redisHelper['getJob']('job:'+_0x2426e7);if(!_0x83db1c)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x83db1c[_0x1b07b0(0x132)]!==_0x1b07b0(0x114))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x83db1c[_0x1b07b0(0x132)]);const _0x281e53={'job_id':_0x21d4e3,'upload_id':_0x83db1c['upload_id'],'preview_job_id':_0x2426e7,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x83db1c['params']};return await redisHelper[_0x1b07b0(0x140)](_0x1b07b0(0xff)+_0x21d4e3,_0x281e53,0xe10),logger[_0x1b07b0(0x156)]({'event':_0x1b07b0(0x110),'jobId':_0x21d4e3,'previewJobId':_0x2426e7},_0x1dcaab[_0x1b07b0(0x14e)]),this[_0x1b07b0(0x129)](_0x21d4e3,_0x83db1c)['catch'](_0xdb32db=>{_0x1dcaab['HQoPk'](logError,_0xdb32db,{'event':'commit_process_error','jobId':_0x21d4e3},_0x1dcaab['bCZzn']);}),{'job_id':_0x21d4e3,'status':_0x1dcaab[_0x1b07b0(0x174)]};}async['processCommitJob'](_0x2145c3,_0x35b2f4){const _0xd5b27=a0_0x369328,_0x862be7={'daSWL':function(_0x3b7778,_0x30389f){return _0x3b7778===_0x30389f;},'dsNDB':_0xd5b27(0x154),'MHZge':function(_0x47e4ea,_0x3e79ea){return _0x47e4ea>_0x3e79ea;},'otkPn':_0xd5b27(0x142),'bzuvu':'update','oGKjO':_0xd5b27(0x164),'yRwRu':_0xd5b27(0x13b),'HmMdj':'Commit\x20job\x20failed'};try{const _0x8f93ff=await redisHelper[_0xd5b27(0x127)](_0xd5b27(0x130)+_0x35b2f4['upload_id']);if(!_0x8f93ff)throw new Error(_0x862be7[_0xd5b27(0x13a)]);const {rows:_0x57b232,params:_0x4c8bf6}=_0x8f93ff,{tableName:_0x3c2716,fieldName:_0x55a1b5,primaryKey:_0x2038f1,upsertKeys:_0x4008fc,excludeFromImport:_0x471697,lookupFields:_0x230854,columnFormats:_0x51ef4a}=_0x4c8bf6,_0x2835cb=_0x230854?Object[_0xd5b27(0x144)](_0x230854):[],_0x48e7d=new Set([..._0x471697||[],..._0x2835cb]);let _0x47b9ca=_0x55a1b5;_0x862be7['MHZge'](_0x48e7d['size'],0x0)&&(_0x47b9ca=_0x55a1b5['filter'](_0x43dc49=>!_0x48e7d['has'](_0x43dc49)),logger[_0xd5b27(0x16f)]({'event':'import_fields_filtered','originalCount':_0x55a1b5[_0xd5b27(0x10b)],'filteredCount':_0x47b9ca['length'],'excludedFields':Array['from'](_0x48e7d),'lookupSourceFields':_0x2835cb},_0x862be7[_0xd5b27(0x180)]));const _0xdb8acc=_0x57b232['filter'](_0x17473a=>_0x17473a['_action']===_0xd5b27(0x121)),_0x48ac59=_0x57b232['filter'](_0x4209c7=>_0x4209c7['_action']===_0xd5b27(0x128));let _0x54bea9=0x0,_0x57e227=0x0;const _0x5b8d9f=[];if(_0xdb8acc['length']>0x0){const _0x306224=upsertBuilder['chunkRows'](_0xdb8acc,0x64);for(const _0x2a78a2 of _0x306224){const {query:_0x4b82fc}=upsertBuilder['buildBatchInsert'](_0x2a78a2,_0x3c2716,_0x47b9ca,_0x51ef4a||{});_0x4b82fc&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0x4b82fc,'count':_0x2a78a2[_0xd5b27(0x10b)],'type':_0xd5b27(0x170)});}}if(_0x48ac59[_0xd5b27(0x10b)]>0x0){const _0x21fe28=upsertBuilder['chunkRows'](_0x48ac59,0x64);for(const _0x4081bc of _0x21fe28){const {query:_0xbd0554}=upsertBuilder[_0xd5b27(0x12e)](_0x4081bc,_0x3c2716,_0x47b9ca,_0x2038f1,_0x4008fc,_0x51ef4a||{});_0xbd0554&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0xbd0554,'count':_0x4081bc[_0xd5b27(0x10b)],'type':_0x862be7[_0xd5b27(0x14b)]});}}_0x862be7[_0xd5b27(0x11a)](_0x5b8d9f['length'],0x0)&&await executeTransaction(_0x5b8d9f[_0xd5b27(0x181)](_0x35115c=>({'sql':_0x35115c[_0xd5b27(0x178)],'params':[]})));_0x5b8d9f['forEach'](_0x42dcf4=>{const _0xcd1869=_0xd5b27;if(_0x862be7[_0xcd1869(0x137)](_0x42dcf4[_0xcd1869(0x14f)],'insert'))_0x54bea9+=_0x42dcf4['count'];else _0x57e227+=_0x42dcf4[_0xcd1869(0x149)];});const _0x2d2d44={'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0x862be7[_0xd5b27(0x163)],'progress':0x64,'created_at':_0x35b2f4['created_at'],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x57b232['length'],'inserted_rows':_0x54bea9,'updated_rows':_0x57e227,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4c8bf6};await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,_0x2d2d44,0xe10),logger[_0xd5b27(0x156)]({'event':_0xd5b27(0x10f),'jobId':_0x2145c3,'insertedCount':_0x54bea9,'updatedCount':_0x57e227},_0x862be7['yRwRu']);}catch(_0xbc7fb2){logError(_0xbc7fb2,{'event':'commit_job_failed','jobId':_0x2145c3},_0x862be7['HmMdj']),await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,{'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0xd5b27(0x15b),'progress':0x0,'error':_0xbc7fb2['message'],'created_at':_0x35b2f4[_0xd5b27(0x11d)],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()[_0xd5b27(0x111)]()},0xe10);}}async[a0_0x369328(0x16d)](_0x50a048){const _0x4cb485=a0_0x369328,_0x25242f=await redisHelper[_0x4cb485(0x127)]('job:'+_0x50a048);if(!_0x25242f)return{'success':![],'error':_0x4cb485(0x13e)};return{'success':!![],'data':_0x25242f};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4db37a=a0_0x4894;function a0_0x4519(){const _0xad98d1=['mtC4mZKWmZbYBhrRteC','odu3mdG4nLjhthjOzq','DxjS','ChvZAa','AM9PBG','mtm3odq4mMDcr2jyDG','A2v5CW','mti0ndKZmdrVExDmtgO','ndi5nZa2oe16y1zQBa','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','BgvUz3rO','ndC1ode1CuXLz3Hi','mtb3ugrmAui','DMHmsM4','y2fIyNi','DMfSAwrHDgvgAwvSzezVCM1HDa','DMfSAwrHDgvqAg9Uzq','z2zbweK','DMfSAwrHDgvvCMW','AMDHy0y','zM9YrwfJAa','zw1HAwW','CMvXDwLYzwq','ofbIvwLYDW','nvfAzfnRqG','zM9YBwf0','CgHVBMu','lI9SB2DNzxi','mtq5nJq5m3z2CwXRDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbWAg9UzsbMB3jTyxq'];a0_0x4519=function(){return _0xad98d1;};return a0_0x4519();}(function(_0x222dc8,_0x725131){const _0x8bcdd2=a0_0x4894,_0x3cd034=_0x222dc8();while(!![]){try{const _0x17f052=-parseInt(_0x8bcdd2(0x1da))/0x1+-parseInt(_0x8bcdd2(0x1ca))/0x2*(parseInt(_0x8bcdd2(0x1c9))/0x3)+parseInt(_0x8bcdd2(0x1c5))/0x4+-parseInt(_0x8bcdd2(0x1d6))/0x5*(-parseInt(_0x8bcdd2(0x1de))/0x6)+-parseInt(_0x8bcdd2(0x1e2))/0x7*(-parseInt(_0x8bcdd2(0x1d5))/0x8)+-parseInt(_0x8bcdd2(0x1c4))/0x9+parseInt(_0x8bcdd2(0x1dd))/0xa;if(_0x17f052===_0x725131)break;else _0x3cd034['push'](_0x3cd034['shift']());}catch(_0x359137){_0x3cd034['push'](_0x3cd034['shift']());}}}(a0_0x4519,0xc5f33));function a0_0x4894(_0x4f6948,_0x3647a5){_0x4f6948=_0x4f6948-0x1c4;const _0x4519c6=a0_0x4519();let _0x48946a=_0x4519c6[_0x4f6948];if(a0_0x4894['iZqyaO']===undefined){var _0x59d46f=function(_0x3bf358){const _0x3f2ac9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x149ff0='',_0x19aad5='';for(let _0x1d03b0=0x0,_0x2ea843,_0x14892f,_0x39d889=0x0;_0x14892f=_0x3bf358['charAt'](_0x39d889++);~_0x14892f&&(_0x2ea843=_0x1d03b0%0x4?_0x2ea843*0x40+_0x14892f:_0x14892f,_0x1d03b0++%0x4)?_0x149ff0+=String['fromCharCode'](0xff&_0x2ea843>>(-0x2*_0x1d03b0&0x6)):0x0){_0x14892f=_0x3f2ac9['indexOf'](_0x14892f);}for(let _0x453145=0x0,_0x359229=_0x149ff0['length'];_0x453145<_0x359229;_0x453145++){_0x19aad5+='%'+('00'+_0x149ff0['charCodeAt'](_0x453145)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19aad5);};a0_0x4894['CcmPWb']=_0x59d46f,a0_0x4894['rGjIPL']={},a0_0x4894['iZqyaO']=!![];}const _0x7b76a8=_0x4519c6[0x0],_0x2e3e36=_0x4f6948+_0x7b76a8,_0x19ae6e=a0_0x4894['rGjIPL'][_0x2e3e36];return!_0x19ae6e?(_0x48946a=a0_0x4894['CcmPWb'](_0x48946a),a0_0x4894['rGjIPL'][_0x2e3e36]=_0x48946a):_0x48946a=_0x19ae6e,_0x48946a;}const {logger}=require(a0_0x4db37a(0x1d9));class ImportValidator{['validateRow'](_0x281541,_0x15d250=[],_0x27dc41={}){const _0x628d50=a0_0x4db37a,_0x15a9d3={'vhLJn':_0x628d50(0x1d4),'hXEru':function(_0x18d232,_0x26760c){return _0x18d232===_0x26760c;},'jgacF':function(_0x250768,_0x148f82){return _0x250768===_0x148f82;}},_0x14cb69=[];return _0x15d250[_0x628d50(0x1d2)](_0x15b447=>{const _0x3094b2=_0x628d50,_0x506f22=_0x281541[_0x15b447];(_0x506f22===null||_0x506f22===undefined||_0x506f22==='')&&_0x14cb69[_0x3094b2(0x1e0)]({'field':_0x15b447,'type':_0x15a9d3[_0x3094b2(0x1cb)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x628d50(0x1e3)](_0x27dc41)['forEach'](_0x5c7dff=>{const _0xca9a5a=_0x628d50,_0x2ac673=_0x281541[_0x5c7dff],_0x24a431=_0x27dc41[_0x5c7dff];if(_0x15a9d3['hXEru'](_0x2ac673,null)||_0x2ac673===undefined||_0x15a9d3[_0xca9a5a(0x1d1)](_0x2ac673,''))return;const _0x405b5e=this[_0xca9a5a(0x1cd)](_0x5c7dff,_0x2ac673,_0x24a431);_0x405b5e&&_0x14cb69['push'](_0x405b5e);}),_0x14cb69;}[a0_0x4db37a(0x1cd)](_0x3be29b,_0x31b623,_0x51a37f){const _0x5cce54=a0_0x4db37a,_0x2eec0c={'mPVLt':'number'};switch(_0x51a37f){case _0x5cce54(0x1d3):return this['validateEmail'](_0x3be29b,_0x31b623);case _0x5cce54(0x1d8):return this[_0x5cce54(0x1ce)](_0x3be29b,_0x31b623);case _0x5cce54(0x1df):return this[_0x5cce54(0x1d0)](_0x3be29b,_0x31b623);case _0x2eec0c['mPVLt']:return this['validateNumber'](_0x3be29b,_0x31b623);default:return null;}}['validateEmail'](_0x331259,_0x5dcf73){const _0x593624=a0_0x4db37a,_0x34d6af={'dbIyV':_0x593624(0x1d7),'wDJKQ':'Invalid\x20email\x20format'},_0x5900a2=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5900a2[_0x593624(0x1c6)](String(_0x5dcf73)))return{'field':_0x331259,'type':_0x34d6af['dbIyV'],'message':_0x34d6af['wDJKQ']};return null;}[a0_0x4db37a(0x1ce)](_0x4af158,_0x31efad){const _0x484e58=a0_0x4db37a,_0x4624fb={'ZwBis':function(_0x60788c,_0x178bf5){return _0x60788c(_0x178bf5);},'cabbr':function(_0x5ed2a4,_0x1498b9){return _0x5ed2a4<_0x1498b9;},'ZpuCs':'format'},_0x762590=_0x4624fb['ZwBis'](String,_0x31efad)['replace'](/\s+/g,''),_0x74705a=/^[\d\+\-\(\)]+$/;if(!_0x74705a['test'](_0x762590)||_0x4624fb[_0x484e58(0x1cc)](_0x762590[_0x484e58(0x1c8)],0x8))return{'field':_0x4af158,'type':_0x4624fb['ZpuCs'],'message':_0x484e58(0x1dc)};return null;}['validateUrl'](_0x36432e,_0x48f897){const _0x30d06a={'MdbHP':'Invalid\x20URL\x20format'};try{return new URL(String(_0x48f897)),null;}catch(_0x579c08){return{'field':_0x36432e,'type':'format','message':_0x30d06a['MdbHP']};}}['validateNumber'](_0x445df5,_0x2d7190){const _0x255fd9=a0_0x4db37a,_0x5be2ca={'gfAXI':_0x255fd9(0x1c7)};if(isNaN(_0x2d7190))return{'field':_0x445df5,'type':_0x255fd9(0x1d7),'message':_0x5be2ca[_0x255fd9(0x1cf)]};return null;}[a0_0x4db37a(0x1db)](_0x2ab5e5,_0x43b1c1){const _0x1e83f2=new Map(),_0x4b6d3b=[];return _0x2ab5e5['forEach']((_0x5e694c,_0x3dcae3)=>{const _0x27f95d=a0_0x4894,_0x16a2af=_0x43b1c1['map'](_0x563060=>_0x5e694c[_0x563060])[_0x27f95d(0x1e1)]('|');_0x1e83f2['has'](_0x16a2af)?_0x4b6d3b['push']({'rowIndex':_0x3dcae3,'duplicateOf':_0x1e83f2['get'](_0x16a2af),'key':_0x16a2af}):_0x1e83f2['set'](_0x16a2af,_0x3dcae3);}),_0x4b6d3b;}['batchValidateRows'](_0x1be951,_0x5c3c66,_0x1f9702){const _0x5a5f5f=a0_0x4db37a,_0x5d57fc=[];return _0x1be951['forEach']((_0x1211ce,_0x4f98f2)=>{const _0x58d782=a0_0x4894,_0x4476e2=this['validateRow'](_0x1211ce,_0x5c3c66,_0x1f9702);_0x4476e2[_0x58d782(0x1c8)]>0x0&&_0x5d57fc['push']({'rowIndex':_0x4f98f2,'rowData':_0x1211ce,'errors':_0x4476e2});}),logger['info']({'event':'batch_validation_complete','totalRows':_0x1be951[_0x5a5f5f(0x1c8)],'errorCount':_0x5d57fc['length']},'Batch\x20validation\x20completed'),_0x5d57fc;}}module['exports']=new ImportValidator();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x42717f=a0_0x5d38;(function(_0x407d85,_0x31e3ff){const _0x50aab4=a0_0x5d38,_0x165e17=_0x407d85();while(!![]){try{const _0x33b48e=parseInt(_0x50aab4(0x170))/0x1+-parseInt(_0x50aab4(0x14e))/0x2*(parseInt(_0x50aab4(0x14c))/0x3)+-parseInt(_0x50aab4(0x17b))/0x4+-parseInt(_0x50aab4(0x14b))/0x5+-parseInt(_0x50aab4(0x175))/0x6*(-parseInt(_0x50aab4(0x173))/0x7)+parseInt(_0x50aab4(0x162))/0x8+-parseInt(_0x50aab4(0x151))/0x9*(-parseInt(_0x50aab4(0x16e))/0xa);if(_0x33b48e===_0x31e3ff)break;else _0x165e17['push'](_0x165e17['shift']());}catch(_0x3b4e73){_0x165e17['push'](_0x165e17['shift']());}}}(a0_0x2122,0xd6f9e));const importService=require('../../services/import-service'),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require('../../utils/logger');class ImportHandler{static['registerRoutes'](_0x1c15c3,_0x1fd423,_0x423841,_0x52f8b8){const _0x42d8a3=a0_0x5d38,_0x399108={'sUnwE':'import_commit_error','fEwlQ':function(_0x43d002,_0x36f59a,_0x1d5eab,_0x5b3b8f){return _0x43d002(_0x36f59a,_0x1d5eab,_0x5b3b8f);},'oBDxh':_0x42d8a3(0x150),'FdfMm':'Failed\x20to\x20get\x20import\x20status','ThBhd':'import_routes_registered'},_0x241894=_0x42d8a3(0x16f)+_0x1fd423+'/'+_0x423841;_0x1c15c3['post'](_0x241894+_0x42d8a3(0x147),async(_0x299413,_0x47b39a)=>{const _0x1932d6=_0x42d8a3;try{await this[_0x1932d6(0x179)](_0x299413,_0x47b39a,_0x52f8b8,_0x1fd423,_0x423841);}catch(_0x3b3733){logError(_0x3b3733,{'event':_0x1932d6(0x17a)},_0x1932d6(0x176)),_0x47b39a['status'](0x1f4)['json']({'success':![],'error':_0x3b3733[_0x1932d6(0x17e)]});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+'/import-preview',async(_0x28453d,_0x14eb34)=>{const _0x557036=_0x42d8a3;try{await this[_0x557036(0x15d)](_0x28453d,_0x14eb34);}catch(_0x50f6e5){logError(_0x50f6e5,{'event':_0x557036(0x163)},_0x557036(0x153)),_0x14eb34['status'](0x1f4)['json']({'success':![],'error':_0x50f6e5['message']});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+_0x42d8a3(0x15a),async(_0x2c3978,_0x13530f)=>{const _0x567918=_0x42d8a3;try{await this[_0x567918(0x16d)](_0x2c3978,_0x13530f);}catch(_0x5b2ceb){logError(_0x5b2ceb,{'event':_0x399108['sUnwE']},'Failed\x20to\x20create\x20commit\x20job'),_0x13530f[_0x567918(0x15c)](0x1f4)[_0x567918(0x174)]({'success':![],'error':_0x5b2ceb['message']});}}),_0x1c15c3[_0x42d8a3(0x158)](_0x241894+_0x42d8a3(0x17f),async(_0x2eeb3a,_0x2fdb5e)=>{const _0x45f6f1=_0x42d8a3;try{await this[_0x45f6f1(0x14f)](_0x2eeb3a,_0x2fdb5e);}catch(_0x33f507){_0x399108[_0x45f6f1(0x149)](logError,_0x33f507,{'event':_0x399108[_0x45f6f1(0x169)]},_0x399108[_0x45f6f1(0x171)]),_0x2fdb5e['status'](0x1f4)[_0x45f6f1(0x174)]({'success':![],'error':_0x33f507['message']});}}),logger[_0x42d8a3(0x14d)]({'event':_0x399108['ThBhd'],'module':_0x1fd423,'endpoint':_0x423841,'table':_0x52f8b8[_0x42d8a3(0x16b)]},_0x42d8a3(0x180)+_0x1fd423+'/'+_0x423841);}static async[a0_0x42717f(0x179)](_0x4a156d,_0x393cc2,_0x1deaa7,_0x1067bf,_0x268533){const _0xe17983=a0_0x42717f,_0xa969bf={'EZqsx':_0xe17983(0x15e),'msDel':_0xe17983(0x172),'BoiVM':'Failed\x20to\x20process\x20upload'},_0x34e2d4=uploadHandler['getUploadMiddleware']();_0x34e2d4(_0x4a156d,_0x393cc2,async _0x44c824=>{const _0x58ae04=_0xe17983;if(_0x44c824)return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0x44c824[_0x58ae04(0x17e)]});if(!_0x4a156d['file'])return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0xa969bf[_0x58ae04(0x148)]});try{const _0x3c1d4d=_0x4a156d['body']['upsertMode']||'update_existing';let _0x4b6e69=_0x1deaa7[_0x58ae04(0x17c)];if(_0x4a156d['body']['upsertKeys'])try{_0x4b6e69=JSON[_0x58ae04(0x161)](_0x4a156d[_0x58ae04(0x154)]['upsertKeys']);}catch(_0x4de9a0){logger['warn']({'event':_0x58ae04(0x177),'error':_0x4de9a0['message']},'Failed\x20to\x20parse\x20upsertKeys,\x20using\x20default');}const _0x22e636=_0x1deaa7['fieldName']||[];if(Array[_0x58ae04(0x15b)](_0x4b6e69)){const _0x2f4a0f=_0x4b6e69['filter'](_0x4c47ff=>!_0x22e636[_0x58ae04(0x17d)](_0x4c47ff));if(_0x2f4a0f[_0x58ae04(0x15f)]>0x0)return _0x393cc2[_0x58ae04(0x15c)](0x190)['json']({'success':![],'error':_0x58ae04(0x14a),'message':_0x58ae04(0x164)+_0x2f4a0f['join'](',\x20'),'validFields':_0x22e636});}const _0x5cedef={'moduleName':_0x1067bf,'endpointName':_0x268533,'tableName':_0x1deaa7[_0x58ae04(0x16b)],'primaryKey':_0x1deaa7['primaryKey'],'fieldName':_0x1deaa7[_0x58ae04(0x165)],'fieldLabels':_0x1deaa7['fieldLabels']||{},'columnFormats':_0x1deaa7['columnFormats']||{},'upsertKeys':_0x4b6e69,'upsertStrategy':_0x3c1d4d,'requiredFields':_0x1deaa7[_0x58ae04(0x167)]||[],'validations':_0x1deaa7[_0x58ae04(0x159)]||{},'lookupFields':_0x1deaa7['lookupFields']||{},'excludeFromImport':_0x1deaa7[_0x58ae04(0x156)]||[],'chunkSize':_0x1deaa7['chunkSize']||0x64},_0x347cf9=await importService['uploadFile'](_0x4a156d[_0x58ae04(0x168)],_0x5cedef);_0x393cc2[_0x58ae04(0x174)]({'success':!![],'data':_0x347cf9});}catch(_0x16f502){logError(_0x16f502,{'event':_0xa969bf['msDel']},_0xa969bf[_0x58ae04(0x152)]),_0x393cc2[_0x58ae04(0x15c)](0x1f4)[_0x58ae04(0x174)]({'success':![],'error':_0x16f502[_0x58ae04(0x17e)]});}});}static async[a0_0x42717f(0x15d)](_0x389195,_0x100085){const _0x4ce934=a0_0x42717f,_0x2c47db={'xryoZ':'upload_id\x20is\x20required'},{upload_id:_0x539740}=_0x389195[_0x4ce934(0x154)];if(!_0x539740)return _0x100085[_0x4ce934(0x15c)](0x190)['json']({'success':![],'error':_0x2c47db['xryoZ']});try{const _0x2872c8=await importService[_0x4ce934(0x16c)](_0x539740);_0x100085[_0x4ce934(0x174)]({'success':!![],'data':_0x2872c8});}catch(_0xf646b2){_0x100085[_0x4ce934(0x15c)](0x1f4)[_0x4ce934(0x174)]({'success':![],'error':_0xf646b2[_0x4ce934(0x17e)]});}}static async[a0_0x42717f(0x16d)](_0x4560cb,_0x5e2a9c){const _0x351cbc=a0_0x42717f,{preview_job_id:_0x3e0621}=_0x4560cb[_0x351cbc(0x154)];if(!_0x3e0621)return _0x5e2a9c[_0x351cbc(0x15c)](0x190)['json']({'success':![],'error':_0x351cbc(0x16a)});try{const _0xc5aef4=await importService[_0x351cbc(0x160)](_0x3e0621);_0x5e2a9c[_0x351cbc(0x174)]({'success':!![],'data':_0xc5aef4});}catch(_0x5ea89b){_0x5e2a9c['status'](0x1f4)[_0x351cbc(0x174)]({'success':![],'error':_0x5ea89b['message']});}}static async['handleImportStatus'](_0xcbc135,_0x29f8ba){const _0x52c0fb=a0_0x42717f,{job_id:_0x3e2bfe}=_0xcbc135['query'];if(!_0x3e2bfe)return _0x29f8ba['status'](0x190)['json']({'success':![],'error':_0x52c0fb(0x166)});try{const _0x32b651=await importService[_0x52c0fb(0x157)](_0x3e2bfe);if(!_0x32b651[_0x52c0fb(0x155)])return _0x29f8ba[_0x52c0fb(0x15c)](0x194)['json'](_0x32b651);_0x29f8ba[_0x52c0fb(0x174)](_0x32b651);}catch(_0x44ff9c){_0x29f8ba['status'](0x1f4)[_0x52c0fb(0x174)]({'success':![],'error':_0x44ff9c['message']});}}}module['exports']=ImportHandler;function a0_0x5d38(_0x52a46d,_0x4626ee){_0x52a46d=_0x52a46d-0x147;const _0x21226c=a0_0x2122();let _0x5d38e0=_0x21226c[_0x52a46d];if(a0_0x5d38['kdJnCJ']===undefined){var _0x568f1c=function(_0x20d2f7){const _0x83d961='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c131b='',_0x5cb81b='';for(let _0x215dcb=0x0,_0x5cca23,_0x59f867,_0x318da2=0x0;_0x59f867=_0x20d2f7['charAt'](_0x318da2++);~_0x59f867&&(_0x5cca23=_0x215dcb%0x4?_0x5cca23*0x40+_0x59f867:_0x59f867,_0x215dcb++%0x4)?_0x3c131b+=String['fromCharCode'](0xff&_0x5cca23>>(-0x2*_0x215dcb&0x6)):0x0){_0x59f867=_0x83d961['indexOf'](_0x59f867);}for(let _0x3c25e1=0x0,_0x3b2d62=_0x3c131b['length'];_0x3c25e1<_0x3b2d62;_0x3c25e1++){_0x5cb81b+='%'+('00'+_0x3c131b['charCodeAt'](_0x3c25e1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb81b);};a0_0x5d38['XpSRAf']=_0x568f1c,a0_0x5d38['HsUzgj']={},a0_0x5d38['kdJnCJ']=!![];}const _0x7b70ef=_0x21226c[0x0],_0x208480=_0x52a46d+_0x7b70ef,_0x3a3f77=a0_0x5d38['HsUzgj'][_0x208480];return!_0x3a3f77?(_0x5d38e0=a0_0x5d38['XpSRAf'](_0x5d38e0),a0_0x5d38['HsUzgj'][_0x208480]=_0x5d38e0):_0x5d38e0=_0x3a3f77,_0x5d38e0;}function a0_0x2122(){const _0x2ca8c6=['mtu0ndq3ofjwC1vJyW','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','Cg9ZDa','AgfUzgXLsw1WB3j0vxbSB2fK','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','ndmWnJiXnMnWqMfpEq','DxbZzxj0s2v5CW','Aw5JBhvKzxm','BwvZC2fNzq','l2LTCg9YDc1ZDgf0Dxm','sw1WB3j0ihjVDxrLCYbYzwDPC3rLCMvKigzVCIa','l2LTCg9YDc11CgXVywq','rvPXC3G','zKv3Bfe','sw52ywXPzcb1ChnLCNqGA2v5CW','mZa0mZKWugzsrwjR','mty1C1vLCwjT','Aw5MBW','ndaZodjWAgL6Bvy','AgfUzgXLsw1WB3j0u3rHDhvZ','Aw1WB3j0x3n0yxr1C19LCNjVCG','mZy2oty1mwfyBvPcuq','qM9PvK0','rMfPBgvKihrVignYzwf0zsbWCMv2Awv3igPVyG','yM9KEq','C3vJy2vZCW','zxHJBhvKzuzYB21jBxbVCNq','z2v0sM9Iu3rHDhvZ','z2v0','DMfSAwrHDgLVBNm','l2LTCg9YDc1JB21TAxq','AxnbCNjHEq','C3rHDhvZ','AgfUzgXLsw1WB3j0uhjLDMLLDW','tM8GzMLSzsb1CgXVywrLza','BgvUz3rO','y3jLyxrLq29TBwL0sM9I','CgfYC2u','ode0nJqZmM9Qrwr2CG','Aw1WB3j0x3bYzxzPzxDFzxjYB3i','s2v5CYbUB3qGywXSB3DLzdOG','zMLLBgroyw1L','AM9Ix2LKigLZihjLCxvPCMvK','CMvXDwLYzwrgAwvSzhm','zMLSzq','B0jeEgG','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','DgfIBgvoyw1L','y3jLyxrLuhjLDMLLD0PVyG','AgfUzgXLsw1WB3j0q29TBwL0','mJbfrMrezhm','l2fWAs8','mJy1mdq1reXQuNfi','rMrMtw0','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','mJHyCvzluKi','ANnVBG'];a0_0x2122=function(){return _0x2ca8c6;};return a0_0x2122();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xdc64(_0x506b3b,_0x17c9de){_0x506b3b=_0x506b3b-0xc8;const _0x5a86e1=a0_0x5a86();let _0xdc64b9=_0x5a86e1[_0x506b3b];if(a0_0xdc64['ldqJRt']===undefined){var _0x21ce69=function(_0x4e4a10){const _0x40f3d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa27951='',_0x451918='';for(let _0x4abb07=0x0,_0x55a447,_0x2c5fd1,_0xd223e1=0x0;_0x2c5fd1=_0x4e4a10['charAt'](_0xd223e1++);~_0x2c5fd1&&(_0x55a447=_0x4abb07%0x4?_0x55a447*0x40+_0x2c5fd1:_0x2c5fd1,_0x4abb07++%0x4)?_0xa27951+=String['fromCharCode'](0xff&_0x55a447>>(-0x2*_0x4abb07&0x6)):0x0){_0x2c5fd1=_0x40f3d6['indexOf'](_0x2c5fd1);}for(let _0x3793ba=0x0,_0x1e7275=_0xa27951['length'];_0x3793ba<_0x1e7275;_0x3793ba++){_0x451918+='%'+('00'+_0xa27951['charCodeAt'](_0x3793ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x451918);};a0_0xdc64['nfSLsO']=_0x21ce69,a0_0xdc64['dNdlZV']={},a0_0xdc64['ldqJRt']=!![];}const _0x43b80b=_0x5a86e1[0x0],_0x5e2f4b=_0x506b3b+_0x43b80b,_0x1abfdb=a0_0xdc64['dNdlZV'][_0x5e2f4b];return!_0x1abfdb?(_0xdc64b9=a0_0xdc64['nfSLsO'](_0xdc64b9),a0_0xdc64['dNdlZV'][_0x5e2f4b]=_0xdc64b9):_0xdc64b9=_0x1abfdb,_0xdc64b9;}const a0_0xc1c254=a0_0xdc64;(function(_0x2ea183,_0x49d13f){const _0x3bc7b5=a0_0xdc64,_0x23e088=_0x2ea183();while(!![]){try{const _0x3293f0=parseInt(_0x3bc7b5(0xe5))/0x1+-parseInt(_0x3bc7b5(0xe1))/0x2*(parseInt(_0x3bc7b5(0xda))/0x3)+-parseInt(_0x3bc7b5(0x109))/0x4+-parseInt(_0x3bc7b5(0x102))/0x5*(-parseInt(_0x3bc7b5(0xdd))/0x6)+-parseInt(_0x3bc7b5(0x118))/0x7*(-parseInt(_0x3bc7b5(0xcc))/0x8)+-parseInt(_0x3bc7b5(0xc9))/0x9*(-parseInt(_0x3bc7b5(0xd8))/0xa)+-parseInt(_0x3bc7b5(0xc8))/0xb;if(_0x3293f0===_0x49d13f)break;else _0x23e088['push'](_0x23e088['shift']());}catch(_0x512459){_0x23e088['push'](_0x23e088['shift']());}}}(a0_0x5a86,0xb8fc8));function a0_0x5a86(){const _0x57fb17=['qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','B3zJvM8','lcaNwvLzws1nts1ercCP','t1jbq0Xf','yMf0y2HFAw5Zzxj0x2j1AwX0','zK9sEKi','icbjtLrpia','ieftierbveuP','BxLZCwW','tLvmtdO6refurq','DNvQuMm','z2v0rgf0ywjHC2vuExbL','ve9FrefursG','DxvutLi','ihqkicaGicaGvvnjtKCGkaO','kqOGicaGicbwquXvrvmG','zgvIDwC','BgHyuKO','BNvTyMvY','C3rYAw5N','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','laOGicaGicaGia','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','kqOGicaGicbxsevsrsa','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','otaWnta1zLrNswj3','cIaGicaGieLou0vsvcbjtLrpia','y1vKAKm','cIaGica','yNvPBgrfC2nHCgvgDw5JDgLVBG','ieftihqkicaGicaGu0vuia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','mtu4nJaYngLjBwDpvW','Dfjxtg4','DhLWzq','vvLcBwO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','tvLtuuW','y3j0veW','zgf0zq','zNjrDNC','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','su5trvjuiefmtaO','cLnftevdvcaXiezst00Grfvbta','zw52','BwfW','u1fmsvrf','nJy2nZu3q25tDuHA','mti2nJG0ogTSBunhAW','mZy5wKvzshLr','zM9YBwf0rgf0zvzHBhvL','cIaGicaGicKGDGOGicaGicbptIaO','odHHwffRugy','rgnLCuu','BgvUz3rO','sKrvA2G','Aw5JBhvKzxm','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','lI9SB2DNzxi','cIaGicaGicKGqvmGDIG','D2fYBG','ufHksuG','cIaGicbvtKLptIbbteWk','mtG4mgr6BgLuCq','laOGicaGicaGica','odGZodG3Aunmy0DH','B3jHy2XL','zMLSDgvY','nLnYrNrruq','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','Dg9mB3DLCKnHC2u','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','ohzbz1rLwa','vhH3uuO','tLvmta','ChvZAa','mtiXmJmYneDMrwPhAq','id0GDI4','AM9PBG'];a0_0x5a86=function(){return _0x57fb17;};return a0_0x5a86();}const {logger}=require(a0_0xc1c254(0xd3)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':a0_0xc1c254(0xdb),'SQLITE':'sqlite'};class UpsertBuilder{['getDatabaseType'](){const _0xefed24=a0_0xc1c254,_0x32b321={'ovcVo':'postgresql'},_0x15c425=(process[_0xefed24(0x115)]['DB_TYPE']||_0x32b321[_0xefed24(0xe9)])[_0xefed24(0xdf)](),_0x35b33a=Object['values'](DB_TYPES);if(!_0x35b33a['includes'](_0x15c425))return logger['warn']({'event':'invalid_db_type','provided':_0x15c425,'fallback':_0x32b321[_0xefed24(0xe9)]},'Invalid\x20DB_TYPE:\x20'+_0x15c425+_0xefed24(0xde)),DB_TYPES['POSTGRESQL'];return _0x15c425;}['formatDateValue'](_0x21c339,_0x41a291,_0xac102a=![]){const _0x2297b9=a0_0xc1c254,_0x26fd3d={'CCNOv':'NULL::DATE','hUAeF':_0x2297b9(0xe3)};if(_0xac102a)switch(_0x41a291){case DB_TYPES['POSTGRESQL']:return _0x26fd3d['CCNOv'];case DB_TYPES[_0x2297b9(0x10e)]:return _0x26fd3d['hUAeF'];case DB_TYPES[_0x2297b9(0x117)]:return _0x26fd3d['hUAeF'];case DB_TYPES['SQLSERVER']:return _0x2297b9(0xe3);case DB_TYPES['ORACLE']:return _0x26fd3d['hUAeF'];default:return _0x2297b9(0xf1);}switch(_0x41a291){case DB_TYPES['POSTGRESQL']:return _0x21c339+'::DATE';case DB_TYPES[_0x2297b9(0x10e)]:return _0x21c339;case DB_TYPES['SQLITE']:return _0x21c339;case DB_TYPES['SQLSERVER']:return'CAST('+_0x21c339+_0x2297b9(0xef);case DB_TYPES['ORACLE']:return _0x2297b9(0xf4)+_0x21c339+_0x2297b9(0xea);default:return _0x21c339+'::DATE';}}['buildEscapeFunction'](_0x298041={}){const _0x461ee7=a0_0xc1c254,_0x10c16a={'uuTNR':function(_0x50e1b5,_0x364475){return _0x50e1b5===_0x364475;},'cUdjC':_0x461ee7(0x110),'yLSlM':_0x461ee7(0xe3),'TxwQJ':function(_0x10108c,_0x549a54){return _0x10108c===_0x549a54;},'UpweF':_0x461ee7(0xfa),'PXJCu':function(_0x497df7,_0x180576){return _0x497df7===_0x180576;},'PXJIH':function(_0x531bc3,_0x4cd822){return _0x531bc3(_0x4cd822);},'crtTL':function(_0x4656c9,_0x3f7f28){return _0x4656c9===_0x3f7f28;}},_0x52f3cd=this[_0x461ee7(0xf3)]();return(_0x38bf6b,_0x318910)=>{const _0x7c9484=_0x461ee7,_0x1d90d4=_0x298041[_0x318910];if(_0x38bf6b===null||_0x10c16a[_0x7c9484(0xf5)](_0x38bf6b,undefined)){if(_0x1d90d4&&_0x1d90d4['type']===_0x10c16a[_0x7c9484(0x104)])return this[_0x7c9484(0xca)](null,_0x52f3cd,!![]);return _0x10c16a['yLSlM'];}if(_0x10c16a['TxwQJ'](typeof _0x38bf6b,_0x7c9484(0xfb))){const _0x5df5be='\x27'+_0x38bf6b['replace'](/'/g,'\x27\x27')+'\x27';if(_0x1d90d4&&_0x1d90d4[_0x7c9484(0x10b)]===_0x7c9484(0x110))return this[_0x7c9484(0xca)](_0x5df5be,_0x52f3cd,![]);return _0x5df5be;}if(_0x10c16a[_0x7c9484(0xe2)](typeof _0x38bf6b,_0x10c16a['UpweF']))return _0x38bf6b;if(_0x10c16a['PXJCu'](typeof _0x38bf6b,'boolean'))return _0x38bf6b;const _0x2496d5='\x27'+_0x10c16a[_0x7c9484(0xd6)](String,_0x38bf6b)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x1d90d4&&_0x10c16a[_0x7c9484(0x10f)](_0x1d90d4[_0x7c9484(0x10b)],_0x10c16a['cUdjC']))return this[_0x7c9484(0xca)](_0x2496d5,_0x52f3cd,![]);return _0x2496d5;};}['buildBatchInsert'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59={}){const _0x46550e=a0_0xc1c254,_0x3e04c0={'qLOhG':function(_0x1e0e45,_0x52c3cd){return _0x1e0e45===_0x52c3cd;}},_0x4c2b1c=this[_0x46550e(0xf3)]();if(_0x3e04c0['qLOhG'](_0x4c2b1c,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59);return this['_buildBatchInsertPostgres'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59);}[a0_0xc1c254(0x112)](_0x3b902c,_0xc55165,_0x536963,_0x5edd5d={}){const _0x31d348=a0_0xc1c254,_0x95e110={'ZOppt':'batch_insert_built'};if(_0x3b902c[_0x31d348(0xce)]===0x0)return{'query':null,'values':[]};const _0x4db900=this[_0x31d348(0x106)](_0x5edd5d),_0x5e03c5=_0x3b902c['map'](_0x338443=>{const _0x35cfb8=_0x31d348,_0x20c0ed=_0x536963[_0x35cfb8(0x116)](_0x1c09d0=>_0x4db900(_0x338443[_0x1c09d0],_0x1c09d0));return'('+_0x20c0ed[_0x35cfb8(0xe7)](',\x20')+')';}),_0x4f2825='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xc55165+'\x20('+_0x536963['join'](',\x20')+_0x31d348(0xf7)+_0x5e03c5[_0x31d348(0xe7)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x95e110['ZOppt'],'tableName':_0xc55165,'rowCount':_0x3b902c[_0x31d348(0xce)],'dbType':'postgresql'},_0x31d348(0xff)),{'query':_0x4f2825,'values':[]};}[a0_0xc1c254(0xfc)](_0x336145,_0x2c40d7,_0x39b391,_0x976db8={}){const _0x3db010=a0_0xc1c254,_0x3c7279={'RFkIP':_0x3db010(0xec),'mdNIP':_0x3db010(0xe8)};if(_0x336145[_0x3db010(0xce)]===0x0)return{'query':null,'values':[]};const _0x5a78cf=this[_0x3db010(0x106)](_0x976db8),_0x321de0=_0x336145['map'](_0x20dc11=>{const _0x482bad=_0x3db010,_0x174e6b=_0x39b391[_0x482bad(0x116)](_0x4d0320=>_0x5a78cf(_0x20dc11[_0x4d0320],_0x4d0320));return _0x482bad(0xee)+_0x2c40d7+'\x20('+_0x39b391[_0x482bad(0xe7)](',\x20')+')\x20VALUES\x20('+_0x174e6b[_0x482bad(0xe7)](',\x20')+')';}),_0x2d48f8=_0x3db010(0x113)+_0x321de0['join']('\x0a')+_0x3db010(0x114);return logger[_0x3db010(0xf8)]({'event':_0x3c7279['RFkIP'],'tableName':_0x2c40d7,'rowCount':_0x336145[_0x3db010(0xce)],'dbType':_0x3db010(0xdb)},_0x3c7279['mdNIP']),{'query':_0x2d48f8,'values':[]};}['buildBatchUpdate'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3={}){const _0x31813e=a0_0xc1c254,_0x5b7ba5=this['getDatabaseType']();if(_0x5b7ba5===DB_TYPES[_0x31813e(0xeb)])return this['_buildBatchUpdateOracle'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);if(_0x5b7ba5===DB_TYPES['MYSQL'])return this['_buildBatchUpdateMysql'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);return this[_0x31813e(0x101)](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);}[a0_0xc1c254(0x101)](_0x3bb8c1,_0x4d9e02,_0xe4357a,_0x359fb3,_0x5dba37,_0x4e92ee={}){const _0x72f0e5=a0_0xc1c254,_0x3aec0a={'YFfuF':function(_0x9d85bc,_0x242653){return _0x9d85bc===_0x242653;},'aFUKC':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','fORzB':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','otwRD':'batch_update_built'};if(_0x3aec0a['YFfuF'](_0x3bb8c1['length'],0x0))return{'query':null,'values':[]};const _0x287f00=this['buildEscapeFunction'](_0x4e92ee),_0x5bb013=_0xe4357a[_0x72f0e5(0xdc)](_0x36ce89=>!_0x5dba37[_0x72f0e5(0xd0)](_0x36ce89)&&_0x36ce89!==_0x359fb3);if(_0x5bb013[_0x72f0e5(0xce)]===0x0)return logger[_0x72f0e5(0xd5)]({'event':_0x72f0e5(0xd1),'tableName':_0x4d9e02},_0x3aec0a['aFUKC']),{'query':null,'values':[]};const _0xf3f3e8=_0x3bb8c1['map'](_0x174713=>{const _0x43a4d8=[..._0x5dba37,..._0x5bb013],_0x1b4969=_0x43a4d8['map'](_0x349a4e=>_0x287f00(_0x174713[_0x349a4e],_0x349a4e));return'('+_0x1b4969['join'](',\x20')+')';}),_0x4d2ee9=_0x5bb013[_0x72f0e5(0x116)](_0x335399=>_0x335399+'\x20=\x20v.'+_0x335399)['join'](_0x3aec0a[_0x72f0e5(0xed)]),_0x105bb7=_0x5dba37[_0x72f0e5(0x116)](_0x2b1008=>'t.'+_0x2b1008+'\x20=\x20v.'+_0x2b1008)['join']('\x20AND\x20'),_0x56ffad='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4d9e02+_0x72f0e5(0x107)+_0x4d2ee9+_0x72f0e5(0xfd)+_0xf3f3e8[_0x72f0e5(0xe7)](_0x72f0e5(0xfe))+_0x72f0e5(0xd4)+[..._0x5dba37,..._0x5bb013][_0x72f0e5(0xe7)](',\x20')+_0x72f0e5(0x100)+_0x105bb7+_0x72f0e5(0x105);return logger['debug']({'event':_0x3aec0a['otwRD'],'tableName':_0x4d9e02,'rowCount':_0x3bb8c1[_0x72f0e5(0xce)],'updateColumns':_0x5bb013['length'],'dbType':'postgresql'},_0x72f0e5(0xe0)),{'query':_0x56ffad,'values':[]};}[a0_0xc1c254(0x10d)](_0x296e73,_0x2297d1,_0x31e443,_0x449726,_0x53f4d0,_0x567f66={}){const _0x309cd7=a0_0xc1c254,_0x13ddcc={'tsiJw':function(_0x1680ef,_0x514a76){return _0x1680ef===_0x514a76;},'aGkjE':'batch_update_no_columns','lhXRJ':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','FTeZy':'\x20AND\x20'};if(_0x296e73[_0x309cd7(0xce)]===0x0)return{'query':null,'values':[]};const _0x1cbb09=this['buildEscapeFunction'](_0x567f66),_0x3776d9=_0x31e443[_0x309cd7(0xdc)](_0x3bd9ba=>!_0x53f4d0[_0x309cd7(0xd0)](_0x3bd9ba)&&_0x3bd9ba!==_0x449726);if(_0x3776d9['length']===0x0)return logger[_0x309cd7(0xd5)]({'event':_0x13ddcc['aGkjE'],'tableName':_0x2297d1},_0x13ddcc[_0x309cd7(0xf9)]),{'query':null,'values':[]};const _0x32f099=[..._0x53f4d0,..._0x3776d9],_0x2fe8f1=_0x296e73[_0x309cd7(0x116)]((_0x9e89d,_0x6deb62)=>{const _0x5d569b=_0x309cd7,_0x19509d={'DceqE':function(_0x536d44,_0x33b07f,_0x4ea230){return _0x536d44(_0x33b07f,_0x4ea230);},'JDUkh':function(_0x3674b8,_0x2a379d){return _0x13ddcc['tsiJw'](_0x3674b8,_0x2a379d);}},_0x172c6c=_0x32f099['map'](_0x29569e=>{const _0x2eee1d=a0_0xdc64,_0x2c8ba4=_0x19509d[_0x2eee1d(0xcd)](_0x1cbb09,_0x9e89d[_0x29569e],_0x29569e);return _0x19509d[_0x2eee1d(0xcf)](_0x6deb62,0x0)?_0x2c8ba4+'\x20AS\x20'+_0x29569e:_0x2c8ba4;});return'\x20\x20\x20\x20SELECT\x20'+_0x172c6c[_0x5d569b(0xe7)](',\x20')+'\x20FROM\x20DUAL';}),_0x398bd7=_0x3776d9['map'](_0x43cb8c=>'t.'+_0x43cb8c+_0x309cd7(0xe6)+_0x43cb8c)['join'](_0x309cd7(0xd9)),_0x311940=_0x53f4d0[_0x309cd7(0x116)](_0x502169=>'t.'+_0x502169+'\x20=\x20v.'+_0x502169)['join'](_0x13ddcc['FTeZy']),_0x1f80af='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x2297d1+_0x309cd7(0xf6)+_0x2fe8f1['join'](_0x309cd7(0xd7))+_0x309cd7(0xcb)+_0x311940+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x398bd7+_0x309cd7(0x105);return logger[_0x309cd7(0xf8)]({'event':'batch_update_built','tableName':_0x2297d1,'rowCount':_0x296e73['length'],'updateColumns':_0x3776d9[_0x309cd7(0xce)],'dbType':'oracle'},_0x309cd7(0x108)),{'query':_0x1f80af,'values':[]};}['_buildBatchUpdateMysql'](_0x196ed9,_0x15ae39,_0x51ba60,_0x4946fb,_0x240f51,_0x15aade={}){const _0x172344=a0_0xc1c254,_0x5c653d={'UYBmj':function(_0x2a6ea3,_0x26aff2){return _0x2a6ea3===_0x26aff2;},'tRWLn':_0x172344(0xfe),'DAUIw':'batch_update_built','vujRc':_0x172344(0xf0),'frQvw':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x5c653d[_0x172344(0x10c)](_0x196ed9['length'],0x0))return{'query':null,'values':[]};const _0x4bf66a=this[_0x172344(0x106)](_0x15aade),_0x57dd55=_0x51ba60[_0x172344(0xdc)](_0x749d1d=>!_0x240f51[_0x172344(0xd0)](_0x749d1d)&&_0x749d1d!==_0x4946fb);if(_0x5c653d['UYBmj'](_0x57dd55[_0x172344(0xce)],0x0))return logger[_0x172344(0xd5)]({'event':_0x172344(0xd1),'tableName':_0x15ae39},_0x172344(0xd2)),{'query':null,'values':[]};const _0x3cda81=[...new Set([..._0x240f51,..._0x57dd55])],_0x99e9ed=_0x196ed9[_0x172344(0x116)](_0x6a916d=>{const _0x2bba93=_0x172344,_0x4c41cb=_0x3cda81[_0x2bba93(0x116)](_0x334df8=>_0x4bf66a(_0x6a916d[_0x334df8],_0x334df8));return'('+_0x4c41cb[_0x2bba93(0xe7)](',\x20')+')';}),_0x2bb3d8=_0x57dd55[_0x172344(0x116)](_0x40eacb=>_0x40eacb+'\x20=\x20VALUES('+_0x40eacb+')')[_0x172344(0xe7)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x45a9a9=_0x172344(0x103)+_0x15ae39+'\x20('+_0x3cda81[_0x172344(0xe7)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x99e9ed['join'](_0x5c653d[_0x172344(0x10a)])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x2bb3d8+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x5c653d['DAUIw'],'tableName':_0x15ae39,'rowCount':_0x196ed9[_0x172344(0xce)],'updateColumns':_0x57dd55[_0x172344(0xce)],'dbType':_0x5c653d[_0x172344(0xf2)]},_0x5c653d[_0x172344(0x111)]),{'query':_0x45a9a9,'values':[]};}['chunkRows'](_0x162396,_0x2e9b99=0x64){const _0x2fc062=a0_0xc1c254,_0x555423={'YQjxD':function(_0x341efd,_0x215a93){return _0x341efd+_0x215a93;}},_0x15dd2b=[];for(let _0x43105c=0x0;_0x43105c<_0x162396['length'];_0x43105c+=_0x2e9b99){_0x15dd2b[_0x2fc062(0xe4)](_0x162396['slice'](_0x43105c,_0x555423['YQjxD'](_0x43105c,_0x2e9b99)));}return _0x15dd2b;}}module['exports']=new UpsertBuilder();
|
|
1
|
+
function a0_0x1176(){const _0x570036=['yM9VBgvHBG','zgf0zq','ieforca','cLnftevdvcaXiezst00Grfvbta','cIaGica','nde0nZuWsKjhvgDs','mZu4odeYow1hvMTgsq','z2v0rgf0ywjHC2vuExbL','cIaGicaGicKGDGOGicaGicbptIaO','uK5YwKW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','Cg9ZDgDYzxnXBa','Cgj4Agm','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','mtrer0TJB0m','zw52','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zM9YBwf0rgf0zvzHBhvL','Aw5JBhvKzxm','CMvWBgfJzq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','vvfRCK0','AM9PBG','mMDKBMjyBW','mtqWvhjMv2rm','B3jHy2XL','yMf0y2HFDxbKyxrLx2j1AwX0','BgvUz3rO','DhLWzq','id0GDI4','zwzXruy','DuvguMi','AuzJqLu','wNDws1e','B2DzANe','tvLtuuW','ihqkicaGicaGvvnjtKCGkaO','zgvIDwC','lI9SB2DNzxi','ue9tveDsrvnrta','ze50DLK','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','t1jbq0Xf','tLvmta','C3rYAw5N','wwDRrwi','C2XPy2u','q0ftvcG','BwfW','EwrPsu0','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','cIaGicaGie1fuKDfieLove8G','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','otC3mJK1sLLNq21T','C3fSAxrL','v3nMsfG','yKrjru4','u1fmsvrf','mty1nZm2AKXRyMDl','A0zXD1u','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','laOGicaGicaGia','qKfjBgO','mZaYndG0nZfQrhjlBum','BxLZCwW','kqOGicaGicbwquXvrvmG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','wu9rC1K','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','lcaNwvLzws1nts1ercCP','B0PIB3O','tMrwwhi','BfHsCfC','zMLSDgvY','tLvmtdO6refurq','icbjtLrpia','cIaGicaGicKGqvmGDIG','id0GvKfmvuvtka','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','mtK4otKWnLLADgzpyG','oJPeqvrf','mJbHy3niDu8','ksbwquXvrvmGka','laOGicaGicaGica','A1H6tNe','BuTTBKy','D2fYBG','mJe1mdaYngnfsLzJtq','z0zRD3C'];a0_0x1176=function(){return _0x570036;};return a0_0x1176();}const a0_0x5ce165=a0_0x5d9c;(function(_0x2e01f5,_0x7474d6){const _0x3aba85=a0_0x5d9c,_0x4ea056=_0x2e01f5();while(!![]){try{const _0x64d5dd=parseInt(_0x3aba85(0xdc))/0x1+parseInt(_0x3aba85(0x94))/0x2*(parseInt(_0x3aba85(0xb2))/0x3)+parseInt(_0x3aba85(0xb7))/0x4*(-parseInt(_0x3aba85(0x95))/0x5)+parseInt(_0x3aba85(0xcd))/0x6*(-parseInt(_0x3aba85(0xe6))/0x7)+-parseInt(_0x3aba85(0xd5))/0x8+parseInt(_0x3aba85(0xdd))/0x9*(-parseInt(_0x3aba85(0xcf))/0xa)+parseInt(_0x3aba85(0xbd))/0xb;if(_0x64d5dd===_0x7474d6)break;else _0x4ea056['push'](_0x4ea056['shift']());}catch(_0x3cfef2){_0x4ea056['push'](_0x4ea056['shift']());}}}(a0_0x1176,0x92ae7));const {logger}=require(a0_0x5ce165(0xa3)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x5ce165(0xb3)};function a0_0x5d9c(_0x157a14,_0x58ba1a){_0x157a14=_0x157a14-0x94;const _0x117608=a0_0x1176();let _0x5d9c89=_0x117608[_0x157a14];if(a0_0x5d9c['yfIcxN']===undefined){var _0x530e3b=function(_0x9ba408){const _0x1ee0f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f770d='',_0x1a6783='';for(let _0x257331=0x0,_0x479c21,_0x25cc48,_0xe25dc8=0x0;_0x25cc48=_0x9ba408['charAt'](_0xe25dc8++);~_0x25cc48&&(_0x479c21=_0x257331%0x4?_0x479c21*0x40+_0x25cc48:_0x25cc48,_0x257331++%0x4)?_0x2f770d+=String['fromCharCode'](0xff&_0x479c21>>(-0x2*_0x257331&0x6)):0x0){_0x25cc48=_0x1ee0f2['indexOf'](_0x25cc48);}for(let _0x3cb899=0x0,_0x56bea8=_0x2f770d['length'];_0x3cb899<_0x56bea8;_0x3cb899++){_0x1a6783+='%'+('00'+_0x2f770d['charCodeAt'](_0x3cb899)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a6783);};a0_0x5d9c['SzEXLG']=_0x530e3b,a0_0x5d9c['obzdAV']={},a0_0x5d9c['yfIcxN']=!![];}const _0x161b91=_0x117608[0x0],_0x2b2001=_0x157a14+_0x161b91,_0x40bf0d=a0_0x5d9c['obzdAV'][_0x2b2001];return!_0x40bf0d?(_0x5d9c89=a0_0x5d9c['SzEXLG'](_0x5d9c89),a0_0x5d9c['obzdAV'][_0x2b2001]=_0x5d9c89):_0x5d9c89=_0x40bf0d,_0x5d9c89;}class UpsertBuilder{[a0_0x5ce165(0xde)](){const _0x2468dd=a0_0x5ce165,_0x3c2e06=(process[_0x2468dd(0xe7)]['DB_TYPE']||_0x2468dd(0xe3))['toLowerCase'](),_0x1a0b3d=Object['values'](DB_TYPES);if(!_0x1a0b3d['includes'](_0x3c2e06))return logger[_0x2468dd(0xd4)]({'event':'invalid_db_type','provided':_0x3c2e06,'fallback':'postgresql'},'Invalid\x20DB_TYPE:\x20'+_0x3c2e06+_0x2468dd(0xb1)),DB_TYPES[_0x2468dd(0xa4)];return _0x3c2e06;}['formatDateValue'](_0x35602e,_0x5ce653,_0x242c99=![]){const _0x56a170=a0_0x5ce165,_0x5a89b6={'dNtvY':'NULL'};if(_0x242c99)switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return _0x5a89b6['dNtvY'];case DB_TYPES[_0x56a170(0xb6)]:return'NULL';case DB_TYPES['SQLSERVER']:return _0x56a170(0xa8);case DB_TYPES['ORACLE']:return _0x5a89b6[_0x56a170(0xa5)];default:return _0x56a170(0xc8);}switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return _0x35602e+_0x56a170(0xce);case DB_TYPES[_0x56a170(0xa0)]:return _0x35602e;case DB_TYPES[_0x56a170(0xb6)]:return _0x35602e;case DB_TYPES['SQLSERVER']:return _0x56a170(0xac)+_0x35602e+'\x20AS\x20DATE)';case DB_TYPES[_0x56a170(0xa7)]:return'TO_DATE('+_0x35602e+_0x56a170(0xc3);default:return _0x35602e+'::DATE';}}['buildEscapeFunction'](_0x3f6367={}){const _0x143d66=a0_0x5ce165,_0xbce794={'efqEF':function(_0x22fb8c,_0x26ce99){return _0x22fb8c===_0x26ce99;},'oJboz':function(_0x4cfe05,_0x4a2502){return _0x4cfe05===_0x4a2502;},'QwHPU':function(_0x27d836,_0x5be840){return _0x27d836===_0x5be840;},'YOQsY':'date','RNrZL':function(_0x504391,_0x36b156){return _0x504391===_0x36b156;},'lXRpW':_0x143d66(0xd7),'UQkrM':function(_0x3bfd43,_0x58a402){return _0x3bfd43(_0x58a402);}},_0x59c77a=this['getDatabaseType']();return(_0x4b12d8,_0x1a672a)=>{const _0x752b9a=_0x143d66,_0xd6e8e7=_0x3f6367[_0x1a672a];if(_0xbce794[_0x752b9a(0x9b)](_0x4b12d8,null)||_0xbce794[_0x752b9a(0xc4)](_0x4b12d8,undefined)){if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],'date'))return this['formatDateValue'](null,_0x59c77a,!![]);return'NULL';}if(_0xbce794['QwHPU'](typeof _0x4b12d8,_0x752b9a(0xa9))){const _0x12526c='\x27'+_0x4b12d8[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],_0xbce794[_0x752b9a(0xc1)]))return this['formatDateValue'](_0x12526c,_0x59c77a,![]);return _0x12526c;}if(_0xbce794[_0x752b9a(0xe0)](typeof _0x4b12d8,'number'))return _0x4b12d8;if(_0xbce794['RNrZL'](typeof _0x4b12d8,_0xbce794[_0x752b9a(0xc6)]))return _0x4b12d8;const _0x1c0aa2='\x27'+_0xbce794[_0x752b9a(0xed)](String,_0x4b12d8)[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xd6e8e7['type']===_0x752b9a(0xd8))return this[_0x752b9a(0xe9)](_0x1c0aa2,_0x59c77a,![]);return _0x1c0aa2;};}['buildBatchInsert'](_0xb59203,_0x2a2782,_0x221201,_0x29dd69={}){const _0x304b89=a0_0x5ce165,_0x1b2ac1=this['getDatabaseType']();if(_0x1b2ac1===DB_TYPES[_0x304b89(0xa7)])return this[_0x304b89(0xe5)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);return this[_0x304b89(0xaf)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);}['_buildBatchInsertPostgres'](_0x3528fb,_0xa0299f,_0x4131a1,_0x5ca808={}){const _0x2b6636=a0_0x5ce165,_0x27f9c5={'ZwVKQ':function(_0x3d18ba,_0x3bcc3e){return _0x3d18ba===_0x3bcc3e;},'KwAwQ':'batch_insert_built'};if(_0x27f9c5[_0x2b6636(0x9e)](_0x3528fb[_0x2b6636(0x98)],0x0))return{'query':null,'values':[]};const _0x426c95=this['buildEscapeFunction'](_0x5ca808),_0x461199=_0x3528fb['map'](_0x30c9e5=>{const _0x11aea4=_0x4131a1['map'](_0x498c2a=>_0x426c95(_0x30c9e5[_0x498c2a],_0x498c2a));return'('+_0x11aea4['join'](',\x20')+')';}),_0x27ee4d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xa0299f+'\x20('+_0x4131a1['join'](',\x20')+_0x2b6636(0xbf)+_0x461199[_0x2b6636(0xee)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x2b6636(0xa2)]({'event':_0x27f9c5['KwAwQ'],'tableName':_0xa0299f,'rowCount':_0x3528fb['length'],'dbType':'postgresql'},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x27ee4d,'values':[]};}[a0_0x5ce165(0xe5)](_0x42d3d9,_0x616ea7,_0x3c9f3e,_0x3c3f69={}){const _0x281d00=a0_0x5ce165,_0x5302c3={'kspgy':function(_0x571eb6,_0x27804d){return _0x571eb6===_0x27804d;},'uNCdH':'batch_insert_built','mKmnF':_0x281d00(0xe8)};if(_0x5302c3['kspgy'](_0x42d3d9[_0x281d00(0x98)],0x0))return{'query':null,'values':[]};const _0x54baa1=this['buildEscapeFunction'](_0x3c3f69),_0x31b40d=_0x42d3d9['map'](_0x207b39=>{const _0xc70641=_0x281d00,_0x33ab25=_0x3c9f3e[_0xc70641(0xad)](_0x27993a=>_0x54baa1(_0x207b39[_0x27993a],_0x27993a));return _0xc70641(0xc9)+_0x616ea7+'\x20('+_0x3c9f3e[_0xc70641(0xee)](',\x20')+_0xc70641(0xd0)+_0x33ab25[_0xc70641(0xee)](',\x20')+')';}),_0x4fa162='INSERT\x20ALL\x0a'+_0x31b40d[_0x281d00(0xee)]('\x0a')+_0x281d00(0xda);return logger['debug']({'event':_0x5302c3['uNCdH'],'tableName':_0x616ea7,'rowCount':_0x42d3d9[_0x281d00(0x98)],'dbType':'oracle'},_0x5302c3[_0x281d00(0xd3)]),{'query':_0x4fa162,'values':[]};}['buildBatchUpdate'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f={}){const _0x10ccc0=a0_0x5ce165,_0x31fae2={'YgkEb':function(_0x5e02b8,_0x1c7ca){return _0x5e02b8===_0x1c7ca;}},_0x2bab70=this[_0x10ccc0(0xde)]();if(_0x2bab70===DB_TYPES['ORACLE'])return this[_0x10ccc0(0xc0)](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);if(_0x31fae2[_0x10ccc0(0xaa)](_0x2bab70,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);return this['_buildBatchUpdatePostgres'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);}['_buildBatchUpdatePostgres'](_0x5809e4,_0x4a8fd7,_0x3d6d24,_0x468bbd,_0x50215b,_0xf2075e={}){const _0x14e746=a0_0x5ce165,_0x418828={'gBKTS':function(_0x2961f5,_0xa9458f){return _0x2961f5===_0xa9458f;},'NdVXr':'batch_update_no_columns','FJFGB':_0x14e746(0xba),'DUGEp':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','XxEGU':'\x20AND\x20'};if(_0x5809e4[_0x14e746(0x98)]===0x0)return{'query':null,'values':[]};const _0x43227c=this['buildEscapeFunction'](_0xf2075e),_0x115097=_0x3d6d24[_0x14e746(0xc7)](_0xd6edaf=>!_0x50215b['includes'](_0xd6edaf)&&_0xd6edaf!==_0x468bbd);if(_0x418828['gBKTS'](_0x115097['length'],0x0))return logger['warn']({'event':_0x418828[_0x14e746(0xc5)],'tableName':_0x4a8fd7},_0x418828['FJFGB']),{'query':null,'values':[]};const _0x771d32=_0x5809e4[_0x14e746(0xad)](_0x387a9a=>{const _0x10990c=_0x14e746,_0xeacfe7=[..._0x50215b,..._0x115097],_0x273d1a=_0xeacfe7[_0x10990c(0xad)](_0x5b8ce7=>_0x43227c(_0x387a9a[_0x5b8ce7],_0x5b8ce7));return'('+_0x273d1a[_0x10990c(0xee)](',\x20')+')';}),_0x2469b9=_0x115097['map'](_0x33d6c3=>_0x33d6c3+_0x14e746(0x9a)+_0x33d6c3)[_0x14e746(0xee)](_0x418828['DUGEp']),_0x33cc3f=_0x50215b['map'](_0x28bcd0=>'t.'+_0x28bcd0+'\x20=\x20v.'+_0x28bcd0)[_0x14e746(0xee)](_0x418828['XxEGU']),_0x4c6240='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4a8fd7+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x2469b9+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x771d32['join'](_0x14e746(0xbb))+_0x14e746(0xca)+[..._0x50215b,..._0x115097]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x33cc3f+'\x0a\x20\x20\x20\x20';return logger[_0x14e746(0xa2)]({'event':_0x14e746(0x97),'tableName':_0x4a8fd7,'rowCount':_0x5809e4['length'],'updateColumns':_0x115097['length'],'dbType':_0x14e746(0xe3)},_0x14e746(0xec)),{'query':_0x4c6240,'values':[]};}['_buildBatchUpdateOracle'](_0x429986,_0x465eec,_0xa8ba8,_0x28a83c,_0x48dd43,_0x1ff87b={}){const _0x48e3cc=a0_0x5ce165,_0x2e205a={'BAIlj':function(_0x246b55,_0x2c67b5,_0x1dde7c){return _0x246b55(_0x2c67b5,_0x1dde7c);},'WsfHX':function(_0x33213e,_0x4f6d11){return _0x33213e===_0x4f6d11;},'ogYjq':function(_0x53e654,_0x450e3b){return _0x53e654===_0x450e3b;},'BEFQw':_0x48e3cc(0xd1),'pbxhc':_0x48e3cc(0xd9),'kXzNq':_0x48e3cc(0x97),'GDRVB':_0x48e3cc(0x96),'SwoSo':_0x48e3cc(0xe2)};if(_0x2e205a[_0x48e3cc(0x9f)](_0x429986[_0x48e3cc(0x98)],0x0))return{'query':null,'values':[]};const _0x2c203b=this['buildEscapeFunction'](_0x1ff87b),_0x26c08a=_0xa8ba8['filter'](_0x5160e2=>!_0x48dd43['includes'](_0x5160e2)&&_0x5160e2!==_0x28a83c);if(_0x2e205a[_0x48e3cc(0x9f)](_0x26c08a[_0x48e3cc(0x98)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x465eec},_0x48e3cc(0xba)),{'query':null,'values':[]};const _0x2ab18e=[..._0x48dd43,..._0x26c08a],_0x243dbd=_0x429986['map']((_0x59e167,_0x376e22)=>{const _0x40c2b5=_0x48e3cc,_0x169cb0={'kFqwU':function(_0x2de949,_0xe87a2c,_0x28cc93){const _0x163901=a0_0x5d9c;return _0x2e205a[_0x163901(0xbc)](_0x2de949,_0xe87a2c,_0x28cc93);},'iFcBU':function(_0x1792b5,_0x4d888f){const _0x1e687c=a0_0x5d9c;return _0x2e205a[_0x1e687c(0xb4)](_0x1792b5,_0x4d888f);}},_0x353ab0=_0x2ab18e['map'](_0x5be43a=>{const _0x4de747=a0_0x5d9c,_0x4b9f26=_0x169cb0[_0x4de747(0xb8)](_0x2c203b,_0x59e167[_0x5be43a],_0x5be43a);return _0x169cb0[_0x4de747(0x9d)](_0x376e22,0x0)?_0x4b9f26+'\x20AS\x20'+_0x5be43a:_0x4b9f26;});return'\x20\x20\x20\x20SELECT\x20'+_0x353ab0[_0x40c2b5(0xee)](',\x20')+'\x20FROM\x20DUAL';}),_0x398934=_0x26c08a[_0x48e3cc(0xad)](_0x1c226c=>'t.'+_0x1c226c+'\x20=\x20v.'+_0x1c226c)['join'](_0x2e205a['BEFQw']),_0x12752c=_0x48dd43['map'](_0x22f212=>'t.'+_0x22f212+'\x20=\x20v.'+_0x22f212)['join'](_0x2e205a[_0x48e3cc(0xe4)]),_0x381271=_0x48e3cc(0xb0)+_0x465eec+_0x48e3cc(0xa1)+_0x243dbd['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+_0x48e3cc(0xdf)+_0x12752c+_0x48e3cc(0xb9)+_0x398934+_0x48e3cc(0xdb);return logger[_0x48e3cc(0xa2)]({'event':_0x2e205a[_0x48e3cc(0xd2)],'tableName':_0x465eec,'rowCount':_0x429986['length'],'updateColumns':_0x26c08a[_0x48e3cc(0x98)],'dbType':_0x2e205a['GDRVB']},_0x2e205a['SwoSo']),{'query':_0x381271,'values':[]};}[a0_0x5ce165(0xa6)](_0x49cbcd,_0x501bab,_0x15f557,_0x10b42c,_0x323ee8,_0x5d39ca={}){const _0x5a9d75=a0_0x5ce165,_0x31f193={'vbIUm':function(_0x555432,_0x2bad26){return _0x555432===_0x2bad26;},'uEFRb':_0x5a9d75(0xcc),'KmZFA':_0x5a9d75(0xba),'bDIEN':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','gFkww':_0x5a9d75(0xbe),'ADarI':_0x5a9d75(0xc2)};if(_0x31f193['vbIUm'](_0x49cbcd['length'],0x0))return{'query':null,'values':[]};const _0xde7dee=this['buildEscapeFunction'](_0x5d39ca),_0x42eccf=_0x15f557[_0x5a9d75(0xc7)](_0x4f8a1d=>!_0x323ee8[_0x5a9d75(0xea)](_0x4f8a1d)&&_0x4f8a1d!==_0x10b42c);if(_0x42eccf[_0x5a9d75(0x98)]===0x0)return logger[_0x5a9d75(0xd4)]({'event':_0x31f193[_0x5a9d75(0x9c)],'tableName':_0x501bab},_0x31f193['KmZFA']),{'query':null,'values':[]};const _0x234aef=[...new Set([..._0x323ee8,..._0x42eccf])],_0x154c0d=_0x49cbcd[_0x5a9d75(0xad)](_0x38223f=>{const _0x1f2dc1=_0x5a9d75,_0x3388d0=_0x234aef[_0x1f2dc1(0xad)](_0x406e6e=>_0xde7dee(_0x38223f[_0x406e6e],_0x406e6e));return'('+_0x3388d0[_0x1f2dc1(0xee)](',\x20')+')';}),_0x1c0993=_0x42eccf[_0x5a9d75(0xad)](_0x5f1d5e=>_0x5f1d5e+_0x5a9d75(0xcb)+_0x5f1d5e+')')['join'](_0x5a9d75(0xd1)),_0x10c5e9='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x501bab+'\x20('+_0x234aef['join'](',\x20')+_0x5a9d75(0xbf)+_0x154c0d[_0x5a9d75(0xee)](_0x31f193[_0x5a9d75(0xb5)])+_0x5a9d75(0xe1)+_0x1c0993+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x501bab,'rowCount':_0x49cbcd['length'],'updateColumns':_0x42eccf['length'],'dbType':_0x31f193[_0x5a9d75(0xd6)]},_0x31f193['ADarI']),{'query':_0x10c5e9,'values':[]};}['chunkRows'](_0x1bdb71,_0x49ca27=0x64){const _0x13c104=a0_0x5ce165,_0xe11d12={'ydiIM':function(_0x44b71a,_0xbf7cda){return _0x44b71a+_0xbf7cda;}},_0x4ab9cd=[];for(let _0x196dbe=0x0;_0x196dbe<_0x1bdb71[_0x13c104(0x98)];_0x196dbe+=_0x49ca27){_0x4ab9cd['push'](_0x1bdb71[_0x13c104(0xab)](_0x196dbe,_0xe11d12[_0x13c104(0xae)](_0x196dbe,_0x49ca27)));}return _0x4ab9cd;}}module['exports']=new UpsertBuilder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x35f18f=a0_0x25ff;(function(_0x174816,_0x59ba7e){const _0x1fedee=a0_0x25ff,_0x402fb6=_0x174816();while(!![]){try{const _0x19eff3=-parseInt(_0x1fedee(0xfb))/0x1+parseInt(_0x1fedee(0xf3))/0x2*(-parseInt(_0x1fedee(0xfe))/0x3)+-parseInt(_0x1fedee(0x100))/0x4*(parseInt(_0x1fedee(0xf2))/0x5)+parseInt(_0x1fedee(0x108))/0x6+-parseInt(_0x1fedee(0x112))/0x7+parseInt(_0x1fedee(0x136))/0x8+parseInt(_0x1fedee(0xf4))/0x9;if(_0x19eff3===_0x59ba7e)break;else _0x402fb6['push'](_0x402fb6['shift']());}catch(_0x1fed46){_0x402fb6['push'](_0x402fb6['shift']());}}}(a0_0x1e40,0xddd93));const express=require('express'),{logger}=require(a0_0x35f18f(0x11a)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require('../../utils/redis-client'),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 _0x32fbfe=a0_0x35f18f,_0x3d6370={'pSMxu':function(_0x24b22e,_0x2530cb){return _0x24b22e(_0x2530cb);},'AOImz':_0x32fbfe(0x11f),'xIqPK':function(_0x332337,_0x5b9fca){return _0x332337===_0x5b9fca;},'zRUzs':function(_0x35e031,_0x5f3b29){return _0x35e031(_0x5f3b29);},'HpqSX':function(_0x3d3e9c,_0x43895e,_0x398f2a,_0x59d0c6){return _0x3d3e9c(_0x43895e,_0x398f2a,_0x59d0c6);},'XpYFP':function(_0xc3bdbc,_0xedada0,_0xbcef71,_0x253df4){return _0xc3bdbc(_0xedada0,_0xbcef71,_0x253df4);},'mrzuN':function(_0x14a6c5,_0x1438b2){return _0x14a6c5(_0x1438b2);},'VYTGI':'idgen_route_reserve_error','hocic':function(_0x45bc16,_0x1d3f74){return _0x45bc16(_0x1d3f74);},'DZbBz':'Reservation\x20confirmed','xhVRk':'Reservation\x20cancelled','USRWQ':function(_0x409106,_0x49d536,_0x27536a,_0x44743c){return _0x409106(_0x49d536,_0x27536a,_0x44743c);},'EaMNm':_0x32fbfe(0xf1),'TDBLC':function(_0x53e7ba){return _0x53e7ba();},'UCSly':function(_0x584cf1){return _0x584cf1();},'fLkAD':'Reservation\x20retrieved','yWodU':_0x32fbfe(0x105),'vkUbx':function(_0x2cfaa6,_0x26e742){return _0x2cfaa6(_0x26e742);},'zsaFp':_0x32fbfe(0x13f),'NBLui':_0x32fbfe(0xfa),'FdIjQ':function(_0x30d438){return _0x30d438();},'gEKfj':_0x32fbfe(0x11b),'GkxzE':'Code\x20generated\x20successfully','crmrC':'idgen_route_code_error','kwOHC':function(_0x5869dc,_0x4b4d23,_0x4afb50,_0x175e5a){return _0x5869dc(_0x4b4d23,_0x4afb50,_0x175e5a);},'DkGXf':'idgen_route_random_error','iBMkT':function(_0xe49e40){return _0xe49e40();},'vTthY':function(_0x2083a6,_0x5305d5,_0x3e14b7,_0x2cd9eb){return _0x2083a6(_0x5305d5,_0x3e14b7,_0x2cd9eb);},'BMXqM':_0x32fbfe(0x13a),'prAlq':function(_0x572402,_0x156ee2,_0x2ae56d,_0x9ddf1d){return _0x572402(_0x156ee2,_0x2ae56d,_0x9ddf1d);},'icins':'idgen_route_info_error','uxyiy':function(_0xe8790a,_0x3277c8){return _0xe8790a||_0x3277c8;},'AhrfR':function(_0x1251a5,_0x1ba425,_0x143004,_0x486b82){return _0x1251a5(_0x1ba425,_0x143004,_0x486b82);},'KCcoq':function(_0x5bdf62){return _0x5bdf62();},'tdHSV':_0x32fbfe(0x137),'QNUmm':_0x32fbfe(0x12f),'Rfdmc':_0x32fbfe(0x133),'ZKOOS':_0x32fbfe(0x132),'pdSqq':function(_0x3fcd17,_0x3ba758,_0x3989d7,_0x4d4486){return _0x3fcd17(_0x3ba758,_0x3989d7,_0x4d4486);},'NtXzC':_0x32fbfe(0x139),'yLfZC':'/pin','BUECH':'/serial'},_0x3c16e9=express[_0x32fbfe(0x125)]();let _0xc090ba=null;function _0x499aaf(){const _0x5f398c=_0x32fbfe;return!_0xc090ba&&(_0xc090ba=_0x3d6370['pSMxu'](require,_0x3d6370[_0x5f398c(0x10b)])),_0xc090ba;}function _0x22340f(_0x528229,_0xcb8f79,_0x11836a){const _0x255b97=_0x32fbfe;if(_0xcb8f79&&_0x3d6370['xIqPK'](_0xcb8f79[_0x255b97(0x103)],_0x255b97(0x111))){const _0x2fe2af=ERROR_CODE_HTTP_MAP[_0xcb8f79['code']]||0x1f4;return logger['warn']({'event':_0x11836a,'code':_0xcb8f79[_0x255b97(0x110)],'message':_0xcb8f79['message']},_0x255b97(0xf7)+_0xcb8f79['code']),_0x528229[_0x255b97(0x10f)](_0x2fe2af)[_0x255b97(0x115)](createError(_0x2fe2af,_0xcb8f79[_0x255b97(0x12a)],{'code':_0xcb8f79['code'],'details':_0xcb8f79['details']||null}));}return logger['error']({'event':_0x11836a,'error':_0xcb8f79&&_0xcb8f79[_0x255b97(0x12a)],'stack':_0xcb8f79&&_0xcb8f79[_0x255b97(0x106)]},'ID\x20Generator\x20route\x20exception:\x20'+(_0xcb8f79&&_0xcb8f79['message'])),_0x528229[_0x255b97(0x10f)](0x1f4)['json'](createError(0x1f4,_0x255b97(0x101),null));}function _0x16eab5(_0x1f8d3b){const _0x2ac8b4=_0x32fbfe;return _0x1f8d3b[_0x2ac8b4(0x131)]('Idempotency-Key')||undefined;}return _0x3c16e9[_0x32fbfe(0x134)](_0x32fbfe(0x121),async(_0x91189d,_0x1cee47)=>{const _0x2e9dfc=_0x32fbfe;try{const {resource:_0x269a6b,format:_0x8ac618,prefix:_0x33cccb,separator:_0x17602c,numDigits:_0x33ec35,reuseDelete:_0x53cd70}=_0x91189d[_0x2e9dfc(0x130)]||{},_0x4af021=_0x16eab5(_0x91189d),_0x2322f4=_0x499aaf(),_0x392c76=await _0x2322f4[_0x2e9dfc(0xf5)]({'resource':_0x269a6b,'format':_0x8ac618,'prefix':_0x33cccb,'separator':_0x17602c,'numDigits':_0x33ec35,'reuseDelete':_0x53cd70,'idempotencyKey':_0x4af021});return _0x1cee47[_0x2e9dfc(0x10f)](0xc9)[_0x2e9dfc(0x115)](createResponse(0xc9,_0x2e9dfc(0x128),_0x392c76));}catch(_0x218d96){return _0x22340f(_0x1cee47,_0x218d96,_0x2e9dfc(0xf6));}}),_0x3c16e9[_0x32fbfe(0x134)]('/number/release',async(_0x347a7d,_0x39fcf8)=>{const _0x3bbde9=_0x32fbfe;try{const _0xa84c7=_0x3d6370[_0x3bbde9(0xef)](_0x16eab5,_0x347a7d),_0x216978={..._0x347a7d['body']||{},'idempotencyKey':_0xa84c7},_0x4a5cee=_0x499aaf(),_0x46a7f2=await _0x4a5cee['releaseNumber'](_0x216978);return _0x39fcf8['status'](0xc8)[_0x3bbde9(0x115)](_0x3d6370['HpqSX'](createResponse,0xc8,'Number\x20released\x20to\x20reuse\x20pool',_0x46a7f2));}catch(_0x2fff2b){return _0x3d6370['XpYFP'](_0x22340f,_0x39fcf8,_0x2fff2b,_0x3bbde9(0x135));}}),_0x3c16e9[_0x32fbfe(0x134)](_0x32fbfe(0x118),async(_0x55a753,_0x458d84)=>{const _0x394def=_0x32fbfe;try{const {resource:_0x9c7d15,format:_0x13b4e2,prefix:_0x27a576,separator:_0x4d3bd6,numDigits:_0x31ddfb,reuseDelete:_0x2ce651,ttl:_0x19ddae}=_0x55a753['body']||{},_0x3bddfb=_0x3d6370['mrzuN'](_0x16eab5,_0x55a753),_0xabbb59=_0x499aaf(),_0x315d16=await _0xabbb59['reserveNumber']({'resource':_0x9c7d15,'format':_0x13b4e2,'prefix':_0x27a576,'separator':_0x4d3bd6,'numDigits':_0x31ddfb,'reuseDelete':_0x2ce651,'ttl':_0x19ddae,'idempotencyKey':_0x3bddfb});return _0x458d84[_0x394def(0x10f)](0xc9)[_0x394def(0x115)](createResponse(0xc9,'Number\x20reserved\x20successfully',_0x315d16));}catch(_0x23629f){return _0x22340f(_0x458d84,_0x23629f,_0x3d6370[_0x394def(0x109)]);}}),_0x3c16e9[_0x32fbfe(0x134)]('/reserve/confirm',async(_0x287362,_0x22c53a)=>{const _0x54103b=_0x32fbfe;try{const {token:_0x10317c}=_0x287362['body']||{},_0x3e7969=_0x3d6370['hocic'](_0x16eab5,_0x287362),_0x5f59da=_0x499aaf(),_0x5283aa=await _0x5f59da[_0x54103b(0x11e)]({'token':_0x10317c,'idempotencyKey':_0x3e7969});return _0x22c53a[_0x54103b(0x10f)](0xc8)[_0x54103b(0x115)](createResponse(0xc8,_0x3d6370['DZbBz'],_0x5283aa));}catch(_0x33c89d){return _0x3d6370['XpYFP'](_0x22340f,_0x22c53a,_0x33c89d,_0x54103b(0x10c));}}),_0x3c16e9['post']('/reserve/cancel',async(_0x4b7925,_0x44fc21)=>{const _0x372ab2=_0x32fbfe;try{const {token:_0x2c2277}=_0x4b7925[_0x372ab2(0x130)]||{},_0x36d619=_0x3d6370['hocic'](_0x16eab5,_0x4b7925),_0x43f4d8=_0x499aaf(),_0x3ffcba=await _0x43f4d8['cancelReservation']({'token':_0x2c2277,'idempotencyKey':_0x36d619});return _0x44fc21['status'](0xc8)['json'](_0x3d6370[_0x372ab2(0x141)](createResponse,0xc8,_0x3d6370['xhVRk'],_0x3ffcba));}catch(_0x4b79be){return _0x3d6370[_0x372ab2(0x102)](_0x22340f,_0x44fc21,_0x4b79be,_0x3d6370['EaMNm']);}}),_0x3c16e9['post'](_0x32fbfe(0x116),async(_0x136846,_0x9632b3)=>{const _0x15ecef=_0x32fbfe;try{const {token:_0x57bd8c,ttl:_0x20f8ea}=_0x136846[_0x15ecef(0x130)]||{},_0x5d086b=_0x3d6370['zRUzs'](_0x16eab5,_0x136846),_0x424259=_0x3d6370['TDBLC'](_0x499aaf),_0x13318b=await _0x424259[_0x15ecef(0x119)]({'token':_0x57bd8c,'ttl':_0x20f8ea,'idempotencyKey':_0x5d086b});return _0x9632b3['status'](0xc8)[_0x15ecef(0x115)](createResponse(0xc8,_0x15ecef(0x120),_0x13318b));}catch(_0x1ac36e){return _0x22340f(_0x9632b3,_0x1ac36e,_0x15ecef(0x126));}}),_0x3c16e9['get'](_0x3d6370[_0x32fbfe(0x127)],async(_0x2f08a3,_0x345c39)=>{const _0x467ca8=_0x32fbfe;try{const {token:_0x59ac0a}=_0x2f08a3[_0x467ca8(0x13e)],_0x12249e=_0x3d6370[_0x467ca8(0x123)](_0x499aaf),_0x1f0ac0=await _0x12249e['getReservation']({'token':_0x59ac0a});return _0x345c39[_0x467ca8(0x10f)](0xc8)[_0x467ca8(0x115)](createResponse(0xc8,_0x3d6370[_0x467ca8(0x12d)],_0x1f0ac0));}catch(_0x3a52d6){return _0x3d6370['HpqSX'](_0x22340f,_0x345c39,_0x3a52d6,_0x3d6370[_0x467ca8(0x114)]);}}),_0x3c16e9[_0x32fbfe(0x134)](_0x3d6370[_0x32fbfe(0x107)],async(_0x20066c,_0x2663a2)=>{const _0x1d6333=_0x32fbfe;try{const {resource:_0x2b6be4,digits:_0x43f943,ensureUnique:_0x580cd9,ttl:_0x13fc4b,maxRetry:_0x5ba6f3}=_0x20066c[_0x1d6333(0x130)]||{},_0x2d7a45=_0x3d6370['vkUbx'](_0x16eab5,_0x20066c),_0x312a7c=_0x499aaf(),_0x38fb7c=await _0x312a7c['pin']({'resource':_0x2b6be4,'digits':_0x43f943,'ensureUnique':_0x580cd9,'ttl':_0x13fc4b,'maxRetry':_0x5ba6f3,'idempotencyKey':_0x2d7a45});return _0x2663a2[_0x1d6333(0x10f)](0xc9)['json'](_0x3d6370[_0x1d6333(0x102)](createResponse,0xc9,_0x3d6370['zsaFp'],_0x38fb7c));}catch(_0x57de8d){return _0x22340f(_0x2663a2,_0x57de8d,_0x3d6370[_0x1d6333(0xee)]);}}),_0x3c16e9['post'](_0x3d6370[_0x32fbfe(0xff)],async(_0x52d386,_0x315fb0)=>{const _0x1e42c0=_0x32fbfe;try{const {resource:_0x718e6,pattern:_0x2eaf2d,ensureUnique:_0x2b3dd1,ttl:_0x31e879,maxRetry:_0x2bcd25}=_0x52d386['body']||{},_0x39c8f6=_0x16eab5(_0x52d386),_0x32349f=_0x3d6370[_0x1e42c0(0xfc)](_0x499aaf),_0x2712be=await _0x32349f[_0x1e42c0(0x124)]({'resource':_0x718e6,'pattern':_0x2eaf2d,'ensureUnique':_0x2b3dd1,'ttl':_0x31e879,'maxRetry':_0x2bcd25,'idempotencyKey':_0x39c8f6});return _0x315fb0['status'](0xc9)[_0x1e42c0(0x115)](createResponse(0xc9,_0x3d6370['gEKfj'],_0x2712be));}catch(_0x252561){return _0x22340f(_0x315fb0,_0x252561,_0x1e42c0(0x113));}}),_0x3c16e9['post'](_0x32fbfe(0x10e),async(_0x141584,_0x41de95)=>{const _0x307fe8=_0x32fbfe;try{const {resource:_0x1a0fca,pattern:_0x48b81b,ensureUnique:_0x2febcb,ttl:_0x5bc436,maxRetry:_0x4ba016}=_0x141584[_0x307fe8(0x130)]||{},_0x444775=_0x16eab5(_0x141584),_0x2c0388=_0x3d6370['UCSly'](_0x499aaf),_0x3ab66b=await _0x2c0388[_0x307fe8(0x110)]({'resource':_0x1a0fca,'pattern':_0x48b81b,'ensureUnique':_0x2febcb,'ttl':_0x5bc436,'maxRetry':_0x4ba016,'idempotencyKey':_0x444775});return _0x41de95[_0x307fe8(0x10f)](0xc9)['json'](createResponse(0xc9,_0x3d6370[_0x307fe8(0x11c)],_0x3ab66b));}catch(_0x17f0ca){return _0x22340f(_0x41de95,_0x17f0ca,_0x3d6370['crmrC']);}}),_0x3c16e9['post']('/random',async(_0x1ef949,_0x110bec)=>{const _0x44e151=_0x32fbfe;try{const {resource:_0x397c65,pattern:_0x456637,ensureUnique:_0x311140,ttl:_0x49973f,maxRetry:_0x2f6174}=_0x1ef949['body']||{},_0x4af357=_0x16eab5(_0x1ef949),_0x1e457f=_0x3d6370['FdIjQ'](_0x499aaf),_0x2ad641=await _0x1e457f[_0x44e151(0x10d)]({'resource':_0x397c65,'pattern':_0x456637,'ensureUnique':_0x311140,'ttl':_0x49973f,'maxRetry':_0x2f6174,'idempotencyKey':_0x4af357});return _0x110bec[_0x44e151(0x10f)](0xc9)['json'](createResponse(0xc9,_0x44e151(0x12b),_0x2ad641));}catch(_0x2b2ff4){return _0x3d6370['kwOHC'](_0x22340f,_0x110bec,_0x2b2ff4,_0x3d6370[_0x44e151(0xf9)]);}}),_0x3c16e9['post']('/consume',async(_0xd7d4b0,_0x2933b6)=>{const _0x417863=_0x32fbfe;try{const {resource:_0x2d1479,value:_0x5a61c6}=_0xd7d4b0['body']||{},_0x3fb4b9=_0x3d6370['iBMkT'](_0x499aaf),_0x2441e2=await _0x3fb4b9[_0x417863(0xf8)]({'resource':_0x2d1479,'value':_0x5a61c6});return _0x2933b6['status'](0xc8)[_0x417863(0x115)](_0x3d6370[_0x417863(0x102)](createResponse,0xc8,'Value\x20consumed',_0x2441e2));}catch(_0x28066d){return _0x3d6370['vTthY'](_0x22340f,_0x2933b6,_0x28066d,_0x3d6370['BMXqM']);}}),_0x3c16e9[_0x32fbfe(0x10a)](_0x32fbfe(0x122),async(_0x5302e6,_0x33547b)=>{const _0x46e00e=_0x32fbfe;try{const {resource:_0x1fe38e}=_0x5302e6['params'],{mode:_0x352cc6,format:_0x546cfa,prefix:_0x176391}=_0x5302e6['query'],_0xaf61af=_0x3d6370['TDBLC'](_0x499aaf),_0x34f678=await _0xaf61af['getInfo']({'resource':_0x1fe38e,'mode':_0x352cc6||_0x46e00e(0xf5),'format':_0x546cfa,'prefix':_0x176391});return _0x33547b['status'](0xc8)['json'](_0x3d6370['prAlq'](createResponse,0xc8,_0x46e00e(0x13c),_0x34f678));}catch(_0x1058f3){return _0x22340f(_0x33547b,_0x1058f3,_0x3d6370[_0x46e00e(0x129)]);}}),_0x3c16e9[_0x32fbfe(0x134)]('/reset',async(_0x49b617,_0x234e02)=>{const _0x14b5e3=_0x32fbfe;try{const {resource:_0x287063,mode:_0x3b732c,format:_0x306e5f,prefix:_0x1180a1}=_0x49b617[_0x14b5e3(0x130)]||{},_0x5cb667=_0x499aaf(),_0x498940=await _0x5cb667['reset']({'resource':_0x287063,'mode':_0x3d6370['uxyiy'](_0x3b732c,'number'),'format':_0x306e5f,'prefix':_0x1180a1});return _0x234e02[_0x14b5e3(0x10f)](0xc8)['json'](createResponse(0xc8,_0x14b5e3(0xf0),_0x498940));}catch(_0x25663b){return _0x3d6370[_0x14b5e3(0x138)](_0x22340f,_0x234e02,_0x25663b,_0x14b5e3(0x140));}}),_0x3c16e9['get'](_0x32fbfe(0x12c),async(_0x4ddd1b,_0x25e24e)=>{const _0x2b0d9d=_0x32fbfe;try{const _0x5d0eb7=_0x3d6370[_0x2b0d9d(0xfd)](_0x499aaf),_0x51bfaf=_0x5d0eb7[_0x2b0d9d(0x104)]();let _0x489908=![],_0x104a41=null;try{_0x489908=await redisClient[_0x2b0d9d(0x142)](0xbb8);}catch(_0x3529fa){_0x104a41=_0x3529fa['message'];}const _0x30180a=process[_0x2b0d9d(0x12e)]['LOCK_DISTRIBUTED_ENABLED']===_0x2b0d9d(0x137),_0x352695=process[_0x2b0d9d(0x12e)]['IDEMPOTENCY_ENABLED']===_0x3d6370[_0x2b0d9d(0x117)];if(!_0x51bfaf||!_0x489908)return _0x25e24e[_0x2b0d9d(0x10f)](0x1f7)[_0x2b0d9d(0x115)](_0x3d6370[_0x2b0d9d(0x11d)](createError,0x1f7,_0x3d6370['QNUmm'],{'enabled':_0x51bfaf,'redisConnected':_0x489908,'lockEnabled':_0x30180a,'idempotencyEnabled':_0x352695,'error':_0x104a41||(!_0x51bfaf?_0x3d6370['Rfdmc']:_0x3d6370['ZKOOS'])}));return _0x25e24e['status'](0xc8)[_0x2b0d9d(0x115)](_0x3d6370[_0x2b0d9d(0x13d)](createResponse,0xc8,'ID\x20Generator\x20service\x20is\x20healthy',{'enabled':_0x51bfaf,'redisConnected':_0x489908,'lockEnabled':_0x30180a,'idempotencyEnabled':_0x352695}));}catch(_0x128c21){return _0x22340f(_0x25e24e,_0x128c21,_0x2b0d9d(0x13b));}}),_0x3c16e9;}function a0_0x1e40(){const _0x2bc34c=['AwrNzw5FCM91DgvFCgLUx2vYCM9Y','nZuZmtu2zxz1qvbO','rMrjALe','s0nJB3e','mtviyvL5EvO','qLvfq0G','ngHyAMfnDa','sw50zxjUywWGC2vYDMvYigvYCM9Y','vvnsv1e','BMfTzq','AxnfBMfIBgvK','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','C3rHy2S','EuXMwKm','nta1nJuXoezMAhD3yW','vLLur0K','z2v0','qu9jBxO','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','CMfUzg9T','l2nVzgu','C3rHDhvZ','y29Kzq','swrhzw5LCMf0B3jfCNjVCG','nZe2ntK2m0nzvMz4Aa','AwrNzw5FCM91DgvFC2vYAwfSx2vYCM9Y','EvDVzfu','ANnVBG','l3jLC2vYDMuVzxH0zw5K','Dgriu1y','l3jLC2vYDMu','zxH0zw5KuMvZzxj2yxrPB24','lI4VlI4VDxrPBhmVBg9Nz2vY','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','r2T4EKu','ChjbBhe','y29UzMLYBvjLC2vYDMf0Aw9U','lI4VlI4VDxrPBhmVAwqTz2vUzxjHDg9Y','uMvZzxj2yxrPB24GzxH0zw5Kzwq','l251BwjLCG','l2LUzM8VoNjLC291CMnL','vuntBhK','C2vYAwfS','uM91DgvY','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','tNryEKm','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','AwnPBNm','BwvZC2fNzq','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','l2HLywX0Aa','zKXRquq','zw52','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','yM9KEq','AgvHzgvY','uMvKAxmGBM90ignVBM5Ly3rLza','surhru5Fru5bqKXfrd1MywXZzq','Cg9ZDa','AwrNzw5FCM91DgvFCMvSzwfZzv9LCNjVCG','nZu5nJiWmefxwuvIqG','Dhj1zq','qwHYzLi','l3jLC2vYDMuVoNrVA2vU','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','AwrNzw5FCM91DgvFAgvHBhrOx2vYCM9Y','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq','CgrtCxe','CgfYyw1Z','ueLoigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','shbXu1G','CgLUzW','tKjmDwK','ELjvENm','uMvZB3vYy2uGC3rHDguGCMvZzxq','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','mZy4mti1nvDSvejJzW','nJi1mdC0CvfPr3jI','mJG3mJK5mJzssxDHq0i','BNvTyMvY','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','y29UC3vTzq','rgThwgy'];a0_0x1e40=function(){return _0x2bc34c;};return a0_0x1e40();}function a0_0x25ff(_0x13e68d,_0x4b39ca){_0x13e68d=_0x13e68d-0xee;const _0x1e40d9=a0_0x1e40();let _0x25ff7d=_0x1e40d9[_0x13e68d];if(a0_0x25ff['HpzcOm']===undefined){var _0x2d6695=function(_0x49369e){const _0x5adfb9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355bf1='',_0x4583e2='';for(let _0x3b6a0d=0x0,_0x38d951,_0x494976,_0x12a953=0x0;_0x494976=_0x49369e['charAt'](_0x12a953++);~_0x494976&&(_0x38d951=_0x3b6a0d%0x4?_0x38d951*0x40+_0x494976:_0x494976,_0x3b6a0d++%0x4)?_0x355bf1+=String['fromCharCode'](0xff&_0x38d951>>(-0x2*_0x3b6a0d&0x6)):0x0){_0x494976=_0x5adfb9['indexOf'](_0x494976);}for(let _0x2b3341=0x0,_0x44c369=_0x355bf1['length'];_0x2b3341<_0x44c369;_0x2b3341++){_0x4583e2+='%'+('00'+_0x355bf1['charCodeAt'](_0x2b3341)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4583e2);};a0_0x25ff['HqiyNK']=_0x2d6695,a0_0x25ff['HTbWPI']={},a0_0x25ff['HpzcOm']=!![];}const _0x560341=_0x1e40d9[0x0],_0x3fdced=_0x13e68d+_0x560341,_0x254fca=a0_0x25ff['HTbWPI'][_0x3fdced];return!_0x254fca?(_0x25ff7d=a0_0x25ff['HqiyNK'](_0x25ff7d),a0_0x25ff['HTbWPI'][_0x3fdced]=_0x25ff7d):_0x25ff7d=_0x254fca,_0x25ff7d;}module['exports']=createIdgenRoutes;
|
|
1
|
+
const a0_0x4ac1a6=a0_0x1cbc;function a0_0x1cbc(_0x48ca73,_0x219d30){_0x48ca73=_0x48ca73-0x9c;const _0x2d7f08=a0_0x2d7f();let _0x1cbc8a=_0x2d7f08[_0x48ca73];if(a0_0x1cbc['MwaVjj']===undefined){var _0x266787=function(_0x15ab88){const _0x2e7673='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc29cb8='',_0x28c0cc='';for(let _0x12040f=0x0,_0x560e0a,_0x2c10ea,_0x50c12c=0x0;_0x2c10ea=_0x15ab88['charAt'](_0x50c12c++);~_0x2c10ea&&(_0x560e0a=_0x12040f%0x4?_0x560e0a*0x40+_0x2c10ea:_0x2c10ea,_0x12040f++%0x4)?_0xc29cb8+=String['fromCharCode'](0xff&_0x560e0a>>(-0x2*_0x12040f&0x6)):0x0){_0x2c10ea=_0x2e7673['indexOf'](_0x2c10ea);}for(let _0x457a8d=0x0,_0x197e28=_0xc29cb8['length'];_0x457a8d<_0x197e28;_0x457a8d++){_0x28c0cc+='%'+('00'+_0xc29cb8['charCodeAt'](_0x457a8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28c0cc);};a0_0x1cbc['PiTSDm']=_0x266787,a0_0x1cbc['RKFvhF']={},a0_0x1cbc['MwaVjj']=!![];}const _0x4b34c0=_0x2d7f08[0x0],_0x2e7893=_0x48ca73+_0x4b34c0,_0x20a2bd=a0_0x1cbc['RKFvhF'][_0x2e7893];return!_0x20a2bd?(_0x1cbc8a=a0_0x1cbc['PiTSDm'](_0x1cbc8a),a0_0x1cbc['RKFvhF'][_0x2e7893]=_0x1cbc8a):_0x1cbc8a=_0x20a2bd,_0x1cbc8a;}(function(_0x38c11b,_0x1e8152){const _0x1b6b6e=a0_0x1cbc,_0x5b8e13=_0x38c11b();while(!![]){try{const _0x4d66e3=-parseInt(_0x1b6b6e(0xe7))/0x1*(-parseInt(_0x1b6b6e(0x9c))/0x2)+parseInt(_0x1b6b6e(0xd2))/0x3+-parseInt(_0x1b6b6e(0xee))/0x4+parseInt(_0x1b6b6e(0xb6))/0x5+-parseInt(_0x1b6b6e(0xa5))/0x6+-parseInt(_0x1b6b6e(0xc3))/0x7+parseInt(_0x1b6b6e(0xe8))/0x8*(-parseInt(_0x1b6b6e(0xde))/0x9);if(_0x4d66e3===_0x1e8152)break;else _0x5b8e13['push'](_0x5b8e13['shift']());}catch(_0x376885){_0x5b8e13['push'](_0x5b8e13['shift']());}}}(a0_0x2d7f,0x6381c));function a0_0x2d7f(){const _0x41ff10=['z2v0','CxvLCNK','uw90shi','tvHIEg8','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','y29Kzq','l3jLC2vYDMuVoNrVA2vU','D0H2DeG','EgXArfq','DMHnv2G','mZK3nMjjs2jHqG','B0PtwgW','B05ttxa','uMvZzxj2yxrPB24GzxH0zw5Kzwq','t2Dcwfu','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','lI4VlI4VDxrPBhmVBg9Nz2vY','tKrJs3C','ANnVBG','mta2mJa2mgzvshzZAq','BNvTyMvY','l251BwjLCG','Ahjztw4','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','yM9KEq','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','wK5Qveu','l251BwjLCI9YzwXLyxnL','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','vMfSDwuGy29UC3vTzwq','ueLoigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','l3jHBMrVBq','l3jLC2vYDMuVy2fUy2vS','l2LUzM8VoNjLC291CMnL','l2HLywX0Aa','mZGXntq0mhrRCNzKDa','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','l3nLCMLHBa','y29UzMLYBvjLC2vYDMf0Aw9U','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','CMvSzwfZzu51BwjLCG','l3jLC2vYDMu','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','zgv0ywLSCW','rNjgweG','EefIAxK','CgfYyw1Z','mtuWmdCZn1b4AvjRCG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','l3jLC2vYDMuVy29UzMLYBq','swrhzw5LCMf0B3jfCNjVCG','l2nVzgu','zxHWB3j0CW','seDlqxm','tKvryKG','rw51weS','Awv5DxO','CMvZzxj2zu51BwjLCG','AwrNzw5FCM91DgvFy29Kzv9LCNjVCG','CMfUzg9T','z1LMCNG','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','mtKXntC3nLnrDNDvyG','suqGr2vUzxjHDg9YihjVDxrLigv4y2vWDgLVBJOG','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','ug1YA2i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','y29UC3vTzq','z2v0uMvZzxj2yxrPB24','AwrNzw5FCM91DgvFCgLUx2vYCM9Y','ENDyDuu','uMvZzxj2yxrPB24GCMv0CMLLDMvK','BuXXvxC','wgjeA2e','oxvssffSvq','CgLUzW','Dhj1zq','z2v0sw5MBW','CxntCfy','uM91DgvY','qKnIA0O','t2jAsge','C3rHy2S','mJK2tMnbzuHr','nty5mtm3nKLuwMPwAG','CgLU','BwvZC2fNzq','C3rHDhvZ','CNvlB3y','l3jLC2v0','mtKXodKWmevhy1vRsq','zeLYrMG','CgzTAgq','Cg9ZDa','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq'];a0_0x2d7f=function(){return _0x41ff10;};return a0_0x2d7f();}const express=require('express'),{logger}=require(a0_0x4ac1a6(0xa2)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require(a0_0x4ac1a6(0xc4)),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 _0xac53c8=a0_0x4ac1a6,_0x54e6e1={'xAbiy':function(_0x9f1069,_0x31ec03){return _0x9f1069(_0x31ec03);},'IjOZt':_0xac53c8(0xc6),'mMMUD':function(_0x4d5019,_0x5778ae,_0x340871,_0xb07420){return _0x4d5019(_0x5778ae,_0x340871,_0xb07420);},'NEQbH':function(_0x134211,_0x4cadfe,_0x464ebf,_0x1a2085){return _0x134211(_0x4cadfe,_0x464ebf,_0x1a2085);},'AoUkV':'Idempotency-Key','Ajout':function(_0x447b4b,_0x4c20ab){return _0x447b4b(_0x4c20ab);},'HGKAs':function(_0x520d80){return _0x520d80();},'ObZHa':function(_0x50b3ea,_0x12d954,_0x21eff0,_0x4d6c66){return _0x50b3ea(_0x12d954,_0x21eff0,_0x4d6c66);},'vHutL':function(_0x4142ef,_0xd86ad5){return _0x4142ef(_0xd86ad5);},'xlZDT':'Number\x20reserved\x20successfully','Pmrkb':function(_0x58471d,_0x3ac1aa){return _0x58471d(_0x3ac1aa);},'BCbkJ':'Reservation\x20confirmed','nkzdk':_0xac53c8(0xf7),'XbDka':function(_0x2627d8,_0x32b7ee){return _0x2627d8(_0x32b7ee);},'vFTfT':function(_0xce3d71){return _0xce3d71();},'oJSXl':function(_0x3b3a89,_0x108147,_0x2e5964,_0x73ed00){return _0x3b3a89(_0x108147,_0x2e5964,_0x73ed00);},'VpUpV':function(_0x1a2547,_0x2f745e){return _0x1a2547(_0x2f745e);},'xKiEV':function(_0x431ee3){return _0x431ee3();},'ruKov':function(_0x1ee435,_0x25812c,_0x495d30,_0x569f13){return _0x1ee435(_0x25812c,_0x495d30,_0x569f13);},'oNSMp':_0xac53c8(0x9f),'PVzup':_0xac53c8(0xd1),'EnuXK':function(_0x463a39,_0x54a15e,_0x460029,_0x3869fa){return _0x463a39(_0x54a15e,_0x460029,_0x3869fa);},'hrYMn':_0xac53c8(0xdb),'XQOpY':function(_0x32ba73){return _0x32ba73();},'tKWVd':_0xac53c8(0xb1),'gYfrx':function(_0x2e76ad,_0x4d18ae,_0x497374,_0x4e299c){return _0x2e76ad(_0x4d18ae,_0x497374,_0x4e299c);},'zwXuE':'idgen_route_serial_error','mLqUw':function(_0x1376f2){return _0x1376f2();},'OgBXU':function(_0x36acd9,_0x423ce3,_0x198ad2,_0x3e96fd){return _0x36acd9(_0x423ce3,_0x198ad2,_0x3e96fd);},'UeOkC':'Random\x20value\x20generated\x20successfully','tWuHJ':function(_0x571bd8,_0x182c72,_0x34ca5c,_0x116c39){return _0x571bd8(_0x182c72,_0x34ca5c,_0x116c39);},'ZJiTD':_0xac53c8(0xb8),'FrFXH':function(_0x2affe5,_0x39a32d){return _0x2affe5||_0x39a32d;},'wHvtH':_0xac53c8(0xbe),'OCvVB':_0xac53c8(0xa6),'MXbxo':function(_0x328409,_0x5cdce4,_0x49d61e,_0x188f29){return _0x328409(_0x5cdce4,_0x49d61e,_0x188f29);},'otecG':_0xac53c8(0xae),'ieyuz':'ID\x20Generator\x20service\x20unavailable','ZNjTE':'IDGEN_ENABLED=false','QotHr':function(_0x398466,_0x501b44,_0x2f6061,_0x2baacd){return _0x398466(_0x501b44,_0x2f6061,_0x2baacd);},'NDcKw':_0xac53c8(0xaf),'dlnfr':function(_0x5f0057,_0x1ec499,_0x1f7b90,_0xd95ad0){return _0x5f0057(_0x1ec499,_0x1f7b90,_0xd95ad0);},'vhMWh':_0xac53c8(0xad),'kNZPV':_0xac53c8(0xc5),'sDoaA':'/reserve/extend','pfmhd':_0xac53c8(0xf9),'oBwas':'/consume','dIrFh':_0xac53c8(0xed),'qsSpV':_0xac53c8(0xb5)},_0x44100f=express[_0xac53c8(0xe3)]();let _0xd17c47=null;function _0x20bc2f(){const _0x5a8835=_0xac53c8;return!_0xd17c47&&(_0xd17c47=_0x54e6e1[_0x5a8835(0xc1)](require,'../../utils/id-generator')),_0xd17c47;}function _0x4508f2(_0x277936,_0x4caa39,_0x2532f1){const _0x54762e=_0xac53c8;if(_0x4caa39&&_0x4caa39['name']===_0x54e6e1['IjOZt']){const _0x39aa0a=ERROR_CODE_HTTP_MAP[_0x4caa39['code']]||0x1f4;return logger['warn']({'event':_0x2532f1,'code':_0x4caa39[_0x54762e(0xf8)],'message':_0x4caa39[_0x54762e(0xea)]},_0x54762e(0xab)+_0x4caa39[_0x54762e(0xf8)]),_0x277936['status'](_0x39aa0a)['json'](_0x54e6e1['mMMUD'](createError,_0x39aa0a,_0x4caa39['message'],{'code':_0x4caa39[_0x54762e(0xf8)],'details':_0x4caa39[_0x54762e(0xbf)]||null}));}return logger['error']({'event':_0x2532f1,'error':_0x4caa39&&_0x4caa39['message'],'stack':_0x4caa39&&_0x4caa39[_0x54762e(0xe6)]},_0x54762e(0xd3)+(_0x4caa39&&_0x4caa39[_0x54762e(0xea)])),_0x277936[_0x54762e(0xeb)](0x1f4)['json'](_0x54e6e1[_0x54762e(0xca)](createError,0x1f4,'Internal\x20server\x20error',null));}function _0x216edd(_0xb6e0d4){return _0xb6e0d4['header'](_0x54e6e1['AoUkV'])||undefined;}return _0x44100f['post'](_0xac53c8(0xa7),async(_0x13297a,_0x2676ca)=>{const _0x57ceb1=_0xac53c8;try{const {resource:_0x11c4df,format:_0x34275b,prefix:_0x661d1f,separator:_0x37e85a,numDigits:_0x3ecc6c,reuseDelete:_0xb9355b}=_0x13297a['body']||{},_0x2fbb86=_0x54e6e1['Ajout'](_0x216edd,_0x13297a),_0xac90a9=_0x54e6e1['HGKAs'](_0x20bc2f),_0x40d3d4=await _0xac90a9[_0x57ceb1(0xa6)]({'resource':_0x11c4df,'format':_0x34275b,'prefix':_0x661d1f,'separator':_0x37e85a,'numDigits':_0x3ecc6c,'reuseDelete':_0xb9355b,'idempotencyKey':_0x2fbb86});return _0x2676ca[_0x57ceb1(0xeb)](0xc9)['json'](_0x54e6e1[_0x57ceb1(0xe5)](createResponse,0xc9,_0x57ceb1(0xbb),_0x40d3d4));}catch(_0xd70c39){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2676ca,_0xd70c39,_0x57ceb1(0xd4));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1[_0xac53c8(0xfc)],async(_0x1352ea,_0x4fe284)=>{const _0x17d150=_0xac53c8;try{const _0xdecf5f=_0x54e6e1['Ajout'](_0x216edd,_0x1352ea),_0x3c9d51={..._0x1352ea[_0x17d150(0xaa)]||{},'idempotencyKey':_0xdecf5f},_0x569161=_0x20bc2f(),_0x455a4d=await _0x569161[_0x17d150(0xbc)](_0x3c9d51);return _0x4fe284['status'](0xc8)['json'](createResponse(0xc8,'Number\x20released\x20to\x20reuse\x20pool',_0x455a4d));}catch(_0x5e22f3){return _0x4508f2(_0x4fe284,_0x5e22f3,'idgen_route_release_error');}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xbd),async(_0x3c46ac,_0x2fe32c)=>{const _0x3d35a7=_0xac53c8;try{const {resource:_0x31b9a5,format:_0x29af8f,prefix:_0x273f04,separator:_0x25f23d,numDigits:_0xa245fa,reuseDelete:_0x2cc2b1,ttl:_0xe1e40b}=_0x3c46ac[_0x3d35a7(0xaa)]||{},_0x475718=_0x54e6e1['vHutL'](_0x216edd,_0x3c46ac),_0x587064=_0x54e6e1[_0x3d35a7(0xc9)](_0x20bc2f),_0x35401c=await _0x587064[_0x3d35a7(0xcd)]({'resource':_0x31b9a5,'format':_0x29af8f,'prefix':_0x273f04,'separator':_0x25f23d,'numDigits':_0xa245fa,'reuseDelete':_0x2cc2b1,'ttl':_0xe1e40b,'idempotencyKey':_0x475718});return _0x2fe32c[_0x3d35a7(0xeb)](0xc9)[_0x3d35a7(0xa4)](createResponse(0xc9,_0x54e6e1[_0x3d35a7(0xfb)],_0x35401c));}catch(_0x23533f){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2fe32c,_0x23533f,_0x3d35a7(0xb7));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['kNZPV'],async(_0x207eb3,_0x57c2f5)=>{const _0x4dfbda=_0xac53c8;try{const {token:_0x305d8f}=_0x207eb3[_0x4dfbda(0xaa)]||{},_0x467fa8=_0x54e6e1[_0x4dfbda(0xd5)](_0x216edd,_0x207eb3),_0xb08391=_0x54e6e1['HGKAs'](_0x20bc2f),_0x52050a=await _0xb08391[_0x4dfbda(0xba)]({'token':_0x305d8f,'idempotencyKey':_0x467fa8});return _0x57c2f5['status'](0xc8)['json'](createResponse(0xc8,_0x54e6e1[_0x4dfbda(0xe4)],_0x52050a));}catch(_0x5895c0){return _0x4508f2(_0x57c2f5,_0x5895c0,_0x54e6e1['nkzdk']);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb3),async(_0x72c577,_0x236db5)=>{const _0x13e48e=_0xac53c8;try{const {token:_0x482b76}=_0x72c577['body']||{},_0xd49b53=_0x54e6e1[_0x13e48e(0xdd)](_0x216edd,_0x72c577),_0x534543=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5815eb=await _0x534543['cancelReservation']({'token':_0x482b76,'idempotencyKey':_0xd49b53});return _0x236db5['status'](0xc8)[_0x13e48e(0xa4)](createResponse(0xc8,'Reservation\x20cancelled',_0x5815eb));}catch(_0x241b26){return _0x54e6e1[_0x13e48e(0x9d)](_0x4508f2,_0x236db5,_0x241b26,_0x13e48e(0xa1));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['sDoaA'],async(_0x5896e7,_0x4a58c3)=>{const _0x14147d=_0xac53c8;try{const {token:_0x47cd8c,ttl:_0x12e28c}=_0x5896e7[_0x14147d(0xaa)]||{},_0x35939b=_0x54e6e1['VpUpV'](_0x216edd,_0x5896e7),_0x34e599=_0x54e6e1['xKiEV'](_0x20bc2f),_0x4bcef6=await _0x34e599['extendReservation']({'token':_0x47cd8c,'ttl':_0x12e28c,'idempotencyKey':_0x35939b});return _0x4a58c3[_0x14147d(0xeb)](0xc8)[_0x14147d(0xa4)](_0x54e6e1[_0x14147d(0xec)](createResponse,0xc8,_0x54e6e1[_0x14147d(0x9e)],_0x4bcef6));}catch(_0x2748cc){return _0x54e6e1['ObZHa'](_0x4508f2,_0x4a58c3,_0x2748cc,_0x54e6e1['PVzup']);}}),_0x44100f[_0xac53c8(0xf3)](_0x54e6e1[_0xac53c8(0xf0)],async(_0xd57eb,_0x31f598)=>{const _0x4f1324=_0xac53c8;try{const {token:_0x4a4aa3}=_0xd57eb[_0x4f1324(0xc2)],_0x35d290=_0x20bc2f(),_0x41683a=await _0x35d290[_0x4f1324(0xd8)]({'token':_0x4a4aa3});return _0x31f598['status'](0xc8)[_0x4f1324(0xa4)](_0x54e6e1[_0x4f1324(0xcb)](createResponse,0xc8,_0x54e6e1[_0x4f1324(0xa8)],_0x41683a));}catch(_0x2ee45f){return _0x4508f2(_0x31f598,_0x2ee45f,_0x4f1324(0xa9));}}),_0x44100f['post']('/pin',async(_0x59e69a,_0x459a5b)=>{const _0x2cc7ac=_0xac53c8;try{const {resource:_0x5318ee,digits:_0x5bc6d0,ensureUnique:_0x1c6dfb,ttl:_0x19fcaa,maxRetry:_0x3e4ff2}=_0x59e69a['body']||{},_0x30e13f=_0x216edd(_0x59e69a),_0x4b5146=_0x54e6e1['XQOpY'](_0x20bc2f),_0x200c1b=await _0x4b5146[_0x2cc7ac(0xe9)]({'resource':_0x5318ee,'digits':_0x5bc6d0,'ensureUnique':_0x1c6dfb,'ttl':_0x19fcaa,'maxRetry':_0x3e4ff2,'idempotencyKey':_0x30e13f});return _0x459a5b[_0x2cc7ac(0xeb)](0xc9)[_0x2cc7ac(0xa4)](createResponse(0xc9,_0x54e6e1['tKWVd'],_0x200c1b));}catch(_0x2c6cb5){return _0x54e6e1['oJSXl'](_0x4508f2,_0x459a5b,_0x2c6cb5,_0x2cc7ac(0xd9));}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb9),async(_0x254179,_0xde23bb)=>{const _0x18e38d=_0xac53c8;try{const {resource:_0x33f45e,pattern:_0x256605,ensureUnique:_0xf7bd5f,ttl:_0x46f5c6,maxRetry:_0x22fd7b}=_0x254179[_0x18e38d(0xaa)]||{},_0x5be05d=_0x216edd(_0x254179),_0x43917d=_0x54e6e1[_0x18e38d(0xc9)](_0x20bc2f),_0x54877c=await _0x43917d['serial']({'resource':_0x33f45e,'pattern':_0x256605,'ensureUnique':_0xf7bd5f,'ttl':_0x46f5c6,'maxRetry':_0x22fd7b,'idempotencyKey':_0x5be05d});return _0xde23bb[_0x18e38d(0xeb)](0xc9)[_0x18e38d(0xa4)](_0x54e6e1['gYfrx'](createResponse,0xc9,_0x18e38d(0xd6),_0x54877c));}catch(_0x331beb){return _0x4508f2(_0xde23bb,_0x331beb,_0x54e6e1[_0x18e38d(0xda)]);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xc7),async(_0x51f10d,_0x57a421)=>{const _0x21924b=_0xac53c8;try{const {resource:_0x29aad8,pattern:_0x1c63d1,ensureUnique:_0x46b928,ttl:_0x5b49cd,maxRetry:_0x5067ab}=_0x51f10d['body']||{},_0x5d94ef=_0x54e6e1['xAbiy'](_0x216edd,_0x51f10d),_0x1dce87=_0x54e6e1[_0x21924b(0xdc)](_0x20bc2f),_0x5eeec5=await _0x1dce87[_0x21924b(0xf8)]({'resource':_0x29aad8,'pattern':_0x1c63d1,'ensureUnique':_0x46b928,'ttl':_0x5b49cd,'maxRetry':_0x5067ab,'idempotencyKey':_0x5d94ef});return _0x57a421['status'](0xc9)['json'](_0x54e6e1[_0x21924b(0xd0)](createResponse,0xc9,'Code\x20generated\x20successfully',_0x5eeec5));}catch(_0x3d0bf6){return _0x54e6e1[_0x21924b(0xa0)](_0x4508f2,_0x57a421,_0x3d0bf6,_0x21924b(0xce));}}),_0x44100f['post'](_0xac53c8(0xb2),async(_0x36c426,_0x414bd8)=>{const _0x1be749=_0xac53c8;try{const {resource:_0x1311a5,pattern:_0xc37a20,ensureUnique:_0x5ce148,ttl:_0xec29d5,maxRetry:_0x510134}=_0x36c426['body']||{},_0x9f20d6=_0x216edd(_0x36c426),_0x5e6fa3=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5d3811=await _0x5e6fa3[_0x1be749(0xcf)]({'resource':_0x1311a5,'pattern':_0xc37a20,'ensureUnique':_0x5ce148,'ttl':_0xec29d5,'maxRetry':_0x510134,'idempotencyKey':_0x9f20d6});return _0x414bd8[_0x1be749(0xeb)](0xc9)['json'](_0x54e6e1[_0x1be749(0xa0)](createResponse,0xc9,_0x54e6e1['UeOkC'],_0x5d3811));}catch(_0x29a283){return _0x4508f2(_0x414bd8,_0x29a283,'idgen_route_random_error');}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['oBwas'],async(_0x199c93,_0x246cc0)=>{const _0x370876=_0xac53c8;try{const {resource:_0x1a183d,value:_0x21ae0c}=_0x199c93['body']||{},_0x2fbc89=_0x20bc2f(),_0x2b77b6=await _0x2fbc89[_0x370876(0xd7)]({'resource':_0x1a183d,'value':_0x21ae0c});return _0x246cc0[_0x370876(0xeb)](0xc8)[_0x370876(0xa4)](_0x54e6e1[_0x370876(0xec)](createResponse,0xc8,_0x370876(0xb0),_0x2b77b6));}catch(_0x1776f3){return _0x54e6e1['tWuHJ'](_0x4508f2,_0x246cc0,_0x1776f3,_0x54e6e1['ZJiTD']);}}),_0x44100f[_0xac53c8(0xf3)](_0xac53c8(0xb4),async(_0x5d3c78,_0x46cdbf)=>{const _0x29a983=_0xac53c8;try{const {resource:_0x59bd1f}=_0x5d3c78[_0x29a983(0xc2)],{mode:_0x2ece05,format:_0x5d4b51,prefix:_0x13397e}=_0x5d3c78[_0x29a983(0xf4)],_0x2ead06=_0x20bc2f(),_0xe745e4=await _0x2ead06[_0x29a983(0xe1)]({'resource':_0x59bd1f,'mode':_0x54e6e1[_0x29a983(0xc0)](_0x2ece05,'number'),'format':_0x5d4b51,'prefix':_0x13397e});return _0x46cdbf[_0x29a983(0xeb)](0xc8)['json'](createResponse(0xc8,_0x29a983(0xf2),_0xe745e4));}catch(_0x2cee7c){return _0x4508f2(_0x46cdbf,_0x2cee7c,_0x54e6e1[_0x29a983(0xfa)]);}}),_0x44100f['post'](_0x54e6e1[_0xac53c8(0xef)],async(_0x2486a4,_0x56cdee)=>{const _0x31a5a3=_0xac53c8;try{const {resource:_0x470c14,mode:_0x1984ec,format:_0x50b30b,prefix:_0x540aea}=_0x2486a4['body']||{},_0x5c30de=_0x20bc2f(),_0x1e6901=await _0x5c30de['reset']({'resource':_0x470c14,'mode':_0x1984ec||_0x54e6e1['OCvVB'],'format':_0x50b30b,'prefix':_0x540aea});return _0x56cdee['status'](0xc8)[_0x31a5a3(0xa4)](createResponse(0xc8,'Resource\x20state\x20reset',_0x1e6901));}catch(_0x58b907){return _0x54e6e1[_0x31a5a3(0xf6)](_0x4508f2,_0x56cdee,_0x58b907,_0x54e6e1['otecG']);}}),_0x44100f['get'](_0x54e6e1[_0xac53c8(0xe2)],async(_0x226c4f,_0x361c8d)=>{const _0x1e543c=_0xac53c8;try{const _0x1ea7da=_0x20bc2f(),_0x4eb02e=_0x1ea7da['isEnabled']();let _0x195316=![],_0x4a0feb=null;try{_0x195316=await redisClient[_0x1e543c(0xdf)](0xbb8);}catch(_0x408d94){_0x4a0feb=_0x408d94[_0x1e543c(0xea)];}const _0x27b6bc=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x1e543c(0xe0),_0x560a82=process['env']['IDEMPOTENCY_ENABLED']==='true';if(_0x54e6e1[_0x1e543c(0xc0)](!_0x4eb02e,!_0x195316))return _0x361c8d[_0x1e543c(0xeb)](0x1f7)['json'](createError(0x1f7,_0x54e6e1[_0x1e543c(0xcc)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82,'error':_0x4a0feb||(!_0x4eb02e?_0x54e6e1[_0x1e543c(0xac)]:'Redis\x20not\x20connected')}));return _0x361c8d['status'](0xc8)['json'](_0x54e6e1[_0x1e543c(0xf5)](createResponse,0xc8,_0x54e6e1[_0x1e543c(0xa3)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82}));}catch(_0x4a49b7){return _0x54e6e1['dlnfr'](_0x4508f2,_0x361c8d,_0x4a49b7,'idgen_route_health_error');}}),_0x44100f;}module[a0_0x4ac1a6(0xc8)]=createIdgenRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x529a(){const _0x3ab35a=['Dg9mB3DLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJe4ndK3mLLHr3LtqG','ChjVy2vZC0XVB2T1CezPzwXKCW','z2v0rgLZDgLUy3rwywX1zxm','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtbNsKTODgm','zgvIDwC','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BuP1uxe','mtyYnJK3mMDzD3PuDG','Dg9vChbLCKnHC2u','BgvUz3rO','nZiYodiWmhbKzKvtBq','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','AgfZ','zw50CMLLCW','uM9Rse8','seTvuuW','ChvZAa','z2v0','nZa1mti5nMzrsvHUsW','ndqWndKWm0HYDevdrG','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','DhjPBq','tg9VA3vWihrHyMXLigXVywrLzdOG','sgTLtxe','zeDAC2S','ywrK','nJmZnJCZnvbNtuDuCW','mtq5ntCWBwnLzhHr','z2rOuge','DMfSAwrHDgvmB29RDxbwywX1zxm','zxHWB3j0CW','rwDQC2u','BwfW','zxHLy3v0zvf1zxj5','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','zxjYB3i','B3jHy2XL','C2v0','rgjkzMq','Cg9ZDgDYzxnXBa'];a0_0x529a=function(){return _0x3ab35a;};return a0_0x529a();}function a0_0x8997(_0x15d2fa,_0x2d8605){_0x15d2fa=_0x15d2fa-0xca;const _0x529a34=a0_0x529a();let _0x89979=_0x529a34[_0x15d2fa];if(a0_0x8997['yvNnqm']===undefined){var _0x2bba24=function(_0x83ff16){const _0x3be810='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd3aed9='',_0x347c75='';for(let _0x5817cd=0x0,_0x5b6e25,_0x3d9245,_0x4cc145=0x0;_0x3d9245=_0x83ff16['charAt'](_0x4cc145++);~_0x3d9245&&(_0x5b6e25=_0x5817cd%0x4?_0x5b6e25*0x40+_0x3d9245:_0x3d9245,_0x5817cd++%0x4)?_0xd3aed9+=String['fromCharCode'](0xff&_0x5b6e25>>(-0x2*_0x5817cd&0x6)):0x0){_0x3d9245=_0x3be810['indexOf'](_0x3d9245);}for(let _0x15fa71=0x0,_0x4f649d=_0xd3aed9['length'];_0x15fa71<_0x4f649d;_0x15fa71++){_0x347c75+='%'+('00'+_0xd3aed9['charCodeAt'](_0x15fa71)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x347c75);};a0_0x8997['xmXJbW']=_0x2bba24,a0_0x8997['oRhzgK']={},a0_0x8997['yvNnqm']=!![];}const _0x33e9b9=_0x529a34[0x0],_0x1297d4=_0x15d2fa+_0x33e9b9,_0x172db2=a0_0x8997['oRhzgK'][_0x1297d4];return!_0x172db2?(_0x89979=a0_0x8997['xmXJbW'](_0x89979),a0_0x8997['oRhzgK'][_0x1297d4]=_0x89979):_0x89979=_0x172db2,_0x89979;}const a0_0x381436=a0_0x8997;(function(_0xb3f3c4,_0x36f064){const _0x3309a0=a0_0x8997,_0x54a2bf=_0xb3f3c4();while(!![]){try{const _0x1f9571=parseInt(_0x3309a0(0xdd))/0x1*(-parseInt(_0x3309a0(0xca))/0x2)+parseInt(_0x3309a0(0xee))/0x3+parseInt(_0x3309a0(0xd9))/0x4+parseInt(_0x3309a0(0xf8))/0x5+parseInt(_0x3309a0(0xe1))/0x6+-parseInt(_0x3309a0(0xed))/0x7+-parseInt(_0x3309a0(0xe4))/0x8;if(_0x1f9571===_0x36f064)break;else _0x54a2bf['push'](_0x54a2bf['shift']());}catch(_0x4868a8){_0x54a2bf['push'](_0x54a2bf['shift']());}}}(a0_0x529a,0xda58e));const dbType=(process['env']['DB_TYPE']||a0_0x381436(0xd6))['toLowerCase']();let executeQuery;if(dbType===a0_0x381436(0xd3)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x4a7838,_0x1902e9)=>oracleDb['executeQuery'](_0x4a7838,_0x1902e9);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x381436(0xd1));executeQuery=(_0x39fed2,_0x538def)=>mysqlDb['executeQuery'](_0x39fed2,_0x538def);}else executeQuery=require('../../core/utils/db')[a0_0x381436(0xd0)];}const {logger}=require(a0_0x381436(0xf2));class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x445d6e=a0_0x381436;this[_0x445d6e(0xf1)]['clear'](),logger[_0x445d6e(0xde)]({'event':'lookup_cache_cleared'},_0x445d6e(0xf0));}async['loadLookupTable'](_0x60c66c,_0x38f748,_0x2a5817){const _0x35dbd6=a0_0x381436,_0x1d814f={'dGZsk':function(_0x2588b3,_0x4fd749){return _0x2588b3!==_0x4fd749;}},_0x429f00=_0x60c66c+':'+_0x38f748+':'+_0x2a5817;if(this['lookupCache']['has'](_0x429f00))return this['lookupCache'][_0x35dbd6(0xec)](_0x429f00);try{const _0x3ae577=_0x35dbd6(0xef)+_0x2a5817+',\x20'+_0x38f748+'\x20FROM\x20'+_0x60c66c,_0x3ea2d4=await executeQuery(_0x3ae577),_0x7b1d79=new Map();return _0x3ea2d4['forEach'](_0x668fee=>{const _0x34974b=_0x35dbd6,_0x216d9e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x38f748],undefined)?_0x668fee[_0x38f748]:_0x668fee[_0x38f748[_0x34974b(0xe2)]()],_0x2ada3e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x2a5817],undefined)?_0x668fee[_0x2a5817]:_0x668fee[_0x2a5817['toUpperCase']()];_0x1d814f['dGZsk'](_0x216d9e,null)&&_0x1d814f[_0x34974b(0xf6)](_0x216d9e,undefined)&&(_0x7b1d79['set'](String(_0x216d9e)['toLowerCase']()[_0x34974b(0xf3)](),_0x2ada3e),_0x7b1d79['set'](String(_0x216d9e)[_0x34974b(0xf3)](),_0x2ada3e));}),this['lookupCache'][_0x35dbd6(0xd4)](_0x429f00,_0x7b1d79),logger['info']({'event':'lookup_table_loaded','table':_0x60c66c,'column':_0x38f748,'count':_0x3ea2d4['length']},_0x35dbd6(0xf4)+_0x60c66c),_0x7b1d79;}catch(_0x2897a7){logger[_0x35dbd6(0xd2)]({'event':_0x35dbd6(0xdf),'table':_0x60c66c,'error':_0x2897a7['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x60c66c);throw _0x2897a7;}}[a0_0x381436(0xe5)](_0x4daa3c,_0xae7ff4){const _0x4196e5=a0_0x381436,_0x4aeeaf={'cjSms':function(_0x4b43e8,_0x1b5dc5){return _0x4b43e8===_0x1b5dc5;},'mJuQq':function(_0x2ee6e2,_0x2c51ad){return _0x2ee6e2===_0x2c51ad;}};if(_0x4daa3c===null||_0x4aeeaf['cjSms'](_0x4daa3c,undefined)||_0x4aeeaf[_0x4196e5(0xe0)](_0x4daa3c,''))return null;const _0x1d0625=String(_0x4daa3c)['trim']();if(_0xae7ff4['has'](_0x1d0625))return _0xae7ff4['get'](_0x1d0625);const _0x1430ef=_0x1d0625[_0x4196e5(0xd7)]();if(_0xae7ff4['has'](_0x1430ef))return _0xae7ff4[_0x4196e5(0xec)](_0x1430ef);return null;}async[a0_0x381436(0xda)](_0x55f49c,_0x500b14){const _0x264fca=a0_0x381436,_0x7e433d={'HkeMq':function(_0x2c748e,_0x230e3d){return _0x2c748e===_0x230e3d;},'ZOiuI':function(_0x495f98,_0x528fd5){return _0x495f98===_0x528fd5;},'Egjse':function(_0x22482a,_0x5eba76){return _0x22482a!==_0x5eba76;},'DbJfd':'lookup_fields_processed','HKUQL':_0x264fca(0xdc)};if(!_0x500b14||_0x7e433d[_0x264fca(0xf5)](Object[_0x264fca(0xe6)](_0x500b14)[_0x264fca(0xe3)],0x0))return{'processedRows':_0x55f49c,'errors':[]};const _0x16100=[],_0x4cf36e=new Map();for(const [_0x230a00,_0x3f3d4f]of Object[_0x264fca(0xe8)](_0x500b14)){const {lookupTable:_0x4c3ee9,lookupColumn:_0xb5ba87,lookupIdColumn:_0x149ce7}=_0x3f3d4f,_0x270064=_0x4c3ee9+':'+_0xb5ba87+':'+_0x149ce7;if(!_0x4cf36e[_0x264fca(0xe7)](_0x270064)){const _0xee68ef=await this['loadLookupTable'](_0x4c3ee9,_0xb5ba87,_0x149ce7);_0x4cf36e['set'](_0x270064,_0xee68ef);}}const _0x133dd6=_0x55f49c[_0x264fca(0xcf)]((_0x538089,_0x3ceb1b)=>{const _0x5909f8=_0x264fca,_0x2b6510={..._0x538089};for(const [_0x52a288,_0x3b24d8]of Object[_0x5909f8(0xe8)](_0x500b14)){const {lookupTable:_0x2d581b,lookupColumn:_0x22ebe0,lookupIdColumn:_0x2f1a54,targetField:_0x5d7f47,required:_0x271def}=_0x3b24d8,_0x5bc125=_0x2d581b+':'+_0x22ebe0+':'+_0x2f1a54,_0xb22465=_0x4cf36e['get'](_0x5bc125),_0x3044f5=_0x538089[_0x52a288];if((_0x7e433d['HkeMq'](_0x3044f5,null)||_0x7e433d['ZOiuI'](_0x3044f5,undefined)||_0x3044f5==='')&&!_0x271def){_0x2b6510[_0x5d7f47]=null;continue;}const _0x4e7867=this['resolveLookupValue'](_0x3044f5,_0xb22465);_0x7e433d[_0x5909f8(0xce)](_0x4e7867,null)?_0x2b6510[_0x5d7f47]=_0x4e7867:(_0x271def&&_0x16100[_0x5909f8(0xeb)]({'rowIndex':_0x3ceb1b,'field':_0x52a288,'value':_0x3044f5,'targetField':_0x5d7f47,'lookupTable':_0x2d581b,'message':'Value\x20\x22'+_0x3044f5+'\x22\x20not\x20found\x20in\x20'+_0x2d581b}),_0x2b6510[_0x5d7f47]=null);}return _0x2b6510;});return logger['info']({'event':_0x7e433d[_0x264fca(0xd5)],'totalRows':_0x55f49c[_0x264fca(0xe3)],'errorCount':_0x16100[_0x264fca(0xe3)],'lookupFieldCount':Object['keys'](_0x500b14)['length']},_0x7e433d[_0x264fca(0xea)]),{'processedRows':_0x133dd6,'errors':_0x16100};}[a0_0x381436(0xdb)](_0x5b3297,_0x1355c7){const _0x569d31={'RokHO':function(_0x1ffb1a,_0x388c5f){return _0x1ffb1a!==_0x388c5f;}},_0x3bd5ad=new Set();return _0x5b3297['forEach'](_0x2b03cd=>{const _0x488f20=a0_0x8997,_0x5c9039=_0x2b03cd[_0x1355c7];_0x569d31[_0x488f20(0xe9)](_0x5c9039,null)&&_0x5c9039!==undefined&&_0x5c9039!==''&&_0x3bd5ad[_0x488f20(0xf7)](String(_0x5c9039)[_0x488f20(0xf3)]());}),Array['from'](_0x3bd5ad);}async[a0_0x381436(0xcc)](_0xdbc28,_0x28fb8f){const _0x2a54b6=a0_0x381436,_0x49d8a5={'gdhPa':function(_0x1b1734,_0x156e83){return _0x1b1734!==_0x156e83;},'DnFUD':function(_0x5a6808,_0x568b1d){return _0x5a6808===_0x568b1d;}};if(!_0x28fb8f||_0x49d8a5['DnFUD'](Object['keys'](_0x28fb8f)[_0x2a54b6(0xe3)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x31ed50=[],_0x264cfa={};for(const [_0x58e898,_0x383306]of Object['entries'](_0x28fb8f)){const {lookupTable:_0xc3166a,lookupColumn:_0x4273b7,lookupIdColumn:_0x1f2119,required:_0x1be197}=_0x383306,_0x59883c=this[_0x2a54b6(0xdb)](_0xdbc28,_0x58e898),_0x15da46=await this['loadLookupTable'](_0xc3166a,_0x4273b7,_0x1f2119),_0x574faf=[],_0x3ab479=[];_0x59883c['forEach'](_0x292915=>{const _0x427fa3=_0x2a54b6,_0x565b10=this[_0x427fa3(0xe5)](_0x292915,_0x15da46);_0x49d8a5[_0x427fa3(0xcb)](_0x565b10,null)?_0x3ab479[_0x427fa3(0xeb)](_0x292915):_0x574faf['push'](_0x292915);});if(_0x574faf[_0x2a54b6(0xe3)]>0x0&&_0x1be197){_0x31ed50[_0x2a54b6(0xeb)]({'field':_0x58e898,'lookupTable':_0xc3166a,'invalidValues':_0x574faf,'message':_0x574faf[_0x2a54b6(0xe3)]+_0x2a54b6(0xd8)+_0xc3166a});const _0x4f0942=[];_0x15da46['forEach']((_0x51c423,_0x5dc1e1)=>{const _0x4f47e7=_0x2a54b6;if(_0x5dc1e1===_0x5dc1e1[_0x4f47e7(0xd7)]())return;_0x4f0942[_0x4f47e7(0xeb)](_0x5dc1e1);}),_0x264cfa[_0x58e898]={'invalidValues':_0x574faf,'availableValues':_0x4f0942['slice'](0x0,0x32)};}}return{'valid':_0x31ed50['length']===0x0,'errors':_0x31ed50,'suggestions':_0x264cfa};}}module[a0_0x381436(0xcd)]=new LookupResolver();
|