@restforgejs/platform 5.3.9 → 5.3.10
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/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +43 -6
- 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 +2 -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_0x433355=a0_0x4b49;function a0_0x1833(){const _0x49af1e=['rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','B0TPtNO','DxbNCMfKzq','odaXmdHowuH0wK8','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CMvXDwvZDeLK','x293BLb1yMXPC2HLCG','z2v0q2XPzw50','ANP1BNi','D3jPDgu','BwvZC2fNzq','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','C2vHCMnOugfYyw1Z','CuT6uNa','x2XVz2DLCG','u0P6vgm','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','mtKYntq2oxLzr2HbCW','vMnUswe','ywrK','zgTfquu','x3jLzgLZu3vIC2nYAwjLCG','mtmWotaXmu5QvK9nsG','x3jLzgLZuhvIBgLZAgvY','C2L6zq','uKvesvnFue9sva','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','C2vUza','y2XLyxi','x2LUAxrPywXPEMvK','C3rYAw5NAwz5','y2HHBM5LBhm','EMXpAuS','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y29UBMvJDgLVBG','zgf0yq','DxjS','x3DVCMTLCKLK','x3n1yNnJCMLWDgLVBNm','AeXLDuO','CxvPDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','shL6swm','x3nLDhvWvxbNCMfKzuf1DgG','Ahr0CdOVlW','CgfYC2u','BxjSwLq','x2HHBMrSzvvUC3vIC2nYAwjL','vgX6CgO','m3W0Fdz8nxW5FdH8mxWWFdD8mG','odbbuxfgvhG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','zw52','C3rHCNrZv2L0Aa','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x2jYB2fKy2fZDeXVy2fS','AwnNA3G','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2HHBM5LBa','yKrruKy','zxHWB3j0CW','zgf0yv9JAgfUz2u','EgDrBKy','y2XPzw50CW','l3DZ','x3DZCW','y29UBMvJDa','C3vIC2nYAwjL','ndC0mdm2r0HXCezj','q1H0DMq','x21Vzgu','Cvnnu0i','x2HHBMrSzunVBM5Ly3rPB24','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','D2fYBG','mte0ntqZnLjWqwHlBW','y2XVC2u','zgvSzxrL','zNvSBa','x3b1yMXPC2HuB1jLzgLZ','Dg9ju09tDhjPBMC','BgLZDgvUzxjZ','yNjVywrJyxn0','BxrsCfa','y2fSBa','C3vIC2nYAwjLzenOyw5UzwXZ','Bg9JywXOB3n0','ig9Uia','x2HLyxj0yMvHDfrPBwvY','vMzzzhC','CgLK','rK5nzxu','y2f0y2G','D29YA2vYswq','AxnbBgL2zq','tgL2zsbtEw5Jia','zxjYB3i','tKvNEvm','CgLUzW','C3vIC2nYAwjLza','DgvYBwLUyxrL','qMXjr0q','Dw5ZDwjZy3jPyMu','vw5PDuC','x29WDgLVBNm','zhntzwG','rgzqAfC','ihrVia','nNW0Fdn8nxWXFdj8ma','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','u2vYDMvYihnODxr0Aw5NigrVD24','x2HHBMrSzvn1yNnJCMLIzq','DfvwAK0','ChvIBgLZAgvY','mtCYmtG4qNrRy0LX','oxfcvKTUCW','AgvHzgvYCW','zuHyAvG','ywn0Aw9U','zMPotu0','BgL2zxn5BMnFC2H1DgrVD24','lI4VlI4VDxrPBhmVBg9Nz2vY','r3vcwuy','Aw5MBW','BeXSAue','vMLlqK8','EhPurfK','yMv5zey','AxnbCNjHEq','z25mvKK','ChvZAa','yw1kz1y','r0HZwNi','Ag9ZDa','uKvesvnFrei','C3bSAxq','z2v0','nvPuq1zdDq','vfPVzxu','ntGWmJfSC2rsrhi','C2H1DgrVD24','BgL2zxn5BMnFAw5PDgLHBgL6zwq','Aw5JBhvKzxm','uKvesvnFueftu1DpuKq','mtbKBuHhBxG','CMvTB3zLqwXStgLZDgvUzxjZ','x3nLBMruB0nSAwvUDa'];a0_0x1833=function(){return _0x49af1e;};return a0_0x1833();}(function(_0x541544,_0x111628){const _0x501b48=a0_0x4b49,_0x2b17a2=_0x541544();while(!![]){try{const _0x4fd208=parseInt(_0x501b48(0xdc))/0x1+-parseInt(_0x501b48(0xe7))/0x2*(parseInt(_0x501b48(0xc4))/0x3)+-parseInt(_0x501b48(0x9c))/0x4+parseInt(_0x501b48(0xda))/0x5*(-parseInt(_0x501b48(0x95))/0x6)+parseInt(_0x501b48(0xf5))/0x7+-parseInt(_0x501b48(0x83))/0x8*(-parseInt(_0x501b48(0xc3))/0x9)+parseInt(_0x501b48(0xe1))/0xa*(parseInt(_0x501b48(0xfa))/0xb);if(_0x4fd208===_0x111628)break;else _0x2b17a2['push'](_0x2b17a2['shift']());}catch(_0x49d91b){_0x2b17a2['push'](_0x2b17a2['shift']());}}}(a0_0x1833,0x268ba));function a0_0x4b49(_0x6daa97,_0x3f1fac){_0x6daa97=_0x6daa97-0x75;const _0x1833e3=a0_0x1833();let _0x4b49c4=_0x1833e3[_0x6daa97];if(a0_0x4b49['sRTQFv']===undefined){var _0x1ee893=function(_0x5b7522){const _0x20e9b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d034f='',_0x2807e6='';for(let _0x3cb1fe=0x0,_0x41fd61,_0x249eb7,_0x30c670=0x0;_0x249eb7=_0x5b7522['charAt'](_0x30c670++);~_0x249eb7&&(_0x41fd61=_0x3cb1fe%0x4?_0x41fd61*0x40+_0x249eb7:_0x249eb7,_0x3cb1fe++%0x4)?_0x1d034f+=String['fromCharCode'](0xff&_0x41fd61>>(-0x2*_0x3cb1fe&0x6)):0x0){_0x249eb7=_0x20e9b8['indexOf'](_0x249eb7);}for(let _0x13fcc4=0x0,_0x10884d=_0x1d034f['length'];_0x13fcc4<_0x10884d;_0x13fcc4++){_0x2807e6+='%'+('00'+_0x1d034f['charCodeAt'](_0x13fcc4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2807e6);};a0_0x4b49['QCrdQl']=_0x1ee893,a0_0x4b49['FIfYow']={},a0_0x4b49['sRTQFv']=!![];}const _0x1a3416=_0x1833e3[0x0],_0x531d41=_0x6daa97+_0x1a3416,_0x5f4217=a0_0x4b49['FIfYow'][_0x531d41];return!_0x5f4217?(_0x4b49c4=a0_0x4b49['QCrdQl'](_0x4b49c4),a0_0x4b49['FIfYow'][_0x531d41]=_0x4b49c4):_0x4b49c4=_0x5f4217,_0x4b49c4;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x433355(0x75)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x171785=a0_0x433355,_0x345267={'FNMeu':_0x171785(0x82)},_0x594681=_0x345267[_0x171785(0xac)][_0x171785(0xd8)]('|');let _0x470fb9=0x0;while(!![]){switch(_0x594681[_0x470fb9++]){case'0':this['_redisPublisher']=null;continue;case'1':this['_heartbeatTimer']=null;continue;case'2':this[_0x171785(0x76)]=process[_0x171785(0xab)];continue;case'3':this[_0x171785(0x92)]=null;continue;case'4':this[_0x171785(0x101)]=![];continue;case'5':this['_options']={};continue;case'6':this['_mode']=null;continue;case'7':this['_redisSubscriber']=null;continue;case'8':this[_0x171785(0x77)]=new Map();continue;case'9':this['_logger']=console;continue;}break;}}['initialize'](_0x331f3d,_0x7aa25d={}){const _0xf3490c=a0_0x433355,_0xc684a7={'TZoeu':'livesync_wss_error','VfYdw':_0xf3490c(0xca),'rqdYw':function(_0x239b81,_0x153647,_0x4fc128){return _0x239b81(_0x153647,_0x4fc128);},'GnfLu':'connection','hLeuJ':'full'};if(this['_initialized'])return;this[_0xf3490c(0xb9)]=_0x7aa25d,this['_mode']=_0xf3490c(0x9f);try{this['_logger']=require(_0xc684a7[_0xf3490c(0xaa)])['logger']||console;}catch(_0x36c0bb){this['_logger']=console;}const _0xf3e4c4=_0xc684a7['rqdYw'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0xf3490c(0x92)]=new WebSocketServer({'server':_0x331f3d,'path':_0xf3490c(0x91)}),this[_0xf3490c(0x7c)](_0x331f3d),this['_wss']['on'](_0xc684a7['GnfLu'],(_0x50e8c0,_0x3f04a6)=>this[_0xf3490c(0x99)](_0x50e8c0,_0x3f04a6)),this['_wss']['on']('error',_0x3a1f96=>{const _0x295f07=_0xf3490c;this['_logger']['error']({'event':_0xc684a7[_0x295f07(0xdb)],'error':_0x3a1f96[_0x295f07(0xee)]},_0x295f07(0x9a)+_0x3a1f96['message']);}),this['_startHeartbeat'](_0xf3e4c4),this['_setupRedis'](),this[_0xf3490c(0x101)]=!![],this['_logger'][_0xf3490c(0xcc)]({'event':_0xf3490c(0xde),'mode':_0xc684a7[_0xf3490c(0x78)],'path':_0xf3490c(0x91),'heartbeat':_0xf3e4c4+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0xf3e4c4+'s)');}['initializeAsPublisher'](_0x28b044={}){const _0x41ad8d=a0_0x433355,_0x1f2d3f={'VcnIa':_0x41ad8d(0xe8),'amJgV':'publisher','GuBYF':'../../utils/logger'},_0x49cff3=_0x41ad8d(0xbd)[_0x41ad8d(0xd8)]('|');let _0x215d1d=0x0;while(!![]){switch(_0x49cff3[_0x215d1d++]){case'0':this[_0x41ad8d(0xf2)][_0x41ad8d(0xcc)]({'event':_0x1f2d3f[_0x41ad8d(0xf6)],'mode':_0x1f2d3f['amJgV']},_0x41ad8d(0xbe));continue;case'1':this['_setupRedisPublisher']();continue;case'2':this['_initialized']=!![];continue;case'3':this['_mode']=_0x1f2d3f[_0x41ad8d(0xd4)];continue;case'4':this['_options']=_0x28b044;continue;case'5':try{this[_0x41ad8d(0xf2)]=require(_0x1f2d3f[_0x41ad8d(0xcb)])['logger']||console;}catch(_0xd5db5f){this['_logger']=console;}continue;case'6':if(this[_0x41ad8d(0x101)])return;continue;}break;}}['isInitialized'](){const _0x484697=a0_0x433355;return this[_0x484697(0x101)];}[a0_0x433355(0xa3)](_0x4f3dba,_0x1acd07){const _0x67bfe6=a0_0x433355,_0x35eb3b={'qSMSB':function(_0x3851e5,_0x523577){return _0x3851e5===_0x523577;},'Tlzpj':_0x67bfe6(0x8e),'gnLVI':function(_0x3b9d0e,_0x5a37f4){return _0x3b9d0e===_0x5a37f4;},'beydF':function(_0x2ff23d,_0x26d12b){return _0x2ff23d===_0x26d12b;},'UniuG':function(_0x22db8f,_0x4b0e1c){return _0x22db8f||_0x4b0e1c;},'bDQRF':function(_0x3909b9,_0x518f41){return _0x3909b9>_0x518f41;}};if(!this['_initialized'])return;if(_0x35eb3b[_0x67bfe6(0x98)](this[_0x67bfe6(0x97)],_0x67bfe6(0xc2))){this[_0x67bfe6(0xa0)](_0x4f3dba,_0x1acd07);return;}const _0x587043=JSON['stringify']({'type':_0x35eb3b[_0x67bfe6(0x81)],'channel':_0x4f3dba,'action':_0x1acd07[_0x67bfe6(0xc7)],'data':_0x1acd07[_0x67bfe6(0x107)],'requestId':_0x1acd07[_0x67bfe6(0xe9)]||null,'timestamp':new Date()[_0x67bfe6(0xa1)]()}),[_0x311729]=_0x4f3dba['split'](':');let _0x286716=0x0;for(const [_0x30edfb,_0x3cd9d1]of this[_0x67bfe6(0x77)]){const _0x135def=_0x35eb3b[_0x67bfe6(0xd2)](_0x30edfb,_0x4f3dba),_0xd27155=_0x35eb3b[_0x67bfe6(0xd0)](_0x30edfb,_0x311729+':*');if(_0x35eb3b[_0x67bfe6(0xb8)](_0x135def,_0xd27155))for(const _0x13ce6e of _0x3cd9d1){if(_0x13ce6e['readyState']===0x1)try{_0x13ce6e['send'](_0x587043),_0x286716++;}catch(_0x197174){}}}_0x35eb3b[_0x67bfe6(0x8c)](_0x286716,0x0)&&this['_logger']['debug']({'event':'livesync_broadcast','channel':_0x4f3dba,'action':_0x1acd07[_0x67bfe6(0xc7)],'clients':_0x286716},'Broadcast\x20'+_0x1acd07[_0x67bfe6(0xc7)]+_0x67bfe6(0xa8)+_0x4f3dba+_0x67bfe6(0xbc)+_0x286716+'\x20client(s)');}[a0_0x433355(0xa0)](_0xf608fb,_0x3b78ab){const _0x45a4e6=a0_0x433355;if(!this[_0x45a4e6(0xfb)])return;const _0x246118=JSON[_0x45a4e6(0x102)]({'channel':_0xf608fb,'message':_0x3b78ab,'workerId':this[_0x45a4e6(0x76)]});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x45a4e6(0xa3),_0x246118)[_0x45a4e6(0xad)](()=>{});}[a0_0x433355(0xdd)](){const _0x4aaebd=a0_0x433355,_0x366519={'eHXiX':_0x4aaebd(0xc9)};if(!this[_0x4aaebd(0x101)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x4aaebd(0xa9)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x2cf5fd of this['_wss'][_0x4aaebd(0x90)]){try{_0x2cf5fd[_0x4aaebd(0x9d)](0x3e9,_0x4aaebd(0xbf));}catch(_0x5e5bd6){}}this[_0x4aaebd(0x92)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this[_0x4aaebd(0xf9)][_0x4aaebd(0x79)]();}catch(_0x306847){}if(this[_0x4aaebd(0xea)]&&this['_redisPublisher'])try{this[_0x4aaebd(0xfb)]['quit']();}catch(_0x4c3340){}this[_0x4aaebd(0x77)]['clear'](),this[_0x4aaebd(0x101)]=![],this['_logger']['info']({'event':_0x366519[_0x4aaebd(0xc6)],'mode':this['_mode']},_0x4aaebd(0xb0)+this[_0x4aaebd(0x97)]+'\x20shut\x20down');}[a0_0x433355(0x7c)](_0xd25177){const _0x52c73e=a0_0x433355,_0x4fdc91={'zlOiK':_0x52c73e(0xa7),'flTBj':'x-api-key','jzunr':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','duQxR':'upgrade'},_0x557f18=_0xd25177[_0x52c73e(0xa2)](_0x52c73e(0xe6))['slice']();_0xd25177[_0x52c73e(0xe2)](_0x4fdc91['duQxR']),_0xd25177['on'](_0x52c73e(0xe6),(_0xfc318b,_0x1571c5,_0x4719b2)=>{const _0x1a6c77=_0x52c73e;if(!_0xfc318b[_0x1a6c77(0x75)]||!_0xfc318b[_0x1a6c77(0x75)][_0x1a6c77(0x86)](_0x1a6c77(0x91))){for(const _0x455327 of _0x557f18){_0x455327[_0x1a6c77(0xa5)](_0xd25177,_0xfc318b,_0x1571c5,_0x4719b2);}return;}if(this[_0x1a6c77(0xb9)]['apiKey']){const _0x59dc84=new URL(_0xfc318b['url'],_0x1a6c77(0x7d)+(_0xfc318b['headers'][_0x1a6c77(0xd6)]||_0x4fdc91[_0x1a6c77(0x104)])),_0x50c1b7=_0x59dc84[_0x1a6c77(0xf0)]['get'](_0x4fdc91['flTBj'])||_0xfc318b[_0x1a6c77(0xc5)]['x-api-key'];if(!_0x50c1b7||_0x50c1b7!==this[_0x1a6c77(0xb9)]['apiKey']){_0x1571c5[_0x1a6c77(0xed)](_0x4fdc91[_0x1a6c77(0xec)]),_0x1571c5['destroy']();return;}}this[_0x1a6c77(0x92)]['handleUpgrade'](_0xfc318b,_0x1571c5,_0x4719b2,_0x2a0cb7=>{const _0x5025f3=_0x1a6c77;this[_0x5025f3(0x92)]['emit'](_0x5025f3(0x106),_0x2a0cb7,_0xfc318b);});});}[a0_0x433355(0x99)](_0x2ccba2,_0x42a1b9){const _0x169063=a0_0x433355,_0x5109fe={'SJzTc':'Invalid\x20JSON\x20message','qKzRp':_0x169063(0xfe),'xzTDY':'x-forwarded-for','DTRch':'livesync_client_connected','fjNMM':_0x169063(0xee),'ViKBO':'close','nYWdD':_0x169063(0xb1)};_0x2ccba2[_0x169063(0xaf)]=!![],_0x2ccba2[_0x169063(0xa6)]=new Set();const _0x15f6fd=_0x42a1b9['headers'][_0x5109fe[_0x169063(0xcf)]]||_0x42a1b9['socket']['remoteAddress'];this['_logger']['info']({'event':_0x5109fe['DTRch'],'ip':_0x15f6fd},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x15f6fd),_0x2ccba2['on']('pong',()=>{_0x2ccba2['isAlive']=!![];}),_0x2ccba2['on'](_0x5109fe[_0x169063(0xc8)],_0x2f9358=>{const _0x4b69f9=_0x169063;try{const _0x5358a4=JSON[_0x4b69f9(0x7e)](_0x2f9358['toString']());this['_handleClientMessage'](_0x2ccba2,_0x5358a4);}catch(_0x15efdf){this[_0x4b69f9(0xe3)](_0x2ccba2,{'type':_0x4b69f9(0xb1),'message':_0x5109fe[_0x4b69f9(0xf3)]});}}),_0x2ccba2['on'](_0x5109fe[_0x169063(0xce)],()=>{const _0x19868c=_0x169063;this[_0x19868c(0x87)](_0x2ccba2),this['_logger']['debug']({'event':_0x5109fe[_0x19868c(0xf1)],'ip':_0x15f6fd},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x15f6fd);}),_0x2ccba2['on'](_0x5109fe['nYWdD'],_0x15edc6=>{const _0x1f4743=_0x169063;this[_0x1f4743(0xf2)]['warn']({'event':_0x1f4743(0xf4),'error':_0x15edc6['message']},'WebSocket\x20client\x20error:\x20'+_0x15edc6['message']),this[_0x1f4743(0x87)](_0x2ccba2);});}['_handleClientMessage'](_0x23f587,_0x18b678){const _0xe32e7f=a0_0x433355,_0x3070b0={'NEgyS':'pong','oKiNz':_0xe32e7f(0xb1)};switch(_0x18b678['type']){case _0xe32e7f(0x94):this[_0xe32e7f(0xc0)](_0x23f587,_0x18b678[_0xe32e7f(0x103)]);break;case _0xe32e7f(0xb7):this['_handleUnsubscribe'](_0x23f587,_0x18b678[_0xe32e7f(0x103)]);break;case _0x3070b0[_0xe32e7f(0xb2)]:_0x23f587['isAlive']=!![];break;default:this['_sendToClient'](_0x23f587,{'type':_0x3070b0[_0xe32e7f(0xe5)],'message':'Unknown\x20message\x20type:\x20'+_0x18b678['type']});}}['_handleSubscribe'](_0x26cc66,_0x99589c){const _0x36fcc0=a0_0x433355,_0x289c67={'XLWcN':function(_0x462f93,_0x2326ef){return _0x462f93===_0x2326ef;},'DfPhW':_0x36fcc0(0xb1),'icgkx':function(_0x3f9af4,_0x3bf821){return _0x3f9af4>_0x3bf821;}};if(!Array['isArray'](_0x99589c)||_0x289c67['XLWcN'](_0x99589c['length'],0x0)){this[_0x36fcc0(0xe3)](_0x26cc66,{'type':_0x289c67[_0x36fcc0(0xbb)],'message':_0x36fcc0(0x84)});return;}const _0x428b14=[];for(const _0xe636b4 of _0x99589c){if(typeof _0xe636b4!=='string'||!_0xe636b4[_0x36fcc0(0xdf)](':'))continue;!this['_subscriptions']['has'](_0xe636b4)&&this[_0x36fcc0(0x77)]['set'](_0xe636b4,new Set()),this['_subscriptions'][_0x36fcc0(0xd9)](_0xe636b4)[_0x36fcc0(0xf7)](_0x26cc66),_0x26cc66['subscribedChannels'][_0x36fcc0(0xf7)](_0xe636b4),_0x428b14['push'](_0xe636b4);}_0x289c67[_0x36fcc0(0x89)](_0x428b14['length'],0x0)&&(this['_sendToClient'](_0x26cc66,{'type':_0x36fcc0(0xb4),'channels':_0x428b14,'timestamp':new Date()[_0x36fcc0(0xa1)]()}),this[_0x36fcc0(0xf2)]['debug']({'event':'livesync_subscribe','channels':_0x428b14},'Client\x20subscribed\x20to:\x20'+_0x428b14['join'](',\x20')));}[a0_0x433355(0x80)](_0x2d8eed,_0x5e2d0c){const _0x126feb=a0_0x433355,_0x2e6eaf={'mtRpP':function(_0x2482be,_0x5e48aa){return _0x2482be>_0x5e48aa;},'PSNvb':'unsubscribed'};if(!Array[_0x126feb(0xd1)](_0x5e2d0c))return;const _0x5c3221=[];for(const _0x3d4fdb of _0x5e2d0c){this[_0x126feb(0x77)]['has'](_0x3d4fdb)&&(this['_subscriptions']['get'](_0x3d4fdb)['delete'](_0x2d8eed),this[_0x126feb(0x77)]['get'](_0x3d4fdb)[_0x126feb(0xfc)]===0x0&&this[_0x126feb(0x77)]['delete'](_0x3d4fdb)),_0x2d8eed['subscribedChannels'][_0x126feb(0x9e)](_0x3d4fdb),_0x5c3221[_0x126feb(0xd3)](_0x3d4fdb);}_0x2e6eaf[_0x126feb(0xa4)](_0x5c3221['length'],0x0)&&this[_0x126feb(0xe3)](_0x2d8eed,{'type':_0x2e6eaf['PSNvb'],'channels':_0x5c3221,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0xea2181){const _0x28025e=a0_0x433355;if(!_0xea2181['subscribedChannels'])return;for(const _0x390083 of _0xea2181['subscribedChannels']){this['_subscriptions']['has'](_0x390083)&&(this[_0x28025e(0x77)][_0x28025e(0xd9)](_0x390083)['delete'](_0xea2181),this['_subscriptions']['get'](_0x390083)['size']===0x0&&this['_subscriptions'][_0x28025e(0x9e)](_0x390083));}_0xea2181[_0x28025e(0xa6)][_0x28025e(0x100)]();}[a0_0x433355(0xe3)](_0x110dcf,_0x527692){const _0x1d0407=a0_0x433355,_0x56aca7={'giADQ':function(_0x151594,_0x4cfe68){return _0x151594===_0x4cfe68;}};if(_0x56aca7['giADQ'](_0x110dcf['readyState'],0x1))try{_0x110dcf[_0x1d0407(0xff)](JSON[_0x1d0407(0x102)](_0x527692));}catch(_0x1b5fe2){}}['_startHeartbeat'](_0x38048d){const _0x4e8681=a0_0x433355,_0x480b06={'GHsZr':function(_0x1c37ce,_0x875165,_0x354d2d){return _0x1c37ce(_0x875165,_0x354d2d);},'XajyI':function(_0x4fdbe7,_0x43b333){return _0x4fdbe7*_0x43b333;}};this['_heartbeatTimer']=_0x480b06[_0x4e8681(0xd5)](setInterval,()=>{const _0x2881a9=_0x4e8681;if(!this[_0x2881a9(0x92)])return;for(const _0x79d757 of this['_wss'][_0x2881a9(0x90)]){if(!_0x79d757[_0x2881a9(0xaf)]){this['_removeClientFromAllChannels'](_0x79d757),_0x79d757[_0x2881a9(0xb5)]();continue;}_0x79d757['isAlive']=![],this[_0x2881a9(0xe3)](_0x79d757,{'type':'ping','timestamp':new Date()['toISOString']()});try{_0x79d757[_0x2881a9(0xb3)]();}catch(_0x4bb0b1){}}},_0x480b06['XajyI'](_0x38048d,0x3e8));}['_setupRedisPublisher'](){const _0x4d124b=a0_0x433355,_0x1e0d56={'xgQnF':_0x4d124b(0x105),'psWNs':'../../utils/redis-client','nAljk':function(_0x1fa3ee,_0x354515){return _0x1fa3ee(_0x354515);},'MrTEU':function(_0x20a778,_0x8da9d8,_0x8efae){return _0x20a778(_0x8da9d8,_0x8efae);}};this['_ownPublisher']=![];try{try{const _0x5b6fee=require(_0x1e0d56['psWNs']);this['_redisPublisher']=_0x5b6fee[_0x4d124b(0xeb)]?_0x5b6fee['getClient']():null;}catch(_0x37c79f){this[_0x4d124b(0xfb)]=null;}if(!this['_redisPublisher']){const _0x1d2a4e=_0x1e0d56['nAljk'](require,'ioredis'),_0x564816={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':_0x1e0d56['MrTEU'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x4d124b(0xe0)]||undefined,'db':_0x1e0d56['MrTEU'](parseInt,process[_0x4d124b(0x85)][_0x4d124b(0xd7)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x1d2a4e(_0x564816),this['_ownPublisher']=!![],this[_0x4d124b(0xfb)]['connect']()[_0x4d124b(0xad)](()=>{const _0x577a97=_0x4d124b;this['_logger'][_0x577a97(0x9b)]({'event':_0x1e0d56[_0x577a97(0x8f)]},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x577a97(0xfb)]=null;});}}catch(_0x3d9be2){this[_0x4d124b(0xf2)][_0x4d124b(0x9b)]({'event':'livesync_redis_unavailable','error':_0x3d9be2['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x3d9be2['message']);}}['_setupRedis'](){const _0x37d13d=a0_0x433355,_0x168a54={'YGekA':_0x37d13d(0x7a),'CXtvd':function(_0x6667f8,_0x4d295c){return _0x6667f8===_0x4d295c;},'dsSeh':'message','dkEAE':_0x37d13d(0xef),'SoCfF':function(_0x5ec800,_0x21b16c){return _0x5ec800(_0x21b16c);},'mrlZT':'ioredis','BWZac':'127.0.0.1','HyzIc':function(_0xb739a6,_0x268e2d,_0x1aaa88){return _0xb739a6(_0x268e2d,_0x1aaa88);}};this['_ownPublisher']=![];try{const _0x6bb433=_0x168a54['SoCfF'](require,_0x168a54[_0x37d13d(0x7f)]),_0x15e911={'host':process['env']['REDIS_HOST']||_0x168a54['BWZac'],'port':_0x168a54['HyzIc'](parseInt,process['env'][_0x37d13d(0xfd)],0xa)||0x18eb,'password':process[_0x37d13d(0x85)][_0x37d13d(0xe0)]||undefined,'db':_0x168a54[_0x37d13d(0x7b)](parseInt,process[_0x37d13d(0x85)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x43a14e=_0x168a54['SoCfF'](require,'../../utils/redis-client');this['_redisPublisher']=_0x43a14e[_0x37d13d(0xeb)]?_0x43a14e['getClient']():null;}catch(_0x22698e){this[_0x37d13d(0xfb)]=null;}!this[_0x37d13d(0xfb)]&&(this[_0x37d13d(0xfb)]=new _0x6bb433(_0x15e911),this['_ownPublisher']=!![],this[_0x37d13d(0xfb)][_0x37d13d(0x93)]()['catch'](()=>{const _0x413aa4=_0x37d13d;this[_0x413aa4(0xf2)][_0x413aa4(0x9b)]({'event':_0x413aa4(0x105)},_0x168a54['YGekA']),this[_0x413aa4(0xfb)]=null;})),this['_redisSubscriber']=new _0x6bb433(_0x15e911),this['_redisSubscriber'][_0x37d13d(0x93)]()['then'](()=>{const _0xdfff80=_0x37d13d;this[_0xdfff80(0xf9)][_0xdfff80(0x94)](REDIS_CHANNEL_PREFIX+_0xdfff80(0xa3),_0x20b17a=>{const _0x32989c=_0xdfff80;if(_0x20b17a){this['_logger'][_0x32989c(0xb1)]({'event':'livesync_redis_subscribe_error','error':_0x20b17a[_0x32989c(0xee)]},_0x32989c(0xe4)+_0x20b17a['message']);return;}this['_logger'][_0x32989c(0xcc)]({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0xdfff80(0xf9)]['on'](_0x168a54[_0xdfff80(0xba)],(_0x1b51e8,_0x4b382e)=>{const _0x38a09d=_0xdfff80;try{const _0x2a217d=JSON['parse'](_0x4b382e);if(_0x168a54[_0x38a09d(0x96)](_0x2a217d[_0x38a09d(0xae)],this[_0x38a09d(0x76)]))return;this[_0x38a09d(0x88)](_0x2a217d[_0x38a09d(0x8b)],_0x2a217d['message']);}catch(_0x3069e8){}});})[_0x37d13d(0xad)](()=>{const _0x552537=_0x37d13d;this['_logger'][_0x552537(0x9b)]({'event':'livesync_redis_subscriber_failed'},_0x168a54[_0x552537(0xf8)]),this['_redisSubscriber']=null;});}catch(_0x18bd5d){this[_0x37d13d(0xf2)]['warn']({'event':'livesync_redis_unavailable','error':_0x18bd5d[_0x37d13d(0xee)]},_0x37d13d(0x8a)+_0x18bd5d[_0x37d13d(0xee)]);}}[a0_0x433355(0x88)](_0x36897b,_0x417b6d){const _0x34da97=a0_0x433355,_0x160e7f={'BlIGD':_0x34da97(0x8e),'lLliA':function(_0x4bf704,_0x3b3750){return _0x4bf704===_0x3b3750;},'tUVjM':function(_0x49d97d,_0x5687ca){return _0x49d97d||_0x5687ca;}};if(!this['_wss'])return;const _0x3bdeaf=JSON['stringify']({'type':_0x160e7f[_0x34da97(0xb6)],'channel':_0x36897b,'action':_0x417b6d['action'],'data':_0x417b6d[_0x34da97(0x107)],'requestId':_0x417b6d[_0x34da97(0xe9)]||null,'timestamp':new Date()[_0x34da97(0xa1)]()}),[_0x21752b]=_0x36897b['split'](':');for(const [_0x45d13c,_0x280abb]of this[_0x34da97(0x77)]){const _0xe8963d=_0x160e7f[_0x34da97(0xcd)](_0x45d13c,_0x36897b),_0x4b470c=_0x45d13c===_0x21752b+':*';if(_0x160e7f[_0x34da97(0xc1)](_0xe8963d,_0x4b470c))for(const _0x2e062c of _0x280abb){if(_0x2e062c['readyState']===0x1)try{_0x2e062c[_0x34da97(0xff)](_0x3bdeaf);}catch(_0x5a2d7c){}}}}}module[a0_0x433355(0x8d)]=WebSocketBroadcaster;
|
|
1
|
+
'use strict';function a0_0x2067(){const _0x3ec476=['zxHWB3j0CW','vgj3BNG','Eg1oywq','C2vHCMnOugfYyw1Z','ywrK','x2jYB2fKy2fZDeXVy2fS','l3DZ','BwvZC2fNzq','nJHhze5rwgO','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','we1rBKW','zu1WAvC','mNWWFdr8oxW2Fdv8mxW4FdD8mW','x3nLDhvWuMvKAxnqDwjSAxnOzxi','yNjVywrJyxn0','C3zUB2q','mta0ndq0nhr5AM1eyW','x293BLb1yMXPC2HLCG','ywn0Aw9U','ig9Uia','mti3lJaUmc4X','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','uKvesvnFueftu1DpuKq','x3n1yNnJCMLWDgLVBNm','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','z2v0','otaXmdK2wLnyveT5','D2fYBG','DxjS','x3nLBMruB0nSAwvUDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2XVC2u','sw52ywXPzcbku09oig1LC3nHz2u','BgvUz3rO','mtK0ote1swLwqK54','ref1DhC','Dg9tDhjPBMC','x3nLDhvWvxbNCMfKzuf1DgG','BgL2zxn5BMnFAw5PDgLHBgL6zwq','y0HXBvm','AgfUzgXLvxbNCMfKzq','CMvHzhLtDgf0zq','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','Dg9ju09tDhjPBMC','AxnbCNjHEq','CMvZDgzVCMDLoMXPDMvZEw5JoG','AgvHzgvYCW','sgvwB3m','y2f0y2G','y29UBMvJDa','x21Vzgu','CgLUzW','uKvesvnFrei','ChvZAa','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','z2v0q2XPzw50','oti5ndC0sNrrz1bP','x2HHBMrSzunVBM5Ly3rPB24','C3vIC2nYAwjLzenOyw5UzwXZ','s0vstMS','BNLgwLG','CenSsfe','x3DVCMTLCKLK','x3b1yMXPC2HuB1jLzgLZ','AxnbBgL2zq','uKvesvnFse9tva','Dw5ZDwjZy3jPyMu','D29YA2vYswq','CxvPDa','sLL1sxu','y2HHBM5LBa','C2XPy2u','EwPbsu4','x3jLzgLZuhvIBgLZAgvY','x3DZCW','AMThtvm','C2vUza','AM9PBG','Bg9JywXOB3n0','wu9VEwW','x29WDgLVBNm','zgvZDhjVEq','Aw9YzwrPCW','C3rYAw5NAwz5','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','x2HLyxj0yMvHDfrPBwvY','BgL2zxn5BMnFC2H1DgrVD24','Cg9UzW','y2HHBM5LBhm','yxbPs2v5','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','Eef4v1m','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','C3rHCNrZv2L0Aa','zgf0yv9JAgfUz2u','z3b0wNq','sffis2C','mJuYovjlzhHhuG','ChvIBgLZAgvY','u2vYDMvYihnODxr0Aw5NigrVD24','Ahr0CdOVlW','C3bSAxq','r090Bum','y2XPzw50CW','BgL2zxn5BMnFyNjVywrJyxn0','x2LUAxrPywXPEMvK','tu1hB2q','x2XVz2DLCG','ihnODxqGzg93BG','x3jLzgLZu3vIC2nYAwjLCG','ve5ACue','BKDXAvG','y2XLyxi','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','t2vnsxq','y29UBMvJDgLVBG','CMvTB3rLqwrKCMvZCW','otm3nZr0y1fcuhi','x2HHBMrSzunSAwvUDe1LC3nHz2u','C3vIC2nYAwjLza','mtiWndb4CMzYrgC','CMvXDwvZDeLK','x2HHBMrSzvn1yNnJCMLIzq','zgvIDwC','Aw5MBW','ChvIBgLZAa','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','z1fQEvy','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','zw52','mJG5ntC2ntb0DhvXAwK','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mZbYrgHzAee','y2fSBa','DxbNCMfKzq','zxjYB3i','zgvSzxrL'];a0_0x2067=function(){return _0x3ec476;};return a0_0x2067();}const a0_0x1f082b=a0_0x180d;(function(_0xff2e1e,_0xc652c0){const _0x8f2d31=a0_0x180d,_0x3fc826=_0xff2e1e();while(!![]){try{const _0x8990b7=-parseInt(_0x8f2d31(0x146))/0x1+parseInt(_0x8f2d31(0x19f))/0x2*(-parseInt(_0x8f2d31(0x183))/0x3)+-parseInt(_0x8f2d31(0x1a7))/0x4+-parseInt(_0x8f2d31(0x1ba))/0x5*(-parseInt(_0x8f2d31(0x192))/0x6)+parseInt(_0x8f2d31(0x1b2))/0x7+parseInt(_0x8f2d31(0x186))/0x8*(-parseInt(_0x8f2d31(0x16f))/0x9)+parseInt(_0x8f2d31(0x190))/0xa;if(_0x8990b7===_0xc652c0)break;else _0x3fc826['push'](_0x3fc826['shift']());}catch(_0x1777f2){_0x3fc826['push'](_0x3fc826['shift']());}}}(a0_0x2067,0x849aa));function a0_0x180d(_0x46898e,_0x3b6dc1){_0x46898e=_0x46898e-0x144;const _0x206773=a0_0x2067();let _0x180dc8=_0x206773[_0x46898e];if(a0_0x180d['DjTDRY']===undefined){var _0x4c40d9=function(_0xd4ff32){const _0xa3cbd9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25f48f='',_0x220324='';for(let _0x50679e=0x0,_0x576ecb,_0x3b1340,_0x5761f5=0x0;_0x3b1340=_0xd4ff32['charAt'](_0x5761f5++);~_0x3b1340&&(_0x576ecb=_0x50679e%0x4?_0x576ecb*0x40+_0x3b1340:_0x3b1340,_0x50679e++%0x4)?_0x25f48f+=String['fromCharCode'](0xff&_0x576ecb>>(-0x2*_0x50679e&0x6)):0x0){_0x3b1340=_0xa3cbd9['indexOf'](_0x3b1340);}for(let _0x381747=0x0,_0x58d3f5=_0x25f48f['length'];_0x381747<_0x58d3f5;_0x381747++){_0x220324+='%'+('00'+_0x25f48f['charCodeAt'](_0x381747)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x220324);};a0_0x180d['gRscNn']=_0x4c40d9,a0_0x180d['HMOInV']={},a0_0x180d['DjTDRY']=!![];}const _0x18907c=_0x206773[0x0],_0x4d168e=_0x46898e+_0x18907c,_0x11ccca=a0_0x180d['HMOInV'][_0x4d168e];return!_0x11ccca?(_0x180dc8=a0_0x180d['gRscNn'](_0x180dc8),a0_0x180d['HMOInV'][_0x4d168e]=_0x180dc8):_0x180dc8=_0x11ccca,_0x180dc8;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x1f082b(0x1b4)),REDIS_CHANNEL_PREFIX=a0_0x1f082b(0x1c5);class WebSocketBroadcaster{constructor(){const _0x4d6b22=a0_0x1f082b,_0x5a158b={'DAutw':_0x4d6b22(0x1a3)},_0x56b37e=_0x5a158b[_0x4d6b22(0x1bb)]['split']('|');let _0x1d4349=0x0;while(!![]){switch(_0x56b37e[_0x1d4349++]){case'0':this['_initialized']=![];continue;case'1':this[_0x4d6b22(0x163)]=null;continue;case'2':this['_wss']=null;continue;case'3':this[_0x4d6b22(0x14c)]=process['pid'];continue;case'4':this['_mode']=null;continue;case'5':this['_subscriptions']=new Map();continue;case'6':this['_logger']=console;continue;case'7':this[_0x4d6b22(0x17b)]=null;continue;case'8':this[_0x4d6b22(0x157)]=null;continue;case'9':this[_0x4d6b22(0x15e)]={};continue;}break;}}['initialize'](_0x5c56aa,_0x1c4bc6={}){const _0x55704d=a0_0x1f082b,_0x1b02c7={'eMpiW':'full','MAKJD':function(_0x1e7a6e,_0x764b58){return _0x1e7a6e(_0x764b58);},'bTEJg':'../../utils/logger','pClHQ':_0x55704d(0x19d),'gQjyV':'connection','nGqiX':_0x55704d(0x195)};if(this['_initialized'])return;this['_options']=_0x1c4bc6,this[_0x55704d(0x1ca)]=_0x1b02c7['eMpiW'];try{this[_0x55704d(0x179)]=_0x1b02c7['MAKJD'](require,_0x1b02c7['bTEJg'])['logger']||console;}catch(_0x1d101f){this[_0x55704d(0x179)]=console;}const _0x2a88f6=parseInt(process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x5c56aa,'path':_0x1b02c7[_0x55704d(0x14b)]}),this[_0x55704d(0x1bd)](_0x5c56aa),this[_0x55704d(0x158)]['on'](_0x1b02c7[_0x55704d(0x18d)],(_0x1f8014,_0x45e06e)=>this[_0x55704d(0x147)](_0x1f8014,_0x45e06e)),this[_0x55704d(0x158)]['on'](_0x1b02c7[_0x55704d(0x17d)],_0x221982=>{const _0x42f591=_0x55704d;this[_0x42f591(0x179)]['error']({'event':'livesync_wss_error','error':_0x221982['message']},_0x42f591(0x1ac)+_0x221982[_0x42f591(0x19e)]);}),this['_startHeartbeat'](_0x2a88f6),this['_setupRedis'](),this[_0x55704d(0x177)]=!![],this[_0x55704d(0x179)]['info']({'event':_0x55704d(0x1be),'mode':_0x1b02c7[_0x55704d(0x1a2)],'path':'/ws','heartbeat':_0x2a88f6+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x2a88f6+'s)');}[a0_0x1f082b(0x144)](_0x57ee46={}){const _0x50f4d2=a0_0x1f082b,_0x255208={'OeMIt':'1|4|3|0|2|6|5','xAxWS':'../../utils/logger','JYuIu':_0x50f4d2(0x170),'QbjZL':_0x50f4d2(0x18e)},_0x387ac1=_0x255208[_0x50f4d2(0x180)][_0x50f4d2(0x173)]('|');let _0x193566=0x0;while(!![]){switch(_0x387ac1[_0x193566++]){case'0':try{this[_0x50f4d2(0x179)]=require(_0x255208[_0x50f4d2(0x169)])['logger']||console;}catch(_0x1162b0){this[_0x50f4d2(0x179)]=console;}continue;case'1':if(this['_initialized'])return;continue;case'2':this[_0x50f4d2(0x1a4)]();continue;case'3':this['_mode']='publisher';continue;case'4':this['_options']=_0x57ee46;continue;case'5':this[_0x50f4d2(0x179)][_0x50f4d2(0x18a)]({'event':'livesync_publisher_initialized','mode':_0x255208[_0x50f4d2(0x153)]},_0x255208['QbjZL']);continue;case'6':this['_initialized']=!![];continue;}break;}}['isInitialized'](){const _0x34db00=a0_0x1f082b;return this[_0x34db00(0x177)];}['broadcast'](_0x236c43,_0x5efe61){const _0x305fb1=a0_0x1f082b,_0x476728={'MMGod':function(_0x3a9d8b,_0x1289eb){return _0x3a9d8b===_0x1289eb;},'rmqGH':_0x305fb1(0x16c),'uDOZR':function(_0x296873,_0x54618b){return _0x296873===_0x54618b;},'HQHKg':function(_0x179231,_0x556d6d){return _0x179231||_0x556d6d;}};if(!this['_initialized'])return;if(_0x476728[_0x305fb1(0x178)](this['_mode'],_0x305fb1(0x170))){this['_publishToRedis'](_0x236c43,_0x5efe61);return;}const _0x21f1b0=JSON[_0x305fb1(0x161)]({'type':_0x476728['rmqGH'],'channel':_0x236c43,'action':_0x5efe61['action'],'data':_0x5efe61['data'],'requestId':_0x5efe61[_0x305fb1(0x187)]||null,'timestamp':new Date()[_0x305fb1(0x1c3)]()}),[_0x293cf4]=_0x236c43['split'](':');let _0x373e76=0x0;for(const [_0x65e7ff,_0x523117]of this['_subscriptions']){const _0x5ebc17=_0x476728[_0x305fb1(0x178)](_0x65e7ff,_0x236c43),_0xe62c5c=_0x476728['uDOZR'](_0x65e7ff,_0x293cf4+':*');if(_0x476728[_0x305fb1(0x16e)](_0x5ebc17,_0xe62c5c))for(const _0x32ad02 of _0x523117){if(_0x476728[_0x305fb1(0x178)](_0x32ad02['readyState'],0x1))try{_0x32ad02['send'](_0x21f1b0),_0x373e76++;}catch(_0xccd4a0){}}}_0x373e76>0x0&&this[_0x305fb1(0x179)][_0x305fb1(0x189)]({'event':_0x305fb1(0x176),'channel':_0x236c43,'action':_0x5efe61[_0x305fb1(0x1a9)],'clients':_0x373e76},'Broadcast\x20'+_0x5efe61[_0x305fb1(0x1a9)]+_0x305fb1(0x1aa)+_0x236c43+'\x20to\x20'+_0x373e76+'\x20client(s)');}[a0_0x1f082b(0x14d)](_0x5b2501,_0x4e56e3){const _0x4db0af=a0_0x1f082b;if(!this['_redisPublisher'])return;const _0x39d65d=JSON[_0x4db0af(0x161)]({'channel':_0x5b2501,'message':_0x4e56e3,'workerId':this[_0x4db0af(0x14c)]});this[_0x4db0af(0x157)][_0x4db0af(0x18b)](REDIS_CHANNEL_PREFIX+_0x4db0af(0x1a5),_0x39d65d)['catch'](()=>{});}['shutdown'](){const _0x216798=a0_0x1f082b;if(!this[_0x216798(0x177)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x216798(0x163)]),this[_0x216798(0x163)]=null);if(this['_wss']){for(const _0x2a6ae7 of this['_wss'][_0x216798(0x175)]){try{_0x2a6ae7[_0x216798(0x1b7)](0x3e9,_0x216798(0x171));}catch(_0x496a18){}}this[_0x216798(0x158)][_0x216798(0x1b7)]();}if(this[_0x216798(0x17b)])try{this[_0x216798(0x17b)][_0x216798(0x150)](),this[_0x216798(0x17b)]['quit']();}catch(_0x4225ff){}if(this[_0x216798(0x1a8)]&&this['_redisPublisher'])try{this[_0x216798(0x157)][_0x216798(0x152)]();}catch(_0x10a942){}this['_subscriptions'][_0x216798(0x17e)](),this[_0x216798(0x177)]=![],this['_logger']['info']({'event':_0x216798(0x164),'mode':this[_0x216798(0x1ca)]},'Live\x20Sync\x20'+this['_mode']+_0x216798(0x17a));}['_setupUpgradeAuth'](_0x4bbc0a){const _0x2a989d=a0_0x1f082b,_0x3bec11={'jLhnT':'upgrade'},_0x46531c=_0x4bbc0a['listeners']('upgrade')[_0x2a989d(0x155)]();_0x4bbc0a['removeAllListeners'](_0x3bec11['jLhnT']),_0x4bbc0a['on'](_0x2a989d(0x194),(_0xac8ca4,_0x570859,_0x42e414)=>{const _0x5693cc=_0x2a989d;if(!_0xac8ca4['url']||!_0xac8ca4['url'][_0x5693cc(0x16b)]('/ws')){for(const _0x8384fa of _0x46531c){_0x8384fa[_0x5693cc(0x193)](_0x4bbc0a,_0xac8ca4,_0x570859,_0x42e414);}return;}if(this['_options']['apiKey']){const _0x43a986=new URL(_0xac8ca4[_0x5693cc(0x1b4)],_0x5693cc(0x172)+(_0xac8ca4[_0x5693cc(0x1c6)]['host']||_0x5693cc(0x15c))),_0x2691e8=_0x43a986[_0x5693cc(0x19a)][_0x5693cc(0x1b1)]('x-api-key')||_0xac8ca4[_0x5693cc(0x1c6)]['x-api-key'];if(!_0x2691e8||_0x2691e8!==this[_0x5693cc(0x15e)][_0x5693cc(0x167)]){_0x570859['write'](_0x5693cc(0x1c2)),_0x570859[_0x5693cc(0x15f)]();return;}}this['_wss'][_0x5693cc(0x1c0)](_0xac8ca4,_0x570859,_0x42e414,_0x481a82=>{const _0x2eff2c=_0x5693cc;this['_wss']['emit'](_0x2eff2c(0x181),_0x481a82,_0xac8ca4);});});}['_handleConnection'](_0x3bf932,_0x394135){const _0x2e0a54=a0_0x1f082b,_0x15f1c8={'Tbwnx':_0x2e0a54(0x1b8),'jkGMS':_0x2e0a54(0x168),'FIQkX':'livesync_client_error','CdTWr':'livesync_client_connected','hOZjS':_0x2e0a54(0x1b7)};_0x3bf932['isAlive']=!![],_0x3bf932[_0x2e0a54(0x148)]=new Set();const _0x53f4b5=_0x394135['headers']['x-forwarded-for']||_0x394135['socket'][_0x2e0a54(0x182)];this[_0x2e0a54(0x179)]['info']({'event':_0x15f1c8['CdTWr'],'ip':_0x53f4b5},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x53f4b5),_0x3bf932['on'](_0x2e0a54(0x165),()=>{_0x3bf932['isAlive']=!![];}),_0x3bf932['on'](_0x2e0a54(0x19e),_0x2c7f89=>{const _0x475912=_0x2e0a54;try{const _0x2b47e1=JSON['parse'](_0x2c7f89[_0x475912(0x1bc)]());this[_0x475912(0x184)](_0x3bf932,_0x2b47e1);}catch(_0x16c7a3){this[_0x475912(0x1b5)](_0x3bf932,{'type':_0x475912(0x195),'message':_0x15f1c8[_0x475912(0x198)]});}}),_0x3bf932['on'](_0x15f1c8['hOZjS'],()=>{const _0x2b49a4=_0x2e0a54;this[_0x2b49a4(0x1a0)](_0x3bf932),this[_0x2b49a4(0x179)]['debug']({'event':_0x15f1c8[_0x2b49a4(0x159)],'ip':_0x53f4b5},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x53f4b5);}),_0x3bf932['on']('error',_0xed37ec=>{const _0xf1465d=_0x2e0a54;this[_0xf1465d(0x179)][_0xf1465d(0x1b3)]({'event':_0x15f1c8['FIQkX'],'error':_0xed37ec[_0xf1465d(0x19e)]},'WebSocket\x20client\x20error:\x20'+_0xed37ec['message']),this['_removeClientFromAllChannels'](_0x3bf932);});}[a0_0x1f082b(0x184)](_0x162e4e,_0x24cebd){const _0x14dbc0=a0_0x1f082b,_0x2d513a={'JgWJD':'subscribe','XMQnL':_0x14dbc0(0x150)};switch(_0x24cebd['type']){case _0x2d513a['JgWJD']:this[_0x14dbc0(0x188)](_0x162e4e,_0x24cebd[_0x14dbc0(0x166)]);break;case _0x2d513a[_0x14dbc0(0x1a1)]:this['_handleUnsubscribe'](_0x162e4e,_0x24cebd[_0x14dbc0(0x166)]);break;case'pong':_0x162e4e['isAlive']=!![];break;default:this['_sendToClient'](_0x162e4e,{'type':_0x14dbc0(0x195),'message':'Unknown\x20message\x20type:\x20'+_0x24cebd['type']});}}['_handleSubscribe'](_0x23fe10,_0x2cf997){const _0x381c16=a0_0x1f082b,_0xfec43a={'OSVcw':_0x381c16(0x195),'svnod':_0x381c16(0x1ad),'lHWTx':function(_0x30caea,_0x5e46ac){return _0x30caea>_0x5e46ac;},'giqfO':_0x381c16(0x185),'KERNk':'livesync_subscribe'};if(!Array['isArray'](_0x2cf997)||_0x2cf997[_0x381c16(0x1b9)]===0x0){this[_0x381c16(0x1b5)](_0x23fe10,{'type':_0xfec43a['OSVcw'],'message':_0xfec43a[_0x381c16(0x1a6)]});return;}const _0x42b953=[];for(const _0x4ae9dd of _0x2cf997){if(typeof _0x4ae9dd!=='string'||!_0x4ae9dd['includes'](':'))continue;!this['_subscriptions']['has'](_0x4ae9dd)&&this['_subscriptions']['set'](_0x4ae9dd,new Set()),this['_subscriptions']['get'](_0x4ae9dd)[_0x381c16(0x19b)](_0x23fe10),_0x23fe10['subscribedChannels'][_0x381c16(0x19b)](_0x4ae9dd),_0x42b953[_0x381c16(0x1cd)](_0x4ae9dd);}_0xfec43a['lHWTx'](_0x42b953[_0x381c16(0x1b9)],0x0)&&(this[_0x381c16(0x1b5)](_0x23fe10,{'type':_0xfec43a['giqfO'],'channels':_0x42b953,'timestamp':new Date()['toISOString']()}),this['_logger'][_0x381c16(0x189)]({'event':_0xfec43a[_0x381c16(0x149)],'channels':_0x42b953},'Client\x20subscribed\x20to:\x20'+_0x42b953[_0x381c16(0x15b)](',\x20')));}['_handleUnsubscribe'](_0x11c596,_0x13837f){const _0x148515=a0_0x1f082b,_0x5371be={'GOtmC':function(_0x552440,_0x62d4f6){return _0x552440===_0x62d4f6;}};if(!Array[_0x148515(0x1c4)](_0x13837f))return;const _0x51fb94=[];for(const _0x3215f0 of _0x13837f){this['_subscriptions']['has'](_0x3215f0)&&(this['_subscriptions']['get'](_0x3215f0)['delete'](_0x11c596),_0x5371be[_0x148515(0x174)](this[_0x148515(0x1af)]['get'](_0x3215f0)['size'],0x0)&&this[_0x148515(0x1af)]['delete'](_0x3215f0)),_0x11c596[_0x148515(0x148)]['delete'](_0x3215f0),_0x51fb94['push'](_0x3215f0);}_0x51fb94[_0x148515(0x1b9)]>0x0&&this['_sendToClient'](_0x11c596,{'type':'unsubscribed','channels':_0x51fb94,'timestamp':new Date()['toISOString']()});}[a0_0x1f082b(0x1a0)](_0x2d01fc){const _0x5d9b3a=a0_0x1f082b;if(!_0x2d01fc['subscribedChannels'])return;for(const _0x197f11 of _0x2d01fc['subscribedChannels']){this[_0x5d9b3a(0x1af)]['has'](_0x197f11)&&(this['_subscriptions']['get'](_0x197f11)[_0x5d9b3a(0x196)](_0x2d01fc),this['_subscriptions']['get'](_0x197f11)['size']===0x0&&this[_0x5d9b3a(0x1af)][_0x5d9b3a(0x196)](_0x197f11));}_0x2d01fc['subscribedChannels']['clear']();}['_sendToClient'](_0x4c7672,_0x549485){const _0x2c3be2=a0_0x1f082b;if(_0x4c7672[_0x2c3be2(0x1c1)]===0x1)try{_0x4c7672[_0x2c3be2(0x15a)](JSON[_0x2c3be2(0x161)](_0x549485));}catch(_0x17d08b){}}['_startHeartbeat'](_0x4ff937){const _0xc8ea30=a0_0x1f082b,_0x311bb4={'gptZt':_0xc8ea30(0x1cb),'WVAwt':function(_0x2b94d4,_0x349f02){return _0x2b94d4*_0x349f02;}};this['_heartbeatTimer']=setInterval(()=>{const _0x21751d=_0xc8ea30;if(!this[_0x21751d(0x158)])return;for(const _0xa22a47 of this[_0x21751d(0x158)]['clients']){if(!_0xa22a47[_0x21751d(0x14e)]){this['_removeClientFromAllChannels'](_0xa22a47),_0xa22a47['terminate']();continue;}_0xa22a47['isAlive']=![],this['_sendToClient'](_0xa22a47,{'type':_0x311bb4[_0x21751d(0x16d)],'timestamp':new Date()[_0x21751d(0x1c3)]()});try{_0xa22a47['ping']();}catch(_0x476c78){}}},_0x311bb4['WVAwt'](_0x4ff937,0x3e8));}['_setupRedisPublisher'](){const _0x2af810=a0_0x1f082b,_0x24874b={'FUwQq':'livesync_redis_publisher_failed','RxuSf':_0x2af810(0x1b0),'YOoyl':function(_0x473ee9,_0x135dd1){return _0x473ee9(_0x135dd1);},'cHqmS':'../../utils/redis-client','wdVTu':'ioredis','MOlYL':'127.0.0.1','xmNad':function(_0x496814,_0x358645,_0x3c07ce){return _0x496814(_0x358645,_0x3c07ce);},'HeVos':'livesync_redis_unavailable'};this[_0x2af810(0x1a8)]=![];try{try{const _0xc705aa=_0x24874b[_0x2af810(0x15d)](require,_0x24874b[_0x2af810(0x1bf)]);this[_0x2af810(0x157)]=_0xc705aa[_0x2af810(0x145)]?_0xc705aa[_0x2af810(0x145)]():null;}catch(_0xa9d96d){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1d260a=_0x24874b['YOoyl'](require,_0x24874b['wdVTu']),_0x551867={'host':process['env'][_0x2af810(0x14f)]||_0x24874b['MOlYL'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x2af810(0x18f)][_0x2af810(0x1ae)]||undefined,'db':_0x24874b[_0x2af810(0x199)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x1d260a(_0x551867),this[_0x2af810(0x1a8)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{this['_logger']['warn']({'event':_0x24874b['FUwQq']},_0x24874b['RxuSf']),this['_redisPublisher']=null;});}}catch(_0x573fed){this['_logger'][_0x2af810(0x1b3)]({'event':_0x24874b[_0x2af810(0x1c7)],'error':_0x573fed['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x573fed['message']);}}['_setupRedis'](){const _0x6dc08e=a0_0x1f082b,_0x53349b={'WIsmi':_0x6dc08e(0x16a),'EVXEq':_0x6dc08e(0x1b0),'cQJSv':_0x6dc08e(0x162),'TNZqA':function(_0x2f3f4f,_0x25741b){return _0x2f3f4f===_0x25741b;},'zNmCl':_0x6dc08e(0x18c),'IpUCD':_0x6dc08e(0x1ab),'riGHn':function(_0x1f2463,_0x1f5b70){return _0x1f2463(_0x1f5b70);},'iSNoz':'../../utils/redis-client'};this[_0x6dc08e(0x1a8)]=![];try{const _0x898000=require(_0x6dc08e(0x160)),_0x5c1704={'host':process['env']['REDIS_HOST']||_0x53349b['IpUCD'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x6dc08e(0x18f)][_0x6dc08e(0x1cc)],0xa)||0x0,'lazyConnect':!![]};try{const _0x20e557=_0x53349b['riGHn'](require,_0x53349b['iSNoz']);this['_redisPublisher']=_0x20e557['getClient']?_0x20e557['getClient']():null;}catch(_0x13b9b8){this['_redisPublisher']=null;}!this[_0x6dc08e(0x157)]&&(this['_redisPublisher']=new _0x898000(_0x5c1704),this['_ownPublisher']=!![],this[_0x6dc08e(0x157)]['connect']()[_0x6dc08e(0x1c8)](()=>{const _0xc9b8c3=_0x6dc08e;this[_0xc9b8c3(0x179)][_0xc9b8c3(0x1b3)]({'event':_0x53349b['WIsmi']},_0x53349b['EVXEq']),this['_redisPublisher']=null;})),this[_0x6dc08e(0x17b)]=new _0x898000(_0x5c1704),this['_redisSubscriber'][_0x6dc08e(0x1c9)]()['then'](()=>{const _0xda8d16=_0x6dc08e;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x30022a=>{const _0x28f3dc=a0_0x180d;if(_0x30022a){this['_logger'][_0x28f3dc(0x195)]({'event':_0x53349b['cQJSv'],'error':_0x30022a[_0x28f3dc(0x19e)]},_0x28f3dc(0x191)+_0x30022a['message']);return;}this[_0x28f3dc(0x179)][_0x28f3dc(0x18a)]({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on'](_0xda8d16(0x19e),(_0x24087d,_0x33dd06)=>{const _0x50d668=_0xda8d16;try{const _0x492e04=JSON['parse'](_0x33dd06);if(_0x53349b[_0x50d668(0x17c)](_0x492e04[_0x50d668(0x151)],this['_workerId']))return;this[_0x50d668(0x19c)](_0x492e04[_0x50d668(0x154)],_0x492e04['message']);}catch(_0x4fbfad){}});})['catch'](()=>{const _0xc00493=_0x6dc08e;this['_logger'][_0xc00493(0x1b3)]({'event':_0x53349b['zNmCl']},_0xc00493(0x1b6)),this[_0xc00493(0x17b)]=null;});}catch(_0x264f03){this['_logger'][_0x6dc08e(0x1b3)]({'event':_0x6dc08e(0x17f),'error':_0x264f03['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x264f03['message']);}}[a0_0x1f082b(0x19c)](_0x128358,_0x4c3cc1){const _0x5d1164=a0_0x1f082b,_0x3f4029={'nyFZX':function(_0x12b71b,_0x4d275c){return _0x12b71b===_0x4d275c;},'yjAIN':function(_0x2d10ec,_0x123155){return _0x2d10ec||_0x123155;},'vlRLG':function(_0x2115a2,_0x552645){return _0x2115a2===_0x552645;}};if(!this[_0x5d1164(0x158)])return;const _0x3f5584=JSON['stringify']({'type':_0x5d1164(0x16c),'channel':_0x128358,'action':_0x4c3cc1[_0x5d1164(0x1a9)],'data':_0x4c3cc1['data'],'requestId':_0x4c3cc1[_0x5d1164(0x187)]||null,'timestamp':new Date()[_0x5d1164(0x1c3)]()}),[_0x59b0be]=_0x128358['split'](':');for(const [_0x9e25ca,_0x92ea38]of this[_0x5d1164(0x1af)]){const _0x167286=_0x9e25ca===_0x128358,_0x1996d9=_0x3f4029[_0x5d1164(0x14a)](_0x9e25ca,_0x59b0be+':*');if(_0x3f4029[_0x5d1164(0x156)](_0x167286,_0x1996d9))for(const _0x38fad8 of _0x92ea38){if(_0x3f4029['vlRLG'](_0x38fad8['readyState'],0x1))try{_0x38fad8['send'](_0x3f5584);}catch(_0x1175ef){}}}}}module[a0_0x1f082b(0x197)]=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x357b(){const _0x4b6a98=['CMvWBgfJzq','CgvUzgLUzW','CM91BMq','yuHpwvC','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','m0jZCvbJtG','mte5odaXwuTSAKTW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLSztO','rxLTDuS','D0TMC0m','ignVBhvTBNmGzNjVBsbYzxf1zxn0','mM90AeDhwG','cLDirvjfia','mtK3mhjJvgvSra','DwPyt24','zxHWB3j0rgLY','rxHWB3j0igzHAwXLza','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','r1n0vhO','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','sgHRC1y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nJa1nZCWmM9lwu1qqG','ChDPBwK','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','D2fNq2e','vxnPBMCG','BwTKAxjtEw5J','y2f0y2G','Dg9mB3DLCKnHC2u','vvbqrviO','lNHSC3G','ndG0nZy0v3LUu1rJ','vKHjwva','sfPZsgi','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHWB3j0x2zLDgnOx3n0yxj0','BgvUz3rO','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','zxHWB3j0x2PVyL9JCMvHDgvK','x2v4Cg9YDerPCG','zxjYB3i','ignOyxjZkq','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','yNvPBgrpCMrLCKj5q2XHDxnL','Aw52ywXPzf9JB25KAxrPB24','Dg90ywXFCM93CW','Bw9KDwXLtMfTzq','uKTJywC','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zvHJwKu','qvnd','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','Dg9vChbLCKnHC2u','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','zw50CMLLCW','BwvZC2fNzq','zxHWB3j0x2zHAwXLza','AxnbCNjHEq','zMfPBgvK','C3rHDhvZ','B3jHy2XL','ndi0mZK1nvrrBxL6yW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','CgfYyw1Z','rKTdEg8','y3DK','y29UzgL0Aw9UCW','y29TCgXLDgvKx2f0','BM93','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','zLP4uMq','Aw52ywXPzf9ZB3j0x2nVBhvTBG','CMvZB2X2zuv4Cg9YDff1zxj5','mteXmZK2neTMt3jfwG','Dg9tDhjPBMC','zw52','zxHWB3j0lq','Dg9ju09tDhjPBMC','CxbtuNy','zMXVB3i','Cgf5Bg9Hza','y29TCgXLDgvK','ugLQvKe','z2vUzxjHDgvkB2jjza','zMLSzw5HBwu','ieforca','AM9Ix2LK','zgvSzxrLsM9I','D2fYBG','rvHqt1jux0rjuG','nty4CePcEeTT','DxbKyxrLsM9I','ieLtie5vteW','y3jLyxrLzf9HDa','rgDMB2m','reHSzwO','Dw5RBM93BL9VCgvYyxrVCG','rMfPBgvKihrVigzLDgnOigrHDge','C3vIC3rYAw5N','mtqXntHks1biEvm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','CMvZB2X2zq','zMLSDgvY','revtqW','sM1wB3O','C3rHCNrZv2L0Aa','lI4VDxrPBhmVzgiTB3jHy2XL','y2HHCKf0','twnXuwC','DhjPBq','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','ChjVy2vZC2vKx3jVD3m','C3rYAw5N','q1Pcwe0','zxHWB3j0uxvLCNK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','wu1KrKm','svmGtLvmta','y1LIv2q','lI4VDxrPBhmVzgiTBxLZCwW','zw5KCg9PBNroyw1L','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','CwPVtKK','z2v0sM9I','BwTXAfa','z2v0rMLSzvbHDgG','id0G','rgfHDNC','cIaGicbguK9nia','sePdEMm','zMLSzv9WyxrO','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','zKzhAva','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','rejFvfLqrq','wwX0vNy','DxrMoa','y29SDw1UCW','ChjVBwLZzxm','yNvPBgrxAgvYzunSyxvZzq','uvrxEva','nde5otrUyw95DhG','D1n6tM0','ChjVy2vZC0PVyG','BwfW','zxHWB3j0x2nSzwfUDxbFC3rHCNq','z2v0qwXSsM9ICW','zxDwsxy','EfvkCw0','C2fUAxrPEMvwywX1zq','y29Kzq','Aw5MBW','whnfBeC','Bg14CMW','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','AM9PBG','lI4VlI4VzxHWB3j0CY8'];a0_0x357b=function(){return _0x4b6a98;};return a0_0x357b();}const a0_0x4bb270=a0_0x2dd8;(function(_0x519360,_0xa8b9da){const _0x1c8e9a=a0_0x2dd8,_0x99bf4f=_0x519360();while(!![]){try{const _0x5d2fdf=-parseInt(_0x1c8e9a(0x221))/0x1*(-parseInt(_0x1c8e9a(0x1c7))/0x2)+-parseInt(_0x1c8e9a(0x1c0))/0x3*(-parseInt(_0x1c8e9a(0x207))/0x4)+-parseInt(_0x1c8e9a(0x1fb))/0x5+parseInt(_0x1c8e9a(0x1dd))/0x6+-parseInt(_0x1c8e9a(0x1d3))/0x7+parseInt(_0x1c8e9a(0x218))/0x8*(-parseInt(_0x1c8e9a(0x1aa))/0x9)+-parseInt(_0x1c8e9a(0x1c9))/0xa*(-parseInt(_0x1c8e9a(0x1c1))/0xb);if(_0x5d2fdf===_0xa8b9da)break;else _0x99bf4f['push'](_0x99bf4f['shift']());}catch(_0x30d8ed){_0x99bf4f['push'](_0x99bf4f['shift']());}}}(a0_0x357b,0x739a3));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x4bb270(0x1a7)],fsSync=require('fs'),redisHelper=require(a0_0x4bb270(0x1cf)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4bb270(0x209)][a0_0x4bb270(0x1a3)]||'postgresql')['toLowerCase']();let executeQuery;function a0_0x2dd8(_0x4778b1,_0x3aa9ee){_0x4778b1=_0x4778b1-0x180;const _0x357b52=a0_0x357b();let _0x2dd8aa=_0x357b52[_0x4778b1];if(a0_0x2dd8['jnFFfU']===undefined){var _0x1e79ae=function(_0x262f37){const _0x2ab6b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59198e='',_0xd0f857='';for(let _0x157952=0x0,_0x176a55,_0xcfafc,_0x342bae=0x0;_0xcfafc=_0x262f37['charAt'](_0x342bae++);~_0xcfafc&&(_0x176a55=_0x157952%0x4?_0x176a55*0x40+_0xcfafc:_0xcfafc,_0x157952++%0x4)?_0x59198e+=String['fromCharCode'](0xff&_0x176a55>>(-0x2*_0x157952&0x6)):0x0){_0xcfafc=_0x2ab6b4['indexOf'](_0xcfafc);}for(let _0x524a50=0x0,_0x19d9b6=_0x59198e['length'];_0x524a50<_0x19d9b6;_0x524a50++){_0xd0f857+='%'+('00'+_0x59198e['charCodeAt'](_0x524a50)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd0f857);};a0_0x2dd8['ogftjC']=_0x1e79ae,a0_0x2dd8['mLTNfi']={},a0_0x2dd8['jnFFfU']=!![];}const _0x2e028d=_0x357b52[0x0],_0x2eb7d3=_0x4778b1+_0x2e028d,_0xd6fa2a=a0_0x2dd8['mLTNfi'][_0x2eb7d3];return!_0xd6fa2a?(_0x2dd8aa=a0_0x2dd8['ogftjC'](_0x2dd8aa),a0_0x2dd8['mLTNfi'][_0x2eb7d3]=_0x2dd8aa):_0x2dd8aa=_0xd6fa2a,_0x2dd8aa;}if(dbType==='oracle'){const oracleDb=require(a0_0x4bb270(0x187));executeQuery=(_0x70424d,_0x3a358e)=>oracleDb['executeQuery'](_0x70424d,_0x3a358e);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x4bb270(0x194));executeQuery=(_0x35292b,_0x1aaa50)=>mysqlDb['executeQuery'](_0x35292b,_0x1aaa50);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x4bb270(0x1cb)](){const _0x395430=a0_0x4bb270,_0x4e5e62={'aHOYW':'export_service_init','ewVIv':function(_0x3d6c29,_0x19948c,_0x3b02e6,_0x2371fc){return _0x3d6c29(_0x19948c,_0x3b02e6,_0x2371fc);},'EymuK':_0x395430(0x1e3)};if(!this[_0x395430(0x1e5)]){const _0x2691fd=process[_0x395430(0x209)][_0x395430(0x1d2)]||'default';this['_exportDir']=process['env'][_0x395430(0x217)]||path['join'](__dirname,_0x395430(0x1ba)+_0x2691fd);try{!fsSync['existsSync'](this[_0x395430(0x1e5)])&&fsSync[_0x395430(0x1d8)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x4e5e62[_0x395430(0x1be)],'dir':this[_0x395430(0x1e5)]},_0x395430(0x180));}catch(_0x5095e4){_0x4e5e62[_0x395430(0x1b0)](logError,_0x5095e4,{'event':_0x4e5e62[_0x395430(0x1c4)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x4bb270(0x206)](_0x61f1fb,_0x4102b7=null){const _0x13a91f=a0_0x4bb270,_0x389432={'wKfsC':function(_0x662a9f,_0x52ffe6){return _0x662a9f!==_0x52ffe6;},'YMdFC':_0x13a91f(0x18d),'YltVv':_0x13a91f(0x1a0),'McqQg':'export_query_file_resolve','tcqhu':_0x13a91f(0x1a5),'OnhLS':_0x13a91f(0x1f3),'QTWyP':function(_0x419847,_0x453f13){return _0x419847===_0x453f13;}};if(!_0x61f1fb||_0x389432[_0x13a91f(0x1c5)](typeof _0x61f1fb,_0x389432[_0x13a91f(0x191)]))return _0x61f1fb;const _0xd88770=_0x61f1fb[_0x13a91f(0x18a)]();if(!_0xd88770['startsWith'](_0x13a91f(0x1c3)))return _0xd88770;const _0x1d31af=_0xd88770[_0x13a91f(0x1bb)](/^file:/,'')[_0x13a91f(0x18a)]();if(!_0x1d31af)throw new Error(_0x389432[_0x13a91f(0x1a4)]);const _0x198459=_0x4102b7||path[_0x13a91f(0x1b9)](process[_0x13a91f(0x1ff)](),_0x13a91f(0x20e)),_0x69968d=path[_0x13a91f(0x182)](_0x198459,_0x1d31af);logger[_0x13a91f(0x1b4)]({'event':_0x389432[_0x13a91f(0x189)],'relativePath':_0x1d31af,'baseDir':_0x198459,'absolutePath':_0x69968d},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x1d31af);if(!fsSync['existsSync'](_0x69968d))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x69968d);try{const _0x18453b=fsSync['readFileSync'](_0x69968d,_0x389432['tcqhu']);if(!_0x18453b||!_0x18453b[_0x13a91f(0x18a)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x69968d);return logger[_0x13a91f(0x1b4)]({'event':_0x389432['OnhLS'],'file':_0x69968d,'queryLength':_0x18453b[_0x13a91f(0x1e2)]},_0x13a91f(0x1f1)+_0x18453b['length']+_0x13a91f(0x1e7)),_0x18453b[_0x13a91f(0x18a)]();}catch(_0x1c7eaf){if(_0x389432[_0x13a91f(0x1a9)](_0x1c7eaf[_0x13a91f(0x1b3)],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x69968d);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x1c7eaf[_0x13a91f(0x1f5)]);}}[a0_0x4bb270(0x211)](){const _0x6b1e82=a0_0x4bb270,_0x667e3b={'VHIYP':_0x6b1e82(0x1c2),'DHlej':function(_0x3ac046){return _0x3ac046();},'xmbhK':function(_0x5f0e14,_0x154563){return _0x5f0e14-_0x154563;},'ckKXB':function(_0x1d6a7a,_0xcc49fb){return _0x1d6a7a<_0xcc49fb;}},_0x43ae51=_0x667e3b[_0x6b1e82(0x1de)],_0x84a7a5=Date[_0x6b1e82(0x202)]()[_0x6b1e82(0x208)](0x24),_0xc76fcc=_0x667e3b[_0x6b1e82(0x21d)](uuidv7)['replace'](/-/g,'')[_0x6b1e82(0x220)](0x0,_0x667e3b['xmbhK'](0xc,_0x84a7a5['length'])),_0x5482c2=(_0x84a7a5+_0xc76fcc)['substring'](0x0,0xc);let _0x4ca533='';for(let _0x25b19c=0x0;_0x667e3b['ckKXB'](_0x25b19c,0xc);_0x25b19c++){_0x5482c2[_0x25b19c]?_0x4ca533+=_0x5482c2[_0x25b19c]:_0x4ca533+=_0x43ae51[_0x6b1e82(0x188)](Math[_0x6b1e82(0x20d)](Math['random']()*_0x43ae51[_0x6b1e82(0x1e2)]));}return _0x4ca533;}async['createJob'](_0x14aaa7){const _0x3e4345=a0_0x4bb270,_0x580a2b={'ekxVU':function(_0x5eb16e,_0xb305be,_0x5f2eaa,_0x306b5f){return _0x5eb16e(_0xb305be,_0x5f2eaa,_0x306b5f);},'ajMwe':_0x3e4345(0x1ee),'QAPiJ':_0x3e4345(0x1e4)},_0x112ea2=this[_0x3e4345(0x211)](),_0x5c8b31={'job_id':_0x112ea2,'status':_0x3e4345(0x1bc),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x14aaa7,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x112ea2,_0x5c8b31),logger['info']({'event':_0x580a2b['QAPiJ'],'jobId':_0x112ea2,'params':_0x14aaa7},'Export\x20job\x20created'),this[_0x3e4345(0x1ac)](_0x112ea2,_0x14aaa7)[_0x3e4345(0x1d9)](_0x5a42c1=>{const _0x2c0724=_0x3e4345;_0x580a2b['ekxVU'](logError,_0x5a42c1,{'event':_0x580a2b['ajMwe'],'jobId':_0x112ea2},_0x2c0724(0x1d5));}),{'job_id':_0x112ea2,'status':'pending'};}async['getJobStatus'](_0xde9241){const _0x5062e2=a0_0x4bb270,_0x1a69cb={'HhksV':function(_0x57ed90,_0x44970f){return _0x57ed90===_0x44970f;},'gxTZf':'completed'},_0x7b9008=await redisHelper[_0x5062e2(0x198)](_0xde9241);if(!_0x7b9008)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x7b9008[_0x5062e2(0x214)],'status':_0x7b9008[_0x5062e2(0x1f9)],'progress':_0x7b9008['progress'],'total_rows':_0x7b9008[_0x5062e2(0x1eb)],'processed_rows':_0x7b9008[_0x5062e2(0x18c)],'file_url':_0x1a69cb[_0x5062e2(0x1d1)](_0x7b9008['status'],_0x1a69cb['gxTZf'])?'/api/'+_0x7b9008[_0x5062e2(0x1fd)][_0x5062e2(0x1ec)]+'/'+_0x7b9008['params'][_0x5062e2(0x195)]+'/export-download?job_id='+_0xde9241:null,'error':_0x7b9008[_0x5062e2(0x1e6)]||null,'created_at':_0x7b9008[_0x5062e2(0x21b)],'completed_at':_0x7b9008[_0x5062e2(0x201)]||null}};}async['processJob'](_0x232955,_0x4cc918){const _0x2a77d8=a0_0x4bb270,_0x4dcd4e={'RKcag':_0x2a77d8(0x1e8),'hNLPZ':'export_completed','qaIBu':'Export\x20completed\x20successfully','omulH':_0x2a77d8(0x1cc)};try{await redisHelper['updateJob'](_0x232955,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x2a77d8(0x1b4)]({'event':'export_processing_start','jobId':_0x232955},_0x4dcd4e[_0x2a77d8(0x1ed)]);const _0x4ce583=await this['fetchData'](_0x4cc918);await redisHelper['updateJob'](_0x232955,{'total_rows':_0x4ce583['length']});const _0x4efedc=await this['generateExcel'](_0x232955,_0x4ce583,_0x4cc918);await redisHelper[_0x2a77d8(0x219)](_0x232955,{'status':_0x2a77d8(0x20f),'progress':0x64,'file_path':_0x4efedc,'completed_at':new Date()[_0x2a77d8(0x20b)]()}),logger['info']({'event':_0x4dcd4e['hNLPZ'],'jobId':_0x232955,'rows':_0x4ce583['length']},_0x4dcd4e['qaIBu']);}catch(_0x3d5557){logError(_0x3d5557,{'event':_0x2a77d8(0x1f6),'jobId':_0x232955},_0x4dcd4e['omulH']),await redisHelper['updateJob'](_0x232955,{'status':_0x2a77d8(0x1f8),'error':_0x3d5557[_0x2a77d8(0x1f5)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x1a4b49){const _0x51e80a=a0_0x4bb270,_0x4d2bb3={'CZBXM':function(_0x40d1d2,_0x155c22){return _0x40d1d2===_0x155c22;},'qpSRv':function(_0x2e8814,_0x8dd538){return _0x2e8814+_0x8dd538;},'JmVoz':'_data','fFGiP':'export_using_auto_query','qjoNI':function(_0x2ef1d0,_0x40fd1b){return _0x2ef1d0(_0x40fd1b);},'VrsUj':_0x51e80a(0x1fa),'pwimi':_0x51e80a(0x181),'kMJtp':'Data\x20fetched\x20successfully','rKkju':function(_0x4b349f,_0x59dd16,_0x21bd8e,_0x4e39ba){return _0x4b349f(_0x59dd16,_0x21bd8e,_0x4e39ba);},'mkqhP':_0x51e80a(0x21f)};try{const {tableName:_0x57eb29,columns:_0x256b8c,exportQuery:_0x1a81d2,where:_0x289e67,sort_columns:_0x265a24}=_0x1a4b49;if(!_0x57eb29||!_0x256b8c||_0x4d2bb3[_0x51e80a(0x18e)](_0x256b8c['length'],0x0))throw new Error(_0x51e80a(0x203));const _0x2cbdf9=_0x4d2bb3[_0x51e80a(0x20c)](_0x57eb29[_0x51e80a(0x1bb)](/\./g,'_'),_0x4d2bb3[_0x51e80a(0x185)]);let _0x194f62;if(_0x1a81d2&&_0x1a81d2[_0x51e80a(0x18a)]()){let _0x34a3de=_0x1a81d2;_0x1a81d2[_0x51e80a(0x18a)]()[_0x51e80a(0x186)]('file:')&&(_0x34a3de=this['resolveExportQuery'](_0x1a81d2)),_0x194f62='WITH\x20'+_0x2cbdf9+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x34a3de+'\x0a)',_0x194f62+='\x0aSELECT\x20*\x20FROM\x20'+_0x2cbdf9,logger['info']({'event':'export_using_custom_query','query':_0x34a3de['substring'](0x0,0x64)},_0x51e80a(0x1b8));}else{const _0x5263d5=_0x256b8c[_0x51e80a(0x1ad)](_0x11c528=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x11c528)[_0x51e80a(0x1b9)](',');_0x194f62='WITH\x20'+_0x2cbdf9+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x5263d5+_0x51e80a(0x19d)+_0x57eb29+'\x0a)',_0x194f62+='\x0aSELECT\x20*\x20FROM\x20'+_0x2cbdf9,logger[_0x51e80a(0x1b4)]({'event':_0x4d2bb3[_0x51e80a(0x1a1)],'tableName':_0x57eb29,'columnCount':_0x256b8c['length']},'Using\x20auto-generated\x20query');}if(_0x289e67){const _0x462499=this[_0x51e80a(0x1a8)](_0x289e67);_0x462499&&(_0x194f62+=_0x51e80a(0x1c8)+_0x462499);}if(_0x265a24&&_0x265a24['length']>0x0){const _0x3696c9=this[_0x51e80a(0x1e9)](_0x265a24);_0x3696c9&&(_0x194f62+='\x0aORDER\x20BY\x20'+_0x3696c9);}logger[_0x51e80a(0x1b4)]({'event':_0x51e80a(0x1e1),'query':_0x194f62['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x3ed3f0=await _0x4d2bb3[_0x51e80a(0x197)](executeQuery,_0x194f62);let _0x24d50c=_0x3ed3f0;return _0x4d2bb3[_0x51e80a(0x18e)](dbType,_0x4d2bb3['VrsUj'])&&_0x3ed3f0&&_0x3ed3f0[_0x51e80a(0x1e2)]>0x0&&(_0x24d50c=_0x3ed3f0['map'](_0xe6d1fc=>{const _0x1b2905=_0x51e80a,_0x4ff41d={};for(const [_0x5eca16,_0x27dc36]of Object[_0x1b2905(0x1f4)](_0xe6d1fc)){_0x4ff41d[_0x5eca16['toLowerCase']()]=_0x27dc36;}return _0x4ff41d;})),logger[_0x51e80a(0x1b4)]({'event':_0x4d2bb3[_0x51e80a(0x1d4)],'rows':_0x24d50c[_0x51e80a(0x1e2)]},_0x4d2bb3['kMJtp']),_0x24d50c;}catch(_0x165ca6){_0x4d2bb3['rKkju'](logError,_0x165ca6,{'event':'export_fetch_error'},_0x4d2bb3[_0x51e80a(0x199)]);throw _0x165ca6;}}[a0_0x4bb270(0x1b2)](_0x35262b){const _0xa91588=a0_0x4bb270,_0x1a3703={'rQxSo':_0xa91588(0x18d)};if(typeof _0x35262b===_0x1a3703['rQxSo'])return _0x35262b[_0xa91588(0x1bb)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0xa91588(0x1f7)](_0x35262b))return _0x35262b['map'](_0x5123c6=>this[_0xa91588(0x1b2)](_0x5123c6));}return _0x35262b;}[a0_0x4bb270(0x1a8)](_0xdb236f){const _0x1af8a8=a0_0x4bb270,_0xd836b7={'lotPC':function(_0x1f8143,_0x2b3571){return _0x1f8143===_0x2b3571;},'XsElG':'string','HZsHb':_0x1af8a8(0x1ea),'qcnbI':'LIKE','GStTz':'NOT\x20LIKE','VAEAK':_0x1af8a8(0x21e),'zQYnQ':_0x1af8a8(0x213),'HDEWd':function(_0x5541c7,_0x437f89){return _0x5541c7===_0x437f89;}};if(!_0xdb236f||!_0xdb236f['conditions']||_0xdb236f[_0x1af8a8(0x200)]['length']===0x0)return'';const {logic:_0x4110a2,conditions:_0xab5ee}=_0xdb236f,_0x1be924=_0x4110a2&&_0xd836b7['lotPC'](_0x4110a2[_0x1af8a8(0x1f2)](),'OR')?'\x20OR\x20':_0xd836b7['zQYnQ'],_0x895a1e=_0xab5ee[_0x1af8a8(0x1ad)](_0x3ac13d=>{const _0x183f8d=_0x1af8a8,_0x1d3d1c={'ujXOn':function(_0x2ed800,_0x3e9fce){return _0xd836b7['lotPC'](_0x2ed800,_0x3e9fce);},'Daavw':_0xd836b7[_0x183f8d(0x1b5)]},{key:_0x1b5a1c,operator:_0x4896dc,value:_0x1f54d2,sensitive:_0x155fd1}=_0x3ac13d;if(!_0x1b5a1c||!_0x4896dc)return logger['warn']({'event':_0xd836b7[_0x183f8d(0x1df)],'condition':_0x3ac13d},'Skipping\x20invalid\x20condition'),null;const _0x3417e0=this['sanitizeValue'](_0x1f54d2),_0x292431=_0x155fd1!==undefined?_0x155fd1:!![];let _0x2d7bf6=_0x1b5a1c,_0x5cc558=_0x3417e0;!_0x292431&&(_0x2d7bf6=_0x183f8d(0x1db)+_0x1b5a1c+')',typeof _0x1f54d2===_0xd836b7[_0x183f8d(0x1b5)]&&(_0x5cc558=_0x1f54d2['toUpperCase']()));const _0x4df2a8=typeof _0x5cc558===_0xd836b7['XsElG']?'\x27'+_0x5cc558['replace'](/'/g,'\x27\x27')+'\x27':_0x5cc558;switch(_0x4896dc['toUpperCase']()){case'=':case'!=':case'<>':return _0x2d7bf6+'\x20'+_0x4896dc+'\x20'+_0x4df2a8;case'>':case'<':case'>=':case'<=':const _0x12ee63=_0xd836b7['lotPC'](typeof _0x3417e0,_0xd836b7['XsElG'])?'\x27'+_0x3417e0[_0x183f8d(0x1bb)](/'/g,'\x27\x27')+'\x27':_0x3417e0;return _0x1b5a1c+'\x20'+_0x4896dc+'\x20'+_0x12ee63;case _0xd836b7['qcnbI']:case _0xd836b7[_0x183f8d(0x1ce)]:return _0x2d7bf6+'\x20'+_0x4896dc+'\x20'+_0x4df2a8;case'IN':if(Array['isArray'](_0x3417e0)){let _0x1db560;return!_0x292431?_0x1db560=_0x3417e0[_0x183f8d(0x1ad)](_0x48e128=>{const _0x3e5139=_0x183f8d,_0x1d0156=_0x1d3d1c[_0x3e5139(0x1ca)](typeof _0x48e128,_0x1d3d1c[_0x3e5139(0x19c)])?_0x48e128[_0x3e5139(0x1f2)]():_0x48e128;return typeof _0x1d0156===_0x1d3d1c['Daavw']?'\x27'+_0x1d0156[_0x3e5139(0x1bb)](/'/g,'\x27\x27')+'\x27':_0x1d0156;})[_0x183f8d(0x1b9)](',\x20'):_0x1db560=_0x3417e0['map'](_0x372907=>typeof _0x372907==='string'?'\x27'+_0x372907[_0x183f8d(0x1bb)](/'/g,'\x27\x27')+'\x27':_0x372907)[_0x183f8d(0x1b9)](',\x20'),_0x2d7bf6+'\x20IN\x20('+_0x1db560+')';}return _0x2d7bf6+'\x20IN\x20('+_0x4df2a8+')';case _0x183f8d(0x192):return _0x1b5a1c+_0x183f8d(0x21a);case'IS\x20NOT\x20NULL':return _0x1b5a1c+'\x20IS\x20NOT\x20NULL';default:logger[_0x183f8d(0x216)]({'event':_0xd836b7['VAEAK'],'operator':_0x4896dc},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x2d7bf6+_0x183f8d(0x19b)+_0x4df2a8;}})[_0x1af8a8(0x183)](_0x2a43e4=>_0x2a43e4!==null);if(_0xd836b7['HDEWd'](_0x895a1e['length'],0x0))return'';return _0x895a1e[_0x1af8a8(0x1b9)](_0x1be924);}['buildOrderByClause'](_0x304890){const _0x2b5a9b=a0_0x4bb270,_0x500906={'iRKMJ':_0x2b5a9b(0x205),'fZxRd':_0x2b5a9b(0x1fc),'VsvXc':function(_0x26797d,_0x2470b3){return _0x26797d===_0x2470b3;},'wSzNm':_0x2b5a9b(0x1f0),'HJCzc':function(_0x51798b,_0x235925){return _0x51798b===_0x235925;}};if(!_0x304890||_0x500906[_0x2b5a9b(0x19e)](_0x304890['length'],0x0))return'';const _0x16e0fc=_0x304890[_0x2b5a9b(0x1ad)](_0xeffe7f=>{const _0x44b25d=_0x2b5a9b,{column:_0x479b59,direction:_0x25f962}=_0xeffe7f;if(!_0x479b59)return logger['warn']({'event':_0x500906['iRKMJ'],'item':_0xeffe7f},_0x500906[_0x44b25d(0x204)]),null;const _0x337f45=_0x25f962&&_0x500906['VsvXc'](_0x25f962[_0x44b25d(0x1f2)](),_0x44b25d(0x184))?_0x44b25d(0x184):_0x500906[_0x44b25d(0x1ab)];return _0x479b59+'\x20'+_0x337f45;})['filter'](_0x4f99eb=>_0x4f99eb!==null);if(_0x500906['HJCzc'](_0x16e0fc[_0x2b5a9b(0x1e2)],0x0))return'';return _0x16e0fc['join'](',\x20');}async['generateExcel'](_0xcf1701,_0x5e32c7,_0x454068){const _0x53a639=a0_0x4bb270,_0x11a373={'xUJqm':function(_0x28053f,_0x25dd10){return _0x28053f/_0x25dd10;},'FKCxo':function(_0x114d3f,_0x33461e){return _0x114d3f>_0x33461e;},'wAFlv':_0x53a639(0x1d0),'eXcZE':'excel_columns_select_all'},_0x2c0554=require(_0x53a639(0x1bf)),_0x5e1af0=new _0x2c0554(),_0x5882d8=_0x454068[_0x53a639(0x212)]?_0x454068['filename']+'-'+_0xcf1701:_0x53a639(0x20a)+_0xcf1701,_0x1c3c87=path[_0x53a639(0x1b9)](this['exportDir'],_0x5882d8+_0x53a639(0x1dc));let _0x2ff5b6=_0x454068['columns'];const _0x342d90=_0x454068[_0x53a639(0x18f)]&&_0x454068[_0x53a639(0x18f)][_0x53a639(0x18a)](),_0x596c71=_0x2ff5b6&&_0x2ff5b6['length']===0x1&&(_0x2ff5b6[0x0]==='*'||_0x2ff5b6[0x0][_0x53a639(0x1da)]()==='all');if(_0x11a373[_0x53a639(0x1fe)](_0x5e32c7[_0x53a639(0x1e2)],0x0)){const _0x1bd5ac=Object['keys'](_0x5e32c7[0x0]);if(_0x342d90)_0x2ff5b6=_0x1bd5ac,logger[_0x53a639(0x1b4)]({'event':_0x11a373['wAFlv'],'columns':_0x2ff5b6},_0x53a639(0x1d7)+_0x2ff5b6['length']+_0x53a639(0x1cd));else{if(_0x596c71)_0x2ff5b6=_0x1bd5ac,logger[_0x53a639(0x1b4)]({'event':_0x11a373[_0x53a639(0x1ef)],'columns':_0x2ff5b6},'Using\x20all\x20'+_0x2ff5b6[_0x53a639(0x1e2)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x2ff5b6&&_0x2ff5b6['length']>0x0){const _0x507463=_0x2ff5b6[_0x53a639(0x183)](_0x28bdfd=>_0x1bd5ac['includes'](_0x28bdfd));_0x11a373['FKCxo'](_0x507463['length'],0x0)?(_0x2ff5b6=_0x507463,logger[_0x53a639(0x1b4)]({'event':_0x53a639(0x196),'requestedColumns':_0x454068['columns'],'validColumns':_0x2ff5b6},_0x53a639(0x1d7)+_0x2ff5b6[_0x53a639(0x1e2)]+_0x53a639(0x1c6))):(_0x2ff5b6=_0x1bd5ac,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x454068[_0x53a639(0x1a6)],'availableColumns':_0x1bd5ac},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x1bd5ac['length']+'\x20columns'));}else _0x2ff5b6=_0x1bd5ac,logger[_0x53a639(0x1b4)]({'event':_0x53a639(0x18b),'columns':_0x2ff5b6},_0x53a639(0x1d7)+_0x2ff5b6[_0x53a639(0x1e2)]+'\x20columns\x20from\x20query\x20result');}}}else logger['info']({'event':_0x53a639(0x1e0),'columns':_0x2ff5b6},_0x53a639(0x1d7)+(_0x2ff5b6?.['length']||0x0)+_0x53a639(0x1a2));return await _0x5e1af0['generate']({'data':_0x5e32c7,'columns':_0x2ff5b6,'columnFormats':_0x454068['columnFormats']||null,'fieldLabels':_0x454068['fieldLabels']||null,'filePath':_0x1c3c87,'onProgress':async _0x1a2f72=>{const _0x59d57f=_0x53a639;await redisHelper[_0x59d57f(0x219)](_0xcf1701,{'progress':Math[_0x59d57f(0x1bd)](_0x1a2f72),'processed_rows':Math[_0x59d57f(0x1bd)](_0x11a373[_0x59d57f(0x1b1)](_0x1a2f72,0x64)*_0x5e32c7['length'])});}}),_0x1c3c87;}async[a0_0x4bb270(0x19a)](_0x3ff8e1){const _0x533dd7=a0_0x4bb270,_0x1dcff9={'cYbWd':function(_0x32212e,_0x1eff9d,_0x4f6b8b,_0x4319bf){return _0x32212e(_0x1eff9d,_0x4f6b8b,_0x4319bf);}},_0x2c9043=await redisHelper['getJob'](_0x3ff8e1);if(!_0x2c9043||_0x2c9043['status']!=='completed')return null;try{return await fs['access'](_0x2c9043[_0x533dd7(0x19f)]),_0x2c9043[_0x533dd7(0x19f)];}catch(_0x21bbb){return _0x1dcff9[_0x533dd7(0x193)](logError,_0x21bbb,{'event':'export_file_not_found','jobId':_0x3ff8e1,'path':_0x2c9043['file_path']},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x5205e0=a0_0x4bb270,_0x52bcc7={'fnGQt':_0x5205e0(0x1ae),'Dgfoc':'Starting\x20export\x20cleanup','wagCa':function(_0x47927b,_0x540b65){return _0x47927b-_0x540b65;},'PijVA':function(_0xfab57c,_0x5cb527){return _0xfab57c*_0x5cb527;},'OEwRw':'Export\x20file\x20deleted','lmxrl':_0x5205e0(0x190),'AbtyH':'Export\x20cleanup\x20completed'};logger['info']({'event':_0x52bcc7['fnGQt']},_0x52bcc7[_0x5205e0(0x21c)]);const _0x113163=await redisHelper[_0x5205e0(0x1af)]();let _0xa7be74=0x0;for(const _0x40badd of _0x113163){const _0x46e0a5=new Date(_0x40badd[_0x5205e0(0x21b)]),_0x55f24c=new Date(),_0x81aeac=_0x52bcc7[_0x5205e0(0x1d6)](_0x55f24c,_0x46e0a5)/(_0x52bcc7[_0x5205e0(0x210)](0x3e8,0x3c)*0x3c);if(_0x81aeac>0x1){if(_0x40badd[_0x5205e0(0x19f)])try{await fs['unlink'](_0x40badd['file_path']),logger['info']({'event':'export_file_deleted','path':_0x40badd[_0x5205e0(0x19f)]},_0x52bcc7['OEwRw']);}catch(_0x2f868d){logger[_0x5205e0(0x216)]({'event':_0x5205e0(0x1b7),'path':_0x40badd[_0x5205e0(0x19f)],'error':_0x2f868d[_0x5205e0(0x1f5)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x5205e0(0x215)](_0x40badd['job_id']),_0xa7be74++;}}return logger[_0x5205e0(0x1b4)]({'event':_0x52bcc7[_0x5205e0(0x1b6)],'deleted':_0xa7be74},_0x52bcc7['AbtyH']),_0xa7be74;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0x165d7d=a0_0x2a79;(function(_0x888e1a,_0x1bb9d4){const _0xb3278=a0_0x2a79,_0x1ff969=_0x888e1a();while(!![]){try{const _0x18a50a=parseInt(_0xb3278(0x1a3))/0x1+-parseInt(_0xb3278(0x197))/0x2+parseInt(_0xb3278(0x188))/0x3+-parseInt(_0xb3278(0x1c8))/0x4+-parseInt(_0xb3278(0x204))/0x5*(parseInt(_0xb3278(0x1fe))/0x6)+parseInt(_0xb3278(0x1e6))/0x7*(-parseInt(_0xb3278(0x18d))/0x8)+parseInt(_0xb3278(0x1fd))/0x9;if(_0x18a50a===_0x1bb9d4)break;else _0x1ff969['push'](_0x1ff969['shift']());}catch(_0x223493){_0x1ff969['push'](_0x1ff969['shift']());}}}(a0_0x52e8,0x3856a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x165d7d(0x18c)],fsSync=require('fs'),redisHelper=require(a0_0x165d7d(0x1a7)),{logger,logError}=require(a0_0x165d7d(0x209)),dbType=(process['env'][a0_0x165d7d(0x1c4)]||'postgresql')['toLowerCase']();function a0_0x2a79(_0x39392d,_0x2eaed7){_0x39392d=_0x39392d-0x170;const _0x52e8f3=a0_0x52e8();let _0x2a7990=_0x52e8f3[_0x39392d];if(a0_0x2a79['gRlGUY']===undefined){var _0x6bbb1e=function(_0x139508){const _0x45f43a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x304831='',_0x278f16='';for(let _0x2ab241=0x0,_0x23b8be,_0x2b5567,_0x45fe9d=0x0;_0x2b5567=_0x139508['charAt'](_0x45fe9d++);~_0x2b5567&&(_0x23b8be=_0x2ab241%0x4?_0x23b8be*0x40+_0x2b5567:_0x2b5567,_0x2ab241++%0x4)?_0x304831+=String['fromCharCode'](0xff&_0x23b8be>>(-0x2*_0x2ab241&0x6)):0x0){_0x2b5567=_0x45f43a['indexOf'](_0x2b5567);}for(let _0x26bdda=0x0,_0x31a0a1=_0x304831['length'];_0x26bdda<_0x31a0a1;_0x26bdda++){_0x278f16+='%'+('00'+_0x304831['charCodeAt'](_0x26bdda)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x278f16);};a0_0x2a79['zlILQC']=_0x6bbb1e,a0_0x2a79['lGZMEI']={},a0_0x2a79['gRlGUY']=!![];}const _0x503b1e=_0x52e8f3[0x0],_0x6a6dc4=_0x39392d+_0x503b1e,_0x52a7f7=a0_0x2a79['lGZMEI'][_0x6a6dc4];return!_0x52a7f7?(_0x2a7990=a0_0x2a79['zlILQC'](_0x2a7990),a0_0x2a79['lGZMEI'][_0x6a6dc4]=_0x2a7990):_0x2a7990=_0x52a7f7,_0x2a7990;}let executeQuery;function a0_0x52e8(){const _0x1c867e=['zw50CMLLCW','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','EenOAxq','ndm5nda0q2vyDuLW','Bw9KDwXLtMfTzq','BwfW','suLey2m','CMfUzg9T','cIaGicbguK9nia','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ignOyxjZkq','zMDLA2K','CMvZB2X2zuv4Cg9YDff1zxj5','CM91BMq','y2HHCKf0','C3vIC3rYAw5N','CK5xDKm','whHdzLu','zxHWB3j0x2zLDgnOx3n0yxj0','Aw5MBW','Dg9mB3DLCKnHC2u','rvHqt1jux0rjuG','z2v0sM9Iu3rHDhvZ','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zMLSztO','ignVBhvTBNmGzNjVBsbYzxf1zxn0','odC0ntKYmurTv2rfEq','mtG2BuPuv0re','z2vUzxjHDgu','zxHLy3v0zvf1zxj5','yNvPBgrpCMrLCKj5q2XHDxnL','zw52','ieLtie5pvcbovuXm','ndy2ntbvtKvIz0q','z2v0rMLSzvbHDgG','sMrtrLa','cLnftevdvcaQiezst00G','zxHWB3j0rgLY','lI4VDxrPBhmVBg9Nz2vY','uu5jyMC','DKzSr0K','Aw52ywXPzf9ZB3j0x2nVBhvTBG','ru5pru5u','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','AM9PBG','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','tMLbAfy','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BwvZC2fNzq','y29SDw1UCW','ignVBhvTBNm','CgfYyw1Z','vffTAe4','CLPsC2i','ieLtie5vteW','id0G','y29TCgXLDgvKx2f0','z2v0sM9I','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','A2v5CW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','ChjVy2vZC2LUzW','C3rHCNrZv2L0Aa','zxHWB3j0uxvLCNK','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','zxHWB3j0lq','zM1urNi','otuZmJm4EgDsEMD2','zxHPC3rZu3LUyW','iefticGkicaGia','wwL2tg0','ChjVBwLZzxm','ndHhs3PTAwq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','iefticGkicaGifnftevdvca','B3jHy2XL','swPKCha','zxHWB3j0x2nSzwfUDxbFC3rHCNq','uvbPEKm','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','q1rMDfG','zMLSDgvY','nZyYnJuWtKncwNH5','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','s2DIze0','EgvmqMu','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','svmGtLvmta','rMHptfK','l2fWAs8','Dg90ywXFCM93CW','D1jvDuO','uff3z20','lI4VDxrPBhmVzgi','mZiYmJK1D2X2tNbR','DNHHwgG','Dg9vChbLCKnHC2u','zw5KCg9PBNroyw1L','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zu5oveq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxjYB3i','vxnPBMCG','zxHWB3j0x2zPBgvFBM90x2zVDw5K','rxHWB3j0igzPBguGBM90igzVDw5K','zMv0y2HeyxrH','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AvvzALe','ie9sia','AxnbCNjHEq','CMvZB2X2zq','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','ChjVy2vZC2vKx3jVD3m','ywf1A3m','y29TCgXLDgvK','zMLSzv9WyxrO','v0Lusca','ieLoicG','uLnuyKW','vvbqrviO','CKLtzKK','rxHWB3j0igPVyIbJCMvHDgvK','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','C3rYAw5N','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','x2v4Cg9YDerPCG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','rejFvfLqrq','rez4B0S','y3jLyxrLzf9HDa','C2fUAxrPEMvwywX1zq','mtmZntq0nfPpEM9mEq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','y29UzgL0Aw9UCW','zgvSzxrLsM9I','CMvWBgfJzq','yunby3O','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','lI4VlI4VzxHWB3j0CY8','zxHJzwXFy29SDw1UC19MywXSyMfJAW','ieforca','z2v0qwXSsM9ICW','AM9Ix2LK','z2vUzxjHDgvkB2jjza','D2fYBG','y0HJshu','y29SDw1UrM9YBwf0CW','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','BgvUz3rO','DxbKyxrLsM9I','Dg9ju09tDhjPBMC','zxHWB3j0x2zLDgnOx2vYCM9Y','CuPit0O','DhjPBq','lNHSC3G','z2vUzxjHDgvfEgnLBa','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','BwrHEg0'];a0_0x52e8=function(){return _0x1c867e;};return a0_0x52e8();}if(dbType===a0_0x165d7d(0x190)){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x497182,_0x3de1c3)=>oracleDb[a0_0x165d7d(0x200)](_0x497182,_0x3de1c3);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x4031a6,_0x22a057)=>mysqlDb[a0_0x165d7d(0x200)](_0x4031a6,_0x22a057);}else executeQuery=require(a0_0x165d7d(0x1a2))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x165d7d(0x208)](){const _0x5aeab0=a0_0x165d7d,_0x298ef0={'XxCfU':'Export\x20service\x20initialized','aauks':'export_service_init_error'};if(!this['_exportDir']){const _0x2c31ed=process[_0x5aeab0(0x202)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x5aeab0(0x1c2)]=process[_0x5aeab0(0x202)][_0x5aeab0(0x1f8)]||path[_0x5aeab0(0x171)](__dirname,_0x5aeab0(0x1cf)+_0x2c31ed);try{!fsSync[_0x5aeab0(0x189)](this[_0x5aeab0(0x1c2)])&&fsSync['mkdirSync'](this[_0x5aeab0(0x1c2)],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x5aeab0(0x1c2)]},_0x298ef0[_0x5aeab0(0x1f4)]);}catch(_0x55f218){logError(_0x55f218,{'event':_0x298ef0[_0x5aeab0(0x1b6)]},_0x5aeab0(0x19b));}}return this[_0x5aeab0(0x1c2)];}[a0_0x165d7d(0x1ef)](_0x432ff7,_0x590721=null){const _0x1696b7=a0_0x165d7d,_0x4562be={'vxaXh':function(_0x1e509e,_0x35dbad){return _0x1e509e!==_0x35dbad;},'MonoS':'file:','KPoBd':_0x1696b7(0x1c9),'XkTnZ':'utf8'};if(!_0x432ff7||_0x4562be[_0x1696b7(0x1a4)](typeof _0x432ff7,_0x1696b7(0x1c0)))return _0x432ff7;const _0x20a680=_0x432ff7['trim']();if(!_0x20a680['startsWith'](_0x4562be['MonoS']))return _0x20a680;const _0x46e851=_0x20a680['replace'](/^file:/,'')[_0x1696b7(0x1de)]();if(!_0x46e851)throw new Error(_0x4562be['KPoBd']);const _0x2ae01a=_0x590721||path[_0x1696b7(0x171)](process['cwd'](),'payload'),_0x485f00=path[_0x1696b7(0x1b3)](_0x2ae01a,_0x46e851);logger['info']({'event':'export_query_file_resolve','relativePath':_0x46e851,'baseDir':_0x2ae01a,'absolutePath':_0x485f00},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x46e851);if(!fsSync['existsSync'](_0x485f00))throw new Error(_0x1696b7(0x1c1)+_0x485f00);try{const _0x3c3897=fsSync['readFileSync'](_0x485f00,_0x4562be['XkTnZ']);if(!_0x3c3897||!_0x3c3897[_0x1696b7(0x1de)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x485f00);return logger['info']({'event':'export_query_file_loaded','file':_0x485f00,'queryLength':_0x3c3897['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x3c3897['length']+_0x1696b7(0x1ed)),_0x3c3897[_0x1696b7(0x1de)]();}catch(_0x112c80){if(_0x112c80['code']===_0x1696b7(0x20d))throw new Error(_0x1696b7(0x1c1)+_0x485f00);throw new Error(_0x1696b7(0x198)+_0x112c80['message']);}}[a0_0x165d7d(0x1d4)](){const _0x3a3785=a0_0x165d7d,_0x406152={'rNWvC':function(_0x159d51,_0x13e7fb){return _0x159d51-_0x13e7fb;},'HvMaS':function(_0x277e13,_0x125750){return _0x277e13<_0x125750;}},_0xae0fcb='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x2d1028=Date['now']()['toString'](0x24),_0x4a24f9=uuidv7()[_0x3a3785(0x1cc)](/-/g,'')['substring'](0x0,_0x406152[_0x3a3785(0x1f3)](0xc,_0x2d1028['length'])),_0x27cd05=(_0x2d1028+_0x4a24f9)['substring'](0x0,0xc);let _0x5a7d0a='';for(let _0x33b5cc=0x0;_0x406152['HvMaS'](_0x33b5cc,0xc);_0x33b5cc++){_0x27cd05[_0x33b5cc]?_0x5a7d0a+=_0x27cd05[_0x33b5cc]:_0x5a7d0a+=_0xae0fcb[_0x3a3785(0x1f1)](Math['floor'](Math[_0x3a3785(0x1ea)]()*_0xae0fcb[_0x3a3785(0x1d9)]));}return _0x5a7d0a;}async['createJob'](_0xdfe576){const _0x34d95c=a0_0x165d7d,_0x54ada6={'IIDcc':function(_0xaac8b4,_0x5b01bb,_0x38b7c5,_0x4139c1){return _0xaac8b4(_0x5b01bb,_0x38b7c5,_0x4139c1);},'iUYjQ':'export_process_error','FhOLY':'pending'},_0x25c878=this[_0x34d95c(0x1d4)](),_0x495ad2={'job_id':_0x25c878,'status':_0x54ada6[_0x34d95c(0x19d)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xdfe576,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x25c878,_0x495ad2),logger['info']({'event':'export_job_created','jobId':_0x25c878,'params':_0xdfe576},_0x34d95c(0x1be)),this['processJob'](_0x25c878,_0xdfe576)['catch'](_0x1b95f5=>{const _0x5f50b6=_0x34d95c;_0x54ada6[_0x5f50b6(0x1e9)](logError,_0x1b95f5,{'event':_0x54ada6[_0x5f50b6(0x1b0)],'jobId':_0x25c878},_0x5f50b6(0x1b4));}),{'job_id':_0x25c878,'status':_0x54ada6[_0x34d95c(0x19d)]};}async[a0_0x165d7d(0x1f9)](_0x1ce1cf){const _0x1e0a90=a0_0x165d7d,_0x3cbec8={'QNIbg':function(_0x31d411,_0x2d8ee0){return _0x31d411===_0x2d8ee0;},'EQNew':_0x1e0a90(0x1b7)},_0x4f24a6=await redisHelper[_0x1e0a90(0x17e)](_0x1ce1cf);if(!_0x4f24a6)return{'success':![],'error':_0x1e0a90(0x1ec)};return{'success':!![],'data':{'job_id':_0x4f24a6[_0x1e0a90(0x1d3)],'status':_0x4f24a6['status'],'progress':_0x4f24a6['progress'],'total_rows':_0x4f24a6[_0x1e0a90(0x19f)],'processed_rows':_0x4f24a6[_0x1e0a90(0x1b5)],'file_url':_0x3cbec8[_0x1e0a90(0x20a)](_0x4f24a6['status'],_0x3cbec8['EQNew'])?_0x1e0a90(0x19e)+_0x4f24a6[_0x1e0a90(0x178)][_0x1e0a90(0x1e7)]+'/'+_0x4f24a6['params'][_0x1e0a90(0x1a6)]+_0x1e0a90(0x1e1)+_0x1ce1cf:null,'error':_0x4f24a6[_0x1e0a90(0x1aa)]||null,'created_at':_0x4f24a6[_0x1e0a90(0x1c6)],'completed_at':_0x4f24a6[_0x1e0a90(0x17d)]||null}};}async['processJob'](_0x3aa5a6,_0x45bbdf){const _0x2e9fbd=a0_0x165d7d,_0x5bc299={'yLirj':_0x2e9fbd(0x1a9),'mHPsP':_0x2e9fbd(0x181),'IeQks':'export_completed','sGkwS':'export_failed','DFxoK':'failed'};try{await redisHelper[_0x2e9fbd(0x1da)](_0x3aa5a6,{'status':_0x2e9fbd(0x182),'started_at':new Date()[_0x2e9fbd(0x1db)]()}),logger[_0x2e9fbd(0x1f6)]({'event':_0x5bc299['yLirj'],'jobId':_0x3aa5a6},_0x5bc299['mHPsP']);const _0x506b62=await this[_0x2e9fbd(0x1ae)](_0x45bbdf);await redisHelper['updateJob'](_0x3aa5a6,{'total_rows':_0x506b62[_0x2e9fbd(0x1d9)]});const _0x118139=await this['generateExcel'](_0x3aa5a6,_0x506b62,_0x45bbdf);await redisHelper['updateJob'](_0x3aa5a6,{'status':'completed','progress':0x64,'file_path':_0x118139,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x5bc299['IeQks'],'jobId':_0x3aa5a6,'rows':_0x506b62['length']},'Export\x20completed\x20successfully');}catch(_0x594747){logError(_0x594747,{'event':_0x5bc299['sGkwS'],'jobId':_0x3aa5a6},'Export\x20failed'),await redisHelper[_0x2e9fbd(0x1da)](_0x3aa5a6,{'status':_0x5bc299[_0x2e9fbd(0x1c5)],'error':_0x594747[_0x2e9fbd(0x175)],'failed_at':new Date()[_0x2e9fbd(0x1db)]()});}}async['fetchData'](_0x177836){const _0x2950b4=a0_0x165d7d,_0x53eea3={'rCHDf':function(_0x4a12a8,_0x20bf4e){return _0x4a12a8||_0x20bf4e;},'pyBFG':_0x2950b4(0x17f),'CTftX':_0x2950b4(0x1fb),'MVcji':_0x2950b4(0x174),'NiAhV':_0x2950b4(0x1fa),'qIGHy':'export_using_auto_query','fgeki':_0x2950b4(0x1e4),'hpkLk':_0x2950b4(0x1f5),'PQwgm':function(_0x293f74,_0x3e0874){return _0x293f74(_0x3e0874);},'zILxX':_0x2950b4(0x1bf),'aCAcz':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x5e48ed,columns:_0x24d700,exportQuery:_0x3e94b0,where:_0x184a8c,sort_columns:_0x13ac26}=_0x177836;if(_0x53eea3['rCHDf'](!_0x5e48ed,!_0x24d700)||_0x24d700['length']===0x0)throw new Error(_0x53eea3['pyBFG']);const _0x4ce5a8=_0x5e48ed[_0x2950b4(0x1cc)](/\./g,'_')+'_data';let _0x1680b8;if(_0x3e94b0&&_0x3e94b0['trim']()){let _0x8d6171=_0x3e94b0;_0x3e94b0['trim']()[_0x2950b4(0x183)](_0x53eea3[_0x2950b4(0x195)])&&(_0x8d6171=this[_0x2950b4(0x1ef)](_0x3e94b0)),_0x1680b8=_0x2950b4(0x1b9)+_0x4ce5a8+_0x2950b4(0x18a)+_0x8d6171+'\x0a)',_0x1680b8+=_0x2950b4(0x207)+_0x4ce5a8,logger[_0x2950b4(0x1f6)]({'event':_0x53eea3['MVcji'],'query':_0x8d6171['substring'](0x0,0x64)},_0x53eea3[_0x2950b4(0x173)]);}else{const _0x15c3cb=_0x24d700[_0x2950b4(0x1e8)](_0x448255=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x448255)['join'](',');_0x1680b8=_0x2950b4(0x1b9)+_0x4ce5a8+_0x2950b4(0x18f)+_0x15c3cb+_0x2950b4(0x1eb)+_0x5e48ed+'\x0a)',_0x1680b8+=_0x2950b4(0x207)+_0x4ce5a8,logger[_0x2950b4(0x1f6)]({'event':_0x53eea3['qIGHy'],'tableName':_0x5e48ed,'columnCount':_0x24d700[_0x2950b4(0x1d9)]},_0x53eea3[_0x2950b4(0x1ee)]);}if(_0x184a8c){const _0x2a64a4=this['buildWhereClause'](_0x184a8c);_0x2a64a4&&(_0x1680b8+='\x0aWHERE\x20'+_0x2a64a4);}if(_0x13ac26&&_0x13ac26['length']>0x0){const _0x40b421=this[_0x2950b4(0x201)](_0x13ac26);_0x40b421&&(_0x1680b8+='\x0aORDER\x20BY\x20'+_0x40b421);}logger[_0x2950b4(0x1f6)]({'event':_0x53eea3['hpkLk'],'query':_0x1680b8[_0x2950b4(0x1f2)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x39e375=await _0x53eea3[_0x2950b4(0x1a1)](executeQuery,_0x1680b8);let _0x111c20=_0x39e375;return dbType==='oracle'&&_0x39e375&&_0x39e375['length']>0x0&&(_0x111c20=_0x39e375['map'](_0x516d7f=>{const _0x2d1f43=_0x2950b4,_0x3010c7={};for(const [_0xab9407,_0x17719d]of Object[_0x2d1f43(0x1e3)](_0x516d7f)){_0x3010c7[_0xab9407[_0x2d1f43(0x1f7)]()]=_0x17719d;}return _0x3010c7;})),logger[_0x2950b4(0x1f6)]({'event':'export_fetch_complete','rows':_0x111c20['length']},_0x53eea3['zILxX']),_0x111c20;}catch(_0x2560b1){logError(_0x2560b1,{'event':_0x2950b4(0x1dc)},_0x53eea3[_0x2950b4(0x1cd)]);throw _0x2560b1;}}['sanitizeValue'](_0x21e0c5){const _0x5d28a2=a0_0x165d7d,_0x551412={'mCgFU':function(_0x159f5f,_0x4a9e28){return _0x159f5f===_0x4a9e28;}};if(_0x551412['mCgFU'](typeof _0x21e0c5,_0x5d28a2(0x1c0)))return _0x21e0c5[_0x5d28a2(0x1cc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x21e0c5))return _0x21e0c5[_0x5d28a2(0x1e8)](_0x4ff44e=>this[_0x5d28a2(0x1c7)](_0x4ff44e));}return _0x21e0c5;}['buildWhereClause'](_0x28fd69){const _0x3270db=a0_0x165d7d,_0x4a88fc={'BoIDg':function(_0x49a381,_0x2eec71){return _0x49a381===_0x2eec71;},'rZRsb':_0x3270db(0x1c0),'RSTbL':'invalid_condition','qJHOJ':_0x3270db(0x194),'qYqbZ':function(_0x42aa50,_0x11ec43){return _0x42aa50!==_0x11ec43;},'twFGE':'LIKE','vFlGI':_0x3270db(0x19c),'eNNTD':'unknown_operator','cHcHu':function(_0x3638d0,_0xfcef3e){return _0x3638d0===_0xfcef3e;},'QPizC':_0x3270db(0x1d1)};if(!_0x28fd69||!_0x28fd69['conditions']||_0x4a88fc['BoIDg'](_0x28fd69[_0x3270db(0x1ca)]['length'],0x0))return'';const {logic:_0x48d8b0,conditions:_0x6223d5}=_0x28fd69,_0x10ed32=_0x48d8b0&&_0x4a88fc[_0x3270db(0x1d6)](_0x48d8b0[_0x3270db(0x1a5)](),'OR')?_0x3270db(0x1b1):_0x4a88fc[_0x3270db(0x193)],_0x5864e0=_0x6223d5[_0x3270db(0x1e8)](_0x670297=>{const _0x5ce4ae=_0x3270db,_0x38af51={'ZjZHb':function(_0x1e290c,_0x42223f){return _0x4a88fc['BoIDg'](_0x1e290c,_0x42223f);},'EzlpE':_0x4a88fc[_0x5ce4ae(0x17a)]},{key:_0x178d12,operator:_0x2e70c2,value:_0x8f091,sensitive:_0x4c7725}=_0x670297;if(!_0x178d12||!_0x2e70c2)return logger[_0x5ce4ae(0x1d5)]({'event':_0x4a88fc[_0x5ce4ae(0x1bb)],'condition':_0x670297},_0x4a88fc[_0x5ce4ae(0x1dd)]),null;const _0x1bede4=this[_0x5ce4ae(0x1c7)](_0x8f091),_0x30d86b=_0x4a88fc['qYqbZ'](_0x4c7725,undefined)?_0x4c7725:!![];let _0x598e7a=_0x178d12,_0x2bdff7=_0x1bede4;!_0x30d86b&&(_0x598e7a=_0x5ce4ae(0x1bc)+_0x178d12+')',_0x4a88fc['BoIDg'](typeof _0x8f091,_0x4a88fc[_0x5ce4ae(0x17a)])&&(_0x2bdff7=_0x8f091['toUpperCase']()));const _0x4045a7=_0x4a88fc['BoIDg'](typeof _0x2bdff7,_0x5ce4ae(0x1c0))?'\x27'+_0x2bdff7[_0x5ce4ae(0x1cc)](/'/g,'\x27\x27')+'\x27':_0x2bdff7;switch(_0x2e70c2[_0x5ce4ae(0x1a5)]()){case'=':case'!=':case'<>':return _0x598e7a+'\x20'+_0x2e70c2+'\x20'+_0x4045a7;case'>':case'<':case'>=':case'<=':const _0x25eb63=_0x4a88fc['BoIDg'](typeof _0x1bede4,_0x4a88fc['rZRsb'])?'\x27'+_0x1bede4['replace'](/'/g,'\x27\x27')+'\x27':_0x1bede4;return _0x178d12+'\x20'+_0x2e70c2+'\x20'+_0x25eb63;case _0x4a88fc['twFGE']:case'NOT\x20LIKE':return _0x598e7a+'\x20'+_0x2e70c2+'\x20'+_0x4045a7;case'IN':if(Array[_0x5ce4ae(0x1b2)](_0x1bede4)){let _0x5b3cb0;return!_0x30d86b?_0x5b3cb0=_0x1bede4['map'](_0x40092b=>{const _0x49cc31=_0x38af51['ZjZHb'](typeof _0x40092b,'string')?_0x40092b['toUpperCase']():_0x40092b;return _0x38af51['ZjZHb'](typeof _0x49cc31,_0x38af51['EzlpE'])?'\x27'+_0x49cc31['replace'](/'/g,'\x27\x27')+'\x27':_0x49cc31;})[_0x5ce4ae(0x171)](',\x20'):_0x5b3cb0=_0x1bede4[_0x5ce4ae(0x1e8)](_0x15a3e1=>typeof _0x15a3e1===_0x5ce4ae(0x1c0)?'\x27'+_0x15a3e1[_0x5ce4ae(0x1cc)](/'/g,'\x27\x27')+'\x27':_0x15a3e1)['join'](',\x20'),_0x598e7a+'\x20IN\x20('+_0x5b3cb0+')';}return _0x598e7a+_0x5ce4ae(0x1ba)+_0x4045a7+')';case _0x4a88fc[_0x5ce4ae(0x20b)]:return _0x178d12+_0x5ce4ae(0x17b);case'IS\x20NOT\x20NULL':return _0x178d12+_0x5ce4ae(0x203);default:logger[_0x5ce4ae(0x1d5)]({'event':_0x4a88fc[_0x5ce4ae(0x1a8)],'operator':_0x2e70c2},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x598e7a+_0x5ce4ae(0x17c)+_0x4045a7;}})[_0x3270db(0x196)](_0xc6d4f=>_0xc6d4f!==null);if(_0x5864e0['length']===0x0)return'';return _0x5864e0[_0x3270db(0x171)](_0x10ed32);}[a0_0x165d7d(0x201)](_0x37eeb7){const _0x5155ba=a0_0x165d7d,_0x28971e={'xeLBe':_0x5155ba(0x20c),'srCqV':_0x5155ba(0x170),'LWQfK':'DESC','xChit':'ASC','JdSFP':function(_0xa997f1,_0x23527f){return _0xa997f1===_0x23527f;}};if(!_0x37eeb7||_0x28971e[_0x5155ba(0x206)](_0x37eeb7['length'],0x0))return'';const _0x4b0794=_0x37eeb7[_0x5155ba(0x1e8)](_0x114386=>{const _0x3ef073=_0x5155ba,{column:_0x115476,direction:_0x54215d}=_0x114386;if(!_0x115476)return logger['warn']({'event':_0x28971e[_0x3ef073(0x19a)],'item':_0x114386},_0x28971e['srCqV']),null;const _0x437d89=_0x54215d&&_0x54215d['toUpperCase']()==='DESC'?_0x28971e['LWQfK']:_0x28971e[_0x3ef073(0x1e5)];return _0x115476+'\x20'+_0x437d89;})[_0x5155ba(0x196)](_0x341660=>_0x341660!==null);if(_0x4b0794['length']===0x0)return'';return _0x4b0794['join'](',\x20');}async[a0_0x165d7d(0x1e0)](_0x435bb8,_0x665781,_0xa84cae){const _0x2cde3b=a0_0x165d7d,_0x43fe99={'SQjBD':function(_0x20ff16,_0x38b41c){return _0x20ff16/_0x38b41c;},'mdaxm':function(_0x9c020f,_0x5553c8){return _0x9c020f(_0x5553c8);},'vfuwR':function(_0x34556c,_0x2c3dc8){return _0x34556c>_0x2c3dc8;},'uoGEJ':_0x2cde3b(0x1d0),'Ijdpp':'excel_columns_from_query_result','eawBY':'excel_columns_from_config'},_0x1921ed=_0x43fe99[_0x2cde3b(0x1e2)](require,'../utils/excel-generator'),_0x460bcb=new _0x1921ed(),_0x3df33d=_0xa84cae['filename']?_0xa84cae['filename']+'-'+_0x435bb8:_0x2cde3b(0x186)+_0x435bb8,_0x344429=path['join'](this[_0x2cde3b(0x208)],_0x3df33d+_0x2cde3b(0x1df));let _0x443529=_0xa84cae['columns'];const _0x4898dd=_0xa84cae[_0x2cde3b(0x184)]&&_0xa84cae[_0x2cde3b(0x184)][_0x2cde3b(0x1de)](),_0x31ebf0=_0x443529&&_0x443529[_0x2cde3b(0x1d9)]===0x1&&(_0x443529[0x0]==='*'||_0x443529[0x0]['toLowerCase']()==='all');if(_0x43fe99['vfuwR'](_0x665781[_0x2cde3b(0x1d9)],0x0)){const _0x20892a=Object[_0x2cde3b(0x180)](_0x665781[0x0]);if(_0x4898dd)_0x443529=_0x20892a,logger['info']({'event':_0x2cde3b(0x18e),'columns':_0x443529},_0x2cde3b(0x1ab)+_0x443529[_0x2cde3b(0x1d9)]+_0x2cde3b(0x185));else{if(_0x31ebf0)_0x443529=_0x20892a,logger[_0x2cde3b(0x1f6)]({'event':_0x2cde3b(0x1d8),'columns':_0x443529},'Using\x20all\x20'+_0x443529['length']+_0x2cde3b(0x172));else{if(_0x443529&&_0x443529['length']>0x0){const _0x44eda7=_0x443529['filter'](_0x5a8760=>_0x20892a['includes'](_0x5a8760));_0x43fe99['vfuwR'](_0x44eda7['length'],0x0)?(_0x443529=_0x44eda7,logger[_0x2cde3b(0x1f6)]({'event':'excel_columns_from_request','requestedColumns':_0xa84cae[_0x2cde3b(0x176)],'validColumns':_0x443529},'Using\x20'+_0x443529[_0x2cde3b(0x1d9)]+_0x2cde3b(0x1fc))):(_0x443529=_0x20892a,logger['warn']({'event':_0x43fe99['uoGEJ'],'requestedColumns':_0xa84cae[_0x2cde3b(0x176)],'availableColumns':_0x20892a},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x20892a['length']+_0x2cde3b(0x177)));}else _0x443529=_0x20892a,logger[_0x2cde3b(0x1f6)]({'event':_0x43fe99[_0x2cde3b(0x191)],'columns':_0x443529},'Using\x20'+_0x443529['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x2cde3b(0x1f6)]({'event':_0x43fe99['eawBY'],'columns':_0x443529},_0x2cde3b(0x1ab)+(_0x443529?.[_0x2cde3b(0x1d9)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x460bcb[_0x2cde3b(0x1ff)]({'data':_0x665781,'columns':_0x443529,'columnFormats':_0xa84cae[_0x2cde3b(0x1d7)]||null,'fieldLabels':_0xa84cae['fieldLabels']||null,'filePath':_0x344429,'onProgress':async _0x47092a=>{const _0x31f6c8=_0x2cde3b;await redisHelper['updateJob'](_0x435bb8,{'progress':Math['round'](_0x47092a),'processed_rows':Math[_0x31f6c8(0x1f0)](_0x43fe99['SQjBD'](_0x47092a,0x64)*_0x665781[_0x31f6c8(0x1d9)])});}}),_0x344429;}async[a0_0x165d7d(0x205)](_0x9b9f1b){const _0x209769=a0_0x165d7d,_0x2d0e3a={'YivLm':_0x209769(0x1b7),'TQmhN':function(_0x51486f,_0x488d31,_0x5431ac,_0x4ca287){return _0x51486f(_0x488d31,_0x5431ac,_0x4ca287);},'rISfI':_0x209769(0x1ac),'riNSZ':_0x209769(0x1ad)},_0x2f1d18=await redisHelper['getJob'](_0x9b9f1b);if(!_0x2f1d18||_0x2f1d18['status']!==_0x2d0e3a[_0x209769(0x18b)])return null;try{return await fs['access'](_0x2f1d18[_0x209769(0x1b8)]),_0x2f1d18['file_path'];}catch(_0x460f39){return _0x2d0e3a[_0x209769(0x179)](logError,_0x460f39,{'event':_0x2d0e3a[_0x209769(0x1bd)],'jobId':_0x9b9f1b,'path':_0x2f1d18[_0x209769(0x1b8)]},_0x2d0e3a['riNSZ']),null;}}async['cleanup'](){const _0x3a88e4=a0_0x165d7d,_0x1517f3={'vTZKD':'Starting\x20export\x20cleanup','fmTFr':function(_0x288cef,_0x212dd2){return _0x288cef-_0x212dd2;},'KgbdM':function(_0x6e9c79,_0x266aa5){return _0x6e9c79*_0x266aa5;},'wRUuJ':function(_0x50f9d5,_0x414f1c){return _0x50f9d5*_0x414f1c;},'WOdEP':'Export\x20file\x20deleted','yYCJa':'export_file_delete_error','QfJbA':_0x3a88e4(0x1af),'sxgeY':_0x3a88e4(0x1c3)};logger['info']({'event':_0x3a88e4(0x192)},_0x1517f3['vTZKD']);const _0x29235a=await redisHelper[_0x3a88e4(0x1d2)]();let _0x452463=0x0;for(const _0xb3e3db of _0x29235a){const _0x40cee3=new Date(_0xb3e3db['created_at']),_0x53ef53=new Date(),_0x26b817=_0x1517f3[_0x3a88e4(0x187)](_0x53ef53,_0x40cee3)/_0x1517f3[_0x3a88e4(0x199)](_0x1517f3[_0x3a88e4(0x1a0)](0x3e8,0x3c),0x3c);if(_0x26b817>0x1){if(_0xb3e3db['file_path'])try{await fs['unlink'](_0xb3e3db[_0x3a88e4(0x1b8)]),logger[_0x3a88e4(0x1f6)]({'event':'export_file_deleted','path':_0xb3e3db['file_path']},_0x1517f3['WOdEP']);}catch(_0x118f91){logger['warn']({'event':_0x1517f3['yYCJa'],'path':_0xb3e3db[_0x3a88e4(0x1b8)],'error':_0x118f91['message']},_0x1517f3['QfJbA']);}await redisHelper[_0x3a88e4(0x1cb)](_0xb3e3db[_0x3a88e4(0x1d3)]),_0x452463++;}}return logger[_0x3a88e4(0x1f6)]({'event':_0x1517f3['sxgeY'],'deleted':_0x452463},_0x3a88e4(0x1ce)),_0x452463;}}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x7c3958=a0_0x41b3;(function(_0x1ffc7f,_0x190597){const _0x3723e4=a0_0x41b3,_0xec9915=_0x1ffc7f();while(!![]){try{const _0x351472=parseInt(_0x3723e4(0x150))/0x1*(parseInt(_0x3723e4(0x1b4))/0x2)+parseInt(_0x3723e4(0x135))/0x3*(-parseInt(_0x3723e4(0x163))/0x4)+-parseInt(_0x3723e4(0x16e))/0x5+parseInt(_0x3723e4(0x14e))/0x6+-parseInt(_0x3723e4(0x1a1))/0x7*(parseInt(_0x3723e4(0x1a6))/0x8)+-parseInt(_0x3723e4(0x1bd))/0x9+-parseInt(_0x3723e4(0x1bf))/0xa*(-parseInt(_0x3723e4(0x165))/0xb);if(_0x351472===_0x190597)break;else _0xec9915['push'](_0xec9915['shift']());}catch(_0x5896cc){_0xec9915['push'](_0xec9915['shift']());}}}(a0_0x3f16,0xc77b8));const {v7:uuidv7}=require('uuid'),path=require(a0_0x7c3958(0x1b6)),fs=require('fs')[a0_0x7c3958(0x12c)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x7c3958(0x1b9)),dbType=(process[a0_0x7c3958(0x1a0)][a0_0x7c3958(0x1ad)]||'postgresql')[a0_0x7c3958(0x1d0)]();let executeQuery,executeTransaction,oracleDb;function a0_0x41b3(_0x29592e,_0x222f7e){_0x29592e=_0x29592e-0x12a;const _0x3f1642=a0_0x3f16();let _0x41b3f6=_0x3f1642[_0x29592e];if(a0_0x41b3['oRNVeK']===undefined){var _0x108469=function(_0xeff271){const _0x3e866c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x520d91='',_0x24a253='';for(let _0x35d46a=0x0,_0x2c3b55,_0x498a99,_0x346010=0x0;_0x498a99=_0xeff271['charAt'](_0x346010++);~_0x498a99&&(_0x2c3b55=_0x35d46a%0x4?_0x2c3b55*0x40+_0x498a99:_0x498a99,_0x35d46a++%0x4)?_0x520d91+=String['fromCharCode'](0xff&_0x2c3b55>>(-0x2*_0x35d46a&0x6)):0x0){_0x498a99=_0x3e866c['indexOf'](_0x498a99);}for(let _0x2486a3=0x0,_0x245f39=_0x520d91['length'];_0x2486a3<_0x245f39;_0x2486a3++){_0x24a253+='%'+('00'+_0x520d91['charCodeAt'](_0x2486a3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24a253);};a0_0x41b3['bOcnCR']=_0x108469,a0_0x41b3['rTIUWh']={},a0_0x41b3['oRNVeK']=!![];}const _0x7e1b69=_0x3f1642[0x0],_0x96f372=_0x29592e+_0x7e1b69,_0x2ff8a9=a0_0x41b3['rTIUWh'][_0x96f372];return!_0x2ff8a9?(_0x41b3f6=a0_0x41b3['bOcnCR'](_0x41b3f6),a0_0x41b3['rTIUWh'][_0x96f372]=_0x41b3f6):_0x41b3f6=_0x2ff8a9,_0x41b3f6;}if(dbType==='oracle')oracleDb=require(a0_0x7c3958(0x142)),executeQuery=(_0x344ba0,_0x27f79f)=>oracleDb[a0_0x7c3958(0x180)](_0x344ba0,_0x27f79f),executeTransaction=_0x242274=>oracleDb[a0_0x7c3958(0x156)](_0x242274);else{if(dbType===a0_0x7c3958(0x15b)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xe47d3b,_0x386cda)=>mysqlDb['executeQuery'](_0xe47d3b,_0x386cda),executeTransaction=_0x44d2a0=>mysqlDb[a0_0x7c3958(0x156)](_0x44d2a0);}else{const db=require(a0_0x7c3958(0x148));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x7c3958(0x156)];}}const excelParser=require('../utils/excel-parser'),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x7c3958(0x1cf)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x327ee7=a0_0x7c3958;this[_0x327ee7(0x176)]=null;}get[a0_0x7c3958(0x13e)](){const _0x28cdaa=a0_0x7c3958,_0x17b96d={'gBqxB':_0x28cdaa(0x1b3)};if(!this['_uploadDir']){const _0x51a38a=process[_0x28cdaa(0x1a0)][_0x28cdaa(0x132)]||_0x17b96d['gBqxB'];this[_0x28cdaa(0x176)]=process[_0x28cdaa(0x1a0)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x51a38a);}return this[_0x28cdaa(0x176)];}[a0_0x7c3958(0x13b)](){const _0x3291af=a0_0x7c3958,_0x586441={'TADwK':_0x3291af(0x1a2),'LssjA':function(_0x6c89db){return _0x6c89db();},'jarak':function(_0x2108d5,_0x253f8e){return _0x2108d5+_0x253f8e;}},_0x177a75=_0x586441[_0x3291af(0x143)],_0x2af9c2=Date[_0x3291af(0x17a)]()['toString'](0x24),_0x408216=_0x586441[_0x3291af(0x14b)](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x2af9c2[_0x3291af(0x1c6)]),_0x450971=_0x586441[_0x3291af(0x14c)](_0x2af9c2,_0x408216)['substring'](0x0,0xc);let _0x2765b1='';for(let _0x3a071f=0x0;_0x3a071f<0xc;_0x3a071f++){_0x450971[_0x3a071f]?_0x2765b1+=_0x450971[_0x3a071f]:_0x2765b1+=_0x177a75[_0x3291af(0x1d4)](Math['floor'](Math['random']()*_0x177a75['length']));}return _0x2765b1;}['buildLabelToFieldMap'](_0x113e6a){const _0x424ce=a0_0x7c3958,_0x1627c9={'bRxNS':function(_0x3463ed,_0x46caf2){return _0x3463ed(_0x46caf2);},'sAQbv':'$1_$2','kuqmo':_0x424ce(0x15c)},_0x483782=new Map();if(!_0x113e6a)return _0x483782;return Object[_0x424ce(0x130)](_0x113e6a)['forEach'](([_0x128a3c,_0x34e51c])=>{const _0x3125e5=_0x424ce,_0x112585=_0x1627c9['bRxNS'](String,_0x34e51c)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x1627c9[_0x3125e5(0x1ba)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x1627c9[_0x3125e5(0x1ba)])['toLowerCase']();_0x483782['set'](_0x112585,_0x128a3c);}),logger[_0x424ce(0x149)]({'event':_0x1627c9['kuqmo'],'mappingCount':_0x483782['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x483782;}['applyColumnFormats'](_0x2156bf,_0x56ae87){const _0x53557c=a0_0x7c3958,_0x3d6dfa={'StIGW':function(_0x802e7c,_0xc7dca7){return _0x802e7c===_0xc7dca7;},'ekHrE':function(_0x5c4141,_0x3fabbe){return _0x5c4141===_0x3fabbe;},'efkaC':_0x53557c(0x182),'lqEMq':'boolean'};if(!_0x56ae87||Object[_0x53557c(0x197)](_0x56ae87)['length']===0x0)return _0x2156bf;return _0x2156bf[_0x53557c(0x18f)](_0x6b109e=>{const _0x274f0c=_0x53557c,_0x172d27={..._0x6b109e};for(const [_0x3ec8a3,_0xfd5869]of Object[_0x274f0c(0x130)](_0x56ae87)){const _0x28b4a3=_0x172d27[_0x3ec8a3];if(_0x3d6dfa['StIGW'](_0x28b4a3,null)||_0x3d6dfa[_0x274f0c(0x1b2)](_0x28b4a3,undefined)||_0x3d6dfa[_0x274f0c(0x188)](_0x28b4a3,'')){_0x172d27[_0x3ec8a3]=null;continue;}switch(_0xfd5869[_0x274f0c(0x138)]){case _0x3d6dfa[_0x274f0c(0x183)]:_0x172d27[_0x3ec8a3]=this[_0x274f0c(0x168)](_0x28b4a3);break;case'number':_0x172d27[_0x3ec8a3]=this['formatNumberForDatabase'](_0x28b4a3);break;case _0x3d6dfa['lqEMq']:_0x172d27[_0x3ec8a3]=this[_0x274f0c(0x1c9)](_0x28b4a3);break;case _0x274f0c(0x14a):_0x172d27[_0x3ec8a3]=String(_0x28b4a3);break;default:break;}}return _0x172d27;});}['formatDateForDatabase'](_0x96e028){const _0x21555f=a0_0x7c3958,_0x288ea8={'ckIfL':function(_0x322ed7,_0x2bbb4d){return _0x322ed7===_0x2bbb4d;},'hjZHC':function(_0x4acbf1,_0x17bd10){return _0x4acbf1===_0x17bd10;},'mxdHF':function(_0x473a72,_0xa07d8a){return _0x473a72===_0xa07d8a;},'iGPyE':function(_0x31b772,_0x4f077a){return _0x31b772(_0x4f077a);},'VqnbD':function(_0x297cd4,_0x1b259b){return _0x297cd4===_0x1b259b;},'CwrtC':'string'};if(_0x288ea8[_0x21555f(0x141)](_0x96e028,null)||_0x96e028===undefined||_0x288ea8[_0x21555f(0x194)](_0x96e028,''))return null;if(_0x288ea8['mxdHF'](typeof _0x96e028,'string')&&/^\d{4}-\d{2}-\d{2}$/[_0x21555f(0x15a)](_0x96e028))return _0x96e028;if(_0x96e028 instanceof Date){if(isNaN(_0x96e028['getTime']()))return null;const _0x41d333=_0x96e028[_0x21555f(0x164)](),_0x24536f=String(_0x96e028[_0x21555f(0x173)]()+0x1)[_0x21555f(0x19b)](0x2,'0'),_0x110924=_0x288ea8['iGPyE'](String,_0x96e028[_0x21555f(0x1e0)]())[_0x21555f(0x19b)](0x2,'0');return _0x41d333+'-'+_0x24536f+'-'+_0x110924;}if(_0x288ea8['VqnbD'](typeof _0x96e028,_0x288ea8[_0x21555f(0x166)])){const _0x23c8e9=_0x96e028['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x23c8e9){const _0x33e199=String(_0x23c8e9[0x1])[_0x21555f(0x19b)](0x2,'0'),_0x2b769f=_0x288ea8['iGPyE'](String,_0x23c8e9[0x2])[_0x21555f(0x19b)](0x2,'0'),_0x5ea985=_0x23c8e9[0x3];return _0x5ea985+'-'+_0x2b769f+'-'+_0x33e199;}const _0x404b78=_0x96e028[_0x21555f(0x144)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x404b78){const _0x543fbc=_0x404b78[0x1],_0xf060e6=String(_0x404b78[0x2])[_0x21555f(0x19b)](0x2,'0'),_0xed6c40=String(_0x404b78[0x3])[_0x21555f(0x19b)](0x2,'0');return _0x543fbc+'-'+_0xf060e6+'-'+_0xed6c40;}}return _0x96e028;}['formatNumberForDatabase'](_0x21ecf7){const _0x3ca2ba=a0_0x7c3958,_0x276196={'nmIyT':function(_0x4a6398,_0x532986){return _0x4a6398===_0x532986;},'vjtOH':'string','FmgxE':function(_0x4faa24,_0xf698fe){return _0x4faa24(_0xf698fe);},'LlMcu':function(_0x3f9c90,_0x9c9043){return _0x3f9c90(_0x9c9043);}};if(_0x21ecf7===null||_0x21ecf7===undefined||_0x276196['nmIyT'](_0x21ecf7,''))return null;if(typeof _0x21ecf7===_0x3ca2ba(0x1b1))return isNaN(_0x21ecf7)?null:_0x21ecf7;if(typeof _0x21ecf7===_0x276196['vjtOH']){let _0x2a9290=_0x21ecf7[_0x3ca2ba(0x1ae)]();const _0x1db1e3=/,\d{1,2}$/[_0x3ca2ba(0x15a)](_0x2a9290)&&!/,\d{3}/[_0x3ca2ba(0x15a)](_0x2a9290);_0x1db1e3?_0x2a9290=_0x2a9290[_0x3ca2ba(0x181)](/\./g,'')['replace'](',','.'):_0x2a9290=_0x2a9290[_0x3ca2ba(0x181)](/,/g,'');const _0x14d740=_0x276196['FmgxE'](parseFloat,_0x2a9290);return _0x276196[_0x3ca2ba(0x19f)](isNaN,_0x14d740)?null:_0x14d740;}return null;}[a0_0x7c3958(0x1c9)](_0xb4ff1c){const _0x489a39=a0_0x7c3958,_0x123597={'UaflB':function(_0x5df72a,_0x3adc4d){return _0x5df72a===_0x3adc4d;},'uMsdP':_0x489a39(0x1df),'tTSPA':function(_0x474fd1,_0x4a029e){return _0x474fd1===_0x4a029e;},'jiOuC':_0x489a39(0x1c7),'cLBwK':function(_0x4db978,_0x59ae94){return _0x4db978===_0x59ae94;},'iaogT':_0x489a39(0x140)};if(_0xb4ff1c===null||_0x123597['UaflB'](_0xb4ff1c,undefined)||_0xb4ff1c==='')return null;if(_0x123597[_0x489a39(0x18e)](typeof _0xb4ff1c,_0x489a39(0x131)))return _0xb4ff1c?'true':_0x123597[_0x489a39(0x134)];if(_0x123597[_0x489a39(0x158)](typeof _0xb4ff1c,_0x489a39(0x15d))){const _0x34a159=_0xb4ff1c['trim']()['toLowerCase']();if([_0x489a39(0x140),_0x123597['jiOuC'],'y','1']['includes'](_0x34a159))return'true';if(['false','no','n','0']['includes'](_0x34a159))return _0x123597['uMsdP'];return null;}if(_0x123597[_0x489a39(0x16b)](typeof _0xb4ff1c,_0x489a39(0x1b1)))return _0xb4ff1c?_0x123597[_0x489a39(0x1da)]:'false';return null;}async[a0_0x7c3958(0x184)](_0x34a369,_0x458de6){const _0x4c1e67=a0_0x7c3958,_0x547394={'gVnLE':function(_0x413da6,_0x372fc6){return _0x413da6||_0x372fc6;},'nJXKV':'Excel\x20headers\x20mapped\x20to\x20field\x20names','nmTHh':_0x4c1e67(0x193),'tXUCr':_0x4c1e67(0x1d1),'FYVJk':_0x4c1e67(0x196),'zWETb':_0x4c1e67(0x154),'jlLth':_0x4c1e67(0x198)},_0x162286=this['generateId']();try{let {headers:_0x41ec37,rows:_0x59f056,totalRows:_0x3315fd}=await excelParser[_0x4c1e67(0x178)](_0x34a369[_0x4c1e67(0x1b6)]);const _0x3ad9b1=this['buildLabelToFieldMap'](_0x458de6[_0x4c1e67(0x162)]),_0x2fb833=_0x41ec37['map'](_0x2febc0=>{const _0x2ca5ff=_0x4c1e67,_0xf802e1=_0x3ad9b1['get'](_0x2febc0);return _0x547394[_0x2ca5ff(0x1d5)](_0xf802e1,_0x2febc0);});_0x59f056=_0x59f056[_0x4c1e67(0x18f)](_0xa7f023=>{const _0x3a92e4=_0x4c1e67,_0x5d5986={};return _0x41ec37[_0x3a92e4(0x174)]((_0x2cb959,_0x3afec8)=>{const _0x2c6a79=_0x2fb833[_0x3afec8];_0x5d5986[_0x2c6a79]=_0xa7f023[_0x2cb959];}),_0x5d5986;}),_0x41ec37=_0x2fb833,logger['debug']({'event':'headers_mapped','original':_0x41ec37['length'],'mapped':_0x2fb833['filter']((_0x2b9ccb,_0x357baa)=>_0x2b9ccb!==_0x41ec37[_0x357baa])[_0x4c1e67(0x1c6)]},_0x547394[_0x4c1e67(0x1c0)]);_0x458de6[_0x4c1e67(0x1b7)]&&Object['keys'](_0x458de6[_0x4c1e67(0x1b7)])['length']>0x0&&(_0x59f056=this['applyColumnFormats'](_0x59f056,_0x458de6['columnFormats']),logger['debug']({'event':_0x547394['nmTHh'],'formatCount':Object['keys'](_0x458de6['columnFormats'])['length'],'formats':Object[_0x4c1e67(0x197)](_0x458de6['columnFormats'])},_0x547394[_0x4c1e67(0x17e)]));if(_0x458de6[_0x4c1e67(0x19a)]&&_0x458de6[_0x4c1e67(0x19a)][_0x4c1e67(0x147)]){const {column:_0x15371a,value:_0x22191f}=_0x458de6['scopeOverride'];_0x59f056=_0x59f056[_0x4c1e67(0x18f)](_0x52a679=>({..._0x52a679,[_0x15371a]:_0x22191f})),logger[_0x4c1e67(0x149)]({'event':_0x4c1e67(0x1cc),'column':_0x15371a,'rowCount':_0x59f056[_0x4c1e67(0x1c6)]},_0x4c1e67(0x13a));}const _0x23aec0=_0x458de6[_0x4c1e67(0x18a)]?Object[_0x4c1e67(0x13c)](_0x458de6['lookupFields'])[_0x4c1e67(0x18f)](_0x369c0c=>_0x369c0c[_0x4c1e67(0x1c3)]):[],_0x201464=_0x458de6[_0x4c1e67(0x177)][_0x4c1e67(0x13d)](_0x181ad1=>!_0x23aec0['includes'](_0x181ad1)),_0x2fb143=excelParser[_0x4c1e67(0x133)](_0x41ec37,_0x201464);if(!_0x2fb143[_0x4c1e67(0x1ac)]){await fs[_0x4c1e67(0x1a7)](_0x34a369[_0x4c1e67(0x1b6)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2fb143['missingFields'][_0x4c1e67(0x169)](',\x20'));}const _0x3291b0={'upload_id':_0x162286,'filename':_0x34a369['originalname'],'total_rows':_0x3315fd,'headers':_0x41ec37,'rows':_0x59f056,'params':_0x458de6,'created_at':new Date()['toISOString']()};return await redisHelper[_0x4c1e67(0x139)]('upload:'+_0x162286,_0x3291b0,0xe10),await fs[_0x4c1e67(0x1a7)](_0x34a369['path']),logger['info']({'event':_0x547394[_0x4c1e67(0x1dd)],'uploadId':_0x162286,'filename':_0x34a369[_0x4c1e67(0x1d2)],'totalRows':_0x3315fd},_0x547394['zWETb']),{'upload_id':_0x162286,'total_rows':_0x3315fd,'preview':_0x59f056[_0x4c1e67(0x191)](0x0,0xa)};}catch(_0x386a70){try{await fs[_0x4c1e67(0x1a7)](_0x34a369['path']);}catch(_0x913cfa){logError(_0x913cfa,{'event':_0x547394['jlLth']},_0x4c1e67(0x161));}throw _0x386a70;}}async[a0_0x7c3958(0x1a9)](_0x4c9848){const _0x11515b=a0_0x7c3958,_0x49c847={'GJWXZ':_0x11515b(0x172),'GKmnE':'preview_job_created','fkZjc':_0x11515b(0x1a3)},_0x3dd264=this['generateId'](),_0x4b4d83=await redisHelper[_0x11515b(0x189)]('upload:'+_0x4c9848);if(!_0x4b4d83)throw new Error(_0x11515b(0x190));const _0x385532={'job_id':_0x3dd264,'upload_id':_0x4c9848,'status':'validating','progress':0x0,'created_at':new Date()[_0x11515b(0x159)](),'params':_0x4b4d83['params']};return await redisHelper['setJob'](_0x11515b(0x1cb)+_0x3dd264,_0x385532,0xe10),logger['info']({'event':_0x49c847['GKmnE'],'jobId':_0x3dd264,'uploadId':_0x4c9848},_0x49c847[_0x11515b(0x186)]),this[_0x11515b(0x19e)](_0x3dd264,_0x4c9848,_0x4b4d83)['catch'](_0x3f27b9=>{logError(_0x3f27b9,{'event':'preview_process_error','jobId':_0x3dd264},_0x49c847['GJWXZ']);}),{'job_id':_0x3dd264,'status':_0x11515b(0x1dc)};}[a0_0x7c3958(0x18b)](_0x8da6f8,_0x15f7f6){const _0x173334=a0_0x7c3958,_0x357b2c={'kLRJI':function(_0xe21df1,_0x385d3a){return _0xe21df1===_0x385d3a;},'IiICR':function(_0x33786c){return _0x33786c();},'Qrolm':function(_0x27c09f,_0x820c31){return _0x27c09f+_0x820c31;}};_0x8da6f8[_0x173334(0x174)]((_0x2f7b92,_0x3011e3)=>{const _0x37f248=_0x173334,_0x5c5d09={'hzPBF':function(_0x418e4b,_0x5cb129){return _0x357b2c['kLRJI'](_0x418e4b,_0x5cb129);},'SQOav':function(_0x2258f6,_0x8bb387){return _0x357b2c['kLRJI'](_0x2258f6,_0x8bb387);},'VVxfD':function(_0xe93b1c){return _0x357b2c['IiICR'](_0xe93b1c);},'VBppa':function(_0x1ce3f4,_0x2c7283){const _0x131410=a0_0x41b3;return _0x357b2c[_0x131410(0x153)](_0x1ce3f4,_0x2c7283);}};_0x15f7f6[_0x37f248(0x174)](_0x49807b=>{const _0xd21f4c=_0x37f248,_0x446f83=_0x2f7b92[_0x49807b];if(_0x5c5d09[_0xd21f4c(0x1de)](_0x446f83,null)||_0x5c5d09['SQOav'](_0x446f83,undefined)||_0x446f83===''||String(_0x446f83)['trim']()==='-'){const _0x522726=_0x5c5d09['VVxfD'](uuidv7);_0x2f7b92[_0x49807b]=_0x522726,_0x2f7b92['_generated_uuid']=_0x2f7b92['_generated_uuid']||{},_0x2f7b92[_0xd21f4c(0x160)][_0x49807b]=_0x522726,logger[_0xd21f4c(0x149)]({'event':_0xd21f4c(0x179),'rowIndex':_0x3011e3,'field':_0x49807b,'uuid':_0x522726},'Auto-generated\x20UUID\x20for\x20'+_0x49807b+'\x20at\x20row\x20'+_0x5c5d09['VBppa'](_0x3011e3,0x2));}});});}async[a0_0x7c3958(0x19e)](_0x347660,_0x147ccd,_0x5a6da3){const _0xfb30e9=a0_0x7c3958,_0x3779d3={'rUvfW':function(_0x5297dd,_0x59909e){return _0x5297dd===_0x59909e;},'XVbna':_0xfb30e9(0x1d8),'hdYiW':'SKIP','ZWVrV':function(_0xb9c885,_0x1335f2){return _0xb9c885>_0x1335f2;},'qLBpE':'processing_lookup_fields','hfpuk':'Processing\x20lookup\x20fields','XMuLd':function(_0x2ec5e3,_0x27b531){return _0x2ec5e3||_0x27b531;},'tVGlT':_0xfb30e9(0x137),'TygAL':'preview_job_completed','aXQgX':_0xfb30e9(0x16a),'GCmCd':'Preview\x20job\x20failed'};try{let {rows:_0x1d45ed,params:_0x19bc02}=_0x5a6da3;const {requiredFields:_0x1a5512,validations:_0x111022,upsertKeys:_0x399e1b,tableName:_0x34b75c,primaryKey:_0x2aa44f,fieldName:_0x59ea86,upsertStrategy:_0x19d0d4,lookupFields:_0x5746f6}=_0x19bc02;this[_0xfb30e9(0x18b)](_0x1d45ed,_0x399e1b);let _0x1f097d=[];if(_0x5746f6&&_0x3779d3['ZWVrV'](Object[_0xfb30e9(0x197)](_0x5746f6)['length'],0x0)){logger[_0xfb30e9(0x157)]({'event':_0x3779d3['qLBpE'],'jobId':_0x347660,'lookupFieldCount':Object[_0xfb30e9(0x197)](_0x5746f6)[_0xfb30e9(0x1c6)]},_0x3779d3[_0xfb30e9(0x19c)]);const _0x15fdd8=await lookupResolver['processLookupFields'](_0x1d45ed,_0x5746f6);_0x1d45ed=_0x15fdd8[_0xfb30e9(0x155)],_0x1f097d=_0x15fdd8[_0xfb30e9(0x170)],_0x5a6da3[_0xfb30e9(0x15e)]=_0x1d45ed;}const _0x1bc417=importValidator[_0xfb30e9(0x1b0)](_0x1d45ed,_0x1a5512||[],_0x3779d3['XMuLd'](_0x111022,{}));_0x1f097d[_0xfb30e9(0x174)](_0x43dfa8=>{const _0x494089=_0xfb30e9,_0x200309=_0x1bc417[_0x494089(0x1d7)](_0x3412cf=>_0x3412cf['rowIndex']===_0x43dfa8['rowIndex']);_0x200309?_0x200309['errors'][_0x494089(0x12a)](_0x43dfa8[_0x494089(0x171)]):_0x1bc417['push']({'rowIndex':_0x43dfa8['rowIndex'],'rowData':_0x1d45ed[_0x43dfa8[_0x494089(0x192)]],'errors':[_0x43dfa8['message']]});});const _0x424e21=importValidator['detectDuplicatesInFile'](_0x1d45ed,_0x399e1b);_0x424e21['forEach'](_0x2ec824=>{const _0x38c1a2=_0xfb30e9,_0x44bca9=_0x1bc417['find'](_0x183d02=>_0x183d02['rowIndex']===_0x2ec824['rowIndex']),_0x3eed49=_0x399e1b['map'](_0x8e01bf=>_0x8e01bf['toUpperCase']())['join'](',\x20'),_0xaeb4f0='Duplicate\x20value\x20for\x20'+_0x3eed49;_0x44bca9?_0x44bca9[_0x38c1a2(0x170)][_0x38c1a2(0x12a)](_0xaeb4f0):_0x1bc417['push']({'rowIndex':_0x2ec824['rowIndex'],'rowData':_0x1d45ed[_0x2ec824['rowIndex']],'errors':[_0xaeb4f0]});}),await this['detectDatabaseDuplicates'](_0x1d45ed,_0x399e1b,_0x34b75c,_0x2aa44f,_0x19d0d4,_0x1bc417),_0x1bc417['forEach'](_0x1e3eb8=>{const _0xfbd259=_0xfb30e9,_0x5c601f=_0x1d45ed[_0x1e3eb8[_0xfbd259(0x192)]];_0x5c601f&&(_0x5c601f['_errors']=_0x1e3eb8[_0xfbd259(0x170)]);});let _0x2a1fbb=0x0,_0x542d4e=0x0,_0xa85157=0x0;_0x1d45ed['forEach'](_0x482767=>{const _0x5c155b=_0xfb30e9;if(_0x3779d3['rUvfW'](_0x482767['_action'],_0x3779d3['XVbna']))_0x2a1fbb++;else{if(_0x482767['_action']===_0x5c155b(0x1aa))_0x542d4e++;else _0x482767['_action']===_0x3779d3['hdYiW']&&_0xa85157++;}});const _0x560e06={'job_id':_0x347660,'upload_id':_0x147ccd,'status':_0x3779d3['ZWVrV'](_0x1bc417['length'],0x0)?'preview_error':_0x3779d3['tVGlT'],'progress':0x64,'created_at':_0x5a6da3[_0xfb30e9(0x1ab)],'completed_at':new Date()[_0xfb30e9(0x159)](),'preview':{'total_rows':_0x1d45ed['length'],'insert_count':_0x2a1fbb,'update_count':_0x542d4e,'skip_count':_0xa85157,'error_count':_0x1bc417[_0xfb30e9(0x1c6)],'errors':_0x1bc417,'data':_0x1d45ed,'sample_insert':_0x1d45ed[_0xfb30e9(0x13d)](_0x54774c=>_0x54774c[_0xfb30e9(0x1c5)]===_0xfb30e9(0x1d8))['slice'](0x0,0x5),'sample_update':_0x1d45ed[_0xfb30e9(0x13d)](_0x52fdd7=>_0x52fdd7['_action']===_0xfb30e9(0x1aa))[_0xfb30e9(0x191)](0x0,0x5),'sample_skip':_0x1d45ed['filter'](_0x38387e=>_0x38387e[_0xfb30e9(0x1c5)]===_0xfb30e9(0x199))['slice'](0x0,0x5)},'params':_0x19bc02};await redisHelper['setJob']('job:'+_0x347660,_0x560e06,0xe10),_0x5a6da3[_0xfb30e9(0x15e)]=_0x1d45ed,await redisHelper['setJob'](_0xfb30e9(0x12e)+_0x147ccd,_0x5a6da3,0xe10),logger[_0xfb30e9(0x157)]({'event':_0x3779d3[_0xfb30e9(0x16d)],'jobId':_0x347660,'status':_0x560e06[_0xfb30e9(0x17c)],'insertCount':_0x2a1fbb,'updateCount':_0x542d4e,'skipCount':_0xa85157,'errorCount':_0x1bc417['length']},_0xfb30e9(0x16f));}catch(_0xa426c8){logError(_0xa426c8,{'event':_0x3779d3['aXQgX'],'jobId':_0x347660},_0x3779d3['GCmCd']),await redisHelper[_0xfb30e9(0x139)](_0xfb30e9(0x1cb)+_0x347660,{'job_id':_0x347660,'upload_id':_0x147ccd,'status':_0xfb30e9(0x1ca),'progress':0x0,'error':_0xa426c8[_0xfb30e9(0x171)],'created_at':new Date()[_0xfb30e9(0x159)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x7c3958(0x18d)](_0x2045cb,_0x397736,_0x2308fa,_0x28d7b0,_0x4d5c82='update_existing',_0x2f7ae2=[]){const _0x3c81e7=a0_0x7c3958,_0x2e4e09={'atYLc':function(_0x287adf,_0x433f08){return _0x287adf===_0x433f08;},'teEYo':function(_0x4b9545,_0x7c3755){return _0x4b9545===_0x7c3755;},'jSWCb':function(_0x469040,_0x1bc4eb){return _0x469040(_0x1bc4eb);},'ZuAbA':'update_existing','EQraH':'UPDATE','nkmzQ':_0x3c81e7(0x199),'kQOgz':'skip_existing','WslCS':'INSERT','zOctD':function(_0x1fe4f3,_0x30b8e5){return _0x1fe4f3(_0x30b8e5);},'lymnf':function(_0x41c735,_0x326da0){return _0x41c735>_0x326da0;}},_0x292648=upsertBuilder['chunkRows'](_0x2045cb,0x64);for(const _0x4be68f of _0x292648){const _0x4dd4d4=_0x4be68f[_0x3c81e7(0x18f)](_0x29bde0=>_0x29bde0[_0x397736[0x0]]),_0x9b1984=_0x4dd4d4['map'](_0x59d539=>{const _0x3e2c90=_0x3c81e7;if(_0x2e4e09[_0x3e2c90(0x17b)](_0x59d539,null)||_0x2e4e09[_0x3e2c90(0x15f)](_0x59d539,undefined))return'NULL';return'\x27'+_0x2e4e09[_0x3e2c90(0x1b8)](String,_0x59d539)[_0x3e2c90(0x181)](/'/g,'\x27\x27')+'\x27';}),_0x33f9e3='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x28d7b0+',\x20'+_0x397736['join'](',\x20')+_0x3c81e7(0x16c)+_0x2308fa+_0x3c81e7(0x1d9)+_0x397736[0x0]+_0x3c81e7(0x1a5)+_0x9b1984[_0x3c81e7(0x169)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x56cfb1=await _0x2e4e09['zOctD'](executeQuery,_0x33f9e3);dbType===_0x3c81e7(0x167)&&_0x56cfb1&&_0x2e4e09[_0x3c81e7(0x17f)](_0x56cfb1[_0x3c81e7(0x1c6)],0x0)&&(_0x56cfb1=_0x56cfb1[_0x3c81e7(0x18f)](_0x409a81=>{const _0x38a0b0={};for(const [_0x109387,_0x1a349c]of Object['entries'](_0x409a81)){_0x38a0b0[_0x109387['toLowerCase']()]=_0x1a349c;}return _0x38a0b0;}));const _0x43113a=new Map();_0x56cfb1['forEach'](_0x2cdec8=>{const _0x5943d8=_0x2cdec8[_0x397736[0x0]];_0x43113a['set'](_0x5943d8,_0x2cdec8);}),_0x4be68f[_0x3c81e7(0x174)]((_0xd68132,_0x1730ca)=>{const _0x2dd0c2=_0x3c81e7,_0x24b958=_0xd68132[_0x397736[0x0]],_0x25f49a=_0x43113a[_0x2dd0c2(0x1c4)](_0x24b958);if(_0x25f49a){if(_0x4d5c82===_0x2e4e09[_0x2dd0c2(0x1bb)])_0xd68132[_0x2dd0c2(0x1c5)]=_0x2e4e09[_0x2dd0c2(0x18c)],_0xd68132[_0x2dd0c2(0x1c1)]=_0x25f49a[_0x28d7b0];else{if(_0x2e4e09[_0x2dd0c2(0x17b)](_0x4d5c82,_0x2dd0c2(0x12f))){_0xd68132[_0x2dd0c2(0x1c5)]=_0x2e4e09[_0x2dd0c2(0x185)],_0xd68132[_0x2dd0c2(0x195)]=_0xd68132[_0x2dd0c2(0x195)]||[],_0xd68132[_0x2dd0c2(0x195)][_0x2dd0c2(0x12a)](_0x2dd0c2(0x175));const _0x4bed55=_0x2045cb['indexOf'](_0xd68132);_0x4bed55!==-0x1&&_0x2f7ae2['push']({'rowIndex':_0x4bed55,'rowData':_0xd68132,'errors':[_0x2dd0c2(0x175)]});}else _0x4d5c82===_0x2e4e09[_0x2dd0c2(0x1a4)]&&(_0xd68132['_action']=_0x2dd0c2(0x199));}}else{if(_0x2e4e09[_0x2dd0c2(0x15f)](_0x4d5c82,_0x2dd0c2(0x12b)))_0xd68132[_0x2dd0c2(0x1c5)]=_0x2e4e09['WslCS'];else(_0x2e4e09[_0x2dd0c2(0x15f)](_0x4d5c82,_0x2dd0c2(0x12f))||_0x2e4e09[_0x2dd0c2(0x17b)](_0x4d5c82,_0x2e4e09['kQOgz']))&&(_0xd68132['_action']='INSERT');}});}}async['createCommitJob'](_0x2e48bc){const _0x377842=a0_0x7c3958,_0x325ade={'JvPJE':_0x377842(0x1be),'NRzNO':'Commit\x20processing\x20failed','eEsSQ':_0x377842(0x1c2),'HMfPU':_0x377842(0x145)},_0x1f4407=this[_0x377842(0x13b)](),_0x1d8ebf=await redisHelper[_0x377842(0x189)]('job:'+_0x2e48bc);if(!_0x1d8ebf)throw new Error(_0x377842(0x14f));if(_0x1d8ebf[_0x377842(0x17c)]!==_0x377842(0x137))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x1d8ebf[_0x377842(0x17c)]);const _0x5703d9={'job_id':_0x1f4407,'upload_id':_0x1d8ebf['upload_id'],'preview_job_id':_0x2e48bc,'status':_0x377842(0x145),'progress':0x0,'created_at':new Date()[_0x377842(0x159)](),'params':_0x1d8ebf['params']};return await redisHelper[_0x377842(0x139)]('job:'+_0x1f4407,_0x5703d9,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x1f4407,'previewJobId':_0x2e48bc},_0x325ade[_0x377842(0x136)]),this[_0x377842(0x151)](_0x1f4407,_0x1d8ebf)['catch'](_0x1aa188=>{const _0x28e820=_0x377842;logError(_0x1aa188,{'event':_0x325ade[_0x28e820(0x1af)],'jobId':_0x1f4407},_0x325ade[_0x28e820(0x1db)]);}),{'job_id':_0x1f4407,'status':_0x325ade[_0x377842(0x1b5)]};}async['processCommitJob'](_0x33360f,_0x3229d8){const _0x1a6b72=a0_0x7c3958,_0x4b9d22={'DqTTJ':function(_0x194b63,_0x3a48f0){return _0x194b63>_0x3a48f0;},'tgdVI':_0x1a6b72(0x152),'rdUYd':_0x1a6b72(0x1cd),'dqoFq':function(_0x2faba9,_0x1c8c90){return _0x2faba9||_0x1c8c90;},'reQKm':'update','GyrjM':function(_0x390da6,_0x4343fa){return _0x390da6(_0x4343fa);},'AfuQf':_0x1a6b72(0x1ce),'mNRSC':'commit_job_completed','nUywc':'Commit\x20job\x20completed'};try{const _0x4ad444=await redisHelper['getJob'](_0x1a6b72(0x12e)+_0x3229d8['upload_id']);if(!_0x4ad444)throw new Error(_0x1a6b72(0x190));const {rows:_0x5a6d6f,params:_0x446461}=_0x4ad444,{tableName:_0x4c9372,fieldName:_0x1c1859,primaryKey:_0x2d2436,upsertKeys:_0x3ad5a7,excludeFromImport:_0x11dca5,lookupFields:_0xd50cb3,columnFormats:_0x2dfc55}=_0x446461,_0x8f6c3f=_0xd50cb3?Object['keys'](_0xd50cb3):[],_0x20a7ce=new Set([..._0x11dca5||[],..._0x8f6c3f]);let _0xfcbf2f=_0x1c1859;_0x4b9d22['DqTTJ'](_0x20a7ce['size'],0x0)&&(_0xfcbf2f=_0x1c1859[_0x1a6b72(0x13d)](_0x3e4409=>!_0x20a7ce['has'](_0x3e4409)),logger['debug']({'event':_0x4b9d22['tgdVI'],'originalCount':_0x1c1859['length'],'filteredCount':_0xfcbf2f[_0x1a6b72(0x1c6)],'excludedFields':Array[_0x1a6b72(0x13f)](_0x20a7ce),'lookupSourceFields':_0x8f6c3f},_0x4b9d22[_0x1a6b72(0x1d6)]));const _0x504925=_0x5a6d6f[_0x1a6b72(0x13d)](_0x4bef07=>_0x4bef07[_0x1a6b72(0x1c5)]==='INSERT'),_0xcbfe64=_0x5a6d6f['filter'](_0x57401f=>_0x57401f[_0x1a6b72(0x1c5)]==='UPDATE');let _0x10bc2f=0x0,_0x192a32=0x0;const _0x12d08a=[];if(_0x4b9d22[_0x1a6b72(0x1d3)](_0x504925[_0x1a6b72(0x1c6)],0x0)){const _0x1b715a=upsertBuilder[_0x1a6b72(0x17d)](_0x504925,0x64);for(const _0x136f51 of _0x1b715a){const {query:_0x473f52}=upsertBuilder['buildBatchInsert'](_0x136f51,_0x4c9372,_0xfcbf2f,_0x4b9d22[_0x1a6b72(0x187)](_0x2dfc55,{}));_0x473f52&&_0x12d08a[_0x1a6b72(0x12a)]({'sql':_0x473f52,'count':_0x136f51[_0x1a6b72(0x1c6)],'type':'insert'});}}if(_0x4b9d22[_0x1a6b72(0x1d3)](_0xcbfe64[_0x1a6b72(0x1c6)],0x0)){const _0x43951e=upsertBuilder[_0x1a6b72(0x17d)](_0xcbfe64,0x64);for(const _0x2e2d0f of _0x43951e){const {query:_0x1f63b5}=upsertBuilder['buildBatchUpdate'](_0x2e2d0f,_0x4c9372,_0xfcbf2f,_0x2d2436,_0x3ad5a7,_0x2dfc55||{});_0x1f63b5&&_0x12d08a[_0x1a6b72(0x12a)]({'sql':_0x1f63b5,'count':_0x2e2d0f['length'],'type':_0x4b9d22['reQKm']});}}_0x12d08a[_0x1a6b72(0x1c6)]>0x0&&await _0x4b9d22['GyrjM'](executeTransaction,_0x12d08a['map'](_0x297136=>({'sql':_0x297136['sql'],'params':[]})));_0x12d08a['forEach'](_0x458623=>{const _0xeea6c6=_0x1a6b72;if(_0x458623['type']==='insert')_0x10bc2f+=_0x458623[_0xeea6c6(0x14d)];else _0x192a32+=_0x458623[_0xeea6c6(0x14d)];});const _0x298914={'job_id':_0x33360f,'upload_id':_0x3229d8[_0x1a6b72(0x1bc)],'preview_job_id':_0x3229d8[_0x1a6b72(0x1a8)],'status':_0x4b9d22['AfuQf'],'progress':0x64,'created_at':_0x3229d8[_0x1a6b72(0x1ab)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1a6b72(0x159)](),'result':{'total_rows':_0x5a6d6f['length'],'inserted_rows':_0x10bc2f,'updated_rows':_0x192a32,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x446461};await redisHelper[_0x1a6b72(0x139)]('job:'+_0x33360f,_0x298914,0xe10),logger[_0x1a6b72(0x157)]({'event':_0x4b9d22['mNRSC'],'jobId':_0x33360f,'insertedCount':_0x10bc2f,'updatedCount':_0x192a32},_0x4b9d22[_0x1a6b72(0x12d)]);}catch(_0x209da5){logError(_0x209da5,{'event':'commit_job_failed','jobId':_0x33360f},_0x1a6b72(0x146)),await redisHelper['setJob']('job:'+_0x33360f,{'job_id':_0x33360f,'upload_id':_0x3229d8[_0x1a6b72(0x1bc)],'preview_job_id':_0x3229d8['job_id'],'status':'failed','progress':0x0,'error':_0x209da5['message'],'created_at':_0x3229d8['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1a6b72(0x159)]()},0xe10);}}async[a0_0x7c3958(0x1c8)](_0x2c15ef){const _0xe7f637=a0_0x7c3958,_0x3521c6={'LGYvK':_0xe7f637(0x19d)},_0x528772=await redisHelper['getJob']('job:'+_0x2c15ef);if(!_0x528772)return{'success':![],'error':_0x3521c6['LGYvK']};return{'success':!![],'data':_0x528772};}}function a0_0x3f16(){const _0x44cc3d=['DxbSB2fKx2LK','mti2mZGZndLNwND3sw8','y29TBwL0x3bYB2nLC3nFzxjYB3i','odC0nJGZmg5xENbfzq','BKPys1y','x2v4Axn0Aw5Nswq','q29TBwL0igPVyIbJCMvHDgvK','DgfYz2v0rMLLBgq','z2v0','x2fJDgLVBG','BgvUz3rO','EwvZ','z2v0sM9Iu3rHDhvZ','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','zMfPBgvK','AM9IoG','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','Dg9mB3DLCKnHC2u','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','B3jPz2LUywXUyw1L','rhfuveO','y2HHCKf0','z1zUteu','CMrvwwq','zMLUza','su5trvju','cIaGicaGicaGv0HfuKuG','AwfVz1q','tLj6tK8','DMfSAwrHDgLUzW','rLLwsMS','AhPqqKy','zMfSC2u','z2v0rgf0zq','ChvZAa','DxbKyxrLx2v4Axn0Aw5N','ChjVBwLZzxm','BLv5D2m','DxbSB2fKoG','Aw5Zzxj0x29UBhK','zw50CMLLCW','yM9VBgvHBG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','Du1Zzfa','m3rgzeDYuq','zuvZu1e','ChjLDMLLD19VAW','DhLWzq','C2v0sM9I','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','z2vUzxjHDgvjza','DMfSDwvZ','zMLSDgvY','DxbSB2fKrgLY','zNjVBq','Dhj1zq','y2TjzKW','lI4VDxrPBhmVzgiTB3jHy2XL','vefeD0S','Bwf0y2G','ChjVy2vZC2LUzW','q29TBwL0igPVyIbMywLSzwq','y29SDw1U','lI4VDxrPBhmVzgi','zgvIDwC','Dgv4Da','thnZAKe','AMfYywS','y291BNq','ndu1oda0neTNu2Lfwa','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','odiZu2ztDMn2','ChjVy2vZC0nVBw1PDePVyG','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','uxjVBg0','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ChjVy2vZC2vKuM93CW','zxHLy3v0zvrYyw5Zywn0Aw9U','Aw5MBW','Dfrtuee','Dg9ju09tDhjPBMC','DgvZDa','BxLZCwW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C3rYAw5N','CM93CW','Dgvfww8','x2DLBMvYyxrLzf91DwLK','rMfPBgvKihrVignSzwfUDxaGzMLSzq','zMLLBgrmywjLBhm','mZKWnZe5mLfjCfLeuq','z2v0rNvSBfLLyxi','ntviEvHYEeC','q3DYDem','B3jHy2XL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','AM9PBG','ChjLDMLLD19QB2jFzMfPBgvK','y0XcD0S','cIaGicaGicaGrLjptsa','vhLNquW','nta0mZm3me5IquXMsW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zxjYB3jZ','BwvZC2fNzq','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','z2v0tw9UDgG','zM9YrwfJAa','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','x3vWBg9HzerPCG','zMLLBgroyw1L','CgfYC2vfEgnLBezPBgu','DxvPzf9HDxrVx2DLBMvYyxrLza','BM93','yxrztgm','C3rHDhvZ','y2H1BMTsB3DZ','DfHvq3i','BhLTBMy','zxHLy3v0zvf1zxj5','CMvWBgfJzq','zgf0zq','zwzRyum','DxbSB2fKrMLSzq','BMTTELe','zMTAAMm','zhfVrNe','u3rjr1C','z2v0sM9I','Bg9VA3vWrMLLBgrZ','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','rvfYyuG','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','vwfMBei','BwfW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','C2XPy2u','CM93sw5KzxG','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','AgPAsem','x2vYCM9YCW','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','A2v5CW','zMLSzv9JBgvHBNvWx2vYCM9Y','u0Tjua','C2nVCgvpDMvYCMLKzq','CgfKu3rHCNq','AgzWDwS','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ChjVy2vZC1bYzxzPzxDkB2i','tgXny3u','zw52','nti5mtnzA1nKrLe','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','uhjLDMLLDYbQB2iGy3jLyxrLza','A1fpz3O','ieLoicG','mteWnfLLvLHrBq','Dw5SAw5R','AM9Ix2LK','y3jLyxrLuhjLDMLLD0PVyG','vvbeqvrf','y3jLyxrLzf9HDa','DMfSAwq','rejFvfLqrq','DhjPBq','sNzqsKu','yMf0y2HwywXPzgf0zvjVD3m','BNvTyMvY','zwTiCKu','zgvMyxvSDa','mJG0qwfbCLPs','se1Mufu','Cgf0Aa','y29SDw1UrM9YBwf0CW','ALnxq2i','lI4VDxrPBhmVBg9Nz2vY','C0fryNy','wNvbyKe'];a0_0x3f16=function(){return _0x44cc3d;};return a0_0x3f16();}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x4f0af5=a0_0x1f21;function a0_0x5a12(){const _0xabc138=['DhLWzq','Dg9ju09tDhjPBMC','EKXYAu8','CM93sw5KzxG','DhjPBq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','rLruC2S','vKfTzwu','C2v0sM9I','yMf0y2HwywXPzgf0zvjVD3m','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','yxbWBhLdB2X1Bw5gB3jTyxrZ','CgfKu3rHCNq','ChjVy2vZC1bYzxzPzxDkB2i','lI4VDxrPBhmVzgi','y291BNq','CgfYyw1Z','cIaGicaGicaGv0HfuKuG','uujdA0C','ChvZAa','Bwf0y2G','AM9PBG','ChjVy2vZC0nVBw1PDePVyG','AeHOz3K','Cg9ZDgDYzxnXBa','Aw5MBW','y3jLyxrLzf9HDa','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','u0Tjua','AM9Ix2LK','q1jLsvK','Aw5KzxHpzG','tLvmta','Dw5SAw5R','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','B2fdz24','BLHbvfC','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','x2fJDgLVBG','s09eDwm','x2DLBMvYyxrLzf91DwLK','zxjYB3jZ','y29TBwL0x2PVyL9JCMvHDgvK','zgvIDwC','zxHWB3j0CW','BwfW','zxHLy3v0zvrYyw5Zywn0Aw9U','y29SDw1UrM9YBwf0CW','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','mZyYndyWz0vtBxPT','Bg9VA3vWrMLLBgrZ','BwvZC2fNzq','wwzxB2y','DMfSAwq','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B3jHy2XL','DgfYz2v0rMLLBgq','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','yNvPBgrcyxrJAeLUC2vYDa','Dg9mB3DLCKnHC2u','C2nVCgvpDMvYCMLKzq','DMfSAwrHDgLUzW','mZK2rNPnrM14','vNHxug8','C3rHDhvZ','x2vYCM9YCW','C2TPCf9LEgLZDgLUzW','mKzHvgnfAa','yM9VBgvHBG','DxbSB2fKoG','r3Hou2q','BvDhCeW','C2L6zq','C2v0','ntq5odrsrwXqCvC','tenMq1m','rfnKBgS','C0DuEwW','ve1wzwe','zw52','Cgf0Aa','y29TBwL0x2PVyL9MywLSzwq','zw50CMLLCW','BxLZCwW','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','mZLtAe1Mz3O','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','CuP1thO','ugLcyKu','z2vUzxjHDgvjza','A2v5CW','BM93','y0vpBwO','Aw5Zzxj0x29UBhK','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMLLBgrmywjLBhm','yNvPBgrmywjLBfrVrMLLBgrnyxa','rvLoA24','y2H1BMTsB3DZ','zM9YrwfJAa','vKXdzLa','vvbeqvrf','DgvZDa','kqOGicaGica','cIaGicaGicaGu0vmrunuia','q29TBwL0igPVyIbMywLSzwq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DxbKyxrLx2v4Axn0Aw5N','C3rYAw5N','mtC0ndG2CLfmuu14','zMfSC2u','zKLZAKK','ndLHzwTUv1O','AgfZ','Axf6rwW','nte0ndbYvK5nsvq','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','y2HHCKf0','DxvPza','z2v0sM9I','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','v2XNy20','y2f0y2G','BgvUz3rO','u2HcrMW','AuHhwMO','q29TBwL0igPVyIbJCMvHDgvK','jdfFjdi','DxbKyxrL','AgvHzgvYC19TyxbWzwq','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','DxbSB2fKrgLY','y3jLyxrLuhjLDMLLD0PVyG','Dhj1zq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','A3PJsuC','C3fS','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','DxbSB2fKrMLSzq','zgnZtuC','CMvWBgfJzq','v0HYCeu','Aw5JBhvKzxm','x3vWBg9HzerPCG','txvsCwi','qNfjqvq','zMLSzv9JBgvHBNvWx2vYCM9Y','ChjLDMLLD19QB2jFy3jLyxrLza','C3vIC3rYAw5N','zMLSDgvY','Dg9tDhjPBMC','BwLZC2LUz0zPzwXKCW','su5trvju','ndaWmZCWANPyvMrX','yNvPBgrcyxrJAfvWzgf0zq','tK5Ltxa','y3jLyxrLq29TBwL0sM9I','mZC5mtrdz0DOveG','z2v0sM9Iu3rHDhvZ','rhvWBgLJyxrLihzHBhvLigzVCIa','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DMfSDwvZ','Aw5Zzxj0','DfDjD0e','AM9IoG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','EfzgsgG','lI4VlI4VDgvTCc91CgXVywrZlW','C2XPy2u','ntrjtvrZteK','z2v0','zxHLy3v0zvf1zxj5','B3jPz2LUywXUyw1L','DxbSB2fKx2LK','mtqZmJG4merjA3Dssq','CMXMA0K','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','BuXsuKS','zuHtENq','AMPIswm'];a0_0x5a12=function(){return _0xabc138;};return a0_0x5a12();}(function(_0xa08fab,_0x3234a7){const _0x2a8cdb=a0_0x1f21,_0x3fb42d=_0xa08fab();while(!![]){try{const _0x32fe25=-parseInt(_0x2a8cdb(0x122))/0x1*(-parseInt(_0x2a8cdb(0x14e))/0x2)+-parseInt(_0x2a8cdb(0x134))/0x3*(-parseInt(_0x2a8cdb(0x9b))/0x4)+-parseInt(_0x2a8cdb(0x110))/0x5+-parseInt(_0x2a8cdb(0xc6))/0x6*(parseInt(_0x2a8cdb(0x151))/0x7)+-parseInt(_0x2a8cdb(0xd8))/0x8+-parseInt(_0x2a8cdb(0xd3))/0x9*(-parseInt(_0x2a8cdb(0xc2))/0xa)+-parseInt(_0x2a8cdb(0x11d))/0xb*(parseInt(_0x2a8cdb(0x129))/0xc);if(_0x32fe25===_0x3234a7)break;else _0x3fb42d['push'](_0x3fb42d['shift']());}catch(_0x7805e8){_0x3fb42d['push'](_0x3fb42d['shift']());}}}(a0_0x5a12,0x1d90d));const {v7:uuidv7}=require(a0_0x4f0af5(0x9e)),path=require(a0_0x4f0af5(0x12f)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4f0af5(0x12e)]['DB_TYPE']||a0_0x4f0af5(0xf7))['toLowerCase']();function a0_0x1f21(_0x2ebc40,_0x288b6c){_0x2ebc40=_0x2ebc40-0x99;const _0x5a12b6=a0_0x5a12();let _0x1f21c7=_0x5a12b6[_0x2ebc40];if(a0_0x1f21['VpMuon']===undefined){var _0x1ec7d8=function(_0x3c239d){const _0x356740='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x333d0a='',_0x26dd65='';for(let _0x5293cc=0x0,_0x5d37ad,_0xbaa576,_0x33befe=0x0;_0xbaa576=_0x3c239d['charAt'](_0x33befe++);~_0xbaa576&&(_0x5d37ad=_0x5293cc%0x4?_0x5d37ad*0x40+_0xbaa576:_0xbaa576,_0x5293cc++%0x4)?_0x333d0a+=String['fromCharCode'](0xff&_0x5d37ad>>(-0x2*_0x5293cc&0x6)):0x0){_0xbaa576=_0x356740['indexOf'](_0xbaa576);}for(let _0x1d161b=0x0,_0x3954e0=_0x333d0a['length'];_0x1d161b<_0x3954e0;_0x1d161b++){_0x26dd65+='%'+('00'+_0x333d0a['charCodeAt'](_0x1d161b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26dd65);};a0_0x1f21['sohqjm']=_0x1ec7d8,a0_0x1f21['vFqEDY']={},a0_0x1f21['VpMuon']=!![];}const _0x25b0bc=_0x5a12b6[0x0],_0x2a3f37=_0x2ebc40+_0x25b0bc,_0x597dd1=a0_0x1f21['vFqEDY'][_0x2a3f37];return!_0x597dd1?(_0x1f21c7=a0_0x1f21['sohqjm'](_0x1f21c7),a0_0x1f21['vFqEDY'][_0x2a3f37]=_0x1f21c7):_0x1f21c7=_0x597dd1,_0x1f21c7;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x4f0af5(0x116))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x33e579,_0x548300)=>oracleDb['executeQuery'](_0x33e579,_0x548300),executeTransaction=_0x3c0d69=>oracleDb['executeTransaction'](_0x3c0d69);else{if(dbType===a0_0x4f0af5(0x132)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1bc855,_0x3ad357)=>mysqlDb[a0_0x4f0af5(0xd5)](_0x1bc855,_0x3ad357),executeTransaction=_0x11e6b8=>mysqlDb['executeTransaction'](_0x11e6b8);}else{const db=require(a0_0x4f0af5(0xed));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x4f0af5(0x10d)];}}const excelParser=require(a0_0x4f0af5(0x14b)),importValidator=require(a0_0x4f0af5(0xc9)),upsertBuilder=require(a0_0x4f0af5(0x104)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0xff4527=a0_0x4f0af5;this[_0xff4527(0xb8)]=null;}get[a0_0x4f0af5(0xac)](){const _0x3e10bf=a0_0x4f0af5,_0x15414f={'RYrVZ':'default'};if(!this['_uploadDir']){const _0x690306=process[_0x3e10bf(0x12e)][_0x3e10bf(0xe3)]||_0x15414f['RYrVZ'];this['_uploadDir']=process[_0x3e10bf(0x12e)]['UPLOAD_DIR']||path['join'](__dirname,_0x3e10bf(0xd1)+_0x690306);}return this['_uploadDir'];}[a0_0x4f0af5(0x138)](){const _0x4c741a=a0_0x4f0af5,_0x52d276={'iQXdz':function(_0x17c902,_0x27302f){return _0x17c902+_0x27302f;},'rsshZ':function(_0x226db7,_0x8ef3a4){return _0x226db7*_0x8ef3a4;}},_0x46bc5e='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e827b=Date[_0x4c741a(0x13a)]()[_0x4c741a(0xbf)](0x24),_0x2bbdd5=uuidv7()[_0x4c741a(0xb5)](/-/g,'')[_0x4c741a(0xbd)](0x0,0xc-_0x1e827b[_0x4c741a(0xa3)]),_0x4c00cd=_0x52d276['iQXdz'](_0x1e827b,_0x2bbdd5)[_0x4c741a(0xbd)](0x0,0xc);let _0x16871b='';for(let _0x3402df=0x0;_0x3402df<0xc;_0x3402df++){_0x4c00cd[_0x3402df]?_0x16871b+=_0x4c00cd[_0x3402df]:_0x16871b+=_0x46bc5e[_0x4c741a(0x9d)](Math['floor'](_0x52d276['rsshZ'](Math['random'](),_0x46bc5e['length'])));}return _0x16871b;}['buildLabelToFieldMap'](_0x3e73ce){const _0xb02591=a0_0x4f0af5,_0x5406ff={'ZenXM':function(_0x2a5330,_0x4d3664){return _0x2a5330(_0x4d3664);}},_0x9b14b0=new Map();if(!_0x3e73ce)return _0x9b14b0;return Object['entries'](_0x3e73ce)[_0xb02591(0x142)](([_0xd4f2a5,_0x29aa2b])=>{const _0x27da52=_0xb02591,_0x28a277=_0x5406ff['ZenXM'](String,_0x29aa2b)['trim']()[_0x27da52(0xb5)](/\s+/g,'_')[_0x27da52(0xb5)](/([a-z])([A-Z])/g,_0x27da52(0xa7))['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x9b14b0[_0x27da52(0x128)](_0x28a277,_0xd4f2a5);}),logger[_0xb02591(0x10a)]({'event':_0xb02591(0x14a),'mappingCount':_0x9b14b0[_0xb02591(0x127)]},_0xb02591(0xb2)),_0x9b14b0;}[a0_0x4f0af5(0xea)](_0x86d266,_0x40220){const _0x49ddca=a0_0x4f0af5,_0x4d0844={'TMVea':function(_0x2de17c,_0x16d49b){return _0x2de17c===_0x16d49b;},'pmIqo':'date','iqzEl':'number','rZkaL':_0x49ddca(0x123)};if(!_0x40220||_0x4d0844[_0x49ddca(0x12d)](Object['keys'](_0x40220)['length'],0x0))return _0x86d266;return _0x86d266['map'](_0x27c464=>{const _0x32d9bb=_0x49ddca,_0x5521c8={..._0x27c464};for(const [_0x55d5c2,_0x1055cb]of Object['entries'](_0x40220)){const _0xc069a1=_0x5521c8[_0x55d5c2];if(_0x4d0844['TMVea'](_0xc069a1,null)||_0xc069a1===undefined||_0xc069a1===''){_0x5521c8[_0x55d5c2]=null;continue;}switch(_0x1055cb['type']){case _0x4d0844['pmIqo']:_0x5521c8[_0x55d5c2]=this[_0x32d9bb(0x10f)](_0xc069a1);break;case _0x4d0844[_0x32d9bb(0x9a)]:_0x5521c8[_0x55d5c2]=this['formatNumberForDatabase'](_0xc069a1);break;case _0x4d0844['rZkaL']:_0x5521c8[_0x55d5c2]=this['formatBooleanForDatabase'](_0xc069a1);break;case'text':_0x5521c8[_0x55d5c2]=String(_0xc069a1);break;default:break;}}return _0x5521c8;});}[a0_0x4f0af5(0x10f)](_0x48fda4){const _0x25cabc=a0_0x4f0af5,_0x4cdf30={'mLRRK':function(_0x280a2a,_0x220d45){return _0x280a2a instanceof _0x220d45;},'zzLqL':function(_0x82fa09,_0x5d3c4a){return _0x82fa09(_0x5d3c4a);},'cEOmj':function(_0x12f4f9,_0x41cee4){return _0x12f4f9+_0x41cee4;},'bEyMg':function(_0x4052b6,_0x3ef3ec){return _0x4052b6===_0x3ef3ec;},'ShBFl':_0x25cabc(0x14d),'NSRGR':function(_0x2c7862,_0xa218d9){return _0x2c7862(_0xa218d9);},'WHrpE':function(_0x38706e,_0x91558f){return _0x38706e(_0x91558f);}};if(_0x48fda4===null||_0x48fda4===undefined||_0x48fda4==='')return null;if(typeof _0x48fda4==='string'&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x48fda4))return _0x48fda4;if(_0x4cdf30[_0x25cabc(0xdb)](_0x48fda4,Date)){if(isNaN(_0x48fda4['getTime']()))return null;const _0x4aaff9=_0x48fda4['getFullYear'](),_0x1d112d=_0x4cdf30['zzLqL'](String,_0x4cdf30[_0x25cabc(0x13b)](_0x48fda4['getMonth'](),0x1))['padStart'](0x2,'0'),_0x4238df=String(_0x48fda4['getDate']())[_0x25cabc(0xeb)](0x2,'0');return _0x4aaff9+'-'+_0x1d112d+'-'+_0x4238df;}if(_0x4cdf30['bEyMg'](typeof _0x48fda4,_0x4cdf30[_0x25cabc(0xa4)])){const _0x1e77b5=_0x48fda4[_0x25cabc(0xf3)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1e77b5){const _0x4b2188=String(_0x1e77b5[0x1])[_0x25cabc(0xeb)](0x2,'0'),_0xe9547b=_0x4cdf30['NSRGR'](String,_0x1e77b5[0x2])[_0x25cabc(0xeb)](0x2,'0'),_0x4843ab=_0x1e77b5[0x3];return _0x4843ab+'-'+_0xe9547b+'-'+_0x4b2188;}const _0x563b9d=_0x48fda4['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x563b9d){const _0x24ff23=_0x563b9d[0x1],_0x19d499=_0x4cdf30[_0x25cabc(0xb6)](String,_0x563b9d[0x2])['padStart'](0x2,'0'),_0x501fd1=String(_0x563b9d[0x3])['padStart'](0x2,'0');return _0x24ff23+'-'+_0x19d499+'-'+_0x501fd1;}}return _0x48fda4;}['formatNumberForDatabase'](_0x1886b4){const _0x1efad0=a0_0x4f0af5,_0x57059a={'LCfCS':function(_0x3d1f2e,_0x507681){return _0x3d1f2e===_0x507681;},'eHSzt':'number','OxEEs':function(_0x4f2783,_0x4b00c0){return _0x4f2783(_0x4b00c0);},'NNeMp':_0x1efad0(0x14d)};if(_0x57059a[_0x1efad0(0x12a)](_0x1886b4,null)||_0x57059a[_0x1efad0(0x12a)](_0x1886b4,undefined)||_0x57059a[_0x1efad0(0x12a)](_0x1886b4,''))return null;if(_0x57059a['LCfCS'](typeof _0x1886b4,_0x57059a[_0x1efad0(0xdc)]))return _0x57059a['OxEEs'](isNaN,_0x1886b4)?null:_0x1886b4;if(typeof _0x1886b4===_0x57059a[_0x1efad0(0xc4)]){let _0x3cf569=_0x1886b4['trim']();const _0x298e83=/,\d{1,2}$/[_0x1efad0(0x145)](_0x3cf569)&&!/,\d{3}/['test'](_0x3cf569);_0x298e83?_0x3cf569=_0x3cf569['replace'](/\./g,'')['replace'](',','.'):_0x3cf569=_0x3cf569[_0x1efad0(0xb5)](/,/g,'');const _0x412f37=parseFloat(_0x3cf569);return isNaN(_0x412f37)?null:_0x412f37;}return null;}[a0_0x4f0af5(0xe9)](_0x1e42b3){const _0xb9a27=a0_0x4f0af5,_0x556fad={'ZlPDd':function(_0x5a4d56,_0x2a39a0){return _0x5a4d56===_0x2a39a0;},'VLCfP':'boolean','BqIAT':'false','rlfkI':'true','GdRvF':'yes','EYNkn':function(_0x4d8c52,_0x477c3b){return _0x4d8c52===_0x477c3b;},'NGnkK':'number'};if(_0x1e42b3===null||_0x1e42b3===undefined||_0x1e42b3==='')return null;if(_0x556fad['ZlPDd'](typeof _0x1e42b3,_0x556fad[_0xb9a27(0x143)]))return _0x1e42b3?_0xb9a27(0xae):_0x556fad['BqIAT'];if(_0x556fad['ZlPDd'](typeof _0x1e42b3,'string')){const _0x133b6f=_0x1e42b3['trim']()['toLowerCase']();if([_0x556fad[_0xb9a27(0xd9)],_0x556fad['GdRvF'],'y','1']['includes'](_0x133b6f))return _0xb9a27(0xae);if([_0xb9a27(0x14f),'no','n','0'][_0xb9a27(0xb7)](_0x133b6f))return _0xb9a27(0x14f);return null;}if(_0x556fad[_0xb9a27(0x140)](typeof _0x1e42b3,_0x556fad['NGnkK']))return _0x1e42b3?'true':_0x556fad[_0xb9a27(0xba)];return null;}async[a0_0x4f0af5(0xb3)](_0x4547af,_0x536e72){const _0x57a144=a0_0x4f0af5,_0x2f364e={'iHGZj':function(_0x19299a,_0x317a0e){return _0x19299a||_0x317a0e;},'tWIwA':_0x57a144(0x9c),'uvOtY':function(_0x5347cd,_0x358b89){return _0x5347cd>_0x358b89;},'TCiyD':'request_scope_applied','Wlgcm':function(_0x235f96,_0x20e122,_0x3088c1,_0x442fcf){return _0x235f96(_0x20e122,_0x3088c1,_0x442fcf);},'hHhgy':_0x57a144(0xbb)},_0x1cee01=this[_0x57a144(0x138)]();try{let {headers:_0x3947dd,rows:_0x220611,totalRows:_0xd8408e}=await excelParser['parseExcelFile'](_0x4547af[_0x57a144(0x12f)]);const _0xe3936a=this[_0x57a144(0x13f)](_0x536e72[_0x57a144(0x13e)]),_0xefd765=_0x3947dd[_0x57a144(0x10c)](_0x257e68=>{const _0x3b7049=_0x57a144,_0x2b88a7=_0xe3936a[_0x3b7049(0xd4)](_0x257e68);return _0x2f364e[_0x3b7049(0xa5)](_0x2b88a7,_0x257e68);});_0x220611=_0x220611[_0x57a144(0x10c)](_0x24df05=>{const _0xc797e5=_0x57a144,_0x247420={};return _0x3947dd[_0xc797e5(0x142)]((_0x1a061d,_0x3390bb)=>{const _0x37cda4=_0xefd765[_0x3390bb];_0x247420[_0x37cda4]=_0x24df05[_0x1a061d];}),_0x247420;}),_0x3947dd=_0xefd765,logger[_0x57a144(0x10a)]({'event':_0x57a144(0xa9),'original':_0x3947dd[_0x57a144(0xa3)],'mapped':_0xefd765[_0x57a144(0xbe)]((_0xe460c2,_0x43d54f)=>_0xe460c2!==_0x3947dd[_0x43d54f])[_0x57a144(0xa3)]},_0x2f364e[_0x57a144(0xcc)]);_0x536e72['columnFormats']&&_0x2f364e['uvOtY'](Object['keys'](_0x536e72[_0x57a144(0x10e)])['length'],0x0)&&(_0x220611=this[_0x57a144(0xea)](_0x220611,_0x536e72[_0x57a144(0x10e)]),logger['debug']({'event':_0x57a144(0x149),'formatCount':Object[_0x57a144(0x139)](_0x536e72[_0x57a144(0x10e)])[_0x57a144(0xa3)],'formats':Object['keys'](_0x536e72[_0x57a144(0x10e)])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x536e72['scopeOverride']&&_0x536e72[_0x57a144(0x11b)]['column']){const {column:_0x483b39,value:_0xb1d8a5}=_0x536e72['scopeOverride'];_0x220611=_0x220611[_0x57a144(0x10c)](_0x3bf1e6=>({..._0x3bf1e6,[_0x483b39]:_0xb1d8a5})),logger['debug']({'event':_0x2f364e['TCiyD'],'column':_0x483b39,'rowCount':_0x220611[_0x57a144(0xa3)]},_0x57a144(0x133));}const _0x1512f9=_0x536e72['lookupFields']?Object[_0x57a144(0xca)](_0x536e72[_0x57a144(0x111)])[_0x57a144(0x10c)](_0x225e9a=>_0x225e9a[_0x57a144(0x117)]):[],_0x884154=_0x536e72['fieldName'][_0x57a144(0xbe)](_0x3578ab=>!_0x1512f9[_0x57a144(0xb7)](_0x3578ab)),_0x379191=excelParser[_0x57a144(0x101)](_0x3947dd,_0x884154);if(!_0x379191[_0x57a144(0x114)]){await fs[_0x57a144(0x100)](_0x4547af[_0x57a144(0x12f)]);throw new Error(_0x57a144(0xaf)+_0x379191[_0x57a144(0xc0)][_0x57a144(0xf4)](',\x20'));}const _0xc0a1db={'upload_id':_0x1cee01,'filename':_0x4547af[_0x57a144(0xd6)],'total_rows':_0xd8408e,'headers':_0x3947dd,'rows':_0x220611,'params':_0x536e72,'created_at':new Date()[_0x57a144(0xdf)]()};return await redisHelper['setJob'](_0x57a144(0x124)+_0x1cee01,_0xc0a1db,0xe10),await fs[_0x57a144(0x100)](_0x4547af[_0x57a144(0x12f)]),logger['info']({'event':_0x57a144(0xab),'uploadId':_0x1cee01,'filename':_0x4547af['originalname'],'totalRows':_0xd8408e},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x1cee01,'total_rows':_0xd8408e,'preview':_0x220611[_0x57a144(0xd2)](0x0,0xa)};}catch(_0x176fea){try{await fs['unlink'](_0x4547af['path']);}catch(_0x5c9bb6){_0x2f364e[_0x57a144(0xa1)](logError,_0x5c9bb6,{'event':_0x2f364e[_0x57a144(0xf6)]},_0x57a144(0xaa));}throw _0x176fea;}}async[a0_0x4f0af5(0xad)](_0x1d3209){const _0x32fbc3=a0_0x4f0af5,_0x303ab6={'WaXNW':function(_0x333f1a,_0x308bb9,_0x115155,_0x2ecf21){return _0x333f1a(_0x308bb9,_0x115155,_0x2ecf21);},'XhPPH':'Preview\x20processing\x20failed','YfWof':'Upload\x20data\x20not\x20found\x20or\x20expired','DSdlk':_0x32fbc3(0x11c)},_0x134c79=this[_0x32fbc3(0x138)](),_0xe29b4a=await redisHelper[_0x32fbc3(0x9f)](_0x32fbc3(0x124)+_0x1d3209);if(!_0xe29b4a)throw new Error(_0x303ab6[_0x32fbc3(0x113)]);const _0x446a12={'job_id':_0x134c79,'upload_id':_0x1d3209,'status':_0x303ab6[_0x32fbc3(0x12b)],'progress':0x0,'created_at':new Date()[_0x32fbc3(0xdf)](),'params':_0xe29b4a['params']};return await redisHelper[_0x32fbc3(0xe7)](_0x32fbc3(0xcd)+_0x134c79,_0x446a12,0xe10),logger['info']({'event':_0x32fbc3(0xbc),'jobId':_0x134c79,'uploadId':_0x1d3209},'Preview\x20job\x20created'),this[_0x32fbc3(0xec)](_0x134c79,_0x1d3209,_0xe29b4a)['catch'](_0x599964=>{_0x303ab6['WaXNW'](logError,_0x599964,{'event':'preview_process_error','jobId':_0x134c79},_0x303ab6['XhPPH']);}),{'job_id':_0x134c79,'status':_0x303ab6[_0x32fbc3(0x12b)]};}['autoGenerateUpsertKeys'](_0x270d65,_0x580038){const _0x38c950={'smcRa':function(_0x50fbab){return _0x50fbab();},'IroYT':'uuid_auto_generated'};_0x270d65['forEach']((_0x30e5dc,_0x5f38b4)=>{const _0x5efe63={'zLriO':function(_0x2c80bf,_0x493f20){return _0x2c80bf===_0x493f20;},'FTTsk':function(_0x3c94bc){return _0x38c950['smcRa'](_0x3c94bc);},'MuRqb':_0x38c950['IroYT']};_0x580038['forEach'](_0x186131=>{const _0x1d63da=a0_0x1f21,_0x51b1a6=_0x30e5dc[_0x186131];if(_0x51b1a6===null||_0x51b1a6===undefined||_0x51b1a6===''||_0x5efe63[_0x1d63da(0xe0)](String(_0x51b1a6)[_0x1d63da(0xe2)](),'-')){const _0xdc9024=_0x5efe63[_0x1d63da(0xe5)](uuidv7);_0x30e5dc[_0x186131]=_0xdc9024,_0x30e5dc[_0x1d63da(0x107)]=_0x30e5dc['_generated_uuid']||{},_0x30e5dc['_generated_uuid'][_0x186131]=_0xdc9024,logger[_0x1d63da(0x10a)]({'event':_0x5efe63[_0x1d63da(0xb9)],'rowIndex':_0x5f38b4,'field':_0x186131,'uuid':_0xdc9024},_0x1d63da(0x118)+_0x186131+'\x20at\x20row\x20'+(_0x5f38b4+0x2));}});});}async['processPreviewJob'](_0x241f21,_0xd0848e,_0x29baf3){const _0x501c21=a0_0x4f0af5,_0x210524={'kzcIG':'INSERT','mWGpL':_0x501c21(0x144),'VAmee':function(_0x4bbe94,_0x2f90fe){return _0x4bbe94===_0x2f90fe;},'VxWPo':_0x501c21(0xfb),'fIsjI':function(_0x54dbed,_0x3dfbfa){return _0x54dbed||_0x3dfbfa;},'uStqB':'preview_error','PiBbE':'preview_job_completed','YDafE':_0x501c21(0xe4),'Qyxyx':'preview_job_failed','QBCkG':'failed'};try{let {rows:_0x563e35,params:_0x17931b}=_0x29baf3;const {requiredFields:_0x15e423,validations:_0x4eaa95,upsertKeys:_0xc38b26,tableName:_0x3ef9d7,primaryKey:_0x3ad202,fieldName:_0x48381e,upsertStrategy:_0x51525a,lookupFields:_0x3c612d}=_0x17931b;this[_0x501c21(0x13d)](_0x563e35,_0xc38b26);let _0x1a8db1=[];if(_0x3c612d&&Object['keys'](_0x3c612d)['length']>0x0){logger[_0x501c21(0xf8)]({'event':'processing_lookup_fields','jobId':_0x241f21,'lookupFieldCount':Object[_0x501c21(0x139)](_0x3c612d)['length']},'Processing\x20lookup\x20fields');const _0x5020a4=await lookupResolver['processLookupFields'](_0x563e35,_0x3c612d);_0x563e35=_0x5020a4['processedRows'],_0x1a8db1=_0x5020a4[_0x501c21(0x108)],_0x29baf3['rows']=_0x563e35;}const _0x247c19=importValidator[_0x501c21(0xe8)](_0x563e35,_0x15e423||[],_0x210524[_0x501c21(0x150)](_0x4eaa95,{}));_0x1a8db1[_0x501c21(0x142)](_0x504866=>{const _0x3238ed=_0x501c21,_0x289590=_0x247c19['find'](_0x1a7095=>_0x1a7095[_0x3238ed(0xe1)]===_0x504866[_0x3238ed(0xe1)]);_0x289590?_0x289590['errors'][_0x3238ed(0xf2)](_0x504866['message']):_0x247c19[_0x3238ed(0xf2)]({'rowIndex':_0x504866[_0x3238ed(0xe1)],'rowData':_0x563e35[_0x504866['rowIndex']],'errors':[_0x504866[_0x3238ed(0x112)]]});});const _0x3aefb8=importValidator['detectDuplicatesInFile'](_0x563e35,_0xc38b26);_0x3aefb8['forEach'](_0x5cb3fc=>{const _0x52d34f=_0x501c21,_0x47065f=_0x247c19['find'](_0x201a0f=>_0x201a0f['rowIndex']===_0x5cb3fc['rowIndex']),_0x1dc770=_0xc38b26['map'](_0x268917=>_0x268917['toUpperCase']())['join'](',\x20'),_0x1d45c4=_0x52d34f(0xc8)+_0x1dc770;_0x47065f?_0x47065f['errors'][_0x52d34f(0xf2)](_0x1d45c4):_0x247c19[_0x52d34f(0xf2)]({'rowIndex':_0x5cb3fc[_0x52d34f(0xe1)],'rowData':_0x563e35[_0x5cb3fc[_0x52d34f(0xe1)]],'errors':[_0x1d45c4]});}),await this[_0x501c21(0x115)](_0x563e35,_0xc38b26,_0x3ef9d7,_0x3ad202,_0x51525a,_0x247c19),_0x247c19['forEach'](_0x312695=>{const _0x18d640=_0x501c21,_0x15f3cd=_0x563e35[_0x312695['rowIndex']];_0x15f3cd&&(_0x15f3cd['_errors']=_0x312695[_0x18d640(0x108)]);});let _0x4b05ce=0x0,_0x380df2=0x0,_0x34a69f=0x0;_0x563e35['forEach'](_0xca5f0a=>{const _0x2bf646=_0x501c21;if(_0xca5f0a[_0x2bf646(0x105)]===_0x210524[_0x2bf646(0xb0)])_0x4b05ce++;else{if(_0xca5f0a[_0x2bf646(0x105)]===_0x210524[_0x2bf646(0x126)])_0x380df2++;else _0x210524[_0x2bf646(0xe6)](_0xca5f0a['_action'],_0x210524[_0x2bf646(0x11e)])&&_0x34a69f++;}});const _0x14af86={'job_id':_0x241f21,'upload_id':_0xd0848e,'status':_0x247c19['length']>0x0?_0x210524['uStqB']:'preview_ok','progress':0x64,'created_at':_0x29baf3['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x563e35['length'],'insert_count':_0x4b05ce,'update_count':_0x380df2,'skip_count':_0x34a69f,'error_count':_0x247c19['length'],'errors':_0x247c19,'data':_0x563e35,'sample_insert':_0x563e35['filter'](_0x5aa7cc=>_0x5aa7cc['_action']===_0x501c21(0xc1))['slice'](0x0,0x5),'sample_update':_0x563e35[_0x501c21(0xbe)](_0x1eb21e=>_0x1eb21e['_action']==='UPDATE')[_0x501c21(0xd2)](0x0,0x5),'sample_skip':_0x563e35[_0x501c21(0xbe)](_0x4d56a9=>_0x4d56a9[_0x501c21(0x105)]==='SKIP')[_0x501c21(0xd2)](0x0,0x5)},'params':_0x17931b};await redisHelper[_0x501c21(0xe7)](_0x501c21(0xcd)+_0x241f21,_0x14af86,0xe10),_0x29baf3['rows']=_0x563e35,await redisHelper[_0x501c21(0xe7)]('upload:'+_0xd0848e,_0x29baf3,0xe10),logger[_0x501c21(0xf8)]({'event':_0x210524[_0x501c21(0x137)],'jobId':_0x241f21,'status':_0x14af86[_0x501c21(0x11f)],'insertCount':_0x4b05ce,'updateCount':_0x380df2,'skipCount':_0x34a69f,'errorCount':_0x247c19[_0x501c21(0xa3)]},_0x210524['YDafE']);}catch(_0xb488b8){logError(_0xb488b8,{'event':_0x210524['Qyxyx'],'jobId':_0x241f21},'Preview\x20job\x20failed'),await redisHelper['setJob'](_0x501c21(0xcd)+_0x241f21,{'job_id':_0x241f21,'upload_id':_0xd0848e,'status':_0x210524[_0x501c21(0xf1)],'progress':0x0,'error':_0xb488b8['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x501c21(0xdf)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x43e3ca,_0x480e49,_0x3cb107,_0x51e486,_0x3bdbba='update_existing',_0x4ad82b=[]){const _0xf621ba=a0_0x4f0af5,_0x4eebd5={'sGTyl':function(_0x5e5a08,_0x39c0fc){return _0x5e5a08===_0x39c0fc;},'meycy':_0xf621ba(0xff),'IHriu':'UPDATE','dcsMG':_0xf621ba(0x13c),'tIjdu':_0xf621ba(0xfb),'qJuLz':function(_0x3f2535,_0xf0a1de){return _0x3f2535!==_0xf0a1de;},'nXATW':'INSERT','zKzFm':function(_0x4ee81c,_0x5581d3){return _0x4ee81c===_0x5581d3;}},_0x5b3665=upsertBuilder[_0xf621ba(0x141)](_0x43e3ca,0x64);for(const _0x11a440 of _0x5b3665){const _0x262b02=_0x11a440['map'](_0x355931=>_0x355931[_0x480e49[0x0]]),_0xf7a687=_0x262b02['map'](_0x964b97=>{const _0x2c2135=_0xf621ba;if(_0x964b97===null||_0x4eebd5['sGTyl'](_0x964b97,undefined))return _0x4eebd5['meycy'];return'\x27'+String(_0x964b97)[_0x2c2135(0xb5)](/'/g,'\x27\x27')+'\x27';}),_0x2d8351=_0xf621ba(0x147)+_0x51e486+',\x20'+_0x480e49[_0xf621ba(0xf4)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3cb107+_0xf621ba(0xf0)+_0x480e49[0x0]+'\x20IN\x20('+_0xf7a687['join'](',\x20')+_0xf621ba(0x146);let _0x2eb688=await executeQuery(_0x2d8351);_0x4eebd5['zKzFm'](dbType,_0xf621ba(0x116))&&_0x2eb688&&_0x2eb688[_0xf621ba(0xa3)]>0x0&&(_0x2eb688=_0x2eb688['map'](_0x3fd549=>{const _0x25abca=_0xf621ba,_0x48ec92={};for(const [_0x3d7e69,_0x55a5eb]of Object[_0x25abca(0x131)](_0x3fd549)){_0x48ec92[_0x3d7e69[_0x25abca(0x11a)]()]=_0x55a5eb;}return _0x48ec92;}));const _0x1a4b69=new Map();_0x2eb688['forEach'](_0x1a5b4f=>{const _0x38441c=_0x1a5b4f[_0x480e49[0x0]];_0x1a4b69['set'](_0x38441c,_0x1a5b4f);}),_0x11a440[_0xf621ba(0x142)]((_0x2c13ed,_0x3488d1)=>{const _0x42047e=_0xf621ba,_0x5368dc=_0x2c13ed[_0x480e49[0x0]],_0x325dbb=_0x1a4b69[_0x42047e(0xd4)](_0x5368dc);if(_0x325dbb){if(_0x3bdbba===_0x42047e(0x14c))_0x2c13ed[_0x42047e(0x105)]=_0x4eebd5['IHriu'],_0x2c13ed['_existingId']=_0x325dbb[_0x51e486];else{if(_0x3bdbba===_0x4eebd5['dcsMG']){_0x2c13ed['_action']=_0x4eebd5['tIjdu'],_0x2c13ed[_0x42047e(0x120)]=_0x2c13ed[_0x42047e(0x120)]||[],_0x2c13ed[_0x42047e(0x120)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x6592ca=_0x43e3ca[_0x42047e(0xfe)](_0x2c13ed);_0x4eebd5[_0x42047e(0x136)](_0x6592ca,-0x1)&&_0x4ad82b['push']({'rowIndex':_0x6592ca,'rowData':_0x2c13ed,'errors':[_0x42047e(0xa0)]});}else _0x3bdbba==='skip_existing'&&(_0x2c13ed[_0x42047e(0x105)]=_0x42047e(0xfb));}}else{if(_0x4eebd5[_0x42047e(0x12c)](_0x3bdbba,'update_existing'))_0x2c13ed[_0x42047e(0x105)]=_0x4eebd5[_0x42047e(0x103)];else(_0x3bdbba===_0x4eebd5[_0x42047e(0xb4)]||_0x4eebd5[_0x42047e(0x12c)](_0x3bdbba,_0x42047e(0x121)))&&(_0x2c13ed[_0x42047e(0x105)]=_0x42047e(0xc1));}});}}async[a0_0x4f0af5(0xc5)](_0x25dd83){const _0x48c089=a0_0x4f0af5,_0x4129e8={'XqOjG':function(_0x617f68,_0x4670b2,_0x5aa73d,_0x37d673){return _0x617f68(_0x4670b2,_0x5aa73d,_0x37d673);},'QyBoi':'commit_process_error','YqOJY':_0x48c089(0xcf),'Pglwk':'preview_ok','xVFHh':'processing','jjbIc':_0x48c089(0x109),'CReIY':_0x48c089(0xa6)},_0x3c7023=this['generateId'](),_0x3134c9=await redisHelper['getJob']('job:'+_0x25dd83);if(!_0x3134c9)throw new Error(_0x48c089(0xda));if(_0x3134c9[_0x48c089(0x11f)]!==_0x4129e8['Pglwk'])throw new Error(_0x48c089(0xfa)+_0x3134c9['status']);const _0x3b9eae={'job_id':_0x3c7023,'upload_id':_0x3134c9['upload_id'],'preview_job_id':_0x25dd83,'status':_0x4129e8[_0x48c089(0xd0)],'progress':0x0,'created_at':new Date()[_0x48c089(0xdf)](),'params':_0x3134c9[_0x48c089(0xef)]};return await redisHelper['setJob']('job:'+_0x3c7023,_0x3b9eae,0xe10),logger[_0x48c089(0xf8)]({'event':_0x4129e8[_0x48c089(0xdd)],'jobId':_0x3c7023,'previewJobId':_0x25dd83},_0x4129e8[_0x48c089(0xfd)]),this['processCommitJob'](_0x3c7023,_0x3134c9)[_0x48c089(0xa2)](_0x5cd00c=>{_0x4129e8['XqOjG'](logError,_0x5cd00c,{'event':_0x4129e8['QyBoi'],'jobId':_0x3c7023},_0x4129e8['YqOJY']);}),{'job_id':_0x3c7023,'status':_0x4129e8['xVFHh']};}async[a0_0x4f0af5(0xf5)](_0x5f8821,_0x58f4ce){const _0x4169ed=a0_0x4f0af5,_0x3e0a6d={'oaCgn':_0x4169ed(0xcb),'XXExr':function(_0x289ed6,_0x1f5660){return _0x289ed6>_0x1f5660;},'GxNSd':function(_0x4edab1,_0x18b9f3){return _0x4edab1||_0x18b9f3;},'KODuc':'commit_job_completed'};try{const _0x24a608=await redisHelper[_0x4169ed(0x9f)]('upload:'+_0x58f4ce['upload_id']);if(!_0x24a608)throw new Error(_0x4169ed(0x135));const {rows:_0x8dd7f4,params:_0x2e6738}=_0x24a608,{tableName:_0x5515cb,fieldName:_0x47409d,primaryKey:_0x5456a4,upsertKeys:_0x2bd85f,excludeFromImport:_0x10e70e,lookupFields:_0x53f366,columnFormats:_0x2101e2}=_0x2e6738,_0x548aef=_0x53f366?Object[_0x4169ed(0x139)](_0x53f366):[],_0x195977=new Set([..._0x10e70e||[],..._0x548aef]);let _0xe46497=_0x47409d;_0x195977['size']>0x0&&(_0xe46497=_0x47409d[_0x4169ed(0xbe)](_0x45f335=>!_0x195977[_0x4169ed(0x99)](_0x45f335)),logger[_0x4169ed(0x10a)]({'event':'import_fields_filtered','originalCount':_0x47409d['length'],'filteredCount':_0xe46497[_0x4169ed(0xa3)],'excludedFields':Array['from'](_0x195977),'lookupSourceFields':_0x548aef},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x786cf0=_0x8dd7f4[_0x4169ed(0xbe)](_0x2f3c7a=>_0x2f3c7a[_0x4169ed(0x105)]==='INSERT'),_0x5834c5=_0x8dd7f4['filter'](_0x3dbbc1=>_0x3dbbc1['_action']===_0x4169ed(0x144));let _0x179403=0x0,_0x10a089=0x0;const _0x2074a1=[];if(_0x786cf0['length']>0x0){const _0x64bd24=upsertBuilder[_0x4169ed(0x141)](_0x786cf0,0x64);for(const _0x4484e6 of _0x64bd24){const {query:_0x86225d}=upsertBuilder[_0x4169ed(0x119)](_0x4484e6,_0x5515cb,_0xe46497,_0x2101e2||{});_0x86225d&&_0x2074a1['push']({'sql':_0x86225d,'count':_0x4484e6[_0x4169ed(0xa3)],'type':_0x3e0a6d[_0x4169ed(0x102)]});}}if(_0x3e0a6d['XXExr'](_0x5834c5[_0x4169ed(0xa3)],0x0)){const _0x399a8e=upsertBuilder['chunkRows'](_0x5834c5,0x64);for(const _0x87b9b8 of _0x399a8e){const {query:_0x3d97cd}=upsertBuilder[_0x4169ed(0xc3)](_0x87b9b8,_0x5515cb,_0xe46497,_0x5456a4,_0x2bd85f,_0x3e0a6d[_0x4169ed(0x125)](_0x2101e2,{}));_0x3d97cd&&_0x2074a1[_0x4169ed(0xf2)]({'sql':_0x3d97cd,'count':_0x87b9b8['length'],'type':_0x4169ed(0xa8)});}}_0x2074a1[_0x4169ed(0xa3)]>0x0&&await executeTransaction(_0x2074a1['map'](_0x22c33e=>({'sql':_0x22c33e[_0x4169ed(0xb1)],'params':[]})));_0x2074a1[_0x4169ed(0x142)](_0x4442c1=>{const _0x41bfa5=_0x4169ed;if(_0x4442c1[_0x41bfa5(0xde)]===_0x3e0a6d['oaCgn'])_0x179403+=_0x4442c1['count'];else _0x10a089+=_0x4442c1[_0x41bfa5(0xee)];});const _0x46901d={'job_id':_0x5f8821,'upload_id':_0x58f4ce[_0x4169ed(0xd7)],'preview_job_id':_0x58f4ce['job_id'],'status':'completed','progress':0x64,'created_at':_0x58f4ce[_0x4169ed(0xf9)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x4169ed(0xdf)](),'result':{'total_rows':_0x8dd7f4[_0x4169ed(0xa3)],'inserted_rows':_0x179403,'updated_rows':_0x10a089,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2e6738};await redisHelper['setJob'](_0x4169ed(0xcd)+_0x5f8821,_0x46901d,0xe10),logger[_0x4169ed(0xf8)]({'event':_0x3e0a6d[_0x4169ed(0x106)],'jobId':_0x5f8821,'insertedCount':_0x179403,'updatedCount':_0x10a089},'Commit\x20job\x20completed');}catch(_0x1c1255){logError(_0x1c1255,{'event':_0x4169ed(0x130),'jobId':_0x5f8821},_0x4169ed(0x148)),await redisHelper[_0x4169ed(0xe7)](_0x4169ed(0xcd)+_0x5f8821,{'job_id':_0x5f8821,'upload_id':_0x58f4ce[_0x4169ed(0xd7)],'preview_job_id':_0x58f4ce[_0x4169ed(0xfc)],'status':'failed','progress':0x0,'error':_0x1c1255['message'],'created_at':_0x58f4ce[_0x4169ed(0xf9)],'started_at':new Date()[_0x4169ed(0xdf)](),'completed_at':new Date()[_0x4169ed(0xdf)]()},0xe10);}}async[a0_0x4f0af5(0xc7)](_0x597156){const _0x36fb0a=a0_0x4f0af5,_0x6c0bef={'MeVqi':_0x36fb0a(0xce)},_0x56cf4f=await redisHelper['getJob'](_0x36fb0a(0xcd)+_0x597156);if(!_0x56cf4f)return{'success':![],'error':_0x6c0bef['MeVqi']};return{'success':!![],'data':_0x56cf4f};}}module[a0_0x4f0af5(0x10b)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1b2dfa=a0_0x5140;(function(_0x1c387c,_0x2f41c4){const _0x39606a=a0_0x5140,_0x38625a=_0x1c387c();while(!![]){try{const _0x920204=-parseInt(_0x39606a(0x12b))/0x1+parseInt(_0x39606a(0x11e))/0x2+-parseInt(_0x39606a(0x11a))/0x3+parseInt(_0x39606a(0x13b))/0x4+-parseInt(_0x39606a(0x138))/0x5+-parseInt(_0x39606a(0x10b))/0x6*(-parseInt(_0x39606a(0x114))/0x7)+parseInt(_0x39606a(0x12e))/0x8;if(_0x920204===_0x2f41c4)break;else _0x38625a['push'](_0x38625a['shift']());}catch(_0x150811){_0x38625a['push'](_0x38625a['shift']());}}}(a0_0x3e56,0x73672));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1b2dfa(0xf7));class KafkaConsumerService{constructor(){const _0xf9c11e=a0_0x1b2dfa,_0x4a576c={'LHELc':'8|7|10|5|3|4|2|0|6|1|9'},_0x236b13=_0x4a576c[_0xf9c11e(0x107)][_0xf9c11e(0x135)]('|');let _0x320809=0x0;while(!![]){switch(_0x236b13[_0x320809++]){case'0':this[_0xf9c11e(0x127)]=[];continue;case'1':this[_0xf9c11e(0x102)]=null;continue;case'2':this['connectionPromise']=null;continue;case'3':this['isRunning']=![];continue;case'4':this[_0xf9c11e(0x105)]=![];continue;case'5':this['isInitializing']=![];continue;case'6':this[_0xf9c11e(0xe0)]=null;continue;case'7':this['consumer']=null;continue;case'8':this['kafka']=null;continue;case'9':this[_0xf9c11e(0x148)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'10':this[_0xf9c11e(0xea)]=![];continue;}break;}}['getConfig'](){const _0x27f531=a0_0x1b2dfa,_0x1aa714={'jxGCe':'true','hIWFV':_0x27f531(0x113),'nMkma':function(_0x2a4e2c,_0x6ce8ca){return _0x2a4e2c(_0x6ce8ca);},'qbLWy':'25000','eZKIz':'30000','FOESd':_0x27f531(0xf6),'CGrSR':'1048576','qujEO':function(_0x322fe9,_0x863b90){return _0x322fe9===_0x863b90;},'hDCbl':function(_0x32ffe3,_0xf63ea){return _0x32ffe3(_0xf63ea);}};return{'enabled':process[_0x27f531(0x136)]['KAFKA_ENABLED']===_0x1aa714['jxGCe'],'brokers':(process['env'][_0x27f531(0x13f)]||'localhost:9092')[_0x27f531(0x135)](','),'clientId':process[_0x27f531(0x136)]['KAFKA_CLIENT_ID']||'restforge-'+(process['env'][_0x27f531(0xe2)]||_0x1aa714[_0x27f531(0x11b)])+'-consumer','connectionTimeout':_0x1aa714[_0x27f531(0x115)](parseInt,process[_0x27f531(0x136)][_0x27f531(0x120)]||'3000'),'requestTimeout':_0x1aa714[_0x27f531(0x115)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x1aa714['qbLWy']),'sessionTimeout':parseInt(process[_0x27f531(0x136)]['KAFKA_SESSION_TIMEOUT']||_0x1aa714[_0x27f531(0xd6)]),'heartbeatInterval':_0x1aa714[_0x27f531(0x115)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x1aa714[_0x27f531(0x131)]),'maxBytesPerPartition':parseInt(process['env'][_0x27f531(0x133)]||_0x1aa714['CGrSR']),'autoCommit':_0x1aa714[_0x27f531(0xf2)](process[_0x27f531(0x136)]['KAFKA_AUTO_COMMIT'],_0x1aa714['jxGCe']),'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x27f531(0x134)),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x1aa714['nMkma'](parseInt,process[_0x27f531(0x136)]['KAFKA_RETRY_DELAY']||_0x27f531(0x125)),'retryMaxDelay':_0x1aa714[_0x27f531(0x147)](parseInt,process[_0x27f531(0x136)]['KAFKA_RETRY_MAX_DELAY']||_0x1aa714['eZKIz']),'logLevel':process[_0x27f531(0x136)]['KAFKA_LOG_LEVEL']||_0x27f531(0xe5)};}['getLogLevel'](_0x429935){const _0x5a87ad=a0_0x1b2dfa,_0x1ff9f9={'nothing':logLevel[_0x5a87ad(0xe3)],'error':logLevel[_0x5a87ad(0xd9)],'warn':logLevel[_0x5a87ad(0x122)],'info':logLevel['INFO'],'debug':logLevel[_0x5a87ad(0xd5)]};return _0x1ff9f9[_0x429935[_0x5a87ad(0x108)]()]||logLevel[_0x5a87ad(0x122)];}async[a0_0x1b2dfa(0xfa)](_0x33d20d={}){const _0x44fcb9=a0_0x1b2dfa,_0x51cce1={'XceqC':function(_0x4a71a7,_0x666112){return _0x4a71a7(_0x666112);},'OBHSk':_0x44fcb9(0xdb)},_0x57f662=this['getConfig']();if(!_0x57f662['enabled'])return console['log'](_0x51cce1[_0x44fcb9(0x126)]),![];if(this[_0x44fcb9(0xea)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x44fcb9(0x10f)];return this[_0x44fcb9(0x100)]=!![],this['connectionPromise']=new Promise(async _0x21273f=>{const _0x2bba37=_0x44fcb9;try{let _0x453b11=undefined;process['env'][_0x2bba37(0xf0)]===_0x2bba37(0x12f)&&(_0x453b11=!![]);let _0x3ae252=undefined;process[_0x2bba37(0x136)][_0x2bba37(0x132)]&&(_0x3ae252={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x2bba37(0x136)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x2bba37(0xf1)]=new Kafka({'clientId':_0x33d20d['clientId']||_0x57f662['clientId'],'brokers':_0x57f662[_0x2bba37(0xfb)],'connectionTimeout':_0x57f662[_0x2bba37(0x13c)],'requestTimeout':_0x57f662[_0x2bba37(0xe4)],'logLevel':this[_0x2bba37(0xef)](_0x57f662[_0x2bba37(0x101)]),'ssl':_0x453b11,'sasl':_0x3ae252,'retry':{'initialRetryTime':_0x57f662['retryDelay'],'retries':_0x57f662['retryAttempts'],'maxRetryTime':_0x57f662['retryMaxDelay']}}),this[_0x2bba37(0xe0)]=_0x33d20d['groupId']||'restforge-'+(process[_0x2bba37(0x136)][_0x2bba37(0xe2)]||_0x2bba37(0x113))+_0x2bba37(0x142),this['consumer']=this['kafka'][_0x2bba37(0x13d)]({'groupId':this['groupId'],'sessionTimeout':_0x57f662[_0x2bba37(0x129)],'heartbeatInterval':_0x57f662['heartbeatInterval'],'maxBytesPerPartition':_0x57f662['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x2bba37(0x13d)]['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x57f662[_0x2bba37(0xfb)]['join'](',\x20')+_0x2bba37(0x139)+this[_0x2bba37(0xe0)]+')'),this[_0x2bba37(0x10a)](),_0x51cce1['XceqC'](_0x21273f,!![]);}catch(_0x133220){console['error'](_0x2bba37(0x137)+_0x133220[_0x2bba37(0x112)]),this[_0x2bba37(0xea)]=![],_0x51cce1[_0x2bba37(0xda)](_0x21273f,![]);}finally{this[_0x2bba37(0x100)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x2d2a72=a0_0x1b2dfa,_0x20039b={'YchVZ':'consumer.crash','kslrf':'consumer.rebalancing'};if(!this[_0x2d2a72(0x13d)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x5bf690=_0x2d2a72;console[_0x5bf690(0x128)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x5bf690(0xea)]=![],this['isRunning']=![];}),this[_0x2d2a72(0x13d)]['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this['consumer']['on'](_0x20039b['YchVZ'],_0x1ee0c4=>{const _0x23e69a=_0x2d2a72;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x1ee0c4[_0x23e69a(0x124)]['error'][_0x23e69a(0x112)]),this['isRunning']=![];}),this[_0x2d2a72(0x13d)]['on'](_0x20039b[_0x2d2a72(0xec)],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x1b2dfa(0x109)](_0x5314c1,_0x3d8d0b=![]){const _0x1d1c63=a0_0x1b2dfa;if(!this[_0x1d1c63(0xea)])return console[_0x1d1c63(0xeb)](_0x1d1c63(0xee)),![];try{const _0x2139fa=Array[_0x1d1c63(0x121)](_0x5314c1)?_0x5314c1:[_0x5314c1];for(const _0x161df9 of _0x2139fa){await this['consumer']['subscribe']({'topic':_0x161df9,'fromBeginning':_0x3d8d0b}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x161df9+'\x20(fromBeginning:\x20'+_0x3d8d0b+')');}return this[_0x1d1c63(0x127)]=[...new Set([...this['subscribedTopics'],..._0x2139fa])],!![];}catch(_0x1c9aaa){return console['error'](_0x1d1c63(0xed)+_0x1c9aaa[_0x1d1c63(0x112)]),![];}}async[a0_0x1b2dfa(0xe1)](_0x40a1b6,_0x49c4a9={}){const _0x2d2e40=a0_0x1b2dfa,_0x470e59={'Dumsk':function(_0x4dbdb1,_0xe518a9){return _0x4dbdb1(_0xe518a9);},'dHFgO':function(_0x5bc254,_0x18d8ab){return _0x5bc254-_0x18d8ab;},'gYovY':_0x2d2e40(0x123),'AVgJW':_0x2d2e40(0x140),'mnJTz':function(_0x422329,_0x11a839){return _0x422329!==_0x11a839;}};if(!this[_0x2d2e40(0xea)])return console[_0x2d2e40(0xeb)](_0x470e59[_0x2d2e40(0x11f)]),![];if(this['isRunning'])return console['log'](_0x470e59['AVgJW']),!![];const _0x5aa815=this[_0x2d2e40(0x106)]();this['messageHandler']=_0x40a1b6;try{return this['metrics'][_0x2d2e40(0x141)]=new Date(),await this['consumer'][_0x2d2e40(0x12d)]({'autoCommit':_0x470e59['mnJTz'](_0x49c4a9[_0x2d2e40(0xfd)],undefined)?_0x49c4a9['autoCommit']:_0x5aa815[_0x2d2e40(0xfd)],'autoCommitInterval':_0x5aa815[_0x2d2e40(0x143)],'eachMessage':async({topic:_0x485e08,partition:_0x39421a,message:_0x388c14,heartbeat:_0x34254a})=>{const _0x37f366=_0x2d2e40,_0x3c661e=Date['now']();this[_0x37f366(0x148)][_0x37f366(0x111)]++,this[_0x37f366(0x148)]['lastMessageTime']=new Date();try{const _0x1ff0af=_0x388c14[_0x37f366(0xfc)]?_0x388c14['value']['toString']():null;let _0x2197bf=null;try{_0x2197bf=_0x1ff0af?JSON[_0x37f366(0x119)](_0x1ff0af):null;}catch(_0x311ccf){_0x2197bf=_0x1ff0af;}const _0x468557={'topic':_0x485e08,'partition':_0x39421a,'offset':_0x388c14['offset'],'key':_0x388c14[_0x37f366(0xd8)]?_0x388c14[_0x37f366(0xd8)]['toString']():null,'headers':this[_0x37f366(0x10e)](_0x388c14[_0x37f366(0x149)]),'timestamp':_0x388c14['timestamp'],'value':_0x2197bf,'raw':_0x1ff0af};this[_0x37f366(0x102)]&&await this[_0x37f366(0x102)](_0x468557);!_0x5aa815['autoCommit']&&await this['consumer'][_0x37f366(0xd7)]([{'topic':_0x485e08,'partition':_0x39421a,'offset':(_0x470e59['Dumsk'](parseInt,_0x388c14[_0x37f366(0x118)])+0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x271045=_0x470e59[_0x37f366(0xf5)](Date['now'](),_0x3c661e);this[_0x37f366(0x148)][_0x37f366(0xf9)]['push'](_0x271045),this[_0x37f366(0x148)][_0x37f366(0xf9)][_0x37f366(0x145)]>0x64&&this[_0x37f366(0x148)][_0x37f366(0xf9)]['shift'](),await _0x34254a();}catch(_0xb73092){this[_0x37f366(0x148)]['messagesFailed']++,console[_0x37f366(0xeb)](_0x37f366(0xfe)+_0xb73092[_0x37f366(0x112)]);throw _0xb73092;}}}),this[_0x2d2e40(0xdc)]=!![],console[_0x2d2e40(0x128)](_0x2d2e40(0x12c)+this[_0x2d2e40(0x127)]['join'](',\x20')),!![];}catch(_0x2c83b2){return console['error'](_0x2d2e40(0xdd)+_0x2c83b2[_0x2d2e40(0x112)]),![];}}[a0_0x1b2dfa(0x10e)](_0x5db60a){const _0x5b671c=a0_0x1b2dfa;if(!_0x5db60a)return{};const _0x33dc96={};for(const [_0x3a664d,_0x34b139]of Object[_0x5b671c(0x13a)](_0x5db60a)){_0x33dc96[_0x3a664d]=_0x34b139?_0x34b139['toString']():null;}return _0x33dc96;}async['pause'](){const _0x2c0a33=a0_0x1b2dfa,_0x1c3c1f={'Gfqus':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','zcXVV':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x2c0a33(0xea)]||!this['isRunning'])return console['log'](_0x1c3c1f['Gfqus']),![];if(this[_0x2c0a33(0x105)])return console['log'](_0x2c0a33(0xff)),!![];try{const _0x3b0508=this[_0x2c0a33(0x127)][_0x2c0a33(0x130)](_0x1c11b8=>({'topic':_0x1c11b8}));return this[_0x2c0a33(0x13d)]['pause'](_0x3b0508),this['isPaused']=!![],console['log'](_0x1c3c1f[_0x2c0a33(0x10c)]),!![];}catch(_0x3dc2c4){return console['error'](_0x2c0a33(0x103)+_0x3dc2c4[_0x2c0a33(0x112)]),![];}}async[a0_0x1b2dfa(0xdf)](){const _0x17e720=a0_0x1b2dfa,_0x22201b={'qWBjQ':_0x17e720(0x110)};if(!this['isConnected']||!this[_0x17e720(0xdc)])return console[_0x17e720(0x128)](_0x17e720(0x116)),![];if(!this[_0x17e720(0x105)])return console['log'](_0x22201b['qWBjQ']),!![];try{const _0x2bb33c=this[_0x17e720(0x127)][_0x17e720(0x130)](_0x8bcbf5=>({'topic':_0x8bcbf5}));return this['consumer']['resume'](_0x2bb33c),this['isPaused']=![],console['log'](_0x17e720(0xe9)),!![];}catch(_0x6aef42){return console[_0x17e720(0xeb)](_0x17e720(0xf3)+_0x6aef42[_0x17e720(0x112)]),![];}}async[a0_0x1b2dfa(0x13e)](){const _0x152616=a0_0x1b2dfa,_0x4c23ae={'gOCNl':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0x152616(0xea)])return console[_0x152616(0x128)](_0x4c23ae['gOCNl']),!![];try{return this[_0x152616(0x13d)]&&(await this[_0x152616(0x13d)]['stop'](),await this['consumer']['disconnect']()),this[_0x152616(0xea)]=![],this['isRunning']=![],this[_0x152616(0x105)]=![],console[_0x152616(0x128)](_0x152616(0xf8)),!![];}catch(_0x4edf8b){return console[_0x152616(0xeb)](_0x152616(0xe6)+_0x4edf8b['message']),![];}}async[a0_0x1b2dfa(0xe8)](_0x5c1cd3,_0x54e52c,_0x34a2d8){const _0x57860d=a0_0x1b2dfa,_0x2d4b01={'LWPIf':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x57860d(0xea)])return console[_0x57860d(0xeb)](_0x2d4b01['LWPIf']),![];try{return this[_0x57860d(0x13d)]['seek']({'topic':_0x5c1cd3,'partition':_0x54e52c,'offset':_0x34a2d8['toString']()}),console[_0x57860d(0x128)](_0x57860d(0xd3)+_0x34a2d8+'\x20on\x20'+_0x5c1cd3+':'+_0x54e52c),!![];}catch(_0x5e4768){return console[_0x57860d(0xeb)](_0x57860d(0x12a)+_0x5e4768['message']),![];}}[a0_0x1b2dfa(0xe7)](){const _0x3b4aa1=a0_0x1b2dfa,_0x443ff0=this[_0x3b4aa1(0x106)]();return{'enabled':_0x443ff0['enabled'],'connected':this[_0x3b4aa1(0xea)],'running':this[_0x3b4aa1(0xdc)],'paused':this['isPaused'],'brokers':_0x443ff0['brokers'],'clientId':_0x443ff0['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x1b2dfa(0x104)](){const _0x45d3df=a0_0x1b2dfa,_0x145da3={'IeJwS':function(_0x1a3aa9,_0x30ced3){return _0x1a3aa9>_0x30ced3;},'TnfGH':function(_0xf0b952,_0x5b2cad){return _0xf0b952+_0x5b2cad;},'mkJnN':function(_0x134b1c,_0x3ae595){return _0x134b1c/_0x3ae595;},'unpmD':function(_0x536430,_0x15f7a5){return _0x536430/_0x15f7a5;},'SJbkr':function(_0x16da2e,_0x5958f6){return _0x16da2e-_0x5958f6;}},_0x4ad54a=_0x145da3['IeJwS'](this['metrics']['processingTimes'][_0x45d3df(0x145)],0x0)?this['metrics']['processingTimes']['reduce']((_0xd19f17,_0x5306fc)=>_0xd19f17+_0x5306fc,0x0)/this[_0x45d3df(0x148)]['processingTimes']['length']:0x0,_0x29e3b8=this[_0x45d3df(0x148)][_0x45d3df(0xf9)][_0x45d3df(0x145)]>0x0?Math[_0x45d3df(0xde)](...this[_0x45d3df(0x148)]['processingTimes']):0x0,_0x40fc00=this[_0x45d3df(0x148)]['processingTimes']['length']>0x0?Math['max'](...this['metrics'][_0x45d3df(0xf9)]):0x0;return{'messagesReceived':this[_0x45d3df(0x148)][_0x45d3df(0x111)],'messagesProcessed':this[_0x45d3df(0x148)][_0x45d3df(0x11c)],'messagesFailed':this[_0x45d3df(0x148)][_0x45d3df(0xf4)],'successRate':_0x145da3[_0x45d3df(0x10d)](this[_0x45d3df(0x148)][_0x45d3df(0x111)],0x0)?_0x145da3['TnfGH']((_0x145da3['mkJnN'](this['metrics']['messagesProcessed'],this['metrics'][_0x45d3df(0x111)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x45d3df(0x148)]['lastMessageTime'],'startTime':this['metrics'][_0x45d3df(0x141)],'uptime':this[_0x45d3df(0x148)]['startTime']?_0x145da3['TnfGH'](Math['floor'](_0x145da3[_0x45d3df(0x11d)](_0x145da3[_0x45d3df(0x146)](Date['now'](),this[_0x45d3df(0x148)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x145da3['TnfGH'](Math[_0x45d3df(0xd4)](_0x4ad54a),'ms'),'min':_0x145da3['TnfGH'](_0x29e3b8,'ms'),'max':_0x40fc00+'ms'}};}['resetMetrics'](){const _0x426925=a0_0x1b2dfa;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x426925(0xdc)]?new Date():null,'processingTimes':[]},console['log'](_0x426925(0x117));}async['close'](){const _0x5a4f9c=a0_0x1b2dfa;await this[_0x5a4f9c(0x13e)]();}}function a0_0x5140(_0x34c61a,_0x3b63de){_0x34c61a=_0x34c61a-0xd3;const _0x3e562d=a0_0x3e56();let _0x514013=_0x3e562d[_0x34c61a];if(a0_0x5140['LoHhjO']===undefined){var _0x1bf107=function(_0x48b2e8){const _0x3ce610='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c2357='',_0x1428d9='';for(let _0x1b5bbb=0x0,_0xda1a2,_0x159c0e,_0xbe86eb=0x0;_0x159c0e=_0x48b2e8['charAt'](_0xbe86eb++);~_0x159c0e&&(_0xda1a2=_0x1b5bbb%0x4?_0xda1a2*0x40+_0x159c0e:_0x159c0e,_0x1b5bbb++%0x4)?_0x1c2357+=String['fromCharCode'](0xff&_0xda1a2>>(-0x2*_0x1b5bbb&0x6)):0x0){_0x159c0e=_0x3ce610['indexOf'](_0x159c0e);}for(let _0x3a4896=0x0,_0x3c9f56=_0x1c2357['length'];_0x3a4896<_0x3c9f56;_0x3a4896++){_0x1428d9+='%'+('00'+_0x1c2357['charCodeAt'](_0x3a4896)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1428d9);};a0_0x5140['IXDzub']=_0x1bf107,a0_0x5140['xUDMRJ']={},a0_0x5140['LoHhjO']=!![];}const _0x1e1e2b=_0x3e562d[0x0],_0x3a25e7=_0x34c61a+_0x1e1e2b,_0x5ccc66=a0_0x5140['xUDMRJ'][_0x3a25e7];return!_0x5ccc66?(_0x514013=a0_0x5140['IXDzub'](_0x514013),a0_0x5140['xUDMRJ'][_0x3a25e7]=_0x514013):_0x514013=_0x5ccc66,_0x514013;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x4babed=a0_0x1b2dfa;instance&&(instance[_0x4babed(0x144)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x3e56(){const _0x31aa3a=['yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','AxnjBML0AwfSAxPPBMC','Bg9Ntgv2zwW','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z2v0twv0CMLJCW','AxnqyxvZzwq','z2v0q29UzMLN','teHftgm','Dg9mB3DLCKnHC2u','C3vIC2nYAwjL','C2v0DxbfDMvUDeHHBMrSzxjZ','mZu5nhDtrKfLCW','EMnyvLy','swvkD1m','CgfYC2vizwfKzxjZ','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzq','zgvMyxvSDa','odmWoxvjrxnXBG','BK1RBwe','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','B2zMC2v0','CgfYC2u','mtqZnty0n29tzw9LCq','AeLxrLy','BwvZC2fNzxnqCM9JzxnZzwq','Dw5WBuq','mta4nJG1ofDtz2LiDG','z1LVDLK','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxnbCNjHEq','v0fstG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','Cgf5Bg9Hza','mtaWma','t0jiu2S','C3vIC2nYAwjLzfrVCgLJCW','Bg9N','C2vZC2LVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','nZeYmdm5CuvXugjy','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','CNvU','mJeYodG1nM5qswHqqG','Dhj1zq','BwfW','rK9fu2q','s0fgs0fFu0fttf9nruniqu5ju00','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','ntaWma','C3bSAxq','zw52','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','mJaZmJa2nufxrxLvBq','icHNCM91CeLKoIa','zw50CMLLCW','mJe5nJu2ogHgsfjlsq','y29UBMvJDgLVBLrPBwvVDxq','y29UC3vTzxi','C3rVCa','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C3rHCNruAw1L','lwnVBNn1BwvYlwDYB3vW','yxv0B0nVBw1PDeLUDgvYDMfS','y2XVC2u','BgvUz3rO','u0PIA3i','AerdyMW','Bwv0CMLJCW','AgvHzgvYCW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','CM91BMq','revcvuC','zvPlsxO','y29TBwL0t2zMC2v0CW','A2v5','rvjst1i','wgnLCum','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BwLU','CMvZDw1L','z3jVDxbjza','C3rHCNrdB25ZDw1PBMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tK9useLorW','CMvXDwvZDfrPBwvVDxq','D2fYBG','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','z2v0u3rHDhvZ','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','AxndB25Uzwn0zwq','zxjYB3i','A3nSCMy','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','z2v0tg9Ntgv2zwW','s0fgs0fFu1nm','A2fMA2e','CxvQru8','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','BwvZC2fNzxngywLSzwq','zeHgz08','mZaWma','DxvPza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','ChjVy2vZC2LUz1rPBwvZ','Aw5PDgLHBgL6zq','yNjVA2vYCW','DMfSDwu'];a0_0x3e56=function(){return _0x31aa3a;};return a0_0x3e56();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0xab7b57=a0_0x4103;(function(_0x59a67e,_0x2ccdf5){const _0x52d482=a0_0x4103,_0x275dca=_0x59a67e();while(!![]){try{const _0x4d473d=-parseInt(_0x52d482(0xe9))/0x1+parseInt(_0x52d482(0x8f))/0x2+-parseInt(_0x52d482(0xb8))/0x3*(parseInt(_0x52d482(0xdc))/0x4)+-parseInt(_0x52d482(0xc7))/0x5+-parseInt(_0x52d482(0xd1))/0x6+parseInt(_0x52d482(0xe3))/0x7*(parseInt(_0x52d482(0xed))/0x8)+parseInt(_0x52d482(0xa1))/0x9;if(_0x4d473d===_0x2ccdf5)break;else _0x275dca['push'](_0x275dca['shift']());}catch(_0x3ba27a){_0x275dca['push'](_0x275dca['shift']());}}}(a0_0x2c20,0x2ddb9));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0xab7b57(0x84));class KafkaConsumerService{constructor(){const _0x2c982d=a0_0xab7b57,_0x4198b4={'YoBHS':'8|10|6|4|0|2|9|7|1|3|5'},_0x308686=_0x4198b4['YoBHS'][_0x2c982d(0xd4)]('|');let _0x326463=0x0;while(!![]){switch(_0x308686[_0x326463++]){case'0':this['isRunning']=![];continue;case'1':this[_0x2c982d(0x9f)]=null;continue;case'2':this[_0x2c982d(0xf6)]=![];continue;case'3':this[_0x2c982d(0x81)]=null;continue;case'4':this[_0x2c982d(0x8a)]=![];continue;case'5':this[_0x2c982d(0xab)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'6':this[_0x2c982d(0xb5)]=![];continue;case'7':this['subscribedTopics']=[];continue;case'8':this[_0x2c982d(0xae)]=null;continue;case'9':this['connectionPromise']=null;continue;case'10':this['consumer']=null;continue;}break;}}[a0_0xab7b57(0xca)](){const _0xb9d038=a0_0xab7b57,_0x58c2aa={'HCEhz':_0xb9d038(0xee),'EtHaG':'localhost:9092','kfhMe':_0xb9d038(0xbc),'OyMCX':'3000','VggwK':function(_0x126de2,_0x1f3829){return _0x126de2(_0x1f3829);},'KYZds':'25000','RgYOC':'1048576','OgXtI':function(_0x57341e,_0x2615f9){return _0x57341e===_0x2615f9;},'dqegc':function(_0x18cec1,_0xed2aba){return _0x18cec1(_0xed2aba);},'cVuwS':function(_0x3537c9,_0x28a12f){return _0x3537c9(_0x28a12f);},'EztyT':'30000','jFxCs':_0xb9d038(0xf4)};return{'enabled':process['env'][_0xb9d038(0xcd)]===_0x58c2aa['HCEhz'],'brokers':(process[_0xb9d038(0xd8)][_0xb9d038(0x9c)]||_0x58c2aa[_0xb9d038(0xf1)])[_0xb9d038(0xd4)](','),'clientId':process[_0xb9d038(0xd8)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0xb9d038(0xd8)]['RESTFORGE_PROJECT_NAME']||_0x58c2aa[_0xb9d038(0x83)])+'-consumer','connectionTimeout':parseInt(process['env'][_0xb9d038(0xaa)]||_0x58c2aa[_0xb9d038(0x9e)]),'requestTimeout':_0x58c2aa['VggwK'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x58c2aa[_0xb9d038(0xd7)]),'sessionTimeout':parseInt(process[_0xb9d038(0xd8)][_0xb9d038(0xc6)]||_0xb9d038(0xdb)),'heartbeatInterval':parseInt(process['env'][_0xb9d038(0x82)]||_0xb9d038(0xcb)),'maxBytesPerPartition':_0x58c2aa[_0xb9d038(0x97)](parseInt,process[_0xb9d038(0xd8)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x58c2aa[_0xb9d038(0xa4)]),'autoCommit':_0x58c2aa['OgXtI'](process['env'][_0xb9d038(0xf8)],_0x58c2aa[_0xb9d038(0x96)]),'autoCommitInterval':_0x58c2aa[_0xb9d038(0xa9)](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0xb9d038(0xb6)),'retryAttempts':parseInt(process[_0xb9d038(0xd8)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x58c2aa[_0xb9d038(0xa5)](parseInt,process[_0xb9d038(0xd8)][_0xb9d038(0xe7)]||_0xb9d038(0x98)),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x58c2aa[_0xb9d038(0xb1)]),'logLevel':process[_0xb9d038(0xd8)][_0xb9d038(0xeb)]||_0x58c2aa[_0xb9d038(0xe6)]};}[a0_0xab7b57(0xc5)](_0x1aaefd){const _0x45cee9=a0_0xab7b57,_0x14806a={'nothing':logLevel[_0x45cee9(0x8b)],'error':logLevel[_0x45cee9(0x9d)],'warn':logLevel[_0x45cee9(0x92)],'info':logLevel[_0x45cee9(0x90)],'debug':logLevel[_0x45cee9(0xb0)]};return _0x14806a[_0x1aaefd['toLowerCase']()]||logLevel[_0x45cee9(0x92)];}async['initialize'](_0x3c458c={}){const _0x38cf32=a0_0xab7b57,_0x24fe03={'tQJdh':_0x38cf32(0xee),'mzPcX':function(_0x5077d2,_0x496f61){return _0x5077d2(_0x496f61);}},_0x5ef32c=this[_0x38cf32(0xca)]();if(!_0x5ef32c['enabled'])return console[_0x38cf32(0xb4)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this[_0x38cf32(0x8a)]=!![],this['connectionPromise']=new Promise(async _0x2de098=>{const _0x2260bc=_0x38cf32;try{let _0x53fb1e=undefined;process[_0x2260bc(0xd8)]['KAFKA_SSL']===_0x24fe03['tQJdh']&&(_0x53fb1e=!![]);let _0x3d0793=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x3d0793={'mechanism':process[_0x2260bc(0xd8)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x2260bc(0xae)]=new Kafka({'clientId':_0x3c458c['clientId']||_0x5ef32c['clientId'],'brokers':_0x5ef32c['brokers'],'connectionTimeout':_0x5ef32c['connectionTimeout'],'requestTimeout':_0x5ef32c['requestTimeout'],'logLevel':this[_0x2260bc(0xc5)](_0x5ef32c[_0x2260bc(0xcc)]),'ssl':_0x53fb1e,'sasl':_0x3d0793,'retry':{'initialRetryTime':_0x5ef32c['retryDelay'],'retries':_0x5ef32c['retryAttempts'],'maxRetryTime':_0x5ef32c['retryMaxDelay']}}),this[_0x2260bc(0x9f)]=_0x3c458c['groupId']||_0x2260bc(0x8d)+(process['env'][_0x2260bc(0xde)]||_0x2260bc(0xbc))+'-consumer-group',this[_0x2260bc(0x86)]=this[_0x2260bc(0xae)]['consumer']({'groupId':this[_0x2260bc(0x9f)],'sessionTimeout':_0x5ef32c[_0x2260bc(0xd3)],'heartbeatInterval':_0x5ef32c[_0x2260bc(0xac)],'maxBytesPerPartition':_0x5ef32c[_0x2260bc(0xa0)],'allowAutoTopicCreation':![]}),await this[_0x2260bc(0x86)][_0x2260bc(0xc2)](),this['isConnected']=!![],console['log'](_0x2260bc(0xf3)+_0x5ef32c['brokers'][_0x2260bc(0xe5)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x2260bc(0xa6)](),_0x24fe03[_0x2260bc(0xbf)](_0x2de098,!![]);}catch(_0xc9455){console[_0x2260bc(0x8c)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0xc9455[_0x2260bc(0x7e)]),this['isConnected']=![],_0x2de098(![]);}finally{this[_0x2260bc(0x8a)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x5a738e=a0_0xab7b57,_0x525588={'zroza':_0x5a738e(0x99),'yrCON':_0x5a738e(0x9b)},_0x10bc7d='1|4|3|0|2'['split']('|');let _0x1518fe=0x0;while(!![]){switch(_0x10bc7d[_0x1518fe++]){case'0':this[_0x5a738e(0x86)]['on'](_0x525588['zroza'],_0x7835b6=>{const _0x55e2cd=_0x5a738e;console[_0x55e2cd(0x8c)](_0x55e2cd(0xbd)+_0x7835b6['payload']['error']['message']),this['isRunning']=![];});continue;case'1':if(!this['consumer'])return;continue;case'2':this[_0x5a738e(0x86)]['on']('consumer.rebalancing',()=>{const _0x3fdb7d=_0x5a738e;console[_0x3fdb7d(0xb4)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':this[_0x5a738e(0x86)]['on'](_0x5a738e(0xf5),()=>{const _0x16402a=_0x5a738e;console[_0x16402a(0xb4)](_0x16402a(0xd6)),this['isRunning']=![];});continue;case'4':this['consumer']['on'](_0x525588[_0x5a738e(0xe1)],()=>{const _0x11bf56=_0x5a738e;console[_0x11bf56(0xb4)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x11bf56(0xb5)]=![],this['isRunning']=![];});continue;}break;}}async[a0_0xab7b57(0x91)](_0x1c8adc,_0x2c9f75=![]){const _0x4f18b8=a0_0xab7b57;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x53fb5e=Array['isArray'](_0x1c8adc)?_0x1c8adc:[_0x1c8adc];for(const _0x3d9f91 of _0x53fb5e){await this[_0x4f18b8(0x86)][_0x4f18b8(0x91)]({'topic':_0x3d9f91,'fromBeginning':_0x2c9f75}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x3d9f91+_0x4f18b8(0x95)+_0x2c9f75+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x53fb5e])],!![];}catch(_0x23ff68){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x23ff68[_0x4f18b8(0x7e)]),![];}}async['startConsuming'](_0x127df8,_0x5d3dec={}){const _0x5e8f2f=a0_0xab7b57,_0x2f3fa0={'TnSvD':function(_0x579ef0,_0x3bdc46){return _0x579ef0(_0x3bdc46);},'TfOsz':function(_0x2eed84,_0x2e1f7a){return _0x2eed84>_0x2e1f7a;},'hElPk':function(_0x2112be){return _0x2112be();},'TwUhY':function(_0x141618,_0x5e52e3){return _0x141618!==_0x5e52e3;}};if(!this[_0x5e8f2f(0xb5)])return console[_0x5e8f2f(0x8c)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x69f863=this['getConfig']();this['messageHandler']=_0x127df8;try{return this[_0x5e8f2f(0xab)][_0x5e8f2f(0xa8)]=new Date(),await this[_0x5e8f2f(0x86)][_0x5e8f2f(0xb7)]({'autoCommit':_0x2f3fa0[_0x5e8f2f(0xfb)](_0x5d3dec[_0x5e8f2f(0xe2)],undefined)?_0x5d3dec['autoCommit']:_0x69f863['autoCommit'],'autoCommitInterval':_0x69f863['autoCommitInterval'],'eachMessage':async({topic:_0x331aec,partition:_0x1fb7f4,message:_0x1beba5,heartbeat:_0x254add})=>{const _0x4c06ec=_0x5e8f2f,_0xe0f6a7=Date[_0x4c06ec(0xc3)]();this['metrics'][_0x4c06ec(0xda)]++,this[_0x4c06ec(0xab)][_0x4c06ec(0xb3)]=new Date();try{const _0x5847a5=_0x1beba5['value']?_0x1beba5['value']['toString']():null;let _0x56449b=null;try{_0x56449b=_0x5847a5?JSON['parse'](_0x5847a5):null;}catch(_0x2f96d7){_0x56449b=_0x5847a5;}const _0x5a70cb={'topic':_0x331aec,'partition':_0x1fb7f4,'offset':_0x1beba5[_0x4c06ec(0x8e)],'key':_0x1beba5['key']?_0x1beba5['key']['toString']():null,'headers':this[_0x4c06ec(0x7d)](_0x1beba5[_0x4c06ec(0xec)]),'timestamp':_0x1beba5[_0x4c06ec(0xa3)],'value':_0x56449b,'raw':_0x5847a5};this[_0x4c06ec(0x81)]&&await this['messageHandler'](_0x5a70cb);!_0x69f863['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x331aec,'partition':_0x1fb7f4,'offset':(_0x2f3fa0[_0x4c06ec(0xdf)](parseInt,_0x1beba5['offset'])+0x1)[_0x4c06ec(0xc1)]()}]);this['metrics'][_0x4c06ec(0x85)]++;const _0x981bca=Date[_0x4c06ec(0xc3)]()-_0xe0f6a7;this[_0x4c06ec(0xab)]['processingTimes']['push'](_0x981bca),_0x2f3fa0[_0x4c06ec(0x80)](this[_0x4c06ec(0xab)]['processingTimes'][_0x4c06ec(0xf7)],0x64)&&this['metrics'][_0x4c06ec(0xbb)]['shift'](),await _0x2f3fa0['hElPk'](_0x254add);}catch(_0x345efe){this[_0x4c06ec(0xab)][_0x4c06ec(0xf0)]++,console[_0x4c06ec(0x8c)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x345efe['message']);throw _0x345efe;}}}),this['isRunning']=!![],console['log'](_0x5e8f2f(0xc4)+this[_0x5e8f2f(0xc8)]['join'](',\x20')),!![];}catch(_0x371ebf){return console[_0x5e8f2f(0x8c)](_0x5e8f2f(0xa2)+_0x371ebf['message']),![];}}['parseHeaders'](_0x4eb2e6){const _0x2d46b3=a0_0xab7b57;if(!_0x4eb2e6)return{};const _0x48a05e={};for(const [_0x11c977,_0x376709]of Object[_0x2d46b3(0xef)](_0x4eb2e6)){_0x48a05e[_0x11c977]=_0x376709?_0x376709[_0x2d46b3(0xc1)]():null;}return _0x48a05e;}async[a0_0xab7b57(0x7f)](){const _0x673fc1=a0_0xab7b57;if(!this['isConnected']||!this['isRunning'])return console[_0x673fc1(0xb4)](_0x673fc1(0xdd)),![];if(this[_0x673fc1(0xf6)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x4095bf=this['subscribedTopics'][_0x673fc1(0xe4)](_0x2b9aa7=>({'topic':_0x2b9aa7}));return this[_0x673fc1(0x86)][_0x673fc1(0x7f)](_0x4095bf),this[_0x673fc1(0xf6)]=!![],console[_0x673fc1(0xb4)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x1a13ac){return console[_0x673fc1(0x8c)](_0x673fc1(0x88)+_0x1a13ac[_0x673fc1(0x7e)]),![];}}async['resume'](){const _0x321fa8=a0_0xab7b57,_0x1faabc={'ezmlr':_0x321fa8(0x93)};if(!this[_0x321fa8(0xb5)]||!this[_0x321fa8(0xc0)])return console['log'](_0x1faabc[_0x321fa8(0x9a)]),![];if(!this[_0x321fa8(0xf6)])return console[_0x321fa8(0xb4)](_0x321fa8(0xd9)),!![];try{const _0x5e169d=this[_0x321fa8(0xc8)][_0x321fa8(0xe4)](_0xa2bb53=>({'topic':_0xa2bb53}));return this['consumer'][_0x321fa8(0xb9)](_0x5e169d),this['isPaused']=![],console[_0x321fa8(0xb4)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0xf5eb4b){return console[_0x321fa8(0x8c)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0xf5eb4b[_0x321fa8(0x7e)]),![];}}async['stop'](){const _0x4b485d=a0_0xab7b57,_0x1108a4={'kGddX':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this['isConnected'])return console['log'](_0x1108a4[_0x4b485d(0x89)]),!![];try{return this[_0x4b485d(0x86)]&&(await this[_0x4b485d(0x86)][_0x4b485d(0xad)](),await this[_0x4b485d(0x86)][_0x4b485d(0xcf)]()),this['isConnected']=![],this[_0x4b485d(0xc0)]=![],this['isPaused']=![],console['log'](_0x4b485d(0x87)),!![];}catch(_0x46566e){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x46566e['message']),![];}}async[a0_0xab7b57(0xba)](_0x2fcf15,_0x192ab4,_0x5421cf){const _0x1ee3b2=a0_0xab7b57,_0x4c1b1f={'qcYqx':_0x1ee3b2(0xb2)};if(!this['isConnected'])return console['error'](_0x4c1b1f[_0x1ee3b2(0x94)]),![];try{return this[_0x1ee3b2(0x86)]['seek']({'topic':_0x2fcf15,'partition':_0x192ab4,'offset':_0x5421cf['toString']()}),console[_0x1ee3b2(0xb4)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5421cf+'\x20on\x20'+_0x2fcf15+':'+_0x192ab4),!![];}catch(_0x19aea9){return console[_0x1ee3b2(0x8c)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x19aea9[_0x1ee3b2(0x7e)]),![];}}[a0_0xab7b57(0xd2)](){const _0x332f91=a0_0xab7b57,_0x2c5ce8=this['getConfig']();return{'enabled':_0x2c5ce8[_0x332f91(0xd0)],'connected':this[_0x332f91(0xb5)],'running':this[_0x332f91(0xc0)],'paused':this[_0x332f91(0xf6)],'brokers':_0x2c5ce8[_0x332f91(0xea)],'clientId':_0x2c5ce8[_0x332f91(0xce)],'groupId':this[_0x332f91(0x9f)],'subscribedTopics':this['subscribedTopics']};}[a0_0xab7b57(0xf2)](){const _0x273f20=a0_0xab7b57,_0x4bd1ff={'OPmAU':function(_0x559b2e,_0x3b22f4){return _0x559b2e>_0x3b22f4;},'xqOtK':function(_0x30c059,_0x24ef48){return _0x30c059>_0x24ef48;},'GFuDx':function(_0x56609c,_0x2ee09a){return _0x56609c/_0x2ee09a;},'dlHUP':function(_0x465f34,_0x3ce39f){return _0x465f34+_0x3ce39f;},'RzOZH':function(_0x2466e0,_0x309eeb){return _0x2466e0/_0x309eeb;},'iECVX':function(_0x26f47e,_0x44c111){return _0x26f47e-_0x44c111;}},_0x18e182=this['metrics']['processingTimes']['length']>0x0?this[_0x273f20(0xab)][_0x273f20(0xbb)]['reduce']((_0x516b6e,_0x2943cf)=>_0x516b6e+_0x2943cf,0x0)/this[_0x273f20(0xab)][_0x273f20(0xbb)][_0x273f20(0xf7)]:0x0,_0x4c6bd7=this['metrics'][_0x273f20(0xbb)][_0x273f20(0xf7)]>0x0?Math[_0x273f20(0xfa)](...this[_0x273f20(0xab)]['processingTimes']):0x0,_0x1b0c9f=_0x4bd1ff[_0x273f20(0xd5)](this['metrics']['processingTimes']['length'],0x0)?Math[_0x273f20(0xf9)](...this['metrics'][_0x273f20(0xbb)]):0x0;return{'messagesReceived':this[_0x273f20(0xab)]['messagesReceived'],'messagesProcessed':this[_0x273f20(0xab)]['messagesProcessed'],'messagesFailed':this[_0x273f20(0xab)][_0x273f20(0xf0)],'successRate':_0x4bd1ff[_0x273f20(0xe8)](this[_0x273f20(0xab)][_0x273f20(0xda)],0x0)?(_0x4bd1ff['GFuDx'](this['metrics'][_0x273f20(0x85)],this['metrics'][_0x273f20(0xda)])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0x273f20(0xa8)],'uptime':this[_0x273f20(0xab)][_0x273f20(0xa8)]?_0x4bd1ff['dlHUP'](Math['floor'](_0x4bd1ff['RzOZH'](_0x4bd1ff[_0x273f20(0xaf)](Date[_0x273f20(0xc3)](),this[_0x273f20(0xab)][_0x273f20(0xa8)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x4bd1ff['dlHUP'](Math[_0x273f20(0xc9)](_0x18e182),'ms'),'min':_0x4bd1ff['dlHUP'](_0x4c6bd7,'ms'),'max':_0x4bd1ff['dlHUP'](_0x1b0c9f,'ms')}};}['resetMetrics'](){const _0x318b64=a0_0xab7b57;this[_0x318b64(0xab)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x318b64(0xc0)]?new Date():null,'processingTimes':[]},console['log'](_0x318b64(0xbe));}async['close'](){const _0x465cf7=a0_0xab7b57;await this[_0x465cf7(0xad)]();}}let instance=null;function a0_0x4103(_0x5bcaa0,_0xb83fd8){_0x5bcaa0=_0x5bcaa0-0x7d;const _0x2c2030=a0_0x2c20();let _0x410355=_0x2c2030[_0x5bcaa0];if(a0_0x4103['LzyUbr']===undefined){var _0xec4c0e=function(_0x435081){const _0x45f3a0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1bbb6d='',_0xdc8810='';for(let _0x4013b4=0x0,_0x3c8dbf,_0x5946e2,_0x1fb4d6=0x0;_0x5946e2=_0x435081['charAt'](_0x1fb4d6++);~_0x5946e2&&(_0x3c8dbf=_0x4013b4%0x4?_0x3c8dbf*0x40+_0x5946e2:_0x5946e2,_0x4013b4++%0x4)?_0x1bbb6d+=String['fromCharCode'](0xff&_0x3c8dbf>>(-0x2*_0x4013b4&0x6)):0x0){_0x5946e2=_0x45f3a0['indexOf'](_0x5946e2);}for(let _0x1df65c=0x0,_0x4aad3b=_0x1bbb6d['length'];_0x1df65c<_0x4aad3b;_0x1df65c++){_0xdc8810+='%'+('00'+_0x1bbb6d['charCodeAt'](_0x1df65c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdc8810);};a0_0x4103['VihLsR']=_0xec4c0e,a0_0x4103['HDDPPX']={},a0_0x4103['LzyUbr']=!![];}const _0x3660b4=_0x2c2030[0x0],_0x24768b=_0x5bcaa0+_0x3660b4,_0x4e90ed=a0_0x4103['HDDPPX'][_0x24768b];return!_0x4e90ed?(_0x410355=a0_0x4103['VihLsR'](_0x410355),a0_0x4103['HDDPPX'][_0x24768b]=_0x410355):_0x410355=_0x4e90ed,_0x410355;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x34cfb8=a0_0xab7b57;instance&&(instance[_0x34cfb8(0xa7)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0xab7b57(0xe0)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x2c20(){const _0x2b1718=['C3vIC2nYAwjLzfrVCgLJCW','CM91BMq','z2v0q29UzMLN','mZaWma','Bg9Ntgv2zwW','s0fgs0fFru5bqKXfra','y2XPzw50swq','zgLZy29UBMvJDa','zw5HyMXLza','mtq4oti4ng1LzKXqqW','z2v0u3rHDhvZ','C2vZC2LVBLrPBwvVDxq','C3bSAxq','t1bTqvu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','s1LAzhm','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','BwvZC2fNzxnszwnLAxzLza','mZaWmda','nJGWodGWt3jpvuze','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','vg5tDKq','zxHWB3j0CW','Exjdt04','yxv0B0nVBw1PDa','nZa5mZfLD2fuD20','BwfW','AM9PBG','AKz4q3m','s0fgs0fFuKvuuLLFrevmqvK','EhfpDeS','mZa4nZaWEe5Rre9t','yNjVA2vYCW','s0fgs0fFte9hx0XfvKvm','AgvHzgvYCW','mtC2C2zTB0X1','Dhj1zq','zw50CMLLCW','BwvZC2fNzxngywLSzwq','rxriyuC','z2v0twv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','D2fYBG','y29UC3vTzxiUC3rVCa','AxnqyxvZzwq','BgvUz3rO','s0fgs0fFqvvut19dt01nsvq','Bwf4','BwLU','vhDvAfK','CgfYC2vizwfKzxjZ','BwvZC2fNzq','Cgf1C2u','vgzpC3O','BwvZC2fNzuHHBMrSzxi','s0fgs0fFsevbuLrcrufux0LovevsvKfm','A2zOtwu','DxvPza','BwvZC2fNzxnqCM9JzxnZzwq','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','A0DKzfG','AxnjBML0AwfSAxPPBMC','tK9useLorW','zxjYB3i','CMvZDgzVCMDLlq','B2zMC2v0','odyWmdHTrMLZseK','su5gtW','C3vIC2nYAwjL','v0fstG','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','CwnzCxG','icHMCM9TqMvNAw5UAw5NoIa','senfAhO','vMDND0S','mtaWma','y29UC3vTzxiUy3jHC2G','zxPTBhi','y29UC3vTzxiUzgLZy29UBMvJDa','s0fgs0fFqLjps0vsuW','rvjst1i','t3Lnq1G','z3jVDxbjza','Bwf4qNL0zxnqzxjqyxj0AxrPB24','odq1nZeZogvwzw9zwG','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','DgLTzxn0yw1W','uMDzt0m','y1z1D1m','C2v0DxbfDMvUDeHHBMrSzxjZ','y2XVC2u','C3rHCNruAw1L','zhfLz2m','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Bwv0CMLJCW','AgvHCNrIzwf0sw50zxj2ywW','C3rVCa','A2fMA2e','AuvdvLG','revcvuC','rxP0Evq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','BgfZDe1LC3nHz2vuAw1L','Bg9N','AxndB25Uzwn0zwq','ntaWma','CNvU','m1v2B2XYAa','CMvZDw1L','C2vLA1rVt2zMC2v0','ChjVy2vZC2LUz1rPBwvZ','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','BxPqy1G','AxnsDw5UAw5N','Dg9tDhjPBMC','y29UBMvJDa','BM93','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','z2v0tg9Ntgv2zwW','s0fgs0fFu0vtu0LptL9usu1ft1vu','mtq1mZiYnw9REe93CG'];a0_0x2c20=function(){return _0x2b1718;};return a0_0x2c20();}
|