@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
|
-
'use strict';function a0_0xe31c(){const _0x40f188=['tgL2zsbtEw5Jia','u3Pdvei','x2HHBMrSzunVBM5Ly3rPB24','C05iBue','BuDjBLa','BwvZC2fNzq','z2v0','AKfzBhO','x2HHBMrSzvvUC3vIC2nYAwjL','Cg9UzW','BgL2zxn5BMnFC3vIC2nYAwjL','AxnbBgL2zq','x29WDgLVBNm','CMvTB3zLqwXStgLZDgvUzxjZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','CgfYC2u','zgvSzxrL','zgvZDhjVEq','Aw5PDgLHBgL6zq','x293BLb1yMXPC2HLCG','mJrhAvr3Au4','vxnnzgi','zgvIDwC','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','ANnYtgu','zgf0yq','Dw5ZDwjZy3jPyMu','AxnjBML0AwfSAxPLza','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLDhvWuMvKAxm','C2XPy2u','z2v0q2XPzw50','uKLJAei','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','uNfWtuS','zhrtCKW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','AK1fzu4','x3n1yNnJCMLWDgLVBNm','mtmYmZC0ovDfD0LVvW','z1btB1G','ignSAwvUDcHZkq','sxb1vM0','x2LUAxrPywXPEMvK','Bg9Nz2vY','l3DZ','C3rHCNrZv2L0Aa','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BKzkEKy','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','x2XVz2DLCG','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','DgvYBwLUyxrL','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x3jLzgLZuhvIBgLZAgvY','Ec1HCgKTA2v5','nvnzCwPSsW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BgvUz3rO','nZG2tuvnDLnr','y2XLyxi','u3ngv2C','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','qNjVywrJyxn0ia','zxjYB3i','rursA1G','BhfotuW','C2vHCMnOugfYyw1Z','CMvXDwvZDeLK','rMHergG','Aw5JBhvKzxm','Aw5MBW','D2fYBG','x2HLyxj0yMvHDfrPBwvY','CgLUzW','AgvHzgvYCW','zxHWB3j0CW','AK1dtva','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','zNvSBa','DxjS','zw52','x3DZCW','t1HlyvC','Dw5ZDwjZy3jPyMvK','C2v0','ihrVia','x2HHBMrSzvn1yNnJCMLIzq','ufz2yKy','CMvTB3rLqwrKCMvZCW','zMHrv3u','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Aw9YzwrPCW','y2XPzw50CW','DxbNCMfKzq','mZC3nZi2ogL3BMX1rW','y2f0y2G','AgfZ','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','C29JA2v0','mJyZmxnyt3fmDG','ywrK','nZGXmtm0me95zwjbvq','ChvZAa','ExDWBxu','x3n0yxj0sgvHCNrIzwf0','Dg9ju09tDhjPBMC','y2DWD1y','x3nLDhvWvxbNCMfKzuf1DgG','mtu0mdKYzM9VruXl','lI4VlI4VDxrPBhmVBg9Nz2vY','CxvPDa','mJi3nZyXmtzZuNDOrgO','DwjNvKK','DhLWzq','C3vIC2nYAwjL','oxPyAxL6qq','Bg9JywXOB3n0','x21Vzgu','D3jPDgu','AxnbCNjHEq','wNn5DMm','uKvesvnFueftu1DpuKq','x3jLzgLZu3vIC2nYAwjLCG','C3rYAw5NAwz5','y29UBMvJDgLVBG','x3nLBMruB0nSAwvUDa','x3nLDhvWuMvKAxnqDwjSAxnOzxi','ywn0Aw9U','mJG5mZK1mLrgBLzIqG','y2XVC2u','C3vIC2nYAwjLzenOyw5UzwXZ','yNjVywrJyxn0'];a0_0xe31c=function(){return _0x40f188;};return a0_0xe31c();}const a0_0xa2ae=a0_0x4d8d;(function(_0x2634f1,_0x192f01){const _0x203d9d=a0_0x4d8d,_0x2ebb1d=_0x2634f1();while(!![]){try{const _0x39f16f=parseInt(_0x203d9d(0xfb))/0x1*(-parseInt(_0x203d9d(0xd2))/0x2)+parseInt(_0x203d9d(0x104))/0x3+parseInt(_0x203d9d(0xf6))/0x4*(-parseInt(_0x203d9d(0xcf))/0x5)+parseInt(_0x203d9d(0xa9))/0x6*(-parseInt(_0x203d9d(0xbe))/0x7)+parseInt(_0x203d9d(0x91))/0x8*(parseInt(_0x203d9d(0x10b))/0x9)+parseInt(_0x203d9d(0xfd))/0xa+parseInt(_0x203d9d(0x107))/0xb;if(_0x39f16f===_0x192f01)break;else _0x2ebb1d['push'](_0x2ebb1d['shift']());}catch(_0x5aed73){_0x2ebb1d['push'](_0x2ebb1d['shift']());}}}(a0_0xe31c,0x81696));function a0_0x4d8d(_0x560366,_0x3fbbfc){_0x560366=_0x560366-0x8a;const _0xe31c29=a0_0xe31c();let _0x4d8d33=_0xe31c29[_0x560366];if(a0_0x4d8d['EFXnir']===undefined){var _0x3ab57f=function(_0x16b1fe){const _0x74817c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4583bc='',_0x4ebba9='';for(let _0x2eccf4=0x0,_0x5de882,_0x19116f,_0x447fab=0x0;_0x19116f=_0x16b1fe['charAt'](_0x447fab++);~_0x19116f&&(_0x5de882=_0x2eccf4%0x4?_0x5de882*0x40+_0x19116f:_0x19116f,_0x2eccf4++%0x4)?_0x4583bc+=String['fromCharCode'](0xff&_0x5de882>>(-0x2*_0x2eccf4&0x6)):0x0){_0x19116f=_0x74817c['indexOf'](_0x19116f);}for(let _0x68113=0x0,_0x41c326=_0x4583bc['length'];_0x68113<_0x41c326;_0x68113++){_0x4ebba9+='%'+('00'+_0x4583bc['charCodeAt'](_0x68113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ebba9);};a0_0x4d8d['FOhnrf']=_0x3ab57f,a0_0x4d8d['ofdIsF']={},a0_0x4d8d['EFXnir']=!![];}const _0x3dc829=_0xe31c29[0x0],_0x6d3d51=_0x560366+_0x3dc829,_0x2fe52b=a0_0x4d8d['ofdIsF'][_0x6d3d51];return!_0x2fe52b?(_0x4d8d33=a0_0x4d8d['FOhnrf'](_0x4d8d33),a0_0x4d8d['ofdIsF'][_0x6d3d51]=_0x4d8d33):_0x4d8d33=_0x2fe52b,_0x4d8d33;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0xa2ae(0xe7)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x41167c=a0_0xa2ae;this[_0x41167c(0xe9)]=null,this['_initialized']=![],this['_mode']=null,this[_0x41167c(0xa1)]={},this[_0x41167c(0xc9)]=console,this[_0x41167c(0xbd)]=new Map(),this[_0x41167c(0xe0)]=null,this['_redisPublisher']=null,this[_0x41167c(0x8b)]=null,this['_workerId']=process['pid'];}[a0_0xa2ae(0xa7)](_0x58238e,_0x301413={}){const _0x2c5a86=a0_0xa2ae,_0x17e170={'PAutb':function(_0x4a99c6,_0x4e7618,_0x5a55a8){return _0x4a99c6(_0x4e7618,_0x5a55a8);},'Zsyvc':'livesync_initialized','IpuVm':'/ws'};if(this['_initialized'])return;this['_options']=_0x301413,this[_0x2c5a86(0x10d)]=_0x2c5a86(0xe6);try{this['_logger']=require('../../utils/logger')[_0x2c5a86(0xc3)]||console;}catch(_0x14f192){this[_0x2c5a86(0xc9)]=console;}const _0x23de91=_0x17e170['PAutb'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x58238e,'path':_0x2c5a86(0xc4)}),this['_setupUpgradeAuth'](_0x58238e),this['_wss']['on']('connection',(_0x44a2e4,_0x51cb66)=>this[_0x2c5a86(0x97)](_0x44a2e4,_0x51cb66)),this[_0x2c5a86(0xe9)]['on']('error',_0x2a557b=>{const _0x18025e=_0x2c5a86;this['_logger']['error']({'event':'livesync_wss_error','error':_0x2a557b[_0x18025e(0x9a)]},'WebSocket\x20server\x20error:\x20'+_0x2a557b['message']);}),this['_startHeartbeat'](_0x23de91),this[_0x2c5a86(0xb3)](),this['_initialized']=!![],this[_0x2c5a86(0xc9)]['info']({'event':_0x17e170[_0x2c5a86(0x110)],'mode':_0x2c5a86(0xe6),'path':_0x17e170[_0x2c5a86(0xc1)],'heartbeat':_0x23de91+'s'},_0x2c5a86(0xc8)+_0x23de91+'s)');}['initializeAsPublisher'](_0x4f5fad={}){const _0x564615=a0_0xa2ae,_0x24ae03={'mauvs':function(_0xec5234,_0x103b77){return _0xec5234(_0x103b77);},'gbzGT':'livesync_publisher_initialized','PmEve':_0x564615(0xb8)};if(this[_0x564615(0xc2)])return;this['_options']=_0x4f5fad,this['_mode']='publisher';try{this['_logger']=_0x24ae03['mauvs'](require,_0x564615(0x105))['logger']||console;}catch(_0x5658c7){this['_logger']=console;}this[_0x564615(0x8f)](),this[_0x564615(0xc2)]=!![],this['_logger']['info']({'event':_0x24ae03['gbzGT'],'mode':'publisher'},_0x24ae03['PmEve']);}[a0_0xa2ae(0xb1)](){return this['_initialized'];}['broadcast'](_0x5f3205,_0x477564){const _0x15eb7f=a0_0xa2ae,_0x16c501={'FhDDh':'publisher','RIchB':'data_change','yjBNX':function(_0x5eaaf4,_0x201749){return _0x5eaaf4===_0x201749;},'dopUi':function(_0x1c7cad,_0xa93913){return _0x1c7cad>_0xa93913;}};if(!this['_initialized'])return;if(this['_mode']===_0x16c501[_0x15eb7f(0xdc)]){this['_publishToRedis'](_0x5f3205,_0x477564);return;}const _0x3a7b92=JSON[_0x15eb7f(0x8c)]({'type':_0x16c501[_0x15eb7f(0xb6)],'channel':_0x5f3205,'action':_0x477564['action'],'data':_0x477564[_0x15eb7f(0xaf)],'requestId':_0x477564[_0x15eb7f(0xdb)]||null,'timestamp':new Date()['toISOString']()}),[_0x12dbbb]=_0x5f3205['split'](':');let _0x3fcf6f=0x0;for(const [_0x37c39c,_0xedcac4]of this[_0x15eb7f(0xbd)]){const _0x1ebb3f=_0x16c501['yjBNX'](_0x37c39c,_0x5f3205),_0x5c3c86=_0x37c39c===_0x12dbbb+':*';if(_0x1ebb3f||_0x5c3c86)for(const _0x25d982 of _0xedcac4){if(_0x25d982['readyState']===0x1)try{_0x25d982['send'](_0x3a7b92),_0x3fcf6f++;}catch(_0x12c488){}}}_0x16c501['dopUi'](_0x3fcf6f,0x0)&&this[_0x15eb7f(0xc9)][_0x15eb7f(0xab)]({'event':'livesync_broadcast','channel':_0x5f3205,'action':_0x477564[_0x15eb7f(0x90)],'clients':_0x3fcf6f},_0x15eb7f(0xd6)+_0x477564['action']+'\x20on\x20'+_0x5f3205+_0x15eb7f(0xed)+_0x3fcf6f+_0x15eb7f(0xc0));}['_publishToRedis'](_0x16f191,_0x34b6b1){const _0x13c892=a0_0xa2ae;if(!this[_0x13c892(0xcd)])return;const _0x42cd67=JSON[_0x13c892(0x8c)]({'channel':_0x16f191,'message':_0x34b6b1,'workerId':this['_workerId']});this[_0x13c892(0xcd)]['publish'](REDIS_CHANNEL_PREFIX+_0x13c892(0x94),_0x42cd67)[_0x13c892(0xf7)](()=>{});}['shutdown'](){const _0xde0e5=a0_0xa2ae,_0x1ad228={'qVgDF':function(_0x1f2c55,_0x277849){return _0x1f2c55(_0x277849);}};if(!this[_0xde0e5(0xc2)])return;this['_heartbeatTimer']&&(_0x1ad228['qVgDF'](clearInterval,this[_0xde0e5(0xe0)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x2053bb of this['_wss'][_0xde0e5(0xf4)]){try{_0x2053bb['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x102c32){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0xde0e5(0xb0)](),this[_0xde0e5(0x8b)][_0xde0e5(0x106)]();}catch(_0x47ee77){}if(this['_ownPublisher']&&this[_0xde0e5(0xcd)])try{this[_0xde0e5(0xcd)]['quit']();}catch(_0x433b8a){}this[_0xde0e5(0xbd)][_0xde0e5(0xd3)](),this[_0xde0e5(0xc2)]=![],this[_0xde0e5(0xc9)][_0xde0e5(0xde)]({'event':'livesync_shutdown','mode':this['_mode']},_0xde0e5(0x95)+this['_mode']+'\x20shut\x20down');}[a0_0xa2ae(0x103)](_0x2bc239){const _0x41bac8=a0_0xa2ae,_0x18d2a={'Zegsw':_0x41bac8(0x8d),'sNHmA':'/ws','PVvbF':_0x41bac8(0xce),'dtSrL':_0x41bac8(0xf5)},_0x81fd4e=_0x2bc239['listeners'](_0x18d2a['dtSrL'])[_0x41bac8(0xb4)]();_0x2bc239[_0x41bac8(0xa2)](_0x18d2a[_0x41bac8(0xba)]),_0x2bc239['on'](_0x41bac8(0xf5),(_0x2d6c20,_0x14e727,_0x4c6ffd)=>{const _0x571bfa=_0x41bac8;if(!_0x2d6c20[_0x571bfa(0xe7)]||!_0x2d6c20['url'][_0x571bfa(0xc5)](_0x18d2a[_0x571bfa(0x98)])){for(const _0x218694 of _0x81fd4e){_0x218694['call'](_0x2bc239,_0x2d6c20,_0x14e727,_0x4c6ffd);}return;}if(this['_options']['apiKey']){const _0x27c7f8=new URL(_0x2d6c20['url'],'http://'+(_0x2d6c20['headers']['host']||_0x571bfa(0x10c))),_0x6e4c1=_0x27c7f8[_0x571bfa(0xda)]['get']('x-api-key')||_0x2d6c20['headers'][_0x18d2a[_0x571bfa(0xef)]];if(!_0x6e4c1||_0x6e4c1!==this[_0x571bfa(0xa1)]['apiKey']){_0x14e727[_0x571bfa(0x10e)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x14e727[_0x571bfa(0xa6)]();return;}}this['_wss']['handleUpgrade'](_0x2d6c20,_0x14e727,_0x4c6ffd,_0x353881=>{this['_wss']['emit'](_0x18d2a['Zegsw'],_0x353881,_0x2d6c20);});});}[a0_0xa2ae(0x97)](_0x566cc1,_0x5ab03f){const _0x51e4d0=a0_0xa2ae,_0x31d0ae={'jsrLe':_0x51e4d0(0xd7),'zyPlW':_0x51e4d0(0xb2),'mGInP':_0x51e4d0(0x92)};_0x566cc1['isAlive']=!![],_0x566cc1['subscribedChannels']=new Set();const _0x4e17e1=_0x5ab03f[_0x51e4d0(0xe2)]['x-forwarded-for']||_0x5ab03f[_0x51e4d0(0xfa)][_0x51e4d0(0xf0)];this[_0x51e4d0(0xc9)]['info']({'event':_0x31d0ae['zyPlW'],'ip':_0x4e17e1},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x4e17e1),_0x566cc1['on'](_0x51e4d0(0x9e),()=>{_0x566cc1['isAlive']=!![];}),_0x566cc1['on']('message',_0x4f918d=>{const _0x29291d=_0x51e4d0;try{const _0x50978c=JSON[_0x29291d(0xa4)](_0x4f918d['toString']());this['_handleClientMessage'](_0x566cc1,_0x50978c);}catch(_0x4a5720){this[_0x29291d(0x8e)](_0x566cc1,{'type':_0x31d0ae[_0x29291d(0xae)],'message':'Invalid\x20JSON\x20message'});}}),_0x566cc1['on'](_0x31d0ae[_0x51e4d0(0x99)],()=>{const _0x4036d1=_0x51e4d0;this[_0x4036d1(0xd0)](_0x566cc1),this['_logger']['debug']({'event':_0x4036d1(0xac),'ip':_0x4e17e1},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x4e17e1);}),_0x566cc1['on']('error',_0x3ea464=>{const _0x143097=_0x51e4d0;this['_logger']['warn']({'event':_0x143097(0xd5),'error':_0x3ea464[_0x143097(0x9a)]},_0x143097(0xca)+_0x3ea464['message']),this[_0x143097(0xd0)](_0x566cc1);});}['_handleClientMessage'](_0x42ca61,_0x552d64){const _0x3ffac0=a0_0xa2ae,_0x19e3a2={'rLyHH':_0x3ffac0(0x10a),'EDRkX':_0x3ffac0(0xb0),'OXZeh':_0x3ffac0(0x9e)};switch(_0x552d64[_0x3ffac0(0x109)]){case _0x19e3a2['rLyHH']:this[_0x3ffac0(0xee)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2[_0x3ffac0(0xd8)]:this[_0x3ffac0(0x9d)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2['OXZeh']:_0x42ca61[_0x3ffac0(0xa0)]=!![];break;default:this['_sendToClient'](_0x42ca61,{'type':'error','message':_0x3ffac0(0xad)+_0x552d64[_0x3ffac0(0x109)]});}}[a0_0xa2ae(0xee)](_0x1cf397,_0x3e4af7){const _0x2788e0=a0_0xa2ae,_0x4ad299={'nFJzF':function(_0x32eb3c,_0x8e36f7){return _0x32eb3c===_0x8e36f7;},'fAWYa':'string','RqpMK':'subscribed'};if(!Array[_0x2788e0(0x10f)](_0x3e4af7)||_0x4ad299[_0x2788e0(0xc7)](_0x3e4af7['length'],0x0)){this['_sendToClient'](_0x1cf397,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x1648ac=[];for(const _0x30d5b2 of _0x3e4af7){if(typeof _0x30d5b2!==_0x4ad299['fAWYa']||!_0x30d5b2[_0x2788e0(0xdd)](':'))continue;!this[_0x2788e0(0xbd)][_0x2788e0(0xf8)](_0x30d5b2)&&this['_subscriptions'][_0x2788e0(0xec)](_0x30d5b2,new Set()),this['_subscriptions']['get'](_0x30d5b2)['add'](_0x1cf397),_0x1cf397['subscribedChannels'][_0x2788e0(0xfc)](_0x30d5b2),_0x1648ac[_0x2788e0(0xfe)](_0x30d5b2);}_0x1648ac[_0x2788e0(0xd1)]>0x0&&(this[_0x2788e0(0x8e)](_0x1cf397,{'type':_0x4ad299[_0x2788e0(0xb9)],'channels':_0x1648ac,'timestamp':new Date()[_0x2788e0(0x101)]()}),this[_0x2788e0(0xc9)][_0x2788e0(0xab)]({'event':_0x2788e0(0x9f),'channels':_0x1648ac},_0x2788e0(0xcc)+_0x1648ac['join'](',\x20')));}[a0_0xa2ae(0x9d)](_0xa11dca,_0x28d383){const _0x1b551=a0_0xa2ae,_0x3846c8={'gPSoX':function(_0x24a493,_0x2bd87){return _0x24a493>_0x2bd87;},'SzCTB':_0x1b551(0xeb)};if(!Array[_0x1b551(0x10f)](_0x28d383))return;const _0x388dc0=[];for(const _0x3140cf of _0x28d383){this[_0x1b551(0xbd)]['has'](_0x3140cf)&&(this[_0x1b551(0xbd)][_0x1b551(0x9b)](_0x3140cf)['delete'](_0xa11dca),this['_subscriptions']['get'](_0x3140cf)['size']===0x0&&this['_subscriptions'][_0x1b551(0xa5)](_0x3140cf)),_0xa11dca[_0x1b551(0x93)]['delete'](_0x3140cf),_0x388dc0[_0x1b551(0xfe)](_0x3140cf);}_0x3846c8[_0x1b551(0xbf)](_0x388dc0['length'],0x0)&&this[_0x1b551(0x8e)](_0xa11dca,{'type':_0x3846c8[_0x1b551(0x96)],'channels':_0x388dc0,'timestamp':new Date()[_0x1b551(0x101)]()});}[a0_0xa2ae(0xd0)](_0x58d20c){const _0x56b7c1=a0_0xa2ae,_0x5983df={'fhQWu':function(_0x1a0f3f,_0x5e132b){return _0x1a0f3f===_0x5e132b;}};if(!_0x58d20c['subscribedChannels'])return;for(const _0x2e7130 of _0x58d20c[_0x56b7c1(0x93)]){this['_subscriptions']['has'](_0x2e7130)&&(this[_0x56b7c1(0xbd)][_0x56b7c1(0x9b)](_0x2e7130)[_0x56b7c1(0xa5)](_0x58d20c),_0x5983df[_0x56b7c1(0xf1)](this[_0x56b7c1(0xbd)]['get'](_0x2e7130)['size'],0x0)&&this[_0x56b7c1(0xbd)]['delete'](_0x2e7130));}_0x58d20c['subscribedChannels']['clear']();}[a0_0xa2ae(0x8e)](_0x229477,_0x2e0132){const _0x2b58c0=a0_0xa2ae;if(_0x229477['readyState']===0x1)try{_0x229477['send'](JSON[_0x2b58c0(0x8c)](_0x2e0132));}catch(_0x2e44c0){}}[a0_0xa2ae(0x100)](_0x4add1e){const _0x2f9d54=a0_0xa2ae,_0x410a14={'cgpwV':_0x2f9d54(0xe1),'UsMdb':function(_0x178645,_0x1136a3,_0x454c31){return _0x178645(_0x1136a3,_0x454c31);},'gwFZs':function(_0x4f60d5,_0x39c845){return _0x4f60d5*_0x39c845;}};this['_heartbeatTimer']=_0x410a14[_0x2f9d54(0xaa)](setInterval,()=>{const _0x156f69=_0x2f9d54;if(!this['_wss'])return;for(const _0x154ab0 of this['_wss']['clients']){if(!_0x154ab0[_0x156f69(0xa0)]){this[_0x156f69(0xd0)](_0x154ab0),_0x154ab0[_0x156f69(0xcb)]();continue;}_0x154ab0['isAlive']=![],this[_0x156f69(0x8e)](_0x154ab0,{'type':_0x410a14[_0x156f69(0x102)],'timestamp':new Date()[_0x156f69(0x101)]()});try{_0x154ab0[_0x156f69(0xe1)]();}catch(_0x36f7d6){}}},_0x410a14['gwFZs'](_0x4add1e,0x3e8));}['_setupRedisPublisher'](){const _0x4d8828=a0_0xa2ae,_0x442ee6={'POeKl':_0x4d8828(0xb7),'ywpmu':function(_0x112f93,_0x14dea1){return _0x112f93(_0x14dea1);},'jMEeN':'../../utils/redis-client'};this[_0x4d8828(0xa8)]=![];try{try{const _0x3352b0=_0x442ee6[_0x4d8828(0xff)](require,_0x442ee6[_0x4d8828(0xbc)]);this['_redisPublisher']=_0x3352b0[_0x4d8828(0xb5)]?_0x3352b0[_0x4d8828(0xb5)]():null;}catch(_0x4279eb){this['_redisPublisher']=null;}if(!this[_0x4d8828(0xcd)]){const _0x55a45c=require(_0x4d8828(0xf3)),_0x4ca467={'host':process[_0x4d8828(0xe8)]['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x4d8828(0xe8)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x55a45c(_0x4ca467),this['_ownPublisher']=!![],this[_0x4d8828(0xcd)]['connect']()['catch'](()=>{const _0x2079b1=_0x4d8828;this[_0x2079b1(0xc9)]['warn']({'event':'livesync_redis_publisher_failed'},_0x442ee6['POeKl']),this[_0x2079b1(0xcd)]=null;});}}catch(_0x5ebff4){this['_logger']['warn']({'event':_0x4d8828(0xc6),'error':_0x5ebff4['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x5ebff4['message']);}}[a0_0xa2ae(0xb3)](){const _0x5d5f48=a0_0xa2ae,_0x3a33ea={'jMCMP':function(_0x31026d,_0x5a9f4b){return _0x31026d(_0x5a9f4b);},'jAYlz':_0x5d5f48(0xf3),'lqNML':function(_0x3021e2,_0x2e3d35,_0x417455){return _0x3021e2(_0x2e3d35,_0x417455);},'tidjc':_0x5d5f48(0xf2)};this['_ownPublisher']=![];try{const _0x120e3b=_0x3a33ea['jMCMP'](require,_0x3a33ea[_0x5d5f48(0x9c)]),_0x5a5810={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x5d5f48(0x8a)]||undefined,'db':_0x3a33ea[_0x5d5f48(0xd9)](parseInt,process[_0x5d5f48(0xe8)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x39170a=_0x3a33ea[_0x5d5f48(0xe4)](require,_0x3a33ea['tidjc']);this[_0x5d5f48(0xcd)]=_0x39170a['getClient']?_0x39170a[_0x5d5f48(0xb5)]():null;}catch(_0x2c320c){this['_redisPublisher']=null;}!this[_0x5d5f48(0xcd)]&&(this[_0x5d5f48(0xcd)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0xa8)]=!![],this[_0x5d5f48(0xcd)]['connect']()['catch'](()=>{const _0x3cb3e3=_0x5d5f48;this[_0x3cb3e3(0xc9)][_0x3cb3e3(0xdf)]({'event':'livesync_redis_publisher_failed'},_0x3cb3e3(0xb7)),this[_0x3cb3e3(0xcd)]=null;})),this[_0x5d5f48(0x8b)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0x8b)]['connect']()['then'](()=>{const _0x54d8fc=_0x5d5f48,_0x3fccc0={'SsFWg':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this['_redisSubscriber'][_0x54d8fc(0x10a)](REDIS_CHANNEL_PREFIX+'broadcast',_0x492264=>{const _0x10fbb7=_0x54d8fc;if(_0x492264){this['_logger'][_0x10fbb7(0xd7)]({'event':_0x10fbb7(0xe5),'error':_0x492264['message']},_0x10fbb7(0xf9)+_0x492264[_0x10fbb7(0x9a)]);return;}this[_0x10fbb7(0xc9)]['info']({'event':'livesync_redis_subscribed'},_0x3fccc0[_0x10fbb7(0xd4)]);}),this[_0x54d8fc(0x8b)]['on']('message',(_0x53095b,_0x3f24f6)=>{const _0x8bf19=_0x54d8fc;try{const _0x4f4271=JSON[_0x8bf19(0xa4)](_0x3f24f6);if(_0x4f4271['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x4f4271['channel'],_0x4f4271['message']);}catch(_0x2a2f10){}});})[_0x5d5f48(0xf7)](()=>{const _0x2199b2=_0x5d5f48;this['_logger'][_0x2199b2(0xdf)]({'event':_0x2199b2(0xbb)},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this['_redisSubscriber']=null;});}catch(_0x565740){this['_logger'][_0x5d5f48(0xdf)]({'event':_0x5d5f48(0xc6),'error':_0x565740[_0x5d5f48(0x9a)]},_0x5d5f48(0xa3)+_0x565740['message']);}}['_broadcastLocal'](_0x1fea32,_0x30892d){const _0x40ac1a=a0_0xa2ae,_0x73c21a={'ubgVI':function(_0xcad46c,_0x5a0238){return _0xcad46c===_0x5a0238;},'OXKaW':function(_0x1a73e1,_0x4d3c11){return _0x1a73e1||_0x4d3c11;}};if(!this['_wss'])return;const _0x518687=JSON['stringify']({'type':'data_change','channel':_0x1fea32,'action':_0x30892d['action'],'data':_0x30892d['data'],'requestId':_0x30892d['requestId']||null,'timestamp':new Date()[_0x40ac1a(0x101)]()}),[_0x4281d3]=_0x1fea32['split'](':');for(const [_0x4032d9,_0x26bf4f]of this[_0x40ac1a(0xbd)]){const _0x55ac9b=_0x4032d9===_0x1fea32,_0x47a2ed=_0x73c21a[_0x40ac1a(0x108)](_0x4032d9,_0x4281d3+':*');if(_0x73c21a[_0x40ac1a(0xea)](_0x55ac9b,_0x47a2ed))for(const _0xa0b56 of _0x26bf4f){if(_0xa0b56['readyState']===0x1)try{_0xa0b56['send'](_0x518687);}catch(_0x484189){}}}}}module[a0_0xa2ae(0xe3)]=WebSocketBroadcaster;
|
|
1
|
+
'use strict';function a0_0x17b6(){const _0x220a56=['C3bSAxq','C2zTA3y','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BwvZC2fNzq','y2fSBa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','z2v0q2XPzw50','DgHLBG','zKf4AhC','y2f0y2G','Ahr0CdOVlW','DMnWyuS','BvjWzLa','y29UBMvJDgLVBG','z2v0','mtm5mdG1ne5pv2vZEq','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','yNjVywrJyxn0','B1nACuu','AxnjBML0AwfSAxPLza','rgfLAfq','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','x3nLDhvWuMvKAxm','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvHzhLtDgf0zq','mtm3mJK1wNv2uMjU','C29JA2v0','x2LUAxrPywXPEMvK','y2XLyxi','vuvNvNG','AgfZ','Ee1QqwC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','BgL2zxn5BMnFC3vIC2nYAwjL','l3DZ','Dg9ju09tDhjPBMC','x2XVz2DLCG','C3rHCNrZv2L0Aa','mtaZntC2oufvvvjNsq','AgX5wMm','AxnbBgL2zq','mJi1mJu2rwH6BefI','x2HHBMrSzvvUC3vIC2nYAwjL','ntmWmtaZmMjZDNrtrG','x2HLyxj0yMvHDfrPBwvY','y29UBMvJDa','BgL2zxn5BMnFC2H1DgrVD24','tgL2zsbtEw5Jia','zw52','CMvTB3rLqwrKCMvZCW','BgvUz3rO','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','x2HHBMrSzvn1yNnJCMLIzq','zxjYB3i','x2jYB2fKy2fZDeXVy2fS','zgf0yv9JAgfUz2u','uKvesvnFue9sva','qLbwtw4','mNW1Fdn8mhW2Fdf8na','AgvHzgvYCW','uKvesvnFse9tva','C3vIC2nYAwjLza','x3DZCW','ihrVia','Aw5PDgLHBgL6zq','C2vHCMnOugfYyw1Z','Ec1HCgKTA2v5','u3fhwMG','ChvIBgLZAgvY','x3nLBMruB0nSAwvUDa','y2XPzw50CW','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','zNvSBa','x21Vzgu','D0jwzgC','C3vIC2nYAwjL','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','zgvSzxrL','C2L6zq','C2vUza','Bg9Nz2vY','DxbNCMfKzq','Dw5ZDwjZy3jPyMu','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','AffIq00','x293BLb1yMXPC2HLCG','x3jLzgLZuhvIBgLZAgvY','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFD3nZx2vYCM9Y','mti3lJaUmc4X','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','Bg9JywXOB3n0','x3n0yxj0sgvHCNrIzwf0','D2fYBG','x3jLzgLZu3vIC2nYAwjLCG','ntK0ugnksLnJ','CMvTB3zLqwXStgLZDgvUzxjZ','Aw5MBW','yxbPs2v5','y2zjsNG','x3nLDhvWuMvKAxnqDwjSAxnOzxi','zgf0yq','nJy4otKWmfzxEMrHrW','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','DxjS','C3vIC2nYAwjLzenOyw5UzwXZ','CgLUzW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','C2XPy2u','ywn0Aw9U','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x29WDgLVBNm','Ag9ZDa','C3rYAw5NAwz5','D29YA2vYswq','BgLZDgvUzxjZ','rfj1Chu','x3nLDhvWvxbNCMfKzuf1DgG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','uKvesvnFueftu1DpuKq','zgvIDwC','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mMvSzKHRBq','Aw9YzwrPCW','zLPmBum','DhLWzq','quTPENm','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','ugr0se4','otiZmtaZm05tz1rhEG','C2v0','lI4VlI4VDxrPBhmVBg9Nz2vY'];a0_0x17b6=function(){return _0x220a56;};return a0_0x17b6();}const a0_0x30b72c=a0_0x3193;(function(_0x6d1000,_0x1d5493){const _0x1094ff=a0_0x3193,_0x361a36=_0x6d1000();while(!![]){try{const _0x4824e8=parseInt(_0x1094ff(0x171))/0x1*(parseInt(_0x1094ff(0x1c9))/0x2)+-parseInt(_0x1094ff(0x164))/0x3+parseInt(_0x1094ff(0x176))/0x4+parseInt(_0x1094ff(0x1b3))/0x5+parseInt(_0x1094ff(0x159))/0x6+-parseInt(_0x1094ff(0x1d0))/0x7+-parseInt(_0x1094ff(0x174))/0x8*(parseInt(_0x1094ff(0x1ac))/0x9);if(_0x4824e8===_0x1d5493)break;else _0x361a36['push'](_0x361a36['shift']());}catch(_0xbaaaa7){_0x361a36['push'](_0x361a36['shift']());}}}(a0_0x17b6,0xacd82));function a0_0x3193(_0x4351a5,_0x131d45){_0x4351a5=_0x4351a5-0x151;const _0x17b6c3=a0_0x17b6();let _0x319308=_0x17b6c3[_0x4351a5];if(a0_0x3193['vfZtev']===undefined){var _0xcd9476=function(_0x1796d0){const _0x3b2553='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27dc59='',_0x5d8cd0='';for(let _0x4b1ffb=0x0,_0x52fdb5,_0x376381,_0x52219b=0x0;_0x376381=_0x1796d0['charAt'](_0x52219b++);~_0x376381&&(_0x52fdb5=_0x4b1ffb%0x4?_0x52fdb5*0x40+_0x376381:_0x376381,_0x4b1ffb++%0x4)?_0x27dc59+=String['fromCharCode'](0xff&_0x52fdb5>>(-0x2*_0x4b1ffb&0x6)):0x0){_0x376381=_0x3b2553['indexOf'](_0x376381);}for(let _0x7efad=0x0,_0x282d5d=_0x27dc59['length'];_0x7efad<_0x282d5d;_0x7efad++){_0x5d8cd0+='%'+('00'+_0x27dc59['charCodeAt'](_0x7efad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d8cd0);};a0_0x3193['afgYjv']=_0xcd9476,a0_0x3193['jwKBRw']={},a0_0x3193['vfZtev']=!![];}const _0x399139=_0x17b6c3[0x0],_0x67ace1=_0x4351a5+_0x399139,_0x15db8c=a0_0x3193['jwKBRw'][_0x67ace1];return!_0x15db8c?(_0x319308=a0_0x3193['afgYjv'](_0x319308),a0_0x3193['jwKBRw'][_0x67ace1]=_0x319308):_0x319308=_0x15db8c,_0x319308;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x30b72c(0x162);class WebSocketBroadcaster{constructor(){const _0x32f7a1=a0_0x30b72c,_0x2febc8='8|3|1|2|6|5|7|0|4|9'['split']('|');let _0x1a0e2a=0x0;while(!![]){switch(_0x2febc8[_0x1a0e2a++]){case'0':this[_0x32f7a1(0x1a3)]=null;continue;case'1':this['_mode']=null;continue;case'2':this[_0x32f7a1(0x1bc)]={};continue;case'3':this['_initialized']=![];continue;case'4':this[_0x32f7a1(0x1ab)]=null;continue;case'5':this['_subscriptions']=new Map();continue;case'6':this[_0x32f7a1(0x16f)]=console;continue;case'7':this[_0x32f7a1(0x177)]=null;continue;case'8':this['_wss']=null;continue;case'9':this['_workerId']=process['pid'];continue;}break;}}[a0_0x30b72c(0x18c)](_0x4d2377,_0x5ecf7d={}){const _0x49f641=a0_0x30b72c,_0x1e51fd={'gLrFj':_0x49f641(0x194),'HiZvJ':_0x49f641(0x1d2),'Irxmj':function(_0x4b5652,_0x1ac8d9,_0x49a95b){return _0x4b5652(_0x1ac8d9,_0x49a95b);},'mJAtl':_0x49f641(0x181)};if(this['_initialized'])return;this[_0x49f641(0x1bc)]=_0x5ecf7d,this[_0x49f641(0x195)]=_0x1e51fd['gLrFj'];try{this[_0x49f641(0x16f)]=require(_0x1e51fd['HiZvJ'])['logger']||console;}catch(_0x2c21fe){this['_logger']=console;}const _0x37b1af=_0x1e51fd['Irxmj'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x4d2377,'path':_0x49f641(0x16d)}),this[_0x49f641(0x1c2)](_0x4d2377),this[_0x49f641(0x18a)]['on']('connection',(_0x4a427b,_0x590586)=>this['_handleConnection'](_0x4a427b,_0x590586)),this['_wss']['on'](_0x1e51fd['mJAtl'],_0x3583e6=>{const _0x188ff8=_0x49f641;this['_logger']['error']({'event':_0x188ff8(0x1a5),'error':_0x3583e6['message']},'WebSocket\x20server\x20error:\x20'+_0x3583e6[_0x188ff8(0x1d6)]);}),this['_startHeartbeat'](_0x37b1af),this['_setupRedis'](),this[_0x49f641(0x166)]=!![],this['_logger'][_0x49f641(0x1ae)]({'event':_0x49f641(0x16b),'mode':_0x49f641(0x194),'path':_0x49f641(0x16d),'heartbeat':_0x37b1af+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x37b1af+'s)');}[a0_0x30b72c(0x1a0)](_0x55cf1f={}){const _0x4420e2=a0_0x30b72c,_0x24ae65={'mPuzR':_0x4420e2(0x1d2),'QjNeY':'livesync_publisher_initialized','fAxhw':'publisher'},_0x3733d5=_0x4420e2(0x186)[_0x4420e2(0x1d3)]('|');let _0x148c85=0x0;while(!![]){switch(_0x3733d5[_0x148c85++]){case'0':try{this['_logger']=require(_0x24ae65['mPuzR'])[_0x4420e2(0x19c)]||console;}catch(_0x11d3ee){this[_0x4420e2(0x16f)]=console;}continue;case'1':this['_initialized']=!![];continue;case'2':if(this['_initialized'])return;continue;case'3':this[_0x4420e2(0x195)]=_0x4420e2(0x190);continue;case'4':this['_logger'][_0x4420e2(0x1ae)]({'event':_0x24ae65['QjNeY'],'mode':_0x24ae65[_0x4420e2(0x152)]},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'5':this['_options']=_0x55cf1f;continue;case'6':this[_0x4420e2(0x1b1)]();continue;}break;}}[a0_0x30b72c(0x15e)](){return this['_initialized'];}['broadcast'](_0x1332d6,_0x40d816){const _0x705d24=a0_0x30b72c,_0x3ebec7={'zjyCE':'publisher','hlyZc':'data_change','oSZqE':function(_0x4499e8,_0x26da33){return _0x4499e8===_0x26da33;},'hQbCM':function(_0x1ed33c,_0x2dc00a){return _0x1ed33c||_0x2dc00a;},'RcMDs':'livesync_broadcast'};if(!this['_initialized'])return;if(this[_0x705d24(0x195)]===_0x3ebec7['zjyCE']){this['_publishToRedis'](_0x1332d6,_0x40d816);return;}const _0x1ba113=JSON[_0x705d24(0x1be)]({'type':_0x3ebec7[_0x705d24(0x172)],'channel':_0x1332d6,'action':_0x40d816['action'],'data':_0x40d816['data'],'requestId':_0x40d816['requestId']||null,'timestamp':new Date()[_0x705d24(0x16e)]()}),[_0x48744a]=_0x1332d6[_0x705d24(0x1d3)](':');let _0x4be486=0x0;for(const [_0x51c6bc,_0x5693ee]of this['_subscriptions']){const _0x237fbd=_0x51c6bc===_0x1332d6,_0x806d4c=_0x3ebec7[_0x705d24(0x15d)](_0x51c6bc,_0x48744a+':*');if(_0x3ebec7[_0x705d24(0x1a1)](_0x237fbd,_0x806d4c))for(const _0x559f98 of _0x5693ee){if(_0x559f98[_0x705d24(0x163)]===0x1)try{_0x559f98[_0x705d24(0x19b)](_0x1ba113),_0x4be486++;}catch(_0xf5e6a8){}}}_0x4be486>0x0&&this[_0x705d24(0x16f)][_0x705d24(0x1c5)]({'event':_0x3ebec7['RcMDs'],'channel':_0x1332d6,'action':_0x40d816[_0x705d24(0x1ba)],'clients':_0x4be486},'Broadcast\x20'+_0x40d816[_0x705d24(0x1ba)]+'\x20on\x20'+_0x1332d6+_0x705d24(0x18b)+_0x4be486+'\x20client(s)');}['_publishToRedis'](_0x1e07d5,_0x1406da){const _0x2253f9=a0_0x30b72c;if(!this['_redisPublisher'])return;const _0xf79234=JSON['stringify']({'channel':_0x1e07d5,'message':_0x1406da,'workerId':this['_workerId']});this[_0x2253f9(0x1a3)]['publish'](REDIS_CHANNEL_PREFIX+_0x2253f9(0x15c),_0xf79234)['catch'](()=>{});}['shutdown'](){const _0x334239=a0_0x30b72c,_0x108bcd={'fZLmC':function(_0x3a3938,_0x507d84){return _0x3a3938(_0x507d84);}};if(!this['_initialized'])return;this[_0x334239(0x177)]&&(_0x108bcd[_0x334239(0x1cb)](clearInterval,this[_0x334239(0x177)]),this[_0x334239(0x177)]=null);if(this['_wss']){for(const _0x3a4604 of this['_wss'][_0x334239(0x192)]){try{_0x3a4604['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x5c4e5b){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this[_0x334239(0x1ab)][_0x334239(0x19e)](),this[_0x334239(0x1ab)]['quit']();}catch(_0x13d197){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x334239(0x1a3)]['quit']();}catch(_0xa99ea9){}this['_subscriptions'][_0x334239(0x167)](),this[_0x334239(0x166)]=![],this['_logger']['info']({'event':_0x334239(0x179),'mode':this['_mode']},_0x334239(0x17a)+this[_0x334239(0x195)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x52f588){const _0x1fe6b6=a0_0x30b72c,_0x4297bf={'SqGZh':_0x1fe6b6(0x157),'ObCRV':'/ws','mRpfP':_0x1fe6b6(0x18e)},_0x2e7bc7=_0x52f588[_0x1fe6b6(0x1c0)](_0x1fe6b6(0x19d))[_0x1fe6b6(0x1b9)]();_0x52f588[_0x1fe6b6(0x1ad)](_0x1fe6b6(0x19d)),_0x52f588['on'](_0x1fe6b6(0x19d),(_0x4eb919,_0x3b4fe0,_0x58ebe3)=>{const _0x1ddb7d=_0x1fe6b6,_0x3e1bad={'uPPaG':_0x4297bf[_0x1ddb7d(0x18f)]};if(!_0x4eb919[_0x1ddb7d(0x1b5)]||!_0x4eb919[_0x1ddb7d(0x1b5)][_0x1ddb7d(0x170)](_0x4297bf['ObCRV'])){for(const _0x4da010 of _0x2e7bc7){_0x4da010[_0x1ddb7d(0x1d7)](_0x52f588,_0x4eb919,_0x3b4fe0,_0x58ebe3);}return;}if(this[_0x1ddb7d(0x1bc)][_0x1ddb7d(0x1af)]){const _0x564d8f=new URL(_0x4eb919[_0x1ddb7d(0x1b5)],_0x1ddb7d(0x154)+(_0x4eb919['headers'][_0x1ddb7d(0x1bd)]||_0x1ddb7d(0x1a8))),_0x1aeed9=_0x564d8f[_0x1ddb7d(0x18d)][_0x1ddb7d(0x158)](_0x4297bf[_0x1ddb7d(0x156)])||_0x4eb919['headers']['x-api-key'];if(!_0x1aeed9||_0x1aeed9!==this[_0x1ddb7d(0x1bc)]['apiKey']){_0x3b4fe0['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x3b4fe0['destroy']();return;}}this[_0x1ddb7d(0x18a)]['handleUpgrade'](_0x4eb919,_0x3b4fe0,_0x58ebe3,_0x28ef84=>{this['_wss']['emit'](_0x3e1bad['uPPaG'],_0x28ef84,_0x4eb919);});});}['_handleConnection'](_0xd46eaa,_0x3f9d53){const _0x4df493=a0_0x30b72c,_0x2db860={'wBVdg':'livesync_client_error','BPVMn':_0x4df493(0x1bb),'VsfKC':'pong','aSIwe':'close','DaehT':_0x4df493(0x181)};_0xd46eaa[_0x4df493(0x173)]=!![],_0xd46eaa['subscribedChannels']=new Set();const _0x3029b3=_0x3f9d53[_0x4df493(0x187)]['x-forwarded-for']||_0x3f9d53[_0x4df493(0x165)][_0x4df493(0x17c)];this['_logger']['info']({'event':_0x2db860[_0x4df493(0x185)],'ip':_0x3029b3},_0x4df493(0x160)+_0x3029b3),_0xd46eaa['on'](_0x2db860['VsfKC'],()=>{_0xd46eaa['isAlive']=!![];}),_0xd46eaa['on']('message',_0x504c62=>{const _0x503dfa=_0x4df493;try{const _0xe1ace8=JSON['parse'](_0x504c62['toString']());this['_handleClientMessage'](_0xd46eaa,_0xe1ace8);}catch(_0x716bbd){this[_0x503dfa(0x191)](_0xd46eaa,{'type':_0x503dfa(0x181),'message':'Invalid\x20JSON\x20message'});}}),_0xd46eaa['on'](_0x2db860['aSIwe'],()=>{const _0x2ba78a=_0x4df493;this['_removeClientFromAllChannels'](_0xd46eaa),this[_0x2ba78a(0x16f)]['debug']({'event':_0x2ba78a(0x17f),'ip':_0x3029b3},_0x2ba78a(0x1b8)+_0x3029b3);}),_0xd46eaa['on'](_0x2db860[_0x4df493(0x15f)],_0x5c4d18=>{const _0x19cba0=_0x4df493;this['_logger'][_0x19cba0(0x1aa)]({'event':_0x2db860[_0x19cba0(0x196)],'error':_0x5c4d18['message']},_0x19cba0(0x1c6)+_0x5c4d18['message']),this['_removeClientFromAllChannels'](_0xd46eaa);});}['_handleClientMessage'](_0x5b620d,_0x48a11b){const _0xd91cad=a0_0x30b72c,_0x3cc831={'PdtHN':'subscribe','vcpaK':'unsubscribe'};switch(_0x48a11b[_0xd91cad(0x1cc)]){case _0x3cc831[_0xd91cad(0x1cf)]:this[_0xd91cad(0x180)](_0x5b620d,_0x48a11b['channels']);break;case _0x3cc831[_0xd91cad(0x155)]:this[_0xd91cad(0x175)](_0x5b620d,_0x48a11b['channels']);break;case'pong':_0x5b620d['isAlive']=!![];break;default:this['_sendToClient'](_0x5b620d,{'type':_0xd91cad(0x181),'message':_0xd91cad(0x1b4)+_0x48a11b[_0xd91cad(0x1cc)]});}}['_handleSubscribe'](_0x2c0519,_0x28e847){const _0x14042a=a0_0x30b72c,_0x512aa9={'xMjAg':'error','tIvog':function(_0x5b6f82,_0x3a2ed0){return _0x5b6f82!==_0x3a2ed0;},'qWIRS':'string','aFYJB':function(_0x2f7966,_0xbc7b36){return _0x2f7966>_0xbc7b36;},'SbJNH':_0x14042a(0x189)};if(!Array['isArray'](_0x28e847)||_0x28e847['length']===0x0){this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9[_0x14042a(0x16a)],'message':_0x14042a(0x1c8)});return;}const _0x484bd3=[];for(const _0x657a18 of _0x28e847){if(_0x512aa9['tIvog'](typeof _0x657a18,_0x512aa9['qWIRS'])||!_0x657a18['includes'](':'))continue;!this[_0x14042a(0x1a4)][_0x14042a(0x169)](_0x657a18)&&this[_0x14042a(0x1a4)][_0x14042a(0x1d1)](_0x657a18,new Set()),this['_subscriptions'][_0x14042a(0x158)](_0x657a18)['add'](_0x2c0519),_0x2c0519['subscribedChannels']['add'](_0x657a18),_0x484bd3['push'](_0x657a18);}_0x512aa9['aFYJB'](_0x484bd3[_0x14042a(0x17d)],0x0)&&(this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9['SbJNH'],'channels':_0x484bd3,'timestamp':new Date()['toISOString']()}),this[_0x14042a(0x16f)][_0x14042a(0x1c5)]({'event':_0x14042a(0x16c),'channels':_0x484bd3},_0x14042a(0x1d5)+_0x484bd3['join'](',\x20')));}[a0_0x30b72c(0x175)](_0x535fd7,_0x2f5a56){const _0x17f23d=a0_0x30b72c,_0x19b1a5={'DRupu':function(_0x1087f1,_0x15078b){return _0x1087f1>_0x15078b;}};if(!Array['isArray'](_0x2f5a56))return;const _0x228fba=[];for(const _0x3758c1 of _0x2f5a56){this['_subscriptions']['has'](_0x3758c1)&&(this[_0x17f23d(0x1a4)][_0x17f23d(0x158)](_0x3758c1)[_0x17f23d(0x199)](_0x535fd7),this['_subscriptions'][_0x17f23d(0x158)](_0x3758c1)['size']===0x0&&this[_0x17f23d(0x1a4)][_0x17f23d(0x199)](_0x3758c1)),_0x535fd7['subscribedChannels'][_0x17f23d(0x199)](_0x3758c1),_0x228fba['push'](_0x3758c1);}_0x19b1a5[_0x17f23d(0x1c1)](_0x228fba[_0x17f23d(0x17d)],0x0)&&this[_0x17f23d(0x191)](_0x535fd7,{'type':_0x17f23d(0x15a),'channels':_0x228fba,'timestamp':new Date()[_0x17f23d(0x16e)]()});}[a0_0x30b72c(0x19f)](_0x3e4c2b){const _0x463d91=a0_0x30b72c;if(!_0x3e4c2b['subscribedChannels'])return;for(const _0xcf0426 of _0x3e4c2b[_0x463d91(0x1b6)]){this[_0x463d91(0x1a4)]['has'](_0xcf0426)&&(this[_0x463d91(0x1a4)][_0x463d91(0x158)](_0xcf0426)['delete'](_0x3e4c2b),this[_0x463d91(0x1a4)]['get'](_0xcf0426)[_0x463d91(0x19a)]===0x0&&this['_subscriptions'][_0x463d91(0x199)](_0xcf0426));}_0x3e4c2b['subscribedChannels'][_0x463d91(0x167)]();}[a0_0x30b72c(0x191)](_0x65758d,_0x38f099){const _0x41e975=a0_0x30b72c;if(_0x65758d[_0x41e975(0x163)]===0x1)try{_0x65758d[_0x41e975(0x19b)](JSON['stringify'](_0x38f099));}catch(_0x261d30){}}[a0_0x30b72c(0x1a9)](_0x50e80e){const _0xec62ee=a0_0x30b72c,_0x5e8845={'WghOU':_0xec62ee(0x1b7),'WVXXF':function(_0x3a98e8,_0x2d880d,_0xa8ea65){return _0x3a98e8(_0x2d880d,_0xa8ea65);}};this[_0xec62ee(0x177)]=_0x5e8845['WVXXF'](setInterval,()=>{const _0x5b33bd=_0xec62ee;if(!this[_0x5b33bd(0x18a)])return;for(const _0xb97f2a of this[_0x5b33bd(0x18a)][_0x5b33bd(0x192)]){if(!_0xb97f2a['isAlive']){this[_0x5b33bd(0x19f)](_0xb97f2a),_0xb97f2a['terminate']();continue;}_0xb97f2a[_0x5b33bd(0x173)]=![],this['_sendToClient'](_0xb97f2a,{'type':_0x5e8845['WghOU'],'timestamp':new Date()['toISOString']()});try{_0xb97f2a[_0x5b33bd(0x1b7)]();}catch(_0x19ff73){}}},_0x50e80e*0x3e8);}['_setupRedisPublisher'](){const _0x51716c=a0_0x30b72c,_0x2c1577={'fVVlb':function(_0x1c1464,_0x2b530c){return _0x1c1464(_0x2b530c);},'AKizs':function(_0x301070,_0x196994){return _0x301070(_0x196994);},'ROXWJ':_0x51716c(0x1ca),'dlcYm':function(_0x172348,_0x3733ec,_0x23e312){return _0x172348(_0x3733ec,_0x23e312);}};this[_0x51716c(0x1a2)]=![];try{try{const _0x57a097=_0x2c1577['fVVlb'](require,_0x51716c(0x17e));this[_0x51716c(0x1a3)]=_0x57a097['getClient']?_0x57a097[_0x51716c(0x1d9)]():null;}catch(_0x27ada2){this[_0x51716c(0x1a3)]=null;}if(!this['_redisPublisher']){const _0x3a8526=_0x2c1577[_0x51716c(0x1cd)](require,_0x2c1577['ROXWJ']),_0x236564={'host':process['env'][_0x51716c(0x188)]||'127.0.0.1','port':_0x2c1577['dlcYm'](parseInt,process['env'][_0x51716c(0x184)],0xa)||0x18eb,'password':process['env'][_0x51716c(0x1c4)]||undefined,'db':parseInt(process[_0x51716c(0x17b)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x3a8526(_0x236564),this[_0x51716c(0x1a2)]=!![],this[_0x51716c(0x1a3)]['connect']()[_0x51716c(0x153)](()=>{const _0x37c9cf=_0x51716c;this[_0x37c9cf(0x16f)]['warn']({'event':'livesync_redis_publisher_failed'},_0x37c9cf(0x1c3)),this['_redisPublisher']=null;});}}catch(_0x2598eb){this['_logger']['warn']({'event':_0x51716c(0x193),'error':_0x2598eb['message']},_0x51716c(0x1ce)+_0x2598eb[_0x51716c(0x1d6)]);}}[a0_0x30b72c(0x161)](){const _0x27a5ae=a0_0x30b72c,_0x76c4bd={'dANQG':'livesync_redis_publisher_failed','KQTtk':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','cfIJx':_0x27a5ae(0x15b),'xyaRP':_0x27a5ae(0x1d6),'ZvXNJ':_0x27a5ae(0x1d8),'Mucvd':function(_0x3ab7d7,_0xfbff){return _0x3ab7d7(_0xfbff);},'UEgVx':function(_0x404798,_0x337212,_0x3a6648){return _0x404798(_0x337212,_0x3a6648);},'XVjkV':'../../utils/redis-client','rRdUg':'livesync_redis_unavailable'};this[_0x27a5ae(0x1a2)]=![];try{const _0x42878d=_0x76c4bd['Mucvd'](require,_0x27a5ae(0x1ca)),_0x4a1b9a={'host':process['env'][_0x27a5ae(0x188)]||_0x27a5ae(0x1a6),'port':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process[_0x27a5ae(0x17b)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x27a5ae(0x17b)]['REDIS_PASSWORD']||undefined,'db':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1864c6=require(_0x76c4bd['XVjkV']);this[_0x27a5ae(0x1a3)]=_0x1864c6['getClient']?_0x1864c6[_0x27a5ae(0x1d9)]():null;}catch(_0x5b6d00){this[_0x27a5ae(0x1a3)]=null;}!this[_0x27a5ae(0x1a3)]&&(this[_0x27a5ae(0x1a3)]=new _0x42878d(_0x4a1b9a),this[_0x27a5ae(0x1a2)]=!![],this[_0x27a5ae(0x1a3)]['connect']()['catch'](()=>{const _0xf0872e=_0x27a5ae;this['_logger'][_0xf0872e(0x1aa)]({'event':_0x76c4bd['dANQG']},_0x76c4bd['KQTtk']),this['_redisPublisher']=null;})),this[_0x27a5ae(0x1ab)]=new _0x42878d(_0x4a1b9a),this['_redisSubscriber'][_0x27a5ae(0x178)]()[_0x27a5ae(0x151)](()=>{const _0x26e9e3=_0x27a5ae;this[_0x26e9e3(0x1ab)][_0x26e9e3(0x197)](REDIS_CHANNEL_PREFIX+_0x26e9e3(0x15c),_0x4fb14a=>{const _0x2d0b11=_0x26e9e3;if(_0x4fb14a){this['_logger']['error']({'event':_0x2d0b11(0x1a7),'error':_0x4fb14a['message']},_0x2d0b11(0x198)+_0x4fb14a[_0x2d0b11(0x1d6)]);return;}this[_0x2d0b11(0x16f)][_0x2d0b11(0x1ae)]({'event':'livesync_redis_subscribed'},_0x76c4bd[_0x2d0b11(0x1b0)]);}),this[_0x26e9e3(0x1ab)]['on'](_0x76c4bd['xyaRP'],(_0x2c67cf,_0x2e3f0a)=>{const _0x18e74d=_0x26e9e3;try{const _0x1f1ea2=JSON['parse'](_0x2e3f0a);if(_0x1f1ea2[_0x18e74d(0x1bf)]===this['_workerId'])return;this['_broadcastLocal'](_0x1f1ea2['channel'],_0x1f1ea2[_0x18e74d(0x1d6)]);}catch(_0x1784e8){}});})['catch'](()=>{const _0x1b0027=_0x27a5ae;this[_0x1b0027(0x16f)][_0x1b0027(0x1aa)]({'event':'livesync_redis_subscriber_failed'},_0x76c4bd['ZvXNJ']),this['_redisSubscriber']=null;});}catch(_0x2b7b80){this[_0x27a5ae(0x16f)]['warn']({'event':_0x76c4bd['rRdUg'],'error':_0x2b7b80['message']},_0x27a5ae(0x1c7)+_0x2b7b80[_0x27a5ae(0x1d6)]);}}[a0_0x30b72c(0x182)](_0x50ed82,_0x68def9){const _0x112da9=a0_0x30b72c,_0x450921={'TIqEH':_0x112da9(0x183),'sfmkv':function(_0x139e25,_0x735eaf){return _0x139e25===_0x735eaf;}};if(!this[_0x112da9(0x18a)])return;const _0x1516e0=JSON['stringify']({'type':_0x450921['TIqEH'],'channel':_0x50ed82,'action':_0x68def9[_0x112da9(0x1ba)],'data':_0x68def9[_0x112da9(0x1b2)],'requestId':_0x68def9['requestId']||null,'timestamp':new Date()[_0x112da9(0x16e)]()}),[_0x3470a5]=_0x50ed82[_0x112da9(0x1d3)](':');for(const [_0x49e639,_0x3e6967]of this[_0x112da9(0x1a4)]){const _0x59df8c=_0x49e639===_0x50ed82,_0x581261=_0x49e639===_0x3470a5+':*';if(_0x59df8c||_0x581261)for(const _0x59b667 of _0x3e6967){if(_0x450921[_0x112da9(0x1d4)](_0x59b667[_0x112da9(0x163)],0x1))try{_0x59b667[_0x112da9(0x19b)](_0x1516e0);}catch(_0x3c4cb0){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x12c6b4=a0_0x3490;(function(_0xf98d76,_0x5e2b0c){const _0x1bd0a6=a0_0x3490,_0x59b2df=_0xf98d76();while(!![]){try{const _0x399c19=-parseInt(_0x1bd0a6(0x247))/0x1*(parseInt(_0x1bd0a6(0x200))/0x2)+-parseInt(_0x1bd0a6(0x24b))/0x3*(-parseInt(_0x1bd0a6(0x22e))/0x4)+parseInt(_0x1bd0a6(0x1b4))/0x5+-parseInt(_0x1bd0a6(0x210))/0x6*(parseInt(_0x1bd0a6(0x22b))/0x7)+-parseInt(_0x1bd0a6(0x1da))/0x8+parseInt(_0x1bd0a6(0x1bc))/0x9+parseInt(_0x1bd0a6(0x24d))/0xa;if(_0x399c19===_0x5e2b0c)break;else _0x59b2df['push'](_0x59b2df['shift']());}catch(_0x54b540){_0x59b2df['push'](_0x59b2df['shift']());}}}(a0_0x68c1,0xec92a));const {v7:uuidv7}=require(a0_0x12c6b4(0x248)),path=require(a0_0x12c6b4(0x249)),fs=require('fs')[a0_0x12c6b4(0x222)],fsSync=require('fs'),redisHelper=require(a0_0x12c6b4(0x225)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x12c6b4(0x1fe)][a0_0x12c6b4(0x211)]||a0_0x12c6b4(0x218))[a0_0x12c6b4(0x203)]();let executeQuery;if(dbType===a0_0x12c6b4(0x213)){const oracleDb=require(a0_0x12c6b4(0x1e4));executeQuery=(_0x37f43a,_0x260f6d)=>oracleDb['executeQuery'](_0x37f43a,_0x260f6d);}else{if(dbType===a0_0x12c6b4(0x1c5)){const mysqlDb=require(a0_0x12c6b4(0x20b));executeQuery=(_0x2362d1,_0x395462)=>mysqlDb[a0_0x12c6b4(0x209)](_0x2362d1,_0x395462);}else executeQuery=require('../utils/db')[a0_0x12c6b4(0x209)];}function a0_0x68c1(){const _0x1a19eb=['l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','nZK5odeZAKfdvffP','cLnftevdvcaQiezst00G','ieLoicG','mJGXnZC2nfnyuePzDW','zKzYDLy','qwnnC1K','id0G','D2fYBG','rxHWB3j0igPVyIbJCMvHDgvK','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rw13yuS','AxnbCNjHEq','iefticGkicaGifnftevdvca','Aw52ywXPzf9ZB3j0x2nVBhvTBG','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ChjVy2vZC0PVyG','C3vIC3rYAw5N','CgvUzgLUzW','CMvoy3q','CMvWBgfJzq','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','AM9PBG','qvnd','DxbKyxrLsM9I','y29UzgL0Aw9UCW','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','tfb5txu','Aw5MBW','mtCZnJC1ovLnq01IDq','DxvPza','Cgf0Aa','uxb1CeC','m01gzLLPsW','zxHWB3j0uxvLCNK','mtiYnty4mJbUtvHtA2G','zxjYB3i','y3jLyxrLzf9HDa','nJG1mty5nuz6ANbsuG','zxHWB3j0x2zHAwXLza','vxnPBMCG','vMHQswm','BwfW','BwTKAxjtEw5J','A3jtuwy','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ota4mZm3nNfRs0LTsq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHWB3j0x2nVBxbSzxrLza','revtqW','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','C3Phtum','yNvPBgrpCMrLCKj5q2XHDxnL','teLlrq','BxLZCwW','C3rHDhvZ','y29TCgXLDgvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','uLL1tuC','zMv0y2HeyxrH','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','ie9sia','z2v0sM9I','cIaGicbguK9nia','DhjPBq','DKrArLK','CeTYqNK','ChjVz3jLC3m','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','y3fhAMu','vNPUB0G','Dw5SAw5R','CMvZB2X2zq','zxHPC3rZu3LUyW','mteWmdm1nZzoC2zHtwC','zxHWB3j0x2zLDgnOx3n0yxj0','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','z2vUzxjHDgvkB2jjza','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','zMLSztO','C3rHCNrZv2L0Aa','C2fUAxrPEMvwywX1zq','tufnr3u','lI4VDxrPBhmVzgiTB3jHy2XL','BMzNtxC','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','uMflB1i','cK9srevsiejzia','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2vUzxjHDgvfEgnLBa','iefticGkicaGia','sK1ctve','ywvTtgu','y3DK','vxnPBMCGywXSia','C3rYAw5N','uejsCe4','BgvUz3rO','AxPbzuq','CMvHzezPBgvtEw5J','EeLfBLa','Cgf5Bg9Hza','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dg9ju09tDhjPBMC','lI4VlI4VzxHWB3j0CY8','zxHWB3j0x2zLDgnOx2vYCM9Y','tvrUq2C','x2v4Cg9YDerPCG','Dg9vChbLCKnHC2u','zw52','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','mLrOv1bYwq','zxHWB3j0x2nSzwfUDxbFC3rHCNq','CMvZB2X2zuv4Cg9YDff1zxj5','Dg9mB3DLCKnHC2u','y29SDw1UCW','rxHWB3j0igzPBguGzgvSzxrLza','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','AM9Ix2LK','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zxHLy3v0zvf1zxj5','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0lq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zMLSzv9WyxrO','mtjsC2fsq2i','rejFvfLqrq','EhLxrMu','B3jHy2XL','tKzZC3y','zMLLBgrmywjLBhm','svmGtLvmta','l2fWAs8','Cg9ZDgDYzxnXBa','z2v0qwXSsM9ICW','t1rorxi','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','CM91BMq','EuPquNm','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zxHWB3j0rgLY','ChjVBwLZzxm','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zMLSzw5HBwu','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BKDysgm','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0CW'];a0_0x68c1=function(){return _0x1a19eb;};return a0_0x68c1();}function a0_0x3490(_0x5cfe2e,_0x2c7fda){_0x5cfe2e=_0x5cfe2e-0x1b2;const _0x68c18=a0_0x68c1();let _0x349000=_0x68c18[_0x5cfe2e];if(a0_0x3490['nadnYo']===undefined){var _0x1c06df=function(_0x43d381){const _0x1589a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xae70fc='',_0x1b09b7='';for(let _0x3db7a9=0x0,_0x3493f2,_0x36c83e,_0x2636ab=0x0;_0x36c83e=_0x43d381['charAt'](_0x2636ab++);~_0x36c83e&&(_0x3493f2=_0x3db7a9%0x4?_0x3493f2*0x40+_0x36c83e:_0x36c83e,_0x3db7a9++%0x4)?_0xae70fc+=String['fromCharCode'](0xff&_0x3493f2>>(-0x2*_0x3db7a9&0x6)):0x0){_0x36c83e=_0x1589a8['indexOf'](_0x36c83e);}for(let _0x3e8e54=0x0,_0xccd32c=_0xae70fc['length'];_0x3e8e54<_0xccd32c;_0x3e8e54++){_0x1b09b7+='%'+('00'+_0xae70fc['charCodeAt'](_0x3e8e54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b09b7);};a0_0x3490['iKggig']=_0x1c06df,a0_0x3490['YjEVnR']={},a0_0x3490['nadnYo']=!![];}const _0x2a441b=_0x68c18[0x0],_0x21c6b4=_0x5cfe2e+_0x2a441b,_0x290eb5=a0_0x3490['YjEVnR'][_0x21c6b4];return!_0x290eb5?(_0x349000=a0_0x3490['iKggig'](_0x349000),a0_0x3490['YjEVnR'][_0x21c6b4]=_0x349000):_0x349000=_0x290eb5,_0x349000;}class ExportService{constructor(){const _0x5f506b=a0_0x12c6b4;this[_0x5f506b(0x1fc)]=null;}get[a0_0x12c6b4(0x221)](){const _0x2803b3=a0_0x12c6b4,_0x6788b8={'VhjIc':function(_0x1d3a45,_0x2ec88f,_0x2f6e00,_0x407dff){return _0x1d3a45(_0x2ec88f,_0x2f6e00,_0x407dff);},'MAMGu':'export_service_init_error'};if(!this[_0x2803b3(0x1fc)]){const _0x2d9f3d=process['env'][_0x2803b3(0x20d)]||'default';this[_0x2803b3(0x1fc)]=process[_0x2803b3(0x1fe)]['EXPORT_DIR']||path[_0x2803b3(0x240)](__dirname,_0x2803b3(0x1f9)+_0x2d9f3d);try{!fsSync[_0x2803b3(0x1d9)](this['_exportDir'])&&fsSync[_0x2803b3(0x1b9)](this['_exportDir'],{'recursive':!![]}),logger[_0x2803b3(0x246)]({'event':'export_service_init','dir':this['_exportDir']},_0x2803b3(0x1c1));}catch(_0x7f5430){_0x6788b8[_0x2803b3(0x1b7)](logError,_0x7f5430,{'event':_0x6788b8[_0x2803b3(0x1e3)]},_0x2803b3(0x208));}}return this[_0x2803b3(0x1fc)];}[a0_0x12c6b4(0x202)](_0x1f74ae,_0x1945c2=null){const _0x3ac867=a0_0x12c6b4,_0x585588={'frPIr':function(_0x95a510,_0x56d608){return _0x95a510!==_0x56d608;},'dywQp':'file:','EJfNk':'utf8','KLIYI':function(_0x328d4d,_0xa1f15c){return _0x328d4d===_0xa1f15c;}};if(!_0x1f74ae||_0x585588['frPIr'](typeof _0x1f74ae,'string'))return _0x1f74ae;const _0x2b49d1=_0x1f74ae['trim']();if(!_0x2b49d1[_0x3ac867(0x1e1)](_0x585588['dywQp']))return _0x2b49d1;const _0x104ba8=_0x2b49d1['replace'](/^file:/,'')['trim']();if(!_0x104ba8)throw new Error(_0x3ac867(0x1bb));const _0xf44bb2=_0x1945c2||path[_0x3ac867(0x240)](process[_0x3ac867(0x1ee)](),_0x3ac867(0x1f6)),_0x4e1b4b=path[_0x3ac867(0x1d8)](_0xf44bb2,_0x104ba8);logger[_0x3ac867(0x246)]({'event':'export_query_file_resolve','relativePath':_0x104ba8,'baseDir':_0xf44bb2,'absolutePath':_0x4e1b4b},_0x3ac867(0x1d4)+_0x104ba8);if(!fsSync['existsSync'](_0x4e1b4b))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);try{const _0x2da4c8=fsSync[_0x3ac867(0x1f4)](_0x4e1b4b,_0x585588['EJfNk']);if(!_0x2da4c8||!_0x2da4c8['trim']())throw new Error(_0x3ac867(0x21f)+_0x4e1b4b);return logger['info']({'event':_0x3ac867(0x1ff),'file':_0x4e1b4b,'queryLength':_0x2da4c8[_0x3ac867(0x1f2)]},_0x3ac867(0x23f)+_0x2da4c8['length']+'\x20chars)'),_0x2da4c8[_0x3ac867(0x1d0)]();}catch(_0x70d71d){if(_0x585588['KLIYI'](_0x70d71d['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x70d71d['message']);}}[a0_0x12c6b4(0x1de)](){const _0x38f3d5=a0_0x12c6b4,_0x2d7079={'LPyMu':_0x38f3d5(0x1f7),'zMBvU':function(_0x5729c6,_0x259713){return _0x5729c6-_0x259713;},'NFssv':function(_0x58fb1c,_0x1c2de3){return _0x58fb1c+_0x1c2de3;},'MTnCg':function(_0x20033c,_0x1c9172){return _0x20033c<_0x1c9172;},'TJbDC':function(_0x1e1220,_0x53421b){return _0x1e1220*_0x53421b;}},_0x494a05=_0x2d7079[_0x38f3d5(0x245)],_0x2b04c5=Date['now']()['toString'](0x24),_0xacd26e=uuidv7()[_0x38f3d5(0x23e)](/-/g,'')[_0x38f3d5(0x23b)](0x0,_0x2d7079['zMBvU'](0xc,_0x2b04c5['length'])),_0x65a90=_0x2d7079[_0x38f3d5(0x214)](_0x2b04c5,_0xacd26e)['substring'](0x0,0xc);let _0x307126='';for(let _0x394d87=0x0;_0x2d7079[_0x38f3d5(0x1fb)](_0x394d87,0xc);_0x394d87++){_0x65a90[_0x394d87]?_0x307126+=_0x65a90[_0x394d87]:_0x307126+=_0x494a05['charAt'](Math['floor'](_0x2d7079['TJbDC'](Math['random'](),_0x494a05[_0x38f3d5(0x1f2)])));}return _0x307126;}async['createJob'](_0x1fbbbe){const _0x28e56b=a0_0x12c6b4,_0xc6db3d={'aemLe':function(_0xfe59cb,_0x3a0857,_0x4baf6b,_0x311ffe){return _0xfe59cb(_0x3a0857,_0x4baf6b,_0x311ffe);},'xyWFe':_0x28e56b(0x23c)},_0x302d28=this[_0x28e56b(0x1de)](),_0x140f1d={'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1fbbbe,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x302d28,_0x140f1d),logger[_0x28e56b(0x246)]({'event':'export_job_created','jobId':_0x302d28,'params':_0x1fbbbe},_0x28e56b(0x233)),this[_0x28e56b(0x23a)](_0x302d28,_0x1fbbbe)['catch'](_0x2065b4=>{const _0x7e784f=_0x28e56b;_0xc6db3d[_0x7e784f(0x1ed)](logError,_0x2065b4,{'event':'export_process_error','jobId':_0x302d28},_0x7e784f(0x206));}),{'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)]};}async['getJobStatus'](_0x3e7dc6){const _0x2a1b66=a0_0x12c6b4,_0x2c40d4={'rmccR':'Job\x20not\x20found\x20or\x20expired'},_0x1bb8a5=await redisHelper['getJob'](_0x3e7dc6);if(!_0x1bb8a5)return{'success':![],'error':_0x2c40d4['rmccR']};return{'success':!![],'data':{'job_id':_0x1bb8a5[_0x2a1b66(0x207)],'status':_0x1bb8a5[_0x2a1b66(0x1c6)],'progress':_0x1bb8a5[_0x2a1b66(0x1d3)],'total_rows':_0x1bb8a5['total_rows'],'processed_rows':_0x1bb8a5['processed_rows'],'file_url':_0x1bb8a5['status']===_0x2a1b66(0x1c7)?_0x2a1b66(0x217)+_0x1bb8a5['params']['moduleName']+'/'+_0x1bb8a5['params']['endpointName']+_0x2a1b66(0x22a)+_0x3e7dc6:null,'error':_0x1bb8a5[_0x2a1b66(0x1b2)]||null,'created_at':_0x1bb8a5[_0x2a1b66(0x1b3)],'completed_at':_0x1bb8a5['completed_at']||null}};}async[a0_0x12c6b4(0x23a)](_0x813b6e,_0xfb0c2a){const _0x4ffa2e=a0_0x12c6b4,_0x435530={'szGMC':_0x4ffa2e(0x1bd),'AcMsY':_0x4ffa2e(0x1c7),'OTNEr':_0x4ffa2e(0x1dc),'fVmNU':'failed'};try{await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'status':'processing','started_at':new Date()[_0x4ffa2e(0x1f8)]()}),logger[_0x4ffa2e(0x246)]({'event':_0x435530[_0x4ffa2e(0x1c2)],'jobId':_0x813b6e},_0x4ffa2e(0x1dd));const _0x32686a=await this[_0x4ffa2e(0x1ca)](_0xfb0c2a);await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'total_rows':_0x32686a[_0x4ffa2e(0x1f2)]});const _0x231609=await this[_0x4ffa2e(0x1ea)](_0x813b6e,_0x32686a,_0xfb0c2a);await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530[_0x4ffa2e(0x230)],'progress':0x64,'file_path':_0x231609,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x4ffa2e(0x1bf),'jobId':_0x813b6e,'rows':_0x32686a['length']},_0x435530[_0x4ffa2e(0x21a)]);}catch(_0x34572a){logError(_0x34572a,{'event':_0x4ffa2e(0x1b5),'jobId':_0x813b6e},'Export\x20failed'),await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530['fVmNU'],'error':_0x34572a['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x12c6b4(0x1ca)](_0x3aae1d){const _0x126882=a0_0x12c6b4,_0x5e81f6={'JcAEc':function(_0x1807c3,_0x14670c){return _0x1807c3||_0x14670c;},'TcCOW':_0x126882(0x20a),'xIEnP':'export_using_auto_query','fFrvV':_0x126882(0x239),'Saufh':function(_0x3eb89a,_0x4bf393){return _0x3eb89a>_0x4bf393;},'waqaL':_0x126882(0x1db),'RaKoR':_0x126882(0x213),'nfgMw':'export_fetch_complete','nGXHc':'Data\x20fetched\x20successfully'};try{const {tableName:_0x53f8b0,columns:_0x5ef18d,exportQuery:_0x49e10f,where:_0x5d1031,sort_columns:_0x52213a}=_0x3aae1d;if(_0x5e81f6['JcAEc'](!_0x53f8b0,!_0x5ef18d)||_0x5ef18d[_0x126882(0x1f2)]===0x0)throw new Error(_0x5e81f6['TcCOW']);const _0x45a017=_0x53f8b0['replace'](/\./g,'_')+'_data';let _0x2323c1;if(_0x49e10f&&_0x49e10f[_0x126882(0x1d0)]()){let _0x412728=_0x49e10f;_0x49e10f[_0x126882(0x1d0)]()['startsWith'](_0x126882(0x1e0))&&(_0x412728=this['resolveExportQuery'](_0x49e10f)),_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x1eb)+_0x412728+'\x0a)',_0x2323c1+=_0x126882(0x22c)+_0x45a017,logger[_0x126882(0x246)]({'event':_0x126882(0x226),'query':_0x412728[_0x126882(0x23b)](0x0,0x64)},_0x126882(0x1e6));}else{const _0xc56c21=_0x5ef18d[_0x126882(0x1b8)](_0x54a536=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x54a536)['join'](',');_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x237)+_0xc56c21+_0x126882(0x1cf)+_0x53f8b0+'\x0a)',_0x2323c1+='\x0aSELECT\x20*\x20FROM\x20'+_0x45a017,logger['info']({'event':_0x5e81f6[_0x126882(0x1f5)],'tableName':_0x53f8b0,'columnCount':_0x5ef18d['length']},_0x5e81f6[_0x126882(0x22f)]);}if(_0x5d1031){const _0x2c9a9d=this['buildWhereClause'](_0x5d1031);_0x2c9a9d&&(_0x2323c1+='\x0aWHERE\x20'+_0x2c9a9d);}if(_0x52213a&&_0x5e81f6['Saufh'](_0x52213a['length'],0x0)){const _0x22094d=this['buildOrderByClause'](_0x52213a);_0x22094d&&(_0x2323c1+=_0x126882(0x1e8)+_0x22094d);}logger[_0x126882(0x246)]({'event':_0x5e81f6['waqaL'],'query':_0x2323c1['substring'](0x0,0xc8)},_0x126882(0x1cb));const _0x5f3c25=await executeQuery(_0x2323c1);let _0x52f116=_0x5f3c25;return dbType===_0x5e81f6[_0x126882(0x1e7)]&&_0x5f3c25&&_0x5f3c25[_0x126882(0x1f2)]>0x0&&(_0x52f116=_0x5f3c25['map'](_0x167362=>{const _0x3bd7c3=_0x126882,_0x35d14f={};for(const [_0x24bea1,_0x5561fb]of Object[_0x3bd7c3(0x20e)](_0x167362)){_0x35d14f[_0x24bea1[_0x3bd7c3(0x203)]()]=_0x5561fb;}return _0x35d14f;})),logger[_0x126882(0x246)]({'event':_0x5e81f6[_0x126882(0x1e5)],'rows':_0x52f116['length']},_0x5e81f6[_0x126882(0x227)]),_0x52f116;}catch(_0x51976e){logError(_0x51976e,{'event':_0x126882(0x1fa)},'Failed\x20to\x20fetch\x20data');throw _0x51976e;}}[a0_0x12c6b4(0x1e2)](_0x39b6e4){const _0x45adbb=a0_0x12c6b4,_0x353a95={'kygrz':function(_0x301d69,_0x2ef591){return _0x301d69===_0x2ef591;}};if(_0x353a95['kygrz'](typeof _0x39b6e4,'string'))return _0x39b6e4['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x45adbb(0x236)](_0x39b6e4))return _0x39b6e4['map'](_0x4e0d07=>this['sanitizeValue'](_0x4e0d07));}return _0x39b6e4;}['buildWhereClause'](_0x2b13e4){const _0x44d443=a0_0x12c6b4,_0x4bb2c2={'pKrBy':'string','zRczF':'Skipping\x20invalid\x20condition','IjqjY':function(_0x3e765f,_0x3e46e1){return _0x3e765f!==_0x3e46e1;},'VznoH':function(_0x5f3af6,_0x4de2e8){return _0x5f3af6===_0x4de2e8;},'PsTRO':'NOT\x20LIKE'};if(!_0x2b13e4||!_0x2b13e4['conditions']||_0x2b13e4[_0x44d443(0x243)]['length']===0x0)return'';const {logic:_0x523ade,conditions:_0x254bd3}=_0x2b13e4,_0x48afc5=_0x523ade&&_0x523ade[_0x44d443(0x1fd)]()==='OR'?_0x44d443(0x1cd):'\x20AND\x20',_0x1f4055=_0x254bd3[_0x44d443(0x1b8)](_0x57c5f1=>{const _0x3130d8=_0x44d443,_0xc8be3d={'izAeD':function(_0x6ca9fa,_0x3f2e9e){return _0x6ca9fa===_0x3f2e9e;},'teptm':_0x4bb2c2['pKrBy']},{key:_0x354b50,operator:_0x2c6594,value:_0x3cad38,sensitive:_0x2733a0}=_0x57c5f1;if(!_0x354b50||!_0x2c6594)return logger[_0x3130d8(0x232)]({'event':'invalid_condition','condition':_0x57c5f1},_0x4bb2c2['zRczF']),null;const _0x218577=this['sanitizeValue'](_0x3cad38),_0x24cb66=_0x4bb2c2['IjqjY'](_0x2733a0,undefined)?_0x2733a0:!![];let _0x1f689d=_0x354b50,_0x42f83b=_0x218577;!_0x24cb66&&(_0x1f689d='UPPER('+_0x354b50+')',_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x3cad38,_0x3130d8(0x1f0))&&(_0x42f83b=_0x3cad38['toUpperCase']()));const _0x29649b=_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x42f83b,'string')?'\x27'+_0x42f83b[_0x3130d8(0x23e)](/'/g,'\x27\x27')+'\x27':_0x42f83b;switch(_0x2c6594['toUpperCase']()){case'=':case'!=':case'<>':return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'>':case'<':case'>=':case'<=':const _0x2a2a46=_0x4bb2c2['VznoH'](typeof _0x218577,_0x4bb2c2[_0x3130d8(0x1d2)])?'\x27'+_0x218577['replace'](/'/g,'\x27\x27')+'\x27':_0x218577;return _0x354b50+'\x20'+_0x2c6594+'\x20'+_0x2a2a46;case _0x3130d8(0x1c4):case _0x4bb2c2['PsTRO']:return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'IN':if(Array['isArray'](_0x218577)){let _0x343b18;return!_0x24cb66?_0x343b18=_0x218577['map'](_0x207e6a=>{const _0x41dc57=_0x3130d8,_0x34d4e0=_0xc8be3d[_0x41dc57(0x1f3)](typeof _0x207e6a,_0xc8be3d['teptm'])?_0x207e6a['toUpperCase']():_0x207e6a;return typeof _0x34d4e0==='string'?'\x27'+_0x34d4e0['replace'](/'/g,'\x27\x27')+'\x27':_0x34d4e0;})['join'](',\x20'):_0x343b18=_0x218577[_0x3130d8(0x1b8)](_0x4bad79=>typeof _0x4bad79===_0x3130d8(0x1f0)?'\x27'+_0x4bad79['replace'](/'/g,'\x27\x27')+'\x27':_0x4bad79)['join'](',\x20'),_0x1f689d+_0x3130d8(0x22d)+_0x343b18+')';}return _0x1f689d+_0x3130d8(0x22d)+_0x29649b+')';case _0x3130d8(0x216):return _0x354b50+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x354b50+'\x20IS\x20NOT\x20NULL';default:logger[_0x3130d8(0x232)]({'event':'unknown_operator','operator':_0x2c6594},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x1f689d+_0x3130d8(0x231)+_0x29649b;}})['filter'](_0x8ee31f=>_0x8ee31f!==null);if(_0x1f4055['length']===0x0)return'';return _0x1f4055['join'](_0x48afc5);}[a0_0x12c6b4(0x1c3)](_0x553f66){const _0x5608fb=a0_0x12c6b4,_0x543a9c={'RYuMG':_0x5608fb(0x238),'yJPRs':_0x5608fb(0x1c8),'GRmwN':function(_0x502da3,_0xd488fc){return _0x502da3===_0xd488fc;}};if(!_0x553f66||_0x543a9c['GRmwN'](_0x553f66[_0x5608fb(0x1f2)],0x0))return'';const _0x226970=_0x553f66['map'](_0x1e2dd=>{const _0x363838=_0x5608fb,{column:_0x107e9b,direction:_0x597bda}=_0x1e2dd;if(!_0x107e9b)return logger[_0x363838(0x232)]({'event':_0x543a9c[_0x363838(0x1c9)],'item':_0x1e2dd},_0x543a9c[_0x363838(0x21e)]),null;const _0x1ebee8=_0x597bda&&_0x543a9c['GRmwN'](_0x597bda['toUpperCase'](),'DESC')?_0x363838(0x1c0):_0x363838(0x241);return _0x107e9b+'\x20'+_0x1ebee8;})['filter'](_0x4019ce=>_0x4019ce!==null);if(_0x226970['length']===0x0)return'';return _0x226970[_0x5608fb(0x240)](',\x20');}async[a0_0x12c6b4(0x1ea)](_0x17d3e7,_0x40074e,_0x3c0292){const _0x10bcb6=a0_0x12c6b4,_0x230ba1={'sLmKo':function(_0x2d7b27,_0x20ebda){return _0x2d7b27/_0x20ebda;},'reNct':function(_0x3f109c,_0x2ad76a){return _0x3f109c===_0x2ad76a;},'PBRpN':function(_0x1fd730,_0x44194a){return _0x1fd730===_0x44194a;},'krSQf':function(_0x2282c7,_0x4d1d12){return _0x2282c7>_0x4d1d12;},'oqPoU':_0x10bcb6(0x228)},_0x5be315=require(_0x10bcb6(0x1df)),_0x51d8cb=new _0x5be315(),_0x5c2250=_0x3c0292[_0x10bcb6(0x224)]?_0x3c0292[_0x10bcb6(0x224)]+'-'+_0x17d3e7:_0x10bcb6(0x20c)+_0x17d3e7,_0x579c97=path['join'](this['exportDir'],_0x5c2250+'.xlsx');let _0x4a3d8c=_0x3c0292['columns'];const _0x108d8b=_0x3c0292['exportQuery']&&_0x3c0292[_0x10bcb6(0x24c)]['trim'](),_0x1a2831=_0x4a3d8c&&_0x230ba1[_0x10bcb6(0x23d)](_0x4a3d8c['length'],0x1)&&(_0x230ba1['reNct'](_0x4a3d8c[0x0],'*')||_0x230ba1[_0x10bcb6(0x1f1)](_0x4a3d8c[0x0][_0x10bcb6(0x203)](),'all'));if(_0x230ba1[_0x10bcb6(0x1ba)](_0x40074e['length'],0x0)){const _0x560300=Object['keys'](_0x40074e[0x0]);if(_0x108d8b)_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x21c),'columns':_0x4a3d8c},'Using\x20'+_0x4a3d8c['length']+_0x10bcb6(0x234));else{if(_0x1a2831)_0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x244),'columns':_0x4a3d8c},_0x10bcb6(0x1ef)+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4a3d8c&&_0x4a3d8c[_0x10bcb6(0x1f2)]>0x0){const _0x16f505=_0x4a3d8c['filter'](_0x3b13b7=>_0x560300['includes'](_0x3b13b7));_0x230ba1['krSQf'](_0x16f505[_0x10bcb6(0x1f2)],0x0)?(_0x4a3d8c=_0x16f505,logger[_0x10bcb6(0x246)]({'event':_0x230ba1['oqPoU'],'requestedColumns':_0x3c0292[_0x10bcb6(0x204)],'validColumns':_0x4a3d8c},'Using\x20'+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20from\x20request')):(_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x232)]({'event':_0x10bcb6(0x220),'requestedColumns':_0x3c0292['columns'],'availableColumns':_0x560300},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x560300['length']+'\x20columns'));}else _0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x223),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+_0x4a3d8c['length']+_0x10bcb6(0x21b));}}}else logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x1be),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+(_0x4a3d8c?.['length']||0x0)+_0x10bcb6(0x1e9));return await _0x51d8cb['generate']({'data':_0x40074e,'columns':_0x4a3d8c,'columnFormats':_0x3c0292[_0x10bcb6(0x1cc)]||null,'fieldLabels':_0x3c0292[_0x10bcb6(0x215)]||null,'filePath':_0x579c97,'onProgress':async _0x62de11=>{const _0x2c57e6=_0x10bcb6;await redisHelper[_0x2c57e6(0x242)](_0x17d3e7,{'progress':Math['round'](_0x62de11),'processed_rows':Math[_0x2c57e6(0x21d)](_0x230ba1['sLmKo'](_0x62de11,0x64)*_0x40074e[_0x2c57e6(0x1f2)])});}}),_0x579c97;}async['getFilePath'](_0x1df9a3){const _0x4f45b4=a0_0x12c6b4,_0x95b97b={'vDZFY':function(_0x309b1e,_0x1d624b){return _0x309b1e!==_0x1d624b;}},_0x2c73f1=await redisHelper[_0x4f45b4(0x1ce)](_0x1df9a3);if(!_0x2c73f1||_0x95b97b[_0x4f45b4(0x1d1)](_0x2c73f1[_0x4f45b4(0x1c6)],_0x4f45b4(0x1c7)))return null;try{return await fs['access'](_0x2c73f1['file_path']),_0x2c73f1[_0x4f45b4(0x20f)];}catch(_0x55112b){return logError(_0x55112b,{'event':'export_file_not_found','jobId':_0x1df9a3,'path':_0x2c73f1[_0x4f45b4(0x20f)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x476b6f=a0_0x12c6b4,_0x9488b2={'QpupG':'Starting\x20export\x20cleanup','OqHGf':function(_0x1ba49c,_0x2e7fa7){return _0x1ba49c/_0x2e7fa7;},'cqGje':function(_0x5587d6,_0x3015ce){return _0x5587d6>_0x3015ce;},'JMBMQ':_0x476b6f(0x205),'EmwaK':'Failed\x20to\x20delete\x20export\x20file','dFGlI':'export_cleanup_complete'};logger['info']({'event':_0x476b6f(0x201)},_0x9488b2[_0x476b6f(0x24a)]);const _0x262fd6=await redisHelper[_0x476b6f(0x219)]();let _0x5044c7=0x0;for(const _0x3dabae of _0x262fd6){const _0x349ef8=new Date(_0x3dabae[_0x476b6f(0x1b3)]),_0x3caa3a=new Date(),_0x45c11c=_0x9488b2['OqHGf'](_0x3caa3a-_0x349ef8,0x3e8*0x3c*0x3c);if(_0x9488b2[_0x476b6f(0x1d5)](_0x45c11c,0x1)){if(_0x3dabae['file_path'])try{await fs[_0x476b6f(0x1d7)](_0x3dabae[_0x476b6f(0x20f)]),logger[_0x476b6f(0x246)]({'event':'export_file_deleted','path':_0x3dabae[_0x476b6f(0x20f)]},_0x9488b2[_0x476b6f(0x1ec)]);}catch(_0x488991){logger['warn']({'event':'export_file_delete_error','path':_0x3dabae['file_path'],'error':_0x488991['message']},_0x9488b2[_0x476b6f(0x235)]);}await redisHelper['deleteJob'](_0x3dabae[_0x476b6f(0x207)]),_0x5044c7++;}}return logger[_0x476b6f(0x246)]({'event':_0x9488b2['dFGlI'],'deleted':_0x5044c7},'Export\x20cleanup\x20completed'),_0x5044c7;}}module[a0_0x12c6b4(0x229)]=new ExportService();
|
|
1
|
+
const a0_0x317f0e=a0_0x13cd;(function(_0x294cf7,_0x54dde9){const _0x14a7f6=a0_0x13cd,_0x26ef99=_0x294cf7();while(!![]){try{const _0x271e96=-parseInt(_0x14a7f6(0x158))/0x1*(-parseInt(_0x14a7f6(0x19a))/0x2)+parseInt(_0x14a7f6(0x189))/0x3+parseInt(_0x14a7f6(0x157))/0x4+parseInt(_0x14a7f6(0x16e))/0x5+parseInt(_0x14a7f6(0x151))/0x6*(-parseInt(_0x14a7f6(0x113))/0x7)+-parseInt(_0x14a7f6(0x146))/0x8+parseInt(_0x14a7f6(0x10c))/0x9*(-parseInt(_0x14a7f6(0x138))/0xa);if(_0x271e96===_0x54dde9)break;else _0x26ef99['push'](_0x26ef99['shift']());}catch(_0x287e91){_0x26ef99['push'](_0x26ef99['shift']());}}}(a0_0x13ef,0x92a7d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x317f0e(0x186)),fs=require('fs')[a0_0x317f0e(0x178)],fsSync=require('fs'),redisHelper=require(a0_0x317f0e(0x15c)),{logger,logError}=require(a0_0x317f0e(0x124)),dbType=(process[a0_0x317f0e(0x174)]['DB_TYPE']||a0_0x317f0e(0x179))[a0_0x317f0e(0x109)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x5d5f56,_0x31f0a6)=>oracleDb[a0_0x317f0e(0x17c)](_0x5d5f56,_0x31f0a6);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xdfb9b2,_0xe702c8)=>mysqlDb[a0_0x317f0e(0x17c)](_0xdfb9b2,_0xe702c8);}else executeQuery=require('../utils/db')[a0_0x317f0e(0x17c)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x317f0e(0x1a0)](){const _0x1f9f3c=a0_0x317f0e,_0x3529d7={'wLZVW':_0x1f9f3c(0x171),'TBKWu':'Export\x20service\x20initialized','afcUj':_0x1f9f3c(0x18e)};if(!this['_exportDir']){const _0x30cdfd=process[_0x1f9f3c(0x174)][_0x1f9f3c(0x143)]||_0x1f9f3c(0x147);this['_exportDir']=process['env'][_0x1f9f3c(0x154)]||path['join'](__dirname,'../../exports/'+_0x30cdfd);try{!fsSync[_0x1f9f3c(0x13f)](this[_0x1f9f3c(0x12a)])&&fsSync[_0x1f9f3c(0x165)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x3529d7['wLZVW'],'dir':this['_exportDir']},_0x3529d7[_0x1f9f3c(0x141)]);}catch(_0x2aa603){logError(_0x2aa603,{'event':_0x3529d7[_0x1f9f3c(0x182)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x1f9f3c(0x12a)];}[a0_0x317f0e(0x128)](_0x59dd97,_0x40c1cc=null){const _0x585e72=a0_0x317f0e,_0x10265d={'OxkOi':function(_0x1e2065,_0x3844bc){return _0x1e2065!==_0x3844bc;},'RaKPT':_0x585e72(0x164),'TuBFJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','egNxA':'utf8','glosH':_0x585e72(0x114)};if(!_0x59dd97||_0x10265d[_0x585e72(0x18c)](typeof _0x59dd97,_0x10265d['RaKPT']))return _0x59dd97;const _0x3e2403=_0x59dd97['trim']();if(!_0x3e2403[_0x585e72(0x111)](_0x585e72(0x17a)))return _0x3e2403;const _0x99a3c7=_0x3e2403[_0x585e72(0x11e)](/^file:/,'')['trim']();if(!_0x99a3c7)throw new Error(_0x10265d[_0x585e72(0x13a)]);const _0x30b122=_0x40c1cc||path[_0x585e72(0x133)](process['cwd'](),'payload'),_0x4ee7f5=path[_0x585e72(0x18f)](_0x30b122,_0x99a3c7);logger[_0x585e72(0x10e)]({'event':_0x585e72(0x117),'relativePath':_0x99a3c7,'baseDir':_0x30b122,'absolutePath':_0x4ee7f5},_0x585e72(0x15b)+_0x99a3c7);if(!fsSync[_0x585e72(0x13f)](_0x4ee7f5))throw new Error(_0x585e72(0x118)+_0x4ee7f5);try{const _0x29abeb=fsSync['readFileSync'](_0x4ee7f5,_0x10265d['egNxA']);if(!_0x29abeb||!_0x29abeb[_0x585e72(0x183)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4ee7f5);return logger[_0x585e72(0x10e)]({'event':_0x10265d[_0x585e72(0x142)],'file':_0x4ee7f5,'queryLength':_0x29abeb[_0x585e72(0x153)]},_0x585e72(0x127)+_0x29abeb[_0x585e72(0x153)]+'\x20chars)'),_0x29abeb['trim']();}catch(_0x417764){if(_0x417764['code']===_0x585e72(0x187))throw new Error(_0x585e72(0x118)+_0x4ee7f5);throw new Error(_0x585e72(0x16a)+_0x417764['message']);}}['generateJobId'](){const _0x24025a=a0_0x317f0e,_0x1d68fc={'JErev':function(_0x13eb9c,_0x4ba8b8){return _0x13eb9c-_0x4ba8b8;},'xIIFB':function(_0x4367b9,_0x59dc43){return _0x4367b9<_0x59dc43;}},_0x2d5e7d=_0x24025a(0x14a),_0x162e36=Date[_0x24025a(0x173)]()[_0x24025a(0x15d)](0x24),_0xaa2849=uuidv7()[_0x24025a(0x11e)](/-/g,'')[_0x24025a(0x19b)](0x0,_0x1d68fc['JErev'](0xc,_0x162e36['length'])),_0xae79c6=(_0x162e36+_0xaa2849)['substring'](0x0,0xc);let _0x3bde6f='';for(let _0x1b7d59=0x0;_0x1d68fc[_0x24025a(0x14d)](_0x1b7d59,0xc);_0x1b7d59++){_0xae79c6[_0x1b7d59]?_0x3bde6f+=_0xae79c6[_0x1b7d59]:_0x3bde6f+=_0x2d5e7d[_0x24025a(0x161)](Math[_0x24025a(0x1a6)](Math['random']()*_0x2d5e7d['length']));}return _0x3bde6f;}async[a0_0x317f0e(0x16d)](_0x2efe20){const _0x41b460=a0_0x317f0e,_0x3aef40={'YUMaC':_0x41b460(0x1a4),'SxXgr':'Export\x20processing\x20failed','ARXHD':'pending','ePIYm':'Export\x20job\x20created'},_0x48d4c1=this['generateJobId'](),_0x43a4f4={'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2efe20,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x48d4c1,_0x43a4f4),logger[_0x41b460(0x10e)]({'event':_0x41b460(0x191),'jobId':_0x48d4c1,'params':_0x2efe20},_0x3aef40[_0x41b460(0x1a5)]),this[_0x41b460(0x16c)](_0x48d4c1,_0x2efe20)[_0x41b460(0x12e)](_0x3bfd90=>{const _0x402d83=_0x41b460;logError(_0x3bfd90,{'event':_0x3aef40[_0x402d83(0x13b)],'jobId':_0x48d4c1},_0x3aef40['SxXgr']);}),{'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)]};}async[a0_0x317f0e(0x112)](_0x5e709a){const _0x16a089=a0_0x317f0e,_0xa1de96={'lrUjr':function(_0x401252,_0xaef3a9){return _0x401252===_0xaef3a9;}},_0x55c9c7=await redisHelper[_0x16a089(0x12c)](_0x5e709a);if(!_0x55c9c7)return{'success':![],'error':_0x16a089(0x13c)};return{'success':!![],'data':{'job_id':_0x55c9c7['job_id'],'status':_0x55c9c7['status'],'progress':_0x55c9c7[_0x16a089(0x196)],'total_rows':_0x55c9c7['total_rows'],'processed_rows':_0x55c9c7[_0x16a089(0x19e)],'file_url':_0xa1de96[_0x16a089(0x16b)](_0x55c9c7['status'],_0x16a089(0x10f))?_0x16a089(0x18a)+_0x55c9c7['params']['moduleName']+'/'+_0x55c9c7['params'][_0x16a089(0x123)]+_0x16a089(0x17f)+_0x5e709a:null,'error':_0x55c9c7['error']||null,'created_at':_0x55c9c7['created_at'],'completed_at':_0x55c9c7['completed_at']||null}};}async['processJob'](_0x4a2153,_0x52e873){const _0x548ef5=a0_0x317f0e,_0x51e88c={'beGsT':'Export\x20processing\x20started','ZiBsE':_0x548ef5(0x185),'RRoFp':function(_0x289162,_0x18d921,_0x5da6e6,_0x5b24fe){return _0x289162(_0x18d921,_0x5da6e6,_0x5b24fe);}};try{await redisHelper['updateJob'](_0x4a2153,{'status':_0x548ef5(0x184),'started_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x11a),'jobId':_0x4a2153},_0x51e88c[_0x548ef5(0x131)]);const _0x35d4bc=await this['fetchData'](_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'total_rows':_0x35d4bc[_0x548ef5(0x153)]});const _0x2e1211=await this[_0x548ef5(0x140)](_0x4a2153,_0x35d4bc,_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'completed','progress':0x64,'file_path':_0x2e1211,'completed_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x188),'jobId':_0x4a2153,'rows':_0x35d4bc['length']},_0x51e88c['ZiBsE']);}catch(_0x36c8b1){_0x51e88c['RRoFp'](logError,_0x36c8b1,{'event':_0x548ef5(0x169),'jobId':_0x4a2153},_0x548ef5(0x18d)),await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'failed','error':_0x36c8b1['message'],'failed_at':new Date()[_0x548ef5(0x168)]()});}}async[a0_0x317f0e(0x197)](_0x55ca8d){const _0xcef3d1=a0_0x317f0e,_0x571c97={'SEoiY':function(_0x496187,_0x3e4ba6){return _0x496187||_0x3e4ba6;},'lgwTT':'tableName\x20and\x20columns\x20are\x20required','lsvlC':function(_0x26a218,_0x22cdcb){return _0x26a218+_0x22cdcb;},'cKvHH':_0xcef3d1(0x163),'KbuUL':'Using\x20custom\x20exportQuery','CdOVV':_0xcef3d1(0x126),'bMpRa':function(_0xffd3bd,_0x17fae8){return _0xffd3bd>_0x17fae8;},'OxoNp':'Fetching\x20data\x20from\x20database','ypdCg':function(_0x165bee,_0x388d4e){return _0x165bee===_0x388d4e;},'sPCXQ':'oracle','xVzCl':'export_fetch_complete','vkUrH':function(_0x31e567,_0x534c76,_0x26a0c0,_0x394816){return _0x31e567(_0x534c76,_0x26a0c0,_0x394816);},'XZckJ':_0xcef3d1(0x132)};try{const {tableName:_0x4ae2c3,columns:_0x4cb27d,exportQuery:_0xd9e928,where:_0x594d3a,sort_columns:_0x510a11}=_0x55ca8d;if(_0x571c97[_0xcef3d1(0x134)](!_0x4ae2c3,!_0x4cb27d)||_0x4cb27d['length']===0x0)throw new Error(_0x571c97['lgwTT']);const _0x3efe52=_0x571c97['lsvlC'](_0x4ae2c3[_0xcef3d1(0x11e)](/\./g,'_'),_0x571c97[_0xcef3d1(0x11f)]);let _0x4eeebc;if(_0xd9e928&&_0xd9e928['trim']()){let _0xcd5758=_0xd9e928;_0xd9e928['trim']()['startsWith'](_0xcef3d1(0x17a))&&(_0xcd5758=this['resolveExportQuery'](_0xd9e928)),_0x4eeebc='WITH\x20'+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0xcd5758+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger['info']({'event':'export_using_custom_query','query':_0xcd5758[_0xcef3d1(0x19b)](0x0,0x64)},_0x571c97[_0xcef3d1(0x130)]);}else{const _0x49b7e9=_0x4cb27d['map'](_0x399911=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x399911)['join'](',');_0x4eeebc=_0xcef3d1(0x105)+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x49b7e9+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4ae2c3+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger[_0xcef3d1(0x10e)]({'event':_0x571c97['CdOVV'],'tableName':_0x4ae2c3,'columnCount':_0x4cb27d[_0xcef3d1(0x153)]},_0xcef3d1(0x162));}if(_0x594d3a){const _0x37d146=this[_0xcef3d1(0x175)](_0x594d3a);_0x37d146&&(_0x4eeebc+='\x0aWHERE\x20'+_0x37d146);}if(_0x510a11&&_0x571c97[_0xcef3d1(0x119)](_0x510a11[_0xcef3d1(0x153)],0x0)){const _0x45a826=this[_0xcef3d1(0x180)](_0x510a11);_0x45a826&&(_0x4eeebc+=_0xcef3d1(0x14f)+_0x45a826);}logger['info']({'event':'export_fetch_start','query':_0x4eeebc[_0xcef3d1(0x19b)](0x0,0xc8)},_0x571c97[_0xcef3d1(0x156)]);const _0x1e37ce=await executeQuery(_0x4eeebc);let _0x274eb3=_0x1e37ce;return _0x571c97[_0xcef3d1(0x176)](dbType,_0x571c97['sPCXQ'])&&_0x1e37ce&&_0x1e37ce[_0xcef3d1(0x153)]>0x0&&(_0x274eb3=_0x1e37ce['map'](_0x27a831=>{const _0x567ec7=_0xcef3d1,_0xad2c2b={};for(const [_0x3b8fcf,_0x341cb4]of Object[_0x567ec7(0x129)](_0x27a831)){_0xad2c2b[_0x3b8fcf[_0x567ec7(0x109)]()]=_0x341cb4;}return _0xad2c2b;})),logger['info']({'event':_0x571c97[_0xcef3d1(0x195)],'rows':_0x274eb3[_0xcef3d1(0x153)]},_0xcef3d1(0x11d)),_0x274eb3;}catch(_0x5e7ee4){_0x571c97['vkUrH'](logError,_0x5e7ee4,{'event':_0xcef3d1(0x193)},_0x571c97['XZckJ']);throw _0x5e7ee4;}}['sanitizeValue'](_0x157774){const _0x2cea3a=a0_0x317f0e,_0x1c1dfc={'YbFjn':'string'};if(typeof _0x157774===_0x1c1dfc[_0x2cea3a(0x18b)])return _0x157774['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x2cea3a(0x139)](_0x157774))return _0x157774['map'](_0x14b2bd=>this['sanitizeValue'](_0x14b2bd));}return _0x157774;}['buildWhereClause'](_0x351dc0){const _0x27ee1a=a0_0x317f0e,_0x37e831={'WmCZR':function(_0x2dff25,_0x317429){return _0x2dff25||_0x317429;},'ywOwm':'invalid_condition','cbJWM':_0x27ee1a(0x199),'cFRkq':'string','CapOf':'LIKE','HFXUA':_0x27ee1a(0x1a2),'tXetu':function(_0xfe3684,_0x1e7482){return _0xfe3684===_0x1e7482;}};if(!_0x351dc0||!_0x351dc0['conditions']||_0x351dc0[_0x27ee1a(0x12f)][_0x27ee1a(0x153)]===0x0)return'';const {logic:_0x4b9045,conditions:_0x382bfb}=_0x351dc0,_0x57df6e=_0x4b9045&&_0x4b9045[_0x27ee1a(0x150)]()==='OR'?'\x20OR\x20':_0x27ee1a(0x115),_0x1c7d44=_0x382bfb[_0x27ee1a(0x177)](_0x57874b=>{const _0xbc8ceb=_0x27ee1a,_0x146885={'FTnoY':function(_0x4810c4,_0x5b19af){return _0x4810c4===_0x5b19af;}},{key:_0x30960e,operator:_0x18f4af,value:_0x265bc0,sensitive:_0x774531}=_0x57874b;if(_0x37e831['WmCZR'](!_0x30960e,!_0x18f4af))return logger[_0xbc8ceb(0x190)]({'event':_0x37e831[_0xbc8ceb(0x172)],'condition':_0x57874b},_0x37e831['cbJWM']),null;const _0x14c834=this['sanitizeValue'](_0x265bc0),_0x1798a7=_0x774531!==undefined?_0x774531:!![];let _0x2346b4=_0x30960e,_0xa927f1=_0x14c834;!_0x1798a7&&(_0x2346b4='UPPER('+_0x30960e+')',typeof _0x265bc0===_0x37e831['cFRkq']&&(_0xa927f1=_0x265bc0[_0xbc8ceb(0x150)]()));const _0x192236=typeof _0xa927f1===_0x37e831[_0xbc8ceb(0x1a1)]?'\x27'+_0xa927f1[_0xbc8ceb(0x11e)](/'/g,'\x27\x27')+'\x27':_0xa927f1;switch(_0x18f4af['toUpperCase']()){case'=':case'!=':case'<>':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'>':case'<':case'>=':case'<=':const _0x42599a=typeof _0x14c834==='string'?'\x27'+_0x14c834['replace'](/'/g,'\x27\x27')+'\x27':_0x14c834;return _0x30960e+'\x20'+_0x18f4af+'\x20'+_0x42599a;case _0x37e831['CapOf']:case'NOT\x20LIKE':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'IN':if(Array['isArray'](_0x14c834)){let _0x3f0795;return!_0x1798a7?_0x3f0795=_0x14c834['map'](_0x323406=>{const _0xe46be8=_0xbc8ceb,_0x29319c=_0x146885[_0xe46be8(0x136)](typeof _0x323406,'string')?_0x323406[_0xe46be8(0x150)]():_0x323406;return typeof _0x29319c==='string'?'\x27'+_0x29319c[_0xe46be8(0x11e)](/'/g,'\x27\x27')+'\x27':_0x29319c;})['join'](',\x20'):_0x3f0795=_0x14c834['map'](_0xd04dcf=>typeof _0xd04dcf==='string'?'\x27'+_0xd04dcf['replace'](/'/g,'\x27\x27')+'\x27':_0xd04dcf)[_0xbc8ceb(0x133)](',\x20'),_0x2346b4+'\x20IN\x20('+_0x3f0795+')';}return _0x2346b4+_0xbc8ceb(0x192)+_0x192236+')';case'IS\x20NULL':return _0x30960e+'\x20IS\x20NULL';case _0xbc8ceb(0x10b):return _0x30960e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':'unknown_operator','operator':_0x18f4af},_0x37e831[_0xbc8ceb(0x145)]);return _0x2346b4+'\x20=\x20'+_0x192236;}})[_0x27ee1a(0x125)](_0x16241e=>_0x16241e!==null);if(_0x37e831['tXetu'](_0x1c7d44['length'],0x0))return'';return _0x1c7d44['join'](_0x57df6e);}['buildOrderByClause'](_0x5814e4){const _0x3d5008=a0_0x317f0e,_0x10a395={'AZbZY':_0x3d5008(0x13e),'TyRge':'Skipping\x20invalid\x20sort\x20column','lbNMj':function(_0x6b8257,_0x42c29e){return _0x6b8257===_0x42c29e;},'QoifR':'DESC','wgROi':_0x3d5008(0x152)};if(!_0x5814e4||_0x5814e4['length']===0x0)return'';const _0x25a012=_0x5814e4[_0x3d5008(0x177)](_0x5d8360=>{const _0x288c8a=_0x3d5008,{column:_0x13f092,direction:_0x45528b}=_0x5d8360;if(!_0x13f092)return logger['warn']({'event':_0x10a395['AZbZY'],'item':_0x5d8360},_0x10a395[_0x288c8a(0x12d)]),null;const _0x562331=_0x45528b&&_0x10a395['lbNMj'](_0x45528b['toUpperCase'](),_0x10a395['QoifR'])?_0x10a395[_0x288c8a(0x10d)]:_0x10a395[_0x288c8a(0x13d)];return _0x13f092+'\x20'+_0x562331;})[_0x3d5008(0x125)](_0x5b20a2=>_0x5b20a2!==null);if(_0x25a012[_0x3d5008(0x153)]===0x0)return'';return _0x25a012[_0x3d5008(0x133)](',\x20');}async[a0_0x317f0e(0x140)](_0xa32ee3,_0x2ea4d4,_0x4f7abf){const _0x382227=a0_0x317f0e,_0x5aa912={'MLqEz':function(_0x31a09b,_0xe54277){return _0x31a09b/_0xe54277;},'cbrdQ':function(_0x18804c,_0x3061bf){return _0x18804c(_0x3061bf);},'IdoYr':_0x382227(0x17d),'IuGpt':_0x382227(0x15f),'lLgkM':function(_0x27b904,_0x56dc0a){return _0x27b904>_0x56dc0a;},'yUZlw':'excel_columns_from_request','Dcpuw':'excel_columns_fallback','ROTWi':_0x382227(0x107),'LFhPK':_0x382227(0x122)},_0x3a800b=_0x5aa912[_0x382227(0x11b)](require,_0x5aa912[_0x382227(0x144)]),_0x5899d2=new _0x3a800b(),_0x7d8388=_0x4f7abf['filename']?_0x4f7abf['filename']+'-'+_0xa32ee3:_0x382227(0x149)+_0xa32ee3,_0x248746=path['join'](this['exportDir'],_0x7d8388+'.xlsx');let _0x1fdaec=_0x4f7abf['columns'];const _0x4c5ce3=_0x4f7abf['exportQuery']&&_0x4f7abf[_0x382227(0x106)]['trim'](),_0x4ddb39=_0x1fdaec&&_0x1fdaec['length']===0x1&&(_0x1fdaec[0x0]==='*'||_0x1fdaec[0x0][_0x382227(0x109)]()==='all');if(_0x2ea4d4[_0x382227(0x153)]>0x0){const _0x347f5b=Object[_0x382227(0x135)](_0x2ea4d4[0x0]);if(_0x4c5ce3)_0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x19d)],'columns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4ddb39)_0x1fdaec=_0x347f5b,logger[_0x382227(0x10e)]({'event':'excel_columns_select_all','columns':_0x1fdaec},_0x382227(0x116)+_0x1fdaec['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x1fdaec&&_0x5aa912['lLgkM'](_0x1fdaec[_0x382227(0x153)],0x0)){const _0x4b32a2=_0x1fdaec['filter'](_0x115f20=>_0x347f5b[_0x382227(0x15a)](_0x115f20));_0x5aa912['lLgkM'](_0x4b32a2['length'],0x0)?(_0x1fdaec=_0x4b32a2,logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x137)],'requestedColumns':_0x4f7abf['columns'],'validColumns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+_0x382227(0x155))):(_0x1fdaec=_0x347f5b,logger['warn']({'event':_0x5aa912['Dcpuw'],'requestedColumns':_0x4f7abf['columns'],'availableColumns':_0x347f5b},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x347f5b['length']+_0x382227(0x15e)));}else _0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x166)],'columns':_0x1fdaec},'Using\x20'+_0x1fdaec['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x17b)],'columns':_0x1fdaec},_0x382227(0x198)+(_0x1fdaec?.['length']||0x0)+_0x382227(0x1a3));return await _0x5899d2[_0x382227(0x181)]({'data':_0x2ea4d4,'columns':_0x1fdaec,'columnFormats':_0x4f7abf[_0x382227(0x14b)]||null,'fieldLabels':_0x4f7abf['fieldLabels']||null,'filePath':_0x248746,'onProgress':async _0x34a4a5=>{const _0x47963e=_0x382227;await redisHelper[_0x47963e(0x167)](_0xa32ee3,{'progress':Math['round'](_0x34a4a5),'processed_rows':Math[_0x47963e(0x194)](_0x5aa912['MLqEz'](_0x34a4a5,0x64)*_0x2ea4d4['length'])});}}),_0x248746;}async['getFilePath'](_0x27065f){const _0x5a8729=a0_0x317f0e,_0x37c7b6={'Gpfxs':function(_0x19e8f5,_0x4e0096){return _0x19e8f5!==_0x4e0096;},'hyaMr':_0x5a8729(0x10f),'zrMAm':'export_file_not_found','BIpQE':'Export\x20file\x20not\x20found'},_0x350764=await redisHelper['getJob'](_0x27065f);if(!_0x350764||_0x37c7b6[_0x5a8729(0x121)](_0x350764[_0x5a8729(0x14c)],_0x37c7b6[_0x5a8729(0x120)]))return null;try{return await fs['access'](_0x350764['file_path']),_0x350764[_0x5a8729(0x11c)];}catch(_0x11fcae){return logError(_0x11fcae,{'event':_0x37c7b6['zrMAm'],'jobId':_0x27065f,'path':_0x350764['file_path']},_0x37c7b6['BIpQE']),null;}}async[a0_0x317f0e(0x1a7)](){const _0x4d7dfa=a0_0x317f0e,_0x5ee818={'wYVMU':function(_0x5c7c3a,_0x2f9a20){return _0x5c7c3a/_0x2f9a20;},'aEYuh':function(_0x463caf,_0x2d247b){return _0x463caf*_0x2d247b;},'WQNEf':function(_0x3faebd,_0x351a85){return _0x3faebd>_0x351a85;},'BCJWf':'Export\x20file\x20deleted','MPTtp':'export_file_delete_error','zLUtR':_0x4d7dfa(0x16f)};logger['info']({'event':_0x4d7dfa(0x10a)},'Starting\x20export\x20cleanup');const _0x3f35e9=await redisHelper['getAllJobs']();let _0x49a2c0=0x0;for(const _0x142a32 of _0x3f35e9){const _0x20321=new Date(_0x142a32['created_at']),_0x1b3ce4=new Date(),_0x14747c=_0x5ee818[_0x4d7dfa(0x14e)](_0x1b3ce4-_0x20321,_0x5ee818['aEYuh'](0x3e8*0x3c,0x3c));if(_0x5ee818[_0x4d7dfa(0x159)](_0x14747c,0x1)){if(_0x142a32[_0x4d7dfa(0x11c)])try{await fs[_0x4d7dfa(0x110)](_0x142a32['file_path']),logger['info']({'event':'export_file_deleted','path':_0x142a32[_0x4d7dfa(0x11c)]},_0x5ee818[_0x4d7dfa(0x19c)]);}catch(_0x1859ff){logger[_0x4d7dfa(0x190)]({'event':_0x5ee818[_0x4d7dfa(0x108)],'path':_0x142a32['file_path'],'error':_0x1859ff[_0x4d7dfa(0x17e)]},_0x5ee818['zLUtR']);}await redisHelper[_0x4d7dfa(0x170)](_0x142a32['job_id']),_0x49a2c0++;}}return logger['info']({'event':_0x4d7dfa(0x19f),'deleted':_0x49a2c0},'Export\x20cleanup\x20completed'),_0x49a2c0;}}function a0_0x13cd(_0x1879e1,_0x366913){_0x1879e1=_0x1879e1-0x105;const _0x13ef36=a0_0x13ef();let _0x13cd95=_0x13ef36[_0x1879e1];if(a0_0x13cd['KQvLMM']===undefined){var _0x2d46d7=function(_0x5da762){const _0x1a74f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575753='',_0x59b90c='';for(let _0x5dac3d=0x0,_0x44fcae,_0xa84ae6,_0x5d007a=0x0;_0xa84ae6=_0x5da762['charAt'](_0x5d007a++);~_0xa84ae6&&(_0x44fcae=_0x5dac3d%0x4?_0x44fcae*0x40+_0xa84ae6:_0xa84ae6,_0x5dac3d++%0x4)?_0x575753+=String['fromCharCode'](0xff&_0x44fcae>>(-0x2*_0x5dac3d&0x6)):0x0){_0xa84ae6=_0x1a74f5['indexOf'](_0xa84ae6);}for(let _0x2ba4ed=0x0,_0x51c3e1=_0x575753['length'];_0x2ba4ed<_0x51c3e1;_0x2ba4ed++){_0x59b90c+='%'+('00'+_0x575753['charCodeAt'](_0x2ba4ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59b90c);};a0_0x13cd['vDiHzx']=_0x2d46d7,a0_0x13cd['IWUIuz']={},a0_0x13cd['KQvLMM']=!![];}const _0x3a2d1e=_0x13ef36[0x0],_0xb209c=_0x1879e1+_0x3a2d1e,_0x1523ba=a0_0x13cd['IWUIuz'][_0xb209c];return!_0x1523ba?(_0x13cd95=a0_0x13cd['vDiHzx'](_0x13cd95),a0_0x13cd['IWUIuz'][_0xb209c]=_0x13cd95):_0x13cd95=_0x1523ba,_0x13cd95;}function a0_0x13ef(){const _0x5a3dab=['rLrUB1K','EvvABhC','mteWsMfus1bQ','AxnbCNjHEq','vhvcrKO','wvvnyum','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','D2Dst2K','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHPC3rZu3LUyW','z2vUzxjHDgvfEgnLBa','vejlv3u','z2XVC0G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','swrVwxi','sezyvue','mtG4nZy1nLPXAuHLAq','zgvMyxvSDa','cLnftevdvcaQiezst00G','zxHWB3j0lq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','y29SDw1UrM9YBwf0CW','C3rHDhvZ','EeLjrKi','D1Lwtvu','cK9srevsiejzia','Dg9vChbLCKnHC2u','mJC2ndiZnKvgA0PnCq','qvnd','BgvUz3rO','rvHqt1jux0rjuG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','t3HVtNa','mZqXotqYnhPcveDODG','mtG4odmXCLj3B2PR','v1forwy','Aw5JBhvKzxm','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Dg9tDhjPBMC','ignVBhvTBNm','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHWB3j0CW','y2HHCKf0','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','x2rHDge','C3rYAw5N','BwTKAxjtEw5J','uK9uv2K','DxbKyxrLsM9I','Dg9ju09tDhjPBMC','zxHWB3j0x2zHAwXLza','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','BhjvANi','ChjVy2vZC0PVyG','y3jLyxrLsM9I','mtq3mtK5nxn0ANzuwG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zgvSzxrLsM9I','zxHWB3j0x3nLCNzPy2vFAw5PDa','ExDpD20','BM93','zw52','yNvPBgrxAgvYzunSyxvZzq','ExbKq2C','BwfW','ChjVBwLZzxm','Cg9ZDgDYzxnXBa','zMLSztO','tezOueS','zxHLy3v0zvf1zxj5','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','yNvPBgrpCMrLCKj5q2XHDxnL','z2vUzxjHDgu','ywzJvwO','DhjPBq','ChjVy2vZC2LUzW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Cgf0Aa','ru5pru5u','zxHWB3j0x2nVBxbSzxrLza','mZm5ntG4nKrfvfn4EG','l2fWAs8','wwjgAM4','t3HRt2K','rxHWB3j0igzHAwXLza','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','CMvZB2X2zq','D2fYBG','zxHWB3j0x2PVyL9JCMvHDgvK','ieLoicG','zxHWB3j0x2zLDgnOx2vYCM9Y','CM91BMq','Efz6q2W','ChjVz3jLC3m','zMv0y2HeyxrH','vxnPBMCG','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','ogHmDK9LzG','C3vIC3rYAw5N','qKnkv2y','sxvhChq','ChjVy2vZC2vKx3jVD3m','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHWB3j0rgLY','y0zsA3e','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zvbjww0','zMXVB3i','y2XLyw51Ca','v0Lusca','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','tvbuDha','Dg9mB3DLCKnHC2u','zxHWB3j0x2nSzwfUDxbFC3rHCNq','svmGtK9uie5vteW','mtqYmJK2m05Xv2fWza','uw9PzLi','Aw5MBW','y29TCgXLDgvK','Dw5SAw5R','C3rHCNrZv2L0Aa','z2v0sM9Iu3rHDhvZ','n0XhC0jcCq','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','ieforca','vxnPBMCGywXSia','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','yK1WuMe','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','y2jYzfe','zMLSzv9WyxrO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','CMvWBgfJzq','y0T2seG','AhLHtxi','r3bMEhm','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','lI4VDxrPBhmVBg9Nz2vY','zMLSDgvY','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','CMvZB2X2zuv4Cg9YDff1zxj5','zw50CMLLCW','x2v4Cg9YDerPCG','qvjyseq','z2v0sM9I','vhLsz2u','y2f0y2G','y29UzgL0Aw9UCW','s2j1vuW','yMvhC1q','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','u0vVAvK','A2v5CW'];a0_0x13ef=function(){return _0x5a3dab;};return a0_0x13ef();}module[a0_0x317f0e(0x160)]=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x465a0d=a0_0x5de9;(function(_0x575bda,_0xb21e8a){const _0x3c4207=a0_0x5de9,_0x2526a8=_0x575bda();while(!![]){try{const _0x18b7ea=parseInt(_0x3c4207(0x90))/0x1+parseInt(_0x3c4207(0x126))/0x2*(-parseInt(_0x3c4207(0x103))/0x3)+parseInt(_0x3c4207(0x96))/0x4*(-parseInt(_0x3c4207(0x10b))/0x5)+-parseInt(_0x3c4207(0xcf))/0x6+-parseInt(_0x3c4207(0xc5))/0x7+parseInt(_0x3c4207(0xf7))/0x8*(parseInt(_0x3c4207(0x10d))/0x9)+parseInt(_0x3c4207(0x98))/0xa*(parseInt(_0x3c4207(0xab))/0xb);if(_0x18b7ea===_0xb21e8a)break;else _0x2526a8['push'](_0x2526a8['shift']());}catch(_0x2b3687){_0x2526a8['push'](_0x2526a8['shift']());}}}(a0_0xf178,0x7bc5c));function a0_0x5de9(_0x107b44,_0x5991ac){_0x107b44=_0x107b44-0x8c;const _0xf1786e=a0_0xf178();let _0x5de974=_0xf1786e[_0x107b44];if(a0_0x5de9['EKAhGg']===undefined){var _0x393f8b=function(_0x4cb77f){const _0x3c019d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a5c71='',_0x445836='';for(let _0x570bb6=0x0,_0x4734ce,_0x16d7b9,_0x5381fc=0x0;_0x16d7b9=_0x4cb77f['charAt'](_0x5381fc++);~_0x16d7b9&&(_0x4734ce=_0x570bb6%0x4?_0x4734ce*0x40+_0x16d7b9:_0x16d7b9,_0x570bb6++%0x4)?_0x5a5c71+=String['fromCharCode'](0xff&_0x4734ce>>(-0x2*_0x570bb6&0x6)):0x0){_0x16d7b9=_0x3c019d['indexOf'](_0x16d7b9);}for(let _0x3bb996=0x0,_0x5f4592=_0x5a5c71['length'];_0x3bb996<_0x5f4592;_0x3bb996++){_0x445836+='%'+('00'+_0x5a5c71['charCodeAt'](_0x3bb996)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445836);};a0_0x5de9['VWQkCz']=_0x393f8b,a0_0x5de9['NMzlaW']={},a0_0x5de9['EKAhGg']=!![];}const _0x1f9fe8=_0xf1786e[0x0],_0x49d6ac=_0x107b44+_0x1f9fe8,_0x47c988=a0_0x5de9['NMzlaW'][_0x49d6ac];return!_0x47c988?(_0x5de974=a0_0x5de9['VWQkCz'](_0x5de974),a0_0x5de9['NMzlaW'][_0x49d6ac]=_0x5de974):_0x5de974=_0x47c988,_0x5de974;}function a0_0xf178(){const _0x4c3543=['wfrWtgm','lI4VDxrPBhmVBg9Nz2vY','zgvMyxvSDa','y2f0y2G','zMLLBgrmywjLBhm','y29TBwL0x2PVyL9MywLSzwq','x3vWBg9HzerPCG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','CgfYyw1Z','AgvHzgvYC19TyxbWzwq','zMfSC2u','Evz4Cva','C0fsDhu','igf0ihjVDYa','x2fJDgLVBG','nta5otmZoxr2uNfcvG','z2v0','C2nVCgvpDMvYCMLKzq','jdfFjdi','z2v0sM9I','C2v0sM9I','z2vUzxjHDgvjza','A2v5CW','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','q29TBwL0igPVyIbJCMvHDgvK','mti4mZKYmMPcAhnkta','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjVy2vZC0nVBw1PDePVyG','u3PbsMm','C2XPy2u','zMLSDgvY','DxbKyxrLx2v4Axn0Aw5N','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EgfIrMy','Aw5Zzxj0x29UBhK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','BwfW','y3jLyxrLuhjLDMLLD0PVyG','zu1Wsxy','Aw5KzxHpzG','vvbeqvrf','t3LSCLC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zgvIDwC','CfLWA0C','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3fS','uK5Lv3a','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','DhLWzq','vgTTu08','AM9PBG','DKPVDKO','kqOGicaGica','Cu13s3O','Aw5JBhvKzxm','y1b5D2e','zw52','C2TPCf9LEgLZDgLUzW','yM9VBgvHBG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zMXVB3i','B3jPz2LUywXUyw1L','C2HPwMS','mta0oefcz2fSDW','DMfSAwrHDgLUzW','z2v0rgf0zq','r1nIrvy','z2v0rNvSBfLLyxi','uNfKwwG','z2v0tw9UDgG','tKTwCNq','Ew9RCxy','DxbSB2fKx2LK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','y29SDw1UrM9YBwf0CW','mtC0mtGZwgv5v3DI','wffoD3m','Cgf0Aa','Aw5Zzxj0','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','CM93CW','zMfPBgvK','BeL2Awu','mJC5nJeWEMnnBhz0','ChjLDMLLD19QB2jFzMfPBgvK','odi1m091thLeuW','yNvPBgrcyxrJAeLUC2vYDa','zxjYB3jZ','wfnirgq','CunTswe','zM9YrwfJAa','vwLhDgq','BwvZC2fNzq','DxbKyxrL','zfjdBLe','Aw5MBW','EvPjDvu','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','x2vYCM9YCW','su5trvju','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rxLAq04','u0Tjua','AM9Ix2LK','BfveDe0','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','Bwf0y2G','x2v4Axn0Aw5Nswq','C3rHDhvZ','nKf0u1nAyW','yMf0y2HwywXPzgf0zvjVD3m','ChjVy2vZC0XVB2T1CezPzwXKCW','CLHYCMS','B3jHy2XL','ChjLDMLLD19QB2jFy29TCgXLDgvK','reHKsha','Dg9mB3DLCKnHC2u','ywfRs2u','ChjVy2vZC1bYzxzPzxDkB2i','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','DgvZDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2H1BMTsB3DZ','zxHWB3j0CW','ChjVy2vZC2LUzW','zxHLy3v0zvrYyw5Zywn0Aw9U','ieLoicG','DxbSB2fKrgLY','C3rYAw5N','EMTYug4','uhjLDMLLDYbQB2iGy3jLyxrLza','ChjLDMLLD19VAW','ode3nde1y2Ppv2LS','Cg9ZDgDYzxnXBa','AM9IoG','BgvUz3rO','y291BNq','zMLUza','mtzSq1LHBNm','sLfyDKG','mtGXotuZmenXB0PtCG','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','x2DLBMvYyxrLzf91DwLK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','vfrwwuS','DhjPBq','vvbmt0fex0rjuG','CMvWBgfJzq','y3jLyxrLzf9HDa','yvLxCeq','rvjoBKy','CgfKu3rHCNq','C2L6zq','DxbSB2fKoG','zw50CMLLCW','Dg9ju09tDhjPBMC','A2vxC1i','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','CM93sw5KzxG','ntvjBLzxzee','y2HHCKf0','zhb3Ehy','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','CM1yy0y','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','BNvTyMvY','ChvZAa','rhvWBgLJyxrLihzHBhvLigzVCIa','y29TBwL0x2PVyL9JCMvHDgvK','zxHLy3v0zvf1zxj5'];a0_0xf178=function(){return _0x4c3543;};return a0_0xf178();}const {v7:uuidv7}=require('uuid'),path=require(a0_0x465a0d(0x105)),fs=require('fs')['promises'],redisHelper=require(a0_0x465a0d(0x11c)),{logger,logError}=require(a0_0x465a0d(0xb7)),dbType=(process['env']['DB_TYPE']||a0_0x465a0d(0x91))[a0_0x465a0d(0x12d)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x465a0d(0x12a))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x36ea80,_0x5a61d5)=>oracleDb[a0_0x465a0d(0xb5)](_0x36ea80,_0x5a61d5),executeTransaction=_0x461817=>oracleDb['executeTransaction'](_0x461817);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5bb17b,_0x2972e8)=>mysqlDb[a0_0x465a0d(0xb5)](_0x5bb17b,_0x2972e8),executeTransaction=_0x2e9c7d=>mysqlDb[a0_0x465a0d(0x136)](_0x2e9c7d);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x465a0d(0x107)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x465a0d(0xd6)),lookupResolver=require(a0_0x465a0d(0xf3));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x465a0d(0x138)](){const _0x21867a=a0_0x465a0d,_0x503c3f={'EyZCN':_0x21867a(0xb8)};if(!this['_uploadDir']){const _0x5ecbf2=process[_0x21867a(0xf0)][_0x21867a(0x132)]||_0x503c3f[_0x21867a(0x11d)];this['_uploadDir']=process[_0x21867a(0xf0)][_0x21867a(0x9e)]||path[_0x21867a(0xea)](__dirname,'../../temp/uploads/'+_0x5ecbf2);}return this[_0x21867a(0xbc)];}[a0_0x465a0d(0xcb)](){const _0x167d2b=a0_0x465a0d,_0x8ec7b={'dRCnQ':function(_0x5a4b30){return _0x5a4b30();},'xecgB':function(_0x45f70b,_0x1fe421){return _0x45f70b<_0x1fe421;}},_0x2bae74='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x47dfc9=Date['now']()['toString'](0x24),_0x5ec301=_0x8ec7b[_0x167d2b(0x116)](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x47dfc9['length']),_0x170a64=(_0x47dfc9+_0x5ec301)['substring'](0x0,0xc);let _0x48ae76='';for(let _0x36ee6c=0x0;_0x8ec7b['xecgB'](_0x36ee6c,0xc);_0x36ee6c++){_0x170a64[_0x36ee6c]?_0x48ae76+=_0x170a64[_0x36ee6c]:_0x48ae76+=_0x2bae74[_0x167d2b(0xac)](Math[_0x167d2b(0xf4)](Math['random']()*_0x2bae74[_0x167d2b(0x93)]));}return _0x48ae76;}['buildLabelToFieldMap'](_0x43523b){const _0x4afe57=a0_0x465a0d,_0x1b4e51={'SzAJc':function(_0x54fd5c,_0x2a8855){return _0x54fd5c(_0x2a8855);},'ayNwM':'$1_$2','GSbEV':_0x4afe57(0x130)},_0x5a4491=new Map();if(!_0x43523b)return _0x5a4491;return Object['entries'](_0x43523b)[_0x4afe57(0x112)](([_0x5597a8,_0x1f5eb8])=>{const _0x9a98bb=_0x4afe57,_0x1f8505=_0x1b4e51[_0x9a98bb(0xd2)](String,_0x1f5eb8)['trim']()[_0x9a98bb(0x9f)](/\s+/g,'_')[_0x9a98bb(0x9f)](/([a-z])([A-Z])/g,_0x1b4e51['ayNwM'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x9a98bb(0xc8))[_0x9a98bb(0x12d)]();_0x5a4491['set'](_0x1f8505,_0x5597a8);}),logger['debug']({'event':_0x1b4e51[_0x4afe57(0xfa)],'mappingCount':_0x5a4491['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x5a4491;}['applyColumnFormats'](_0x49e052,_0x4f6215){const _0x194722=a0_0x465a0d,_0x48673f={'XQNws':function(_0x4da344,_0x2285f5){return _0x4da344===_0x2285f5;},'riGXq':function(_0x3dd93b,_0x5c1608){return _0x3dd93b===_0x5c1608;},'rXrrk':_0x194722(0xb1),'lIvie':function(_0x322c13,_0x5af6ef){return _0x322c13(_0x5af6ef);}};if(!_0x4f6215||Object['keys'](_0x4f6215)[_0x194722(0x93)]===0x0)return _0x49e052;return _0x49e052[_0x194722(0xda)](_0x400566=>{const _0x4f99fe=_0x194722,_0x5577bd={..._0x400566};for(const [_0x4de98f,_0x18a5e8]of Object['entries'](_0x4f6215)){const _0x213553=_0x5577bd[_0x4de98f];if(_0x48673f[_0x4f99fe(0x104)](_0x213553,null)||_0x213553===undefined||_0x48673f['riGXq'](_0x213553,'')){_0x5577bd[_0x4de98f]=null;continue;}switch(_0x18a5e8['type']){case'date':_0x5577bd[_0x4de98f]=this['formatDateForDatabase'](_0x213553);break;case _0x48673f[_0x4f99fe(0x129)]:_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe0)](_0x213553);break;case _0x4f99fe(0xf2):_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe7)](_0x213553);break;case'text':_0x5577bd[_0x4de98f]=_0x48673f[_0x4f99fe(0x10a)](String,_0x213553);break;default:break;}}return _0x5577bd;});}[a0_0x465a0d(0xe3)](_0x407203){const _0x5647a3=a0_0x465a0d,_0x26f480={'TTVYK':function(_0x15635b,_0x179ce5){return _0x15635b===_0x179ce5;},'VzcnJ':function(_0x3ac460,_0x17da6e){return _0x3ac460===_0x17da6e;},'mIeWM':function(_0x458f97,_0x4e2b67){return _0x458f97 instanceof _0x4e2b67;},'lskmZ':function(_0x147439,_0x5a61dc){return _0x147439+_0x5a61dc;},'NPoPn':'string','shiZk':function(_0x3de989,_0x3b49d0){return _0x3de989(_0x3b49d0);},'TkmSO':function(_0x37d58a,_0x5be6f2){return _0x37d58a(_0x5be6f2);}};if(_0x407203===null||_0x26f480[_0x5647a3(0x9c)](_0x407203,undefined)||_0x26f480[_0x5647a3(0x9c)](_0x407203,''))return null;if(_0x26f480['VzcnJ'](typeof _0x407203,_0x5647a3(0x8c))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x407203))return _0x407203;if(_0x26f480['mIeWM'](_0x407203,Date)){if(isNaN(_0x407203['getTime']()))return null;const _0x27955f=_0x407203[_0x5647a3(0xfb)](),_0x494fc1=String(_0x26f480['lskmZ'](_0x407203[_0x5647a3(0xfd)](),0x1))[_0x5647a3(0xa3)](0x2,'0'),_0x5e7aec=String(_0x407203[_0x5647a3(0xf9)]())['padStart'](0x2,'0');return _0x27955f+'-'+_0x494fc1+'-'+_0x5e7aec;}if(_0x26f480['VzcnJ'](typeof _0x407203,_0x26f480['NPoPn'])){const _0x154889=_0x407203[_0x5647a3(0x123)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x154889){const _0x4feda8=_0x26f480['shiZk'](String,_0x154889[0x1])['padStart'](0x2,'0'),_0x23c5aa=String(_0x154889[0x2])['padStart'](0x2,'0'),_0x2509f3=_0x154889[0x3];return _0x2509f3+'-'+_0x23c5aa+'-'+_0x4feda8;}const _0x2ba69f=_0x407203[_0x5647a3(0x123)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x2ba69f){const _0x152ab1=_0x2ba69f[0x1],_0x487bf4=_0x26f480[_0x5647a3(0xf6)](String,_0x2ba69f[0x2])['padStart'](0x2,'0'),_0xab0ff8=_0x26f480[_0x5647a3(0xe9)](String,_0x2ba69f[0x3])['padStart'](0x2,'0');return _0x152ab1+'-'+_0x487bf4+'-'+_0xab0ff8;}}return _0x407203;}['formatNumberForDatabase'](_0x5b8ad5){const _0x5181f9=a0_0x465a0d,_0xf662fb={'DxvRW':function(_0x37fd48,_0x5d8ce3){return _0x37fd48===_0x5d8ce3;},'JQXvH':function(_0x13c082,_0x1e6023){return _0x13c082(_0x1e6023);},'ScFug':function(_0x36e802,_0x4301db){return _0x36e802(_0x4301db);}};if(_0x5b8ad5===null||_0x5b8ad5===undefined||_0x5b8ad5==='')return null;if(_0xf662fb['DxvRW'](typeof _0x5b8ad5,_0x5181f9(0xb1)))return _0xf662fb['JQXvH'](isNaN,_0x5b8ad5)?null:_0x5b8ad5;if(typeof _0x5b8ad5===_0x5181f9(0x8c)){let _0x5b02b8=_0x5b8ad5[_0x5181f9(0x9d)]();const _0x3c7eca=/,\d{1,2}$/['test'](_0x5b02b8)&&!/,\d{3}/[_0x5181f9(0x131)](_0x5b02b8);_0x3c7eca?_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/\./g,'')[_0x5181f9(0x9f)](',','.'):_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/,/g,'');const _0x28ae90=_0xf662fb['ScFug'](parseFloat,_0x5b02b8);return _0xf662fb[_0x5181f9(0x97)](isNaN,_0x28ae90)?null:_0x28ae90;}return null;}['formatBooleanForDatabase'](_0x37d46d){const _0x1913a1=a0_0x465a0d,_0x46f300={'MUbAm':function(_0x3471dc,_0x215e09){return _0x3471dc===_0x215e09;},'UiGtd':function(_0x335444,_0x2eeb05){return _0x335444===_0x2eeb05;},'pWdvD':'string','zkrPn':'true','NKVrt':_0x1913a1(0xc0),'qCmIa':function(_0x2d8f72,_0x321645){return _0x2d8f72===_0x321645;}};if(_0x37d46d===null||_0x46f300['MUbAm'](_0x37d46d,undefined)||_0x46f300[_0x1913a1(0x113)](_0x37d46d,''))return null;if(typeof _0x37d46d===_0x1913a1(0xf2))return _0x37d46d?'true':_0x1913a1(0xc0);if(typeof _0x37d46d===_0x46f300['pWdvD']){const _0x53977d=_0x37d46d[_0x1913a1(0x9d)]()['toLowerCase']();if([_0x46f300['zkrPn'],'yes','y','1']['includes'](_0x53977d))return _0x46f300[_0x1913a1(0x8d)];if([_0x46f300['NKVrt'],'no','n','0'][_0x1913a1(0xee)](_0x53977d))return _0x46f300[_0x1913a1(0xfe)];return null;}if(_0x46f300[_0x1913a1(0x111)](typeof _0x37d46d,_0x1913a1(0xb1)))return _0x37d46d?'true':_0x46f300[_0x1913a1(0xfe)];return null;}async['uploadFile'](_0x1f25b4,_0x17d450){const _0x4883c1=a0_0x465a0d,_0x28565f={'lChXB':function(_0x4c1d3f,_0xfb3f8){return _0x4c1d3f||_0xfb3f8;},'RNeWp':_0x4883c1(0xbf),'OylrW':'Excel\x20headers\x20mapped\x20to\x20field\x20names','xabFf':'request_scope_applied','lUDtM':_0x4883c1(0xa9),'yZIuU':_0x4883c1(0xd9),'nMZwr':'Failed\x20to\x20cleanup\x20file'},_0x1b14ec=this['generateId']();try{let {headers:_0x41fa3f,rows:_0x17b37b,totalRows:_0x881f7e}=await excelParser['parseExcelFile'](_0x1f25b4['path']);const _0x2015e9=this['buildLabelToFieldMap'](_0x17d450[_0x4883c1(0xba)]),_0x29aaac=_0x41fa3f['map'](_0x2ba20a=>{const _0x5b8621=_0x4883c1,_0x536c3b=_0x2015e9[_0x5b8621(0xc6)](_0x2ba20a);return _0x28565f['lChXB'](_0x536c3b,_0x2ba20a);});_0x17b37b=_0x17b37b[_0x4883c1(0xda)](_0x21a534=>{const _0x1c7743={};return _0x41fa3f['forEach']((_0x51c976,_0x511885)=>{const _0x2311fe=_0x29aaac[_0x511885];_0x1c7743[_0x2311fe]=_0x21a534[_0x51c976];}),_0x1c7743;}),_0x41fa3f=_0x29aaac,logger[_0x4883c1(0xe1)]({'event':_0x28565f[_0x4883c1(0xe6)],'original':_0x41fa3f['length'],'mapped':_0x29aaac[_0x4883c1(0xd4)]((_0x2e3030,_0x5a663f)=>_0x2e3030!==_0x41fa3f[_0x5a663f])[_0x4883c1(0x93)]},_0x28565f[_0x4883c1(0xdf)]);_0x17d450['columnFormats']&&Object[_0x4883c1(0xcc)](_0x17d450[_0x4883c1(0x102)])['length']>0x0&&(_0x17b37b=this[_0x4883c1(0xe4)](_0x17b37b,_0x17d450['columnFormats']),logger['debug']({'event':_0x4883c1(0xcd),'formatCount':Object['keys'](_0x17d450['columnFormats'])['length'],'formats':Object['keys'](_0x17d450['columnFormats'])},_0x4883c1(0x101)));if(_0x17d450[_0x4883c1(0xc7)]&&_0x17d450['scopeOverride']['column']){const {column:_0x721938,value:_0x4182b6}=_0x17d450[_0x4883c1(0xc7)];_0x17b37b=_0x17b37b['map'](_0x4a4b9d=>({..._0x4a4b9d,[_0x721938]:_0x4182b6})),logger['debug']({'event':_0x28565f[_0x4883c1(0xd7)],'column':_0x721938,'rowCount':_0x17b37b[_0x4883c1(0x93)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2e7c9f=_0x17d450['lookupFields']?Object['values'](_0x17d450['lookupFields'])[_0x4883c1(0xda)](_0x50239c=>_0x50239c['targetField']):[],_0x405439=_0x17d450['fieldName']['filter'](_0x81cfe9=>!_0x2e7c9f['includes'](_0x81cfe9)),_0x32afee=excelParser['validateExcelStructure'](_0x41fa3f,_0x405439);if(!_0x32afee['valid']){await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x32afee['missingFields'][_0x4883c1(0xea)](',\x20'));}const _0x2579b1={'upload_id':_0x1b14ec,'filename':_0x1f25b4[_0x4883c1(0xf5)],'total_rows':_0x881f7e,'headers':_0x41fa3f,'rows':_0x17b37b,'params':_0x17d450,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x1b14ec,_0x2579b1,0xe10),await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]),logger[_0x4883c1(0x117)]({'event':_0x28565f[_0x4883c1(0x120)],'uploadId':_0x1b14ec,'filename':_0x1f25b4['originalname'],'totalRows':_0x881f7e},_0x28565f[_0x4883c1(0x118)]),{'upload_id':_0x1b14ec,'total_rows':_0x881f7e,'preview':_0x17b37b['slice'](0x0,0xa)};}catch(_0x40c7b0){try{await fs['unlink'](_0x1f25b4['path']);}catch(_0x25e472){logError(_0x25e472,{'event':'file_cleanup_error'},_0x28565f['nMZwr']);}throw _0x40c7b0;}}async[a0_0x465a0d(0xdb)](_0x302e04){const _0x5d179c=a0_0x465a0d,_0x446cd1={'qMwKz':'Preview\x20processing\x20failed','eMpIv':_0x5d179c(0xf8),'hratS':_0x5d179c(0x8e)},_0xbbbcc=this[_0x5d179c(0xcb)](),_0x1a65dc=await redisHelper['getJob'](_0x5d179c(0xa5)+_0x302e04);if(!_0x1a65dc)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x3b29e8={'job_id':_0xbbbcc,'upload_id':_0x302e04,'status':_0x446cd1[_0x5d179c(0xdc)],'progress':0x0,'created_at':new Date()[_0x5d179c(0xa7)](),'params':_0x1a65dc['params']};return await redisHelper[_0x5d179c(0xca)]('job:'+_0xbbbcc,_0x3b29e8,0xe10),logger['info']({'event':'preview_job_created','jobId':_0xbbbcc,'uploadId':_0x302e04},_0x446cd1['hratS']),this[_0x5d179c(0x12f)](_0xbbbcc,_0x302e04,_0x1a65dc)[_0x5d179c(0xb9)](_0x4820a5=>{const _0x104edb=_0x5d179c;logError(_0x4820a5,{'event':'preview_process_error','jobId':_0xbbbcc},_0x446cd1[_0x104edb(0xed)]);}),{'job_id':_0xbbbcc,'status':_0x5d179c(0xf8)};}[a0_0x465a0d(0x121)](_0x4b4302,_0x1fa9a7){const _0xa289ec=a0_0x465a0d;_0x4b4302[_0xa289ec(0x112)]((_0xfcbe6e,_0x2906a1)=>{_0x1fa9a7['forEach'](_0x1a56b1=>{const _0x470cc6=a0_0x5de9,_0x366b54=_0xfcbe6e[_0x1a56b1];if(_0x366b54===null||_0x366b54===undefined||_0x366b54===''||String(_0x366b54)['trim']()==='-'){const _0x4796fe=uuidv7();_0xfcbe6e[_0x1a56b1]=_0x4796fe,_0xfcbe6e['_generated_uuid']=_0xfcbe6e['_generated_uuid']||{},_0xfcbe6e[_0x470cc6(0x9a)][_0x1a56b1]=_0x4796fe,logger[_0x470cc6(0xe1)]({'event':'uuid_auto_generated','rowIndex':_0x2906a1,'field':_0x1a56b1,'uuid':_0x4796fe},'Auto-generated\x20UUID\x20for\x20'+_0x1a56b1+_0x470cc6(0xc3)+(_0x2906a1+0x2));}});});}async[a0_0x465a0d(0x12f)](_0x4054b6,_0x1feb48,_0x9d469e){const _0x21119c=a0_0x465a0d,_0x3b4379={'FbMhH':function(_0x3b6b3c,_0x5d3add){return _0x3b6b3c===_0x5d3add;},'XTpLc':_0x21119c(0x11b),'DHdHp':function(_0x660874,_0x471cd4){return _0x660874===_0x471cd4;},'hAwbe':'SKIP','pYpkG':'Processing\x20lookup\x20fields','YKIid':'preview_error','cPywa':function(_0x30a499,_0x5dafdf,_0x2722e9,_0x3f7403){return _0x30a499(_0x5dafdf,_0x2722e9,_0x3f7403);},'yVxqP':_0x21119c(0x10c)};try{let {rows:_0x15fc9e,params:_0x1d9dd5}=_0x9d469e;const {requiredFields:_0x950498,validations:_0xb54982,upsertKeys:_0x431a7b,tableName:_0x39459d,primaryKey:_0x508990,fieldName:_0x28ce02,upsertStrategy:_0x969a97,lookupFields:_0x2db419}=_0x1d9dd5;this[_0x21119c(0x121)](_0x15fc9e,_0x431a7b);let _0x374978=[];if(_0x2db419&&Object['keys'](_0x2db419)['length']>0x0){logger['info']({'event':_0x21119c(0x9b),'jobId':_0x4054b6,'lookupFieldCount':Object[_0x21119c(0xcc)](_0x2db419)[_0x21119c(0x93)]},_0x3b4379[_0x21119c(0xe2)]);const _0x509cfb=await lookupResolver[_0x21119c(0x128)](_0x15fc9e,_0x2db419);_0x15fc9e=_0x509cfb['processedRows'],_0x374978=_0x509cfb['errors'],_0x9d469e[_0x21119c(0x108)]=_0x15fc9e;}const _0x55a291=importValidator[_0x21119c(0x127)](_0x15fc9e,_0x950498||[],_0xb54982||{});_0x374978['forEach'](_0x4fd839=>{const _0x45f34b=_0x21119c,_0x20474f=_0x55a291[_0x45f34b(0x95)](_0x49efdd=>_0x49efdd[_0x45f34b(0xaa)]===_0x4fd839['rowIndex']);_0x20474f?_0x20474f[_0x45f34b(0x10f)][_0x45f34b(0xb2)](_0x4fd839['message']):_0x55a291['push']({'rowIndex':_0x4fd839[_0x45f34b(0xaa)],'rowData':_0x15fc9e[_0x4fd839[_0x45f34b(0xaa)]],'errors':[_0x4fd839[_0x45f34b(0x114)]]});});const _0x3b3724=importValidator[_0x21119c(0xb0)](_0x15fc9e,_0x431a7b);_0x3b3724[_0x21119c(0x112)](_0x3806d2=>{const _0x56c8d1=_0x21119c,_0x2e73cb=_0x55a291[_0x56c8d1(0x95)](_0x1cde6c=>_0x1cde6c[_0x56c8d1(0xaa)]===_0x3806d2['rowIndex']),_0x576e14=_0x431a7b[_0x56c8d1(0xda)](_0x420d57=>_0x420d57['toUpperCase']())[_0x56c8d1(0xea)](',\x20'),_0x22e42f=_0x56c8d1(0xb3)+_0x576e14;_0x2e73cb?_0x2e73cb['errors'][_0x56c8d1(0xb2)](_0x22e42f):_0x55a291['push']({'rowIndex':_0x3806d2['rowIndex'],'rowData':_0x15fc9e[_0x3806d2['rowIndex']],'errors':[_0x22e42f]});}),await this[_0x21119c(0xae)](_0x15fc9e,_0x431a7b,_0x39459d,_0x508990,_0x969a97,_0x55a291),_0x55a291['forEach'](_0x40bbb5=>{const _0x1d8b7e=_0x15fc9e[_0x40bbb5['rowIndex']];_0x1d8b7e&&(_0x1d8b7e['_errors']=_0x40bbb5['errors']);});let _0xd1f859=0x0,_0x5ab5fb=0x0,_0x4cfed1=0x0;_0x15fc9e['forEach'](_0x652647=>{const _0x3ea013=_0x21119c;if(_0x3b4379['FbMhH'](_0x652647[_0x3ea013(0xc4)],_0x3b4379[_0x3ea013(0xb6)]))_0xd1f859++;else{if(_0x652647['_action']===_0x3ea013(0xde))_0x5ab5fb++;else _0x3b4379[_0x3ea013(0x12c)](_0x652647['_action'],_0x3b4379['hAwbe'])&&_0x4cfed1++;}});const _0x163bcb={'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x55a291[_0x21119c(0x93)]>0x0?_0x3b4379['YKIid']:_0x21119c(0x8f),'progress':0x64,'created_at':_0x9d469e['created_at'],'completed_at':new Date()[_0x21119c(0xa7)](),'preview':{'total_rows':_0x15fc9e['length'],'insert_count':_0xd1f859,'update_count':_0x5ab5fb,'skip_count':_0x4cfed1,'error_count':_0x55a291[_0x21119c(0x93)],'errors':_0x55a291,'data':_0x15fc9e,'sample_insert':_0x15fc9e[_0x21119c(0xd4)](_0x5185a3=>_0x5185a3[_0x21119c(0xc4)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x15fc9e[_0x21119c(0xd4)](_0x29c828=>_0x29c828['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x15fc9e[_0x21119c(0xd4)](_0x133282=>_0x133282['_action']==='SKIP')[_0x21119c(0xd3)](0x0,0x5)},'params':_0x1d9dd5};await redisHelper['setJob']('job:'+_0x4054b6,_0x163bcb,0xe10),_0x9d469e[_0x21119c(0x108)]=_0x15fc9e,await redisHelper['setJob'](_0x21119c(0xa5)+_0x1feb48,_0x9d469e,0xe10),logger['info']({'event':_0x21119c(0x12b),'jobId':_0x4054b6,'status':_0x163bcb['status'],'insertCount':_0xd1f859,'updateCount':_0x5ab5fb,'skipCount':_0x4cfed1,'errorCount':_0x55a291['length']},'Preview\x20job\x20completed');}catch(_0x5b2bf1){_0x3b4379[_0x21119c(0xef)](logError,_0x5b2bf1,{'event':_0x3b4379[_0x21119c(0xc1)],'jobId':_0x4054b6},'Preview\x20job\x20failed'),await redisHelper[_0x21119c(0xca)]('job:'+_0x4054b6,{'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x21119c(0x109),'progress':0x0,'error':_0x5b2bf1['message'],'created_at':new Date()[_0x21119c(0xa7)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x10e2d3,_0x121afa,_0x1e6eb,_0x54368a,_0x17175b=a0_0x465a0d(0xd5),_0x53e4a2=[]){const _0x48ef64=a0_0x465a0d,_0x54f322={'ERNnF':function(_0x750f14,_0x3cc3b5){return _0x750f14===_0x3cc3b5;},'fYdoQ':_0x48ef64(0xde),'XSHDd':_0x48ef64(0x11e),'aYWpD':function(_0x2fcbfb,_0x8fc715){return _0x2fcbfb!==_0x8fc715;},'vJovJ':_0x48ef64(0xf1),'RqdYh':function(_0x308c86,_0x4317c1){return _0x308c86(_0x4317c1);},'KajTe':function(_0x3a6b38,_0x34cc5d){return _0x3a6b38>_0x34cc5d;}},_0x144dad=upsertBuilder[_0x48ef64(0x133)](_0x10e2d3,0x64);for(const _0x5c6c78 of _0x144dad){const _0x100e7b=_0x5c6c78[_0x48ef64(0xda)](_0x236d8b=>_0x236d8b[_0x121afa[0x0]]),_0x296989=_0x100e7b[_0x48ef64(0xda)](_0x1cf38d=>{const _0x119c79=_0x48ef64;if(_0x1cf38d===null||_0x1cf38d===undefined)return'NULL';return'\x27'+String(_0x1cf38d)[_0x119c79(0x9f)](/'/g,'\x27\x27')+'\x27';}),_0x5a6f36='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x54368a+',\x20'+_0x121afa['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1e6eb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x121afa[0x0]+_0x48ef64(0x137)+_0x296989['join'](',\x20')+_0x48ef64(0xec);let _0x19209e=await _0x54f322[_0x48ef64(0xfc)](executeQuery,_0x5a6f36);_0x54f322['ERNnF'](dbType,'oracle')&&_0x19209e&&_0x54f322['KajTe'](_0x19209e[_0x48ef64(0x93)],0x0)&&(_0x19209e=_0x19209e['map'](_0x14d709=>{const _0x4dc397=_0x48ef64,_0x119a28={};for(const [_0x47094b,_0x4a342f]of Object[_0x4dc397(0xa6)](_0x14d709)){_0x119a28[_0x47094b[_0x4dc397(0x12d)]()]=_0x4a342f;}return _0x119a28;}));const _0x5bcaef=new Map();_0x19209e[_0x48ef64(0x112)](_0x3b1c11=>{const _0x2be921=_0x3b1c11[_0x121afa[0x0]];_0x5bcaef['set'](_0x2be921,_0x3b1c11);}),_0x5c6c78['forEach']((_0x28f7dd,_0x334af8)=>{const _0x457f5c=_0x48ef64,_0x160d15=_0x28f7dd[_0x121afa[0x0]],_0x5bb44c=_0x5bcaef['get'](_0x160d15);if(_0x5bb44c){if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd['_action']=_0x54f322['fYdoQ'],_0x28f7dd[_0x457f5c(0x124)]=_0x5bb44c[_0x54368a];else{if(_0x54f322['ERNnF'](_0x17175b,_0x457f5c(0xd8))){_0x28f7dd['_action']=_0x54f322[_0x457f5c(0x110)],_0x28f7dd['_errors']=_0x28f7dd[_0x457f5c(0x11a)]||[],_0x28f7dd[_0x457f5c(0x11a)]['push'](_0x457f5c(0xbd));const _0x42d982=_0x10e2d3[_0x457f5c(0xdd)](_0x28f7dd);_0x54f322[_0x457f5c(0xa1)](_0x42d982,-0x1)&&_0x53e4a2['push']({'rowIndex':_0x42d982,'rowData':_0x28f7dd,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x17175b===_0x54f322['vJovJ']&&(_0x28f7dd[_0x457f5c(0xc4)]=_0x54f322['XSHDd']);}}else{if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd[_0x457f5c(0xc4)]=_0x457f5c(0x11b);else(_0x17175b==='insert_only'||_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x54f322[_0x457f5c(0xeb)]))&&(_0x28f7dd['_action']='INSERT');}});}}async['createCommitJob'](_0x282586){const _0x2ec9f5=a0_0x465a0d,_0x4a2014={'WzFrD':'commit_process_error','kqIpw':_0x2ec9f5(0xd0),'yokqv':_0x2ec9f5(0x8f),'oLMtV':_0x2ec9f5(0x135)},_0x123f2c=this[_0x2ec9f5(0xcb)](),_0x53c3a7=await redisHelper['getJob'](_0x2ec9f5(0x92)+_0x282586);if(!_0x53c3a7)throw new Error(_0x2ec9f5(0x119));if(_0x53c3a7['status']!==_0x4a2014[_0x2ec9f5(0xff)])throw new Error(_0x2ec9f5(0x122)+_0x53c3a7[_0x2ec9f5(0x125)]);const _0xa67245={'job_id':_0x123f2c,'upload_id':_0x53c3a7[_0x2ec9f5(0x100)],'preview_job_id':_0x282586,'status':_0x2ec9f5(0x135),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x53c3a7[_0x2ec9f5(0xbe)]};return await redisHelper[_0x2ec9f5(0xca)](_0x2ec9f5(0x92)+_0x123f2c,_0xa67245,0xe10),logger[_0x2ec9f5(0x117)]({'event':_0x2ec9f5(0xb4),'jobId':_0x123f2c,'previewJobId':_0x282586},_0x2ec9f5(0xce)),this[_0x2ec9f5(0xd1)](_0x123f2c,_0x53c3a7)[_0x2ec9f5(0xb9)](_0x56ea7b=>{logError(_0x56ea7b,{'event':_0x4a2014['WzFrD'],'jobId':_0x123f2c},_0x4a2014['kqIpw']);}),{'job_id':_0x123f2c,'status':_0x4a2014['oLMtV']};}async[a0_0x465a0d(0xd1)](_0x185442,_0x5287ac){const _0x3dfd42=a0_0x465a0d,_0x3f27f0={'xIOdp':function(_0x2b1a00,_0x34745c){return _0x2b1a00===_0x34745c;},'dpwxv':'Upload\x20data\x20not\x20found\x20or\x20expired','lHoGx':function(_0x1ef1cc,_0x53c880){return _0x1ef1cc>_0x53c880;},'TzbWZ':'import_fields_filtered','sARtu':_0x3dfd42(0x99),'jcfnV':_0x3dfd42(0x106),'rmXcF':function(_0x569286,_0x5540f2){return _0x569286||_0x5540f2;},'keWsR':function(_0x21b3f4,_0x535f63){return _0x21b3f4(_0x535f63);},'aakKe':'commit_job_completed','NQLxb':'Commit\x20job\x20completed','qPMAI':function(_0x32e3a4,_0x31f66f,_0x3adfd7,_0x181039){return _0x32e3a4(_0x31f66f,_0x3adfd7,_0x181039);},'UfwMt':'Commit\x20job\x20failed'};try{const _0xf5d0e2=await redisHelper[_0x3dfd42(0xc9)]('upload:'+_0x5287ac[_0x3dfd42(0x100)]);if(!_0xf5d0e2)throw new Error(_0x3f27f0[_0x3dfd42(0xad)]);const {rows:_0x675f47,params:_0x3bf1e8}=_0xf5d0e2,{tableName:_0x2f9469,fieldName:_0x4b22f4,primaryKey:_0xeb7ae4,upsertKeys:_0x2803ac,excludeFromImport:_0xce205f,lookupFields:_0x465ff8,columnFormats:_0x107f2e}=_0x3bf1e8,_0x1525cf=_0x465ff8?Object['keys'](_0x465ff8):[],_0x23df14=new Set([..._0xce205f||[],..._0x1525cf]);let _0x5264cb=_0x4b22f4;_0x3f27f0['lHoGx'](_0x23df14[_0x3dfd42(0xa4)],0x0)&&(_0x5264cb=_0x4b22f4['filter'](_0xa72016=>!_0x23df14['has'](_0xa72016)),logger['debug']({'event':_0x3f27f0['TzbWZ'],'originalCount':_0x4b22f4['length'],'filteredCount':_0x5264cb['length'],'excludedFields':Array['from'](_0x23df14),'lookupSourceFields':_0x1525cf},_0x3f27f0[_0x3dfd42(0xc2)]));const _0x28e838=_0x675f47['filter'](_0x10ea9e=>_0x10ea9e[_0x3dfd42(0xc4)]===_0x3dfd42(0x11b)),_0x5c71ca=_0x675f47[_0x3dfd42(0xd4)](_0x2b1343=>_0x2b1343[_0x3dfd42(0xc4)]==='UPDATE');let _0x4b7d79=0x0,_0x297c43=0x0;const _0x52e5fb=[];if(_0x28e838['length']>0x0){const _0x4f395f=upsertBuilder[_0x3dfd42(0x133)](_0x28e838,0x64);for(const _0xd33a1a of _0x4f395f){const {query:_0x511d7c}=upsertBuilder[_0x3dfd42(0x10e)](_0xd33a1a,_0x2f9469,_0x5264cb,_0x107f2e||{});_0x511d7c&&_0x52e5fb['push']({'sql':_0x511d7c,'count':_0xd33a1a[_0x3dfd42(0x93)],'type':_0x3f27f0['jcfnV']});}}if(_0x5c71ca['length']>0x0){const _0x2e7854=upsertBuilder['chunkRows'](_0x5c71ca,0x64);for(const _0x2918c5 of _0x2e7854){const {query:_0x31430f}=upsertBuilder['buildBatchUpdate'](_0x2918c5,_0x2f9469,_0x5264cb,_0xeb7ae4,_0x2803ac,_0x3f27f0[_0x3dfd42(0xaf)](_0x107f2e,{}));_0x31430f&&_0x52e5fb[_0x3dfd42(0xb2)]({'sql':_0x31430f,'count':_0x2918c5['length'],'type':_0x3dfd42(0x115)});}}_0x3f27f0['lHoGx'](_0x52e5fb[_0x3dfd42(0x93)],0x0)&&await _0x3f27f0[_0x3dfd42(0xa8)](executeTransaction,_0x52e5fb['map'](_0x14be38=>({'sql':_0x14be38[_0x3dfd42(0xe5)],'params':[]})));_0x52e5fb[_0x3dfd42(0x112)](_0x108909=>{const _0x33203e=_0x3dfd42;if(_0x3f27f0['xIOdp'](_0x108909[_0x33203e(0xe8)],'insert'))_0x4b7d79+=_0x108909['count'];else _0x297c43+=_0x108909[_0x33203e(0x94)];});const _0x11c99c={'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac[_0x3dfd42(0x11f)],'status':'completed','progress':0x64,'created_at':_0x5287ac['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x3dfd42(0xa7)](),'result':{'total_rows':_0x675f47[_0x3dfd42(0x93)],'inserted_rows':_0x4b7d79,'updated_rows':_0x297c43,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3bf1e8};await redisHelper[_0x3dfd42(0xca)]('job:'+_0x185442,_0x11c99c,0xe10),logger[_0x3dfd42(0x117)]({'event':_0x3f27f0[_0x3dfd42(0x12e)],'jobId':_0x185442,'insertedCount':_0x4b7d79,'updatedCount':_0x297c43},_0x3f27f0['NQLxb']);}catch(_0x3ce14a){_0x3f27f0['qPMAI'](logError,_0x3ce14a,{'event':_0x3dfd42(0xbb),'jobId':_0x185442},_0x3f27f0['UfwMt']),await redisHelper['setJob'](_0x3dfd42(0x92)+_0x185442,{'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac['job_id'],'status':'failed','progress':0x0,'error':_0x3ce14a[_0x3dfd42(0x114)],'created_at':_0x5287ac[_0x3dfd42(0xa0)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x3ad98b){const _0x4ff415=a0_0x465a0d,_0x2ab198=await redisHelper[_0x4ff415(0xc9)](_0x4ff415(0x92)+_0x3ad98b);if(!_0x2ab198)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x2ab198};}}module[a0_0x465a0d(0x134)]=new ImportService();
|
|
1
|
+
const a0_0xe52136=a0_0x7f27;(function(_0x1bd982,_0x210724){const _0x5dc193=a0_0x7f27,_0x4693f5=_0x1bd982();while(!![]){try{const _0x6e8c85=-parseInt(_0x5dc193(0x211))/0x1*(-parseInt(_0x5dc193(0x1fe))/0x2)+-parseInt(_0x5dc193(0x1ef))/0x3+parseInt(_0x5dc193(0x20f))/0x4*(-parseInt(_0x5dc193(0x1dd))/0x5)+-parseInt(_0x5dc193(0x237))/0x6*(-parseInt(_0x5dc193(0x1ce))/0x7)+-parseInt(_0x5dc193(0x1ff))/0x8*(-parseInt(_0x5dc193(0x22d))/0x9)+parseInt(_0x5dc193(0x22f))/0xa+-parseInt(_0x5dc193(0x21b))/0xb*(parseInt(_0x5dc193(0x1d9))/0xc);if(_0x6e8c85===_0x210724)break;else _0x4693f5['push'](_0x4693f5['shift']());}catch(_0xca8c8){_0x4693f5['push'](_0x4693f5['shift']());}}}(a0_0x5c68,0xb31ea));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xe52136(0x1dc)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0xe52136(0x24b)),dbType=(process['env'][a0_0xe52136(0x20a)]||'postgresql')[a0_0xe52136(0x265)]();function a0_0x7f27(_0x117ba1,_0x48c979){_0x117ba1=_0x117ba1-0x1c3;const _0x5c6886=a0_0x5c68();let _0x7f2767=_0x5c6886[_0x117ba1];if(a0_0x7f27['ifAhQL']===undefined){var _0x32deb5=function(_0x1fad55){const _0x5d5c57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55cb6b='',_0xa84a0e='';for(let _0x582ee4=0x0,_0x45d181,_0x56d60f,_0x4f4b14=0x0;_0x56d60f=_0x1fad55['charAt'](_0x4f4b14++);~_0x56d60f&&(_0x45d181=_0x582ee4%0x4?_0x45d181*0x40+_0x56d60f:_0x56d60f,_0x582ee4++%0x4)?_0x55cb6b+=String['fromCharCode'](0xff&_0x45d181>>(-0x2*_0x582ee4&0x6)):0x0){_0x56d60f=_0x5d5c57['indexOf'](_0x56d60f);}for(let _0x32cc06=0x0,_0x40da07=_0x55cb6b['length'];_0x32cc06<_0x40da07;_0x32cc06++){_0xa84a0e+='%'+('00'+_0x55cb6b['charCodeAt'](_0x32cc06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa84a0e);};a0_0x7f27['nUGPjD']=_0x32deb5,a0_0x7f27['ckrhMX']={},a0_0x7f27['ifAhQL']=!![];}const _0x3da4af=_0x5c6886[0x0],_0x5c145c=_0x117ba1+_0x3da4af,_0x1b16bd=a0_0x7f27['ckrhMX'][_0x5c145c];return!_0x1b16bd?(_0x7f2767=a0_0x7f27['nUGPjD'](_0x7f2767),a0_0x7f27['ckrhMX'][_0x5c145c]=_0x7f2767):_0x7f2767=_0x1b16bd,_0x7f2767;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0xe52136(0x231))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x284bb0,_0x2b9ce9)=>oracleDb['executeQuery'](_0x284bb0,_0x2b9ce9),executeTransaction=_0x7f45e2=>oracleDb[a0_0xe52136(0x269)](_0x7f45e2);else{if(dbType===a0_0xe52136(0x259)){const mysqlDb=require(a0_0xe52136(0x229));executeQuery=(_0x269b57,_0x20a257)=>mysqlDb['executeQuery'](_0x269b57,_0x20a257),executeTransaction=_0x2fca49=>mysqlDb['executeTransaction'](_0x2fca49);}else{const db=require('../utils/db');executeQuery=db[a0_0xe52136(0x1e3)],executeTransaction=db[a0_0xe52136(0x269)];}}const excelParser=require('../utils/excel-parser'),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0xe52136(0x228));function a0_0x5c68(){const _0x405e91=['Dhfft2y','igf0ihjVDYa','z2v0rNvSBfLLyxi','Aw5Zzxj0x29UBhK','twDVwLK','Dg9ju09tDhjPBMC','zKfjqMq','qxj2Bgq','x2v4Axn0Aw5Nswq','zMLSDgvY','CMvWBgfJzq','Dhj1zq','y29SDw1UrM9YBwf0CW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','zMLUza','ndK2m2Lfq1DMwG','rgrJDKO','cIaGicaGicaGv0HfuKuG','Aw5MBW','B1PNyKi','zwXHsNi','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','su5trvju','C2XPy2u','sLnqBvm','AM9Ix2LK','mtq0vNLzqvvL','zxjYB3jZ','qvbHCgK','ChjVBwLZzxm','mZy1s2ntAxLk','Dg9vChbLCKnHC2u','AgvHzgvYC19TyxbWzwq','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','B0X5qNa','zxHWB3j0CW','zxHLy3v0zvf1zxj5','zgvIDwC','BwLZC2LUz0zPzwXKCW','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','u0Tjua','z2vUzxjHDgvjza','CgfKu3rHCNq','BgvUz3rO','DxbSB2fKoG','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','y29SDw1U','C2v0sM9I','ndGXnZm3uwnLBfzZ','vMLxyvG','zM9YrwfJAa','rfPqqNC','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3rHDhvZ','sMTWweW','y29TBwL0x2PVyL9JB21WBgv0zwq','AM9PBG','A1HhrfG','y291BNq','DxbKyxrLx2v4Axn0Aw5N','y2H1BMTsB3DZ','ieLoicG','CNHcC0C','mNDpAM1RDG','mtiXnZzisuLorKi','tLvmta','y29TBwL0x3bYB2nLC3nFzxjYB3i','DK5YwwS','twvyB0G','wxnOuNm','ChjVy2vZC0nVBw1PDePVyG','zwTvAu4','Aw5Zzxj0','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','x2fJDgLVBG','rejFvfLqrq','qMfXqLy','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ndC5ntzzq0f6C0C','y2f0y2G','ntiZntK4A2jfq1Hl','BNvTyMvY','A3PeA0e','BNPJAwe','AgfZ','DhjPBq','yNvPBgrcyxrJAfvWzgf0zq','Cgf0Aa','zMfPBgvK','lI4VlI4VDgvTCc91CgXVywrZlW','ndC4odC0zwzUB2Dq','rhLkBwC','CevtD1i','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjLDMLLD19LCNjVCG','sg5vBeG','yNvPBgrmywjLBfrVrMLLBgrnyxa','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMXVB3i','CM93sw5KzxG','DhLWzq','u0Dju0u','zw52','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','lI4VDxrPBhmVzgiTBxLZCwW','Ahrbwve','C2TPCf9LEgLZDgLUzW','ChvZAa','mtq4nuTzwwPNAG','C3rYAw5N','mtm5mdiXotbMz2PLEM8','zw50CMLLCW','B3jHy2XL','Dw5SAw5R','yM9VBgvHBG','DLrbr3O','z2v0sM9I','wu5VrfC','mta3ngvTCMzVCq','zgf0zq','AM9IoG','ChjVy2vZC1bYzxzPzxDkB2i','ChjVy2vZC2LUzW','BM93','vvbeqvrf','x2DLBMvYyxrLzf91DwLK','cIaGicaGicaGu0vmrunuia','rhHwquu','y2HHCKf0','C2v0','AKDmwwu','uxD2B3u','DgvZDa','CM93CW','Aw5JBhvKzxm','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','DxbSB2fKx2LK','tLPRqMq','lI4VDxrPBhmVBg9Nz2vY','q29TBwL0igPVyIbJB21WBgv0zwq','BwfW','y29TCgXLDgvK','uhjLDMLLDYbQB2iGzMfPBgvK','BuDvvNe','C3vIC3rYAw5N','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','tKLHwgS','DMfSAwrHDgLUzW','ChjLDMLLD19VAW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','sLfAq2C','z0PcyKW','BxLZCwW','Dg9tDhjPBMC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','uhjLDMLLDYbQB2iGy3jLyxrLza','uvHfrwK','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','kqOGicaGica','s2T2Ehy','vMnArw4','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AuDNEKi','shHSDem','Dg9mB3DLCKnHC2u','wLL2zwi','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','zxHLy3v0zvrYyw5Zywn0Aw9U','ve5qsMW','BwvZC2fNzq','uK1nwKm','zMLLBgrmywjLBhm','zMfSC2u','zMLSzv9JBgvHBNvWx2vYCM9Y','Bwf0y2G','x2vYCM9YCW','A2v5CW'];a0_0x5c68=function(){return _0x405e91;};return a0_0x5c68();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x1b8275=a0_0xe52136,_0x161e1b={'htAYQ':'default'};if(!this['_uploadDir']){const _0x451b61=process[_0x1b8275(0x227)]['RESTFORGE_PROJECT_NAME']||_0x161e1b[_0x1b8275(0x22a)];this['_uploadDir']=process[_0x1b8275(0x227)]['UPLOAD_DIR']||path[_0x1b8275(0x1f7)](__dirname,_0x1b8275(0x21a)+_0x451b61);}return this['_uploadDir'];}[a0_0xe52136(0x1e8)](){const _0xe2918a=a0_0xe52136,_0x3b9e17={'NZkBd':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','qQcvr':function(_0x27e35e){return _0x27e35e();},'SeitB':function(_0x58d048,_0x3bbe83){return _0x58d048+_0x3bbe83;},'wUMBM':function(_0x59aedc,_0x50f655){return _0x59aedc<_0x50f655;}},_0x110d0a=_0x3b9e17[_0xe2918a(0x24a)],_0x334321=Date[_0xe2918a(0x23c)]()[_0xe2918a(0x25a)](0x24),_0x6da2ee=_0x3b9e17['qQcvr'](uuidv7)['replace'](/-/g,'')[_0xe2918a(0x251)](0x0,0xc-_0x334321['length']),_0x48c313=_0x3b9e17['SeitB'](_0x334321,_0x6da2ee)[_0xe2918a(0x251)](0x0,0xc);let _0x25dde1='';for(let _0x674dc2=0x0;_0x3b9e17['wUMBM'](_0x674dc2,0xc);_0x674dc2++){_0x48c313[_0x674dc2]?_0x25dde1+=_0x48c313[_0x674dc2]:_0x25dde1+=_0x110d0a[_0xe2918a(0x241)](Math[_0xe2918a(0x223)](Math['random']()*_0x110d0a[_0xe2918a(0x1ea)]));}return _0x25dde1;}[a0_0xe52136(0x221)](_0x3ffd44){const _0x30affb=a0_0xe52136,_0x408832={'YshRs':function(_0x37551c,_0x3a9410){return _0x37551c(_0x3a9410);},'PpiDD':_0x30affb(0x1ec)},_0x3537ee=new Map();if(!_0x3ffd44)return _0x3537ee;return Object[_0x30affb(0x230)](_0x3ffd44)[_0x30affb(0x1f1)](([_0x529395,_0x1764af])=>{const _0x25dd6a=_0x30affb,_0x56abbd=_0x408832[_0x25dd6a(0x204)](String,_0x1764af)[_0x25dd6a(0x216)]()[_0x25dd6a(0x1c9)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x25dd6a(0x265)]();_0x3537ee[_0x25dd6a(0x242)](_0x56abbd,_0x529395);}),logger[_0x30affb(0x1e4)]({'event':_0x30affb(0x1d4),'mappingCount':_0x3537ee['size']},_0x408832['PpiDD']),_0x3537ee;}['applyColumnFormats'](_0x15992e,_0x347cf5){const _0x2bd6dc=a0_0xe52136,_0x341872={'RMMZC':function(_0x31c65d,_0x542e76){return _0x31c65d===_0x542e76;},'kXGDX':_0x2bd6dc(0x233)};if(!_0x347cf5||Object['keys'](_0x347cf5)['length']===0x0)return _0x15992e;return _0x15992e['map'](_0x573db0=>{const _0x2fecc6=_0x2bd6dc,_0x53caf9={..._0x573db0};for(const [_0x57bca7,_0x4c842b]of Object[_0x2fecc6(0x230)](_0x347cf5)){const _0x3823fa=_0x53caf9[_0x57bca7];if(_0x3823fa===null||_0x3823fa===undefined||_0x341872[_0x2fecc6(0x26c)](_0x3823fa,'')){_0x53caf9[_0x57bca7]=null;continue;}switch(_0x4c842b[_0x2fecc6(0x225)]){case _0x2fecc6(0x238):_0x53caf9[_0x57bca7]=this['formatDateForDatabase'](_0x3823fa);break;case _0x2fecc6(0x212):_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x25b)](_0x3823fa);break;case _0x341872[_0x2fecc6(0x1f8)]:_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x252)](_0x3823fa);break;case'text':_0x53caf9[_0x57bca7]=String(_0x3823fa);break;default:break;}}return _0x53caf9;});}[a0_0xe52136(0x208)](_0x5ac0a0){const _0x4ecbed=a0_0xe52136,_0x44d065={'gEKqO':function(_0x45a141,_0x208d86){return _0x45a141===_0x208d86;},'fAIBd':function(_0x4a615b,_0x4896ff){return _0x4a615b===_0x4896ff;},'MgoZY':'string','bzZSk':function(_0x2d584b,_0x298b55){return _0x2d584b instanceof _0x298b55;},'Arvld':function(_0x394cbb,_0x5a2a9f){return _0x394cbb(_0x5a2a9f);},'vNrYk':function(_0x26fe97,_0x3966ab){return _0x26fe97(_0x3966ab);},'CzWjz':function(_0x136cdc,_0x192578){return _0x136cdc(_0x192578);}};if(_0x44d065['gEKqO'](_0x5ac0a0,null)||_0x44d065[_0x4ecbed(0x1c5)](_0x5ac0a0,undefined)||_0x5ac0a0==='')return null;if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5ac0a0))return _0x5ac0a0;if(_0x44d065['bzZSk'](_0x5ac0a0,Date)){if(isNaN(_0x5ac0a0['getTime']()))return null;const _0x1170c9=_0x5ac0a0[_0x4ecbed(0x275)](),_0x1dc03f=_0x44d065['Arvld'](String,_0x5ac0a0['getMonth']()+0x1)[_0x4ecbed(0x1e9)](0x2,'0'),_0x1e9155=String(_0x5ac0a0['getDate']())['padStart'](0x2,'0');return _0x1170c9+'-'+_0x1dc03f+'-'+_0x1e9155;}if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]){const _0x7df6c0=_0x5ac0a0[_0x4ecbed(0x270)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x7df6c0){const _0x1286cd=_0x44d065[_0x4ecbed(0x202)](String,_0x7df6c0[0x1])['padStart'](0x2,'0'),_0x5e7148=_0x44d065[_0x4ecbed(0x1c6)](String,_0x7df6c0[0x2])['padStart'](0x2,'0'),_0x516c76=_0x7df6c0[0x3];return _0x516c76+'-'+_0x5e7148+'-'+_0x1286cd;}const _0x4f1716=_0x5ac0a0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4f1716){const _0xfc37f2=_0x4f1716[0x1],_0x172f78=String(_0x4f1716[0x2])[_0x4ecbed(0x1e9)](0x2,'0'),_0x1fdc2b=_0x44d065['CzWjz'](String,_0x4f1716[0x3])[_0x4ecbed(0x1e9)](0x2,'0');return _0xfc37f2+'-'+_0x172f78+'-'+_0x1fdc2b;}}return _0x5ac0a0;}[a0_0xe52136(0x25b)](_0x394251){const _0x174010=a0_0xe52136,_0x1ffd70={'joRpJ':function(_0x259491,_0x539914){return _0x259491===_0x539914;},'aJSJJ':function(_0x4647eb,_0x5e2689){return _0x4647eb===_0x5e2689;},'upJDQ':function(_0x423098,_0x498ec8){return _0x423098===_0x498ec8;},'jMErr':function(_0x542ace,_0x1aa424){return _0x542ace(_0x1aa424);}};if(_0x1ffd70['joRpJ'](_0x394251,null)||_0x394251===undefined||_0x394251==='')return null;if(_0x1ffd70['aJSJJ'](typeof _0x394251,_0x174010(0x212)))return isNaN(_0x394251)?null:_0x394251;if(_0x1ffd70['upJDQ'](typeof _0x394251,_0x174010(0x22e))){let _0x492b0f=_0x394251[_0x174010(0x216)]();const _0x49f578=/,\d{1,2}$/[_0x174010(0x245)](_0x492b0f)&&!/,\d{3}/[_0x174010(0x245)](_0x492b0f);_0x49f578?_0x492b0f=_0x492b0f['replace'](/\./g,'')[_0x174010(0x1c9)](',','.'):_0x492b0f=_0x492b0f['replace'](/,/g,'');const _0x5a683b=_0x1ffd70['jMErr'](parseFloat,_0x492b0f);return isNaN(_0x5a683b)?null:_0x5a683b;}return null;}[a0_0xe52136(0x252)](_0x5e9f6f){const _0xf84294=a0_0xe52136,_0x438a59={'JkpXL':function(_0x5e4dc5,_0x4e1d88){return _0x5e4dc5===_0x4e1d88;},'RbvYD':'true','rxBsG':'false','ekUiN':function(_0x5958ed,_0x4293ba){return _0x5958ed===_0x4293ba;},'Kkvxv':'yes','fdefX':function(_0x22c707,_0x5f1adf){return _0x22c707===_0x5f1adf;}};if(_0x5e9f6f===null||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,undefined)||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,''))return null;if(typeof _0x5e9f6f===_0xf84294(0x233))return _0x5e9f6f?_0x438a59['RbvYD']:_0x438a59[_0xf84294(0x1fd)];if(_0x438a59[_0xf84294(0x206)](typeof _0x5e9f6f,'string')){const _0x34e80b=_0x5e9f6f['trim']()[_0xf84294(0x265)]();if([_0x438a59['RbvYD'],_0x438a59[_0xf84294(0x260)],'y','1'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['RbvYD'];if([_0x438a59['rxBsG'],'no','n','0'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['rxBsG'];return null;}if(_0x438a59['fdefX'](typeof _0x5e9f6f,'number'))return _0x5e9f6f?_0xf84294(0x1ca):_0xf84294(0x26e);return null;}async['uploadFile'](_0x365c27,_0x350e9f){const _0x251e51=a0_0xe52136,_0xde4986={'JSPmS':function(_0x16d06b,_0x18f928){return _0x16d06b||_0x18f928;},'tqEOf':_0x251e51(0x21e),'KtobM':_0x251e51(0x20c),'DZPBw':'request_scope_applied','FIvXG':'import_file_uploaded','JLagK':_0x251e51(0x1cc),'HxltC':_0x251e51(0x26f),'NIaXk':'Failed\x20to\x20cleanup\x20file'},_0x1300ab=this[_0x251e51(0x1e8)]();try{let {headers:_0x46c2f8,rows:_0x4f782b,totalRows:_0x563c3c}=await excelParser['parseExcelFile'](_0x365c27[_0x251e51(0x218)]);const _0x48fcf4=this[_0x251e51(0x221)](_0x350e9f[_0x251e51(0x26d)]),_0x26cd09=_0x46c2f8['map'](_0x5da347=>{const _0xdad645=_0x251e51,_0x441605=_0x48fcf4['get'](_0x5da347);return _0xde4986[_0xdad645(0x1d7)](_0x441605,_0x5da347);});_0x4f782b=_0x4f782b['map'](_0x3a89df=>{const _0x16b8b6={};return _0x46c2f8['forEach']((_0x38dbe0,_0x52aaa5)=>{const _0x3aead7=_0x26cd09[_0x52aaa5];_0x16b8b6[_0x3aead7]=_0x3a89df[_0x38dbe0];}),_0x16b8b6;}),_0x46c2f8=_0x26cd09,logger[_0x251e51(0x1e4)]({'event':_0x251e51(0x1df),'original':_0x46c2f8[_0x251e51(0x1ea)],'mapped':_0x26cd09['filter']((_0x27a40b,_0x3a3fc8)=>_0x27a40b!==_0x46c2f8[_0x3a3fc8])[_0x251e51(0x1ea)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x350e9f['columnFormats']&&Object['keys'](_0x350e9f[_0x251e51(0x1cb)])['length']>0x0&&(_0x4f782b=this[_0x251e51(0x1f3)](_0x4f782b,_0x350e9f['columnFormats']),logger[_0x251e51(0x1e4)]({'event':_0xde4986[_0x251e51(0x273)],'formatCount':Object[_0x251e51(0x272)](_0x350e9f['columnFormats'])[_0x251e51(0x1ea)],'formats':Object['keys'](_0x350e9f['columnFormats'])},_0xde4986['KtobM']));if(_0x350e9f['scopeOverride']&&_0x350e9f['scopeOverride'][_0x251e51(0x1ed)]){const {column:_0x18a3e8,value:_0x22acd4}=_0x350e9f['scopeOverride'];_0x4f782b=_0x4f782b['map'](_0x3ae93c=>({..._0x3ae93c,[_0x18a3e8]:_0x22acd4})),logger['debug']({'event':_0xde4986[_0x251e51(0x1f2)],'column':_0x18a3e8,'rowCount':_0x4f782b[_0x251e51(0x1ea)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5277dc=_0x350e9f['lookupFields']?Object['values'](_0x350e9f['lookupFields'])['map'](_0x38340a=>_0x38340a['targetField']):[],_0x3e4829=_0x350e9f['fieldName'][_0x251e51(0x1c8)](_0x672abd=>!_0x5277dc['includes'](_0x672abd)),_0x292879=excelParser[_0x251e51(0x1e6)](_0x46c2f8,_0x3e4829);if(!_0x292879['valid']){await fs[_0x251e51(0x232)](_0x365c27[_0x251e51(0x218)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x292879[_0x251e51(0x1e5)]['join'](',\x20'));}const _0x55196e={'upload_id':_0x1300ab,'filename':_0x365c27['originalname'],'total_rows':_0x563c3c,'headers':_0x46c2f8,'rows':_0x4f782b,'params':_0x350e9f,'created_at':new Date()[_0x251e51(0x1c4)]()};return await redisHelper[_0x251e51(0x1ee)](_0x251e51(0x1eb)+_0x1300ab,_0x55196e,0xe10),await fs['unlink'](_0x365c27['path']),logger[_0x251e51(0x1d1)]({'event':_0xde4986['FIvXG'],'uploadId':_0x1300ab,'filename':_0x365c27['originalname'],'totalRows':_0x563c3c},_0xde4986['JLagK']),{'upload_id':_0x1300ab,'total_rows':_0x563c3c,'preview':_0x4f782b[_0x251e51(0x1d6)](0x0,0xa)};}catch(_0x5b6850){try{await fs['unlink'](_0x365c27['path']);}catch(_0x1e39bf){logError(_0x1e39bf,{'event':_0xde4986[_0x251e51(0x264)]},_0xde4986[_0x251e51(0x253)]);}throw _0x5b6850;}}async['createPreviewJob'](_0x358359){const _0x1d74d8=a0_0xe52136,_0x42a34c={'nzcia':function(_0x1020ae,_0x4464af,_0x1536a7,_0x154ebc){return _0x1020ae(_0x4464af,_0x1536a7,_0x154ebc);},'Ctmkl':_0x1d74d8(0x20e),'EbMJH':'Upload\x20data\x20not\x20found\x20or\x20expired','weJSQ':'preview_job_created'},_0xf7a6ac=this['generateId'](),_0x42e4fe=await redisHelper[_0x1d74d8(0x235)]('upload:'+_0x358359);if(!_0x42e4fe)throw new Error(_0x42a34c['EbMJH']);const _0x16b92e={'job_id':_0xf7a6ac,'upload_id':_0x358359,'status':_0x1d74d8(0x254),'progress':0x0,'created_at':new Date()[_0x1d74d8(0x1c4)](),'params':_0x42e4fe['params']};return await redisHelper['setJob'](_0x1d74d8(0x239)+_0xf7a6ac,_0x16b92e,0xe10),logger['info']({'event':_0x42a34c['weJSQ'],'jobId':_0xf7a6ac,'uploadId':_0x358359},_0x1d74d8(0x25c)),this[_0x1d74d8(0x23a)](_0xf7a6ac,_0x358359,_0x42e4fe)[_0x1d74d8(0x210)](_0x550454=>{const _0x3afd0c=_0x1d74d8;_0x42a34c[_0x3afd0c(0x214)](logError,_0x550454,{'event':_0x42a34c['Ctmkl'],'jobId':_0xf7a6ac},_0x3afd0c(0x267));}),{'job_id':_0xf7a6ac,'status':'validating'};}[a0_0xe52136(0x222)](_0x5b89d7,_0x48ed3f){const _0x286bd1={'YNoDW':function(_0x29f3e6,_0xc4bf2){return _0x29f3e6===_0xc4bf2;},'APapi':function(_0x32096c){return _0x32096c();},'rvJEc':'uuid_auto_generated'};_0x5b89d7['forEach']((_0x256393,_0x5c9fe2)=>{const _0x1f22c2=a0_0x7f27;_0x48ed3f[_0x1f22c2(0x1f1)](_0x2ee605=>{const _0x471c9b=_0x1f22c2,_0x595251=_0x256393[_0x2ee605];if(_0x595251===null||_0x286bd1[_0x471c9b(0x236)](_0x595251,undefined)||_0x286bd1[_0x471c9b(0x236)](_0x595251,'')||_0x286bd1['YNoDW'](String(_0x595251)[_0x471c9b(0x216)](),'-')){const _0x1ca72b=_0x286bd1[_0x471c9b(0x1db)](uuidv7);_0x256393[_0x2ee605]=_0x1ca72b,_0x256393['_generated_uuid']=_0x256393[_0x471c9b(0x23e)]||{},_0x256393['_generated_uuid'][_0x2ee605]=_0x1ca72b,logger[_0x471c9b(0x1e4)]({'event':_0x286bd1['rvJEc'],'rowIndex':_0x5c9fe2,'field':_0x2ee605,'uuid':_0x1ca72b},'Auto-generated\x20UUID\x20for\x20'+_0x2ee605+_0x471c9b(0x274)+(_0x5c9fe2+0x2));}});});}async['processPreviewJob'](_0x3d4909,_0x199ca7,_0x28194){const _0x55c1f6=a0_0xe52136,_0x500451={'DdcvJ':function(_0x1d3efb,_0x5b433e){return _0x1d3efb===_0x5b433e;},'OLafy':function(_0x2a65a4,_0x554ec7){return _0x2a65a4===_0x554ec7;},'vBGeZ':'UPDATE','gJBbL':function(_0x25e208,_0x2bc773){return _0x25e208===_0x2bc773;},'elaJr':'SKIP','ViWaX':function(_0x17bc2b,_0x1e0251){return _0x17bc2b>_0x1e0251;},'pESwR':'Processing\x20lookup\x20fields','DPDsM':function(_0x431d4f,_0x5bc895){return _0x431d4f>_0x5bc895;},'DxVAE':_0x55c1f6(0x21f),'mGUVq':_0x55c1f6(0x255),'emgYa':_0x55c1f6(0x262),'JQZCg':function(_0x1c8efd,_0x42594c,_0x4f6ed2,_0x1b3fb6){return _0x1c8efd(_0x42594c,_0x4f6ed2,_0x1b3fb6);},'DyJmg':_0x55c1f6(0x24f)};try{let {rows:_0x35675e,params:_0x41a33f}=_0x28194;const {requiredFields:_0x5b5b9f,validations:_0x2ba49b,upsertKeys:_0x24eaef,tableName:_0xb71655,primaryKey:_0x1f1c9d,fieldName:_0x3656fd,upsertStrategy:_0xfa40b4,lookupFields:_0x433ee3}=_0x41a33f;this[_0x55c1f6(0x222)](_0x35675e,_0x24eaef);let _0x2b8736=[];if(_0x433ee3&&_0x500451[_0x55c1f6(0x1f0)](Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)],0x0)){logger[_0x55c1f6(0x1d1)]({'event':_0x55c1f6(0x1e0),'jobId':_0x3d4909,'lookupFieldCount':Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)]},_0x500451[_0x55c1f6(0x21d)]);const _0x5c101a=await lookupResolver['processLookupFields'](_0x35675e,_0x433ee3);_0x35675e=_0x5c101a['processedRows'],_0x2b8736=_0x5c101a[_0x55c1f6(0x1da)],_0x28194[_0x55c1f6(0x246)]=_0x35675e;}const _0x2fb677=importValidator['batchValidateRows'](_0x35675e,_0x5b5b9f||[],_0x2ba49b||{});_0x2b8736[_0x55c1f6(0x1f1)](_0x51bf48=>{const _0x598d29=_0x55c1f6,_0x199c17=_0x2fb677[_0x598d29(0x1cd)](_0xbedc77=>_0xbedc77['rowIndex']===_0x51bf48['rowIndex']);_0x199c17?_0x199c17[_0x598d29(0x1da)][_0x598d29(0x22c)](_0x51bf48['message']):_0x2fb677[_0x598d29(0x22c)]({'rowIndex':_0x51bf48[_0x598d29(0x224)],'rowData':_0x35675e[_0x51bf48['rowIndex']],'errors':[_0x51bf48[_0x598d29(0x26b)]]});});const _0x586fbb=importValidator[_0x55c1f6(0x25e)](_0x35675e,_0x24eaef);_0x586fbb['forEach'](_0x22b8a3=>{const _0x3b6c8e=_0x55c1f6,_0x7bf00c=_0x2fb677['find'](_0x5afa69=>_0x5afa69['rowIndex']===_0x22b8a3[_0x3b6c8e(0x224)]),_0x1c7524=_0x24eaef[_0x3b6c8e(0x24d)](_0x1a5f95=>_0x1a5f95[_0x3b6c8e(0x1de)]())[_0x3b6c8e(0x1f7)](',\x20'),_0x28891b='Duplicate\x20value\x20for\x20'+_0x1c7524;_0x7bf00c?_0x7bf00c['errors'][_0x3b6c8e(0x22c)](_0x28891b):_0x2fb677[_0x3b6c8e(0x22c)]({'rowIndex':_0x22b8a3[_0x3b6c8e(0x224)],'rowData':_0x35675e[_0x22b8a3['rowIndex']],'errors':[_0x28891b]});}),await this[_0x55c1f6(0x268)](_0x35675e,_0x24eaef,_0xb71655,_0x1f1c9d,_0xfa40b4,_0x2fb677),_0x2fb677['forEach'](_0x3057a9=>{const _0x23b90d=_0x55c1f6,_0x45f32e=_0x35675e[_0x3057a9[_0x23b90d(0x224)]];_0x45f32e&&(_0x45f32e[_0x23b90d(0x271)]=_0x3057a9['errors']);});let _0x261fef=0x0,_0x166e08=0x0,_0x47699e=0x0;_0x35675e[_0x55c1f6(0x1f1)](_0x4e715e=>{const _0x961445=_0x55c1f6;if(_0x500451[_0x961445(0x1cf)](_0x4e715e['_action'],'INSERT'))_0x261fef++;else{if(_0x500451['OLafy'](_0x4e715e[_0x961445(0x209)],_0x500451['vBGeZ']))_0x166e08++;else _0x500451[_0x961445(0x258)](_0x4e715e[_0x961445(0x209)],_0x500451[_0x961445(0x1d3)])&&_0x47699e++;}});const _0x1b8e93={'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x500451['DPDsM'](_0x2fb677['length'],0x0)?_0x500451[_0x55c1f6(0x240)]:_0x500451[_0x55c1f6(0x250)],'progress':0x64,'created_at':_0x28194['created_at'],'completed_at':new Date()[_0x55c1f6(0x1c4)](),'preview':{'total_rows':_0x35675e['length'],'insert_count':_0x261fef,'update_count':_0x166e08,'skip_count':_0x47699e,'error_count':_0x2fb677[_0x55c1f6(0x1ea)],'errors':_0x2fb677,'data':_0x35675e,'sample_insert':_0x35675e['filter'](_0x443010=>_0x443010[_0x55c1f6(0x209)]===_0x55c1f6(0x1d5))['slice'](0x0,0x5),'sample_update':_0x35675e[_0x55c1f6(0x1c8)](_0x3cc180=>_0x3cc180[_0x55c1f6(0x209)]===_0x55c1f6(0x23d))['slice'](0x0,0x5),'sample_skip':_0x35675e['filter'](_0x3b98a9=>_0x3b98a9[_0x55c1f6(0x209)]===_0x55c1f6(0x1e7))['slice'](0x0,0x5)},'params':_0x41a33f};await redisHelper[_0x55c1f6(0x1ee)]('job:'+_0x3d4909,_0x1b8e93,0xe10),_0x28194['rows']=_0x35675e,await redisHelper['setJob'](_0x55c1f6(0x1eb)+_0x199ca7,_0x28194,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x3d4909,'status':_0x1b8e93[_0x55c1f6(0x1f4)],'insertCount':_0x261fef,'updateCount':_0x166e08,'skipCount':_0x47699e,'errorCount':_0x2fb677['length']},_0x500451['emgYa']);}catch(_0x1f1ecb){_0x500451[_0x55c1f6(0x257)](logError,_0x1f1ecb,{'event':'preview_job_failed','jobId':_0x3d4909},_0x500451[_0x55c1f6(0x21c)]),await redisHelper[_0x55c1f6(0x1ee)](_0x55c1f6(0x239)+_0x3d4909,{'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x55c1f6(0x219),'progress':0x0,'error':_0x1f1ecb[_0x55c1f6(0x26b)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x55c1f6(0x1c4)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x4f1513,_0x23c6c8,_0x3d5ffa,_0x162875,_0x4f68da=a0_0xe52136(0x1fa),_0x445201=[]){const _0x4e6343=a0_0xe52136,_0x486df0={'BaqBV':_0x4e6343(0x200),'qZOGv':function(_0x270715,_0x259bf4){return _0x270715===_0x259bf4;},'rFsIB':_0x4e6343(0x1fa),'oZgbB':_0x4e6343(0x276),'oLyBp':function(_0x2289e2,_0xf74c38){return _0x2289e2===_0xf74c38;},'VcZEn':_0x4e6343(0x22b),'aWcnc':'SKIP','KOsTY':function(_0x1d9431,_0x51c7a1){return _0x1d9431===_0x51c7a1;},'TNPJl':function(_0x1e1a72,_0x6f7d3c){return _0x1e1a72(_0x6f7d3c);},'klBUd':function(_0x31f1f0,_0x37b5e5){return _0x31f1f0>_0x37b5e5;}},_0x39e3d4=upsertBuilder[_0x4e6343(0x1fb)](_0x4f1513,0x64);for(const _0x303a1f of _0x39e3d4){const _0x515414=_0x303a1f['map'](_0x1c1628=>_0x1c1628[_0x23c6c8[0x0]]),_0x33f7d5=_0x515414['map'](_0x122302=>{const _0x11e66c=_0x4e6343;if(_0x122302===null||_0x122302===undefined)return _0x486df0[_0x11e66c(0x20b)];return'\x27'+String(_0x122302)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x260350=_0x4e6343(0x23f)+_0x162875+',\x20'+_0x23c6c8['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3d5ffa+_0x4e6343(0x1d0)+_0x23c6c8[0x0]+_0x4e6343(0x1fc)+_0x33f7d5[_0x4e6343(0x1f7)](',\x20')+_0x4e6343(0x25f);let _0x312cde=await _0x486df0[_0x4e6343(0x26a)](executeQuery,_0x260350);dbType===_0x4e6343(0x231)&&_0x312cde&&_0x486df0['klBUd'](_0x312cde['length'],0x0)&&(_0x312cde=_0x312cde[_0x4e6343(0x24d)](_0x4b2d9c=>{const _0x28bc37=_0x4e6343,_0x459adb={};for(const [_0x19b455,_0x4d45f9]of Object[_0x28bc37(0x230)](_0x4b2d9c)){_0x459adb[_0x19b455['toLowerCase']()]=_0x4d45f9;}return _0x459adb;}));const _0x4b9e7a=new Map();_0x312cde['forEach'](_0x59d6f6=>{const _0x1675c9=_0x4e6343,_0x1d44fc=_0x59d6f6[_0x23c6c8[0x0]];_0x4b9e7a[_0x1675c9(0x242)](_0x1d44fc,_0x59d6f6);}),_0x303a1f[_0x4e6343(0x1f1)]((_0x5a1c71,_0x3440fa)=>{const _0x21b9b2=_0x4e6343,_0x4eecac=_0x5a1c71[_0x23c6c8[0x0]],_0x10b703=_0x4b9e7a['get'](_0x4eecac);if(_0x10b703){if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0['rFsIB']))_0x5a1c71['_action']=_0x21b9b2(0x23d),_0x5a1c71[_0x21b9b2(0x1c7)]=_0x10b703[_0x162875];else{if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0[_0x21b9b2(0x1d2)])){_0x5a1c71['_action']='SKIP',_0x5a1c71['_errors']=_0x5a1c71[_0x21b9b2(0x271)]||[],_0x5a1c71[_0x21b9b2(0x271)]['push'](_0x21b9b2(0x248));const _0x52da18=_0x4f1513['indexOf'](_0x5a1c71);_0x52da18!==-0x1&&_0x445201[_0x21b9b2(0x22c)]({'rowIndex':_0x52da18,'rowData':_0x5a1c71,'errors':[_0x21b9b2(0x248)]});}else _0x486df0['oLyBp'](_0x4f68da,_0x486df0['VcZEn'])&&(_0x5a1c71['_action']=_0x486df0['aWcnc']);}}else{if(_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,'update_existing'))_0x5a1c71[_0x21b9b2(0x209)]='INSERT';else(_0x486df0['KOsTY'](_0x4f68da,_0x21b9b2(0x276))||_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,_0x486df0[_0x21b9b2(0x261)]))&&(_0x5a1c71[_0x21b9b2(0x209)]='INSERT');}});}}async['createCommitJob'](_0x5601d2){const _0x215332=a0_0xe52136,_0x32e113={'ZYveb':_0x215332(0x201),'MeXoH':'Preview\x20job\x20not\x20found\x20or\x20expired','QXEEi':function(_0x56107b,_0x399470){return _0x56107b!==_0x399470;},'vTAGz':_0x215332(0x255),'mFDvw':'commit_job_created','SGISE':_0x215332(0x23b)},_0x525f1f=this[_0x215332(0x1e8)](),_0x51f51a=await redisHelper[_0x215332(0x235)](_0x215332(0x239)+_0x5601d2);if(!_0x51f51a)throw new Error(_0x32e113[_0x215332(0x203)]);if(_0x32e113[_0x215332(0x25d)](_0x51f51a['status'],_0x32e113[_0x215332(0x234)]))throw new Error(_0x215332(0x256)+_0x51f51a['status']);const _0x2774a8={'job_id':_0x525f1f,'upload_id':_0x51f51a[_0x215332(0x249)],'preview_job_id':_0x5601d2,'status':'processing','progress':0x0,'created_at':new Date()[_0x215332(0x1c4)](),'params':_0x51f51a['params']};return await redisHelper['setJob']('job:'+_0x525f1f,_0x2774a8,0xe10),logger[_0x215332(0x1d1)]({'event':_0x32e113['mFDvw'],'jobId':_0x525f1f,'previewJobId':_0x5601d2},'Commit\x20job\x20created'),this[_0x215332(0x205)](_0x525f1f,_0x51f51a)[_0x215332(0x210)](_0x5dde99=>{const _0x25f006=_0x215332;logError(_0x5dde99,{'event':_0x32e113[_0x25f006(0x266)],'jobId':_0x525f1f},_0x25f006(0x20d));}),{'job_id':_0x525f1f,'status':_0x32e113[_0x215332(0x226)]};}async[a0_0xe52136(0x205)](_0x2284c5,_0x319622){const _0x5edf94=a0_0xe52136,_0x39623a={'kzDkA':'insert','ZSpYX':'import_fields_filtered','jGLYe':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','NukjG':function(_0x68649,_0x8be731){return _0x68649>_0x8be731;},'yhPEz':function(_0x4f6e1f,_0x36063f){return _0x4f6e1f>_0x36063f;},'HnUlH':_0x5edf94(0x24e),'WJvNg':_0x5edf94(0x1f6),'iGgzB':'Commit\x20job\x20failed'};try{const _0x2daf7b=await redisHelper[_0x5edf94(0x235)](_0x5edf94(0x1eb)+_0x319622['upload_id']);if(!_0x2daf7b)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x46ae34,params:_0x4110dd}=_0x2daf7b,{tableName:_0x4ea42d,fieldName:_0x2b00b2,primaryKey:_0x33b016,upsertKeys:_0x28b2bd,excludeFromImport:_0x76ee90,lookupFields:_0x230f5a,columnFormats:_0x42844e}=_0x4110dd,_0x476825=_0x230f5a?Object['keys'](_0x230f5a):[],_0x3057cd=new Set([..._0x76ee90||[],..._0x476825]);let _0x12a35f=_0x2b00b2;_0x3057cd['size']>0x0&&(_0x12a35f=_0x2b00b2[_0x5edf94(0x1c8)](_0x2c033d=>!_0x3057cd[_0x5edf94(0x215)](_0x2c033d)),logger['debug']({'event':_0x39623a['ZSpYX'],'originalCount':_0x2b00b2[_0x5edf94(0x1ea)],'filteredCount':_0x12a35f[_0x5edf94(0x1ea)],'excludedFields':Array['from'](_0x3057cd),'lookupSourceFields':_0x476825},_0x39623a[_0x5edf94(0x243)]));const _0x3db231=_0x46ae34[_0x5edf94(0x1c8)](_0x204db3=>_0x204db3[_0x5edf94(0x209)]===_0x5edf94(0x1d5)),_0xc83ce3=_0x46ae34[_0x5edf94(0x1c8)](_0x10b586=>_0x10b586['_action']==='UPDATE');let _0x3d02b8=0x0,_0x17472f=0x0;const _0x1af906=[];if(_0x3db231[_0x5edf94(0x1ea)]>0x0){const _0x488557=upsertBuilder['chunkRows'](_0x3db231,0x64);for(const _0x179678 of _0x488557){const {query:_0x1cac79}=upsertBuilder['buildBatchInsert'](_0x179678,_0x4ea42d,_0x12a35f,_0x42844e||{});_0x1cac79&&_0x1af906['push']({'sql':_0x1cac79,'count':_0x179678['length'],'type':_0x5edf94(0x207)});}}if(_0x39623a['NukjG'](_0xc83ce3[_0x5edf94(0x1ea)],0x0)){const _0x5d50b7=upsertBuilder[_0x5edf94(0x1fb)](_0xc83ce3,0x64);for(const _0x3f5644 of _0x5d50b7){const {query:_0x3c781f}=upsertBuilder[_0x5edf94(0x217)](_0x3f5644,_0x4ea42d,_0x12a35f,_0x33b016,_0x28b2bd,_0x42844e||{});_0x3c781f&&_0x1af906[_0x5edf94(0x22c)]({'sql':_0x3c781f,'count':_0x3f5644['length'],'type':'update'});}}_0x39623a['yhPEz'](_0x1af906[_0x5edf94(0x1ea)],0x0)&&await executeTransaction(_0x1af906[_0x5edf94(0x24d)](_0x2494dd=>({'sql':_0x2494dd['sql'],'params':[]})));_0x1af906[_0x5edf94(0x1f1)](_0x135bd9=>{const _0x873a63=_0x5edf94;if(_0x135bd9[_0x873a63(0x225)]===_0x39623a[_0x873a63(0x213)])_0x3d02b8+=_0x135bd9[_0x873a63(0x1f9)];else _0x17472f+=_0x135bd9['count'];});const _0x24ef63={'job_id':_0x2284c5,'upload_id':_0x319622[_0x5edf94(0x249)],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x39623a[_0x5edf94(0x220)],'progress':0x64,'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x46ae34['length'],'inserted_rows':_0x3d02b8,'updated_rows':_0x17472f,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4110dd};await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,_0x24ef63,0xe10),logger['info']({'event':_0x39623a['WJvNg'],'jobId':_0x2284c5,'insertedCount':_0x3d02b8,'updatedCount':_0x17472f},_0x5edf94(0x24c));}catch(_0x18c314){logError(_0x18c314,{'event':'commit_job_failed','jobId':_0x2284c5},_0x39623a[_0x5edf94(0x263)]),await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,{'job_id':_0x2284c5,'upload_id':_0x319622['upload_id'],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x5edf94(0x219),'progress':0x0,'error':_0x18c314['message'],'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x39ec52){const _0x29c880=a0_0xe52136,_0x4edce1={'Qwvou':'Job\x20not\x20found\x20or\x20expired'},_0x26c4c7=await redisHelper[_0x29c880(0x235)]('job:'+_0x39ec52);if(!_0x26c4c7)return{'success':![],'error':_0x4edce1[_0x29c880(0x244)]};return{'success':!![],'data':_0x26c4c7};}}module[a0_0xe52136(0x1e2)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4372d3=a0_0x3fc7;(function(_0x53f9cd,_0x3017cb){const _0x5ff07d=a0_0x3fc7,_0x61f588=_0x53f9cd();while(!![]){try{const _0x40f0fa=parseInt(_0x5ff07d(0xf9))/0x1+parseInt(_0x5ff07d(0xa5))/0x2+parseInt(_0x5ff07d(0x109))/0x3+-parseInt(_0x5ff07d(0xb4))/0x4*(-parseInt(_0x5ff07d(0xa6))/0x5)+-parseInt(_0x5ff07d(0xdd))/0x6+parseInt(_0x5ff07d(0xdb))/0x7+-parseInt(_0x5ff07d(0x108))/0x8;if(_0x40f0fa===_0x3017cb)break;else _0x61f588['push'](_0x61f588['shift']());}catch(_0x42bddf){_0x61f588['push'](_0x61f588['shift']());}}}(a0_0x917a,0x9a95b));const {Kafka,logLevel}=require(a0_0x4372d3(0xca)),{v7:uuidv7}=require(a0_0x4372d3(0xbb));class KafkaConsumerService{constructor(){const _0x4893ed=a0_0x4372d3,_0x55e119='7|3|5|4|0|8|6|1|2|9|10'[_0x4893ed(0x94)]('|');let _0x536592=0x0;while(!![]){switch(_0x55e119[_0x536592++]){case'0':this['isRunning']=![];continue;case'1':this[_0x4893ed(0xa3)]=[];continue;case'2':this['groupId']=null;continue;case'3':this[_0x4893ed(0xc5)]=null;continue;case'4':this[_0x4893ed(0xfe)]=![];continue;case'5':this[_0x4893ed(0xb9)]=![];continue;case'6':this['connectionPromise']=null;continue;case'7':this['kafka']=null;continue;case'8':this['isPaused']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this[_0x4893ed(0xba)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x4372d3(0xbe)](){const _0x1a6c3e=a0_0x4372d3,_0x5897c0={'pIoxS':function(_0x3253bc,_0x54a206){return _0x3253bc===_0x54a206;},'uUttD':'localhost:9092','tSLzR':_0x1a6c3e(0xcb),'IvMyM':_0x1a6c3e(0xb1),'znexs':function(_0x4ef861,_0x2e16a){return _0x4ef861(_0x2e16a);},'xTCap':'5000','sgkzg':_0x1a6c3e(0xe0),'Ddcqt':function(_0x1b9e63,_0x13a2a6){return _0x1b9e63(_0x13a2a6);}};return{'enabled':_0x5897c0['pIoxS'](process['env']['KAFKA_ENABLED'],_0x1a6c3e(0x10c)),'brokers':(process['env']['KAFKA_BROKERS']||_0x5897c0[_0x1a6c3e(0xeb)])[_0x1a6c3e(0x94)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x1a6c3e(0xea)+(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xd0)]||_0x1a6c3e(0xe7))+'-consumer','connectionTimeout':parseInt(process[_0x1a6c3e(0xcd)]['KAFKA_CONNECTION_TIMEOUT']||_0x5897c0[_0x1a6c3e(0x98)]),'requestTimeout':parseInt(process['env'][_0x1a6c3e(0x9d)]||_0x5897c0['IvMyM']),'sessionTimeout':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_HEARTBEAT_INTERVAL']||_0x1a6c3e(0xcb)),'maxBytesPerPartition':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x1a6c3e(0xa1)),'autoCommit':_0x5897c0[_0x1a6c3e(0xad)](process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xcc)],_0x1a6c3e(0x10c)),'autoCommitInterval':parseInt(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xda)]||_0x5897c0[_0x1a6c3e(0xc3)]),'retryAttempts':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env'][_0x1a6c3e(0xfc)]||'3'),'retryDelay':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_DELAY']||_0x5897c0['sgkzg']),'retryMaxDelay':_0x5897c0[_0x1a6c3e(0xe3)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xe5)]||'warn'};}[a0_0x4372d3(0xc4)](_0x29b709){const _0x21be19=a0_0x4372d3,_0x2fc9d7={'nothing':logLevel[_0x21be19(0xf5)],'error':logLevel[_0x21be19(0xed)],'warn':logLevel['WARN'],'info':logLevel[_0x21be19(0x105)],'debug':logLevel['DEBUG']};return _0x2fc9d7[_0x29b709['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x24d7a8={}){const _0x16b0c3=a0_0x4372d3,_0x5a2806={'fNxeY':function(_0x1980f7,_0x4715b2){return _0x1980f7===_0x4715b2;},'QPJlk':_0x16b0c3(0xe7),'HTEtj':function(_0x1e8fc5,_0x203938){return _0x1e8fc5(_0x203938);}},_0x9dbafa=this['getConfig']();if(!_0x9dbafa[_0x16b0c3(0xd4)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x16b0c3(0xfe)]&&this[_0x16b0c3(0xde)])return this[_0x16b0c3(0xde)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x23d0a2=>{const _0x27ce16=_0x16b0c3;try{let _0x28cc88=undefined;_0x5a2806['fNxeY'](process[_0x27ce16(0xcd)]['KAFKA_SSL'],'true')&&(_0x28cc88=!![]);let _0x307fe8=undefined;process[_0x27ce16(0xcd)][_0x27ce16(0xc1)]&&(_0x307fe8={'mechanism':process[_0x27ce16(0xcd)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x27ce16(0xcd)]['KAFKA_SASL_PASSWORD']||''}),this[_0x27ce16(0x10b)]=new Kafka({'clientId':_0x24d7a8['clientId']||_0x9dbafa[_0x27ce16(0xb3)],'brokers':_0x9dbafa[_0x27ce16(0xc2)],'connectionTimeout':_0x9dbafa[_0x27ce16(0x107)],'requestTimeout':_0x9dbafa[_0x27ce16(0x9e)],'logLevel':this[_0x27ce16(0xc4)](_0x9dbafa['logLevel']),'ssl':_0x28cc88,'sasl':_0x307fe8,'retry':{'initialRetryTime':_0x9dbafa[_0x27ce16(0xa4)],'retries':_0x9dbafa['retryAttempts'],'maxRetryTime':_0x9dbafa[_0x27ce16(0xe4)]}}),this['groupId']=_0x24d7a8['groupId']||_0x27ce16(0xea)+(process[_0x27ce16(0xcd)]['RESTFORGE_PROJECT_NAME']||_0x5a2806['QPJlk'])+_0x27ce16(0x9f),this[_0x27ce16(0xc5)]=this[_0x27ce16(0x10b)][_0x27ce16(0xc5)]({'groupId':this[_0x27ce16(0xab)],'sessionTimeout':_0x9dbafa[_0x27ce16(0xe9)],'heartbeatInterval':_0x9dbafa[_0x27ce16(0x102)],'maxBytesPerPartition':_0x9dbafa['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x27ce16(0xc5)]['connect'](),this[_0x27ce16(0xb9)]=!![],console[_0x27ce16(0xdc)](_0x27ce16(0xe2)+_0x9dbafa['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x27ce16(0xab)]+')'),this['setupEventHandlers'](),_0x5a2806['HTEtj'](_0x23d0a2,!![]);}catch(_0x49a15f){console[_0x27ce16(0xbd)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x49a15f[_0x27ce16(0xf1)]),this['isConnected']=![],_0x23d0a2(![]);}finally{this[_0x27ce16(0xfe)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x4c7832=a0_0x4372d3,_0x29ab9d={'rkaaU':_0x4c7832(0xa0),'pFAwN':_0x4c7832(0xe1),'dWzIq':'consumer.crash','GdqLr':_0x4c7832(0xfd)};if(!this[_0x4c7832(0xc5)])return;this[_0x4c7832(0xc5)]['on']('consumer.disconnect',()=>{const _0x36e858=_0x4c7832;console[_0x36e858(0xdc)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on']('consumer.stop',()=>{const _0x2dce80=_0x4c7832;console[_0x2dce80(0xdc)](_0x29ab9d[_0x2dce80(0xd9)]),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xb7)],_0x2a1502=>{const _0x44e3b5=_0x4c7832;console['error'](_0x44e3b5(0x10a)+_0x2a1502[_0x44e3b5(0xa7)]['error']['message']),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xac)],()=>{const _0x18021d=_0x4c7832;console[_0x18021d(0xdc)](_0x29ab9d['pFAwN']);});}async[a0_0x4372d3(0xf2)](_0xf4c2e9,_0x3c986e=![]){const _0x1a3d61=a0_0x4372d3;if(!this['isConnected'])return console[_0x1a3d61(0xbd)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x27752b=Array['isArray'](_0xf4c2e9)?_0xf4c2e9:[_0xf4c2e9];for(const _0x2131ef of _0x27752b){await this[_0x1a3d61(0xc5)][_0x1a3d61(0xf2)]({'topic':_0x2131ef,'fromBeginning':_0x3c986e}),console['log'](_0x1a3d61(0xe6)+_0x2131ef+_0x1a3d61(0x9a)+_0x3c986e+')');}return this['subscribedTopics']=[...new Set([...this[_0x1a3d61(0xa3)],..._0x27752b])],!![];}catch(_0x56b931){return console[_0x1a3d61(0xbd)](_0x1a3d61(0xfa)+_0x56b931[_0x1a3d61(0xf1)]),![];}}async[a0_0x4372d3(0xf8)](_0x280089,_0x1ecb5c={}){const _0xda271=a0_0x4372d3,_0x57ed9c={'kSwvs':function(_0x3d7e8d,_0x2abcb3){return _0x3d7e8d+_0x2abcb3;},'CTnsn':function(_0x343fae,_0x4c0615){return _0x343fae>_0x4c0615;},'BTRjU':function(_0x5af794){return _0x5af794();},'cgaiL':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','bwPFY':_0xda271(0xc0)};if(!this['isConnected'])return console['error'](_0x57ed9c['cgaiL']),![];if(this[_0xda271(0xe8)])return console['log'](_0x57ed9c['bwPFY']),!![];const _0x447aca=this['getConfig']();this['messageHandler']=_0x280089;try{return this['metrics'][_0xda271(0xee)]=new Date(),await this[_0xda271(0xc5)]['run']({'autoCommit':_0x1ecb5c[_0xda271(0xaa)]!==undefined?_0x1ecb5c['autoCommit']:_0x447aca['autoCommit'],'autoCommitInterval':_0x447aca[_0xda271(0xff)],'eachMessage':async({topic:_0x3633b2,partition:_0x5b4eee,message:_0x8bf899,heartbeat:_0x46492f})=>{const _0x5459a4=_0xda271,_0x5d5b9c=Date['now']();this[_0x5459a4(0xba)]['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x2b5bfc=_0x8bf899[_0x5459a4(0xd7)]?_0x8bf899['value']['toString']():null;let _0x4a7195=null;try{_0x4a7195=_0x2b5bfc?JSON['parse'](_0x2b5bfc):null;}catch(_0x16061e){_0x4a7195=_0x2b5bfc;}const _0x1186c6={'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x8bf899['offset'],'key':_0x8bf899[_0x5459a4(0xc7)]?_0x8bf899[_0x5459a4(0xc7)]['toString']():null,'headers':this[_0x5459a4(0xd3)](_0x8bf899['headers']),'timestamp':_0x8bf899[_0x5459a4(0x103)],'value':_0x4a7195,'raw':_0x2b5bfc};this['messageHandler']&&await this['messageHandler'](_0x1186c6);!_0x447aca[_0x5459a4(0xaa)]&&await this['consumer'][_0x5459a4(0x9c)]([{'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x57ed9c[_0x5459a4(0xd1)](parseInt(_0x8bf899[_0x5459a4(0x101)]),0x1)['toString']()}]);this[_0x5459a4(0xba)]['messagesProcessed']++;const _0x162efc=Date['now']()-_0x5d5b9c;this['metrics']['processingTimes']['push'](_0x162efc),_0x57ed9c['CTnsn'](this[_0x5459a4(0xba)]['processingTimes'][_0x5459a4(0xce)],0x64)&&this[_0x5459a4(0xba)][_0x5459a4(0xd6)]['shift'](),await _0x57ed9c['BTRjU'](_0x46492f);}catch(_0xd7947){this['metrics']['messagesFailed']++,console[_0x5459a4(0xbd)](_0x5459a4(0xf0)+_0xd7947[_0x5459a4(0xf1)]);throw _0xd7947;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xda271(0xa3)][_0xda271(0xfb)](',\x20')),!![];}catch(_0x489e16){return console[_0xda271(0xbd)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x489e16['message']),![];}}['parseHeaders'](_0x17fc5d){const _0x1b28f3=a0_0x4372d3;if(!_0x17fc5d)return{};const _0x530482={};for(const [_0x100bbf,_0x588435]of Object['entries'](_0x17fc5d)){_0x530482[_0x100bbf]=_0x588435?_0x588435[_0x1b28f3(0xa9)]():null;}return _0x530482;}async[a0_0x4372d3(0xf3)](){const _0x3c6177=a0_0x4372d3,_0x1e6a05={'fnVAN':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wQrFk':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x1e6a05['fnVAN']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x1df834=this[_0x3c6177(0xa3)][_0x3c6177(0x106)](_0x5640b2=>({'topic':_0x5640b2}));return this['consumer'][_0x3c6177(0xf3)](_0x1df834),this['isPaused']=!![],console['log'](_0x1e6a05[_0x3c6177(0xf4)]),!![];}catch(_0x576a50){return console[_0x3c6177(0xbd)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x576a50[_0x3c6177(0xf1)]),![];}}async[a0_0x4372d3(0xc8)](){const _0x19d47c=a0_0x4372d3;if(!this['isConnected']||!this['isRunning'])return console['log'](_0x19d47c(0xbf)),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x3fbe83=this[_0x19d47c(0xa3)]['map'](_0x2fff7f=>({'topic':_0x2fff7f}));return this['consumer'][_0x19d47c(0xc8)](_0x3fbe83),this[_0x19d47c(0xf6)]=![],console[_0x19d47c(0xdc)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x181f37){return console[_0x19d47c(0xbd)](_0x19d47c(0xa2)+_0x181f37[_0x19d47c(0xf1)]),![];}}async['stop'](){const _0x56493c=a0_0x4372d3,_0x4d00e2={'TffqG':_0x56493c(0xc6),'bKFqt':_0x56493c(0xd2)};if(!this[_0x56493c(0xb9)])return console['log'](_0x4d00e2[_0x56493c(0xc9)]),!![];try{const _0x25df7f=_0x4d00e2[_0x56493c(0xd8)][_0x56493c(0x94)]('|');let _0x1479a8=0x0;while(!![]){switch(_0x25df7f[_0x1479a8++]){case'0':console['log'](_0x56493c(0x9b));continue;case'1':this['isConnected']=![];continue;case'2':this['isPaused']=![];continue;case'3':this[_0x56493c(0xe8)]=![];continue;case'4':return!![];case'5':this[_0x56493c(0xc5)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x2f810c){return console['error'](_0x56493c(0xef)+_0x2f810c['message']),![];}}async['seekToOffset'](_0x41dccf,_0x748096,_0x8d525c){const _0x4f8037=a0_0x4372d3;if(!this[_0x4f8037(0xb9)])return console[_0x4f8037(0xbd)](_0x4f8037(0xec)),![];try{return this['consumer'][_0x4f8037(0xb0)]({'topic':_0x41dccf,'partition':_0x748096,'offset':_0x8d525c[_0x4f8037(0xa9)]()}),console[_0x4f8037(0xdc)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x8d525c+_0x4f8037(0xcf)+_0x41dccf+':'+_0x748096),!![];}catch(_0x26e94c){return console[_0x4f8037(0xbd)](_0x4f8037(0xbc)+_0x26e94c[_0x4f8037(0xf1)]),![];}}[a0_0x4372d3(0xae)](){const _0x4a8868=a0_0x4372d3,_0x1914b2=this['getConfig']();return{'enabled':_0x1914b2[_0x4a8868(0xd4)],'connected':this['isConnected'],'running':this[_0x4a8868(0xe8)],'paused':this[_0x4a8868(0xf6)],'brokers':_0x1914b2['brokers'],'clientId':_0x1914b2[_0x4a8868(0xb3)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x4372d3(0xa8)](){const _0x393f5d=a0_0x4372d3,_0x351b71={'aTjmC':function(_0x494292,_0x132f55){return _0x494292>_0x132f55;},'zcYPQ':function(_0x8fcd92,_0x4fd959){return _0x8fcd92+_0x4fd959;},'URDXq':function(_0x35ca6e,_0x53071e){return _0x35ca6e/_0x53071e;},'QHmrQ':function(_0x408bdf,_0x3ef401){return _0x408bdf/_0x3ef401;},'HhGEh':function(_0x4f53d2,_0x3eed52){return _0x4f53d2+_0x3eed52;},'RaXsi':function(_0x13e4e5,_0x1991f3){return _0x13e4e5+_0x1991f3;}},_0x531574=_0x351b71[_0x393f5d(0x96)](this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)],0x0)?this[_0x393f5d(0xba)][_0x393f5d(0xd6)][_0x393f5d(0xb8)]((_0x5b8df9,_0xfdbea1)=>_0x5b8df9+_0xfdbea1,0x0)/this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)]:0x0,_0x45e402=this[_0x393f5d(0xba)][_0x393f5d(0xd6)]['length']>0x0?Math['min'](...this['metrics'][_0x393f5d(0xd6)]):0x0,_0x2b7453=this['metrics']['processingTimes']['length']>0x0?Math[_0x393f5d(0xb5)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x393f5d(0xba)][_0x393f5d(0xaf)],'messagesFailed':this[_0x393f5d(0xba)][_0x393f5d(0x104)],'successRate':this[_0x393f5d(0xba)]['messagesReceived']>0x0?_0x351b71['zcYPQ']((_0x351b71['URDXq'](this[_0x393f5d(0xba)][_0x393f5d(0xaf)],this['metrics'][_0x393f5d(0xdf)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x393f5d(0xba)]['lastMessageTime'],'startTime':this['metrics'][_0x393f5d(0xee)],'uptime':this[_0x393f5d(0xba)][_0x393f5d(0xee)]?Math['floor'](_0x351b71['QHmrQ'](Date[_0x393f5d(0x100)]()-this['metrics'][_0x393f5d(0xee)][_0x393f5d(0xb2)](),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x393f5d(0xb6)](_0x531574)+'ms','min':_0x351b71['HhGEh'](_0x45e402,'ms'),'max':_0x351b71[_0x393f5d(0xd5)](_0x2b7453,'ms')}};}[a0_0x4372d3(0xf7)](){const _0x896e59=a0_0x4372d3,_0x3ffd44={'eQqPH':_0x896e59(0x95)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x896e59(0xe8)]?new Date():null,'processingTimes':[]},console[_0x896e59(0xdc)](_0x3ffd44['eQqPH']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x31184a=a0_0x4372d3;instance&&(instance[_0x31184a(0x97)](),instance=null);}function a0_0x3fc7(_0x10b3c9,_0x11738d){_0x10b3c9=_0x10b3c9-0x94;const _0x917a3c=a0_0x917a();let _0x3fc7c3=_0x917a3c[_0x10b3c9];if(a0_0x3fc7['Fcsjgz']===undefined){var _0x546fed=function(_0x381551){const _0xefbc32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ca8b9='',_0x5c2e30='';for(let _0x56810b=0x0,_0x3aabe6,_0x747107,_0x596896=0x0;_0x747107=_0x381551['charAt'](_0x596896++);~_0x747107&&(_0x3aabe6=_0x56810b%0x4?_0x3aabe6*0x40+_0x747107:_0x747107,_0x56810b++%0x4)?_0x1ca8b9+=String['fromCharCode'](0xff&_0x3aabe6>>(-0x2*_0x56810b&0x6)):0x0){_0x747107=_0xefbc32['indexOf'](_0x747107);}for(let _0x229584=0x0,_0x3bb529=_0x1ca8b9['length'];_0x229584<_0x3bb529;_0x229584++){_0x5c2e30+='%'+('00'+_0x1ca8b9['charCodeAt'](_0x229584)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c2e30);};a0_0x3fc7['IJFbiz']=_0x546fed,a0_0x3fc7['vnmypU']={},a0_0x3fc7['Fcsjgz']=!![];}const _0x39e570=_0x917a3c[0x0],_0x4d2b12=_0x10b3c9+_0x39e570,_0x13f847=a0_0x3fc7['vnmypU'][_0x4d2b12];return!_0x13f847?(_0x3fc7c3=a0_0x3fc7['IJFbiz'](_0x3fc7c3),a0_0x3fc7['vnmypU'][_0x4d2b12]=_0x3fc7c3):_0x3fc7c3=_0x13f847,_0x3fc7c3;}function a0_0x917a(){const _0x4d1ccb=['D1fYrMS','tK9useLorW','AxnqyxvZzwq','CMvZzxrnzxrYAwnZ','C3rHCNrdB25ZDw1PBMC','ndi4mtmZELLeqLjR','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','AM9PBG','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UC3vTzxiUCMvIywXHBMnPBMC','AxnjBML0AwfSAxPPBMC','yxv0B0nVBw1PDeLUDgvYDMfS','BM93','B2zMC2v0','AgvHCNrIzwf0sw50zxj2ywW','DgLTzxn0yw1W','BwvZC2fNzxngywLSzwq','su5gtW','BwfW','y29UBMvJDgLVBLrPBwvVDxq','nZG1nta3mMzVDMLWqW','mtaYnteXmKPNrur1Ca','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','A2fMA2e','Dhj1zq','C3bSAxq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','yvrQBum','y2XVC2u','DfnmELi','EM5LEhm','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','y29TBwL0t2zMC2v0CW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CMvXDwvZDfrPBwvVDxq','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','mta0odu3nG','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C3vIC2nYAwjLzfrVCgLJCW','CMv0CNLezwXHEq','nde5mJeWtMLqwNrM','nwLrswPjzG','Cgf5Bg9Hza','z2v0twv0CMLJCW','Dg9tDhjPBMC','yxv0B0nVBw1PDa','z3jVDxbjza','r2rXthi','CeLVEfm','z2v0u3rHDhvZ','BwvZC2fNzxnqCM9JzxnZzwq','C2vLAW','mJuWmda','z2v0vgLTzq','y2XPzw50swq','mtaXmZy5mLzvEuXZzW','Bwf4','CM91BMq','zfD6sxe','CMvKDwnL','AxndB25Uzwn0zwq','Bwv0CMLJCW','DxvPza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zxjYB3i','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0fttf9nruniqu5ju00','yNjVA2vYCW','Efrdyxa','z2v0tg9Ntgv2zwW','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','A2v5','CMvZDw1L','vgzMCuC','A2fMA2fQCW','mZaWma','s0fgs0fFqvvut19dt01nsvq','zw52','BgvUz3rO','ig9Uia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A1n3DNm','nxWXFdn8mNWWFdq','CgfYC2vizwfKzxjZ','zw5HyMXLza','uMfyC2K','ChjVy2vZC2LUz1rPBwvZ','DMfSDwu','yKTgCxq','CMTHyvu','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','nJmWmtKZmKvTsuzNuW','Bg9N','mZeWodq2ogjvAML3DG','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnszwnLAxzLza','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','rgrJCxq','CMv0CNLnyxHezwXHEq','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','zgvMyxvSDa','AxnsDw5UAw5N','C2vZC2LVBLrPBwvVDxq','CMvZDgzVCMDLlq','Dvv0Deq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','rvjst1i','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzq','C3vIC2nYAwjL','Cgf1C2u'];a0_0x917a=function(){return _0x4d1ccb;};return a0_0x917a();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x5e0b24=a0_0xee6e;function a0_0xee6e(_0x44a713,_0x2ad4d4){_0x44a713=_0x44a713-0x160;const _0x1c73b1=a0_0x1c73();let _0xee6e8d=_0x1c73b1[_0x44a713];if(a0_0xee6e['TgKGFC']===undefined){var _0x139c2f=function(_0x506b66){const _0xe48946='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32eeea='',_0x2fd178='';for(let _0x1d5041=0x0,_0x157cd9,_0x123101,_0x2ea862=0x0;_0x123101=_0x506b66['charAt'](_0x2ea862++);~_0x123101&&(_0x157cd9=_0x1d5041%0x4?_0x157cd9*0x40+_0x123101:_0x123101,_0x1d5041++%0x4)?_0x32eeea+=String['fromCharCode'](0xff&_0x157cd9>>(-0x2*_0x1d5041&0x6)):0x0){_0x123101=_0xe48946['indexOf'](_0x123101);}for(let _0x81ca61=0x0,_0x2385e8=_0x32eeea['length'];_0x81ca61<_0x2385e8;_0x81ca61++){_0x2fd178+='%'+('00'+_0x32eeea['charCodeAt'](_0x81ca61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fd178);};a0_0xee6e['LugFOP']=_0x139c2f,a0_0xee6e['cbMXGm']={},a0_0xee6e['TgKGFC']=!![];}const _0x41695a=_0x1c73b1[0x0],_0x3f2628=_0x44a713+_0x41695a,_0x4435e1=a0_0xee6e['cbMXGm'][_0x3f2628];return!_0x4435e1?(_0xee6e8d=a0_0xee6e['LugFOP'](_0xee6e8d),a0_0xee6e['cbMXGm'][_0x3f2628]=_0xee6e8d):_0xee6e8d=_0x4435e1,_0xee6e8d;}(function(_0x3bb09c,_0x444fb9){const _0x3846a8=a0_0xee6e,_0x505ca2=_0x3bb09c();while(!![]){try{const _0x26a759=-parseInt(_0x3846a8(0x1c1))/0x1+-parseInt(_0x3846a8(0x19b))/0x2+parseInt(_0x3846a8(0x1ab))/0x3+parseInt(_0x3846a8(0x1d6))/0x4*(parseInt(_0x3846a8(0x1da))/0x5)+-parseInt(_0x3846a8(0x1cf))/0x6*(-parseInt(_0x3846a8(0x1d1))/0x7)+-parseInt(_0x3846a8(0x18d))/0x8*(parseInt(_0x3846a8(0x176))/0x9)+-parseInt(_0x3846a8(0x160))/0xa*(-parseInt(_0x3846a8(0x195))/0xb);if(_0x26a759===_0x444fb9)break;else _0x505ca2['push'](_0x505ca2['shift']());}catch(_0x2bd5d9){_0x505ca2['push'](_0x505ca2['shift']());}}}(a0_0x1c73,0x3a909));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x3bc7ac=a0_0xee6e;this[_0x3bc7ac(0x19d)]=null,this['consumer']=null,this[_0x3bc7ac(0x1db)]=![],this[_0x3bc7ac(0x171)]=![],this['isRunning']=![],this[_0x3bc7ac(0x167)]=![],this['connectionPromise']=null,this[_0x3bc7ac(0x163)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x5e0b24(0x182)](){const _0x16e86b=a0_0x5e0b24,_0x1266ec={'SZDde':_0x16e86b(0x168),'PosXy':'localhost:9092','KSyQA':'25000','zSsoH':'3000','sHJSQ':function(_0x2cd868,_0x2b75ba){return _0x2cd868===_0x2b75ba;},'vHgtF':function(_0x5a4502,_0xb87085){return _0x5a4502(_0xb87085);},'QwNzj':_0x16e86b(0x1af),'RypgV':'30000'};return{'enabled':process['env'][_0x16e86b(0x16f)]===_0x1266ec['SZDde'],'brokers':(process['env']['KAFKA_BROKERS']||_0x1266ec[_0x16e86b(0x18f)])['split'](','),'clientId':process[_0x16e86b(0x1a7)][_0x16e86b(0x1b6)]||'restforge-'+(process['env'][_0x16e86b(0x1bd)]||_0x16e86b(0x194))+'-consumer','connectionTimeout':parseInt(process[_0x16e86b(0x1a7)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x1266ec['KSyQA']),'sessionTimeout':parseInt(process['env'][_0x16e86b(0x18a)]||_0x16e86b(0x1a0)),'heartbeatInterval':parseInt(process[_0x16e86b(0x1a7)][_0x16e86b(0x17e)]||_0x1266ec['zSsoH']),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x16e86b(0x16e)),'autoCommit':_0x1266ec['sHJSQ'](process['env'][_0x16e86b(0x1a6)],_0x1266ec[_0x16e86b(0x1dc)]),'autoCommitInterval':parseInt(process['env'][_0x16e86b(0x1b4)]||_0x16e86b(0x16c)),'retryAttempts':_0x1266ec[_0x16e86b(0x173)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x1266ec[_0x16e86b(0x173)](parseInt,process['env'][_0x16e86b(0x19e)]||_0x1266ec['QwNzj']),'retryMaxDelay':_0x1266ec['vHgtF'](parseInt,process[_0x16e86b(0x1a7)]['KAFKA_RETRY_MAX_DELAY']||_0x1266ec['RypgV']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x416032){const _0x1892c7=a0_0x5e0b24,_0x3ef6d8={'nothing':logLevel[_0x1892c7(0x17a)],'error':logLevel[_0x1892c7(0x198)],'warn':logLevel['WARN'],'info':logLevel[_0x1892c7(0x1ac)],'debug':logLevel['DEBUG']};return _0x3ef6d8[_0x416032[_0x1892c7(0x1ce)]()]||logLevel['WARN'];}async[a0_0x5e0b24(0x1d7)](_0x2d5df7={}){const _0x3cfbed=a0_0x5e0b24,_0x256837={'iVRNP':_0x3cfbed(0x168),'OiVjw':function(_0x4517cd,_0x45789e){return _0x4517cd(_0x45789e);}},_0x4cec77=this['getConfig']();if(!_0x4cec77[_0x3cfbed(0x17f)])return console[_0x3cfbed(0x184)](_0x3cfbed(0x1a2)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x3cfbed(0x1b5)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x297221=>{const _0x1223bc=_0x3cfbed;try{let _0x31d59d=undefined;process[_0x1223bc(0x1a7)]['KAFKA_SSL']===_0x256837[_0x1223bc(0x1c9)]&&(_0x31d59d=!![]);let _0xcb8d8f=undefined;process[_0x1223bc(0x1a7)][_0x1223bc(0x1c6)]&&(_0xcb8d8f={'mechanism':process[_0x1223bc(0x1a7)][_0x1223bc(0x1c6)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x1223bc(0x19d)]=new Kafka({'clientId':_0x2d5df7['clientId']||_0x4cec77[_0x1223bc(0x1d0)],'brokers':_0x4cec77['brokers'],'connectionTimeout':_0x4cec77[_0x1223bc(0x1c2)],'requestTimeout':_0x4cec77['requestTimeout'],'logLevel':this[_0x1223bc(0x170)](_0x4cec77[_0x1223bc(0x1c7)]),'ssl':_0x31d59d,'sasl':_0xcb8d8f,'retry':{'initialRetryTime':_0x4cec77['retryDelay'],'retries':_0x4cec77['retryAttempts'],'maxRetryTime':_0x4cec77['retryMaxDelay']}}),this['groupId']=_0x2d5df7['groupId']||'restforge-'+(process[_0x1223bc(0x1a7)][_0x1223bc(0x1bd)]||'default')+_0x1223bc(0x17d),this[_0x1223bc(0x185)]=this[_0x1223bc(0x19d)][_0x1223bc(0x185)]({'groupId':this['groupId'],'sessionTimeout':_0x4cec77['sessionTimeout'],'heartbeatInterval':_0x4cec77[_0x1223bc(0x1c4)],'maxBytesPerPartition':_0x4cec77['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1223bc(0x185)][_0x1223bc(0x183)](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x4cec77['brokers']['join'](',\x20')+_0x1223bc(0x1a4)+this[_0x1223bc(0x1d4)]+')'),this['setupEventHandlers'](),_0x297221(!![]);}catch(_0x563eff){console[_0x1223bc(0x1cb)](_0x1223bc(0x18e)+_0x563eff[_0x1223bc(0x191)]),this['isConnected']=![],_0x256837['OiVjw'](_0x297221,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x5e0b24(0x1a8)](){const _0x204d8e=a0_0x5e0b24,_0x17a5b7={'WhKAB':_0x204d8e(0x1b3),'Pyrxw':_0x204d8e(0x1ca),'UvWdi':_0x204d8e(0x187),'uBBAT':_0x204d8e(0x1d5),'jlENq':_0x204d8e(0x169),'CwuFB':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x17a5b7[_0x204d8e(0x181)],()=>{const _0x2b8e18=_0x204d8e;console['log'](_0x17a5b7[_0x2b8e18(0x1bf)]),this[_0x2b8e18(0x1db)]=![],this['isRunning']=![];}),this['consumer']['on'](_0x17a5b7['uBBAT'],()=>{const _0x2320cd=_0x204d8e;console['log'](_0x17a5b7[_0x2320cd(0x196)]),this[_0x2320cd(0x172)]=![];}),this['consumer']['on'](_0x17a5b7['jlENq'],_0x584be8=>{const _0x1212bc=_0x204d8e;console[_0x1212bc(0x1cb)](_0x1212bc(0x180)+_0x584be8['payload'][_0x1212bc(0x1cb)][_0x1212bc(0x191)]),this[_0x1212bc(0x172)]=![];}),this['consumer']['on'](_0x17a5b7['CwuFB'],()=>{const _0x5e9998=_0x204d8e;console[_0x5e9998(0x184)](_0x5e9998(0x1a9));});}async[a0_0x5e0b24(0x177)](_0x36d0e5,_0x4610a8=![]){const _0x35dbcb=a0_0x5e0b24;if(!this['isConnected'])return console[_0x35dbcb(0x1cb)](_0x35dbcb(0x18b)),![];try{const _0x520843=Array[_0x35dbcb(0x1ba)](_0x36d0e5)?_0x36d0e5:[_0x36d0e5];for(const _0x4d35d5 of _0x520843){await this['consumer'][_0x35dbcb(0x177)]({'topic':_0x4d35d5,'fromBeginning':_0x4610a8}),console['log'](_0x35dbcb(0x16b)+_0x4d35d5+'\x20(fromBeginning:\x20'+_0x4610a8+')');}return this[_0x35dbcb(0x163)]=[...new Set([...this['subscribedTopics'],..._0x520843])],!![];}catch(_0x4b631b){return console[_0x35dbcb(0x1cb)](_0x35dbcb(0x188)+_0x4b631b['message']),![];}}async['startConsuming'](_0x5c3674,_0x4b5ac8={}){const _0x3c82b9=a0_0x5e0b24,_0x5d8c53={'zMyLx':function(_0x5ea3b1,_0x567c71){return _0x5ea3b1!==_0x567c71;}};if(!this['isConnected'])return console[_0x3c82b9(0x1cb)](_0x3c82b9(0x1d8)),![];if(this['isRunning'])return console['log'](_0x3c82b9(0x1b0)),!![];const _0x816b19=this['getConfig']();this['messageHandler']=_0x5c3674;try{return this['metrics'][_0x3c82b9(0x17b)]=new Date(),await this[_0x3c82b9(0x185)]['run']({'autoCommit':_0x5d8c53[_0x3c82b9(0x1a3)](_0x4b5ac8[_0x3c82b9(0x16d)],undefined)?_0x4b5ac8[_0x3c82b9(0x16d)]:_0x816b19[_0x3c82b9(0x16d)],'autoCommitInterval':_0x816b19[_0x3c82b9(0x1b8)],'eachMessage':async({topic:_0x4d0aba,partition:_0x4525ec,message:_0x4991d1,heartbeat:_0x181215})=>{const _0x8b77ee=_0x3c82b9,_0xf02252=Date['now']();this[_0x8b77ee(0x166)]['messagesReceived']++,this[_0x8b77ee(0x166)][_0x8b77ee(0x1a1)]=new Date();try{const _0x4d17d4=_0x4991d1['value']?_0x4991d1[_0x8b77ee(0x1bb)]['toString']():null;let _0x21fa21=null;try{_0x21fa21=_0x4d17d4?JSON[_0x8b77ee(0x19a)](_0x4d17d4):null;}catch(_0x489b62){_0x21fa21=_0x4d17d4;}const _0x3fe0a1={'topic':_0x4d0aba,'partition':_0x4525ec,'offset':_0x4991d1['offset'],'key':_0x4991d1[_0x8b77ee(0x174)]?_0x4991d1['key']['toString']():null,'headers':this[_0x8b77ee(0x165)](_0x4991d1[_0x8b77ee(0x1b7)]),'timestamp':_0x4991d1[_0x8b77ee(0x16a)],'value':_0x21fa21,'raw':_0x4d17d4};this['messageHandler']&&await this['messageHandler'](_0x3fe0a1);!_0x816b19[_0x8b77ee(0x16d)]&&await this['consumer'][_0x8b77ee(0x193)]([{'topic':_0x4d0aba,'partition':_0x4525ec,'offset':(parseInt(_0x4991d1[_0x8b77ee(0x1cd)])+0x1)['toString']()}]);this[_0x8b77ee(0x166)][_0x8b77ee(0x1a5)]++;const _0x729526=Date[_0x8b77ee(0x189)]()-_0xf02252;this[_0x8b77ee(0x166)][_0x8b77ee(0x1c0)][_0x8b77ee(0x179)](_0x729526),this['metrics']['processingTimes']['length']>0x64&&this[_0x8b77ee(0x166)][_0x8b77ee(0x1c0)][_0x8b77ee(0x1c3)](),await _0x181215();}catch(_0x47c3f3){this['metrics']['messagesFailed']++,console[_0x8b77ee(0x1cb)](_0x8b77ee(0x186)+_0x47c3f3[_0x8b77ee(0x191)]);throw _0x47c3f3;}}}),this['isRunning']=!![],console[_0x3c82b9(0x184)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x3c82b9(0x164)](',\x20')),!![];}catch(_0x5a1235){return console['error'](_0x3c82b9(0x1aa)+_0x5a1235[_0x3c82b9(0x191)]),![];}}['parseHeaders'](_0x3a5353){if(!_0x3a5353)return{};const _0x5b8eec={};for(const [_0x329f46,_0x42c864]of Object['entries'](_0x3a5353)){_0x5b8eec[_0x329f46]=_0x42c864?_0x42c864['toString']():null;}return _0x5b8eec;}async[a0_0x5e0b24(0x1cc)](){const _0x548931=a0_0x5e0b24;if(!this[_0x548931(0x1db)]||!this[_0x548931(0x172)])return console['log'](_0x548931(0x1c8)),![];if(this[_0x548931(0x167)])return console['log'](_0x548931(0x197)),!![];try{const _0xaac762=this['subscribedTopics'][_0x548931(0x192)](_0x187c8e=>({'topic':_0x187c8e}));return this['consumer'][_0x548931(0x1cc)](_0xaac762),this['isPaused']=!![],console[_0x548931(0x184)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x46b7cc){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x46b7cc['message']),![];}}async[a0_0x5e0b24(0x19f)](){const _0x42d8d6=a0_0x5e0b24,_0x3126ff={'moIRp':_0x42d8d6(0x175),'sOaLH':_0x42d8d6(0x1b9)};if(!this['isConnected']||!this[_0x42d8d6(0x172)])return console['log'](_0x3126ff['moIRp']),![];if(!this['isPaused'])return console['log'](_0x3126ff['sOaLH']),!![];try{const _0x29a9e2=this['subscribedTopics']['map'](_0x2f8bfa=>({'topic':_0x2f8bfa}));return this[_0x42d8d6(0x185)][_0x42d8d6(0x19f)](_0x29a9e2),this['isPaused']=![],console[_0x42d8d6(0x184)](_0x42d8d6(0x18c)),!![];}catch(_0xf57ab8){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0xf57ab8['message']),![];}}async[a0_0x5e0b24(0x1ad)](){const _0x149edd=a0_0x5e0b24;if(!this[_0x149edd(0x1db)])return console['log'](_0x149edd(0x1b2)),!![];try{const _0x16feaf='4|2|1|0|5|3'['split']('|');let _0x44a185=0x0;while(!![]){switch(_0x16feaf[_0x44a185++]){case'0':this['isPaused']=![];continue;case'1':this['isRunning']=![];continue;case'2':this['isConnected']=![];continue;case'3':return!![];case'4':this['consumer']&&(await this['consumer']['stop'](),await this[_0x149edd(0x185)][_0x149edd(0x1d9)]());continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x2d5c2e){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x2d5c2e[_0x149edd(0x191)]),![];}}async['seekToOffset'](_0x3fe1e4,_0x44aa0f,_0x578a76){const _0x76000e=a0_0x5e0b24,_0x1db0ad={'fxrVV':_0x76000e(0x161)};if(!this['isConnected'])return console[_0x76000e(0x1cb)](_0x1db0ad['fxrVV']),![];try{return this[_0x76000e(0x185)]['seek']({'topic':_0x3fe1e4,'partition':_0x44aa0f,'offset':_0x578a76[_0x76000e(0x1d2)]()}),console[_0x76000e(0x184)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x578a76+'\x20on\x20'+_0x3fe1e4+':'+_0x44aa0f),!![];}catch(_0x395799){return console[_0x76000e(0x1cb)](_0x76000e(0x1be)+_0x395799['message']),![];}}[a0_0x5e0b24(0x1b1)](){const _0x344941=a0_0x5e0b24,_0x1af182=this['getConfig']();return{'enabled':_0x1af182[_0x344941(0x17f)],'connected':this[_0x344941(0x1db)],'running':this[_0x344941(0x172)],'paused':this['isPaused'],'brokers':_0x1af182['brokers'],'clientId':_0x1af182['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x344941(0x163)]};}[a0_0x5e0b24(0x1ae)](){const _0x4d5789=a0_0x5e0b24,_0x33f83c={'sKmke':function(_0x4be216,_0x1833ea){return _0x4be216>_0x1833ea;},'uRTPk':function(_0x577ed4,_0x4765cc){return _0x577ed4/_0x4765cc;},'qeyhM':function(_0x2722c6,_0x353e1a){return _0x2722c6+_0x353e1a;},'YPqvf':function(_0x17e08f,_0xa5ce4b){return _0x17e08f*_0xa5ce4b;},'kAsAX':function(_0x226168,_0x2b74b5){return _0x226168+_0x2b74b5;},'lGmkm':function(_0x20b5e5,_0x53e473){return _0x20b5e5+_0x53e473;}},_0x20ea95=_0x33f83c['sKmke'](this['metrics']['processingTimes'][_0x4d5789(0x1bc)],0x0)?_0x33f83c[_0x4d5789(0x199)](this[_0x4d5789(0x166)][_0x4d5789(0x1c0)]['reduce']((_0x2df623,_0x2802bd)=>_0x2df623+_0x2802bd,0x0),this['metrics']['processingTimes'][_0x4d5789(0x1bc)]):0x0,_0x3f19ed=_0x33f83c[_0x4d5789(0x178)](this[_0x4d5789(0x166)]['processingTimes'][_0x4d5789(0x1bc)],0x0)?Math['min'](...this[_0x4d5789(0x166)][_0x4d5789(0x1c0)]):0x0,_0x1cd0a9=this['metrics'][_0x4d5789(0x1c0)][_0x4d5789(0x1bc)]>0x0?Math['max'](...this[_0x4d5789(0x166)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x4d5789(0x166)]['messagesProcessed'],'messagesFailed':this[_0x4d5789(0x166)]['messagesFailed'],'successRate':_0x33f83c[_0x4d5789(0x178)](this[_0x4d5789(0x166)][_0x4d5789(0x1dd)],0x0)?_0x33f83c[_0x4d5789(0x19c)](_0x33f83c[_0x4d5789(0x1c5)](_0x33f83c[_0x4d5789(0x199)](this['metrics'][_0x4d5789(0x1a5)],this['metrics']['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x4d5789(0x166)]['lastMessageTime'],'startTime':this[_0x4d5789(0x166)][_0x4d5789(0x17b)],'uptime':this[_0x4d5789(0x166)][_0x4d5789(0x17b)]?_0x33f83c['kAsAX'](Math['floor']((Date['now']()-this['metrics'][_0x4d5789(0x17b)]['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':_0x33f83c[_0x4d5789(0x190)](Math[_0x4d5789(0x1d3)](_0x20ea95),'ms'),'min':_0x3f19ed+'ms','max':_0x1cd0a9+'ms'}};}[a0_0x5e0b24(0x162)](){const _0x3d7a49=a0_0x5e0b24,_0x1af68a={'hpXZD':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x1af68a[_0x3d7a49(0x17c)]);}async['close'](){const _0x927488=a0_0x5e0b24;await this[_0x927488(0x1ad)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x1c73(){const _0x547b2e=['CMvZzxrnzxrYAwnZ','C3vIC2nYAwjLzfrVCgLJCW','AM9PBG','CgfYC2vizwfKzxjZ','Bwv0CMLJCW','AxnqyxvZzwq','Dhj1zq','y29UC3vTzxiUy3jHC2G','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','ntaWma','yxv0B0nVBw1PDa','mta0odu3nG','s0fgs0fFru5bqKXfra','z2v0tg9Ntgv2zwW','AxnjBML0AwfSAxPPBMC','AxnsDw5UAw5N','DKHNDey','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','ndveCM5vt1y','C3vIC2nYAwjL','C0TTA2u','ChvZAa','tK9useLorW','C3rHCNruAw1L','AhbywKq','lwnVBNn1BwvYlwDYB3vW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','vxzxzgK','z2v0q29UzMLN','y29UBMvJDa','Bg9N','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BM93','s0fgs0fFu0vtu0LptL9usu1ft1vu','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','mte2odblEvzywvu','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','ug9ZwhK','BeDTA20','BwvZC2fNzq','BwfW','y29TBwL0t2zMC2v0CW','zgvMyxvSDa','mJu1mKHjEvjMrW','uhLYEhC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','rvjst1i','DvjuugS','CgfYC2u','nZm4mdG2A2zQEuvH','Cwv5Ae0','A2fMA2e','s0fgs0fFuKvuuLLFrevmqvK','CMvZDw1L','mZaWmda','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','EK15thG','icHNCM91CeLKoIa','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqvvut19dt01nsvq','zw52','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','mZy1mZK0vKvoweXf','su5gtW','C3rVCa','z2v0twv0CMLJCW','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFq0Xjru5ux0Le','AgvHzgvYCW','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','AxnbCNjHEq','DMfSDwu','BgvUz3rO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','v2Hlqui','ChjVy2vZC2LUz1rPBwvZ','mZG4ndy1AhHuqLLj','y29UBMvJDgLVBLrPBwvVDxq','C2HPzNq','AgvHCNrIzwf0sw50zxj2ywW','wvbXDMy','s0fgs0fFu0fttf9nruniqu5ju00','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','AvzstLa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','zxjYB3i','Cgf1C2u','B2zMC2v0','Dg9mB3DLCKnHC2u','mJrrvuXlweu','y2XPzw50swq','nJC1odKYBK9pt1zo','Dg9tDhjPBMC','CM91BMq','z3jVDxbjza','y29UC3vTzxiUC3rVCa','mtG3odi4ufb2BhrY','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','zgLZy29UBMvJDa','mZvYvMfhDNO','AxndB25Uzwn0zwq','u1Pezgu','BwvZC2fNzxnszwnLAxzLza','nZi0mfPQA0z0Aq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza'];a0_0x1c73=function(){return _0x547b2e;};return a0_0x1c73();}
|