@restforgejs/platform 5.3.5 → 5.3.7
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/bin/restforge-designer-linux +0 -0
- package/bin/restforge-designer.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +3 -0
- package/generators/cli/fast-track.js +105 -34
- 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 +3 -2
- 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_0x128667=a0_0x3a24;(function(_0x253bf2,_0x2f9421){const _0x378b9a=a0_0x3a24,_0x1bf76f=_0x253bf2();while(!![]){try{const _0x3ec8a8=parseInt(_0x378b9a(0x1bd))/0x1+parseInt(_0x378b9a(0x21c))/0x2+-parseInt(_0x378b9a(0x20a))/0x3*(-parseInt(_0x378b9a(0x1f6))/0x4)+-parseInt(_0x378b9a(0x1b5))/0x5+parseInt(_0x378b9a(0x1eb))/0x6+-parseInt(_0x378b9a(0x212))/0x7+-parseInt(_0x378b9a(0x238))/0x8;if(_0x3ec8a8===_0x2f9421)break;else _0x1bf76f['push'](_0x1bf76f['shift']());}catch(_0x5a18b9){_0x1bf76f['push'](_0x1bf76f['shift']());}}}(a0_0x8c42,0xd219a));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x128667(0x1dd)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x192961=a0_0x128667;this['_wss']=null,this[_0x192961(0x1c1)]=![],this['_mode']=null,this[_0x192961(0x1de)]={},this[_0x192961(0x208)]=console,this[_0x192961(0x1ee)]=new Map(),this[_0x192961(0x200)]=null,this['_redisPublisher']=null,this['_redisSubscriber']=null,this['_workerId']=process['pid'];}['initialize'](_0x4e8735,_0x5cfb5c={}){const _0x311618=a0_0x128667,_0x4aa37e={'iMeas':_0x311618(0x1d5),'HGYPU':_0x311618(0x1d9)};if(this['_initialized'])return;this[_0x311618(0x1de)]=_0x5cfb5c,this['_mode']=_0x311618(0x22b);try{this['_logger']=require(_0x4aa37e[_0x311618(0x1d1)])[_0x311618(0x1f2)]||console;}catch(_0x2b96bf){this[_0x311618(0x208)]=console;}const _0x2549c0=parseInt(process[_0x311618(0x207)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x311618(0x22a)]=new WebSocketServer({'server':_0x4e8735,'path':_0x4aa37e['HGYPU']}),this[_0x311618(0x227)](_0x4e8735),this['_wss']['on'](_0x311618(0x1b6),(_0x13b12b,_0x4e2c0d)=>this['_handleConnection'](_0x13b12b,_0x4e2c0d)),this['_wss']['on'](_0x311618(0x1a7),_0x319365=>{const _0x1a01bd=_0x311618;this['_logger']['error']({'event':'livesync_wss_error','error':_0x319365['message']},_0x1a01bd(0x235)+_0x319365['message']);}),this[_0x311618(0x228)](_0x2549c0),this[_0x311618(0x215)](),this['_initialized']=!![],this[_0x311618(0x208)][_0x311618(0x202)]({'event':'livesync_initialized','mode':_0x311618(0x22b),'path':_0x311618(0x1d9),'heartbeat':_0x2549c0+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x2549c0+'s)');}['initializeAsPublisher'](_0x37c764={}){const _0x416446=a0_0x128667,_0x4c09fc={'tBTel':'publisher','wvLvF':function(_0x231432,_0x15411a){return _0x231432(_0x15411a);},'ZmWaK':'livesync_publisher_initialized'};if(this['_initialized'])return;this['_options']=_0x37c764,this['_mode']=_0x4c09fc['tBTel'];try{this[_0x416446(0x208)]=_0x4c09fc['wvLvF'](require,'../../utils/logger')['logger']||console;}catch(_0x3f757c){this[_0x416446(0x208)]=console;}this[_0x416446(0x1c7)](),this['_initialized']=!![],this['_logger']['info']({'event':_0x4c09fc[_0x416446(0x21a)],'mode':_0x416446(0x1c9)},_0x416446(0x22e));}[a0_0x128667(0x1f4)](){return this['_initialized'];}[a0_0x128667(0x1fb)](_0x55dbf3,_0x46df1e){const _0x1d12af=a0_0x128667,_0x5744bb={'TuPWD':function(_0x209b24,_0x3e729e){return _0x209b24===_0x3e729e;},'Nwscz':_0x1d12af(0x1c9),'oesWe':function(_0x546d39,_0x74bd78){return _0x546d39===_0x74bd78;},'YuVQE':function(_0x4f0047,_0x5ae484){return _0x4f0047===_0x5ae484;},'Junsj':function(_0xd2a75b,_0x350ac0){return _0xd2a75b||_0x350ac0;},'QxoGR':function(_0x53c26b,_0x23c204){return _0x53c26b>_0x23c204;}};if(!this[_0x1d12af(0x1c1)])return;if(_0x5744bb[_0x1d12af(0x201)](this['_mode'],_0x5744bb[_0x1d12af(0x1e9)])){this[_0x1d12af(0x226)](_0x55dbf3,_0x46df1e);return;}const _0x14d670=JSON['stringify']({'type':_0x1d12af(0x1f5),'channel':_0x55dbf3,'action':_0x46df1e['action'],'data':_0x46df1e[_0x1d12af(0x225)],'requestId':_0x46df1e['requestId']||null,'timestamp':new Date()[_0x1d12af(0x1e5)]()}),[_0x47d098]=_0x55dbf3[_0x1d12af(0x1aa)](':');let _0x2e5ab2=0x0;for(const [_0x477971,_0x22a5d0]of this[_0x1d12af(0x1ee)]){const _0x4ba4df=_0x5744bb['oesWe'](_0x477971,_0x55dbf3),_0x3f40ca=_0x5744bb['YuVQE'](_0x477971,_0x47d098+':*');if(_0x5744bb[_0x1d12af(0x1dc)](_0x4ba4df,_0x3f40ca))for(const _0xff70b4 of _0x22a5d0){if(_0xff70b4[_0x1d12af(0x1c6)]===0x1)try{_0xff70b4['send'](_0x14d670),_0x2e5ab2++;}catch(_0x58d44b){}}}_0x5744bb[_0x1d12af(0x1d2)](_0x2e5ab2,0x0)&&this['_logger'][_0x1d12af(0x1e1)]({'event':_0x1d12af(0x1f1),'channel':_0x55dbf3,'action':_0x46df1e['action'],'clients':_0x2e5ab2},_0x1d12af(0x216)+_0x46df1e[_0x1d12af(0x232)]+_0x1d12af(0x1d6)+_0x55dbf3+'\x20to\x20'+_0x2e5ab2+_0x1d12af(0x217));}[a0_0x128667(0x226)](_0x5b09f3,_0x128635){const _0x5f1596=a0_0x128667;if(!this[_0x5f1596(0x1df)])return;const _0x514cba=JSON['stringify']({'channel':_0x5b09f3,'message':_0x128635,'workerId':this[_0x5f1596(0x1fd)]});this[_0x5f1596(0x1df)][_0x5f1596(0x1fc)](REDIS_CHANNEL_PREFIX+'broadcast',_0x514cba)[_0x5f1596(0x239)](()=>{});}[a0_0x128667(0x1c0)](){const _0x40b8b8=a0_0x128667,_0x3ed4c1={'VTAKu':function(_0x1cc0a7,_0x27e815){return _0x1cc0a7(_0x27e815);},'aiusf':'livesync_shutdown'};if(!this[_0x40b8b8(0x1c1)])return;this['_heartbeatTimer']&&(_0x3ed4c1['VTAKu'](clearInterval,this[_0x40b8b8(0x200)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x4b7f53 of this[_0x40b8b8(0x22a)][_0x40b8b8(0x218)]){try{_0x4b7f53[_0x40b8b8(0x1d0)](0x3e9,'Server\x20shutting\x20down');}catch(_0xd416c9){}}this[_0x40b8b8(0x22a)][_0x40b8b8(0x1d0)]();}if(this[_0x40b8b8(0x229)])try{this[_0x40b8b8(0x229)]['unsubscribe'](),this['_redisSubscriber'][_0x40b8b8(0x21b)]();}catch(_0x31675a){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x40b8b8(0x1df)]['quit']();}catch(_0x15185c){}this['_subscriptions'][_0x40b8b8(0x1b7)](),this['_initialized']=![],this[_0x40b8b8(0x208)][_0x40b8b8(0x202)]({'event':_0x3ed4c1['aiusf'],'mode':this[_0x40b8b8(0x20c)]},_0x40b8b8(0x1ad)+this[_0x40b8b8(0x20c)]+_0x40b8b8(0x210));}[a0_0x128667(0x227)](_0x32bfdd){const _0x1da714=a0_0x128667,_0x1ed71a={'sxppT':'connection','bfTLZ':'/ws','hkDXt':_0x1da714(0x1be),'CZudz':'x-api-key','jDSjS':_0x1da714(0x1c8)},_0x488600=_0x32bfdd['listeners'](_0x1ed71a[_0x1da714(0x20f)])[_0x1da714(0x1ca)]();_0x32bfdd[_0x1da714(0x209)](_0x1da714(0x1c8)),_0x32bfdd['on'](_0x1ed71a[_0x1da714(0x20f)],(_0x74da31,_0x2a13a8,_0x55f96d)=>{const _0x52cc43=_0x1da714;if(!_0x74da31[_0x52cc43(0x1dd)]||!_0x74da31['url']['startsWith'](_0x1ed71a[_0x52cc43(0x1a8)])){for(const _0x5e65a5 of _0x488600){_0x5e65a5[_0x52cc43(0x1fa)](_0x32bfdd,_0x74da31,_0x2a13a8,_0x55f96d);}return;}if(this['_options'][_0x52cc43(0x204)]){const _0x2525e5=new URL(_0x74da31[_0x52cc43(0x1dd)],'http://'+(_0x74da31[_0x52cc43(0x1ff)][_0x52cc43(0x1db)]||_0x1ed71a['hkDXt'])),_0x59c189=_0x2525e5['searchParams']['get'](_0x1ed71a[_0x52cc43(0x224)])||_0x74da31[_0x52cc43(0x1ff)][_0x1ed71a['CZudz']];if(!_0x59c189||_0x59c189!==this['_options'][_0x52cc43(0x204)]){_0x2a13a8['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x2a13a8[_0x52cc43(0x1ce)]();return;}}this[_0x52cc43(0x22a)]['handleUpgrade'](_0x74da31,_0x2a13a8,_0x55f96d,_0x4f0313=>{const _0x5680df=_0x52cc43;this['_wss'][_0x5680df(0x1b2)](_0x1ed71a['sxppT'],_0x4f0313,_0x74da31);});});}['_handleConnection'](_0x1a0b99,_0x4a925d){const _0x217d79=a0_0x128667,_0x4d24e2={'XVoYv':'error','FNpZA':'livesync_client_disconnected','sserM':_0x217d79(0x1ac),'rPuQJ':_0x217d79(0x1ec),'LwxRv':_0x217d79(0x1af),'rgyTT':_0x217d79(0x1f7)};_0x1a0b99[_0x217d79(0x1c2)]=!![],_0x1a0b99[_0x217d79(0x211)]=new Set();const _0x551a56=_0x4a925d['headers'][_0x4d24e2[_0x217d79(0x1c3)]]||_0x4a925d['socket']['remoteAddress'];this[_0x217d79(0x208)][_0x217d79(0x202)]({'event':_0x217d79(0x231),'ip':_0x551a56},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x551a56),_0x1a0b99['on'](_0x4d24e2[_0x217d79(0x1b1)],()=>{_0x1a0b99['isAlive']=!![];}),_0x1a0b99['on'](_0x4d24e2['rgyTT'],_0x3710eb=>{const _0x42d0c0=_0x217d79;try{const _0x259729=JSON[_0x42d0c0(0x21d)](_0x3710eb['toString']());this['_handleClientMessage'](_0x1a0b99,_0x259729);}catch(_0x49e676){this['_sendToClient'](_0x1a0b99,{'type':_0x4d24e2[_0x42d0c0(0x1f9)],'message':'Invalid\x20JSON\x20message'});}}),_0x1a0b99['on']('close',()=>{const _0xd96418=_0x217d79;this['_removeClientFromAllChannels'](_0x1a0b99),this['_logger']['debug']({'event':_0x4d24e2[_0xd96418(0x1cf)],'ip':_0x551a56},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x551a56);}),_0x1a0b99['on'](_0x4d24e2['XVoYv'],_0x5012a8=>{const _0x520ece=_0x217d79;this[_0x520ece(0x208)][_0x520ece(0x1b3)]({'event':_0x4d24e2[_0x520ece(0x234)],'error':_0x5012a8['message']},'WebSocket\x20client\x20error:\x20'+_0x5012a8['message']),this[_0x520ece(0x1d8)](_0x1a0b99);});}[a0_0x128667(0x20e)](_0x83b9c1,_0x37bf40){const _0x47cb17=a0_0x128667,_0x44e668={'amcQX':'subscribe','YRITQ':_0x47cb17(0x1f0),'uajFp':_0x47cb17(0x1af),'TosuU':'error'};switch(_0x37bf40[_0x47cb17(0x1b4)]){case _0x44e668[_0x47cb17(0x1a6)]:this[_0x47cb17(0x230)](_0x83b9c1,_0x37bf40[_0x47cb17(0x1e3)]);break;case _0x44e668[_0x47cb17(0x1bc)]:this[_0x47cb17(0x1da)](_0x83b9c1,_0x37bf40['channels']);break;case _0x44e668['uajFp']:_0x83b9c1[_0x47cb17(0x1c2)]=!![];break;default:this['_sendToClient'](_0x83b9c1,{'type':_0x44e668[_0x47cb17(0x1cb)],'message':_0x47cb17(0x1b9)+_0x37bf40[_0x47cb17(0x1b4)]});}}['_handleSubscribe'](_0xe4f9f0,_0x34ee62){const _0x53ce22=a0_0x128667,_0x390160={'WFRdT':function(_0x941c02,_0x33ec9){return _0x941c02===_0x33ec9;},'FfMSW':'error','jWSEl':function(_0x11986d,_0x5858f6){return _0x11986d!==_0x5858f6;},'bhWeq':_0x53ce22(0x1e4),'FJqJL':'livesync_subscribe'};if(!Array[_0x53ce22(0x1b0)](_0x34ee62)||_0x390160['WFRdT'](_0x34ee62[_0x53ce22(0x21f)],0x0)){this[_0x53ce22(0x236)](_0xe4f9f0,{'type':_0x390160['FfMSW'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x1bffd1=[];for(const _0x279d43 of _0x34ee62){if(_0x390160['jWSEl'](typeof _0x279d43,_0x390160['bhWeq'])||!_0x279d43[_0x53ce22(0x1cc)](':'))continue;!this[_0x53ce22(0x1ee)][_0x53ce22(0x1bf)](_0x279d43)&&this['_subscriptions'][_0x53ce22(0x1fe)](_0x279d43,new Set()),this['_subscriptions']['get'](_0x279d43)[_0x53ce22(0x1cd)](_0xe4f9f0),_0xe4f9f0[_0x53ce22(0x211)]['add'](_0x279d43),_0x1bffd1[_0x53ce22(0x1ed)](_0x279d43);}_0x1bffd1['length']>0x0&&(this[_0x53ce22(0x236)](_0xe4f9f0,{'type':'subscribed','channels':_0x1bffd1,'timestamp':new Date()[_0x53ce22(0x1e5)]()}),this['_logger']['debug']({'event':_0x390160['FJqJL'],'channels':_0x1bffd1},_0x53ce22(0x1ba)+_0x1bffd1[_0x53ce22(0x20b)](',\x20')));}['_handleUnsubscribe'](_0x4fb6cc,_0x4ed212){const _0x38eb90=a0_0x128667,_0x1d8730={'fDigE':function(_0x5e2ba3,_0x168639){return _0x5e2ba3===_0x168639;}};if(!Array[_0x38eb90(0x1b0)](_0x4ed212))return;const _0x41310a=[];for(const _0x4e6df3 of _0x4ed212){this[_0x38eb90(0x1ee)][_0x38eb90(0x1bf)](_0x4e6df3)&&(this[_0x38eb90(0x1ee)]['get'](_0x4e6df3)['delete'](_0x4fb6cc),_0x1d8730['fDigE'](this['_subscriptions']['get'](_0x4e6df3)['size'],0x0)&&this[_0x38eb90(0x1ee)]['delete'](_0x4e6df3)),_0x4fb6cc[_0x38eb90(0x211)][_0x38eb90(0x219)](_0x4e6df3),_0x41310a[_0x38eb90(0x1ed)](_0x4e6df3);}_0x41310a[_0x38eb90(0x21f)]>0x0&&this[_0x38eb90(0x236)](_0x4fb6cc,{'type':'unsubscribed','channels':_0x41310a,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x2e07d5){const _0x4ec274=a0_0x128667;if(!_0x2e07d5['subscribedChannels'])return;for(const _0xca4fbb of _0x2e07d5['subscribedChannels']){this[_0x4ec274(0x1ee)]['has'](_0xca4fbb)&&(this[_0x4ec274(0x1ee)]['get'](_0xca4fbb)[_0x4ec274(0x219)](_0x2e07d5),this[_0x4ec274(0x1ee)]['get'](_0xca4fbb)['size']===0x0&&this['_subscriptions'][_0x4ec274(0x219)](_0xca4fbb));}_0x2e07d5[_0x4ec274(0x211)]['clear']();}[a0_0x128667(0x236)](_0x15a427,_0x5ca3d5){const _0x1d7176=a0_0x128667,_0x5d6367={'xtDxw':function(_0x35631e,_0x4eaf10){return _0x35631e===_0x4eaf10;}};if(_0x5d6367[_0x1d7176(0x223)](_0x15a427[_0x1d7176(0x1c6)],0x1))try{_0x15a427[_0x1d7176(0x1b8)](JSON[_0x1d7176(0x22d)](_0x5ca3d5));}catch(_0x520427){}}[a0_0x128667(0x228)](_0x1b919d){const _0x27d43b=a0_0x128667,_0x5b9c49={'GCYWf':_0x27d43b(0x203),'yGktX':function(_0xdcc606,_0x47302c){return _0xdcc606*_0x47302c;}};this['_heartbeatTimer']=setInterval(()=>{const _0x1325c1=_0x27d43b;if(!this[_0x1325c1(0x22a)])return;for(const _0x27813b of this['_wss'][_0x1325c1(0x218)]){if(!_0x27813b[_0x1325c1(0x1c2)]){this[_0x1325c1(0x1d8)](_0x27813b),_0x27813b[_0x1325c1(0x237)]();continue;}_0x27813b[_0x1325c1(0x1c2)]=![],this['_sendToClient'](_0x27813b,{'type':_0x5b9c49['GCYWf'],'timestamp':new Date()[_0x1325c1(0x1e5)]()});try{_0x27813b['ping']();}catch(_0x15ff32){}}},_0x5b9c49[_0x27d43b(0x214)](_0x1b919d,0x3e8));}['_setupRedisPublisher'](){const _0x30d523=a0_0x128667,_0x5ab794={'LRbaW':function(_0x5c34d0,_0x747e60){return _0x5c34d0(_0x747e60);},'wFvcr':'ioredis','SsEtF':_0x30d523(0x213),'AwcJD':function(_0x311a2a,_0x4eb290,_0xbcdba6){return _0x311a2a(_0x4eb290,_0xbcdba6);},'ZdBHB':function(_0xd439a4,_0x8a38b6,_0x11930e){return _0xd439a4(_0x8a38b6,_0x11930e);},'LlYAc':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x82057c=_0x5ab794[_0x30d523(0x221)](require,_0x30d523(0x1f3));this[_0x30d523(0x1df)]=_0x82057c['getClient']?_0x82057c['getClient']():null;}catch(_0x47063c){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1a5cf2=_0x5ab794[_0x30d523(0x221)](require,_0x5ab794[_0x30d523(0x1bb)]),_0x46a5a0={'host':process[_0x30d523(0x207)][_0x30d523(0x1e0)]||_0x5ab794[_0x30d523(0x222)],'port':_0x5ab794[_0x30d523(0x233)](parseInt,process[_0x30d523(0x207)][_0x30d523(0x1ab)],0xa)||0x18eb,'password':process[_0x30d523(0x207)][_0x30d523(0x1f8)]||undefined,'db':_0x5ab794['ZdBHB'](parseInt,process[_0x30d523(0x207)][_0x30d523(0x1e6)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x1a5cf2(_0x46a5a0),this['_ownPublisher']=!![],this['_redisPublisher'][_0x30d523(0x1e2)]()['catch'](()=>{const _0xd954e6=_0x30d523;this[_0xd954e6(0x208)][_0xd954e6(0x1b3)]({'event':_0xd954e6(0x1ea)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0xd954e6(0x1df)]=null;});}}catch(_0x17877f){this['_logger']['warn']({'event':_0x5ab794[_0x30d523(0x1d7)],'error':_0x17877f['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x17877f['message']);}}[a0_0x128667(0x215)](){const _0x519fb5=a0_0x128667,_0x18ccef={'lslJe':_0x519fb5(0x1ea),'SwMvA':'livesync_redis_subscribe_error','ojNoj':'livesync_redis_subscribed','pbZTY':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode','KcqXU':'message','VlCbi':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','BJLDZ':function(_0x160683,_0x19cf5e){return _0x160683(_0x19cf5e);},'basOf':_0x519fb5(0x1f3),'lTqSC':'livesync_redis_unavailable'};this[_0x519fb5(0x1ef)]=![];try{const _0x7df686=_0x18ccef[_0x519fb5(0x22c)](require,_0x519fb5(0x220)),_0x3cf6e7={'host':process['env'][_0x519fb5(0x1e0)]||_0x519fb5(0x213),'port':parseInt(process[_0x519fb5(0x207)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x519fb5(0x207)][_0x519fb5(0x1e6)],0xa)||0x0,'lazyConnect':!![]};try{const _0x514c3c=_0x18ccef[_0x519fb5(0x22c)](require,_0x18ccef['basOf']);this[_0x519fb5(0x1df)]=_0x514c3c[_0x519fb5(0x21e)]?_0x514c3c[_0x519fb5(0x21e)]():null;}catch(_0x47efbc){this[_0x519fb5(0x1df)]=null;}!this['_redisPublisher']&&(this[_0x519fb5(0x1df)]=new _0x7df686(_0x3cf6e7),this['_ownPublisher']=!![],this[_0x519fb5(0x1df)]['connect']()['catch'](()=>{const _0x4eca0e=_0x519fb5;this[_0x4eca0e(0x208)][_0x4eca0e(0x1b3)]({'event':_0x18ccef['lslJe']},_0x4eca0e(0x1a9)),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x7df686(_0x3cf6e7),this[_0x519fb5(0x229)][_0x519fb5(0x1e2)]()['then'](()=>{const _0x436975=_0x519fb5;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x1b168a=>{const _0xb95566=a0_0x3a24;if(_0x1b168a){this['_logger']['error']({'event':_0x18ccef[_0xb95566(0x1d4)],'error':_0x1b168a['message']},_0xb95566(0x1e8)+_0x1b168a['message']);return;}this['_logger']['info']({'event':_0x18ccef['ojNoj']},_0x18ccef[_0xb95566(0x206)]);}),this['_redisSubscriber']['on'](_0x18ccef[_0x436975(0x1c5)],(_0xba8e1,_0x5495b8)=>{const _0x3dd099=_0x436975;try{const _0x387201=JSON[_0x3dd099(0x21d)](_0x5495b8);if(_0x387201[_0x3dd099(0x22f)]===this['_workerId'])return;this[_0x3dd099(0x1c4)](_0x387201['channel'],_0x387201['message']);}catch(_0x257919){}});})[_0x519fb5(0x239)](()=>{const _0x5eba14=_0x519fb5;this[_0x5eba14(0x208)][_0x5eba14(0x1b3)]({'event':'livesync_redis_subscriber_failed'},_0x18ccef[_0x5eba14(0x20d)]),this[_0x5eba14(0x229)]=null;});}catch(_0x4beb6e){this['_logger']['warn']({'event':_0x18ccef[_0x519fb5(0x1d3)],'error':_0x4beb6e['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x4beb6e[_0x519fb5(0x1f7)]);}}['_broadcastLocal'](_0x50fb4d,_0x51f373){const _0x2b2b2d=a0_0x128667,_0x41013a={'WxNMY':_0x2b2b2d(0x1f5),'UPjOO':function(_0xe2f719,_0xbfe4ca){return _0xe2f719||_0xbfe4ca;},'oshRP':function(_0x1c9e81,_0x1fec5c){return _0x1c9e81===_0x1fec5c;}};if(!this[_0x2b2b2d(0x22a)])return;const _0x309b97=JSON[_0x2b2b2d(0x22d)]({'type':_0x41013a[_0x2b2b2d(0x205)],'channel':_0x50fb4d,'action':_0x51f373['action'],'data':_0x51f373[_0x2b2b2d(0x225)],'requestId':_0x51f373[_0x2b2b2d(0x1ae)]||null,'timestamp':new Date()[_0x2b2b2d(0x1e5)]()}),[_0x514f2e]=_0x50fb4d['split'](':');for(const [_0x1e722f,_0x2d9f0c]of this[_0x2b2b2d(0x1ee)]){const _0x105f7e=_0x1e722f===_0x50fb4d,_0x39098e=_0x1e722f===_0x514f2e+':*';if(_0x41013a[_0x2b2b2d(0x1e7)](_0x105f7e,_0x39098e))for(const _0x34a418 of _0x2d9f0c){if(_0x41013a['oshRP'](_0x34a418['readyState'],0x1))try{_0x34a418['send'](_0x309b97);}catch(_0x3035a1){}}}}}function a0_0x3a24(_0x13242b,_0x3186f8){_0x13242b=_0x13242b-0x1a6;const _0x8c4270=a0_0x8c42();let _0x3a245a=_0x8c4270[_0x13242b];if(a0_0x3a24['ShPHpY']===undefined){var _0x28fee9=function(_0x561b17){const _0x3b362a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476525='',_0x3ba57b='';for(let _0x4e031b=0x0,_0x44263f,_0x382acd,_0x1c4e21=0x0;_0x382acd=_0x561b17['charAt'](_0x1c4e21++);~_0x382acd&&(_0x44263f=_0x4e031b%0x4?_0x44263f*0x40+_0x382acd:_0x382acd,_0x4e031b++%0x4)?_0x476525+=String['fromCharCode'](0xff&_0x44263f>>(-0x2*_0x4e031b&0x6)):0x0){_0x382acd=_0x3b362a['indexOf'](_0x382acd);}for(let _0x3b00d3=0x0,_0x32b6a7=_0x476525['length'];_0x3b00d3<_0x32b6a7;_0x3b00d3++){_0x3ba57b+='%'+('00'+_0x476525['charCodeAt'](_0x3b00d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ba57b);};a0_0x3a24['usbygt']=_0x28fee9,a0_0x3a24['EdVTJC']={},a0_0x3a24['ShPHpY']=!![];}const _0x578dbd=_0x8c4270[0x0],_0x1cf1f6=_0x13242b+_0x578dbd,_0x19a0c6=a0_0x3a24['EdVTJC'][_0x1cf1f6];return!_0x19a0c6?(_0x3a245a=a0_0x3a24['usbygt'](_0x3a245a),a0_0x3a24['EdVTJC'][_0x1cf1f6]=_0x3a245a):_0x3a245a=_0x19a0c6,_0x3a245a;}module['exports']=WebSocketBroadcaster;function a0_0x8c42(){const _0x1aa8d5=['x2HHBMrSzvvUC3vIC2nYAwjL','Ag9ZDa','sNvUC2O','DxjS','x29WDgLVBNm','x3jLzgLZuhvIBgLZAgvY','uKvesvnFse9tva','zgvIDwC','y29UBMvJDa','y2HHBM5LBhm','C3rYAw5N','Dg9ju09tDhjPBMC','uKvesvnFrei','vvbQt08','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','tNDZy3O','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','odGZmdiZnNzRALjbqq','Ec1MB3j3yxjKzwqTzM9Y','ChvZAa','x3n1yNnJCMLWDgLVBNm','x293BLb1yMXPC2HLCG','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFyNjVywrJyxn0','Bg9Nz2vY','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AxnjBML0AwfSAxPLza','zgf0yv9JAgfUz2u','mJCZnZu3nLDsDwvStG','BwvZC2fNzq','uKvesvnFueftu1DpuKq','wfzVwxy','y2fSBa','yNjVywrJyxn0','ChvIBgLZAa','x3DVCMTLCKLK','C2v0','AgvHzgvYCW','x2HLyxj0yMvHDfrPBwvY','vhvqv0q','Aw5MBW','CgLUzW','yxbPs2v5','v3HotvK','CgjAvfK','zw52','x2XVz2DLCG','CMvTB3zLqwXStgLZDgvUzxjZ','m2L4tw1HvW','AM9PBG','x21Vzgu','vMXdyMK','x2HHBMrSzunSAwvUDe1LC3nHz2u','AKrtALm','ihnODxqGzg93BG','C3vIC2nYAwjLzenOyw5UzwXZ','mZu0ntuXnhzYt1PZtW','mti3lJaUmc4X','EuDRDfG','x3nLDhvWuMvKAxm','qNjVywrJyxn0ia','ignSAwvUDcHZkq','y2XPzw50CW','zgvSzxrL','wM1xyuS','CxvPDa','mJu4otq1oeX3zLHoAa','CgfYC2u','z2v0q2XPzw50','BgvUz3rO','Aw9YzwrPCW','tfjIyvC','u3nfDey','EhreEhC','q1P1zhO','zgf0yq','x3b1yMXPC2HuB1jLzgLZ','x3nLDhvWvxbNCMfKzuf1DgG','x3n0yxj0sgvHCNrIzwf0','x3jLzgLZu3vIC2nYAwjLCG','x3DZCW','zNvSBa','qKPmrfO','C3rYAw5NAwz5','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D29YA2vYswq','x2HHBMrSzvn1yNnJCMLIzq','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','ywn0Aw9U','qxDJsKq','C3nLCK0','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x3nLBMruB0nSAwvUDa','DgvYBwLUyxrL','mte5ndi2odbLqxnzrum','y2f0y2G','yw1JuvG','zxjYB3i','yMzutfO','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','C3bSAxq','uKvesvnFue9sva','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','tgL2zsbtEw5Jia','CMvXDwvZDeLK','Cg9UzW','AxnbCNjHEq','thD4uNy','zw1PDa','D2fYBG','DhLWzq','nti4ntu5mhLmCuf3vG','y29UBMvJDgLVBG','y2XLyxi','C2vUza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','D0z2y3i','wvjjvfe','ndy2mtK2rezjD1P1','Bg9JywXOB3n0','AgfZ','C2H1DgrVD24','x2LUAxrPywXPEMvK','AxnbBgL2zq','CLb1uuO','x2jYB2fKy2fZDeXVy2fS','s2nXwfu','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','DxbNCMfKzq','ChvIBgLZAgvY','C2XPy2u','vg9ZDvu','Aw5JBhvKzxm','ywrK','zgvZDhjVEq','rK5WwKe','y2XVC2u','Au1Lyxm','uxHVr1i','BfrXu0m','u3DnDKe','lI4VlI4VDxrPBhmVBg9Nz2vY','ig9Uia','tgXzqwm','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','l3DZ'];a0_0x8c42=function(){return _0x1aa8d5;};return a0_0x8c42();}
|
|
1
|
+
'use strict';const a0_0x3f90d5=a0_0x5472;(function(_0x5540a1,_0x43cae0){const _0x13ed18=a0_0x5472,_0x229d0a=_0x5540a1();while(!![]){try{const _0x4ebddf=-parseInt(_0x13ed18(0x1b6))/0x1+-parseInt(_0x13ed18(0x1a1))/0x2+-parseInt(_0x13ed18(0x18c))/0x3*(parseInt(_0x13ed18(0x1c9))/0x4)+parseInt(_0x13ed18(0x1c5))/0x5*(-parseInt(_0x13ed18(0x18b))/0x6)+-parseInt(_0x13ed18(0x200))/0x7*(parseInt(_0x13ed18(0x1dd))/0x8)+-parseInt(_0x13ed18(0x195))/0x9+-parseInt(_0x13ed18(0x1d4))/0xa*(-parseInt(_0x13ed18(0x1c7))/0xb);if(_0x4ebddf===_0x43cae0)break;else _0x229d0a['push'](_0x229d0a['shift']());}catch(_0x155c45){_0x229d0a['push'](_0x229d0a['shift']());}}}(a0_0x4dd3,0x23ce2));function a0_0x5472(_0x5745b8,_0x23ff28){_0x5745b8=_0x5745b8-0x17e;const _0x4dd397=a0_0x4dd3();let _0x54726b=_0x4dd397[_0x5745b8];if(a0_0x5472['yWKCix']===undefined){var _0x51fa2d=function(_0x140dfb){const _0x574dfc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e6579='',_0x35c74e='';for(let _0xe3d222=0x0,_0x497c04,_0x3a0bf2,_0x46ad1e=0x0;_0x3a0bf2=_0x140dfb['charAt'](_0x46ad1e++);~_0x3a0bf2&&(_0x497c04=_0xe3d222%0x4?_0x497c04*0x40+_0x3a0bf2:_0x3a0bf2,_0xe3d222++%0x4)?_0x4e6579+=String['fromCharCode'](0xff&_0x497c04>>(-0x2*_0xe3d222&0x6)):0x0){_0x3a0bf2=_0x574dfc['indexOf'](_0x3a0bf2);}for(let _0x4636d2=0x0,_0xe9932e=_0x4e6579['length'];_0x4636d2<_0xe9932e;_0x4636d2++){_0x35c74e+='%'+('00'+_0x4e6579['charCodeAt'](_0x4636d2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35c74e);};a0_0x5472['UbeAEp']=_0x51fa2d,a0_0x5472['RtDyLz']={},a0_0x5472['yWKCix']=!![];}const _0x5bf834=_0x4dd397[0x0],_0x16e1b4=_0x5745b8+_0x5bf834,_0x1c4cb9=a0_0x5472['RtDyLz'][_0x16e1b4];return!_0x1c4cb9?(_0x54726b=a0_0x5472['UbeAEp'](_0x54726b),a0_0x5472['RtDyLz'][_0x16e1b4]=_0x54726b):_0x54726b=_0x1c4cb9,_0x54726b;}function a0_0x4dd3(){const _0x24b2ed=['BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','z2v0q2XPzw50','AvPzvfe','ntCWmZu4AKLYwNDb','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','u2PTC1y','D29YA2vYswq','zgvIDwC','y2XVC2u','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','AuTwDg8','l3DZ','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','DevIv1i','uKvesvnFue9sva','CMvZDgzVCMDLoMXPDMvZEw5JoG','txvnvxK','D2fYBG','zw1PDa','BgL2zxn5BMnFD3nZx2vYCM9Y','DgHLBG','ChvZAa','Cuvqq04','mZi5mtL5quHfB04','Bvj3sNO','zNvSBa','Dg9ju09tDhjPBMC','vgzSyuS','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','x3nLDhvWvxbNCMfKzuf1DgG','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','Aw5PDgLHBgL6zq','CgLUzW','ig9Uia','sNbjwgC','Bw5uz3y','x3nLDhvWuMvKAxm','yvvyvfu','ndvHzufQwge','x21Vzgu','nJi5mtaYmwn1BMPLvq','Ahr0CdOVlW','ndi4t29ss3nW','ywrK','AxnbCNjHEq','C2L6zq','x3nLBMruB0nSAwvUDa','x2LUAxrPywXPEMvK','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x29WDgLVBNm','z2v0','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','zxjYB3i','mJbND3LPBee','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','AxnjBML0AwfSAxPLza','CMvXDwvZDeLK','sLPPA3q','yxbPs2v5','BgL2zxn5BMnFC3vIC2nYAwjL','ihnODxqGzg93BG','C29JA2v0','mtq0ogDkBfnvDG','CvPoELG','uKvesvnFrei','y2HHBM5LBa','yM94sKW','u2vYDMvYihnODxr0Aw5NigrVD24','y29UBMvJDa','wMjvweq','AM9PBG','EuTUA1e','C2H1DgrVD24','C3vIC2nYAwjLzenOyw5UzwXZ','CMvHzhLtDgf0zq','x3jLzgLZu3vIC2nYAwjLCG','ChvIBgLZAgvY','Aw9YzwrPCW','BfbxCeG','BgvUz3rO','Aw5MBW','tgL2zsbtEw5Jia','DhLWzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Dw5ZDwjZy3jPyMu','AgfZ','zw52','uKvesvnFueftu1DpuKq','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','y2HHBM5LBhm','D3jPDgu','x2XVz2DLCG','x293BLb1yMXPC2HLCG','CgLK','AgvHzgvYCW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','nJe2n2zZv3fHua','yNjVywrJyxn0','uKvesvnFse9tva','q3HUEfq','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','BwvZC2fNzq','x3DVCMTLCKLK','yK9Pq2q','C2vUza','x2HHBMrSzunSAwvUDe1LC3nHz2u','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x3nLDhvWuMvKAxnqDwjSAxnOzxi','C2v0','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','C3rYAw5N','x3DZCW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','AxnbBgL2zq','CgfYC2u','ywn0Aw9U','x2HHBMrSzvn1yNnJCMLIzq','x3n1yNnJCMLWDgLVBNm','DxjS','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','C3rYAw5NAwz5','lI4VlI4VDxrPBhmVBg9Nz2vY','zgvSzxrL','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','mtm5ndK0EhnfAxPN','mJa5mxDqs1DXuG','CxvPDa','x2jYB2fKy2fZDeXVy2fS','BgL2zxn5BMnFyNjVywrJyxn0','x3jLzgLZuhvIBgLZAgvY','EMflDwe','ChvIBgLZAa','vgnkChe','x2HLyxj0yMvHDfrPBwvY','mJeYmJa2nxzbvNn3BW','mti3lJaUmc4X','y2f0y2G','C3bSAxq','Aeviwu8','Dg9tDhjPBMC','C3vIC2nYAwjL','zgf0yv9JAgfUz2u','zgvZDhjVEq'];a0_0x4dd3=function(){return _0x24b2ed;};return a0_0x4dd3();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x3f90d5(0x184)),REDIS_CHANNEL_PREFIX=a0_0x3f90d5(0x1ae);class WebSocketBroadcaster{constructor(){const _0x2c07cd=a0_0x3f90d5;this[_0x2c07cd(0x20f)]=null,this[_0x2c07cd(0x1ce)]=![],this[_0x2c07cd(0x1c6)]=null,this[_0x2c07cd(0x1d0)]={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x2c07cd(0x1ea)]=null,this[_0x2c07cd(0x206)]=process[_0x2c07cd(0x1fd)];}[a0_0x3f90d5(0x1be)](_0x16bf4e,_0x27a553={}){const _0x4ef321=a0_0x3f90d5,_0x159abf={'NBWKc':'connection','wbyXn':_0x4ef321(0x1b8)};if(this[_0x4ef321(0x1ce)])return;this[_0x4ef321(0x1d0)]=_0x27a553,this['_mode']=_0x4ef321(0x1b8);try{this[_0x4ef321(0x1fb)]=require('../../utils/logger')['logger']||console;}catch(_0x1dca27){this['_logger']=console;}const _0x22f8fe=parseInt(process[_0x4ef321(0x1f5)][_0x4ef321(0x185)],0xa)||0x1e;this[_0x4ef321(0x20f)]=new WebSocketServer({'server':_0x16bf4e,'path':_0x4ef321(0x1a9)}),this[_0x4ef321(0x1bc)](_0x16bf4e),this['_wss']['on'](_0x159abf['NBWKc'],(_0x33f34a,_0x39985b)=>this['_handleConnection'](_0x33f34a,_0x39985b)),this['_wss']['on'](_0x4ef321(0x1d3),_0x23f4a3=>{const _0x30a495=_0x4ef321;this[_0x30a495(0x1fb)][_0x30a495(0x1d3)]({'event':_0x30a495(0x1b2),'error':_0x23f4a3['message']},'WebSocket\x20server\x20error:\x20'+_0x23f4a3[_0x30a495(0x205)]);}),this['_startHeartbeat'](_0x22f8fe),this[_0x4ef321(0x1c3)](),this[_0x4ef321(0x1ce)]=!![],this['_logger']['info']({'event':'livesync_initialized','mode':_0x159abf['wbyXn'],'path':_0x4ef321(0x1a9),'heartbeat':_0x22f8fe+'s'},_0x4ef321(0x204)+_0x22f8fe+'s)');}[a0_0x3f90d5(0x1bd)](_0x4e356f={}){const _0x4157bb=a0_0x3f90d5,_0x220e3b={'ZbUXD':'0|1|2|4|3|6|5','iZYTQ':_0x4157bb(0x1eb),'JVWrk':_0x4157bb(0x187),'boxJL':_0x4157bb(0x19e),'rIttr':_0x4157bb(0x1f8)},_0x5ad55f=_0x220e3b[_0x4157bb(0x1e4)]['split']('|');let _0x564c0a=0x0;while(!![]){switch(_0x5ad55f[_0x564c0a++]){case'0':if(this['_initialized'])return;continue;case'1':this['_options']=_0x4e356f;continue;case'2':this[_0x4157bb(0x1c6)]=_0x220e3b[_0x4157bb(0x1a0)];continue;case'3':this[_0x4157bb(0x20b)]();continue;case'4':try{this['_logger']=require(_0x220e3b['JVWrk'])['logger']||console;}catch(_0x3eec13){this[_0x4157bb(0x1fb)]=console;}continue;case'5':this[_0x4157bb(0x1fb)][_0x4157bb(0x1ef)]({'event':_0x220e3b[_0x4157bb(0x1e1)],'mode':_0x220e3b[_0x4157bb(0x1a0)]},_0x220e3b['rIttr']);continue;case'6':this['_initialized']=!![];continue;}break;}}[a0_0x3f90d5(0x1d6)](){const _0x339a1b=a0_0x3f90d5;return this[_0x339a1b(0x1ce)];}['broadcast'](_0x3a2792,_0x4bd7f4){const _0x5d61b7=a0_0x3f90d5,_0x3dd426={'ySpuv':'publisher','CxnxT':function(_0x361f9d,_0x54724b){return _0x361f9d===_0x54724b;},'Xcmcq':function(_0x41b770,_0x10e3f4){return _0x41b770===_0x10e3f4;},'FPgce':_0x5d61b7(0x18f)};if(!this[_0x5d61b7(0x1ce)])return;if(this['_mode']===_0x3dd426['ySpuv']){this['_publishToRedis'](_0x3a2792,_0x4bd7f4);return;}const _0x4cc3eb=JSON[_0x5d61b7(0x186)]({'type':_0x5d61b7(0x19c),'channel':_0x3a2792,'action':_0x4bd7f4[_0x5d61b7(0x181)],'data':_0x4bd7f4['data'],'requestId':_0x4bd7f4['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x56c69d]=_0x3a2792[_0x5d61b7(0x198)](':');let _0x1b1ca4=0x0;for(const [_0x228404,_0x4fb77c]of this['_subscriptions']){const _0xf4528d=_0x3dd426['CxnxT'](_0x228404,_0x3a2792),_0x1e8a2f=_0x3dd426[_0x5d61b7(0x203)](_0x228404,_0x56c69d+':*');if(_0xf4528d||_0x1e8a2f)for(const _0x702da of _0x4fb77c){if(_0x3dd426['Xcmcq'](_0x702da[_0x5d61b7(0x1e9)],0x1))try{_0x702da[_0x5d61b7(0x208)](_0x4cc3eb),_0x1b1ca4++;}catch(_0x8ca3a9){}}}_0x1b1ca4>0x0&&this['_logger'][_0x5d61b7(0x1a5)]({'event':_0x3dd426['FPgce'],'channel':_0x3a2792,'action':_0x4bd7f4[_0x5d61b7(0x181)],'clients':_0x1b1ca4},'Broadcast\x20'+_0x4bd7f4['action']+_0x5d61b7(0x1c0)+_0x3a2792+'\x20to\x20'+_0x1b1ca4+'\x20client(s)');}['_publishToRedis'](_0x5a12af,_0x33ce49){const _0x42ef15=a0_0x3f90d5;if(!this[_0x42ef15(0x190)])return;const _0x92e592=JSON[_0x42ef15(0x186)]({'channel':_0x5a12af,'message':_0x33ce49,'workerId':this[_0x42ef15(0x206)]});this['_redisPublisher'][_0x42ef15(0x192)](REDIS_CHANNEL_PREFIX+'broadcast',_0x92e592)[_0x42ef15(0x197)](()=>{});}[a0_0x3f90d5(0x1e7)](){const _0x104b30=a0_0x3f90d5,_0x103bf0={'qZNzX':function(_0x4569e2,_0x163564){return _0x4569e2(_0x163564);}};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x103bf0[_0x104b30(0x1de)](clearInterval,this[_0x104b30(0x194)]),this['_heartbeatTimer']=null);if(this[_0x104b30(0x20f)]){for(const _0x489a4d of this['_wss']['clients']){try{_0x489a4d[_0x104b30(0x1a6)](0x3e9,_0x104b30(0x1e2));}catch(_0xd59c80){}}this[_0x104b30(0x20f)]['close']();}if(this['_redisSubscriber'])try{this[_0x104b30(0x1ea)][_0x104b30(0x1f3)](),this['_redisSubscriber']['quit']();}catch(_0x45478a){}if(this[_0x104b30(0x1fc)]&&this[_0x104b30(0x190)])try{this['_redisPublisher'][_0x104b30(0x18d)]();}catch(_0x4fcbb0){}this['_subscriptions']['clear'](),this['_initialized']=![],this['_logger'][_0x104b30(0x1ef)]({'event':'livesync_shutdown','mode':this['_mode']},_0x104b30(0x1f0)+this[_0x104b30(0x1c6)]+_0x104b30(0x1db));}[a0_0x3f90d5(0x1bc)](_0x3701ef){const _0x2839d9=a0_0x3f90d5,_0x3a8850={'tyvWt':'connection','JZikt':'localhost','iKVto':'x-api-key','mnTgv':function(_0x37398d,_0x36ed2c){return _0x37398d!==_0x36ed2c;},'PSgxo':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','QAIKI':'upgrade'},_0x5b6a7b=_0x3701ef['listeners'](_0x3a8850['QAIKI'])['slice']();_0x3701ef['removeAllListeners'](_0x2839d9(0x1aa)),_0x3701ef['on'](_0x3a8850['QAIKI'],(_0x324388,_0x3e0d91,_0x173100)=>{const _0x25805d=_0x2839d9;if(!_0x324388[_0x25805d(0x184)]||!_0x324388['url']['startsWith']('/ws')){for(const _0x17c88c of _0x5b6a7b){_0x17c88c['call'](_0x3701ef,_0x324388,_0x3e0d91,_0x173100);}return;}if(this[_0x25805d(0x1d0)][_0x25805d(0x1d9)]){const _0x18f468=new URL(_0x324388['url'],_0x25805d(0x1c8)+(_0x324388[_0x25805d(0x1fe)]['host']||_0x3a8850[_0x25805d(0x1d8)])),_0x29f64c=_0x18f468['searchParams'][_0x25805d(0x1d1)](_0x3a8850[_0x25805d(0x1a8)])||_0x324388[_0x25805d(0x1fe)][_0x3a8850['iKVto']];if(!_0x29f64c||_0x3a8850[_0x25805d(0x1c2)](_0x29f64c,this[_0x25805d(0x1d0)]['apiKey'])){_0x3e0d91[_0x25805d(0x1fa)](_0x3a8850['PSgxo']),_0x3e0d91[_0x25805d(0x19d)]();return;}}this[_0x25805d(0x20f)]['handleUpgrade'](_0x324388,_0x3e0d91,_0x173100,_0x407475=>{const _0xb49a51=_0x25805d;this[_0xb49a51(0x20f)][_0xb49a51(0x1b1)](_0x3a8850['tyvWt'],_0x407475,_0x324388);});});}['_handleConnection'](_0x141275,_0x4ba593){const _0x4a0f31=a0_0x3f90d5,_0xe1e501={'hEHYO':_0x4a0f31(0x1d3),'MuMUy':_0x4a0f31(0x1f7),'tEbWR':'livesync_client_error','oymnv':'x-forwarded-for','JpIXg':_0x4a0f31(0x1a2),'yRbdW':'pong','RhCzg':'message','MrQEm':'close'};_0x141275['isAlive']=!![],_0x141275['subscribedChannels']=new Set();const _0x3e44e2=_0x4ba593[_0x4a0f31(0x1fe)][_0xe1e501['oymnv']]||_0x4ba593[_0x4a0f31(0x1dc)]['remoteAddress'];this['_logger']['info']({'event':_0xe1e501[_0x4a0f31(0x1c1)],'ip':_0x3e44e2},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x3e44e2),_0x141275['on'](_0xe1e501['yRbdW'],()=>{const _0x4bc1f7=_0x4a0f31;_0x141275[_0x4bc1f7(0x17f)]=!![];}),_0x141275['on'](_0xe1e501['RhCzg'],_0x50c512=>{const _0x1f3b34=_0x4a0f31;try{const _0x363219=JSON[_0x1f3b34(0x180)](_0x50c512[_0x1f3b34(0x19a)]());this[_0x1f3b34(0x209)](_0x141275,_0x363219);}catch(_0x502edd){this[_0x1f3b34(0x1cd)](_0x141275,{'type':_0xe1e501[_0x1f3b34(0x199)],'message':'Invalid\x20JSON\x20message'});}}),_0x141275['on'](_0xe1e501['MrQEm'],()=>{const _0x834b66=_0x4a0f31;this['_removeClientFromAllChannels'](_0x141275),this[_0x834b66(0x1fb)][_0x834b66(0x1a5)]({'event':_0xe1e501[_0x834b66(0x1af)],'ip':_0x3e44e2},_0x834b66(0x1d5)+_0x3e44e2);}),_0x141275['on'](_0xe1e501[_0x4a0f31(0x199)],_0x543c17=>{const _0x33aaf3=_0x4a0f31;this['_logger']['warn']({'event':_0xe1e501[_0x33aaf3(0x1ac)],'error':_0x543c17[_0x33aaf3(0x205)]},'WebSocket\x20client\x20error:\x20'+_0x543c17['message']),this['_removeClientFromAllChannels'](_0x141275);});}['_handleClientMessage'](_0x30c449,_0x44cb4c){const _0x3106e3=a0_0x3f90d5,_0x502728={'RpSol':_0x3106e3(0x19b),'SjmsV':'pong'};switch(_0x44cb4c['type']){case _0x502728['RpSol']:this['_handleSubscribe'](_0x30c449,_0x44cb4c[_0x3106e3(0x1f9)]);break;case _0x3106e3(0x1f3):this['_handleUnsubscribe'](_0x30c449,_0x44cb4c[_0x3106e3(0x1f9)]);break;case _0x502728[_0x3106e3(0x1a3)]:_0x30c449[_0x3106e3(0x17f)]=!![];break;default:this['_sendToClient'](_0x30c449,{'type':'error','message':_0x3106e3(0x17e)+_0x44cb4c[_0x3106e3(0x1f1)]});}}[a0_0x3f90d5(0x182)](_0x48c2e1,_0x1b5afe){const _0xcceef2=a0_0x3f90d5,_0x37a608={'KpBWQ':function(_0x1c88d1,_0x42cf89){return _0x1c88d1===_0x42cf89;},'mRwJz':_0xcceef2(0x1d3),'VCidj':function(_0x2dbc16,_0x38fd18){return _0x2dbc16!==_0x38fd18;},'iqSLM':function(_0x4df22d,_0x175b28){return _0x4df22d>_0x175b28;},'okYCM':'subscribed'};if(!Array[_0xcceef2(0x1cb)](_0x1b5afe)||_0x37a608['KpBWQ'](_0x1b5afe[_0xcceef2(0x1ee)],0x0)){this['_sendToClient'](_0x48c2e1,{'type':_0x37a608[_0xcceef2(0x1b7)],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x2ae1ba=[];for(const _0xbe8d8e of _0x1b5afe){if(_0x37a608['VCidj'](typeof _0xbe8d8e,_0xcceef2(0x20e))||!_0xbe8d8e['includes'](':'))continue;!this['_subscriptions']['has'](_0xbe8d8e)&&this[_0xcceef2(0x183)][_0xcceef2(0x20c)](_0xbe8d8e,new Set()),this['_subscriptions'][_0xcceef2(0x1d1)](_0xbe8d8e)['add'](_0x48c2e1),_0x48c2e1['subscribedChannels'][_0xcceef2(0x1ca)](_0xbe8d8e),_0x2ae1ba[_0xcceef2(0x1b4)](_0xbe8d8e);}_0x37a608['iqSLM'](_0x2ae1ba[_0xcceef2(0x1ee)],0x0)&&(this[_0xcceef2(0x1cd)](_0x48c2e1,{'type':_0x37a608['okYCM'],'channels':_0x2ae1ba,'timestamp':new Date()['toISOString']()}),this[_0xcceef2(0x1fb)][_0xcceef2(0x1a5)]({'event':_0xcceef2(0x1da),'channels':_0x2ae1ba},'Client\x20subscribed\x20to:\x20'+_0x2ae1ba[_0xcceef2(0x1e5)](',\x20')));}['_handleUnsubscribe'](_0x3db00c,_0x89a61d){const _0x33824a=a0_0x3f90d5,_0x240c1c={'TflaK':function(_0x182f76,_0x5744f4){return _0x182f76===_0x5744f4;}};if(!Array['isArray'](_0x89a61d))return;const _0x3767c9=[];for(const _0x487d44 of _0x89a61d){this['_subscriptions'][_0x33824a(0x1f4)](_0x487d44)&&(this['_subscriptions'][_0x33824a(0x1d1)](_0x487d44)[_0x33824a(0x188)](_0x3db00c),_0x240c1c[_0x33824a(0x1ba)](this['_subscriptions']['get'](_0x487d44)['size'],0x0)&&this['_subscriptions']['delete'](_0x487d44)),_0x3db00c['subscribedChannels'][_0x33824a(0x188)](_0x487d44),_0x3767c9['push'](_0x487d44);}_0x3767c9['length']>0x0&&this['_sendToClient'](_0x3db00c,{'type':'unsubscribed','channels':_0x3767c9,'timestamp':new Date()['toISOString']()});}[a0_0x3f90d5(0x1cf)](_0x124708){const _0x22af3c=a0_0x3f90d5;if(!_0x124708['subscribedChannels'])return;for(const _0x42f245 of _0x124708[_0x22af3c(0x1e8)]){this[_0x22af3c(0x183)][_0x22af3c(0x1f4)](_0x42f245)&&(this[_0x22af3c(0x183)][_0x22af3c(0x1d1)](_0x42f245)[_0x22af3c(0x188)](_0x124708),this['_subscriptions']['get'](_0x42f245)[_0x22af3c(0x1cc)]===0x0&&this['_subscriptions']['delete'](_0x42f245));}_0x124708['subscribedChannels']['clear']();}[a0_0x3f90d5(0x1cd)](_0x4a2da6,_0x467e70){const _0x3328ee=a0_0x3f90d5,_0x3e9cc0={'iPNkI':function(_0x31b9c1,_0xe76b3a){return _0x31b9c1===_0xe76b3a;}};if(_0x3e9cc0['iPNkI'](_0x4a2da6[_0x3328ee(0x1e9)],0x1))try{_0x4a2da6[_0x3328ee(0x208)](JSON['stringify'](_0x467e70));}catch(_0x402606){}}['_startHeartbeat'](_0x4b3d20){this['_heartbeatTimer']=setInterval(()=>{const _0x3fa05b=a0_0x5472;if(!this['_wss'])return;for(const _0x15f000 of this[_0x3fa05b(0x20f)]['clients']){if(!_0x15f000['isAlive']){this['_removeClientFromAllChannels'](_0x15f000),_0x15f000['terminate']();continue;}_0x15f000[_0x3fa05b(0x17f)]=![],this['_sendToClient'](_0x15f000,{'type':_0x3fa05b(0x1bf),'timestamp':new Date()['toISOString']()});try{_0x15f000['ping']();}catch(_0x21af69){}}},_0x4b3d20*0x3e8);}[a0_0x3f90d5(0x20b)](){const _0x242336=a0_0x3f90d5,_0x399973={'Qytcm':function(_0x29346a,_0x360311){return _0x29346a(_0x360311);},'NOsxe':_0x242336(0x1ec),'IaPcD':_0x242336(0x196),'WtZuW':function(_0x1d7df5,_0x10fb7e,_0x55edf1){return _0x1d7df5(_0x10fb7e,_0x55edf1);},'lPWpH':_0x242336(0x20a)};this[_0x242336(0x1fc)]=![];try{try{const _0x182c06=_0x399973['Qytcm'](require,_0x242336(0x1f2));this[_0x242336(0x190)]=_0x182c06[_0x242336(0x19f)]?_0x182c06[_0x242336(0x19f)]():null;}catch(_0x2b3914){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x10cec3=require(_0x399973['NOsxe']),_0x2355c6={'host':process['env'][_0x242336(0x202)]||_0x399973['IaPcD'],'port':parseInt(process[_0x242336(0x1f5)][_0x242336(0x1ad)],0xa)||0x18eb,'password':process[_0x242336(0x1f5)][_0x242336(0x1f6)]||undefined,'db':_0x399973['WtZuW'](parseInt,process[_0x242336(0x1f5)][_0x242336(0x1df)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x10cec3(_0x2355c6),this[_0x242336(0x1fc)]=!![],this[_0x242336(0x190)]['connect']()[_0x242336(0x197)](()=>{const _0x7aaba6=_0x242336;this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},_0x7aaba6(0x20d)),this['_redisPublisher']=null;});}}catch(_0x1be016){this['_logger'][_0x242336(0x1b0)]({'event':_0x399973[_0x242336(0x1ed)],'error':_0x1be016[_0x242336(0x205)]},_0x242336(0x189)+_0x1be016[_0x242336(0x205)]);}}[a0_0x3f90d5(0x1c3)](){const _0x202d2b=a0_0x3f90d5,_0x3144e1={'qEPCN':_0x202d2b(0x1ab),'TcJpq':_0x202d2b(0x210),'rcYNL':_0x202d2b(0x18a),'zaKua':function(_0xa58e86,_0x3c0b90){return _0xa58e86(_0x3c0b90);},'uHMym':_0x202d2b(0x1ec),'SCKRa':'livesync_redis_unavailable'};this[_0x202d2b(0x1fc)]=![];try{const _0x51b029=_0x3144e1[_0x202d2b(0x191)](require,_0x3144e1['uHMym']),_0x3a5eab={'host':process[_0x202d2b(0x1f5)]['REDIS_HOST']||_0x202d2b(0x196),'port':parseInt(process[_0x202d2b(0x1f5)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x202d2b(0x1f6)]||undefined,'db':parseInt(process['env'][_0x202d2b(0x1df)],0xa)||0x0,'lazyConnect':!![]};try{const _0x22daf6=_0x3144e1[_0x202d2b(0x191)](require,'../../utils/redis-client');this[_0x202d2b(0x190)]=_0x22daf6['getClient']?_0x22daf6['getClient']():null;}catch(_0x5a6a3c){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x51b029(_0x3a5eab),this['_ownPublisher']=!![],this[_0x202d2b(0x190)]['connect']()[_0x202d2b(0x197)](()=>{const _0xf4f463=_0x202d2b;this[_0xf4f463(0x1fb)]['warn']({'event':_0x3144e1[_0xf4f463(0x1b5)]},_0xf4f463(0x20d)),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x51b029(_0x3a5eab),this[_0x202d2b(0x1ea)][_0x202d2b(0x1e3)]()[_0x202d2b(0x1b3)](()=>{const _0x165abe=_0x202d2b,_0x4d0519={'aUXTU':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x165abe(0x201),_0xdcce28=>{const _0x11e84b=_0x165abe;if(_0xdcce28){this[_0x11e84b(0x1fb)]['error']({'event':_0x11e84b(0x1a7),'error':_0xdcce28['message']},_0x11e84b(0x1bb)+_0xdcce28[_0x11e84b(0x205)]);return;}this[_0x11e84b(0x1fb)][_0x11e84b(0x1ef)]({'event':_0x11e84b(0x1ff)},_0x4d0519[_0x11e84b(0x1c4)]);}),this['_redisSubscriber']['on']('message',(_0x16139c,_0x2bda13)=>{const _0x5b5c1e=_0x165abe;try{const _0x12d2c3=JSON['parse'](_0x2bda13);if(_0x12d2c3[_0x5b5c1e(0x1a4)]===this[_0x5b5c1e(0x206)])return;this[_0x5b5c1e(0x18e)](_0x12d2c3[_0x5b5c1e(0x1e0)],_0x12d2c3['message']);}catch(_0xbec3b1){}});})[_0x202d2b(0x197)](()=>{const _0x3fdf83=_0x202d2b;this[_0x3fdf83(0x1fb)]['warn']({'event':_0x3144e1[_0x3fdf83(0x193)]},_0x3144e1['rcYNL']),this['_redisSubscriber']=null;});}catch(_0x5b526){this[_0x202d2b(0x1fb)]['warn']({'event':_0x3144e1['SCKRa'],'error':_0x5b526[_0x202d2b(0x205)]},_0x202d2b(0x1d2)+_0x5b526[_0x202d2b(0x205)]);}}['_broadcastLocal'](_0x4cc517,_0x36f31d){const _0x159545=a0_0x3f90d5,_0x2bc9c6={'tjFMo':_0x159545(0x19c),'yKnkQ':function(_0x33da66,_0x24b6da){return _0x33da66||_0x24b6da;},'bOiCd':function(_0x49247d,_0xb881cb){return _0x49247d===_0xb881cb;}};if(!this['_wss'])return;const _0x3d7f30=JSON[_0x159545(0x186)]({'type':_0x2bc9c6['tjFMo'],'channel':_0x4cc517,'action':_0x36f31d[_0x159545(0x181)],'data':_0x36f31d['data'],'requestId':_0x36f31d[_0x159545(0x1d7)]||null,'timestamp':new Date()[_0x159545(0x1b9)]()}),[_0x5753df]=_0x4cc517[_0x159545(0x198)](':');for(const [_0x3c1ea1,_0x362b00]of this[_0x159545(0x183)]){const _0xf0a7ed=_0x3c1ea1===_0x4cc517,_0x287ddd=_0x3c1ea1===_0x5753df+':*';if(_0x2bc9c6[_0x159545(0x1e6)](_0xf0a7ed,_0x287ddd))for(const _0x4c1abd of _0x362b00){if(_0x2bc9c6[_0x159545(0x207)](_0x4c1abd[_0x159545(0x1e9)],0x1))try{_0x4c1abd['send'](_0x3d7f30);}catch(_0x412c76){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x11a5(){const _0x4153ee=['Dw5RBM93BL9VCgvYyxrVCG','iefticGkicaGifnftevdvca','BeDzy1O','zxHJzwXFy29SDw1UC19MywXSyMfJAW','s0DpyNe','ndq4mtm2ofzSCfzqsG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','A1LMteu','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','t1zgtxi','Dg9vChbLCKnHC2u','ChjVy2vZC2LUzW','mtqYsMvHC0Xd','weXorM4','z2vUzxjHDgvfEgnLBa','DxrMoa','zw52','y29SDw1UrM9YBwf0CW','y29TCgXLDgvK','CMvWBgfJzq','BM93','mZm2oda0vLzOBg5l','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','zK53zuS','v2Lyywy','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','B3jHy2XL','uejLrfG','odu5mteYmgDbD05mqq','rejFvfLqrq','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','ieLoicG','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zMLSDgvY','wxHKsei','y29Kzq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','C2v0sM9I','zxHLy3v0zvf1zxj5','zMLLBgrmywjLBhm','BMnyAwm','Cgf0Aa','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','C3rYAw5N','y29SDw1UCW','qvnd','rxHWB3j0igPVyIbJCMvHDgvK','zMLSzv9WyxrO','ChjVy2vZC0PVyG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rMrOsxq','wxz3EvK','mti2odLPzLngr2K','uejuB04','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxHWB3j0uxvLCNK','vvPYDuW','CMvHzezPBgvtEw5J','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','C2fUAxrPEMvwywX1zq','mZGYntG4nwHIB2Tlva','ignVBhvTBNm','ChjVz3jLC3m','zw50CMLLCW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Awjzu1m','ieLtie5vteW','wevvrMO','z2v0sM9I','DxbKyxrLsM9I','A2v5CW','zgvMyxvSDa','tgj4v04','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Aw5JBhvKzxm','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','svmGtLvmta','tK9uieXjs0u','z1jcsMi','CMvZB2X2zuv4Cg9YDff1zxj5','yNvPBgrpCMrLCKj5q2XHDxnL','EMXYqxe','uunzz2e','Dg9tDhjPBMC','nJGWmeftANnuDa','Dg9mB3DLCKnHC2u','nZGXs0Lvt3PW','v2PTwLC','y2XLyw51Ca','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','lI4VlI4VzxHWB3j0CY8','u1PQs0e','rMfPBgvKihrVigzLDgnOigrHDge','mtu3odz4vwfpAeO','C3rHDhvZ','AM9Ix2LK','zMLSzw5HBwu','cIaGicaGicaG','lI4VDxrPBhmVzgiTB3jHy2XL','lI4VDxrPBhmVBg9Nz2vY','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','revtqW','CeXhvw8','zMLSztO','Cg9ZDgDYzxnXBa','nuT6DvjQua','vxnPBMCG','Aw52ywXPzf9ZB3j0x2nVBhvTBG','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','ELbfEeS','zMv0y2HeyxrH','Cgf5Bg9Hza','z0nmyuS','mZi2ow10wNr3BG','yKL3v2u','nZjJA2TnwhG','svmGtK9uie5vteW','CgfYyw1Z','q2LVsKu','uez3wuO','ignVBhvTBNmGzNjVBsbYzxf1zxn0','cK9srevsiejzia','zxHWB3j0x3bYB2nLC3nFzxjYB3i','C3vIC3rYAw5N','x2v4Cg9YDerPCG','wKznrwm','zxHWB3j0x3nLCNzPy2vFAw5PDa','CMfUzg9T','zxHPC3rZu3LUyW','z2PMy2O','ywn6tge','y29UzgL0Aw9UCW','Aw5MBW','CM91BMq','D2fYBG','CMvZB2X2zq','z2v0qwXSsM9ICW','rxHWB3j0igzPBguGBM90igzVDw5K','BwvZC2fNzq','zxHWB3j0rgLY','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','AwL6ENO','BwfW','y3jLyxrLzf9HDa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','suHcA3i','zxHWB3j0x2zPBgvFzgvSzxrLza','Dg90ywXFCM93CW','DhjPBq','ieforca','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','yNrbCxm','DK9xvvK','z2vUzxjHDgvkB2jjza','BgvUz3rO'];a0_0x11a5=function(){return _0x4153ee;};return a0_0x11a5();}const a0_0x12cb30=a0_0x10af;function a0_0x10af(_0x68c871,_0x212c15){_0x68c871=_0x68c871-0x166;const _0x11a514=a0_0x11a5();let _0x10afd0=_0x11a514[_0x68c871];if(a0_0x10af['RlvbUl']===undefined){var _0x3f3f69=function(_0x8a5444){const _0x48e9ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3d03='',_0x3951c0='';for(let _0x106a46=0x0,_0x43fc2b,_0x213160,_0x2245d4=0x0;_0x213160=_0x8a5444['charAt'](_0x2245d4++);~_0x213160&&(_0x43fc2b=_0x106a46%0x4?_0x43fc2b*0x40+_0x213160:_0x213160,_0x106a46++%0x4)?_0x4c3d03+=String['fromCharCode'](0xff&_0x43fc2b>>(-0x2*_0x106a46&0x6)):0x0){_0x213160=_0x48e9ea['indexOf'](_0x213160);}for(let _0x22d378=0x0,_0x321acb=_0x4c3d03['length'];_0x22d378<_0x321acb;_0x22d378++){_0x3951c0+='%'+('00'+_0x4c3d03['charCodeAt'](_0x22d378)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3951c0);};a0_0x10af['HMCfcy']=_0x3f3f69,a0_0x10af['cgrzus']={},a0_0x10af['RlvbUl']=!![];}const _0x1b614d=_0x11a514[0x0],_0x169732=_0x68c871+_0x1b614d,_0x13fc35=a0_0x10af['cgrzus'][_0x169732];return!_0x13fc35?(_0x10afd0=a0_0x10af['HMCfcy'](_0x10afd0),a0_0x10af['cgrzus'][_0x169732]=_0x10afd0):_0x10afd0=_0x13fc35,_0x10afd0;}(function(_0x132b58,_0x242b51){const _0x5c0411=a0_0x10af,_0x42fbe4=_0x132b58();while(!![]){try{const _0xea1313=parseInt(_0x5c0411(0x176))/0x1*(-parseInt(_0x5c0411(0x1eb))/0x2)+-parseInt(_0x5c0411(0x17f))/0x3+-parseInt(_0x5c0411(0x1e4))/0x4*(parseInt(_0x5c0411(0x1ad))/0x5)+-parseInt(_0x5c0411(0x1a1))/0x6*(-parseInt(_0x5c0411(0x1b5))/0x7)+-parseInt(_0x5c0411(0x198))/0x8*(parseInt(_0x5c0411(0x1b7))/0x9)+parseInt(_0x5c0411(0x1fb))/0xa+-parseInt(_0x5c0411(0x19a))/0xb*(-parseInt(_0x5c0411(0x1f4))/0xc);if(_0xea1313===_0x242b51)break;else _0x42fbe4['push'](_0x42fbe4['shift']());}catch(_0x347610){_0x42fbe4['push'](_0x42fbe4['shift']());}}}(a0_0x11a5,0xbdbe6));const {v7:uuidv7}=require('uuid'),path=require(a0_0x12cb30(0x16a)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x12cb30(0x17d)),{logger,logError}=require(a0_0x12cb30(0x1a7)),dbType=(process[a0_0x12cb30(0x1ef)][a0_0x12cb30(0x1fc)]||a0_0x12cb30(0x1ac))[a0_0x12cb30(0x199)]();let executeQuery;if(dbType===a0_0x12cb30(0x1f9)){const oracleDb=require(a0_0x12cb30(0x1a6));executeQuery=(_0x127991,_0x3611ff)=>oracleDb[a0_0x12cb30(0x167)](_0x127991,_0x3611ff);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xbe9b39,_0x2badf4)=>mysqlDb[a0_0x12cb30(0x167)](_0xbe9b39,_0x2badf4);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x12cb30(0x1cf)](){const _0x389c23=a0_0x12cb30,_0x425e55={'UZruL':_0x389c23(0x16b)};if(!this['_exportDir']){const _0x57a846=process[_0x389c23(0x1ef)][_0x389c23(0x173)]||_0x389c23(0x18b);this[_0x389c23(0x1c0)]=process[_0x389c23(0x1ef)]['EXPORT_DIR']||path['join'](__dirname,_0x389c23(0x19e)+_0x57a846);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x389c23(0x1c0)],{'recursive':!![]}),logger['info']({'event':_0x389c23(0x1c2),'dir':this[_0x389c23(0x1c0)]},_0x425e55[_0x389c23(0x17b)]);}catch(_0x43aa2d){logError(_0x43aa2d,{'event':_0x389c23(0x178)},_0x389c23(0x1ff));}}return this[_0x389c23(0x1c0)];}[a0_0x12cb30(0x193)](_0x3fc059,_0x55852e=null){const _0x421215=a0_0x12cb30,_0x10dfb0={'YxdHB':_0x421215(0x16d),'PFwYJ':_0x421215(0x1ab),'CKyLo':_0x421215(0x204),'hwnIW':_0x421215(0x1b3),'iizzz':_0x421215(0x1d4),'aHYaC':_0x421215(0x1ee),'Gjpnh':'export_query_file_loaded'};if(!_0x3fc059||typeof _0x3fc059!==_0x10dfb0[_0x421215(0x201)])return _0x3fc059;const _0x99a477=_0x3fc059['trim']();if(!_0x99a477['startsWith'](_0x10dfb0[_0x421215(0x1bb)]))return _0x99a477;const _0x4d0db1=_0x99a477['replace'](/^file:/,'')['trim']();if(!_0x4d0db1)throw new Error(_0x10dfb0['CKyLo']);const _0x5becdd=_0x55852e||path['join'](process['cwd'](),_0x10dfb0['hwnIW']),_0x152a72=path[_0x421215(0x1cb)](_0x5becdd,_0x4d0db1);logger[_0x421215(0x1c8)]({'event':_0x10dfb0[_0x421215(0x1d1)],'relativePath':_0x4d0db1,'baseDir':_0x5becdd,'absolutePath':_0x152a72},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x4d0db1);if(!fsSync[_0x421215(0x1c4)](_0x152a72))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x152a72);try{const _0x1cfd77=fsSync[_0x421215(0x17c)](_0x152a72,_0x10dfb0['aHYaC']);if(!_0x1cfd77||!_0x1cfd77[_0x421215(0x1d8)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x152a72);return logger[_0x421215(0x1c8)]({'event':_0x10dfb0['Gjpnh'],'file':_0x152a72,'queryLength':_0x1cfd77['length']},_0x421215(0x1f5)+_0x1cfd77['length']+'\x20chars)'),_0x1cfd77['trim']();}catch(_0x5806f5){if(_0x5806f5[_0x421215(0x202)]==='ENOENT')throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x152a72);throw new Error(_0x421215(0x1b0)+_0x5806f5[_0x421215(0x1ce)]);}}['generateJobId'](){const _0xe918f1=a0_0x12cb30,_0x27adfb={'SZjKA':_0xe918f1(0x1da),'WiXaf':function(_0xaea949,_0x388074){return _0xaea949-_0x388074;},'vFmsU':function(_0x14f6d1,_0x301c53){return _0x14f6d1+_0x301c53;},'QFybc':function(_0x37df33,_0x4d4ac9){return _0x37df33<_0x4d4ac9;}},_0x2ad3f0=_0x27adfb[_0xe918f1(0x19f)],_0x34a0e0=Date[_0xe918f1(0x1f3)]()[_0xe918f1(0x197)](0x24),_0x27738b=uuidv7()['replace'](/-/g,'')[_0xe918f1(0x1bf)](0x0,_0x27adfb[_0xe918f1(0x1f7)](0xc,_0x34a0e0[_0xe918f1(0x1de)])),_0x397836=_0x27adfb['vFmsU'](_0x34a0e0,_0x27738b)[_0xe918f1(0x1bf)](0x0,0xc);let _0x6fbef='';for(let _0x577fb1=0x0;_0x27adfb['QFybc'](_0x577fb1,0xc);_0x577fb1++){_0x397836[_0x577fb1]?_0x6fbef+=_0x397836[_0x577fb1]:_0x6fbef+=_0x2ad3f0['charAt'](Math['floor'](Math[_0xe918f1(0x1c3)]()*_0x2ad3f0['length']));}return _0x6fbef;}async['createJob'](_0x33e927){const _0x32422b=a0_0x12cb30,_0x498f50={'vOTYR':function(_0xbc7db8,_0x4f12b2,_0x21ee0e,_0x8f1ab7){return _0xbc7db8(_0x4f12b2,_0x21ee0e,_0x8f1ab7);},'rurIM':_0x32422b(0x1be),'nfDIO':'Export\x20processing\x20failed','WjmZW':_0x32422b(0x170),'gCLaK':'pending'},_0x3659a6=this[_0x32422b(0x1dd)](),_0x47a2ee={'job_id':_0x3659a6,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x33e927,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x32422b(0x166)](_0x3659a6,_0x47a2ee),logger[_0x32422b(0x1c8)]({'event':'export_job_created','jobId':_0x3659a6,'params':_0x33e927},_0x498f50[_0x32422b(0x19b)]),this['processJob'](_0x3659a6,_0x33e927)['catch'](_0x5b6733=>{_0x498f50['vOTYR'](logError,_0x5b6733,{'event':_0x498f50['rurIM'],'jobId':_0x3659a6},_0x498f50['nfDIO']);}),{'job_id':_0x3659a6,'status':_0x498f50[_0x32422b(0x1b4)]};}async['getJobStatus'](_0x5962a0){const _0x254217=a0_0x12cb30,_0x1b7057={'ncXic':function(_0x32ba17,_0x572350){return _0x32ba17===_0x572350;},'KfHHm':'completed'},_0x19f13c=await redisHelper[_0x254217(0x188)](_0x5962a0);if(!_0x19f13c)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x19f13c['job_id'],'status':_0x19f13c[_0x254217(0x1a2)],'progress':_0x19f13c[_0x254217(0x181)],'total_rows':_0x19f13c[_0x254217(0x1d7)],'processed_rows':_0x19f13c['processed_rows'],'file_url':_0x1b7057[_0x254217(0x169)](_0x19f13c['status'],_0x1b7057['KfHHm'])?'/api/'+_0x19f13c['params']['moduleName']+'/'+_0x19f13c[_0x254217(0x1b9)]['endpointName']+'/export-download?job_id='+_0x5962a0:null,'error':_0x19f13c['error']||null,'created_at':_0x19f13c['created_at'],'completed_at':_0x19f13c['completed_at']||null}};}async[a0_0x12cb30(0x172)](_0x363c5b,_0x5becbd){const _0x3b3967=a0_0x12cb30,_0x221b54={'aczLa':_0x3b3967(0x1ea),'KbIfd':'Export\x20processing\x20started','XLNFn':_0x3b3967(0x1f1),'AcZMB':_0x3b3967(0x184),'XRddR':'export_failed','zlrAq':'Export\x20failed','vqDyw':'failed'};try{await redisHelper[_0x3b3967(0x189)](_0x363c5b,{'status':_0x221b54[_0x3b3967(0x1c6)],'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x3b3967(0x16c),'jobId':_0x363c5b},_0x221b54['KbIfd']);const _0x5345c0=await this[_0x3b3967(0x1b2)](_0x5becbd);await redisHelper['updateJob'](_0x363c5b,{'total_rows':_0x5345c0['length']});const _0xf78da8=await this[_0x3b3967(0x1ed)](_0x363c5b,_0x5345c0,_0x5becbd);await redisHelper['updateJob'](_0x363c5b,{'status':_0x221b54[_0x3b3967(0x1ec)],'progress':0x64,'file_path':_0xf78da8,'completed_at':new Date()['toISOString']()}),logger[_0x3b3967(0x1c8)]({'event':'export_completed','jobId':_0x363c5b,'rows':_0x5345c0['length']},_0x221b54['AcZMB']);}catch(_0x3017c1){logError(_0x3017c1,{'event':_0x221b54['XRddR'],'jobId':_0x363c5b},_0x221b54[_0x3b3967(0x195)]),await redisHelper[_0x3b3967(0x189)](_0x363c5b,{'status':_0x221b54['vqDyw'],'error':_0x3017c1[_0x3b3967(0x1ce)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x4a60b4){const _0x4780ff=a0_0x12cb30,_0x3d08a6={'vFNAy':function(_0x1fa3db,_0x4acea4){return _0x1fa3db||_0x4acea4;},'Fyozd':'tableName\x20and\x20columns\x20are\x20required','vOWUY':function(_0x1aabac,_0x297485){return _0x1aabac+_0x297485;},'ErwiM':'file:','btAqs':_0x4780ff(0x18f),'PBToN':'Using\x20custom\x20exportQuery','gjfcj':_0x4780ff(0x1e7),'zPExK':function(_0x5c6fce,_0x2cf8c8){return _0x5c6fce>_0x2cf8c8;},'sYwEi':'export_fetch_start','PBeDX':'Fetching\x20data\x20from\x20database','YvwyY':_0x4780ff(0x1f9),'QCYga':function(_0x263e3a,_0x48a7e1){return _0x263e3a>_0x48a7e1;},'ANCsr':'Data\x20fetched\x20successfully','dYKui':'export_fetch_error'};try{const {tableName:_0x4cf0c3,columns:_0x107fe4,exportQuery:_0x4568b4,where:_0x427b6b,sort_columns:_0xa80f89}=_0x4a60b4;if(_0x3d08a6['vFNAy'](!_0x4cf0c3,!_0x107fe4)||_0x107fe4[_0x4780ff(0x1de)]===0x0)throw new Error(_0x3d08a6['Fyozd']);const _0x54c55d=_0x3d08a6[_0x4780ff(0x1dc)](_0x4cf0c3[_0x4780ff(0x1f2)](/\./g,'_'),'_data');let _0x58db8b;if(_0x4568b4&&_0x4568b4['trim']()){let _0x283ecb=_0x4568b4;_0x4568b4[_0x4780ff(0x1d8)]()['startsWith'](_0x3d08a6['ErwiM'])&&(_0x283ecb=this['resolveExportQuery'](_0x4568b4)),_0x58db8b='WITH\x20'+_0x54c55d+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x283ecb+'\x0a)',_0x58db8b+='\x0aSELECT\x20*\x20FROM\x20'+_0x54c55d,logger[_0x4780ff(0x1c8)]({'event':_0x3d08a6[_0x4780ff(0x1db)],'query':_0x283ecb['substring'](0x0,0x64)},_0x3d08a6[_0x4780ff(0x177)]);}else{const _0x753e98=_0x107fe4['map'](_0x5271aa=>_0x4780ff(0x1a5)+_0x5271aa)['join'](',');_0x58db8b='WITH\x20'+_0x54c55d+_0x4780ff(0x1e0)+_0x753e98+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4cf0c3+'\x0a)',_0x58db8b+='\x0aSELECT\x20*\x20FROM\x20'+_0x54c55d,logger['info']({'event':_0x3d08a6[_0x4780ff(0x1c5)],'tableName':_0x4cf0c3,'columnCount':_0x107fe4['length']},'Using\x20auto-generated\x20query');}if(_0x427b6b){const _0x10f2dc=this['buildWhereClause'](_0x427b6b);_0x10f2dc&&(_0x58db8b+='\x0aWHERE\x20'+_0x10f2dc);}if(_0xa80f89&&_0x3d08a6[_0x4780ff(0x1b1)](_0xa80f89[_0x4780ff(0x1de)],0x0)){const _0x666a8d=this[_0x4780ff(0x194)](_0xa80f89);_0x666a8d&&(_0x58db8b+=_0x4780ff(0x1bd)+_0x666a8d);}logger[_0x4780ff(0x1c8)]({'event':_0x3d08a6['sYwEi'],'query':_0x58db8b['substring'](0x0,0xc8)},_0x3d08a6[_0x4780ff(0x1fa)]);const _0x5f1bcd=await executeQuery(_0x58db8b);let _0x588dd5=_0x5f1bcd;return dbType===_0x3d08a6[_0x4780ff(0x175)]&&_0x5f1bcd&&_0x3d08a6[_0x4780ff(0x196)](_0x5f1bcd[_0x4780ff(0x1de)],0x0)&&(_0x588dd5=_0x5f1bcd[_0x4780ff(0x1d2)](_0x234c05=>{const _0x368fe3=_0x4780ff,_0x8c119a={};for(const [_0x40d517,_0x47e926]of Object[_0x368fe3(0x182)](_0x234c05)){_0x8c119a[_0x40d517['toLowerCase']()]=_0x47e926;}return _0x8c119a;})),logger['info']({'event':_0x4780ff(0x1f8),'rows':_0x588dd5[_0x4780ff(0x1de)]},_0x3d08a6['ANCsr']),_0x588dd5;}catch(_0x473dee){logError(_0x473dee,{'event':_0x3d08a6['dYKui']},_0x4780ff(0x1a0));throw _0x473dee;}}[a0_0x12cb30(0x17e)](_0x51f05e){const _0x3674ca=a0_0x12cb30,_0x3140e0={'CioJE':function(_0x337d80,_0x5e509a){return _0x337d80===_0x5e509a;},'IHBkr':_0x3674ca(0x16d)};if(_0x3140e0[_0x3674ca(0x1ba)](typeof _0x51f05e,_0x3140e0[_0x3674ca(0x1d5)]))return _0x51f05e['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x51f05e))return _0x51f05e[_0x3674ca(0x1d2)](_0x201ec1=>this[_0x3674ca(0x17e)](_0x201ec1));}return _0x51f05e;}['buildWhereClause'](_0x5355d7){const _0x3bcecb=a0_0x12cb30,_0x1e7170={'pLGUo':'string','kYfLE':'Skipping\x20invalid\x20condition','NuHYr':function(_0xa583ad,_0x4de319){return _0xa583ad!==_0x4de319;},'KGObq':function(_0x4edaab,_0x36323b){return _0x4edaab===_0x36323b;},'Yicui':'LIKE','oiooA':_0x3bcecb(0x190),'JJwpE':_0x3bcecb(0x1df),'XLAJN':_0x3bcecb(0x1fd),'PXfQg':'\x20OR\x20'};if(!_0x5355d7||!_0x5355d7[_0x3bcecb(0x1c7)]||_0x5355d7[_0x3bcecb(0x1c7)][_0x3bcecb(0x1de)]===0x0)return'';const {logic:_0x3a0f7c,conditions:_0x12737d}=_0x5355d7,_0x501354=_0x3a0f7c&&_0x1e7170[_0x3bcecb(0x1e3)](_0x3a0f7c[_0x3bcecb(0x1e9)](),'OR')?_0x1e7170['PXfQg']:_0x3bcecb(0x1d9),_0x24d581=_0x12737d[_0x3bcecb(0x1d2)](_0x2f5ac0=>{const _0x47c4e5=_0x3bcecb,{key:_0x2a9bea,operator:_0x2ed8a4,value:_0xc1bc0d,sensitive:_0x3a341d}=_0x2f5ac0;if(!_0x2a9bea||!_0x2ed8a4)return logger['warn']({'event':'invalid_condition','condition':_0x2f5ac0},_0x1e7170[_0x47c4e5(0x1e6)]),null;const _0xa9fb3=this[_0x47c4e5(0x17e)](_0xc1bc0d),_0x12be91=_0x1e7170['NuHYr'](_0x3a341d,undefined)?_0x3a341d:!![];let _0x322d47=_0x2a9bea,_0x5b1322=_0xa9fb3;!_0x12be91&&(_0x322d47='UPPER('+_0x2a9bea+')',typeof _0xc1bc0d==='string'&&(_0x5b1322=_0xc1bc0d[_0x47c4e5(0x1e9)]()));const _0x466825=typeof _0x5b1322==='string'?'\x27'+_0x5b1322['replace'](/'/g,'\x27\x27')+'\x27':_0x5b1322;switch(_0x2ed8a4['toUpperCase']()){case'=':case'!=':case'<>':return _0x322d47+'\x20'+_0x2ed8a4+'\x20'+_0x466825;case'>':case'<':case'>=':case'<=':const _0x473b0b=_0x1e7170[_0x47c4e5(0x1e3)](typeof _0xa9fb3,_0x1e7170[_0x47c4e5(0x1aa)])?'\x27'+_0xa9fb3['replace'](/'/g,'\x27\x27')+'\x27':_0xa9fb3;return _0x2a9bea+'\x20'+_0x2ed8a4+'\x20'+_0x473b0b;case _0x1e7170['Yicui']:case _0x47c4e5(0x191):return _0x322d47+'\x20'+_0x2ed8a4+'\x20'+_0x466825;case'IN':if(Array['isArray'](_0xa9fb3)){let _0xa34338;return!_0x12be91?_0xa34338=_0xa9fb3['map'](_0x48be73=>{const _0x126eba=_0x47c4e5,_0x2d978e=typeof _0x48be73==='string'?_0x48be73[_0x126eba(0x1e9)]():_0x48be73;return typeof _0x2d978e===_0x1e7170[_0x126eba(0x1aa)]?'\x27'+_0x2d978e[_0x126eba(0x1f2)](/'/g,'\x27\x27')+'\x27':_0x2d978e;})['join'](',\x20'):_0xa34338=_0xa9fb3['map'](_0x337aef=>typeof _0x337aef==='string'?'\x27'+_0x337aef[_0x47c4e5(0x1f2)](/'/g,'\x27\x27')+'\x27':_0x337aef)['join'](',\x20'),_0x322d47+_0x47c4e5(0x1fe)+_0xa34338+')';}return _0x322d47+_0x47c4e5(0x1fe)+_0x466825+')';case _0x1e7170['oiooA']:return _0x2a9bea+_0x47c4e5(0x186);case _0x47c4e5(0x1b8):return _0x2a9bea+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x1e7170['JJwpE'],'operator':_0x2ed8a4},_0x1e7170['XLAJN']);return _0x322d47+'\x20=\x20'+_0x466825;}})[_0x3bcecb(0x200)](_0x5b1e51=>_0x5b1e51!==null);if(_0x24d581['length']===0x0)return'';return _0x24d581['join'](_0x501354);}[a0_0x12cb30(0x194)](_0x1ee10e){const _0xa36ad3=a0_0x12cb30;if(!_0x1ee10e||_0x1ee10e[_0xa36ad3(0x1de)]===0x0)return'';const _0x334d02=_0x1ee10e['map'](_0x4296ff=>{const _0x3954fd=_0xa36ad3,{column:_0x4bb869,direction:_0x28d429}=_0x4296ff;if(!_0x4bb869)return logger['warn']({'event':_0x3954fd(0x1af),'item':_0x4296ff},'Skipping\x20invalid\x20sort\x20column'),null;const _0x3f8e95=_0x28d429&&_0x28d429[_0x3954fd(0x1e9)]()===_0x3954fd(0x1a9)?_0x3954fd(0x1a9):_0x3954fd(0x16f);return _0x4bb869+'\x20'+_0x3f8e95;})[_0xa36ad3(0x200)](_0x383164=>_0x383164!==null);if(_0x334d02[_0xa36ad3(0x1de)]===0x0)return'';return _0x334d02['join'](',\x20');}async[a0_0x12cb30(0x1ed)](_0x4aa22e,_0x411bb4,_0x122107){const _0x2fe948=a0_0x12cb30,_0x427ab9={'RWDCs':function(_0x3c36b0,_0x496852){return _0x3c36b0*_0x496852;},'LbxWN':function(_0x1b2f70,_0xa2bbe6){return _0x1b2f70/_0xa2bbe6;},'JLlUz':_0x2fe948(0x1d0),'dTgpB':function(_0x373dbd,_0x229e10){return _0x373dbd===_0x229e10;},'fNweK':function(_0x23072f,_0x2c115a){return _0x23072f===_0x2c115a;},'ibYSS':'all','OBvOq':_0x2fe948(0x19d),'OVFMr':'excel_columns_select_all','bIwWe':function(_0x1a81b3,_0x7817cb){return _0x1a81b3>_0x7817cb;},'FdhIt':'excel_columns_from_request','BQrVa':'excel_columns_from_config'},_0x214066=require(_0x427ab9['JLlUz']),_0x5066ab=new _0x214066(),_0x17b58f=_0x122107[_0x2fe948(0x1a4)]?_0x122107['filename']+'-'+_0x4aa22e:'export-'+_0x4aa22e,_0x52927f=path['join'](this[_0x2fe948(0x1cf)],_0x17b58f+'.xlsx');let _0xa63415=_0x122107[_0x2fe948(0x16e)];const _0x2abbc7=_0x122107[_0x2fe948(0x17a)]&&_0x122107[_0x2fe948(0x17a)]['trim'](),_0x50ac7a=_0xa63415&&_0x427ab9['dTgpB'](_0xa63415[_0x2fe948(0x1de)],0x1)&&(_0x427ab9[_0x2fe948(0x1f6)](_0xa63415[0x0],'*')||_0xa63415[0x0][_0x2fe948(0x199)]()===_0x427ab9[_0x2fe948(0x185)]);if(_0x411bb4[_0x2fe948(0x1de)]>0x0){const _0xba629f=Object[_0x2fe948(0x18a)](_0x411bb4[0x0]);if(_0x2abbc7)_0xa63415=_0xba629f,logger[_0x2fe948(0x1c8)]({'event':_0x427ab9['OBvOq'],'columns':_0xa63415},'Using\x20'+_0xa63415[_0x2fe948(0x1de)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x50ac7a)_0xa63415=_0xba629f,logger['info']({'event':_0x427ab9[_0x2fe948(0x1e8)],'columns':_0xa63415},'Using\x20all\x20'+_0xa63415[_0x2fe948(0x1de)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0xa63415&&_0x427ab9[_0x2fe948(0x1b6)](_0xa63415['length'],0x0)){const _0x4692cd=_0xa63415[_0x2fe948(0x200)](_0x1b99d1=>_0xba629f[_0x2fe948(0x18e)](_0x1b99d1));_0x427ab9['bIwWe'](_0x4692cd[_0x2fe948(0x1de)],0x0)?(_0xa63415=_0x4692cd,logger[_0x2fe948(0x1c8)]({'event':_0x427ab9[_0x2fe948(0x174)],'requestedColumns':_0x122107['columns'],'validColumns':_0xa63415},_0x2fe948(0x1ae)+_0xa63415['length']+_0x2fe948(0x1bc))):(_0xa63415=_0xba629f,logger['warn']({'event':_0x2fe948(0x1e2),'requestedColumns':_0x122107['columns'],'availableColumns':_0xba629f},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xba629f['length']+_0x2fe948(0x180)));}else _0xa63415=_0xba629f,logger['info']({'event':'excel_columns_from_query_result','columns':_0xa63415},'Using\x20'+_0xa63415[_0x2fe948(0x1de)]+_0x2fe948(0x203));}}}else logger[_0x2fe948(0x1c8)]({'event':_0x427ab9['BQrVa'],'columns':_0xa63415},'Using\x20'+(_0xa63415?.[_0x2fe948(0x1de)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x5066ab['generate']({'data':_0x411bb4,'columns':_0xa63415,'columnFormats':_0x122107[_0x2fe948(0x1f0)]||null,'fieldLabels':_0x122107[_0x2fe948(0x168)]||null,'filePath':_0x52927f,'onProgress':async _0x1ab38d=>{const _0x2ee016=_0x2fe948;await redisHelper['updateJob'](_0x4aa22e,{'progress':Math['round'](_0x1ab38d),'processed_rows':Math[_0x2ee016(0x1c9)](_0x427ab9['RWDCs'](_0x427ab9[_0x2ee016(0x18c)](_0x1ab38d,0x64),_0x411bb4[_0x2ee016(0x1de)]))});}}),_0x52927f;}async['getFilePath'](_0x11b61d){const _0x420151=a0_0x12cb30,_0x12255b={'XEUFj':function(_0x251692,_0x161439){return _0x251692!==_0x161439;},'lGYcZ':_0x420151(0x1cd)},_0x3e345a=await redisHelper[_0x420151(0x188)](_0x11b61d);if(!_0x3e345a||_0x12255b[_0x420151(0x187)](_0x3e345a[_0x420151(0x1a2)],_0x420151(0x1f1)))return null;try{return await fs['access'](_0x3e345a['file_path']),_0x3e345a[_0x420151(0x171)];}catch(_0x1882f3){return logError(_0x1882f3,{'event':_0x420151(0x183),'jobId':_0x11b61d,'path':_0x3e345a['file_path']},_0x12255b[_0x420151(0x1e1)]),null;}}async[a0_0x12cb30(0x19c)](){const _0x305ed4=a0_0x12cb30,_0x1504b3={'gRBJb':_0x305ed4(0x179),'ZFMEc':'Starting\x20export\x20cleanup','qCfDm':function(_0x3788de,_0x559ce5){return _0x3788de/_0x559ce5;},'kijMf':_0x305ed4(0x1d6),'oUZEJ':'Export\x20file\x20deleted','nHQky':_0x305ed4(0x1e5),'SUWXX':_0x305ed4(0x18d)};logger['info']({'event':_0x1504b3[_0x305ed4(0x192)]},_0x1504b3[_0x305ed4(0x1c1)]);const _0x3ae6f3=await redisHelper[_0x305ed4(0x1cc)]();let _0x2c873f=0x0;for(const _0x4cef0f of _0x3ae6f3){const _0x44f6ed=new Date(_0x4cef0f[_0x305ed4(0x1d3)]),_0x46a29d=new Date(),_0x3e0613=_0x1504b3['qCfDm'](_0x46a29d-_0x44f6ed,0x3e8*0x3c*0x3c);if(_0x3e0613>0x1){if(_0x4cef0f[_0x305ed4(0x171)])try{await fs['unlink'](_0x4cef0f[_0x305ed4(0x171)]),logger[_0x305ed4(0x1c8)]({'event':_0x1504b3['kijMf'],'path':_0x4cef0f[_0x305ed4(0x171)]},_0x1504b3['oUZEJ']);}catch(_0x2b1493){logger[_0x305ed4(0x1ca)]({'event':_0x305ed4(0x1a8),'path':_0x4cef0f[_0x305ed4(0x171)],'error':_0x2b1493[_0x305ed4(0x1ce)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x4cef0f[_0x305ed4(0x1a3)]),_0x2c873f++;}}return logger['info']({'event':_0x1504b3['nHQky'],'deleted':_0x2c873f},_0x1504b3['SUWXX']),_0x2c873f;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0xa5fe28=a0_0x89b3;(function(_0x156759,_0x138777){const _0x51edfa=a0_0x89b3,_0x2648ef=_0x156759();while(!![]){try{const _0xac73b4=parseInt(_0x51edfa(0x1a3))/0x1+parseInt(_0x51edfa(0x166))/0x2+-parseInt(_0x51edfa(0x176))/0x3+parseInt(_0x51edfa(0x11a))/0x4*(-parseInt(_0x51edfa(0x120))/0x5)+parseInt(_0x51edfa(0x160))/0x6*(parseInt(_0x51edfa(0x190))/0x7)+parseInt(_0x51edfa(0x195))/0x8*(parseInt(_0x51edfa(0x185))/0x9)+-parseInt(_0x51edfa(0x19a))/0xa;if(_0xac73b4===_0x138777)break;else _0x2648ef['push'](_0x2648ef['shift']());}catch(_0x1ac955){_0x2648ef['push'](_0x2648ef['shift']());}}}(a0_0x33cc,0x285f2));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xa5fe28(0x152)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0xa5fe28(0x155)]||a0_0xa5fe28(0x1b3))['toLowerCase']();let executeQuery;function a0_0x89b3(_0x6b81f,_0x3738e1){_0x6b81f=_0x6b81f-0x119;const _0x33ccc9=a0_0x33cc();let _0x89b375=_0x33ccc9[_0x6b81f];if(a0_0x89b3['SYNIpP']===undefined){var _0x54ec2e=function(_0x4be0fe){const _0x3029a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c8091='',_0x2dc2fa='';for(let _0x1cf609=0x0,_0x19470a,_0x689c43,_0x48a7ae=0x0;_0x689c43=_0x4be0fe['charAt'](_0x48a7ae++);~_0x689c43&&(_0x19470a=_0x1cf609%0x4?_0x19470a*0x40+_0x689c43:_0x689c43,_0x1cf609++%0x4)?_0x5c8091+=String['fromCharCode'](0xff&_0x19470a>>(-0x2*_0x1cf609&0x6)):0x0){_0x689c43=_0x3029a1['indexOf'](_0x689c43);}for(let _0x2fce58=0x0,_0x5130b8=_0x5c8091['length'];_0x2fce58<_0x5130b8;_0x2fce58++){_0x2dc2fa+='%'+('00'+_0x5c8091['charCodeAt'](_0x2fce58)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dc2fa);};a0_0x89b3['gnatOk']=_0x54ec2e,a0_0x89b3['UHkKIM']={},a0_0x89b3['SYNIpP']=!![];}const _0x2ad872=_0x33ccc9[0x0],_0x1f7734=_0x6b81f+_0x2ad872,_0x2f6fbe=a0_0x89b3['UHkKIM'][_0x1f7734];return!_0x2f6fbe?(_0x89b375=a0_0x89b3['gnatOk'](_0x89b375),a0_0x89b3['UHkKIM'][_0x1f7734]=_0x89b375):_0x89b375=_0x2f6fbe,_0x89b375;}if(dbType==='oracle'){const oracleDb=require(a0_0xa5fe28(0x177));executeQuery=(_0xa92870,_0x26b005)=>oracleDb['executeQuery'](_0xa92870,_0x26b005);}else{if(dbType===a0_0xa5fe28(0x1a6)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x6434df,_0x5f290f)=>mysqlDb[a0_0xa5fe28(0x12b)](_0x6434df,_0x5f290f);}else executeQuery=require(a0_0xa5fe28(0x151))['executeQuery'];}function a0_0x33cc(){const _0x1b13fd=['ieforca','z2v0qwXSsM9ICW','zxHWB3j0x3nLCNzPy2vFAw5PDa','ywXS','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','cLDirvjfia','zxjYB3i','v0Lusca','z2v0sM9I','mJa1muLlDLftzq','rvHqt1jux0rjuG','zxHWB3j0rgLY','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zMfPBgvK','mtG0uxH3tfLQ','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ieLtie5vteW','D1j3u2K','ChjVy2vZC2LUzW','mJK0odiWme53y2LPyG','CMvZB2X2zuv4Cg9YDff1zxj5','y29TCgXLDgvK','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','y3jLyxrLzf9HDa','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zw5KCg9PBNroyw1L','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','Dg9vChbLCKnHC2u','mJK5mJy4uunmrfzd','z2vUzxjHDgvkB2jjza','CMvHzezPBgvtEw5J','BxLZCwW','zgvSzxrLsM9I','C3rHDhvZ','id0G','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','CMfUzg9T','y29SDw1UCW','CuTht3e','CMvZB2X2zq','vKjmAMm','zxHWB3j0x2zPBgvFBM90x2zVDw5K','y29TCgXLDgvKx2f0','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','Cg9ZDgDYzxnXBa','Ee5luwm','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','zLzPu2G','BwfW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','z2vUzxjHDgvfEgnLBa','odK4mtzquujACg0','iefticGkicaGifnftevdvca','zMLSDgvY','zMv0y2HeyxrH','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','AfHfCgq','nJbYDw1uAeW','vxnPBMCG','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','Cgf5Bg9Hza','zw52','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','C3vIC3rYAw5N','BgvUz3rO','zxHPC3rZu3LUyW','zxHLy3v0zvf1zxj5','zxHWB3j0x2zLDgnOx2vYCM9Y','y2HHCKf0','cIaGicbguK9nia','cLnftevdvcaQiezst00G','tK9uieXjs0u','DxbKyxrLsM9I','vNfkvue','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','C3rHCNrZv2L0Aa','y3DK','zMLSzv9WyxrO','yNvPBgrpCMrLCKj5q2XHDxnL','Dg9mB3DLCKnHC2u','BM93','vuDHz3K','D1D4twO','BwvZC2fNzq','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','x2v4Cg9YDerPCG','z2v0sM9Iu3rHDhvZ','Du1bufK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','vwXfENO','CgvUzgLUzW','zw50CMLLCW','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ru5pru5u','zhzrBwm','svmGtLvmta','CgfYyw1Z','Bw9KDwXLtMfTzq','rxHWB3j0igzPBguGBM90igzVDw5K','Dg9ju09tDhjPBMC','lI4VDxrPBhmVzgi','ChjVBwLZzxm','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','twXxyxG','rejFvfLqrq','C250sgu','y29SDw1UrM9YBwf0CW','wLrSrMu','s05lB20','AM9PBG','AxnbCNjHEq','C2v0sM9I','Aw5MBW','D2fYBG','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','nJe4mgzRy0D6ta','yNrlzeS','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','C2fUAxrPEMvwywX1zq','t3LbAwO','yuDqreO','mZmYmtq0yM9ozfD0','C3rYAw5N','zxHWB3j0x2zPBgvFzgvSzxrLza','zxHWB3j0uxvLCNK','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','B3jHy2XL','zMLLBgrmywjLBhm','zMXVB3i','uhfiCvy','uhLquvO','cK9srevsiejzia','uwDny0W','DhjPBq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','u1L3r3G','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ndC0otu3t1DirwrS','lI4VDxrPBhmVzgiTB3jHy2XL','rxHWB3j0igzHAwXLza','v01yuNq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','Dg9tDhjPBMC','wvHPEem','zxHWB3j0x2PVyL9JCMvHDgvK','Dw5SAw5R','AM9Ix2LK','CKXOwui','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','CM91BMq','ChjVz3jLC3m','ndCYnZDszw1Oq08','CMvWBgfJzq'];a0_0x33cc=function(){return _0x1b13fd;};return a0_0x33cc();}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0xa5fe28(0x192)](){const _0x4fcb25=a0_0xa5fe28,_0x18b9c6={'qKGOq':'default','aYcUa':_0x4fcb25(0x189),'ZTlFe':function(_0x2f7648,_0x2c28ef,_0x55fd54,_0x396467){return _0x2f7648(_0x2c28ef,_0x55fd54,_0x396467);},'ximwW':'export_service_init_error','Rerxv':_0x4fcb25(0x1a1)};if(!this[_0x4fcb25(0x141)]){const _0x221bff=process['env'][_0x4fcb25(0x193)]||_0x18b9c6[_0x4fcb25(0x1ad)];this['_exportDir']=process[_0x4fcb25(0x126)][_0x4fcb25(0x191)]||path['join'](__dirname,'../../exports/'+_0x221bff);try{!fsSync[_0x4fcb25(0x12a)](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x18b9c6['aYcUa'],'dir':this['_exportDir']},_0x4fcb25(0x1b2));}catch(_0x20e4ee){_0x18b9c6[_0x4fcb25(0x158)](logError,_0x20e4ee,{'event':_0x18b9c6['ximwW']},_0x18b9c6['Rerxv']);}}return this[_0x4fcb25(0x141)];}[a0_0xa5fe28(0x19b)](_0x1e798f,_0x1c81ca=null){const _0x4d67c4=a0_0xa5fe28,_0xe69629={'mPVpk':'file:','aGPDJ':_0x4d67c4(0x16a),'wNuOy':'export_query_file_loaded','rVNFo':function(_0x4eee93,_0x4b2ff1){return _0x4eee93===_0x4b2ff1;}};if(!_0x1e798f||typeof _0x1e798f!==_0x4d67c4(0x167))return _0x1e798f;const _0x29dfc1=_0x1e798f['trim']();if(!_0x29dfc1[_0x4d67c4(0x137)](_0xe69629['mPVpk']))return _0x29dfc1;const _0x226df3=_0x29dfc1[_0x4d67c4(0x186)](/^file:/,'')['trim']();if(!_0x226df3)throw new Error(_0xe69629[_0x4d67c4(0x165)]);const _0x4be986=_0x1c81ca||path[_0x4d67c4(0x15a)](process[_0x4d67c4(0x138)](),_0x4d67c4(0x125)),_0x5d6d6c=path[_0x4d67c4(0x1ae)](_0x4be986,_0x226df3);logger['info']({'event':'export_query_file_resolve','relativePath':_0x226df3,'baseDir':_0x4be986,'absolutePath':_0x5d6d6c},_0x4d67c4(0x134)+_0x226df3);if(!fsSync['existsSync'](_0x5d6d6c))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5d6d6c);try{const _0x6f9c0c=fsSync[_0x4d67c4(0x1a5)](_0x5d6d6c,'utf8');if(!_0x6f9c0c||!_0x6f9c0c[_0x4d67c4(0x172)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5d6d6c);return logger['info']({'event':_0xe69629['wNuOy'],'file':_0x5d6d6c,'queryLength':_0x6f9c0c['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x6f9c0c[_0x4d67c4(0x129)]+'\x20chars)'),_0x6f9c0c[_0x4d67c4(0x172)]();}catch(_0x19e30d){if(_0xe69629['rVNFo'](_0x19e30d['code'],_0x4d67c4(0x14a)))throw new Error(_0x4d67c4(0x19f)+_0x5d6d6c);throw new Error(_0x4d67c4(0x1b8)+_0x19e30d['message']);}}['generateJobId'](){const _0x2f30de=a0_0xa5fe28,_0xf3b8f7={'hZOng':function(_0x270d61,_0x5810cd){return _0x270d61-_0x5810cd;}},_0x38201b=_0x2f30de(0x17a),_0x5ecaaa=Date[_0x2f30de(0x13c)]()[_0x2f30de(0x17c)](0x24),_0x32a5a8=uuidv7()['replace'](/-/g,'')[_0x2f30de(0x128)](0x0,_0xf3b8f7['hZOng'](0xc,_0x5ecaaa['length'])),_0x5854b3=(_0x5ecaaa+_0x32a5a8)['substring'](0x0,0xc);let _0x316ef2='';for(let _0x555700=0x0;_0x555700<0xc;_0x555700++){_0x5854b3[_0x555700]?_0x316ef2+=_0x5854b3[_0x555700]:_0x316ef2+=_0x38201b[_0x2f30de(0x12d)](Math[_0x2f30de(0x16d)](Math[_0x2f30de(0x1ab)]()*_0x38201b['length']));}return _0x316ef2;}async['createJob'](_0x1b4ea4){const _0x44e9dc=a0_0xa5fe28,_0x59d726={'wRwSi':function(_0x4afc79,_0x112cd8,_0x2a1950,_0x294a48){return _0x4afc79(_0x112cd8,_0x2a1950,_0x294a48);},'hXEpd':_0x44e9dc(0x153)},_0x1169ce=this[_0x44e9dc(0x1a4)](),_0x1f7ff6={'job_id':_0x1169ce,'status':_0x44e9dc(0x146),'progress':0x0,'created_at':new Date()[_0x44e9dc(0x150)](),'params':_0x1b4ea4,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x44e9dc(0x15c)](_0x1169ce,_0x1f7ff6),logger[_0x44e9dc(0x15d)]({'event':_0x44e9dc(0x17e),'jobId':_0x1169ce,'params':_0x1b4ea4},'Export\x20job\x20created'),this['processJob'](_0x1169ce,_0x1b4ea4)['catch'](_0x4605c5=>{const _0x1fa92d=_0x44e9dc;_0x59d726[_0x1fa92d(0x198)](logError,_0x4605c5,{'event':'export_process_error','jobId':_0x1169ce},_0x59d726[_0x1fa92d(0x11f)]);}),{'job_id':_0x1169ce,'status':'pending'};}async[a0_0xa5fe28(0x142)](_0x1a15e4){const _0x2e00b6=a0_0xa5fe28,_0x357b6f=await redisHelper[_0x2e00b6(0x18f)](_0x1a15e4);if(!_0x357b6f)return{'success':![],'error':_0x2e00b6(0x175)};return{'success':!![],'data':{'job_id':_0x357b6f[_0x2e00b6(0x180)],'status':_0x357b6f[_0x2e00b6(0x1a8)],'progress':_0x357b6f[_0x2e00b6(0x184)],'total_rows':_0x357b6f['total_rows'],'processed_rows':_0x357b6f['processed_rows'],'file_url':_0x357b6f['status']===_0x2e00b6(0x19c)?'/api/'+_0x357b6f['params'][_0x2e00b6(0x14e)]+'/'+_0x357b6f[_0x2e00b6(0x14d)][_0x2e00b6(0x1a0)]+'/export-download?job_id='+_0x1a15e4:null,'error':_0x357b6f[_0x2e00b6(0x18d)]||null,'created_at':_0x357b6f['created_at'],'completed_at':_0x357b6f[_0x2e00b6(0x1b1)]||null}};}async['processJob'](_0xf52a0d,_0x2ce401){const _0x2ab9ab=a0_0xa5fe28,_0x121dae={'VPvdr':'Export\x20processing\x20started','oSwoM':_0x2ab9ab(0x19c),'cKLpL':function(_0x151a75,_0x8835d3,_0x3ddc29,_0x18fb95){return _0x151a75(_0x8835d3,_0x3ddc29,_0x18fb95);},'RZLmr':_0x2ab9ab(0x178),'QgMcL':_0x2ab9ab(0x194)};try{await redisHelper['updateJob'](_0xf52a0d,{'status':_0x2ab9ab(0x199),'started_at':new Date()['toISOString']()}),logger[_0x2ab9ab(0x15d)]({'event':_0x2ab9ab(0x122),'jobId':_0xf52a0d},_0x121dae['VPvdr']);const _0x43066e=await this[_0x2ab9ab(0x11d)](_0x2ce401);await redisHelper[_0x2ab9ab(0x131)](_0xf52a0d,{'total_rows':_0x43066e[_0x2ab9ab(0x129)]});const _0x4ea5c6=await this['generateExcel'](_0xf52a0d,_0x43066e,_0x2ce401);await redisHelper['updateJob'](_0xf52a0d,{'status':_0x121dae['oSwoM'],'progress':0x64,'file_path':_0x4ea5c6,'completed_at':new Date()['toISOString']()}),logger['info']({'event':'export_completed','jobId':_0xf52a0d,'rows':_0x43066e['length']},_0x2ab9ab(0x196));}catch(_0x4a745d){_0x121dae['cKLpL'](logError,_0x4a745d,{'event':'export_failed','jobId':_0xf52a0d},_0x121dae['RZLmr']),await redisHelper[_0x2ab9ab(0x131)](_0xf52a0d,{'status':_0x121dae[_0x2ab9ab(0x171)],'error':_0x4a745d['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x566490){const _0x44f713=a0_0xa5fe28,_0x20fafa={'miJpx':function(_0x59add0,_0x187f51){return _0x59add0||_0x187f51;},'RJFpT':_0x44f713(0x144),'UlEzz':'_data','avobe':_0x44f713(0x148),'PyPQZ':_0x44f713(0x11e),'KAeJa':function(_0xe8c10b,_0xb8876b){return _0xe8c10b===_0xb8876b;},'fViSh':_0x44f713(0x1b5),'btKdK':_0x44f713(0x136),'MlWax':function(_0x377cbd,_0x5d34a0,_0x72f5fa,_0x8bd9c0){return _0x377cbd(_0x5d34a0,_0x72f5fa,_0x8bd9c0);},'uMAPY':_0x44f713(0x12c)};try{const {tableName:_0x224a54,columns:_0x380a4c,exportQuery:_0x4854a4,where:_0x446df2,sort_columns:_0x36e498}=_0x566490;if(_0x20fafa['miJpx'](!_0x224a54,!_0x380a4c)||_0x380a4c['length']===0x0)throw new Error(_0x20fafa['RJFpT']);const _0x49d552=_0x224a54[_0x44f713(0x186)](/\./g,'_')+_0x20fafa[_0x44f713(0x145)];let _0xcfcd56;if(_0x4854a4&&_0x4854a4[_0x44f713(0x172)]()){let _0x47e801=_0x4854a4;_0x4854a4[_0x44f713(0x172)]()['startsWith']('file:')&&(_0x47e801=this[_0x44f713(0x19b)](_0x4854a4)),_0xcfcd56='WITH\x20'+_0x49d552+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x47e801+'\x0a)',_0xcfcd56+='\x0aSELECT\x20*\x20FROM\x20'+_0x49d552,logger[_0x44f713(0x15d)]({'event':_0x20fafa['avobe'],'query':_0x47e801[_0x44f713(0x128)](0x0,0x64)},_0x44f713(0x182));}else{const _0x328596=_0x380a4c['map'](_0x15db1c=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x15db1c)['join'](',');_0xcfcd56=_0x44f713(0x18e)+_0x49d552+_0x44f713(0x11b)+_0x328596+_0x44f713(0x12e)+_0x224a54+'\x0a)',_0xcfcd56+=_0x44f713(0x12f)+_0x49d552,logger['info']({'event':_0x20fafa[_0x44f713(0x16f)],'tableName':_0x224a54,'columnCount':_0x380a4c[_0x44f713(0x129)]},_0x44f713(0x127));}if(_0x446df2){const _0x112245=this['buildWhereClause'](_0x446df2);_0x112245&&(_0xcfcd56+=_0x44f713(0x18c)+_0x112245);}if(_0x36e498&&_0x36e498[_0x44f713(0x129)]>0x0){const _0x353b3a=this[_0x44f713(0x13a)](_0x36e498);_0x353b3a&&(_0xcfcd56+=_0x44f713(0x170)+_0x353b3a);}logger[_0x44f713(0x15d)]({'event':'export_fetch_start','query':_0xcfcd56[_0x44f713(0x128)](0x0,0xc8)},_0x44f713(0x15f));const _0x38be83=await executeQuery(_0xcfcd56);let _0x1d978f=_0x38be83;return _0x20fafa['KAeJa'](dbType,_0x44f713(0x16b))&&_0x38be83&&_0x38be83['length']>0x0&&(_0x1d978f=_0x38be83['map'](_0x1eb280=>{const _0x1e8f7d=_0x44f713,_0x34e8d9={};for(const [_0x295ec9,_0x31bdb9]of Object[_0x1e8f7d(0x147)](_0x1eb280)){_0x34e8d9[_0x295ec9[_0x1e8f7d(0x13b)]()]=_0x31bdb9;}return _0x34e8d9;})),logger['info']({'event':_0x20fafa[_0x44f713(0x1b6)],'rows':_0x1d978f['length']},_0x20fafa[_0x44f713(0x161)]),_0x1d978f;}catch(_0x199cf5){_0x20fafa[_0x44f713(0x154)](logError,_0x199cf5,{'event':_0x20fafa[_0x44f713(0x143)]},'Failed\x20to\x20fetch\x20data');throw _0x199cf5;}}['sanitizeValue'](_0x1ff66c){const _0x183115=a0_0xa5fe28,_0x3c9a18={'KNKom':function(_0x3131f5,_0x204d7f){return _0x3131f5===_0x204d7f;},'tIKcS':_0x183115(0x167)};if(_0x3c9a18[_0x183115(0x159)](typeof _0x1ff66c,_0x3c9a18['tIKcS']))return _0x1ff66c['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x1ff66c))return _0x1ff66c[_0x183115(0x1b7)](_0xc19342=>this[_0x183115(0x163)](_0xc19342));}return _0x1ff66c;}['buildWhereClause'](_0x4eeaa0){const _0x4ccaef=a0_0xa5fe28,_0x139fc0={'dvQmc':_0x4ccaef(0x167),'xNKQc':function(_0xef9adb,_0x3e861e){return _0xef9adb||_0x3e861e;},'xnRoa':'invalid_condition','rLhYB':function(_0x5d7707,_0x210c61){return _0x5d7707===_0x210c61;},'OyAij':'LIKE','PqHqV':_0x4ccaef(0x124),'InXks':function(_0x10792b,_0x4bff93){return _0x10792b===_0x4bff93;}};if(!_0x4eeaa0||!_0x4eeaa0['conditions']||_0x139fc0[_0x4ccaef(0x181)](_0x4eeaa0['conditions'][_0x4ccaef(0x129)],0x0))return'';const {logic:_0x3b4bdb,conditions:_0x435133}=_0x4eeaa0,_0xeff526=_0x3b4bdb&&_0x139fc0['InXks'](_0x3b4bdb['toUpperCase'](),'OR')?'\x20OR\x20':_0x4ccaef(0x187),_0x1cc6b0=_0x435133[_0x4ccaef(0x1b7)](_0x781514=>{const _0x58c4cc=_0x4ccaef,_0x3517c9={'YvGHZ':function(_0x4672cb,_0x82d054){return _0x4672cb===_0x82d054;},'NDVgM':_0x139fc0['dvQmc']},{key:_0x29d018,operator:_0xa0da2d,value:_0x14f8fb,sensitive:_0x52902}=_0x781514;if(_0x139fc0[_0x58c4cc(0x1b4)](!_0x29d018,!_0xa0da2d))return logger[_0x58c4cc(0x15e)]({'event':_0x139fc0['xnRoa'],'condition':_0x781514},_0x58c4cc(0x19d)),null;const _0x3cf637=this[_0x58c4cc(0x163)](_0x14f8fb),_0x36b79f=_0x52902!==undefined?_0x52902:!![];let _0x24252d=_0x29d018,_0x14ea1c=_0x3cf637;!_0x36b79f&&(_0x24252d='UPPER('+_0x29d018+')',typeof _0x14f8fb===_0x139fc0[_0x58c4cc(0x14b)]&&(_0x14ea1c=_0x14f8fb['toUpperCase']()));const _0x40c0cd=_0x139fc0['rLhYB'](typeof _0x14ea1c,_0x139fc0['dvQmc'])?'\x27'+_0x14ea1c[_0x58c4cc(0x186)](/'/g,'\x27\x27')+'\x27':_0x14ea1c;switch(_0xa0da2d[_0x58c4cc(0x1a2)]()){case'=':case'!=':case'<>':return _0x24252d+'\x20'+_0xa0da2d+'\x20'+_0x40c0cd;case'>':case'<':case'>=':case'<=':const _0x46f00d=typeof _0x3cf637===_0x58c4cc(0x167)?'\x27'+_0x3cf637['replace'](/'/g,'\x27\x27')+'\x27':_0x3cf637;return _0x29d018+'\x20'+_0xa0da2d+'\x20'+_0x46f00d;case _0x139fc0[_0x58c4cc(0x164)]:case _0x58c4cc(0x130):return _0x24252d+'\x20'+_0xa0da2d+'\x20'+_0x40c0cd;case'IN':if(Array[_0x58c4cc(0x15b)](_0x3cf637)){let _0x2d23be;return!_0x36b79f?_0x2d23be=_0x3cf637[_0x58c4cc(0x1b7)](_0x2fcc6f=>{const _0x3dbfd4=_0x3517c9['YvGHZ'](typeof _0x2fcc6f,_0x3517c9['NDVgM'])?_0x2fcc6f['toUpperCase']():_0x2fcc6f;return typeof _0x3dbfd4==='string'?'\x27'+_0x3dbfd4['replace'](/'/g,'\x27\x27')+'\x27':_0x3dbfd4;})[_0x58c4cc(0x15a)](',\x20'):_0x2d23be=_0x3cf637[_0x58c4cc(0x1b7)](_0x3c89a3=>typeof _0x3c89a3==='string'?'\x27'+_0x3c89a3[_0x58c4cc(0x186)](/'/g,'\x27\x27')+'\x27':_0x3c89a3)[_0x58c4cc(0x15a)](',\x20'),_0x24252d+'\x20IN\x20('+_0x2d23be+')';}return _0x24252d+'\x20IN\x20('+_0x40c0cd+')';case _0x58c4cc(0x14c):return _0x29d018+_0x58c4cc(0x197);case'IS\x20NOT\x20NULL':return _0x29d018+'\x20IS\x20NOT\x20NULL';default:logger[_0x58c4cc(0x15e)]({'event':'unknown_operator','operator':_0xa0da2d},_0x139fc0[_0x58c4cc(0x16e)]);return _0x24252d+_0x58c4cc(0x1a9)+_0x40c0cd;}})['filter'](_0x395835=>_0x395835!==null);if(_0x1cc6b0['length']===0x0)return'';return _0x1cc6b0[_0x4ccaef(0x15a)](_0xeff526);}['buildOrderByClause'](_0x3a7a52){const _0x30634a=a0_0xa5fe28,_0x137a82={'QQZKf':'invalid_sort_column','wWxMj':function(_0x48d118,_0x4fc505){return _0x48d118===_0x4fc505;}};if(!_0x3a7a52||_0x3a7a52[_0x30634a(0x129)]===0x0)return'';const _0x3d733d=_0x3a7a52[_0x30634a(0x1b7)](_0x127c61=>{const _0x1b966f=_0x30634a,{column:_0x473f51,direction:_0x377262}=_0x127c61;if(!_0x473f51)return logger[_0x1b966f(0x15e)]({'event':_0x137a82['QQZKf'],'item':_0x127c61},'Skipping\x20invalid\x20sort\x20column'),null;const _0x2b8ada=_0x377262&&_0x137a82[_0x1b966f(0x13e)](_0x377262[_0x1b966f(0x1a2)](),'DESC')?'DESC':'ASC';return _0x473f51+'\x20'+_0x2b8ada;})['filter'](_0x4f8683=>_0x4f8683!==null);if(_0x137a82[_0x30634a(0x13e)](_0x3d733d['length'],0x0))return'';return _0x3d733d[_0x30634a(0x15a)](',\x20');}async[a0_0xa5fe28(0x119)](_0x10e9fa,_0x28d0dd,_0x34ba2a){const _0x2dc250=a0_0xa5fe28,_0xfda3a5={'EIisD':_0x2dc250(0x140),'sntHe':function(_0x2df407,_0x4446ee){return _0x2df407===_0x4446ee;},'IaOWw':function(_0xcbe861,_0x347cb6){return _0xcbe861===_0x347cb6;},'qMvaH':_0x2dc250(0x18a),'VqJUA':function(_0x2da0f7,_0x42f097){return _0x2da0f7>_0x42f097;},'PQOdw':'excel_columns_select_all','YXixC':function(_0x4e1137,_0x39626f){return _0x4e1137>_0x39626f;},'UGagy':'excel_columns_fallback','NmQnB':'excel_columns_from_query_result'},_0x30bf97=require(_0xfda3a5['EIisD']),_0x1987e5=new _0x30bf97(),_0x362ac7=_0x34ba2a['filename']?_0x34ba2a['filename']+'-'+_0x10e9fa:'export-'+_0x10e9fa,_0x1a56f8=path[_0x2dc250(0x15a)](this['exportDir'],_0x362ac7+'.xlsx');let _0x396b60=_0x34ba2a['columns'];const _0xb67fd2=_0x34ba2a[_0x2dc250(0x169)]&&_0x34ba2a['exportQuery'][_0x2dc250(0x172)](),_0x4fadeb=_0x396b60&&_0xfda3a5[_0x2dc250(0x156)](_0x396b60['length'],0x1)&&(_0xfda3a5['IaOWw'](_0x396b60[0x0],'*')||_0x396b60[0x0]['toLowerCase']()===_0xfda3a5['qMvaH']);if(_0xfda3a5[_0x2dc250(0x132)](_0x28d0dd['length'],0x0)){const _0x40d53a=Object['keys'](_0x28d0dd[0x0]);if(_0xb67fd2)_0x396b60=_0x40d53a,logger[_0x2dc250(0x15d)]({'event':_0x2dc250(0x133),'columns':_0x396b60},'Using\x20'+_0x396b60[_0x2dc250(0x129)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4fadeb)_0x396b60=_0x40d53a,logger[_0x2dc250(0x15d)]({'event':_0xfda3a5['PQOdw'],'columns':_0x396b60},'Using\x20all\x20'+_0x396b60[_0x2dc250(0x129)]+_0x2dc250(0x173));else{if(_0x396b60&&_0x396b60[_0x2dc250(0x129)]>0x0){const _0x208987=_0x396b60[_0x2dc250(0x11c)](_0xb9d3c6=>_0x40d53a['includes'](_0xb9d3c6));_0xfda3a5[_0x2dc250(0x17d)](_0x208987['length'],0x0)?(_0x396b60=_0x208987,logger[_0x2dc250(0x15d)]({'event':'excel_columns_from_request','requestedColumns':_0x34ba2a[_0x2dc250(0x1ac)],'validColumns':_0x396b60},_0x2dc250(0x121)+_0x396b60[_0x2dc250(0x129)]+_0x2dc250(0x135))):(_0x396b60=_0x40d53a,logger[_0x2dc250(0x15e)]({'event':_0xfda3a5[_0x2dc250(0x13d)],'requestedColumns':_0x34ba2a['columns'],'availableColumns':_0x40d53a},_0x2dc250(0x17b)+_0x40d53a['length']+'\x20columns'));}else _0x396b60=_0x40d53a,logger[_0x2dc250(0x15d)]({'event':_0xfda3a5['NmQnB'],'columns':_0x396b60},_0x2dc250(0x121)+_0x396b60[_0x2dc250(0x129)]+_0x2dc250(0x123));}}}else logger[_0x2dc250(0x15d)]({'event':'excel_columns_from_config','columns':_0x396b60},'Using\x20'+(_0x396b60?.[_0x2dc250(0x129)]||0x0)+_0x2dc250(0x18b));return await _0x1987e5['generate']({'data':_0x28d0dd,'columns':_0x396b60,'columnFormats':_0x34ba2a[_0x2dc250(0x157)]||null,'fieldLabels':_0x34ba2a[_0x2dc250(0x16c)]||null,'filePath':_0x1a56f8,'onProgress':async _0x3a7bfc=>{const _0x4a92d0=_0x2dc250;await redisHelper[_0x4a92d0(0x131)](_0x10e9fa,{'progress':Math[_0x4a92d0(0x183)](_0x3a7bfc),'processed_rows':Math['round'](_0x3a7bfc/0x64*_0x28d0dd[_0x4a92d0(0x129)])});}}),_0x1a56f8;}async['getFilePath'](_0x44dd7d){const _0x20eb7b=a0_0xa5fe28,_0x42d470={'fyygj':_0x20eb7b(0x19c),'ArLZy':_0x20eb7b(0x14f)},_0x323915=await redisHelper[_0x20eb7b(0x18f)](_0x44dd7d);if(!_0x323915||_0x323915['status']!==_0x42d470['fyygj'])return null;try{return await fs['access'](_0x323915['file_path']),_0x323915[_0x20eb7b(0x139)];}catch(_0x34bfb3){return logError(_0x34bfb3,{'event':_0x20eb7b(0x1b0),'jobId':_0x44dd7d,'path':_0x323915['file_path']},_0x42d470['ArLZy']),null;}}async['cleanup'](){const _0x19740a=a0_0xa5fe28,_0x410a34={'doTcv':function(_0x11512a,_0x2bf8ba){return _0x11512a-_0x2bf8ba;},'WMXRt':function(_0x1beddb,_0x9f81bf){return _0x1beddb*_0x9f81bf;},'VBLjc':'Export\x20file\x20deleted','yZGNe':_0x19740a(0x1aa),'WOXgy':_0x19740a(0x149),'SYwGx':'Export\x20cleanup\x20completed'};logger[_0x19740a(0x15d)]({'event':'export_cleanup_start'},'Starting\x20export\x20cleanup');const _0x174433=await redisHelper[_0x19740a(0x188)]();let _0x539a05=0x0;for(const _0x221f52 of _0x174433){const _0x225d8d=new Date(_0x221f52[_0x19740a(0x19e)]),_0x18d72f=new Date(),_0x5e6af4=_0x410a34['doTcv'](_0x18d72f,_0x225d8d)/_0x410a34[_0x19740a(0x179)](0x3e8*0x3c,0x3c);if(_0x5e6af4>0x1){if(_0x221f52['file_path'])try{await fs[_0x19740a(0x17f)](_0x221f52['file_path']),logger['info']({'event':_0x19740a(0x168),'path':_0x221f52[_0x19740a(0x139)]},_0x410a34[_0x19740a(0x1af)]);}catch(_0x30d585){logger[_0x19740a(0x15e)]({'event':_0x410a34['yZGNe'],'path':_0x221f52[_0x19740a(0x139)],'error':_0x30d585[_0x19740a(0x13f)]},_0x19740a(0x162));}await redisHelper[_0x19740a(0x1a7)](_0x221f52[_0x19740a(0x180)]),_0x539a05++;}}return logger[_0x19740a(0x15d)]({'event':_0x410a34['WOXgy'],'deleted':_0x539a05},_0x410a34[_0x19740a(0x174)]),_0x539a05;}}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5d0364=a0_0x4628;(function(_0x3b32b6,_0x42c5a7){const _0x3f520a=a0_0x4628,_0xa8e0c2=_0x3b32b6();while(!![]){try{const _0x375f64=parseInt(_0x3f520a(0x179))/0x1*(parseInt(_0x3f520a(0x101))/0x2)+parseInt(_0x3f520a(0xfb))/0x3+parseInt(_0x3f520a(0x160))/0x4+parseInt(_0x3f520a(0x12a))/0x5+parseInt(_0x3f520a(0x109))/0x6*(parseInt(_0x3f520a(0x140))/0x7)+-parseInt(_0x3f520a(0x154))/0x8*(parseInt(_0x3f520a(0x105))/0x9)+-parseInt(_0x3f520a(0xfd))/0xa;if(_0x375f64===_0x42c5a7)break;else _0xa8e0c2['push'](_0xa8e0c2['shift']());}catch(_0x39a473){_0xa8e0c2['push'](_0xa8e0c2['shift']());}}}(a0_0x5918,0xaed1a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x5d0364(0x13e)],redisHelper=require(a0_0x5d0364(0x15b)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x5d0364(0x14a)]||'postgresql')[a0_0x5d0364(0x102)]();function a0_0x4628(_0x2e5d60,_0x553fa0){_0x2e5d60=_0x2e5d60-0xf9;const _0x59180b=a0_0x5918();let _0x46280f=_0x59180b[_0x2e5d60];if(a0_0x4628['bVEFLu']===undefined){var _0x3708b4=function(_0xa13576){const _0x40806f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eaae1='',_0x36ad57='';for(let _0x885028=0x0,_0x480273,_0xfbe4c3,_0x49fc0b=0x0;_0xfbe4c3=_0xa13576['charAt'](_0x49fc0b++);~_0xfbe4c3&&(_0x480273=_0x885028%0x4?_0x480273*0x40+_0xfbe4c3:_0xfbe4c3,_0x885028++%0x4)?_0x5eaae1+=String['fromCharCode'](0xff&_0x480273>>(-0x2*_0x885028&0x6)):0x0){_0xfbe4c3=_0x40806f['indexOf'](_0xfbe4c3);}for(let _0xa973ce=0x0,_0x4dc5e9=_0x5eaae1['length'];_0xa973ce<_0x4dc5e9;_0xa973ce++){_0x36ad57+='%'+('00'+_0x5eaae1['charCodeAt'](_0xa973ce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36ad57);};a0_0x4628['dNBZCB']=_0x3708b4,a0_0x4628['wSIwJw']={},a0_0x4628['bVEFLu']=!![];}const _0xd60af0=_0x59180b[0x0],_0x4f8c81=_0x2e5d60+_0xd60af0,_0x4d6856=a0_0x4628['wSIwJw'][_0x4f8c81];return!_0x4d6856?(_0x46280f=a0_0x4628['dNBZCB'](_0x46280f),a0_0x4628['wSIwJw'][_0x4f8c81]=_0x46280f):_0x46280f=_0x4d6856,_0x46280f;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x5d0364(0x18f))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x419193,_0x4fcf86)=>oracleDb[a0_0x5d0364(0x111)](_0x419193,_0x4fcf86),executeTransaction=_0x565039=>oracleDb['executeTransaction'](_0x565039);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x5d0364(0x170));executeQuery=(_0x42bc0f,_0x570930)=>mysqlDb[a0_0x5d0364(0x111)](_0x42bc0f,_0x570930),executeTransaction=_0x4ef3b4=>mysqlDb['executeTransaction'](_0x4ef3b4);}else{const db=require('../utils/db');executeQuery=db[a0_0x5d0364(0x111)],executeTransaction=db[a0_0x5d0364(0x194)];}}const excelParser=require(a0_0x5d0364(0x16c)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x5d0364(0xff)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x4d88ac=a0_0x5d0364;this[_0x4d88ac(0x171)]=null;}get['uploadDir'](){const _0x45c05b=a0_0x5d0364;if(!this[_0x45c05b(0x171)]){const _0x2edc18=process[_0x45c05b(0x14e)]['RESTFORGE_PROJECT_NAME']||_0x45c05b(0x163);this['_uploadDir']=process[_0x45c05b(0x14e)]['UPLOAD_DIR']||path[_0x45c05b(0x153)](__dirname,'../../temp/uploads/'+_0x2edc18);}return this['_uploadDir'];}['generateId'](){const _0x320258=a0_0x5d0364,_0x3359bb={'SYwYt':function(_0x5b438d){return _0x5b438d();},'HouwT':function(_0x3ccfc4,_0x4b1dbd){return _0x3ccfc4-_0x4b1dbd;},'qmfCq':function(_0x31b28e,_0x5b976b){return _0x31b28e<_0x5b976b;}},_0xfe2a82='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1cf643=Date['now']()[_0x320258(0x17c)](0x24),_0x3789d8=_0x3359bb['SYwYt'](uuidv7)[_0x320258(0x178)](/-/g,'')['substring'](0x0,_0x3359bb['HouwT'](0xc,_0x1cf643['length'])),_0x2a74a2=(_0x1cf643+_0x3789d8)[_0x320258(0x100)](0x0,0xc);let _0x24a9bd='';for(let _0x245ec3=0x0;_0x3359bb['qmfCq'](_0x245ec3,0xc);_0x245ec3++){_0x2a74a2[_0x245ec3]?_0x24a9bd+=_0x2a74a2[_0x245ec3]:_0x24a9bd+=_0xfe2a82['charAt'](Math['floor'](Math['random']()*_0xfe2a82[_0x320258(0x18d)]));}return _0x24a9bd;}['buildLabelToFieldMap'](_0xc9bf52){const _0x50d345=a0_0x5d0364,_0x269c91={'rEupg':'$1_$2','YpRAe':_0x50d345(0x184)},_0x5306cd=new Map();if(!_0xc9bf52)return _0x5306cd;return Object['entries'](_0xc9bf52)['forEach'](([_0x1f3371,_0x37640f])=>{const _0x3cb267=_0x50d345,_0x31e3fc=String(_0x37640f)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x269c91[_0x3cb267(0x10a)])['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x5306cd['set'](_0x31e3fc,_0x1f3371);}),logger['debug']({'event':_0x269c91['YpRAe'],'mappingCount':_0x5306cd[_0x50d345(0x11e)]},_0x50d345(0x143)),_0x5306cd;}[a0_0x5d0364(0x167)](_0x36b502,_0x4c2e61){const _0xc943c8=a0_0x5d0364,_0x1d827f={'VhdfB':function(_0xc6d58c,_0x13256b){return _0xc6d58c===_0x13256b;},'ugCgt':'number','eTQgw':function(_0x4aa5ec,_0xaabd33){return _0x4aa5ec(_0xaabd33);},'dFRgG':function(_0x29e815,_0x9aa955){return _0x29e815===_0x9aa955;}};if(!_0x4c2e61||_0x1d827f[_0xc943c8(0x155)](Object['keys'](_0x4c2e61)[_0xc943c8(0x18d)],0x0))return _0x36b502;return _0x36b502[_0xc943c8(0x147)](_0x4ae5f7=>{const _0x520139=_0xc943c8,_0x424a22={..._0x4ae5f7};for(const [_0xa9cee7,_0x53e871]of Object[_0x520139(0x14f)](_0x4c2e61)){const _0x44d008=_0x424a22[_0xa9cee7];if(_0x44d008===null||_0x44d008===undefined||_0x1d827f['VhdfB'](_0x44d008,'')){_0x424a22[_0xa9cee7]=null;continue;}switch(_0x53e871['type']){case'date':_0x424a22[_0xa9cee7]=this['formatDateForDatabase'](_0x44d008);break;case _0x1d827f[_0x520139(0x11a)]:_0x424a22[_0xa9cee7]=this[_0x520139(0xf9)](_0x44d008);break;case'boolean':_0x424a22[_0xa9cee7]=this[_0x520139(0x144)](_0x44d008);break;case _0x520139(0x14b):_0x424a22[_0xa9cee7]=_0x1d827f['eTQgw'](String,_0x44d008);break;default:break;}}return _0x424a22;});}[a0_0x5d0364(0x15f)](_0x588098){const _0x3a4039=a0_0x5d0364,_0x535143={'SNaTn':function(_0x471137,_0x587eca){return _0x471137===_0x587eca;},'BWKsQ':function(_0x56826e,_0x26153e){return _0x56826e instanceof _0x26153e;},'CKiLt':function(_0x4f3e96,_0x3a5477){return _0x4f3e96===_0x3a5477;},'dEQaS':_0x3a4039(0x10e),'yBNzH':function(_0x5163eb,_0x56a851){return _0x5163eb(_0x56a851);}};if(_0x535143[_0x3a4039(0x106)](_0x588098,null)||_0x535143[_0x3a4039(0x106)](_0x588098,undefined)||_0x588098==='')return null;if(typeof _0x588098===_0x3a4039(0x10e)&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x588098))return _0x588098;if(_0x535143['BWKsQ'](_0x588098,Date)){if(isNaN(_0x588098[_0x3a4039(0x190)]()))return null;const _0x3dced9=_0x588098[_0x3a4039(0x12c)](),_0x1f5008=String(_0x588098['getMonth']()+0x1)[_0x3a4039(0x134)](0x2,'0'),_0x1ad8a0=String(_0x588098[_0x3a4039(0x103)]())[_0x3a4039(0x134)](0x2,'0');return _0x3dced9+'-'+_0x1f5008+'-'+_0x1ad8a0;}if(_0x535143['CKiLt'](typeof _0x588098,_0x535143['dEQaS'])){const _0x2315aa=_0x588098['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x2315aa){const _0x2ea257=_0x535143[_0x3a4039(0x11c)](String,_0x2315aa[0x1])[_0x3a4039(0x134)](0x2,'0'),_0x1b9498=_0x535143['yBNzH'](String,_0x2315aa[0x2])['padStart'](0x2,'0'),_0x25f593=_0x2315aa[0x3];return _0x25f593+'-'+_0x1b9498+'-'+_0x2ea257;}const _0x12ee17=_0x588098[_0x3a4039(0x151)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x12ee17){const _0x207af9=_0x12ee17[0x1],_0x35f0d4=String(_0x12ee17[0x2])['padStart'](0x2,'0'),_0x43a995=String(_0x12ee17[0x3])[_0x3a4039(0x134)](0x2,'0');return _0x207af9+'-'+_0x35f0d4+'-'+_0x43a995;}}return _0x588098;}['formatNumberForDatabase'](_0x53fb6f){const _0x9b8584=a0_0x5d0364,_0x26d878={'OyVul':function(_0x5e58f8,_0x52468b){return _0x5e58f8===_0x52468b;},'kbJpc':function(_0x18edf2,_0x42414d){return _0x18edf2(_0x42414d);},'EkCTH':function(_0x2cdeee,_0xa3f60a){return _0x2cdeee(_0xa3f60a);}};if(_0x26d878[_0x9b8584(0x187)](_0x53fb6f,null)||_0x53fb6f===undefined||_0x53fb6f==='')return null;if(typeof _0x53fb6f==='number')return _0x26d878[_0x9b8584(0x180)](isNaN,_0x53fb6f)?null:_0x53fb6f;if(typeof _0x53fb6f==='string'){let _0x44b2d5=_0x53fb6f['trim']();const _0x2bf38f=/,\d{1,2}$/['test'](_0x44b2d5)&&!/,\d{3}/[_0x9b8584(0x17b)](_0x44b2d5);_0x2bf38f?_0x44b2d5=_0x44b2d5[_0x9b8584(0x178)](/\./g,'')[_0x9b8584(0x178)](',','.'):_0x44b2d5=_0x44b2d5['replace'](/,/g,'');const _0x4df023=_0x26d878['EkCTH'](parseFloat,_0x44b2d5);return isNaN(_0x4df023)?null:_0x4df023;}return null;}['formatBooleanForDatabase'](_0x3459f4){const _0x198ea2=a0_0x5d0364,_0xe3269a={'mqjFR':function(_0x33ac00,_0x4ddd8f){return _0x33ac00===_0x4ddd8f;},'DoQfY':function(_0x25ed61,_0x183989){return _0x25ed61===_0x183989;},'DhgWc':_0x198ea2(0x165),'AkaMS':'true','qQtnP':'false','oqkJS':'number'};if(_0x3459f4===null||_0xe3269a['mqjFR'](_0x3459f4,undefined)||_0x3459f4==='')return null;if(_0xe3269a[_0x198ea2(0x12d)](typeof _0x3459f4,_0xe3269a['DhgWc']))return _0x3459f4?_0xe3269a[_0x198ea2(0x193)]:_0xe3269a[_0x198ea2(0xfe)];if(typeof _0x3459f4===_0x198ea2(0x10e)){const _0xd4a1ac=_0x3459f4[_0x198ea2(0xfc)]()['toLowerCase']();if(['true','yes','y','1']['includes'](_0xd4a1ac))return'true';if([_0xe3269a[_0x198ea2(0xfe)],'no','n','0']['includes'](_0xd4a1ac))return _0xe3269a[_0x198ea2(0xfe)];return null;}if(_0xe3269a['DoQfY'](typeof _0x3459f4,_0xe3269a['oqkJS']))return _0x3459f4?'true':_0xe3269a['qQtnP'];return null;}async['uploadFile'](_0x443def,_0xf972ed){const _0x8ee9cd=a0_0x5d0364,_0x3883f2={'GmdoE':function(_0x40e01b,_0x2fff09){return _0x40e01b||_0x2fff09;},'xnOAJ':_0x8ee9cd(0x177),'RHrjd':'Column\x20formats\x20applied\x20to\x20rows','TKRir':'import_file_uploaded','MykDh':'file_cleanup_error','MLIdO':'Failed\x20to\x20cleanup\x20file'},_0x4aad53=this['generateId']();try{let {headers:_0x29ad85,rows:_0x47e792,totalRows:_0x2119f6}=await excelParser[_0x8ee9cd(0x16a)](_0x443def[_0x8ee9cd(0x124)]);const _0x20283c=this['buildLabelToFieldMap'](_0xf972ed[_0x8ee9cd(0x152)]),_0x56eafa=_0x29ad85['map'](_0x5487e0=>{const _0x894374=_0x20283c['get'](_0x5487e0);return _0x3883f2['GmdoE'](_0x894374,_0x5487e0);});_0x47e792=_0x47e792[_0x8ee9cd(0x147)](_0x5f1172=>{const _0x53ea97={};return _0x29ad85['forEach']((_0x52e11f,_0x5aad1c)=>{const _0x13d927=_0x56eafa[_0x5aad1c];_0x53ea97[_0x13d927]=_0x5f1172[_0x52e11f];}),_0x53ea97;}),_0x29ad85=_0x56eafa,logger['debug']({'event':_0x3883f2['xnOAJ'],'original':_0x29ad85[_0x8ee9cd(0x18d)],'mapped':_0x56eafa['filter']((_0x561c10,_0x504b73)=>_0x561c10!==_0x29ad85[_0x504b73])['length']},_0x8ee9cd(0x110));_0xf972ed['columnFormats']&&Object[_0x8ee9cd(0x137)](_0xf972ed[_0x8ee9cd(0x142)])[_0x8ee9cd(0x18d)]>0x0&&(_0x47e792=this[_0x8ee9cd(0x167)](_0x47e792,_0xf972ed['columnFormats']),logger[_0x8ee9cd(0x175)]({'event':_0x8ee9cd(0x138),'formatCount':Object[_0x8ee9cd(0x137)](_0xf972ed['columnFormats'])[_0x8ee9cd(0x18d)],'formats':Object[_0x8ee9cd(0x137)](_0xf972ed[_0x8ee9cd(0x142)])},_0x3883f2['RHrjd']));if(_0xf972ed[_0x8ee9cd(0x121)]&&_0xf972ed[_0x8ee9cd(0x121)]['column']){const {column:_0x16c16c,value:_0x922fdd}=_0xf972ed[_0x8ee9cd(0x121)];_0x47e792=_0x47e792['map'](_0x3a9334=>({..._0x3a9334,[_0x16c16c]:_0x922fdd})),logger[_0x8ee9cd(0x175)]({'event':'request_scope_applied','column':_0x16c16c,'rowCount':_0x47e792['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5279e7=_0xf972ed['lookupFields']?Object[_0x8ee9cd(0x198)](_0xf972ed['lookupFields'])['map'](_0x17173c=>_0x17173c['targetField']):[],_0x3d0a44=_0xf972ed[_0x8ee9cd(0x197)]['filter'](_0x1cde05=>!_0x5279e7[_0x8ee9cd(0x128)](_0x1cde05)),_0x2558c3=excelParser[_0x8ee9cd(0x18e)](_0x29ad85,_0x3d0a44);if(!_0x2558c3['valid']){await fs['unlink'](_0x443def[_0x8ee9cd(0x124)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2558c3[_0x8ee9cd(0x10c)][_0x8ee9cd(0x153)](',\x20'));}const _0x3fddc7={'upload_id':_0x4aad53,'filename':_0x443def[_0x8ee9cd(0x13b)],'total_rows':_0x2119f6,'headers':_0x29ad85,'rows':_0x47e792,'params':_0xf972ed,'created_at':new Date()[_0x8ee9cd(0x136)]()};return await redisHelper[_0x8ee9cd(0x130)](_0x8ee9cd(0x14c)+_0x4aad53,_0x3fddc7,0xe10),await fs[_0x8ee9cd(0x199)](_0x443def[_0x8ee9cd(0x124)]),logger['info']({'event':_0x3883f2['TKRir'],'uploadId':_0x4aad53,'filename':_0x443def['originalname'],'totalRows':_0x2119f6},_0x8ee9cd(0x182)),{'upload_id':_0x4aad53,'total_rows':_0x2119f6,'preview':_0x47e792[_0x8ee9cd(0x104)](0x0,0xa)};}catch(_0x20a25a){try{await fs['unlink'](_0x443def[_0x8ee9cd(0x124)]);}catch(_0x41e479){logError(_0x41e479,{'event':_0x3883f2['MykDh']},_0x3883f2['MLIdO']);}throw _0x20a25a;}}async['createPreviewJob'](_0x1484eb){const _0x723018=a0_0x5d0364,_0x279be0={'BzZjw':_0x723018(0x174),'nHGvR':'Preview\x20processing\x20failed','ChNUP':'Upload\x20data\x20not\x20found\x20or\x20expired','LgRMO':'validating'},_0x6dc6db=this['generateId'](),_0x3d366f=await redisHelper['getJob']('upload:'+_0x1484eb);if(!_0x3d366f)throw new Error(_0x279be0['ChNUP']);const _0x4ab563={'job_id':_0x6dc6db,'upload_id':_0x1484eb,'status':_0x723018(0x16d),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3d366f[_0x723018(0x159)]};return await redisHelper[_0x723018(0x130)]('job:'+_0x6dc6db,_0x4ab563,0xe10),logger[_0x723018(0x17e)]({'event':_0x723018(0x192),'jobId':_0x6dc6db,'uploadId':_0x1484eb},'Preview\x20job\x20created'),this['processPreviewJob'](_0x6dc6db,_0x1484eb,_0x3d366f)[_0x723018(0x117)](_0x3caf0b=>{const _0x1749ee=_0x723018;logError(_0x3caf0b,{'event':_0x279be0[_0x1749ee(0x188)],'jobId':_0x6dc6db},_0x279be0[_0x1749ee(0x181)]);}),{'job_id':_0x6dc6db,'status':_0x279be0[_0x723018(0x123)]};}['autoGenerateUpsertKeys'](_0xcf3209,_0x374ff2){const _0x15670a=a0_0x5d0364,_0x5162bc={'BORlL':function(_0x580dd7,_0x1ae294){return _0x580dd7===_0x1ae294;},'TbnMo':function(_0x38e212,_0x1e259b){return _0x38e212(_0x1e259b);},'womzy':function(_0x521141){return _0x521141();}};_0xcf3209[_0x15670a(0x15d)]((_0x187787,_0x31a783)=>{const _0xb7c3b=_0x15670a;_0x374ff2[_0xb7c3b(0x15d)](_0x44210b=>{const _0x1a5bfc=_0xb7c3b,_0x55ff87=_0x187787[_0x44210b];if(_0x55ff87===null||_0x55ff87===undefined||_0x5162bc['BORlL'](_0x55ff87,'')||_0x5162bc['TbnMo'](String,_0x55ff87)[_0x1a5bfc(0xfc)]()==='-'){const _0x34bfdf=_0x5162bc['womzy'](uuidv7);_0x187787[_0x44210b]=_0x34bfdf,_0x187787['_generated_uuid']=_0x187787['_generated_uuid']||{},_0x187787['_generated_uuid'][_0x44210b]=_0x34bfdf,logger[_0x1a5bfc(0x175)]({'event':_0x1a5bfc(0x113),'rowIndex':_0x31a783,'field':_0x44210b,'uuid':_0x34bfdf},_0x1a5bfc(0x162)+_0x44210b+'\x20at\x20row\x20'+(_0x31a783+0x2));}});});}async['processPreviewJob'](_0x1529d8,_0x47eaea,_0x25c0bc){const _0x3af8b9=a0_0x5d0364,_0x1328d6={'AcwEy':_0x3af8b9(0x10f),'yJzcM':function(_0x2ca18b,_0xb5bb8e){return _0x2ca18b===_0xb5bb8e;},'eYDMI':'UPDATE','DKKcl':'SKIP','hoSvE':function(_0x41a35d,_0x4a9cd9){return _0x41a35d>_0x4a9cd9;},'iUzeJ':_0x3af8b9(0x127),'fyeRJ':'Processing\x20lookup\x20fields','maNAu':function(_0x1af130,_0x5a0c99){return _0x1af130||_0x5a0c99;},'eiYtN':_0x3af8b9(0x196),'xMEQs':'preview_job_completed','eATyQ':_0x3af8b9(0x18b),'eNirP':function(_0x36fd99,_0x10d0d4,_0x595744,_0x934dcd){return _0x36fd99(_0x10d0d4,_0x595744,_0x934dcd);}};try{let {rows:_0x5960a5,params:_0x32d418}=_0x25c0bc;const {requiredFields:_0xdc988e,validations:_0x2245c6,upsertKeys:_0x58bae4,tableName:_0x48d21c,primaryKey:_0x4f66f2,fieldName:_0x39a960,upsertStrategy:_0x20065e,lookupFields:_0x1854f3}=_0x32d418;this[_0x3af8b9(0x13d)](_0x5960a5,_0x58bae4);let _0x1f40a2=[];if(_0x1854f3&&_0x1328d6['hoSvE'](Object[_0x3af8b9(0x137)](_0x1854f3)['length'],0x0)){logger['info']({'event':_0x1328d6['iUzeJ'],'jobId':_0x1529d8,'lookupFieldCount':Object[_0x3af8b9(0x137)](_0x1854f3)[_0x3af8b9(0x18d)]},_0x1328d6[_0x3af8b9(0x129)]);const _0x3538cc=await lookupResolver['processLookupFields'](_0x5960a5,_0x1854f3);_0x5960a5=_0x3538cc[_0x3af8b9(0x122)],_0x1f40a2=_0x3538cc[_0x3af8b9(0x132)],_0x25c0bc[_0x3af8b9(0x112)]=_0x5960a5;}const _0x43632c=importValidator['batchValidateRows'](_0x5960a5,_0xdc988e||[],_0x1328d6['maNAu'](_0x2245c6,{}));_0x1f40a2['forEach'](_0x30cfac=>{const _0x1db722=_0x3af8b9,_0x15ddbd=_0x43632c['find'](_0x29e537=>_0x29e537[_0x1db722(0x114)]===_0x30cfac[_0x1db722(0x114)]);_0x15ddbd?_0x15ddbd[_0x1db722(0x132)]['push'](_0x30cfac[_0x1db722(0x13f)]):_0x43632c['push']({'rowIndex':_0x30cfac['rowIndex'],'rowData':_0x5960a5[_0x30cfac['rowIndex']],'errors':[_0x30cfac['message']]});});const _0x5ea795=importValidator[_0x3af8b9(0x115)](_0x5960a5,_0x58bae4);_0x5ea795['forEach'](_0x171114=>{const _0x3d4fae=_0x3af8b9,_0x1ef074=_0x43632c['find'](_0x5392c5=>_0x5392c5['rowIndex']===_0x171114['rowIndex']),_0x138496=_0x58bae4['map'](_0x11cd76=>_0x11cd76['toUpperCase']())['join'](',\x20'),_0x526525='Duplicate\x20value\x20for\x20'+_0x138496;_0x1ef074?_0x1ef074['errors'][_0x3d4fae(0x15a)](_0x526525):_0x43632c['push']({'rowIndex':_0x171114['rowIndex'],'rowData':_0x5960a5[_0x171114['rowIndex']],'errors':[_0x526525]});}),await this['detectDatabaseDuplicates'](_0x5960a5,_0x58bae4,_0x48d21c,_0x4f66f2,_0x20065e,_0x43632c),_0x43632c['forEach'](_0x3ad3ce=>{const _0x1bbc85=_0x3af8b9,_0x4692b8=_0x5960a5[_0x3ad3ce['rowIndex']];_0x4692b8&&(_0x4692b8['_errors']=_0x3ad3ce[_0x1bbc85(0x132)]);});let _0x363cd2=0x0,_0x249acf=0x0,_0x3ef360=0x0;_0x5960a5[_0x3af8b9(0x15d)](_0x1d5df2=>{const _0x8f0c4c=_0x3af8b9;if(_0x1d5df2[_0x8f0c4c(0x169)]===_0x1328d6[_0x8f0c4c(0x166)])_0x363cd2++;else{if(_0x1328d6[_0x8f0c4c(0x120)](_0x1d5df2['_action'],_0x1328d6[_0x8f0c4c(0x17d)]))_0x249acf++;else _0x1d5df2[_0x8f0c4c(0x169)]===_0x1328d6['DKKcl']&&_0x3ef360++;}});const _0x10f2ab={'job_id':_0x1529d8,'upload_id':_0x47eaea,'status':_0x43632c[_0x3af8b9(0x18d)]>0x0?_0x3af8b9(0x10b):_0x1328d6['eiYtN'],'progress':0x64,'created_at':_0x25c0bc['created_at'],'completed_at':new Date()[_0x3af8b9(0x136)](),'preview':{'total_rows':_0x5960a5['length'],'insert_count':_0x363cd2,'update_count':_0x249acf,'skip_count':_0x3ef360,'error_count':_0x43632c['length'],'errors':_0x43632c,'data':_0x5960a5,'sample_insert':_0x5960a5[_0x3af8b9(0x161)](_0xe21389=>_0xe21389[_0x3af8b9(0x169)]==='INSERT')[_0x3af8b9(0x104)](0x0,0x5),'sample_update':_0x5960a5['filter'](_0x485da5=>_0x485da5[_0x3af8b9(0x169)]==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x5960a5[_0x3af8b9(0x161)](_0x12e875=>_0x12e875[_0x3af8b9(0x169)]===_0x3af8b9(0x108))['slice'](0x0,0x5)},'params':_0x32d418};await redisHelper[_0x3af8b9(0x130)]('job:'+_0x1529d8,_0x10f2ab,0xe10),_0x25c0bc['rows']=_0x5960a5,await redisHelper[_0x3af8b9(0x130)]('upload:'+_0x47eaea,_0x25c0bc,0xe10),logger[_0x3af8b9(0x17e)]({'event':_0x1328d6['xMEQs'],'jobId':_0x1529d8,'status':_0x10f2ab[_0x3af8b9(0x13a)],'insertCount':_0x363cd2,'updateCount':_0x249acf,'skipCount':_0x3ef360,'errorCount':_0x43632c['length']},_0x1328d6['eATyQ']);}catch(_0x51f414){_0x1328d6['eNirP'](logError,_0x51f414,{'event':'preview_job_failed','jobId':_0x1529d8},_0x3af8b9(0x133)),await redisHelper[_0x3af8b9(0x130)](_0x3af8b9(0x145)+_0x1529d8,{'job_id':_0x1529d8,'upload_id':_0x47eaea,'status':_0x3af8b9(0x116),'progress':0x0,'error':_0x51f414[_0x3af8b9(0x13f)],'created_at':new Date()[_0x3af8b9(0x136)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5d0364(0x11b)](_0x1f9882,_0x1e4ea3,_0x31abc5,_0x50e71b,_0x33481c=a0_0x5d0364(0x125),_0x20546e=[]){const _0x17b0fb=a0_0x5d0364,_0x15df45={'CigMI':function(_0x3bd689,_0x4fb5a4){return _0x3bd689===_0x4fb5a4;},'OPEBq':_0x17b0fb(0x146),'KMzFo':function(_0x5520f6,_0x3e4362){return _0x5520f6(_0x3e4362);},'IYDob':_0x17b0fb(0x126),'YAwYU':'insert_only','LrXCr':'SKIP','DrpvO':function(_0x1f672e,_0x5b49ce){return _0x1f672e!==_0x5b49ce;},'VZNzR':_0x17b0fb(0x12b),'uvEjN':function(_0xb10c9a,_0x4f42c3){return _0xb10c9a===_0x4f42c3;},'LYkVk':'update_existing','YWmhS':function(_0x50a38e,_0x4e5806){return _0x50a38e===_0x4e5806;},'GXasQ':function(_0x5262a1,_0x32a02){return _0x5262a1===_0x32a02;},'PRKcH':'oracle'},_0xecc56e=upsertBuilder['chunkRows'](_0x1f9882,0x64);for(const _0x172b7a of _0xecc56e){const _0x360ce6=_0x172b7a[_0x17b0fb(0x147)](_0x1c38bc=>_0x1c38bc[_0x1e4ea3[0x0]]),_0x163a11=_0x360ce6[_0x17b0fb(0x147)](_0x6966aa=>{const _0x1dae39=_0x17b0fb;if(_0x15df45['CigMI'](_0x6966aa,null)||_0x6966aa===undefined)return _0x15df45[_0x1dae39(0x13c)];return'\x27'+_0x15df45[_0x1dae39(0x158)](String,_0x6966aa)[_0x1dae39(0x178)](/'/g,'\x27\x27')+'\x27';}),_0x3cd804='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x50e71b+',\x20'+_0x1e4ea3[_0x17b0fb(0x153)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x31abc5+_0x17b0fb(0x139)+_0x1e4ea3[0x0]+_0x17b0fb(0x183)+_0x163a11[_0x17b0fb(0x153)](',\x20')+_0x17b0fb(0x17f);let _0x43ca79=await executeQuery(_0x3cd804);_0x15df45['GXasQ'](dbType,_0x15df45[_0x17b0fb(0x16b)])&&_0x43ca79&&_0x43ca79['length']>0x0&&(_0x43ca79=_0x43ca79[_0x17b0fb(0x147)](_0x2f3a15=>{const _0x17f88b=_0x17b0fb,_0xa33fdd={};for(const [_0x3568dc,_0x3b28b2]of Object[_0x17f88b(0x14f)](_0x2f3a15)){_0xa33fdd[_0x3568dc[_0x17f88b(0x102)]()]=_0x3b28b2;}return _0xa33fdd;}));const _0x54af0d=new Map();_0x43ca79['forEach'](_0x404e6c=>{const _0x2e494f=_0x17b0fb,_0x25fa8b=_0x404e6c[_0x1e4ea3[0x0]];_0x54af0d[_0x2e494f(0x150)](_0x25fa8b,_0x404e6c);}),_0x172b7a['forEach']((_0xe6d8f2,_0x58ecc8)=>{const _0x2d652f=_0x17b0fb,_0x2ac989=_0xe6d8f2[_0x1e4ea3[0x0]],_0x1e2e6e=_0x54af0d[_0x2d652f(0x185)](_0x2ac989);if(_0x1e2e6e){if(_0x15df45['CigMI'](_0x33481c,_0x2d652f(0x125)))_0xe6d8f2['_action']=_0x15df45['IYDob'],_0xe6d8f2['_existingId']=_0x1e2e6e[_0x50e71b];else{if(_0x33481c===_0x15df45['YAwYU']){_0xe6d8f2[_0x2d652f(0x169)]=_0x15df45[_0x2d652f(0x189)],_0xe6d8f2[_0x2d652f(0x157)]=_0xe6d8f2['_errors']||[],_0xe6d8f2[_0x2d652f(0x157)]['push'](_0x2d652f(0x191));const _0x51cbb7=_0x1f9882[_0x2d652f(0x156)](_0xe6d8f2);_0x15df45[_0x2d652f(0x173)](_0x51cbb7,-0x1)&&_0x20546e[_0x2d652f(0x15a)]({'rowIndex':_0x51cbb7,'rowData':_0xe6d8f2,'errors':[_0x2d652f(0x191)]});}else _0x33481c===_0x15df45[_0x2d652f(0x18a)]&&(_0xe6d8f2['_action']=_0x15df45['LrXCr']);}}else{if(_0x15df45[_0x2d652f(0x168)](_0x33481c,_0x15df45['LYkVk']))_0xe6d8f2['_action']='INSERT';else(_0x15df45[_0x2d652f(0x18c)](_0x33481c,_0x15df45[_0x2d652f(0x119)])||_0x33481c===_0x15df45['VZNzR'])&&(_0xe6d8f2[_0x2d652f(0x169)]='INSERT');}});}}async['createCommitJob'](_0x57c831){const _0x380a6a=a0_0x5d0364,_0x2b3f5a={'WGvFe':_0x380a6a(0x16f),'BTCGy':'preview_ok','qOybe':'processing','ApihR':_0x380a6a(0xfa)},_0x82b67b=this['generateId'](),_0x22de85=await redisHelper['getJob']('job:'+_0x57c831);if(!_0x22de85)throw new Error(_0x2b3f5a['WGvFe']);if(_0x22de85['status']!==_0x2b3f5a['BTCGy'])throw new Error(_0x380a6a(0x15c)+_0x22de85['status']);const _0x51f9bf={'job_id':_0x82b67b,'upload_id':_0x22de85['upload_id'],'preview_job_id':_0x57c831,'status':_0x2b3f5a[_0x380a6a(0x164)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x22de85[_0x380a6a(0x159)]};return await redisHelper[_0x380a6a(0x130)](_0x380a6a(0x145)+_0x82b67b,_0x51f9bf,0xe10),logger[_0x380a6a(0x17e)]({'event':'commit_job_created','jobId':_0x82b67b,'previewJobId':_0x57c831},_0x2b3f5a['ApihR']),this['processCommitJob'](_0x82b67b,_0x22de85)[_0x380a6a(0x117)](_0x4a0322=>{logError(_0x4a0322,{'event':'commit_process_error','jobId':_0x82b67b},'Commit\x20processing\x20failed');}),{'job_id':_0x82b67b,'status':_0x380a6a(0x195)};}async['processCommitJob'](_0x1cc5c1,_0x6ca14f){const _0x1f0766=a0_0x5d0364,_0x3cece6={'jGWYt':'insert','uATyS':'Upload\x20data\x20not\x20found\x20or\x20expired','lvkia':function(_0x154be8,_0x47fde8){return _0x154be8>_0x47fde8;},'QaDNn':function(_0x560b22,_0x492865){return _0x560b22||_0x492865;},'gUpIx':function(_0x420b91,_0x456813){return _0x420b91>_0x456813;},'mrHKn':_0x1f0766(0x148),'KDLaO':function(_0xcba06a,_0x4a3f6d){return _0xcba06a(_0x4a3f6d);},'nrNec':'commit_job_completed','USMYx':function(_0x5080b3,_0x3e9481,_0x5311f8,_0x42e697){return _0x5080b3(_0x3e9481,_0x5311f8,_0x42e697);}};try{const _0x2b272a=await redisHelper['getJob']('upload:'+_0x6ca14f[_0x1f0766(0x11f)]);if(!_0x2b272a)throw new Error(_0x3cece6[_0x1f0766(0x118)]);const {rows:_0x40de66,params:_0x33b272}=_0x2b272a,{tableName:_0x44b978,fieldName:_0x3b08f7,primaryKey:_0x2b4623,upsertKeys:_0x381843,excludeFromImport:_0x4dc450,lookupFields:_0x221196,columnFormats:_0x1adba6}=_0x33b272,_0x17e2af=_0x221196?Object['keys'](_0x221196):[],_0x527e86=new Set([..._0x4dc450||[],..._0x17e2af]);let _0x2e7191=_0x3b08f7;_0x3cece6[_0x1f0766(0x135)](_0x527e86['size'],0x0)&&(_0x2e7191=_0x3b08f7['filter'](_0xb4a7fd=>!_0x527e86['has'](_0xb4a7fd)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x3b08f7[_0x1f0766(0x18d)],'filteredCount':_0x2e7191['length'],'excludedFields':Array[_0x1f0766(0x107)](_0x527e86),'lookupSourceFields':_0x17e2af},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x584f9a=_0x40de66['filter'](_0x244cea=>_0x244cea[_0x1f0766(0x169)]===_0x1f0766(0x10f)),_0x480f60=_0x40de66['filter'](_0xec8048=>_0xec8048[_0x1f0766(0x169)]==='UPDATE');let _0x5a033e=0x0,_0x530e17=0x0;const _0x32619b=[];if(_0x584f9a[_0x1f0766(0x18d)]>0x0){const _0x18bdb3=upsertBuilder[_0x1f0766(0x149)](_0x584f9a,0x64);for(const _0x5299df of _0x18bdb3){const {query:_0x48fcfe}=upsertBuilder[_0x1f0766(0x11d)](_0x5299df,_0x44b978,_0x2e7191,_0x3cece6[_0x1f0766(0x186)](_0x1adba6,{}));_0x48fcfe&&_0x32619b['push']({'sql':_0x48fcfe,'count':_0x5299df[_0x1f0766(0x18d)],'type':'insert'});}}if(_0x3cece6[_0x1f0766(0x176)](_0x480f60['length'],0x0)){const _0x58f0d3=upsertBuilder['chunkRows'](_0x480f60,0x64);for(const _0x524a0e of _0x58f0d3){const {query:_0x5309e0}=upsertBuilder['buildBatchUpdate'](_0x524a0e,_0x44b978,_0x2e7191,_0x2b4623,_0x381843,_0x1adba6||{});_0x5309e0&&_0x32619b[_0x1f0766(0x15a)]({'sql':_0x5309e0,'count':_0x524a0e['length'],'type':_0x3cece6['mrHKn']});}}_0x32619b[_0x1f0766(0x18d)]>0x0&&await _0x3cece6[_0x1f0766(0x12f)](executeTransaction,_0x32619b['map'](_0x51d085=>({'sql':_0x51d085[_0x1f0766(0x131)],'params':[]})));_0x32619b[_0x1f0766(0x15d)](_0x31136d=>{const _0x556145=_0x1f0766;if(_0x31136d['type']===_0x3cece6[_0x556145(0x172)])_0x5a033e+=_0x31136d[_0x556145(0x12e)];else _0x530e17+=_0x31136d['count'];});const _0x181dc4={'job_id':_0x1cc5c1,'upload_id':_0x6ca14f['upload_id'],'preview_job_id':_0x6ca14f[_0x1f0766(0x14d)],'status':_0x1f0766(0x16e),'progress':0x64,'created_at':_0x6ca14f[_0x1f0766(0x15e)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1f0766(0x136)](),'result':{'total_rows':_0x40de66[_0x1f0766(0x18d)],'inserted_rows':_0x5a033e,'updated_rows':_0x530e17,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x33b272};await redisHelper['setJob'](_0x1f0766(0x145)+_0x1cc5c1,_0x181dc4,0xe10),logger[_0x1f0766(0x17e)]({'event':_0x3cece6[_0x1f0766(0x141)],'jobId':_0x1cc5c1,'insertedCount':_0x5a033e,'updatedCount':_0x530e17},'Commit\x20job\x20completed');}catch(_0x4b12a1){_0x3cece6[_0x1f0766(0x10d)](logError,_0x4b12a1,{'event':'commit_job_failed','jobId':_0x1cc5c1},'Commit\x20job\x20failed'),await redisHelper[_0x1f0766(0x130)]('job:'+_0x1cc5c1,{'job_id':_0x1cc5c1,'upload_id':_0x6ca14f[_0x1f0766(0x11f)],'preview_job_id':_0x6ca14f[_0x1f0766(0x14d)],'status':_0x1f0766(0x116),'progress':0x0,'error':_0x4b12a1[_0x1f0766(0x13f)],'created_at':_0x6ca14f[_0x1f0766(0x15e)],'started_at':new Date()[_0x1f0766(0x136)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5d0364(0x17a)](_0x5bd036){const _0x270c19=await redisHelper['getJob']('job:'+_0x5bd036);if(!_0x270c19)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x270c19};}}function a0_0x5918(){const _0xf6ab24=['vLPoELi','uhjLDMLLDYbQB2iGy29TCgXLDgvK','wvDTAfm','BgvUz3rO','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','B3jHy2XL','z2v0vgLTzq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChjLDMLLD19QB2jFy3jLyxrLza','qwTHtvm','zxHLy3v0zvrYyw5Zywn0Aw9U','ChjVy2vZC2LUzW','ChjLDMLLD19VAW','zMLLBgroyw1L','DMfSDwvZ','Dw5SAw5R','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','q29TBwL0igPVyIbJCMvHDgvK','mJuXmJm5mM9Yr3HTtq','DhjPBq','oty4otGWmejWBvzTAG','Cvf0BLa','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','C3vIC3rYAw5N','mteWohr0vvfOzq','Dg9mB3DLCKnHC2u','z2v0rgf0zq','C2XPy2u','mtiYmdq5mdLPugvZywG','u05Hvg4','zNjVBq','u0Tjua','mte4mtiYr0Xgz25Y','CKv1CgC','ChjLDMLLD19LCNjVCG','BwLZC2LUz0zPzwXKCW','vvnnwxG','C3rYAw5N','su5trvju','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','zxHLy3v0zvf1zxj5','CM93CW','DxvPzf9HDxrVx2DLBMvYyxrLza','CM93sw5KzxG','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zMfPBgvK','y2f0y2G','DufuEvm','wuf3wvu','DwDdz3q','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','EujoEKG','yNvPBgrcyxrJAeLUC2vYDa','C2L6zq','DxbSB2fKx2LK','EuP6y00','C2nVCgvpDMvYCMLKzq','ChjVy2vZC2vKuM93CW','tgDstu8','Cgf0Aa','DxbKyxrLx2v4Axn0Aw5N','vvbeqvrf','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Aw5JBhvKzxm','zNLLuKO','nduXmtu4nunstvvLBG','C2TPCf9LEgLZDgLUzW','z2v0rNvSBfLLyxi','rg9rzLK','y291BNq','s0rmyu8','C2v0sM9I','C3fS','zxjYB3jZ','uhjLDMLLDYbQB2iGzMfPBgvK','CgfKu3rHCNq','BhzRAwe','Dg9ju09tDhjPBMC','A2v5CW','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','cIaGicaGicaGv0HfuKuG','C3rHDhvZ','B3jPz2LUywXUyw1L','t1bfqNe','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','ChjVBwLZzxm','BwvZC2fNzq','ndjoCwXYDwu','BNjozwm','y29SDw1UrM9YBwf0CW','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','AM9IoG','tLvmta','BwfW','DxbKyxrL','y2H1BMTsB3DZ','rejFvfLqrq','Dgv4Da','DxbSB2fKoG','AM9Ix2LK','zw52','zw50CMLLCW','C2v0','Bwf0y2G','zMLLBgrmywjLBhm','AM9PBG','ogvczLfbAq','zezsz0C','Aw5KzxHpzG','x2vYCM9YCW','s016rM8','CgfYyw1Z','ChvZAa','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zM9YrwfJAa','y3jLyxrLzf9HDa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','mJq5otiXnLz2wK95Aa','zMLSDgvY','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','zgvMyxvSDa','Cu95yMu','yM9VBgvHBG','qwn3rxK','yxbWBhLdB2X1Bw5gB3jTyxrZ','DxzfAK4','x2fJDgLVBG','CgfYC2vfEgnLBezPBgu','ufjly0G','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMfSAwrHDgLUzW','y29TCgXLDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgiTBxLZCwW','x3vWBg9HzerPCG','AKDxwxq','rhjWDK8','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zgvIDwC','z1vWsxG','AgvHzgvYC19TyxbWzwq','CMvWBgfJzq','mtaWoe91A1LRta','z2v0sM9Iu3rHDhvZ','DgvZDa','Dg9tDhjPBMC','zvLetuK','Aw5MBW','kqOGicaGica','A2jkCgm','BKHhDLi','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ieLoicG','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','z2v0','uwfetM4','t3LwDwW','qNPAANC','thjyq3i'];a0_0x5918=function(){return _0xf6ab24;};return a0_0x5918();}module['exports']=new ImportService();
|
|
1
|
+
function a0_0x2ddd(_0x329f06,_0x312740){_0x329f06=_0x329f06-0x109;const _0x3b0fec=a0_0x3b0f();let _0x2ddd84=_0x3b0fec[_0x329f06];if(a0_0x2ddd['llgxgH']===undefined){var _0x2f1ec1=function(_0x3a5898){const _0x48da8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x263a8b='',_0x2d2b80='';for(let _0x5c2803=0x0,_0x245cef,_0x1ae84b,_0x14c077=0x0;_0x1ae84b=_0x3a5898['charAt'](_0x14c077++);~_0x1ae84b&&(_0x245cef=_0x5c2803%0x4?_0x245cef*0x40+_0x1ae84b:_0x1ae84b,_0x5c2803++%0x4)?_0x263a8b+=String['fromCharCode'](0xff&_0x245cef>>(-0x2*_0x5c2803&0x6)):0x0){_0x1ae84b=_0x48da8e['indexOf'](_0x1ae84b);}for(let _0x2286d6=0x0,_0x94e18f=_0x263a8b['length'];_0x2286d6<_0x94e18f;_0x2286d6++){_0x2d2b80+='%'+('00'+_0x263a8b['charCodeAt'](_0x2286d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d2b80);};a0_0x2ddd['TqpoQu']=_0x2f1ec1,a0_0x2ddd['BpMkoE']={},a0_0x2ddd['llgxgH']=!![];}const _0x2408ef=_0x3b0fec[0x0],_0x54283a=_0x329f06+_0x2408ef,_0x3c58b9=a0_0x2ddd['BpMkoE'][_0x54283a];return!_0x3c58b9?(_0x2ddd84=a0_0x2ddd['TqpoQu'](_0x2ddd84),a0_0x2ddd['BpMkoE'][_0x54283a]=_0x2ddd84):_0x2ddd84=_0x3c58b9,_0x2ddd84;}const a0_0x959dbf=a0_0x2ddd;(function(_0x5b6fe9,_0x472afe){const _0x1f3ca7=a0_0x2ddd,_0x4f1fc3=_0x5b6fe9();while(!![]){try{const _0xcb0432=parseInt(_0x1f3ca7(0x140))/0x1*(parseInt(_0x1f3ca7(0x11f))/0x2)+parseInt(_0x1f3ca7(0x10e))/0x3*(-parseInt(_0x1f3ca7(0x10d))/0x4)+-parseInt(_0x1f3ca7(0x11a))/0x5*(parseInt(_0x1f3ca7(0x17b))/0x6)+parseInt(_0x1f3ca7(0x1b2))/0x7*(-parseInt(_0x1f3ca7(0x175))/0x8)+parseInt(_0x1f3ca7(0x172))/0x9+-parseInt(_0x1f3ca7(0x116))/0xa+-parseInt(_0x1f3ca7(0x1b1))/0xb;if(_0xcb0432===_0x472afe)break;else _0x4f1fc3['push'](_0x4f1fc3['shift']());}catch(_0x29291c){_0x4f1fc3['push'](_0x4f1fc3['shift']());}}}(a0_0x3b0f,0x468b6));const {v7:uuidv7}=require(a0_0x959dbf(0x120)),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x959dbf(0x15f)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x959dbf(0x11b)][a0_0x959dbf(0x165)]||a0_0x959dbf(0x14c))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x959dbf(0x178))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x35bf98,_0x290222)=>oracleDb[a0_0x959dbf(0x157)](_0x35bf98,_0x290222),executeTransaction=_0x234c6c=>oracleDb[a0_0x959dbf(0x19f)](_0x234c6c);else{if(dbType===a0_0x959dbf(0x16c)){const mysqlDb=require(a0_0x959dbf(0x153));executeQuery=(_0x129acf,_0x435eca)=>mysqlDb['executeQuery'](_0x129acf,_0x435eca),executeTransaction=_0xf752d7=>mysqlDb['executeTransaction'](_0xf752d7);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x959dbf(0x19f)];}}const excelParser=require(a0_0x959dbf(0x189)),importValidator=require(a0_0x959dbf(0x169)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x959dbf(0x142));function a0_0x3b0f(){const _0x530f89=['nJKZmdiWBLHtt21N','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','C2v0sM9I','z2v0sM9I','nvvpEhPWwa','zw52','yMf0y2HwywXPzgf0zvjVD3m','thbMCNu','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','odiXodjqqxrutue','DxvPza','AwPxzxO','zMLLBgrmywjLBhm','zgvIDwC','qKDyt0u','q1rXzum','y3jLyxrLzf9HDa','y3jLyxrLq29TBwL0sM9I','C2v0','zM9YrwfJAa','Cuz3zwS','Aw5JBhvKzxm','r0PXy3u','sgj6yue','qxbrzg4','u1H3uve','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','C09NExq','Bg9VA3vWrMLLBgrZ','CM93sw5KzxG','BNvTyMvY','AM9Ix2LK','ChvZAa','qujcu3O','Dw5SAw5R','z2v0sM9Iu3rHDhvZ','qwDmuNK','CgfKu3rHCNq','DxbKyxrL','DMfSAwrHDgLUzW','AeTxteG','AxfYA1u','oezbrKLHtq','ChjLDMLLD19VAW','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','t2PesLe','Ew9kzfm','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','u2PQugi','C3DXDxu','z2v0rgf0zq','CgnICMu','zMLSDgvY','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','Cg9ZDgDYzxnXBa','C3rHDhvZ','Cgf0Aa','AM9PBG','zxD2zgK','y29TBwL0x2PVyL9JB21WBgv0zwq','ChjVy2vZC1bYzxzPzxDkB2i','lI4VDxrPBhmVzgiTBxLZCwW','Dg9ju09tDhjPBMC','vePgt3G','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','zxHLy3v0zvf1zxj5','rvn6uhG','CM93CW','twXjzxO','z2v0tw9UDgG','zMLSzv9JBgvHBNvWx2vYCM9Y','uhjLDMLLDYbQB2iGy3jLyxrLza','zMXVB3i','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','Aw5Zzxj0x29UBhK','CMvWBgfJzq','x2fJDgLVBG','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','rejFvfLqrq','kqOGicaGica','x3vWBg9HzerPCG','y2f0y2G','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','ChjLDMLLD19LCNjVCG','lI4VlI4VDgvTCc91CgXVywrZlW','BxLZCwW','zMLLBgroyw1L','Dhj1zq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','svLZv1K','zNjVBq','mJKWmdCWmg9htunQzG','y2H1BMTsB3DZ','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','nZa0mJrsqMjWCgO','cIaGicaGicaGrLjptsa','q29TBwL0igPVyIbMywLSzwq','B3jHy2XL','Dg9tDhjPBMC','t0vPwxe','oty5ntK0ufbmAgvO','x2vYCM9YCW','q29TBwL0igPVyIbJB21WBgv0zwq','AM9IoG','DxbSB2fKrMLSzq','BeDoDgO','vMHuze8','BwLZC2LUz0zPzwXKCW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','x2DLBMvYyxrLzf91DwLK','BwfW','igf0ihjVDYa','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','y29TBwL0x2PVyL9JCMvHDgvK','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','ieLoicG','Dg9mB3DLCKnHC2u','vKvpqKK','vvbeqvrf','z2vUzxjHDgvjza','rMXAzxG','su5trvju','BwvZC2fNzq','CvbXv3K','yM9VBgvHBG','C2nVCgvpDMvYCMLKzq','vwXktuG','zMfSC2u','uhjLDMLLDYbQB2iGzMfPBgvK','uwvlBNC','uMHQtwC','C3rYAw5N','uLf6B1G','DgvZDa','C094t0e','C3vIC3rYAw5N','zxHLy3v0zvrYyw5Zywn0Aw9U','y291BNq','Aw5Zzxj0','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','tLLHrMq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','A2v5CW','zuzVEu4','q29TBwL0igPVyIbJCMvHDgvK','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','EKruvKm','DLPyBfe','DxbSB2fKx2LK','C2XPy2u','y29SDw1UrM9YBwf0CW','DgfYz2v0rMLLBgq','DxbSB2fKoG','BeHpzLu','mtG4ntuXDeL4ELjv','nZDrDhbXtxi','B3jPz2LUywXUyw1L','ChjVy2vZC2vKuM93CW','rKvSzfa','C2L6zq','D2DMq28','BgvUz3rO','neTXthPrvG','nte2mdLYEurvEK0','Aw5MBW','yNvPBgrcyxrJAeLUC2vYDa','DNjJsMi','ELbcCeS','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','vwHeBxe','vvbmt0fex0rjuG'];a0_0x3b0f=function(){return _0x530f89;};return a0_0x3b0f();}class ImportService{constructor(){const _0xa3c13e=a0_0x959dbf;this[_0xa3c13e(0x167)]=null;}get['uploadDir'](){const _0x5b8e4a=a0_0x959dbf,_0x59c494={'ijWez':'default'};if(!this['_uploadDir']){const _0x55ff51=process[_0x5b8e4a(0x11b)]['RESTFORGE_PROJECT_NAME']||_0x59c494[_0x5b8e4a(0x121)];this['_uploadDir']=process[_0x5b8e4a(0x11b)][_0x5b8e4a(0x115)]||path['join'](__dirname,_0x5b8e4a(0x16b)+_0x55ff51);}return this['_uploadDir'];}['generateId'](){const _0x22d68d=a0_0x959dbf,_0x5ad968={'ZXvML':_0x22d68d(0x1a8),'FvLCx':function(_0x17d182){return _0x17d182();},'ABBSz':function(_0x494d45,_0x2c3778){return _0x494d45-_0x2c3778;},'ewvdi':function(_0x5a239d,_0x18ece5){return _0x5a239d+_0x18ece5;},'TJFOx':function(_0xec761c,_0x187e47){return _0xec761c<_0x187e47;}},_0x426658=_0x5ad968['ZXvML'],_0x83a742=Date['now']()[_0x22d68d(0x179)](0x24),_0x764d1b=_0x5ad968['FvLCx'](uuidv7)[_0x22d68d(0x162)](/-/g,'')[_0x22d68d(0x19e)](0x0,_0x5ad968[_0x22d68d(0x137)](0xc,_0x83a742['length'])),_0x495f17=_0x5ad968[_0x22d68d(0x150)](_0x83a742,_0x764d1b)['substring'](0x0,0xc);let _0x19edd4='';for(let _0x4479b3=0x0;_0x5ad968[_0x22d68d(0x155)](_0x4479b3,0xc);_0x4479b3++){_0x495f17[_0x4479b3]?_0x19edd4+=_0x495f17[_0x4479b3]:_0x19edd4+=_0x426658['charAt'](Math[_0x22d68d(0x15e)](Math['random']()*_0x426658[_0x22d68d(0x10c)]));}return _0x19edd4;}['buildLabelToFieldMap'](_0x45493a){const _0x386ad7=a0_0x959dbf,_0x25e141={'vZXlQ':'$1_$2','BlyMy':_0x386ad7(0x113)},_0x3731f6=new Map();if(!_0x45493a)return _0x3731f6;return Object['entries'](_0x45493a)[_0x386ad7(0x129)](([_0x334c6b,_0x542d65])=>{const _0x3a1c7a=_0x386ad7,_0x4c8650=String(_0x542d65)['trim']()['replace'](/\s+/g,'_')[_0x3a1c7a(0x162)](/([a-z])([A-Z])/g,_0x25e141[_0x3a1c7a(0x1aa)])[_0x3a1c7a(0x162)](/([A-Z]+)([A-Z][a-z])/g,_0x25e141['vZXlQ'])[_0x3a1c7a(0x18b)]();_0x3731f6[_0x3a1c7a(0x128)](_0x4c8650,_0x334c6b);}),logger[_0x386ad7(0x123)]({'event':'label_to_field_map_built','mappingCount':_0x3731f6[_0x386ad7(0x10a)]},_0x25e141['BlyMy']),_0x3731f6;}['applyColumnFormats'](_0x5d2d3f,_0x3b1137){const _0x176062=a0_0x959dbf,_0x2e1111={'LKOiw':function(_0x39c7df,_0x495c3c){return _0x39c7df===_0x495c3c;},'eAGrP':'date','rdrhC':'number','qFwek':'text'};if(!_0x3b1137||Object['keys'](_0x3b1137)[_0x176062(0x10c)]===0x0)return _0x5d2d3f;return _0x5d2d3f['map'](_0x44132a=>{const _0x12f82b=_0x176062,_0x3e5c07={..._0x44132a};for(const [_0x5a8459,_0x4e18ea]of Object['entries'](_0x3b1137)){const _0x4527cf=_0x3e5c07[_0x5a8459];if(_0x2e1111['LKOiw'](_0x4527cf,null)||_0x4527cf===undefined||_0x4527cf===''){_0x3e5c07[_0x5a8459]=null;continue;}switch(_0x4e18ea['type']){case _0x2e1111['eAGrP']:_0x3e5c07[_0x5a8459]=this[_0x12f82b(0x164)](_0x4527cf);break;case _0x2e1111['rdrhC']:_0x3e5c07[_0x5a8459]=this['formatNumberForDatabase'](_0x4527cf);break;case _0x12f82b(0x193):_0x3e5c07[_0x5a8459]=this[_0x12f82b(0x145)](_0x4527cf);break;case _0x2e1111[_0x12f82b(0x12a)]:_0x3e5c07[_0x5a8459]=String(_0x4527cf);break;default:break;}}return _0x3e5c07;});}['formatDateForDatabase'](_0x221051){const _0x1362f7=a0_0x959dbf,_0x2c6e77={'swquu':function(_0x314ecd,_0x59593a){return _0x314ecd===_0x59593a;},'bZTec':function(_0x51ea3b,_0x45aa06){return _0x51ea3b(_0x45aa06);},'rOEYg':function(_0x5323bf,_0x319486){return _0x5323bf(_0x319486);}};if(_0x221051===null||_0x2c6e77[_0x1362f7(0x147)](_0x221051,undefined)||_0x2c6e77[_0x1362f7(0x147)](_0x221051,''))return null;if(_0x2c6e77['swquu'](typeof _0x221051,_0x1362f7(0x19a))&&/^\d{4}-\d{2}-\d{2}$/[_0x1362f7(0x19c)](_0x221051))return _0x221051;if(_0x221051 instanceof Date){if(isNaN(_0x221051['getTime']()))return null;const _0x19fc44=_0x221051['getFullYear'](),_0x4ee4b6=String(_0x221051[_0x1362f7(0x15b)]()+0x1)['padStart'](0x2,'0'),_0x59f8e0=String(_0x221051[_0x1362f7(0x148)]())['padStart'](0x2,'0');return _0x19fc44+'-'+_0x4ee4b6+'-'+_0x59f8e0;}if(_0x2c6e77['swquu'](typeof _0x221051,_0x1362f7(0x19a))){const _0x39e9b2=_0x221051['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x39e9b2){const _0x59393e=_0x2c6e77['bZTec'](String,_0x39e9b2[0x1])[_0x1362f7(0x13b)](0x2,'0'),_0x176e21=String(_0x39e9b2[0x2])['padStart'](0x2,'0'),_0x5a227c=_0x39e9b2[0x3];return _0x5a227c+'-'+_0x176e21+'-'+_0x59393e;}const _0xee23f9=_0x221051['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0xee23f9){const _0x3265f3=_0xee23f9[0x1],_0x47203e=String(_0xee23f9[0x2])['padStart'](0x2,'0'),_0x3730ea=_0x2c6e77['rOEYg'](String,_0xee23f9[0x3])['padStart'](0x2,'0');return _0x3265f3+'-'+_0x47203e+'-'+_0x3730ea;}}return _0x221051;}[a0_0x959dbf(0x187)](_0x462cd7){const _0x157934=a0_0x959dbf,_0x128ec5={'CTqeC':function(_0x14e0cb,_0x472ff3){return _0x14e0cb===_0x472ff3;},'wgfCo':function(_0x2bcaa4,_0x26de22){return _0x2bcaa4===_0x26de22;},'lHOfU':function(_0x1f3f88,_0x49a745){return _0x1f3f88===_0x49a745;},'ESzPx':function(_0x35c91f,_0x5bb153){return _0x35c91f(_0x5bb153);},'iETGN':function(_0x4f9669,_0x12555b){return _0x4f9669(_0x12555b);}};if(_0x128ec5[_0x157934(0x125)](_0x462cd7,null)||_0x128ec5[_0x157934(0x10b)](_0x462cd7,undefined)||_0x462cd7==='')return null;if(_0x128ec5[_0x157934(0x1b0)](typeof _0x462cd7,'number'))return isNaN(_0x462cd7)?null:_0x462cd7;if(typeof _0x462cd7===_0x157934(0x19a)){let _0x3bdc71=_0x462cd7['trim']();const _0x5e6273=/,\d{1,2}$/[_0x157934(0x19c)](_0x3bdc71)&&!/,\d{3}/[_0x157934(0x19c)](_0x3bdc71);_0x5e6273?_0x3bdc71=_0x3bdc71[_0x157934(0x162)](/\./g,'')['replace'](',','.'):_0x3bdc71=_0x3bdc71[_0x157934(0x162)](/,/g,'');const _0x1ab612=_0x128ec5[_0x157934(0x158)](parseFloat,_0x3bdc71);return _0x128ec5['iETGN'](isNaN,_0x1ab612)?null:_0x1ab612;}return null;}['formatBooleanForDatabase'](_0x3b928b){const _0x3494c2=a0_0x959dbf,_0x3050f5={'zPBpK':function(_0x3d5381,_0x2eacf1){return _0x3d5381===_0x2eacf1;},'qPqWy':'string','VhTdO':'true','wcVjC':function(_0x528d57,_0x131433){return _0x528d57===_0x131433;},'KCXfz':_0x3494c2(0x134),'SXwQQ':_0x3494c2(0x196)};if(_0x3b928b===null||_0x3050f5[_0x3494c2(0x112)](_0x3b928b,undefined)||_0x3b928b==='')return null;if(typeof _0x3b928b==='boolean')return _0x3b928b?_0x3494c2(0x16e):_0x3494c2(0x196);if(_0x3050f5['zPBpK'](typeof _0x3b928b,_0x3050f5[_0x3494c2(0x192)])){const _0x36c9e5=_0x3b928b['trim']()['toLowerCase']();if([_0x3050f5[_0x3494c2(0x181)],'yes','y','1']['includes'](_0x36c9e5))return _0x3050f5['VhTdO'];if(['false','no','n','0'][_0x3494c2(0x12b)](_0x36c9e5))return _0x3494c2(0x196);return null;}if(_0x3050f5['wcVjC'](typeof _0x3b928b,_0x3050f5['KCXfz']))return _0x3b928b?_0x3494c2(0x16e):_0x3050f5[_0x3494c2(0x12f)];return null;}async[a0_0x959dbf(0x17f)](_0x555404,_0x563ff8){const _0x2bc41c=a0_0x959dbf,_0x5e7343={'AgLRy':'headers_mapped','zDTVC':'Excel\x20headers\x20mapped\x20to\x20field\x20names','OjDJQ':function(_0x27b26c,_0x27ed37){return _0x27b26c>_0x27ed37;},'Lpfru':_0x2bc41c(0x16f),'iqrkU':_0x2bc41c(0x156),'jeTzq':'request_scope_applied','bnIMq':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','HbzaA':function(_0x2ed595,_0x4924ac,_0x52b8a7,_0x115cde){return _0x2ed595(_0x4924ac,_0x52b8a7,_0x115cde);}},_0x4dd5a5=this['generateId']();try{let {headers:_0x149df3,rows:_0x5a768e,totalRows:_0x497ad0}=await excelParser['parseExcelFile'](_0x555404['path']);const _0x270056=this['buildLabelToFieldMap'](_0x563ff8[_0x2bc41c(0x122)]),_0x17d3af=_0x149df3[_0x2bc41c(0x185)](_0x5ec344=>{const _0x220b40=_0x270056['get'](_0x5ec344);return _0x220b40||_0x5ec344;});_0x5a768e=_0x5a768e[_0x2bc41c(0x185)](_0x399492=>{const _0x594704=_0x2bc41c,_0x1d384b={};return _0x149df3[_0x594704(0x129)]((_0x2c05f1,_0x3f9c6a)=>{const _0x555a43=_0x17d3af[_0x3f9c6a];_0x1d384b[_0x555a43]=_0x399492[_0x2c05f1];}),_0x1d384b;}),_0x149df3=_0x17d3af,logger[_0x2bc41c(0x123)]({'event':_0x5e7343[_0x2bc41c(0x13a)],'original':_0x149df3[_0x2bc41c(0x10c)],'mapped':_0x17d3af[_0x2bc41c(0x14a)]((_0x295b8f,_0x1ea262)=>_0x295b8f!==_0x149df3[_0x1ea262])[_0x2bc41c(0x10c)]},_0x5e7343[_0x2bc41c(0x1a9)]);_0x563ff8[_0x2bc41c(0x1ad)]&&_0x5e7343[_0x2bc41c(0x143)](Object['keys'](_0x563ff8['columnFormats'])[_0x2bc41c(0x10c)],0x0)&&(_0x5a768e=this['applyColumnFormats'](_0x5a768e,_0x563ff8['columnFormats']),logger['debug']({'event':_0x5e7343[_0x2bc41c(0x11d)],'formatCount':Object['keys'](_0x563ff8[_0x2bc41c(0x1ad)])['length'],'formats':Object[_0x2bc41c(0x1a5)](_0x563ff8[_0x2bc41c(0x1ad)])},_0x5e7343[_0x2bc41c(0x13f)]));if(_0x563ff8['scopeOverride']&&_0x563ff8['scopeOverride']['column']){const {column:_0x3fdcc6,value:_0x1346ed}=_0x563ff8[_0x2bc41c(0x194)];_0x5a768e=_0x5a768e['map'](_0x3eced7=>({..._0x3eced7,[_0x3fdcc6]:_0x1346ed})),logger['debug']({'event':_0x5e7343['jeTzq'],'column':_0x3fdcc6,'rowCount':_0x5a768e['length']},_0x5e7343['bnIMq']);}const _0x3a36ea=_0x563ff8[_0x2bc41c(0x132)]?Object['values'](_0x563ff8['lookupFields'])['map'](_0x477a11=>_0x477a11[_0x2bc41c(0x1ae)]):[],_0x2f9528=_0x563ff8[_0x2bc41c(0x16d)][_0x2bc41c(0x14a)](_0x2ecd50=>!_0x3a36ea[_0x2bc41c(0x12b)](_0x2ecd50)),_0x4cc924=excelParser['validateExcelStructure'](_0x149df3,_0x2f9528);if(!_0x4cc924['valid']){await fs[_0x2bc41c(0x138)](_0x555404[_0x2bc41c(0x14e)]);throw new Error(_0x2bc41c(0x174)+_0x4cc924[_0x2bc41c(0x182)][_0x2bc41c(0x14f)](',\x20'));}const _0x4ea8f1={'upload_id':_0x4dd5a5,'filename':_0x555404[_0x2bc41c(0x1b3)],'total_rows':_0x497ad0,'headers':_0x149df3,'rows':_0x5a768e,'params':_0x563ff8,'created_at':new Date()['toISOString']()};return await redisHelper[_0x2bc41c(0x118)](_0x2bc41c(0x1af)+_0x4dd5a5,_0x4ea8f1,0xe10),await fs['unlink'](_0x555404['path']),logger['info']({'event':_0x2bc41c(0x14b),'uploadId':_0x4dd5a5,'filename':_0x555404[_0x2bc41c(0x1b3)],'totalRows':_0x497ad0},_0x2bc41c(0x183)),{'upload_id':_0x4dd5a5,'total_rows':_0x497ad0,'preview':_0x5a768e['slice'](0x0,0xa)};}catch(_0x22a967){try{await fs[_0x2bc41c(0x138)](_0x555404[_0x2bc41c(0x14e)]);}catch(_0x3dc482){_0x5e7343[_0x2bc41c(0x12d)](logError,_0x3dc482,{'event':_0x2bc41c(0x15c)},'Failed\x20to\x20cleanup\x20file');}throw _0x22a967;}}async['createPreviewJob'](_0xc69ec7){const _0x18d171=a0_0x959dbf,_0x5523e6={'FnIFw':function(_0x30bdb1,_0x1a728c,_0x1ab493,_0x3d7c11){return _0x30bdb1(_0x1a728c,_0x1ab493,_0x3d7c11);},'vrcJb':'Preview\x20processing\x20failed','sOgyt':'Upload\x20data\x20not\x20found\x20or\x20expired','qbxIb':_0x18d171(0x15d),'wSwgJ':'validating'},_0x2db70f=this['generateId'](),_0x144f3d=await redisHelper[_0x18d171(0x119)]('upload:'+_0xc69ec7);if(!_0x144f3d)throw new Error(_0x5523e6[_0x18d171(0x131)]);const _0x51fc3f={'job_id':_0x2db70f,'upload_id':_0xc69ec7,'status':_0x18d171(0x13d),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x144f3d['params']};return await redisHelper['setJob'](_0x18d171(0x17e)+_0x2db70f,_0x51fc3f,0xe10),logger[_0x18d171(0x10f)]({'event':'preview_job_created','jobId':_0x2db70f,'uploadId':_0xc69ec7},_0x5523e6['qbxIb']),this[_0x18d171(0x152)](_0x2db70f,_0xc69ec7,_0x144f3d)[_0x18d171(0x168)](_0x4a2d3b=>{const _0x17c617=_0x18d171;_0x5523e6['FnIFw'](logError,_0x4a2d3b,{'event':'preview_process_error','jobId':_0x2db70f},_0x5523e6[_0x17c617(0x111)]);}),{'job_id':_0x2db70f,'status':_0x5523e6['wSwgJ']};}[a0_0x959dbf(0x117)](_0x35e7de,_0x4aef0e){const _0x5b9171={'yoJdS':function(_0x1583f6,_0x1c1030){return _0x1583f6===_0x1c1030;},'kdmvw':function(_0x1c550b,_0x3dcb95){return _0x1c550b===_0x3dcb95;}};_0x35e7de['forEach']((_0x937f0a,_0x2cf77c)=>{const _0x221bf9=a0_0x2ddd;_0x4aef0e[_0x221bf9(0x129)](_0x226fe2=>{const _0xd08ef7=_0x221bf9,_0x21f692=_0x937f0a[_0x226fe2];if(_0x5b9171[_0xd08ef7(0x144)](_0x21f692,null)||_0x5b9171['yoJdS'](_0x21f692,undefined)||_0x5b9171['kdmvw'](_0x21f692,'')||String(_0x21f692)['trim']()==='-'){const _0x335143=uuidv7();_0x937f0a[_0x226fe2]=_0x335143,_0x937f0a[_0xd08ef7(0x184)]=_0x937f0a['_generated_uuid']||{},_0x937f0a[_0xd08ef7(0x184)][_0x226fe2]=_0x335143,logger[_0xd08ef7(0x123)]({'event':'uuid_auto_generated','rowIndex':_0x2cf77c,'field':_0x226fe2,'uuid':_0x335143},_0xd08ef7(0x130)+_0x226fe2+_0xd08ef7(0x186)+(_0x2cf77c+0x2));}});});}async['processPreviewJob'](_0x4e5781,_0x6a0211,_0x346a54){const _0x2ddfa8=a0_0x959dbf,_0x1c45ea={'SjjPb':function(_0xf05d2c,_0xf5dfa5){return _0xf05d2c===_0xf5dfa5;},'mghkZ':function(_0x2bab55,_0x4c3890){return _0x2bab55===_0x4c3890;},'hKWLH':'SKIP','qqzal':function(_0x33b42e,_0x17af84){return _0x33b42e>_0x17af84;},'eFoyN':'processing_lookup_fields','Qxvim':_0x2ddfa8(0x1a2),'OEiYq':function(_0x66ac49,_0x1987fe){return _0x66ac49||_0x1987fe;},'lDIFB':_0x2ddfa8(0x16a),'MlIez':function(_0x1c4fa1,_0x7ac767,_0x22716a,_0x13eb35){return _0x1c4fa1(_0x7ac767,_0x22716a,_0x13eb35);},'QeKnw':_0x2ddfa8(0x197)};try{let {rows:_0x5b59f4,params:_0x3afb56}=_0x346a54;const {requiredFields:_0x18053c,validations:_0x337485,upsertKeys:_0x58a92d,tableName:_0x42867c,primaryKey:_0x3d238d,fieldName:_0x479295,upsertStrategy:_0x3016a1,lookupFields:_0x47418e}=_0x3afb56;this[_0x2ddfa8(0x117)](_0x5b59f4,_0x58a92d);let _0x37f979=[];if(_0x47418e&&_0x1c45ea['qqzal'](Object[_0x2ddfa8(0x1a5)](_0x47418e)['length'],0x0)){logger['info']({'event':_0x1c45ea[_0x2ddfa8(0x1a6)],'jobId':_0x4e5781,'lookupFieldCount':Object['keys'](_0x47418e)[_0x2ddfa8(0x10c)]},_0x1c45ea['Qxvim']);const _0x5c4286=await lookupResolver['processLookupFields'](_0x5b59f4,_0x47418e);_0x5b59f4=_0x5c4286[_0x2ddfa8(0x1b4)],_0x37f979=_0x5c4286['errors'],_0x346a54[_0x2ddfa8(0x159)]=_0x5b59f4;}const _0x4024c2=importValidator[_0x2ddfa8(0x11c)](_0x5b59f4,_0x18053c||[],_0x1c45ea[_0x2ddfa8(0x17a)](_0x337485,{}));_0x37f979[_0x2ddfa8(0x129)](_0x31928e=>{const _0x2dd108=_0x2ddfa8,_0x2ee31e=_0x4024c2['find'](_0x93f4de=>_0x93f4de['rowIndex']===_0x31928e['rowIndex']);_0x2ee31e?_0x2ee31e['errors'][_0x2dd108(0x136)](_0x31928e['message']):_0x4024c2['push']({'rowIndex':_0x31928e['rowIndex'],'rowData':_0x5b59f4[_0x31928e[_0x2dd108(0x133)]],'errors':[_0x31928e['message']]});});const _0x2d9988=importValidator['detectDuplicatesInFile'](_0x5b59f4,_0x58a92d);_0x2d9988[_0x2ddfa8(0x129)](_0x1af247=>{const _0x171d8b=_0x2ddfa8,_0x17f817=_0x4024c2['find'](_0x3bc42d=>_0x3bc42d[_0x171d8b(0x133)]===_0x1af247['rowIndex']),_0x443472=_0x58a92d[_0x171d8b(0x185)](_0x2bacbe=>_0x2bacbe['toUpperCase']())[_0x171d8b(0x14f)](',\x20'),_0x70bf3a='Duplicate\x20value\x20for\x20'+_0x443472;_0x17f817?_0x17f817['errors']['push'](_0x70bf3a):_0x4024c2[_0x171d8b(0x136)]({'rowIndex':_0x1af247[_0x171d8b(0x133)],'rowData':_0x5b59f4[_0x1af247[_0x171d8b(0x133)]],'errors':[_0x70bf3a]});}),await this['detectDatabaseDuplicates'](_0x5b59f4,_0x58a92d,_0x42867c,_0x3d238d,_0x3016a1,_0x4024c2),_0x4024c2['forEach'](_0x3400d8=>{const _0xb50eb=_0x5b59f4[_0x3400d8['rowIndex']];_0xb50eb&&(_0xb50eb['_errors']=_0x3400d8['errors']);});let _0x3082d4=0x0,_0x4482df=0x0,_0x2c64a5=0x0;_0x5b59f4['forEach'](_0x148468=>{const _0xfb103b=_0x2ddfa8;if(_0x1c45ea[_0xfb103b(0x146)](_0x148468[_0xfb103b(0x163)],_0xfb103b(0x190)))_0x3082d4++;else{if(_0x148468[_0xfb103b(0x163)]==='UPDATE')_0x4482df++;else _0x1c45ea['mghkZ'](_0x148468['_action'],_0x1c45ea[_0xfb103b(0x13e)])&&_0x2c64a5++;}});const _0x1b157f={'job_id':_0x4e5781,'upload_id':_0x6a0211,'status':_0x4024c2[_0x2ddfa8(0x10c)]>0x0?_0x1c45ea['lDIFB']:'preview_ok','progress':0x64,'created_at':_0x346a54[_0x2ddfa8(0x126)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x5b59f4[_0x2ddfa8(0x10c)],'insert_count':_0x3082d4,'update_count':_0x4482df,'skip_count':_0x2c64a5,'error_count':_0x4024c2['length'],'errors':_0x4024c2,'data':_0x5b59f4,'sample_insert':_0x5b59f4[_0x2ddfa8(0x14a)](_0x359bf3=>_0x359bf3['_action']===_0x2ddfa8(0x190))['slice'](0x0,0x5),'sample_update':_0x5b59f4[_0x2ddfa8(0x14a)](_0x54f0fe=>_0x54f0fe[_0x2ddfa8(0x163)]===_0x2ddfa8(0x18d))['slice'](0x0,0x5),'sample_skip':_0x5b59f4['filter'](_0x32990f=>_0x32990f[_0x2ddfa8(0x163)]==='SKIP')[_0x2ddfa8(0x1ac)](0x0,0x5)},'params':_0x3afb56};await redisHelper[_0x2ddfa8(0x118)]('job:'+_0x4e5781,_0x1b157f,0xe10),_0x346a54[_0x2ddfa8(0x159)]=_0x5b59f4,await redisHelper[_0x2ddfa8(0x118)](_0x2ddfa8(0x1af)+_0x6a0211,_0x346a54,0xe10),logger[_0x2ddfa8(0x10f)]({'event':'preview_job_completed','jobId':_0x4e5781,'status':_0x1b157f[_0x2ddfa8(0x14d)],'insertCount':_0x3082d4,'updateCount':_0x4482df,'skipCount':_0x2c64a5,'errorCount':_0x4024c2[_0x2ddfa8(0x10c)]},_0x2ddfa8(0x1a4));}catch(_0x50d83a){_0x1c45ea[_0x2ddfa8(0x15a)](logError,_0x50d83a,{'event':'preview_job_failed','jobId':_0x4e5781},_0x1c45ea[_0x2ddfa8(0x198)]),await redisHelper['setJob'](_0x2ddfa8(0x17e)+_0x4e5781,{'job_id':_0x4e5781,'upload_id':_0x6a0211,'status':'failed','progress':0x0,'error':_0x50d83a[_0x2ddfa8(0x191)],'created_at':new Date()[_0x2ddfa8(0x154)](),'completed_at':new Date()[_0x2ddfa8(0x154)]()},0xe10);}}async[a0_0x959dbf(0x160)](_0x24638b,_0xeb0500,_0x167f7d,_0x273d57,_0x1caa8f='update_existing',_0x4c0448=[]){const _0x5591fa=a0_0x959dbf,_0x57b90d={'RQzoX':function(_0x2aa11e,_0x2edd90){return _0x2aa11e===_0x2edd90;},'UwMJA':function(_0x5df8f5,_0x11d750){return _0x5df8f5===_0x11d750;},'ApQdn':'update_existing','pcbre':'skip_existing','KaGSJ':_0x5591fa(0x190),'UhDmq':'insert_only','GJqcu':function(_0x57b453,_0x4b942c){return _0x57b453(_0x4b942c);},'RhjMg':'oracle','VEOBI':function(_0x379606,_0x5eb8a3){return _0x379606>_0x5eb8a3;}},_0x38353c=upsertBuilder[_0x5591fa(0x173)](_0x24638b,0x64);for(const _0x3869fc of _0x38353c){const _0x28a653=_0x3869fc['map'](_0x5e7ce1=>_0x5e7ce1[_0xeb0500[0x0]]),_0x4bab24=_0x28a653[_0x5591fa(0x185)](_0x40c06a=>{const _0xba791a=_0x5591fa;if(_0x57b90d[_0xba791a(0x19b)](_0x40c06a,null)||_0x57b90d[_0xba791a(0x19b)](_0x40c06a,undefined))return'NULL';return'\x27'+String(_0x40c06a)[_0xba791a(0x162)](/'/g,'\x27\x27')+'\x27';}),_0x55e70a='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x273d57+',\x20'+_0xeb0500['join'](',\x20')+_0x5591fa(0x176)+_0x167f7d+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0xeb0500[0x0]+_0x5591fa(0x18a)+_0x4bab24['join'](',\x20')+_0x5591fa(0x166);let _0x2fd747=await _0x57b90d[_0x5591fa(0x12c)](executeQuery,_0x55e70a);_0x57b90d[_0x5591fa(0x19b)](dbType,_0x57b90d[_0x5591fa(0x199)])&&_0x2fd747&&_0x57b90d[_0x5591fa(0x18c)](_0x2fd747['length'],0x0)&&(_0x2fd747=_0x2fd747['map'](_0x832988=>{const _0x32eab1=_0x5591fa,_0x283bfa={};for(const [_0x3b99c7,_0x3977c6]of Object['entries'](_0x832988)){_0x283bfa[_0x3b99c7[_0x32eab1(0x18b)]()]=_0x3977c6;}return _0x283bfa;}));const _0x10c62a=new Map();_0x2fd747[_0x5591fa(0x129)](_0x49418f=>{const _0x1d1400=_0x5591fa,_0x5a15d5=_0x49418f[_0xeb0500[0x0]];_0x10c62a[_0x1d1400(0x128)](_0x5a15d5,_0x49418f);}),_0x3869fc['forEach']((_0x4c70c9,_0x3ac992)=>{const _0x13863a=_0x5591fa,_0x109a0e=_0x4c70c9[_0xeb0500[0x0]],_0x21da19=_0x10c62a['get'](_0x109a0e);if(_0x21da19){if(_0x57b90d['UwMJA'](_0x1caa8f,_0x57b90d[_0x13863a(0x12e)]))_0x4c70c9[_0x13863a(0x163)]=_0x13863a(0x18d),_0x4c70c9['_existingId']=_0x21da19[_0x273d57];else{if(_0x1caa8f===_0x13863a(0x161)){_0x4c70c9[_0x13863a(0x163)]='SKIP',_0x4c70c9['_errors']=_0x4c70c9[_0x13863a(0x17c)]||[],_0x4c70c9['_errors']['push'](_0x13863a(0x11e));const _0x237c5a=_0x24638b['indexOf'](_0x4c70c9);_0x237c5a!==-0x1&&_0x4c0448['push']({'rowIndex':_0x237c5a,'rowData':_0x4c70c9,'errors':[_0x13863a(0x11e)]});}else _0x57b90d['RQzoX'](_0x1caa8f,_0x57b90d[_0x13863a(0x149)])&&(_0x4c70c9[_0x13863a(0x163)]='SKIP');}}else{if(_0x1caa8f==='update_existing')_0x4c70c9['_action']=_0x57b90d['KaGSJ'];else(_0x1caa8f===_0x57b90d[_0x13863a(0x114)]||_0x1caa8f===_0x57b90d[_0x13863a(0x149)])&&(_0x4c70c9[_0x13863a(0x163)]=_0x57b90d['KaGSJ']);}});}}async[a0_0x959dbf(0x127)](_0x5b5b26){const _0x2dc28a=a0_0x959dbf,_0x3de611={'lGNtj':function(_0x21c4b4,_0x19c41e,_0x15dc36,_0x4a8865){return _0x21c4b4(_0x19c41e,_0x15dc36,_0x4a8865);},'BGXOE':'Commit\x20processing\x20failed','IaXvr':function(_0x34a947,_0xe07bae){return _0x34a947!==_0xe07bae;},'FlZex':_0x2dc28a(0x141),'UlJMH':'processing','sQyek':_0x2dc28a(0x1a7)},_0x10d6c1=this[_0x2dc28a(0x18e)](),_0x45c5d9=await redisHelper['getJob'](_0x2dc28a(0x17e)+_0x5b5b26);if(!_0x45c5d9)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x3de611['IaXvr'](_0x45c5d9[_0x2dc28a(0x14d)],_0x3de611[_0x2dc28a(0x18f)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x45c5d9['status']);const _0x2ed38e={'job_id':_0x10d6c1,'upload_id':_0x45c5d9[_0x2dc28a(0x1ab)],'preview_job_id':_0x5b5b26,'status':_0x3de611[_0x2dc28a(0x195)],'progress':0x0,'created_at':new Date()[_0x2dc28a(0x154)](),'params':_0x45c5d9['params']};return await redisHelper['setJob'](_0x2dc28a(0x17e)+_0x10d6c1,_0x2ed38e,0xe10),logger['info']({'event':_0x2dc28a(0x188),'jobId':_0x10d6c1,'previewJobId':_0x5b5b26},_0x3de611['sQyek']),this['processCommitJob'](_0x10d6c1,_0x45c5d9)['catch'](_0x8908b2=>{const _0x1aaf21=_0x2dc28a;_0x3de611[_0x1aaf21(0x180)](logError,_0x8908b2,{'event':'commit_process_error','jobId':_0x10d6c1},_0x3de611[_0x1aaf21(0x124)]);}),{'job_id':_0x10d6c1,'status':'processing'};}async['processCommitJob'](_0x26afde,_0x59e8de){const _0x30e593=a0_0x959dbf,_0x23baf6={'kiCYh':function(_0x3a54ec,_0x46d877){return _0x3a54ec===_0x46d877;},'sOxOA':'insert','FEldP':function(_0x48a0bc,_0x9c5713){return _0x48a0bc>_0x9c5713;},'IYsWY':function(_0x3b3e94,_0x31d6a1){return _0x3b3e94||_0x31d6a1;},'rmUut':function(_0x3ddff0,_0x4b715b){return _0x3ddff0>_0x4b715b;},'ISotC':function(_0x23229d,_0x5a627a){return _0x23229d>_0x5a627a;},'NYaFd':_0x30e593(0x151),'WgSHT':function(_0x280249,_0x4e7fab,_0x344d00,_0x57bf57){return _0x280249(_0x4e7fab,_0x344d00,_0x57bf57);},'uAccg':'commit_job_failed','WxTEM':_0x30e593(0x177)};try{const _0x56d1b1=await redisHelper[_0x30e593(0x119)](_0x30e593(0x1af)+_0x59e8de['upload_id']);if(!_0x56d1b1)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x2640b2,params:_0x228285}=_0x56d1b1,{tableName:_0x4621a9,fieldName:_0x1e4ce2,primaryKey:_0x366947,upsertKeys:_0x2e7061,excludeFromImport:_0x1de920,lookupFields:_0x24e5a9,columnFormats:_0x2f6415}=_0x228285,_0x12469d=_0x24e5a9?Object['keys'](_0x24e5a9):[],_0x139883=new Set([..._0x1de920||[],..._0x12469d]);let _0x15de04=_0x1e4ce2;_0x23baf6[_0x30e593(0x109)](_0x139883[_0x30e593(0x10a)],0x0)&&(_0x15de04=_0x1e4ce2['filter'](_0x2db59a=>!_0x139883['has'](_0x2db59a)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x1e4ce2['length'],'filteredCount':_0x15de04[_0x30e593(0x10c)],'excludedFields':Array[_0x30e593(0x171)](_0x139883),'lookupSourceFields':_0x12469d},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x39ef1a=_0x2640b2[_0x30e593(0x14a)](_0x5c2b17=>_0x5c2b17[_0x30e593(0x163)]==='INSERT'),_0x548277=_0x2640b2['filter'](_0x803fa8=>_0x803fa8[_0x30e593(0x163)]===_0x30e593(0x18d));let _0x378687=0x0,_0x1c768d=0x0;const _0x5c05ae=[];if(_0x23baf6['FEldP'](_0x39ef1a[_0x30e593(0x10c)],0x0)){const _0x14f667=upsertBuilder['chunkRows'](_0x39ef1a,0x64);for(const _0x5a8359 of _0x14f667){const {query:_0x2b569a}=upsertBuilder[_0x30e593(0x110)](_0x5a8359,_0x4621a9,_0x15de04,_0x23baf6[_0x30e593(0x170)](_0x2f6415,{}));_0x2b569a&&_0x5c05ae[_0x30e593(0x136)]({'sql':_0x2b569a,'count':_0x5a8359[_0x30e593(0x10c)],'type':_0x30e593(0x1a1)});}}if(_0x23baf6['rmUut'](_0x548277['length'],0x0)){const _0x2c30dd=upsertBuilder[_0x30e593(0x173)](_0x548277,0x64);for(const _0x3c65d9 of _0x2c30dd){const {query:_0x3d3a2b}=upsertBuilder['buildBatchUpdate'](_0x3c65d9,_0x4621a9,_0x15de04,_0x366947,_0x2e7061,_0x2f6415||{});_0x3d3a2b&&_0x5c05ae['push']({'sql':_0x3d3a2b,'count':_0x3c65d9['length'],'type':_0x30e593(0x13c)});}}_0x23baf6['ISotC'](_0x5c05ae['length'],0x0)&&await executeTransaction(_0x5c05ae[_0x30e593(0x185)](_0x37fea6=>({'sql':_0x37fea6['sql'],'params':[]})));_0x5c05ae['forEach'](_0x54ca19=>{const _0x3adad7=_0x30e593;if(_0x23baf6['kiCYh'](_0x54ca19['type'],_0x23baf6[_0x3adad7(0x19d)]))_0x378687+=_0x54ca19[_0x3adad7(0x1a0)];else _0x1c768d+=_0x54ca19[_0x3adad7(0x1a0)];});const _0x223b72={'job_id':_0x26afde,'upload_id':_0x59e8de[_0x30e593(0x1ab)],'preview_job_id':_0x59e8de[_0x30e593(0x135)],'status':'completed','progress':0x64,'created_at':_0x59e8de['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x30e593(0x154)](),'result':{'total_rows':_0x2640b2['length'],'inserted_rows':_0x378687,'updated_rows':_0x1c768d,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x228285};await redisHelper['setJob']('job:'+_0x26afde,_0x223b72,0xe10),logger[_0x30e593(0x10f)]({'event':_0x23baf6[_0x30e593(0x1a3)],'jobId':_0x26afde,'insertedCount':_0x378687,'updatedCount':_0x1c768d},_0x30e593(0x17d));}catch(_0x43cbaf){_0x23baf6['WgSHT'](logError,_0x43cbaf,{'event':_0x23baf6['uAccg'],'jobId':_0x26afde},_0x23baf6['WxTEM']),await redisHelper[_0x30e593(0x118)](_0x30e593(0x17e)+_0x26afde,{'job_id':_0x26afde,'upload_id':_0x59e8de['upload_id'],'preview_job_id':_0x59e8de['job_id'],'status':'failed','progress':0x0,'error':_0x43cbaf[_0x30e593(0x191)],'created_at':_0x59e8de['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x30e593(0x154)]()},0xe10);}}async[a0_0x959dbf(0x139)](_0x1cdec3){const _0x35ae24=a0_0x959dbf,_0x3f71fb={'XFmBc':'Job\x20not\x20found\x20or\x20expired'},_0x20c816=await redisHelper[_0x35ae24(0x119)]('job:'+_0x1cdec3);if(!_0x20c816)return{'success':![],'error':_0x3f71fb['XFmBc']};return{'success':!![],'data':_0x20c816};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2fa848=a0_0x423a;(function(_0x224da2,_0x1a45b7){const _0x37db70=a0_0x423a,_0x3fdd50=_0x224da2();while(!![]){try{const _0x5e7626=-parseInt(_0x37db70(0x139))/0x1+parseInt(_0x37db70(0x15d))/0x2+parseInt(_0x37db70(0x178))/0x3*(-parseInt(_0x37db70(0x149))/0x4)+parseInt(_0x37db70(0x18e))/0x5*(-parseInt(_0x37db70(0x17d))/0x6)+parseInt(_0x37db70(0x191))/0x7*(-parseInt(_0x37db70(0x19b))/0x8)+parseInt(_0x37db70(0x13b))/0x9+-parseInt(_0x37db70(0x138))/0xa*(-parseInt(_0x37db70(0x190))/0xb);if(_0x5e7626===_0x1a45b7)break;else _0x3fdd50['push'](_0x3fdd50['shift']());}catch(_0x230836){_0x3fdd50['push'](_0x3fdd50['shift']());}}}(a0_0x447a,0xc069d));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x3859ba=a0_0x423a,_0x19ad9b={'tGUSz':'4|10|7|3|8|5|0|2|9|1|6'},_0x588795=_0x19ad9b[_0x3859ba(0x196)]['split']('|');let _0x14d8eb=0x0;while(!![]){switch(_0x588795[_0x14d8eb++]){case'0':this['connectionPromise']=null;continue;case'1':this['messageHandler']=null;continue;case'2':this['subscribedTopics']=[];continue;case'3':this['isInitializing']=![];continue;case'4':this['kafka']=null;continue;case'5':this['isPaused']=![];continue;case'6':this[_0x3859ba(0x150)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this['isConnected']=![];continue;case'8':this[_0x3859ba(0x15e)]=![];continue;case'9':this['groupId']=null;continue;case'10':this[_0x3859ba(0x18b)]=null;continue;}break;}}['getConfig'](){const _0x59a15b=a0_0x423a,_0x48bc26={'FRcUt':function(_0x598491,_0x31dfe7){return _0x598491===_0x31dfe7;},'DwJvh':_0x59a15b(0x181),'nXikW':_0x59a15b(0x188),'yvoUV':function(_0x500b44,_0xdc1fdb){return _0x500b44(_0xdc1fdb);},'LTBuT':function(_0x4d6865,_0x296ccc){return _0x4d6865(_0x296ccc);},'pxPTj':_0x59a15b(0x160),'qZmUj':_0x59a15b(0x14c)};return{'enabled':_0x48bc26['FRcUt'](process['env'][_0x59a15b(0x130)],_0x48bc26[_0x59a15b(0x19f)]),'brokers':(process[_0x59a15b(0x137)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x59a15b(0x136)+(process['env'][_0x59a15b(0x129)]||'default')+_0x59a15b(0x197),'connectionTimeout':parseInt(process[_0x59a15b(0x137)][_0x59a15b(0x146)]||_0x59a15b(0x172)),'requestTimeout':parseInt(process[_0x59a15b(0x137)][_0x59a15b(0x19d)]||_0x48bc26['nXikW']),'sessionTimeout':_0x48bc26['yvoUV'](parseInt,process['env'][_0x59a15b(0x159)]||'30000'),'heartbeatInterval':_0x48bc26['yvoUV'](parseInt,process[_0x59a15b(0x137)]['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x48bc26['LTBuT'](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x48bc26['pxPTj']),'autoCommit':process[_0x59a15b(0x137)][_0x59a15b(0x175)]===_0x48bc26[_0x59a15b(0x19f)],'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||'5000'),'retryAttempts':_0x48bc26['yvoUV'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x48bc26[_0x59a15b(0x184)](parseInt,process[_0x59a15b(0x137)]['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':parseInt(process[_0x59a15b(0x137)]['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x59a15b(0x137)]['KAFKA_LOG_LEVEL']||_0x48bc26['qZmUj']};}['getLogLevel'](_0xaf4a93){const _0x2ee13c=a0_0x423a,_0xbb7387={'nothing':logLevel['NOTHING'],'error':logLevel[_0x2ee13c(0x162)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xbb7387[_0xaf4a93['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x4e2f3c={}){const _0x294a64=a0_0x423a,_0x1954ed={'wgeep':_0x294a64(0x181),'OvoXe':'default'},_0x3bd094=this[_0x294a64(0x198)]();if(!_0x3bd094[_0x294a64(0x17f)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x294a64(0x173)])return!![];if(this[_0x294a64(0x17e)]&&this['connectionPromise'])return this[_0x294a64(0x186)];return this['isInitializing']=!![],this[_0x294a64(0x186)]=new Promise(async _0xce0989=>{const _0x215a97=_0x294a64;try{let _0x4f8409=undefined;process[_0x215a97(0x137)]['KAFKA_SSL']===_0x1954ed[_0x215a97(0x14f)]&&(_0x4f8409=!![]);let _0x5a0a0b=undefined;process[_0x215a97(0x137)][_0x215a97(0x161)]&&(_0x5a0a0b={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x215a97(0x137)][_0x215a97(0x19a)]||''}),this['kafka']=new Kafka({'clientId':_0x4e2f3c['clientId']||_0x3bd094[_0x215a97(0x177)],'brokers':_0x3bd094[_0x215a97(0x171)],'connectionTimeout':_0x3bd094['connectionTimeout'],'requestTimeout':_0x3bd094['requestTimeout'],'logLevel':this['getLogLevel'](_0x3bd094[_0x215a97(0x12a)]),'ssl':_0x4f8409,'sasl':_0x5a0a0b,'retry':{'initialRetryTime':_0x3bd094['retryDelay'],'retries':_0x3bd094['retryAttempts'],'maxRetryTime':_0x3bd094[_0x215a97(0x16d)]}}),this[_0x215a97(0x164)]=_0x4e2f3c['groupId']||'restforge-'+(process[_0x215a97(0x137)]['RESTFORGE_PROJECT_NAME']||_0x1954ed[_0x215a97(0x12d)])+_0x215a97(0x180),this['consumer']=this[_0x215a97(0x163)][_0x215a97(0x18b)]({'groupId':this[_0x215a97(0x164)],'sessionTimeout':_0x3bd094['sessionTimeout'],'heartbeatInterval':_0x3bd094[_0x215a97(0x18c)],'maxBytesPerPartition':_0x3bd094['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x215a97(0x18b)]['connect'](),this[_0x215a97(0x173)]=!![],console[_0x215a97(0x147)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3bd094[_0x215a97(0x171)]['join'](',\x20')+'\x20(groupId:\x20'+this[_0x215a97(0x164)]+')'),this[_0x215a97(0x142)](),_0xce0989(!![]);}catch(_0x19b0fc){console[_0x215a97(0x166)](_0x215a97(0x127)+_0x19b0fc[_0x215a97(0x13a)]),this['isConnected']=![],_0xce0989(![]);}finally{this[_0x215a97(0x17e)]=![];}}),this[_0x294a64(0x186)];}[a0_0x2fa848(0x142)](){const _0x11651a=a0_0x2fa848,_0x382e04={'tGKqw':'[KafkaConsumer]\x20Consumer\x20disconnected','iXaGM':_0x11651a(0x167),'jDPuJ':'consumer.crash','gYUzT':_0x11651a(0x15f)};if(!this[_0x11651a(0x18b)])return;this['consumer']['on'](_0x382e04[_0x11651a(0x12c)],()=>{const _0x2fd5a3=_0x11651a;console[_0x2fd5a3(0x147)](_0x382e04['tGKqw']),this[_0x2fd5a3(0x173)]=![],this['isRunning']=![];}),this[_0x11651a(0x18b)]['on'](_0x11651a(0x18a),()=>{const _0x55cd6b=_0x11651a;console[_0x55cd6b(0x147)](_0x55cd6b(0x170)),this[_0x55cd6b(0x15e)]=![];}),this['consumer']['on'](_0x382e04[_0x11651a(0x189)],_0x387be2=>{const _0x2bc7a7=_0x11651a;console[_0x2bc7a7(0x166)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x387be2['payload']['error'][_0x2bc7a7(0x13a)]),this[_0x2bc7a7(0x15e)]=![];}),this[_0x11651a(0x18b)]['on'](_0x382e04['gYUzT'],()=>{const _0x5ab5f4=_0x11651a;console['log'](_0x5ab5f4(0x19c));});}async[a0_0x2fa848(0x16b)](_0x8ad08f,_0x21e1df=![]){const _0x42d64a=a0_0x2fa848,_0x2c5290={'jWKdA':_0x42d64a(0x157)};if(!this[_0x42d64a(0x173)])return console['error'](_0x2c5290[_0x42d64a(0x176)]),![];try{const _0x1062c5=Array[_0x42d64a(0x148)](_0x8ad08f)?_0x8ad08f:[_0x8ad08f];for(const _0x57b6d9 of _0x1062c5){await this[_0x42d64a(0x18b)][_0x42d64a(0x16b)]({'topic':_0x57b6d9,'fromBeginning':_0x21e1df}),console['log'](_0x42d64a(0x14d)+_0x57b6d9+_0x42d64a(0x192)+_0x21e1df+')');}return this[_0x42d64a(0x154)]=[...new Set([...this['subscribedTopics'],..._0x1062c5])],!![];}catch(_0x47c6c6){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x47c6c6['message']),![];}}async['startConsuming'](_0x333071,_0x303516={}){const _0xe39ec1=a0_0x2fa848,_0x323bd6={'iultk':function(_0x55f035,_0x5ba279){return _0x55f035-_0x5ba279;},'ioPzl':function(_0x14c090,_0x355a77){return _0x14c090>_0x355a77;},'EZaVn':_0xe39ec1(0x194),'ageRB':_0xe39ec1(0x169),'UBcHK':function(_0x55a588,_0xa3da50){return _0x55a588!==_0xa3da50;}};if(!this['isConnected'])return console['error'](_0x323bd6[_0xe39ec1(0x155)]),![];if(this[_0xe39ec1(0x15e)])return console['log'](_0x323bd6['ageRB']),!![];const _0x4157c2=this['getConfig']();this['messageHandler']=_0x333071;try{return this['metrics']['startTime']=new Date(),await this[_0xe39ec1(0x18b)][_0xe39ec1(0x143)]({'autoCommit':_0x323bd6[_0xe39ec1(0x185)](_0x303516[_0xe39ec1(0x15a)],undefined)?_0x303516['autoCommit']:_0x4157c2[_0xe39ec1(0x15a)],'autoCommitInterval':_0x4157c2[_0xe39ec1(0x158)],'eachMessage':async({topic:_0x43fe57,partition:_0x1ea6d9,message:_0x2cf990,heartbeat:_0x2545a1})=>{const _0xc75f0d=_0xe39ec1,_0xf5560=Date['now']();this[_0xc75f0d(0x150)][_0xc75f0d(0x145)]++,this['metrics'][_0xc75f0d(0x17c)]=new Date();try{const _0x109218=_0x2cf990[_0xc75f0d(0x12b)]?_0x2cf990['value'][_0xc75f0d(0x14e)]():null;let _0x3c1101=null;try{_0x3c1101=_0x109218?JSON['parse'](_0x109218):null;}catch(_0xc02b71){_0x3c1101=_0x109218;}const _0x501528={'topic':_0x43fe57,'partition':_0x1ea6d9,'offset':_0x2cf990[_0xc75f0d(0x17a)],'key':_0x2cf990['key']?_0x2cf990[_0xc75f0d(0x13e)][_0xc75f0d(0x14e)]():null,'headers':this[_0xc75f0d(0x19e)](_0x2cf990['headers']),'timestamp':_0x2cf990[_0xc75f0d(0x153)],'value':_0x3c1101,'raw':_0x109218};this[_0xc75f0d(0x12e)]&&await this['messageHandler'](_0x501528);!_0x4157c2['autoCommit']&&await this[_0xc75f0d(0x18b)][_0xc75f0d(0x144)]([{'topic':_0x43fe57,'partition':_0x1ea6d9,'offset':(parseInt(_0x2cf990[_0xc75f0d(0x17a)])+0x1)['toString']()}]);this[_0xc75f0d(0x150)][_0xc75f0d(0x18d)]++;const _0x4b1be7=_0x323bd6['iultk'](Date['now'](),_0xf5560);this[_0xc75f0d(0x150)]['processingTimes'][_0xc75f0d(0x14a)](_0x4b1be7),_0x323bd6['ioPzl'](this[_0xc75f0d(0x150)]['processingTimes']['length'],0x64)&&this['metrics']['processingTimes']['shift'](),await _0x2545a1();}catch(_0x542635){this['metrics']['messagesFailed']++,console[_0xc75f0d(0x166)](_0xc75f0d(0x199)+_0x542635['message']);throw _0x542635;}}}),this['isRunning']=!![],console[_0xe39ec1(0x147)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0xe39ec1(0x128)](',\x20')),!![];}catch(_0x41be89){return console['error'](_0xe39ec1(0x13d)+_0x41be89['message']),![];}}[a0_0x2fa848(0x19e)](_0x1a2208){const _0x4fe50d=a0_0x2fa848;if(!_0x1a2208)return{};const _0x27d6f7={};for(const [_0x65dd09,_0x18b10c]of Object[_0x4fe50d(0x18f)](_0x1a2208)){_0x27d6f7[_0x65dd09]=_0x18b10c?_0x18b10c['toString']():null;}return _0x27d6f7;}async[a0_0x2fa848(0x13c)](){const _0x4e3ffd=a0_0x2fa848,_0x415590={'vbWTf':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x4e3ffd(0x173)]||!this[_0x4e3ffd(0x15e)])return console['log'](_0x4e3ffd(0x182)),![];if(this[_0x4e3ffd(0x152)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x3f94f8=this[_0x4e3ffd(0x154)][_0x4e3ffd(0x165)](_0x46b476=>({'topic':_0x46b476}));return this['consumer']['pause'](_0x3f94f8),this['isPaused']=!![],console['log'](_0x415590[_0x4e3ffd(0x15b)]),!![];}catch(_0x290ed9){return console[_0x4e3ffd(0x166)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x290ed9['message']),![];}}async['resume'](){const _0x4a66cd=a0_0x2fa848,_0x498674={'gjmUE':_0x4a66cd(0x179)};if(!this['isConnected']||!this[_0x4a66cd(0x15e)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4a66cd(0x152)])return console['log'](_0x498674['gjmUE']),!![];try{const _0x141f28=this[_0x4a66cd(0x154)]['map'](_0x5627e6=>({'topic':_0x5627e6}));return this[_0x4a66cd(0x18b)][_0x4a66cd(0x16c)](_0x141f28),this[_0x4a66cd(0x152)]=![],console[_0x4a66cd(0x147)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x2d47bc){return console[_0x4a66cd(0x166)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2d47bc['message']),![];}}async[a0_0x2fa848(0x151)](){const _0x2d8b92=a0_0x2fa848,_0x225802={'pqwPG':_0x2d8b92(0x140)};if(!this['isConnected'])return console['log'](_0x225802['pqwPG']),!![];try{return this[_0x2d8b92(0x18b)]&&(await this['consumer'][_0x2d8b92(0x151)](),await this[_0x2d8b92(0x18b)][_0x2d8b92(0x14b)]()),this[_0x2d8b92(0x173)]=![],this[_0x2d8b92(0x15e)]=![],this['isPaused']=![],console[_0x2d8b92(0x147)](_0x2d8b92(0x17b)),!![];}catch(_0x2f3a89){return console['error'](_0x2d8b92(0x131)+_0x2f3a89[_0x2d8b92(0x13a)]),![];}}async[a0_0x2fa848(0x141)](_0x589e52,_0x7000c3,_0x2bd845){const _0xc98169=a0_0x2fa848,_0x5a5621={'ITXKM':_0xc98169(0x13f)};if(!this[_0xc98169(0x173)])return console[_0xc98169(0x166)](_0x5a5621[_0xc98169(0x16e)]),![];try{return this[_0xc98169(0x18b)]['seek']({'topic':_0x589e52,'partition':_0x7000c3,'offset':_0x2bd845['toString']()}),console[_0xc98169(0x147)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2bd845+_0xc98169(0x15c)+_0x589e52+':'+_0x7000c3),!![];}catch(_0x2c3da6){return console['error'](_0xc98169(0x12f)+_0x2c3da6['message']),![];}}[a0_0x2fa848(0x183)](){const _0x1d9af7=a0_0x2fa848,_0x10260b=this['getConfig']();return{'enabled':_0x10260b[_0x1d9af7(0x17f)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x1d9af7(0x152)],'brokers':_0x10260b[_0x1d9af7(0x171)],'clientId':_0x10260b[_0x1d9af7(0x177)],'groupId':this['groupId'],'subscribedTopics':this[_0x1d9af7(0x154)]};}[a0_0x2fa848(0x193)](){const _0x290a94=a0_0x2fa848,_0x1d57d7={'OWAXk':function(_0x8e0053,_0x5e51e5){return _0x8e0053>_0x5e51e5;},'NnaZN':function(_0x38ff89,_0x1fc417){return _0x38ff89/_0x1fc417;},'stCAQ':function(_0x5e8be4,_0x21861b){return _0x5e8be4+_0x21861b;},'WkYUo':function(_0x38136f,_0x5972db){return _0x38136f+_0x5972db;}},_0x22f2ca=this[_0x290a94(0x150)]['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0x290a94(0x195)]((_0x5a41c9,_0x2a8dcb)=>_0x5a41c9+_0x2a8dcb,0x0)/this[_0x290a94(0x150)]['processingTimes']['length']:0x0,_0x1c67e7=_0x1d57d7['OWAXk'](this['metrics'][_0x290a94(0x174)][_0x290a94(0x168)],0x0)?Math[_0x290a94(0x133)](...this['metrics']['processingTimes']):0x0,_0x34d22b=this[_0x290a94(0x150)]['processingTimes'][_0x290a94(0x168)]>0x0?Math['max'](...this['metrics'][_0x290a94(0x174)]):0x0;return{'messagesReceived':this[_0x290a94(0x150)]['messagesReceived'],'messagesProcessed':this['metrics'][_0x290a94(0x18d)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x290a94(0x150)]['messagesReceived']>0x0?(this[_0x290a94(0x150)]['messagesProcessed']/this['metrics']['messagesReceived']*0x64)[_0x290a94(0x16a)](0x2)+'%':'0%','lastMessageTime':this[_0x290a94(0x150)]['lastMessageTime'],'startTime':this[_0x290a94(0x150)]['startTime'],'uptime':this[_0x290a94(0x150)][_0x290a94(0x135)]?Math[_0x290a94(0x132)](_0x1d57d7['NnaZN'](Date['now']()-this['metrics']['startTime']['getTime'](),0x3e8))+'s':'0s','processingTime':{'avg':_0x1d57d7['stCAQ'](Math['round'](_0x22f2ca),'ms'),'min':_0x1c67e7+'ms','max':_0x1d57d7[_0x290a94(0x134)](_0x34d22b,'ms')}};}[a0_0x2fa848(0x187)](){const _0x46b53f=a0_0x2fa848;this[_0x46b53f(0x150)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x46b53f(0x15e)]?new Date():null,'processingTimes':[]},console[_0x46b53f(0x147)](_0x46b53f(0x16f));}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x19fa29=a0_0x2fa848;instance&&(instance[_0x19fa29(0x156)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x447a(){const _0x53e1bf=['CNvU','y29TBwL0t2zMC2v0CW','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Bg9N','AxnbCNjHEq','mtjdsu13Euq','ChvZAa','zgLZy29UBMvJDa','D2fYBG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','Dg9tDhjPBMC','D2DLzxa','Bwv0CMLJCW','C3rVCa','AxnqyxvZzwq','DgLTzxn0yw1W','C3vIC2nYAwjLzfrVCgLJCW','rvPHvM4','y2XVC2u','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','yxv0B0nVBw1PDeLUDgvYDMfS','s0fgs0fFu0vtu0LptL9usu1ft1vu','yxv0B0nVBw1PDa','DMjxvgy','ig9Uia','ntyZnJmWDgjrvefe','AxnsDw5UAw5N','y29UC3vTzxiUCMvIywXHBMnPBMC','mta0odu3nG','s0fgs0fFu0fttf9nruniqu5ju00','rvjst1i','A2fMA2e','z3jVDxbjza','BwfW','zxjYB3i','y29UC3vTzxiUzgLZy29UBMvJDa','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Dg9gAxHLza','C3vIC2nYAwjL','CMvZDw1L','CMv0CNLnyxHezwXHEq','svrys00','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','yNjVA2vYCW','mZaWma','AxndB25Uzwn0zwq','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFqvvut19dt01nsvq','ALDlzee','y2XPzw50swq','ntCXode1vKXrtKXO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','B2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BgfZDe1LC3nHz2vuAw1L','odr6rezXAxy','AxnjBML0AwfSAxPPBMC','zw5HyMXLza','lwnVBNn1BwvYlwDYB3vW','Dhj1zq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','z2v0u3rHDhvZ','ExzVvvy','vujJseS','y29UBMvJDgLVBLbYB21PC2u','CMvZzxrnzxrYAwnZ','mJuWmda','AKrqDuO','y29UC3vTzxiUC3rVCa','y29UC3vTzxi','AgvHCNrIzwf0sw50zxj2ywW','BwvZC2fNzxnqCM9JzxnZzwq','nti1mJGWugXfC09l','zw50CMLLCW','nJm5mwn6wu52Dq','n1DOC0PjrW','icHMCM9TqMvNAw5UAw5NoIa','z2v0twv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CMvKDwnL','DeDvu3O','lwnVBNn1BwvY','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','s0fgs0fFu0fttf9qqvntv09sra','mtqYmJu0ngzNse1oCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CgfYC2vizwfKzxjZ','rhDkDMG','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','AM9PBG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9Ntgv2zwW','DMfSDwu','AvHHr00','t3zVwgu','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zMXVB3i','BwLU','v2Tzvw8','C3rHCNruAw1L','CMvZDgzVCMDLlq','zw52','mZa1nZbjA2njCM4','mJK0odLozKDpyLG','BwvZC2fNzq','odGYmdG5mwnPquLera','Cgf1C2u','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C2vLA1rVt2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ'];a0_0x447a=function(){return _0x53e1bf;};return a0_0x447a();}function a0_0x423a(_0x3b0f32,_0x24c024){_0x3b0f32=_0x3b0f32-0x127;const _0x447af4=a0_0x447a();let _0x423a2d=_0x447af4[_0x3b0f32];if(a0_0x423a['donNvj']===undefined){var _0x53fcc6=function(_0x163aac){const _0x4d9306='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33e390='',_0xc47bf6='';for(let _0x51fcb2=0x0,_0x2f0f88,_0x185999,_0xe1b713=0x0;_0x185999=_0x163aac['charAt'](_0xe1b713++);~_0x185999&&(_0x2f0f88=_0x51fcb2%0x4?_0x2f0f88*0x40+_0x185999:_0x185999,_0x51fcb2++%0x4)?_0x33e390+=String['fromCharCode'](0xff&_0x2f0f88>>(-0x2*_0x51fcb2&0x6)):0x0){_0x185999=_0x4d9306['indexOf'](_0x185999);}for(let _0x596212=0x0,_0xe4da21=_0x33e390['length'];_0x596212<_0xe4da21;_0x596212++){_0xc47bf6+='%'+('00'+_0x33e390['charCodeAt'](_0x596212)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc47bf6);};a0_0x423a['aXJGYQ']=_0x53fcc6,a0_0x423a['SIvLnq']={},a0_0x423a['donNvj']=!![];}const _0x1b428e=_0x447af4[0x0],_0x5976af=_0x3b0f32+_0x1b428e,_0x15ca19=a0_0x423a['SIvLnq'][_0x5976af];return!_0x15ca19?(_0x423a2d=a0_0x423a['aXJGYQ'](_0x423a2d),a0_0x423a['SIvLnq'][_0x5976af]=_0x423a2d):_0x423a2d=_0x15ca19,_0x423a2d;}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
function a0_0x18a7(_0x478451,_0x4912ec){_0x478451=_0x478451-0xf9;const _0x499d89=a0_0x499d();let _0x18a740=_0x499d89[_0x478451];if(a0_0x18a7['cCYaxt']===undefined){var _0xa6e654=function(_0x7864dc){const _0x5a46eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7cc436='',_0x60f9f1='';for(let _0x4dc74b=0x0,_0x1ceb0a,_0x537f99,_0x104b39=0x0;_0x537f99=_0x7864dc['charAt'](_0x104b39++);~_0x537f99&&(_0x1ceb0a=_0x4dc74b%0x4?_0x1ceb0a*0x40+_0x537f99:_0x537f99,_0x4dc74b++%0x4)?_0x7cc436+=String['fromCharCode'](0xff&_0x1ceb0a>>(-0x2*_0x4dc74b&0x6)):0x0){_0x537f99=_0x5a46eb['indexOf'](_0x537f99);}for(let _0x2c9a83=0x0,_0x8a6911=_0x7cc436['length'];_0x2c9a83<_0x8a6911;_0x2c9a83++){_0x60f9f1+='%'+('00'+_0x7cc436['charCodeAt'](_0x2c9a83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x60f9f1);};a0_0x18a7['DWbCPT']=_0xa6e654,a0_0x18a7['rkuysN']={},a0_0x18a7['cCYaxt']=!![];}const _0x4181d0=_0x499d89[0x0],_0x433efb=_0x478451+_0x4181d0,_0x4e8749=a0_0x18a7['rkuysN'][_0x433efb];return!_0x4e8749?(_0x18a740=a0_0x18a7['DWbCPT'](_0x18a740),a0_0x18a7['rkuysN'][_0x433efb]=_0x18a740):_0x18a740=_0x4e8749,_0x18a740;}function a0_0x499d(){const _0x1150ce=['BwvZC2fNzxnqCM9JzxnZzwq','BwvZC2fNzq','CMv0CNLezwXHEq','A2fMA2fQCW','sxj5ywC','AxnqyxvZzwq','rvjst1i','C3rVCa','ugfftMG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','z3jVDxbjza','mJaXnZyYnK9cv3LQwa','BhHjCve','s0fgs0fFu0fttf9qqvntv09sra','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','v1LVENu','CMvZDgzVCMDLlq','y2XPzw50swq','AxnbCNjHEq','C2vLAW','BhbeAeq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','yxv0B0nVBw1PDa','mtaWma','mti1odrQy0rOvMm','BwLU','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','A2v5','Dg9tDhjPBMC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','mtK1ndm0ngnOquzwqG','CMv0CNLnyxHezwXHEq','v0fstG','CgfYC2vizwfKzxjZ','AxndB25Uzwn0zwq','zxHWB3j0CW','mZaWmda','mJaZmtzsufnSEe8','zw52','Dg9gAxHLza','Dhj1zq','DgLTzxn0yw1W','C3Pgtw8','y29UBMvJDgLVBLbYB21PC2u','DMfSDwu','s29VAKm','mJuWmda','BgfZDe1LC3nHz2vuAw1L','CM91BMq','D3Pnww0','vKX0s0e','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','lwnVBNn1BwvY','CMvXDwvZDfrPBwvVDxq','C2HPzNq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','AxnsDw5UAw5N','vM13Aw8','owT1yufbza','mJKYntK3mNDnzLfRzG','C3rHCNruAw1L','mZuYwKPfqxb0','zxjYB3i','AxnjBML0AwfSAxPPBMC','mtaYmdy2mJrTCxjtrLK','CMvZDw1L','z2v0twv0CMLJCW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','s0fgs0fFqLjps0vsuW','mJaWntvgBwDUwNO','C3vIC2nYAwjLzfrVCgLJCW','AgvHCNrIzwf0sw50zxj2ywW','BwvZC2fNzxngywLSzwq','AhHcrvm','y29TBwL0t2zMC2v0CW','z2v0tg9Ntgv2zwW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','BwvZC2fNzxnszwnLAxzLza','CgfYC2u','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','ig9Uia','C2v0DxbfDMvUDeHHBMrSzxjZ','mwrSD0H6ra','Bwv0CMLJCW','BgvUz3rO','BwfW','BwvZC2fNzuHHBMrSzxi','Bg9N','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','revcvuC','Bg9Ntgv2zwW','mtb8nNW4Fdn8mxWWFdj8n3W5Fdv8na','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Cgf5Bg9Hza','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','Cgf1C2u','z2v0q29UzMLN','B2zMC2v0','odq3mJiWA3LgAgjr','s1zsA24','CMv0CNLbDhrLBxb0CW','y29UC3vTzxi','D2fYBG','zw5HyMXLza','s0fgs0fFu1nm','ChjVy2vZC2LUz1rPBwvZ','C2vZC2LVBLrPBwvVDxq','CNvU','Bfreu1K','zMXVB3i','BM93','y29UC3vTzxiUCMvIywXHBMnPBMC','zgvMyxvSDa','CMrsq0O','s0fgs0fFq0Xjru5ux0Le','n1nbEeLRBG'];a0_0x499d=function(){return _0x1150ce;};return a0_0x499d();}const a0_0x24791d=a0_0x18a7;(function(_0x11a5f9,_0x45c222){const _0x4b69b9=a0_0x18a7,_0x26c72d=_0x11a5f9();while(!![]){try{const _0x225fdd=parseInt(_0x4b69b9(0x135))/0x1*(-parseInt(_0x4b69b9(0x100))/0x2)+-parseInt(_0x4b69b9(0x11d))/0x3+parseInt(_0x4b69b9(0x11f))/0x4*(-parseInt(_0x4b69b9(0x127))/0x5)+-parseInt(_0x4b69b9(0x163))/0x6*(parseInt(_0x4b69b9(0x157))/0x7)+parseInt(_0x4b69b9(0x122))/0x8+parseInt(_0x4b69b9(0x11c))/0x9*(parseInt(_0x4b69b9(0x146))/0xa)+parseInt(_0x4b69b9(0x172))/0xb*(parseInt(_0x4b69b9(0x107))/0xc);if(_0x225fdd===_0x45c222)break;else _0x26c72d['push'](_0x26c72d['shift']());}catch(_0x5be5ef){_0x26c72d['push'](_0x26c72d['shift']());}}}(a0_0x499d,0xa00f7));const {Kafka,logLevel}=require(a0_0x24791d(0x15b)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x4fb30a=a0_0x24791d,_0x5d43da=_0x4fb30a(0x13e)[_0x4fb30a(0xff)]('|');let _0x461023=0x0;while(!![]){switch(_0x5d43da[_0x461023++]){case'0':this['isPaused']=![];continue;case'1':this['isRunning']=![];continue;case'2':this[_0x4fb30a(0x10d)]=null;continue;case'3':this[_0x4fb30a(0x121)]=![];continue;case'4':this[_0x4fb30a(0x136)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this['messageHandler']=null;continue;case'6':this['consumer']=null;continue;case'7':this['subscribedTopics']=[];continue;case'8':this['isConnected']=![];continue;case'9':this['groupId']=null;continue;case'10':this['kafka']=null;continue;}break;}}[a0_0x24791d(0x144)](){const _0x548382=a0_0x24791d,_0x44b2a7={'qUnro':_0x548382(0x10a),'OtwiV':'localhost:9092','wtZcY':_0x548382(0x154),'Vmwio':function(_0x251746,_0x3f65af){return _0x251746(_0x3f65af);},'rdRCJ':_0x548382(0x110),'dYIZZ':_0x548382(0x14a)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x44b2a7['qUnro'],'brokers':(process['env'][_0x548382(0x126)]||_0x44b2a7['OtwiV'])[_0x548382(0xff)](','),'clientId':process['env'][_0x548382(0x156)]||_0x548382(0x16a)+(process[_0x548382(0x108)]['RESTFORGE_PROJECT_NAME']||_0x44b2a7['wtZcY'])+_0x548382(0x116),'connectionTimeout':_0x44b2a7[_0x548382(0x11b)](parseInt,process['env'][_0x548382(0xfc)]||'3000'),'requestTimeout':parseInt(process['env'][_0x548382(0x125)]||_0x44b2a7[_0x548382(0x155)]),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0x548382(0x106)),'heartbeatInterval':_0x44b2a7['Vmwio'](parseInt,process[_0x548382(0x108)]['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':parseInt(process[_0x548382(0x108)][_0x548382(0x12e)]||'1048576'),'autoCommit':process['env'][_0x548382(0x141)]==='true','autoCommitInterval':parseInt(process[_0x548382(0x108)][_0x548382(0x115)]||'5000'),'retryAttempts':parseInt(process[_0x548382(0x108)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x548382(0x108)]['KAFKA_RETRY_DELAY']||_0x548382(0x171)),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x548382(0x106)),'logLevel':process[_0x548382(0x108)][_0x548382(0x167)]||_0x44b2a7['dYIZZ']};}['getLogLevel'](_0x1f779c){const _0x1ee829=a0_0x24791d,_0x57e8a1={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1ee829(0x15e)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x1ee829(0x13c)]};return _0x57e8a1[_0x1f779c['toLowerCase']()]||logLevel[_0x1ee829(0x102)];}async['initialize'](_0x2bd8c2={}){const _0x33e891=a0_0x24791d,_0x10355f={'NqvRC':'default','Iryag':function(_0x5598a8,_0x394d0a){return _0x5598a8(_0x394d0a);}},_0x2fbefa=this[_0x33e891(0x144)]();if(!_0x2fbefa[_0x33e891(0x14b)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x33e891(0x104)])return!![];if(this['isInitializing']&&this[_0x33e891(0x10d)])return this[_0x33e891(0x10d)];return this[_0x33e891(0x121)]=!![],this['connectionPromise']=new Promise(async _0x18eff2=>{const _0x46344a=_0x33e891;try{let _0x2c98cc=undefined;process['env'][_0x46344a(0x14c)]==='true'&&(_0x2c98cc=!![]);let _0x186954=undefined;process[_0x46344a(0x108)]['KAFKA_SASL_MECHANISM']&&(_0x186954={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x46344a(0x108)]['KAFKA_SASL_USERNAME']||'','password':process[_0x46344a(0x108)][_0x46344a(0x165)]||''}),this['kafka']=new Kafka({'clientId':_0x2bd8c2[_0x46344a(0x16b)]||_0x2fbefa['clientId'],'brokers':_0x2fbefa['brokers'],'connectionTimeout':_0x2fbefa['connectionTimeout'],'requestTimeout':_0x2fbefa[_0x46344a(0x117)],'logLevel':this[_0x46344a(0x12d)](_0x2fbefa[_0x46344a(0x13d)]),'ssl':_0x2c98cc,'sasl':_0x186954,'retry':{'initialRetryTime':_0x2fbefa[_0x46344a(0x15a)],'retries':_0x2fbefa[_0x46344a(0x148)],'maxRetryTime':_0x2fbefa[_0x46344a(0x101)]}}),this['groupId']=_0x2bd8c2[_0x46344a(0x162)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x10355f['NqvRC'])+'-consumer-group',this['consumer']=this['kafka']['consumer']({'groupId':this[_0x46344a(0x162)],'sessionTimeout':_0x2fbefa[_0x46344a(0x14e)],'heartbeatInterval':_0x2fbefa[_0x46344a(0x129)],'maxBytesPerPartition':_0x2fbefa['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console[_0x46344a(0x13a)](_0x46344a(0x161)+_0x2fbefa[_0x46344a(0xfd)]['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x46344a(0x134)](),_0x18eff2(!![]);}catch(_0x12d763){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x12d763['message']),this[_0x46344a(0x104)]=![],_0x10355f[_0x46344a(0x15c)](_0x18eff2,![]);}finally{this[_0x46344a(0x121)]=![];}}),this[_0x33e891(0x10d)];}['setupEventHandlers'](){const _0x39c584=a0_0x24791d,_0x1541ef={'hxBES':_0x39c584(0x13f),'sFPTE':'consumer.disconnect','KVRkn':'consumer.stop','QiJBk':_0x39c584(0x153)};if(!this['consumer'])return;this[_0x39c584(0x149)]['on'](_0x1541ef['sFPTE'],()=>{const _0x15d806=_0x39c584;console[_0x15d806(0x13a)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x15d806(0x104)]=![],this['isRunning']=![];}),this[_0x39c584(0x149)]['on'](_0x1541ef[_0x39c584(0x147)],()=>{const _0x400e23=_0x39c584;console['log'](_0x400e23(0x168)),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x18f53f=>{const _0x427c9e=_0x39c584;console[_0x427c9e(0x120)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x18f53f[_0x427c9e(0x140)]['error']['message']),this['isRunning']=![];}),this['consumer']['on'](_0x1541ef['QiJBk'],()=>{const _0x3ba6cf=_0x39c584;console['log'](_0x1541ef[_0x3ba6cf(0x12b)]);});}async['subscribe'](_0x2df261,_0x17d795=![]){const _0x1769e5=a0_0x24791d,_0x2f2a48={'WYozu':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x2f2a48[_0x1769e5(0x169)]),![];try{const _0x42db0f=Array[_0x1769e5(0x16c)](_0x2df261)?_0x2df261:[_0x2df261];for(const _0x479a91 of _0x42db0f){await this[_0x1769e5(0x149)]['subscribe']({'topic':_0x479a91,'fromBeginning':_0x17d795}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x479a91+'\x20(fromBeginning:\x20'+_0x17d795+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x42db0f])],!![];}catch(_0x1504e7){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1504e7['message']),![];}}async['startConsuming'](_0x108f24,_0x5d4d7b={}){const _0x14896c=a0_0x24791d,_0x22c1dc={'bgAnj':function(_0x1cdf0c,_0x3b8590){return _0x1cdf0c+_0x3b8590;},'PaENh':function(_0x2eb3e7,_0x941306){return _0x2eb3e7(_0x941306);},'KoojC':function(_0xdfaf08,_0x5bc6ef){return _0xdfaf08>_0x5bc6ef;},'wzMYm':_0x14896c(0x142)};if(!this[_0x14896c(0x104)])return console['error'](_0x22c1dc[_0x14896c(0x113)]),![];if(this[_0x14896c(0x11a)])return console[_0x14896c(0x13a)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x471932=this[_0x14896c(0x144)]();this['messageHandler']=_0x108f24;try{return this['metrics'][_0x14896c(0x11e)]=new Date(),await this['consumer'][_0x14896c(0x14f)]({'autoCommit':_0x5d4d7b['autoCommit']!==undefined?_0x5d4d7b[_0x14896c(0x170)]:_0x471932['autoCommit'],'autoCommitInterval':_0x471932['autoCommitInterval'],'eachMessage':async({topic:_0x33e699,partition:_0xeb5ceb,message:_0x49bc2e,heartbeat:_0x5af440})=>{const _0x1eb0be=_0x14896c,_0x3901ff=Date[_0x1eb0be(0x152)]();this[_0x1eb0be(0x136)][_0x1eb0be(0x12f)]++,this[_0x1eb0be(0x136)][_0x1eb0be(0x111)]=new Date();try{const _0x19d200=_0x49bc2e['value']?_0x49bc2e[_0x1eb0be(0x10e)][_0x1eb0be(0xfb)]():null;let _0x3333b2=null;try{_0x3333b2=_0x19d200?JSON[_0x1eb0be(0x130)](_0x19d200):null;}catch(_0x28e64a){_0x3333b2=_0x19d200;}const _0x4e833f={'topic':_0x33e699,'partition':_0xeb5ceb,'offset':_0x49bc2e[_0x1eb0be(0x145)],'key':_0x49bc2e[_0x1eb0be(0xfa)]?_0x49bc2e[_0x1eb0be(0xfa)]['toString']():null,'headers':this[_0x1eb0be(0x103)](_0x49bc2e['headers']),'timestamp':_0x49bc2e[_0x1eb0be(0x10b)],'value':_0x3333b2,'raw':_0x19d200};this[_0x1eb0be(0x139)]&&await this[_0x1eb0be(0x139)](_0x4e833f);!_0x471932['autoCommit']&&await this[_0x1eb0be(0x149)][_0x1eb0be(0x12c)]([{'topic':_0x33e699,'partition':_0xeb5ceb,'offset':_0x22c1dc['bgAnj'](_0x22c1dc[_0x1eb0be(0x160)](parseInt,_0x49bc2e['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x2b092a=Date[_0x1eb0be(0x152)]()-_0x3901ff;this['metrics']['processingTimes']['push'](_0x2b092a),_0x22c1dc[_0x1eb0be(0x10f)](this[_0x1eb0be(0x136)]['processingTimes'][_0x1eb0be(0x137)],0x64)&&this['metrics']['processingTimes'][_0x1eb0be(0x118)](),await _0x5af440();}catch(_0x27da76){this[_0x1eb0be(0x136)][_0x1eb0be(0x12a)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x27da76[_0x1eb0be(0x159)]);throw _0x27da76;}}}),this['isRunning']=!![],console[_0x14896c(0x13a)](_0x14896c(0x132)+this[_0x14896c(0x128)]['join'](',\x20')),!![];}catch(_0x3b691a){return console[_0x14896c(0x120)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x3b691a['message']),![];}}['parseHeaders'](_0x2cfd99){if(!_0x2cfd99)return{};const _0x4705ee={};for(const [_0x40626e,_0x2ad6a5]of Object['entries'](_0x2cfd99)){_0x4705ee[_0x40626e]=_0x2ad6a5?_0x2ad6a5['toString']():null;}return _0x4705ee;}async[a0_0x24791d(0x143)](){const _0x4d08a4=a0_0x24791d,_0xe9ac7={'DsNgW':_0x4d08a4(0xf9),'XSzWF':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0xe9ac7['DsNgW']),![];if(this[_0x4d08a4(0x15d)])return console[_0x4d08a4(0x13a)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x5cc1e7=this['subscribedTopics']['map'](_0x4c8621=>({'topic':_0x4c8621}));return this['consumer']['pause'](_0x5cc1e7),this['isPaused']=!![],console[_0x4d08a4(0x13a)](_0xe9ac7['XSzWF']),!![];}catch(_0x13f37f){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x13f37f[_0x4d08a4(0x159)]),![];}}async[a0_0x24791d(0x123)](){const _0x3c858f=a0_0x24791d,_0x5e4f3f={'LraRx':'[KafkaConsumer]\x20Consumer\x20not\x20paused','nerOG':_0x3c858f(0x166)};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x3c858f(0x13b)),![];if(!this[_0x3c858f(0x15d)])return console[_0x3c858f(0x13a)](_0x5e4f3f['LraRx']),!![];try{const _0x1626f6=this['subscribedTopics'][_0x3c858f(0x138)](_0x47ad43=>({'topic':_0x47ad43}));return this['consumer']['resume'](_0x1626f6),this[_0x3c858f(0x15d)]=![],console[_0x3c858f(0x13a)](_0x5e4f3f['nerOG']),!![];}catch(_0x6e9818){return console[_0x3c858f(0x120)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x6e9818['message']),![];}}async[a0_0x24791d(0x15f)](){const _0x1fa2c8=a0_0x24791d,_0x27aefe={'lxIqQ':_0x1fa2c8(0x16f)};if(!this[_0x1fa2c8(0x104)])return console[_0x1fa2c8(0x13a)](_0x27aefe[_0x1fa2c8(0x164)]),!![];try{return this[_0x1fa2c8(0x149)]&&(await this[_0x1fa2c8(0x149)][_0x1fa2c8(0x15f)](),await this['consumer']['disconnect']()),this['isConnected']=![],this['isRunning']=![],this[_0x1fa2c8(0x15d)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x2df44a){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x2df44a['message']),![];}}async['seekToOffset'](_0x2fc986,_0x1e4827,_0x430825){const _0x3416e5=a0_0x24791d;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x3416e5(0x16d)]({'topic':_0x2fc986,'partition':_0x1e4827,'offset':_0x430825['toString']()}),console[_0x3416e5(0x13a)](_0x3416e5(0x119)+_0x430825+_0x3416e5(0x133)+_0x2fc986+':'+_0x1e4827),!![];}catch(_0x2fb37c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x2fb37c['message']),![];}}[a0_0x24791d(0x131)](){const _0x353c3f=a0_0x24791d,_0x3abc49=this['getConfig']();return{'enabled':_0x3abc49[_0x353c3f(0x14b)],'connected':this[_0x353c3f(0x104)],'running':this[_0x353c3f(0x11a)],'paused':this['isPaused'],'brokers':_0x3abc49[_0x353c3f(0xfd)],'clientId':_0x3abc49[_0x353c3f(0x16b)],'groupId':this['groupId'],'subscribedTopics':this[_0x353c3f(0x128)]};}[a0_0x24791d(0x124)](){const _0x5acf82=a0_0x24791d,_0x4ab322={'gAaFj':function(_0x4949af,_0x481e85){return _0x4949af>_0x481e85;},'hlwDY':function(_0x36fa7a,_0x60ae61){return _0x36fa7a>_0x60ae61;},'VLtKA':function(_0x3f9455,_0xf97566){return _0x3f9455+_0xf97566;},'szFMo':function(_0x4fbb57,_0x49dc86){return _0x4fbb57/_0x49dc86;},'lTDSY':function(_0x57043d,_0x4f65a7){return _0x57043d-_0x4f65a7;},'XcvUp':function(_0x2a3a97,_0x4317d2){return _0x2a3a97+_0x4317d2;}},_0x238962=_0x4ab322['gAaFj'](this[_0x5acf82(0x136)][_0x5acf82(0x14d)][_0x5acf82(0x137)],0x0)?this['metrics'][_0x5acf82(0x14d)]['reduce']((_0x42f048,_0x4090d7)=>_0x42f048+_0x4090d7,0x0)/this[_0x5acf82(0x136)]['processingTimes']['length']:0x0,_0x3c9f8e=this[_0x5acf82(0x136)]['processingTimes'][_0x5acf82(0x137)]>0x0?Math[_0x5acf82(0x173)](...this['metrics'][_0x5acf82(0x14d)]):0x0,_0x3a44fe=_0x4ab322['hlwDY'](this[_0x5acf82(0x136)]['processingTimes']['length'],0x0)?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x5acf82(0x12f)],'messagesProcessed':this[_0x5acf82(0x136)][_0x5acf82(0x158)],'messagesFailed':this[_0x5acf82(0x136)][_0x5acf82(0x12a)],'successRate':_0x4ab322['hlwDY'](this['metrics']['messagesReceived'],0x0)?_0x4ab322[_0x5acf82(0x114)]((_0x4ab322[_0x5acf82(0x10c)](this[_0x5acf82(0x136)]['messagesProcessed'],this[_0x5acf82(0x136)][_0x5acf82(0x12f)])*0x64)[_0x5acf82(0x109)](0x2),'%'):'0%','lastMessageTime':this[_0x5acf82(0x136)][_0x5acf82(0x111)],'startTime':this[_0x5acf82(0x136)][_0x5acf82(0x11e)],'uptime':this[_0x5acf82(0x136)][_0x5acf82(0x11e)]?Math[_0x5acf82(0x151)](_0x4ab322[_0x5acf82(0x10c)](_0x4ab322[_0x5acf82(0x150)](Date[_0x5acf82(0x152)](),this[_0x5acf82(0x136)]['startTime']['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x5acf82(0x112)](_0x238962)+'ms','min':_0x4ab322['XcvUp'](_0x3c9f8e,'ms'),'max':_0x4ab322['VLtKA'](_0x3a44fe,'ms')}};}['resetMetrics'](){const _0x161b1f=a0_0x24791d,_0x306115={'lpDhD':_0x161b1f(0xfe)};this[_0x161b1f(0x136)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x161b1f(0x11a)]?new Date():null,'processingTimes':[]},console[_0x161b1f(0x13a)](_0x306115[_0x161b1f(0x16e)]);}async['close'](){const _0x282907=a0_0x24791d;await this[_0x282907(0x15f)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x24791d(0x105)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|