@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
|
|
1
|
+
const a0_0x37c93b=a0_0x82df;(function(_0xb42e79,_0x431c1d){const _0x1bfd90=a0_0x82df,_0x3e9667=_0xb42e79();while(!![]){try{const _0x260e66=-parseInt(_0x1bfd90(0x134))/0x1*(parseInt(_0x1bfd90(0x12f))/0x2)+parseInt(_0x1bfd90(0x14a))/0x3+-parseInt(_0x1bfd90(0x146))/0x4+parseInt(_0x1bfd90(0x14c))/0x5*(parseInt(_0x1bfd90(0x14f))/0x6)+parseInt(_0x1bfd90(0x140))/0x7+parseInt(_0x1bfd90(0x13f))/0x8+parseInt(_0x1bfd90(0x133))/0x9*(parseInt(_0x1bfd90(0x145))/0xa);if(_0x260e66===_0x431c1d)break;else _0x3e9667['push'](_0x3e9667['shift']());}catch(_0x25349b){_0x3e9667['push'](_0x3e9667['shift']());}}}(a0_0x2b35,0x2daa7));const dbType=(process[a0_0x37c93b(0x132)]['DB_TYPE']||a0_0x37c93b(0x12e))[a0_0x37c93b(0x151)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x37c93b(0x13e));executeQuery=(_0x110ce8,_0x236e3f)=>oracleDb[a0_0x37c93b(0x138)](_0x110ce8,_0x236e3f);}else{if(dbType===a0_0x37c93b(0x152)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x354a46,_0x489366)=>mysqlDb[a0_0x37c93b(0x138)](_0x354a46,_0x489366);}else executeQuery=require('../../core/utils/db')[a0_0x37c93b(0x138)];}const {logger}=require('../../core/utils/logger');class LookupResolver{constructor(){const _0x34ce98=a0_0x37c93b;this[_0x34ce98(0x153)]=new Map();}['clearCache'](){const _0x1dbf07=a0_0x37c93b;this[_0x1dbf07(0x153)]['clear'](),logger['debug']({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x37c93b(0x143)](_0x6d390c,_0x100500,_0x5379a5){const _0xdd6bfb=a0_0x37c93b,_0x23dbcb={'glplB':function(_0x485e2e,_0x3293d9){return _0x485e2e!==_0x3293d9;},'pGVYg':function(_0x2da6da,_0x53bcab){return _0x2da6da!==_0x53bcab;},'ThjhS':function(_0x1accc6,_0x45d4f7){return _0x1accc6(_0x45d4f7);},'XXjpR':_0xdd6bfb(0x136)},_0x2ec51c=_0x6d390c+':'+_0x100500+':'+_0x5379a5;if(this[_0xdd6bfb(0x153)]['has'](_0x2ec51c))return this[_0xdd6bfb(0x153)]['get'](_0x2ec51c);try{const _0x2e6c6c='SELECT\x20'+_0x5379a5+',\x20'+_0x100500+_0xdd6bfb(0x12c)+_0x6d390c,_0x565f98=await executeQuery(_0x2e6c6c),_0x3b1700=new Map();return _0x565f98['forEach'](_0xf0b4bf=>{const _0x12ca3b=_0xdd6bfb,_0x4a949b=_0xf0b4bf[_0x100500]!==undefined?_0xf0b4bf[_0x100500]:_0xf0b4bf[_0x100500[_0x12ca3b(0x148)]()],_0x58068f=_0x23dbcb[_0x12ca3b(0x14b)](_0xf0b4bf[_0x5379a5],undefined)?_0xf0b4bf[_0x5379a5]:_0xf0b4bf[_0x5379a5[_0x12ca3b(0x148)]()];_0x23dbcb['pGVYg'](_0x4a949b,null)&&_0x4a949b!==undefined&&(_0x3b1700['set'](String(_0x4a949b)[_0x12ca3b(0x151)]()['trim'](),_0x58068f),_0x3b1700[_0x12ca3b(0x139)](_0x23dbcb[_0x12ca3b(0x130)](String,_0x4a949b)[_0x12ca3b(0x135)](),_0x58068f));}),this[_0xdd6bfb(0x153)]['set'](_0x2ec51c,_0x3b1700),logger[_0xdd6bfb(0x14d)]({'event':_0x23dbcb[_0xdd6bfb(0x131)],'table':_0x6d390c,'column':_0x100500,'count':_0x565f98['length']},'Lookup\x20table\x20loaded:\x20'+_0x6d390c),_0x3b1700;}catch(_0x3bfa4e){logger[_0xdd6bfb(0x149)]({'event':_0xdd6bfb(0x155),'table':_0x6d390c,'error':_0x3bfa4e['message']},_0xdd6bfb(0x147)+_0x6d390c);throw _0x3bfa4e;}}[a0_0x37c93b(0x12d)](_0x5863c4,_0x53cf37){const _0xd7fc5e=a0_0x37c93b,_0x8cbd6b={'RTaML':function(_0x48b377,_0x577a40){return _0x48b377===_0x577a40;},'BjOkv':function(_0x3fe8b8,_0x4a0905){return _0x3fe8b8===_0x4a0905;}};if(_0x8cbd6b[_0xd7fc5e(0x144)](_0x5863c4,null)||_0x8cbd6b['BjOkv'](_0x5863c4,undefined)||_0x5863c4==='')return null;const _0x3c1506=String(_0x5863c4)[_0xd7fc5e(0x135)]();if(_0x53cf37['has'](_0x3c1506))return _0x53cf37['get'](_0x3c1506);const _0x19a499=_0x3c1506[_0xd7fc5e(0x151)]();if(_0x53cf37[_0xd7fc5e(0x142)](_0x19a499))return _0x53cf37[_0xd7fc5e(0x156)](_0x19a499);return null;}async['processLookupFields'](_0x57254c,_0x2822bf){const _0x2215c3=a0_0x37c93b,_0x8064c2={'GUVYj':function(_0x55d501,_0x235ad6){return _0x55d501===_0x235ad6;},'kqKNO':function(_0x4bb883,_0x39cacb){return _0x4bb883!==_0x39cacb;}};if(!_0x2822bf||Object[_0x2215c3(0x13b)](_0x2822bf)['length']===0x0)return{'processedRows':_0x57254c,'errors':[]};const _0x46f1a3=[],_0x375f2b=new Map();for(const [_0x2b59e3,_0x16ae95]of Object['entries'](_0x2822bf)){const {lookupTable:_0x5f2ca3,lookupColumn:_0x2c99bb,lookupIdColumn:_0x12363d}=_0x16ae95,_0x128aa2=_0x5f2ca3+':'+_0x2c99bb+':'+_0x12363d;if(!_0x375f2b['has'](_0x128aa2)){const _0x2f0ca4=await this['loadLookupTable'](_0x5f2ca3,_0x2c99bb,_0x12363d);_0x375f2b[_0x2215c3(0x139)](_0x128aa2,_0x2f0ca4);}}const _0x22abcc=_0x57254c['map']((_0x1773fb,_0x5e5c8a)=>{const _0x3b68a1=_0x2215c3,_0x2b0935={..._0x1773fb};for(const [_0x13a0e2,_0x14bcc1]of Object[_0x3b68a1(0x157)](_0x2822bf)){const {lookupTable:_0x43b154,lookupColumn:_0x3e8c30,lookupIdColumn:_0x2d1d8c,targetField:_0x271eef,required:_0x8081ed}=_0x14bcc1,_0x554bdc=_0x43b154+':'+_0x3e8c30+':'+_0x2d1d8c,_0x8f0161=_0x375f2b[_0x3b68a1(0x156)](_0x554bdc),_0x3f5d62=_0x1773fb[_0x13a0e2];if((_0x8064c2['GUVYj'](_0x3f5d62,null)||_0x3f5d62===undefined||_0x3f5d62==='')&&!_0x8081ed){_0x2b0935[_0x271eef]=null;continue;}const _0x283436=this[_0x3b68a1(0x12d)](_0x3f5d62,_0x8f0161);_0x8064c2['kqKNO'](_0x283436,null)?_0x2b0935[_0x271eef]=_0x283436:(_0x8081ed&&_0x46f1a3[_0x3b68a1(0x13a)]({'rowIndex':_0x5e5c8a,'field':_0x13a0e2,'value':_0x3f5d62,'targetField':_0x271eef,'lookupTable':_0x43b154,'message':'Value\x20\x22'+_0x3f5d62+_0x3b68a1(0x14e)+_0x43b154}),_0x2b0935[_0x271eef]=null);}return _0x2b0935;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x57254c[_0x2215c3(0x137)],'errorCount':_0x46f1a3[_0x2215c3(0x137)],'lookupFieldCount':Object['keys'](_0x2822bf)[_0x2215c3(0x137)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x22abcc,'errors':_0x46f1a3};}['getDistinctValues'](_0x4b0c56,_0x4fa618){const _0x338b6b=a0_0x37c93b,_0x21e405={'ySrSb':function(_0x35d255,_0x194148){return _0x35d255!==_0x194148;}},_0x431f87=new Set();return _0x4b0c56['forEach'](_0x2fc071=>{const _0x4c62cf=a0_0x82df,_0x1a5e58=_0x2fc071[_0x4fa618];_0x21e405['ySrSb'](_0x1a5e58,null)&&_0x1a5e58!==undefined&&_0x1a5e58!==''&&_0x431f87[_0x4c62cf(0x150)](String(_0x1a5e58)[_0x4c62cf(0x135)]());}),Array[_0x338b6b(0x13c)](_0x431f87);}async[a0_0x37c93b(0x13d)](_0x5ca286,_0x25e0b3){const _0x3ed097=a0_0x37c93b,_0xd25151={'ntcNq':function(_0x204473,_0x4dc3d6){return _0x204473!==_0x4dc3d6;},'seRYN':function(_0x5146fc,_0x3fe27b){return _0x5146fc>_0x3fe27b;},'ncPPB':function(_0x2d80b5,_0x42e7aa){return _0x2d80b5===_0x42e7aa;}};if(!_0x25e0b3||Object['keys'](_0x25e0b3)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13c81b=[],_0x9e0fbf={};for(const [_0x37952a,_0x435596]of Object[_0x3ed097(0x157)](_0x25e0b3)){const {lookupTable:_0x46fc82,lookupColumn:_0x33a01a,lookupIdColumn:_0x3c466f,required:_0x386534}=_0x435596,_0x39a8d2=this['getDistinctValues'](_0x5ca286,_0x37952a),_0x286530=await this['loadLookupTable'](_0x46fc82,_0x33a01a,_0x3c466f),_0x323073=[],_0x338f2f=[];_0x39a8d2['forEach'](_0x4758d8=>{const _0x4fe27f=_0x3ed097,_0x1f2d9f=this['resolveLookupValue'](_0x4758d8,_0x286530);_0xd25151[_0x4fe27f(0x141)](_0x1f2d9f,null)?_0x338f2f['push'](_0x4758d8):_0x323073[_0x4fe27f(0x13a)](_0x4758d8);});if(_0xd25151['seRYN'](_0x323073['length'],0x0)&&_0x386534){_0x13c81b[_0x3ed097(0x13a)]({'field':_0x37952a,'lookupTable':_0x46fc82,'invalidValues':_0x323073,'message':_0x323073[_0x3ed097(0x137)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x46fc82});const _0x4d1906=[];_0x286530['forEach']((_0x9e2ca1,_0x16b725)=>{if(_0x16b725===_0x16b725['toLowerCase']())return;_0x4d1906['push'](_0x16b725);}),_0x9e0fbf[_0x37952a]={'invalidValues':_0x323073,'availableValues':_0x4d1906[_0x3ed097(0x154)](0x0,0x32)};}}return{'valid':_0xd25151[_0x3ed097(0x12b)](_0x13c81b[_0x3ed097(0x137)],0x0),'errors':_0x13c81b,'suggestions':_0x9e0fbf};}}function a0_0x2b35(){const _0x3d438=['C2v0','ChvZAa','A2v5CW','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','odyXodaWsejfEvvi','mtG2mZKXmvjMwxzpCq','BNrJtNe','AgfZ','Bg9HzeXVB2T1CfrHyMXL','uLrHtuW','mtbrDvPms2q','mte1odu3mM9ez1jVEa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Dg9vChbLCKnHC2u','zxjYB3i','mZyWnte2ue9Jy2T6','z2XWBei','mJiZmtG1swfmzufS','Aw5MBW','iIbUB3qGzM91BMqGAw4G','mZb0tLv3D28','ywrK','Dg9mB3DLCKnHC2u','BxLZCwW','Bg9VA3vWq2fJAgu','C2XPy2u','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','z2v0','zw50CMLLCW','BMnquei','iezst00G','CMvZB2X2zuXVB2T1CfzHBhvL','Cg9ZDgDYzxnXBa','nJjRvvbVtNi','vgHQAfm','wfHQCfi','zw52','mta3nJi3ngHQvwDNsW','mte2mJfLBxPfB3i','DhjPBq','Bg9VA3vWx3rHyMXLx2XVywrLza','BgvUz3rO','zxHLy3v0zvf1zxj5'];a0_0x2b35=function(){return _0x3d438;};return a0_0x2b35();}function a0_0x82df(_0x445f46,_0x29fc48){_0x445f46=_0x445f46-0x12b;const _0x2b355=a0_0x2b35();let _0x82df8b=_0x2b355[_0x445f46];if(a0_0x82df['pasCmr']===undefined){var _0x225089=function(_0x3f6294){const _0x444ab7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59b398='',_0x492efd='';for(let _0x1cddf9=0x0,_0x37fbe8,_0x584ec8,_0x2262e4=0x0;_0x584ec8=_0x3f6294['charAt'](_0x2262e4++);~_0x584ec8&&(_0x37fbe8=_0x1cddf9%0x4?_0x37fbe8*0x40+_0x584ec8:_0x584ec8,_0x1cddf9++%0x4)?_0x59b398+=String['fromCharCode'](0xff&_0x37fbe8>>(-0x2*_0x1cddf9&0x6)):0x0){_0x584ec8=_0x444ab7['indexOf'](_0x584ec8);}for(let _0x27be7c=0x0,_0x3ba134=_0x59b398['length'];_0x27be7c<_0x3ba134;_0x27be7c++){_0x492efd+='%'+('00'+_0x59b398['charCodeAt'](_0x27be7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x492efd);};a0_0x82df['ymASjd']=_0x225089,a0_0x82df['BnYCCA']={},a0_0x82df['pasCmr']=!![];}const _0x5865a7=_0x2b355[0x0],_0x2e0b6f=_0x445f46+_0x5865a7,_0x4e6455=a0_0x82df['BnYCCA'][_0x2e0b6f];return!_0x4e6455?(_0x82df8b=a0_0x82df['ymASjd'](_0x82df8b),a0_0x82df['BnYCCA'][_0x2e0b6f]=_0x82df8b):_0x82df8b=_0x4e6455,_0x82df8b;}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x5950(){const _0x4cbdf3=['ntqZodm3zgPtBvfi','DxjS','ChjVAMvJDa','EKLgq1K','x3bHCNnLrMLSzvnPEMu','ChjVy2vZC1vWBg9HzgvKrMLSzxm','r0vzq08','A0L5ufi','y3j5ChrV','zxjYB3i','DwfXs3i','ndi4mJG0mgTTtwj4uG','BxvSDgvY','A2v5','BwLTzxr5Cgu','qvvQCe4','Agv4','EMTWtwG','zxH0BMfTzq','ChjVBwLZzxm','x3rLBxbeAxi','A1nvCMi','DxbSB2fKCW','B3jPz2LUywXUyw1L','DhjPBq','zw52','otG3mJzor2T5BKK','Cgf0Aa','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','Bhz1qxu','DgvTCerPCG','qKvpuK0','Bwf0y2G','mZe4nJy2mfDcyvfyAq','zgvMyxvSDa','BwTKAxjtEw5J','ndm3ndnbueX5zhu','ywXSB3DLzfr5CgvZ','mta5nJCWnJrQq3LQv1i','zxHPC3rZu3LUyW','zw5KCg9PBNq','yMzsvgi','y3jLyxrLuMvHzfn0CMvHBq','D2fYBG','mZC4wwfovKDn','nti5ndq0CeDNDM9d','BNvTyMvY','Dg9tDhjPBMC','C2L6zq','DxbSB2fK','DwvKDhm','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','wuvpzeW','vvbmt0fex1rftvbFreLs'];a0_0x5950=function(){return _0x4cbdf3;};return a0_0x5950();}const a0_0x2fda0d=a0_0x5a66;(function(_0x49cf8b,_0xe0becc){const _0x455d74=a0_0x5a66,_0xc9fd72=_0x49cf8b();while(!![]){try{const _0x377f7f=-parseInt(_0x455d74(0x1e7))/0x1+-parseInt(_0x455d74(0x1fa))/0x2+-parseInt(_0x455d74(0x204))/0x3+-parseInt(_0x455d74(0x1ee))/0x4+parseInt(_0x455d74(0x20f))/0x5+parseInt(_0x455d74(0x1f9))/0x6*(-parseInt(_0x455d74(0x1f1))/0x7)+parseInt(_0x455d74(0x1f3))/0x8;if(_0x377f7f===_0xe0becc)break;else _0xc9fd72['push'](_0xc9fd72['shift']());}catch(_0x41ce16){_0xc9fd72['push'](_0xc9fd72['shift']());}}}(a0_0x5950,0x78354));const multer=require(a0_0x2fda0d(0x210)),path=require(a0_0x2fda0d(0x1e8)),crypto=require(a0_0x2fda0d(0x20c)),fs=require('fs')[a0_0x2fda0d(0x217)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x523ffc=a0_0x2fda0d;this[_0x523ffc(0x218)]=null;}get[a0_0x2fda0d(0x1eb)](){const _0x2018e1=a0_0x2fda0d,_0x5d0cea={'kSUrb':_0x2018e1(0x1ef),'GEYCO':_0x2018e1(0x1e3)};if(!this['_tempDir']){const _0x171a98=process['env'][_0x2018e1(0x201)]||_0x5d0cea[_0x2018e1(0x1e2)];this[_0x2018e1(0x218)]=process[_0x2018e1(0x1e6)][_0x2018e1(0x203)]||path['join'](process['cwd'](),'temp',_0x5d0cea[_0x2018e1(0x20a)],_0x171a98),!fsSync[_0x2018e1(0x1f4)](this[_0x2018e1(0x218)])&&fsSync[_0x2018e1(0x1f0)](this[_0x2018e1(0x218)],{'recursive':!![]});}return this[_0x2018e1(0x218)];}[a0_0x2fda0d(0x1e9)](_0x899c8b={}){const _0x5c6f06=a0_0x2fda0d,_0x3739aa={'uedts':function(_0x31b50c,_0x19b237,_0x132591){return _0x31b50c(_0x19b237,_0x132591);},'KwizQ':_0x5c6f06(0x214),'nJKAN':'10MB','lvuAu':function(_0x26a020,_0x22b839){return _0x26a020(_0x22b839);},'AUjpN':'files'},_0x132d78=_0x899c8b['maxFiles']||0x5,_0x38e693=this[_0x5c6f06(0x208)](_0x899c8b['maxFileSize']||_0x3739aa['nJKAN']),_0x4192e0=_0x899c8b[_0x5c6f06(0x1f2)]||[],_0x310066=multer['diskStorage']({'destination':(_0x3c47fd,_0x2a6097,_0x3f95ad)=>{const _0x5bae7c=_0x5c6f06;!fsSync['existsSync'](this[_0x5bae7c(0x1eb)])&&fsSync[_0x5bae7c(0x1f0)](this[_0x5bae7c(0x1eb)],{'recursive':!![]}),_0x3739aa['uedts'](_0x3f95ad,null,this['tempDir']);},'filename':(_0x1cfe2a,_0x3735cb,_0x46d9e9)=>{const _0x143e32=_0x5c6f06,_0x4586b0=crypto['randomBytes'](0x8)[_0x143e32(0x1fc)](_0x3739aa['KwizQ']),_0x38e8af=Date['now'](),_0x25f79d=path[_0x143e32(0x216)](_0x3735cb[_0x143e32(0x1e4)]);_0x46d9e9(null,'upload-'+_0x38e8af+'-'+_0x4586b0+_0x25f79d);}}),_0x3195e6=(_0x51fda1,_0x592253,_0x23437a)=>{const _0xaef0d4=_0x5c6f06;if(_0x4192e0['length']===0x0)return _0x3739aa[_0xaef0d4(0x1ff)](_0x23437a,null,!![]);const _0x16b77b=path[_0xaef0d4(0x216)](_0x592253[_0xaef0d4(0x1e4)])['toLowerCase']()['replace']('.','');_0x4192e0['includes'](_0x16b77b)?_0x3739aa[_0xaef0d4(0x1ff)](_0x23437a,null,!![]):_0x23437a(new Error('File\x20type\x20\x22.'+_0x16b77b+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x4192e0['join'](',\x20')));};return _0x3739aa[_0x5c6f06(0x1ea)](multer,{'storage':_0x310066,'limits':{'fileSize':_0x38e693,'files':_0x132d78},'fileFilter':_0x3195e6})['array'](_0x3739aa[_0x5c6f06(0x213)],_0x132d78);}async[a0_0x2fda0d(0x209)](_0x45b0b1,_0x198099,_0x34aa12={}){const _0xfd657b=a0_0x2fda0d,_0x44d8ca={'BEORM':function(_0xbf7608,_0x478261){return _0xbf7608(_0x478261);},'YEOdL':_0xfd657b(0x200),'bfRTb':function(_0x5bab9b,_0x4bb676){return _0x5bab9b(_0x4bb676);},'JlWfw':'upload_v2_process_error'},{createFileMetadata:_0x2659a8}=_0x44d8ca[_0xfd657b(0x1ec)](require,_0x44d8ca[_0xfd657b(0x202)]),_0x25597c=[];for(const _0x459555 of _0x45b0b1){try{const _0x23d8a8=_0x198099['generateKey'](_0x459555['originalname'],{'prefix':_0x34aa12['prefix']||'','project':_0x34aa12[_0xfd657b(0x206)]||'','module':_0x34aa12['module']||'','endpoint':_0x34aa12[_0xfd657b(0x1f5)]||''}),_0x28f7fc=fsSync[_0xfd657b(0x1f7)](_0x459555[_0xfd657b(0x1e8)]),_0x48c530=await _0x198099[_0xfd657b(0x1fe)](_0x28f7fc,_0x23d8a8,{'contentType':_0x459555[_0xfd657b(0x212)],'fileSize':_0x459555[_0xfd657b(0x1fd)]}),_0x2e8143=_0x44d8ca[_0xfd657b(0x1f6)](_0x2659a8,{'key':_0x48c530[_0xfd657b(0x211)],'originalName':_0x459555['originalname'],'fileName':path['basename'](_0x23d8a8),'contentType':_0x459555[_0xfd657b(0x212)],'size':_0x459555['size'],'url':_0x48c530[_0xfd657b(0x205)],'provider':_0x198099['providerName'],'bucket':_0x198099['bucket']||null,'uploadedBy':_0x34aa12['uploadedBy']||null});_0x25597c['push'](_0x2e8143);}catch(_0x2e0183){logger[_0xfd657b(0x20d)]({'event':_0x44d8ca['JlWfw'],'file':_0x459555[_0xfd657b(0x1e4)],'error':_0x2e0183['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x459555['originalname']);throw _0x2e0183;}finally{await this['_deleteTempFile'](_0x459555[_0xfd657b(0x1e8)]);}}return _0x25597c;}async['_deleteTempFile'](_0x3d3c77){const _0x3558fe=a0_0x2fda0d,_0x312e78={'uaqKr':'upload_v2_temp_delete_warn','zkpMh':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0x3d3c77);}catch(_0xf1b048){logger[_0x3558fe(0x1f8)]({'event':_0x312e78[_0x3558fe(0x20e)],'filePath':_0x3d3c77,'error':_0xf1b048['message']},_0x312e78[_0x3558fe(0x215)]);}}['_parseFileSize'](_0x1b8c52){const _0x452194=a0_0x2fda0d,_0x129cf1={'dnnBo':function(_0x537f02,_0xc32692){return _0x537f02(_0xc32692);},'kIyPR':function(_0x825b31,_0x42b902){return _0x825b31*_0x42b902;},'kxCEv':function(_0x583a36,_0x2f058e){return _0x583a36*_0x2f058e;},'zIFCY':function(_0x302544,_0x3dca1a){return _0x302544*_0x3dca1a;}};if(typeof _0x1b8c52===_0x452194(0x1fb))return _0x1b8c52;const _0x9f5ad6=_0x129cf1['dnnBo'](String,_0x1b8c52)[_0x452194(0x1e5)]()[_0x452194(0x1ed)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x9f5ad6)return _0x129cf1[_0x452194(0x20b)](_0x129cf1[_0x452194(0x20b)](0xa,0x400),0x400);const _0x2bee6b=parseFloat(_0x9f5ad6[0x1]),_0x2ea3ef=_0x9f5ad6[0x2]['toUpperCase'](),_0x3d266c={'B':0x1,'KB':0x400,'MB':_0x129cf1['kxCEv'](0x400,0x400),'GB':_0x129cf1[_0x452194(0x207)](0x400,0x400)*0x400};return Math['floor'](_0x2bee6b*(_0x3d266c[_0x2ea3ef]||0x1));}}function a0_0x5a66(_0x1c7968,_0x52e304){_0x1c7968=_0x1c7968-0x1e2;const _0x59506a=a0_0x5950();let _0x5a666a=_0x59506a[_0x1c7968];if(a0_0x5a66['cgLVjo']===undefined){var _0x394e88=function(_0x5734ac){const _0x2a2821='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x581e3c='',_0x4eefcf='';for(let _0x2a9876=0x0,_0x48a855,_0x31d3d3,_0x3533b1=0x0;_0x31d3d3=_0x5734ac['charAt'](_0x3533b1++);~_0x31d3d3&&(_0x48a855=_0x2a9876%0x4?_0x48a855*0x40+_0x31d3d3:_0x31d3d3,_0x2a9876++%0x4)?_0x581e3c+=String['fromCharCode'](0xff&_0x48a855>>(-0x2*_0x2a9876&0x6)):0x0){_0x31d3d3=_0x2a2821['indexOf'](_0x31d3d3);}for(let _0x2d44ed=0x0,_0xd0b425=_0x581e3c['length'];_0x2d44ed<_0xd0b425;_0x2d44ed++){_0x4eefcf+='%'+('00'+_0x581e3c['charCodeAt'](_0x2d44ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4eefcf);};a0_0x5a66['yhQcfE']=_0x394e88,a0_0x5a66['IWKwGi']={},a0_0x5a66['cgLVjo']=!![];}const _0x4f5ac5=_0x59506a[0x0],_0x48d966=_0x1c7968+_0x4f5ac5,_0x16d2cb=a0_0x5a66['IWKwGi'][_0x48d966];return!_0x16d2cb?(_0x5a666a=a0_0x5a66['yhQcfE'](_0x5a666a),a0_0x5a66['IWKwGi'][_0x48d966]=_0x5a666a):_0x5a666a=_0x16d2cb,_0x5a666a;}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x2ec4(){const _0x3cab2e=['rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','Dg9tDhjPBMC','mJi5mZa0tLzQz3rM','mteYmZfXsw5fwLu','BwTKAxjtEw5J','DxbSB2fKx2zPBgvFzgvSzxrLza','Agv4','mti4ndC1nuX0v2H3EG','AM9PBG','lNHSCW','DxbSB2fKrgLY','Dw5SAw5R','zxjYB3i','zMLSzq','BwLTzxr5Cgu','zw52','m0PQBNneza','ndK1mZK3zLrzqvP2','zgvMyxvSDa','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','B3jPz2LUywXUyw1L','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','y3j5ChrV','mti4meTOBgT3uq','Dg9mB3DLCKnHC2u','mJrIy3vACu4','z2v0u3rVCMfNzq','DxbSB2fKlq','Cgf0Aa','DxbSB2fKx2HHBMrSzxjFAw5PDa','otqWmJy0DwjJB0XY','x3vWBg9HzerPCG','wuToy3a','vvbmt0fex0rjuG','BxvSDgvY','zxHWB3j0CW','mti1ndG1nLrtEgrszG','nJmXndr0ve1Hs3y','oezgs3z5wa','Bwf4rMLSzvnPEMu','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq'];a0_0x2ec4=function(){return _0x3cab2e;};return a0_0x2ec4();}const a0_0x592102=a0_0x1a84;(function(_0x50a6c0,_0x79f06f){const _0x1132b8=a0_0x1a84,_0x38a2ba=_0x50a6c0();while(!![]){try{const _0x31acd5=-parseInt(_0x1132b8(0x9c))/0x1+parseInt(_0x1132b8(0xb8))/0x2*(parseInt(_0x1132b8(0xaa))/0x3)+parseInt(_0x1132b8(0xc0))/0x4*(-parseInt(_0x1132b8(0xa1))/0x5)+-parseInt(_0x1132b8(0xb3))/0x6*(-parseInt(_0x1132b8(0xab))/0x7)+parseInt(_0x1132b8(0xbe))/0x8+parseInt(_0x1132b8(0xbf))/0x9+-parseInt(_0x1132b8(0xb1))/0xa*(-parseInt(_0x1132b8(0x9d))/0xb);if(_0x31acd5===_0x79f06f)break;else _0x38a2ba['push'](_0x38a2ba['shift']());}catch(_0x44ad75){_0x38a2ba['push'](_0x38a2ba['shift']());}}}(a0_0x2ec4,0x4a5bb));function a0_0x1a84(_0x4d2cd2,_0x23e87f){_0x4d2cd2=_0x4d2cd2-0x98;const _0x2ec459=a0_0x2ec4();let _0x1a8468=_0x2ec459[_0x4d2cd2];if(a0_0x1a84['UscEdj']===undefined){var _0xf8c818=function(_0x5a1248){const _0xcba6ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e2600='',_0x58073d='';for(let _0x484059=0x0,_0x2b4166,_0x2feab5,_0x3a1c0a=0x0;_0x2feab5=_0x5a1248['charAt'](_0x3a1c0a++);~_0x2feab5&&(_0x2b4166=_0x484059%0x4?_0x2b4166*0x40+_0x2feab5:_0x2feab5,_0x484059++%0x4)?_0x5e2600+=String['fromCharCode'](0xff&_0x2b4166>>(-0x2*_0x484059&0x6)):0x0){_0x2feab5=_0xcba6ab['indexOf'](_0x2feab5);}for(let _0x249dae=0x0,_0x17be5a=_0x5e2600['length'];_0x249dae<_0x17be5a;_0x249dae++){_0x58073d+='%'+('00'+_0x5e2600['charCodeAt'](_0x249dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58073d);};a0_0x1a84['MMFnDB']=_0xf8c818,a0_0x1a84['PtMHxJ']={},a0_0x1a84['UscEdj']=!![];}const _0x2d16f5=_0x2ec459[0x0],_0x2b099b=_0x4d2cd2+_0x2d16f5,_0x2626e8=a0_0x1a84['PtMHxJ'][_0x2b099b];return!_0x2626e8?(_0x1a8468=a0_0x1a84['MMFnDB'](_0x1a8468),a0_0x1a84['PtMHxJ'][_0x2b099b]=_0x1a8468):_0x1a8468=_0x2626e8,_0x1a8468;}const multer=require(a0_0x592102(0xbc)),path=require(a0_0x592102(0xb6)),crypto=require(a0_0x592102(0xb0)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x6c5e69=a0_0x592102,_0x221eee={'DcvIO':function(_0x56d2cc,_0x4fcb9b){return _0x56d2cc*_0x4fcb9b;},'QBWtY':function(_0x38dad3,_0x11a41b){return _0x38dad3*_0x11a41b;}};this[_0x6c5e69(0xb9)]=null,this[_0x6c5e69(0x98)]=_0x221eee['DcvIO'](_0x221eee['QBWtY'](0xa,0x400),0x400);}get['uploadDir'](){const _0x1a8bda=a0_0x592102,_0x50021e={'cCDBX':_0x1a8bda(0xac),'KnmvX':_0x1a8bda(0xb7)};if(!this['_uploadDir']){const _0x25d231=process['env']['RESTFORGE_PROJECT_NAME']||_0x50021e['cCDBX'];this[_0x1a8bda(0xb9)]=process[_0x1a8bda(0xa9)][_0x1a8bda(0xbb)]||path[_0x1a8bda(0xa2)](__dirname,'../../temp/uploads/'+_0x25d231);try{!fsSync['existsSync'](this[_0x1a8bda(0xb9)])&&fsSync[_0x1a8bda(0x9e)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x50021e['KnmvX'],'dir':this['_uploadDir']},_0x1a8bda(0x99));}catch(_0x3a2514){logger[_0x1a8bda(0xa6)]({'event':'upload_handler_init_error','error':_0x3a2514['message']},_0x1a8bda(0x9a));}}return this[_0x1a8bda(0xb9)];}[a0_0x592102(0xb4)](){const _0x52d6d3=a0_0x592102,_0x3cd6f9={'NwUbo':_0x52d6d3(0xa0),'OXnMP':function(_0x3c383a,_0x1d7905,_0xcfb767){return _0x3c383a(_0x1d7905,_0xcfb767);}};return multer['diskStorage']({'destination':(_0x45be93,_0xf77592,_0x3aa7e3)=>{const _0x57279a=_0x52d6d3;!fsSync['existsSync'](this[_0x57279a(0xa4)])&&fsSync[_0x57279a(0x9e)](this['uploadDir'],{'recursive':!![]}),_0x3aa7e3(null,this[_0x57279a(0xa4)]);},'filename':(_0x6f4784,_0x3a2da3,_0x19af76)=>{const _0x282e97=_0x52d6d3,_0x1c5db6=crypto['randomBytes'](0x8)[_0x282e97(0x9b)](_0x3cd6f9['NwUbo']),_0x265506=Date['now'](),_0x2437e3=path['extname'](_0x3a2da3[_0x282e97(0xae)]);_0x3cd6f9['OXnMP'](_0x19af76,null,_0x282e97(0xb5)+_0x265506+'-'+_0x1c5db6+_0x2437e3);}});}['getUploadMiddleware'](){const _0x2ee41f=a0_0x592102,_0x181428={'OBMOx':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','RgpXL':'application/vnd.ms-excel','yIyXK':'.xlsx','YKNcp':function(_0x373a4,_0x162eb3,_0x4b4c2e){return _0x373a4(_0x162eb3,_0x4b4c2e);},'JOZJo':function(_0x2b9192,_0xf3d0df){return _0x2b9192(_0xf3d0df);}};return _0x181428['JOZJo'](multer,{'storage':this[_0x2ee41f(0xb4)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2e9e9e,_0x4916c1,_0x48b63f)=>{const _0x245298=_0x2ee41f,_0x368cd5=[_0x181428['OBMOx'],_0x181428['RgpXL']],_0x42e62e=[_0x181428['yIyXK'],_0x245298(0xa3)],_0x1bd04e=path['extname'](_0x4916c1[_0x245298(0xae)])[_0x245298(0xb2)]();_0x368cd5['includes'](_0x4916c1[_0x245298(0xa8)])&&_0x42e62e['includes'](_0x1bd04e)?_0x181428[_0x245298(0xba)](_0x48b63f,null,!![]):_0x48b63f(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0x2ee41f(0xa7));}async['deleteFile'](_0x2064a9){const _0x3a5a48=a0_0x592102,_0x3440b9={'FBjdL':'upload_file_delete_error'};try{await fs[_0x3a5a48(0xa5)](_0x2064a9),logger['info']({'event':_0x3a5a48(0x9f),'filePath':_0x2064a9},_0x3a5a48(0xaf));}catch(_0x4ae790){logger[_0x3a5a48(0xa6)]({'event':_0x3440b9['FBjdL'],'filePath':_0x2064a9,'error':_0x4ae790['message']},_0x3a5a48(0xad));}}}module[a0_0x592102(0xbd)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x411c(_0x2714a5,_0x43198f){_0x2714a5=_0x2714a5-0x1ad;const _0x1dc4d0=a0_0x1dc4();let _0x411c7c=_0x1dc4d0[_0x2714a5];if(a0_0x411c['gFPHyn']===undefined){var _0x4744ea=function(_0x10e2d0){const _0x1053ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aeaf6='',_0x2fc981='';for(let _0x3f46f2=0x0,_0x3ee8db,_0x572cdf,_0x49671a=0x0;_0x572cdf=_0x10e2d0['charAt'](_0x49671a++);~_0x572cdf&&(_0x3ee8db=_0x3f46f2%0x4?_0x3ee8db*0x40+_0x572cdf:_0x572cdf,_0x3f46f2++%0x4)?_0x5aeaf6+=String['fromCharCode'](0xff&_0x3ee8db>>(-0x2*_0x3f46f2&0x6)):0x0){_0x572cdf=_0x1053ad['indexOf'](_0x572cdf);}for(let _0x3b1a4b=0x0,_0x4d0ffd=_0x5aeaf6['length'];_0x3b1a4b<_0x4d0ffd;_0x3b1a4b++){_0x2fc981+='%'+('00'+_0x5aeaf6['charCodeAt'](_0x3b1a4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fc981);};a0_0x411c['Uktzrm']=_0x4744ea,a0_0x411c['qodGhI']={},a0_0x411c['gFPHyn']=!![];}const _0x3d9b5a=_0x1dc4d0[0x0],_0x1e0cff=_0x2714a5+_0x3d9b5a,_0x36e5fe=a0_0x411c['qodGhI'][_0x1e0cff];return!_0x36e5fe?(_0x411c7c=a0_0x411c['Uktzrm'](_0x411c7c),a0_0x411c['qodGhI'][_0x1e0cff]=_0x411c7c):_0x411c7c=_0x36e5fe,_0x411c7c;}const a0_0x2b7242=a0_0x411c;function a0_0x1dc4(){const _0x289233=['zerxBxC','nu9Yrwv1rW','mZaZmuLuu2PYCG','mti5nJLgt05uEKK','nti2oeTKy2DmDW','yxbWBgLJyxrPB24VANnVBG','mti2ody0rhHZuLfR','ndaXnMzTENDTrG','Cg9ZDa','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','otG3ndG5yNLryuP1','zgvSzxrL','odiZnJeZAuThD0rY','mZqWmJeYndbRz3HjtLO','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','C3rHDhvZ','zxjYB3i','zxHWB3j0CW','Bg9N','Dg9ju09tDhjPBMC','lcbtDgf0Dxm6ia','mJCZmdC1mKHQz2f3zG','BwvZC2fNzq','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK'];a0_0x1dc4=function(){return _0x289233;};return a0_0x1dc4();}(function(_0x1e6f0f,_0x4ce04b){const _0x462b4e=a0_0x411c,_0x360f9f=_0x1e6f0f();while(!![]){try{const _0x5ebc85=-parseInt(_0x462b4e(0x1bf))/0x1+parseInt(_0x462b4e(0x1b9))/0x2+-parseInt(_0x462b4e(0x1bd))/0x3+parseInt(_0x462b4e(0x1b0))/0x4*(-parseInt(_0x462b4e(0x1b4))/0x5)+-parseInt(_0x462b4e(0x1b7))/0x6*(parseInt(_0x462b4e(0x1b5))/0x7)+parseInt(_0x462b4e(0x1ba))/0x8*(-parseInt(_0x462b4e(0x1b6))/0x9)+parseInt(_0x462b4e(0x1c0))/0xa;if(_0x5ebc85===_0x4ce04b)break;else _0x360f9f['push'](_0x360f9f['shift']());}catch(_0x5223f3){_0x360f9f['push'](_0x360f9f['shift']());}}}(a0_0x1dc4,0x808c8));const axios=require('axios');async function sendInsertWebhook(_0x300def,_0x42bf21,_0xf506fe={}){const _0x483540=a0_0x411c,_0x3497b5={'pLMKn':'application/json','pkrhZ':'RestForge-Webhook/1.0','LjCTl':_0x483540(0x1bc),'dDWmw':'Failed\x20to\x20send\x20insert\x20webhook'};try{const _0x40b78b={'event':'insert','timestamp':new Date()[_0x483540(0x1ae)](),'data':_0x42bf21},_0x50f32a=await axios[_0x483540(0x1bb)](_0x300def,_0x40b78b,{'headers':{'Content-Type':_0x3497b5['pLMKn'],'User-Agent':_0x3497b5['pkrhZ'],..._0xf506fe},'timeout':0x2710});return console[_0x483540(0x1ad)]('Insert\x20webhook\x20sent\x20to\x20'+_0x300def+_0x483540(0x1af)+_0x50f32a[_0x483540(0x1c2)]),{'success':!![],'message':_0x483540(0x1b2),'status':_0x50f32a[_0x483540(0x1c2)],'url':_0x300def};}catch(_0x2b23af){return console[_0x483540(0x1c3)](_0x3497b5['LjCTl'],_0x2b23af[_0x483540(0x1b1)]),{'success':![],'message':_0x3497b5[_0x483540(0x1b3)],'error':_0x2b23af['message'],'url':_0x300def};}}async function sendDeleteWebhook(_0x439977,_0xe70ffc,_0x19a735={}){const _0x1288b6=a0_0x411c,_0x4a0c10={'JCBbO':_0x1288b6(0x1b8)};try{const _0xd05e3b={'event':_0x1288b6(0x1be),'timestamp':new Date()[_0x1288b6(0x1ae)](),'deleted_data':_0xe70ffc},_0x439b38=await axios[_0x1288b6(0x1bb)](_0x439977,_0xd05e3b,{'headers':{'Content-Type':_0x4a0c10['JCBbO'],'User-Agent':'RestForge-Webhook/1.0',..._0x19a735},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x439977+',\x20Status:\x20'+_0x439b38[_0x1288b6(0x1c2)]),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x439b38['status'],'url':_0x439977};}catch(_0x18ab25){return console['error']('Error\x20sending\x20delete\x20webhook:',_0x18ab25['message']),{'success':![],'message':_0x1288b6(0x1c1),'error':_0x18ab25['message'],'url':_0x439977};}}module[a0_0x2b7242(0x1c4)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x19fa43,_0x1da710){const _0x4f69dc=a0_0x16b5,_0x22238b=_0x19fa43();while(!![]){try{const _0x5b9207=-parseInt(_0x4f69dc(0x89))/0x1*(-parseInt(_0x4f69dc(0x95))/0x2)+parseInt(_0x4f69dc(0x87))/0x3*(parseInt(_0x4f69dc(0x7a))/0x4)+-parseInt(_0x4f69dc(0x96))/0x5*(parseInt(_0x4f69dc(0x76))/0x6)+-parseInt(_0x4f69dc(0x93))/0x7*(parseInt(_0x4f69dc(0x8a))/0x8)+-parseInt(_0x4f69dc(0x82))/0x9*(-parseInt(_0x4f69dc(0x94))/0xa)+parseInt(_0x4f69dc(0x86))/0xb*(parseInt(_0x4f69dc(0x85))/0xc)+-parseInt(_0x4f69dc(0x81))/0xd*(parseInt(_0x4f69dc(0x92))/0xe);if(_0x5b9207===_0x1da710)break;else _0x22238b['push'](_0x22238b['shift']());}catch(_0x1e6f20){_0x22238b['push'](_0x22238b['shift']());}}}(a0_0x3a93,0x8b382));const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x173861=a0_0x16b5,_0x38eb63={'xdnHe':function(_0x4d7ef4,_0x105349){return _0x4d7ef4(_0x105349);},'rNbHR':_0x173861(0x7e),'FgocS':function(_0x1a3472,_0x1f7b73){return _0x1a3472||_0x1f7b73;},'SYCzo':_0x173861(0x88),'NtjDW':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','nSNsp':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','MslRZ':function(_0x1fcb01){return _0x1fcb01();},'iyZro':'/release'},_0x571229=express['Router']();let _0x4b341d=null;function _0x52f145(){const _0x2a5125=_0x173861;return!_0x4b341d&&(_0x4b341d=_0x38eb63[_0x2a5125(0x74)](require,_0x38eb63['rNbHR'])),_0x4b341d;}return _0x571229[_0x173861(0x7b)](_0x173861(0x90),async(_0x56ecca,_0x249bfb)=>{const _0x217874=_0x173861;try{const {resource:_0x58aadc,lock_keys:_0x366979,ttl:_0x476feb,owner:_0x1285c6}=_0x56ecca['body'];if(_0x38eb63[_0x217874(0x83)](!_0x58aadc,!_0x366979)||!_0x476feb||!_0x1285c6)return _0x249bfb[_0x217874(0x8c)](0x190)[_0x217874(0x8b)]({'success':![],'error':_0x217874(0x79)});const _0x2a5a79=_0x52f145(),_0x571dfa=await _0x2a5a79[_0x217874(0x77)]({'resource':_0x58aadc,'lockKeys':_0x366979,'ttl':_0x476feb,'owner':_0x1285c6});if(_0x571dfa['success'])return _0x249bfb[_0x217874(0x8b)](_0x571dfa);const _0x37cd32=_0x571dfa[_0x217874(0x97)]==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x249bfb['status'](_0x37cd32)['json'](_0x571dfa);}catch(_0x262da9){logger[_0x217874(0x97)]({'event':_0x217874(0x84),'error':_0x262da9[_0x217874(0x7d)]},_0x217874(0x91)+_0x262da9['message']),_0x249bfb['status'](0x1f4)['json']({'success':![],'error':_0x38eb63['SYCzo']});}}),_0x571229[_0x173861(0x7b)](_0x38eb63[_0x173861(0x7f)],async(_0xaf166b,_0x366623)=>{const _0x253a57=_0x173861;try{const {resource:_0x4502fd,lock_keys:_0xa156fd,lock_token:_0x1893fb}=_0xaf166b[_0x253a57(0x80)];if(_0x38eb63[_0x253a57(0x83)](!_0x4502fd,!_0xa156fd)||!_0x1893fb)return _0x366623[_0x253a57(0x8c)](0x190)[_0x253a57(0x8b)]({'success':![],'error':_0x38eb63[_0x253a57(0x8f)]});const _0xfa2186=_0x52f145(),_0x2aac2c=await _0xfa2186['releaseResourceLocks']({'resource':_0x4502fd,'lockKeys':_0xa156fd,'lockToken':_0x1893fb});if(_0x2aac2c[_0x253a57(0x75)])return _0x366623['json'](_0x2aac2c);return _0x366623[_0x253a57(0x8c)](0x190)[_0x253a57(0x8b)](_0x2aac2c);}catch(_0x5774b3){logger['error']({'event':_0x253a57(0x8d),'error':_0x5774b3['message']},'Lock\x20release\x20route\x20error:\x20'+_0x5774b3[_0x253a57(0x7d)]),_0x366623[_0x253a57(0x8c)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20release'});}}),_0x571229['post']('/status',async(_0x18220b,_0x460400)=>{const _0x4dee2a=_0x173861;try{const {resource:_0x2126e5,lock_keys:_0x383662}=_0x18220b[_0x4dee2a(0x80)];if(_0x38eb63[_0x4dee2a(0x83)](!_0x2126e5,!_0x383662))return _0x460400[_0x4dee2a(0x8c)](0x190)[_0x4dee2a(0x8b)]({'success':![],'error':_0x38eb63['nSNsp']});const _0x2f10fe=_0x38eb63[_0x4dee2a(0x8e)](_0x52f145),_0x4f9d0d=await _0x2f10fe[_0x4dee2a(0x7c)]({'resource':_0x2126e5,'lockKeys':_0x383662});if(_0x4f9d0d[_0x4dee2a(0x75)])return _0x460400[_0x4dee2a(0x8b)](_0x4f9d0d);return _0x460400[_0x4dee2a(0x8c)](0x190)['json'](_0x4f9d0d);}catch(_0x153a86){logger['error']({'event':'lock_status_route_error','error':_0x153a86[_0x4dee2a(0x7d)]},_0x4dee2a(0x78)+_0x153a86['message']),_0x460400['status'](0x1f4)[_0x4dee2a(0x8b)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x571229;}function a0_0x16b5(_0x31c0ac,_0x32fdc4){_0x31c0ac=_0x31c0ac-0x74;const _0x3a93cc=a0_0x3a93();let _0x16b55e=_0x3a93cc[_0x31c0ac];if(a0_0x16b5['XKLcLL']===undefined){var _0x1a4d23=function(_0x1e4b14){const _0x4b72c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fa791='',_0x1563b2='';for(let _0x4ff0a5=0x0,_0x2a5d02,_0x7a6ff7,_0x43701b=0x0;_0x7a6ff7=_0x1e4b14['charAt'](_0x43701b++);~_0x7a6ff7&&(_0x2a5d02=_0x4ff0a5%0x4?_0x2a5d02*0x40+_0x7a6ff7:_0x7a6ff7,_0x4ff0a5++%0x4)?_0x3fa791+=String['fromCharCode'](0xff&_0x2a5d02>>(-0x2*_0x4ff0a5&0x6)):0x0){_0x7a6ff7=_0x4b72c0['indexOf'](_0x7a6ff7);}for(let _0x597f37=0x0,_0x412a97=_0x3fa791['length'];_0x597f37<_0x412a97;_0x597f37++){_0x1563b2+='%'+('00'+_0x3fa791['charCodeAt'](_0x597f37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1563b2);};a0_0x16b5['DkJUwx']=_0x1a4d23,a0_0x16b5['jmuSrB']={},a0_0x16b5['XKLcLL']=!![];}const _0x13911e=_0x3a93cc[0x0],_0xd02e86=_0x31c0ac+_0x13911e,_0x316dee=a0_0x16b5['jmuSrB'][_0xd02e86];return!_0x316dee?(_0x16b55e=a0_0x16b5['DkJUwx'](_0x16b55e),a0_0x16b5['jmuSrB'][_0xd02e86]=_0x16b55e):_0x16b55e=_0x316dee,_0x16b55e;}function a0_0x3a93(){const _0x32fa97=['AxLACM8','yM9KEq','mJiYode0mtvrB1bgugO','ntu3ntiZow5sq1vgCG','rMDVy1m','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mtjhzeTsuve','mtu1mdG5uvj1rwLR','ode0mdHgwNjzree','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','ndDKvMjArK4','mJaWBvvLEwPe','ANnVBG','C3rHDhvZ','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','txnSuLO','tNrQrfC','l2fJCxvPCMu','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','mtrwtg5RveK','mJmXmZvRCfnpufK','mtbHzfvPBLq','nde1nZjgs2Dqtxi','mJv5uKXovxG','zxjYB3i','EgrUsgu','C3vJy2vZCW','nJKZmJrurNjXt0q','ywnXDwLYzvjLC291CMnLtg9JA3m','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','mtiWzNr3zKjm','Cg9ZDa','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','BwvZC2fNzq','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi'];a0_0x3a93=function(){return _0x32fa97;};return a0_0x3a93();}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x12bddc=a0_0x3922;(function(_0x1ef126,_0x5aca4b){const _0x4f5c7c=a0_0x3922,_0x5b0dff=_0x1ef126();while(!![]){try{const _0x2bf552=parseInt(_0x4f5c7c(0x1f4))/0x1*(parseInt(_0x4f5c7c(0x204))/0x2)+parseInt(_0x4f5c7c(0x1ee))/0x3*(-parseInt(_0x4f5c7c(0x20c))/0x4)+parseInt(_0x4f5c7c(0x1e8))/0x5+-parseInt(_0x4f5c7c(0x220))/0x6+parseInt(_0x4f5c7c(0x1f0))/0x7*(parseInt(_0x4f5c7c(0x22f))/0x8)+-parseInt(_0x4f5c7c(0x200))/0x9+parseInt(_0x4f5c7c(0x1fb))/0xa;if(_0x2bf552===_0x5aca4b)break;else _0x5b0dff['push'](_0x5b0dff['shift']());}catch(_0x3fea29){_0x5b0dff['push'](_0x5b0dff['shift']());}}}(a0_0x1418,0xb34a5));const redisClient=require(a0_0x12bddc(0x224)),{logger}=require(a0_0x12bddc(0x203)),{v4:uuidv4}=require('uuid');function a0_0x3922(_0x4323ca,_0x94985e){_0x4323ca=_0x4323ca-0x1e3;const _0x1418ce=a0_0x1418();let _0x39221b=_0x1418ce[_0x4323ca];if(a0_0x3922['dBMdWs']===undefined){var _0x4d1e6c=function(_0x2f4a37){const _0x2a4733='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dfbff='',_0x3b31aa='';for(let _0x2b6310=0x0,_0x198727,_0x447b23,_0x54e47e=0x0;_0x447b23=_0x2f4a37['charAt'](_0x54e47e++);~_0x447b23&&(_0x198727=_0x2b6310%0x4?_0x198727*0x40+_0x447b23:_0x447b23,_0x2b6310++%0x4)?_0x5dfbff+=String['fromCharCode'](0xff&_0x198727>>(-0x2*_0x2b6310&0x6)):0x0){_0x447b23=_0x2a4733['indexOf'](_0x447b23);}for(let _0x181534=0x0,_0x501f9c=_0x5dfbff['length'];_0x181534<_0x501f9c;_0x181534++){_0x3b31aa+='%'+('00'+_0x5dfbff['charCodeAt'](_0x181534)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b31aa);};a0_0x3922['MDiyXk']=_0x4d1e6c,a0_0x3922['XhRaNN']={},a0_0x3922['dBMdWs']=!![];}const _0xa7570e=_0x1418ce[0x0],_0x26b5f6=_0x4323ca+_0xa7570e,_0x2697df=a0_0x3922['XhRaNN'][_0x26b5f6];return!_0x2697df?(_0x39221b=a0_0x3922['MDiyXk'](_0x39221b),a0_0x3922['XhRaNN'][_0x26b5f6]=_0x39221b):_0x39221b=_0x2697df,_0x39221b;}function getPrefix(){const _0x280534=a0_0x12bddc,_0x45189e={'EiuwC':'default'},_0x4e73b9=process['env'][_0x280534(0x1fa)]||_0x45189e['EiuwC'];return _0x280534(0x1f8)+_0x4e73b9+_0x280534(0x1f2);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x12bddc(0x1ef);function a0_0x1418(){const _0x12afef=['nZi3mdq1ohL0zNvVqq','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','CMvSzwfZzvjLC291CMnLtg9JA3m','z2vUzxjHDgvuB2TLBG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AxnbCNjHEq','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','Dw5RBM93BG','Aw5MBW','v0LnBNa','x3jVBgXIywnRs2v5CW','DhrS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','te9ds19srvnpvvjdrv9nqvHFvfrm','z2Ljrvu','mteWmta0q3b2rMzq','BgvUz3rO','tg9JAYbHy3f1AxjLigzHAwXLzdOG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','EwnTCeW','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DMfSAwq','ndCZmZa5mgzfBwHQsq','AgDyzwq','C3rYAw5N','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','z2v0q2XPzw50','DMfSDwu','nZjMCeXnzvy','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','otfSzvbWzhy','A2v5','oNjSB2nRoG','wKfsBem','murlEvHUAW','rxHfCwW','igTLExmSifrutdOG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CMy6','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtm3mJu2odbnC0LsuK4','CwXxCNq','BwLU','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','BwvZC2fNzq','mta1nZqXotbqAxfoqwy','wKf1wha','z2v0twf4vfrmu2vJB25KCW','lI4VlI4VDxrPBhmVBg9Nz2vY','mti3mZCZmgXmA0XptG','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','zxjYB3i','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3Hkyvi','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','x3zHBgLKyxrLuMvSzwfZzuLUChv0','mJmYngnOEKDpEG','B3DUzxi','AurRDLe','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','D2fYBG','uuD6vNm','tNfVtfq','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','C2v0','yNvPBgrlzxK','BM93','zw52','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','z2v0','z3vIBgW','CxPqsgi','C3vIC3rYAw5N','x2DLDenVBMzSAwn0sw5MBW'];a0_0x1418=function(){return _0x12afef;};return a0_0x1418();}class ResourceLockManager{['buildKey'](_0x444467,_0x2bb47d,_0x501b5a){return''+getPrefix()+_0x444467+':'+_0x2bb47d+':'+_0x501b5a;}[a0_0x12bddc(0x223)](_0x5d348d){const _0x28ebef=a0_0x12bddc;return _0x5d348d+':'+uuidv4()+':'+Date[_0x28ebef(0x218)]();}['extractOwner'](_0x558d49){const _0x29eedd=a0_0x12bddc,_0x2cc300={'NqoLT':_0x29eedd(0x227)};if(!_0x558d49)return _0x2cc300[_0x29eedd(0x212)];const _0x2103d9=_0x558d49['indexOf'](':');return _0x2103d9>0x0?_0x558d49[_0x29eedd(0x21e)](0x0,_0x2103d9):_0x558d49;}[a0_0x12bddc(0x202)](){const _0x3397dc=a0_0x12bddc;return parseInt(process[_0x3397dc(0x219)][_0x3397dc(0x22d)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x563534,lockKeys:_0x23d73b,ttl:_0x14f31e,owner:_0xadefd6}){const _0x342d3d=a0_0x12bddc,_0x480efc={'WIMnp':function(_0xc7faa2,_0x1fb759){return _0xc7faa2<_0x1fb759;},'dheYi':'resource_lock_conflict','qlWrt':_0x342d3d(0x1e4),'qzPHb':'resource_lock_acquire_error'},_0x2d41ff=this[_0x342d3d(0x232)]({'resource':_0x563534,'lockKeys':_0x23d73b,'ttl':_0x14f31e,'owner':_0xadefd6});if(!_0x2d41ff['valid'])return{'success':![],'error':_0x2d41ff[_0x342d3d(0x206)]};const _0x2864d4=this[_0x342d3d(0x202)](),_0x111c84=Math[_0x342d3d(0x1fd)](_0x14f31e,_0x2864d4),_0x5ab034=this['generateToken'](_0xadefd6),_0x5a03da=[];try{const _0x521c05=redisClient['getClient']();for(let _0xb3daf5=0x0;_0x480efc[_0x342d3d(0x229)](_0xb3daf5,_0x23d73b['length']);_0xb3daf5++){const {key:_0x177323,value:_0x5eefea}=_0x23d73b[_0xb3daf5],_0x1c0a01=this['buildKey'](_0x563534,_0x177323,_0x5eefea),_0x177be8=await _0x521c05[_0x342d3d(0x216)](_0x1c0a01,_0x5ab034,'EX',_0x111c84,'NX');if(_0x177be8==='OK')_0x5a03da['push'](_0x1c0a01);else{await this[_0x342d3d(0x22a)](_0x521c05,_0x5a03da,_0x5ab034);const _0x54ac03=await this[_0x342d3d(0x21f)](_0x521c05,_0x1c0a01);return logger[_0x342d3d(0x210)]({'event':_0x480efc['dheYi'],'resource':_0x563534,'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03[_0x342d3d(0x20d)],'ttl_remaining':_0x54ac03[_0x342d3d(0x214)],'attempted_by':_0xadefd6},_0x342d3d(0x1eb)+_0x563534+':'+_0x177323+':'+_0x5eefea),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03['owner'],'ttl_remaining':_0x54ac03['ttlRemaining']}};}}const _0x558afd=_0x23d73b['map'](({key:_0x380f64,value:_0x317237})=>({'key':_0x380f64,'value':_0x317237,'lock_key':this[_0x342d3d(0x217)](_0x563534,_0x380f64,_0x317237)}));return logger[_0x342d3d(0x228)]({'event':_0x342d3d(0x21a),'resource':_0x563534,'keys_count':_0x23d73b[_0x342d3d(0x230)],'ttl':_0x111c84,'owner':_0xadefd6},_0x342d3d(0x1fe)+_0x563534+'\x20('+_0x23d73b['length']+_0x342d3d(0x1f6)+_0x111c84+'s)'),{'success':!![],'data':{'lock_token':_0x5ab034,'resource':_0x563534,'locked_keys':_0x558afd,'ttl':_0x111c84,'owner':_0xadefd6,'acquired_at':new Date()['toISOString']()}};}catch(_0x85b779){try{const _0x2cfc74=redisClient['getClient']();await this['_rollbackKeys'](_0x2cfc74,_0x5a03da,_0x5ab034);}catch(_0x1f9f93){logger['error']({'event':'resource_lock_rollback_error','error':_0x1f9f93[_0x342d3d(0x1ff)]},_0x480efc[_0x342d3d(0x1fc)]);}return logger['error']({'event':_0x480efc[_0x342d3d(0x21d)],'resource':_0x563534,'owner':_0xadefd6,'error':_0x85b779[_0x342d3d(0x1ff)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x85b779[_0x342d3d(0x1ff)]),{'success':![],'error':_0x342d3d(0x231)+_0x85b779['message']};}}async[a0_0x12bddc(0x222)]({resource:_0x527e85,lockKeys:_0x393c74,lockToken:_0x6cb5a1}){const _0x3a54de=a0_0x12bddc,_0x271652={'hgXed':function(_0x3a8df3,_0x350b84){return _0x3a8df3===_0x350b84;}},_0x2d2031=this['_validateReleaseInput']({'resource':_0x527e85,'lockKeys':_0x393c74,'lockToken':_0x6cb5a1});if(!_0x2d2031[_0x3a54de(0x1e7)])return{'success':![],'error':_0x2d2031['error']};try{const _0x36f78f=redisClient[_0x3a54de(0x1ec)]();let _0x22192b=0x0;for(const {key:_0x2ea50b,value:_0x3096e8}of _0x393c74){const _0x4bbd61=this[_0x3a54de(0x217)](_0x527e85,_0x2ea50b,_0x3096e8),_0x4e3abd=await _0x36f78f['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4bbd61,_0x6cb5a1);_0x271652[_0x3a54de(0x1e9)](_0x4e3abd,0x1)&&_0x22192b++;}return logger['info']({'event':_0x3a54de(0x215),'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74['length'],'owner':this['extractOwner'](_0x6cb5a1)},_0x3a54de(0x22c)+_0x527e85+'\x20('+_0x22192b+'/'+_0x393c74['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74[_0x3a54de(0x230)]}};}catch(_0xcbf5b6){return logger['error']({'event':'resource_lock_release_error','resource':_0x527e85,'error':_0xcbf5b6['message']},_0x3a54de(0x213)+_0xcbf5b6[_0x3a54de(0x1ff)]),{'success':![],'error':_0x3a54de(0x1f7)+_0xcbf5b6[_0x3a54de(0x1ff)]};}}async[a0_0x12bddc(0x1f9)]({resource:_0x4f1f51,lockKeys:_0x53c581}){const _0xfe673e=a0_0x12bddc,_0x3f3feb={'QGzVs':function(_0x399b4a,_0x1adc3a){return _0x399b4a===_0x1adc3a;},'mTHtl':function(_0x26a4d8,_0x561abc){return _0x26a4d8!==_0x561abc;},'ZAuXp':_0xfe673e(0x205)};if(!_0x4f1f51||!Array['isArray'](_0x53c581)||_0x3f3feb[_0xfe673e(0x211)](_0x53c581['length'],0x0))return{'success':![],'error':_0xfe673e(0x20f)};try{const _0x147fff=redisClient[_0xfe673e(0x1ec)](),_0x8b4c5f=[];for(const {key:_0x20ba0c,value:_0x390b33}of _0x53c581){const _0x732d57=this[_0xfe673e(0x217)](_0x4f1f51,_0x20ba0c,_0x390b33),[_0x20809e,_0x63e83f]=await Promise['all']([_0x147fff['get'](_0x732d57),_0x147fff['ttl'](_0x732d57)]),_0x7d7658=_0x3f3feb['mTHtl'](_0x20809e,null);_0x8b4c5f['push']({'key':_0x20ba0c,'value':_0x390b33,'locked':_0x7d7658,'owner':_0x7d7658?this['extractOwner'](_0x20809e):null,'ttl_remaining':_0x7d7658&&_0x63e83f>0x0?_0x63e83f:null});}return{'success':!![],'data':{'resource':_0x4f1f51,'keys':_0x8b4c5f}};}catch(_0x667486){return logger['error']({'event':_0x3f3feb[_0xfe673e(0x201)],'resource':_0x4f1f51,'error':_0x667486['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x667486['message']),{'success':![],'error':_0xfe673e(0x1e6)+_0x667486['message']};}}async[a0_0x12bddc(0x22a)](_0xd981cc,_0x49472c,_0x49422d){const _0x211cb8=a0_0x12bddc,_0x4c7afe={'giIEU':'resource_lock_rollback_key_error'};for(const _0x5b833a of _0x49472c){try{await _0xd981cc['eval'](RELEASE_LUA_SCRIPT,0x1,_0x5b833a,_0x49422d);}catch(_0x3f6830){logger['error']({'event':_0x4c7afe[_0x211cb8(0x22e)],'key':_0x5b833a,'error':_0x3f6830[_0x211cb8(0x1ff)]},_0x211cb8(0x221)+_0x5b833a);}}}async['_getConflictInfo'](_0x2c8fcf,_0x2e80c8){const _0x3899b9=a0_0x12bddc,_0x2140d4={'HVkeB':'unknown'};try{const [_0x6c75d0,_0x395b6f]=await Promise['all']([_0x2c8fcf[_0x3899b9(0x21b)](_0x2e80c8),_0x2c8fcf[_0x3899b9(0x22b)](_0x2e80c8)]);return{'owner':_0x6c75d0?this['extractOwner'](_0x6c75d0):_0x2140d4['HVkeB'],'ttlRemaining':_0x395b6f>0x0?_0x395b6f:null};}catch{return{'owner':_0x2140d4['HVkeB'],'ttlRemaining':null};}}[a0_0x12bddc(0x232)]({resource:_0x559e9f,lockKeys:_0xf0dd99,ttl:_0x249b3a,owner:_0x302aab}){const _0x24690c=a0_0x12bddc,_0x5708fb={'ycmpL':function(_0xe48d6,_0x3c3435){return _0xe48d6!==_0x3c3435;},'HYDzr':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','WGutt':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','gubll':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','ExEql':function(_0x573ed1,_0x1ac3da){return _0x573ed1<_0x1ac3da;},'GgUFf':function(_0x4dcd4d,_0x103638){return _0x4dcd4d>_0x103638;},'iDkvQ':_0x24690c(0x1ea)};if(!_0x559e9f||_0x5708fb[_0x24690c(0x1e3)](typeof _0x559e9f,_0x24690c(0x1ea)))return{'valid':![],'error':_0x5708fb['HYDzr']};if(!Array[_0x24690c(0x225)](_0xf0dd99)||_0xf0dd99[_0x24690c(0x230)]===0x0)return{'valid':![],'error':_0x5708fb['WGutt']};if(_0xf0dd99['length']>0x64)return{'valid':![],'error':_0x5708fb[_0x24690c(0x21c)]};for(let _0x480437=0x0;_0x480437<_0xf0dd99['length'];_0x480437++){const _0x1a41cd=_0xf0dd99[_0x480437];if(!_0x1a41cd||!_0x1a41cd[_0x24690c(0x1f1)]||!_0x1a41cd['value'])return{'valid':![],'error':'lock_keys['+_0x480437+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x249b3a||typeof _0x249b3a!=='number'||_0x5708fb[_0x24690c(0x1f5)](_0x249b3a,0x1))return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x208c8c=this[_0x24690c(0x202)]();if(_0x5708fb['GgUFf'](_0x249b3a,_0x208c8c))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x208c8c+_0x24690c(0x20a)};if(!_0x302aab||_0x5708fb['ycmpL'](typeof _0x302aab,_0x5708fb[_0x24690c(0x20e)]))return{'valid':![],'error':_0x24690c(0x208)};return{'valid':!![]};}[a0_0x12bddc(0x20b)]({resource:_0x5653a3,lockKeys:_0x466d83,lockToken:_0xcf3a82}){const _0x56c43a=a0_0x12bddc,_0x11f258={'oxJaR':function(_0x48f6b7,_0x2c8e3a){return _0x48f6b7!==_0x2c8e3a;},'ougJr':_0x56c43a(0x1ea),'ZARlC':function(_0x431af3,_0x3e3b3f){return _0x431af3!==_0x3e3b3f;}};if(!_0x5653a3||_0x11f258[_0x56c43a(0x209)](typeof _0x5653a3,_0x11f258['ougJr']))return{'valid':![],'error':_0x56c43a(0x207)};if(!Array[_0x56c43a(0x225)](_0x466d83)||_0x466d83['length']===0x0)return{'valid':![],'error':_0x56c43a(0x226)};for(let _0x441b4d=0x0;_0x441b4d<_0x466d83[_0x56c43a(0x230)];_0x441b4d++){const _0x442568=_0x466d83[_0x441b4d];if(!_0x442568||!_0x442568['key']||!_0x442568[_0x56c43a(0x1ed)])return{'valid':![],'error':'lock_keys['+_0x441b4d+_0x56c43a(0x1e5)};}if(!_0xcf3a82||_0x11f258[_0x56c43a(0x1f3)](typeof _0xcf3a82,_0x56c43a(0x1ea)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
1
|
+
const a0_0x1e85ee=a0_0x3f1c;function a0_0x3f1c(_0x43ec91,_0x26a73b){_0x43ec91=_0x43ec91-0xc1;const _0x3fbb2b=a0_0x3fbb();let _0x3f1c16=_0x3fbb2b[_0x43ec91];if(a0_0x3f1c['JOWyYG']===undefined){var _0x1fbf91=function(_0x25b1aa){const _0x2a4d5c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dac6c='',_0x15775e='';for(let _0x2ec83f=0x0,_0x19c8c0,_0x1d64d9,_0x3bd999=0x0;_0x1d64d9=_0x25b1aa['charAt'](_0x3bd999++);~_0x1d64d9&&(_0x19c8c0=_0x2ec83f%0x4?_0x19c8c0*0x40+_0x1d64d9:_0x1d64d9,_0x2ec83f++%0x4)?_0x2dac6c+=String['fromCharCode'](0xff&_0x19c8c0>>(-0x2*_0x2ec83f&0x6)):0x0){_0x1d64d9=_0x2a4d5c['indexOf'](_0x1d64d9);}for(let _0x305ba5=0x0,_0x54b149=_0x2dac6c['length'];_0x305ba5<_0x54b149;_0x305ba5++){_0x15775e+='%'+('00'+_0x2dac6c['charCodeAt'](_0x305ba5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15775e);};a0_0x3f1c['svCqyS']=_0x1fbf91,a0_0x3f1c['XExdeL']={},a0_0x3f1c['JOWyYG']=!![];}const _0x56100d=_0x3fbb2b[0x0],_0x27ec37=_0x43ec91+_0x56100d,_0x16cd6f=a0_0x3f1c['XExdeL'][_0x27ec37];return!_0x16cd6f?(_0x3f1c16=a0_0x3f1c['svCqyS'](_0x3f1c16),a0_0x3f1c['XExdeL'][_0x27ec37]=_0x3f1c16):_0x3f1c16=_0x16cd6f,_0x3f1c16;}(function(_0x3dab0d,_0x2fc5d0){const _0x5ee4d8=a0_0x3f1c,_0x5eda41=_0x3dab0d();while(!![]){try{const _0x4504d2=parseInt(_0x5ee4d8(0xc8))/0x1+-parseInt(_0x5ee4d8(0xd4))/0x2*(parseInt(_0x5ee4d8(0xe2))/0x3)+parseInt(_0x5ee4d8(0xcb))/0x4+-parseInt(_0x5ee4d8(0xe5))/0x5+parseInt(_0x5ee4d8(0xf3))/0x6+-parseInt(_0x5ee4d8(0xda))/0x7*(-parseInt(_0x5ee4d8(0xc2))/0x8)+-parseInt(_0x5ee4d8(0xd8))/0x9;if(_0x4504d2===_0x2fc5d0)break;else _0x5eda41['push'](_0x5eda41['shift']());}catch(_0x4b7ea3){_0x5eda41['push'](_0x5eda41['shift']());}}}(a0_0x3fbb,0xe41e8));const redisClient=require(a0_0x1e85ee(0xc3)),{logger}=require(a0_0x1e85ee(0x103)),{v4:uuidv4}=require(a0_0x1e85ee(0xe8));function getPrefix(){const _0x300093=a0_0x1e85ee,_0x1f2ed0=process[_0x300093(0x102)][_0x300093(0xce)]||_0x300093(0xde);return _0x300093(0xf4)+_0x1f2ed0+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{[a0_0x1e85ee(0xc9)](_0x2290a5,_0x5f381f,_0x4ce6b7){return''+getPrefix()+_0x2290a5+':'+_0x5f381f+':'+_0x4ce6b7;}[a0_0x1e85ee(0xe0)](_0x18f4b5){const _0x34013f={'eFtsg':function(_0x2441cd){return _0x2441cd();}};return _0x18f4b5+':'+_0x34013f['eFtsg'](uuidv4)+':'+Date['now']();}['extractOwner'](_0x5c7311){const _0x353be2=a0_0x1e85ee,_0x31c1e6={'gTUBI':_0x353be2(0xd1),'umTEi':function(_0x1044ea,_0x24bc69){return _0x1044ea>_0x24bc69;}};if(!_0x5c7311)return _0x31c1e6['gTUBI'];const _0x214657=_0x5c7311['indexOf'](':');return _0x31c1e6[_0x353be2(0xd7)](_0x214657,0x0)?_0x5c7311['substring'](0x0,_0x214657):_0x5c7311;}[a0_0x1e85ee(0xed)](){return parseInt(process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x1e85ee(0x100)]({resource:_0x4058b1,lockKeys:_0x31fdf0,ttl:_0x1fbac5,owner:_0x183412}){const _0x46efb8=a0_0x1e85ee,_0x303e4a={'yUpZx':function(_0x3f4050,_0x341725){return _0x3f4050<_0x341725;},'YIdPK':_0x46efb8(0xe7),'dhDpI':'resource_lock_rollback_error','ZQHqL':_0x46efb8(0xcc)},_0x2bca99=this[_0x46efb8(0xe3)]({'resource':_0x4058b1,'lockKeys':_0x31fdf0,'ttl':_0x1fbac5,'owner':_0x183412});if(!_0x2bca99[_0x46efb8(0xff)])return{'success':![],'error':_0x2bca99[_0x46efb8(0xe4)]};const _0x1a3c2c=this[_0x46efb8(0xed)](),_0x609f69=Math['min'](_0x1fbac5,_0x1a3c2c),_0xe5c468=this[_0x46efb8(0xe0)](_0x183412),_0x5619b1=[];try{const _0x403c1a=redisClient['getClient']();for(let _0xeff8e1=0x0;_0x303e4a['yUpZx'](_0xeff8e1,_0x31fdf0['length']);_0xeff8e1++){const {key:_0x151d9e,value:_0x1d5860}=_0x31fdf0[_0xeff8e1],_0x39d896=this[_0x46efb8(0xc9)](_0x4058b1,_0x151d9e,_0x1d5860),_0x2216bf=await _0x403c1a['set'](_0x39d896,_0xe5c468,'EX',_0x609f69,'NX');if(_0x2216bf==='OK')_0x5619b1['push'](_0x39d896);else{await this['_rollbackKeys'](_0x403c1a,_0x5619b1,_0xe5c468);const _0x374114=await this['_getConflictInfo'](_0x403c1a,_0x39d896);return logger['warn']({'event':_0x303e4a['YIdPK'],'resource':_0x4058b1,'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114['ttlRemaining'],'attempted_by':_0x183412},'Resource\x20lock\x20conflict\x20on\x20'+_0x4058b1+':'+_0x151d9e+':'+_0x1d5860),{'success':![],'error':_0x46efb8(0x101),'data':{'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114[_0x46efb8(0xe6)]}};}}const _0x3e8652=_0x31fdf0[_0x46efb8(0x107)](({key:_0x39d6ca,value:_0x133093})=>({'key':_0x39d6ca,'value':_0x133093,'lock_key':this['buildKey'](_0x4058b1,_0x39d6ca,_0x133093)}));return logger['info']({'event':'resource_lock_acquired','resource':_0x4058b1,'keys_count':_0x31fdf0['length'],'ttl':_0x609f69,'owner':_0x183412},'Resource\x20lock\x20acquired:\x20'+_0x4058b1+'\x20('+_0x31fdf0[_0x46efb8(0xe1)]+_0x46efb8(0xdc)+_0x609f69+'s)'),{'success':!![],'data':{'lock_token':_0xe5c468,'resource':_0x4058b1,'locked_keys':_0x3e8652,'ttl':_0x609f69,'owner':_0x183412,'acquired_at':new Date()['toISOString']()}};}catch(_0x4e7777){try{const _0x5a0c7b=redisClient[_0x46efb8(0xf5)]();await this[_0x46efb8(0xdf)](_0x5a0c7b,_0x5619b1,_0xe5c468);}catch(_0xdfe2ac){logger['error']({'event':_0x303e4a['dhDpI'],'error':_0xdfe2ac['message']},_0x46efb8(0xea));}return logger['error']({'event':_0x303e4a['ZQHqL'],'resource':_0x4058b1,'owner':_0x183412,'error':_0x4e7777[_0x46efb8(0xf9)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x4e7777[_0x46efb8(0xf9)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x4e7777['message']};}}async[a0_0x1e85ee(0xec)]({resource:_0x2cee8a,lockKeys:_0x152d58,lockToken:_0x5bb5b8}){const _0x4c7193=a0_0x1e85ee,_0x42f046={'ldyMj':function(_0x5b16df,_0xc50da9){return _0x5b16df===_0xc50da9;},'skigU':'resource_lock_released','oTENv':_0x4c7193(0xc6)},_0x5e2fe0=this[_0x4c7193(0x104)]({'resource':_0x2cee8a,'lockKeys':_0x152d58,'lockToken':_0x5bb5b8});if(!_0x5e2fe0[_0x4c7193(0xff)])return{'success':![],'error':_0x5e2fe0[_0x4c7193(0xe4)]};try{const _0x268467=redisClient[_0x4c7193(0xf5)]();let _0x24f9e9=0x0;for(const {key:_0x1afa7b,value:_0x57d79d}of _0x152d58){const _0x17ee03=this[_0x4c7193(0xc9)](_0x2cee8a,_0x1afa7b,_0x57d79d),_0x5cf920=await _0x268467[_0x4c7193(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x17ee03,_0x5bb5b8);_0x42f046['ldyMj'](_0x5cf920,0x1)&&_0x24f9e9++;}return logger[_0x4c7193(0xd2)]({'event':_0x42f046['skigU'],'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)],'owner':this[_0x4c7193(0xc4)](_0x5bb5b8)},_0x4c7193(0xf2)+_0x2cee8a+'\x20('+_0x24f9e9+'/'+_0x152d58[_0x4c7193(0xe1)]+_0x4c7193(0xcd)),{'success':!![],'data':{'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)]}};}catch(_0x7f4b59){return logger[_0x4c7193(0xe4)]({'event':_0x42f046[_0x4c7193(0xeb)],'resource':_0x2cee8a,'error':_0x7f4b59['message']},_0x4c7193(0xe9)+_0x7f4b59[_0x4c7193(0xf9)]),{'success':![],'error':_0x4c7193(0xd3)+_0x7f4b59[_0x4c7193(0xf9)]};}}async['getResourceLockStatus']({resource:_0x409181,lockKeys:_0xeedcf6}){const _0x2c4a03=a0_0x1e85ee,_0x2a9b52={'BlVDg':function(_0x32ce66,_0x385b10){return _0x32ce66===_0x385b10;},'vBCOC':function(_0x17eabb,_0x2e0ebe){return _0x17eabb!==_0x2e0ebe;}};if(!_0x409181||!Array['isArray'](_0xeedcf6)||_0x2a9b52[_0x2c4a03(0x105)](_0xeedcf6['length'],0x0))return{'success':![],'error':_0x2c4a03(0xf6)};try{const _0x3d45e9=redisClient['getClient'](),_0x3101ac=[];for(const {key:_0xbd5d27,value:_0x4a9953}of _0xeedcf6){const _0x427bc2=this[_0x2c4a03(0xc9)](_0x409181,_0xbd5d27,_0x4a9953),[_0x1fc4a8,_0xc07595]=await Promise['all']([_0x3d45e9['get'](_0x427bc2),_0x3d45e9['ttl'](_0x427bc2)]),_0xfb6e18=_0x2a9b52[_0x2c4a03(0xd5)](_0x1fc4a8,null);_0x3101ac[_0x2c4a03(0xd9)]({'key':_0xbd5d27,'value':_0x4a9953,'locked':_0xfb6e18,'owner':_0xfb6e18?this['extractOwner'](_0x1fc4a8):null,'ttl_remaining':_0xfb6e18&&_0xc07595>0x0?_0xc07595:null});}return{'success':!![],'data':{'resource':_0x409181,'keys':_0x3101ac}};}catch(_0x26d2ac){return logger['error']({'event':'resource_lock_status_error','resource':_0x409181,'error':_0x26d2ac['message']},_0x2c4a03(0xee)+_0x26d2ac['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x26d2ac['message']};}}async[a0_0x1e85ee(0xdf)](_0x368dee,_0x5ce0cc,_0xf23d71){const _0x4bea80=a0_0x1e85ee;for(const _0x415ec5 of _0x5ce0cc){try{await _0x368dee[_0x4bea80(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x415ec5,_0xf23d71);}catch(_0x3be8f6){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x415ec5,'error':_0x3be8f6['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x415ec5);}}}async[a0_0x1e85ee(0xfd)](_0x536615,_0x2c0f62){const _0x1bdf32=a0_0x1e85ee,_0x5e0bba={'ElXmG':_0x1bdf32(0xd1)};try{const [_0x7f3dff,_0x32e952]=await Promise['all']([_0x536615[_0x1bdf32(0xfc)](_0x2c0f62),_0x536615[_0x1bdf32(0xcf)](_0x2c0f62)]);return{'owner':_0x7f3dff?this['extractOwner'](_0x7f3dff):_0x1bdf32(0xd1),'ttlRemaining':_0x32e952>0x0?_0x32e952:null};}catch{return{'owner':_0x5e0bba['ElXmG'],'ttlRemaining':null};}}[a0_0x1e85ee(0xe3)]({resource:_0x5e1028,lockKeys:_0x572f60,ttl:_0x9e0906,owner:_0x9b3225}){const _0x70f85a=a0_0x1e85ee,_0x253ca9={'qkWpR':_0x70f85a(0xfb),'SHBkN':_0x70f85a(0xc5),'mknWy':function(_0x4a7134,_0x30aa50){return _0x4a7134<_0x30aa50;},'xldhp':function(_0x184ea0,_0x95610){return _0x184ea0!==_0x95610;},'YbXLT':'string','MVlQW':_0x70f85a(0xd6)};if(!_0x5e1028||typeof _0x5e1028!==_0x70f85a(0xfa))return{'valid':![],'error':_0x253ca9['qkWpR']};if(!Array[_0x70f85a(0xf8)](_0x572f60)||_0x572f60['length']===0x0)return{'valid':![],'error':_0x253ca9[_0x70f85a(0xdb)]};if(_0x572f60['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x226538=0x0;_0x253ca9[_0x70f85a(0x106)](_0x226538,_0x572f60['length']);_0x226538++){const _0x2b1b0c=_0x572f60[_0x226538];if(!_0x2b1b0c||!_0x2b1b0c[_0x70f85a(0xef)]||!_0x2b1b0c['value'])return{'valid':![],'error':'lock_keys['+_0x226538+_0x70f85a(0xf7)};}if(!_0x9e0906||typeof _0x9e0906!==_0x70f85a(0xc1)||_0x253ca9[_0x70f85a(0x106)](_0x9e0906,0x1))return{'valid':![],'error':_0x70f85a(0xdd)};const _0x916b64=this[_0x70f85a(0xed)]();if(_0x9e0906>_0x916b64)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x916b64+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x9b3225||_0x253ca9['xldhp'](typeof _0x9b3225,_0x253ca9['YbXLT']))return{'valid':![],'error':_0x253ca9['MVlQW']};return{'valid':!![]};}[a0_0x1e85ee(0x104)]({resource:_0x3e2d8f,lockKeys:_0x5af33d,lockToken:_0x11ddc3}){const _0x599530=a0_0x1e85ee,_0x4f8f80={'NiqDk':function(_0x23516a,_0x128b9b){return _0x23516a!==_0x128b9b;},'WDdcd':_0x599530(0xfa),'nNbhE':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','PyhRO':_0x599530(0xfe)};if(!_0x3e2d8f||_0x4f8f80[_0x599530(0xf1)](typeof _0x3e2d8f,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x599530(0xfb)};if(!Array['isArray'](_0x5af33d)||_0x5af33d[_0x599530(0xe1)]===0x0)return{'valid':![],'error':_0x4f8f80['nNbhE']};for(let _0x92b68c=0x0;_0x92b68c<_0x5af33d['length'];_0x92b68c++){const _0x44698d=_0x5af33d[_0x92b68c];if(!_0x44698d||!_0x44698d['key']||!_0x44698d['value'])return{'valid':![],'error':'lock_keys['+_0x92b68c+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x11ddc3||_0x4f8f80[_0x599530(0xf1)](typeof _0x11ddc3,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x4f8f80['PyhRO']};return{'valid':!![]};}}module[a0_0x1e85ee(0xca)]=new ResourceLockManager();function a0_0x3fbb(){const _0x205863=['CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','AxnbCNjHEq','BwvZC2fNzq','C3rYAw5N','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','z2v0','x2DLDenVBMzSAwn0sw5MBW','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','DMfSAwq','ywnXDwLYzvjLC291CMnLtg9JA3m','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','zw52','lI4VlI4VDxrPBhmVBg9Nz2vY','x3zHBgLKyxrLuMvSzwfZzuLUChv0','qMXwrgC','BwTUv3K','BwfW','BNvTyMvY','nJmZnJm0nfjNt0vSzW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zxH0CMfJDe93BMvY','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','B3DUzxi','mtG1mJy0m2zQEe93Aq','yNvPBgrlzxK','zxHWB3j0CW','nti3nZu0mgjiwKn1qW','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','igTLExmP','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DhrS','zxzHBa','Dw5RBM93BG','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','mtm3ndu4y1PTvhDQ','DKjdt0m','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Dw1urwK','mJqZnZyXmtntzuPjEvi','ChvZAa','mtruCNvHqNy','u0HcA04','igTLExmSifrutdOG','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','zgvMyxvSDa','x3jVBgXIywnRs2v5CW','z2vUzxjHDgvuB2TLBG','BgvUz3rO','mJfKt0Pyzey','x3zHBgLKyxrLqwnXDwLYzuLUChv0','zxjYB3i','nZG0ntiYmfPmuevUCG','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','DxvPza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','B1rftNy','CMvSzwfZzvjLC291CMnLtg9JA3m','z2v0twf4vfrmu2vJB25KCW','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','A2v5','v0rKy2q','tMLXrgS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','ntyYmte5nMv4qNzVrG','CMy6','z2v0q2XPzw50'];a0_0x3fbb=function(){return _0x205863;};return a0_0x3fbb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x53e109=a0_0x25a3;function a0_0x1651(){const _0x21963c=['mZaWmda','rK1vB2m','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','y2XVC2u','zgLZy29UBMvJDa','BgvUz3rO','zw52','v3n3Exa','CMvXDwvZDfrPBwvVDxq','y29UC3vTzxiUy3jHC2G','BwvZC2fNzq','Bwv0CMLJCW','icHNCM91CeLKoIa','zgvMyxvSDa','DwrwEfe','z2v0twv0CMLJCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','icHMCM9TqMvNAw5UAw5NoIa','BwLU','Bg9JywXOB3n0oJKWoti','CMv0CNLbDhrLBxb0CW','C3rVCa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','rvjst1i','C3Diqxy','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFsevbuLrcrufux0LovevsvKfm','revcvuC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwfW','y2XPzw50swq','mtmYmJq0n1jsuM5nCa','nMnHtxrrvq','CgfYC2u','s0fgs0fFuKvuuLLFtufyx0rftefz','odG2mdfLELrfz08','A2v5','B0jSELu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','ufj4CK4','DgLTzxn0yw1W','Ae1nzLm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','DhzYwMW','sKHZz0K','CMvZDgzVCMDLlq','DhbuyK8','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','mhWXFdn8nhW1Fdi','z2v0tg9Ntgv2zwW','CMvZzxrnzxrYAwnZ','C2vZC2LVBLrPBwvVDxq','r25wz3C','AxnsDw5UAw5N','s0fgs0fFqLjps0vsuW','nta2mdb3t0vJreG','EKLWBfO','CMvZDw1L','zgXpBfe','EMLYyNK','mtbzqKvvDw8','mJG2mJa0r2nTyvLR','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','z2v0q29UzMLN','vxfZrgK','r2vUyLK','Dg9mB3DLCKnHC2u','s0fgs0fFu0fttf9vu0vstKfnrq','s2rmyxi','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','tK9useLorW','s0fgs0fFq0Xjru5ux0Le','BwvZC2fNzxngywLSzwq','Aw5PDgLHBgL6zq','zhfLz2e','CKjiEu0','DMDNqwS','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mZK1oda2mfDLD2Dgwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','ChvZAa','D2fYBG','z3jVDxbjza','Dhj1zq','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','B2zMC2v0','C3vIC2nYAwjLzfrVCgLJCW','AxndB25Uzwn0zwq','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','lwnVBNn1BwvY','v0fstG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','BM93','ntaWma','Dw5bu3i','yxv0B0nVBw1PDa','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Bg9N','CKnvz0y','zxjYB3i','zw5HyMXLza','wKjpwLC','uNfIwKS','y29TBwL0t2zMC2v0CW','y29UC3vTzxiUCMvIywXHBMnPBMC','Bg9Ntgv2zwW','tw1KB0y','oujpsgTyEa','y29UC3vTzxi','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','mZHLqxPPy1y','C2v0DxbfDMvUDeHHBMrSzxjZ','C3vIC2nYAwjL','nte5ntfcrfPsyvO','su5gtW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','A2fMA2e','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','BwvZC2fNzuHHBMrSzxi','ChjVy2vZC2LUz1rPBwvZ','mZaXodu4nhfOzwTYtq','Dg9tDhjPBMC','DxvPza','C3rHCNruAw1L','yNjVA2vYCW'];a0_0x1651=function(){return _0x21963c;};return a0_0x1651();}(function(_0x19025b,_0x4e026c){const _0x700573=a0_0x25a3,_0x45983e=_0x19025b();while(!![]){try{const _0x329a37=parseInt(_0x700573(0x21f))/0x1+-parseInt(_0x700573(0x1ec))/0x2*(parseInt(_0x700573(0x1ef))/0x3)+parseInt(_0x700573(0x1b3))/0x4*(-parseInt(_0x700573(0x1b2))/0x5)+-parseInt(_0x700573(0x21c))/0x6*(parseInt(_0x700573(0x21b))/0x7)+parseInt(_0x700573(0x1f7))/0x8+parseInt(_0x700573(0x1e7))/0x9*(parseInt(_0x700573(0x1c7))/0xa)+parseInt(_0x700573(0x1ad))/0xb;if(_0x329a37===_0x4e026c)break;else _0x45983e['push'](_0x45983e['shift']());}catch(_0xf2af67){_0x45983e['push'](_0x45983e['shift']());}}}(a0_0x1651,0x321e4));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x53e109(0x1f9));class KafkaConsumerService{constructor(){const _0x33a108=a0_0x53e109;this[_0x33a108(0x1f3)]=null,this['consumer']=null,this['isConnected']=![],this[_0x33a108(0x1bd)]=![],this[_0x33a108(0x1ab)]=![],this['isPaused']=![],this[_0x33a108(0x215)]=null,this[_0x33a108(0x1cf)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x53e109(0x1b7)](){const _0x1b7fc3=a0_0x53e109,_0xf501d0={'rBHyM':function(_0x390fd0,_0x2d720f){return _0x390fd0===_0x2d720f;},'CpDpp':_0x1b7fc3(0x1cc),'tvrZl':_0x1b7fc3(0x20f),'zirby':_0x1b7fc3(0x209),'KdLar':function(_0x337832,_0x53abac){return _0x337832(_0x53abac);},'zIplZ':'3000','Wswyp':'1048576','ijwiD':function(_0x58c687,_0x45a1a8){return _0x58c687(_0x45a1a8);},'FMUoc':_0x1b7fc3(0x1fc),'hMMfS':_0x1b7fc3(0x1ca)};return{'enabled':_0xf501d0[_0x1b7fc3(0x1c4)](process['env']['KAFKA_ENABLED'],_0xf501d0['CpDpp']),'brokers':(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1ac)]||_0xf501d0[_0x1b7fc3(0x227)])[_0x1b7fc3(0x1b5)](','),'clientId':process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c0)]||'restforge-'+(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x20c)]||_0xf501d0[_0x1b7fc3(0x1b1)])+_0x1b7fc3(0x1d3),'connectionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x218)]||_0xf501d0[_0x1b7fc3(0x1ae)]),'requestTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x216)]||'3000'),'maxBytesPerPartition':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x1d5)]||_0xf501d0[_0x1b7fc3(0x203)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0xf501d0['CpDpp'],'autoCommitInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c6)]||_0x1b7fc3(0x1d7)),'retryAttempts':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':parseInt(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x21e)]||_0xf501d0[_0x1b7fc3(0x1fd)]),'logLevel':process['env'][_0x1b7fc3(0x1da)]||_0xf501d0[_0x1b7fc3(0x225)]};}['getLogLevel'](_0x5af983){const _0x1db367=a0_0x53e109,_0x33607d={'nothing':logLevel[_0x1db367(0x1bf)],'error':logLevel[_0x1db367(0x213)],'warn':logLevel[_0x1db367(0x1d4)],'info':logLevel[_0x1db367(0x1f0)],'debug':logLevel[_0x1db367(0x217)]};return _0x33607d[_0x5af983[_0x1db367(0x1ba)]()]||logLevel[_0x1db367(0x1d4)];}async[a0_0x53e109(0x1c2)](_0x442745={}){const _0x45b36b=a0_0x53e109,_0x73df78={'hpOPs':function(_0x2e6cbe,_0x500c76){return _0x2e6cbe===_0x500c76;},'GnVgw':_0x45b36b(0x1cc),'jnwLf':function(_0x58c81a,_0x31bbc4){return _0x58c81a(_0x31bbc4);},'unASr':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x3671f7=this['getConfig']();if(!_0x3671f7[_0x45b36b(0x1e0)])return console[_0x45b36b(0x1dd)](_0x73df78[_0x45b36b(0x1d8)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x45b36b(0x215)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3364fd=>{const _0x226074=_0x45b36b;try{let _0x1290f6=undefined;_0x73df78['hpOPs'](process[_0x226074(0x202)]['KAFKA_SSL'],_0x73df78[_0x226074(0x1aa)])&&(_0x1290f6=!![]);let _0x35b770=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x35b770={'mechanism':process[_0x226074(0x202)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x226074(0x1bb)]||'','password':process[_0x226074(0x202)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x442745[_0x226074(0x21a)]||_0x3671f7[_0x226074(0x21a)],'brokers':_0x3671f7[_0x226074(0x1fb)],'connectionTimeout':_0x3671f7[_0x226074(0x1d1)],'requestTimeout':_0x3671f7[_0x226074(0x204)],'logLevel':this[_0x226074(0x1a7)](_0x3671f7[_0x226074(0x1e5)]),'ssl':_0x1290f6,'sasl':_0x35b770,'retry':{'initialRetryTime':_0x3671f7['retryDelay'],'retries':_0x3671f7[_0x226074(0x210)],'maxRetryTime':_0x3671f7['retryMaxDelay']}}),this[_0x226074(0x1cb)]=_0x442745['groupId']||_0x226074(0x229)+(process[_0x226074(0x202)][_0x226074(0x20c)]||'default')+'-consumer-group',this[_0x226074(0x1e8)]=this[_0x226074(0x1f3)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x3671f7[_0x226074(0x1a9)],'heartbeatInterval':_0x3671f7['heartbeatInterval'],'maxBytesPerPartition':_0x3671f7[_0x226074(0x212)],'allowAutoTopicCreation':![]}),await this[_0x226074(0x1e8)]['connect'](),this[_0x226074(0x1d0)]=!![],console[_0x226074(0x1dd)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3671f7[_0x226074(0x1fb)]['join'](',\x20')+_0x226074(0x208)+this[_0x226074(0x1cb)]+')'),this[_0x226074(0x1ed)](),_0x73df78['jnwLf'](_0x3364fd,!![]);}catch(_0x4a8af8){console['error'](_0x226074(0x1b6)+_0x4a8af8['message']),this['isConnected']=![],_0x3364fd(![]);}finally{this[_0x226074(0x1bd)]=![];}}),this[_0x45b36b(0x215)];}[a0_0x53e109(0x1ed)](){const _0x3bd73e=a0_0x53e109,_0xf5b9b8={'ZBOZW':_0x3bd73e(0x226),'iDnby':'consumer.disconnect','rCUgF':'consumer.stop','ntdIh':_0x3bd73e(0x205),'tpTbO':_0x3bd73e(0x1e4)};if(!this[_0x3bd73e(0x1e8)])return;this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8['iDnby'],()=>{const _0x4c02cf=_0x3bd73e;console[_0x4c02cf(0x1dd)](_0x4c02cf(0x1be)),this[_0x4c02cf(0x1d0)]=![],this[_0x4c02cf(0x1ab)]=![];}),this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8[_0x3bd73e(0x1de)],()=>{const _0xdb6017=_0x3bd73e;console['log'](_0xf5b9b8[_0xdb6017(0x1e1)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8['ntdIh'],_0x9bf295=>{const _0x1fab74=_0x3bd73e;console[_0x1fab74(0x1df)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x9bf295['payload']['error'][_0x1fab74(0x206)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8[_0x3bd73e(0x22a)],()=>{const _0x156f92=_0x3bd73e;console[_0x156f92(0x1dd)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x53e109(0x1ee)](_0x24b245,_0x1626c6=![]){const _0x550803=a0_0x53e109,_0x5f074a={'vggAk':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x5f074a[_0x550803(0x1c5)]),![];try{const _0x2587b7=Array['isArray'](_0x24b245)?_0x24b245:[_0x24b245];for(const _0x85c595 of _0x2587b7){await this[_0x550803(0x1e8)][_0x550803(0x1ee)]({'topic':_0x85c595,'fromBeginning':_0x1626c6}),console[_0x550803(0x1dd)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x85c595+_0x550803(0x20d)+_0x1626c6+')');}return this[_0x550803(0x1cf)]=[...new Set([...this['subscribedTopics'],..._0x2587b7])],!![];}catch(_0x38402a){return console[_0x550803(0x1df)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x38402a['message']),![];}}async['startConsuming'](_0x1fa060,_0x170bd7={}){const _0x6411cf=a0_0x53e109,_0x11ebea={'UqsDi':function(_0x2cda97,_0x442235){return _0x2cda97+_0x442235;},'MmdoF':function(_0x352a9e,_0x25959c){return _0x352a9e(_0x25959c);},'dqega':function(_0x3ca137,_0x5d4d70){return _0x3ca137>_0x5d4d70;},'bdxZA':_0x6411cf(0x1b4),'swHAv':_0x6411cf(0x1dc)};if(!this[_0x6411cf(0x1d0)])return console[_0x6411cf(0x1df)](_0x11ebea['bdxZA']),![];if(this[_0x6411cf(0x1ab)])return console['log'](_0x11ebea[_0x6411cf(0x214)]),!![];const _0x63c60b=this[_0x6411cf(0x1b7)]();this[_0x6411cf(0x1f5)]=_0x1fa060;try{return this[_0x6411cf(0x207)][_0x6411cf(0x1fa)]=new Date(),await this['consumer']['run']({'autoCommit':_0x170bd7[_0x6411cf(0x1d9)]!==undefined?_0x170bd7[_0x6411cf(0x1d9)]:_0x63c60b[_0x6411cf(0x1d9)],'autoCommitInterval':_0x63c60b['autoCommitInterval'],'eachMessage':async({topic:_0x1d52b1,partition:_0x465916,message:_0x19760f,heartbeat:_0x463a21})=>{const _0x4542a6=_0x6411cf,_0x5195f4=Date['now']();this[_0x4542a6(0x207)]['messagesReceived']++,this[_0x4542a6(0x207)][_0x4542a6(0x1e9)]=new Date();try{const _0x20a6cd=_0x19760f['value']?_0x19760f['value']['toString']():null;let _0x1a202a=null;try{_0x1a202a=_0x20a6cd?JSON[_0x4542a6(0x21d)](_0x20a6cd):null;}catch(_0xa2c59b){_0x1a202a=_0x20a6cd;}const _0x48a7a0={'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x19760f[_0x4542a6(0x1ce)],'key':_0x19760f['key']?_0x19760f[_0x4542a6(0x220)]['toString']():null,'headers':this['parseHeaders'](_0x19760f['headers']),'timestamp':_0x19760f[_0x4542a6(0x224)],'value':_0x1a202a,'raw':_0x20a6cd};this[_0x4542a6(0x1f5)]&&await this['messageHandler'](_0x48a7a0);!_0x63c60b['autoCommit']&&await this[_0x4542a6(0x1e8)][_0x4542a6(0x1e3)]([{'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x11ebea[_0x4542a6(0x1b8)](_0x11ebea[_0x4542a6(0x1e6)](parseInt,_0x19760f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x48ad87=Date['now']()-_0x5195f4;this[_0x4542a6(0x207)][_0x4542a6(0x1f6)][_0x4542a6(0x1c9)](_0x48ad87),_0x11ebea[_0x4542a6(0x1c3)](this['metrics'][_0x4542a6(0x1f6)][_0x4542a6(0x201)],0x64)&&this[_0x4542a6(0x207)]['processingTimes']['shift'](),await _0x463a21();}catch(_0x1b1d05){this['metrics'][_0x4542a6(0x1c1)]++,console[_0x4542a6(0x1df)](_0x4542a6(0x1cd)+_0x1b1d05[_0x4542a6(0x206)]);throw _0x1b1d05;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x6411cf(0x1cf)]['join'](',\x20')),!![];}catch(_0x3198e3){return console[_0x6411cf(0x1df)](_0x6411cf(0x1ea)+_0x3198e3[_0x6411cf(0x206)]),![];}}['parseHeaders'](_0x24a912){const _0x30686c=a0_0x53e109;if(!_0x24a912)return{};const _0x33a39a={};for(const [_0x4fdc82,_0x535145]of Object['entries'](_0x24a912)){_0x33a39a[_0x4fdc82]=_0x535145?_0x535145[_0x30686c(0x1f8)]():null;}return _0x33a39a;}async['pause'](){const _0x3e49e4=a0_0x53e109,_0x2ff9eb={'JHsgI':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3e49e4(0x1d0)]||!this['isRunning'])return console['log'](_0x3e49e4(0x1c8)),![];if(this[_0x3e49e4(0x1eb)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x3fed2f=this[_0x3e49e4(0x1cf)][_0x3e49e4(0x219)](_0xbecfd9=>({'topic':_0xbecfd9}));return this[_0x3e49e4(0x1e8)]['pause'](_0x3fed2f),this['isPaused']=!![],console['log'](_0x2ff9eb[_0x3e49e4(0x228)]),!![];}catch(_0x2f01ad){return console[_0x3e49e4(0x1df)](_0x3e49e4(0x1f4)+_0x2f01ad[_0x3e49e4(0x206)]),![];}}async[a0_0x53e109(0x1af)](){const _0x8b0db0=a0_0x53e109,_0x5c8315={'RqbZK':_0x8b0db0(0x22b),'EdyoL':_0x8b0db0(0x1d2),'HNyGI':_0x8b0db0(0x222)};if(!this[_0x8b0db0(0x1d0)]||!this['isRunning'])return console['log'](_0x5c8315[_0x8b0db0(0x1e2)]),![];if(!this[_0x8b0db0(0x1eb)])return console['log'](_0x5c8315['EdyoL']),!![];try{const _0x31f5d3=this['subscribedTopics']['map'](_0x54dd99=>({'topic':_0x54dd99}));return this[_0x8b0db0(0x1e8)]['resume'](_0x31f5d3),this[_0x8b0db0(0x1eb)]=![],console['log'](_0x5c8315['HNyGI']),!![];}catch(_0x2d3468){return console[_0x8b0db0(0x1df)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2d3468[_0x8b0db0(0x206)]),![];}}async[a0_0x53e109(0x211)](){const _0x93952e=a0_0x53e109;if(!this[_0x93952e(0x1d0)])return console[_0x93952e(0x1dd)](_0x93952e(0x1fe)),!![];try{const _0x38b618=_0x93952e(0x1a6)['split']('|');let _0x54ff6d=0x0;while(!![]){switch(_0x38b618[_0x54ff6d++]){case'0':this['consumer']&&(await this['consumer'][_0x93952e(0x211)](),await this[_0x93952e(0x1e8)][_0x93952e(0x200)]());continue;case'1':this[_0x93952e(0x1d0)]=![];continue;case'2':return!![];case'3':this['isRunning']=![];continue;case'4':this[_0x93952e(0x1eb)]=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x2685b9){return console['error'](_0x93952e(0x1f1)+_0x2685b9['message']),![];}}async['seekToOffset'](_0x458989,_0x147fd2,_0x172151){const _0x3da619=a0_0x53e109,_0x457ba6={'HNHcV':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x457ba6['HNHcV']),![];try{return this['consumer']['seek']({'topic':_0x458989,'partition':_0x147fd2,'offset':_0x172151[_0x3da619(0x1f8)]()}),console[_0x3da619(0x1dd)](_0x3da619(0x1f2)+_0x172151+'\x20on\x20'+_0x458989+':'+_0x147fd2),!![];}catch(_0x4d3395){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x4d3395[_0x3da619(0x206)]),![];}}['getStatus'](){const _0x468458=a0_0x53e109,_0x1f9e44=this['getConfig']();return{'enabled':_0x1f9e44['enabled'],'connected':this['isConnected'],'running':this[_0x468458(0x1ab)],'paused':this['isPaused'],'brokers':_0x1f9e44['brokers'],'clientId':_0x1f9e44['clientId'],'groupId':this[_0x468458(0x1cb)],'subscribedTopics':this['subscribedTopics']};}[a0_0x53e109(0x20b)](){const _0x5968e0=a0_0x53e109,_0xb1937a={'ZTDmG':function(_0x59687b,_0xe78eb9){return _0x59687b>_0xe78eb9;},'SBDeH':function(_0x165617,_0x498ef6){return _0x165617/_0x498ef6;},'dlOlQ':function(_0x1712c5,_0x31fd25){return _0x1712c5+_0x31fd25;},'oBlzU':function(_0x706192,_0x99be45){return _0x706192+_0x99be45;},'udVxQ':function(_0x4115ad,_0x6dcaa6){return _0x4115ad/_0x6dcaa6;},'GenbY':function(_0x1b509a,_0x4fb986){return _0x1b509a-_0x4fb986;},'PRxrN':function(_0x55b810,_0x42ece4){return _0x55b810+_0x42ece4;}},_0x16b294=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?_0xb1937a['SBDeH'](this['metrics'][_0x5968e0(0x1f6)]['reduce']((_0x4c7e98,_0x28faae)=>_0x4c7e98+_0x28faae,0x0),this[_0x5968e0(0x207)]['processingTimes']['length']):0x0,_0x1b1db6=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?Math[_0x5968e0(0x20e)](...this[_0x5968e0(0x207)]['processingTimes']):0x0,_0x3cad41=this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x5968e0(0x207)]['messagesProcessed'],'messagesFailed':this[_0x5968e0(0x207)]['messagesFailed'],'successRate':this['metrics']['messagesReceived']>0x0?_0xb1937a[_0x5968e0(0x1b0)]((_0xb1937a['SBDeH'](this['metrics']['messagesProcessed'],this[_0x5968e0(0x207)]['messagesReceived'])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x5968e0(0x207)]['lastMessageTime'],'startTime':this[_0x5968e0(0x207)]['startTime'],'uptime':this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]?_0xb1937a[_0x5968e0(0x221)](Math['floor'](_0xb1937a[_0x5968e0(0x20a)](_0xb1937a[_0x5968e0(0x1b9)](Date[_0x5968e0(0x1d6)](),this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0xb1937a['dlOlQ'](Math['round'](_0x16b294),'ms'),'min':_0x1b1db6+'ms','max':_0xb1937a[_0x5968e0(0x223)](_0x3cad41,'ms')}};}[a0_0x53e109(0x1a8)](){const _0x1b4368=a0_0x53e109;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x1b4368(0x1db));}async['close'](){await this['stop']();}}function a0_0x25a3(_0x5e1a81,_0x181a9e){_0x5e1a81=_0x5e1a81-0x1a6;const _0x165162=a0_0x1651();let _0x25a3c2=_0x165162[_0x5e1a81];if(a0_0x25a3['gCVdXO']===undefined){var _0xc158db=function(_0x39b68c){const _0x53de5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552578='',_0x5b429b='';for(let _0x1d38df=0x0,_0xcf6e58,_0x19300a,_0x8596b2=0x0;_0x19300a=_0x39b68c['charAt'](_0x8596b2++);~_0x19300a&&(_0xcf6e58=_0x1d38df%0x4?_0xcf6e58*0x40+_0x19300a:_0x19300a,_0x1d38df++%0x4)?_0x552578+=String['fromCharCode'](0xff&_0xcf6e58>>(-0x2*_0x1d38df&0x6)):0x0){_0x19300a=_0x53de5f['indexOf'](_0x19300a);}for(let _0x3c461c=0x0,_0x4e2b09=_0x552578['length'];_0x3c461c<_0x4e2b09;_0x3c461c++){_0x5b429b+='%'+('00'+_0x552578['charCodeAt'](_0x3c461c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b429b);};a0_0x25a3['ZjKKFl']=_0xc158db,a0_0x25a3['jfhhTB']={},a0_0x25a3['gCVdXO']=!![];}const _0x47a74=_0x165162[0x0],_0x56906a=_0x5e1a81+_0x47a74,_0x23f379=a0_0x25a3['jfhhTB'][_0x56906a];return!_0x23f379?(_0x25a3c2=a0_0x25a3['ZjKKFl'](_0x25a3c2),a0_0x25a3['jfhhTB'][_0x56906a]=_0x25a3c2):_0x25a3c2=_0x23f379,_0x25a3c2;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x91380f=a0_0x53e109;instance&&(instance[_0x91380f(0x1ff)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x934f1a=a0_0x45b7;(function(_0x3713bb,_0x21f17f){const _0x5b1666=a0_0x45b7,_0x5ecc39=_0x3713bb();while(!![]){try{const _0x14ac12=parseInt(_0x5b1666(0x1f0))/0x1*(-parseInt(_0x5b1666(0x217))/0x2)+parseInt(_0x5b1666(0x1c2))/0x3+parseInt(_0x5b1666(0x1f8))/0x4+-parseInt(_0x5b1666(0x1c5))/0x5+parseInt(_0x5b1666(0x1cb))/0x6*(parseInt(_0x5b1666(0x1fe))/0x7)+-parseInt(_0x5b1666(0x22d))/0x8*(-parseInt(_0x5b1666(0x20d))/0x9)+-parseInt(_0x5b1666(0x206))/0xa;if(_0x14ac12===_0x21f17f)break;else _0x5ecc39['push'](_0x5ecc39['shift']());}catch(_0x4a48af){_0x5ecc39['push'](_0x5ecc39['shift']());}}}(a0_0x133e,0x9b78d));const {Kafka,logLevel}=require(a0_0x934f1a(0x1c7)),{v7:uuidv7}=require(a0_0x934f1a(0x200));class KafkaConsumerService{constructor(){const _0x29d4d7=a0_0x934f1a,_0x639168={'OFoaN':_0x29d4d7(0x208)},_0x4fabea=_0x639168['OFoaN'][_0x29d4d7(0x1fd)]('|');let _0x16d9cb=0x0;while(!![]){switch(_0x4fabea[_0x16d9cb++]){case'0':this[_0x29d4d7(0x1c6)]=![];continue;case'1':this['isPaused']=![];continue;case'2':this['isRunning']=![];continue;case'3':this[_0x29d4d7(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x29d4d7(0x1e0)]=[];continue;case'5':this[_0x29d4d7(0x21f)]=null;continue;case'6':this['messageHandler']=null;continue;case'7':this['isInitializing']=![];continue;case'8':this['connectionPromise']=null;continue;case'9':this[_0x29d4d7(0x1ce)]=null;continue;case'10':this[_0x29d4d7(0x211)]=null;continue;}break;}}[a0_0x934f1a(0x238)](){const _0x114936=a0_0x934f1a,_0x5a3d82={'CXTcS':function(_0x38b52c,_0x77c3db){return _0x38b52c===_0x77c3db;},'UJLbh':function(_0x219e18,_0x225672){return _0x219e18(_0x225672);},'WhCwn':'30000','yRQSR':'3000','yoMKQ':function(_0x7476b3,_0xac88eb){return _0x7476b3(_0xac88eb);},'Kieyp':_0x114936(0x1f1),'KDdxY':'1000','FUHgm':'warn'};return{'enabled':_0x5a3d82[_0x114936(0x220)](process[_0x114936(0x235)]['KAFKA_ENABLED'],'true'),'brokers':(process['env']['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x114936(0x235)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x114936(0x235)][_0x114936(0x1e3)]||'default')+_0x114936(0x213),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x114936(0x212)),'requestTimeout':parseInt(process[_0x114936(0x235)]['KAFKA_REQUEST_TIMEOUT']||_0x114936(0x1ed)),'sessionTimeout':_0x5a3d82[_0x114936(0x1eb)](parseInt,process['env'][_0x114936(0x21e)]||_0x5a3d82['WhCwn']),'heartbeatInterval':parseInt(process[_0x114936(0x235)][_0x114936(0x1da)]||_0x5a3d82[_0x114936(0x1e7)]),'maxBytesPerPartition':_0x5a3d82[_0x114936(0x1db)](parseInt,process[_0x114936(0x235)][_0x114936(0x1d5)]||_0x114936(0x228)),'autoCommit':process[_0x114936(0x235)]['KAFKA_AUTO_COMMIT']===_0x114936(0x201),'autoCommitInterval':_0x5a3d82[_0x114936(0x1db)](parseInt,process['env'][_0x114936(0x1ea)]||_0x5a3d82['Kieyp']),'retryAttempts':parseInt(process['env'][_0x114936(0x204)]||'3'),'retryDelay':_0x5a3d82['UJLbh'](parseInt,process['env'][_0x114936(0x1dd)]||_0x5a3d82['KDdxY']),'retryMaxDelay':parseInt(process[_0x114936(0x235)]['KAFKA_RETRY_MAX_DELAY']||_0x114936(0x1dc)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x5a3d82[_0x114936(0x22f)]};}[a0_0x934f1a(0x1fa)](_0x408c90){const _0x258739=a0_0x934f1a,_0x50e20f={'nothing':logLevel['NOTHING'],'error':logLevel[_0x258739(0x1e2)],'warn':logLevel['WARN'],'info':logLevel[_0x258739(0x1df)],'debug':logLevel[_0x258739(0x229)]};return _0x50e20f[_0x408c90[_0x258739(0x1c3)]()]||logLevel[_0x258739(0x234)];}async[a0_0x934f1a(0x1f3)](_0x5067d0={}){const _0x95e913=a0_0x934f1a,_0x3edbd1={'EFRDC':function(_0x185d47,_0x43bee3){return _0x185d47===_0x43bee3;},'yeRAP':function(_0x47c181,_0x18c5df){return _0x47c181(_0x18c5df);},'eBVdk':_0x95e913(0x20e)},_0x2c92d8=this['getConfig']();if(!_0x2c92d8[_0x95e913(0x1d7)])return console['log'](_0x3edbd1[_0x95e913(0x239)]),![];if(this[_0x95e913(0x1c6)])return!![];if(this['isInitializing']&&this[_0x95e913(0x216)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0xa794e1=>{const _0x47d15f=_0x95e913;try{let _0x3e150b=undefined;_0x3edbd1['EFRDC'](process['env']['KAFKA_SSL'],_0x47d15f(0x201))&&(_0x3e150b=!![]);let _0x26eaaa=undefined;process['env'][_0x47d15f(0x205)]&&(_0x26eaaa={'mechanism':process[_0x47d15f(0x235)][_0x47d15f(0x205)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x47d15f(0x235)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x5067d0[_0x47d15f(0x1d3)]||_0x2c92d8[_0x47d15f(0x1d3)],'brokers':_0x2c92d8['brokers'],'connectionTimeout':_0x2c92d8[_0x47d15f(0x1bd)],'requestTimeout':_0x2c92d8['requestTimeout'],'logLevel':this[_0x47d15f(0x1fa)](_0x2c92d8[_0x47d15f(0x1d1)]),'ssl':_0x3e150b,'sasl':_0x26eaaa,'retry':{'initialRetryTime':_0x2c92d8['retryDelay'],'retries':_0x2c92d8[_0x47d15f(0x1cf)],'maxRetryTime':_0x2c92d8['retryMaxDelay']}}),this['groupId']=_0x5067d0['groupId']||_0x47d15f(0x1d2)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x47d15f(0x227))+'-consumer-group',this['consumer']=this[_0x47d15f(0x211)]['consumer']({'groupId':this[_0x47d15f(0x21f)],'sessionTimeout':_0x2c92d8[_0x47d15f(0x1cd)],'heartbeatInterval':_0x2c92d8['heartbeatInterval'],'maxBytesPerPartition':_0x2c92d8['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x47d15f(0x1ce)][_0x47d15f(0x1c8)](),this[_0x47d15f(0x1c6)]=!![],console[_0x47d15f(0x215)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2c92d8['brokers'][_0x47d15f(0x21d)](',\x20')+_0x47d15f(0x1fb)+this['groupId']+')'),this[_0x47d15f(0x1f7)](),_0xa794e1(!![]);}catch(_0x2e762b){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2e762b['message']),this[_0x47d15f(0x1c6)]=![],_0x3edbd1[_0x47d15f(0x1c9)](_0xa794e1,![]);}finally{this[_0x47d15f(0x1e5)]=![];}}),this['connectionPromise'];}[a0_0x934f1a(0x1f7)](){const _0x16448d=a0_0x934f1a,_0x16faf2={'xxeIP':'[KafkaConsumer]\x20Consumer\x20disconnected','QtFRk':'[KafkaConsumer]\x20Consumer\x20stopped','zQopG':_0x16448d(0x1f5),'dzTPq':_0x16448d(0x1e1),'TVTEb':_0x16448d(0x1ca),'dCuKn':'consumer.rebalancing'};if(!this[_0x16448d(0x1ce)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x31f7da=_0x16448d;console[_0x31f7da(0x215)](_0x16faf2['xxeIP']),this['isConnected']=![],this[_0x31f7da(0x218)]=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2[_0x16448d(0x21a)],()=>{const _0x1cd36d=_0x16448d;console['log'](_0x16faf2[_0x1cd36d(0x221)]),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['TVTEb'],_0xde3c9=>{const _0x1ec540=_0x16448d;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0xde3c9[_0x1ec540(0x1d6)]['error']['message']),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['dCuKn'],()=>{const _0x4e9090=_0x16448d;console[_0x4e9090(0x215)](_0x16faf2[_0x4e9090(0x219)]);});}async[a0_0x934f1a(0x237)](_0x30af11,_0x39dffb=![]){const _0x166626=a0_0x934f1a;if(!this['isConnected'])return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x12185b=Array['isArray'](_0x30af11)?_0x30af11:[_0x30af11];for(const _0x574602 of _0x12185b){await this['consumer']['subscribe']({'topic':_0x574602,'fromBeginning':_0x39dffb}),console[_0x166626(0x215)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x574602+_0x166626(0x20c)+_0x39dffb+')');}return this[_0x166626(0x1e0)]=[...new Set([...this['subscribedTopics'],..._0x12185b])],!![];}catch(_0x468f74){return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x468f74['message']),![];}}async['startConsuming'](_0x49ab66,_0x4931a2={}){const _0x29d768=a0_0x934f1a,_0x522a85={'IaxSD':function(_0x560b8d,_0x273209){return _0x560b8d(_0x273209);},'rqENo':function(_0x4da4b5,_0x3d0ac3){return _0x4da4b5-_0x3d0ac3;},'qiFJo':function(_0x141e8b,_0x1ec3f6){return _0x141e8b>_0x1ec3f6;},'fzKwp':function(_0x38d099){return _0x38d099();},'xCdaQ':_0x29d768(0x214),'gvnmf':function(_0x45ba61,_0x2ed768){return _0x45ba61!==_0x2ed768;}};if(!this[_0x29d768(0x1c6)])return console['error'](_0x522a85['xCdaQ']),![];if(this[_0x29d768(0x218)])return console[_0x29d768(0x215)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x1abeec=this[_0x29d768(0x238)]();this[_0x29d768(0x1ee)]=_0x49ab66;try{return this[_0x29d768(0x1c0)][_0x29d768(0x1d4)]=new Date(),await this['consumer']['run']({'autoCommit':_0x522a85[_0x29d768(0x1e8)](_0x4931a2['autoCommit'],undefined)?_0x4931a2[_0x29d768(0x21b)]:_0x1abeec['autoCommit'],'autoCommitInterval':_0x1abeec['autoCommitInterval'],'eachMessage':async({topic:_0x49d60b,partition:_0x48c10c,message:_0x11b3ef,heartbeat:_0x41d94a})=>{const _0x523cd1=_0x29d768,_0x31e1db=Date[_0x523cd1(0x233)]();this['metrics'][_0x523cd1(0x1bf)]++,this['metrics'][_0x523cd1(0x1f4)]=new Date();try{const _0x1b9677=_0x11b3ef['value']?_0x11b3ef[_0x523cd1(0x207)]['toString']():null;let _0x1fd3bc=null;try{_0x1fd3bc=_0x1b9677?JSON['parse'](_0x1b9677):null;}catch(_0x556d6f){_0x1fd3bc=_0x1b9677;}const _0x4b395c={'topic':_0x49d60b,'partition':_0x48c10c,'offset':_0x11b3ef[_0x523cd1(0x1f6)],'key':_0x11b3ef['key']?_0x11b3ef['key']['toString']():null,'headers':this['parseHeaders'](_0x11b3ef['headers']),'timestamp':_0x11b3ef['timestamp'],'value':_0x1fd3bc,'raw':_0x1b9677};this['messageHandler']&&await this['messageHandler'](_0x4b395c);!_0x1abeec[_0x523cd1(0x21b)]&&await this['consumer']['commitOffsets']([{'topic':_0x49d60b,'partition':_0x48c10c,'offset':(_0x522a85['IaxSD'](parseInt,_0x11b3ef['offset'])+0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1be4b9=_0x522a85['rqENo'](Date[_0x523cd1(0x233)](),_0x31e1db);this[_0x523cd1(0x1c0)][_0x523cd1(0x1f2)]['push'](_0x1be4b9),_0x522a85[_0x523cd1(0x226)](this[_0x523cd1(0x1c0)]['processingTimes']['length'],0x64)&&this[_0x523cd1(0x1c0)]['processingTimes'][_0x523cd1(0x1e9)](),await _0x522a85['fzKwp'](_0x41d94a);}catch(_0x395f3c){this['metrics']['messagesFailed']++,console['error'](_0x523cd1(0x1e6)+_0x395f3c[_0x523cd1(0x1ef)]);throw _0x395f3c;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x375b81){return console['error'](_0x29d768(0x1be)+_0x375b81[_0x29d768(0x1ef)]),![];}}['parseHeaders'](_0x1c316f){const _0x34bc8f=a0_0x934f1a;if(!_0x1c316f)return{};const _0x437ba6={};for(const [_0x17e099,_0x270217]of Object['entries'](_0x1c316f)){_0x437ba6[_0x17e099]=_0x270217?_0x270217[_0x34bc8f(0x1e4)]():null;}return _0x437ba6;}async['pause'](){const _0x3e73e7=a0_0x934f1a,_0x4231a2={'Fxrki':_0x3e73e7(0x1d9)};if(!this[_0x3e73e7(0x1c6)]||!this['isRunning'])return console['log'](_0x4231a2['Fxrki']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x345d3b=this[_0x3e73e7(0x1e0)]['map'](_0x2d06e5=>({'topic':_0x2d06e5}));return this['consumer'][_0x3e73e7(0x222)](_0x345d3b),this[_0x3e73e7(0x20b)]=!![],console['log'](_0x3e73e7(0x1c1)),!![];}catch(_0x4c7b0c){return console['error'](_0x3e73e7(0x224)+_0x4c7b0c[_0x3e73e7(0x1ef)]),![];}}async['resume'](){const _0x29ecf4=a0_0x934f1a,_0x587d65={'stYRy':'[KafkaConsumer]\x20Consumer\x20not\x20paused','QMAXv':_0x29ecf4(0x1c4)};if(!this[_0x29ecf4(0x1c6)]||!this[_0x29ecf4(0x218)])return console[_0x29ecf4(0x215)](_0x29ecf4(0x209)),![];if(!this[_0x29ecf4(0x20b)])return console[_0x29ecf4(0x215)](_0x587d65['stYRy']),!![];try{const _0x2bea00=this['subscribedTopics']['map'](_0x576b80=>({'topic':_0x576b80}));return this[_0x29ecf4(0x1ce)]['resume'](_0x2bea00),this[_0x29ecf4(0x20b)]=![],console[_0x29ecf4(0x215)](_0x587d65[_0x29ecf4(0x202)]),!![];}catch(_0x2f927f){return console['error'](_0x29ecf4(0x223)+_0x2f927f['message']),![];}}async['stop'](){const _0x4a80a8=a0_0x934f1a,_0x9c2737={'RcYwq':_0x4a80a8(0x1de),'hVJuq':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4a80a8(0x1c6)])return console['log'](_0x4a80a8(0x225)),!![];try{const _0x42d3cd=_0x9c2737['RcYwq'][_0x4a80a8(0x1fd)]('|');let _0x4f835d=0x0;while(!![]){switch(_0x42d3cd[_0x4f835d++]){case'0':this[_0x4a80a8(0x1ce)]&&(await this[_0x4a80a8(0x1ce)][_0x4a80a8(0x20f)](),await this['consumer'][_0x4a80a8(0x22b)]());continue;case'1':this['isRunning']=![];continue;case'2':return!![];case'3':console['log'](_0x9c2737[_0x4a80a8(0x22e)]);continue;case'4':this['isPaused']=![];continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x2713a3){return console[_0x4a80a8(0x1ec)](_0x4a80a8(0x1d0)+_0x2713a3[_0x4a80a8(0x1ef)]),![];}}async['seekToOffset'](_0x2f8be2,_0x56604,_0x28aa84){const _0x113a98=a0_0x934f1a;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x113a98(0x1ce)]['seek']({'topic':_0x2f8be2,'partition':_0x56604,'offset':_0x28aa84[_0x113a98(0x1e4)]()}),console['log'](_0x113a98(0x1ff)+_0x28aa84+'\x20on\x20'+_0x2f8be2+':'+_0x56604),!![];}catch(_0x457ae1){return console['error'](_0x113a98(0x1fc)+_0x457ae1[_0x113a98(0x1ef)]),![];}}[a0_0x934f1a(0x22a)](){const _0x4bf9a7=a0_0x934f1a,_0x5a2de1=this['getConfig']();return{'enabled':_0x5a2de1[_0x4bf9a7(0x1d7)],'connected':this[_0x4bf9a7(0x1c6)],'running':this['isRunning'],'paused':this[_0x4bf9a7(0x20b)],'brokers':_0x5a2de1[_0x4bf9a7(0x1f9)],'clientId':_0x5a2de1['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0xca34a3=a0_0x934f1a,_0x3831fe={'bgfvM':function(_0x4fd769,_0x53d75c){return _0x4fd769>_0x53d75c;},'QNBXb':function(_0x13869b,_0x4d631f){return _0x13869b+_0x4d631f;},'dCswA':function(_0x2b42cb,_0x3b2ffb){return _0x2b42cb*_0x3b2ffb;},'DzsFF':function(_0x4d4d1f,_0x57b6c1){return _0x4d4d1f/_0x57b6c1;},'NyWQZ':function(_0x26d19f,_0x5e62e0){return _0x26d19f/_0x5e62e0;},'wzRVp':function(_0x1f8698,_0x2e23d8){return _0x1f8698-_0x2e23d8;}},_0x44b73b=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0xca34a3(0x20a)]((_0x3b5780,_0x5aab57)=>_0x3b5780+_0x5aab57,0x0)/this['metrics']['processingTimes'][_0xca34a3(0x230)]:0x0,_0x4c6260=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?Math[_0xca34a3(0x236)](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0,_0x3206c2=this[_0xca34a3(0x1c0)][_0xca34a3(0x1f2)][_0xca34a3(0x230)]>0x0?Math['max'](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0xca34a3(0x1c0)]['messagesProcessed'],'messagesFailed':this['metrics'][_0xca34a3(0x22c)],'successRate':_0x3831fe['bgfvM'](this[_0xca34a3(0x1c0)]['messagesReceived'],0x0)?_0x3831fe[_0xca34a3(0x231)](_0x3831fe['dCswA'](_0x3831fe[_0xca34a3(0x203)](this[_0xca34a3(0x1c0)][_0xca34a3(0x21c)],this[_0xca34a3(0x1c0)]['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1f4)],'startTime':this['metrics']['startTime'],'uptime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1d4)]?Math[_0xca34a3(0x232)](_0x3831fe[_0xca34a3(0x1cc)](_0x3831fe['wzRVp'](Date[_0xca34a3(0x233)](),this[_0xca34a3(0x1c0)]['startTime']['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0xca34a3(0x210)](_0x44b73b)+'ms','min':_0x3831fe['QNBXb'](_0x4c6260,'ms'),'max':_0x3831fe['QNBXb'](_0x3206c2,'ms')}};}[a0_0x934f1a(0x1d8)](){const _0x2bb43b=a0_0x934f1a,_0x2150c9={'NSOnC':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x2bb43b(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x2bb43b(0x215)](_0x2150c9['NSOnC']);}async['close'](){await this['stop']();}}let instance=null;function a0_0x133e(){const _0x56e5bc=['C3vIC2nYAwjL','z2v0q29UzMLN','zujwzgS','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BwvZC2fNzxnszwnLAxzLza','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','mZmYnty1m3rfD21NAG','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','mtK0mteXnwjItKrhAa','AxndB25Uzwn0zwq','A2fMA2fQCW','y29UBMvJDa','Ewvsqva','y29UC3vTzxiUy3jHC2G','mta2nJy3nhzurMLuza','tNLxuvO','C2vZC2LVBLrPBwvVDxq','y29UC3vTzxi','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','Bg9Ntgv2zwW','CMvZDgzVCMDLlq','y2XPzw50swq','C3rHCNruAw1L','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Cgf5Bg9Hza','zw5HyMXLza','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','s0fgs0fFsevbuLrcrufux0LovevsvKfm','Ew9ns1e','mZaWmda','s0fgs0fFuKvuuLLFrevmqvK','mhW1Fdf8nhWZFdi','su5gtW','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUC3rVCa','rvjst1i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9tDhjPBMC','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','Evjru1i','z3zUBwy','C2HPzNq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','vuPmyMG','zxjYB3i','mJuWmda','BwvZC2fNzuHHBMrSzxi','BwvZC2fNzq','mJCZnZu3zhjps0rs','ntaWma','ChjVy2vZC2LUz1rPBwvZ','Aw5PDgLHBgL6zq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','nJqXodCYsfvxvhr6','yNjVA2vYCW','z2v0tg9Ntgv2zwW','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','C3bSAxq','ndjcDNjQywy','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','DxvPza','Dhj1zq','uu1bwhy','rhPZrKy','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFu0fttf9nruniqu5ju00','odK1otyZmhnSsejvAa','DMfSDwu','mtb8oxWWFdD8mNWXFdH8nhW1Fdz8mW','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','CMvKDwnL','AxnqyxvZzwq','icHMCM9TqMvNAw5UAw5NoIa','mJK4odq1swrlCNfH','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','C3rVCa','CM91BMq','A2fMA2e','mZaWma','lwnVBNn1BwvY','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','Bg9N','y29UBMvJDgLVBLbYB21PC2u','ngLQChbNwq','AxnsDw5UAw5N','ELfVCeC','zhPuuhe','yxv0B0nVBw1PDa','BwvZC2fNzxnqCM9JzxnZzwq','AM9PBG','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','q1Huy1m','uxrguMS','Cgf1C2u','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','CwLgsM8','zgvMyxvSDa','mta0odu3nG','revcvuC','z2v0u3rHDhvZ','zgLZy29UBMvJDa','BwvZC2fNzxngywLSzwq','mZj6tuHuzvC','AfzkDxe','rLviz20','BgvUz3rO','uu5cwgi','zMXVB3i','BM93','v0fstG','zw52','BwLU'];a0_0x133e=function(){return _0x56e5bc;};return a0_0x133e();}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x45b7(_0x71d80,_0x2d5b1d){_0x71d80=_0x71d80-0x1bd;const _0x133e2f=a0_0x133e();let _0x45b711=_0x133e2f[_0x71d80];if(a0_0x45b7['NFDRIO']===undefined){var _0x2c6178=function(_0x30e39b){const _0x1ac057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e8775='',_0x5ec8ba='';for(let _0xd557f1=0x0,_0x49d076,_0x261a54,_0x1a643e=0x0;_0x261a54=_0x30e39b['charAt'](_0x1a643e++);~_0x261a54&&(_0x49d076=_0xd557f1%0x4?_0x49d076*0x40+_0x261a54:_0x261a54,_0xd557f1++%0x4)?_0x2e8775+=String['fromCharCode'](0xff&_0x49d076>>(-0x2*_0xd557f1&0x6)):0x0){_0x261a54=_0x1ac057['indexOf'](_0x261a54);}for(let _0x14f325=0x0,_0x3a8ca2=_0x2e8775['length'];_0x14f325<_0x3a8ca2;_0x14f325++){_0x5ec8ba+='%'+('00'+_0x2e8775['charCodeAt'](_0x14f325)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ec8ba);};a0_0x45b7['DdgjNR']=_0x2c6178,a0_0x45b7['hArwOK']={},a0_0x45b7['NFDRIO']=!![];}const _0x337108=_0x133e2f[0x0],_0x3e5f30=_0x71d80+_0x337108,_0x17e457=a0_0x45b7['hArwOK'][_0x3e5f30];return!_0x17e457?(_0x45b711=a0_0x45b7['DdgjNR'](_0x45b711),a0_0x45b7['hArwOK'][_0x3e5f30]=_0x45b711):_0x45b711=_0x17e457,_0x45b711;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2d9966=a0_0x405b;function a0_0x405b(_0x13292e,_0x4937a4){_0x13292e=_0x13292e-0x9a;const _0x15f86c=a0_0x15f8();let _0x405b22=_0x15f86c[_0x13292e];if(a0_0x405b['hXosqJ']===undefined){var _0x23aec8=function(_0x4f3945){const _0x53fd99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55890b='',_0x44e2ce='';for(let _0x511a60=0x0,_0x565b40,_0x4426a4,_0x1f4fb2=0x0;_0x4426a4=_0x4f3945['charAt'](_0x1f4fb2++);~_0x4426a4&&(_0x565b40=_0x511a60%0x4?_0x565b40*0x40+_0x4426a4:_0x4426a4,_0x511a60++%0x4)?_0x55890b+=String['fromCharCode'](0xff&_0x565b40>>(-0x2*_0x511a60&0x6)):0x0){_0x4426a4=_0x53fd99['indexOf'](_0x4426a4);}for(let _0x133b9b=0x0,_0xb48fbe=_0x55890b['length'];_0x133b9b<_0xb48fbe;_0x133b9b++){_0x44e2ce+='%'+('00'+_0x55890b['charCodeAt'](_0x133b9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e2ce);};a0_0x405b['zeFmDI']=_0x23aec8,a0_0x405b['IECXQO']={},a0_0x405b['hXosqJ']=!![];}const _0x40cb15=_0x15f86c[0x0],_0xe168b8=_0x13292e+_0x40cb15,_0x768cff=a0_0x405b['IECXQO'][_0xe168b8];return!_0x768cff?(_0x405b22=a0_0x405b['zeFmDI'](_0x405b22),a0_0x405b['IECXQO'][_0xe168b8]=_0x405b22):_0x405b22=_0x768cff,_0x405b22;}(function(_0x43961b,_0x29b4db){const _0x1020fa=a0_0x405b,_0x1abfdf=_0x43961b();while(!![]){try{const _0xbb5426=-parseInt(_0x1020fa(0xca))/0x1+parseInt(_0x1020fa(0xa0))/0x2+-parseInt(_0x1020fa(0xa4))/0x3*(parseInt(_0x1020fa(0xe9))/0x4)+-parseInt(_0x1020fa(0xbf))/0x5+parseInt(_0x1020fa(0xed))/0x6+parseInt(_0x1020fa(0xd9))/0x7+parseInt(_0x1020fa(0xa8))/0x8*(parseInt(_0x1020fa(0xb4))/0x9);if(_0xbb5426===_0x29b4db)break;else _0x1abfdf['push'](_0x1abfdf['shift']());}catch(_0x19b06a){_0x1abfdf['push'](_0x1abfdf['shift']());}}}(a0_0x15f8,0xb6792));function a0_0x15f8(){const _0xf1e93e=['CMv0CNLbDhrLBxb0CW','y29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','Bg9JywXOB3n0oJKWoti','mtq2nJK1mfHgshb0sa','ChvIBgLZAev2zw50','Bg9N','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','ndiWmtC4nxnUCM1wsG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','zgLZy29UBMvJDa','ChjVzhvJzxi','mtzzEwzQu2K','CvrVCe8','Dg9vChbLCKnHC2u','AxnjBML0AwfSAxPPBMC','Dhj1zq','z2v0u3rHDhvZ','E21VzhvSzx0','uKvtvezpuKDflq','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','z2v0tg9Ntgv2zwW','y2XPzw50swq','ChvIBgLZAeLUC2vYDa','mta0odeXmZL2r250AMu','zgvSzxrLza','tK9useLorW','yNvPBgruB3bPy05HBwu','Au90tMS','C2vUza','u2Lhv1u','z2v0twLUDxrLCW','lxbYB2r1y2vY','y2XVC2u','E2vUzhbVAw50Fq','nJe4nJa4mfHXEhLeAW','rvjst1i','z2v0rNvSBfLLyxi','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','AM9PBG','s0fgs0fFru5bqKXfra','wuHrrw4','CMvWBgfJzq','zw5HyMXLza','zxz0lq','AxndB25Uzwn0zwq','mJG2mtiYy2zyrhHl','zw52','zgvMyxvSDa','y29YCMvSyxrPB25jza','tgvNywn5ugfYDgL0Aw9Uzxi','ru5usvrzx1vqrefuruq','vujyuNe','B0jJDvi','ru5usvrzx0rftevuruq','z2v0rgf0zq','CgfKu3rHCNq','C3bSAxq','s0fgs0fFve9qsunFuefuvevstG','Bw9KDwXL','Dg9WAwnqyxr0zxjU','nJGXntm0v3vwv2TY','CMvXDwvZDfrPBwvVDxq','sff1zxG','zxjYB3i','y29YCI0','DgfIBgvoyw1L','mJuWmda','zM9YBwf0rgf0zvrPBwu','C291CMnL','Dg9WAwm','revcvuC','y29UBMvJDgLVBLbYB21PC2u','ww95r2y','A2v5rMLLBgq','mtaWma','BwvZC2fNzq','nenUBKjuza','yNjVA2vYCW','mZaWma','Bg9Ntgv2zwW','mZa2ode4nevYvKD1rq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','CgfYDgL0Aw9U','DgvUyw50swq','Afnbuwi','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','y3jLyxrLza','zw5KCg9PBNq','s0fgs0fFuKvuuLLFrevmqvK','D2fYBG','yMfZzu9MzNnLDa','ru5usvrzx0nsrufuruq','u1PUqwG'];a0_0x15f8=function(){return _0xf1e93e;};return a0_0x15f8();}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0xee94e8=a0_0x405b;this['kafka']=null,this['producer']=null,this[_0xee94e8(0xc9)]=![],this[_0xee94e8(0xab)]=![],this[_0xee94e8(0xe4)]=null;}['getConfig'](){const _0x463691=a0_0x405b,_0x52f444={'daUyH':_0x463691(0xac),'SZnAh':_0x463691(0x9f),'YHQEn':function(_0x53da97,_0x3130a9){return _0x53da97(_0x3130a9);},'oPbxa':function(_0xd9ddd3,_0x22278e){return _0xd9ddd3(_0x22278e);},'qTopO':_0x463691(0xdf),'HQuex':_0x463691(0xc2),'UBXRq':_0x463691(0xcc),'oBcuR':_0x463691(0xf6)};return{'enabled':process['env'][_0x463691(0xc4)]===_0x52f444['daUyH'],'brokers':(process['env']['KAFKA_BROKERS']||_0x52f444[_0x463691(0x9b)])[_0x463691(0xd5)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x463691(0xcb)]['RESTFORGE_PROJECT_NAME']||_0x463691(0xcc))+_0x463691(0xbc),'connectionTimeout':_0x52f444[_0x463691(0xc5)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x463691(0xeb)),'requestTimeout':_0x52f444['oPbxa'](parseInt,process[_0x463691(0xcb)]['KAFKA_REQUEST_TIMEOUT']||_0x52f444[_0x463691(0xa9)]),'topicPattern':process[_0x463691(0xcb)][_0x463691(0xd6)]||_0x52f444[_0x463691(0xdb)],'tenantId':process[_0x463691(0xcb)]['KAFKA_TENANT_ID']||_0x52f444[_0x463691(0xd0)],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x463691(0xcb)][_0x463691(0xf5)]||_0x463691(0xe7)),'logLevel':process[_0x463691(0xcb)]['KAFKA_LOG_LEVEL']||_0x52f444[_0x463691(0xd1)]};}['getLogLevel'](_0x6fc2c7){const _0x213bf6=a0_0x405b,_0x545db0={'nothing':logLevel[_0x213bf6(0xb6)],'error':logLevel[_0x213bf6(0xc0)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x213bf6(0xe3)]};return _0x545db0[_0x6fc2c7['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0xb5c0ac=a0_0x405b,_0x21a018={'oyOgZ':_0xb5c0ac(0xa5),'WPzZb':'producer.disconnect','hSAQb':function(_0x139ff9,_0x5528ad){return _0x139ff9(_0x5528ad);},'exDSf':function(_0xc2f2c8,_0x45c37c){return _0xc2f2c8(_0x45c37c);}},_0x4c9424=this['getConfig']();if(!_0x4c9424['enabled'])return console[_0xb5c0ac(0xa2)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xb5c0ac(0xc9)])return!![];if(this[_0xb5c0ac(0xab)]&&this[_0xb5c0ac(0xe4)])return this[_0xb5c0ac(0xe4)];return this[_0xb5c0ac(0xab)]=!![],this[_0xb5c0ac(0xe4)]=new Promise(async _0x48b370=>{const _0x5302fb=_0xb5c0ac,_0x2b6026={'YoyGf':_0x21a018['oyOgZ']};try{let _0x1ca0bb=undefined;process[_0x5302fb(0xcb)]['KAFKA_SSL']==='true'&&(_0x1ca0bb=!![]);let _0x31a91d=undefined;process[_0x5302fb(0xcb)]['KAFKA_SASL_MECHANISM']&&(_0x31a91d={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x5302fb(0xcb)][_0x5302fb(0x9e)]||'','password':process[_0x5302fb(0xcb)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4c9424[_0x5302fb(0xb2)],'brokers':_0x4c9424[_0x5302fb(0xea)],'connectionTimeout':_0x4c9424['connectionTimeout'],'requestTimeout':_0x4c9424[_0x5302fb(0xda)],'logLevel':this[_0x5302fb(0xb1)](_0x4c9424[_0x5302fb(0xec)]),'ssl':_0x1ca0bb,'sasl':_0x31a91d,'retry':{'initialRetryTime':_0x4c9424['retryDelay'],'retries':_0x4c9424[_0x5302fb(0x9c)]}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x5302fb(0xce)]}),await this['producer'][_0x5302fb(0x9d)](),this['isConnected']=!![],console[_0x5302fb(0xa2)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x4c9424[_0x5302fb(0xea)][_0x5302fb(0xc3)](',\x20')),this[_0x5302fb(0xa7)]['on'](_0x21a018['WPzZb'],()=>{const _0x3c5c8b=_0x5302fb;console['log'](_0x2b6026[_0x3c5c8b(0xe5)]),this['isConnected']=![];}),_0x21a018[_0x5302fb(0xf1)](_0x48b370,!![]);}catch(_0x2c1bf3){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x2c1bf3['message']),this['isConnected']=![],_0x21a018['exDSf'](_0x48b370,![]);}finally{this['isInitializing']=![];}}),this[_0xb5c0ac(0xe4)];}['formatDateTime'](_0xd40320){const _0x1a004b=a0_0x405b,_0x4f0900=_0xd40320||new Date(),_0x5cb480=_0x4f0900[_0x1a004b(0xc1)](),_0x692e6b=String(_0x4f0900['getMonth']()+0x1)[_0x1a004b(0xd4)](0x2,'0'),_0x3df99a=String(_0x4f0900[_0x1a004b(0xd3)]())['padStart'](0x2,'0'),_0x589294=String(_0x4f0900['getHours']())['padStart'](0x2,'0'),_0x319a32=String(_0x4f0900[_0x1a004b(0xbb)]())['padStart'](0x2,'0'),_0xe1e787=String(_0x4f0900['getSeconds']())['padStart'](0x2,'0');return _0x5cb480+'-'+_0x692e6b+'-'+_0x3df99a+'\x20'+_0x589294+':'+_0x319a32+':'+_0xe1e787;}[a0_0x2d9966(0xb7)](_0x626c5c,_0x45496e,_0x24bcb0,_0x2b1abc=null){const _0x448ce6=a0_0x2d9966,_0x49fd6e={'PBMQx':_0x448ce6(0xae),'iOtNk':_0x448ce6(0xbe),'SiGWU':'{action}'};if(_0x2b1abc)return _0x2b1abc;const _0x44d589=this['getConfig']()[_0x448ce6(0xd8)];return _0x44d589[_0x448ce6(0xc6)](_0x49fd6e['PBMQx'],_0x626c5c)['replace'](_0x49fd6e[_0x448ce6(0xb8)],_0x45496e)[_0x448ce6(0xc6)](_0x49fd6e[_0x448ce6(0xba)],_0x24bcb0);}['buildEventMessage'](_0x413083,_0x31f5d7,_0x54c10e,_0x1de163={}){const _0x15a140=a0_0x2d9966,_0x10b504={'IcqhA':function(_0x3097bf){return _0x3097bf();}},_0x41b910=new Date(),_0x36ccf0=this[_0x15a140(0xe0)](_0x41b910),_0x2a43bc=_0x1de163[_0x15a140(0xcd)]||_0x15a140(0xdd)+uuidv7();return{'eventId':_0x15a140(0xc8)+_0x10b504['IcqhA'](uuidv7),'eventType':_0x413083,'eventTime':_0x36ccf0,'eventVersion':'1.0','source':'restforge-'+(_0x1de163['module']||'unknown'),'correlationId':_0x2a43bc,'newData':_0x54c10e,'oldData':_0x31f5d7,'metadata':{'createdBy':_0x1de163['createdBy']||'SYSTEM','createdAt':_0x36ccf0,'systemId':_0x15a140(0xaf)+(_0x1de163[_0x15a140(0xd7)]||'unknown')[_0x15a140(0xaa)](),'tenantId':this['getConfig']()[_0x15a140(0xf0)],'endpoint':_0x1de163[_0x15a140(0xf4)]||null,'tableName':_0x1de163['tableName']||null}};}async[a0_0x2d9966(0xa1)](_0x551253,_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3={}){const _0x185465=a0_0x2d9966,_0xa5a13c={'zyhSw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker'},_0xddecb=this['getConfig']();if(!_0xddecb[_0x185465(0xc7)])return{'success':![],'reason':_0x185465(0xee),'published':![]};if(!this[_0x185465(0xc9)]){const _0x472fdc=await this['initialize']();if(!_0x472fdc)return{'success':![],'reason':_0xa5a13c['zyhSw'],'published':![]};}try{const _0x35b868=this['buildEventMessage'](_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3),_0x47d785=_0x5ab8d3[_0x185465(0xe6)]||'id',_0x2fa424=_0x4fdb5b?.[_0x47d785]||_0x46d5c2?.[_0x47d785]||uuidv7(),_0x7b1ccd=await this[_0x185465(0xa7)][_0x185465(0xb9)]({'topic':_0x551253,'messages':[{'key':String(_0x2fa424),'value':JSON['stringify'](_0x35b868),'headers':{'event-type':_0x3e9915,'correlation-id':_0x35b868['correlationId'],'source':_0x35b868[_0x185465(0xe1)]}}]});return console[_0x185465(0xa2)](_0x185465(0xb0)+_0x551253+':\x20'+_0x3e9915+'\x20(key:\x20'+_0x2fa424+')'),{'success':!![],'correlationId':_0x35b868['correlationId'],'topic':_0x551253,'partition':_0x7b1ccd[0x0]?.[_0x185465(0xef)],'offset':_0x7b1ccd[0x0]?.[_0x185465(0xf7)],'published':!![]};}catch(_0x3aa551){return console[_0x185465(0xdc)](_0x185465(0xa3)+_0x551253+':\x20'+_0x3aa551[_0x185465(0xe8)]),{'success':![],'error':_0x3aa551[_0x185465(0xe8)],'published':![]};}}async[a0_0x2d9966(0xb3)](_0x1560cf,_0x3af4d7,_0x5e424c,_0x4aa8a7={}){const _0x1ab6bc=a0_0x2d9966,_0x4f9ccc=this['buildTopicName'](_0x1560cf,_0x3af4d7,_0x1ab6bc(0xf3),_0x4aa8a7[_0x1ab6bc(0xe2)]);return this['publishEvent'](_0x4f9ccc,_0x1ab6bc(0x9a),null,_0x5e424c,{'module':_0x1560cf,'endpoint':_0x3af4d7,'keyField':_0x4aa8a7[_0x1ab6bc(0xe6)],'tableName':_0x4aa8a7[_0x1ab6bc(0xde)],'correlationId':_0x4aa8a7[_0x1ab6bc(0xcd)]});}async['publishUpdate'](_0x3f3a5f,_0xb47efe,_0x3c425f,_0x5dfbf8,_0x5bc6d9={}){const _0x455f3d=a0_0x2d9966,_0x1aa0a9={'IvmFz':'updated'},_0x10fee6=this['buildTopicName'](_0x3f3a5f,_0xb47efe,_0x1aa0a9['IvmFz'],_0x5bc6d9['topic']);return this[_0x455f3d(0xa1)](_0x10fee6,_0x455f3d(0xcf),_0x3c425f,_0x5dfbf8,{'module':_0x3f3a5f,'endpoint':_0xb47efe,'keyField':_0x5bc6d9['keyField'],'tableName':_0x5bc6d9['tableName'],'correlationId':_0x5bc6d9['correlationId']});}async['publishDelete'](_0x20611d,_0x1c90db,_0x1d0cea,_0x4cbfd9={}){const _0x32eec4=a0_0x2d9966,_0x4f52a6=this[_0x32eec4(0xb7)](_0x20611d,_0x1c90db,_0x32eec4(0xb5),_0x4cbfd9[_0x32eec4(0xe2)]);return this[_0x32eec4(0xa1)](_0x4f52a6,_0x32eec4(0xd2),_0x1d0cea,null,{'module':_0x20611d,'endpoint':_0x1c90db,'keyField':_0x4cbfd9[_0x32eec4(0xe6)],'tableName':_0x4cbfd9[_0x32eec4(0xde)],'correlationId':_0x4cbfd9['correlationId']});}[a0_0x2d9966(0xad)](){const _0x4ce7d5=a0_0x2d9966,_0x1e0c06=this['getConfig']();return{'enabled':_0x1e0c06[_0x4ce7d5(0xc7)],'connected':this['isConnected'],'brokers':_0x1e0c06[_0x4ce7d5(0xea)],'clientId':_0x1e0c06['clientId'],'topicPattern':_0x1e0c06[_0x4ce7d5(0xd8)]};}async['close'](){const _0xbbad64=a0_0x2d9966;if(this[_0xbbad64(0xa7)]&&this['isConnected'])try{await this[_0xbbad64(0xa7)][_0xbbad64(0xa6)](),this[_0xbbad64(0xc9)]=![],console['log'](_0xbbad64(0xf2));}catch(_0x258e76){console[_0xbbad64(0xdc)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x258e76['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x1e33be=a0_0x2d9966;instance&&(instance[_0x1e33be(0xbd)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0xe5a180=a0_0x2b6f;(function(_0x329134,_0x2181f9){const _0x5ef3cf=a0_0x2b6f,_0x11a2ab=_0x329134();while(!![]){try{const _0x2aa9e4=-parseInt(_0x5ef3cf(0x10c))/0x1*(-parseInt(_0x5ef3cf(0xfb))/0x2)+parseInt(_0x5ef3cf(0xed))/0x3+-parseInt(_0x5ef3cf(0xf9))/0x4*(parseInt(_0x5ef3cf(0xe8))/0x5)+parseInt(_0x5ef3cf(0xd9))/0x6+-parseInt(_0x5ef3cf(0xdf))/0x7+-parseInt(_0x5ef3cf(0x101))/0x8*(-parseInt(_0x5ef3cf(0x10d))/0x9)+-parseInt(_0x5ef3cf(0x108))/0xa;if(_0x2aa9e4===_0x2181f9)break;else _0x11a2ab['push'](_0x11a2ab['shift']());}catch(_0x104b7a){_0x11a2ab['push'](_0x11a2ab['shift']());}}}(a0_0x5ce5,0xbad27));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0xe5a180(0xf1));class KafkaService{constructor(){const _0x278901=a0_0xe5a180;this['kafka']=null,this['producer']=null,this[_0x278901(0xe3)]=![],this[_0x278901(0xf4)]=![],this[_0x278901(0xd7)]=null;}['getConfig'](){const _0x2ea9bb=a0_0xe5a180,_0x6912c8={'zGUEU':_0x2ea9bb(0xec),'PIYCe':function(_0x7927ba,_0x31f294){return _0x7927ba(_0x31f294);},'ehamk':_0x2ea9bb(0x11d),'dqqSc':'{module}.{endpoint}.events','jiHFo':'warn'};return{'enabled':process['env'][_0x2ea9bb(0xdc)]==='true','brokers':(process[_0x2ea9bb(0xea)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x2ea9bb(0xea)]['RESTFORGE_PROJECT_NAME']||_0x2ea9bb(0xee))+_0x2ea9bb(0x110),'connectionTimeout':parseInt(process[_0x2ea9bb(0xea)]['KAFKA_CONNECTION_TIMEOUT']||_0x6912c8['zGUEU']),'requestTimeout':_0x6912c8['PIYCe'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x6912c8[_0x2ea9bb(0xeb)]),'topicPattern':process['env'][_0x2ea9bb(0xfd)]||_0x6912c8[_0x2ea9bb(0xfa)],'tenantId':process['env']['KAFKA_TENANT_ID']||_0x2ea9bb(0xee),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x2ea9bb(0xea)][_0x2ea9bb(0xd2)]||_0x2ea9bb(0xef)),'logLevel':process['env'][_0x2ea9bb(0x116)]||_0x6912c8[_0x2ea9bb(0x105)]};}[a0_0xe5a180(0xcf)](_0x24c5a4){const _0x481b36=a0_0xe5a180,_0x577c7d={'nothing':logLevel[_0x481b36(0x11f)],'error':logLevel[_0x481b36(0x115)],'warn':logLevel[_0x481b36(0x106)],'info':logLevel[_0x481b36(0xf6)],'debug':logLevel['DEBUG']};return _0x577c7d[_0x24c5a4[_0x481b36(0xe7)]()]||logLevel[_0x481b36(0x106)];}async[a0_0xe5a180(0x11b)](){const _0x56a297=a0_0xe5a180,_0x2d3eef={'PToDm':function(_0xd1031b,_0x4026b8){return _0xd1031b===_0x4026b8;},'zktOv':'true','WrsuN':function(_0x13dbd9,_0x52f1e4){return _0x13dbd9(_0x52f1e4);},'vBjDA':_0x56a297(0x104)},_0x2f7faf=this['getConfig']();if(!_0x2f7faf['enabled'])return console['log'](_0x2d3eef['vBjDA']),![];if(this[_0x56a297(0xe3)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x56a297(0xd7)]=new Promise(async _0x5bfeed=>{const _0x47a1a6=_0x56a297;try{let _0x13a3ef=undefined;_0x2d3eef['PToDm'](process[_0x47a1a6(0xea)][_0x47a1a6(0x10a)],_0x2d3eef['zktOv'])&&(_0x13a3ef=!![]);let _0x151380=undefined;process['env'][_0x47a1a6(0xe9)]&&(_0x151380={'mechanism':process[_0x47a1a6(0xea)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x47a1a6(0x100)]||'','password':process[_0x47a1a6(0xea)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x2f7faf[_0x47a1a6(0x113)],'brokers':_0x2f7faf[_0x47a1a6(0x10e)],'connectionTimeout':_0x2f7faf['connectionTimeout'],'requestTimeout':_0x2f7faf['requestTimeout'],'logLevel':this[_0x47a1a6(0xcf)](_0x2f7faf['logLevel']),'ssl':_0x13a3ef,'sasl':_0x151380,'retry':{'initialRetryTime':_0x2f7faf['retryDelay'],'retries':_0x2f7faf[_0x47a1a6(0xf7)]}}),this['producer']=this['kafka'][_0x47a1a6(0xd4)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x47a1a6(0xfc)](),this['isConnected']=!![],console[_0x47a1a6(0xd6)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x2f7faf['brokers']['join'](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x1b6211=_0x47a1a6;console['log'](_0x1b6211(0xf5)),this['isConnected']=![];}),_0x5bfeed(!![]);}catch(_0x29fa7c){console['error'](_0x47a1a6(0x10b)+_0x29fa7c['message']),this['isConnected']=![],_0x2d3eef[_0x47a1a6(0x109)](_0x5bfeed,![]);}finally{this[_0x47a1a6(0xf4)]=![];}}),this['connectionPromise'];}['formatDateTime'](_0x621056){const _0x144aa6=a0_0xe5a180,_0x42f293={'yHdOk':function(_0x1ff651,_0x160d39){return _0x1ff651(_0x160d39);}},_0x410c80=_0x621056||new Date(),_0x558e37=_0x410c80['getFullYear'](),_0x5adddd=String(_0x410c80['getMonth']()+0x1)[_0x144aa6(0x119)](0x2,'0'),_0x459fe8=String(_0x410c80['getDate']())['padStart'](0x2,'0'),_0x5c4884=_0x42f293['yHdOk'](String,_0x410c80[_0x144aa6(0xe4)]())[_0x144aa6(0x119)](0x2,'0'),_0x150776=String(_0x410c80['getMinutes']())['padStart'](0x2,'0'),_0x4d2e69=_0x42f293[_0x144aa6(0xd5)](String,_0x410c80['getSeconds']())[_0x144aa6(0x119)](0x2,'0');return _0x558e37+'-'+_0x5adddd+'-'+_0x459fe8+'\x20'+_0x5c4884+':'+_0x150776+':'+_0x4d2e69;}['buildTopicName'](_0x23976c,_0x4728b2,_0x2e977d,_0x9712f3=null){const _0x318499=a0_0xe5a180;if(_0x9712f3)return _0x9712f3;const _0x5a80bc=this['getConfig']()[_0x318499(0xcd)];return _0x5a80bc['replace'](_0x318499(0xe6),_0x23976c)['replace']('{endpoint}',_0x4728b2)[_0x318499(0xf8)]('{action}',_0x2e977d);}['buildEventMessage'](_0x2a4fd5,_0x4b67c3,_0x497d06,_0x445ce6={}){const _0x18fc8c=a0_0xe5a180,_0x372365={'QLUgT':_0x18fc8c(0xda)},_0x1c0ce0=new Date(),_0xfbf656=this[_0x18fc8c(0xe2)](_0x1c0ce0),_0x3b19d3=_0x445ce6[_0x18fc8c(0x103)]||'corr-'+uuidv7();return{'eventId':_0x18fc8c(0xe1)+uuidv7(),'eventType':_0x2a4fd5,'eventTime':_0xfbf656,'eventVersion':_0x372365['QLUgT'],'source':_0x18fc8c(0xdb)+(_0x445ce6[_0x18fc8c(0x11a)]||_0x18fc8c(0xd8)),'correlationId':_0x3b19d3,'newData':_0x497d06,'oldData':_0x4b67c3,'metadata':{'createdBy':_0x445ce6['createdBy']||_0x18fc8c(0x111),'createdAt':_0xfbf656,'systemId':_0x18fc8c(0x114)+(_0x445ce6['module']||'unknown')['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x445ce6['endpoint']||null,'tableName':_0x445ce6['tableName']||null}};}async[a0_0xe5a180(0x11c)](_0x1556fa,_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8={}){const _0x35bbe1=a0_0xe5a180,_0x38f28d={'mhwOq':_0x35bbe1(0x102),'tHgFB':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','QZfWs':function(_0x178f9d,_0x1614f8){return _0x178f9d(_0x1614f8);}},_0x2526ed=this[_0x35bbe1(0xdd)]();if(!_0x2526ed[_0x35bbe1(0xe5)])return{'success':![],'reason':_0x38f28d[_0x35bbe1(0xde)],'published':![]};if(!this[_0x35bbe1(0xe3)]){const _0x48a86b=await this['initialize']();if(!_0x48a86b)return{'success':![],'reason':_0x38f28d['tHgFB'],'published':![]};}try{const _0x5de1ee=this[_0x35bbe1(0x11e)](_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8),_0x322e74=_0x15f3d8[_0x35bbe1(0x112)]||'id',_0xf6918f=_0x4c5404?.[_0x322e74]||_0x4b6ce3?.[_0x322e74]||uuidv7(),_0x27ebf2=await this['producer']['send']({'topic':_0x1556fa,'messages':[{'key':_0x38f28d['QZfWs'](String,_0xf6918f),'value':JSON['stringify'](_0x5de1ee),'headers':{'event-type':_0x513492,'correlation-id':_0x5de1ee['correlationId'],'source':_0x5de1ee[_0x35bbe1(0xfe)]}}]});return console[_0x35bbe1(0xd6)](_0x35bbe1(0xf2)+_0x1556fa+':\x20'+_0x513492+_0x35bbe1(0x10f)+_0xf6918f+')'),{'success':!![],'correlationId':_0x5de1ee[_0x35bbe1(0x103)],'topic':_0x1556fa,'partition':_0x27ebf2[0x0]?.['partition'],'offset':_0x27ebf2[0x0]?.['baseOffset'],'published':!![]};}catch(_0x510360){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x1556fa+':\x20'+_0x510360[_0x35bbe1(0xf3)]),{'success':![],'error':_0x510360[_0x35bbe1(0xf3)],'published':![]};}}async[a0_0xe5a180(0xe0)](_0x19ea46,_0xdc56db,_0x50078c,_0x22e97a={}){const _0xf9b602=a0_0xe5a180,_0x31e217={'VWTXE':_0xf9b602(0x107)},_0x36f71c=this[_0xf9b602(0xce)](_0x19ea46,_0xdc56db,_0x31e217['VWTXE'],_0x22e97a[_0xf9b602(0x117)]);return this[_0xf9b602(0x11c)](_0x36f71c,'ENTITY_CREATED',null,_0x50078c,{'module':_0x19ea46,'endpoint':_0xdc56db,'keyField':_0x22e97a[_0xf9b602(0x112)],'tableName':_0x22e97a['tableName'],'correlationId':_0x22e97a['correlationId']});}async['publishUpdate'](_0x1471e0,_0x478cbd,_0x13d681,_0x4ef54e,_0x4f92ff={}){const _0x45c558=a0_0xe5a180,_0x5dfd3d=this['buildTopicName'](_0x1471e0,_0x478cbd,'updated',_0x4f92ff['topic']);return this[_0x45c558(0x11c)](_0x5dfd3d,'ENTITY_UPDATED',_0x13d681,_0x4ef54e,{'module':_0x1471e0,'endpoint':_0x478cbd,'keyField':_0x4f92ff['keyField'],'tableName':_0x4f92ff[_0x45c558(0xd0)],'correlationId':_0x4f92ff[_0x45c558(0x103)]});}async[a0_0xe5a180(0x118)](_0x433ffe,_0x51cbfc,_0x30e9ea,_0x4b9156={}){const _0x845d71=a0_0xe5a180,_0x2339a4=this['buildTopicName'](_0x433ffe,_0x51cbfc,_0x845d71(0xf0),_0x4b9156[_0x845d71(0x117)]);return this[_0x845d71(0x11c)](_0x2339a4,_0x845d71(0xd3),_0x30e9ea,null,{'module':_0x433ffe,'endpoint':_0x51cbfc,'keyField':_0x4b9156['keyField'],'tableName':_0x4b9156['tableName'],'correlationId':_0x4b9156[_0x845d71(0x103)]});}['getStatus'](){const _0x27d5cc=a0_0xe5a180,_0x280de5=this['getConfig']();return{'enabled':_0x280de5[_0x27d5cc(0xe5)],'connected':this['isConnected'],'brokers':_0x280de5[_0x27d5cc(0x10e)],'clientId':_0x280de5[_0x27d5cc(0x113)],'topicPattern':_0x280de5[_0x27d5cc(0xcd)]};}async['close'](){const _0x2a7c11=a0_0xe5a180;if(this['producer']&&this['isConnected'])try{await this['producer'][_0x2a7c11(0xff)](),this[_0x2a7c11(0xe3)]=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x2a67c6){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2a67c6['message']);}}}function a0_0x2b6f(_0x257e16,_0x1af9fa){_0x257e16=_0x257e16-0xcd;const _0x5ce580=a0_0x5ce5();let _0x2b6f0a=_0x5ce580[_0x257e16];if(a0_0x2b6f['yltAre']===undefined){var _0xa5879c=function(_0xd378e5){const _0x2d8670='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e41cf='',_0x1570b0='';for(let _0x2e9055=0x0,_0xdd1f8a,_0x4b551a,_0x2bfa51=0x0;_0x4b551a=_0xd378e5['charAt'](_0x2bfa51++);~_0x4b551a&&(_0xdd1f8a=_0x2e9055%0x4?_0xdd1f8a*0x40+_0x4b551a:_0x4b551a,_0x2e9055++%0x4)?_0x4e41cf+=String['fromCharCode'](0xff&_0xdd1f8a>>(-0x2*_0x2e9055&0x6)):0x0){_0x4b551a=_0x2d8670['indexOf'](_0x4b551a);}for(let _0xe34b1=0x0,_0x312786=_0x4e41cf['length'];_0xe34b1<_0x312786;_0xe34b1++){_0x1570b0+='%'+('00'+_0x4e41cf['charCodeAt'](_0xe34b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1570b0);};a0_0x2b6f['dwounC']=_0xa5879c,a0_0x2b6f['wjeiEx']={},a0_0x2b6f['yltAre']=!![];}const _0x8fa15c=_0x5ce580[0x0],_0x2f0033=_0x257e16+_0x8fa15c,_0x4be3cc=a0_0x2b6f['wjeiEx'][_0x2f0033];return!_0x4be3cc?(_0x2b6f0a=a0_0x2b6f['dwounC'](_0x2b6f0a),a0_0x2b6f['wjeiEx'][_0x2f0033]=_0x2b6f0a):_0x2b6f0a=_0x4be3cc,_0x2b6f0a;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0xe5a180(0xd1)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x5ce5(){const _0x1abbc0=['BwvZC2fNzq','AxnjBML0AwfSAxPPBMC','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','su5gtW','CMv0CNLbDhrLBxb0CW','CMvWBgfJzq','mJr5ufvLsgi','zhfXu2m','mM15wMvHBa','y29UBMvJDa','s0fgs0fFve9qsunFuefuvevstG','C291CMnL','zgLZy29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','mJy0nJmYrhzvCNLP','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','y29YCMvSyxrPB25jza','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','AMLirM8','v0fstG','y3jLyxrLza','otq1nJKWzgPTvNjx','v3jZDu4','s0fgs0fFu1nm','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','mZq3nde5C0HoBLHf','mJDbzNrOyMK','yNjVA2vYCW','icHRzxK6ia','lxbYB2r1y2vY','u1Ltvevn','A2v5rMLLBgq','y2XPzw50swq','uKvtvezpuKDflq','rvjst1i','s0fgs0fFte9hx0XfvKvm','Dg9WAwm','ChvIBgLZAerLBgv0zq','CgfKu3rHCNq','Bw9KDwXL','Aw5PDgLHBgL6zq','ChvIBgLZAev2zw50','mJuWmda','yNvPBgrfDMvUDe1LC3nHz2u','tK9useLorW','Dg9WAwnqyxr0zxjU','yNvPBgruB3bPy05HBwu','z2v0tg9Ntgv2zwW','DgfIBgvoyw1L','zxHWB3j0CW','s0fgs0fFuKvuuLLFrevmqvK','ru5usvrzx0rftevuruq','ChjVzhvJzxi','EuHKt2S','Bg9N','y29UBMvJDgLVBLbYB21PC2u','Dw5RBM93BG','mJCXodu0EfHfu2nW','ms4W','CMvZDgzVCMDLlq','s0fgs0fFru5bqKXfra','z2v0q29UzMLN','BwH3t3e','ota1mJyXCMfHAgXi','ChvIBgLZAeLUC2vYDa','zxz0lq','zM9YBwf0rgf0zvrPBwu','AxndB25Uzwn0zwq','z2v0sg91CNm','zw5HyMXLza','E21VzhvSzx0','Dg9mB3DLCKnHC2u','ntyYmZmWqujXsgTb','s0fgs0fFu0fttf9nruniqu5ju00','zw52','zwHHBwS','mZaWma','mZuXntGZoeH6rhr4va','zgvMyxvSDa','mtaWma','zgvSzxrLza','DxvPza','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G'];a0_0x5ce5=function(){return _0x1abbc0;};return a0_0x5ce5();}
|