@restforgejs/platform 4.2.8 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5a4b85=a0_0x2aad;(function(_0x6f7efe,_0x3909be){const _0x35fb8f=a0_0x2aad,_0x53dfa2=_0x6f7efe();while(!![]){try{const _0x20ce74=-parseInt(_0x35fb8f(0x173))/0x1*(parseInt(_0x35fb8f(0x20b))/0x2)+parseInt(_0x35fb8f(0x1a5))/0x3*(parseInt(_0x35fb8f(0x1a2))/0x4)+-parseInt(_0x35fb8f(0x188))/0x5*(parseInt(_0x35fb8f(0x1e9))/0x6)+-parseInt(_0x35fb8f(0x1a4))/0x7+parseInt(_0x35fb8f(0x1b2))/0x8*(-parseInt(_0x35fb8f(0x214))/0x9)+parseInt(_0x35fb8f(0x18e))/0xa+parseInt(_0x35fb8f(0x17d))/0xb;if(_0x20ce74===_0x3909be)break;else _0x53dfa2['push'](_0x53dfa2['shift']());}catch(_0x4f83c6){_0x53dfa2['push'](_0x53dfa2['shift']());}}}(a0_0x2122,0xc6c42));const {v7:uuidv7}=require(a0_0x5a4b85(0x175)),path=require('path'),fs=require('fs')[a0_0x5a4b85(0x1c3)],redisHelper=require(a0_0x5a4b85(0x1b1)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x5a4b85(0x1a6)]['DB_TYPE']||a0_0x5a4b85(0x18f))[a0_0x5a4b85(0x1a8)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x5a4b85(0x1e3)),executeQuery=(_0x28fec9,_0x15ab9d)=>oracleDb[a0_0x5a4b85(0x1d8)](_0x28fec9,_0x15ab9d),executeTransaction=_0x33e64d=>oracleDb[a0_0x5a4b85(0x198)](_0x33e64d);else{if(dbType===a0_0x5a4b85(0x211)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x3db1d7,_0x5198d6)=>mysqlDb['executeQuery'](_0x3db1d7,_0x5198d6),executeTransaction=_0x1244d3=>mysqlDb[a0_0x5a4b85(0x198)](_0x1244d3);}else{const db=require(a0_0x5a4b85(0x1b3));executeQuery=db[a0_0x5a4b85(0x1d8)],executeTransaction=db['executeTransaction'];}}function a0_0x2122(){const _0x1d279b=['vxbKyuS','igf0ihjVDYa','C2v0','AM9IoG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','mtC2s2HcELHQ','lI4VDxrPBhmVzgi','AgfZ','z2v0sM9Iu3rHDhvZ','yMf0y2HwywXPzgf0zvjVD3m','ChjVy2vZC1bYzxzPzxDkB2i','vvbeqvrf','zxjYB3jZ','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','z2v0sM9I','A2v5CW','vvbmt0fex0rjuG','Bwf0y2G','uuvjvNi','ufnUvMy','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','DgfYz2v0rMLLBgq','ChjVBwLZzxm','DxbKyxrLx2v4Axn0Aw5N','thPOAKO','DxbSB2fKrgLY','B3jHy2XL','wg1PDxy','Aw5JBhvKzxm','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','y3jLyxrLzf9HDa','y291BNq','zgvIDwC','rMHczg8','yxbWBhLdB2X1Bw5gB3jTyxrZ','z05Au1q','z2vUzxjHDgvjza','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DujxwxO','Ce9XBLq','C2nVCgvpDMvYCMLKzq','D29Uufm','wwD6Afq','zxHLy3v0zvf1zxj5','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','Aw5Zzxj0','CM93CW','ChjLDMLLD19QB2jFy29TCgXLDgvK','x3vWBg9HzerPCG','y2H1BMTsB3DZ','vvH2B3y','ChvZAa','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Cgf0Aa','lI4VDxrPBhmVzgiTB3jHy2XL','x2vYCM9YCW','z2v0tw9UDgG','uhjLDMLLDYbQB2iGy29TCgXLDgvK','uePUC3u','B3jPz2LUywXUyw1L','mJrjy3vbyLm','Cu1Kq2i','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EfL0u2i','zMXVB3i','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKoG','y29TBwL0x2PVyL9MywLSzwq','q05hEKu','Aw5Zzxj0x29UBhK','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','ru1HCKG','DhjPBq','wKDvwMi','zMLSDgvY','sKThrfG','B09yveG','CvvNEMm','zMfPBgvK','y29SDw1UrM9YBwf0CW','DxbSB2fKrMLSzq','q29TBwL0igPVyIbJB21WBgv0zwq','yNvPBgrmywjLBfrVrMLLBgrnyxa','ChjLDMLLD19LCNjVCG','uxLTsM0','B1vVrvi','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','BNvTyMvY','DhLWzq','BwfW','AwXOr1a','DKvmC0G','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','u2jMzLu','nfL2uvPWAa','C2v0sM9I','x2v4Axn0Aw5Nswq','tLHdAuW','ChjLDMLLD19QB2jFzMfPBgvK','Aw5MBW','BxLZCwW','DwnIq3e','CMvWBgfJzq','nda3nZm2u1n3tLPu','DxbSB2fKx2LK','y3jLyxrLuhjLDMLLD0PVyG','y0vpsuu','vuL6y2S','shbgzLy','tvHUExC','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','CNvqrMS','D1Dctwi','z1vcy2y','AgvHzgvYC19TyxbWzwq','Dw5SAw5R','y2f0y2G','uNjzyMu','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','DgvZDa','uLzlDeG','B2Lwv0S','AvvQDKq','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','BM93','Bxfwq0G','CgfYyw1Z','C3rYAw5N','nJyYmdyYDvLwwuP2','zMLUza','DxvPza','C3rHDhvZ','ChjLDMLLD19VAW','uhPMDNy','CM93sw5KzxG','DMfSDwvZ','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','q29TBwL0igPVyIbJCMvHDgvK','ndaWmdaYnZLArhLVtxq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','z2v0rNvSBfLLyxi','zMLLBgroyw1L','zMfSC2u','ugXeCwC','Bg9VA3vWrMLLBgrZ','uhHjvvC','BgvUz3rO','qNzrz2i','DMfSAwrHDgLUzW','mZq0otKWA2rJru9q','rMfPBgvKihrVignSzwfUDxaGzMLSzq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','CwDTsfe','x2fJDgLVBG','z2v0','mJuZnJyWEvfNBM5Y','Cg9ZDgDYzxnXBa','DxvPzf9HDxrVx2DLBMvYyxrLza','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','AM9PBG','DxbKyxrL','BwLZC2LUz0zPzwXKCW','cIaGicaGicaGrLjptsa','BNjHzxe','yNvPBgrcyxrJAeLUC2vYDa','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YrwfJAa','AM9Ix2LK','DMfSAwq','Dg9ju09tDhjPBMC','C2XPy2u','zw50CMLLCW','Avz1q3G','EKLlCxK','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','mtm0oeH3AMPMrG','y29TBwL0x3bYB2nLC3nFzxjYB3i','mZu4mtuWmvngEvrnCa','mJmYmLfQsvPzzG','zw52','yM9VBgvHBG','Dg9mB3DLCKnHC2u','C2TPCf9LEgLZDgLUzW','jdfFjdi','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','CgfKu3rHCNq'];a0_0x2122=function(){return _0x1d279b;};return a0_0x2122();}function a0_0x2aad(_0xc000f6,_0x1885ed){_0xc000f6=_0xc000f6-0x171;const _0x2122da=a0_0x2122();let _0x2aad1c=_0x2122da[_0xc000f6];if(a0_0x2aad['MsaeKm']===undefined){var _0x416e92=function(_0x3d1ff0){const _0x4ac760='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5961d6='',_0x21de5a='';for(let _0x5de50a=0x0,_0x2fe6e2,_0x2df21f,_0x3a4eb0=0x0;_0x2df21f=_0x3d1ff0['charAt'](_0x3a4eb0++);~_0x2df21f&&(_0x2fe6e2=_0x5de50a%0x4?_0x2fe6e2*0x40+_0x2df21f:_0x2df21f,_0x5de50a++%0x4)?_0x5961d6+=String['fromCharCode'](0xff&_0x2fe6e2>>(-0x2*_0x5de50a&0x6)):0x0){_0x2df21f=_0x4ac760['indexOf'](_0x2df21f);}for(let _0x2202b9=0x0,_0x14abc8=_0x5961d6['length'];_0x2202b9<_0x14abc8;_0x2202b9++){_0x21de5a+='%'+('00'+_0x5961d6['charCodeAt'](_0x2202b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21de5a);};a0_0x2aad['AGZZIC']=_0x416e92,a0_0x2aad['NrLdnt']={},a0_0x2aad['MsaeKm']=!![];}const _0x2a2a8c=_0x2122da[0x0],_0x1f5cb0=_0xc000f6+_0x2a2a8c,_0x4c59d8=a0_0x2aad['NrLdnt'][_0x1f5cb0];return!_0x4c59d8?(_0x2aad1c=a0_0x2aad['AGZZIC'](_0x2aad1c),a0_0x2aad['NrLdnt'][_0x1f5cb0]=_0x2aad1c):_0x2aad1c=_0x4c59d8,_0x2aad1c;}const excelParser=require(a0_0x5a4b85(0x1d2)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x5a4b85(0x1eb)),lookupResolver=require(a0_0x5a4b85(0x1ee));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x5a4b85(0x1c6)](){const _0x2989af=a0_0x5a4b85;if(!this[_0x2989af(0x1dd)]){const _0x20607c=process[_0x2989af(0x1a6)][_0x2989af(0x17b)]||'default';this[_0x2989af(0x1dd)]=process[_0x2989af(0x1a6)][_0x2989af(0x1bd)]||path[_0x2989af(0x192)](__dirname,'../../temp/uploads/'+_0x20607c);}return this['_uploadDir'];}[a0_0x5a4b85(0x1d1)](){const _0x4ccfb8=a0_0x5a4b85,_0x1d4a7a={'ERZQv':function(_0x3d7522){return _0x3d7522();},'cJcBD':function(_0x37d15c,_0x4f079e){return _0x37d15c+_0x4f079e;},'qMdCb':function(_0x45061e,_0xd3dfdb){return _0x45061e<_0xd3dfdb;}},_0x8171e7=_0x4ccfb8(0x18a),_0x3682ca=Date[_0x4ccfb8(0x229)]()['toString'](0x24),_0x464d74=_0x1d4a7a['ERZQv'](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x3682ca['length']),_0x2832f4=_0x1d4a7a['cJcBD'](_0x3682ca,_0x464d74)['substring'](0x0,0xc);let _0x183664='';for(let _0x55f385=0x0;_0x1d4a7a[_0x4ccfb8(0x1ea)](_0x55f385,0xc);_0x55f385++){_0x2832f4[_0x55f385]?_0x183664+=_0x2832f4[_0x55f385]:_0x183664+=_0x8171e7['charAt'](Math[_0x4ccfb8(0x1ed)](Math['random']()*_0x8171e7[_0x4ccfb8(0x185)]));}return _0x183664;}['buildLabelToFieldMap'](_0x3de178){const _0x431c6b=a0_0x5a4b85,_0x15961e={'ATZIr':_0x431c6b(0x1aa),'PxIUW':'label_to_field_map_built','TCbse':_0x431c6b(0x223)},_0x571f91=new Map();if(!_0x3de178)return _0x571f91;return Object['entries'](_0x3de178)['forEach'](([_0x5611f9,_0x3aca84])=>{const _0x56feac=_0x431c6b,_0x474d05=String(_0x3aca84)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x15961e['ATZIr'])[_0x56feac(0x213)](/([A-Z]+)([A-Z][a-z])/g,_0x56feac(0x1aa))['toLowerCase']();_0x571f91['set'](_0x474d05,_0x5611f9);}),logger[_0x431c6b(0x1cd)]({'event':_0x15961e[_0x431c6b(0x184)],'mappingCount':_0x571f91['size']},_0x15961e['TCbse']),_0x571f91;}['applyColumnFormats'](_0x1eab9a,_0x20ef98){const _0x34184a=a0_0x5a4b85,_0x33c581={'PlDqg':function(_0x4ecaee,_0x2635b2){return _0x4ecaee===_0x2635b2;},'sFMLr':'date','Pzfvv':function(_0x4b3e83,_0x99c685){return _0x4b3e83(_0x99c685);},'mqVCH':function(_0x5b2950,_0x4724e2){return _0x5b2950===_0x4724e2;}};if(!_0x20ef98||_0x33c581[_0x34184a(0x22a)](Object[_0x34184a(0x1bc)](_0x20ef98)[_0x34184a(0x185)],0x0))return _0x1eab9a;return _0x1eab9a[_0x34184a(0x206)](_0x513c4e=>{const _0x3a4b39=_0x34184a,_0x2355d5={..._0x513c4e};for(const [_0x1db4f0,_0x3ad8d6]of Object[_0x3a4b39(0x19e)](_0x20ef98)){const _0x27ef82=_0x2355d5[_0x1db4f0];if(_0x27ef82===null||_0x27ef82===undefined||_0x33c581[_0x3a4b39(0x182)](_0x27ef82,'')){_0x2355d5[_0x1db4f0]=null;continue;}switch(_0x3ad8d6['type']){case _0x33c581['sFMLr']:_0x2355d5[_0x1db4f0]=this['formatDateForDatabase'](_0x27ef82);break;case _0x3a4b39(0x204):_0x2355d5[_0x1db4f0]=this['formatNumberForDatabase'](_0x27ef82);break;case _0x3a4b39(0x1a7):_0x2355d5[_0x1db4f0]=this['formatBooleanForDatabase'](_0x27ef82);break;case'text':_0x2355d5[_0x1db4f0]=_0x33c581[_0x3a4b39(0x178)](String,_0x27ef82);break;default:break;}}return _0x2355d5;});}['formatDateForDatabase'](_0x20b009){const _0x13478c=a0_0x5a4b85,_0x1cc063={'YgzhT':function(_0x10cbae,_0x51782c){return _0x10cbae===_0x51782c;},'oiVWK':function(_0x95ea07,_0x5878bb){return _0x95ea07===_0x5878bb;},'eAYWk':_0x13478c(0x172),'UXvov':function(_0x545fed,_0x570f56){return _0x545fed instanceof _0x570f56;},'vELsH':function(_0x38ebc8,_0x2dbf95){return _0x38ebc8(_0x2dbf95);},'iVILD':function(_0x4e219b,_0x51590f){return _0x4e219b(_0x51590f);},'aloFm':function(_0x212118,_0x3863e4){return _0x212118(_0x3863e4);}};if(_0x20b009===null||_0x1cc063[_0x13478c(0x1d7)](_0x20b009,undefined)||_0x1cc063[_0x13478c(0x1d7)](_0x20b009,''))return null;if(_0x1cc063[_0x13478c(0x226)](typeof _0x20b009,_0x1cc063['eAYWk'])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x20b009))return _0x20b009;if(_0x1cc063[_0x13478c(0x1df)](_0x20b009,Date)){if(isNaN(_0x20b009['getTime']()))return null;const _0x5a73c8=_0x20b009[_0x13478c(0x17f)](),_0x40f16d=_0x1cc063[_0x13478c(0x208)](String,_0x20b009[_0x13478c(0x1e5)]()+0x1)[_0x13478c(0x1ac)](0x2,'0'),_0xb44bd5=String(_0x20b009['getDate']())[_0x13478c(0x1ac)](0x2,'0');return _0x5a73c8+'-'+_0x40f16d+'-'+_0xb44bd5;}if(_0x1cc063[_0x13478c(0x1d7)](typeof _0x20b009,_0x13478c(0x172))){const _0x3fc42b=_0x20b009[_0x13478c(0x1be)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3fc42b){const _0x388bf4=_0x1cc063['vELsH'](String,_0x3fc42b[0x1])[_0x13478c(0x1ac)](0x2,'0'),_0x266276=String(_0x3fc42b[0x2])['padStart'](0x2,'0'),_0xad0b3=_0x3fc42b[0x3];return _0xad0b3+'-'+_0x266276+'-'+_0x388bf4;}const _0x3a8bd4=_0x20b009[_0x13478c(0x1be)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x3a8bd4){const _0x4127b9=_0x3a8bd4[0x1],_0xa0f19e=_0x1cc063['iVILD'](String,_0x3a8bd4[0x2])[_0x13478c(0x1ac)](0x2,'0'),_0x5091fd=_0x1cc063['aloFm'](String,_0x3a8bd4[0x3])['padStart'](0x2,'0');return _0x4127b9+'-'+_0xa0f19e+'-'+_0x5091fd;}}return _0x20b009;}['formatNumberForDatabase'](_0x132486){const _0x50886a=a0_0x5a4b85,_0x53fe74={'PSnVf':function(_0x1af311,_0x451876){return _0x1af311===_0x451876;},'UpdaK':function(_0x3e9fc6,_0x352da7){return _0x3e9fc6===_0x352da7;},'RrYbe':'number','HpFfV':function(_0x3d3539,_0xd76f07){return _0x3d3539(_0xd76f07);}};if(_0x53fe74[_0x50886a(0x1c0)](_0x132486,null)||_0x53fe74['PSnVf'](_0x132486,undefined)||_0x132486==='')return null;if(_0x53fe74[_0x50886a(0x1ad)](typeof _0x132486,_0x53fe74[_0x50886a(0x222)]))return isNaN(_0x132486)?null:_0x132486;if(typeof _0x132486===_0x50886a(0x172)){let _0x1c60e6=_0x132486['trim']();const _0x333fbe=/,\d{1,2}$/['test'](_0x1c60e6)&&!/,\d{3}/[_0x50886a(0x224)](_0x1c60e6);_0x333fbe?_0x1c60e6=_0x1c60e6['replace'](/\./g,'')[_0x50886a(0x213)](',','.'):_0x1c60e6=_0x1c60e6[_0x50886a(0x213)](/,/g,'');const _0x2e5b5a=_0x53fe74[_0x50886a(0x219)](parseFloat,_0x1c60e6);return isNaN(_0x2e5b5a)?null:_0x2e5b5a;}return null;}[a0_0x5a4b85(0x1f3)](_0xfa3eb7){const _0x53d369=a0_0x5a4b85,_0x223a8={'zJfzr':function(_0x2d1eda,_0x4c5b2f){return _0x2d1eda===_0x4c5b2f;},'PJnsu':'true','TVrDw':_0x53d369(0x172),'Xmiuv':'yes','lbbuU':'number','nvIxJ':'false'};if(_0xfa3eb7===null||_0xfa3eb7===undefined||_0xfa3eb7==='')return null;if(_0x223a8['zJfzr'](typeof _0xfa3eb7,_0x53d369(0x1a7)))return _0xfa3eb7?_0x223a8['PJnsu']:_0x53d369(0x181);if(typeof _0xfa3eb7===_0x223a8['TVrDw']){const _0x1f8fe4=_0xfa3eb7[_0x53d369(0x1f5)]()[_0x53d369(0x1a8)]();if([_0x223a8[_0x53d369(0x1e7)],_0x223a8[_0x53d369(0x1c8)],'y','1']['includes'](_0x1f8fe4))return _0x223a8['PJnsu'];if([_0x53d369(0x181),'no','n','0']['includes'](_0x1f8fe4))return'false';return null;}if(typeof _0xfa3eb7===_0x223a8['lbbuU'])return _0xfa3eb7?_0x223a8[_0x53d369(0x1e7)]:_0x223a8['nvIxJ'];return null;}async[a0_0x5a4b85(0x1fd)](_0x4ee792,_0x4b3b07){const _0x21aa38=a0_0x5a4b85,_0x15dc08={'YjBHN':function(_0x508731,_0xb581ec){return _0x508731||_0xb581ec;},'QEIVr':_0x21aa38(0x21f),'ORMoi':'Excel\x20headers\x20mapped\x20to\x20field\x20names','ucbCq':'column_formats_applied','DHKWl':function(_0x437803,_0x3502b1,_0x14817b,_0x4a0127){return _0x437803(_0x3502b1,_0x14817b,_0x4a0127);},'QymJm':'file_cleanup_error','hfMar':_0x21aa38(0x189)},_0x4fa92b=this['generateId']();try{let {headers:_0x291a5f,rows:_0x11e43f,totalRows:_0x563a58}=await excelParser['parseExcelFile'](_0x4ee792[_0x21aa38(0x1e2)]);const _0x16305f=this[_0x21aa38(0x1ff)](_0x4b3b07['fieldLabels']),_0x5d8c38=_0x291a5f[_0x21aa38(0x206)](_0x48082d=>{const _0x4a1fa4=_0x16305f['get'](_0x48082d);return _0x15dc08['YjBHN'](_0x4a1fa4,_0x48082d);});_0x11e43f=_0x11e43f[_0x21aa38(0x206)](_0x395f93=>{const _0x5503ea={};return _0x291a5f['forEach']((_0x24fbad,_0x6be1e7)=>{const _0x4200ae=_0x5d8c38[_0x6be1e7];_0x5503ea[_0x4200ae]=_0x395f93[_0x24fbad];}),_0x5503ea;}),_0x291a5f=_0x5d8c38,logger['debug']({'event':_0x15dc08[_0x21aa38(0x1bf)],'original':_0x291a5f[_0x21aa38(0x185)],'mapped':_0x5d8c38[_0x21aa38(0x1f7)]((_0x32e893,_0x2a48e2)=>_0x32e893!==_0x291a5f[_0x2a48e2])['length']},_0x15dc08['ORMoi']);_0x4b3b07['columnFormats']&&Object[_0x21aa38(0x1bc)](_0x4b3b07['columnFormats'])['length']>0x0&&(_0x11e43f=this[_0x21aa38(0x1cf)](_0x11e43f,_0x4b3b07[_0x21aa38(0x1fc)]),logger['debug']({'event':_0x15dc08[_0x21aa38(0x212)],'formatCount':Object['keys'](_0x4b3b07[_0x21aa38(0x1fc)])['length'],'formats':Object['keys'](_0x4b3b07[_0x21aa38(0x1fc)])},_0x21aa38(0x228)));if(_0x4b3b07[_0x21aa38(0x1d5)]&&_0x4b3b07['scopeOverride']['column']){const {column:_0x57f3a7,value:_0x93c9e0}=_0x4b3b07[_0x21aa38(0x1d5)];_0x11e43f=_0x11e43f['map'](_0x4b8c36=>({..._0x4b8c36,[_0x57f3a7]:_0x93c9e0})),logger[_0x21aa38(0x1cd)]({'event':_0x21aa38(0x1ba),'column':_0x57f3a7,'rowCount':_0x11e43f[_0x21aa38(0x185)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5056b8=_0x4b3b07['lookupFields']?Object[_0x21aa38(0x17a)](_0x4b3b07[_0x21aa38(0x183)])['map'](_0x5106f2=>_0x5106f2[_0x21aa38(0x1c2)]):[],_0x154269=_0x4b3b07[_0x21aa38(0x180)]['filter'](_0x40329e=>!_0x5056b8[_0x21aa38(0x1c9)](_0x40329e)),_0x3672cb=excelParser['validateExcelStructure'](_0x291a5f,_0x154269);if(!_0x3672cb[_0x21aa38(0x19b)]){await fs[_0x21aa38(0x220)](_0x4ee792['path']);throw new Error(_0x21aa38(0x1d9)+_0x3672cb[_0x21aa38(0x194)][_0x21aa38(0x192)](',\x20'));}const _0x126d1a={'upload_id':_0x4fa92b,'filename':_0x4ee792[_0x21aa38(0x1e8)],'total_rows':_0x563a58,'headers':_0x291a5f,'rows':_0x11e43f,'params':_0x4b3b07,'created_at':new Date()[_0x21aa38(0x19c)]()};return await redisHelper[_0x21aa38(0x20c)]('upload:'+_0x4fa92b,_0x126d1a,0xe10),await fs[_0x21aa38(0x220)](_0x4ee792['path']),logger[_0x21aa38(0x210)]({'event':'import_file_uploaded','uploadId':_0x4fa92b,'filename':_0x4ee792[_0x21aa38(0x1e8)],'totalRows':_0x563a58},_0x21aa38(0x1ab)),{'upload_id':_0x4fa92b,'total_rows':_0x563a58,'preview':_0x11e43f['slice'](0x0,0xa)};}catch(_0x337957){try{await fs[_0x21aa38(0x220)](_0x4ee792[_0x21aa38(0x1e2)]);}catch(_0x2a5d82){_0x15dc08['DHKWl'](logError,_0x2a5d82,{'event':_0x15dc08[_0x21aa38(0x201)]},_0x15dc08['hfMar']);}throw _0x337957;}}async[a0_0x5a4b85(0x216)](_0xdac437){const _0x4ba662=a0_0x5a4b85,_0x5d552f={'NXCiL':'Preview\x20job\x20created','NlMPq':_0x4ba662(0x187)},_0x37f194=this['generateId'](),_0x325def=await redisHelper['getJob'](_0x4ba662(0x1ef)+_0xdac437);if(!_0x325def)throw new Error(_0x4ba662(0x1a1));const _0x17efc3={'job_id':_0x37f194,'upload_id':_0xdac437,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x325def[_0x4ba662(0x171)]};return await redisHelper[_0x4ba662(0x20c)]('job:'+_0x37f194,_0x17efc3,0xe10),logger['info']({'event':'preview_job_created','jobId':_0x37f194,'uploadId':_0xdac437},_0x5d552f[_0x4ba662(0x20e)]),this['processPreviewJob'](_0x37f194,_0xdac437,_0x325def)[_0x4ba662(0x221)](_0x8257b7=>{const _0x2df9a3=_0x4ba662;logError(_0x8257b7,{'event':_0x2df9a3(0x209),'jobId':_0x37f194},'Preview\x20processing\x20failed');}),{'job_id':_0x37f194,'status':_0x5d552f['NlMPq']};}[a0_0x5a4b85(0x191)](_0xb570b0,_0x2f290b){const _0x5b174e={'oOXTH':function(_0x56785a,_0x4cba2f){return _0x56785a===_0x4cba2f;},'BVnEK':function(_0xa5388d,_0x146282){return _0xa5388d(_0x146282);}};_0xb570b0['forEach']((_0x3d12d1,_0x490a7d)=>{const _0x423297=a0_0x2aad,_0x561909={'wWBMb':function(_0x1664b4,_0x4b8f8e){const _0x4dc3f4=a0_0x2aad;return _0x5b174e[_0x4dc3f4(0x1f9)](_0x1664b4,_0x4b8f8e);},'FnzkX':function(_0x409d71,_0x5216a0){return _0x5b174e['BVnEK'](_0x409d71,_0x5216a0);},'xiPgm':_0x423297(0x190)};_0x2f290b['forEach'](_0x24feeb=>{const _0x26d642=_0x423297,_0x590452=_0x3d12d1[_0x24feeb];if(_0x561909[_0x26d642(0x21d)](_0x590452,null)||_0x590452===undefined||_0x590452===''||_0x561909['wWBMb'](_0x561909['FnzkX'](String,_0x590452)['trim'](),'-')){const _0x5a44fc=uuidv7();_0x3d12d1[_0x24feeb]=_0x5a44fc,_0x3d12d1['_generated_uuid']=_0x3d12d1['_generated_uuid']||{},_0x3d12d1['_generated_uuid'][_0x24feeb]=_0x5a44fc,logger[_0x26d642(0x1cd)]({'event':_0x561909['xiPgm'],'rowIndex':_0x490a7d,'field':_0x24feeb,'uuid':_0x5a44fc},'Auto-generated\x20UUID\x20for\x20'+_0x24feeb+_0x26d642(0x1ae)+(_0x490a7d+0x2));}});});}async[a0_0x5a4b85(0x1b7)](_0x19bb85,_0x4dc30c,_0x167ad3){const _0x548ddf=a0_0x5a4b85,_0x1c7de5={'iUjvD':function(_0x21c423,_0x24ea0d){return _0x21c423===_0x24ea0d;},'pOqnT':'INSERT','ruPFk':'UPDATE','BvQgb':_0x548ddf(0x1e1),'MXnyw':function(_0x278436,_0x555820){return _0x278436||_0x555820;},'LzhjJ':function(_0x3903ba,_0x273b65){return _0x3903ba>_0x273b65;},'qmLsS':_0x548ddf(0x200),'FhBdo':_0x548ddf(0x177),'gUBcf':_0x548ddf(0x1e6),'xYtSb':_0x548ddf(0x20f),'JKGDX':'Preview\x20job\x20failed','GFQMJ':'failed'};try{let {rows:_0x5a2483,params:_0x34a59c}=_0x167ad3;const {requiredFields:_0x3b28b5,validations:_0x6b592a,upsertKeys:_0x4294eb,tableName:_0x38664f,primaryKey:_0x14f6dc,fieldName:_0x5c9106,upsertStrategy:_0x579eee,lookupFields:_0x20e772}=_0x34a59c;this['autoGenerateUpsertKeys'](_0x5a2483,_0x4294eb);let _0x4dde10=[];if(_0x20e772&&Object[_0x548ddf(0x1bc)](_0x20e772)['length']>0x0){logger[_0x548ddf(0x210)]({'event':_0x1c7de5[_0x548ddf(0x186)],'jobId':_0x19bb85,'lookupFieldCount':Object['keys'](_0x20e772)[_0x548ddf(0x185)]},_0x548ddf(0x1c1));const _0x59842c=await lookupResolver['processLookupFields'](_0x5a2483,_0x20e772);_0x5a2483=_0x59842c['processedRows'],_0x4dde10=_0x59842c[_0x548ddf(0x1b9)],_0x167ad3[_0x548ddf(0x1db)]=_0x5a2483;}const _0x2a03f9=importValidator[_0x548ddf(0x1b6)](_0x5a2483,_0x3b28b5||[],_0x1c7de5[_0x548ddf(0x21a)](_0x6b592a,{}));_0x4dde10['forEach'](_0x44cc2c=>{const _0x520109=_0x548ddf,_0x4dcf3f=_0x2a03f9[_0x520109(0x174)](_0x15e338=>_0x15e338['rowIndex']===_0x44cc2c['rowIndex']);_0x4dcf3f?_0x4dcf3f['errors'][_0x520109(0x1e0)](_0x44cc2c['message']):_0x2a03f9[_0x520109(0x1e0)]({'rowIndex':_0x44cc2c[_0x520109(0x179)],'rowData':_0x5a2483[_0x44cc2c[_0x520109(0x179)]],'errors':[_0x44cc2c['message']]});});const _0xdfbf55=importValidator[_0x548ddf(0x17e)](_0x5a2483,_0x4294eb);_0xdfbf55['forEach'](_0x20aef5=>{const _0x4a400c=_0x548ddf,_0x118283=_0x2a03f9[_0x4a400c(0x174)](_0x48aae2=>_0x48aae2[_0x4a400c(0x179)]===_0x20aef5[_0x4a400c(0x179)]),_0x149628=_0x4294eb['map'](_0xaf7212=>_0xaf7212['toUpperCase']())[_0x4a400c(0x192)](',\x20'),_0xef172f='Duplicate\x20value\x20for\x20'+_0x149628;_0x118283?_0x118283[_0x4a400c(0x1b9)][_0x4a400c(0x1e0)](_0xef172f):_0x2a03f9[_0x4a400c(0x1e0)]({'rowIndex':_0x20aef5[_0x4a400c(0x179)],'rowData':_0x5a2483[_0x20aef5['rowIndex']],'errors':[_0xef172f]});}),await this[_0x548ddf(0x21b)](_0x5a2483,_0x4294eb,_0x38664f,_0x14f6dc,_0x579eee,_0x2a03f9),_0x2a03f9['forEach'](_0x54b5f1=>{const _0x4858ad=_0x548ddf,_0xb1922f=_0x5a2483[_0x54b5f1[_0x4858ad(0x179)]];_0xb1922f&&(_0xb1922f['_errors']=_0x54b5f1['errors']);});let _0x84a372=0x0,_0x12de65=0x0,_0x2e4f18=0x0;_0x5a2483['forEach'](_0xc1eae7=>{const _0x7caebf=_0x548ddf;if(_0x1c7de5['iUjvD'](_0xc1eae7[_0x7caebf(0x18c)],_0x1c7de5[_0x7caebf(0x1d4)]))_0x84a372++;else{if(_0x1c7de5['iUjvD'](_0xc1eae7[_0x7caebf(0x18c)],_0x1c7de5[_0x7caebf(0x21c)]))_0x12de65++;else _0x1c7de5[_0x7caebf(0x227)](_0xc1eae7[_0x7caebf(0x18c)],'SKIP')&&_0x2e4f18++;}});const _0x4bcb2c={'job_id':_0x19bb85,'upload_id':_0x4dc30c,'status':_0x1c7de5[_0x548ddf(0x1c5)](_0x2a03f9['length'],0x0)?_0x1c7de5['qmLsS']:_0x1c7de5[_0x548ddf(0x1ce)],'progress':0x64,'created_at':_0x167ad3['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x5a2483['length'],'insert_count':_0x84a372,'update_count':_0x12de65,'skip_count':_0x2e4f18,'error_count':_0x2a03f9['length'],'errors':_0x2a03f9,'data':_0x5a2483,'sample_insert':_0x5a2483[_0x548ddf(0x1f7)](_0x1abb3b=>_0x1abb3b[_0x548ddf(0x18c)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x5a2483['filter'](_0x4156fb=>_0x4156fb['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x5a2483['filter'](_0x310752=>_0x310752[_0x548ddf(0x18c)]==='SKIP')[_0x548ddf(0x19d)](0x0,0x5)},'params':_0x34a59c};await redisHelper[_0x548ddf(0x20c)](_0x548ddf(0x1b0)+_0x19bb85,_0x4bcb2c,0xe10),_0x167ad3['rows']=_0x5a2483,await redisHelper['setJob']('upload:'+_0x4dc30c,_0x167ad3,0xe10),logger['info']({'event':_0x548ddf(0x1dc),'jobId':_0x19bb85,'status':_0x4bcb2c['status'],'insertCount':_0x84a372,'updateCount':_0x12de65,'skipCount':_0x2e4f18,'errorCount':_0x2a03f9[_0x548ddf(0x185)]},_0x1c7de5[_0x548ddf(0x21e)]);}catch(_0x4f59f2){logError(_0x4f59f2,{'event':_0x1c7de5[_0x548ddf(0x1ec)],'jobId':_0x19bb85},_0x1c7de5[_0x548ddf(0x1f8)]),await redisHelper['setJob']('job:'+_0x19bb85,{'job_id':_0x19bb85,'upload_id':_0x4dc30c,'status':_0x1c7de5['GFQMJ'],'progress':0x0,'error':_0x4f59f2['message'],'created_at':new Date()[_0x548ddf(0x19c)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5a4b85(0x21b)](_0x1cfcb0,_0x36939e,_0x7d7d93,_0x300f7e,_0x4c464f=a0_0x5a4b85(0x1c4),_0xfc2fd3=[]){const _0x322bf2=a0_0x5a4b85,_0x4d8989={'SbffU':function(_0x10bf67,_0x17960c){return _0x10bf67===_0x17960c;},'Qgubk':'NULL','bHMCQ':function(_0x3e9e8d,_0x4f3e88){return _0x3e9e8d(_0x4f3e88);},'iVuCx':'UPDATE','qgmHQ':'SKIP','uBWYz':function(_0x181a6c,_0x1d5400){return _0x181a6c!==_0x1d5400;},'UYHag':'INSERT','oUoER':'insert_only','cEOIE':_0x322bf2(0x1a9),'ZGUZb':function(_0x4ce94d,_0x72a618){return _0x4ce94d===_0x72a618;},'zIKqy':_0x322bf2(0x1c7)},_0x4694e0=upsertBuilder['chunkRows'](_0x1cfcb0,0x64);for(const _0x564964 of _0x4694e0){const _0x249b51=_0x564964['map'](_0xcc8821=>_0xcc8821[_0x36939e[0x0]]),_0x1a0018=_0x249b51['map'](_0x138f8e=>{const _0x16093e=_0x322bf2;if(_0x4d8989['SbffU'](_0x138f8e,null)||_0x4d8989[_0x16093e(0x20a)](_0x138f8e,undefined))return _0x4d8989['Qgubk'];return'\x27'+_0x4d8989['bHMCQ'](String,_0x138f8e)[_0x16093e(0x213)](/'/g,'\x27\x27')+'\x27';}),_0x46d65f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x300f7e+',\x20'+_0x36939e[_0x322bf2(0x192)](',\x20')+_0x322bf2(0x195)+_0x7d7d93+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x36939e[0x0]+'\x20IN\x20('+_0x1a0018['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x44a465=await _0x4d8989['bHMCQ'](executeQuery,_0x46d65f);_0x4d8989[_0x322bf2(0x1f6)](dbType,_0x4d8989[_0x322bf2(0x1a0)])&&_0x44a465&&_0x44a465[_0x322bf2(0x185)]>0x0&&(_0x44a465=_0x44a465[_0x322bf2(0x206)](_0x32bcd9=>{const _0x3c75cf={};for(const [_0xfab541,_0x512ff3]of Object['entries'](_0x32bcd9)){_0x3c75cf[_0xfab541['toLowerCase']()]=_0x512ff3;}return _0x3c75cf;}));const _0x24434b=new Map();_0x44a465[_0x322bf2(0x199)](_0x191442=>{const _0x34b362=_0x322bf2,_0x21ae9c=_0x191442[_0x36939e[0x0]];_0x24434b[_0x34b362(0x1af)](_0x21ae9c,_0x191442);}),_0x564964[_0x322bf2(0x199)]((_0x4e6e93,_0x40822c)=>{const _0x58f091=_0x322bf2,_0x38ba49=_0x4e6e93[_0x36939e[0x0]],_0x393874=_0x24434b[_0x58f091(0x18d)](_0x38ba49);if(_0x393874){if(_0x4c464f===_0x58f091(0x1c4))_0x4e6e93[_0x58f091(0x18c)]=_0x4d8989[_0x58f091(0x19f)],_0x4e6e93[_0x58f091(0x20d)]=_0x393874[_0x300f7e];else{if(_0x4d8989[_0x58f091(0x20a)](_0x4c464f,_0x58f091(0x1f2))){_0x4e6e93['_action']=_0x4d8989['qgmHQ'],_0x4e6e93['_errors']=_0x4e6e93['_errors']||[],_0x4e6e93[_0x58f091(0x1e4)]['push'](_0x58f091(0x203));const _0x20693d=_0x1cfcb0['indexOf'](_0x4e6e93);_0x4d8989[_0x58f091(0x1d3)](_0x20693d,-0x1)&&_0xfc2fd3['push']({'rowIndex':_0x20693d,'rowData':_0x4e6e93,'errors':[_0x58f091(0x203)]});}else _0x4c464f===_0x58f091(0x1a9)&&(_0x4e6e93[_0x58f091(0x18c)]=_0x4d8989[_0x58f091(0x18b)]);}}else{if(_0x4c464f===_0x58f091(0x1c4))_0x4e6e93['_action']=_0x4d8989['UYHag'];else(_0x4d8989['SbffU'](_0x4c464f,_0x4d8989[_0x58f091(0x202)])||_0x4c464f===_0x4d8989[_0x58f091(0x217)])&&(_0x4e6e93['_action']=_0x4d8989['UYHag']);}});}}async['createCommitJob'](_0x4a6ec4){const _0x104c34=a0_0x5a4b85,_0x453374={'UGqBn':_0x104c34(0x1a3),'CSlXX':_0x104c34(0x1ca),'gNZST':'preview_ok','wonPS':'processing','jilxb':_0x104c34(0x17c)},_0x54ef82=this['generateId'](),_0x5833d8=await redisHelper[_0x104c34(0x1bb)]('job:'+_0x4a6ec4);if(!_0x5833d8)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x5833d8['status']!==_0x453374[_0x104c34(0x1d0)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5833d8[_0x104c34(0x176)]);const _0x4d7a1c={'job_id':_0x54ef82,'upload_id':_0x5833d8['upload_id'],'preview_job_id':_0x4a6ec4,'status':_0x453374[_0x104c34(0x1d6)],'progress':0x0,'created_at':new Date()[_0x104c34(0x19c)](),'params':_0x5833d8['params']};return await redisHelper[_0x104c34(0x20c)]('job:'+_0x54ef82,_0x4d7a1c,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x54ef82,'previewJobId':_0x4a6ec4},_0x453374['jilxb']),this['processCommitJob'](_0x54ef82,_0x5833d8)['catch'](_0x1041a8=>{logError(_0x1041a8,{'event':_0x453374['UGqBn'],'jobId':_0x54ef82},_0x453374['CSlXX']);}),{'job_id':_0x54ef82,'status':_0x453374[_0x104c34(0x1d6)]};}async['processCommitJob'](_0x51117b,_0x1b845c){const _0x1c6b62=a0_0x5a4b85,_0x5a5dbb={'CNGzE':function(_0x5a1a0c,_0x26ac71){return _0x5a1a0c>_0x26ac71;},'RVKtH':'import_fields_filtered','qUgzc':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','sSsWN':function(_0x388ca3,_0x458a2e){return _0x388ca3>_0x458a2e;},'uJOBJ':function(_0x5cbe7e,_0x1216ae){return _0x5cbe7e||_0x1216ae;},'DxLsO':function(_0x3322f5,_0x1e49ca){return _0x3322f5>_0x1e49ca;},'ttqdH':_0x1c6b62(0x193),'xigvb':'completed','nraeq':_0x1c6b62(0x1fe),'gqEEH':function(_0x3c721c,_0x3598a9,_0x1d526c,_0x557a2f){return _0x3c721c(_0x3598a9,_0x1d526c,_0x557a2f);},'nsGze':_0x1c6b62(0x1f0),'UIzck':'Commit\x20job\x20failed','ilhGP':_0x1c6b62(0x1fb)};try{const _0x27cd01=await redisHelper[_0x1c6b62(0x1bb)]('upload:'+_0x1b845c[_0x1c6b62(0x215)]);if(!_0x27cd01)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x4ba34f,params:_0x587d9e}=_0x27cd01,{tableName:_0x5b5c61,fieldName:_0x375480,primaryKey:_0x3aa0c7,upsertKeys:_0x29c05d,excludeFromImport:_0x4b09df,lookupFields:_0x2e78c2,columnFormats:_0x9c6859}=_0x587d9e,_0x29e80d=_0x2e78c2?Object['keys'](_0x2e78c2):[],_0x2b3cd5=new Set([..._0x4b09df||[],..._0x29e80d]);let _0x3ef694=_0x375480;_0x5a5dbb[_0x1c6b62(0x1f1)](_0x2b3cd5['size'],0x0)&&(_0x3ef694=_0x375480[_0x1c6b62(0x1f7)](_0x1472bc=>!_0x2b3cd5[_0x1c6b62(0x1b4)](_0x1472bc)),logger['debug']({'event':_0x5a5dbb[_0x1c6b62(0x225)],'originalCount':_0x375480[_0x1c6b62(0x185)],'filteredCount':_0x3ef694[_0x1c6b62(0x185)],'excludedFields':Array['from'](_0x2b3cd5),'lookupSourceFields':_0x29e80d},_0x5a5dbb[_0x1c6b62(0x1fa)]));const _0x1e614d=_0x4ba34f['filter'](_0x1c1bae=>_0x1c1bae['_action']==='INSERT'),_0x1c5672=_0x4ba34f[_0x1c6b62(0x1f7)](_0x5f0cc4=>_0x5f0cc4[_0x1c6b62(0x18c)]===_0x1c6b62(0x1b8));let _0x4b2101=0x0,_0x1c12ad=0x0;const _0x40dc21=[];if(_0x5a5dbb['sSsWN'](_0x1e614d[_0x1c6b62(0x185)],0x0)){const _0x4575b0=upsertBuilder[_0x1c6b62(0x1de)](_0x1e614d,0x64);for(const _0x2acaad of _0x4575b0){const {query:_0x452048}=upsertBuilder[_0x1c6b62(0x197)](_0x2acaad,_0x5b5c61,_0x3ef694,_0x5a5dbb['uJOBJ'](_0x9c6859,{}));_0x452048&&_0x40dc21['push']({'sql':_0x452048,'count':_0x2acaad['length'],'type':_0x1c6b62(0x1da)});}}if(_0x5a5dbb['DxLsO'](_0x1c5672['length'],0x0)){const _0x1f9af0=upsertBuilder[_0x1c6b62(0x1de)](_0x1c5672,0x64);for(const _0x1b1c69 of _0x1f9af0){const {query:_0x320456}=upsertBuilder['buildBatchUpdate'](_0x1b1c69,_0x5b5c61,_0x3ef694,_0x3aa0c7,_0x29c05d,_0x9c6859||{});_0x320456&&_0x40dc21['push']({'sql':_0x320456,'count':_0x1b1c69[_0x1c6b62(0x185)],'type':_0x5a5dbb['ttqdH']});}}_0x40dc21[_0x1c6b62(0x185)]>0x0&&await executeTransaction(_0x40dc21[_0x1c6b62(0x206)](_0x427ac5=>({'sql':_0x427ac5['sql'],'params':[]})));_0x40dc21[_0x1c6b62(0x199)](_0x3d7a72=>{const _0x3ea68c=_0x1c6b62;if(_0x3d7a72[_0x3ea68c(0x205)]==='insert')_0x4b2101+=_0x3d7a72[_0x3ea68c(0x1cc)];else _0x1c12ad+=_0x3d7a72['count'];});const _0x458ddd={'job_id':_0x51117b,'upload_id':_0x1b845c[_0x1c6b62(0x215)],'preview_job_id':_0x1b845c[_0x1c6b62(0x19a)],'status':_0x5a5dbb['xigvb'],'progress':0x64,'created_at':_0x1b845c[_0x1c6b62(0x1cb)],'started_at':new Date()[_0x1c6b62(0x19c)](),'completed_at':new Date()[_0x1c6b62(0x19c)](),'result':{'total_rows':_0x4ba34f['length'],'inserted_rows':_0x4b2101,'updated_rows':_0x1c12ad,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x587d9e};await redisHelper['setJob']('job:'+_0x51117b,_0x458ddd,0xe10),logger[_0x1c6b62(0x210)]({'event':'commit_job_completed','jobId':_0x51117b,'insertedCount':_0x4b2101,'updatedCount':_0x1c12ad},_0x5a5dbb[_0x1c6b62(0x196)]);}catch(_0x473122){_0x5a5dbb['gqEEH'](logError,_0x473122,{'event':_0x5a5dbb['nsGze'],'jobId':_0x51117b},_0x5a5dbb[_0x1c6b62(0x218)]),await redisHelper['setJob']('job:'+_0x51117b,{'job_id':_0x51117b,'upload_id':_0x1b845c[_0x1c6b62(0x215)],'preview_job_id':_0x1b845c['job_id'],'status':_0x5a5dbb[_0x1c6b62(0x207)],'progress':0x0,'error':_0x473122['message'],'created_at':_0x1b845c['created_at'],'started_at':new Date()[_0x1c6b62(0x19c)](),'completed_at':new Date()[_0x1c6b62(0x19c)]()},0xe10);}}async[a0_0x5a4b85(0x1b5)](_0x6812b4){const _0xd4826f=a0_0x5a4b85,_0x1eb163={'EMarH':'Job\x20not\x20found\x20or\x20expired'},_0x2ce7ef=await redisHelper['getJob'](_0xd4826f(0x1b0)+_0x6812b4);if(!_0x2ce7ef)return{'success':![],'error':_0x1eb163[_0xd4826f(0x1f4)]};return{'success':!![],'data':_0x2ce7ef};}}module['exports']=new ImportService();
|
|
1
|
+
function a0_0x4a02(_0x2f4a30,_0xe9ea61){_0x2f4a30=_0x2f4a30-0x11d;const _0x35d98b=a0_0x35d9();let _0x4a023f=_0x35d98b[_0x2f4a30];if(a0_0x4a02['zvuptZ']===undefined){var _0x2800e0=function(_0x25b185){const _0x902dfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cebf5='',_0x59057e='';for(let _0x47cd67=0x0,_0x22127a,_0x5ca74f,_0x3b3946=0x0;_0x5ca74f=_0x25b185['charAt'](_0x3b3946++);~_0x5ca74f&&(_0x22127a=_0x47cd67%0x4?_0x22127a*0x40+_0x5ca74f:_0x5ca74f,_0x47cd67++%0x4)?_0x5cebf5+=String['fromCharCode'](0xff&_0x22127a>>(-0x2*_0x47cd67&0x6)):0x0){_0x5ca74f=_0x902dfb['indexOf'](_0x5ca74f);}for(let _0x4fcb91=0x0,_0x2a263e=_0x5cebf5['length'];_0x4fcb91<_0x2a263e;_0x4fcb91++){_0x59057e+='%'+('00'+_0x5cebf5['charCodeAt'](_0x4fcb91)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59057e);};a0_0x4a02['RwkkVE']=_0x2800e0,a0_0x4a02['vPTctN']={},a0_0x4a02['zvuptZ']=!![];}const _0x35e64c=_0x35d98b[0x0],_0x12d984=_0x2f4a30+_0x35e64c,_0x3ecc2e=a0_0x4a02['vPTctN'][_0x12d984];return!_0x3ecc2e?(_0x4a023f=a0_0x4a02['RwkkVE'](_0x4a023f),a0_0x4a02['vPTctN'][_0x12d984]=_0x4a023f):_0x4a023f=_0x3ecc2e,_0x4a023f;}const a0_0x35876d=a0_0x4a02;(function(_0x19fcb1,_0x25d9a2){const _0x26c269=a0_0x4a02,_0x5615a5=_0x19fcb1();while(!![]){try{const _0x25ade6=-parseInt(_0x26c269(0x193))/0x1*(-parseInt(_0x26c269(0x14a))/0x2)+-parseInt(_0x26c269(0x1c5))/0x3*(parseInt(_0x26c269(0x1b1))/0x4)+parseInt(_0x26c269(0x183))/0x5*(-parseInt(_0x26c269(0x124))/0x6)+parseInt(_0x26c269(0x13a))/0x7+parseInt(_0x26c269(0x1a7))/0x8+parseInt(_0x26c269(0x18d))/0x9+-parseInt(_0x26c269(0x18b))/0xa;if(_0x25ade6===_0x25d9a2)break;else _0x5615a5['push'](_0x5615a5['shift']());}catch(_0x4f0da5){_0x5615a5['push'](_0x5615a5['shift']());}}}(a0_0x35d9,0xe7510));const {v7:uuidv7}=require(a0_0x35876d(0x18f)),path=require('path'),fs=require('fs')[a0_0x35876d(0x140)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x35876d(0x16f)][a0_0x35876d(0x128)]||'postgresql')[a0_0x35876d(0x1bf)]();function a0_0x35d9(){const _0x44c1d9=['Dw5SAw5R','Bwf0y2G','mZa3nZK3re1gv2Dw','Aw5Zzxj0x29UBhK','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AwjzD20','zuXfsKm','sM1RrMS','ChjVBwLZzxm','A2v5CW','C3vIC3rYAw5N','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','yM9VBgvHBG','DxbKyxrL','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EvvrBg8','y29TBwL0x2PVyL9MywLSzwq','ndm5ngz3vuL1Bq','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','ChjVy2vZC0nVBw1PDePVyG','Cgf0Aa','zNjVBq','C2v0','u0Tjua','C3rYAw5N','DxbSB2fKoG','y2HHCKf0','vvbmt0fex0rjuG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ChjVy2vZC2LUzW','lI4VDxrPBhmVzgi','C2jJBha','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','y29TCgXLDgvK','y2H1BMTsB3DZ','CxzHtuG','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChDKuxC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','z2vUzxjHDgvjza','DxvPzf9HDxrVx2DLBMvYyxrLza','DMfSDwvZ','vMLkBKS','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y2XzC1O','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','Dg9ju09tDhjPBMC','igf0ihjVDYa','x3vWBg9HzerPCG','B3jPz2LUywXUyw1L','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','C2TPCf9LEgLZDgLUzW','y2f0y2G','zgvMyxvSDa','zw52','vvbeqvrf','sLv1ExK','qvrAr1e','zMfSC2u','z2v0rgf0zq','uhjLDMLLDYbQB2iGzMfPBgvK','BxnmDxi','zMXVB3i','zgf0zq','x2v4Axn0Aw5Nswq','DwTLyuK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29SDw1UrM9YBwf0CW','CMvWBgfJzq','y29TBwL0x3bYB2nLC3nFzxjYB3i','B0HdsuK','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','CgfYyw1Z','BgvUz3rO','mZiXnun0D0HJBa','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','Aw5JBhvKzxm','C3rHDhvZ','Aw5KzxHpzG','DMfSAwq','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','v3bct0y','mZmWotG5mezOse1pvq','DhjPBq','ndy5mJGWn3nJBLrQtW','z2v0sM9I','DxvPza','zxHLy3v0zvf1zxj5','rhvWBgLJyxrLihzHBhvLigzVCIa','DxbSB2fKrMLSzq','mJmWuerxC1Dq','AgfZ','CMDKs1m','rgnLzfK','zMLSDgvY','BwfW','ChjLDMLLD19LCNjVCG','yMflCvG','zxHLy3v0zvrYyw5Zywn0Aw9U','AgvHzgvYC19TyxbWzwq','tLvmta','Aw5MBW','wffsy0q','x2fJDgLVBG','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','CgfYC2vfEgnLBezPBgu','DxbSB2fKrgLY','BNvTyMvY','AM9Ix2LK','uhjLDMLLDYbQB2iGy3jLyxrLza','otC3odG0mgDmC1nrBW','BwvZC2fNzq','AM9PBG','q1HJrhm','ueHku2y','yNvPBgrcyxrJAfvWzgf0zq','cIaGicaGicaGv0HfuKuG','C2nVCgvpDMvYCMLKzq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','BgjtwwO','mZGWotjrs2LnuwW','y29SDw1U','zxjYB3jZ','DxbSB2fKx2LK','ChjVy2vZC0XVB2T1CezPzwXKCW','Dg9tDhjPBMC','x2DLBMvYyxrLzf91DwLK','sg5gCMK','jdfFjdi','CM93sw5KzxG','zMz4CuC','AM9IoG','DMfSAwrHDgLUzW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','Dg9mB3DLCKnHC2u','x2vYCM9YCW','y29TBwL0x2PVyL9JCMvHDgvK','yNvPBgrcyxrJAeLUC2vYDa','DhbvEw4','CMfUzg9T','mZnZAhHju1O','cIaGicaGicaGrLjptsa','CM93CW','tenZsLm','Dhj1zq','CgfKu3rHCNq','A0PPwNm','y291BNq','cIaGicaGicaGu0vmrunuia','s3f0v0e','zMLLBgrmywjLBhm','y3nwzxe','BwLZC2LUz0zPzwXKCW','odq5mfL0A1L5Eq','C2v0sM9I','C2XPy2u','ChvZAa','rejFvfLqrq','su5trvju','z2v0','zw50CMLLCW','BxLZCwW','y3jLyxrLzf9HDa','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zM9YrwfJAa','svbwzhO','Dg9vChbLCKnHC2u','BMPpBxu','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','B3jHy2XL','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zgvIDwC','q29TBwL0igPVyIbMywLSzwq'];a0_0x35d9=function(){return _0x44c1d9;};return a0_0x35d9();}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x35876d(0x134))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x45ce1c,_0x309a70)=>oracleDb['executeQuery'](_0x45ce1c,_0x309a70),executeTransaction=_0x5f0120=>oracleDb['executeTransaction'](_0x5f0120);else{if(dbType===a0_0x35876d(0x12c)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5eb1ae,_0x2c21e7)=>mysqlDb[a0_0x35876d(0x190)](_0x5eb1ae,_0x2c21e7),executeTransaction=_0x5c7da3=>mysqlDb[a0_0x35876d(0x19b)](_0x5c7da3);}else{const db=require(a0_0x35876d(0x157));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x35876d(0x143)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x35876d(0x147)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x575226=a0_0x35876d;this[_0x575226(0x169)]=null;}get[a0_0x35876d(0x1a3)](){const _0x36475c=a0_0x35876d;if(!this[_0x36475c(0x169)]){const _0x131a33=process['env']['RESTFORGE_PROJECT_NAME']||_0x36475c(0x16e);this['_uploadDir']=process[_0x36475c(0x16f)][_0x36475c(0x154)]||path['join'](__dirname,'../../temp/uploads/'+_0x131a33);}return this[_0x36475c(0x169)];}[a0_0x35876d(0x160)](){const _0x515bf9=a0_0x35876d,_0x30ccaa={'lbSYj':function(_0x24b146,_0x5a9f43){return _0x24b146-_0x5a9f43;},'DcedY':function(_0x1e199c,_0x4fa67c){return _0x1e199c<_0x4fa67c;}},_0x25bdb3=_0x515bf9(0x12e),_0x651629=Date['now']()[_0x515bf9(0x1b6)](0x24),_0x510f9e=uuidv7()[_0x515bf9(0x17d)](/-/g,'')['substring'](0x0,_0x30ccaa[_0x515bf9(0x1b0)](0xc,_0x651629[_0x515bf9(0x182)])),_0x15bd37=(_0x651629+_0x510f9e)[_0x515bf9(0x142)](0x0,0xc);let _0x3ed550='';for(let _0x7c4365=0x0;_0x30ccaa[_0x515bf9(0x196)](_0x7c4365,0xc);_0x7c4365++){_0x15bd37[_0x7c4365]?_0x3ed550+=_0x15bd37[_0x7c4365]:_0x3ed550+=_0x25bdb3[_0x515bf9(0x153)](Math[_0x515bf9(0x177)](Math[_0x515bf9(0x1c4)]()*_0x25bdb3['length']));}return _0x3ed550;}['buildLabelToFieldMap'](_0x11e925){const _0x3acb62=a0_0x35876d,_0x2e84f3={'TUERg':function(_0x363af4,_0x17c565){return _0x363af4(_0x17c565);},'cvvUC':_0x3acb62(0x1b9)},_0x12331f=new Map();if(!_0x11e925)return _0x12331f;return Object[_0x3acb62(0x12b)](_0x11e925)[_0x3acb62(0x12f)](([_0x581189,_0xfcdf96])=>{const _0x167940=_0x3acb62,_0x2798ae=_0x2e84f3['TUERg'](String,_0xfcdf96)[_0x167940(0x18c)]()[_0x167940(0x17d)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')[_0x167940(0x17d)](/([A-Z]+)([A-Z][a-z])/g,_0x2e84f3['cvvUC'])[_0x167940(0x1bf)]();_0x12331f[_0x167940(0x14f)](_0x2798ae,_0x581189);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x12331f['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x12331f;}[a0_0x35876d(0x15d)](_0x3601d9,_0x3b0dec){const _0x41c87d=a0_0x35876d,_0x445ccd={'AxKVe':_0x41c87d(0x178),'msLur':function(_0x34285f,_0x2c6520){return _0x34285f(_0x2c6520);}};if(!_0x3b0dec||Object['keys'](_0x3b0dec)['length']===0x0)return _0x3601d9;return _0x3601d9['map'](_0x2a9742=>{const _0x375af1=_0x41c87d,_0x1112b5={..._0x2a9742};for(const [_0x19350c,_0xfc1e44]of Object[_0x375af1(0x12b)](_0x3b0dec)){const _0x49e50c=_0x1112b5[_0x19350c];if(_0x49e50c===null||_0x49e50c===undefined||_0x49e50c===''){_0x1112b5[_0x19350c]=null;continue;}switch(_0xfc1e44['type']){case _0x445ccd['AxKVe']:_0x1112b5[_0x19350c]=this['formatDateForDatabase'](_0x49e50c);break;case _0x375af1(0x1a4):_0x1112b5[_0x19350c]=this['formatNumberForDatabase'](_0x49e50c);break;case'boolean':_0x1112b5[_0x19350c]=this[_0x375af1(0x133)](_0x49e50c);break;case'text':_0x1112b5[_0x19350c]=_0x445ccd[_0x375af1(0x176)](String,_0x49e50c);break;default:break;}}return _0x1112b5;});}[a0_0x35876d(0x164)](_0x37a3de){const _0x5d60f6=a0_0x35876d,_0x211ffe={'JmkFk':function(_0x4a8451,_0x9d8afc){return _0x4a8451===_0x9d8afc;},'WpBOF':'string'};if(_0x37a3de===null||_0x211ffe[_0x5d60f6(0x13f)](_0x37a3de,undefined)||_0x37a3de==='')return null;if(typeof _0x37a3de===_0x5d60f6(0x151)&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x37a3de))return _0x37a3de;if(_0x37a3de instanceof Date){if(isNaN(_0x37a3de['getTime']()))return null;const _0x3cb45f=_0x37a3de['getFullYear'](),_0x58716d=String(_0x37a3de['getMonth']()+0x1)['padStart'](0x2,'0'),_0xa1a61d=String(_0x37a3de[_0x5d60f6(0x174)]())[_0x5d60f6(0x1ca)](0x2,'0');return _0x3cb45f+'-'+_0x58716d+'-'+_0xa1a61d;}if(_0x211ffe[_0x5d60f6(0x13f)](typeof _0x37a3de,_0x211ffe[_0x5d60f6(0x18a)])){const _0x4cc36=_0x37a3de[_0x5d60f6(0x139)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x4cc36){const _0x223f62=String(_0x4cc36[0x1])['padStart'](0x2,'0'),_0x2ab20b=String(_0x4cc36[0x2])['padStart'](0x2,'0'),_0x56dcdd=_0x4cc36[0x3];return _0x56dcdd+'-'+_0x2ab20b+'-'+_0x223f62;}const _0x401160=_0x37a3de['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x401160){const _0x161099=_0x401160[0x1],_0x507005=String(_0x401160[0x2])[_0x5d60f6(0x1ca)](0x2,'0'),_0x533738=String(_0x401160[0x3])[_0x5d60f6(0x1ca)](0x2,'0');return _0x161099+'-'+_0x507005+'-'+_0x533738;}}return _0x37a3de;}['formatNumberForDatabase'](_0x45c5f4){const _0x312d1a=a0_0x35876d,_0x5e00f3={'tpUyn':function(_0x3595a0,_0x188a9f){return _0x3595a0===_0x188a9f;},'oHCII':_0x312d1a(0x1a4),'HpuCB':_0x312d1a(0x151)};if(_0x5e00f3[_0x312d1a(0x1c3)](_0x45c5f4,null)||_0x45c5f4===undefined||_0x45c5f4==='')return null;if(typeof _0x45c5f4===_0x5e00f3[_0x312d1a(0x17f)])return isNaN(_0x45c5f4)?null:_0x45c5f4;if(typeof _0x45c5f4===_0x5e00f3['HpuCB']){let _0x403564=_0x45c5f4[_0x312d1a(0x18c)]();const _0x50bfcf=/,\d{1,2}$/['test'](_0x403564)&&!/,\d{3}/['test'](_0x403564);_0x50bfcf?_0x403564=_0x403564['replace'](/\./g,'')['replace'](',','.'):_0x403564=_0x403564[_0x312d1a(0x17d)](/,/g,'');const _0x5180f8=parseFloat(_0x403564);return isNaN(_0x5180f8)?null:_0x5180f8;}return null;}['formatBooleanForDatabase'](_0x286297){const _0x27c729=a0_0x35876d,_0x59a606={'csVeq':function(_0xfdcbc,_0x5e3e8a){return _0xfdcbc===_0x5e3e8a;},'baKqX':function(_0x52626b,_0x41f541){return _0x52626b===_0x41f541;},'LCsJS':_0x27c729(0x145),'ATZGQ':_0x27c729(0x151),'clYsZ':'true','sbclp':_0x27c729(0x173),'giAfE':'number'};if(_0x59a606[_0x27c729(0x122)](_0x286297,null)||_0x59a606['csVeq'](_0x286297,undefined)||_0x59a606[_0x27c729(0x19a)](_0x286297,''))return null;if(_0x59a606[_0x27c729(0x19a)](typeof _0x286297,_0x59a606[_0x27c729(0x1c8)]))return _0x286297?_0x27c729(0x1c9):'false';if(typeof _0x286297===_0x59a606[_0x27c729(0x172)]){const _0xa04292=_0x286297[_0x27c729(0x18c)]()[_0x27c729(0x1bf)]();if([_0x27c729(0x1c9),'yes','y','1'][_0x27c729(0x185)](_0xa04292))return _0x59a606['clYsZ'];if(['false','no','n','0']['includes'](_0xa04292))return _0x59a606['sbclp'];return null;}if(typeof _0x286297===_0x59a606['giAfE'])return _0x286297?_0x59a606[_0x27c729(0x165)]:_0x59a606[_0x27c729(0x158)];return null;}async[a0_0x35876d(0x192)](_0x111129,_0x3843e4){const _0x579ae2=a0_0x35876d,_0x32bfd2={'gfGAB':_0x579ae2(0x19c),'uIIhY':_0x579ae2(0x159),'HnFri':function(_0x2c7d61,_0x2b5af8){return _0x2c7d61>_0x2b5af8;},'eLEJC':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','XDbVt':_0x579ae2(0x144),'TKtBN':function(_0x44beb7,_0x1416d1,_0x4d5bcb,_0x59f88c){return _0x44beb7(_0x1416d1,_0x4d5bcb,_0x59f88c);},'kncHL':'file_cleanup_error'},_0x12d5b8=this['generateId']();try{let {headers:_0x74ac86,rows:_0x21c80f,totalRows:_0x3e2dc8}=await excelParser[_0x579ae2(0x1a2)](_0x111129['path']);const _0x28e7b6=this['buildLabelToFieldMap'](_0x3843e4[_0x579ae2(0x121)]),_0x18fda2=_0x74ac86['map'](_0x50fb9b=>{const _0x7d708b=_0x28e7b6['get'](_0x50fb9b);return _0x7d708b||_0x50fb9b;});_0x21c80f=_0x21c80f[_0x579ae2(0x198)](_0x5908a4=>{const _0x24b698=_0x579ae2,_0x55554a={};return _0x74ac86[_0x24b698(0x12f)]((_0x4d3b42,_0x320215)=>{const _0x255e30=_0x18fda2[_0x320215];_0x55554a[_0x255e30]=_0x5908a4[_0x4d3b42];}),_0x55554a;}),_0x74ac86=_0x18fda2,logger[_0x579ae2(0x136)]({'event':_0x32bfd2['gfGAB'],'original':_0x74ac86['length'],'mapped':_0x18fda2[_0x579ae2(0x197)]((_0x3b41e5,_0x5ead1f)=>_0x3b41e5!==_0x74ac86[_0x5ead1f])['length']},_0x32bfd2['uIIhY']);_0x3843e4['columnFormats']&&_0x32bfd2[_0x579ae2(0x1b8)](Object[_0x579ae2(0x141)](_0x3843e4['columnFormats'])[_0x579ae2(0x182)],0x0)&&(_0x21c80f=this[_0x579ae2(0x15d)](_0x21c80f,_0x3843e4[_0x579ae2(0x17c)]),logger[_0x579ae2(0x136)]({'event':_0x579ae2(0x1a1),'formatCount':Object['keys'](_0x3843e4[_0x579ae2(0x17c)])[_0x579ae2(0x182)],'formats':Object[_0x579ae2(0x141)](_0x3843e4['columnFormats'])},_0x579ae2(0x16b)));if(_0x3843e4[_0x579ae2(0x1ae)]&&_0x3843e4[_0x579ae2(0x1ae)][_0x579ae2(0x1b2)]){const {column:_0x257d69,value:_0x14dfc7}=_0x3843e4['scopeOverride'];_0x21c80f=_0x21c80f[_0x579ae2(0x198)](_0x2fc0bd=>({..._0x2fc0bd,[_0x257d69]:_0x14dfc7})),logger[_0x579ae2(0x136)]({'event':_0x579ae2(0x189),'column':_0x257d69,'rowCount':_0x21c80f[_0x579ae2(0x182)]},_0x32bfd2[_0x579ae2(0x13e)]);}const _0x36ed58=_0x3843e4['lookupFields']?Object[_0x579ae2(0x162)](_0x3843e4['lookupFields'])[_0x579ae2(0x198)](_0x14ecbd=>_0x14ecbd['targetField']):[],_0x19cf02=_0x3843e4['fieldName']['filter'](_0x3d60ff=>!_0x36ed58[_0x579ae2(0x185)](_0x3d60ff)),_0x31f3dd=excelParser[_0x579ae2(0x166)](_0x74ac86,_0x19cf02);if(!_0x31f3dd[_0x579ae2(0x188)]){await fs['unlink'](_0x111129[_0x579ae2(0x14d)]);throw new Error(_0x579ae2(0x1be)+_0x31f3dd[_0x579ae2(0x123)]['join'](',\x20'));}const _0xbee558={'upload_id':_0x12d5b8,'filename':_0x111129['originalname'],'total_rows':_0x3e2dc8,'headers':_0x74ac86,'rows':_0x21c80f,'params':_0x3843e4,'created_at':new Date()['toISOString']()};return await redisHelper[_0x579ae2(0x125)](_0x579ae2(0x152)+_0x12d5b8,_0xbee558,0xe10),await fs['unlink'](_0x111129['path']),logger[_0x579ae2(0x19e)]({'event':'import_file_uploaded','uploadId':_0x12d5b8,'filename':_0x111129[_0x579ae2(0x16a)],'totalRows':_0x3e2dc8},_0x32bfd2['XDbVt']),{'upload_id':_0x12d5b8,'total_rows':_0x3e2dc8,'preview':_0x21c80f[_0x579ae2(0x126)](0x0,0xa)};}catch(_0x46a6ae){try{await fs[_0x579ae2(0x138)](_0x111129[_0x579ae2(0x14d)]);}catch(_0x1ba2e3){_0x32bfd2['TKtBN'](logError,_0x1ba2e3,{'event':_0x32bfd2['kncHL']},'Failed\x20to\x20cleanup\x20file');}throw _0x46a6ae;}}async['createPreviewJob'](_0x585fa1){const _0x4d8931=a0_0x35876d,_0x254808={'njOmu':_0x4d8931(0x17b),'lGxMy':_0x4d8931(0x180),'DWqcq':_0x4d8931(0x1a6)},_0x23436a=this['generateId'](),_0x337833=await redisHelper['getJob'](_0x4d8931(0x152)+_0x585fa1);if(!_0x337833)throw new Error(_0x4d8931(0x13c));const _0xc22b06={'job_id':_0x23436a,'upload_id':_0x585fa1,'status':_0x4d8931(0x1bd),'progress':0x0,'created_at':new Date()[_0x4d8931(0x167)](),'params':_0x337833['params']};return await redisHelper['setJob'](_0x4d8931(0x1bc)+_0x23436a,_0xc22b06,0xe10),logger['info']({'event':'preview_job_created','jobId':_0x23436a,'uploadId':_0x585fa1},_0x254808['DWqcq']),this['processPreviewJob'](_0x23436a,_0x585fa1,_0x337833)[_0x4d8931(0x16d)](_0x42032d=>{const _0x2978b7=_0x4d8931;logError(_0x42032d,{'event':_0x254808[_0x2978b7(0x132)],'jobId':_0x23436a},_0x254808['lGxMy']);}),{'job_id':_0x23436a,'status':'validating'};}['autoGenerateUpsertKeys'](_0x123e4c,_0x4917e1){const _0x3228bf=a0_0x35876d,_0x5db6b1={'JUuyy':function(_0x39c9dc,_0x292e6b){return _0x39c9dc===_0x292e6b;}};_0x123e4c[_0x3228bf(0x12f)]((_0x513412,_0x5e63ba)=>{const _0x145ade={'VnEbd':function(_0x100ff6,_0x528fe2){return _0x5db6b1['JUuyy'](_0x100ff6,_0x528fe2);},'ibYwm':function(_0x4d7efe,_0x141214){const _0x1b0d21=a0_0x4a02;return _0x5db6b1[_0x1b0d21(0x171)](_0x4d7efe,_0x141214);},'NEXOu':function(_0x32a827,_0x115c5b){return _0x32a827(_0x115c5b);}};_0x4917e1['forEach'](_0x21dff3=>{const _0x71ac39=a0_0x4a02,_0x5e1777=_0x513412[_0x21dff3];if(_0x145ade['VnEbd'](_0x5e1777,null)||_0x5e1777===undefined||_0x145ade['VnEbd'](_0x5e1777,'')||_0x145ade[_0x71ac39(0x13d)](_0x145ade['NEXOu'](String,_0x5e1777)['trim'](),'-')){const _0x91b701=uuidv7();_0x513412[_0x21dff3]=_0x91b701,_0x513412[_0x71ac39(0x1b7)]=_0x513412[_0x71ac39(0x1b7)]||{},_0x513412['_generated_uuid'][_0x21dff3]=_0x91b701,logger['debug']({'event':_0x71ac39(0x161),'rowIndex':_0x5e63ba,'field':_0x21dff3,'uuid':_0x91b701},'Auto-generated\x20UUID\x20for\x20'+_0x21dff3+_0x71ac39(0x168)+(_0x5e63ba+0x2));}});});}async['processPreviewJob'](_0xb2554d,_0x1f6c47,_0x4ef147){const _0x3d9e62=a0_0x35876d,_0x12374a={'FJajw':'INSERT','KqtWA':_0x3d9e62(0x170),'qvaMH':'Processing\x20lookup\x20fields','pyFYx':function(_0x2ebf65,_0x51e63d){return _0x2ebf65||_0x51e63d;},'wUIBA':'preview_ok','yUQlo':'preview_job_completed','rgdKS':function(_0x4da476,_0x5b2052,_0x55f0c5,_0x57bd0e){return _0x4da476(_0x5b2052,_0x55f0c5,_0x57bd0e);},'YdWEx':'preview_job_failed','kJiZs':'failed'};try{let {rows:_0x3c3354,params:_0x3b9658}=_0x4ef147;const {requiredFields:_0x26eb23,validations:_0x567ec8,upsertKeys:_0x4806db,tableName:_0x386a54,primaryKey:_0x38539a,fieldName:_0x53bc65,upsertStrategy:_0x4c0490,lookupFields:_0x5be01e}=_0x3b9658;this[_0x3d9e62(0x184)](_0x3c3354,_0x4806db);let _0x3fbc8b=[];if(_0x5be01e&&Object[_0x3d9e62(0x141)](_0x5be01e)['length']>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0xb2554d,'lookupFieldCount':Object['keys'](_0x5be01e)[_0x3d9e62(0x182)]},_0x12374a[_0x3d9e62(0x15c)]);const _0x409a00=await lookupResolver[_0x3d9e62(0x1b5)](_0x3c3354,_0x5be01e);_0x3c3354=_0x409a00['processedRows'],_0x3fbc8b=_0x409a00['errors'],_0x4ef147[_0x3d9e62(0x1c7)]=_0x3c3354;}const _0x9dc235=importValidator['batchValidateRows'](_0x3c3354,_0x26eb23||[],_0x12374a['pyFYx'](_0x567ec8,{}));_0x3fbc8b[_0x3d9e62(0x12f)](_0x316914=>{const _0x379e4f=_0x3d9e62,_0x52803d=_0x9dc235['find'](_0x2e8501=>_0x2e8501['rowIndex']===_0x316914[_0x379e4f(0x1ba)]);_0x52803d?_0x52803d[_0x379e4f(0x1b3)][_0x379e4f(0x127)](_0x316914['message']):_0x9dc235[_0x379e4f(0x127)]({'rowIndex':_0x316914[_0x379e4f(0x1ba)],'rowData':_0x3c3354[_0x316914['rowIndex']],'errors':[_0x316914[_0x379e4f(0x1a8)]]});});const _0x3c34c9=importValidator[_0x3d9e62(0x1af)](_0x3c3354,_0x4806db);_0x3c34c9['forEach'](_0x97e38b=>{const _0x1d8828=_0x3d9e62,_0x2cf6ad=_0x9dc235['find'](_0x14fc9b=>_0x14fc9b['rowIndex']===_0x97e38b['rowIndex']),_0x3d1f32=_0x4806db['map'](_0x5affdc=>_0x5affdc[_0x1d8828(0x131)]())['join'](',\x20'),_0xff7278=_0x1d8828(0x191)+_0x3d1f32;_0x2cf6ad?_0x2cf6ad[_0x1d8828(0x1b3)]['push'](_0xff7278):_0x9dc235[_0x1d8828(0x127)]({'rowIndex':_0x97e38b[_0x1d8828(0x1ba)],'rowData':_0x3c3354[_0x97e38b[_0x1d8828(0x1ba)]],'errors':[_0xff7278]});}),await this['detectDatabaseDuplicates'](_0x3c3354,_0x4806db,_0x386a54,_0x38539a,_0x4c0490,_0x9dc235),_0x9dc235['forEach'](_0x52a13e=>{const _0x8d5405=_0x3d9e62,_0x115c02=_0x3c3354[_0x52a13e[_0x8d5405(0x1ba)]];_0x115c02&&(_0x115c02[_0x8d5405(0x1c0)]=_0x52a13e[_0x8d5405(0x1b3)]);});let _0x5c9636=0x0,_0x1160dd=0x0,_0x451de7=0x0;_0x3c3354['forEach'](_0x43ba82=>{const _0x54b972=_0x3d9e62;if(_0x43ba82[_0x54b972(0x1a0)]===_0x12374a['FJajw'])_0x5c9636++;else{if(_0x43ba82['_action']===_0x12374a[_0x54b972(0x120)])_0x1160dd++;else _0x43ba82['_action']===_0x54b972(0x150)&&_0x451de7++;}});const _0x10afaf={'job_id':_0xb2554d,'upload_id':_0x1f6c47,'status':_0x9dc235[_0x3d9e62(0x182)]>0x0?_0x3d9e62(0x199):_0x12374a['wUIBA'],'progress':0x64,'created_at':_0x4ef147[_0x3d9e62(0x12d)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x3c3354[_0x3d9e62(0x182)],'insert_count':_0x5c9636,'update_count':_0x1160dd,'skip_count':_0x451de7,'error_count':_0x9dc235[_0x3d9e62(0x182)],'errors':_0x9dc235,'data':_0x3c3354,'sample_insert':_0x3c3354['filter'](_0x41c102=>_0x41c102[_0x3d9e62(0x1a0)]===_0x3d9e62(0x129))[_0x3d9e62(0x126)](0x0,0x5),'sample_update':_0x3c3354['filter'](_0x5eb53d=>_0x5eb53d[_0x3d9e62(0x1a0)]===_0x3d9e62(0x170))[_0x3d9e62(0x126)](0x0,0x5),'sample_skip':_0x3c3354['filter'](_0x312ec3=>_0x312ec3['_action']===_0x3d9e62(0x150))[_0x3d9e62(0x126)](0x0,0x5)},'params':_0x3b9658};await redisHelper['setJob'](_0x3d9e62(0x1bc)+_0xb2554d,_0x10afaf,0xe10),_0x4ef147[_0x3d9e62(0x1c7)]=_0x3c3354,await redisHelper[_0x3d9e62(0x125)]('upload:'+_0x1f6c47,_0x4ef147,0xe10),logger['info']({'event':_0x12374a[_0x3d9e62(0x148)],'jobId':_0xb2554d,'status':_0x10afaf['status'],'insertCount':_0x5c9636,'updateCount':_0x1160dd,'skipCount':_0x451de7,'errorCount':_0x9dc235['length']},'Preview\x20job\x20completed');}catch(_0x47b017){_0x12374a[_0x3d9e62(0x195)](logError,_0x47b017,{'event':_0x12374a['YdWEx'],'jobId':_0xb2554d},_0x3d9e62(0x175)),await redisHelper['setJob']('job:'+_0xb2554d,{'job_id':_0xb2554d,'upload_id':_0x1f6c47,'status':_0x12374a[_0x3d9e62(0x11d)],'progress':0x0,'error':_0x47b017['message'],'created_at':new Date()[_0x3d9e62(0x167)](),'completed_at':new Date()[_0x3d9e62(0x167)]()},0xe10);}}async['detectDatabaseDuplicates'](_0xab9231,_0x466ef5,_0x3f3cce,_0x507744,_0x4ca26d='update_existing',_0x1959d5=[]){const _0x429f68=a0_0x35876d,_0x19459c={'CXcDs':function(_0x5c043c,_0x5c3d7b){return _0x5c043c===_0x5c3d7b;},'IPVdz':'update_existing','pwdQw':_0x429f68(0x150),'uIzWt':function(_0x2c978b,_0x585acc){return _0x2c978b!==_0x585acc;},'XQRcD':function(_0x222e4e,_0x1b393f){return _0x222e4e===_0x1b393f;},'lqZtE':function(_0x36c057,_0x105df4){return _0x36c057===_0x105df4;},'LeJkw':'skip_existing','ViJnK':function(_0x7dabaa,_0x59dd42){return _0x7dabaa===_0x59dd42;}},_0x4c9d66=upsertBuilder['chunkRows'](_0xab9231,0x64);for(const _0x4ec31d of _0x4c9d66){const _0x4f9275=_0x4ec31d[_0x429f68(0x198)](_0x50d8ef=>_0x50d8ef[_0x466ef5[0x0]]),_0x327067=_0x4f9275['map'](_0x241130=>{const _0x24b3d7=_0x429f68;if(_0x19459c[_0x24b3d7(0x1aa)](_0x241130,null)||_0x19459c['CXcDs'](_0x241130,undefined))return _0x24b3d7(0x19d);return'\x27'+String(_0x241130)[_0x24b3d7(0x17d)](/'/g,'\x27\x27')+'\x27';}),_0x41dc1e=_0x429f68(0x11f)+_0x507744+',\x20'+_0x466ef5[_0x429f68(0x1a9)](',\x20')+_0x429f68(0x1c6)+_0x3f3cce+_0x429f68(0x1ad)+_0x466ef5[0x0]+'\x20IN\x20('+_0x327067[_0x429f68(0x1a9)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x95e4b7=await executeQuery(_0x41dc1e);_0x19459c[_0x429f68(0x163)](dbType,'oracle')&&_0x95e4b7&&_0x95e4b7['length']>0x0&&(_0x95e4b7=_0x95e4b7[_0x429f68(0x198)](_0x407eb2=>{const _0x4c2f02=_0x429f68,_0x456654={};for(const [_0x368b5f,_0x4df1cb]of Object['entries'](_0x407eb2)){_0x456654[_0x368b5f[_0x4c2f02(0x1bf)]()]=_0x4df1cb;}return _0x456654;}));const _0x5969a2=new Map();_0x95e4b7[_0x429f68(0x12f)](_0x3cbbfb=>{const _0x5c785c=_0x3cbbfb[_0x466ef5[0x0]];_0x5969a2['set'](_0x5c785c,_0x3cbbfb);}),_0x4ec31d['forEach']((_0x1dad8a,_0x1a7cd7)=>{const _0x1caf51=_0x429f68,_0x388ca3=_0x1dad8a[_0x466ef5[0x0]],_0x49bfc7=_0x5969a2[_0x1caf51(0x12a)](_0x388ca3);if(_0x49bfc7){if(_0x19459c[_0x1caf51(0x1aa)](_0x4ca26d,_0x19459c['IPVdz']))_0x1dad8a[_0x1caf51(0x1a0)]='UPDATE',_0x1dad8a[_0x1caf51(0x179)]=_0x49bfc7[_0x507744];else{if(_0x4ca26d===_0x1caf51(0x13b)){_0x1dad8a['_action']=_0x19459c[_0x1caf51(0x15e)],_0x1dad8a['_errors']=_0x1dad8a[_0x1caf51(0x1c0)]||[],_0x1dad8a['_errors'][_0x1caf51(0x127)](_0x1caf51(0x135));const _0x428cf9=_0xab9231[_0x1caf51(0x187)](_0x1dad8a);_0x19459c['uIzWt'](_0x428cf9,-0x1)&&_0x1959d5[_0x1caf51(0x127)]({'rowIndex':_0x428cf9,'rowData':_0x1dad8a,'errors':[_0x1caf51(0x135)]});}else _0x19459c[_0x1caf51(0x19f)](_0x4ca26d,_0x1caf51(0x16c))&&(_0x1dad8a[_0x1caf51(0x1a0)]=_0x19459c['pwdQw']);}}else{if(_0x4ca26d===_0x19459c[_0x1caf51(0x130)])_0x1dad8a[_0x1caf51(0x1a0)]='INSERT';else(_0x19459c['lqZtE'](_0x4ca26d,_0x1caf51(0x13b))||_0x4ca26d===_0x19459c['LeJkw'])&&(_0x1dad8a['_action']=_0x1caf51(0x129));}});}}async['createCommitJob'](_0x20c4cb){const _0x1938d2=a0_0x35876d,_0x216302={'nEsiy':function(_0x6c8f57,_0x37b6a4,_0x4036e8,_0x50a8b9){return _0x6c8f57(_0x37b6a4,_0x4036e8,_0x50a8b9);},'uhOmt':_0x1938d2(0x17e),'Tmgcg':'Commit\x20processing\x20failed','AFQsB':'Preview\x20job\x20not\x20found\x20or\x20expired','ffxqG':'preview_ok','EXHgH':_0x1938d2(0x1c1)},_0x33864e=this['generateId'](),_0x597a71=await redisHelper[_0x1938d2(0x18e)]('job:'+_0x20c4cb);if(!_0x597a71)throw new Error(_0x216302['AFQsB']);if(_0x597a71['status']!==_0x216302[_0x1938d2(0x1bb)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x597a71[_0x1938d2(0x186)]);const _0x433074={'job_id':_0x33864e,'upload_id':_0x597a71['upload_id'],'preview_job_id':_0x20c4cb,'status':_0x1938d2(0x156),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x597a71[_0x1938d2(0x181)]};return await redisHelper['setJob'](_0x1938d2(0x1bc)+_0x33864e,_0x433074,0xe10),logger[_0x1938d2(0x19e)]({'event':_0x216302['EXHgH'],'jobId':_0x33864e,'previewJobId':_0x20c4cb},'Commit\x20job\x20created'),this['processCommitJob'](_0x33864e,_0x597a71)['catch'](_0x483000=>{_0x216302['nEsiy'](logError,_0x483000,{'event':_0x216302['uhOmt'],'jobId':_0x33864e},_0x216302['Tmgcg']);}),{'job_id':_0x33864e,'status':_0x1938d2(0x156)};}async[a0_0x35876d(0x14c)](_0x31a436,_0x17b9a8){const _0xda416e=a0_0x35876d,_0x93c953={'UEOND':function(_0x35133e,_0x4c3ea4){return _0x35133e>_0x4c3ea4;},'DrRoT':_0xda416e(0x15f),'ukeaI':function(_0x1529b3,_0x410e4d){return _0x1529b3||_0x410e4d;},'YJjfi':_0xda416e(0x146),'PHJSf':function(_0x1c98c7,_0x42264a){return _0x1c98c7(_0x42264a);},'MvllG':_0xda416e(0x15a),'GJAXq':'Commit\x20job\x20completed'};try{const _0x2687b8=await redisHelper['getJob']('upload:'+_0x17b9a8[_0xda416e(0x1b4)]);if(!_0x2687b8)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x29a6ef,params:_0x368679}=_0x2687b8,{tableName:_0x586c9d,fieldName:_0x2bce27,primaryKey:_0x47e0cb,upsertKeys:_0x4e0824,excludeFromImport:_0x41d20b,lookupFields:_0x4052f8,columnFormats:_0x4dad4f}=_0x368679,_0xd121c8=_0x4052f8?Object['keys'](_0x4052f8):[],_0x363f41=new Set([..._0x41d20b||[],..._0xd121c8]);let _0x178267=_0x2bce27;_0x93c953['UEOND'](_0x363f41['size'],0x0)&&(_0x178267=_0x2bce27['filter'](_0x268e2a=>!_0x363f41[_0xda416e(0x194)](_0x268e2a)),logger['debug']({'event':_0xda416e(0x14b),'originalCount':_0x2bce27['length'],'filteredCount':_0x178267[_0xda416e(0x182)],'excludedFields':Array[_0xda416e(0x14e)](_0x363f41),'lookupSourceFields':_0xd121c8},_0x93c953['DrRoT']));const _0x29d584=_0x29a6ef[_0xda416e(0x197)](_0x11a1b8=>_0x11a1b8['_action']===_0xda416e(0x129)),_0x1e9b66=_0x29a6ef['filter'](_0x1ef891=>_0x1ef891[_0xda416e(0x1a0)]===_0xda416e(0x170));let _0xcb6b40=0x0,_0x317b7b=0x0;const _0x15d561=[];if(_0x29d584['length']>0x0){const _0x5462e8=upsertBuilder['chunkRows'](_0x29d584,0x64);for(const _0x5391ae of _0x5462e8){const {query:_0x5f2726}=upsertBuilder[_0xda416e(0x1c2)](_0x5391ae,_0x586c9d,_0x178267,_0x93c953[_0xda416e(0x17a)](_0x4dad4f,{}));_0x5f2726&&_0x15d561['push']({'sql':_0x5f2726,'count':_0x5391ae[_0xda416e(0x182)],'type':'insert'});}}if(_0x93c953['UEOND'](_0x1e9b66['length'],0x0)){const _0x9c7a0a=upsertBuilder[_0xda416e(0x15b)](_0x1e9b66,0x64);for(const _0x86017c of _0x9c7a0a){const {query:_0x304d81}=upsertBuilder[_0xda416e(0x1ac)](_0x86017c,_0x586c9d,_0x178267,_0x47e0cb,_0x4e0824,_0x4dad4f||{});_0x304d81&&_0x15d561['push']({'sql':_0x304d81,'count':_0x86017c[_0xda416e(0x182)],'type':_0x93c953['YJjfi']});}}_0x15d561['length']>0x0&&await _0x93c953[_0xda416e(0x1ab)](executeTransaction,_0x15d561['map'](_0x49d5e1=>({'sql':_0x49d5e1['sql'],'params':[]})));_0x15d561[_0xda416e(0x12f)](_0x529dbe=>{const _0x7eba63=_0xda416e;if(_0x529dbe['type']==='insert')_0xcb6b40+=_0x529dbe[_0x7eba63(0x11e)];else _0x317b7b+=_0x529dbe['count'];});const _0x34ac6a={'job_id':_0x31a436,'upload_id':_0x17b9a8['upload_id'],'preview_job_id':_0x17b9a8['job_id'],'status':_0x93c953['MvllG'],'progress':0x64,'created_at':_0x17b9a8['created_at'],'started_at':new Date()[_0xda416e(0x167)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x29a6ef[_0xda416e(0x182)],'inserted_rows':_0xcb6b40,'updated_rows':_0x317b7b,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x368679};await redisHelper['setJob']('job:'+_0x31a436,_0x34ac6a,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x31a436,'insertedCount':_0xcb6b40,'updatedCount':_0x317b7b},_0x93c953['GJAXq']);}catch(_0x58d08d){logError(_0x58d08d,{'event':_0xda416e(0x149),'jobId':_0x31a436},_0xda416e(0x137)),await redisHelper['setJob']('job:'+_0x31a436,{'job_id':_0x31a436,'upload_id':_0x17b9a8['upload_id'],'preview_job_id':_0x17b9a8[_0xda416e(0x1a5)],'status':'failed','progress':0x0,'error':_0x58d08d[_0xda416e(0x1a8)],'created_at':_0x17b9a8[_0xda416e(0x12d)],'started_at':new Date()[_0xda416e(0x167)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x47d549){const _0x3faf07=a0_0x35876d,_0x5892e1=await redisHelper['getJob'](_0x3faf07(0x1bc)+_0x47d549);if(!_0x5892e1)return{'success':![],'error':_0x3faf07(0x155)};return{'success':!![],'data':_0x5892e1};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x56875a=a0_0x178f;(function(_0x328c48,_0x2ff676){const _0x56d512=a0_0x178f,_0x563016=_0x328c48();while(!![]){try{const _0x1777b2=parseInt(_0x56d512(0x133))/0x1*(parseInt(_0x56d512(0x134))/0x2)+-parseInt(_0x56d512(0x15b))/0x3+parseInt(_0x56d512(0x122))/0x4*(-parseInt(_0x56d512(0x165))/0x5)+parseInt(_0x56d512(0x17b))/0x6+parseInt(_0x56d512(0x17c))/0x7+-parseInt(_0x56d512(0x16c))/0x8*(-parseInt(_0x56d512(0x14b))/0x9)+parseInt(_0x56d512(0x120))/0xa*(-parseInt(_0x56d512(0x137))/0xb);if(_0x1777b2===_0x2ff676)break;else _0x563016['push'](_0x563016['shift']());}catch(_0x435465){_0x563016['push'](_0x563016['shift']());}}}(a0_0x4d55,0x24ab4));function a0_0x178f(_0x38fe90,_0x575c2d){_0x38fe90=_0x38fe90-0x10e;const _0x4d551d=a0_0x4d55();let _0x178f03=_0x4d551d[_0x38fe90];if(a0_0x178f['cPXRvm']===undefined){var _0x75d460=function(_0x269eb2){const _0x29d849='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fdabd='',_0x4bc782='';for(let _0x16fe85=0x0,_0x31af52,_0x11b041,_0x2ab598=0x0;_0x11b041=_0x269eb2['charAt'](_0x2ab598++);~_0x11b041&&(_0x31af52=_0x16fe85%0x4?_0x31af52*0x40+_0x11b041:_0x11b041,_0x16fe85++%0x4)?_0x1fdabd+=String['fromCharCode'](0xff&_0x31af52>>(-0x2*_0x16fe85&0x6)):0x0){_0x11b041=_0x29d849['indexOf'](_0x11b041);}for(let _0x787cf0=0x0,_0xe4344b=_0x1fdabd['length'];_0x787cf0<_0xe4344b;_0x787cf0++){_0x4bc782+='%'+('00'+_0x1fdabd['charCodeAt'](_0x787cf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bc782);};a0_0x178f['PbbXTB']=_0x75d460,a0_0x178f['YEsGtc']={},a0_0x178f['cPXRvm']=!![];}const _0x429f53=_0x4d551d[0x0],_0x3faf18=_0x38fe90+_0x429f53,_0x3ce37e=a0_0x178f['YEsGtc'][_0x3faf18];return!_0x3ce37e?(_0x178f03=a0_0x178f['PbbXTB'](_0x178f03),a0_0x178f['YEsGtc'][_0x3faf18]=_0x178f03):_0x178f03=_0x3ce37e,_0x178f03;}const {Kafka,logLevel}=require(a0_0x56875a(0x13b)),{v7:uuidv7}=require(a0_0x56875a(0x119));class KafkaConsumerService{constructor(){const _0xd99b9b=a0_0x56875a,_0x9a1ce2={'UWHhk':_0xd99b9b(0x124)},_0x5ef935=_0x9a1ce2['UWHhk']['split']('|');let _0x1934d1=0x0;while(!![]){switch(_0x5ef935[_0x1934d1++]){case'0':this['connectionPromise']=null;continue;case'1':this[_0xd99b9b(0x12a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'2':this[_0xd99b9b(0x18a)]=[];continue;case'3':this['messageHandler']=null;continue;case'4':this['isPaused']=![];continue;case'5':this['kafka']=null;continue;case'6':this[_0xd99b9b(0x180)]=![];continue;case'7':this[_0xd99b9b(0x16d)]=null;continue;case'8':this[_0xd99b9b(0x11c)]=![];continue;case'9':this['isConnected']=![];continue;case'10':this['groupId']=null;continue;}break;}}['getConfig'](){const _0x1aadb9=a0_0x56875a,_0x46e379={'rerCR':function(_0x4b7645,_0x40ded4){return _0x4b7645===_0x40ded4;},'rGAzz':_0x1aadb9(0x151),'FsXSo':_0x1aadb9(0x128),'deWFr':'25000','uWAiU':function(_0x59148c,_0x4934d1){return _0x59148c(_0x4934d1);},'ktPUu':_0x1aadb9(0x169),'dLOdW':'warn'};return{'enabled':_0x46e379['rerCR'](process['env']['KAFKA_ENABLED'],'true'),'brokers':(process[_0x1aadb9(0x123)][_0x1aadb9(0x174)]||_0x1aadb9(0x136))['split'](','),'clientId':process[_0x1aadb9(0x123)][_0x1aadb9(0x16b)]||'restforge-'+(process['env'][_0x1aadb9(0x11b)]||_0x46e379['rGAzz'])+_0x1aadb9(0x145),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x46e379[_0x1aadb9(0x15e)]),'requestTimeout':parseInt(process[_0x1aadb9(0x123)][_0x1aadb9(0x125)]||_0x46e379['deWFr']),'sessionTimeout':parseInt(process[_0x1aadb9(0x123)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x46e379[_0x1aadb9(0x158)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':parseInt(process['env'][_0x1aadb9(0x162)]||_0x46e379['ktPUu']),'autoCommit':_0x46e379[_0x1aadb9(0x15f)](process['env'][_0x1aadb9(0x170)],_0x1aadb9(0x164)),'autoCommitInterval':parseInt(process['env'][_0x1aadb9(0x168)]||_0x1aadb9(0x114)),'retryAttempts':parseInt(process['env'][_0x1aadb9(0x185)]||'3'),'retryDelay':_0x46e379[_0x1aadb9(0x158)](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x1aadb9(0x183)),'retryMaxDelay':parseInt(process[_0x1aadb9(0x123)][_0x1aadb9(0x178)]||_0x1aadb9(0x11f)),'logLevel':process[_0x1aadb9(0x123)]['KAFKA_LOG_LEVEL']||_0x46e379['dLOdW']};}[a0_0x56875a(0x135)](_0x5b8490){const _0x1fd1af=a0_0x56875a,_0xa4f88c={'nothing':logLevel[_0x1fd1af(0x189)],'error':logLevel[_0x1fd1af(0x12f)],'warn':logLevel[_0x1fd1af(0x184)],'info':logLevel[_0x1fd1af(0x115)],'debug':logLevel['DEBUG']};return _0xa4f88c[_0x5b8490[_0x1fd1af(0x131)]()]||logLevel['WARN'];}async[a0_0x56875a(0x17d)](_0x603aa9={}){const _0x5dbad7=a0_0x56875a,_0x1e98c3={'budKt':function(_0x5cb6b0,_0xa4b17d){return _0x5cb6b0===_0xa4b17d;},'qbAMv':'true','gCyox':function(_0xb14932,_0x118cc2){return _0xb14932(_0x118cc2);}},_0x24428f=this[_0x5dbad7(0x112)]();if(!_0x24428f[_0x5dbad7(0x15c)])return console[_0x5dbad7(0x12b)](_0x5dbad7(0x110)),![];if(this[_0x5dbad7(0x126)])return!![];if(this[_0x5dbad7(0x180)]&&this['connectionPromise'])return this[_0x5dbad7(0x12e)];return this[_0x5dbad7(0x180)]=!![],this[_0x5dbad7(0x12e)]=new Promise(async _0x5edc82=>{const _0x5406a7=_0x5dbad7;try{let _0x51626b=undefined;_0x1e98c3[_0x5406a7(0x157)](process[_0x5406a7(0x123)][_0x5406a7(0x16a)],_0x1e98c3[_0x5406a7(0x177)])&&(_0x51626b=!![]);let _0x49d028=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x49d028={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x5406a7(0x123)][_0x5406a7(0x171)]||'','password':process[_0x5406a7(0x123)][_0x5406a7(0x139)]||''}),this['kafka']=new Kafka({'clientId':_0x603aa9[_0x5406a7(0x146)]||_0x24428f['clientId'],'brokers':_0x24428f['brokers'],'connectionTimeout':_0x24428f[_0x5406a7(0x140)],'requestTimeout':_0x24428f['requestTimeout'],'logLevel':this[_0x5406a7(0x135)](_0x24428f[_0x5406a7(0x163)]),'ssl':_0x51626b,'sasl':_0x49d028,'retry':{'initialRetryTime':_0x24428f['retryDelay'],'retries':_0x24428f[_0x5406a7(0x142)],'maxRetryTime':_0x24428f['retryMaxDelay']}}),this['groupId']=_0x603aa9[_0x5406a7(0x14a)]||_0x5406a7(0x129)+(process['env'][_0x5406a7(0x11b)]||'default')+'-consumer-group',this[_0x5406a7(0x16d)]=this['kafka']['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x24428f['sessionTimeout'],'heartbeatInterval':_0x24428f[_0x5406a7(0x17a)],'maxBytesPerPartition':_0x24428f[_0x5406a7(0x12d)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x24428f['brokers']['join'](',\x20')+_0x5406a7(0x16e)+this['groupId']+')'),this[_0x5406a7(0x14c)](),_0x1e98c3['gCyox'](_0x5edc82,!![]);}catch(_0x1951ea){console[_0x5406a7(0x127)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x1951ea[_0x5406a7(0x15a)]),this['isConnected']=![],_0x1e98c3['gCyox'](_0x5edc82,![]);}finally{this['isInitializing']=![];}}),this[_0x5dbad7(0x12e)];}['setupEventHandlers'](){const _0x4d7962=a0_0x56875a,_0x217fdd={'CsavF':_0x4d7962(0x118),'NPjBV':_0x4d7962(0x160),'jlvIH':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x4d7962(0x16d)]['on'](_0x4d7962(0x10e),()=>{const _0xb06b9d=_0x4d7962;console['log'](_0x217fdd[_0xb06b9d(0x172)]),this[_0xb06b9d(0x126)]=![],this[_0xb06b9d(0x11c)]=![];}),this['consumer']['on'](_0x4d7962(0x179),()=>{console['log'](_0x217fdd['NPjBV']),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x54c9a1=>{const _0x3149bc=_0x4d7962;console[_0x3149bc(0x127)](_0x3149bc(0x17e)+_0x54c9a1[_0x3149bc(0x13a)][_0x3149bc(0x127)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x217fdd['jlvIH'],()=>{const _0xf59dd4=_0x4d7962;console[_0xf59dd4(0x12b)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x56875a(0x188)](_0x97e622,_0x59a8b6=![]){const _0x288460=a0_0x56875a;if(!this['isConnected'])return console['error'](_0x288460(0x150)),![];try{const _0x1588f0=Array[_0x288460(0x159)](_0x97e622)?_0x97e622:[_0x97e622];for(const _0x24c963 of _0x1588f0){await this[_0x288460(0x16d)]['subscribe']({'topic':_0x24c963,'fromBeginning':_0x59a8b6}),console['log'](_0x288460(0x13c)+_0x24c963+'\x20(fromBeginning:\x20'+_0x59a8b6+')');}return this[_0x288460(0x18a)]=[...new Set([...this['subscribedTopics'],..._0x1588f0])],!![];}catch(_0x4d8428){return console[_0x288460(0x127)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x4d8428['message']),![];}}async[a0_0x56875a(0x17f)](_0x4ffbcd,_0x80c4de={}){const _0x1e4bef=a0_0x56875a,_0x28f755={'NJgQj':function(_0x1b5fa3,_0x182f2b){return _0x1b5fa3+_0x182f2b;},'KknZB':_0x1e4bef(0x13d)};if(!this[_0x1e4bef(0x126)])return console[_0x1e4bef(0x127)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x28f755['KknZB']),!![];const _0x3f4059=this[_0x1e4bef(0x112)]();this['messageHandler']=_0x4ffbcd;try{return this[_0x1e4bef(0x12a)][_0x1e4bef(0x166)]=new Date(),await this['consumer']['run']({'autoCommit':_0x80c4de[_0x1e4bef(0x12c)]!==undefined?_0x80c4de[_0x1e4bef(0x12c)]:_0x3f4059['autoCommit'],'autoCommitInterval':_0x3f4059['autoCommitInterval'],'eachMessage':async({topic:_0x2a93d0,partition:_0x315421,message:_0x262e2a,heartbeat:_0x47c9d7})=>{const _0x47ef52=_0x1e4bef,_0x586ba9=Date[_0x47ef52(0x13f)]();this['metrics'][_0x47ef52(0x130)]++,this[_0x47ef52(0x12a)][_0x47ef52(0x147)]=new Date();try{const _0x30b6f4=_0x262e2a['value']?_0x262e2a['value']['toString']():null;let _0xf7d8e8=null;try{_0xf7d8e8=_0x30b6f4?JSON['parse'](_0x30b6f4):null;}catch(_0x52fdd9){_0xf7d8e8=_0x30b6f4;}const _0x304633={'topic':_0x2a93d0,'partition':_0x315421,'offset':_0x262e2a['offset'],'key':_0x262e2a[_0x47ef52(0x138)]?_0x262e2a[_0x47ef52(0x138)][_0x47ef52(0x175)]():null,'headers':this['parseHeaders'](_0x262e2a[_0x47ef52(0x121)]),'timestamp':_0x262e2a[_0x47ef52(0x153)],'value':_0xf7d8e8,'raw':_0x30b6f4};this['messageHandler']&&await this['messageHandler'](_0x304633);!_0x3f4059[_0x47ef52(0x12c)]&&await this['consumer']['commitOffsets']([{'topic':_0x2a93d0,'partition':_0x315421,'offset':_0x28f755[_0x47ef52(0x111)](parseInt(_0x262e2a['offset']),0x1)['toString']()}]);this[_0x47ef52(0x12a)][_0x47ef52(0x173)]++;const _0x492459=Date['now']()-_0x586ba9;this['metrics']['processingTimes']['push'](_0x492459),this['metrics'][_0x47ef52(0x176)][_0x47ef52(0x13e)]>0x64&&this[_0x47ef52(0x12a)][_0x47ef52(0x176)][_0x47ef52(0x14e)](),await _0x47c9d7();}catch(_0x16c3b0){this[_0x47ef52(0x12a)][_0x47ef52(0x141)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x16c3b0[_0x47ef52(0x15a)]);throw _0x16c3b0;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x1e4bef(0x18a)]['join'](',\x20')),!![];}catch(_0x15338b){return console['error'](_0x1e4bef(0x14f)+_0x15338b[_0x1e4bef(0x15a)]),![];}}['parseHeaders'](_0x523f12){const _0x802104=a0_0x56875a;if(!_0x523f12)return{};const _0x41c84d={};for(const [_0x3aa2e5,_0xec925]of Object[_0x802104(0x144)](_0x523f12)){_0x41c84d[_0x3aa2e5]=_0xec925?_0xec925['toString']():null;}return _0x41c84d;}async[a0_0x56875a(0x155)](){const _0x33b334=a0_0x56875a,_0x5be5b6={'HOAfB':_0x33b334(0x152),'kcIKq':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x33b334(0x126)]||!this[_0x33b334(0x11c)])return console['log'](_0x5be5b6[_0x33b334(0x15d)]),![];if(this[_0x33b334(0x132)])return console['log'](_0x33b334(0x11e)),!![];try{const _0x59473e=this[_0x33b334(0x18a)][_0x33b334(0x14d)](_0x69230a=>({'topic':_0x69230a}));return this[_0x33b334(0x16d)][_0x33b334(0x155)](_0x59473e),this['isPaused']=!![],console[_0x33b334(0x12b)](_0x5be5b6[_0x33b334(0x161)]),!![];}catch(_0x54e29e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x54e29e[_0x33b334(0x15a)]),![];}}async['resume'](){const _0x2bb4f6=a0_0x56875a,_0x5cd6ec={'czAHR':_0x2bb4f6(0x143)};if(!this[_0x2bb4f6(0x126)]||!this[_0x2bb4f6(0x11c)])return console['log'](_0x5cd6ec['czAHR']),![];if(!this[_0x2bb4f6(0x132)])return console[_0x2bb4f6(0x12b)](_0x2bb4f6(0x11a)),!![];try{const _0x112eb8=this['subscribedTopics']['map'](_0x5622a2=>({'topic':_0x5622a2}));return this['consumer']['resume'](_0x112eb8),this[_0x2bb4f6(0x132)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x3d3a70){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3d3a70['message']),![];}}async['stop'](){const _0x2407ca=a0_0x56875a;if(!this[_0x2407ca(0x126)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this[_0x2407ca(0x16d)][_0x2407ca(0x156)]()),this[_0x2407ca(0x126)]=![],this['isRunning']=![],this['isPaused']=![],console[_0x2407ca(0x12b)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x1d4167){return console[_0x2407ca(0x127)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x1d4167[_0x2407ca(0x15a)]),![];}}async[a0_0x56875a(0x117)](_0x50b3be,_0x318bfd,_0x58db01){const _0x2aa838=a0_0x56875a,_0x53133={'eOhxI':_0x2aa838(0x186)};if(!this['isConnected'])return console['error'](_0x53133['eOhxI']),![];try{return this[_0x2aa838(0x16d)]['seek']({'topic':_0x50b3be,'partition':_0x318bfd,'offset':_0x58db01[_0x2aa838(0x175)]()}),console[_0x2aa838(0x12b)](_0x2aa838(0x10f)+_0x58db01+_0x2aa838(0x16f)+_0x50b3be+':'+_0x318bfd),!![];}catch(_0x3cb868){return console['error'](_0x2aa838(0x154)+_0x3cb868[_0x2aa838(0x15a)]),![];}}[a0_0x56875a(0x148)](){const _0x5ae807=a0_0x56875a,_0x4991df=this['getConfig']();return{'enabled':_0x4991df['enabled'],'connected':this[_0x5ae807(0x126)],'running':this['isRunning'],'paused':this[_0x5ae807(0x132)],'brokers':_0x4991df['brokers'],'clientId':_0x4991df[_0x5ae807(0x146)],'groupId':this[_0x5ae807(0x14a)],'subscribedTopics':this['subscribedTopics']};}[a0_0x56875a(0x149)](){const _0x1c0934=a0_0x56875a,_0x9531b0={'EYxtu':function(_0x27e3e7,_0x1e35d0){return _0x27e3e7>_0x1e35d0;},'cLRXm':function(_0x1193b6,_0x1621ab){return _0x1193b6+_0x1621ab;},'vwZih':function(_0x2c1721,_0x5d0170){return _0x2c1721*_0x5d0170;},'VKRcP':function(_0x2cd3dc,_0x37a8bb){return _0x2cd3dc/_0x37a8bb;},'tKhKS':function(_0x97ff61,_0x17b0ef){return _0x97ff61/_0x17b0ef;},'OOPsE':function(_0x1fbab3,_0x5e982b){return _0x1fbab3-_0x5e982b;},'BRzxX':function(_0x3890e1,_0xa61307){return _0x3890e1+_0xa61307;}},_0x10ce41=this['metrics']['processingTimes'][_0x1c0934(0x13e)]>0x0?this['metrics']['processingTimes'][_0x1c0934(0x116)]((_0x47a281,_0x29b8ac)=>_0x47a281+_0x29b8ac,0x0)/this['metrics']['processingTimes'][_0x1c0934(0x13e)]:0x0,_0x1876c6=_0x9531b0['EYxtu'](this['metrics'][_0x1c0934(0x176)][_0x1c0934(0x13e)],0x0)?Math['min'](...this[_0x1c0934(0x12a)]['processingTimes']):0x0,_0x57fdb8=this[_0x1c0934(0x12a)][_0x1c0934(0x176)]['length']>0x0?Math[_0x1c0934(0x113)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x1c0934(0x130)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x1c0934(0x12a)][_0x1c0934(0x141)],'successRate':this[_0x1c0934(0x12a)]['messagesReceived']>0x0?_0x9531b0[_0x1c0934(0x181)](_0x9531b0[_0x1c0934(0x167)](_0x9531b0['VKRcP'](this['metrics']['messagesProcessed'],this[_0x1c0934(0x12a)][_0x1c0934(0x130)]),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x1c0934(0x147)],'startTime':this['metrics']['startTime'],'uptime':this[_0x1c0934(0x12a)][_0x1c0934(0x166)]?Math[_0x1c0934(0x187)](_0x9531b0['tKhKS'](_0x9531b0['OOPsE'](Date[_0x1c0934(0x13f)](),this[_0x1c0934(0x12a)][_0x1c0934(0x166)][_0x1c0934(0x11d)]()),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x10ce41)+'ms','min':_0x9531b0['BRzxX'](_0x1876c6,'ms'),'max':_0x9531b0['cLRXm'](_0x57fdb8,'ms')}};}['resetMetrics'](){const _0xaf4a71=a0_0x56875a;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0xaf4a71(0x11c)]?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x4d55(){const _0x396430=['Dhj1zq','mtq0mZbWzufKz2y','C3rHCNruAw1L','DNDAAwG','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mta0odu3nG','s0fgs0fFu1nm','s0fgs0fFq0Xjru5ux0Le','mZjNDfPjB0u','y29UC3vTzxi','icHNCM91CeLKoIa','ig9Uia','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFu0fttf9vu0vstKfnrq','q3nHDKy','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqLjps0vsuW','Dg9tDhjPBMC','ChjVy2vZC2LUz1rPBwvZ','Cwjbtxy','s0fgs0fFuKvuuLLFtufyx0rftefz','y29UC3vTzxiUC3rVCa','AgvHCNrIzwf0sw50zxj2ywW','mtyXnJC3ogr5tKXusW','ntm2mde4uLzHsuHr','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','C3rHCNrdB25ZDw1PBMC','AxnjBML0AwfSAxPPBMC','y0Xswg0','y2XVC2u','mtaWma','v0fstG','s0fgs0fFuKvuuLLFqvruru1qvfm','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','zMXVB3i','C3vIC2nYAwjL','tK9useLorW','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','tKPNuwO','z2v0q29UzMLN','Bwf4','ntaWma','su5gtW','CMvKDwnL','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','DxvPza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxnsDw5UAw5N','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mZaWmda','mJGZmdeXmgTPvK13uW','AgvHzgvYCW','mZi0wLPeCuLc','zw52','nxW3FdL8nNW4Fdr8mhWYFdeWFdn8mq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','AxndB25Uzwn0zwq','zxjYB3i','mZaWma','CMvZDgzVCMDLlq','Bwv0CMLJCW','Bg9N','yxv0B0nVBw1PDa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','y29UBMvJDgLVBLbYB21PC2u','rvjst1i','BwvZC2fNzxnszwnLAxzLza','Dg9mB3DLCKnHC2u','AxnqyxvZzwq','muT0zfHbzG','ndG2mda0ugPxA0j2','z2v0tg9Ntgv2zwW','Bg9JywXOB3n0oJKWoti','mtf6u3DsDhq','A2v5','s0fgs0fFu0fttf9qqvntv09sra','Cgf5Bg9Hza','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','BM93','y29UBMvJDgLVBLrPBwvVDxq','BwvZC2fNzxngywLSzwq','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','zw50CMLLCW','lwnVBNn1BwvY','y2XPzw50swq','BgfZDe1LC3nHz2vuAw1L','z2v0u3rHDhvZ','z2v0twv0CMLJCW','z3jVDxbjza','nJm0mdqXyLnZyMPc','C2v0DxbfDMvUDeHHBMrSzxjZ','BwfW','C2HPzNq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Cgf1C2u','zgLZy29UBMvJDa','yNvKs3q','DvDbAvu','AxnbCNjHEq','BwvZC2fNzq','nJeXntG2uuHdwgPi','zw5HyMXLza','se9bzKi','rNnyu28','CMvYq1i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','A2njs3e','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bg9Ntgv2zwW'];a0_0x4d55=function(){return _0x396430;};return a0_0x4d55();}function resetInstance(){const _0x54e807=a0_0x56875a;instance&&(instance[_0x54e807(0x182)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x1bea91=a0_0x4dc4;(function(_0x124b41,_0x165362){const _0x566e46=a0_0x4dc4,_0x451234=_0x124b41();while(!![]){try{const _0x376cec=-parseInt(_0x566e46(0x13a))/0x1+-parseInt(_0x566e46(0x11a))/0x2*(parseInt(_0x566e46(0x12d))/0x3)+parseInt(_0x566e46(0x142))/0x4+-parseInt(_0x566e46(0x16b))/0x5*(-parseInt(_0x566e46(0x155))/0x6)+-parseInt(_0x566e46(0x102))/0x7*(-parseInt(_0x566e46(0x11e))/0x8)+parseInt(_0x566e46(0x115))/0x9*(-parseInt(_0x566e46(0x158))/0xa)+-parseInt(_0x566e46(0x172))/0xb;if(_0x376cec===_0x165362)break;else _0x451234['push'](_0x451234['shift']());}catch(_0x2b0d20){_0x451234['push'](_0x451234['shift']());}}}(a0_0x4720,0x3b42d));const {Kafka,logLevel}=require(a0_0x1bea91(0x118)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x1b040e=a0_0x1bea91,_0x458fa4={'XZOYP':'5|3|0|9|2|7|1|4|6|8|10'},_0x29adcb=_0x458fa4[_0x1b040e(0x13d)][_0x1b040e(0x150)]('|');let _0x55722f=0x0;while(!![]){switch(_0x29adcb[_0x55722f++]){case'0':this[_0x1b040e(0x124)]=![];continue;case'1':this['connectionPromise']=null;continue;case'2':this[_0x1b040e(0x114)]=![];continue;case'3':this[_0x1b040e(0x153)]=null;continue;case'4':this['subscribedTopics']=[];continue;case'5':this['kafka']=null;continue;case'6':this[_0x1b040e(0x16e)]=null;continue;case'7':this['isPaused']=![];continue;case'8':this[_0x1b040e(0x10f)]=null;continue;case'9':this[_0x1b040e(0x12f)]=![];continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}['getConfig'](){const _0x47f432=a0_0x1bea91,_0x42a288={'ywUEe':function(_0xee6e48,_0x9b119c){return _0xee6e48===_0x9b119c;},'ygdNs':'default','Pucek':function(_0x4726c9,_0x5b8bca){return _0x4726c9(_0x5b8bca);},'Lqwwc':'25000','UDTjn':function(_0x52b724,_0x31391f){return _0x52b724(_0x31391f);},'KGgpp':_0x47f432(0x10d),'AXnJa':function(_0x1ee146,_0x430a2a){return _0x1ee146(_0x430a2a);},'lfJgh':function(_0x956ec9,_0x3c2b38){return _0x956ec9(_0x3c2b38);},'efhwh':_0x47f432(0x10c),'rKXAh':function(_0x55b659,_0x18bc78){return _0x55b659(_0x18bc78);},'qAYSl':_0x47f432(0x143),'fJywX':function(_0x850d5,_0x5d07f6){return _0x850d5(_0x5d07f6);},'LDXbX':_0x47f432(0x11b)};return{'enabled':_0x42a288[_0x47f432(0x119)](process['env']['KAFKA_ENABLED'],_0x47f432(0x10c)),'brokers':(process['env'][_0x47f432(0x144)]||_0x47f432(0x16f))[_0x47f432(0x150)](','),'clientId':process[_0x47f432(0x133)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x47f432(0x133)][_0x47f432(0x112)]||_0x42a288[_0x47f432(0x169)])+_0x47f432(0x152),'connectionTimeout':_0x42a288['Pucek'](parseInt,process[_0x47f432(0x133)][_0x47f432(0x159)]||_0x47f432(0x11f)),'requestTimeout':_0x42a288[_0x47f432(0x15e)](parseInt,process['env'][_0x47f432(0x109)]||_0x42a288[_0x47f432(0x15a)]),'sessionTimeout':_0x42a288['UDTjn'](parseInt,process[_0x47f432(0x133)]['KAFKA_SESSION_TIMEOUT']||_0x42a288['KGgpp']),'heartbeatInterval':_0x42a288[_0x47f432(0x117)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x47f432(0x11f)),'maxBytesPerPartition':_0x42a288['lfJgh'](parseInt,process[_0x47f432(0x133)][_0x47f432(0x139)]||'1048576'),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x42a288[_0x47f432(0x16a)],'autoCommitInterval':_0x42a288[_0x47f432(0x131)](parseInt,process[_0x47f432(0x133)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x42a288['qAYSl']),'retryAttempts':_0x42a288['fJywX'](parseInt,process[_0x47f432(0x133)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x42a288['UDTjn'](parseInt,process[_0x47f432(0x133)]['KAFKA_RETRY_DELAY']||_0x42a288['LDXbX']),'retryMaxDelay':parseInt(process[_0x47f432(0x133)][_0x47f432(0x160)]||'30000'),'logLevel':process[_0x47f432(0x133)][_0x47f432(0x156)]||'warn'};}['getLogLevel'](_0x460d73){const _0xd59c74=a0_0x1bea91,_0xb86dcf={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0xd59c74(0x146)],'info':logLevel[_0xd59c74(0x15c)],'debug':logLevel['DEBUG']};return _0xb86dcf[_0x460d73['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x339e8f={}){const _0x1d60b2=a0_0x1bea91,_0xe24e19={'zRzvU':function(_0x5d752f,_0x3d66e8){return _0x5d752f===_0x3d66e8;},'ihYzl':_0x1d60b2(0x10c),'BHuJA':function(_0x4a9378,_0x502560){return _0x4a9378(_0x502560);}},_0x7dc28d=this[_0x1d60b2(0x110)]();if(!_0x7dc28d['enabled'])return console[_0x1d60b2(0x130)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x1d60b2(0x14c)];return this['isInitializing']=!![],this[_0x1d60b2(0x14c)]=new Promise(async _0xb2acba=>{const _0x52ce81=_0x1d60b2;try{let _0x45eeab=undefined;_0xe24e19[_0x52ce81(0x173)](process[_0x52ce81(0x133)]['KAFKA_SSL'],_0xe24e19[_0x52ce81(0x116)])&&(_0x45eeab=!![]);let _0x25ea40=undefined;process['env'][_0x52ce81(0x161)]&&(_0x25ea40={'mechanism':process['env'][_0x52ce81(0x161)],'username':process['env'][_0x52ce81(0x129)]||'','password':process['env'][_0x52ce81(0x147)]||''}),this['kafka']=new Kafka({'clientId':_0x339e8f['clientId']||_0x7dc28d['clientId'],'brokers':_0x7dc28d[_0x52ce81(0x14e)],'connectionTimeout':_0x7dc28d['connectionTimeout'],'requestTimeout':_0x7dc28d[_0x52ce81(0x16c)],'logLevel':this[_0x52ce81(0x164)](_0x7dc28d[_0x52ce81(0x127)]),'ssl':_0x45eeab,'sasl':_0x25ea40,'retry':{'initialRetryTime':_0x7dc28d['retryDelay'],'retries':_0x7dc28d[_0x52ce81(0x126)],'maxRetryTime':_0x7dc28d['retryMaxDelay']}}),this[_0x52ce81(0x16e)]=_0x339e8f['groupId']||'restforge-'+(process['env'][_0x52ce81(0x112)]||_0x52ce81(0x107))+'-consumer-group',this[_0x52ce81(0x153)]=this[_0x52ce81(0x157)][_0x52ce81(0x153)]({'groupId':this[_0x52ce81(0x16e)],'sessionTimeout':_0x7dc28d['sessionTimeout'],'heartbeatInterval':_0x7dc28d[_0x52ce81(0x132)],'maxBytesPerPartition':_0x7dc28d['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x52ce81(0x124)]=!![],console[_0x52ce81(0x130)](_0x52ce81(0x137)+_0x7dc28d['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x52ce81(0x113)](),_0xe24e19['BHuJA'](_0xb2acba,!![]);}catch(_0x5b81a9){console[_0x52ce81(0x154)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x5b81a9['message']),this['isConnected']=![],_0xb2acba(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x1bea91(0x113)](){const _0x181c4d=a0_0x1bea91,_0x480e1f={'ENnvo':_0x181c4d(0x141),'PwDfb':_0x181c4d(0x136),'dHJwN':'consumer.crash'};if(!this['consumer'])return;this[_0x181c4d(0x153)]['on']('consumer.disconnect',()=>{const _0x4274ed=_0x181c4d;console['log'](_0x480e1f['ENnvo']),this[_0x4274ed(0x124)]=![],this[_0x4274ed(0x114)]=![];}),this[_0x181c4d(0x153)]['on'](_0x181c4d(0x103),()=>{const _0x56df43=_0x181c4d;console['log'](_0x480e1f[_0x56df43(0x101)]),this[_0x56df43(0x114)]=![];}),this['consumer']['on'](_0x480e1f['dHJwN'],_0x28973a=>{const _0x2e00e0=_0x181c4d;console[_0x2e00e0(0x154)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x28973a[_0x2e00e0(0x16d)][_0x2e00e0(0x154)][_0x2e00e0(0x165)]),this['isRunning']=![];}),this[_0x181c4d(0x153)]['on']('consumer.rebalancing',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x32fd8e,_0x4fea48=![]){const _0x1f2a2b=a0_0x1bea91,_0x9f5429={'tVKuP':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x9f5429[_0x1f2a2b(0x123)]),![];try{const _0x4cfc69=Array[_0x1f2a2b(0x138)](_0x32fd8e)?_0x32fd8e:[_0x32fd8e];for(const _0x25230b of _0x4cfc69){await this['consumer'][_0x1f2a2b(0x100)]({'topic':_0x25230b,'fromBeginning':_0x4fea48}),console[_0x1f2a2b(0x130)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x25230b+_0x1f2a2b(0x11d)+_0x4fea48+')');}return this[_0x1f2a2b(0x14d)]=[...new Set([...this[_0x1f2a2b(0x14d)],..._0x4cfc69])],!![];}catch(_0xf1424a){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0xf1424a['message']),![];}}async['startConsuming'](_0x4890b0,_0xed4427={}){const _0x3d5333=a0_0x1bea91,_0x224617={'WUFEe':function(_0x996405,_0x58d3e6){return _0x996405+_0x58d3e6;},'UDmhe':function(_0x391d00,_0x7b6def){return _0x391d00(_0x7b6def);},'LFZKI':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','bQBob':function(_0x5b6f59,_0x1d7e14){return _0x5b6f59!==_0x1d7e14;}};if(!this['isConnected'])return console[_0x3d5333(0x154)](_0x224617['LFZKI']),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x1e76af=this[_0x3d5333(0x110)]();this['messageHandler']=_0x4890b0;try{return this['metrics'][_0x3d5333(0x104)]=new Date(),await this['consumer']['run']({'autoCommit':_0x224617['bQBob'](_0xed4427[_0x3d5333(0x111)],undefined)?_0xed4427[_0x3d5333(0x111)]:_0x1e76af[_0x3d5333(0x111)],'autoCommitInterval':_0x1e76af['autoCommitInterval'],'eachMessage':async({topic:_0x3af9c0,partition:_0x228e0c,message:_0x57856c,heartbeat:_0x5b5b77})=>{const _0x28dd0f=_0x3d5333,_0x19bf7b=Date['now']();this['metrics'][_0x28dd0f(0x15f)]++,this['metrics'][_0x28dd0f(0x11c)]=new Date();try{const _0x159386=_0x57856c['value']?_0x57856c[_0x28dd0f(0x14f)]['toString']():null;let _0x480d94=null;try{_0x480d94=_0x159386?JSON[_0x28dd0f(0x13b)](_0x159386):null;}catch(_0x3f0979){_0x480d94=_0x159386;}const _0x1a1d03={'topic':_0x3af9c0,'partition':_0x228e0c,'offset':_0x57856c[_0x28dd0f(0x14b)],'key':_0x57856c['key']?_0x57856c['key']['toString']():null,'headers':this[_0x28dd0f(0x13e)](_0x57856c['headers']),'timestamp':_0x57856c[_0x28dd0f(0xfe)],'value':_0x480d94,'raw':_0x159386};this['messageHandler']&&await this['messageHandler'](_0x1a1d03);!_0x1e76af['autoCommit']&&await this[_0x28dd0f(0x153)]['commitOffsets']([{'topic':_0x3af9c0,'partition':_0x228e0c,'offset':_0x224617[_0x28dd0f(0x13f)](_0x224617['UDmhe'](parseInt,_0x57856c[_0x28dd0f(0x14b)]),0x1)[_0x28dd0f(0x12b)]()}]);this['metrics']['messagesProcessed']++;const _0x697442=Date[_0x28dd0f(0x134)]()-_0x19bf7b;this[_0x28dd0f(0x15d)][_0x28dd0f(0x170)][_0x28dd0f(0x13c)](_0x697442),this[_0x28dd0f(0x15d)]['processingTimes']['length']>0x64&&this[_0x28dd0f(0x15d)][_0x28dd0f(0x170)][_0x28dd0f(0x145)](),await _0x5b5b77();}catch(_0x44e694){this[_0x28dd0f(0x15d)][_0x28dd0f(0x125)]++,console[_0x28dd0f(0x154)](_0x28dd0f(0x120)+_0x44e694[_0x28dd0f(0x165)]);throw _0x44e694;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x3d5333(0x14d)][_0x3d5333(0x121)](',\x20')),!![];}catch(_0x14b11e){return console[_0x3d5333(0x154)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x14b11e['message']),![];}}[a0_0x1bea91(0x13e)](_0x401fcf){const _0x2bdcef=a0_0x1bea91;if(!_0x401fcf)return{};const _0x2d9a7b={};for(const [_0x5b43b3,_0x1d12bd]of Object['entries'](_0x401fcf)){_0x2d9a7b[_0x5b43b3]=_0x1d12bd?_0x1d12bd[_0x2bdcef(0x12b)]():null;}return _0x2d9a7b;}async[a0_0x1bea91(0x149)](){const _0x5a46c0=a0_0x1bea91,_0x5151ae={'qJPsP':_0x5a46c0(0x166)};if(!this['isConnected']||!this[_0x5a46c0(0x114)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x5a46c0(0x14a)),!![];try{const _0x45ea52=this[_0x5a46c0(0x14d)][_0x5a46c0(0x128)](_0x1d2c6d=>({'topic':_0x1d2c6d}));return this['consumer'][_0x5a46c0(0x149)](_0x45ea52),this[_0x5a46c0(0x140)]=!![],console['log'](_0x5151ae[_0x5a46c0(0x122)]),!![];}catch(_0x31bb25){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x31bb25[_0x5a46c0(0x165)]),![];}}async['resume'](){const _0x103911=a0_0x1bea91,_0x291e45={'SfEcF':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x103911(0x130)](_0x103911(0x10b)),![];if(!this['isPaused'])return console[_0x103911(0x130)](_0x291e45['SfEcF']),!![];try{const _0xa700ba=this[_0x103911(0x14d)][_0x103911(0x128)](_0x2fbac8=>({'topic':_0x2fbac8}));return this[_0x103911(0x153)][_0x103911(0x135)](_0xa700ba),this['isPaused']=![],console['log'](_0x103911(0x10e)),!![];}catch(_0x460dfd){return console['error'](_0x103911(0x171)+_0x460dfd['message']),![];}}async[a0_0x1bea91(0xff)](){const _0x2b6ea6=a0_0x1bea91,_0x5c82a8={'ZkwLO':'[KafkaConsumer]\x20Consumer\x20not\x20connected','GNeYf':_0x2b6ea6(0x162)};if(!this['isConnected'])return console['log'](_0x5c82a8['ZkwLO']),!![];try{const _0x5531e8=_0x5c82a8[_0x2b6ea6(0x10a)][_0x2b6ea6(0x150)]('|');let _0x1c4ad0=0x0;while(!![]){switch(_0x5531e8[_0x1c4ad0++]){case'0':this[_0x2b6ea6(0x140)]=![];continue;case'1':return!![];case'2':this['consumer']&&(await this['consumer']['stop'](),await this[_0x2b6ea6(0x153)][_0x2b6ea6(0x12a)]());continue;case'3':this[_0x2b6ea6(0x124)]=![];continue;case'4':this['isRunning']=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x4fdcdf){return console[_0x2b6ea6(0x154)](_0x2b6ea6(0x163)+_0x4fdcdf[_0x2b6ea6(0x165)]),![];}}async[a0_0x1bea91(0x167)](_0x185bce,_0x42b9cb,_0x2bf93b){const _0x52ee9c=a0_0x1bea91;if(!this['isConnected'])return console['error'](_0x52ee9c(0x151)),![];try{return this['consumer']['seek']({'topic':_0x185bce,'partition':_0x42b9cb,'offset':_0x2bf93b['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2bf93b+'\x20on\x20'+_0x185bce+':'+_0x42b9cb),!![];}catch(_0x242841){return console[_0x52ee9c(0x154)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x242841['message']),![];}}['getStatus'](){const _0x5a627c=a0_0x1bea91,_0x3bec25=this['getConfig']();return{'enabled':_0x3bec25['enabled'],'connected':this['isConnected'],'running':this[_0x5a627c(0x114)],'paused':this['isPaused'],'brokers':_0x3bec25['brokers'],'clientId':_0x3bec25[_0x5a627c(0x148)],'groupId':this[_0x5a627c(0x16e)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x15828d=a0_0x1bea91,_0x36538b={'EgDzz':function(_0x556db3,_0x54f201){return _0x556db3/_0x54f201;},'hnesI':function(_0x2f2371,_0x51604e){return _0x2f2371>_0x51604e;},'BlECN':function(_0x47b203,_0x1e5e5b){return _0x47b203*_0x1e5e5b;},'mkMfG':function(_0x546dc2,_0x4ba2db){return _0x546dc2/_0x4ba2db;},'oXbVe':function(_0xc30170,_0x11c14c){return _0xc30170+_0x11c14c;},'XTTMo':function(_0x400bb0,_0x58820b){return _0x400bb0+_0x58820b;}},_0x83d7bf=this['metrics'][_0x15828d(0x170)][_0x15828d(0x106)]>0x0?_0x36538b['EgDzz'](this[_0x15828d(0x15d)]['processingTimes'][_0x15828d(0x12c)]((_0x5ca2a7,_0x1dcf63)=>_0x5ca2a7+_0x1dcf63,0x0),this['metrics']['processingTimes'][_0x15828d(0x106)]):0x0,_0x2e40be=this[_0x15828d(0x15d)]['processingTimes']['length']>0x0?Math['min'](...this[_0x15828d(0x15d)]['processingTimes']):0x0,_0x1b7085=_0x36538b['hnesI'](this[_0x15828d(0x15d)]['processingTimes']['length'],0x0)?Math['max'](...this[_0x15828d(0x15d)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x15828d(0x15f)],'messagesProcessed':this[_0x15828d(0x15d)][_0x15828d(0x168)],'messagesFailed':this[_0x15828d(0x15d)]['messagesFailed'],'successRate':_0x36538b['hnesI'](this[_0x15828d(0x15d)][_0x15828d(0x15f)],0x0)?_0x36538b['BlECN'](_0x36538b[_0x15828d(0x15b)](this[_0x15828d(0x15d)]['messagesProcessed'],this['metrics'][_0x15828d(0x15f)]),0x64)[_0x15828d(0x12e)](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x15828d(0x15d)][_0x15828d(0x104)],'uptime':this['metrics']['startTime']?Math['floor']((Date['now']()-this['metrics'][_0x15828d(0x104)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x36538b['oXbVe'](Math['round'](_0x83d7bf),'ms'),'min':_0x2e40be+'ms','max':_0x36538b['XTTMo'](_0x1b7085,'ms')}};}[a0_0x1bea91(0x105)](){const _0x423df3=a0_0x1bea91;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x423df3(0x130)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}function a0_0x4dc4(_0x282434,_0x442666){_0x282434=_0x282434-0xfe;const _0x4720c5=a0_0x4720();let _0x4dc416=_0x4720c5[_0x282434];if(a0_0x4dc4['MVXufY']===undefined){var _0x2c8cdd=function(_0xd06efe){const _0x404497='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb429c='',_0x5ee610='';for(let _0x237f05=0x0,_0x217aa2,_0x430494,_0x319981=0x0;_0x430494=_0xd06efe['charAt'](_0x319981++);~_0x430494&&(_0x217aa2=_0x237f05%0x4?_0x217aa2*0x40+_0x430494:_0x430494,_0x237f05++%0x4)?_0xb429c+=String['fromCharCode'](0xff&_0x217aa2>>(-0x2*_0x237f05&0x6)):0x0){_0x430494=_0x404497['indexOf'](_0x430494);}for(let _0x99e698=0x0,_0x1f8550=_0xb429c['length'];_0x99e698<_0x1f8550;_0x99e698++){_0x5ee610+='%'+('00'+_0xb429c['charCodeAt'](_0x99e698)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ee610);};a0_0x4dc4['WAsGPY']=_0x2c8cdd,a0_0x4dc4['TbYVQM']={},a0_0x4dc4['MVXufY']=!![];}const _0x880151=_0x4720c5[0x0],_0x44e961=_0x282434+_0x880151,_0xf3bcfd=a0_0x4dc4['TbYVQM'][_0x44e961];return!_0xf3bcfd?(_0x4dc416=a0_0x4dc4['WAsGPY'](_0x4dc416),a0_0x4dc4['TbYVQM'][_0x44e961]=_0x4dc416):_0x4dc416=_0xf3bcfd,_0x4dc416;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5c2f24=a0_0x1bea91;instance&&(instance[_0x5c2f24(0x108)](),instance=null);}function a0_0x4720(){const _0x5412f4=['AxndB25Uzwn0zwq','BwvZC2fNzxngywLSzwq','CMv0CNLbDhrLBxb0CW','Bg9Ntgv2zwW','BwfW','s0fgs0fFu0fttf9vu0vstKfnrq','zgLZy29UBMvJDa','Dg9tDhjPBMC','CMvKDwnL','mJa0sKPcCvjW','Dg9gAxHLza','AxnjBML0AwfSAxPPBMC','Bg9N','CKTyqwG','AgvHCNrIzwf0sw50zxj2ywW','zw52','BM93','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AxnbCNjHEq','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','odC4odD0sfPOuum','CgfYC2u','ChvZAa','wfPpwva','CgfYC2vizwfKzxjZ','v1vgrwu','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','mtmWmtyZmKPkCMfgsq','ntaWma','s0fgs0fFqLjps0vsuW','C2HPzNq','v0fstG','s0fgs0fFu0fttf9qqvntv09sra','y2XPzw50swq','Cgf1C2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','B2zMC2v0','y29UBMvJDgLVBLbYB21PC2u','C3vIC2nYAwjLzfrVCgLJCW','yNjVA2vYCW','DMfSDwu','C3bSAxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','lwnVBNn1BwvY','y29UC3vTzxi','zxjYB3i','nNjKuwreuW','s0fgs0fFte9hx0XfvKvm','A2fMA2e','mti1odiWsfv1tKH1','s0fgs0fFq09otKvdveLptL9usu1ft1vu','thf3D2m','BwTnzKC','su5gtW','Bwv0CMLJCW','uhvJzwS','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFuKvuuLLFtufyx0rftefz','s0fgs0fFu0fttf9nruniqu5ju00','mNWZFdr8mhW1Fde','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','z2v0tg9Ntgv2zwW','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C2vLA1rVt2zMC2v0','BwvZC2fNzxnqCM9JzxnZzwq','EwDKtNm','zwzOD2G','odK0oteWEfLkD1fN','CMvXDwvZDfrPBwvVDxq','Cgf5Bg9Hza','z3jVDxbjza','Bg9JywXOB3n0oJKWoti','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','mJeYntGYn3HPB2n0vW','ELj6DLu','DgLTzxn0yw1W','C3rVCa','C3vIC2nYAwjL','uhDezMi','mZiWmtK2mwDus3j4Ba','y29UC3vTzxiUC3rVCa','C3rHCNruAw1L','CMvZzxrnzxrYAwnZ','BgvUz3rO','zgvMyxvSDa','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','r05Lwwy','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Dhj1zq','mZaWmda','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BwvZC2fNzuHHBMrSzxi','z2v0q29UzMLN','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C2v0DxbfDMvUDeHHBMrSzxjZ','AxnsDw5UAw5N','nZjoDezfC0m','AwHzEMW','qvHUsMe','A2fMA2fQCW','ExDvrwu','otKYmhvjtgfJDq','mtaWma','BgfZDe1LC3nHz2vuAw1L','icHMCM9TqMvNAw5UAw5NoIa','ohzOrKPAua','mZaWma','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','AM9PBG','CuPqC1a','DfzlDva'];a0_0x4720=function(){return _0x5412f4;};return a0_0x4720();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1fb34e=a0_0x4f72;function a0_0x4f01(){const _0x21547b=['v0fstG','sML6Bue','y29UBMvJDgLVBLbYB21PC2u','A2fMA2e','DxvPza','zw5HyMXLza','nduZmZeYmevZrNHOBq','mtCZnJe0uwrxse1S','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','E2fJDgLVBN0','v0HIv0q','zM9YBwf0rgf0zvrPBwu','C291CMnL','Bg9Ntgv2zwW','y2XPzw50swq','y29YCMvSyxrPB25jza','zw5KCg9PBNq','icHRzxK6ia','odi0mtK1u3LeCgvW','zgvSzxrLza','mJuWmda','y01wDva','rvjst1i','ChvIBgLZAeLUC2vYDa','zw52','Eg5nwhm','z2v0twLUDxrLCW','t3PQzMy','BwvZC2fNzq','ChvIBgLZAev2zw50','zgvMyxvSDa','z2v0q29UzMLN','CgfYDgL0Aw9U','CgfKu3rHCNq','s0fgs0fFte9hx0XfvKvm','r3LcwhO','y2XVC2u','DxbKyxrLza','Aw5PDgLHBgL6zq','A2v5rMLLBgq','Dg9WAwnqyxr0zxjU','y3jLyxrLzej5','Dg9WAwm','mwD2sfneCq','mJu1mte2yNjuBhDe','z1HTsum','C3bSAxq','u1Ltvevn','zxz0lq','uuzyy3i','AxndB25Uzwn0zwq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','s0fgs0fFuKvuuLLFrevmqvK','y29UBMvJDa','Dhj1zq','s0fgs0fFu1nm','ngzusefuwa','yMfZzu9MzNnLDa','s0fgs0fFuKvrvuvtvf9usu1ft1vu','teDNEK8','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','AM9PBG','s0fgs0fFvevoqu5ux0Le','yNvPBgruB3bPy05HBwu','tgzfuwe','z2v0u2vJB25KCW','mtHwDg1TwLa','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','zgLZy29UBMvJDa','mtKWmZi2ouvUCezmua','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxnjBML0AwfSAxPPBMC','Bg9N','mtfhugjpq2u','ChjVzhvJzxi','qunyyLq','mteZmdeZmZzNtgXorvm','ru5usvrzx0rftevuruq','zxjYB3i','E21VzhvSzx0','DgfIBgvoyw1L','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','ru5usvrzx1vqrefuruq','z2v0tw9UDgG','mtjwDNDpqNy','s0fgs0fFu0fttf9nruniqu5ju00','CMvWBgfJzq','mJyYotaXmfLRAg1mqq','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U'];a0_0x4f01=function(){return _0x21547b;};return a0_0x4f01();}(function(_0x2fea15,_0x1660b4){const _0x12e7cd=a0_0x4f72,_0x4bfb57=_0x2fea15();while(!![]){try{const _0x469f27=parseInt(_0x12e7cd(0x7f))/0x1*(-parseInt(_0x12e7cd(0x80))/0x2)+parseInt(_0x12e7cd(0x99))/0x3+parseInt(_0x12e7cd(0x8c))/0x4*(-parseInt(_0x12e7cd(0xc0))/0x5)+parseInt(_0x12e7cd(0xa9))/0x6*(parseInt(_0x12e7cd(0xb5))/0x7)+parseInt(_0x12e7cd(0xb4))/0x8+-parseInt(_0x12e7cd(0x96))/0x9*(-parseInt(_0x12e7cd(0xac))/0xa)+parseInt(_0x12e7cd(0x9d))/0xb*(-parseInt(_0x12e7cd(0xa0))/0xc);if(_0x469f27===_0x1660b4)break;else _0x4bfb57['push'](_0x4bfb57['shift']());}catch(_0x222391){_0x4bfb57['push'](_0x4bfb57['shift']());}}}(a0_0x4f01,0x84656));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1fb34e(0xb2));class KafkaService{constructor(){const _0xc44046=a0_0x1fb34e,_0x52dcbb={'Xwdgn':'4|1|3|0|2'},_0x1193a0=_0x52dcbb['Xwdgn'][_0xc44046(0x82)]('|');let _0x4140a6=0x0;while(!![]){switch(_0x1193a0[_0x4140a6++]){case'0':this['isInitializing']=![];continue;case'1':this['producer']=null;continue;case'2':this[_0xc44046(0xb0)]=null;continue;case'3':this[_0xc44046(0x86)]=![];continue;case'4':this[_0xc44046(0xb1)]=null;continue;}break;}}[a0_0x1fb34e(0x73)](){const _0x3d2e61=a0_0x1fb34e,_0x4154fd={'UoTmy':'localhost:9092','gXmIC':_0x3d2e61(0x72),'CcSur':'3000'};return{'enabled':process['env']['KAFKA_ENABLED']==='true','brokers':(process['env']['KAFKA_BROKERS']||_0x4154fd['UoTmy'])['split'](','),'clientId':process[_0x3d2e61(0xc6)]['KAFKA_CLIENT_ID']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x4154fd[_0x3d2e61(0x81)])+'-producer','connectionTimeout':parseInt(process[_0x3d2e61(0xc6)][_0x3d2e61(0x9a)]||_0x4154fd['CcSur']),'requestTimeout':parseInt(process[_0x3d2e61(0xc6)][_0x3d2e61(0x8e)]||_0x3d2e61(0xc2)),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process[_0x3d2e61(0xc6)][_0x3d2e61(0x92)]||_0x4154fd['gXmIC'],'retryAttempts':parseInt(process[_0x3d2e61(0xc6)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x3d2e61(0xc6)][_0x3d2e61(0x88)]||'1000'),'logLevel':process['env'][_0x3d2e61(0x76)]||'warn'};}['getLogLevel'](_0x510a14){const _0x25387b=a0_0x1fb34e,_0x540ce3={'nothing':logLevel['NOTHING'],'error':logLevel[_0x25387b(0xc4)],'warn':logLevel[_0x25387b(0xae)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x540ce3[_0x510a14['toLowerCase']()]||logLevel['WARN'];}async[a0_0x1fb34e(0x7a)](){const _0x149c21=a0_0x1fb34e,_0x3a7d01={'TZche':function(_0x4282ba,_0x187579){return _0x4282ba(_0x187579);},'Ozjff':_0x149c21(0xad)},_0x2c8d5c=this['getConfig']();if(!_0x2c8d5c[_0x149c21(0xb3)])return console[_0x149c21(0x9c)](_0x3a7d01[_0x149c21(0x6f)]),![];if(this[_0x149c21(0x86)])return!![];if(this[_0x149c21(0x9b)]&&this['connectionPromise'])return this[_0x149c21(0xb0)];return this['isInitializing']=!![],this[_0x149c21(0xb0)]=new Promise(async _0x7da993=>{const _0x56139d=_0x149c21;try{let _0x1c9f30=undefined;process['env'][_0x56139d(0x8b)]===_0x56139d(0x8a)&&(_0x1c9f30=!![]);let _0x1d2e7e=undefined;process[_0x56139d(0xc6)][_0x56139d(0xaa)]&&(_0x1d2e7e={'mechanism':process['env'][_0x56139d(0xaa)],'username':process[_0x56139d(0xc6)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x56139d(0xb1)]=new Kafka({'clientId':_0x2c8d5c[_0x56139d(0xbc)],'brokers':_0x2c8d5c['brokers'],'connectionTimeout':_0x2c8d5c['connectionTimeout'],'requestTimeout':_0x2c8d5c['requestTimeout'],'logLevel':this['getLogLevel'](_0x2c8d5c[_0x56139d(0xbb)]),'ssl':_0x1c9f30,'sasl':_0x1d2e7e,'retry':{'initialRetryTime':_0x2c8d5c['retryDelay'],'retries':_0x2c8d5c['retryAttempts']}}),this['producer']=this[_0x56139d(0xb1)][_0x56139d(0x9e)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x56139d(0x89)](),this[_0x56139d(0x86)]=!![],console[_0x56139d(0x9c)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x2c8d5c['brokers'][_0x56139d(0x91)](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x71c4ac=_0x56139d;console[_0x71c4ac(0x9c)](_0x71c4ac(0xb6)),this[_0x71c4ac(0x86)]=![];}),_0x7da993(!![]);}catch(_0x16a2d6){console[_0x56139d(0xa2)]('[Kafka]\x20Connection\x20failed:\x20'+_0x16a2d6['message']),this[_0x56139d(0x86)]=![],_0x3a7d01['TZche'](_0x7da993,![]);}finally{this[_0x56139d(0x9b)]=![];}}),this[_0x149c21(0xb0)];}[a0_0x1fb34e(0xb9)](_0x3cb3bf){const _0xb6b364=a0_0x1fb34e,_0x1e4c18={'cMVuP':function(_0x141299,_0x3f393e){return _0x141299(_0x3f393e);}},_0x1fd368=_0x3cb3bf||new Date(),_0x40742a=_0x1fd368['getFullYear'](),_0x5b8956=String(_0x1fd368[_0xb6b364(0xa8)]()+0x1)['padStart'](0x2,'0'),_0x1c5d14=String(_0x1fd368['getDate']())[_0xb6b364(0x75)](0x2,'0'),_0x388c44=_0x1e4c18['cMVuP'](String,_0x1fd368['getHours']())['padStart'](0x2,'0'),_0x5cac5b=String(_0x1fd368[_0xb6b364(0x6e)]())['padStart'](0x2,'0'),_0x368390=_0x1e4c18[_0xb6b364(0xc3)](String,_0x1fd368[_0xb6b364(0x95)]())['padStart'](0x2,'0');return _0x40742a+'-'+_0x5b8956+'-'+_0x1c5d14+'\x20'+_0x388c44+':'+_0x5cac5b+':'+_0x368390;}[a0_0x1fb34e(0x93)](_0x18efb2,_0x225493,_0x444a25,_0x3775fb=null){const _0x25cfe0=a0_0x1fb34e,_0xe1cd64={'QFXcr':_0x25cfe0(0xa3),'XLnRc':'{endpoint}','LfEQa':_0x25cfe0(0xb7)};if(_0x3775fb)return _0x3775fb;const _0x46329e=this['getConfig']()[_0x25cfe0(0x7c)];return _0x46329e['replace'](_0xe1cd64[_0x25cfe0(0x85)],_0x18efb2)[_0x25cfe0(0xab)](_0xe1cd64['XLnRc'],_0x225493)[_0x25cfe0(0xab)](_0xe1cd64[_0x25cfe0(0x94)],_0x444a25);}['buildEventMessage'](_0x1738b4,_0x6e0e5d,_0x14aaf2,_0x52b208={}){const _0x59c98a=a0_0x1fb34e,_0x3af99a={'WHbWD':'unknown','JizmA':_0x59c98a(0x83)},_0x24c713=new Date(),_0x56fbe7=this[_0x59c98a(0xb9)](_0x24c713),_0x21c760=_0x52b208['correlationId']||'corr-'+uuidv7();return{'eventId':_0x59c98a(0x84)+uuidv7(),'eventType':_0x1738b4,'eventTime':_0x56fbe7,'eventVersion':'1.0','source':'restforge-'+(_0x52b208['module']||_0x3af99a[_0x59c98a(0xb8)]),'correlationId':_0x21c760,'newData':_0x14aaf2,'oldData':_0x6e0e5d,'metadata':{'createdBy':_0x52b208[_0x59c98a(0x7d)]||_0x3af99a[_0x59c98a(0xaf)],'createdAt':_0x56fbe7,'systemId':'RESTFORGE-'+(_0x52b208['module']||'unknown')['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x52b208[_0x59c98a(0xbe)]||null,'tableName':_0x52b208['tableName']||null}};}async[a0_0x1fb34e(0x71)](_0x2b1472,_0x53687e,_0x29fb0b,_0x3b7ac5,_0x4af9ec={}){const _0x13d4b9=a0_0x1fb34e,_0x5ddfc1={'xnMXs':_0x13d4b9(0x87),'gMoHC':function(_0x43f357){return _0x43f357();},'GyBXz':function(_0x150d41,_0x5e2d1a){return _0x150d41(_0x5e2d1a);}},_0x4db55f=this['getConfig']();if(!_0x4db55f['enabled'])return{'success':![],'reason':_0x5ddfc1[_0x13d4b9(0x6d)],'published':![]};if(!this['isConnected']){const _0x5064e5=await this['initialize']();if(!_0x5064e5)return{'success':![],'reason':_0x13d4b9(0xa5),'published':![]};}try{const _0x3e7337=this['buildEventMessage'](_0x53687e,_0x29fb0b,_0x3b7ac5,_0x4af9ec),_0x14726f=_0x4af9ec[_0x13d4b9(0x7b)]||'id',_0x34bd37=_0x3b7ac5?.[_0x14726f]||_0x29fb0b?.[_0x14726f]||_0x5ddfc1['gMoHC'](uuidv7),_0x543eb4=await this[_0x13d4b9(0x9e)]['send']({'topic':_0x2b1472,'messages':[{'key':_0x5ddfc1[_0x13d4b9(0x77)](String,_0x34bd37),'value':JSON['stringify'](_0x3e7337),'headers':{'event-type':_0x53687e,'correlation-id':_0x3e7337[_0x13d4b9(0xbd)],'source':_0x3e7337[_0x13d4b9(0xba)]}}]});return console[_0x13d4b9(0x9c)](_0x13d4b9(0xa6)+_0x2b1472+':\x20'+_0x53687e+_0x13d4b9(0xbf)+_0x34bd37+')'),{'success':!![],'correlationId':_0x3e7337['correlationId'],'topic':_0x2b1472,'partition':_0x543eb4[0x0]?.[_0x13d4b9(0x74)],'offset':_0x543eb4[0x0]?.[_0x13d4b9(0x8d)],'published':!![]};}catch(_0x3d9687){return console['error'](_0x13d4b9(0x97)+_0x2b1472+':\x20'+_0x3d9687[_0x13d4b9(0x70)]),{'success':![],'error':_0x3d9687[_0x13d4b9(0x70)],'published':![]};}}async[a0_0x1fb34e(0xc5)](_0x44e5bd,_0x11a8f3,_0x2e8da9,_0x3750d6={}){const _0x2f2c74=a0_0x1fb34e,_0x189edc={'ACXbT':'ENTITY_CREATED'},_0x3e8760=this[_0x2f2c74(0x93)](_0x44e5bd,_0x11a8f3,'created',_0x3750d6[_0x2f2c74(0x7e)]);return this[_0x2f2c74(0x71)](_0x3e8760,_0x189edc[_0x2f2c74(0x9f)],null,_0x2e8da9,{'module':_0x44e5bd,'endpoint':_0x11a8f3,'keyField':_0x3750d6[_0x2f2c74(0x7b)],'tableName':_0x3750d6['tableName'],'correlationId':_0x3750d6[_0x2f2c74(0xbd)]});}async['publishUpdate'](_0x4ad5e5,_0x3edd39,_0x57ac7f,_0x315e33,_0x2bf318={}){const _0x1a061f=a0_0x1fb34e,_0xb67303=this['buildTopicName'](_0x4ad5e5,_0x3edd39,_0x1a061f(0x79),_0x2bf318['topic']);return this['publishEvent'](_0xb67303,_0x1a061f(0xa7),_0x57ac7f,_0x315e33,{'module':_0x4ad5e5,'endpoint':_0x3edd39,'keyField':_0x2bf318[_0x1a061f(0x7b)],'tableName':_0x2bf318[_0x1a061f(0xa4)],'correlationId':_0x2bf318['correlationId']});}async['publishDelete'](_0x97dc84,_0xc77520,_0x5ac568,_0x11a258={}){const _0x4910bf=a0_0x1fb34e,_0x2a9dbd={'LGgzO':_0x4910bf(0xa1)},_0x43c84f=this['buildTopicName'](_0x97dc84,_0xc77520,_0x4910bf(0xc1),_0x11a258['topic']);return this['publishEvent'](_0x43c84f,_0x2a9dbd[_0x4910bf(0x8f)],_0x5ac568,null,{'module':_0x97dc84,'endpoint':_0xc77520,'keyField':_0x11a258['keyField'],'tableName':_0x11a258['tableName'],'correlationId':_0x11a258['correlationId']});}['getStatus'](){const _0x73d92b=a0_0x1fb34e,_0x5668b5=this['getConfig']();return{'enabled':_0x5668b5[_0x73d92b(0xb3)],'connected':this['isConnected'],'brokers':_0x5668b5['brokers'],'clientId':_0x5668b5[_0x73d92b(0xbc)],'topicPattern':_0x5668b5['topicPattern']};}async[a0_0x1fb34e(0x78)](){const _0x2b833a=a0_0x1fb34e,_0xd9f920={'FImEE':_0x2b833a(0x90)};if(this[_0x2b833a(0x9e)]&&this['isConnected'])try{await this[_0x2b833a(0x9e)][_0x2b833a(0x98)](),this[_0x2b833a(0x86)]=![],console[_0x2b833a(0x9c)](_0xd9f920['FImEE']);}catch(_0x10b809){console[_0x2b833a(0xa2)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x10b809[_0x2b833a(0x70)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x4f72(_0x3660b8,_0x295123){_0x3660b8=_0x3660b8-0x6d;const _0x4f01c7=a0_0x4f01();let _0x4f72ab=_0x4f01c7[_0x3660b8];if(a0_0x4f72['TSadHq']===undefined){var _0x17b37f=function(_0xc651c1){const _0x1fbc89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x211c83='',_0x96d036='';for(let _0x304dab=0x0,_0xe658f6,_0x530bb3,_0x13f65b=0x0;_0x530bb3=_0xc651c1['charAt'](_0x13f65b++);~_0x530bb3&&(_0xe658f6=_0x304dab%0x4?_0xe658f6*0x40+_0x530bb3:_0x530bb3,_0x304dab++%0x4)?_0x211c83+=String['fromCharCode'](0xff&_0xe658f6>>(-0x2*_0x304dab&0x6)):0x0){_0x530bb3=_0x1fbc89['indexOf'](_0x530bb3);}for(let _0x5a96aa=0x0,_0x487d8a=_0x211c83['length'];_0x5a96aa<_0x487d8a;_0x5a96aa++){_0x96d036+='%'+('00'+_0x211c83['charCodeAt'](_0x5a96aa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x96d036);};a0_0x4f72['CFaOXD']=_0x17b37f,a0_0x4f72['rcqOHF']={},a0_0x4f72['TSadHq']=!![];}const _0x258283=_0x4f01c7[0x0],_0x513921=_0x3660b8+_0x258283,_0x2f40ee=a0_0x4f72['rcqOHF'][_0x513921];return!_0x2f40ee?(_0x4f72ab=a0_0x4f72['CFaOXD'](_0x4f72ab),a0_0x4f72['rcqOHF'][_0x513921]=_0x4f72ab):_0x4f72ab=_0x2f40ee,_0x4f72ab;}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x3f6507=a0_0x504d;function a0_0x10f6(){const _0x2adc49=['AxnjBML0AwfSAxPPBMC','Dvr0Euy','u1H2zgW','s0fgs0fFu0fttf9nruniqu5ju00','Bw9KDwXL','s0fgs0fFq0Xjru5ux0Le','mJfwCLHsq0O','ChvIBgLZAev2zw50','z2v0sg91CNm','Dg9WAwm','uwHwr2K','zgvSzxrLza','s0fgs0fFru5bqKXfra','z2v0tw9UDgG','y29UBMvJDa','Dhj1zq','ChvIBgLZAfvWzgf0zq','y29UBMvJDgLVBLrPBwvVDxq','A2fMA2fQCW','mtu2otq0og1UqxvizG','s0fgs0fFuKvuuLLFrevmqvK','s0fgs0fFu0fttf9vu0vstKfnrq','yNjVA2vYCW','BwvZC2fNzq','s0fgs0fFqLjps0vsuW','Bg9Ntgv2zwW','yNvPBgruB3bPy05HBwu','y2XVC2u','Dg9WAwnqyxr0zxjU','mte4mtrtrvHAzNy','zKzYv2C','yMfZzu9MzNnLDa','C3bSAxq','DhjArMq','v0fstG','zgvMyxvSDa','ody3mZy4Ae9hrfjS','C291CMnL','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','zw52','z2v0q29UzMLN','Dw5RBM93BG','A2fMA2e','lxbYB2r1y2vY','ru5usvrzx0rftevuruq','Dg9mB3DLCKnHC2u','DgfIBgvoyw1L','Bg9N','y2XPzw50swq','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','z2fcAu0','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','CMv0CNLezwXHEq','DgvUyw50swq','mZu0mtGXt1fQy3D2','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVzhvJzxi','y29UBMvJDgLVBLbYB21PC2u','CMvWBgfJzq','icHRzxK6ia','mtyZnJqZnhfiuNjOwG','yNvPBgrfDMvUDe1LC3nHz2u','AxndB25Uzwn0zwq','Dg9vChbLCKnHC2u','zxz0lq','s0fgs0fFu0fttf9qqvntv09sra','z2v0tg9Ntgv2zwW','C2vUza','C1DptKO','zxjYB3i','tMf5yKG','E21VzhvSzx0','uxrNu3O','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','revcvuC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMvXDwvZDfrPBwvVDxq','nJCWmdq2ngnyzurQsq','A2v5rMLLBgq','CgfKu3rHCNq','mty1mtC2uxzQsNnt','s0fgs0fFuKvrvuvtvf9usu1ft1vu','mtvoBurYsKO','BufuEvy','A0LMzge','y29YCI0','y29YCMvSyxrPB25jza','ru5usvrzx1vqrefuruq','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','Aw5PDgLHBgL6zq','CMvZDgzVCMDLlq','D2fYBG','zw5HyMXLza','mZaWma'];a0_0x10f6=function(){return _0x2adc49;};return a0_0x10f6();}function a0_0x504d(_0x6b945c,_0x2e5047){_0x6b945c=_0x6b945c-0x7c;const _0x10f64b=a0_0x10f6();let _0x504d64=_0x10f64b[_0x6b945c];if(a0_0x504d['ApKdrB']===undefined){var _0x211745=function(_0xdafe8c){const _0x154a98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f5c9f='',_0x1d38f0='';for(let _0x42b13b=0x0,_0x2e3ab6,_0x287ac4,_0x35aeaf=0x0;_0x287ac4=_0xdafe8c['charAt'](_0x35aeaf++);~_0x287ac4&&(_0x2e3ab6=_0x42b13b%0x4?_0x2e3ab6*0x40+_0x287ac4:_0x287ac4,_0x42b13b++%0x4)?_0x1f5c9f+=String['fromCharCode'](0xff&_0x2e3ab6>>(-0x2*_0x42b13b&0x6)):0x0){_0x287ac4=_0x154a98['indexOf'](_0x287ac4);}for(let _0x30e8b1=0x0,_0x161022=_0x1f5c9f['length'];_0x30e8b1<_0x161022;_0x30e8b1++){_0x1d38f0+='%'+('00'+_0x1f5c9f['charCodeAt'](_0x30e8b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d38f0);};a0_0x504d['YxBANw']=_0x211745,a0_0x504d['JLJXwn']={},a0_0x504d['ApKdrB']=!![];}const _0x4732be=_0x10f64b[0x0],_0x178ae0=_0x6b945c+_0x4732be,_0x5a7325=a0_0x504d['JLJXwn'][_0x178ae0];return!_0x5a7325?(_0x504d64=a0_0x504d['YxBANw'](_0x504d64),a0_0x504d['JLJXwn'][_0x178ae0]=_0x504d64):_0x504d64=_0x5a7325,_0x504d64;}(function(_0x52dc3b,_0x18ac40){const _0x50a213=a0_0x504d,_0x12a9fa=_0x52dc3b();while(!![]){try{const _0x28b7dd=-parseInt(_0x50a213(0x9f))/0x1+parseInt(_0x50a213(0x7c))/0x2+parseInt(_0x50a213(0xa5))/0x3+-parseInt(_0x50a213(0xb9))/0x4*(parseInt(_0x50a213(0xbb))/0x5)+-parseInt(_0x50a213(0x86))/0x6+parseInt(_0x50a213(0xcd))/0x7*(parseInt(_0x50a213(0x8d))/0x8)+-parseInt(_0x50a213(0xb6))/0x9;if(_0x28b7dd===_0x18ac40)break;else _0x12a9fa['push'](_0x12a9fa['shift']());}catch(_0x5a3a29){_0x12a9fa['push'](_0x12a9fa['shift']());}}}(a0_0x10f6,0x69359));const {Kafka,logLevel,Partitioners}=require(a0_0x3f6507(0xd9)),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x398970=a0_0x3f6507,_0x1aad5a='1|4|3|0|2'[_0x398970(0x89)]('|');let _0x3b2daa=0x0;while(!![]){switch(_0x1aad5a[_0x3b2daa++]){case'0':this['isInitializing']=![];continue;case'1':this[_0x398970(0x93)]=null;continue;case'2':this['connectionPromise']=null;continue;case'3':this['isConnected']=![];continue;case'4':this['producer']=null;continue;}break;}}['getConfig'](){const _0x41daa2=a0_0x3f6507,_0x4e5595={'mATyV':function(_0x1ebd41,_0x1b1895){return _0x1ebd41===_0x1b1895;},'YhUgh':'true','LRzjj':'localhost:9092','IrttQ':_0x41daa2(0x8c),'TFcON':function(_0x3afd4b,_0x4d05d4){return _0x3afd4b(_0x4d05d4);},'rpqJJ':_0x41daa2(0xc6),'EeDyV':function(_0xb68fe4,_0x19b18f){return _0xb68fe4(_0x19b18f);},'sWONJ':function(_0x9eba92,_0x44eb87){return _0x9eba92(_0x44eb87);},'oCbPV':function(_0x44a743,_0x5ab90d){return _0x44a743(_0x5ab90d);}};return{'enabled':_0x4e5595[_0x41daa2(0xbc)](process['env'][_0x41daa2(0xd3)],_0x4e5595['YhUgh']),'brokers':(process[_0x41daa2(0x90)][_0x41daa2(0x81)]||_0x4e5595['LRzjj'])[_0x41daa2(0x89)](','),'clientId':process[_0x41daa2(0x90)][_0x41daa2(0xcc)]||_0x41daa2(0xc3)+(process[_0x41daa2(0x90)][_0x41daa2(0xa0)]||_0x4e5595['IrttQ'])+_0x41daa2(0x94),'connectionTimeout':_0x4e5595['TFcON'](parseInt,process[_0x41daa2(0x90)][_0x41daa2(0xb4)]||_0x4e5595['rpqJJ']),'requestTimeout':_0x4e5595['EeDyV'](parseInt,process['env'][_0x41daa2(0xba)]||'25000'),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process[_0x41daa2(0x90)]['KAFKA_TENANT_ID']||_0x4e5595['IrttQ'],'retryAttempts':_0x4e5595[_0x41daa2(0xad)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x4e5595['oCbPV'](parseInt,process[_0x41daa2(0x90)][_0x41daa2(0x7d)]||'1000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x41daa2(0xc4)};}['getLogLevel'](_0xcab02){const _0x58ca69=a0_0x3f6507,_0x1c135c={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x58ca69(0x8b)],'info':logLevel['INFO'],'debug':logLevel[_0x58ca69(0xb3)]};return _0x1c135c[_0xcab02[_0x58ca69(0x96)]()]||logLevel[_0x58ca69(0x8b)];}async[a0_0x3f6507(0xc2)](){const _0x23c174=a0_0x3f6507,_0x2727ab={'XkDDF':function(_0x5e390e,_0x25ee7d){return _0x5e390e===_0x25ee7d;},'QhVGi':'producer.disconnect','trZFd':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3dbdc3=this[_0x23c174(0x91)]();if(!_0x3dbdc3[_0x23c174(0xc5)])return console['log'](_0x2727ab[_0x23c174(0x8a)]),![];if(this['isConnected'])return!![];if(this[_0x23c174(0xc7)]&&this[_0x23c174(0xa2)])return this['connectionPromise'];return this[_0x23c174(0xc7)]=!![],this['connectionPromise']=new Promise(async _0x3009ad=>{const _0x45d64f=_0x23c174;try{let _0x1eaf98=undefined;_0x2727ab['XkDDF'](process[_0x45d64f(0x90)]['KAFKA_SSL'],_0x45d64f(0xd6))&&(_0x1eaf98=!![]);let _0x512d4c=undefined;process[_0x45d64f(0x90)]['KAFKA_SASL_MECHANISM']&&(_0x512d4c={'mechanism':process[_0x45d64f(0x90)][_0x45d64f(0xca)],'username':process[_0x45d64f(0x90)][_0x45d64f(0x7e)]||'','password':process['env'][_0x45d64f(0xaa)]||''}),this['kafka']=new Kafka({'clientId':_0x3dbdc3[_0x45d64f(0x99)],'brokers':_0x3dbdc3[_0x45d64f(0x7f)],'connectionTimeout':_0x3dbdc3[_0x45d64f(0xd8)],'requestTimeout':_0x3dbdc3[_0x45d64f(0xb5)],'logLevel':this[_0x45d64f(0xab)](_0x3dbdc3[_0x45d64f(0x82)]),'ssl':_0x1eaf98,'sasl':_0x512d4c,'retry':{'initialRetryTime':_0x3dbdc3[_0x45d64f(0x9d)],'retries':_0x3dbdc3['retryAttempts']}}),this[_0x45d64f(0xa1)]=this['kafka'][_0x45d64f(0xa1)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x45d64f(0xa1)][_0x45d64f(0xd5)](),this[_0x45d64f(0xa7)]=!![],console[_0x45d64f(0x98)](_0x45d64f(0xc1)+_0x3dbdc3['brokers']['join'](',\x20')),this[_0x45d64f(0xa1)]['on'](_0x2727ab[_0x45d64f(0xd1)],()=>{const _0x36a070=_0x45d64f;console[_0x36a070(0x98)](_0x36a070(0xb2)),this[_0x36a070(0xa7)]=![];}),_0x3009ad(!![]);}catch(_0x1ef28c){console[_0x45d64f(0xae)](_0x45d64f(0x9a)+_0x1ef28c[_0x45d64f(0x80)]),this['isConnected']=![],_0x3009ad(![]);}finally{this[_0x45d64f(0xc7)]=![];}}),this[_0x23c174(0xa2)];}['formatDateTime'](_0x1741dc){const _0xf5da6=a0_0x3f6507,_0x2de65c={'uTtyF':function(_0x46b89f,_0x2a9291){return _0x46b89f(_0x2a9291);},'fFrWg':function(_0x11adc6,_0x477998){return _0x11adc6+_0x477998;}},_0x5cb0cb=_0x1741dc||new Date(),_0x2eb219=_0x5cb0cb['getFullYear'](),_0x5bb78f=_0x2de65c['uTtyF'](String,_0x2de65c[_0xf5da6(0x87)](_0x5cb0cb[_0xf5da6(0xd4)](),0x1))[_0xf5da6(0xb8)](0x2,'0'),_0x2b711f=String(_0x5cb0cb['getDate']())['padStart'](0x2,'0'),_0x4c81e1=String(_0x5cb0cb[_0xf5da6(0xcf)]())['padStart'](0x2,'0'),_0x3fbddb=_0x2de65c[_0xf5da6(0xc8)](String,_0x5cb0cb['getMinutes']())[_0xf5da6(0xb8)](0x2,'0'),_0x3a22bf=_0x2de65c['uTtyF'](String,_0x5cb0cb['getSeconds']())['padStart'](0x2,'0');return _0x2eb219+'-'+_0x5bb78f+'-'+_0x2b711f+'\x20'+_0x4c81e1+':'+_0x3fbddb+':'+_0x3a22bf;}[a0_0x3f6507(0x83)](_0x4f60c2,_0x598ed7,_0xa03dd6,_0xd4418d=null){const _0x44849e=a0_0x3f6507,_0xd2b456={'CpTKC':'{endpoint}','SXvdl':'{action}'};if(_0xd4418d)return _0xd4418d;const _0x162fa9=this['getConfig']()[_0x44849e(0x85)];return _0x162fa9[_0x44849e(0xa3)](_0x44849e(0xb0),_0x4f60c2)['replace'](_0xd2b456['CpTKC'],_0x598ed7)['replace'](_0xd2b456[_0x44849e(0xc9)],_0xa03dd6);}[a0_0x3f6507(0xa6)](_0x1379be,_0x10cd89,_0xbd3905,_0xcc13c0={}){const _0x24919a=a0_0x3f6507,_0x28b86a={'NaybH':'SYSTEM','RYALa':_0x24919a(0x92)},_0x67055c=new Date(),_0x292196=this['formatDateTime'](_0x67055c),_0x57671b=_0xcc13c0['correlationId']||_0x24919a(0xbe)+uuidv7();return{'eventId':_0x24919a(0xa9)+uuidv7(),'eventType':_0x1379be,'eventTime':_0x292196,'eventVersion':'1.0','source':'restforge-'+(_0xcc13c0[_0x24919a(0xcb)]||'unknown'),'correlationId':_0x57671b,'newData':_0xbd3905,'oldData':_0x10cd89,'metadata':{'createdBy':_0xcc13c0['createdBy']||_0x28b86a[_0x24919a(0xaf)],'createdAt':_0x292196,'systemId':'RESTFORGE-'+(_0xcc13c0[_0x24919a(0xcb)]||_0x28b86a['RYALa'])[_0x24919a(0xa8)](),'tenantId':this['getConfig']()[_0x24919a(0x9e)],'endpoint':_0xcc13c0['endpoint']||null,'tableName':_0xcc13c0[_0x24919a(0x97)]||null}};}async[a0_0x3f6507(0xce)](_0x41dc22,_0x5e9c1c,_0x35afa5,_0x1f5c10,_0x8151ba={}){const _0x34dcb1=a0_0x3f6507,_0x2b499c={'QtgSz':'Kafka\x20producer\x20is\x20disabled','QdNED':function(_0x10a8fe){return _0x10a8fe();},'bOZUl':function(_0x3ab175,_0x3b7a34){return _0x3ab175(_0x3b7a34);}},_0x2496e6=this[_0x34dcb1(0x91)]();if(!_0x2496e6[_0x34dcb1(0xc5)])return{'success':![],'reason':_0x2b499c[_0x34dcb1(0xb1)],'published':![]};if(!this['isConnected']){const _0x5938d9=await this['initialize']();if(!_0x5938d9)return{'success':![],'reason':_0x34dcb1(0x9c),'published':![]};}try{const _0x4c20e7=this[_0x34dcb1(0xa6)](_0x5e9c1c,_0x35afa5,_0x1f5c10,_0x8151ba),_0x436c7a=_0x8151ba['keyField']||'id',_0x291523=_0x1f5c10?.[_0x436c7a]||_0x35afa5?.[_0x436c7a]||_0x2b499c['QdNED'](uuidv7),_0x230c48=await this['producer'][_0x34dcb1(0xac)]({'topic':_0x41dc22,'messages':[{'key':_0x2b499c['bOZUl'](String,_0x291523),'value':JSON['stringify'](_0x4c20e7),'headers':{'event-type':_0x5e9c1c,'correlation-id':_0x4c20e7[_0x34dcb1(0xbf)],'source':_0x4c20e7[_0x34dcb1(0x8e)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x41dc22+':\x20'+_0x5e9c1c+_0x34dcb1(0xa4)+_0x291523+')'),{'success':!![],'correlationId':_0x4c20e7[_0x34dcb1(0xbf)],'topic':_0x41dc22,'partition':_0x230c48[0x0]?.['partition'],'offset':_0x230c48[0x0]?.[_0x34dcb1(0x88)],'published':!![]};}catch(_0x4ca89b){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x41dc22+':\x20'+_0x4ca89b['message']),{'success':![],'error':_0x4ca89b['message'],'published':![]};}}async['publishInsert'](_0x48a1ef,_0x5f24a6,_0x4cccbc,_0x422131={}){const _0x11efe7=a0_0x3f6507,_0x1c8525={'gaBiM':'created'},_0x21a0aa=this['buildTopicName'](_0x48a1ef,_0x5f24a6,_0x1c8525[_0x11efe7(0x9b)],_0x422131[_0x11efe7(0xd0)]);return this['publishEvent'](_0x21a0aa,'ENTITY_CREATED',null,_0x4cccbc,{'module':_0x48a1ef,'endpoint':_0x5f24a6,'keyField':_0x422131[_0x11efe7(0xb7)],'tableName':_0x422131['tableName'],'correlationId':_0x422131['correlationId']});}async[a0_0x3f6507(0xd7)](_0x15de6,_0x48a669,_0x218987,_0x2a01e9,_0x144157={}){const _0x4ada65=a0_0x3f6507,_0x2a445c={'kIfda':_0x4ada65(0xc0)},_0x3fa499=this[_0x4ada65(0x83)](_0x15de6,_0x48a669,'updated',_0x144157['topic']);return this[_0x4ada65(0xce)](_0x3fa499,_0x2a445c[_0x4ada65(0xbd)],_0x218987,_0x2a01e9,{'module':_0x15de6,'endpoint':_0x48a669,'keyField':_0x144157['keyField'],'tableName':_0x144157[_0x4ada65(0x97)],'correlationId':_0x144157[_0x4ada65(0xbf)]});}async['publishDelete'](_0x254425,_0x4c4643,_0x43f4ee,_0x30749e={}){const _0x4fe81d=a0_0x3f6507,_0x3f611d={'qMsJb':_0x4fe81d(0xd2)},_0x3b1ad6=this[_0x4fe81d(0x83)](_0x254425,_0x4c4643,_0x3f611d['qMsJb'],_0x30749e['topic']);return this['publishEvent'](_0x3b1ad6,_0x4fe81d(0x95),_0x43f4ee,null,{'module':_0x254425,'endpoint':_0x4c4643,'keyField':_0x30749e[_0x4fe81d(0xb7)],'tableName':_0x30749e[_0x4fe81d(0x97)],'correlationId':_0x30749e['correlationId']});}['getStatus'](){const _0x5eea45=a0_0x3f6507,_0x22d454=this['getConfig']();return{'enabled':_0x22d454[_0x5eea45(0xc5)],'connected':this[_0x5eea45(0xa7)],'brokers':_0x22d454[_0x5eea45(0x7f)],'clientId':_0x22d454['clientId'],'topicPattern':_0x22d454['topicPattern']};}async['close'](){const _0x57a510=a0_0x3f6507;if(this[_0x57a510(0xa1)]&&this['isConnected'])try{await this[_0x57a510(0xa1)]['disconnect'](),this['isConnected']=![],console[_0x57a510(0x98)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x15b26e){console['error'](_0x57a510(0x8f)+_0x15b26e['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4d73b4=a0_0x3f6507;instance&&(instance[_0x4d73b4(0x84)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xa514b8=a0_0x3cc4;(function(_0x5b4f55,_0x377bba){const _0xef9974=a0_0x3cc4,_0x52d6a9=_0x5b4f55();while(!![]){try{const _0x14dc48=-parseInt(_0xef9974(0x165))/0x1+-parseInt(_0xef9974(0x1b3))/0x2+-parseInt(_0xef9974(0x19b))/0x3*(-parseInt(_0xef9974(0x1c2))/0x4)+-parseInt(_0xef9974(0x1c0))/0x5*(parseInt(_0xef9974(0x1be))/0x6)+parseInt(_0xef9974(0x16b))/0x7+-parseInt(_0xef9974(0x169))/0x8*(parseInt(_0xef9974(0x1b0))/0x9)+parseInt(_0xef9974(0x1ae))/0xa*(parseInt(_0xef9974(0x176))/0xb);if(_0x14dc48===_0x377bba)break;else _0x52d6a9['push'](_0x52d6a9['shift']());}catch(_0x4c5ac4){_0x52d6a9['push'](_0x52d6a9['shift']());}}}(a0_0x5020,0x91bd1));function a0_0x3cc4(_0x3b17f0,_0x1391dc){_0x3b17f0=_0x3b17f0-0x162;const _0x5020fe=a0_0x5020();let _0x3cc485=_0x5020fe[_0x3b17f0];if(a0_0x3cc4['eyUtfd']===undefined){var _0x1ac72b=function(_0x5006d3){const _0x26738b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d2501='',_0x5d0105='';for(let _0x4056f8=0x0,_0x3a51fc,_0x2e03ba,_0x2a51bd=0x0;_0x2e03ba=_0x5006d3['charAt'](_0x2a51bd++);~_0x2e03ba&&(_0x3a51fc=_0x4056f8%0x4?_0x3a51fc*0x40+_0x2e03ba:_0x2e03ba,_0x4056f8++%0x4)?_0x4d2501+=String['fromCharCode'](0xff&_0x3a51fc>>(-0x2*_0x4056f8&0x6)):0x0){_0x2e03ba=_0x26738b['indexOf'](_0x2e03ba);}for(let _0xf5e4af=0x0,_0x2f6d01=_0x4d2501['length'];_0xf5e4af<_0x2f6d01;_0xf5e4af++){_0x5d0105+='%'+('00'+_0x4d2501['charCodeAt'](_0xf5e4af)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d0105);};a0_0x3cc4['zbWSAE']=_0x1ac72b,a0_0x3cc4['pDwJUX']={},a0_0x3cc4['eyUtfd']=!![];}const _0x55362c=_0x5020fe[0x0],_0x39b87f=_0x3b17f0+_0x55362c,_0x59309c=a0_0x3cc4['pDwJUX'][_0x39b87f];return!_0x59309c?(_0x3cc485=a0_0x3cc4['zbWSAE'](_0x3cc485),a0_0x3cc4['pDwJUX'][_0x39b87f]=_0x3cc485):_0x3cc485=_0x59309c,_0x3cc485;}const dotenv=require('dotenv'),path=require(a0_0xa514b8(0x188)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0xa514b8(0x1b2)](__dirname,'../../js/messagehub.js');if(fs[a0_0xa514b8(0x187)](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0xa514b8(0x1a8)+messagehubPath);else throw new Error(a0_0xa514b8(0x16e)+messagehubPath);}catch(a0_0x108f03){console[a0_0xa514b8(0x1af)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x108f03['message']);throw a0_0x108f03;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0xcefceb){const _0xaf77a0=a0_0xa514b8,_0x17cfc5=new Date()[_0xaf77a0(0x194)]();console['log']('['+_0x17cfc5+']\x20'+_0xcefceb);}function a0_0x5020(){const _0x1aa6a9=['zxjYB3i','nJu4ndeYmxrRz0nlBa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','CMvZB2X2zq','mtuYndqYwhvLB0zP','BwvZC2fNzs1Zzw50','Dg9WAwm','q29UBMvJDgLVBIb0Aw1LB3v0','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','tvnivujFqvbjx1bpuLq','zgvMyxvSDa','CMvXDwvZDeLK','zNvUy3rPB24','CKHLqum','CMvHC29U','mJG2ntm2nMzYCu5rsq','q3zXDLa','mtb0Dw9iqKu','y29TBxvUAwnHDgLVBLr5Cgu','mJq4se5pAeDd','tw9KztOGs29UzwTZAsboEwf0yq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','EuTyzxm','otm3nZe2u0DjEK5m','ChvIBgLZAeTLEq','y2HHBM5LBa','shvSvLq','oenjzfL2sG','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','mZiZndK4n1DnD2LIta','CMvXDwLYzufJAW','y2f0zwDVCNK','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','D2vIC29JA2v0','C29JA2v0','BMfTzq','q2HHBM5LBcbuyxjNzxq6ia','s29UzMLNDxjHC2KGugXHDgzVCM06ia','y2XLyxjdywnOzq','ugrQzvO','odHAuenYBgO','DgTzq1a','ksbWywrHia','tvnivujFse9tva','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','CMvZDgzVCMDL','Du5nweC','r3fhCeW','vw5RBM93BG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','DxnLCKLK','u3rHDhvZieXPC3rLBMvYoIa','ywLNy1K','CMvJzwL2zwrbDa','AxnfCNjVCLjLBgf0zwq','CgXHDgzVCM1dB25MAwC','CuPyyw4','zxHPC3rZu3LUyW','Cgf0Aa','zxjYB3jezxrHAwW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','t3rlv2m','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','Bg9JywXOB3n0','rfHWB0e','zw52','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','B0X0D3y','AgTdu0q','igrPDgvYAw1Hig9SzwGG','Dg9ju09tDhjPBMC','zgLZy29UBMvJDgvK','q2XPzw50ieLel1vZzxjjrdOG','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','BwvZC2fNzq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','rKDUzfy','ntu4mJrsD0jJBgK','Dg9mB2nHBgvuAw1Lu3rYAw5N','ywrKtgLZDgvUzxi','vxziC00','vw5RBM93BIbLCNjVCG','lIbuB3rHBcbRB25MAxjTyxnPoIa','zgLZy29UBMvJDa','ChvIBgLZAa','tvnivujFq09ntvvosunbveLptL9uwvbf','shHIy08','CMvJzwL2zxjjBMzV','tvnivujFqvvut19bq0Tot1Dmrurhrq','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','AhLlANO','vgLKywSGzgLRzxrHAhvP','rK5mAxe','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','CMvZDgzVCMDLlq','mJeWmJe3mejjDMfVtq'];a0_0x5020=function(){return _0x1aa6a9;};return a0_0x5020();}async function initMessageHub(){const _0x529581=a0_0xa514b8,_0x3b69b9={'SWZrA':function(_0x31ef7b,_0x101b3c){return _0x31ef7b(_0x101b3c);},'qJXan':'connected','elmWs':function(_0x13594a,_0x95fe15){return _0x13594a(_0x95fe15);},'Whnpi':function(_0x4ddc4c,_0x528d86){return _0x4ddc4c===_0x528d86;},'OtKWc':function(_0x15eafc,_0x2cabd0){return _0x15eafc(_0x2cabd0);},'YFaVQ':function(_0x599c35,_0x3ddd64){return _0x599c35(_0x3ddd64);},'CvqvP':_0x529581(0x17e),'tkYCP':function(_0xf6cbce,_0x4d4992){return _0xf6cbce(_0x4d4992);},'WIwmh':function(_0x34eca0,_0x2e07e8){return _0x34eca0(_0x2e07e8);},'oLtwv':_0x529581(0x1b6),'XzyzG':function(_0x3546e4,_0x29f3a0){return _0x3546e4(_0x29f3a0);},'zmtsY':_0x529581(0x162),'PtYky':'broadcast','QAtvt':function(_0x129549,_0x2d0bc4){return _0x129549===_0x2d0bc4;},'ZlTsm':'true','uNMXG':_0x529581(0x18d),'gquRG':function(_0x35165f,_0x4bbb81){return _0x35165f(_0x4bbb81);},'bJGFS':_0x529581(0x18a),'DXpoA':function(_0x213e84,_0x4577a1){return _0x213e84(_0x4577a1);},'IaqxO':function(_0x331662,_0x55e033){return _0x331662(_0x55e033);},'FGndV':'Error\x20inisialisasi\x20MessageHub:','Imgig':function(_0x501b84,_0x39f524){return _0x501b84(_0x39f524);},'uqxJk':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0x3b69b9['Imgig'](log,_0x3b69b9['uqxJk']),connectionPromise;return connectionPromise=new Promise(async(_0x4590ec,_0x1368f3)=>{const _0x197c8d=_0x529581,_0x30901b={'HulVT':function(_0x4f9bae,_0x322aae){return _0x3b69b9['WIwmh'](_0x4f9bae,_0x322aae);},'HxbcO':_0x3b69b9[_0x197c8d(0x191)]};try{_0x3b69b9['XzyzG'](log,_0x197c8d(0x199)),_0x3b69b9[_0x197c8d(0x177)](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),log(_0x3b69b9['zmtsY']);const _0x512dd1={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x197c8d(0x18f)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x197c8d(0x18f)]['MSHUB_USER_ID']||_0x197c8d(0x1ad)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x197c8d(0x1b9))+'-'+process['pid'],'communicationType':process[_0x197c8d(0x18f)]['MSHUB_COMMUNICATION_TYPE']||_0x3b69b9['PtYky'],'autoAcknowledge':_0x3b69b9['QAtvt'](process[_0x197c8d(0x18f)][_0x197c8d(0x1a6)],_0x3b69b9['ZlTsm']),'acknowledgeMessages':_0x3b69b9['QAtvt'](process['env'][_0x197c8d(0x1a7)],'true'),'platform':{'type':process[_0x197c8d(0x18f)][_0x197c8d(0x1a3)]||_0x197c8d(0x16f),'host':process[_0x197c8d(0x18f)][_0x197c8d(0x179)]||_0x3b69b9[_0x197c8d(0x17c)],'api_port':parseInt(process[_0x197c8d(0x18f)][_0x197c8d(0x1b8)]||0xdf8),'service_port':parseInt(process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x512dd1),_0x3b69b9['gquRG'](log,_0x3b69b9['bJGFS']),log(_0x197c8d(0x196)+messagehub[_0x197c8d(0x180)]),log('Publish\x20Key:\x20'+messagehub[_0x197c8d(0x166)]),_0x3b69b9[_0x197c8d(0x18e)](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x3b69b9['IaqxO'](log,'Tipe\x20Komunikasi:\x20'+messagehub[_0x197c8d(0x1c1)]),log(_0x197c8d(0x173)+JSON['stringify'](messagehub[_0x197c8d(0x185)])),_0x3b69b9['YFaVQ'](log,_0x197c8d(0x163)),messagehub[_0x197c8d(0x19d)]({'status':function(_0x4e3528){const _0x49573a=_0x197c8d;_0x3b69b9['SWZrA'](log,_0x49573a(0x181)+_0x4e3528[_0x49573a(0x16d)]);if(_0x4e3528[_0x49573a(0x16d)]===_0x3b69b9[_0x49573a(0x186)])_0x3b69b9['elmWs'](log,_0x49573a(0x190)),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x4590ec(!![]);else{if(_0x3b69b9['Whnpi'](_0x4e3528['category'],_0x49573a(0x195))){const _0x5bc741=_0x4e3528[_0x49573a(0x184)]===!![];!_0x5bc741&&(_0x3b69b9[_0x49573a(0x18b)](log,_0x49573a(0x17a)+(_0x4e3528[_0x49573a(0x1bd)]||'Tidak\x20diketahui')),isConnected=![],connectionPromise&&(_0x3b69b9['YFaVQ'](_0x1368f3,new Error('Koneksi\x20terputus:\x20'+(_0x4e3528['reason']||_0x49573a(0x1aa)))),connectionPromise=null));}else{if(_0x4e3528[_0x49573a(0x16d)]==='error'){let _0x51bbb1=_0x4e3528[_0x49573a(0x189)]||_0x4e3528[_0x49573a(0x1af)]||_0x49573a(0x19f);log('⚠️\x20Error:\x20'+_0x51bbb1),isConnected=![],connectionPromise&&(_0x1368f3(new Error(_0x51bbb1)),connectionPromise=null);}else{if(_0x3b69b9['Whnpi'](_0x4e3528[_0x49573a(0x16d)],_0x49573a(0x1b4)))log(_0x49573a(0x18c)+_0x4e3528['requestId']);else{if(_0x3b69b9['Whnpi'](_0x4e3528['category'],'message-received')){const _0x3c4627=_0x4e3528[_0x49573a(0x1a5)]?.[_0x49573a(0x171)]||_0x3b69b9[_0x49573a(0x1bf)],_0x42a5ab=_0x4e3528['receiverInfo']?.['id']||_0x4e3528['receiverId'],_0x308092=new Date(_0x4e3528['receiverInfo']?.[_0x49573a(0x183)]||_0x4e3528['receivedAt']||new Date())[_0x49573a(0x19c)]();_0x3b69b9[_0x49573a(0x177)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x4e3528[_0x49573a(0x1ba)]+_0x49573a(0x193)+_0x3c4627+'\x20('+_0x42a5ab+_0x49573a(0x178)+_0x308092+_0x49573a(0x1a0)+(_0x4e3528['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x4b8773=_0x197c8d;!isConnected&&connectionPromise&&(log('⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x30901b[_0x4b8773(0x168)](_0x1368f3,new Error(_0x30901b[_0x4b8773(0x1a4)])),connectionPromise=null);},0x2710);}catch(_0x555db9){_0x3b69b9['WIwmh'](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x555db9[_0x197c8d(0x198)]),console['error'](_0x3b69b9[_0x197c8d(0x19a)],_0x555db9),connectionPromise=null,_0x3b69b9['gquRG'](_0x1368f3,_0x555db9);}}),connectionPromise;}async function publishMessage(_0x194fea,_0x16dca2,_0x6456cf,_0x1befd8={}){const _0x2787a1=a0_0xa514b8,_0x5401da={'xvLwW':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','UJyQL':function(_0x57ae02,_0x5e5d45){return _0x57ae02(_0x5e5d45);},'hyKjz':function(_0x45a066,_0x4fec39){return _0x45a066(_0x4fec39);},'aigcY':'================================','JPYgj':_0x2787a1(0x17b),'MWssH':_0x2787a1(0x16a),'cOknD':_0x2787a1(0x197)};try{!isConnected&&await initMessageHub();const _0x1d50bb=messagehub[_0x2787a1(0x167)](_0x194fea);log(_0x5401da['xvLwW']),log(_0x2787a1(0x172)+_0x1d50bb[_0x2787a1(0x1b5)]),_0x5401da['UJyQL'](log,'Message\x20Type:\x20'+_0x16dca2),_0x5401da[_0x2787a1(0x1a9)](log,_0x5401da[_0x2787a1(0x182)]);const _0x55b255={'requireAck':_0x1befd8[_0x2787a1(0x16c)]!==undefined?_0x1befd8[_0x2787a1(0x16c)]:![],'clearCache':_0x1befd8['clearCache']!==undefined?_0x1befd8[_0x2787a1(0x174)]:!![],'senderId':messagehub[_0x2787a1(0x170)]?messagehub[_0x2787a1(0x170)]['id']:_0x5401da['JPYgj']};log('Mengirim\x20pesan\x20ke\x20server...');const _0x14622f={'type':_0x16dca2,'content':_0x6456cf},_0x919bb0=await _0x1d50bb[_0x2787a1(0x1a2)](_0x14622f,_0x55b255);return log(_0x2787a1(0x1b1)+_0x194fea),{'success':!![],'requestId':_0x919bb0['requestId'],'topic':_0x194fea,'message':_0x5401da['MWssH']};}catch(_0x2517a9){return _0x5401da[_0x2787a1(0x1a9)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x2517a9['message']),{'success':![],'error':_0x2517a9[_0x2787a1(0x198)],'topic':_0x194fea,'message':_0x5401da['cOknD']};}}async function closeConnection(){const _0x33f915=a0_0xa514b8,_0x4893f5={'GqGpL':function(_0x2e0eda,_0x2ac57b){return _0x2e0eda&&_0x2ac57b;},'yKXes':function(_0x4a1611,_0x25d26f){return _0x4a1611===_0x25d26f;},'hkCSD':function(_0x3cfa67,_0x45f692){return _0x3cfa67(_0x45f692);},'FNLiq':_0x33f915(0x1bb),'PdjeZ':_0x33f915(0x1b7),'rHeAC':function(_0x4a468f,_0x9cc2af){return _0x4a468f(_0x9cc2af);},'UvHsM':_0x33f915(0x1ac)};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x4893f5[_0x33f915(0x17d)](isConnected,messagehub))try{if(_0x4893f5['yKXes'](typeof messagehub['disconnect'],_0x33f915(0x1bb)))await messagehub[_0x33f915(0x1a1)](),_0x4893f5[_0x33f915(0x192)](log,_0x33f915(0x17f));else{if(_0x4893f5[_0x33f915(0x164)](typeof messagehub['close'],_0x4893f5['FNLiq']))await messagehub['close'](),log(_0x4893f5[_0x33f915(0x175)]);else messagehub['socket']&&typeof messagehub[_0x33f915(0x170)][_0x33f915(0x1a1)]===_0x4893f5[_0x33f915(0x1ab)]?(messagehub['socket']['disconnect'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):_0x4893f5['rHeAC'](log,_0x4893f5[_0x33f915(0x19e)]);}isConnected=![],connectionPromise=null;}catch(_0x41a9ce){_0x4893f5[_0x33f915(0x1bc)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x41a9ce['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0xeedaff=a0_0x2cd3;(function(_0x15f58e,_0x202aeb){const _0xdd3125=a0_0x2cd3,_0xc363d7=_0x15f58e();while(!![]){try{const _0x41c903=-parseInt(_0xdd3125(0x9f))/0x1*(parseInt(_0xdd3125(0xc1))/0x2)+-parseInt(_0xdd3125(0xa5))/0x3*(-parseInt(_0xdd3125(0x87))/0x4)+parseInt(_0xdd3125(0xcf))/0x5+-parseInt(_0xdd3125(0xb7))/0x6*(-parseInt(_0xdd3125(0x89))/0x7)+parseInt(_0xdd3125(0xb1))/0x8*(parseInt(_0xdd3125(0xd0))/0x9)+parseInt(_0xdd3125(0xc8))/0xa*(parseInt(_0xdd3125(0xd4))/0xb)+parseInt(_0xdd3125(0xa3))/0xc*(-parseInt(_0xdd3125(0xd7))/0xd);if(_0x41c903===_0x202aeb)break;else _0xc363d7['push'](_0xc363d7['shift']());}catch(_0x485243){_0xc363d7['push'](_0xc363d7['shift']());}}}(a0_0x3075,0x5cf1c));const dotenv=require(a0_0xeedaff(0xcb)),path=require(a0_0xeedaff(0xa8)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0xeedaff(0xd6)]();let MessageHub;try{const messagehubPath=path[a0_0xeedaff(0x88)](__dirname,a0_0xeedaff(0xd3));if(fs[a0_0xeedaff(0xab)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0xeedaff(0xa6)](a0_0xeedaff(0xc6)+messagehubPath);else throw new Error(a0_0xeedaff(0xa2)+messagehubPath);}catch(a0_0x9b3a87){console[a0_0xeedaff(0x92)](a0_0xeedaff(0xae)+a0_0x9b3a87['message']);throw a0_0x9b3a87;}function a0_0x3075(){const _0x58b936=['CgXHDgzVCM1dB25MAwC','tvnivujFse9tva','wKPhreG','y29UBMvJDgvK','y2HHBM5LBa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','zxjYB3i','sMPIEwC','DgHjENm','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','DxnLCKLK','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','BwvZC2fNzq','ChvIBgLZAeTLEq','Dg9WAwm','CMvJzwL2zwrbDa','y2XVC2u','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','C3rYAw5NAwz5','mJvwwuroqMO','CMvZDgzVCMDLlq','s29UzMLNDxjHC2KGugXHDgzVCM06ia','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','mtKWmdK2nJHZt3LxvMi','tvnivujFqvbjx1bpuLq','mti5DejtAwLs','Bg9N','ksbWywrHia','Cgf0Aa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','q2XPzw50ieLel1vZzxjjrdOG','zxHPC3rZu3LUyW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','vgLKywSGzgLRzxrHAhvP','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','CMvJzwL2zxjjBMzV','rNPxrgK','oeLZufz5DG','s1HlDxe','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','C29JA2v0','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','nLrhv0ftwq','AxnfCNjVCLjLBgf0zwq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','Bg9JywXOB3n0','CMvXDwvZDeLK','rKPRvKO','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','y29UzMLYBwf0Aw9Uq291BNq','CMvHC29U','twvZC2fNzsbuExbLoIa','nda1ohnTvvbosa','ywrKtgLZDgvUzxi','tvnivujFqvvut19bq0Tot1Dmrurhrq','zgLZy29UBMvJDgvK','tw9KztOGs29UzwTZAsboEwf0yq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','Dvzoqvi','mtq1mJbqz1HUq0m','wfHlBLi','zxjYB3jezxrHAwW','zg90zw52','y2f0zwDVCNK','zxHWB3j0CW','tvnivujFu1vcu0nssujfx0Tfwq','mZi0mdyYnwTYsfbtDG','mJeXnZqZEMHzEgL6','Dg9ju09tDhjPBMC','BevHEMm','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','ndKWnMLvtNrRrG','CKXfwgG','y29UzMLN','mtnnwgHir0i','zw52','ELHnqwG','zgLZy29UBMvJDa','vNzjr2K','u3DeDM8','mta2mJHoz21VDNe','CMvZB2X2zq','nda3ndq4m0rqvhjjtG','tvnivujFq09ntvvosunbveLptL9uwvbf'];a0_0x3075=function(){return _0x58b936;};return a0_0x3075();}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x4d88db){const _0x29095d=a0_0xeedaff,_0x3d2ba1=new Date()[_0x29095d(0xd1)]();console[_0x29095d(0xa6)]('['+_0x3d2ba1+']\x20'+_0x4d88db);}function a0_0x2cd3(_0x583967,_0x324c2e){_0x583967=_0x583967-0x84;const _0x3075a6=a0_0x3075();let _0x2cd3ea=_0x3075a6[_0x583967];if(a0_0x2cd3['wDLwJj']===undefined){var _0x4ec0ba=function(_0x163d9e){const _0x523a8a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58d577='',_0x31c476='';for(let _0x2a9696=0x0,_0x29ebc6,_0x38b742,_0x4fff50=0x0;_0x38b742=_0x163d9e['charAt'](_0x4fff50++);~_0x38b742&&(_0x29ebc6=_0x2a9696%0x4?_0x29ebc6*0x40+_0x38b742:_0x38b742,_0x2a9696++%0x4)?_0x58d577+=String['fromCharCode'](0xff&_0x29ebc6>>(-0x2*_0x2a9696&0x6)):0x0){_0x38b742=_0x523a8a['indexOf'](_0x38b742);}for(let _0x2d9db9=0x0,_0x928f8a=_0x58d577['length'];_0x2d9db9<_0x928f8a;_0x2d9db9++){_0x31c476+='%'+('00'+_0x58d577['charCodeAt'](_0x2d9db9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31c476);};a0_0x2cd3['aBCdqA']=_0x4ec0ba,a0_0x2cd3['dZeoXv']={},a0_0x2cd3['wDLwJj']=!![];}const _0x38e6a1=_0x3075a6[0x0],_0x19da6e=_0x583967+_0x38e6a1,_0x279619=a0_0x2cd3['dZeoXv'][_0x19da6e];return!_0x279619?(_0x2cd3ea=a0_0x2cd3['aBCdqA'](_0x2cd3ea),a0_0x2cd3['dZeoXv'][_0x19da6e]=_0x2cd3ea):_0x2cd3ea=_0x279619,_0x2cd3ea;}async function initMessageHub(){const _0xe5ca77=a0_0xeedaff,_0x260207={'ecoac':function(_0x12de46,_0x11e7f5){return _0x12de46(_0x11e7f5);},'uVNAR':_0xe5ca77(0xc4),'CSbIV':_0xe5ca77(0xad),'XgDbP':function(_0x314204,_0x5f32c7){return _0x314204===_0x5f32c7;},'GZvbd':_0xe5ca77(0x92),'rbdmq':'message-sent','XXKnR':'Connection\x20timeout','ZJGDH':function(_0x22fef0,_0x1b1b40){return _0x22fef0(_0x1b1b40);},'zXnXf':function(_0x58dc14,_0x475056){return _0x58dc14(_0x475056);},'KXKuq':'true','isUIN':'websocket','FJkVJ':_0xe5ca77(0xba),'rLEXh':function(_0x118f25,_0x365a53){return _0x118f25(_0x365a53);},'BeJOd':_0xe5ca77(0xac),'thIzs':function(_0x50164b,_0x4330da){return _0x50164b(_0x4330da);},'oHyxf':_0xe5ca77(0x91),'nKCiL':function(_0xb3a9d9,_0x3dab7c,_0x224d55){return _0xb3a9d9(_0x3dab7c,_0x224d55);},'NAtpo':_0xe5ca77(0xb5),'JovLh':'MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada','Jjbyg':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return _0x260207[_0xe5ca77(0xd5)](log,_0x260207['JovLh']),!![];if(connectionPromise)return log(_0x260207[_0xe5ca77(0x93)]),connectionPromise;return connectionPromise=new Promise(async(_0x504110,_0x1ee96e)=>{const _0xfa7da5=_0xe5ca77,_0x4fc752={'qkxGy':_0x260207[_0xfa7da5(0xc9)]};try{_0x260207[_0xfa7da5(0x8d)](log,_0xfa7da5(0xb9)),_0x260207['ZJGDH'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x260207['zXnXf'](log,_0xfa7da5(0xc5));const _0x5a55fd={'publishKey':process[_0xfa7da5(0xd8)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0xfa7da5(0xce)],'userId':process[_0xfa7da5(0xd8)]['MSHUB_USER_ID']||_0xfa7da5(0xa0)+(process[_0xfa7da5(0xd8)]['RESTFORGE_PROJECT_NAME']||'default')+'-'+process['pid'],'communicationType':process[_0xfa7da5(0xd8)][_0xfa7da5(0x8a)]||'broadcast','autoAcknowledge':_0x260207['XgDbP'](process['env'][_0xfa7da5(0xc3)],_0x260207[_0xfa7da5(0xb2)]),'acknowledgeMessages':process[_0xfa7da5(0xd8)]['MSHUB_ACKNOWLEDGE_MESSAGES']==='true','platform':{'type':process[_0xfa7da5(0xd8)]['MSHUB_COMMUNICATION_TYPE']||_0x260207['isUIN'],'host':process[_0xfa7da5(0xd8)][_0xfa7da5(0x8c)]||_0x260207[_0xfa7da5(0xbc)],'api_port':_0x260207['rLEXh'](parseInt,process[_0xfa7da5(0xd8)][_0xfa7da5(0xa4)]||0xdf8),'service_port':parseInt(process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x5a55fd),_0x260207[_0xfa7da5(0x8d)](log,_0x260207['BeJOd']),_0x260207[_0xfa7da5(0x94)](log,_0xfa7da5(0xaa)+messagehub[_0xfa7da5(0x96)]),log('Publish\x20Key:\x20'+messagehub[_0xfa7da5(0x99)]),log('Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x260207['thIzs'](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0xfa7da5(0xa1)+JSON[_0xfa7da5(0x9e)](messagehub[_0xfa7da5(0x8b)])),_0x260207['rLEXh'](log,_0x260207['oHyxf']),messagehub[_0xfa7da5(0xc2)]({'status':function(_0x367af3){const _0x2b3299=_0xfa7da5;log('Status\x20Listener:\x20'+_0x367af3[_0x2b3299(0xcc)]);if(_0x367af3[_0x2b3299(0xcc)]===_0x2b3299(0x8e))log(_0x2b3299(0x97)),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x260207['ecoac'](_0x504110,!![]);else{if(_0x367af3[_0x2b3299(0xcc)]===_0x260207[_0x2b3299(0xc7)]){const _0x503429=_0x367af3[_0x2b3299(0xb8)]===!![];!_0x503429&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x367af3[_0x2b3299(0xbf)]||_0x260207['CSbIV'])),isConnected=![],connectionPromise&&(_0x1ee96e(new Error('Koneksi\x20terputus:\x20'+(_0x367af3['reason']||_0x2b3299(0xad)))),connectionPromise=null));}else{if(_0x260207['XgDbP'](_0x367af3['category'],_0x260207['GZvbd'])){let _0x23281f=_0x367af3[_0x2b3299(0xca)]||_0x367af3[_0x2b3299(0x92)]||'Unknown\x20error';_0x260207['ecoac'](log,'⚠️\x20Error:\x20'+_0x23281f),isConnected=![],connectionPromise&&(_0x1ee96e(new Error(_0x23281f)),connectionPromise=null);}else{if(_0x260207['XgDbP'](_0x367af3[_0x2b3299(0xcc)],_0x260207['rbdmq']))log(_0x2b3299(0xb3)+_0x367af3[_0x2b3299(0xbb)]);else{if(_0x260207['XgDbP'](_0x367af3[_0x2b3299(0xcc)],'message-received')){const _0x44ea98=_0x367af3[_0x2b3299(0xaf)]?.['name']||'Unknown',_0x3015a3=_0x367af3['receiverInfo']?.['id']||_0x367af3['receiverId'],_0x1d6052=new Date(_0x367af3[_0x2b3299(0xaf)]?.[_0x2b3299(0x9b)]||_0x367af3[_0x2b3299(0x9b)]||new Date())['toLocaleTimeString']();_0x260207['ecoac'](log,_0x2b3299(0x95)+_0x367af3['requestId']+'\x20diterima\x20oleh\x20'+_0x44ea98+'\x20('+_0x3015a3+_0x2b3299(0xa7)+_0x1d6052+'.\x20Total\x20konfirmasi:\x20'+(_0x367af3[_0x2b3299(0xbe)]||0x1));}}}}}}}),timeoutHandler=_0x260207['nKCiL'](setTimeout,()=>{!isConnected&&connectionPromise&&(log('⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x1ee96e(new Error(_0x4fc752['qkxGy'])),connectionPromise=null);},0x2710);}catch(_0x66ec7){_0x260207[_0xfa7da5(0xd5)](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x66ec7['message']),console[_0xfa7da5(0x92)](_0x260207['NAtpo'],_0x66ec7),connectionPromise=null,_0x260207['rLEXh'](_0x1ee96e,_0x66ec7);}}),connectionPromise;}async function publishMessage(_0x2df6f6,_0x583803,_0x48aaf2,_0x21d26c={}){const _0x452b41=a0_0xeedaff,_0x814c36={'FzWDi':function(_0x56afa5,_0x2c34bb){return _0x56afa5(_0x2c34bb);},'yGUUX':function(_0x5d56a3,_0x3d2d3f){return _0x5d56a3(_0x3d2d3f);},'lEazc':'================================','SwDvo':function(_0x5ae4be,_0x56f27b){return _0x5ae4be!==_0x56f27b;},'rmGRf':'restforge','lVqCS':'Mengirim\x20pesan\x20ke\x20server...','zXMAh':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x100f94=messagehub[_0x452b41(0x8f)](_0x2df6f6);log(_0x452b41(0x9d)),_0x814c36['FzWDi'](log,'Channel\x20Target:\x20'+_0x100f94[_0x452b41(0x9a)]),_0x814c36['yGUUX'](log,_0x452b41(0xc0)+_0x583803),log(_0x814c36[_0x452b41(0xd2)]);const _0x21c800={'requireAck':_0x21d26c['requireAck']!==undefined?_0x21d26c['requireAck']:![],'clearCache':_0x814c36[_0x452b41(0x86)](_0x21d26c['clearCache'],undefined)?_0x21d26c['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x452b41(0xb4)]['id']:_0x814c36['rmGRf']};_0x814c36[_0x452b41(0xb0)](log,_0x814c36['lVqCS']);const _0x2edc6b={'type':_0x583803,'content':_0x48aaf2},_0xca137a=await _0x100f94['publish'](_0x2edc6b,_0x21c800);return _0x814c36['FzWDi'](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x2df6f6),{'success':!![],'requestId':_0xca137a[_0x452b41(0xbb)],'topic':_0x2df6f6,'message':'Message\x20sent\x20successfully'};}catch(_0x5bad9d){return log(_0x452b41(0xb6)+_0x5bad9d['message']),{'success':![],'error':_0x5bad9d['message'],'topic':_0x2df6f6,'message':_0x814c36[_0x452b41(0xd9)]};}}async function closeConnection(){const _0xd191e3=a0_0xeedaff,_0x1be519={'FAvWD':function(_0x305e9f,_0x18a15e){return _0x305e9f===_0x18a15e;},'pleOt':function(_0x3d83e5,_0x51f14c){return _0x3d83e5===_0x51f14c;},'peKpz':function(_0x272f61,_0x3adcb4){return _0x272f61(_0x3adcb4);},'VvIGi':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x1be519['FAvWD'](typeof messagehub[_0xd191e3(0x84)],'function'))await messagehub['disconnect'](),log(_0xd191e3(0x90));else{if(typeof messagehub[_0xd191e3(0x9c)]==='function')await messagehub[_0xd191e3(0x9c)](),log(_0xd191e3(0xa9));else messagehub['socket']&&_0x1be519['pleOt'](typeof messagehub[_0xd191e3(0xb4)][_0xd191e3(0x84)],'function')?(messagehub['socket'][_0xd191e3(0x84)](),_0x1be519['peKpz'](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):log(_0x1be519[_0xd191e3(0x85)]);}isConnected=![],connectionPromise=null;}catch(_0x1b85b6){log(_0xd191e3(0xbd)+_0x1b85b6[_0xd191e3(0x98)]);}}module[a0_0xeedaff(0xcd)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3f0c47=a0_0x5d7b;(function(_0x1351ed,_0x45d14a){const _0x178239=a0_0x5d7b,_0x5846bb=_0x1351ed();while(!![]){try{const _0x390246=parseInt(_0x178239(0x237))/0x1*(parseInt(_0x178239(0x231))/0x2)+-parseInt(_0x178239(0x230))/0x3+-parseInt(_0x178239(0x1e0))/0x4*(parseInt(_0x178239(0x1ef))/0x5)+parseInt(_0x178239(0x1ff))/0x6+parseInt(_0x178239(0x1da))/0x7*(parseInt(_0x178239(0x222))/0x8)+parseInt(_0x178239(0x212))/0x9*(-parseInt(_0x178239(0x225))/0xa)+parseInt(_0x178239(0x1f2))/0xb*(parseInt(_0x178239(0x210))/0xc);if(_0x390246===_0x45d14a)break;else _0x5846bb['push'](_0x5846bb['shift']());}catch(_0x572c75){_0x5846bb['push'](_0x5846bb['shift']());}}}(a0_0x3ecf,0x6ede5));function a0_0x5d7b(_0x2a1969,_0x24b0d0){_0x2a1969=_0x2a1969-0x1da;const _0x3ecfc0=a0_0x3ecf();let _0x5d7b43=_0x3ecfc0[_0x2a1969];if(a0_0x5d7b['eGAILA']===undefined){var _0x2308a0=function(_0x4af0f7){const _0x3a4746='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x560f93='',_0x334a89='';for(let _0x435e19=0x0,_0x3d802d,_0x184b23,_0x41b2a3=0x0;_0x184b23=_0x4af0f7['charAt'](_0x41b2a3++);~_0x184b23&&(_0x3d802d=_0x435e19%0x4?_0x3d802d*0x40+_0x184b23:_0x184b23,_0x435e19++%0x4)?_0x560f93+=String['fromCharCode'](0xff&_0x3d802d>>(-0x2*_0x435e19&0x6)):0x0){_0x184b23=_0x3a4746['indexOf'](_0x184b23);}for(let _0x428990=0x0,_0x3b147b=_0x560f93['length'];_0x428990<_0x3b147b;_0x428990++){_0x334a89+='%'+('00'+_0x560f93['charCodeAt'](_0x428990)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x334a89);};a0_0x5d7b['TmeIFZ']=_0x2308a0,a0_0x5d7b['cRnlUz']={},a0_0x5d7b['eGAILA']=!![];}const _0x3b5aab=_0x3ecfc0[0x0],_0x333f86=_0x2a1969+_0x3b5aab,_0x627831=a0_0x5d7b['cRnlUz'][_0x333f86];return!_0x627831?(_0x5d7b43=a0_0x5d7b['TmeIFZ'](_0x5d7b43),a0_0x5d7b['cRnlUz'][_0x333f86]=_0x5d7b43):_0x5d7b43=_0x627831,_0x5d7b43;}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x3f0c47(0x22e)),{formatDate}=require(a0_0x3f0c47(0x1f5));class RabbitMQService{constructor(){const _0x350778=a0_0x3f0c47,_0x62c51a={'GNlhb':function(_0x362c3a){return _0x362c3a();}};this[_0x350778(0x1f4)]=null,this['channel']=null,this['config']=_0x62c51a['GNlhb'](getConfig),this[_0x350778(0x1fa)]=![],this['messageHandlers']=[];}async['initialize'](){const _0x5f0037=a0_0x3f0c47,_0x31458a={'qtqPt':function(_0x127eef,_0x30e330){return _0x127eef(_0x30e330);},'bJVqc':function(_0x500ffb,_0x17bfe7,_0x339c16){return _0x500ffb(_0x17bfe7,_0x339c16);},'AlpQc':'5|3|7|1|2|4|6|0'};try{const _0x1075e4=_0x31458a['AlpQc']['split']('|');let _0x33b824=0x0;while(!![]){switch(_0x1075e4[_0x33b824++]){case'0':return!![];case'1':console[_0x5f0037(0x1e8)]('['+formatDate(new Date())+_0x5f0037(0x1fb));continue;case'2':await setupInfrastructure(this['channel']);continue;case'3':this['channel']=await _0x31458a['qtqPt'](createChannel,this[_0x5f0037(0x1f4)]);continue;case'4':this[_0x5f0037(0x1fa)]=!![];continue;case'5':this[_0x5f0037(0x1f4)]=await createConnection();continue;case'6':this['connection']['on'](_0x5f0037(0x20b),()=>{const _0x597085=_0x5f0037;console['error']('['+_0x31458a[_0x597085(0x1e3)](formatDate,new Date())+_0x597085(0x208)),this[_0x597085(0x1fa)]=![],_0x31458a[_0x597085(0x21e)](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'7':await this[_0x5f0037(0x21a)][_0x5f0037(0x221)](0x1);continue;}break;}}catch(_0x348821){return console[_0x5f0037(0x22d)]('['+_0x31458a[_0x5f0037(0x1e3)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x348821[_0x5f0037(0x229)]),this[_0x5f0037(0x1fa)]=![],![];}}async['reconnect'](){const _0x1d42ca=a0_0x3f0c47,_0xbb8727={'VzxDd':function(_0x475ddb,_0x30f7a0){return _0x475ddb(_0x30f7a0);}};console[_0x1d42ca(0x1e8)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this['startConsume']());}catch(_0x23758c){console[_0x1d42ca(0x22d)]('['+_0xbb8727[_0x1d42ca(0x1f0)](formatDate,new Date())+_0x1d42ca(0x20a)+_0x23758c['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x3f0c47(0x1e9)](_0x481334){const _0x18544a=a0_0x3f0c47,_0x3bd0f1={'yFhjj':function(_0x5a2a4e,_0x1c417d){return _0x5a2a4e(_0x1c417d);},'iOYom':function(_0x584702,_0x41b086){return _0x584702===_0x41b086;},'NbRax':'created/ready','SUrfD':'found','MAWGv':'inequivalent\x20arg','zJjsM':'x-dead-letter-routing-key','gqlny':function(_0x44c65c,_0x55eba3){return _0x44c65c(_0x55eba3);}};try{!this[_0x18544a(0x1fa)]&&(this[_0x18544a(0x1f4)]=await createConnection(),this['channel']=await createChannel(this[_0x18544a(0x1f4)]),this[_0x18544a(0x1fa)]=!![]);const _0x202a7b=process[_0x18544a(0x1e5)]['RESTFORGE_PROJECT_NAME']||_0x18544a(0x232),_0x3f9c27=_0x202a7b+'-retry-exchange';await this['channel']['assertExchange'](_0x3f9c27,_0x18544a(0x1f1),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x3f9c27+_0x18544a(0x203)),await this[_0x18544a(0x21a)][_0x18544a(0x1fc)](_0x481334['exchange'],_0x18544a(0x1f1),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3bd0f1[_0x18544a(0x218)](formatDate,new Date())+_0x18544a(0x1e7)+_0x481334[_0x18544a(0x205)]+_0x18544a(0x203));const _0x2054b2=_0x481334[_0x18544a(0x1e4)]+'_retry',_0x182754={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x481334['exchange'],'x-dead-letter-routing-key':_0x481334[_0x18544a(0x1e4)]}};await this['channel']['assertQueue'](_0x2054b2,_0x182754),console[_0x18544a(0x1e8)]('['+formatDate(new Date())+_0x18544a(0x233)+_0x2054b2+'\x20created/ready'),await this['channel']['bindQueue'](_0x2054b2,_0x3f9c27,_0x481334['routingKey']),console[_0x18544a(0x1e8)]('['+_0x3bd0f1[_0x18544a(0x218)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x481334[_0x18544a(0x1e4)]+'\x20created');const _0xb25c2e={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3f9c27,'x-dead-letter-routing-key':_0x481334['routingKey']}};try{const _0x40d6c5=await this['channel'][_0x18544a(0x1fd)](_0x481334['queue'],_0xb25c2e);console[_0x18544a(0x1e8)]('['+_0x3bd0f1['yFhjj'](formatDate,new Date())+_0x18544a(0x238)+_0x481334[_0x18544a(0x206)]+'\x20'+(_0x3bd0f1[_0x18544a(0x1ee)](_0x40d6c5['queue'],_0x481334['queue'])?_0x3bd0f1[_0x18544a(0x224)]:_0x3bd0f1['SUrfD'])+'\x20with\x20DLX'),await this[_0x18544a(0x21a)]['bindQueue'](_0x481334['queue'],_0x481334['exchange'],_0x481334['routingKey']),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0x481334['exchange']+_0x18544a(0x1ed)+_0x481334['queue']+'\x20('+_0x481334[_0x18544a(0x1e4)]+_0x18544a(0x1dd));}catch(_0x488f1a){if(_0x488f1a[_0x18544a(0x229)][_0x18544a(0x1f8)](_0x3bd0f1[_0x18544a(0x235)])&&_0x488f1a['message']['includes'](_0x3bd0f1['zJjsM'])){console['error']('\x0a['+_0x3bd0f1[_0x18544a(0x218)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+_0x481334[_0x18544a(0x206)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x18544a(0x22d)]('Trying\x20alternative\x20queue\x20name...');const _0x240188=_0x481334[_0x18544a(0x1e4)]+'_queue',_0x2cb2e1=await this[_0x18544a(0x21a)][_0x18544a(0x1fd)](_0x240188,_0xb25c2e);console[_0x18544a(0x1e8)]('['+formatDate(new Date())+_0x18544a(0x21c)+_0x240188+_0x18544a(0x22b)),await this['channel'][_0x18544a(0x1e1)](_0x240188,_0x481334['exchange'],_0x481334['routingKey']),console[_0x18544a(0x1e8)]('['+_0x3bd0f1[_0x18544a(0x218)](formatDate,new Date())+_0x18544a(0x1eb)+_0x481334['exchange']+'\x20->\x20'+_0x240188+'\x20('+_0x481334['routingKey']+')\x20created'),_0x481334[_0x18544a(0x206)]=_0x240188;}else{console[_0x18544a(0x22d)]('['+_0x3bd0f1['gqlny'](formatDate,new Date())+_0x18544a(0x200)+_0x481334[_0x18544a(0x206)]+':',_0x488f1a['message']);throw _0x488f1a;}}return!![];}catch(_0x4e37c1){return console['error']('['+formatDate(new Date())+_0x18544a(0x21f)+_0x4e37c1[_0x18544a(0x229)]),![];}}async['sendToQueue'](_0x281cf2,_0x34eaa8){const _0x35ab49=a0_0x3f0c47,_0x173f9b={'CzbcE':'application/json','hgyQJ':_0x35ab49(0x22c),'Ympen':function(_0x3a06fb,_0x30a371){return _0x3a06fb(_0x30a371);}};if(!this['isConnected'])try{await this[_0x35ab49(0x202)]();}catch(_0x216c83){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x216c83[_0x35ab49(0x229)],'data':null};}try{const _0x262c4c=_0x34eaa8[_0x35ab49(0x207)]!==undefined?_0x34eaa8[_0x35ab49(0x207)]:![],_0x22d640=_0x34eaa8[_0x35ab49(0x211)]||0x3,_0x43a134={'rabbitmq':{'exchange':_0x34eaa8['exchange'],'queue':_0x34eaa8[_0x35ab49(0x206)],'routing_key':_0x34eaa8['routingKey'],'auto_retry':_0x262c4c,'max_retries':_0x22d640},'message':_0x281cf2};await this[_0x35ab49(0x1e9)](_0x34eaa8);const _0x396193=new Date(),_0x4ea514={'timestamp':_0x396193[_0x35ab49(0x214)](),'content':JSON[_0x35ab49(0x215)](_0x43a134)},_0x2f3b46=this[_0x35ab49(0x21a)][_0x35ab49(0x213)](_0x34eaa8['exchange'],_0x34eaa8[_0x35ab49(0x1e4)],Buffer[_0x35ab49(0x228)](JSON['stringify'](_0x4ea514)),{'persistent':!![],'contentType':_0x173f9b['CzbcE'],'timestamp':_0x396193[_0x35ab49(0x21b)](),'messageId':_0x396193[_0x35ab49(0x21b)]()+'-'+Math['random']()['toString'](0x24)[_0x35ab49(0x20d)](0x7),'headers':{'x-auto-retry':_0x262c4c,'x-max-retry':_0x22d640,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x2f3b46){console[_0x35ab49(0x1e8)]('['+formatDate(_0x396193)+_0x35ab49(0x22f),{'exchange':_0x34eaa8[_0x35ab49(0x205)],'routing_key':_0x34eaa8[_0x35ab49(0x1e4)],'queue':_0x34eaa8['queue'],'sendAt':_0x396193[_0x35ab49(0x214)]()});const _0x924704=_0x35ab49(0x1de)+_0x396193['getTime']()+'-'+Math['random']()[_0x35ab49(0x20e)](0x24)['substring'](0x7);return{'success':!![],'message':_0x173f9b['hgyQJ'],'data':{'id':_0x924704,'queueInfo':{'exchange':_0x34eaa8[_0x35ab49(0x205)],'queue':_0x34eaa8[_0x35ab49(0x206)],'routingKey':_0x34eaa8['routingKey']}}};}else throw new Error(_0x35ab49(0x217));}catch(_0x4aa927){return console['error']('['+_0x173f9b[_0x35ab49(0x216)](formatDate,new Date())+_0x35ab49(0x1f7)+_0x4aa927[_0x35ab49(0x229)]),{'success':![],'message':_0x35ab49(0x20f)+_0x4aa927[_0x35ab49(0x229)],'data':null};}}[a0_0x3f0c47(0x220)](_0x5933c7){const _0x4570f2=a0_0x3f0c47,_0x3d8ad7={'vgcHS':function(_0x2fa89e,_0x1da5d5){return _0x2fa89e===_0x1da5d5;}};_0x3d8ad7['vgcHS'](typeof _0x5933c7,'function')?(this[_0x4570f2(0x1e6)][_0x4570f2(0x20c)](_0x5933c7),console['log']('['+formatDate(new Date())+']\x20Message\x20handler\x20registered')):console[_0x4570f2(0x22d)]('['+formatDate(new Date())+_0x4570f2(0x1e2));}async[a0_0x3f0c47(0x1f3)](_0x100e3d){const _0x2289d2=a0_0x3f0c47,_0x5256d6={'gvgtp':function(_0x16beb9,_0x3302ae){return _0x16beb9(_0x3302ae);}};if(this['messageHandlers'][_0x2289d2(0x1f9)]===0x0)return console['warn']('['+_0x5256d6[_0x2289d2(0x1ea)](formatDate,new Date())+_0x2289d2(0x1fe)),!![];try{for(const _0x168314 of this[_0x2289d2(0x1e6)]){await _0x168314(_0x100e3d);}return!![];}catch(_0x1b6926){return console[_0x2289d2(0x22d)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x1b6926['message']),![];}}async[a0_0x3f0c47(0x1ec)](){const _0x312f13=a0_0x3f0c47,_0x131dc9={'YqTdD':function(_0x17840f,_0x4f01a1){return _0x17840f!==_0x4f01a1;},'XFITC':function(_0x16b1ad,_0x3ca5f6){return _0x16b1ad(_0x3ca5f6);},'aFxkp':function(_0x1ced75,_0x259a2b){return _0x1ced75(_0x259a2b);},'ydifM':function(_0x4293c6,_0x2195e8){return _0x4293c6(_0x2195e8);}};if(!this['isConnected'])return console['error']('['+_0x131dc9[_0x312f13(0x226)](formatDate,new Date())+_0x312f13(0x22a)),![];try{return console['log']('['+_0x131dc9[_0x312f13(0x204)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x312f13(0x227)]['queue']+_0x312f13(0x201)),this['channel']['consume'](this[_0x312f13(0x227)]['queue'],async _0x4d411a=>{const _0x10fb62=_0x312f13;if(_0x131dc9['YqTdD'](_0x4d411a,null)){const _0x16cdc8=new Date();let _0x1f55bb;try{_0x1f55bb=JSON[_0x10fb62(0x1f6)](_0x4d411a['content']['toString']());}catch(_0x491331){console[_0x10fb62(0x22d)]('['+formatDate(_0x16cdc8)+_0x10fb62(0x234)+_0x491331['message']),console['error']('Message\x20content:\x20'+_0x4d411a[_0x10fb62(0x209)][_0x10fb62(0x20e)]()),this['channel'][_0x10fb62(0x223)](_0x4d411a);return;}const _0x59bfd8=_0x4d411a['properties']['timestamp']?new Date(_0x4d411a[_0x10fb62(0x1df)]['timestamp']):new Date(),_0x37cc18=await this[_0x10fb62(0x1f3)](_0x1f55bb);_0x37cc18?(console['log']('['+formatDate(new Date())+_0x10fb62(0x236)),this['channel']['ack'](_0x4d411a)):(console['error']('['+_0x131dc9['XFITC'](formatDate,new Date())+_0x10fb62(0x219)),this['channel']['nack'](_0x4d411a,![],!![])),console[_0x10fb62(0x1e8)](_0x10fb62(0x21d));}},{'noAck':![]}),!![];}catch(_0x22176e){return console['error']('['+_0x131dc9['ydifM'](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x22176e[_0x312f13(0x229)]),![];}}async[a0_0x3f0c47(0x20b)](){const _0x499ca3=a0_0x3f0c47,_0x34ce38={'nPWvi':function(_0x3b686f,_0x493f9d){return _0x3b686f(_0x493f9d);}};this['connection']&&(await _0x34ce38[_0x499ca3(0x1db)](closeConnection,this[_0x499ca3(0x1f4)]),this[_0x499ca3(0x1fa)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x3ecf(){const _0x5b6176=['CxvLDwuT','ChjVCgvYDgLLCW','mZaXmNjywwvmBq','yMLUzff1zxvL','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','CxrXuhq','CM91DgLUz0TLEq','zw52','BwvZC2fNzuHHBMrSzxjZ','xsbfEgnOyw5Nzsa','Bg9N','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','z3zNDha','xsbcAw5KAw5Nia','C3rHCNrdB25ZDw1L','ic0+ia','Au9zB20','mZaYmeTluef3Aq','vNP4rgq','zgLYzwn0','mti0m2jAEhL1tq','ChjVy2vZC01LC3nHz2u','y29UBMvJDgLVBG','lI4VDxrPBhmVzgf0zuHLBhbLCG','CgfYC2u','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','Aw5JBhvKzxm','BgvUz3rO','AxndB25Uzwn0zwq','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','yxnZzxj0rxHJAgfUz2u','yxnZzxj0uxvLDwu','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','mtm4mJu5mLjACNL1AG','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','iI4UlG','Aw5PDgLHBgL6zq','ignYzwf0zwqVCMvHzhK','EwrPzK0','zxHJAgfUz2u','CxvLDwu','yxv0B19YzxrYEq','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','y29UDgvUDa','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','y2XVC2u','ChvZAa','C3vIC3rYAw5N','Dg9tDhjPBMC','rxjYB3i6ia','nta2odHOB2P4t1O','Bwf4x3jLDhjPzxm','mZzOyKv6qxu','ChvIBgLZAa','Dg9ju09tDhjPBMC','C3rYAw5NAwz5','ww1Wzw4','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','EuzOAMO','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','y2HHBM5LBa','z2v0vgLTzq','xsbbBhrLCM5HDgL2zsbXDwv1zsa','ls0T','yKPwCwm','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ChjLzMv0y2G','oePktxvSvG','ywnR','tMjsyxG','mJe5ntq2mfvetg5PsG','yuz4A3a','y29UzMLN','zNjVBq','BwvZC2fNzq','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ignYzwf0zwqGD2L0AcbetfG','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','zxjYB3i','lI4VDxrPBhmVCMfIyML0Bxe','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','odaYntaZswLKrKzy','mNPVzuH3rG','zgvMyxvSDa','xsbszxrYEsbXDwv1zsa','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','tufxr3y','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','ndqZnZGZz2jsChHn','xsbrDwv1zsa','nJmYmtyWovvXtwzIBG','BLbxDMK','zxHWB3j0CW','ksbJCMvHDgvK'];a0_0x3ecf=function(){return _0x5b6176;};return a0_0x3ecf();}module[a0_0x3f0c47(0x1dc)]={'getInstance':getInstance};
|
|
1
|
+
const a0_0x1d696a=a0_0x46ee;(function(_0x238ab5,_0x427fe1){const _0x181134=a0_0x46ee,_0x2cf898=_0x238ab5();while(!![]){try{const _0x2df916=-parseInt(_0x181134(0x1fa))/0x1+-parseInt(_0x181134(0x205))/0x2+-parseInt(_0x181134(0x20d))/0x3*(parseInt(_0x181134(0x208))/0x4)+-parseInt(_0x181134(0x22d))/0x5*(-parseInt(_0x181134(0x233))/0x6)+-parseInt(_0x181134(0x213))/0x7*(-parseInt(_0x181134(0x20f))/0x8)+-parseInt(_0x181134(0x21e))/0x9+parseInt(_0x181134(0x1f3))/0xa;if(_0x2df916===_0x427fe1)break;else _0x2cf898['push'](_0x2cf898['shift']());}catch(_0x26cebc){_0x2cf898['push'](_0x2cf898['shift']());}}}(a0_0x2d08,0x2d35d));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require('../utils/dateHelper');class RabbitMQService{constructor(){const _0x3afc25={'yDDKw':function(_0x1d490a){return _0x1d490a();}};this['connection']=null,this['channel']=null,this['config']=_0x3afc25['yDDKw'](getConfig),this['isConnected']=![],this['messageHandlers']=[];}async['initialize'](){const _0x519fbe=a0_0x46ee,_0x3718dc={'JLZQe':'6|3|2|0|5|1|4|7','UFoQP':function(_0x3a89a9,_0x376d33){return _0x3a89a9(_0x376d33);},'WXXBA':function(_0x2a17c0,_0x5f027a){return _0x2a17c0(_0x5f027a);},'AIiGi':function(_0x512025){return _0x512025();}};try{const _0x26720f=_0x3718dc['JLZQe']['split']('|');let _0x2156f4=0x0;while(!![]){switch(_0x26720f[_0x2156f4++]){case'0':console[_0x519fbe(0x21f)]('['+_0x3718dc['UFoQP'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'1':this[_0x519fbe(0x22f)]=!![];continue;case'2':await this[_0x519fbe(0x22b)]['prefetch'](0x1);continue;case'3':this['channel']=await _0x3718dc['UFoQP'](createChannel,this['connection']);continue;case'4':this['connection']['on']('close',()=>{const _0x3ee613=_0x519fbe;console['error']('['+formatDate(new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x3ee613(0x22f)]=![],setTimeout(()=>this[_0x3ee613(0x214)](),0x1388);});continue;case'5':await _0x3718dc['WXXBA'](setupInfrastructure,this[_0x519fbe(0x22b)]);continue;case'6':this['connection']=await _0x3718dc['AIiGi'](createConnection);continue;case'7':return!![];}break;}}catch(_0x312109){return console[_0x519fbe(0x20c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x312109['message']),this[_0x519fbe(0x22f)]=![],![];}}async['reconnect'](){const _0x4ef3a6=a0_0x46ee,_0x30db16={'FsEyx':function(_0x2b6eb6,_0x4187a8){return _0x2b6eb6(_0x4187a8);},'BTmIs':function(_0xf07a3a,_0x23722e,_0x2574a3){return _0xf07a3a(_0x23722e,_0x2574a3);}};console['log']('['+_0x30db16[_0x4ef3a6(0x217)](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+formatDate(new Date())+_0x4ef3a6(0x21c)),await this[_0x4ef3a6(0x20b)]());}catch(_0x153d6a){console[_0x4ef3a6(0x20c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x153d6a[_0x4ef3a6(0x212)]),_0x30db16[_0x4ef3a6(0x229)](setTimeout,()=>this[_0x4ef3a6(0x214)](),0x1388);}}async[a0_0x1d696a(0x21d)](_0x499981){const _0x45805e=a0_0x1d696a,_0x4790d5={'lufyR':function(_0x21c89e){return _0x21c89e();},'mzVyT':_0x45805e(0x232),'EvyzL':'direct','zMkmT':function(_0xaffbf2,_0x450614){return _0xaffbf2(_0x450614);},'Hsrlt':'found','DoKVl':_0x45805e(0x210),'IiXiX':function(_0x2b4436,_0x110ea7){return _0x2b4436(_0x110ea7);},'wWayU':function(_0x95386e,_0xdf6c27){return _0x95386e(_0xdf6c27);}};try{!this[_0x45805e(0x22f)]&&(this['connection']=await _0x4790d5[_0x45805e(0x1f0)](createConnection),this['channel']=await createChannel(this[_0x45805e(0x231)]),this[_0x45805e(0x22f)]=!![]);const _0x41f81a=process[_0x45805e(0x1f1)][_0x45805e(0x200)]||_0x4790d5[_0x45805e(0x1fe)],_0x12b8a9=_0x41f81a+'-retry-exchange';await this['channel']['assertExchange'](_0x12b8a9,_0x4790d5['EvyzL'],{'durable':!![],'autoDelete':![]}),console[_0x45805e(0x21f)]('['+formatDate(new Date())+_0x45805e(0x1ee)+_0x12b8a9+_0x45805e(0x1f9)),await this[_0x45805e(0x22b)][_0x45805e(0x21a)](_0x499981[_0x45805e(0x219)],'direct',{'durable':!![],'autoDelete':![]}),console[_0x45805e(0x21f)]('['+formatDate(new Date())+']\x20Exchange\x20'+_0x499981['exchange']+'\x20created/ready');const _0x4fd740=_0x499981['routingKey']+'_retry',_0x5e7235={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x499981[_0x45805e(0x219)],'x-dead-letter-routing-key':_0x499981['routingKey']}};await this[_0x45805e(0x22b)][_0x45805e(0x230)](_0x4fd740,_0x5e7235),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x4fd740+'\x20created/ready'),await this['channel']['bindQueue'](_0x4fd740,_0x12b8a9,_0x499981['routingKey']),console['log']('['+_0x4790d5['zMkmT'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x499981[_0x45805e(0x1f5)]+'\x20created');const _0x43740e={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x12b8a9,'x-dead-letter-routing-key':_0x499981[_0x45805e(0x1f5)]}};try{const _0x328cc0=await this['channel']['assertQueue'](_0x499981['queue'],_0x43740e);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+_0x499981['queue']+'\x20'+(_0x328cc0[_0x45805e(0x21b)]===_0x499981[_0x45805e(0x21b)]?_0x45805e(0x22e):_0x4790d5[_0x45805e(0x209)])+'\x20with\x20DLX'),await this[_0x45805e(0x22b)][_0x45805e(0x1f4)](_0x499981['queue'],_0x499981['exchange'],_0x499981['routingKey']),console['log']('['+formatDate(new Date())+_0x45805e(0x1f8)+_0x499981[_0x45805e(0x219)]+'\x20->\x20'+_0x499981[_0x45805e(0x21b)]+'\x20('+_0x499981[_0x45805e(0x1f5)]+_0x45805e(0x1e9));}catch(_0x12680b){if(_0x12680b['message'][_0x45805e(0x1fc)]('inequivalent\x20arg')&&_0x12680b['message']['includes'](_0x4790d5[_0x45805e(0x1e8)])){console['error']('\x0a['+formatDate(new Date())+_0x45805e(0x207)+_0x499981['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x45805e(0x1f7));const _0x55db01=_0x499981['routingKey']+_0x45805e(0x227),_0x5c3122=await this['channel']['assertQueue'](_0x55db01,_0x43740e);console[_0x45805e(0x21f)]('['+_0x4790d5[_0x45805e(0x221)](formatDate,new Date())+_0x45805e(0x222)+_0x55db01+_0x45805e(0x211)),await this[_0x45805e(0x22b)][_0x45805e(0x1f4)](_0x55db01,_0x499981[_0x45805e(0x219)],_0x499981['routingKey']),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0x499981['exchange']+_0x45805e(0x202)+_0x55db01+'\x20('+_0x499981['routingKey']+')\x20created'),_0x499981['queue']=_0x55db01;}else{console[_0x45805e(0x20c)]('['+_0x4790d5['wWayU'](formatDate,new Date())+_0x45805e(0x1f2)+_0x499981['queue']+':',_0x12680b['message']);throw _0x12680b;}}return!![];}catch(_0x59598c){return console['error']('['+formatDate(new Date())+_0x45805e(0x225)+_0x59598c[_0x45805e(0x212)]),![];}}async['sendToQueue'](_0x2e9796,_0x803fc2){const _0x54a7cd=a0_0x1d696a,_0x2c9f45={'CTaTj':function(_0x2317e3,_0x1fc785){return _0x2317e3!==_0x1fc785;},'KLVeA':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this['isConnected'])try{await this['initialize']();}catch(_0x270dcf){return{'success':![],'message':_0x54a7cd(0x215)+_0x270dcf[_0x54a7cd(0x212)],'data':null};}try{const _0x55cbe0=_0x2c9f45['CTaTj'](_0x803fc2[_0x54a7cd(0x1ec)],undefined)?_0x803fc2[_0x54a7cd(0x1ec)]:![],_0x59a1a9=_0x803fc2['max_retries']||0x3,_0x5f4b25={'rabbitmq':{'exchange':_0x803fc2[_0x54a7cd(0x219)],'queue':_0x803fc2[_0x54a7cd(0x21b)],'routing_key':_0x803fc2[_0x54a7cd(0x1f5)],'auto_retry':_0x55cbe0,'max_retries':_0x59a1a9},'message':_0x2e9796};await this[_0x54a7cd(0x21d)](_0x803fc2);const _0x495be9=new Date(),_0x19248f={'timestamp':_0x495be9[_0x54a7cd(0x1f6)](),'content':JSON['stringify'](_0x5f4b25)},_0x4e921a=this['channel']['publish'](_0x803fc2[_0x54a7cd(0x219)],_0x803fc2[_0x54a7cd(0x1f5)],Buffer['from'](JSON['stringify'](_0x19248f)),{'persistent':!![],'contentType':_0x54a7cd(0x22a),'timestamp':_0x495be9[_0x54a7cd(0x201)](),'messageId':_0x495be9['getTime']()+'-'+Math['random']()['toString'](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x55cbe0,'x-max-retry':_0x59a1a9,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x4e921a){console['log']('['+formatDate(_0x495be9)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x803fc2['exchange'],'routing_key':_0x803fc2[_0x54a7cd(0x1f5)],'queue':_0x803fc2['queue'],'sendAt':_0x495be9[_0x54a7cd(0x1f6)]()});const _0x1f2d56=_0x54a7cd(0x1fd)+_0x495be9['getTime']()+'-'+Math[_0x54a7cd(0x228)]()[_0x54a7cd(0x224)](0x24)[_0x54a7cd(0x1ea)](0x7);return{'success':!![],'message':_0x2c9f45['KLVeA'],'data':{'id':_0x1f2d56,'queueInfo':{'exchange':_0x803fc2[_0x54a7cd(0x219)],'queue':_0x803fc2['queue'],'routingKey':_0x803fc2['routingKey']}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x3f2541){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x3f2541[_0x54a7cd(0x212)]),{'success':![],'message':'Error:\x20'+_0x3f2541[_0x54a7cd(0x212)],'data':null};}}[a0_0x1d696a(0x1ff)](_0x44e6a1){const _0x27507c=a0_0x1d696a,_0x53c8ff={'IJtCY':function(_0x50590d,_0x180ad1){return _0x50590d===_0x180ad1;},'rfDnF':'function','DonNJ':function(_0xc5ff9d,_0x561e7f){return _0xc5ff9d(_0x561e7f);}};_0x53c8ff['IJtCY'](typeof _0x44e6a1,_0x53c8ff[_0x27507c(0x1fb)])?(this[_0x27507c(0x206)]['push'](_0x44e6a1),console[_0x27507c(0x21f)]('['+_0x53c8ff[_0x27507c(0x1ef)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0x27507c(0x20c)]('['+_0x53c8ff['DonNJ'](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0x1d696a(0x220)](_0x51842a){const _0x2ac6d3=a0_0x1d696a,_0x1e5b54={'mXwoB':function(_0x28fc70,_0x310525){return _0x28fc70(_0x310525);}};if(this[_0x2ac6d3(0x206)]['length']===0x0)return console['warn']('['+_0x1e5b54['mXwoB'](formatDate,new Date())+_0x2ac6d3(0x204)),!![];try{for(const _0x4ea930 of this['messageHandlers']){await _0x4ea930(_0x51842a);}return!![];}catch(_0x583a05){return console[_0x2ac6d3(0x20c)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x583a05[_0x2ac6d3(0x212)]),![];}}async['startConsume'](){const _0x3d5100=a0_0x1d696a,_0x3c5dbb={'Svebu':function(_0x327e7e,_0x4a8206){return _0x327e7e(_0x4a8206);},'TOOSZ':function(_0x1dec35,_0x4df259){return _0x1dec35(_0x4df259);},'bGILi':function(_0x4a79e5,_0x512a12){return _0x4a79e5(_0x512a12);}};if(!this['isConnected'])return console['error']('['+_0x3c5dbb[_0x3d5100(0x20a)](formatDate,new Date())+_0x3d5100(0x226)),![];try{return console['log']('['+_0x3c5dbb['bGILi'](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x3d5100(0x203)]['queue']+_0x3d5100(0x1ed)),this[_0x3d5100(0x22b)]['consume'](this[_0x3d5100(0x203)]['queue'],async _0x3a59a7=>{const _0x55c0fa=_0x3d5100;if(_0x3a59a7!==null){const _0x4b7855=new Date();let _0x22b947;try{_0x22b947=JSON['parse'](_0x3a59a7['content'][_0x55c0fa(0x224)]());}catch(_0x54b42a){console[_0x55c0fa(0x20c)]('['+_0x3c5dbb['Svebu'](formatDate,_0x4b7855)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x54b42a[_0x55c0fa(0x212)]),console[_0x55c0fa(0x20c)]('Message\x20content:\x20'+_0x3a59a7[_0x55c0fa(0x22c)]['toString']()),this[_0x55c0fa(0x22b)]['ack'](_0x3a59a7);return;}const _0x4545ce=_0x3a59a7[_0x55c0fa(0x216)]['timestamp']?new Date(_0x3a59a7['properties']['timestamp']):new Date(),_0x18d76e=await this['processMessage'](_0x22b947);_0x18d76e?(console['log']('['+formatDate(new Date())+_0x55c0fa(0x20e)),this[_0x55c0fa(0x22b)]['ack'](_0x3a59a7)):(console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this[_0x55c0fa(0x22b)][_0x55c0fa(0x223)](_0x3a59a7,![],!![])),console[_0x55c0fa(0x21f)]('---');}},{'noAck':![]}),!![];}catch(_0x1e848e){return console[_0x3d5100(0x20c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x1e848e['message']),![];}}async['close'](){const _0x3e54cf=a0_0x1d696a,_0x5489f5={'WwZtH':function(_0x6d79c2,_0x5ae103){return _0x6d79c2(_0x5ae103);}};this['connection']&&(await _0x5489f5[_0x3e54cf(0x218)](closeConnection,this[_0x3e54cf(0x231)]),this[_0x3e54cf(0x22f)]=![]);}}function a0_0x46ee(_0x3c8c6d,_0x169a16){_0x3c8c6d=_0x3c8c6d-0x1e8;const _0x2d082d=a0_0x2d08();let _0x46ee4e=_0x2d082d[_0x3c8c6d];if(a0_0x46ee['BLXuGw']===undefined){var _0x5c99a5=function(_0x38cb3d){const _0xb0f3d7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c164a='',_0x406dc0='';for(let _0x3d06ab=0x0,_0xe304bf,_0x2fb521,_0x4859eb=0x0;_0x2fb521=_0x38cb3d['charAt'](_0x4859eb++);~_0x2fb521&&(_0xe304bf=_0x3d06ab%0x4?_0xe304bf*0x40+_0x2fb521:_0x2fb521,_0x3d06ab++%0x4)?_0x4c164a+=String['fromCharCode'](0xff&_0xe304bf>>(-0x2*_0x3d06ab&0x6)):0x0){_0x2fb521=_0xb0f3d7['indexOf'](_0x2fb521);}for(let _0x47ee0d=0x0,_0x562479=_0x4c164a['length'];_0x47ee0d<_0x562479;_0x47ee0d++){_0x406dc0+='%'+('00'+_0x4c164a['charCodeAt'](_0x47ee0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x406dc0);};a0_0x46ee['MegtYQ']=_0x5c99a5,a0_0x46ee['MDyaOz']={},a0_0x46ee['BLXuGw']=!![];}const _0x5a4b6e=_0x2d082d[0x0],_0x2f7b1b=_0x3c8c6d+_0x5a4b6e,_0x4c28c5=a0_0x46ee['MDyaOz'][_0x2f7b1b];return!_0x4c28c5?(_0x46ee4e=a0_0x46ee['MegtYQ'](_0x46ee4e),a0_0x46ee['MDyaOz'][_0x2f7b1b]=_0x46ee4e):_0x46ee4e=_0x4c28c5,_0x46ee4e;}let instance=null;function a0_0x2d08(){const _0x1a5b61=['BwvZC2fNzuHHBMrSzxjZ','xsbfuLjpuJOGuxvLDwuG','oePQz0neuq','shnYBhq','ve9pu1O','C3rHCNrdB25ZDw1L','zxjYB3i','mJK1oduXAvDHEMnL','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','ohfnt1bjEa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ignYzwf0zwqGD2L0AcbetfG','BwvZC2fNzq','mtq0mte4mwHuv1fPBG','CMvJB25Uzwn0','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','ChjVCgvYDgLLCW','rNnfExG','v3DADeG','zxHJAgfUz2u','yxnZzxj0rxHJAgfUz2u','CxvLDwu','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','mtGZmdmWm21Ry2Xdsa','Bg9N','ChjVy2vZC01LC3nHz2u','swLyAvG','xsbbBhrLCM5HDgL2zsbXDwv1zsa','BMfJAW','Dg9tDhjPBMC','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','x3f1zxvL','CMfUzg9T','qLrTsxm','yxbWBgLJyxrPB24VANnVBG','y2HHBM5LBa','y29UDgvUDa','mti1wKzuAxrM','y3jLyxrLzc9YzwfKEq','AxndB25Uzwn0zwq','yxnZzxj0uxvLDwu','y29UBMvJDgLVBG','zgvMyxvSDa','nJyYmtb6v3HNEu0','rg9lvMW','ksbJCMvHDgvK','C3vIC3rYAw5N','zxHWB3j0CW','yxv0B19YzxrYEq','iI4UlG','xsbszxrYEsbLEgnOyw5Nzsa','rg9UtKO','BhvMEvi','zw52','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','ntmWmJa2mgLJzwXPuW','yMLUzff1zxvL','CM91DgLUz0TLEq','Dg9ju09tDhjPBMC','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','xsbcAw5KAw5Nia','ignYzwf0zwqVCMvHzhK','mZi0nJqWyKvUv3rz','CMzeBKy','Aw5JBhvKzxm','CxvLDwuT','BxPwEvq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0vgLTzq','ic0+ia','y29UzMLN','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','mJaZmdG0uKTeBfny'];a0_0x2d08=function(){return _0x1a5b61;};return a0_0x2d08();}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module[a0_0x1d696a(0x1eb)]={'getInstance':getInstance};
|