@restforgejs/platform 5.1.20 → 5.2.0
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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- 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/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.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
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0xd1aa41=a0_0xce94;function a0_0xce94(_0x2c487e,_0x5aba32){_0x2c487e=_0x2c487e-0xd9;const _0x475413=a0_0x4754();let _0xce9456=_0x475413[_0x2c487e];if(a0_0xce94['tDtHla']===undefined){var _0x2e3543=function(_0x2c9c9e){const _0x68d03b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x582c0c='',_0x278806='';for(let _0xdec213=0x0,_0x2f559a,_0x57f2a1,_0x309214=0x0;_0x57f2a1=_0x2c9c9e['charAt'](_0x309214++);~_0x57f2a1&&(_0x2f559a=_0xdec213%0x4?_0x2f559a*0x40+_0x57f2a1:_0x57f2a1,_0xdec213++%0x4)?_0x582c0c+=String['fromCharCode'](0xff&_0x2f559a>>(-0x2*_0xdec213&0x6)):0x0){_0x57f2a1=_0x68d03b['indexOf'](_0x57f2a1);}for(let _0x2a5efd=0x0,_0x3d01d4=_0x582c0c['length'];_0x2a5efd<_0x3d01d4;_0x2a5efd++){_0x278806+='%'+('00'+_0x582c0c['charCodeAt'](_0x2a5efd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x278806);};a0_0xce94['KWLENN']=_0x2e3543,a0_0xce94['dJkCRR']={},a0_0xce94['tDtHla']=!![];}const _0xa18149=_0x475413[0x0],_0x39e163=_0x2c487e+_0xa18149,_0x465e29=a0_0xce94['dJkCRR'][_0x39e163];return!_0x465e29?(_0xce9456=a0_0xce94['KWLENN'](_0xce9456),a0_0xce94['dJkCRR'][_0x39e163]=_0xce9456):_0xce9456=_0x465e29,_0xce9456;}(function(_0x17c800,_0x5978ec){const _0x509916=a0_0xce94,_0x4dbb3e=_0x17c800();while(!![]){try{const _0x426b8d=parseInt(_0x509916(0x122))/0x1+parseInt(_0x509916(0x151))/0x2*(parseInt(_0x509916(0x14b))/0x3)+parseInt(_0x509916(0x102))/0x4*(-parseInt(_0x509916(0xde))/0x5)+parseInt(_0x509916(0x100))/0x6*(parseInt(_0x509916(0x106))/0x7)+parseInt(_0x509916(0x155))/0x8+parseInt(_0x509916(0xe8))/0x9+parseInt(_0x509916(0x13e))/0xa*(-parseInt(_0x509916(0xdb))/0xb);if(_0x426b8d===_0x5978ec)break;else _0x4dbb3e['push'](_0x4dbb3e['shift']());}catch(_0x3a5805){_0x4dbb3e['push'](_0x4dbb3e['shift']());}}}(a0_0x4754,0xdcfa3));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';function a0_0x4754(){const _0x238d38=['y2XLyxi','uKvesvnFse9tva','CMvTB3rLqwrKCMvZCW','sNfXwK4','zgf0yv9JAgfUz2u','teLjtNq','y2XVC2u','BwvZC2fNzq','x3n1yNnJCMLWDgLVBNm','DuTOB1C','x2jYB2fKy2fZDeXVy2fS','ntaZntm2mtfzvKznsu8','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','C3vIC2nYAwjLzenOyw5UzwXZ','mJyZnwTAA25ZtW','BgL2zxn5BMnFC3vIC2nYAwjL','BerfCui','AhLPEMq','svrYA1G','x21Vzgu','x2XVz2DLCG','uKvesvnFueftu1DpuKq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','ignSAwvUDcHZkq','nJmZotC0nhvKEe15qG','x3nLBMruB0nSAwvUDa','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','wMjTEgW','x3n0yxj0sgvHCNrIzwf0','CxvPDa','BgL2zxn5BMnFD3nZx2vYCM9Y','AgvHzgvYCW','Bu5tAu0','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','A0DNBhe','Cg9UzW','CgfYC2u','C3vIC2nYAwjL','ChvZAa','Ag9ZDa','Bg9JywXOB3n0','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x29WDgLVBNm','BgLZDgvUzxjZ','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','y29UBMvJDa','C2v0','BgvUz3rO','mtjnzeTKvvu','CgLUzW','mte4ntjyy2D5tKK','Aw5PDgLHBgL6zq','ig9Uia','zgvIDwC','ndiXmZu1oxzjwuvTqG','zxjYB3i','C2H1DgrVD24','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Dw5ZDwjZy3jPyMvK','qxnpDgu','AgfUzgXLvxbNCMfKzq','x3nLDhvWvxbNCMfKzuf1DgG','DxbNCMfKzq','x3b1yMXPC2HuB1jLzgLZ','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','DNrvtKS','x3DVCMTLCKLK','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','CMvHzhLtDgf0zq','x3jLzgLZu3vIC2nYAwjLCG','yNjVywrJyxn0','EMDpAfy','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','qNjVywrJyxn0ia','zgf0yq','mti3lJaUmc4X','ywrK','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','z2v0','l3DZ','y2fSBa','mtu5mJi4mMvewvP3va','y2XPzw50CW','sK91rvy','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzunSAwvUDe1LC3nHz2u','DhLWzq','y3z3rKm','wfrVu0m','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','x3jLzgLZuhvIBgLZAgvY','AgfZ','y2HHBM5LBa','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','CMvXDwvZDeLK','x2HHBMrSzvn1yNnJCMLIzq','C2L6zq','AxnbBgL2zq','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','Dg9ju09tDhjPBMC','z2v0q2XPzw50','tfLNwwS','ChvIBgLZAa','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','uMPPC3G','zw1PDa','ywDgAxu','mtbzwM5vzNa','yLbpDKW','zLrVD3e','vu10t00','ENHhs1q','Ec1HCgKTA2v5','x3DZCW','zw52','y2HHBM5LBhm','ihrVia','C3bSAxq','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','tgL2zsbtEw5Jia','ntm0mJqWnKfqzufoCq','qu5Xr3e','Aw5JBhvKzxm','rhnVqLa','uKvesvnFrei','ywTsyK4','mKvsvhPruq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','ywn0Aw9U','x2HHBMrSzvvUC3vIC2nYAwjL','mtqXmdi4mdHUAMnjzMW','x293BLb1yMXPC2HLCG','DgHLBG','x2LUAxrPywXPEMvK','x2HLyxj0yMvHDfrPBwvY','D3jPDgu','y2f0y2G','Aw9YzwrPCW','zgvSzxrL','C2vUza','D2fYBG','ChvIBgLZAgvY','DxjS','y29UBMvJDgLVBG','Dw5ZDwjZy3jPyMu'];a0_0x4754=function(){return _0x238d38;};return a0_0x4754();}class WebSocketBroadcaster{constructor(){const _0x184ec8=a0_0xce94;this[_0x184ec8(0x144)]=null,this[_0x184ec8(0x158)]=![],this[_0x184ec8(0xe3)]=null,this['_options']={},this['_logger']=console,this[_0x184ec8(0x16c)]=new Map(),this[_0x184ec8(0x159)]=null,this[_0x184ec8(0x12c)]=null,this[_0x184ec8(0x116)]=null,this[_0x184ec8(0x113)]=process['pid'];}[a0_0xd1aa41(0x103)](_0x532d7c,_0x4675e0={}){const _0x57946d=a0_0xd1aa41,_0x42ace7={'HiPet':function(_0x1b7891,_0x4ec743){return _0x1b7891(_0x4ec743);},'UJwCr':function(_0xb2059f,_0x58af8f,_0x604194){return _0xb2059f(_0x58af8f,_0x604194);},'LYgYk':'livesync_initialized','hyizd':'/ws'};if(this[_0x57946d(0x158)])return;this[_0x57946d(0xfa)]=_0x4675e0,this[_0x57946d(0xe3)]='full';try{this['_logger']=_0x42ace7['HiPet'](require,'../../utils/logger')['logger']||console;}catch(_0x2a2be4){this[_0x57946d(0xe4)]=console;}const _0x1b153d=_0x42ace7['UJwCr'](parseInt,process[_0x57946d(0x145)][_0x57946d(0x109)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x532d7c,'path':_0x57946d(0x120)}),this[_0x57946d(0x10d)](_0x532d7c),this['_wss']['on'](_0x57946d(0x162),(_0x23d255,_0x4f4975)=>this['_handleConnection'](_0x23d255,_0x4f4975)),this['_wss']['on'](_0x57946d(0x107),_0x11c59c=>{const _0x3828cb=_0x57946d;this['_logger']['error']({'event':_0x3828cb(0xee),'error':_0x11c59c[_0x3828cb(0x16b)]},_0x3828cb(0xea)+_0x11c59c[_0x3828cb(0x16b)]);}),this[_0x57946d(0xec)](_0x1b153d),this['_setupRedis'](),this[_0x57946d(0x158)]=!![],this['_logger']['info']({'event':_0x42ace7[_0x57946d(0x138)],'mode':'full','path':_0x42ace7[_0x57946d(0xe1)],'heartbeat':_0x1b153d+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x1b153d+'s)');}[a0_0xd1aa41(0x13a)](_0x51bca1={}){const _0x587968=a0_0xd1aa41,_0x3fadca={'dfvMF':function(_0x10f376,_0x38a03b){return _0x10f376(_0x38a03b);},'ITrkX':'publisher'};if(this['_initialized'])return;this[_0x587968(0xfa)]=_0x51bca1,this['_mode']=_0x587968(0x160);try{this['_logger']=_0x3fadca['dfvMF'](require,'../../utils/logger')['logger']||console;}catch(_0x2f71dd){this[_0x587968(0xe4)]=console;}this['_setupRedisPublisher'](),this[_0x587968(0x158)]=!![],this[_0x587968(0xe4)]['info']({'event':_0x587968(0x12f),'mode':_0x3fadca[_0x587968(0xe2)]},_0x587968(0xdc));}['isInitialized'](){const _0x2bb2a0=a0_0xd1aa41;return this[_0x2bb2a0(0x158)];}['broadcast'](_0x27e069,_0x505c83){const _0xc94324=a0_0xd1aa41,_0x4b82f7={'Zbmxl':_0xc94324(0x160),'MqKWA':function(_0x597ff0,_0x4091be){return _0x597ff0===_0x4091be;},'UnMMk':function(_0x1877cd,_0x85ce2a){return _0x1877cd>_0x85ce2a;}};if(!this[_0xc94324(0x158)])return;if(this[_0xc94324(0xe3)]===_0x4b82f7[_0xc94324(0xeb)]){this[_0xc94324(0x10f)](_0x27e069,_0x505c83);return;}const _0x372dd5=JSON['stringify']({'type':_0xc94324(0x168),'channel':_0x27e069,'action':_0x505c83[_0xc94324(0x153)],'data':_0x505c83[_0xc94324(0x11b)],'requestId':_0x505c83['requestId']||null,'timestamp':new Date()[_0xc94324(0x136)]()}),[_0x180a67]=_0x27e069[_0xc94324(0x148)](':');let _0x2e559b=0x0;for(const [_0x32b247,_0x5f1bc7]of this[_0xc94324(0x16c)]){const _0x5a037b=_0x4b82f7['MqKWA'](_0x32b247,_0x27e069),_0x4f9b9a=_0x32b247===_0x180a67+':*';if(_0x5a037b||_0x4f9b9a)for(const _0x142263 of _0x5f1bc7){if(_0x142263[_0xc94324(0x115)]===0x1)try{_0x142263[_0xc94324(0x15e)](_0x372dd5),_0x2e559b++;}catch(_0x440db8){}}}_0x4b82f7['UnMMk'](_0x2e559b,0x0)&&this[_0xc94324(0xe4)]['debug']({'event':_0xc94324(0x126),'channel':_0x27e069,'action':_0x505c83[_0xc94324(0x153)],'clients':_0x2e559b},_0xc94324(0x11a)+_0x505c83[_0xc94324(0x153)]+_0xc94324(0x104)+_0x27e069+_0xc94324(0x147)+_0x2e559b+_0xc94324(0xe7));}['_publishToRedis'](_0x148c27,_0x36724a){const _0x553657=a0_0xd1aa41;if(!this['_redisPublisher'])return;const _0x4a188e=JSON['stringify']({'channel':_0x148c27,'message':_0x36724a,'workerId':this['_workerId']});this['_redisPublisher'][_0x553657(0x139)](REDIS_CHANNEL_PREFIX+'broadcast',_0x4a188e)[_0x553657(0x15b)](()=>{});}[a0_0xd1aa41(0x108)](){const _0x3b05ff=a0_0xd1aa41,_0x4a0599={'TDWYK':function(_0x42e1bf,_0x1c17f8){return _0x42e1bf(_0x1c17f8);},'YdjaG':'Server\x20shutting\x20down'};if(!this['_initialized'])return;this[_0x3b05ff(0x159)]&&(_0x4a0599['TDWYK'](clearInterval,this[_0x3b05ff(0x159)]),this[_0x3b05ff(0x159)]=null);if(this[_0x3b05ff(0x144)]){for(const _0x48e6dc of this[_0x3b05ff(0x144)][_0x3b05ff(0x123)]){try{_0x48e6dc[_0x3b05ff(0x16a)](0x3e9,_0x4a0599['YdjaG']);}catch(_0x5a3475){}}this['_wss'][_0x3b05ff(0x16a)]();}if(this['_redisSubscriber'])try{this[_0x3b05ff(0x116)][_0x3b05ff(0x163)](),this['_redisSubscriber'][_0x3b05ff(0xed)]();}catch(_0xb6fe58){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x3b05ff(0xed)]();}catch(_0x3d7b81){}this[_0x3b05ff(0x16c)][_0x3b05ff(0x164)](),this['_initialized']=![],this['_logger']['info']({'event':'livesync_shutdown','mode':this[_0x3b05ff(0xe3)]},_0x3b05ff(0x14a)+this[_0x3b05ff(0xe3)]+'\x20shut\x20down');}[a0_0xd1aa41(0x10d)](_0x372107){const _0x50e4bf=a0_0xd1aa41,_0xf50343={'ANqGq':'/ws','VXUZO':'x-api-key','UMtOM':_0x50e4bf(0xfc)},_0x373bf2=_0x372107[_0x50e4bf(0xfb)](_0x50e4bf(0x10e))['slice']();_0x372107['removeAllListeners'](_0x50e4bf(0x10e)),_0x372107['on'](_0x50e4bf(0x10e),(_0x2906a0,_0x1eb79d,_0x467a34)=>{const _0xfa0612=_0x50e4bf;if(!_0x2906a0[_0xfa0612(0x161)]||!_0x2906a0['url']['startsWith'](_0xf50343[_0xfa0612(0x14c)])){for(const _0x2dbfb0 of _0x373bf2){_0x2dbfb0[_0xfa0612(0x121)](_0x372107,_0x2906a0,_0x1eb79d,_0x467a34);}return;}if(this['_options']['apiKey']){const _0x4d2063=new URL(_0x2906a0[_0xfa0612(0x161)],'http://'+(_0x2906a0[_0xfa0612(0xef)][_0xfa0612(0xf7)]||_0xfa0612(0xf8))),_0x5b6050=_0x4d2063['searchParams'][_0xfa0612(0x11f)](_0xfa0612(0x143))||_0x2906a0[_0xfa0612(0xef)][_0xf50343['VXUZO']];if(!_0x5b6050||_0x5b6050!==this['_options']['apiKey']){_0x1eb79d[_0xfa0612(0x15a)](_0xf50343[_0xfa0612(0x141)]),_0x1eb79d['destroy']();return;}}this[_0xfa0612(0x144)][_0xfa0612(0x10c)](_0x2906a0,_0x1eb79d,_0x467a34,_0xfc43c7=>{const _0x10f32f=_0xfa0612;this['_wss'][_0x10f32f(0x13c)]('connection',_0xfc43c7,_0x2906a0);});});}['_handleConnection'](_0x38815d,_0x247eab){const _0x30d379=a0_0xd1aa41,_0x18606a={'DsoBP':'error','kUvSc':'Invalid\x20JSON\x20message','zgOhV':_0x30d379(0x110),'SrxWX':_0x30d379(0xf9),'AmhpO':'pong'};_0x38815d['isAlive']=!![],_0x38815d['subscribedChannels']=new Set();const _0x2ef8a9=_0x247eab['headers']['x-forwarded-for']||_0x247eab['socket'][_0x30d379(0x166)];this[_0x30d379(0xe4)]['info']({'event':_0x30d379(0x111),'ip':_0x2ef8a9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2ef8a9),_0x38815d['on'](_0x18606a['AmhpO'],()=>{const _0x37bdee=_0x30d379;_0x38815d[_0x37bdee(0x134)]=!![];}),_0x38815d['on']('message',_0x1b833d=>{const _0x500350=_0x30d379;try{const _0x3fecf4=JSON['parse'](_0x1b833d['toString']());this[_0x500350(0x127)](_0x38815d,_0x3fecf4);}catch(_0xdfe09d){this['_sendToClient'](_0x38815d,{'type':_0x18606a[_0x500350(0x14e)],'message':_0x18606a['kUvSc']});}}),_0x38815d['on'](_0x30d379(0x16a),()=>{const _0x16f908=_0x30d379;this['_removeClientFromAllChannels'](_0x38815d),this['_logger'][_0x16f908(0x105)]({'event':_0x18606a[_0x16f908(0x118)],'ip':_0x2ef8a9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2ef8a9);}),_0x38815d['on'](_0x30d379(0x107),_0x59a708=>{const _0x3b1149=_0x30d379;this[_0x3b1149(0xe4)][_0x3b1149(0x15f)]({'event':_0x18606a['SrxWX'],'error':_0x59a708[_0x3b1149(0x16b)]},'WebSocket\x20client\x20error:\x20'+_0x59a708['message']),this[_0x3b1149(0xe6)](_0x38815d);});}[a0_0xd1aa41(0x127)](_0x5e3429,_0x4d62d9){const _0x1a3224=a0_0xd1aa41,_0x547a74={'kGglq':'subscribe','XToSC':_0x1a3224(0x163),'Rjisx':_0x1a3224(0xf3)};switch(_0x4d62d9[_0x1a3224(0x128)]){case _0x547a74[_0x1a3224(0xf2)]:this[_0x1a3224(0x132)](_0x5e3429,_0x4d62d9[_0x1a3224(0x146)]);break;case _0x547a74[_0x1a3224(0x12a)]:this[_0x1a3224(0x154)](_0x5e3429,_0x4d62d9[_0x1a3224(0x146)]);break;case _0x547a74[_0x1a3224(0x13b)]:_0x5e3429[_0x1a3224(0x134)]=!![];break;default:this['_sendToClient'](_0x5e3429,{'type':_0x1a3224(0x107),'message':_0x1a3224(0x149)+_0x4d62d9['type']});}}['_handleSubscribe'](_0x1079f9,_0x295794){const _0x145d18=a0_0xd1aa41,_0x166af6={'LIINt':_0x145d18(0xf1),'zxGKT':'string','DZaPY':_0x145d18(0xdf)};if(!Array['isArray'](_0x295794)||_0x295794['length']===0x0){this['_sendToClient'](_0x1079f9,{'type':'error','message':_0x166af6[_0x145d18(0x169)]});return;}const _0x13cce1=[];for(const _0x1f0d62 of _0x295794){if(typeof _0x1f0d62!==_0x166af6[_0x145d18(0x142)]||!_0x1f0d62[_0x145d18(0x14d)](':'))continue;!this[_0x145d18(0x16c)]['has'](_0x1f0d62)&&this['_subscriptions'][_0x145d18(0xfe)](_0x1f0d62,new Set()),this[_0x145d18(0x16c)][_0x145d18(0x11f)](_0x1f0d62)['add'](_0x1079f9),_0x1079f9[_0x145d18(0xdd)][_0x145d18(0x11d)](_0x1f0d62),_0x13cce1[_0x145d18(0xf6)](_0x1f0d62);}_0x13cce1[_0x145d18(0xff)]>0x0&&(this['_sendToClient'](_0x1079f9,{'type':'subscribed','channels':_0x13cce1,'timestamp':new Date()[_0x145d18(0x136)]()}),this['_logger'][_0x145d18(0x105)]({'event':_0x166af6['DZaPY'],'channels':_0x13cce1},_0x145d18(0x125)+_0x13cce1['join'](',\x20')));}[a0_0xd1aa41(0x154)](_0x59241f,_0x336041){const _0x11304d=a0_0xd1aa41,_0x48f875={'vtUNK':function(_0x2a8ecf,_0x1fbe5f){return _0x2a8ecf>_0x1fbe5f;}};if(!Array['isArray'](_0x336041))return;const _0x53c77e=[];for(const _0x32cc47 of _0x336041){this[_0x11304d(0x16c)]['has'](_0x32cc47)&&(this[_0x11304d(0x16c)][_0x11304d(0x11f)](_0x32cc47)['delete'](_0x59241f),this['_subscriptions'][_0x11304d(0x11f)](_0x32cc47)[_0x11304d(0x133)]===0x0&&this['_subscriptions']['delete'](_0x32cc47)),_0x59241f[_0x11304d(0xdd)]['delete'](_0x32cc47),_0x53c77e[_0x11304d(0xf6)](_0x32cc47);}_0x48f875[_0x11304d(0x112)](_0x53c77e['length'],0x0)&&this[_0x11304d(0xe9)](_0x59241f,{'type':_0x11304d(0x10a),'channels':_0x53c77e,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x141433){const _0x2e59b4=a0_0xd1aa41;if(!_0x141433['subscribedChannels'])return;for(const _0x329141 of _0x141433['subscribedChannels']){this['_subscriptions'][_0x2e59b4(0x12d)](_0x329141)&&(this[_0x2e59b4(0x16c)][_0x2e59b4(0x11f)](_0x329141)[_0x2e59b4(0x15d)](_0x141433),this[_0x2e59b4(0x16c)][_0x2e59b4(0x11f)](_0x329141)[_0x2e59b4(0x133)]===0x0&&this[_0x2e59b4(0x16c)]['delete'](_0x329141));}_0x141433[_0x2e59b4(0xdd)]['clear']();}['_sendToClient'](_0x4f706b,_0x5d4497){if(_0x4f706b['readyState']===0x1)try{_0x4f706b['send'](JSON['stringify'](_0x5d4497));}catch(_0x540f53){}}['_startHeartbeat'](_0x3c67da){const _0x3a6f3e=a0_0xd1aa41,_0x35a396={'fTowq':_0x3a6f3e(0x101),'cvwFC':function(_0x14d455,_0x211ea1,_0x43dfc9){return _0x14d455(_0x211ea1,_0x43dfc9);}};this[_0x3a6f3e(0x159)]=_0x35a396[_0x3a6f3e(0x129)](setInterval,()=>{const _0x1c054c=_0x3a6f3e;if(!this[_0x1c054c(0x144)])return;for(const _0x316949 of this['_wss'][_0x1c054c(0x123)]){if(!_0x316949['isAlive']){this['_removeClientFromAllChannels'](_0x316949),_0x316949['terminate']();continue;}_0x316949['isAlive']=![],this[_0x1c054c(0xe9)](_0x316949,{'type':_0x35a396[_0x1c054c(0x140)],'timestamp':new Date()['toISOString']()});try{_0x316949[_0x1c054c(0x101)]();}catch(_0x5d6c08){}}},_0x3c67da*0x3e8);}['_setupRedisPublisher'](){const _0x4835c3=a0_0xd1aa41,_0x936919={'UNkBK':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','JOuEV':function(_0x16b291,_0x509a0c,_0x5d891f){return _0x16b291(_0x509a0c,_0x5d891f);},'lDEqB':_0x4835c3(0x11e)};this[_0x4835c3(0x156)]=![];try{try{const _0xdb1b19=require('../../utils/redis-client');this[_0x4835c3(0x12c)]=_0xdb1b19[_0x4835c3(0x137)]?_0xdb1b19['getClient']():null;}catch(_0x1f1c98){this['_redisPublisher']=null;}if(!this[_0x4835c3(0x12c)]){const _0x1bba85=require(_0x4835c3(0x15c)),_0x1be442={'host':process['env'][_0x4835c3(0x165)]||_0x4835c3(0x11c),'port':_0x936919['JOuEV'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x936919[_0x4835c3(0x124)](parseInt,process[_0x4835c3(0x145)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x4835c3(0x12c)]=new _0x1bba85(_0x1be442),this[_0x4835c3(0x156)]=!![],this[_0x4835c3(0x12c)]['connect']()[_0x4835c3(0x15b)](()=>{const _0x4a0e2f=_0x4835c3;this['_logger'][_0x4a0e2f(0x15f)]({'event':_0x4a0e2f(0x130)},_0x936919['UNkBK']),this['_redisPublisher']=null;});}}catch(_0xb9cff6){this[_0x4835c3(0xe4)][_0x4835c3(0x15f)]({'event':_0x936919[_0x4835c3(0xe0)],'error':_0xb9cff6['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0xb9cff6[_0x4835c3(0x16b)]);}}['_setupRedis'](){const _0x29dab4=a0_0xd1aa41,_0x59811e={'akRbN':_0x29dab4(0x130),'mwUgD':'livesync_redis_subscribe_error','QtKqj':_0x29dab4(0x152),'Qsdmr':function(_0x292871,_0x8ddd41){return _0x292871===_0x8ddd41;},'euTDF':'message','iAezr':'livesync_redis_subscriber_failed','AsOte':_0x29dab4(0x15c),'JqqZN':_0x29dab4(0x11c),'uKhoW':function(_0x4ef2fc,_0x1e529f,_0x3f566b){return _0x4ef2fc(_0x1e529f,_0x3f566b);},'bPOvL':'../../utils/redis-client'};this[_0x29dab4(0x156)]=![];try{const _0x261c79=require(_0x59811e[_0x29dab4(0x10b)]),_0x2e8540={'host':process[_0x29dab4(0x145)][_0x29dab4(0x165)]||_0x59811e[_0x29dab4(0x167)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x29dab4(0xe5)]||undefined,'db':_0x59811e[_0x29dab4(0xd9)](parseInt,process['env'][_0x29dab4(0x14f)],0xa)||0x0,'lazyConnect':!![]};try{const _0x328d8a=require(_0x59811e[_0x29dab4(0x13f)]);this[_0x29dab4(0x12c)]=_0x328d8a[_0x29dab4(0x137)]?_0x328d8a['getClient']():null;}catch(_0xfbcb51){this[_0x29dab4(0x12c)]=null;}!this[_0x29dab4(0x12c)]&&(this['_redisPublisher']=new _0x261c79(_0x2e8540),this[_0x29dab4(0x156)]=!![],this['_redisPublisher'][_0x29dab4(0xfd)]()['catch'](()=>{const _0x510ae3=_0x29dab4;this['_logger'][_0x510ae3(0x15f)]({'event':_0x59811e[_0x510ae3(0x150)]},_0x510ae3(0x12b)),this['_redisPublisher']=null;})),this[_0x29dab4(0x116)]=new _0x261c79(_0x2e8540),this['_redisSubscriber']['connect']()[_0x29dab4(0x157)](()=>{const _0x651a7b=_0x29dab4;this[_0x651a7b(0x116)][_0x651a7b(0xf5)](REDIS_CHANNEL_PREFIX+_0x651a7b(0x117),_0x3d7a25=>{const _0x284b2b=_0x651a7b;if(_0x3d7a25){this[_0x284b2b(0xe4)]['error']({'event':_0x59811e['mwUgD'],'error':_0x3d7a25[_0x284b2b(0x16b)]},_0x284b2b(0x119)+_0x3d7a25[_0x284b2b(0x16b)]);return;}this[_0x284b2b(0xe4)]['info']({'event':_0x59811e['QtKqj']},_0x284b2b(0x114));}),this[_0x651a7b(0x116)]['on'](_0x59811e['euTDF'],(_0x339fac,_0x3d6354)=>{const _0x25ed16=_0x651a7b;try{const _0x4dfde5=JSON[_0x25ed16(0xf4)](_0x3d6354);if(_0x59811e['Qsdmr'](_0x4dfde5['workerId'],this['_workerId']))return;this[_0x25ed16(0xda)](_0x4dfde5[_0x25ed16(0x12e)],_0x4dfde5['message']);}catch(_0x391dc0){}});})[_0x29dab4(0x15b)](()=>{const _0x5813cf=_0x29dab4;this[_0x5813cf(0xe4)]['warn']({'event':_0x59811e['iAezr']},_0x5813cf(0x135)),this['_redisSubscriber']=null;});}catch(_0x24662b){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x24662b[_0x29dab4(0x16b)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x24662b[_0x29dab4(0x16b)]);}}[a0_0xd1aa41(0xda)](_0x19f0ec,_0x38a6ec){const _0x15cb34=a0_0xd1aa41,_0x11c0d5={'mNSiM':function(_0xef52eb,_0x5a1f9d){return _0xef52eb===_0x5a1f9d;},'Afxsl':function(_0x583edb,_0x30fdd7){return _0x583edb===_0x30fdd7;},'agFiu':function(_0x37b6f0,_0x93929e){return _0x37b6f0||_0x93929e;},'mzAhZ':function(_0x2c404a,_0xa3be4b){return _0x2c404a===_0xa3be4b;}};if(!this['_wss'])return;const _0x2bd32a=JSON['stringify']({'type':_0x15cb34(0x168),'channel':_0x19f0ec,'action':_0x38a6ec[_0x15cb34(0x153)],'data':_0x38a6ec['data'],'requestId':_0x38a6ec[_0x15cb34(0x131)]||null,'timestamp':new Date()[_0x15cb34(0x136)]()}),[_0x4b4812]=_0x19f0ec['split'](':');for(const [_0x1e9126,_0x29bbd3]of this['_subscriptions']){const _0x1791e0=_0x11c0d5[_0x15cb34(0xf0)](_0x1e9126,_0x19f0ec),_0x71582f=_0x11c0d5['Afxsl'](_0x1e9126,_0x4b4812+':*');if(_0x11c0d5[_0x15cb34(0x13d)](_0x1791e0,_0x71582f))for(const _0x415288 of _0x29bbd3){if(_0x11c0d5['mzAhZ'](_0x415288['readyState'],0x1))try{_0x415288[_0x15cb34(0x15e)](_0x2bd32a);}catch(_0x5c4bf1){}}}}}module['exports']=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0x372f5e=a0_0x23f3;function a0_0x23f3(_0x31038b,_0x2e11e8){_0x31038b=_0x31038b-0xfc;const _0x22ca9b=a0_0x22ca();let _0x23f38b=_0x22ca9b[_0x31038b];if(a0_0x23f3['gLlujm']===undefined){var _0x123266=function(_0x40a193){const _0x595f1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bd3da='',_0x200f1b='';for(let _0xe884a5=0x0,_0x25c1d6,_0x41b8ca,_0x384871=0x0;_0x41b8ca=_0x40a193['charAt'](_0x384871++);~_0x41b8ca&&(_0x25c1d6=_0xe884a5%0x4?_0x25c1d6*0x40+_0x41b8ca:_0x41b8ca,_0xe884a5++%0x4)?_0x2bd3da+=String['fromCharCode'](0xff&_0x25c1d6>>(-0x2*_0xe884a5&0x6)):0x0){_0x41b8ca=_0x595f1a['indexOf'](_0x41b8ca);}for(let _0x7fd0ae=0x0,_0x3b52f9=_0x2bd3da['length'];_0x7fd0ae<_0x3b52f9;_0x7fd0ae++){_0x200f1b+='%'+('00'+_0x2bd3da['charCodeAt'](_0x7fd0ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200f1b);};a0_0x23f3['hfDxME']=_0x123266,a0_0x23f3['eapntQ']={},a0_0x23f3['gLlujm']=!![];}const _0x37b37b=_0x22ca9b[0x0],_0x4d25d9=_0x31038b+_0x37b37b,_0x38a45d=a0_0x23f3['eapntQ'][_0x4d25d9];return!_0x38a45d?(_0x23f38b=a0_0x23f3['hfDxME'](_0x23f38b),a0_0x23f3['eapntQ'][_0x4d25d9]=_0x23f38b):_0x23f38b=_0x38a45d,_0x23f38b;}(function(_0x5d72bd,_0x461963){const _0x2a8ffd=a0_0x23f3,_0x145ed9=_0x5d72bd();while(!![]){try{const _0xdc1526=parseInt(_0x2a8ffd(0x13d))/0x1*(parseInt(_0x2a8ffd(0x117))/0x2)+parseInt(_0x2a8ffd(0x131))/0x3+-parseInt(_0x2a8ffd(0x151))/0x4+-parseInt(_0x2a8ffd(0x13e))/0x5*(parseInt(_0x2a8ffd(0x10d))/0x6)+-parseInt(_0x2a8ffd(0x120))/0x7*(parseInt(_0x2a8ffd(0x139))/0x8)+parseInt(_0x2a8ffd(0x167))/0x9*(parseInt(_0x2a8ffd(0x141))/0xa)+parseInt(_0x2a8ffd(0x10b))/0xb*(-parseInt(_0x2a8ffd(0x181))/0xc);if(_0xdc1526===_0x461963)break;else _0x145ed9['push'](_0x145ed9['shift']());}catch(_0x41b221){_0x145ed9['push'](_0x145ed9['shift']());}}}(a0_0x22ca,0x5143a));function a0_0x22ca(){const _0x1b6d88=['C2H1DgrVD24','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvTB3zLqwXStgLZDgvUzxjZ','ChvIBgLZAgvY','x3b1yMXPC2HuB1jLzgLZ','EvH5zvO','AgvHzgvYCW','x2HHBMrSzvvUC3vIC2nYAwjL','Bg9JywXOB3n0','uKvesvnFue9sva','nhW4Fdn8oxW2Fdj8mxW1Fdb8nW','t3PfwwS','Bg9Nz2vY','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','Dg9ju09tDhjPBMC','C2vUza','y29UBMvJDgLVBG','y2f0y2G','CwPyuK8','DxjS','nJa3mdC2nfvXCwL6Aq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','BgL2zxn5BMnFyNjVywrJyxn0','Dg9Osha','y2XLyxi','uKvesvnFrei','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','vLPzwu4','x293BLb1yMXPC2HLCG','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x3n0yxj0sgvHCNrIzwf0','Aw9YzwrPCW','z2v0q2XPzw50','AKrbDLC','tgL2zsbtEw5Jia','zgf0yq','Dg9tDhjPBMC','Cg9UzW','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','x2XVz2DLCG','x3nLDhvWuMvKAxm','D3jPDgu','ChvZAa','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mtf3CwDJweS','BwvZC2fNzq','mtj5wxzgA0G','D2fYBG','z2v0','x21Vzgu','z2rnsM4','lI4VlI4VDxrPBhmVBg9Nz2vY','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','C3rYAw5N','ywn0Aw9U','zgvSzxrL','nKPtv1vAtq','x3nLBMruB0nSAwvUDa','DNzfEvm','zgvIDwC','zxjYB3i','C3vIC2nYAwjLzenOyw5UzwXZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2XVC2u','x2LUAxrPywXPEMvK','mtrIyKv3AMq','CgLUzW','yxbPs2v5','AgfZ','CxvPDa','tejoqMu','DM9HD3a','x2HHBMrSzunVBM5Ly3rPB24','v2v5whO','x2HHBMrSzvn1yNnJCMLIzq','y2XPzw50CW','AxnbCNjHEq','rNzyz2y','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','yNvkwxm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','CMvTB3rLqwrKCMvZCW','mtm3mtm2ouzUtKHVzW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','ueDuzLe','x3DVCMTLCKLK','ihrVia','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x29WDgLVBNm','mZeZmtKYtxPnt015','l3DZ','wxztBgS','AxnbBgL2zq','mtuYndu1B1zpC0Hc','nta5mJu1Dfj1BwP1','C3bSAxq','AMfNDKq','otuYmJbWEg9XvK8','Aw5PDgLHBgL6zq','y2HHBM5LBhm','Aw5MBW','C2vHCMnOugfYyw1Z','x3jLzgLZuhvIBgLZAgvY','zw52','AgfUzgXLvxbNCMfKzq','Ec1MB3j3yxjKzwqTzM9Y','Aw5JBhvKzxm','y29UBMvJDa','uxDNsMS','C2L6zq','zw1PDa','D29YA2vYswq','x2HLyxj0yMvHDfrPBwvY','mty1mdy1mLb5u01gEa','x3DZCW','x3n1yNnJCMLWDgLVBNm','BgvUz3rO','s3DPAKS','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgvZDhjVEq','AM9PBG','rgLnu2O','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3jLzgLZu3vIC2nYAwjLCG','zgf0yv9JAgfUz2u','C3rYAw5NAwz5','yNjVywrJyxn0','x3nLDhvWvxbNCMfKzuf1DgG','sw52ywXPzcbku09oig1LC3nHz2u','CMvHzhLtDgf0zq','Dw5ZDwjZy3jPyMvK','C3PfqNC','vvPXvNK','mxWYFdr8m3W1Fdz8ma','ntG1sKfuDwXp','vvvyuxi','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','rMzxDLa','DxbNCMfKzq'];a0_0x22ca=function(){return _0x1b6d88;};return a0_0x22ca();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x372f5e(0x180)),REDIS_CHANNEL_PREFIX=a0_0x372f5e(0x16d);class WebSocketBroadcaster{constructor(){const _0x2eacf8=a0_0x372f5e,_0x307427=_0x2eacf8(0x176)[_0x2eacf8(0x13f)]('|');let _0x57c5d0=0x0;while(!![]){switch(_0x307427[_0x57c5d0++]){case'0':this[_0x2eacf8(0x15c)]=null;continue;case'1':this[_0x2eacf8(0x150)]=null;continue;case'2':this['_subscriptions']=new Map();continue;case'3':this[_0x2eacf8(0x110)]=null;continue;case'4':this[_0x2eacf8(0x152)]=null;continue;case'5':this[_0x2eacf8(0x146)]=null;continue;case'6':this[_0x2eacf8(0x106)]=console;continue;case'7':this[_0x2eacf8(0x135)]=process['pid'];continue;case'8':this[_0x2eacf8(0x11f)]=![];continue;case'9':this[_0x2eacf8(0x138)]={};continue;}break;}}[a0_0x372f5e(0x142)](_0xab9ad,_0x1bcaab={}){const _0xb48989=a0_0x372f5e,_0x33c80a={'mODFv':'livesync_wss_error','vESil':'full','cRbUX':function(_0x3cc4d6,_0x359477){return _0x3cc4d6(_0x359477);},'KwijK':_0xb48989(0x112),'IeHNg':function(_0x23c743,_0x55b581,_0x574a0d){return _0x23c743(_0x55b581,_0x574a0d);},'UswLz':_0xb48989(0x13a),'rpmIq':'error','QwgJk':'livesync_initialized'};if(this['_initialized'])return;this[_0xb48989(0x138)]=_0x1bcaab,this[_0xb48989(0x110)]=_0x33c80a['vESil'];try{this['_logger']=_0x33c80a['cRbUX'](require,_0x33c80a[_0xb48989(0x155)])[_0xb48989(0x178)]||console;}catch(_0x378c3f){this[_0xb48989(0x106)]=console;}const _0x44ca13=_0x33c80a['IeHNg'](parseInt,process['env'][_0xb48989(0x169)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0xab9ad,'path':_0x33c80a['UswLz']}),this[_0xb48989(0x160)](_0xab9ad),this[_0xb48989(0x152)]['on'](_0xb48989(0x17d),(_0x554b64,_0x3e8020)=>this['_handleConnection'](_0x554b64,_0x3e8020)),this['_wss']['on'](_0x33c80a['rpmIq'],_0x55a804=>{const _0x5c11d7=_0xb48989;this['_logger'][_0x5c11d7(0x11b)]({'event':_0x33c80a['mODFv'],'error':_0x55a804[_0x5c11d7(0x10c)]},_0x5c11d7(0x182)+_0x55a804['message']);}),this['_startHeartbeat'](_0x44ca13),this[_0xb48989(0x107)](),this[_0xb48989(0x11f)]=!![],this[_0xb48989(0x106)]['info']({'event':_0x33c80a[_0xb48989(0x14c)],'mode':'full','path':_0x33c80a['UswLz'],'heartbeat':_0x44ca13+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x44ca13+'s)');}['initializeAsPublisher'](_0x3a8933={}){const _0x831b24=a0_0x372f5e,_0x246272={'LZSpR':_0x831b24(0x113),'jsnTy':'publisher'},_0x523df0=_0x831b24(0x166)['split']('|');let _0x1029c8=0x0;while(!![]){switch(_0x523df0[_0x1029c8++]){case'0':this['_logger']['info']({'event':_0x246272['LZSpR'],'mode':_0x246272['jsnTy']},_0x831b24(0x12f));continue;case'1':if(this['_initialized'])return;continue;case'2':this['_options']=_0x3a8933;continue;case'3':try{this['_logger']=require(_0x831b24(0x112))[_0x831b24(0x178)]||console;}catch(_0x593bfb){this['_logger']=console;}continue;case'4':this[_0x831b24(0x110)]=_0x831b24(0x16f);continue;case'5':this['_setupRedisPublisher']();continue;case'6':this[_0x831b24(0x11f)]=!![];continue;}break;}}[a0_0x372f5e(0x132)](){return this['_initialized'];}['broadcast'](_0x1200d0,_0x2ded82){const _0x182024=a0_0x372f5e,_0x1bc5f9={'VZYYN':'publisher','sxyRZ':_0x182024(0x15d),'jagvD':function(_0x5322e5,_0x1d4ba9){return _0x5322e5===_0x1d4ba9;},'PGTfQ':function(_0x3d102f,_0xde4285){return _0x3d102f===_0xde4285;}};if(!this['_initialized'])return;if(this[_0x182024(0x110)]===_0x1bc5f9[_0x182024(0x188)]){this[_0x182024(0x170)](_0x1200d0,_0x2ded82);return;}const _0x196d9b=JSON[_0x182024(0x15e)]({'type':_0x1bc5f9['sxyRZ'],'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'data':_0x2ded82[_0x182024(0x102)],'requestId':_0x2ded82['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x4961e6]=_0x1200d0['split'](':');let _0x250abd=0x0;for(const [_0x5a94e8,_0x470869]of this[_0x182024(0x153)]){const _0x3aea0c=_0x1bc5f9[_0x182024(0x140)](_0x5a94e8,_0x1200d0),_0x14419d=_0x1bc5f9[_0x182024(0x134)](_0x5a94e8,_0x4961e6+':*');if(_0x3aea0c||_0x14419d)for(const _0x20f206 of _0x470869){if(_0x20f206['readyState']===0x1)try{_0x20f206['send'](_0x196d9b),_0x250abd++;}catch(_0x2fc231){}}}_0x250abd>0x0&&this[_0x182024(0x106)]['debug']({'event':_0x182024(0x183),'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'clients':_0x250abd},'Broadcast\x20'+_0x2ded82['action']+'\x20on\x20'+_0x1200d0+_0x182024(0x136)+_0x250abd+'\x20client(s)');}[a0_0x372f5e(0x170)](_0x421db4,_0x38100b){const _0x443d76=a0_0x372f5e;if(!this['_redisPublisher'])return;const _0x583a97=JSON['stringify']({'channel':_0x421db4,'message':_0x38100b,'workerId':this[_0x443d76(0x135)]});this[_0x443d76(0x146)]['publish'](REDIS_CHANNEL_PREFIX+_0x443d76(0x15f),_0x583a97)['catch'](()=>{});}[a0_0x372f5e(0x16c)](){const _0x446d4d=a0_0x372f5e,_0x4e4a46={'gdMJn':function(_0x583e08,_0x28cd0c){return _0x583e08(_0x28cd0c);},'iNxZS':'livesync_shutdown'};if(!this[_0x446d4d(0x11f)])return;this[_0x446d4d(0x150)]&&(_0x4e4a46[_0x446d4d(0x111)](clearInterval,this[_0x446d4d(0x150)]),this[_0x446d4d(0x150)]=null);if(this['_wss']){for(const _0x124f80 of this['_wss']['clients']){try{_0x124f80['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x1be8a4){}}this['_wss'][_0x446d4d(0x11e)]();}if(this[_0x446d4d(0x15c)])try{this['_redisSubscriber']['unsubscribe'](),this[_0x446d4d(0x15c)]['quit']();}catch(_0x3916ec){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x446d4d(0x146)][_0x446d4d(0x124)]();}catch(_0x23f4a2){}this[_0x446d4d(0x153)]['clear'](),this[_0x446d4d(0x11f)]=![],this['_logger'][_0x446d4d(0x144)]({'event':_0x4e4a46['iNxZS'],'mode':this[_0x446d4d(0x110)]},_0x446d4d(0x101)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x39f191){const _0x57de52=a0_0x372f5e,_0x1ad51d={'YCVKW':function(_0x289b67,_0xee3ed2){return _0x289b67!==_0xee3ed2;},'qjXRO':'upgrade'},_0x1cab2f=_0x39f191['listeners'](_0x1ad51d[_0x57de52(0x17f)])['slice']();_0x39f191[_0x57de52(0x16e)](_0x57de52(0x16b)),_0x39f191['on'](_0x1ad51d[_0x57de52(0x17f)],(_0x3b1054,_0x2df1a5,_0x149738)=>{const _0x5c1a69=_0x57de52;if(!_0x3b1054['url']||!_0x3b1054[_0x5c1a69(0x180)]['startsWith']('/ws')){for(const _0x53f7e5 of _0x1cab2f){_0x53f7e5['call'](_0x39f191,_0x3b1054,_0x2df1a5,_0x149738);}return;}if(this[_0x5c1a69(0x138)]['apiKey']){const _0x528fef=new URL(_0x3b1054['url'],'http://'+(_0x3b1054[_0x5c1a69(0x172)]['host']||_0x5c1a69(0x174))),_0x5f035a=_0x528fef[_0x5c1a69(0x145)][_0x5c1a69(0x10f)]('x-api-key')||_0x3b1054[_0x5c1a69(0x172)]['x-api-key'];if(!_0x5f035a||_0x1ad51d['YCVKW'](_0x5f035a,this[_0x5c1a69(0x138)][_0x5c1a69(0x122)])){_0x2df1a5[_0x5c1a69(0x108)](_0x5c1a69(0x105)),_0x2df1a5[_0x5c1a69(0x158)]();return;}}this['_wss'][_0x5c1a69(0x148)](_0x3b1054,_0x2df1a5,_0x149738,_0x8bd5a2=>{const _0x2ce7ec=_0x5c1a69;this['_wss'][_0x2ce7ec(0x14e)]('connection',_0x8bd5a2,_0x3b1054);});});}[a0_0x372f5e(0x127)](_0x416d16,_0x492cf1){const _0x176d71=a0_0x372f5e,_0x177152={'voawp':'error','xkGcM':_0x176d71(0xfc),'YWPUC':'message','OzEYk':_0x176d71(0x11e)};_0x416d16['isAlive']=!![],_0x416d16[_0x176d71(0x11c)]=new Set();const _0x910abf=_0x492cf1['headers'][_0x176d71(0x149)]||_0x492cf1['socket'][_0x176d71(0x130)];this['_logger'][_0x176d71(0x144)]({'event':_0x176d71(0x15b),'ip':_0x910abf},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x910abf),_0x416d16['on'](_0x176d71(0x104),()=>{_0x416d16['isAlive']=!![];}),_0x416d16['on'](_0x177152['YWPUC'],_0xbaf3a7=>{const _0xf2cc17=_0x176d71;try{const _0x1ae148=JSON['parse'](_0xbaf3a7[_0xf2cc17(0x103)]());this['_handleClientMessage'](_0x416d16,_0x1ae148);}catch(_0x32b23d){this[_0xf2cc17(0x118)](_0x416d16,{'type':_0x177152[_0xf2cc17(0x126)],'message':_0xf2cc17(0x161)});}}),_0x416d16['on'](_0x177152[_0x176d71(0x177)],()=>{const _0x30935d=_0x176d71;this['_removeClientFromAllChannels'](_0x416d16),this['_logger'][_0x30935d(0x11a)]({'event':'livesync_client_disconnected','ip':_0x910abf},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x910abf);}),_0x416d16['on'](_0x177152['voawp'],_0x4bf295=>{const _0x42849f=_0x176d71;this['_logger'][_0x42849f(0x10e)]({'event':_0x177152['xkGcM'],'error':_0x4bf295['message']},'WebSocket\x20client\x20error:\x20'+_0x4bf295['message']),this[_0x42849f(0x187)](_0x416d16);});}[a0_0x372f5e(0x157)](_0x4734a9,_0x4f9e64){const _0x198162=a0_0x372f5e,_0x1ca489={'hScjj':'subscribe','DiMSj':'unsubscribe','UkiSa':'pong','sGBqx':_0x198162(0x11b)};switch(_0x4f9e64['type']){case _0x1ca489['hScjj']:this[_0x198162(0x129)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489[_0x198162(0x15a)]:this[_0x198162(0x173)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489['UkiSa']:_0x4734a9['isAlive']=!![];break;default:this[_0x198162(0x118)](_0x4734a9,{'type':_0x1ca489['sGBqx'],'message':'Unknown\x20message\x20type:\x20'+_0x4f9e64['type']});}}['_handleSubscribe'](_0x57d6cd,_0x26dcd3){const _0x5e2fdc=a0_0x372f5e,_0xab6644={'buJYs':function(_0x5eb06c,_0x477ffe){return _0x5eb06c===_0x477ffe;},'OYNmN':'channels\x20must\x20be\x20a\x20non-empty\x20array','szEBw':_0x5e2fdc(0x114),'yXyeZ':function(_0x57f385,_0xab3609){return _0x57f385>_0xab3609;},'Xkqlz':'subscribed','QoXnT':'livesync_subscribe'};if(!Array['isArray'](_0x26dcd3)||_0xab6644[_0x5e2fdc(0x12e)](_0x26dcd3[_0x5e2fdc(0x154)],0x0)){this[_0x5e2fdc(0x118)](_0x57d6cd,{'type':'error','message':_0xab6644['OYNmN']});return;}const _0x534193=[];for(const _0x2e8db9 of _0x26dcd3){if(typeof _0x2e8db9!==_0xab6644[_0x5e2fdc(0x164)]||!_0x2e8db9[_0x5e2fdc(0x14a)](':'))continue;!this['_subscriptions'][_0x5e2fdc(0x123)](_0x2e8db9)&&this['_subscriptions']['set'](_0x2e8db9,new Set()),this[_0x5e2fdc(0x153)][_0x5e2fdc(0x10f)](_0x2e8db9)['add'](_0x57d6cd),_0x57d6cd['subscribedChannels']['add'](_0x2e8db9),_0x534193[_0x5e2fdc(0x109)](_0x2e8db9);}_0xab6644[_0x5e2fdc(0x171)](_0x534193[_0x5e2fdc(0x154)],0x0)&&(this['_sendToClient'](_0x57d6cd,{'type':_0xab6644['Xkqlz'],'channels':_0x534193,'timestamp':new Date()[_0x5e2fdc(0x17b)]()}),this['_logger']['debug']({'event':_0xab6644['QoXnT'],'channels':_0x534193},_0x5e2fdc(0x156)+_0x534193[_0x5e2fdc(0x159)](',\x20')));}[a0_0x372f5e(0x173)](_0x35a56c,_0x1a2ba0){const _0x9ccc5=a0_0x372f5e;if(!Array[_0x9ccc5(0x12b)](_0x1a2ba0))return;const _0x2913c5=[];for(const _0x47c71c of _0x1a2ba0){this[_0x9ccc5(0x153)][_0x9ccc5(0x123)](_0x47c71c)&&(this['_subscriptions']['get'](_0x47c71c)[_0x9ccc5(0x116)](_0x35a56c),this['_subscriptions'][_0x9ccc5(0x10f)](_0x47c71c)['size']===0x0&&this[_0x9ccc5(0x153)][_0x9ccc5(0x116)](_0x47c71c)),_0x35a56c[_0x9ccc5(0x11c)][_0x9ccc5(0x116)](_0x47c71c),_0x2913c5[_0x9ccc5(0x109)](_0x47c71c);}_0x2913c5[_0x9ccc5(0x154)]>0x0&&this['_sendToClient'](_0x35a56c,{'type':_0x9ccc5(0x163),'channels':_0x2913c5,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x4edcd1){const _0x418cdf=a0_0x372f5e,_0x2df7a8={'YvSlk':function(_0x341038,_0x3d2da7){return _0x341038===_0x3d2da7;}};if(!_0x4edcd1[_0x418cdf(0x11c)])return;for(const _0x565952 of _0x4edcd1['subscribedChannels']){this['_subscriptions'][_0x418cdf(0x123)](_0x565952)&&(this[_0x418cdf(0x153)][_0x418cdf(0x10f)](_0x565952)['delete'](_0x4edcd1),_0x2df7a8[_0x418cdf(0x13b)](this['_subscriptions']['get'](_0x565952)[_0x418cdf(0x14d)],0x0)&&this[_0x418cdf(0x153)]['delete'](_0x565952));}_0x4edcd1[_0x418cdf(0x11c)][_0x418cdf(0x185)]();}['_sendToClient'](_0x3142fb,_0x562403){const _0x554fdc=a0_0x372f5e;if(_0x3142fb['readyState']===0x1)try{_0x3142fb[_0x554fdc(0x17c)](JSON[_0x554fdc(0x15e)](_0x562403));}catch(_0x38c932){}}[a0_0x372f5e(0xfd)](_0x551840){const _0x151689=a0_0x372f5e,_0x18f579={'msGCz':_0x151689(0x121),'FvXgf':function(_0x1b4cb7,_0x2e3887,_0x13724a){return _0x1b4cb7(_0x2e3887,_0x13724a);}};this[_0x151689(0x150)]=_0x18f579[_0x151689(0x12c)](setInterval,()=>{const _0x30cbc4=_0x151689;if(!this['_wss'])return;for(const _0x54ef0f of this[_0x30cbc4(0x152)][_0x30cbc4(0x12a)]){if(!_0x54ef0f[_0x30cbc4(0x13c)]){this[_0x30cbc4(0x187)](_0x54ef0f),_0x54ef0f['terminate']();continue;}_0x54ef0f['isAlive']=![],this['_sendToClient'](_0x54ef0f,{'type':_0x18f579['msGCz'],'timestamp':new Date()[_0x30cbc4(0x17b)]()});try{_0x54ef0f[_0x30cbc4(0x121)]();}catch(_0x5b6462){}}},_0x551840*0x3e8);}['_setupRedisPublisher'](){const _0x24dd25=a0_0x372f5e,_0xbcaf5c={'WeyXz':function(_0x355ac0,_0x34e700){return _0x355ac0(_0x34e700);},'yhnUf':'ioredis','LBNBe':_0x24dd25(0x179)};this[_0x24dd25(0x189)]=![];try{try{const _0x389ca1=_0xbcaf5c[_0x24dd25(0x128)](require,_0x24dd25(0x10a));this['_redisPublisher']=_0x389ca1[_0x24dd25(0xff)]?_0x389ca1['getClient']():null;}catch(_0x201a61){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x352b73=require(_0xbcaf5c['yhnUf']),_0x40ed43={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x24dd25(0x147)][_0x24dd25(0x175)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x24dd25(0x186)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x352b73(_0x40ed43),this['_ownPublisher']=!![],this[_0x24dd25(0x146)][_0x24dd25(0x14b)]()[_0x24dd25(0x17e)](()=>{const _0x127fea=_0x24dd25;this[_0x127fea(0x106)]['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x422127){this['_logger'][_0x24dd25(0x10e)]({'event':_0xbcaf5c[_0x24dd25(0x125)],'error':_0x422127['message']},_0x24dd25(0x137)+_0x422127[_0x24dd25(0x10c)]);}}['_setupRedis'](){const _0x138b6e=a0_0x372f5e,_0x16466a={'qgOvR':'livesync_redis_publisher_failed','vvEyS':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','FfWvP':function(_0x17e423,_0x45416a){return _0x17e423===_0x45416a;},'UUXQr':function(_0x50f65a,_0x33340c){return _0x50f65a(_0x33340c);},'Nfipr':_0x138b6e(0xfe),'geVwM':function(_0x1c8f1a,_0x2dba0c,_0x3eb95a){return _0x1c8f1a(_0x2dba0c,_0x3eb95a);},'wIMSN':function(_0xad4225,_0x1c09e3,_0x23fc9f){return _0xad4225(_0x1c09e3,_0x23fc9f);},'HjrIz':function(_0x11d7ee,_0x5c1176){return _0x11d7ee(_0x5c1176);},'YwfcU':_0x138b6e(0x10a),'UZqVy':_0x138b6e(0x179)};this[_0x138b6e(0x189)]=![];try{const _0x121f4b=_0x16466a[_0x138b6e(0x168)](require,_0x16466a['Nfipr']),_0x374078={'host':process[_0x138b6e(0x147)]['REDIS_HOST']||_0x138b6e(0x133),'port':_0x16466a['geVwM'](parseInt,process[_0x138b6e(0x147)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x16466a['wIMSN'](parseInt,process[_0x138b6e(0x147)][_0x138b6e(0x186)],0xa)||0x0,'lazyConnect':!![]};try{const _0x16f94c=_0x16466a['HjrIz'](require,_0x16466a['YwfcU']);this[_0x138b6e(0x146)]=_0x16f94c[_0x138b6e(0xff)]?_0x16f94c[_0x138b6e(0xff)]():null;}catch(_0x5c140d){this['_redisPublisher']=null;}!this[_0x138b6e(0x146)]&&(this[_0x138b6e(0x146)]=new _0x121f4b(_0x374078),this['_ownPublisher']=!![],this[_0x138b6e(0x146)]['connect']()['catch'](()=>{const _0x1952d6=_0x138b6e;this['_logger']['warn']({'event':_0x16466a['qgOvR']},_0x16466a[_0x1952d6(0x119)]),this[_0x1952d6(0x146)]=null;})),this['_redisSubscriber']=new _0x121f4b(_0x374078),this[_0x138b6e(0x15c)]['connect']()['then'](()=>{this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2de2da=>{const _0x1a9f09=a0_0x23f3;if(_0x2de2da){this[_0x1a9f09(0x106)]['error']({'event':'livesync_redis_subscribe_error','error':_0x2de2da['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x2de2da['message']);return;}this[_0x1a9f09(0x106)][_0x1a9f09(0x144)]({'event':_0x1a9f09(0x17a)},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on']('message',(_0x3b0662,_0x50b08e)=>{const _0x589e9c=a0_0x23f3;try{const _0x2496e5=JSON['parse'](_0x50b08e);if(_0x16466a[_0x589e9c(0x16a)](_0x2496e5[_0x589e9c(0x14f)],this[_0x589e9c(0x135)]))return;this['_broadcastLocal'](_0x2496e5['channel'],_0x2496e5['message']);}catch(_0x318863){}});})['catch'](()=>{const _0xa67d2a=_0x138b6e;this['_logger'][_0xa67d2a(0x10e)]({'event':'livesync_redis_subscriber_failed'},_0xa67d2a(0x12d)),this[_0xa67d2a(0x15c)]=null;});}catch(_0x5581f9){this[_0x138b6e(0x106)][_0x138b6e(0x10e)]({'event':_0x16466a[_0x138b6e(0x165)],'error':_0x5581f9['message']},_0x138b6e(0x11d)+_0x5581f9['message']);}}['_broadcastLocal'](_0x466a3d,_0x1c35d6){const _0x48b69f=a0_0x372f5e,_0x4e97fd={'tohHp':function(_0x47e604,_0x4eea46){return _0x47e604===_0x4eea46;},'jDAvW':function(_0x5de882,_0x122378){return _0x5de882||_0x122378;}};if(!this['_wss'])return;const _0x343979=JSON[_0x48b69f(0x15e)]({'type':'data_change','channel':_0x466a3d,'action':_0x1c35d6['action'],'data':_0x1c35d6[_0x48b69f(0x102)],'requestId':_0x1c35d6['requestId']||null,'timestamp':new Date()[_0x48b69f(0x17b)]()}),[_0x4806a6]=_0x466a3d['split'](':');for(const [_0x101f40,_0x4b1644]of this[_0x48b69f(0x153)]){const _0x57229f=_0x4e97fd[_0x48b69f(0x184)](_0x101f40,_0x466a3d),_0x19cb09=_0x101f40===_0x4806a6+':*';if(_0x4e97fd[_0x48b69f(0x100)](_0x57229f,_0x19cb09))for(const _0x1d7a69 of _0x4b1644){if(_0x4e97fd['tohHp'](_0x1d7a69[_0x48b69f(0x162)],0x1))try{_0x1d7a69[_0x48b69f(0x17c)](_0x343979);}catch(_0x4bff84){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5018(_0x2d7f07,_0x400fb3){_0x2d7f07=_0x2d7f07-0x18d;const _0x181ac2=a0_0x181a();let _0x50182a=_0x181ac2[_0x2d7f07];if(a0_0x5018['giWATT']===undefined){var _0x5d5c7e=function(_0x4eb2bc){const _0xc0a26a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58aee9='',_0x319489='';for(let _0x375f76=0x0,_0x26a830,_0x27dcb3,_0x391783=0x0;_0x27dcb3=_0x4eb2bc['charAt'](_0x391783++);~_0x27dcb3&&(_0x26a830=_0x375f76%0x4?_0x26a830*0x40+_0x27dcb3:_0x27dcb3,_0x375f76++%0x4)?_0x58aee9+=String['fromCharCode'](0xff&_0x26a830>>(-0x2*_0x375f76&0x6)):0x0){_0x27dcb3=_0xc0a26a['indexOf'](_0x27dcb3);}for(let _0x3a2206=0x0,_0x17294b=_0x58aee9['length'];_0x3a2206<_0x17294b;_0x3a2206++){_0x319489+='%'+('00'+_0x58aee9['charCodeAt'](_0x3a2206)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x319489);};a0_0x5018['dfvLgc']=_0x5d5c7e,a0_0x5018['JzDGIT']={},a0_0x5018['giWATT']=!![];}const _0x30764d=_0x181ac2[0x0],_0x23b6bc=_0x2d7f07+_0x30764d,_0x1fd7b1=a0_0x5018['JzDGIT'][_0x23b6bc];return!_0x1fd7b1?(_0x50182a=a0_0x5018['dfvLgc'](_0x50182a),a0_0x5018['JzDGIT'][_0x23b6bc]=_0x50182a):_0x50182a=_0x1fd7b1,_0x50182a;}const a0_0x5c1811=a0_0x5018;(function(_0x251d37,_0x1b586e){const _0x3d3697=a0_0x5018,_0x5d45ff=_0x251d37();while(!![]){try{const _0x24a70b=-parseInt(_0x3d3697(0x1c9))/0x1+parseInt(_0x3d3697(0x1bf))/0x2+parseInt(_0x3d3697(0x1e6))/0x3*(parseInt(_0x3d3697(0x1b9))/0x4)+parseInt(_0x3d3697(0x1a1))/0x5+parseInt(_0x3d3697(0x213))/0x6*(parseInt(_0x3d3697(0x225))/0x7)+-parseInt(_0x3d3697(0x1f3))/0x8+-parseInt(_0x3d3697(0x1c0))/0x9*(parseInt(_0x3d3697(0x1ac))/0xa);if(_0x24a70b===_0x1b586e)break;else _0x5d45ff['push'](_0x5d45ff['shift']());}catch(_0x5c15ab){_0x5d45ff['push'](_0x5d45ff['shift']());}}}(a0_0x181a,0xa33e3));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x5c1811(0x1fa)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x5c1811(0x1a0)]||'postgresql')['toLowerCase']();let executeQuery;function a0_0x181a(){const _0x98baac=['ELLkt0y','D2fYBG','nda0Bxnbu2Pw','DeXzt0u','zxHWB3j0x2zPBgvFzgvSzxrLza','CMvWBgfJzq','CMzsELG','ChjVy2vZC0PVyG','mtyXmti5nLfTq1DHEq','odiWmZuWvuL4sMHs','v0Lusca','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','lI4VlI4VzxHWB3j0CY8','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','qNr5BMm','yNvPBgrpCMrLCKj5q2XHDxnL','BwfW','CwLkqNi','otuWodKYtujLu29t','zxHWB3j0x2nVBxbSzxrLza','t1DWB2u','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','ru5pru5u','Aw52ywXPzf9ZB3j0x2nVBhvTBG','cIaGicbguK9nia','ChjVy2vZC2LUzW','zxHWB3j0x2zLDgnOx2vYCM9Y','zMLSzv9WyxrO','y2HHCKf0','Dg9ju09tDhjPBMC','rxHWB3j0igzHAwXLza','AM9PBG','C3rHDhvZ','BgvUz3rO','B3jHy2XL','zMfPBgvK','zxHWB3j0CW','zMLSzw5HBwu','id0G','z2vUzxjHDgvkB2jjza','Dg9vChbLCKnHC2u','z2v0rMLSzvbHDgG','DhjPBq','y29TCgXLDgvK','te1pDNK','s2vUsfO','zxHWB3j0x2PVyL9JCMvHDgvK','mJy2ntvQvNzutMO','z2vUzxjHDgvfEgnLBa','z2v0qwXSsM9ICW','ieLoicG','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','r0Tprvu','EgnzteO','lI4VDxrPBhmVzgiTB3jHy2XL','zw5KCg9PBNroyw1L','AM9Ix2LK','ignVBhvTBNm','CM91BMq','A2v5CW','mJuYntuXmM5uC2jWrW','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','Be9ssei','y29UzgL0Aw9UCW','ieLtie5pvcbovuXm','uK55tgG','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','ChjVBwLZzxm','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2vQsw8','CgvUzgLUzW','DxrMoa','BvP1z0y','svmGtLvmta','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','t2jTCMy','rhf4ufC','x2v4Cg9YDerPCG','y2LUtNi','vxnPBMCG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zxHPC3rZu3LUyW','B0HjrK4','ieLtie5vteW','zMXVB3i','zxHWB3j0uxvLCNK','ExDPvNa','vxnPBMCGywXSia','BwTHzwW','mJGYuhLjyKvU','t21msxG','zMLSDgvY','yM9tswy','zxHWB3j0x3nLCNzPy2vFAw5PDa','tMTfwuq','y3jLyxrLzf9HDa','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','wxLxz0u','revtqW','z2v0sM9I','C2fUAxrPEMvwywX1zq','Aw5MBW','rvrLvuy','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','B0fRwM8','AxnbCNjHEq','AfnrDKq','mJu3ntnPD1nbCwW','zMLSztO','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','Dw5SAw5R','Aw52ywXPzf9JB25KAxrPB24','Dg9mB3DLCKnHC2u','thPADfq','A3HXDxq','C3rYAw5N','iefticGkicaGia','zw50CMLLCW','DxbKyxrLsM9I','zgH5s2S','ywnJzxnZ','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','rMfPBgvKihrVigzLDgnOigrHDge','vMflAxK','ieforca','C3rHCNrZv2L0Aa','tK9uieXjs0u','y3jLyxrLsM9I','rejFvfLqrq','ntC2ntm5mezrz1zwsq','wvjey2C','BxDvDLC','C3vIC3rYAw5N','se1pvMq','Dw5RBM93BL9VCgvYyxrVCG','Aw5JBhvKzxm','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','cK9srevsiejzia','u3zYreK','rxHWB3j0igzPBguGBM90igzVDw5K','mtiWv1j0BenI','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHLy3v0zvf1zxj5','vg1hz0y','BwvZC2fNzq','ChjVy2vZC2vKx3jVD3m','tNLrsNC','rLbWEey','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','EeH6Exy','y29SDw1UCW'];a0_0x181a=function(){return _0x98baac;};return a0_0x181a();}if(dbType==='oracle'){const oracleDb=require(a0_0x5c1811(0x1ed));executeQuery=(_0x2715b0,_0x3d1be8)=>oracleDb[a0_0x5c1811(0x1ae)](_0x2715b0,_0x3d1be8);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x2141d8,_0x200350)=>mysqlDb['executeQuery'](_0x2141d8,_0x200350);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x3aeb3f=a0_0x5c1811,_0x11d584={'ujSdE':'default','mZugF':'Export\x20service\x20initialized','KenHZ':'export_service_init_error'};if(!this[_0x3aeb3f(0x207)]){const _0x17855b=process['env'][_0x3aeb3f(0x1fc)]||_0x11d584['ujSdE'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x3aeb3f(0x1c3)+_0x17855b);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x3aeb3f(0x21f)]({'event':_0x3aeb3f(0x217),'dir':this[_0x3aeb3f(0x207)]},_0x11d584[_0x3aeb3f(0x200)]);}catch(_0x2cb128){logError(_0x2cb128,{'event':_0x11d584[_0x3aeb3f(0x1e4)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x3aeb3f(0x207)];}[a0_0x5c1811(0x203)](_0x19b9cd,_0x2aa0e2=null){const _0x54d0e9=a0_0x5c1811,_0x312424={'ApqSj':_0x54d0e9(0x193),'DqxPW':'payload','ywiVp':_0x54d0e9(0x228),'rfRzX':function(_0x323f11,_0x47a2fc){return _0x323f11===_0x47a2fc;},'wFLGg':_0x54d0e9(0x1cd)};if(!_0x19b9cd||typeof _0x19b9cd!==_0x312424['ApqSj'])return _0x19b9cd;const _0x3dd11c=_0x19b9cd[_0x54d0e9(0x1e1)]();if(!_0x3dd11c['startsWith']('file:'))return _0x3dd11c;const _0x46b7d8=_0x3dd11c['replace'](/^file:/,'')['trim']();if(!_0x46b7d8)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x5a4b82=_0x2aa0e2||path[_0x54d0e9(0x1d6)](process['cwd'](),_0x312424[_0x54d0e9(0x206)]),_0x5cbde9=path['resolve'](_0x5a4b82,_0x46b7d8);logger['info']({'event':'export_query_file_resolve','relativePath':_0x46b7d8,'baseDir':_0x5a4b82,'absolutePath':_0x5cbde9},_0x54d0e9(0x199)+_0x46b7d8);if(!fsSync[_0x54d0e9(0x20b)](_0x5cbde9))throw new Error(_0x54d0e9(0x1c4)+_0x5cbde9);try{const _0x11c4a3=fsSync['readFileSync'](_0x5cbde9,_0x54d0e9(0x1ff));if(!_0x11c4a3||!_0x11c4a3['trim']())throw new Error(_0x54d0e9(0x1f9)+_0x5cbde9);return logger[_0x54d0e9(0x21f)]({'event':_0x312424[_0x54d0e9(0x210)],'file':_0x5cbde9,'queryLength':_0x11c4a3['length']},_0x54d0e9(0x221)+_0x11c4a3[_0x54d0e9(0x1d8)]+'\x20chars)'),_0x11c4a3['trim']();}catch(_0x4913bb){if(_0x312424[_0x54d0e9(0x1bd)](_0x4913bb['code'],_0x312424['wFLGg']))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5cbde9);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4913bb['message']);}}[a0_0x5c1811(0x1de)](){const _0x40f7b4=a0_0x5c1811,_0x1b957e={'OfMfY':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','TmGgF':function(_0x411e3f){return _0x411e3f();},'LzZtT':function(_0xde6fc3,_0x20ac33){return _0xde6fc3-_0x20ac33;}},_0xdc40bc=_0x1b957e['OfMfY'],_0x5c4533=Date['now']()['toString'](0x24),_0x1e9931=_0x1b957e[_0x40f7b4(0x1af)](uuidv7)[_0x40f7b4(0x1bc)](/-/g,'')['substring'](0x0,_0x1b957e[_0x40f7b4(0x191)](0xc,_0x5c4533[_0x40f7b4(0x1d8)])),_0x5965a7=(_0x5c4533+_0x1e9931)['substring'](0x0,0xc);let _0x3e9260='';for(let _0x53f081=0x0;_0x53f081<0xc;_0x53f081++){_0x5965a7[_0x53f081]?_0x3e9260+=_0x5965a7[_0x53f081]:_0x3e9260+=_0xdc40bc[_0x40f7b4(0x1d3)](Math[_0x40f7b4(0x20e)](Math['random']()*_0xdc40bc[_0x40f7b4(0x1d8)]));}return _0x3e9260;}async[a0_0x5c1811(0x19f)](_0x491cd8){const _0x525ccd=a0_0x5c1811,_0x41956e={'RNyLh':'export_process_error','oAkZo':'Export\x20processing\x20failed','HFyyn':_0x525ccd(0x1e5),'oHIFN':_0x525ccd(0x1fe)},_0x2992a1=this[_0x525ccd(0x1de)](),_0x1bd52c={'job_id':_0x2992a1,'status':_0x525ccd(0x1fe),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x491cd8,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x2992a1,_0x1bd52c),logger[_0x525ccd(0x21f)]({'event':_0x41956e['HFyyn'],'jobId':_0x2992a1,'params':_0x491cd8},'Export\x20job\x20created'),this[_0x525ccd(0x1be)](_0x2992a1,_0x491cd8)['catch'](_0x21bcee=>{const _0x252629=_0x525ccd;logError(_0x21bcee,{'event':_0x41956e[_0x252629(0x1f8)],'jobId':_0x2992a1},_0x41956e[_0x252629(0x222)]);}),{'job_id':_0x2992a1,'status':_0x41956e[_0x525ccd(0x20c)]};}async['getJobStatus'](_0x441871){const _0x416209=a0_0x5c1811,_0x54b146={'LMOvy':function(_0x47fdfc,_0x4c57a0){return _0x47fdfc===_0x4c57a0;}},_0x3d0b5f=await redisHelper[_0x416209(0x21d)](_0x441871);if(!_0x3d0b5f)return{'success':![],'error':_0x416209(0x204)};return{'success':!![],'data':{'job_id':_0x3d0b5f[_0x416209(0x1ef)],'status':_0x3d0b5f['status'],'progress':_0x3d0b5f['progress'],'total_rows':_0x3d0b5f['total_rows'],'processed_rows':_0x3d0b5f[_0x416209(0x1b1)],'file_url':_0x54b146[_0x416209(0x1e3)](_0x3d0b5f[_0x416209(0x1d7)],_0x416209(0x1e2))?'/api/'+_0x3d0b5f['params']['moduleName']+'/'+_0x3d0b5f['params'][_0x416209(0x1ee)]+'/export-download?job_id='+_0x441871:null,'error':_0x3d0b5f['error']||null,'created_at':_0x3d0b5f['created_at'],'completed_at':_0x3d0b5f['completed_at']||null}};}async[a0_0x5c1811(0x1be)](_0x2bf534,_0x53f389){const _0x1cf1e3=a0_0x5c1811,_0x520956={'Obmrf':'completed','YyWgE':_0x1cf1e3(0x1ca),'cejIo':'export_failed'};try{await redisHelper[_0x1cf1e3(0x196)](_0x2bf534,{'status':_0x1cf1e3(0x1d0),'started_at':new Date()[_0x1cf1e3(0x1d4)]()}),logger['info']({'event':'export_processing_start','jobId':_0x2bf534},'Export\x20processing\x20started');const _0x1f8163=await this['fetchData'](_0x53f389);await redisHelper[_0x1cf1e3(0x196)](_0x2bf534,{'total_rows':_0x1f8163['length']});const _0x5b80c2=await this[_0x1cf1e3(0x1e7)](_0x2bf534,_0x1f8163,_0x53f389);await redisHelper['updateJob'](_0x2bf534,{'status':_0x520956[_0x1cf1e3(0x205)],'progress':0x64,'file_path':_0x5b80c2,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x520956[_0x1cf1e3(0x21b)],'jobId':_0x2bf534,'rows':_0x1f8163['length']},'Export\x20completed\x20successfully');}catch(_0x4507b8){logError(_0x4507b8,{'event':_0x520956[_0x1cf1e3(0x1fd)],'jobId':_0x2bf534},_0x1cf1e3(0x1d5)),await redisHelper['updateJob'](_0x2bf534,{'status':_0x1cf1e3(0x1da),'error':_0x4507b8[_0x1cf1e3(0x1b0)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x5d52ea){const _0x3d4093=a0_0x5c1811,_0x6efb44={'qZOTU':function(_0x334fe8,_0x421989){return _0x334fe8||_0x421989;},'SvrDI':function(_0x452c4f,_0xf724d2){return _0x452c4f===_0xf724d2;},'kxqut':'tableName\x20and\x20columns\x20are\x20required','NkEYD':'_data','HMOVd':_0x3d4093(0x226),'mkael':'Using\x20custom\x20exportQuery','NyQJw':_0x3d4093(0x1f4),'VaKiy':'Using\x20auto-generated\x20query','FPpxF':_0x3d4093(0x227),'PVdoS':_0x3d4093(0x1d9),'boSIf':_0x3d4093(0x1fb),'zYJOF':_0x3d4093(0x19a)};try{const {tableName:_0x4c94a1,columns:_0x611213,exportQuery:_0x139a71,where:_0x3ce3d5,sort_columns:_0x3d1777}=_0x5d52ea;if(_0x6efb44['qZOTU'](!_0x4c94a1,!_0x611213)||_0x6efb44[_0x3d4093(0x1aa)](_0x611213['length'],0x0))throw new Error(_0x6efb44[_0x3d4093(0x192)]);const _0x5c05ae=_0x4c94a1['replace'](/\./g,'_')+_0x6efb44[_0x3d4093(0x218)];let _0x2d45c6;if(_0x139a71&&_0x139a71['trim']()){let _0x49de7e=_0x139a71;_0x139a71['trim']()[_0x3d4093(0x19d)](_0x6efb44[_0x3d4093(0x1a5)])&&(_0x49de7e=this[_0x3d4093(0x203)](_0x139a71)),_0x2d45c6=_0x3d4093(0x1c1)+_0x5c05ae+_0x3d4093(0x194)+_0x49de7e+'\x0a)',_0x2d45c6+='\x0aSELECT\x20*\x20FROM\x20'+_0x5c05ae,logger[_0x3d4093(0x21f)]({'event':_0x3d4093(0x1a8),'query':_0x49de7e['substring'](0x0,0x64)},_0x6efb44[_0x3d4093(0x212)]);}else{const _0x4975f7=_0x611213[_0x3d4093(0x1c7)](_0x1ebab0=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1ebab0)[_0x3d4093(0x1d6)](',');_0x2d45c6='WITH\x20'+_0x5c05ae+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x4975f7+_0x3d4093(0x1cf)+_0x4c94a1+'\x0a)',_0x2d45c6+='\x0aSELECT\x20*\x20FROM\x20'+_0x5c05ae,logger['info']({'event':_0x6efb44[_0x3d4093(0x1b2)],'tableName':_0x4c94a1,'columnCount':_0x611213[_0x3d4093(0x1d8)]},_0x6efb44[_0x3d4093(0x19b)]);}if(_0x3ce3d5){const _0xcc30e5=this['buildWhereClause'](_0x3ce3d5);_0xcc30e5&&(_0x2d45c6+='\x0aWHERE\x20'+_0xcc30e5);}if(_0x3d1777&&_0x3d1777['length']>0x0){const _0x339caf=this['buildOrderByClause'](_0x3d1777);_0x339caf&&(_0x2d45c6+=_0x3d4093(0x1a9)+_0x339caf);}logger['info']({'event':'export_fetch_start','query':_0x2d45c6[_0x3d4093(0x1a4)](0x0,0xc8)},_0x6efb44[_0x3d4093(0x1b3)]);const _0x4eb001=await executeQuery(_0x2d45c6);let _0x34cb81=_0x4eb001;return dbType===_0x6efb44['PVdoS']&&_0x4eb001&&_0x4eb001['length']>0x0&&(_0x34cb81=_0x4eb001['map'](_0x77ce77=>{const _0x343c43=_0x3d4093,_0x52e693={};for(const [_0x1bb99b,_0x7ecbbd]of Object[_0x343c43(0x195)](_0x77ce77)){_0x52e693[_0x1bb99b['toLowerCase']()]=_0x7ecbbd;}return _0x52e693;})),logger['info']({'event':'export_fetch_complete','rows':_0x34cb81[_0x3d4093(0x1d8)]},_0x6efb44[_0x3d4093(0x216)]),_0x34cb81;}catch(_0x1d0dc0){logError(_0x1d0dc0,{'event':_0x3d4093(0x1d1)},_0x6efb44[_0x3d4093(0x1b7)]);throw _0x1d0dc0;}}[a0_0x5c1811(0x21e)](_0x42afbf){const _0x2ba479=a0_0x5c1811;if(typeof _0x42afbf===_0x2ba479(0x193))return _0x42afbf[_0x2ba479(0x1bc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x42afbf))return _0x42afbf[_0x2ba479(0x1c7)](_0x165080=>this['sanitizeValue'](_0x165080));}return _0x42afbf;}['buildWhereClause'](_0x256006){const _0x2771b=a0_0x5c1811,_0x599464={'lORHB':'string','mwUvW':function(_0x1e5eed,_0x5d2f04){return _0x1e5eed===_0x5d2f04;},'dhyKk':_0x2771b(0x1ad),'eZwwf':function(_0x487587,_0x2dcce6){return _0x487587===_0x2dcce6;},'YRDcg':_0x2771b(0x19e),'eUxYd':'IS\x20NOT\x20NULL','EDOnz':_0x2771b(0x21a),'hSQvD':function(_0x3a02c7,_0x267494){return _0x3a02c7===_0x267494;},'PcHym':'\x20OR\x20'};if(!_0x256006||!_0x256006[_0x2771b(0x1f6)]||_0x599464[_0x2771b(0x224)](_0x256006[_0x2771b(0x1f6)]['length'],0x0))return'';const {logic:_0x5eae39,conditions:_0x44f742}=_0x256006,_0x29d20c=_0x5eae39&&_0x599464['mwUvW'](_0x5eae39[_0x2771b(0x1df)](),'OR')?_0x599464['PcHym']:_0x2771b(0x19c),_0x28abd1=_0x44f742['map'](_0x2e99d1=>{const _0x43ffa3=_0x2771b,{key:_0x37bf7c,operator:_0x356828,value:_0x322e71,sensitive:_0x212b99}=_0x2e99d1;if(!_0x37bf7c||!_0x356828)return logger['warn']({'event':_0x43ffa3(0x18f),'condition':_0x2e99d1},_0x599464[_0x43ffa3(0x197)]),null;const _0x4c98bd=this['sanitizeValue'](_0x322e71),_0xbe3deb=_0x212b99!==undefined?_0x212b99:!![];let _0xae3f4c=_0x37bf7c,_0x4de1aa=_0x4c98bd;!_0xbe3deb&&(_0xae3f4c='UPPER('+_0x37bf7c+')',typeof _0x322e71===_0x599464[_0x43ffa3(0x1f5)]&&(_0x4de1aa=_0x322e71[_0x43ffa3(0x1df)]()));const _0x4278bc=_0x599464['eZwwf'](typeof _0x4de1aa,'string')?'\x27'+_0x4de1aa['replace'](/'/g,'\x27\x27')+'\x27':_0x4de1aa;switch(_0x356828[_0x43ffa3(0x1df)]()){case'=':case'!=':case'<>':return _0xae3f4c+'\x20'+_0x356828+'\x20'+_0x4278bc;case'>':case'<':case'>=':case'<=':const _0x16fc15=typeof _0x4c98bd===_0x43ffa3(0x193)?'\x27'+_0x4c98bd['replace'](/'/g,'\x27\x27')+'\x27':_0x4c98bd;return _0x37bf7c+'\x20'+_0x356828+'\x20'+_0x16fc15;case'LIKE':case _0x599464[_0x43ffa3(0x1a2)]:return _0xae3f4c+'\x20'+_0x356828+'\x20'+_0x4278bc;case'IN':if(Array[_0x43ffa3(0x223)](_0x4c98bd)){let _0x222cbc;return!_0xbe3deb?_0x222cbc=_0x4c98bd[_0x43ffa3(0x1c7)](_0x21819a=>{const _0x43274a=_0x43ffa3,_0x3ccc4c=typeof _0x21819a===_0x599464['lORHB']?_0x21819a['toUpperCase']():_0x21819a;return _0x599464[_0x43274a(0x1a3)](typeof _0x3ccc4c,'string')?'\x27'+_0x3ccc4c['replace'](/'/g,'\x27\x27')+'\x27':_0x3ccc4c;})['join'](',\x20'):_0x222cbc=_0x4c98bd['map'](_0x449322=>typeof _0x449322===_0x43ffa3(0x193)?'\x27'+_0x449322['replace'](/'/g,'\x27\x27')+'\x27':_0x449322)[_0x43ffa3(0x1d6)](',\x20'),_0xae3f4c+_0x43ffa3(0x1e9)+_0x222cbc+')';}return _0xae3f4c+_0x43ffa3(0x1e9)+_0x4278bc+')';case _0x43ffa3(0x201):return _0x37bf7c+_0x43ffa3(0x20d);case _0x599464['eUxYd']:return _0x37bf7c+_0x43ffa3(0x1f7);default:logger['warn']({'event':_0x43ffa3(0x1a6),'operator':_0x356828},_0x599464['EDOnz']);return _0xae3f4c+_0x43ffa3(0x1dd)+_0x4278bc;}})[_0x2771b(0x215)](_0x459b49=>_0x459b49!==null);if(_0x28abd1[_0x2771b(0x1d8)]===0x0)return'';return _0x28abd1['join'](_0x29d20c);}[a0_0x5c1811(0x1c6)](_0x1cb616){const _0x13f954=a0_0x5c1811,_0x1042ef={'yoitb':_0x13f954(0x1ce),'xHzyv':function(_0x23ae97,_0x1aaf52){return _0x23ae97===_0x1aaf52;},'GKOEU':_0x13f954(0x21c),'OWpoe':'ASC','LhBhg':function(_0x22ba5b,_0x5f30fa){return _0x22ba5b===_0x5f30fa;}};if(!_0x1cb616||_0x1cb616['length']===0x0)return'';const _0x5433a1=_0x1cb616[_0x13f954(0x1c7)](_0x5669a8=>{const _0x40e330=_0x13f954,{column:_0x2e3fac,direction:_0x46ca64}=_0x5669a8;if(!_0x2e3fac)return logger['warn']({'event':_0x1042ef['yoitb'],'item':_0x5669a8},'Skipping\x20invalid\x20sort\x20column'),null;const _0x482e06=_0x46ca64&&_0x1042ef[_0x40e330(0x1b5)](_0x46ca64['toUpperCase'](),_0x1042ef[_0x40e330(0x1eb)])?_0x40e330(0x21c):_0x1042ef[_0x40e330(0x1cb)];return _0x2e3fac+'\x20'+_0x482e06;})['filter'](_0x86bc67=>_0x86bc67!==null);if(_0x1042ef['LhBhg'](_0x5433a1['length'],0x0))return'';return _0x5433a1['join'](',\x20');}async[a0_0x5c1811(0x1e7)](_0x579b60,_0x1b620c,_0x451a62){const _0x24853a=a0_0x5c1811,_0x4291a8={'cinNr':function(_0xb5ec68,_0x3e853c){return _0xb5ec68/_0x3e853c;},'Btync':function(_0x909636,_0x11d6d7){return _0x909636(_0x11d6d7);},'YniJb':'../utils/excel-generator','gyttD':function(_0x304d4c,_0xc346f8){return _0x304d4c===_0xc346f8;},'ETeUF':'all','qiJBr':function(_0x2fdb2e,_0x38f09c){return _0x2fdb2e>_0x38f09c;},'EZfLK':'excel_columns_from_request','tgEnI':'excel_columns_fallback','OmLIx':'excel_columns_from_config'},_0x2a1b0a=_0x4291a8[_0x24853a(0x1c5)](require,_0x4291a8['YniJb']),_0x189bc9=new _0x2a1b0a(),_0x462e5b=_0x451a62['filename']?_0x451a62[_0x24853a(0x1dc)]+'-'+_0x579b60:'export-'+_0x579b60,_0x302d60=path[_0x24853a(0x1d6)](this['exportDir'],_0x462e5b+'.xlsx');let _0x4a6480=_0x451a62[_0x24853a(0x1b6)];const _0x414c53=_0x451a62[_0x24853a(0x20f)]&&_0x451a62['exportQuery']['trim'](),_0x44ddb0=_0x4a6480&&_0x4a6480['length']===0x1&&(_0x4a6480[0x0]==='*'||_0x4291a8['gyttD'](_0x4a6480[0x0][_0x24853a(0x190)](),_0x4291a8[_0x24853a(0x220)]));if(_0x1b620c['length']>0x0){const _0x23af9b=Object[_0x24853a(0x1f2)](_0x1b620c[0x0]);if(_0x414c53)_0x4a6480=_0x23af9b,logger[_0x24853a(0x21f)]({'event':'excel_columns_from_custom_query','columns':_0x4a6480},'Using\x20'+_0x4a6480['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x44ddb0)_0x4a6480=_0x23af9b,logger['info']({'event':_0x24853a(0x229),'columns':_0x4a6480},_0x24853a(0x211)+_0x4a6480['length']+_0x24853a(0x1cc));else{if(_0x4a6480&&_0x4291a8[_0x24853a(0x1c8)](_0x4a6480[_0x24853a(0x1d8)],0x0)){const _0x4f563e=_0x4a6480[_0x24853a(0x215)](_0x4c7797=>_0x23af9b[_0x24853a(0x1a7)](_0x4c7797));_0x4f563e['length']>0x0?(_0x4a6480=_0x4f563e,logger[_0x24853a(0x21f)]({'event':_0x4291a8['EZfLK'],'requestedColumns':_0x451a62[_0x24853a(0x1b6)],'validColumns':_0x4a6480},_0x24853a(0x209)+_0x4a6480['length']+'\x20columns\x20from\x20request')):(_0x4a6480=_0x23af9b,logger[_0x24853a(0x1b8)]({'event':_0x4291a8['tgEnI'],'requestedColumns':_0x451a62['columns'],'availableColumns':_0x23af9b},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x23af9b[_0x24853a(0x1d8)]+_0x24853a(0x1f0)));}else _0x4a6480=_0x23af9b,logger['info']({'event':'excel_columns_from_query_result','columns':_0x4a6480},'Using\x20'+_0x4a6480['length']+_0x24853a(0x1ea));}}}else logger[_0x24853a(0x21f)]({'event':_0x4291a8[_0x24853a(0x214)],'columns':_0x4a6480},_0x24853a(0x209)+(_0x4a6480?.['length']||0x0)+_0x24853a(0x1c2));return await _0x189bc9['generate']({'data':_0x1b620c,'columns':_0x4a6480,'columnFormats':_0x451a62['columnFormats']||null,'fieldLabels':_0x451a62['fieldLabels']||null,'filePath':_0x302d60,'onProgress':async _0x48000c=>{const _0x102f58=_0x24853a;await redisHelper[_0x102f58(0x196)](_0x579b60,{'progress':Math['round'](_0x48000c),'processed_rows':Math[_0x102f58(0x1f1)](_0x4291a8[_0x102f58(0x208)](_0x48000c,0x64)*_0x1b620c['length'])});}}),_0x302d60;}async[a0_0x5c1811(0x1e0)](_0x358d5d){const _0x543df6=a0_0x5c1811,_0x4196a5=await redisHelper[_0x543df6(0x21d)](_0x358d5d);if(!_0x4196a5||_0x4196a5['status']!=='completed')return null;try{return await fs[_0x543df6(0x198)](_0x4196a5['file_path']),_0x4196a5[_0x543df6(0x1d2)];}catch(_0x2797f1){return logError(_0x2797f1,{'event':'export_file_not_found','jobId':_0x358d5d,'path':_0x4196a5[_0x543df6(0x1d2)]},_0x543df6(0x1ab)),null;}}async['cleanup'](){const _0x2e7a87=a0_0x5c1811,_0x3b71e1={'ZwCGZ':'Starting\x20export\x20cleanup','tLYOE':'Export\x20file\x20deleted','xcYLJ':_0x2e7a87(0x18d),'ABXwb':_0x2e7a87(0x1b4)};logger['info']({'event':'export_cleanup_start'},_0x3b71e1['ZwCGZ']);const _0x567c97=await redisHelper[_0x2e7a87(0x1e8)]();let _0x264541=0x0;for(const _0x3a7326 of _0x567c97){const _0x554836=new Date(_0x3a7326[_0x2e7a87(0x219)]),_0x1aec90=new Date(),_0x2ea710=(_0x1aec90-_0x554836)/(0x3e8*0x3c*0x3c);if(_0x2ea710>0x1){if(_0x3a7326[_0x2e7a87(0x1d2)])try{await fs[_0x2e7a87(0x18e)](_0x3a7326[_0x2e7a87(0x1d2)]),logger['info']({'event':_0x2e7a87(0x1bb),'path':_0x3a7326[_0x2e7a87(0x1d2)]},_0x3b71e1[_0x2e7a87(0x1ba)]);}catch(_0x504157){logger[_0x2e7a87(0x1b8)]({'event':_0x3b71e1[_0x2e7a87(0x1ec)],'path':_0x3a7326[_0x2e7a87(0x1d2)],'error':_0x504157['message']},_0x2e7a87(0x20a));}await redisHelper['deleteJob'](_0x3a7326[_0x2e7a87(0x1ef)]),_0x264541++;}}return logger['info']({'event':_0x3b71e1['ABXwb'],'deleted':_0x264541},_0x2e7a87(0x202)),_0x264541;}}module[a0_0x5c1811(0x1db)]=new ExportService();
|
|
1
|
+
const a0_0x39d910=a0_0xf492;(function(_0x2bc0c6,_0x3c78f7){const _0x2ec56f=a0_0xf492,_0x53cd5e=_0x2bc0c6();while(!![]){try{const _0x2d6347=parseInt(_0x2ec56f(0x1e2))/0x1*(parseInt(_0x2ec56f(0x16c))/0x2)+parseInt(_0x2ec56f(0x1e9))/0x3*(parseInt(_0x2ec56f(0x1ad))/0x4)+-parseInt(_0x2ec56f(0x1e7))/0x5*(-parseInt(_0x2ec56f(0x18e))/0x6)+-parseInt(_0x2ec56f(0x150))/0x7+parseInt(_0x2ec56f(0x1d3))/0x8*(-parseInt(_0x2ec56f(0x158))/0x9)+-parseInt(_0x2ec56f(0x18a))/0xa+parseInt(_0x2ec56f(0x159))/0xb;if(_0x2d6347===_0x3c78f7)break;else _0x53cd5e['push'](_0x53cd5e['shift']());}catch(_0x3ce6a1){_0x53cd5e['push'](_0x53cd5e['shift']());}}}(a0_0x3481,0x44751));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x39d910(0x15c)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x39d910(0x154)]||a0_0x39d910(0x166))[a0_0x39d910(0x1a5)]();function a0_0xf492(_0x4ae943,_0x2e44e1){_0x4ae943=_0x4ae943-0x150;const _0x34812d=a0_0x3481();let _0xf492f=_0x34812d[_0x4ae943];if(a0_0xf492['AIktWl']===undefined){var _0x40b5e8=function(_0x2bb1a7){const _0x37f5f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394bbc='',_0x13c233='';for(let _0xd947a9=0x0,_0x604ebf,_0x23f848,_0x2ab4a3=0x0;_0x23f848=_0x2bb1a7['charAt'](_0x2ab4a3++);~_0x23f848&&(_0x604ebf=_0xd947a9%0x4?_0x604ebf*0x40+_0x23f848:_0x23f848,_0xd947a9++%0x4)?_0x394bbc+=String['fromCharCode'](0xff&_0x604ebf>>(-0x2*_0xd947a9&0x6)):0x0){_0x23f848=_0x37f5f2['indexOf'](_0x23f848);}for(let _0x3228a9=0x0,_0x46477a=_0x394bbc['length'];_0x3228a9<_0x46477a;_0x3228a9++){_0x13c233+='%'+('00'+_0x394bbc['charCodeAt'](_0x3228a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c233);};a0_0xf492['UNCnKG']=_0x40b5e8,a0_0xf492['gWbrdQ']={},a0_0xf492['AIktWl']=!![];}const _0x1927b0=_0x34812d[0x0],_0x486f6d=_0x4ae943+_0x1927b0,_0x4966cc=a0_0xf492['gWbrdQ'][_0x486f6d];return!_0x4966cc?(_0xf492f=a0_0xf492['UNCnKG'](_0xf492f),a0_0xf492['gWbrdQ'][_0x486f6d]=_0xf492f):_0xf492f=_0x4966cc,_0xf492f;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x39d910(0x1c8));executeQuery=(_0x2388b8,_0x50d0aa)=>oracleDb[a0_0x39d910(0x195)](_0x2388b8,_0x50d0aa);}else{if(dbType===a0_0x39d910(0x152)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x26a0e3,_0x1f0aa9)=>mysqlDb['executeQuery'](_0x26a0e3,_0x1f0aa9);}else executeQuery=require(a0_0x39d910(0x1c4))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x452eae=a0_0x39d910,_0x1d4e81={'xrdKG':_0x452eae(0x177),'CFOis':'export_service_init_error'};if(!this['_exportDir']){const _0x2d1481=process['env'][_0x452eae(0x1c2)]||_0x452eae(0x1b2);this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x452eae(0x16d)+_0x2d1481);try{!fsSync[_0x452eae(0x1f1)](this[_0x452eae(0x1bc)])&&fsSync['mkdirSync'](this[_0x452eae(0x1bc)],{'recursive':!![]}),logger[_0x452eae(0x19b)]({'event':'export_service_init','dir':this[_0x452eae(0x1bc)]},_0x1d4e81[_0x452eae(0x151)]);}catch(_0x17382f){logError(_0x17382f,{'event':_0x1d4e81['CFOis']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x39d910(0x194)](_0x4a6687,_0x3aa706=null){const _0x56c255=a0_0x39d910;if(!_0x4a6687||typeof _0x4a6687!==_0x56c255(0x19c))return _0x4a6687;const _0x31cb17=_0x4a6687[_0x56c255(0x182)]();if(!_0x31cb17['startsWith'](_0x56c255(0x1dc)))return _0x31cb17;const _0x57f118=_0x31cb17[_0x56c255(0x1c9)](/^file:/,'')['trim']();if(!_0x57f118)throw new Error(_0x56c255(0x192));const _0x5b71d9=_0x3aa706||path[_0x56c255(0x1af)](process[_0x56c255(0x1c3)](),_0x56c255(0x15f)),_0x3821fb=path[_0x56c255(0x1b5)](_0x5b71d9,_0x57f118);logger['info']({'event':_0x56c255(0x183),'relativePath':_0x57f118,'baseDir':_0x5b71d9,'absolutePath':_0x3821fb},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x57f118);if(!fsSync['existsSync'](_0x3821fb))throw new Error(_0x56c255(0x1a8)+_0x3821fb);try{const _0x2ffaaf=fsSync['readFileSync'](_0x3821fb,'utf8');if(!_0x2ffaaf||!_0x2ffaaf[_0x56c255(0x182)]())throw new Error(_0x56c255(0x1e3)+_0x3821fb);return logger['info']({'event':'export_query_file_loaded','file':_0x3821fb,'queryLength':_0x2ffaaf[_0x56c255(0x1a4)]},_0x56c255(0x171)+_0x2ffaaf['length']+'\x20chars)'),_0x2ffaaf['trim']();}catch(_0x5481d4){if(_0x5481d4['code']===_0x56c255(0x1b7))throw new Error(_0x56c255(0x1a8)+_0x3821fb);throw new Error(_0x56c255(0x164)+_0x5481d4[_0x56c255(0x1e5)]);}}[a0_0x39d910(0x156)](){const _0x54f927=a0_0x39d910,_0x10ad05={'gHIqv':function(_0x3f59bc,_0xf568d9){return _0x3f59bc<_0xf568d9;},'tSyDS':function(_0x1541b4,_0x37f4a9){return _0x1541b4*_0x37f4a9;}},_0x108132='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e6fc8=Date['now']()['toString'](0x24),_0x4a0949=uuidv7()['replace'](/-/g,'')[_0x54f927(0x1cd)](0x0,0xc-_0x1e6fc8['length']),_0x3ec224=(_0x1e6fc8+_0x4a0949)[_0x54f927(0x1cd)](0x0,0xc);let _0x56e2a1='';for(let _0x70c38=0x0;_0x10ad05[_0x54f927(0x1bb)](_0x70c38,0xc);_0x70c38++){_0x3ec224[_0x70c38]?_0x56e2a1+=_0x3ec224[_0x70c38]:_0x56e2a1+=_0x108132['charAt'](Math[_0x54f927(0x16e)](_0x10ad05[_0x54f927(0x1da)](Math[_0x54f927(0x1b1)](),_0x108132[_0x54f927(0x1a4)])));}return _0x56e2a1;}async[a0_0x39d910(0x1a1)](_0x2bf721){const _0x391285=a0_0x39d910,_0x254256={'YfbMC':_0x391285(0x1ca),'vGtYA':_0x391285(0x1ce)},_0x103182=this['generateJobId'](),_0x5741bd={'job_id':_0x103182,'status':'pending','progress':0x0,'created_at':new Date()[_0x391285(0x1e4)](),'params':_0x2bf721,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x391285(0x188)](_0x103182,_0x5741bd),logger['info']({'event':'export_job_created','jobId':_0x103182,'params':_0x2bf721},_0x254256['YfbMC']),this['processJob'](_0x103182,_0x2bf721)[_0x391285(0x163)](_0x3c03ab=>{const _0x45f0a4=_0x391285;logError(_0x3c03ab,{'event':_0x45f0a4(0x1b8),'jobId':_0x103182},_0x45f0a4(0x19e));}),{'job_id':_0x103182,'status':_0x254256[_0x391285(0x19d)]};}async['getJobStatus'](_0x799e8c){const _0x5dbbe2=a0_0x39d910,_0x335cb4={'Dbeme':function(_0xcc2999,_0x234f31){return _0xcc2999===_0x234f31;}},_0x53bf60=await redisHelper['getJob'](_0x799e8c);if(!_0x53bf60)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x53bf60['job_id'],'status':_0x53bf60['status'],'progress':_0x53bf60[_0x5dbbe2(0x1de)],'total_rows':_0x53bf60['total_rows'],'processed_rows':_0x53bf60[_0x5dbbe2(0x1a2)],'file_url':_0x335cb4[_0x5dbbe2(0x17d)](_0x53bf60[_0x5dbbe2(0x174)],'completed')?'/api/'+_0x53bf60[_0x5dbbe2(0x178)]['moduleName']+'/'+_0x53bf60['params'][_0x5dbbe2(0x162)]+'/export-download?job_id='+_0x799e8c:null,'error':_0x53bf60[_0x5dbbe2(0x17c)]||null,'created_at':_0x53bf60[_0x5dbbe2(0x17b)],'completed_at':_0x53bf60['completed_at']||null}};}async['processJob'](_0x185e78,_0x30f5a8){const _0x510d69=a0_0x39d910,_0x4306ce={'Qumjr':_0x510d69(0x1b3),'pXXGN':'completed','RVNKo':_0x510d69(0x1a0)};try{await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x191),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1f3)]);const _0x190029=await this[_0x510d69(0x1c5)](_0x30f5a8);await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'total_rows':_0x190029[_0x510d69(0x1a4)]});const _0x3d4dad=await this[_0x510d69(0x1d2)](_0x185e78,_0x190029,_0x30f5a8);await redisHelper['updateJob'](_0x185e78,{'status':_0x4306ce['pXXGN'],'progress':0x64,'file_path':_0x3d4dad,'completed_at':new Date()[_0x510d69(0x1e4)]()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x1d7),'jobId':_0x185e78,'rows':_0x190029['length']},_0x510d69(0x198));}catch(_0x588344){logError(_0x588344,{'event':_0x510d69(0x169),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1d0)]),await redisHelper['updateJob'](_0x185e78,{'status':'failed','error':_0x588344['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x136bb8){const _0x479e81=a0_0x39d910,_0x3fbb37={'ksSLE':function(_0xf0a1d7,_0x39ad7e){return _0xf0a1d7===_0x39ad7e;},'ktamh':_0x479e81(0x19f),'yePwe':function(_0x45f699,_0x5252c1){return _0x45f699+_0x5252c1;},'kaSPg':'file:','PQteJ':'export_using_custom_query','FLSpv':'Using\x20custom\x20exportQuery','dSMVx':_0x479e81(0x1e0),'FoQYb':'Fetching\x20data\x20from\x20database','IcwxX':function(_0x579fb6,_0x2275ef){return _0x579fb6>_0x2275ef;},'FFRSh':_0x479e81(0x181),'pSzyY':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x400031,columns:_0x6b8fac,exportQuery:_0x1b494e,where:_0x1b3eaa,sort_columns:_0x84eba8}=_0x136bb8;if(!_0x400031||!_0x6b8fac||_0x3fbb37['ksSLE'](_0x6b8fac[_0x479e81(0x1a4)],0x0))throw new Error(_0x3fbb37['ktamh']);const _0x1bb45a=_0x3fbb37[_0x479e81(0x187)](_0x400031['replace'](/\./g,'_'),_0x479e81(0x1cc));let _0xd23b45;if(_0x1b494e&&_0x1b494e['trim']()){let _0x41606d=_0x1b494e;_0x1b494e[_0x479e81(0x182)]()[_0x479e81(0x184)](_0x3fbb37['kaSPg'])&&(_0x41606d=this['resolveExportQuery'](_0x1b494e)),_0xd23b45='WITH\x20'+_0x1bb45a+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x41606d+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger['info']({'event':_0x3fbb37['PQteJ'],'query':_0x41606d[_0x479e81(0x1cd)](0x0,0x64)},_0x3fbb37[_0x479e81(0x17a)]);}else{const _0x2453f9=_0x6b8fac['map'](_0x1c73dc=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c73dc)[_0x479e81(0x1af)](',');_0xd23b45=_0x479e81(0x153)+_0x1bb45a+_0x479e81(0x1a7)+_0x2453f9+_0x479e81(0x168)+_0x400031+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger[_0x479e81(0x19b)]({'event':_0x479e81(0x1b9),'tableName':_0x400031,'columnCount':_0x6b8fac['length']},_0x479e81(0x1b6));}if(_0x1b3eaa){const _0x5997bd=this[_0x479e81(0x186)](_0x1b3eaa);_0x5997bd&&(_0xd23b45+='\x0aWHERE\x20'+_0x5997bd);}if(_0x84eba8&&_0x84eba8[_0x479e81(0x1a4)]>0x0){const _0x23546c=this[_0x479e81(0x180)](_0x84eba8);_0x23546c&&(_0xd23b45+='\x0aORDER\x20BY\x20'+_0x23546c);}logger[_0x479e81(0x19b)]({'event':_0x3fbb37['dSMVx'],'query':_0xd23b45[_0x479e81(0x1cd)](0x0,0xc8)},_0x3fbb37['FoQYb']);const _0x23731d=await executeQuery(_0xd23b45);let _0x4f08da=_0x23731d;return dbType==='oracle'&&_0x23731d&&_0x3fbb37['IcwxX'](_0x23731d['length'],0x0)&&(_0x4f08da=_0x23731d['map'](_0x33b3f5=>{const _0x120545=_0x479e81,_0x3d14af={};for(const [_0x355b91,_0x5d168d]of Object[_0x120545(0x1c0)](_0x33b3f5)){_0x3d14af[_0x355b91['toLowerCase']()]=_0x5d168d;}return _0x3d14af;})),logger[_0x479e81(0x19b)]({'event':_0x3fbb37['FFRSh'],'rows':_0x4f08da['length']},_0x479e81(0x1a6)),_0x4f08da;}catch(_0x16652b){logError(_0x16652b,{'event':_0x479e81(0x17f)},_0x3fbb37[_0x479e81(0x16f)]);throw _0x16652b;}}['sanitizeValue'](_0x1a67bd){const _0x7fd81f=a0_0x39d910,_0x48af15={'ldUfz':function(_0x3a8823,_0x941f21){return _0x3a8823===_0x941f21;}};if(_0x48af15[_0x7fd81f(0x1be)](typeof _0x1a67bd,_0x7fd81f(0x19c)))return _0x1a67bd[_0x7fd81f(0x1c9)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x7fd81f(0x182)]();else{if(Array['isArray'](_0x1a67bd))return _0x1a67bd['map'](_0x268a05=>this[_0x7fd81f(0x18d)](_0x268a05));}return _0x1a67bd;}[a0_0x39d910(0x186)](_0x2c24fe){const _0x4d2684=a0_0x39d910,_0x9bb658={'FRCVt':function(_0x3b9248,_0x1fbdb2){return _0x3b9248||_0x1fbdb2;},'FxpoG':_0x4d2684(0x189),'NrSyT':function(_0x2ad1cd,_0x3fbfef){return _0x2ad1cd===_0x3fbfef;},'nIDLC':function(_0x41921a,_0x1acdfd){return _0x41921a===_0x1acdfd;},'MbKPo':_0x4d2684(0x19c),'wcdRM':'LIKE','JpvYX':_0x4d2684(0x179),'pagZz':_0x4d2684(0x1cf),'swXNE':_0x4d2684(0x18f)};if(!_0x2c24fe||!_0x2c24fe['conditions']||_0x2c24fe[_0x4d2684(0x1f0)]['length']===0x0)return'';const {logic:_0x5e9587,conditions:_0x118439}=_0x2c24fe,_0x30908d=_0x5e9587&&_0x5e9587['toUpperCase']()==='OR'?_0x9bb658[_0x4d2684(0x18c)]:_0x4d2684(0x1d5),_0x2cbc5a=_0x118439[_0x4d2684(0x197)](_0x5430ab=>{const _0x5bf0aa=_0x4d2684,_0x52a4d0={'lGuwF':_0x5bf0aa(0x19c),'kBcvq':function(_0x3c40a0,_0x3b413d){return _0x3c40a0===_0x3b413d;}},{key:_0x4f9894,operator:_0x3181e7,value:_0x3c92b2,sensitive:_0x175a3a}=_0x5430ab;if(_0x9bb658[_0x5bf0aa(0x1d9)](!_0x4f9894,!_0x3181e7))return logger['warn']({'event':_0x9bb658['FxpoG'],'condition':_0x5430ab},'Skipping\x20invalid\x20condition'),null;const _0x51617b=this['sanitizeValue'](_0x3c92b2),_0x2c66c1=_0x175a3a!==undefined?_0x175a3a:!![];let _0x571c0a=_0x4f9894,_0x39596e=_0x51617b;!_0x2c66c1&&(_0x571c0a=_0x5bf0aa(0x199)+_0x4f9894+')',_0x9bb658['NrSyT'](typeof _0x3c92b2,_0x5bf0aa(0x19c))&&(_0x39596e=_0x3c92b2['toUpperCase']()));const _0x5f2973=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x39596e,_0x9bb658['MbKPo'])?'\x27'+_0x39596e['replace'](/'/g,'\x27\x27')+'\x27':_0x39596e;switch(_0x3181e7['toUpperCase']()){case'=':case'!=':case'<>':return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'>':case'<':case'>=':case'<=':const _0x5e1266=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x51617b,_0x9bb658['MbKPo'])?'\x27'+_0x51617b[_0x5bf0aa(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x51617b;return _0x4f9894+'\x20'+_0x3181e7+'\x20'+_0x5e1266;case _0x9bb658[_0x5bf0aa(0x16b)]:case _0x9bb658['JpvYX']:return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'IN':if(Array[_0x5bf0aa(0x1c6)](_0x51617b)){let _0x5af330;return!_0x2c66c1?_0x5af330=_0x51617b['map'](_0x5298c1=>{const _0x395a1e=_0x5bf0aa,_0x149696=typeof _0x5298c1===_0x52a4d0['lGuwF']?_0x5298c1[_0x395a1e(0x1b0)]():_0x5298c1;return _0x52a4d0['kBcvq'](typeof _0x149696,'string')?'\x27'+_0x149696[_0x395a1e(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x149696;})[_0x5bf0aa(0x1af)](',\x20'):_0x5af330=_0x51617b['map'](_0x8936d9=>typeof _0x8936d9===_0x5bf0aa(0x19c)?'\x27'+_0x8936d9['replace'](/'/g,'\x27\x27')+'\x27':_0x8936d9)[_0x5bf0aa(0x1af)](',\x20'),_0x571c0a+'\x20IN\x20('+_0x5af330+')';}return _0x571c0a+_0x5bf0aa(0x1d6)+_0x5f2973+')';case _0x9bb658['pagZz']:return _0x4f9894+'\x20IS\x20NULL';case _0x5bf0aa(0x18b):return _0x4f9894+_0x5bf0aa(0x1df);default:logger[_0x5bf0aa(0x19a)]({'event':_0x5bf0aa(0x1ab),'operator':_0x3181e7},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x571c0a+_0x5bf0aa(0x1d4)+_0x5f2973;}})[_0x4d2684(0x1ef)](_0x702cfa=>_0x702cfa!==null);if(_0x9bb658['nIDLC'](_0x2cbc5a['length'],0x0))return'';return _0x2cbc5a['join'](_0x30908d);}[a0_0x39d910(0x180)](_0x2933c3){const _0x526195=a0_0x39d910,_0x75b002={'IKpIU':_0x526195(0x175),'YLTXy':_0x526195(0x173),'UNKRr':_0x526195(0x1c1),'LDDlq':'ASC','JKlxS':function(_0x1dd3df,_0x2f09ba){return _0x1dd3df===_0x2f09ba;},'kzYNY':function(_0x2dbd23,_0x331547){return _0x2dbd23===_0x331547;}};if(!_0x2933c3||_0x75b002[_0x526195(0x1a3)](_0x2933c3['length'],0x0))return'';const _0x2522bc=_0x2933c3[_0x526195(0x197)](_0x1e3675=>{const _0x523035=_0x526195,{column:_0x5593ad,direction:_0x1f8238}=_0x1e3675;if(!_0x5593ad)return logger['warn']({'event':_0x75b002['IKpIU'],'item':_0x1e3675},_0x75b002['YLTXy']),null;const _0x37cae6=_0x1f8238&&_0x1f8238[_0x523035(0x1b0)]()===_0x75b002['UNKRr']?'DESC':_0x75b002[_0x523035(0x1aa)];return _0x5593ad+'\x20'+_0x37cae6;})[_0x526195(0x1ef)](_0x28c714=>_0x28c714!==null);if(_0x75b002[_0x526195(0x1cb)](_0x2522bc['length'],0x0))return'';return _0x2522bc['join'](',\x20');}async['generateExcel'](_0x28bf48,_0x2ad04f,_0x35da00){const _0x36573e=a0_0x39d910,_0x5728c4={'ryDve':function(_0x5ad3ad,_0xc7483a){return _0x5ad3ad*_0xc7483a;},'JCaqB':function(_0x250ac8,_0x52baf8){return _0x250ac8(_0x52baf8);},'wSBWU':function(_0x417d88,_0xd58022){return _0x417d88===_0xd58022;},'XRhkW':function(_0x415798,_0x2cf7c4){return _0x415798===_0x2cf7c4;},'ssvOw':'all','csaPq':function(_0xcfe247,_0x383079){return _0xcfe247>_0x383079;},'dsFHV':_0x36573e(0x1ac),'PGrxu':_0x36573e(0x16a),'cngZf':function(_0x2d29de,_0x18610f){return _0x2d29de>_0x18610f;},'GMmce':'excel_columns_from_request','pjpgA':_0x36573e(0x15a),'XrdzA':_0x36573e(0x1e8),'qOpzj':_0x36573e(0x161)},_0xe11c94=_0x5728c4[_0x36573e(0x170)](require,'../utils/excel-generator'),_0x4cc74d=new _0xe11c94(),_0x220a68=_0x35da00['filename']?_0x35da00['filename']+'-'+_0x28bf48:'export-'+_0x28bf48,_0x15b0a4=path[_0x36573e(0x1af)](this['exportDir'],_0x220a68+'.xlsx');let _0x3a8276=_0x35da00['columns'];const _0x1d372a=_0x35da00[_0x36573e(0x1ee)]&&_0x35da00['exportQuery']['trim'](),_0xdb6467=_0x3a8276&&_0x5728c4[_0x36573e(0x1ed)](_0x3a8276[_0x36573e(0x1a4)],0x1)&&(_0x5728c4['wSBWU'](_0x3a8276[0x0],'*')||_0x5728c4[_0x36573e(0x1ec)](_0x3a8276[0x0]['toLowerCase'](),_0x5728c4['ssvOw']));if(_0x5728c4[_0x36573e(0x1ea)](_0x2ad04f['length'],0x0)){const _0x38828a=Object['keys'](_0x2ad04f[0x0]);if(_0x1d372a)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['dsFHV'],'columns':_0x3a8276},_0x36573e(0x1db)+_0x3a8276['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0xdb6467)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['PGrxu'],'columns':_0x3a8276},_0x36573e(0x1a9)+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x157));else{if(_0x3a8276&&_0x5728c4[_0x36573e(0x1ea)](_0x3a8276['length'],0x0)){const _0x5682d9=_0x3a8276[_0x36573e(0x1ef)](_0x55a168=>_0x38828a['includes'](_0x55a168));_0x5728c4[_0x36573e(0x190)](_0x5682d9[_0x36573e(0x1a4)],0x0)?(_0x3a8276=_0x5682d9,logger[_0x36573e(0x19b)]({'event':_0x5728c4['GMmce'],'requestedColumns':_0x35da00[_0x36573e(0x172)],'validColumns':_0x3a8276},'Using\x20'+_0x3a8276['length']+'\x20columns\x20from\x20request')):(_0x3a8276=_0x38828a,logger['warn']({'event':_0x5728c4[_0x36573e(0x1ba)],'requestedColumns':_0x35da00['columns'],'availableColumns':_0x38828a},_0x36573e(0x1bf)+_0x38828a[_0x36573e(0x1a4)]+'\x20columns'));}else _0x3a8276=_0x38828a,logger['info']({'event':_0x5728c4['XrdzA'],'columns':_0x3a8276},'Using\x20'+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x165));}}}else logger[_0x36573e(0x19b)]({'event':_0x5728c4[_0x36573e(0x1e6)],'columns':_0x3a8276},'Using\x20'+(_0x3a8276?.['length']||0x0)+_0x36573e(0x1d8));return await _0x4cc74d['generate']({'data':_0x2ad04f,'columns':_0x3a8276,'columnFormats':_0x35da00[_0x36573e(0x1f2)]||null,'fieldLabels':_0x35da00[_0x36573e(0x176)]||null,'filePath':_0x15b0a4,'onProgress':async _0x2605f8=>{const _0x295b3b=_0x36573e;await redisHelper['updateJob'](_0x28bf48,{'progress':Math['round'](_0x2605f8),'processed_rows':Math['round'](_0x5728c4[_0x295b3b(0x1dd)](_0x2605f8/0x64,_0x2ad04f['length']))});}}),_0x15b0a4;}async[a0_0x39d910(0x160)](_0x5a7216){const _0x2482f8=a0_0x39d910,_0x173c4f={'jkdBQ':function(_0x44a554,_0x58063e){return _0x44a554!==_0x58063e;},'IeWog':'export_file_not_found','NyeNU':'Export\x20file\x20not\x20found'},_0x23767b=await redisHelper['getJob'](_0x5a7216);if(!_0x23767b||_0x173c4f[_0x2482f8(0x155)](_0x23767b[_0x2482f8(0x174)],_0x2482f8(0x1bd)))return null;try{return await fs['access'](_0x23767b[_0x2482f8(0x17e)]),_0x23767b[_0x2482f8(0x17e)];}catch(_0x361168){return logError(_0x361168,{'event':_0x173c4f['IeWog'],'jobId':_0x5a7216,'path':_0x23767b['file_path']},_0x173c4f['NyeNU']),null;}}async['cleanup'](){const _0x2215cb=a0_0x39d910,_0x10b479={'SLrfG':'export_cleanup_start','IuTHY':function(_0x542a85,_0x596ccf){return _0x542a85-_0x596ccf;},'vXnzY':function(_0x189e67,_0x3d86f5){return _0x189e67*_0x3d86f5;},'ajaUH':_0x2215cb(0x167),'Iwizh':_0x2215cb(0x185),'bUMeC':_0x2215cb(0x1b4)};logger['info']({'event':_0x10b479[_0x2215cb(0x15b)]},'Starting\x20export\x20cleanup');const _0x55c5dd=await redisHelper['getAllJobs']();let _0x4f633f=0x0;for(const _0x2a3c80 of _0x55c5dd){const _0x5550c6=new Date(_0x2a3c80[_0x2215cb(0x17b)]),_0xd09d9d=new Date(),_0x408b74=_0x10b479['IuTHY'](_0xd09d9d,_0x5550c6)/(_0x10b479[_0x2215cb(0x1e1)](0x3e8,0x3c)*0x3c);if(_0x408b74>0x1){if(_0x2a3c80[_0x2215cb(0x17e)])try{await fs['unlink'](_0x2a3c80['file_path']),logger['info']({'event':_0x10b479[_0x2215cb(0x15e)],'path':_0x2a3c80[_0x2215cb(0x17e)]},_0x10b479[_0x2215cb(0x1c7)]);}catch(_0x3cdf12){logger['warn']({'event':_0x10b479[_0x2215cb(0x193)],'path':_0x2a3c80[_0x2215cb(0x17e)],'error':_0x3cdf12['message']},_0x2215cb(0x1ae));}await redisHelper[_0x2215cb(0x1eb)](_0x2a3c80['job_id']),_0x4f633f++;}}return logger[_0x2215cb(0x19b)]({'event':_0x2215cb(0x15d),'deleted':_0x4f633f},'Export\x20cleanup\x20completed'),_0x4f633f;}}function a0_0x3481(){const _0x3fa23d=['DKD0wue','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','y3jLyxrLsM9I','ChjVy2vZC2vKx3jVD3m','sKTSEfm','BgvUz3rO','Dg9mB3DLCKnHC2u','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','iefticGkicaGifnftevdvca','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','vxnPBMCGywXSia','tereBhe','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','mJyZnZj6z1LSEei','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','Dg9vChbLCKnHC2u','CMfUzg9T','zgvMyxvSDa','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','CMvZB2X2zq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ru5pru5u','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','CgPWz0e','z0HjCxy','x2v4Cg9YDerPCG','y29TCgXLDgvK','BgrvzNO','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','zw50CMLLCW','revtqW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y3DK','lI4VDxrPBhmVzgi','zMv0y2HeyxrH','AxnbCNjHEq','sxDPEMG','lI4VDxrPBhmVzgiTB3jHy2XL','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','A3PztLK','x2rHDge','C3vIC3rYAw5N','CgvUzgLUzW','svmGtLvmta','uLzos28','DxbKyxrLsM9I','z2vUzxjHDgvfEgnLBa','mZGYngTKww1gEq','id0G','ieforca','ieLoicG','zxHWB3j0x2nVBxbSzxrLza','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','rLjdvNq','Dfn5rfm','vxnPBMCG','zMLSztO','CNLeDMu','ChjVz3jLC3m','ieLtie5pvcbovuXm','zxHWB3j0x2zLDgnOx3n0yxj0','DLHUELK','mZa1otyYsMvVsuPo','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','Dg9ju09tDhjPBMC','BwvZC2fNzq','Cu9WEMO','nZi5mJu1zurWvfbf','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','odDfAevjreO','y3nHuhe','zgvSzxrLsM9I','wfjOA1C','D1ncv1u','zxHWB3j0uxvLCNK','zMLSDgvY','y29UzgL0Aw9UCW','zxHPC3rZu3LUyW','y29SDw1UrM9YBwf0CW','uxvTANi','mJeXndq1nvv1s1bMta','EhjKs0C','BxLZCwW','v0Lusca','rejFvfLqrq','AMTKqLe','z2vUzxjHDgvkB2jjza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3BMHbqwzy','mZe3ntyWmxvOuKz4rW','zxHJzwXFy29SDw1UC19MywXSyMfJAW','u0XYzKC','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ywPHvuG','Cgf5Bg9Hza','z2v0rMLSzvbHDgG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','y2f0y2G','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Cg9ZDgDYzxnXBa','zxHWB3j0x2zPBgvFzgvSzxrLza','cIaGicbguK9nia','zxHWB3j0x2zHAwXLza','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','D2nKuK0','mNbpBKDvyq','lI4VlI4VzxHWB3j0CY8','zMXVB3i','Cfn6EvK','sKnHCui','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','y29SDw1UCW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','C3rHDhvZ','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zMLLBgrmywjLBhm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','CgfYyw1Z','tK9uieXjs0u','rKXtChy','y3jLyxrLzf9HDa','zxjYB3i','rgjLBwu','zMLSzv9WyxrO','zxHWB3j0x2zLDgnOx2vYCM9Y','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','DhjPBq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','C3rHCNrZv2L0Aa','rxHWB3j0igzPBguGzgvSzxrLza','yNvPBgrxAgvYzunSyxvZzq','EwvqD2u','C2v0sM9I','Aw52ywXPzf9JB25KAxrPB24','mZmZndyXmeXxuurLyG','svmGtK9uie5vteW','C3DytKu','C2fUAxrPEMvwywX1zq','nLDwwgTxDq','ie9sia','y25NwMy','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','yLvnzum','CMvZB2X2zuv4Cg9YDff1zxj5','zxHLy3v0zvf1zxj5','BKLetem','BwfW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','vvbqrviO','D2fYBG','Aw5MBW','C3rYAw5N'];a0_0x3481=function(){return _0x3fa23d;};return a0_0x3481();}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3162f3=a0_0x1b99;(function(_0x4a687f,_0xaeaa40){const _0x19e8f3=a0_0x1b99,_0x8f0466=_0x4a687f();while(!![]){try{const _0x4cb229=-parseInt(_0x19e8f3(0xf4))/0x1+parseInt(_0x19e8f3(0x10e))/0x2+parseInt(_0x19e8f3(0xdf))/0x3*(-parseInt(_0x19e8f3(0x103))/0x4)+-parseInt(_0x19e8f3(0xe0))/0x5+-parseInt(_0x19e8f3(0x17f))/0x6+-parseInt(_0x19e8f3(0x18b))/0x7*(-parseInt(_0x19e8f3(0x161))/0x8)+parseInt(_0x19e8f3(0x147))/0x9;if(_0x4cb229===_0xaeaa40)break;else _0x8f0466['push'](_0x8f0466['shift']());}catch(_0x52d5a0){_0x8f0466['push'](_0x8f0466['shift']());}}}(a0_0x542b,0x8bd33));const {v7:uuidv7}=require(a0_0x3162f3(0x181)),path=require(a0_0x3162f3(0x155)),fs=require('fs')[a0_0x3162f3(0x148)],redisHelper=require(a0_0x3162f3(0x102)),{logger,logError}=require(a0_0x3162f3(0x12d)),dbType=(process['env'][a0_0x3162f3(0x15d)]||a0_0x3162f3(0x185))[a0_0x3162f3(0x182)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x3162f3(0x16e))oracleDb=require(a0_0x3162f3(0x179)),executeQuery=(_0x213b03,_0x3924aa)=>oracleDb[a0_0x3162f3(0x169)](_0x213b03,_0x3924aa),executeTransaction=_0x10b9c7=>oracleDb['executeTransaction'](_0x10b9c7);else{if(dbType===a0_0x3162f3(0x107)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x79adc4,_0x527df7)=>mysqlDb['executeQuery'](_0x79adc4,_0x527df7),executeTransaction=_0x42a704=>mysqlDb['executeTransaction'](_0x42a704);}else{const db=require(a0_0x3162f3(0x14b));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x3162f3(0x130)];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x3162f3(0x10b)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x3162f3(0xe9));function a0_0x1b99(_0x3392b4,_0x410ed8){_0x3392b4=_0x3392b4-0xd9;const _0x542bac=a0_0x542b();let _0x1b99ea=_0x542bac[_0x3392b4];if(a0_0x1b99['DwRqrX']===undefined){var _0x112d1f=function(_0x22d079){const _0x27dfe2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x81da91='',_0x514b45='';for(let _0x2677c4=0x0,_0x100545,_0x44d245,_0x4d89fa=0x0;_0x44d245=_0x22d079['charAt'](_0x4d89fa++);~_0x44d245&&(_0x100545=_0x2677c4%0x4?_0x100545*0x40+_0x44d245:_0x44d245,_0x2677c4++%0x4)?_0x81da91+=String['fromCharCode'](0xff&_0x100545>>(-0x2*_0x2677c4&0x6)):0x0){_0x44d245=_0x27dfe2['indexOf'](_0x44d245);}for(let _0x58724e=0x0,_0x3eb37c=_0x81da91['length'];_0x58724e<_0x3eb37c;_0x58724e++){_0x514b45+='%'+('00'+_0x81da91['charCodeAt'](_0x58724e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x514b45);};a0_0x1b99['QEVghC']=_0x112d1f,a0_0x1b99['MmDCSA']={},a0_0x1b99['DwRqrX']=!![];}const _0x11c0a4=_0x542bac[0x0],_0xaa3a6=_0x3392b4+_0x11c0a4,_0xe5718b=a0_0x1b99['MmDCSA'][_0xaa3a6];return!_0xe5718b?(_0x1b99ea=a0_0x1b99['QEVghC'](_0x1b99ea),a0_0x1b99['MmDCSA'][_0xaa3a6]=_0x1b99ea):_0x1b99ea=_0xe5718b,_0x1b99ea;}function a0_0x542b(){const _0x4f5373=['lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','yNvPBgrmywjLBfrVrMLLBgrnyxa','mtCXnty0mhfJA01PuW','rhvWBgLJyxrLihzHBhvLigzVCIa','C0fxuNG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','tuHdvvC','EwvZ','zMLLBgroyw1L','Aw5Zzxj0','wNfnB1m','zM9YrwfJAa','su5trvju','yNvPBgrcyxrJAfvWzgf0zq','y29SDw1UrM9YBwf0CW','Aw5Zzxj0x29UBhK','vvbeqvrf','AhPcrvu','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','Bg9VA3vWrMLLBgrZ','z2v0','zM1yA2K','Aw5JBhvKzxm','CMfUzg9T','BKLfqKu','BwLZC2LUz0zPzwXKCW','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','CgH4sxa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','CMvWBgfJzq','uK9Hu3q','s2HjzKS','yxbWBhLdB2X1Bw5gB3jTyxrZ','lI4VDxrPBhmVBg9Nz2vY','C3rHDhvZ','A2v5CW','zxHLy3v0zvrYyw5Zywn0Aw9U','zMLSDgvY','vNn1uK0','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','BezpBeu','y2H1BMTsB3DZ','uhjLDMLLDYbQB2iGzMfPBgvK','Dhj1zq','C2nVCgvpDMvYCMLKzq','AM9Ix2LK','y29TBwL0x3bYB2nLC3nFzxjYB3i','C2v0','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','vxDVsgi','B0zZuLe','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','q29TBwL0igPVyIbJCMvHDgvK','DMfSDwvZ','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C2v0sM9I','BNvTyMvY','AgvHzgvYC19TyxbWzwq','z2vUzxjHDgvjza','mtK2nJyZntLjCwfqthq','ChjVBwLZzxm','yMfmrfi','ChvZAa','lI4VDxrPBhmVzgi','vMHAzuq','CM93CW','Dg9ju09tDhjPBMC','y2f0y2G','DxbKyxrLx2v4Axn0Aw5N','y3jLyxrLq29TBwL0sM9I','thjguLy','z2v0tw9UDgG','kqOGicaGica','Cgf0Aa','zMfSC2u','CgfKu3rHCNq','z2v0sM9I','C2L6zq','BgvUz3rO','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','BwvZC2fNzq','rejFvfLqrq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','ChjVy2vZC1bYzxzPzxDkB2i','AM9IoG','mJrHv3rhAhq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','cIaGicaGicaGrLjptsa','zgvIDwC','Bwf0y2G','v1D4sva','x2vYCM9YCW','x3vWBg9HzerPCG','zxHLy3v0zvf1zxj5','DxbSB2fKrMLSzq','y1zQq1q','AM9PBG','CgfYyw1Z','B3jHy2XL','C3fS','ChjLDMLLD19QB2jFy29TCgXLDgvK','Ag1Ssw8','C2TPCf9LEgLZDgLUzW','wND2t1i','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','Dw5SAw5R','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q29TBwL0igPVyIbJB21WBgv0zwq','BwfW','lI4VDxrPBhmVzgiTB3jHy2XL','zgf0zq','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B1PfC0q','igf0ihjVDYa','mtGZmdqZmM5wsg9mwa','Dg9vChbLCKnHC2u','DxvPza','Dg9mB3DLCKnHC2u','zw52','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cg9ZDgDYzxnXBa','A3nAAxK','BuPeuxC','rMfPBgvKihrVignSzwfUDxaGzMLSzq','yM9VBgvHBG','zNjVBq','ndi3odGYrM9RrhHV','CM93sw5KzxG','y29TCgXLDgvK','y29TBwL0x2PVyL9MywLSzwq','y2HHCKf0','zw50CMLLCW','D1z3EMS','mZiZndq3n211DhrHsW','ota4ndaWDxzKqwvM','EK1WqvC','turqEM8','ChjVy2vZC2vKuM93CW','ENbrBfK','BM93','CgfYC2vfEgnLBezPBgu','C3rYAw5N','Aw5MBW','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zu5Lzw8','y29TBwL0x2PVyL9JB21WBgv0zwq','zMLSzv9JBgvHBNvWx2vYCM9Y','DhjPBq','qKT3zgy','wu13CeK','zxHWB3j0CW','DMfSAwq','DhLWzq','rfbYwuK','mta4odCXnxfuqMneqW','DxbSB2fKoG','z2v0rgf0zq','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zxjYB3jZ','y29SDw1U','y291BNq','vevyAvG','tuLdExu','x2fJDgLVBG','vhzkyxK','q29TBwL0igPVyIbMywLSzwq','zNvVvuG','ChjVy2vZC2LUzW','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','ng9ou3n1Bq','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','BefQy0C','Dgv4Da','BxLZCwW','vvbmt0fex0rjuG','y3jLyxrLzf9HDa','u0Tjua'];a0_0x542b=function(){return _0x4f5373;};return a0_0x542b();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0xdaa942=a0_0x3162f3;if(!this[_0xdaa942(0x168)]){const _0x4da964=process[_0xdaa942(0x183)][_0xdaa942(0x184)]||'default';this['_uploadDir']=process[_0xdaa942(0x183)][_0xdaa942(0x108)]||path['join'](__dirname,'../../temp/uploads/'+_0x4da964);}return this['_uploadDir'];}[a0_0x3162f3(0x146)](){const _0x561edf=a0_0x3162f3,_0x2bf85={'NntPH':function(_0x26f3e5,_0x30b4d0){return _0x26f3e5-_0x30b4d0;}},_0x1e228c='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x431f10=Date[_0x561edf(0xe5)]()['toString'](0x24),_0x3adba3=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x2bf85['NntPH'](0xc,_0x431f10['length'])),_0x2f9694=(_0x431f10+_0x3adba3)['substring'](0x0,0xc);let _0x315e0d='';for(let _0xb54a13=0x0;_0xb54a13<0xc;_0xb54a13++){_0x2f9694[_0xb54a13]?_0x315e0d+=_0x2f9694[_0xb54a13]:_0x315e0d+=_0x1e228c[_0x561edf(0xdc)](Math['floor'](Math[_0x561edf(0x123)]()*_0x1e228c[_0x561edf(0x15a)]));}return _0x315e0d;}['buildLabelToFieldMap'](_0x8dc446){const _0x3ef2ed=a0_0x3162f3,_0x3932a9={'nvsJK':_0x3ef2ed(0x142)},_0x453cec=new Map();if(!_0x8dc446)return _0x453cec;return Object[_0x3ef2ed(0xdd)](_0x8dc446)['forEach'](([_0x105535,_0x2ea424])=>{const _0x426b42=String(_0x2ea424)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x453cec['set'](_0x426b42,_0x105535);}),logger['debug']({'event':_0x3932a9['nvsJK'],'mappingCount':_0x453cec['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x453cec;}[a0_0x3162f3(0x12c)](_0x22e797,_0x26721a){const _0x3bb503=a0_0x3162f3,_0x36c332={'MICyu':function(_0x5cdbb8,_0x1120e1){return _0x5cdbb8===_0x1120e1;},'fmXki':function(_0x46e842,_0x329dae){return _0x46e842===_0x329dae;},'YMwpI':_0x3bb503(0x17a),'lilEg':'number'};if(!_0x26721a||Object[_0x3bb503(0x12f)](_0x26721a)[_0x3bb503(0x15a)]===0x0)return _0x22e797;return _0x22e797[_0x3bb503(0x178)](_0x49ece4=>{const _0x18ec3a=_0x3bb503,_0xbe66f2={..._0x49ece4};for(const [_0x1fd1bf,_0x583fba]of Object['entries'](_0x26721a)){const _0x444bc9=_0xbe66f2[_0x1fd1bf];if(_0x36c332[_0x18ec3a(0xfc)](_0x444bc9,null)||_0x444bc9===undefined||_0x36c332[_0x18ec3a(0x121)](_0x444bc9,'')){_0xbe66f2[_0x1fd1bf]=null;continue;}switch(_0x583fba[_0x18ec3a(0xf2)]){case _0x36c332[_0x18ec3a(0xef)]:_0xbe66f2[_0x1fd1bf]=this['formatDateForDatabase'](_0x444bc9);break;case _0x36c332['lilEg']:_0xbe66f2[_0x1fd1bf]=this[_0x18ec3a(0x126)](_0x444bc9);break;case _0x18ec3a(0x189):_0xbe66f2[_0x1fd1bf]=this['formatBooleanForDatabase'](_0x444bc9);break;case _0x18ec3a(0x106):_0xbe66f2[_0x1fd1bf]=String(_0x444bc9);break;default:break;}}return _0xbe66f2;});}[a0_0x3162f3(0x13f)](_0x2a54ae){const _0x22ec8b=a0_0x3162f3,_0x277be5={'hmlIo':function(_0x378fd5,_0x512271){return _0x378fd5+_0x512271;},'oZEsD':function(_0x4684de,_0x4f3165){return _0x4684de(_0x4f3165);},'sAWRx':function(_0x2ca7aa,_0x406942){return _0x2ca7aa(_0x406942);},'sIjiL':function(_0x531d31,_0x3c757c){return _0x531d31(_0x3c757c);}};if(_0x2a54ae===null||_0x2a54ae===undefined||_0x2a54ae==='')return null;if(typeof _0x2a54ae===_0x22ec8b(0xe7)&&/^\d{4}-\d{2}-\d{2}$/[_0x22ec8b(0x10c)](_0x2a54ae))return _0x2a54ae;if(_0x2a54ae instanceof Date){if(isNaN(_0x2a54ae['getTime']()))return null;const _0x4c02eb=_0x2a54ae['getFullYear'](),_0x24d1f0=String(_0x277be5[_0x22ec8b(0x171)](_0x2a54ae[_0x22ec8b(0x153)](),0x1))['padStart'](0x2,'0'),_0x516ff8=String(_0x2a54ae[_0x22ec8b(0xf6)]())['padStart'](0x2,'0');return _0x4c02eb+'-'+_0x24d1f0+'-'+_0x516ff8;}if(typeof _0x2a54ae==='string'){const _0x18f920=_0x2a54ae['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x18f920){const _0x460fd3=_0x277be5[_0x22ec8b(0x17d)](String,_0x18f920[0x1])['padStart'](0x2,'0'),_0xc5b2c0=_0x277be5[_0x22ec8b(0x110)](String,_0x18f920[0x2])[_0x22ec8b(0x157)](0x2,'0'),_0x3e7f74=_0x18f920[0x3];return _0x3e7f74+'-'+_0xc5b2c0+'-'+_0x460fd3;}const _0x42d207=_0x2a54ae[_0x22ec8b(0x165)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x42d207){const _0x254853=_0x42d207[0x1],_0x47229b=_0x277be5['sIjiL'](String,_0x42d207[0x2])[_0x22ec8b(0x157)](0x2,'0'),_0x37acf8=String(_0x42d207[0x3])['padStart'](0x2,'0');return _0x254853+'-'+_0x47229b+'-'+_0x37acf8;}}return _0x2a54ae;}[a0_0x3162f3(0x126)](_0x4fa3ec){const _0x5a2216=a0_0x3162f3,_0x506377={'mjIwF':function(_0x1de44a,_0x4ed708){return _0x1de44a===_0x4ed708;},'QLwnd':function(_0x58f0f6,_0x3fb690){return _0x58f0f6(_0x3fb690);},'cYprx':function(_0x223e40,_0x3910af){return _0x223e40===_0x3910af;},'RsXab':_0x5a2216(0xe7),'wVwzk':function(_0x4039ce,_0x177c96){return _0x4039ce(_0x177c96);}};if(_0x4fa3ec===null||_0x506377['mjIwF'](_0x4fa3ec,undefined)||_0x4fa3ec==='')return null;if(_0x506377['mjIwF'](typeof _0x4fa3ec,'number'))return _0x506377['QLwnd'](isNaN,_0x4fa3ec)?null:_0x4fa3ec;if(_0x506377['cYprx'](typeof _0x4fa3ec,_0x506377['RsXab'])){let _0x1cfc36=_0x4fa3ec['trim']();const _0x4a3951=/,\d{1,2}$/[_0x5a2216(0x10c)](_0x1cfc36)&&!/,\d{3}/[_0x5a2216(0x10c)](_0x1cfc36);_0x4a3951?_0x1cfc36=_0x1cfc36['replace'](/\./g,'')[_0x5a2216(0x129)](',','.'):_0x1cfc36=_0x1cfc36['replace'](/,/g,'');const _0x5d3d19=_0x506377['QLwnd'](parseFloat,_0x1cfc36);return _0x506377[_0x5a2216(0xde)](isNaN,_0x5d3d19)?null:_0x5d3d19;}return null;}[a0_0x3162f3(0x15b)](_0x2d43cd){const _0x24586d=a0_0x3162f3,_0x5c1a9c={'TvJay':function(_0x1404b5,_0x3edfb0){return _0x1404b5===_0x3edfb0;},'ckgPx':_0x24586d(0x189),'BKwdf':_0x24586d(0x137),'eGteo':_0x24586d(0x113),'fuoUH':_0x24586d(0x156)};if(_0x2d43cd===null||_0x2d43cd===undefined||_0x5c1a9c[_0x24586d(0xfe)](_0x2d43cd,''))return null;if(typeof _0x2d43cd===_0x5c1a9c['ckgPx'])return _0x2d43cd?'true':'false';if(typeof _0x2d43cd==='string'){const _0x24c42f=_0x2d43cd[_0x24586d(0xed)]()['toLowerCase']();if([_0x5c1a9c[_0x24586d(0xee)],_0x5c1a9c['eGteo'],'y','1']['includes'](_0x24c42f))return _0x5c1a9c[_0x24586d(0xee)];if([_0x5c1a9c[_0x24586d(0x100)],'no','n','0']['includes'](_0x24c42f))return'false';return null;}if(typeof _0x2d43cd===_0x24586d(0x144))return _0x2d43cd?_0x24586d(0x137):_0x24586d(0x156);return null;}async[a0_0x3162f3(0x16a)](_0x26125e,_0x42920f){const _0x2de58e=a0_0x3162f3,_0x2c9322={'VURjq':function(_0x1a7116,_0x30d751){return _0x1a7116>_0x30d751;},'phxIp':'column_formats_applied','idtKk':'import_file_uploaded'},_0x3b18c5=this[_0x2de58e(0x146)]();try{let {headers:_0x3d80a6,rows:_0x500b5e,totalRows:_0x10df5d}=await excelParser[_0x2de58e(0xe6)](_0x26125e[_0x2de58e(0x155)]);const _0x69611c=this[_0x2de58e(0x10d)](_0x42920f['fieldLabels']),_0x42dfdb=_0x3d80a6[_0x2de58e(0x178)](_0x1084d8=>{const _0x102bf2=_0x2de58e,_0x56737f=_0x69611c[_0x102bf2(0x120)](_0x1084d8);return _0x56737f||_0x1084d8;});_0x500b5e=_0x500b5e['map'](_0x54c499=>{const _0x10a811={};return _0x3d80a6['forEach']((_0xf9c60,_0x2d6858)=>{const _0x2e86ed=_0x42dfdb[_0x2d6858];_0x10a811[_0x2e86ed]=_0x54c499[_0xf9c60];}),_0x10a811;}),_0x3d80a6=_0x42dfdb,logger['debug']({'event':_0x2de58e(0x145),'original':_0x3d80a6[_0x2de58e(0x15a)],'mapped':_0x42dfdb[_0x2de58e(0x131)]((_0x4ab4ea,_0x1ba0ae)=>_0x4ab4ea!==_0x3d80a6[_0x1ba0ae])['length']},_0x2de58e(0x111));_0x42920f['columnFormats']&&_0x2c9322['VURjq'](Object[_0x2de58e(0x12f)](_0x42920f[_0x2de58e(0x11a)])['length'],0x0)&&(_0x500b5e=this[_0x2de58e(0x12c)](_0x500b5e,_0x42920f[_0x2de58e(0x11a)]),logger['debug']({'event':_0x2c9322[_0x2de58e(0x127)],'formatCount':Object['keys'](_0x42920f['columnFormats'])[_0x2de58e(0x15a)],'formats':Object[_0x2de58e(0x12f)](_0x42920f[_0x2de58e(0x11a)])},_0x2de58e(0x128)));if(_0x42920f[_0x2de58e(0x138)]&&_0x42920f[_0x2de58e(0x138)][_0x2de58e(0xf9)]){const {column:_0x1fcfb7,value:_0x17c062}=_0x42920f['scopeOverride'];_0x500b5e=_0x500b5e['map'](_0x3657d7=>({..._0x3657d7,[_0x1fcfb7]:_0x17c062})),logger[_0x2de58e(0x164)]({'event':_0x2de58e(0x104),'column':_0x1fcfb7,'rowCount':_0x500b5e['length']},_0x2de58e(0x15e));}const _0x358c15=_0x42920f[_0x2de58e(0x11f)]?Object[_0x2de58e(0x141)](_0x42920f[_0x2de58e(0x11f)])['map'](_0x326bdf=>_0x326bdf['targetField']):[],_0x448939=_0x42920f[_0x2de58e(0x114)]['filter'](_0x4ec259=>!_0x358c15[_0x2de58e(0x122)](_0x4ec259)),_0x4e98a5=excelParser[_0x2de58e(0x162)](_0x3d80a6,_0x448939);if(!_0x4e98a5[_0x2de58e(0xf1)]){await fs[_0x2de58e(0x175)](_0x26125e['path']);throw new Error(_0x2de58e(0x174)+_0x4e98a5[_0x2de58e(0x125)]['join'](',\x20'));}const _0x30cb2a={'upload_id':_0x3b18c5,'filename':_0x26125e['originalname'],'total_rows':_0x10df5d,'headers':_0x3d80a6,'rows':_0x500b5e,'params':_0x42920f,'created_at':new Date()[_0x2de58e(0x14e)]()};return await redisHelper['setJob'](_0x2de58e(0xf5)+_0x3b18c5,_0x30cb2a,0xe10),await fs[_0x2de58e(0x175)](_0x26125e[_0x2de58e(0x155)]),logger['info']({'event':_0x2c9322['idtKk'],'uploadId':_0x3b18c5,'filename':_0x26125e['originalname'],'totalRows':_0x10df5d},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x3b18c5,'total_rows':_0x10df5d,'preview':_0x500b5e['slice'](0x0,0xa)};}catch(_0x11832e){try{await fs['unlink'](_0x26125e[_0x2de58e(0x155)]);}catch(_0x34c56f){logError(_0x34c56f,{'event':_0x2de58e(0xec)},_0x2de58e(0x188));}throw _0x11832e;}}async['createPreviewJob'](_0x2ed3b8){const _0x42a600=a0_0x3162f3,_0x1858a0={'baLDR':function(_0xd1e7a,_0x3ac422,_0x4a8f44,_0x4322c4){return _0xd1e7a(_0x3ac422,_0x4a8f44,_0x4322c4);},'KhIfK':_0x42a600(0x133),'zMpAW':'preview_job_created','Nbaxs':'Preview\x20job\x20created','ZwvOR':'validating'},_0x4d06f1=this['generateId'](),_0x20cd45=await redisHelper[_0x42a600(0x158)](_0x42a600(0xf5)+_0x2ed3b8);if(!_0x20cd45)throw new Error(_0x1858a0[_0x42a600(0x12b)]);const _0xf24d5f={'job_id':_0x4d06f1,'upload_id':_0x2ed3b8,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x20cd45['params']};return await redisHelper['setJob']('job:'+_0x4d06f1,_0xf24d5f,0xe10),logger['info']({'event':_0x1858a0[_0x42a600(0xe1)],'jobId':_0x4d06f1,'uploadId':_0x2ed3b8},_0x1858a0['Nbaxs']),this[_0x42a600(0x15f)](_0x4d06f1,_0x2ed3b8,_0x20cd45)[_0x42a600(0x14f)](_0x3274b6=>{const _0x198962=_0x42a600;_0x1858a0[_0x198962(0x149)](logError,_0x3274b6,{'event':'preview_process_error','jobId':_0x4d06f1},_0x198962(0xf7));}),{'job_id':_0x4d06f1,'status':_0x1858a0[_0x42a600(0x173)]};}['autoGenerateUpsertKeys'](_0x52685e,_0x16be07){const _0x21a2ff=a0_0x3162f3,_0x9efec9={'ROaSt':function(_0x19cb0c,_0x23d8a7){return _0x19cb0c(_0x23d8a7);}};_0x52685e[_0x21a2ff(0x117)]((_0x33b5c5,_0x537813)=>{const _0x47e883={'mJDQw':function(_0x28da63,_0xf226b7){return _0x28da63===_0xf226b7;},'TEXiX':function(_0x3f1e40,_0x1575ab){const _0x121e62=a0_0x1b99;return _0x9efec9[_0x121e62(0x12a)](_0x3f1e40,_0x1575ab);}};_0x16be07['forEach'](_0x3a8a95=>{const _0x2e559c=a0_0x1b99,_0x379e75=_0x33b5c5[_0x3a8a95];if(_0x379e75===null||_0x379e75===undefined||_0x379e75===''||_0x47e883[_0x2e559c(0x187)](_0x47e883[_0x2e559c(0xfb)](String,_0x379e75)[_0x2e559c(0xed)](),'-')){const _0x342403=uuidv7();_0x33b5c5[_0x3a8a95]=_0x342403,_0x33b5c5['_generated_uuid']=_0x33b5c5['_generated_uuid']||{},_0x33b5c5['_generated_uuid'][_0x3a8a95]=_0x342403,logger[_0x2e559c(0x164)]({'event':'uuid_auto_generated','rowIndex':_0x537813,'field':_0x3a8a95,'uuid':_0x342403},'Auto-generated\x20UUID\x20for\x20'+_0x3a8a95+_0x2e559c(0x17e)+(_0x537813+0x2));}});});}async[a0_0x3162f3(0x15f)](_0x335ab5,_0xacdc7a,_0x40529b){const _0x14dac1=a0_0x3162f3,_0xd48fc4={'MDPzo':function(_0x2565c1,_0x484d3b){return _0x2565c1===_0x484d3b;},'ohWYE':'UPDATE','nIEBE':function(_0x3dff50,_0x5c3308){return _0x3dff50===_0x5c3308;},'VFlzY':_0x14dac1(0x10a),'ZqMoS':function(_0x15c5b9,_0x22967e){return _0x15c5b9>_0x22967e;},'UQqVw':'Processing\x20lookup\x20fields','djdRJ':function(_0xb8ccc8,_0x3380d3){return _0xb8ccc8||_0x3380d3;},'RxmhH':'preview_error','AUAGB':function(_0x80507,_0x363e2a,_0x48e869,_0x244243){return _0x80507(_0x363e2a,_0x48e869,_0x244243);},'eNeeo':_0x14dac1(0x136)};try{let {rows:_0x5e0436,params:_0x44c7c4}=_0x40529b;const {requiredFields:_0x5a1e22,validations:_0x48989f,upsertKeys:_0x39120c,tableName:_0x6d7f7f,primaryKey:_0x2fe1b4,fieldName:_0x47e2d8,upsertStrategy:_0xed06c8,lookupFields:_0x4f62d8}=_0x44c7c4;this['autoGenerateUpsertKeys'](_0x5e0436,_0x39120c);let _0x313863=[];if(_0x4f62d8&&_0xd48fc4['ZqMoS'](Object['keys'](_0x4f62d8)['length'],0x0)){logger[_0x14dac1(0xe8)]({'event':'processing_lookup_fields','jobId':_0x335ab5,'lookupFieldCount':Object[_0x14dac1(0x12f)](_0x4f62d8)['length']},_0xd48fc4['UQqVw']);const _0x454210=await lookupResolver['processLookupFields'](_0x5e0436,_0x4f62d8);_0x5e0436=_0x454210[_0x14dac1(0xe3)],_0x313863=_0x454210['errors'],_0x40529b[_0x14dac1(0x14d)]=_0x5e0436;}const _0x4ed0cc=importValidator['batchValidateRows'](_0x5e0436,_0x5a1e22||[],_0xd48fc4['djdRJ'](_0x48989f,{}));_0x313863['forEach'](_0x182931=>{const _0x542737=_0x14dac1,_0x440df1=_0x4ed0cc['find'](_0x59281d=>_0x59281d[_0x542737(0xd9)]===_0x182931[_0x542737(0xd9)]);_0x440df1?_0x440df1[_0x542737(0xf8)]['push'](_0x182931[_0x542737(0x15c)]):_0x4ed0cc[_0x542737(0x14a)]({'rowIndex':_0x182931['rowIndex'],'rowData':_0x5e0436[_0x182931[_0x542737(0xd9)]],'errors':[_0x182931['message']]});});const _0x27c295=importValidator[_0x14dac1(0x11e)](_0x5e0436,_0x39120c);_0x27c295[_0x14dac1(0x117)](_0x3398b4=>{const _0x320b07=_0x14dac1,_0x38c389=_0x4ed0cc['find'](_0x19a6cc=>_0x19a6cc[_0x320b07(0xd9)]===_0x3398b4['rowIndex']),_0x5d0dd5=_0x39120c['map'](_0x4ac6b9=>_0x4ac6b9[_0x320b07(0x180)]())['join'](',\x20'),_0x17731d=_0x320b07(0x10f)+_0x5d0dd5;_0x38c389?_0x38c389['errors']['push'](_0x17731d):_0x4ed0cc[_0x320b07(0x14a)]({'rowIndex':_0x3398b4[_0x320b07(0xd9)],'rowData':_0x5e0436[_0x3398b4[_0x320b07(0xd9)]],'errors':[_0x17731d]});}),await this['detectDatabaseDuplicates'](_0x5e0436,_0x39120c,_0x6d7f7f,_0x2fe1b4,_0xed06c8,_0x4ed0cc),_0x4ed0cc[_0x14dac1(0x117)](_0x475759=>{const _0x2973a0=_0x14dac1,_0x4f532c=_0x5e0436[_0x475759[_0x2973a0(0xd9)]];_0x4f532c&&(_0x4f532c['_errors']=_0x475759[_0x2973a0(0xf8)]);});let _0x439538=0x0,_0x4bdd0a=0x0,_0x26b3f1=0x0;_0x5e0436[_0x14dac1(0x117)](_0x54a100=>{const _0xe0ed5c=_0x14dac1;if(_0xd48fc4[_0xe0ed5c(0xe2)](_0x54a100['_action'],'INSERT'))_0x439538++;else{if(_0x54a100['_action']===_0xd48fc4['ohWYE'])_0x4bdd0a++;else _0xd48fc4[_0xe0ed5c(0x124)](_0x54a100['_action'],_0xd48fc4['VFlzY'])&&_0x26b3f1++;}});const _0x198721={'job_id':_0x335ab5,'upload_id':_0xacdc7a,'status':_0xd48fc4[_0x14dac1(0x116)](_0x4ed0cc[_0x14dac1(0x15a)],0x0)?_0xd48fc4['RxmhH']:'preview_ok','progress':0x64,'created_at':_0x40529b[_0x14dac1(0x109)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x5e0436['length'],'insert_count':_0x439538,'update_count':_0x4bdd0a,'skip_count':_0x26b3f1,'error_count':_0x4ed0cc['length'],'errors':_0x4ed0cc,'data':_0x5e0436,'sample_insert':_0x5e0436['filter'](_0x3d2d28=>_0x3d2d28[_0x14dac1(0xfd)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x5e0436['filter'](_0x1164b2=>_0x1164b2['_action']===_0x14dac1(0x11c))['slice'](0x0,0x5),'sample_skip':_0x5e0436['filter'](_0xd11455=>_0xd11455['_action']===_0x14dac1(0x10a))['slice'](0x0,0x5)},'params':_0x44c7c4};await redisHelper['setJob'](_0x14dac1(0x160)+_0x335ab5,_0x198721,0xe10),_0x40529b[_0x14dac1(0x14d)]=_0x5e0436,await redisHelper['setJob'](_0x14dac1(0xf5)+_0xacdc7a,_0x40529b,0xe10),logger[_0x14dac1(0xe8)]({'event':_0x14dac1(0x170),'jobId':_0x335ab5,'status':_0x198721[_0x14dac1(0x12e)],'insertCount':_0x439538,'updateCount':_0x4bdd0a,'skipCount':_0x26b3f1,'errorCount':_0x4ed0cc['length']},'Preview\x20job\x20completed');}catch(_0x1e13b9){_0xd48fc4['AUAGB'](logError,_0x1e13b9,{'event':'preview_job_failed','jobId':_0x335ab5},_0xd48fc4[_0x14dac1(0xea)]),await redisHelper['setJob'](_0x14dac1(0x160)+_0x335ab5,{'job_id':_0x335ab5,'upload_id':_0xacdc7a,'status':'failed','progress':0x0,'error':_0x1e13b9[_0x14dac1(0x15c)],'created_at':new Date()[_0x14dac1(0x14e)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x3162f3(0x17c)](_0x31d727,_0x2a579b,_0x40d1a,_0x3aa94f,_0x45acc2=a0_0x3162f3(0x150),_0x43e585=[]){const _0x460796=a0_0x3162f3,_0x9b212a={'MHCUW':function(_0x5c2a4e,_0x17fcbc){return _0x5c2a4e===_0x17fcbc;},'YqUkj':'NULL','PFnSp':_0x460796(0x150),'WPnYh':function(_0x353bb8,_0x1bf78a){return _0x353bb8===_0x1bf78a;},'BChJY':_0x460796(0x11b),'lFOlE':'SKIP','SKhtp':function(_0x318b40,_0x315059){return _0x318b40!==_0x315059;},'ksZiy':_0x460796(0x172),'tGXSh':function(_0x296edc,_0x205a49){return _0x296edc===_0x205a49;},'lAjcG':'INSERT','DPrYI':'oracle'},_0x2b0dff=upsertBuilder['chunkRows'](_0x31d727,0x64);for(const _0x1b870d of _0x2b0dff){const _0x2b9ccb=_0x1b870d[_0x460796(0x178)](_0x1ad798=>_0x1ad798[_0x2a579b[0x0]]),_0x509d6a=_0x2b9ccb['map'](_0x391a11=>{const _0x17df25=_0x460796;if(_0x391a11===null||_0x9b212a['MHCUW'](_0x391a11,undefined))return _0x9b212a['YqUkj'];return'\x27'+String(_0x391a11)[_0x17df25(0x129)](/'/g,'\x27\x27')+'\x27';}),_0x11e0f2='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x3aa94f+',\x20'+_0x2a579b['join'](',\x20')+_0x460796(0x163)+_0x40d1a+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x2a579b[0x0]+'\x20IN\x20('+_0x509d6a[_0x460796(0x16c)](',\x20')+_0x460796(0x154);let _0x5f3b39=await executeQuery(_0x11e0f2);_0x9b212a[_0x460796(0x112)](dbType,_0x9b212a[_0x460796(0xf3)])&&_0x5f3b39&&_0x5f3b39[_0x460796(0x15a)]>0x0&&(_0x5f3b39=_0x5f3b39['map'](_0x3d1573=>{const _0x22f121={};for(const [_0x48d890,_0x4ac1cc]of Object['entries'](_0x3d1573)){_0x22f121[_0x48d890['toLowerCase']()]=_0x4ac1cc;}return _0x22f121;}));const _0x4ea4f0=new Map();_0x5f3b39['forEach'](_0x3cc9c3=>{const _0x3e6114=_0x460796,_0x2ae503=_0x3cc9c3[_0x2a579b[0x0]];_0x4ea4f0[_0x3e6114(0x13b)](_0x2ae503,_0x3cc9c3);}),_0x1b870d['forEach']((_0x3e9b88,_0x965fac)=>{const _0x294239=_0x460796,_0x419b7b=_0x3e9b88[_0x2a579b[0x0]],_0x233831=_0x4ea4f0[_0x294239(0x120)](_0x419b7b);if(_0x233831){if(_0x45acc2===_0x9b212a['PFnSp'])_0x3e9b88[_0x294239(0xfd)]='UPDATE',_0x3e9b88['_existingId']=_0x233831[_0x3aa94f];else{if(_0x9b212a['WPnYh'](_0x45acc2,_0x9b212a['BChJY'])){_0x3e9b88[_0x294239(0xfd)]=_0x9b212a[_0x294239(0x134)],_0x3e9b88[_0x294239(0x167)]=_0x3e9b88['_errors']||[],_0x3e9b88['_errors'][_0x294239(0x14a)](_0x294239(0x176));const _0x3194c7=_0x31d727['indexOf'](_0x3e9b88);_0x9b212a['SKhtp'](_0x3194c7,-0x1)&&_0x43e585['push']({'rowIndex':_0x3194c7,'rowData':_0x3e9b88,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x9b212a['WPnYh'](_0x45acc2,_0x9b212a[_0x294239(0x186)])&&(_0x3e9b88['_action']=_0x9b212a[_0x294239(0x134)]);}}else{if(_0x9b212a['tGXSh'](_0x45acc2,_0x9b212a['PFnSp']))_0x3e9b88[_0x294239(0xfd)]=_0x294239(0x118);else(_0x45acc2===_0x9b212a['BChJY']||_0x45acc2===_0x9b212a[_0x294239(0x186)])&&(_0x3e9b88[_0x294239(0xfd)]=_0x9b212a[_0x294239(0x105)]);}});}}async[a0_0x3162f3(0x151)](_0x1fb55e){const _0x1486b3=a0_0x3162f3,_0x2555e8={'cpHhD':_0x1486b3(0x13a),'RTrFN':_0x1486b3(0x17b),'WGjCG':'Preview\x20job\x20not\x20found\x20or\x20expired','vEUVn':'processing'},_0x5a41f6=this[_0x1486b3(0x146)](),_0x3d0a39=await redisHelper[_0x1486b3(0x158)](_0x1486b3(0x160)+_0x1fb55e);if(!_0x3d0a39)throw new Error(_0x2555e8['WGjCG']);if(_0x3d0a39[_0x1486b3(0x12e)]!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x3d0a39['status']);const _0x140f86={'job_id':_0x5a41f6,'upload_id':_0x3d0a39['upload_id'],'preview_job_id':_0x1fb55e,'status':_0x2555e8['vEUVn'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3d0a39[_0x1486b3(0x16d)]};return await redisHelper[_0x1486b3(0x143)]('job:'+_0x5a41f6,_0x140f86,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x5a41f6,'previewJobId':_0x1fb55e},_0x1486b3(0x140)),this['processCommitJob'](_0x5a41f6,_0x3d0a39)[_0x1486b3(0x14f)](_0x502bf0=>{logError(_0x502bf0,{'event':_0x2555e8['cpHhD'],'jobId':_0x5a41f6},_0x2555e8['RTrFN']);}),{'job_id':_0x5a41f6,'status':_0x1486b3(0x101)};}async['processCommitJob'](_0x59c6f7,_0x1e1c5e){const _0x225049=a0_0x3162f3,_0x523dc7={'hzBEU':_0x225049(0x115),'UwoHb':'Upload\x20data\x20not\x20found\x20or\x20expired','zpQlY':function(_0x52c86e,_0x157006){return _0x52c86e||_0x157006;},'khloL':'update','NcGjl':function(_0x45afbe,_0x375c6a){return _0x45afbe>_0x375c6a;},'VsuRM':function(_0x4b8656,_0x46f249){return _0x4b8656(_0x46f249);},'VhZeD':_0x225049(0xda),'oFsRQ':function(_0x281c1d,_0x204856,_0x209643,_0xd7cbd2){return _0x281c1d(_0x204856,_0x209643,_0xd7cbd2);},'LrFRV':_0x225049(0xdb),'cVjCT':_0x225049(0xff),'WWxIP':'failed'};try{const _0xc973a4=await redisHelper['getJob']('upload:'+_0x1e1c5e['upload_id']);if(!_0xc973a4)throw new Error(_0x523dc7[_0x225049(0x13d)]);const {rows:_0x5d4bf3,params:_0x38e33b}=_0xc973a4,{tableName:_0x19935f,fieldName:_0x380dee,primaryKey:_0x118084,upsertKeys:_0x9870ef,excludeFromImport:_0x6e81e3,lookupFields:_0x48320e,columnFormats:_0x563923}=_0x38e33b,_0x58505f=_0x48320e?Object[_0x225049(0x12f)](_0x48320e):[],_0x104e04=new Set([..._0x6e81e3||[],..._0x58505f]);let _0x4343e5=_0x380dee;_0x104e04[_0x225049(0x159)]>0x0&&(_0x4343e5=_0x380dee[_0x225049(0x131)](_0x4d680f=>!_0x104e04['has'](_0x4d680f)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x380dee[_0x225049(0x15a)],'filteredCount':_0x4343e5[_0x225049(0x15a)],'excludedFields':Array[_0x225049(0x18a)](_0x104e04),'lookupSourceFields':_0x58505f},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x548b87=_0x5d4bf3['filter'](_0x104b39=>_0x104b39[_0x225049(0xfd)]===_0x225049(0x118)),_0x29097d=_0x5d4bf3['filter'](_0x1e7bb9=>_0x1e7bb9[_0x225049(0xfd)]===_0x225049(0x11c));let _0xb18dde=0x0,_0x122ffe=0x0;const _0x2dd58a=[];if(_0x548b87[_0x225049(0x15a)]>0x0){const _0x497d81=upsertBuilder[_0x225049(0x135)](_0x548b87,0x64);for(const _0x537046 of _0x497d81){const {query:_0x54e810}=upsertBuilder['buildBatchInsert'](_0x537046,_0x19935f,_0x4343e5,_0x563923||{});_0x54e810&&_0x2dd58a['push']({'sql':_0x54e810,'count':_0x537046[_0x225049(0x15a)],'type':_0x523dc7[_0x225049(0x11d)]});}}if(_0x29097d['length']>0x0){const _0x41cb20=upsertBuilder['chunkRows'](_0x29097d,0x64);for(const _0xa0a0ca of _0x41cb20){const {query:_0x3dea1d}=upsertBuilder[_0x225049(0x119)](_0xa0a0ca,_0x19935f,_0x4343e5,_0x118084,_0x9870ef,_0x523dc7[_0x225049(0xe4)](_0x563923,{}));_0x3dea1d&&_0x2dd58a['push']({'sql':_0x3dea1d,'count':_0xa0a0ca['length'],'type':_0x523dc7['khloL']});}}_0x523dc7['NcGjl'](_0x2dd58a['length'],0x0)&&await _0x523dc7[_0x225049(0x132)](executeTransaction,_0x2dd58a['map'](_0x14b0b4=>({'sql':_0x14b0b4[_0x225049(0x16f)],'params':[]})));_0x2dd58a[_0x225049(0x117)](_0x152021=>{const _0x23b499=_0x225049;if(_0x152021[_0x23b499(0xf2)]===_0x523dc7['hzBEU'])_0xb18dde+=_0x152021['count'];else _0x122ffe+=_0x152021[_0x23b499(0xfa)];});const _0x2d4dd3={'job_id':_0x59c6f7,'upload_id':_0x1e1c5e['upload_id'],'preview_job_id':_0x1e1c5e[_0x225049(0x139)],'status':_0x523dc7[_0x225049(0x14c)],'progress':0x64,'created_at':_0x1e1c5e['created_at'],'started_at':new Date()[_0x225049(0x14e)](),'completed_at':new Date()[_0x225049(0x14e)](),'result':{'total_rows':_0x5d4bf3['length'],'inserted_rows':_0xb18dde,'updated_rows':_0x122ffe,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x38e33b};await redisHelper['setJob'](_0x225049(0x160)+_0x59c6f7,_0x2d4dd3,0xe10),logger[_0x225049(0xe8)]({'event':_0x225049(0xeb),'jobId':_0x59c6f7,'insertedCount':_0xb18dde,'updatedCount':_0x122ffe},_0x225049(0x177));}catch(_0x5504b0){_0x523dc7[_0x225049(0x13e)](logError,_0x5504b0,{'event':_0x523dc7[_0x225049(0x152)],'jobId':_0x59c6f7},_0x523dc7[_0x225049(0x16b)]),await redisHelper[_0x225049(0x143)](_0x225049(0x160)+_0x59c6f7,{'job_id':_0x59c6f7,'upload_id':_0x1e1c5e['upload_id'],'preview_job_id':_0x1e1c5e[_0x225049(0x139)],'status':_0x523dc7[_0x225049(0x166)],'progress':0x0,'error':_0x5504b0[_0x225049(0x15c)],'created_at':_0x1e1c5e['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x225049(0x14e)]()},0xe10);}}async['getJobStatus'](_0x278658){const _0x317a6a=a0_0x3162f3,_0x45c004=await redisHelper[_0x317a6a(0x158)]('job:'+_0x278658);if(!_0x45c004)return{'success':![],'error':_0x317a6a(0x13c)};return{'success':!![],'data':_0x45c004};}}module[a0_0x3162f3(0xf0)]=new ImportService();
|
|
1
|
+
const a0_0x44a0=a0_0x4aa4;function a0_0x3ce7(){const _0x2d3e11=['ChjVy2vZC1bYzxzPzxDkB2i','cIaGicaGicaGrLjptsa','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DvDqEg0','ntmYBwjhz09H','y29TBwL0x2PVyL9MywLSzwq','ndy5mtK1AhHSBuTL','C2v0','tvjbB1q','y3jLyxrLq29TBwL0sM9I','C2XPy2u','wvrNEMu','y29SDw1U','u0Tjua','DMfSAwq','y3jLyxrLzf9HDa','zM9YrwfJAa','zMLUza','B3jHy2XL','DuXYqwS','zMfPBgvK','zxHWB3j0CW','ndK5ntnREgnqtMG','C1bWvM0','Aw5Zzxj0x29UBhK','wvbUCeq','C2nVCgvpDMvYCMLKzq','DxvPzf9HDxrVx2DLBMvYyxrLza','BwvZC2fNzq','nJbcu3DYAvO','CgfKu3rHCNq','vvbeqvrf','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','ue1uwKG','z2v0vgLTzq','ChjVy2vZC0nVBw1PDePVyG','q29jvgi','ChjVy2vZC0XVB2T1CezPzwXKCW','DxbKyxrLx2v4Axn0Aw5N','EwvZ','z2v0rNvSBfLLyxi','CM93CW','uhjLDMLLDYbQB2iGzMfPBgvK','BgvUz3rO','Aw5KzxHpzG','tLvmta','CgfYyw1Z','CM93sw5KzxG','vMXdsva','lI4VDxrPBhmVzgi','AM9PBG','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y3jLyxrLuhjLDMLLD0PVyG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','DhjPBq','x2DLBMvYyxrLzf91DwLK','t2rjvha','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','Dg9mB3DLCKnHC2u','zMLSDgvY','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','z2vUzxjHDgvjza','Aw5Zzxj0','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','DhLWzq','mte5otG0z0vQwez1','EujOEwi','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','D0Tzwhe','y29SDw1UrM9YBwf0CW','qwvzsxy','Aw5MBW','CgHmqLi','ChjVy2vZC2LUzW','zMLLBgrmywjLBhm','uhjLDMLLDYbQB2iGy29TCgXLDgvK','BNLXte0','ChjVBwLZzxm','C2v0sM9I','zxHLy3v0zvrYyw5Zywn0Aw9U','C3rHDhvZ','Dg9vChbLCKnHC2u','wffNBfi','ue1uuuq','ChjLDMLLD19QB2jFy29TCgXLDgvK','x2fJDgLVBG','A2DMAKq','Dhj1zq','ChjVy2vZC2vKuM93CW','Dw5SAw5R','DKTetha','ChjLDMLLD19VAW','y291BNq','y2H1BMTsB3DZ','zgvMyxvSDa','qxz3ANi','otKWnta0wufAt0vU','B2POvNu','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','cIaGicaGicaGu0vmrunuia','vvfJBLC','C2L6zq','DgvZDa','DxbSB2fKx2LK','DxbSB2fKoG','C3rYAw5N','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','CgfYC2vfEgnLBezPBgu','ChvZAa','zgvIDwC','y2f0y2G','AM9IoG','jdfFjdi','x3vWBg9HzerPCG','zMfSC2u','ogvZC0vQza','C0rSwhi','Cgf0Aa','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','mJeZndKXnhzfu1nsqq','A2v5CW','z2v0sM9I','qLzfqNq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mtm3otyWqND4ueLh','BffzBe8','yMTjyMK','zw50CMLLCW','AgfZ','BwLZC2LUz0zPzwXKCW','te5pC08','Cg9ZDgDYzxnXBa','t3jgv3e','tMjjDuO','kqOGicaGica','su5trvju','sM9lExG','zxjYB3jZ','nZi5ndKYB0Xeten5','CMvWBgfJzq','zxHLy3v0zvf1zxj5','x2vYCM9YCW','uhjLDMLLDYbQB2iGy3jLyxrLza','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','Aw5JBhvKzxm','BwfW','yMf0y2HwywXPzgf0zvjVD3m','zgLNz1e','sfn3zvq','yM9VBgvHBG'];a0_0x3ce7=function(){return _0x2d3e11;};return a0_0x3ce7();}(function(_0x24536d,_0x4bfa0d){const _0x29cae0=a0_0x4aa4,_0x542be7=_0x24536d();while(!![]){try{const _0x5637ba=-parseInt(_0x29cae0(0x1c0))/0x1+-parseInt(_0x29cae0(0x18f))/0x2+-parseInt(_0x29cae0(0x18a))/0x3+parseInt(_0x29cae0(0x185))/0x4*(-parseInt(_0x29cae0(0x1b0))/0x5)+parseInt(_0x29cae0(0x19d))/0x6+-parseInt(_0x29cae0(0x1ae))/0x7*(-parseInt(_0x29cae0(0x151))/0x8)+parseInt(_0x29cae0(0x171))/0x9*(parseInt(_0x29cae0(0x12b))/0xa);if(_0x5637ba===_0x4bfa0d)break;else _0x542be7['push'](_0x542be7['shift']());}catch(_0x5c80f7){_0x542be7['push'](_0x542be7['shift']());}}}(a0_0x3ce7,0xdc95d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x44a0(0x187)),fs=require('fs')[a0_0x44a0(0x15e)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x44a0(0x196))['toLowerCase']();function a0_0x4aa4(_0x3b3f03,_0x672b42){_0x3b3f03=_0x3b3f03-0x12b;const _0x3ce776=a0_0x3ce7();let _0x4aa49d=_0x3ce776[_0x3b3f03];if(a0_0x4aa4['ihTpLY']===undefined){var _0xe76fc6=function(_0x33837d){const _0x41a944='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x124b0f='',_0x119e2f='';for(let _0x17d6a7=0x0,_0x51ced1,_0x3fcd7a,_0x353da1=0x0;_0x3fcd7a=_0x33837d['charAt'](_0x353da1++);~_0x3fcd7a&&(_0x51ced1=_0x17d6a7%0x4?_0x51ced1*0x40+_0x3fcd7a:_0x3fcd7a,_0x17d6a7++%0x4)?_0x124b0f+=String['fromCharCode'](0xff&_0x51ced1>>(-0x2*_0x17d6a7&0x6)):0x0){_0x3fcd7a=_0x41a944['indexOf'](_0x3fcd7a);}for(let _0x8dc161=0x0,_0x8dee77=_0x124b0f['length'];_0x8dc161<_0x8dee77;_0x8dc161++){_0x119e2f+='%'+('00'+_0x124b0f['charCodeAt'](_0x8dc161)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x119e2f);};a0_0x4aa4['lkOrTD']=_0xe76fc6,a0_0x4aa4['wCSclZ']={},a0_0x4aa4['ihTpLY']=!![];}const _0x31a8e0=_0x3ce776[0x0],_0x2f7606=_0x3b3f03+_0x31a8e0,_0x245328=a0_0x4aa4['wCSclZ'][_0x2f7606];return!_0x245328?(_0x4aa49d=a0_0x4aa4['lkOrTD'](_0x4aa49d),a0_0x4aa4['wCSclZ'][_0x2f7606]=_0x4aa49d):_0x4aa49d=_0x245328,_0x4aa49d;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x44a0(0x1bc))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x432b94,_0x12ff9c)=>oracleDb[a0_0x44a0(0x19f)](_0x432b94,_0x12ff9c),executeTransaction=_0x58d0ea=>oracleDb[a0_0x44a0(0x160)](_0x58d0ea);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x481d64,_0x1e3d2d)=>mysqlDb[a0_0x44a0(0x19f)](_0x481d64,_0x1e3d2d),executeTransaction=_0x45d559=>mysqlDb[a0_0x44a0(0x160)](_0x45d559);}else{const db=require(a0_0x44a0(0x141));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x44a0(0x1ac)),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x44a0(0x149));class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x52d34d=a0_0x44a0;if(!this['_uploadDir']){const _0x5dd7da=process['env']['RESTFORGE_PROJECT_NAME']||_0x52d34d(0x16f);this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x52d34d(0x142)](__dirname,'../../temp/uploads/'+_0x5dd7da);}return this[_0x52d34d(0x183)];}[a0_0x44a0(0x14d)](){const _0x2c2b44=a0_0x44a0,_0x2e3698={'gTYkF':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','AeYIv':function(_0x5c19ee,_0x4e8398){return _0x5c19ee-_0x4e8398;},'orWsI':function(_0x1a3785,_0x1322c6){return _0x1a3785*_0x1322c6;}},_0x1fd46f=_0x2e3698['gTYkF'],_0xa86c69=Date['now']()['toString'](0x24),_0x265797=uuidv7()[_0x2c2b44(0x19e)](/-/g,'')['substring'](0x0,_0x2e3698[_0x2c2b44(0x157)](0xc,_0xa86c69[_0x2c2b44(0x13b)])),_0x235a62=(_0xa86c69+_0x265797)['substring'](0x0,0xc);let _0xe0af55='';for(let _0x1688c3=0x0;_0x1688c3<0xc;_0x1688c3++){_0x235a62[_0x1688c3]?_0xe0af55+=_0x235a62[_0x1688c3]:_0xe0af55+=_0x1fd46f['charAt'](Math['floor'](_0x2e3698['orWsI'](Math['random'](),_0x1fd46f['length'])));}return _0xe0af55;}['buildLabelToFieldMap'](_0x112529){const _0x4cd98b=a0_0x44a0,_0x184c91={'hZXIg':_0x4cd98b(0x182)},_0x320963=new Map();if(!_0x112529)return _0x320963;return Object['entries'](_0x112529)[_0x4cd98b(0x1ba)](([_0x1fb647,_0x469ed2])=>{const _0x3ad674=_0x4cd98b,_0x3f4b05=String(_0x469ed2)[_0x3ad674(0x146)]()['replace'](/\s+/g,'_')[_0x3ad674(0x19e)](/([a-z])([A-Z])/g,_0x3ad674(0x182))[_0x3ad674(0x19e)](/([A-Z]+)([A-Z][a-z])/g,_0x184c91['hZXIg'])[_0x3ad674(0x14a)]();_0x320963[_0x3ad674(0x1b1)](_0x3f4b05,_0x1fb647);}),logger[_0x4cd98b(0x17f)]({'event':_0x4cd98b(0x17c),'mappingCount':_0x320963[_0x4cd98b(0x176)]},'Label\x20to\x20field\x20mapping\x20built'),_0x320963;}['applyColumnFormats'](_0x10b8ef,_0x9ca36e){const _0x5687dd=a0_0x44a0,_0x3b2ec9={'PMTQD':function(_0x34f652,_0x402cc9){return _0x34f652===_0x402cc9;},'HSweT':'date','ojhVu':'number','MRAoT':function(_0x457a90,_0xccbc05){return _0x457a90(_0xccbc05);},'URZsn':function(_0x2d86cd,_0x496d45){return _0x2d86cd===_0x496d45;}};if(!_0x9ca36e||_0x3b2ec9['URZsn'](Object[_0x5687dd(0x18b)](_0x9ca36e)['length'],0x0))return _0x10b8ef;return _0x10b8ef[_0x5687dd(0x1a4)](_0x32df2b=>{const _0xb0e129=_0x5687dd,_0x4aa76b={..._0x32df2b};for(const [_0x2e8723,_0x3c70ab]of Object['entries'](_0x9ca36e)){const _0x5a402e=_0x4aa76b[_0x2e8723];if(_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,null)||_0x5a402e===undefined||_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,'')){_0x4aa76b[_0x2e8723]=null;continue;}switch(_0x3c70ab[_0xb0e129(0x150)]){case _0x3b2ec9[_0xb0e129(0x1a7)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x143)](_0x5a402e);break;case _0x3b2ec9[_0xb0e129(0x172)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x153)](_0x5a402e);break;case _0xb0e129(0x1a8):_0x4aa76b[_0x2e8723]=this['formatBooleanForDatabase'](_0x5a402e);break;case'text':_0x4aa76b[_0x2e8723]=_0x3b2ec9[_0xb0e129(0x1b2)](String,_0x5a402e);break;default:break;}}return _0x4aa76b;});}['formatDateForDatabase'](_0x22cee0){const _0x2ef5d2=a0_0x44a0,_0x12f389={'VlCIP':function(_0x596937,_0x6f85f5){return _0x596937===_0x6f85f5;},'XQglR':_0x2ef5d2(0x17a),'hHuYl':function(_0x4a2c74,_0xd06319){return _0x4a2c74 instanceof _0xd06319;},'rOdJx':function(_0x345c7c,_0x24dab4){return _0x345c7c(_0x24dab4);},'YTgze':function(_0x24e0ee,_0x55efa5){return _0x24e0ee(_0x55efa5);},'JoKyx':function(_0x38449e,_0x2e088c){return _0x38449e+_0x2e088c;},'DyPjM':function(_0x37934e,_0x390c57){return _0x37934e(_0x390c57);},'rNcCJ':function(_0x4e9ded,_0x506842){return _0x4e9ded===_0x506842;},'yZNbP':function(_0x17248d,_0x847579){return _0x17248d(_0x847579);}};if(_0x22cee0===null||_0x22cee0===undefined||_0x12f389[_0x2ef5d2(0x140)](_0x22cee0,''))return null;if(typeof _0x22cee0===_0x12f389['XQglR']&&/^\d{4}-\d{2}-\d{2}$/[_0x2ef5d2(0x177)](_0x22cee0))return _0x22cee0;if(_0x12f389['hHuYl'](_0x22cee0,Date)){if(_0x12f389['rOdJx'](isNaN,_0x22cee0[_0x2ef5d2(0x132)]()))return null;const _0x37d986=_0x22cee0[_0x2ef5d2(0x138)](),_0x2c579d=_0x12f389[_0x2ef5d2(0x1b5)](String,_0x12f389[_0x2ef5d2(0x19b)](_0x22cee0['getMonth'](),0x1))[_0x2ef5d2(0x12c)](0x2,'0'),_0x530bf6=_0x12f389['DyPjM'](String,_0x22cee0['getDate']())[_0x2ef5d2(0x12c)](0x2,'0');return _0x37d986+'-'+_0x2c579d+'-'+_0x530bf6;}if(_0x12f389['rNcCJ'](typeof _0x22cee0,_0x12f389[_0x2ef5d2(0x163)])){const _0x39bb0f=_0x22cee0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x39bb0f){const _0x1d0ae4=String(_0x39bb0f[0x1])['padStart'](0x2,'0'),_0x462d62=_0x12f389['YTgze'](String,_0x39bb0f[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x2e964a=_0x39bb0f[0x3];return _0x2e964a+'-'+_0x462d62+'-'+_0x1d0ae4;}const _0x11b008=_0x22cee0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x11b008){const _0x5570e4=_0x11b008[0x1],_0x428bfd=_0x12f389['yZNbP'](String,_0x11b008[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x321a92=_0x12f389['DyPjM'](String,_0x11b008[0x3])['padStart'](0x2,'0');return _0x5570e4+'-'+_0x428bfd+'-'+_0x321a92;}}return _0x22cee0;}[a0_0x44a0(0x153)](_0x1e37bd){const _0x3b2fa4=a0_0x44a0,_0x371467={'YPnpD':function(_0x40cba0,_0x5698f1){return _0x40cba0===_0x5698f1;},'hXNdV':'number'};if(_0x1e37bd===null||_0x1e37bd===undefined||_0x371467['YPnpD'](_0x1e37bd,''))return null;if(_0x371467[_0x3b2fa4(0x1c3)](typeof _0x1e37bd,_0x371467['hXNdV']))return isNaN(_0x1e37bd)?null:_0x1e37bd;if(_0x371467['YPnpD'](typeof _0x1e37bd,'string')){let _0x4ee0ff=_0x1e37bd['trim']();const _0x14f9a6=/,\d{1,2}$/['test'](_0x4ee0ff)&&!/,\d{3}/['test'](_0x4ee0ff);_0x14f9a6?_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/\./g,'')[_0x3b2fa4(0x19e)](',','.'):_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/,/g,'');const _0x35eec2=parseFloat(_0x4ee0ff);return isNaN(_0x35eec2)?null:_0x35eec2;}return null;}['formatBooleanForDatabase'](_0x1a0271){const _0x171e8b=a0_0x44a0,_0x55c671={'vKDLp':function(_0x38704a,_0xdcdf9e){return _0x38704a===_0xdcdf9e;},'sDlXr':function(_0x4e65c3,_0x10c249){return _0x4e65c3===_0x10c249;},'yBhyb':'boolean','zEWnH':_0x171e8b(0x168),'AtzZP':'false','RYtob':'number'};if(_0x1a0271===null||_0x55c671[_0x171e8b(0x16b)](_0x1a0271,undefined)||_0x1a0271==='')return null;if(_0x55c671[_0x171e8b(0x186)](typeof _0x1a0271,_0x55c671[_0x171e8b(0x152)]))return _0x1a0271?_0x55c671['zEWnH']:_0x55c671['AtzZP'];if(typeof _0x1a0271===_0x171e8b(0x17a)){const _0x4e4d6c=_0x1a0271[_0x171e8b(0x146)]()['toLowerCase']();if([_0x171e8b(0x168),_0x171e8b(0x137),'y','1']['includes'](_0x4e4d6c))return _0x55c671['zEWnH'];if([_0x171e8b(0x184),'no','n','0']['includes'](_0x4e4d6c))return _0x171e8b(0x184);return null;}if(_0x55c671[_0x171e8b(0x16b)](typeof _0x1a0271,_0x55c671['RYtob']))return _0x1a0271?'true':'false';return null;}async['uploadFile'](_0x7ef09c,_0x1282e0){const _0x4097b1=a0_0x44a0,_0x4ef435={'OdDNF':_0x4097b1(0x1a2),'gbXxs':_0x4097b1(0x18e),'laOWE':_0x4097b1(0x173),'Avwjr':'request_scope_applied','LAIDf':_0x4097b1(0x14f)},_0x3ca52e=this['generateId']();try{let {headers:_0x5ec752,rows:_0x192e15,totalRows:_0x2fb8b2}=await excelParser[_0x4097b1(0x17d)](_0x7ef09c[_0x4097b1(0x187)]);const _0x153b5e=this['buildLabelToFieldMap'](_0x1282e0[_0x4097b1(0x15b)]),_0x37e0a4=_0x5ec752[_0x4097b1(0x1a4)](_0x341095=>{const _0x24f2c5=_0x153b5e['get'](_0x341095);return _0x24f2c5||_0x341095;});_0x192e15=_0x192e15[_0x4097b1(0x1a4)](_0x2876f3=>{const _0x336d4b={};return _0x5ec752['forEach']((_0x1dd47f,_0x4387c1)=>{const _0x433a48=_0x37e0a4[_0x4387c1];_0x336d4b[_0x433a48]=_0x2876f3[_0x1dd47f];}),_0x336d4b;}),_0x5ec752=_0x37e0a4,logger[_0x4097b1(0x17f)]({'event':'headers_mapped','original':_0x5ec752[_0x4097b1(0x13b)],'mapped':_0x37e0a4[_0x4097b1(0x14b)]((_0x1ba3b4,_0x3af38d)=>_0x1ba3b4!==_0x5ec752[_0x3af38d])[_0x4097b1(0x13b)]},_0x4ef435['OdDNF']);_0x1282e0['columnFormats']&&Object['keys'](_0x1282e0[_0x4097b1(0x156)])[_0x4097b1(0x13b)]>0x0&&(_0x192e15=this['applyColumnFormats'](_0x192e15,_0x1282e0[_0x4097b1(0x156)]),logger[_0x4097b1(0x17f)]({'event':_0x4ef435['gbXxs'],'formatCount':Object['keys'](_0x1282e0[_0x4097b1(0x156)])['length'],'formats':Object[_0x4097b1(0x18b)](_0x1282e0[_0x4097b1(0x156)])},_0x4ef435['laOWE']));if(_0x1282e0[_0x4097b1(0x1c4)]&&_0x1282e0[_0x4097b1(0x1c4)][_0x4097b1(0x1b6)]){const {column:_0x464fd2,value:_0x393c04}=_0x1282e0[_0x4097b1(0x1c4)];_0x192e15=_0x192e15['map'](_0x482643=>({..._0x482643,[_0x464fd2]:_0x393c04})),logger[_0x4097b1(0x17f)]({'event':_0x4ef435[_0x4097b1(0x170)],'column':_0x464fd2,'rowCount':_0x192e15['length']},_0x4ef435['LAIDf']);}const _0x38786e=_0x1282e0['lookupFields']?Object['values'](_0x1282e0['lookupFields'])['map'](_0x3f508b=>_0x3f508b['targetField']):[],_0x49b637=_0x1282e0['fieldName'][_0x4097b1(0x14b)](_0x10da00=>!_0x38786e[_0x4097b1(0x1a3)](_0x10da00)),_0x2110e0=excelParser[_0x4097b1(0x154)](_0x5ec752,_0x49b637);if(!_0x2110e0[_0x4097b1(0x1b8)]){await fs[_0x4097b1(0x16a)](_0x7ef09c['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2110e0[_0x4097b1(0x194)][_0x4097b1(0x142)](',\x20'));}const _0x1cb927={'upload_id':_0x3ca52e,'filename':_0x7ef09c['originalname'],'total_rows':_0x2fb8b2,'headers':_0x5ec752,'rows':_0x192e15,'params':_0x1282e0,'created_at':new Date()[_0x4097b1(0x189)]()};return await redisHelper['setJob'](_0x4097b1(0x179)+_0x3ca52e,_0x1cb927,0xe10),await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]),logger[_0x4097b1(0x158)]({'event':'import_file_uploaded','uploadId':_0x3ca52e,'filename':_0x7ef09c['originalname'],'totalRows':_0x2fb8b2},_0x4097b1(0x14c)),{'upload_id':_0x3ca52e,'total_rows':_0x2fb8b2,'preview':_0x192e15['slice'](0x0,0xa)};}catch(_0x1f496e){try{await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]);}catch(_0x133aef){logError(_0x133aef,{'event':'file_cleanup_error'},'Failed\x20to\x20cleanup\x20file');}throw _0x1f496e;}}async[a0_0x44a0(0x144)](_0x5ab9f6){const _0x911c23=a0_0x44a0,_0x128cbd={'xoYOY':function(_0xf7fe99,_0x1f22b,_0x34fb01,_0x31d81e){return _0xf7fe99(_0x1f22b,_0x34fb01,_0x31d81e);},'wYgLS':'validating','ZClMy':_0x911c23(0x1a1)},_0x252149=this[_0x911c23(0x14d)](),_0x5df572=await redisHelper['getJob'](_0x911c23(0x179)+_0x5ab9f6);if(!_0x5df572)throw new Error(_0x911c23(0x130));const _0x5313e8={'job_id':_0x252149,'upload_id':_0x5ab9f6,'status':_0x128cbd['wYgLS'],'progress':0x0,'created_at':new Date()[_0x911c23(0x189)](),'params':_0x5df572['params']};return await redisHelper[_0x911c23(0x15f)]('job:'+_0x252149,_0x5313e8,0xe10),logger[_0x911c23(0x158)]({'event':'preview_job_created','jobId':_0x252149,'uploadId':_0x5ab9f6},_0x128cbd['ZClMy']),this[_0x911c23(0x1a9)](_0x252149,_0x5ab9f6,_0x5df572)[_0x911c23(0x180)](_0x11250c=>{const _0x56baeb=_0x911c23;_0x128cbd['xoYOY'](logError,_0x11250c,{'event':'preview_process_error','jobId':_0x252149},_0x56baeb(0x145));}),{'job_id':_0x252149,'status':_0x128cbd['wYgLS']};}['autoGenerateUpsertKeys'](_0x5a7b97,_0x18167c){const _0x587d46=a0_0x44a0,_0xcbd435={'kgfjD':function(_0x451602,_0x40ed5e){return _0x451602(_0x40ed5e);},'TqiWv':_0x587d46(0x1c5)};_0x5a7b97['forEach']((_0x3d7e98,_0x571d96)=>{const _0x5b6c45={'phLBR':function(_0x63cdbc,_0x3b4661){const _0x5ad23c=a0_0x4aa4;return _0xcbd435[_0x5ad23c(0x167)](_0x63cdbc,_0x3b4661);},'lQYlO':_0xcbd435['TqiWv'],'sttio':function(_0x234267,_0x575ac5){return _0x234267+_0x575ac5;}};_0x18167c['forEach'](_0x7bf2c9=>{const _0x56ffe4=a0_0x4aa4,_0x4ff008=_0x3d7e98[_0x7bf2c9];if(_0x4ff008===null||_0x4ff008===undefined||_0x4ff008===''||_0x5b6c45[_0x56ffe4(0x159)](String,_0x4ff008)[_0x56ffe4(0x146)]()==='-'){const _0x561653=uuidv7();_0x3d7e98[_0x7bf2c9]=_0x561653,_0x3d7e98[_0x56ffe4(0x147)]=_0x3d7e98[_0x56ffe4(0x147)]||{},_0x3d7e98[_0x56ffe4(0x147)][_0x7bf2c9]=_0x561653,logger[_0x56ffe4(0x17f)]({'event':_0x5b6c45[_0x56ffe4(0x190)],'rowIndex':_0x571d96,'field':_0x7bf2c9,'uuid':_0x561653},_0x56ffe4(0x1ab)+_0x7bf2c9+'\x20at\x20row\x20'+_0x5b6c45['sttio'](_0x571d96,0x2));}});});}async[a0_0x44a0(0x1a9)](_0x179bc5,_0xdf5d02,_0x5db87){const _0x246d59=a0_0x44a0,_0x238a47={'MlWLr':function(_0x442184,_0x518a00){return _0x442184===_0x518a00;},'uWPxm':'SKIP','XGWtI':function(_0x5db15f,_0x474fa8){return _0x5db15f>_0x474fa8;},'LNOsO':_0x246d59(0x17b),'QADwO':'preview_error','uLrAk':_0x246d59(0x16c),'XYZrd':_0x246d59(0x165),'OdITp':_0x246d59(0x15c)};try{let {rows:_0x2ce52d,params:_0x307555}=_0x5db87;const {requiredFields:_0x31a613,validations:_0x4b28a0,upsertKeys:_0x3364da,tableName:_0x4553cc,primaryKey:_0x2c88c8,fieldName:_0x2aad45,upsertStrategy:_0x2a85e3,lookupFields:_0x3147a4}=_0x307555;this[_0x246d59(0x12f)](_0x2ce52d,_0x3364da);let _0x1e490f=[];if(_0x3147a4&&_0x238a47['XGWtI'](Object[_0x246d59(0x18b)](_0x3147a4)['length'],0x0)){logger[_0x246d59(0x158)]({'event':_0x238a47[_0x246d59(0x195)],'jobId':_0x179bc5,'lookupFieldCount':Object['keys'](_0x3147a4)[_0x246d59(0x13b)]},'Processing\x20lookup\x20fields');const _0x412c1a=await lookupResolver[_0x246d59(0x135)](_0x2ce52d,_0x3147a4);_0x2ce52d=_0x412c1a[_0x246d59(0x169)],_0x1e490f=_0x412c1a[_0x246d59(0x19c)],_0x5db87[_0x246d59(0x139)]=_0x2ce52d;}const _0x3fda86=importValidator[_0x246d59(0x1a5)](_0x2ce52d,_0x31a613||[],_0x4b28a0||{});_0x1e490f['forEach'](_0x25e5c6=>{const _0x1e35f4=_0x246d59,_0x2b5afe=_0x3fda86[_0x1e35f4(0x1bb)](_0x4699a8=>_0x4699a8['rowIndex']===_0x25e5c6['rowIndex']);_0x2b5afe?_0x2b5afe['errors'][_0x1e35f4(0x17e)](_0x25e5c6[_0x1e35f4(0x1c6)]):_0x3fda86['push']({'rowIndex':_0x25e5c6[_0x1e35f4(0x13f)],'rowData':_0x2ce52d[_0x25e5c6['rowIndex']],'errors':[_0x25e5c6[_0x1e35f4(0x1c6)]]});});const _0x249dbc=importValidator['detectDuplicatesInFile'](_0x2ce52d,_0x3364da);_0x249dbc[_0x246d59(0x1ba)](_0x7727c5=>{const _0x44b067=_0x246d59,_0xc910bd=_0x3fda86['find'](_0x280545=>_0x280545[_0x44b067(0x13f)]===_0x7727c5['rowIndex']),_0x4559a7=_0x3364da[_0x44b067(0x1a4)](_0x2f1d61=>_0x2f1d61[_0x44b067(0x162)]())['join'](',\x20'),_0x288ca5='Duplicate\x20value\x20for\x20'+_0x4559a7;_0xc910bd?_0xc910bd['errors']['push'](_0x288ca5):_0x3fda86[_0x44b067(0x17e)]({'rowIndex':_0x7727c5[_0x44b067(0x13f)],'rowData':_0x2ce52d[_0x7727c5[_0x44b067(0x13f)]],'errors':[_0x288ca5]});}),await this['detectDatabaseDuplicates'](_0x2ce52d,_0x3364da,_0x4553cc,_0x2c88c8,_0x2a85e3,_0x3fda86),_0x3fda86['forEach'](_0x482d73=>{const _0x2cab68=_0x246d59,_0x528103=_0x2ce52d[_0x482d73[_0x2cab68(0x13f)]];_0x528103&&(_0x528103[_0x2cab68(0x1a0)]=_0x482d73[_0x2cab68(0x19c)]);});let _0x7c8477=0x0,_0x4421c4=0x0,_0x2e28d6=0x0;_0x2ce52d['forEach'](_0x7d23a9=>{const _0x1d23ed=_0x246d59;if(_0x7d23a9['_action']===_0x1d23ed(0x19a))_0x7c8477++;else{if(_0x238a47['MlWLr'](_0x7d23a9[_0x1d23ed(0x166)],'UPDATE'))_0x4421c4++;else _0x7d23a9[_0x1d23ed(0x166)]===_0x238a47[_0x1d23ed(0x1ad)]&&_0x2e28d6++;}});const _0x2b6002={'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x238a47['XGWtI'](_0x3fda86[_0x246d59(0x13b)],0x0)?_0x238a47['QADwO']:_0x238a47[_0x246d59(0x1bd)],'progress':0x64,'created_at':_0x5db87[_0x246d59(0x1b9)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x2ce52d['length'],'insert_count':_0x7c8477,'update_count':_0x4421c4,'skip_count':_0x2e28d6,'error_count':_0x3fda86[_0x246d59(0x13b)],'errors':_0x3fda86,'data':_0x2ce52d,'sample_insert':_0x2ce52d['filter'](_0x3b6ebc=>_0x3b6ebc['_action']==='INSERT')[_0x246d59(0x1b4)](0x0,0x5),'sample_update':_0x2ce52d[_0x246d59(0x14b)](_0x44a860=>_0x44a860['_action']===_0x246d59(0x12d))[_0x246d59(0x1b4)](0x0,0x5),'sample_skip':_0x2ce52d[_0x246d59(0x14b)](_0x1a7928=>_0x1a7928[_0x246d59(0x166)]===_0x246d59(0x1b7))['slice'](0x0,0x5)},'params':_0x307555};await redisHelper['setJob'](_0x246d59(0x181)+_0x179bc5,_0x2b6002,0xe10),_0x5db87['rows']=_0x2ce52d,await redisHelper['setJob']('upload:'+_0xdf5d02,_0x5db87,0xe10),logger[_0x246d59(0x158)]({'event':_0x238a47['XYZrd'],'jobId':_0x179bc5,'status':_0x2b6002['status'],'insertCount':_0x7c8477,'updateCount':_0x4421c4,'skipCount':_0x2e28d6,'errorCount':_0x3fda86[_0x246d59(0x13b)]},_0x238a47[_0x246d59(0x148)]);}catch(_0x6e56b1){logError(_0x6e56b1,{'event':'preview_job_failed','jobId':_0x179bc5},_0x246d59(0x13a)),await redisHelper['setJob']('job:'+_0x179bc5,{'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x246d59(0x1be),'progress':0x0,'error':_0x6e56b1['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x363d71,_0x379d09,_0x985891,_0x34cf2b,_0xdc5d12='update_existing',_0x288563=[]){const _0x504154=a0_0x44a0,_0x28a51b={'bftAo':function(_0x1ffd45,_0x29722e){return _0x1ffd45===_0x29722e;},'Fnrpk':_0x504154(0x13d),'wkOVn':_0x504154(0x136),'aTLRu':_0x504154(0x1c2),'rQnGS':function(_0x19724d,_0xb7503e){return _0x19724d===_0xb7503e;},'nyqLM':'skip_existing','ijEdM':function(_0x4f0d10,_0x1044b6){return _0x4f0d10===_0x1044b6;},'CoITb':_0x504154(0x19a),'SwBqu':function(_0x551c57,_0x44967b){return _0x551c57===_0x44967b;},'cDnkN':_0x504154(0x1bc),'uhkcs':function(_0x1caf2d,_0xfdaba6){return _0x1caf2d>_0xfdaba6;}},_0x591b04=upsertBuilder['chunkRows'](_0x363d71,0x64);for(const _0x99dfde of _0x591b04){const _0x572d7e=_0x99dfde['map'](_0x562328=>_0x562328[_0x379d09[0x0]]),_0x20c9a5=_0x572d7e['map'](_0x754093=>{if(_0x28a51b['bftAo'](_0x754093,null)||_0x754093===undefined)return _0x28a51b['Fnrpk'];return'\x27'+String(_0x754093)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x42bb71=_0x504154(0x174)+_0x34cf2b+',\x20'+_0x379d09[_0x504154(0x142)](',\x20')+_0x504154(0x1aa)+_0x985891+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x379d09[0x0]+'\x20IN\x20('+_0x20c9a5[_0x504154(0x142)](',\x20')+_0x504154(0x199);let _0x4e6374=await executeQuery(_0x42bb71);dbType===_0x28a51b['cDnkN']&&_0x4e6374&&_0x28a51b['uhkcs'](_0x4e6374['length'],0x0)&&(_0x4e6374=_0x4e6374['map'](_0x14f971=>{const _0xc3c77d=_0x504154,_0x5522dd={};for(const [_0x149eac,_0x32b436]of Object[_0xc3c77d(0x192)](_0x14f971)){_0x5522dd[_0x149eac['toLowerCase']()]=_0x32b436;}return _0x5522dd;}));const _0x1e2a01=new Map();_0x4e6374[_0x504154(0x1ba)](_0x4b4b0e=>{const _0x6c9b52=_0x504154,_0x4aceea=_0x4b4b0e[_0x379d09[0x0]];_0x1e2a01[_0x6c9b52(0x1b1)](_0x4aceea,_0x4b4b0e);}),_0x99dfde[_0x504154(0x1ba)]((_0x4d706f,_0x28acb8)=>{const _0x1140df=_0x504154,_0x18c8ee=_0x4d706f[_0x379d09[0x0]],_0x4cf044=_0x1e2a01['get'](_0x18c8ee);if(_0x4cf044){if(_0xdc5d12===_0x28a51b['wkOVn'])_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x12d),_0x4d706f['_existingId']=_0x4cf044[_0x34cf2b];else{if(_0xdc5d12===_0x28a51b['aTLRu']){_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7),_0x4d706f['_errors']=_0x4d706f[_0x1140df(0x1a0)]||[],_0x4d706f[_0x1140df(0x1a0)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x240228=_0x363d71[_0x1140df(0x13c)](_0x4d706f);_0x240228!==-0x1&&_0x288563['push']({'rowIndex':_0x240228,'rowData':_0x4d706f,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x28a51b['rQnGS'](_0xdc5d12,_0x28a51b['nyqLM'])&&(_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7));}}else{if(_0x28a51b['ijEdM'](_0xdc5d12,'update_existing'))_0x4d706f[_0x1140df(0x166)]=_0x28a51b[_0x1140df(0x134)];else(_0x28a51b['SwBqu'](_0xdc5d12,_0x1140df(0x1c2))||_0xdc5d12===_0x28a51b[_0x1140df(0x15d)])&&(_0x4d706f['_action']='INSERT');}});}}async[a0_0x44a0(0x1b3)](_0x491f46){const _0x271bc7=a0_0x44a0,_0xaa79a2={'bkIbi':'commit_process_error','dmPdX':function(_0x1378f7,_0xd2534){return _0x1378f7!==_0xd2534;},'wKYXq':_0x271bc7(0x16c),'PMTZH':_0x271bc7(0x15a),'UjiIE':'Commit\x20job\x20created'},_0x575ddf=this[_0x271bc7(0x14d)](),_0x4564ac=await redisHelper['getJob'](_0x271bc7(0x181)+_0x491f46);if(!_0x4564ac)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xaa79a2['dmPdX'](_0x4564ac['status'],_0xaa79a2[_0x271bc7(0x155)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4564ac[_0x271bc7(0x161)]);const _0x1f05b8={'job_id':_0x575ddf,'upload_id':_0x4564ac['upload_id'],'preview_job_id':_0x491f46,'status':_0xaa79a2[_0x271bc7(0x131)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4564ac[_0x271bc7(0x13e)]};return await redisHelper[_0x271bc7(0x15f)](_0x271bc7(0x181)+_0x575ddf,_0x1f05b8,0xe10),logger[_0x271bc7(0x158)]({'event':_0x271bc7(0x188),'jobId':_0x575ddf,'previewJobId':_0x491f46},_0xaa79a2['UjiIE']),this[_0x271bc7(0x133)](_0x575ddf,_0x4564ac)[_0x271bc7(0x180)](_0x5c106d=>{const _0x2be4ed=_0x271bc7;logError(_0x5c106d,{'event':_0xaa79a2[_0x2be4ed(0x191)],'jobId':_0x575ddf},'Commit\x20processing\x20failed');}),{'job_id':_0x575ddf,'status':_0x271bc7(0x15a)};}async['processCommitJob'](_0x10be84,_0x3d0078){const _0x57e973=a0_0x44a0,_0x49f9d5={'NbIuJ':function(_0x264bc3,_0x3280b8){return _0x264bc3===_0x3280b8;},'OrFWq':_0x57e973(0x130),'BVEBt':function(_0xbae953,_0x2e2dd4){return _0xbae953>_0x2e2dd4;},'diggQ':'import_fields_filtered','uKLNl':_0x57e973(0x12e),'UQcnW':function(_0x1b5ec6,_0x21b313){return _0x1b5ec6||_0x21b313;},'yirce':function(_0x4d249f,_0xb0616){return _0x4d249f(_0xb0616);},'sPpVm':function(_0x327593,_0x34abe8,_0x28d86a,_0x65a16b){return _0x327593(_0x34abe8,_0x28d86a,_0x65a16b);}};try{const _0x3bb95f=await redisHelper[_0x57e973(0x18c)](_0x57e973(0x179)+_0x3d0078[_0x57e973(0x178)]);if(!_0x3bb95f)throw new Error(_0x49f9d5[_0x57e973(0x197)]);const {rows:_0x6ce31f,params:_0x3b50c8}=_0x3bb95f,{tableName:_0x42331c,fieldName:_0x2550ac,primaryKey:_0x3337a8,upsertKeys:_0x2bc6fe,excludeFromImport:_0x31fa46,lookupFields:_0x4b0694,columnFormats:_0x10f1c8}=_0x3b50c8,_0xb8e365=_0x4b0694?Object[_0x57e973(0x18b)](_0x4b0694):[],_0x2ec7f3=new Set([..._0x31fa46||[],..._0xb8e365]);let _0x5ed4bc=_0x2550ac;_0x49f9d5[_0x57e973(0x18d)](_0x2ec7f3[_0x57e973(0x176)],0x0)&&(_0x5ed4bc=_0x2550ac['filter'](_0x4d243b=>!_0x2ec7f3[_0x57e973(0x193)](_0x4d243b)),logger[_0x57e973(0x17f)]({'event':_0x49f9d5[_0x57e973(0x1a6)],'originalCount':_0x2550ac[_0x57e973(0x13b)],'filteredCount':_0x5ed4bc['length'],'excludedFields':Array['from'](_0x2ec7f3),'lookupSourceFields':_0xb8e365},_0x49f9d5['uKLNl']));const _0x3ae187=_0x6ce31f[_0x57e973(0x14b)](_0x4ff074=>_0x4ff074[_0x57e973(0x166)]==='INSERT'),_0x2a7fec=_0x6ce31f[_0x57e973(0x14b)](_0x5b240d=>_0x5b240d[_0x57e973(0x166)]===_0x57e973(0x12d));let _0x4af946=0x0,_0x21755c=0x0;const _0x2433a9=[];if(_0x49f9d5['BVEBt'](_0x3ae187[_0x57e973(0x13b)],0x0)){const _0xcac4fd=upsertBuilder['chunkRows'](_0x3ae187,0x64);for(const _0xce4b93 of _0xcac4fd){const {query:_0xe576a0}=upsertBuilder['buildBatchInsert'](_0xce4b93,_0x42331c,_0x5ed4bc,_0x49f9d5[_0x57e973(0x175)](_0x10f1c8,{}));_0xe576a0&&_0x2433a9[_0x57e973(0x17e)]({'sql':_0xe576a0,'count':_0xce4b93[_0x57e973(0x13b)],'type':'insert'});}}if(_0x2a7fec['length']>0x0){const _0x13ba52=upsertBuilder[_0x57e973(0x16e)](_0x2a7fec,0x64);for(const _0x5a10f9 of _0x13ba52){const {query:_0x2571df}=upsertBuilder['buildBatchUpdate'](_0x5a10f9,_0x42331c,_0x5ed4bc,_0x3337a8,_0x2bc6fe,_0x10f1c8||{});_0x2571df&&_0x2433a9['push']({'sql':_0x2571df,'count':_0x5a10f9[_0x57e973(0x13b)],'type':'update'});}}_0x2433a9['length']>0x0&&await _0x49f9d5['yirce'](executeTransaction,_0x2433a9[_0x57e973(0x1a4)](_0x88a067=>({'sql':_0x88a067['sql'],'params':[]})));_0x2433a9[_0x57e973(0x1ba)](_0x5d2a66=>{const _0x1582e1=_0x57e973;if(_0x49f9d5[_0x1582e1(0x198)](_0x5d2a66['type'],_0x1582e1(0x14e)))_0x4af946+=_0x5d2a66[_0x1582e1(0x16d)];else _0x21755c+=_0x5d2a66['count'];});const _0x5c8f69={'job_id':_0x10be84,'upload_id':_0x3d0078[_0x57e973(0x178)],'preview_job_id':_0x3d0078['job_id'],'status':'completed','progress':0x64,'created_at':_0x3d0078[_0x57e973(0x1b9)],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x6ce31f['length'],'inserted_rows':_0x4af946,'updated_rows':_0x21755c,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3b50c8};await redisHelper['setJob']('job:'+_0x10be84,_0x5c8f69,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x10be84,'insertedCount':_0x4af946,'updatedCount':_0x21755c},'Commit\x20job\x20completed');}catch(_0x1bb479){_0x49f9d5[_0x57e973(0x1c1)](logError,_0x1bb479,{'event':_0x57e973(0x1af),'jobId':_0x10be84},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x57e973(0x181)+_0x10be84,{'job_id':_0x10be84,'upload_id':_0x3d0078['upload_id'],'preview_job_id':_0x3d0078['job_id'],'status':'failed','progress':0x0,'error':_0x1bb479[_0x57e973(0x1c6)],'created_at':_0x3d0078['created_at'],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x515b49){const _0x1e9f74=a0_0x44a0,_0x396742=await redisHelper[_0x1e9f74(0x18c)](_0x1e9f74(0x181)+_0x515b49);if(!_0x396742)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x396742};}}module[a0_0x44a0(0x1bf)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1e6f24=a0_0x42ca;(function(_0x519c76,_0x55a110){const _0x103fa4=a0_0x42ca,_0x17fc7a=_0x519c76();while(!![]){try{const _0x846d9a=-parseInt(_0x103fa4(0x205))/0x1+-parseInt(_0x103fa4(0x20b))/0x2+-parseInt(_0x103fa4(0x1dc))/0x3+-parseInt(_0x103fa4(0x1b9))/0x4*(-parseInt(_0x103fa4(0x1d8))/0x5)+-parseInt(_0x103fa4(0x20a))/0x6*(-parseInt(_0x103fa4(0x212))/0x7)+-parseInt(_0x103fa4(0x1c0))/0x8+parseInt(_0x103fa4(0x219))/0x9;if(_0x846d9a===_0x55a110)break;else _0x17fc7a['push'](_0x17fc7a['shift']());}catch(_0xe56e13){_0x17fc7a['push'](_0x17fc7a['shift']());}}}(a0_0x23d4,0x1afdd));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1e6f24(0x218));class KafkaConsumerService{constructor(){const _0x320153=a0_0x1e6f24;this['kafka']=null,this['consumer']=null,this[_0x320153(0x1ba)]=![],this[_0x320153(0x20d)]=![],this[_0x320153(0x1ff)]=![],this['isPaused']=![],this[_0x320153(0x1f4)]=null,this[_0x320153(0x1fe)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x1e6f24(0x201)](){const _0x54157f=a0_0x1e6f24,_0x153dfe={'TXPRI':function(_0x25f71a,_0x2a3e1f){return _0x25f71a===_0x2a3e1f;},'LbhMH':_0x54157f(0x1ec),'xBcQu':function(_0x26ff7b,_0xe38326){return _0x26ff7b(_0xe38326);},'aZQcf':_0x54157f(0x1d2),'YGxGV':function(_0x139a34,_0xcc0ae2){return _0x139a34(_0xcc0ae2);},'OufIg':function(_0x4326b2,_0x4b033e){return _0x4326b2===_0x4b033e;},'JUzCg':'5000','vbLnS':function(_0x140fa4,_0x88d8a){return _0x140fa4(_0x88d8a);},'aFMAf':_0x54157f(0x1b1),'TkXus':_0x54157f(0x1b3)};return{'enabled':_0x153dfe['TXPRI'](process[_0x54157f(0x1d0)][_0x54157f(0x1da)],_0x153dfe['LbhMH']),'brokers':(process[_0x54157f(0x1d0)]['KAFKA_BROKERS']||'localhost:9092')[_0x54157f(0x1f1)](','),'clientId':process[_0x54157f(0x1d0)][_0x54157f(0x1df)]||'restforge-'+(process[_0x54157f(0x1d0)]['RESTFORGE_PROJECT_NAME']||_0x54157f(0x1f5))+'-consumer','connectionTimeout':parseInt(process['env'][_0x54157f(0x210)]||_0x54157f(0x204)),'requestTimeout':_0x153dfe['xBcQu'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x153dfe[_0x54157f(0x21a)]),'sessionTimeout':parseInt(process['env'][_0x54157f(0x220)]||_0x54157f(0x1b1)),'heartbeatInterval':_0x153dfe[_0x54157f(0x1c7)](parseInt,process[_0x54157f(0x1d0)]['KAFKA_HEARTBEAT_INTERVAL']||_0x54157f(0x204)),'maxBytesPerPartition':_0x153dfe[_0x54157f(0x1f2)](parseInt,process[_0x54157f(0x1d0)][_0x54157f(0x1c4)]||'1048576'),'autoCommit':_0x153dfe['OufIg'](process[_0x54157f(0x1d0)][_0x54157f(0x1c2)],_0x153dfe['LbhMH']),'autoCommitInterval':parseInt(process[_0x54157f(0x1d0)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x153dfe[_0x54157f(0x1e2)]),'retryAttempts':_0x153dfe[_0x54157f(0x1f2)](parseInt,process['env'][_0x54157f(0x1fc)]||'3'),'retryDelay':_0x153dfe[_0x54157f(0x21c)](parseInt,process[_0x54157f(0x1d0)][_0x54157f(0x1fa)]||_0x54157f(0x1bd)),'retryMaxDelay':parseInt(process[_0x54157f(0x1d0)][_0x54157f(0x21d)]||_0x153dfe['aFMAf']),'logLevel':process['env'][_0x54157f(0x207)]||_0x153dfe['TkXus']};}['getLogLevel'](_0xe00c04){const _0x2f5bbd=a0_0x1e6f24,_0x4a1694={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x2f5bbd(0x1c6)],'info':logLevel['INFO'],'debug':logLevel[_0x2f5bbd(0x1d9)]};return _0x4a1694[_0xe00c04[_0x2f5bbd(0x208)]()]||logLevel[_0x2f5bbd(0x1c6)];}async['initialize'](_0x38def1={}){const _0x566d64=a0_0x1e6f24,_0x1fa9fb={'VbTjj':'true','BgYiR':'default'},_0x2bb04f=this[_0x566d64(0x201)]();if(!_0x2bb04f[_0x566d64(0x1dd)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x566d64(0x20d)]&&this[_0x566d64(0x1f4)])return this[_0x566d64(0x1f4)];return this[_0x566d64(0x20d)]=!![],this[_0x566d64(0x1f4)]=new Promise(async _0x2471f0=>{const _0x1b4abb=_0x566d64;try{let _0x4fe436=undefined;process['env']['KAFKA_SSL']===_0x1fa9fb['VbTjj']&&(_0x4fe436=!![]);let _0x567582=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x567582={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x1b4abb(0x1d4)]=new Kafka({'clientId':_0x38def1['clientId']||_0x2bb04f['clientId'],'brokers':_0x2bb04f['brokers'],'connectionTimeout':_0x2bb04f[_0x1b4abb(0x1fd)],'requestTimeout':_0x2bb04f['requestTimeout'],'logLevel':this[_0x1b4abb(0x1b4)](_0x2bb04f['logLevel']),'ssl':_0x4fe436,'sasl':_0x567582,'retry':{'initialRetryTime':_0x2bb04f['retryDelay'],'retries':_0x2bb04f[_0x1b4abb(0x1e9)],'maxRetryTime':_0x2bb04f['retryMaxDelay']}}),this['groupId']=_0x38def1['groupId']||'restforge-'+(process[_0x1b4abb(0x1d0)]['RESTFORGE_PROJECT_NAME']||_0x1fa9fb[_0x1b4abb(0x1b5)])+'-consumer-group',this[_0x1b4abb(0x1f3)]=this[_0x1b4abb(0x1d4)]['consumer']({'groupId':this[_0x1b4abb(0x21f)],'sessionTimeout':_0x2bb04f[_0x1b4abb(0x1bb)],'heartbeatInterval':_0x2bb04f['heartbeatInterval'],'maxBytesPerPartition':_0x2bb04f['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log'](_0x1b4abb(0x1b6)+_0x2bb04f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x1b4abb(0x21f)]+')'),this['setupEventHandlers'](),_0x2471f0(!![]);}catch(_0x448bef){console[_0x1b4abb(0x216)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x448bef[_0x1b4abb(0x1b7)]),this[_0x1b4abb(0x1ba)]=![],_0x2471f0(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x1e6f24(0x1e0)](){const _0x236e0a=a0_0x1e6f24,_0x328b5c={'fRxNw':_0x236e0a(0x1ea),'pyamO':'consumer.crash'};if(!this[_0x236e0a(0x1f3)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x30d9ac=_0x236e0a;console[_0x30d9ac(0x1bc)](_0x328b5c[_0x30d9ac(0x20e)]),this['isConnected']=![],this['isRunning']=![];}),this[_0x236e0a(0x1f3)]['on'](_0x236e0a(0x1c5),()=>{const _0x3b81ec=_0x236e0a;console['log'](_0x3b81ec(0x1cc)),this[_0x3b81ec(0x1ff)]=![];}),this['consumer']['on'](_0x328b5c[_0x236e0a(0x203)],_0x108cfd=>{const _0x150663=_0x236e0a;console['error'](_0x150663(0x1ca)+_0x108cfd['payload'][_0x150663(0x216)]['message']),this[_0x150663(0x1ff)]=![];}),this['consumer']['on'](_0x236e0a(0x1f6),()=>{const _0xdcee1e=_0x236e0a;console[_0xdcee1e(0x1bc)](_0xdcee1e(0x1f0));});}async['subscribe'](_0x46d130,_0x16c842=![]){const _0x3cbdf3=a0_0x1e6f24,_0x373cc6={'RLKPp':_0x3cbdf3(0x1d3)};if(!this['isConnected'])return console[_0x3cbdf3(0x216)](_0x373cc6[_0x3cbdf3(0x1ee)]),![];try{const _0x367334=Array[_0x3cbdf3(0x214)](_0x46d130)?_0x46d130:[_0x46d130];for(const _0x446bbd of _0x367334){await this['consumer']['subscribe']({'topic':_0x446bbd,'fromBeginning':_0x16c842}),console['log'](_0x3cbdf3(0x1e6)+_0x446bbd+'\x20(fromBeginning:\x20'+_0x16c842+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x367334])],!![];}catch(_0x94c545){return console[_0x3cbdf3(0x216)](_0x3cbdf3(0x1d7)+_0x94c545[_0x3cbdf3(0x1b7)]),![];}}async['startConsuming'](_0x4eff9e,_0x40b255={}){const _0x502fba=a0_0x1e6f24,_0x418ced={'rpJqj':function(_0x47c83f,_0x2b7b23){return _0x47c83f+_0x2b7b23;},'TwuvJ':function(_0x250e01,_0x1ab936){return _0x250e01(_0x1ab936);},'JITYA':function(_0x52a249,_0x435883){return _0x52a249>_0x435883;},'EOZXc':function(_0x440537){return _0x440537();},'UQSsY':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','VMGdT':function(_0x28cb6d,_0x17b27a){return _0x28cb6d!==_0x17b27a;}};if(!this['isConnected'])return console[_0x502fba(0x216)](_0x418ced['UQSsY']),![];if(this['isRunning'])return console['log'](_0x502fba(0x1e8)),!![];const _0x2fa0a3=this['getConfig']();this['messageHandler']=_0x4eff9e;try{return this['metrics'][_0x502fba(0x1de)]=new Date(),await this[_0x502fba(0x1f3)]['run']({'autoCommit':_0x418ced['VMGdT'](_0x40b255[_0x502fba(0x1e5)],undefined)?_0x40b255['autoCommit']:_0x2fa0a3[_0x502fba(0x1e5)],'autoCommitInterval':_0x2fa0a3['autoCommitInterval'],'eachMessage':async({topic:_0x3328f9,partition:_0x57bf7c,message:_0x345d7f,heartbeat:_0x347b93})=>{const _0x54ff59=_0x502fba,_0xcda502=Date['now']();this['metrics'][_0x54ff59(0x1ef)]++,this[_0x54ff59(0x1e1)]['lastMessageTime']=new Date();try{const _0x3a93a2=_0x345d7f['value']?_0x345d7f['value'][_0x54ff59(0x1f8)]():null;let _0x70231c=null;try{_0x70231c=_0x3a93a2?JSON['parse'](_0x3a93a2):null;}catch(_0x128a49){_0x70231c=_0x3a93a2;}const _0x1b1aac={'topic':_0x3328f9,'partition':_0x57bf7c,'offset':_0x345d7f[_0x54ff59(0x215)],'key':_0x345d7f[_0x54ff59(0x1f7)]?_0x345d7f['key'][_0x54ff59(0x1f8)]():null,'headers':this['parseHeaders'](_0x345d7f[_0x54ff59(0x1e3)]),'timestamp':_0x345d7f[_0x54ff59(0x1cf)],'value':_0x70231c,'raw':_0x3a93a2};this[_0x54ff59(0x206)]&&await this['messageHandler'](_0x1b1aac);!_0x2fa0a3[_0x54ff59(0x1e5)]&&await this['consumer']['commitOffsets']([{'topic':_0x3328f9,'partition':_0x57bf7c,'offset':_0x418ced[_0x54ff59(0x20c)](_0x418ced[_0x54ff59(0x1fb)](parseInt,_0x345d7f[_0x54ff59(0x215)]),0x1)[_0x54ff59(0x1f8)]()}]);this[_0x54ff59(0x1e1)]['messagesProcessed']++;const _0x20c07d=Date[_0x54ff59(0x1cb)]()-_0xcda502;this[_0x54ff59(0x1e1)][_0x54ff59(0x1b2)]['push'](_0x20c07d),_0x418ced['JITYA'](this[_0x54ff59(0x1e1)]['processingTimes']['length'],0x64)&&this['metrics'][_0x54ff59(0x1b2)]['shift'](),await _0x418ced[_0x54ff59(0x1e7)](_0x347b93);}catch(_0x513c4b){this[_0x54ff59(0x1e1)]['messagesFailed']++,console[_0x54ff59(0x216)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x513c4b['message']);throw _0x513c4b;}}}),this['isRunning']=!![],console[_0x502fba(0x1bc)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x502fba(0x1fe)]['join'](',\x20')),!![];}catch(_0x251775){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x251775['message']),![];}}[a0_0x1e6f24(0x1b8)](_0x2844e1){const _0x3710df=a0_0x1e6f24;if(!_0x2844e1)return{};const _0x38c8b8={};for(const [_0x44a5f2,_0x2b8859]of Object[_0x3710df(0x1c3)](_0x2844e1)){_0x38c8b8[_0x44a5f2]=_0x2b8859?_0x2b8859[_0x3710df(0x1f8)]():null;}return _0x38c8b8;}async[a0_0x1e6f24(0x1eb)](){const _0x2f44a5=a0_0x1e6f24;if(!this[_0x2f44a5(0x1ba)]||!this[_0x2f44a5(0x1ff)])return console[_0x2f44a5(0x1bc)](_0x2f44a5(0x1d6)),![];if(this['isPaused'])return console[_0x2f44a5(0x1bc)](_0x2f44a5(0x209)),!![];try{const _0x4502c8=this['subscribedTopics']['map'](_0x4154fc=>({'topic':_0x4154fc}));return this[_0x2f44a5(0x1f3)]['pause'](_0x4502c8),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x22ef10){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x22ef10['message']),![];}}async['resume'](){const _0x1ff957=a0_0x1e6f24,_0xad56c0={'XhkPc':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x1ff957(0x1ba)]||!this[_0x1ff957(0x1ff)])return console[_0x1ff957(0x1bc)](_0xad56c0['XhkPc']),![];if(!this['isPaused'])return console[_0x1ff957(0x1bc)](_0x1ff957(0x1be)),!![];try{const _0x192fcf=this['subscribedTopics']['map'](_0x5a73d5=>({'topic':_0x5a73d5}));return this[_0x1ff957(0x1f3)][_0x1ff957(0x21b)](_0x192fcf),this['isPaused']=![],console[_0x1ff957(0x1bc)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0xe59624){return console[_0x1ff957(0x216)](_0x1ff957(0x1db)+_0xe59624[_0x1ff957(0x1b7)]),![];}}async['stop'](){const _0x177d8c=a0_0x1e6f24,_0x480be5={'UaTAn':_0x177d8c(0x1ce)};if(!this[_0x177d8c(0x1ba)])return console['log'](_0x177d8c(0x1f9)),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this[_0x177d8c(0x1f3)]['disconnect']()),this[_0x177d8c(0x1ba)]=![],this[_0x177d8c(0x1ff)]=![],this['isPaused']=![],console[_0x177d8c(0x1bc)](_0x480be5['UaTAn']),!![];}catch(_0x22b1fc){return console[_0x177d8c(0x216)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x22b1fc['message']),![];}}async[a0_0x1e6f24(0x1ed)](_0x168a8b,_0x4c68f5,_0x1ff737){const _0x44a18c=a0_0x1e6f24,_0x52c455={'KfULh':_0x44a18c(0x1e4)};if(!this[_0x44a18c(0x1ba)])return console[_0x44a18c(0x216)](_0x52c455['KfULh']),![];try{return this['consumer']['seek']({'topic':_0x168a8b,'partition':_0x4c68f5,'offset':_0x1ff737['toString']()}),console[_0x44a18c(0x1bc)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x1ff737+_0x44a18c(0x213)+_0x168a8b+':'+_0x4c68f5),!![];}catch(_0x11697e){return console['error'](_0x44a18c(0x1d1)+_0x11697e['message']),![];}}[a0_0x1e6f24(0x1c8)](){const _0x37d621=a0_0x1e6f24,_0x137d5e=this[_0x37d621(0x201)]();return{'enabled':_0x137d5e['enabled'],'connected':this['isConnected'],'running':this[_0x37d621(0x1ff)],'paused':this['isPaused'],'brokers':_0x137d5e['brokers'],'clientId':_0x137d5e[_0x37d621(0x202)],'groupId':this[_0x37d621(0x21f)],'subscribedTopics':this[_0x37d621(0x1fe)]};}[a0_0x1e6f24(0x1bf)](){const _0x2b21c1=a0_0x1e6f24,_0x3c7be9={'wdYAN':function(_0x5f416d,_0x575324){return _0x5f416d>_0x575324;},'owIcn':function(_0x13b985,_0x37e279){return _0x13b985/_0x37e279;},'KSEhG':function(_0x928a0a,_0x2fa86c){return _0x928a0a/_0x2fa86c;},'bigEh':function(_0x262af5,_0x2aeced){return _0x262af5+_0x2aeced;},'cGmrv':function(_0x487b79,_0x37eec7){return _0x487b79+_0x37eec7;}},_0x4d6d8f=this['metrics']['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0x2b21c1(0x211)]((_0x14d491,_0x210437)=>_0x14d491+_0x210437,0x0)/this[_0x2b21c1(0x1e1)][_0x2b21c1(0x1b2)]['length']:0x0,_0x51ae23=_0x3c7be9['wdYAN'](this['metrics'][_0x2b21c1(0x1b2)][_0x2b21c1(0x217)],0x0)?Math[_0x2b21c1(0x1d5)](...this['metrics']['processingTimes']):0x0,_0x1b92bb=this[_0x2b21c1(0x1e1)]['processingTimes'][_0x2b21c1(0x217)]>0x0?Math[_0x2b21c1(0x1c1)](...this[_0x2b21c1(0x1e1)]['processingTimes']):0x0;return{'messagesReceived':this[_0x2b21c1(0x1e1)]['messagesReceived'],'messagesProcessed':this[_0x2b21c1(0x1e1)]['messagesProcessed'],'messagesFailed':this[_0x2b21c1(0x1e1)]['messagesFailed'],'successRate':this[_0x2b21c1(0x1e1)][_0x2b21c1(0x1ef)]>0x0?(_0x3c7be9[_0x2b21c1(0x1c9)](this['metrics']['messagesProcessed'],this[_0x2b21c1(0x1e1)]['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this[_0x2b21c1(0x1e1)]['lastMessageTime'],'startTime':this['metrics'][_0x2b21c1(0x1de)],'uptime':this['metrics'][_0x2b21c1(0x1de)]?Math['floor'](_0x3c7be9['KSEhG'](Date['now']()-this[_0x2b21c1(0x1e1)]['startTime']['getTime'](),0x3e8))+'s':'0s','processingTime':{'avg':_0x3c7be9[_0x2b21c1(0x20f)](Math['round'](_0x4d6d8f),'ms'),'min':_0x3c7be9['cGmrv'](_0x51ae23,'ms'),'max':_0x1b92bb+'ms'}};}[a0_0x1e6f24(0x200)](){const _0x25e3be=a0_0x1e6f24,_0x497749={'dsZYb':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x25e3be(0x1e1)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x25e3be(0x1bc)](_0x497749['dsZYb']);}async['close'](){await this['stop']();}}function a0_0x42ca(_0x2cee93,_0x1b1c36){_0x2cee93=_0x2cee93-0x1b1;const _0x23d415=a0_0x23d4();let _0x42ca4b=_0x23d415[_0x2cee93];if(a0_0x42ca['CkgLVa']===undefined){var _0x475c9e=function(_0x149b94){const _0x55e736='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x590808='',_0x1dec13='';for(let _0x532511=0x0,_0x1b607e,_0x5b1fb9,_0x108eb0=0x0;_0x5b1fb9=_0x149b94['charAt'](_0x108eb0++);~_0x5b1fb9&&(_0x1b607e=_0x532511%0x4?_0x1b607e*0x40+_0x5b1fb9:_0x5b1fb9,_0x532511++%0x4)?_0x590808+=String['fromCharCode'](0xff&_0x1b607e>>(-0x2*_0x532511&0x6)):0x0){_0x5b1fb9=_0x55e736['indexOf'](_0x5b1fb9);}for(let _0xd23d8f=0x0,_0x376a5c=_0x590808['length'];_0xd23d8f<_0x376a5c;_0xd23d8f++){_0x1dec13+='%'+('00'+_0x590808['charCodeAt'](_0xd23d8f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1dec13);};a0_0x42ca['jUzHze']=_0x475c9e,a0_0x42ca['RbzrKJ']={},a0_0x42ca['CkgLVa']=!![];}const _0x508aa7=_0x23d415[0x0],_0x3003a4=_0x2cee93+_0x508aa7,_0x3364e6=a0_0x42ca['RbzrKJ'][_0x3003a4];return!_0x3364e6?(_0x42ca4b=a0_0x42ca['jUzHze'](_0x42ca4b),a0_0x42ca['RbzrKJ'][_0x3003a4]=_0x42ca4b):_0x42ca4b=_0x3364e6,_0x42ca4b;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x23d4(){const _0x47c4b8=['w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','z2v0twv0CMLJCW','otG2nde2zvbYCuHA','Bwf4','s0fgs0fFqvvut19dt01nsvq','zw50CMLLCW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','y29UC3vTzxiUC3rVCa','v0fstG','EejJuxu','z2v0u3rHDhvZ','B3Djy24','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','BM93','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','y2XVC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','DgLTzxn0yw1W','zw52','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','mJuWmda','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','A2fMA2e','BwLU','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','ntK3ndm1uKDiDgr1','revcvuC','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','mJi2nZeWBgn4y2vp','zw5HyMXLza','C3rHCNruAw1L','s0fgs0fFq0Xjru5ux0Le','C2v0DxbfDMvUDeHHBMrSzxjZ','Bwv0CMLJCW','sLv6q2C','AgvHzgvYCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','ru9Awgm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','Cgf1C2u','Dhj1zq','C2vLA1rVt2zMC2v0','uKXluha','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','C3bSAxq','wuD4r1y','y29UC3vTzxi','y29UBMvJDgLVBLbYB21PC2u','zgvMyxvSDa','y29UC3vTzxiUCMvIywXHBMnPBMC','A2v5','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFuKvuuLLFrevmqvK','vhD1DKO','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UBMvJDgLVBLrPBwvVDxq','C3vIC2nYAwjLzfrVCgLJCW','AxnsDw5UAw5N','CMvZzxrnzxrYAwnZ','z2v0q29UzMLN','y2XPzw50swq','ChLHBu8','mZaWma','ndqXmJHWB0rSqMG','BwvZC2fNzuHHBMrSzxi','s0fgs0fFte9hx0XfvKvm','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','odmYnJjNy3HjtwK','ote5mLPNvMTswG','CNbkCwO','AxnjBML0AwfSAxPPBMC','zLj4tNC','yMLNrwG','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMvKDwnL','mJHQugrZwKm','ig9Uia','AxnbCNjHEq','B2zMC2v0','zxjYB3i','BgvUz3rO','DxvPza','mty0odqYmMDvs1jmDq','yvPry2y','CMvZDw1L','DMjmBLm','s0fgs0fFuKvuuLLFtufyx0rftefz','zxHWB3j0CW','z3jVDxbjza','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWmda','ChjVy2vZC2LUz1rPBwvZ','D2fYBG','z2v0tg9Ntgv2zwW','qMDzAvi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','BwvZC2fNzq','CgfYC2vizwfKzxjZ','ngLUu0DcsG','AxndB25Uzwn0zwq','C2vZC2LVBLrPBwvVDxq','Bg9N','mtaWma'];a0_0x23d4=function(){return _0x47c4b8;};return a0_0x23d4();}function resetInstance(){const _0x2c9c23=a0_0x1e6f24;instance&&(instance[_0x2c9c23(0x1cd)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x1e6f24(0x21e)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x177484=a0_0x37eb;function a0_0x37eb(_0x1146c1,_0x3dc228){_0x1146c1=_0x1146c1-0x135;const _0x589016=a0_0x5890();let _0x37eb27=_0x589016[_0x1146c1];if(a0_0x37eb['FFwOyS']===undefined){var _0x437a1c=function(_0x1cec29){const _0x525e79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54cfd7='',_0x298cf5='';for(let _0x4c01ff=0x0,_0x4cb7d6,_0x2c2813,_0x4e5150=0x0;_0x2c2813=_0x1cec29['charAt'](_0x4e5150++);~_0x2c2813&&(_0x4cb7d6=_0x4c01ff%0x4?_0x4cb7d6*0x40+_0x2c2813:_0x2c2813,_0x4c01ff++%0x4)?_0x54cfd7+=String['fromCharCode'](0xff&_0x4cb7d6>>(-0x2*_0x4c01ff&0x6)):0x0){_0x2c2813=_0x525e79['indexOf'](_0x2c2813);}for(let _0x6e4cf3=0x0,_0x9860bc=_0x54cfd7['length'];_0x6e4cf3<_0x9860bc;_0x6e4cf3++){_0x298cf5+='%'+('00'+_0x54cfd7['charCodeAt'](_0x6e4cf3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x298cf5);};a0_0x37eb['frXefw']=_0x437a1c,a0_0x37eb['lQaYve']={},a0_0x37eb['FFwOyS']=!![];}const _0x4cd851=_0x589016[0x0],_0x309a0e=_0x1146c1+_0x4cd851,_0x2607ee=a0_0x37eb['lQaYve'][_0x309a0e];return!_0x2607ee?(_0x37eb27=a0_0x37eb['frXefw'](_0x37eb27),a0_0x37eb['lQaYve'][_0x309a0e]=_0x37eb27):_0x37eb27=_0x2607ee,_0x37eb27;}(function(_0x4783b7,_0x5d709e){const _0x38d12d=a0_0x37eb,_0x498dfd=_0x4783b7();while(!![]){try{const _0x50e288=parseInt(_0x38d12d(0x194))/0x1+parseInt(_0x38d12d(0x148))/0x2*(parseInt(_0x38d12d(0x18b))/0x3)+parseInt(_0x38d12d(0x139))/0x4*(-parseInt(_0x38d12d(0x1a7))/0x5)+parseInt(_0x38d12d(0x1a9))/0x6*(-parseInt(_0x38d12d(0x18e))/0x7)+parseInt(_0x38d12d(0x15b))/0x8+parseInt(_0x38d12d(0x164))/0x9+-parseInt(_0x38d12d(0x17d))/0xa;if(_0x50e288===_0x5d709e)break;else _0x498dfd['push'](_0x498dfd['shift']());}catch(_0x2d14dc){_0x498dfd['push'](_0x498dfd['shift']());}}}(a0_0x5890,0x36fc2));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x177484(0x159));class KafkaConsumerService{constructor(){const _0x4f6911=a0_0x177484;this['kafka']=null,this['consumer']=null,this[_0x4f6911(0x18a)]=![],this['isInitializing']=![],this['isRunning']=![],this['isPaused']=![],this[_0x4f6911(0x19f)]=null,this[_0x4f6911(0x184)]=[],this['groupId']=null,this[_0x4f6911(0x153)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x177484(0x16e)](){const _0x30af1d=a0_0x177484,_0x1ab14b={'pPxen':'localhost:9092','FJLGu':function(_0x2fb0f8,_0x24327b){return _0x2fb0f8(_0x24327b);},'QfCWh':_0x30af1d(0x14f),'lwgdx':'3000','dWlrJ':function(_0x51fe73,_0x6b613a){return _0x51fe73(_0x6b613a);},'MFfAN':function(_0x2992d1,_0x22a115){return _0x2992d1===_0x22a115;},'KTYCp':'warn'};return{'enabled':process['env']['KAFKA_ENABLED']===_0x30af1d(0x199),'brokers':(process[_0x30af1d(0x171)]['KAFKA_BROKERS']||_0x1ab14b[_0x30af1d(0x17b)])['split'](','),'clientId':process[_0x30af1d(0x171)][_0x30af1d(0x18f)]||'restforge-'+(process[_0x30af1d(0x171)]['RESTFORGE_PROJECT_NAME']||_0x30af1d(0x14e))+'-consumer','connectionTimeout':parseInt(process[_0x30af1d(0x171)][_0x30af1d(0x135)]||_0x30af1d(0x142)),'requestTimeout':parseInt(process[_0x30af1d(0x171)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0x1ab14b[_0x30af1d(0x156)]),'heartbeatInterval':parseInt(process['env'][_0x30af1d(0x196)]||_0x1ab14b[_0x30af1d(0x15a)]),'maxBytesPerPartition':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x30af1d(0x19b)),'autoCommit':_0x1ab14b['MFfAN'](process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT'],_0x30af1d(0x199)),'autoCommitInterval':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x30af1d(0x176)),'retryAttempts':parseInt(process['env'][_0x30af1d(0x138)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x30af1d(0x193)),'retryMaxDelay':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env'][_0x30af1d(0x18d)]||_0x1ab14b[_0x30af1d(0x156)]),'logLevel':process[_0x30af1d(0x171)]['KAFKA_LOG_LEVEL']||_0x1ab14b[_0x30af1d(0x16b)]};}['getLogLevel'](_0x51c328){const _0x273d93=a0_0x177484,_0x98a838={'nothing':logLevel[_0x273d93(0x13b)],'error':logLevel[_0x273d93(0x152)],'warn':logLevel['WARN'],'info':logLevel[_0x273d93(0x15f)],'debug':logLevel['DEBUG']};return _0x98a838[_0x51c328[_0x273d93(0x161)]()]||logLevel['WARN'];}async['initialize'](_0xde769d={}){const _0x1a2b2a=a0_0x177484,_0x9014bf={'BJsXA':function(_0x598b69,_0x2eb27e){return _0x598b69===_0x2eb27e;},'ZXKkt':'default','zvhjx':function(_0x3dfdd1,_0xdacd44){return _0x3dfdd1(_0xdacd44);}},_0x4cd422=this[_0x1a2b2a(0x16e)]();if(!_0x4cd422['enabled'])return console[_0x1a2b2a(0x186)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x1a2b2a(0x19f)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4c9e58=>{const _0x1330b1=_0x1a2b2a;try{let _0x46bc0c=undefined;_0x9014bf['BJsXA'](process['env'][_0x1330b1(0x16d)],_0x1330b1(0x199))&&(_0x46bc0c=!![]);let _0x1257f2=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1257f2={'mechanism':process['env'][_0x1330b1(0x1a4)],'username':process[_0x1330b1(0x171)]['KAFKA_SASL_USERNAME']||'','password':process[_0x1330b1(0x171)][_0x1330b1(0x14d)]||''}),this[_0x1330b1(0x19d)]=new Kafka({'clientId':_0xde769d[_0x1330b1(0x183)]||_0x4cd422['clientId'],'brokers':_0x4cd422['brokers'],'connectionTimeout':_0x4cd422[_0x1330b1(0x158)],'requestTimeout':_0x4cd422['requestTimeout'],'logLevel':this['getLogLevel'](_0x4cd422['logLevel']),'ssl':_0x46bc0c,'sasl':_0x1257f2,'retry':{'initialRetryTime':_0x4cd422['retryDelay'],'retries':_0x4cd422['retryAttempts'],'maxRetryTime':_0x4cd422[_0x1330b1(0x174)]}}),this[_0x1330b1(0x13c)]=_0xde769d[_0x1330b1(0x13c)]||_0x1330b1(0x172)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x9014bf['ZXKkt'])+_0x1330b1(0x144),this[_0x1330b1(0x189)]=this['kafka'][_0x1330b1(0x189)]({'groupId':this['groupId'],'sessionTimeout':_0x4cd422[_0x1330b1(0x191)],'heartbeatInterval':_0x4cd422[_0x1330b1(0x1a2)],'maxBytesPerPartition':_0x4cd422['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1330b1(0x189)][_0x1330b1(0x13f)](),this[_0x1330b1(0x18a)]=!![],console['log'](_0x1330b1(0x157)+_0x4cd422[_0x1330b1(0x192)][_0x1330b1(0x190)](',\x20')+'\x20(groupId:\x20'+this[_0x1330b1(0x13c)]+')'),this[_0x1330b1(0x14c)](),_0x4c9e58(!![]);}catch(_0xefd625){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0xefd625[_0x1330b1(0x167)]),this[_0x1330b1(0x18a)]=![],_0x9014bf['zvhjx'](_0x4c9e58,![]);}finally{this[_0x1330b1(0x17e)]=![];}}),this[_0x1a2b2a(0x19f)];}[a0_0x177484(0x14c)](){const _0x3d7143=a0_0x177484,_0x158093={'LKbOp':_0x3d7143(0x185),'PLBuG':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x3d7143(0x189)]['on']('consumer.disconnect',()=>{const _0x3b9a66=_0x3d7143;console[_0x3b9a66(0x186)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x3b9a66(0x18a)]=![],this[_0x3b9a66(0x165)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this['consumer']['on'](_0x3d7143(0x15c),_0x31afbf=>{console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x31afbf['payload']['error']['message']),this['isRunning']=![];}),this['consumer']['on'](_0x158093[_0x3d7143(0x178)],()=>{const _0xb48ca2=_0x3d7143;console['log'](_0x158093[_0xb48ca2(0x141)]);});}async[a0_0x177484(0x179)](_0x4acbc0,_0x2ac2d9=![]){const _0xee670f=a0_0x177484;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x50501b=Array[_0xee670f(0x140)](_0x4acbc0)?_0x4acbc0:[_0x4acbc0];for(const _0x42d7bf of _0x50501b){await this[_0xee670f(0x189)][_0xee670f(0x179)]({'topic':_0x42d7bf,'fromBeginning':_0x2ac2d9}),console['log'](_0xee670f(0x15e)+_0x42d7bf+_0xee670f(0x175)+_0x2ac2d9+')');}return this[_0xee670f(0x184)]=[...new Set([...this['subscribedTopics'],..._0x50501b])],!![];}catch(_0x1cdfb3){return console['error'](_0xee670f(0x16a)+_0x1cdfb3[_0xee670f(0x167)]),![];}}async['startConsuming'](_0x4afa0f,_0xd558f9={}){const _0x4502b0=a0_0x177484,_0x21ee10={'ecKdt':function(_0x1b4d1f){return _0x1b4d1f();}};if(!this['isConnected'])return console[_0x4502b0(0x14b)](_0x4502b0(0x1a1)),![];if(this[_0x4502b0(0x165)])return console[_0x4502b0(0x186)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x9f6658=this['getConfig']();this['messageHandler']=_0x4afa0f;try{return this['metrics'][_0x4502b0(0x19c)]=new Date(),await this['consumer'][_0x4502b0(0x137)]({'autoCommit':_0xd558f9['autoCommit']!==undefined?_0xd558f9[_0x4502b0(0x16f)]:_0x9f6658['autoCommit'],'autoCommitInterval':_0x9f6658['autoCommitInterval'],'eachMessage':async({topic:_0x2b96dd,partition:_0x2015fe,message:_0x505c1a,heartbeat:_0x3cc2b6})=>{const _0x230f79=_0x4502b0,_0x41f1fd=Date[_0x230f79(0x14a)]();this[_0x230f79(0x17f)]['messagesReceived']++,this['metrics'][_0x230f79(0x151)]=new Date();try{const _0x33d15e=_0x505c1a['value']?_0x505c1a[_0x230f79(0x177)]['toString']():null;let _0x374b40=null;try{_0x374b40=_0x33d15e?JSON[_0x230f79(0x188)](_0x33d15e):null;}catch(_0x2ad749){_0x374b40=_0x33d15e;}const _0x40aed3={'topic':_0x2b96dd,'partition':_0x2015fe,'offset':_0x505c1a['offset'],'key':_0x505c1a['key']?_0x505c1a['key'][_0x230f79(0x16c)]():null,'headers':this['parseHeaders'](_0x505c1a['headers']),'timestamp':_0x505c1a['timestamp'],'value':_0x374b40,'raw':_0x33d15e};this[_0x230f79(0x153)]&&await this[_0x230f79(0x153)](_0x40aed3);!_0x9f6658['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x2b96dd,'partition':_0x2015fe,'offset':(parseInt(_0x505c1a['offset'])+0x1)[_0x230f79(0x16c)]()}]);this['metrics'][_0x230f79(0x1a0)]++;const _0x5c66ba=Date['now']()-_0x41f1fd;this[_0x230f79(0x17f)]['processingTimes'][_0x230f79(0x168)](_0x5c66ba),this['metrics']['processingTimes'][_0x230f79(0x170)]>0x64&&this[_0x230f79(0x17f)]['processingTimes']['shift'](),await _0x21ee10['ecKdt'](_0x3cc2b6);}catch(_0x4ab464){this[_0x230f79(0x17f)][_0x230f79(0x136)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4ab464['message']);throw _0x4ab464;}}}),this['isRunning']=!![],console[_0x4502b0(0x186)](_0x4502b0(0x198)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x4d617a){return console[_0x4502b0(0x14b)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4d617a['message']),![];}}[a0_0x177484(0x146)](_0x5c1ab5){if(!_0x5c1ab5)return{};const _0x2151bc={};for(const [_0x42f8e1,_0x4545e5]of Object['entries'](_0x5c1ab5)){_0x2151bc[_0x42f8e1]=_0x4545e5?_0x4545e5['toString']():null;}return _0x2151bc;}async[a0_0x177484(0x150)](){const _0x178030=a0_0x177484,_0x57a3cc={'dUxMV':_0x178030(0x145),'HRcAf':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this[_0x178030(0x165)])return console[_0x178030(0x186)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x57a3cc[_0x178030(0x19e)]),!![];try{const _0x32921e=this[_0x178030(0x184)]['map'](_0x55c5f7=>({'topic':_0x55c5f7}));return this['consumer'][_0x178030(0x150)](_0x32921e),this[_0x178030(0x182)]=!![],console['log'](_0x57a3cc[_0x178030(0x149)]),!![];}catch(_0x584b85){return console[_0x178030(0x14b)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x584b85['message']),![];}}async['resume'](){const _0xd87497=a0_0x177484,_0xc8e4d={'xgzmj':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0xd87497(0x165)])return console[_0xd87497(0x186)](_0xc8e4d['xgzmj']),![];if(!this[_0xd87497(0x182)])return console[_0xd87497(0x186)](_0xd87497(0x180)),!![];try{const _0x3c3e35=this[_0xd87497(0x184)]['map'](_0x5109aa=>({'topic':_0x5109aa}));return this[_0xd87497(0x189)][_0xd87497(0x1a8)](_0x3c3e35),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x3fbe7d){return console['error'](_0xd87497(0x143)+_0x3fbe7d[_0xd87497(0x167)]),![];}}async[a0_0x177484(0x17a)](){const _0x4a7604=a0_0x177484,_0x966058={'NMhfI':_0x4a7604(0x1aa),'EdfYG':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console[_0x4a7604(0x186)](_0x966058['NMhfI']),!![];try{const _0x4bee7e=_0x4a7604(0x17c)['split']('|');let _0x1ff399=0x0;while(!![]){switch(_0x4bee7e[_0x1ff399++]){case'0':return!![];case'1':this[_0x4a7604(0x165)]=![];continue;case'2':this[_0x4a7604(0x18a)]=![];continue;case'3':this[_0x4a7604(0x182)]=![];continue;case'4':this[_0x4a7604(0x189)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;case'5':console['log'](_0x966058['EdfYG']);continue;}break;}}catch(_0x100872){return console[_0x4a7604(0x14b)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x100872['message']),![];}}async[a0_0x177484(0x147)](_0x251d46,_0x4c8cde,_0x20b34f){const _0x77e75c=a0_0x177484;if(!this[_0x77e75c(0x18a)])return console[_0x77e75c(0x14b)](_0x77e75c(0x155)),![];try{return this[_0x77e75c(0x189)]['seek']({'topic':_0x251d46,'partition':_0x4c8cde,'offset':_0x20b34f['toString']()}),console['log'](_0x77e75c(0x154)+_0x20b34f+'\x20on\x20'+_0x251d46+':'+_0x4c8cde),!![];}catch(_0x44b69c){return console[_0x77e75c(0x14b)](_0x77e75c(0x195)+_0x44b69c[_0x77e75c(0x167)]),![];}}[a0_0x177484(0x1a3)](){const _0x2526ac=a0_0x177484,_0x18f90e=this[_0x2526ac(0x16e)]();return{'enabled':_0x18f90e[_0x2526ac(0x13e)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x2526ac(0x182)],'brokers':_0x18f90e['brokers'],'clientId':_0x18f90e['clientId'],'groupId':this[_0x2526ac(0x13c)],'subscribedTopics':this['subscribedTopics']};}[a0_0x177484(0x19a)](){const _0x50cf80=a0_0x177484,_0x58a2c8={'ZblIJ':function(_0x593a5a,_0x4f703f){return _0x593a5a>_0x4f703f;},'AFPDd':function(_0x52bdf2,_0x5bba40){return _0x52bdf2>_0x5bba40;},'Bqsux':function(_0x4ca00e,_0x1e39e8){return _0x4ca00e>_0x1e39e8;},'htdnE':function(_0x45b2db,_0x20f7a1){return _0x45b2db/_0x20f7a1;},'KPsie':function(_0x3f7c71,_0x138c9c){return _0x3f7c71+_0x138c9c;},'pkkSC':function(_0x1ae612,_0x32f712){return _0x1ae612-_0x32f712;}},_0x55e116=_0x58a2c8[_0x50cf80(0x163)](this[_0x50cf80(0x17f)][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]['reduce']((_0x2f17c6,_0x87f646)=>_0x2f17c6+_0x87f646,0x0)/this[_0x50cf80(0x17f)]['processingTimes']['length']:0x0,_0xbfc4e4=_0x58a2c8['AFPDd'](this['metrics'][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?Math[_0x50cf80(0x162)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0,_0x46bb3f=_0x58a2c8[_0x50cf80(0x197)](this[_0x50cf80(0x17f)]['processingTimes']['length'],0x0)?Math[_0x50cf80(0x18c)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0;return{'messagesReceived':this['metrics'][_0x50cf80(0x169)],'messagesProcessed':this[_0x50cf80(0x17f)][_0x50cf80(0x1a0)],'messagesFailed':this[_0x50cf80(0x17f)]['messagesFailed'],'successRate':this['metrics'][_0x50cf80(0x169)]>0x0?(_0x58a2c8[_0x50cf80(0x166)](this[_0x50cf80(0x17f)]['messagesProcessed'],this['metrics']['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x50cf80(0x17f)][_0x50cf80(0x19c)],'uptime':this[_0x50cf80(0x17f)]['startTime']?_0x58a2c8['KPsie'](Math[_0x50cf80(0x160)](_0x58a2c8[_0x50cf80(0x181)](Date['now'](),this[_0x50cf80(0x17f)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math[_0x50cf80(0x173)](_0x55e116)+'ms','min':_0xbfc4e4+'ms','max':_0x58a2c8[_0x50cf80(0x15d)](_0x46bb3f,'ms')}};}['resetMetrics'](){const _0x1b8dd6=a0_0x177484,_0x39da94={'HZhzn':_0x1b8dd6(0x13a)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1b8dd6(0x165)]?new Date():null,'processingTimes':[]},console[_0x1b8dd6(0x186)](_0x39da94['HZhzn']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5badd6=a0_0x177484;instance&&(instance[_0x5badd6(0x1a5)](),instance=null);}function a0_0x5890(){const _0x3a7a89=['s0fgs0fFuKvuuLLFqvruru1qvfm','mJHzvNvyvNC','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','tK9useLorW','z3jVDxbjza','ChjVy2vZC2LUz1rPBwvZ','zw5HyMXLza','y29UBMvJDa','AxnbCNjHEq','teTIt3a','mZaWma','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','CgfYC2vizwfKzxjZ','C2vLA1rVt2zMC2v0','ndu1nLHJruvIrq','sfjJqwy','BM93','zxjYB3i','C2v0DxbfDMvUDeHHBMrSzxjZ','s0fgs0fFu0fttf9qqvntv09sra','zgvMyxvSDa','mZaWmda','Cgf1C2u','BgfZDe1LC3nHz2vuAw1L','rvjst1i','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','uwzdv2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y29UBMvJDgLVBLrPBwvVDxq','DxvPza','BhDNzhG','mtCWmdy2nhP5CMr2Eq','y29UC3vTzxiUy3jHC2G','s1bZAwu','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','su5gtW','zMXVB3i','Dg9mB3DLCKnHC2u','BwLU','wMjSsuO','mJy0nZGYn2D6yxfgAa','AxnsDw5UAw5N','AhrKBKu','BwvZC2fNzq','ChvZAa','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','s1rzq3a','Dg9tDhjPBMC','s0fgs0fFu1nm','z2v0q29UzMLN','yxv0B0nVBw1PDa','BgvUz3rO','zw52','CMvZDgzVCMDLlq','CM91BMq','CMv0CNLnyxHezwXHEq','icHMCM9TqMvNAw5UAw5NoIa','ntaWma','DMfSDwu','ueXcDuC','C3vIC2nYAwjL','C3rVCa','Cfb4zw4','nhWYFdf8m3W1Fda','mJu2mJu3menIvxjIDW','AxnjBML0AwfSAxPPBMC','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CgTRu0m','AxnqyxvZzwq','y2XPzw50swq','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Bg9N','zfDSCKO','CgfYC2u','y29UC3vTzxi','AxndB25Uzwn0zwq','mtu2wMTVquvQ','Bwf4','s0fgs0fFuKvuuLLFtufyx0rftefz','mtG0odG1ngXzA1HrEq','s0fgs0fFq0Xjru5ux0Le','AM9PBG','C2vZC2LVBLrPBwvVDxq','yNjVA2vYCW','mtaWma','mJa1ndyXtuHXsNDZ','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFsevbuLrcrufux0LovevsvKfm','qNfZDxG','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','Dhj1zq','z2v0twv0CMLJCW','mta0odu3nG','C3rHCNruAw1L','A2fMA2e','zfv4tvy','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','AgvHCNrIzwf0sw50zxj2ywW','z2v0u3rHDhvZ','s0fgs0fFu0fttf9nruniqu5ju00','y2XVC2u','rKPmr3u','nJa3otbxAwXlzNe','CMvZDw1L','nM9jELPMDG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwvZC2fNzxngywLSzwq','CNvU'];a0_0x5890=function(){return _0x3a7a89;};return a0_0x5890();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|