@restforgejs/platform 4.1.0 → 4.1.1
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/LICENSE.md +5 -1
- package/README.md +30 -14
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/integrity-manifest.json +8 -8
- package/package.json +4 -4
- package/scripts/check-install.js +45 -45
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x4ada65=a0_0x25b3;(function(_0x252e5a,_0x882142){const _0x47f9c7=a0_0x25b3,_0x3f9a3f=_0x252e5a();while(!![]){try{const _0x475542=-parseInt(_0x47f9c7(0xb0))/0x1+parseInt(_0x47f9c7(0xde))/0x2+parseInt(_0x47f9c7(0xb3))/0x3+-parseInt(_0x47f9c7(0x132))/0x4+-parseInt(_0x47f9c7(0xc9))/0x5*(parseInt(_0x47f9c7(0x112))/0x6)+-parseInt(_0x47f9c7(0xfa))/0x7*(parseInt(_0x47f9c7(0xe1))/0x8)+parseInt(_0x47f9c7(0x11c))/0x9;if(_0x475542===_0x882142)break;else _0x3f9a3f['push'](_0x3f9a3f['shift']());}catch(_0x495faa){_0x3f9a3f['push'](_0x3f9a3f['shift']());}}}(a0_0x2eb5,0xb1008));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x4ada65(0x122);function a0_0x25b3(_0x390994,_0x115a3f){_0x390994=_0x390994-0xab;const _0x2eb5fa=a0_0x2eb5();let _0x25b3a5=_0x2eb5fa[_0x390994];if(a0_0x25b3['dMcNpI']===undefined){var _0x4dd91b=function(_0x42e958){const _0x5388a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22dfb9='',_0x5a2361='';for(let _0x1908ed=0x0,_0x142471,_0xae4d81,_0x5455bb=0x0;_0xae4d81=_0x42e958['charAt'](_0x5455bb++);~_0xae4d81&&(_0x142471=_0x1908ed%0x4?_0x142471*0x40+_0xae4d81:_0xae4d81,_0x1908ed++%0x4)?_0x22dfb9+=String['fromCharCode'](0xff&_0x142471>>(-0x2*_0x1908ed&0x6)):0x0){_0xae4d81=_0x5388a6['indexOf'](_0xae4d81);}for(let _0x439c01=0x0,_0xb2d863=_0x22dfb9['length'];_0x439c01<_0xb2d863;_0x439c01++){_0x5a2361+='%'+('00'+_0x22dfb9['charCodeAt'](_0x439c01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a2361);};a0_0x25b3['sggkks']=_0x4dd91b,a0_0x25b3['gxpWvk']={},a0_0x25b3['dMcNpI']=!![];}const _0x42313c=_0x2eb5fa[0x0],_0x53c181=_0x390994+_0x42313c,_0x5f49b3=a0_0x25b3['gxpWvk'][_0x53c181];return!_0x5f49b3?(_0x25b3a5=a0_0x25b3['sggkks'](_0x25b3a5),a0_0x25b3['gxpWvk'][_0x53c181]=_0x25b3a5):_0x25b3a5=_0x5f49b3,_0x25b3a5;}class WebSocketBroadcaster{constructor(){const _0x3033e0=a0_0x4ada65,_0x2284ee={'KzTjD':'8|0|1|4|2|5|3|6|7|9'},_0x2c6226=_0x2284ee[_0x3033e0(0x134)][_0x3033e0(0x116)]('|');let _0x5d3d03=0x0;while(!![]){switch(_0x2c6226[_0x5d3d03++]){case'0':this['_initialized']=![];continue;case'1':this[_0x3033e0(0x111)]=null;continue;case'2':this['_logger']=console;continue;case'3':this['_heartbeatTimer']=null;continue;case'4':this['_options']={};continue;case'5':this[_0x3033e0(0xeb)]=new Map();continue;case'6':this[_0x3033e0(0xf3)]=null;continue;case'7':this['_redisSubscriber']=null;continue;case'8':this['_wss']=null;continue;case'9':this['_workerId']=process['pid'];continue;}break;}}[a0_0x4ada65(0x10f)](_0x4728fe,_0x568eff={}){const _0xf81cfe=a0_0x4ada65,_0x33cec2={'sGqwU':'full','qIVZV':function(_0x303b3c,_0x40e42a){return _0x303b3c(_0x40e42a);},'GyLTN':'../../utils/logger','FzAuV':_0xf81cfe(0xf9),'kkhGj':_0xf81cfe(0xff),'VhELX':_0xf81cfe(0xe3),'Ktavt':_0xf81cfe(0xc7)};if(this[_0xf81cfe(0x105)])return;this[_0xf81cfe(0xc5)]=_0x568eff,this[_0xf81cfe(0x111)]=_0x33cec2['sGqwU'];try{this[_0xf81cfe(0x109)]=_0x33cec2['qIVZV'](require,_0x33cec2[_0xf81cfe(0xbe)])['logger']||console;}catch(_0x3835ed){this[_0xf81cfe(0x109)]=console;}const _0x38c7db=parseInt(process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x4728fe,'path':_0x33cec2['FzAuV']}),this[_0xf81cfe(0xd9)](_0x4728fe),this['_wss']['on'](_0x33cec2['kkhGj'],(_0xe5f65,_0x4ec0fd)=>this['_handleConnection'](_0xe5f65,_0x4ec0fd)),this[_0xf81cfe(0xc4)]['on'](_0x33cec2[_0xf81cfe(0x115)],_0x356090=>{const _0x3ae48a=_0xf81cfe;this['_logger'][_0x3ae48a(0xe3)]({'event':_0x3ae48a(0xfb),'error':_0x356090['message']},'WebSocket\x20server\x20error:\x20'+_0x356090['message']);}),this[_0xf81cfe(0xed)](_0x38c7db),this[_0xf81cfe(0xd6)](),this['_initialized']=!![],this['_logger'][_0xf81cfe(0xd4)]({'event':_0x33cec2[_0xf81cfe(0x136)],'mode':'full','path':'/ws','heartbeat':_0x38c7db+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x38c7db+'s)');}[a0_0x4ada65(0xd1)](_0x19ab1b={}){const _0x5aaaf3=a0_0x4ada65,_0x4910ec={'faqMW':function(_0x407c8d,_0x227f6a){return _0x407c8d(_0x227f6a);},'yeEnM':_0x5aaaf3(0xd0),'aiAOg':'livesync_publisher_initialized','zRTrl':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)'};if(this['_initialized'])return;this['_options']=_0x19ab1b,this[_0x5aaaf3(0x111)]=_0x5aaaf3(0x11d);try{this[_0x5aaaf3(0x109)]=_0x4910ec[_0x5aaaf3(0xc0)](require,_0x4910ec[_0x5aaaf3(0xb7)])[_0x5aaaf3(0xcc)]||console;}catch(_0x58414d){this['_logger']=console;}this[_0x5aaaf3(0xf8)](),this[_0x5aaaf3(0x105)]=!![],this['_logger'][_0x5aaaf3(0xd4)]({'event':_0x4910ec[_0x5aaaf3(0x11a)],'mode':'publisher'},_0x4910ec['zRTrl']);}[a0_0x4ada65(0xd5)](){const _0x2023ec=a0_0x4ada65;return this[_0x2023ec(0x105)];}['broadcast'](_0x5f29d3,_0x3028e6){const _0x53f62d=a0_0x4ada65,_0x9ff7a2={'lQLMI':function(_0x314dad,_0x4ebac4){return _0x314dad===_0x4ebac4;},'TItPG':function(_0x17b226,_0x498eaf){return _0x17b226===_0x498eaf;}};if(!this['_initialized'])return;if(_0x9ff7a2[_0x53f62d(0xae)](this[_0x53f62d(0x111)],_0x53f62d(0x11d))){this['_publishToRedis'](_0x5f29d3,_0x3028e6);return;}const _0x33269c=JSON[_0x53f62d(0xe4)]({'type':_0x53f62d(0xbb),'channel':_0x5f29d3,'action':_0x3028e6['action'],'data':_0x3028e6['data'],'requestId':_0x3028e6['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x380373]=_0x5f29d3['split'](':');let _0x2d5b2a=0x0;for(const [_0x427492,_0x121e8f]of this[_0x53f62d(0xeb)]){const _0xd16a4e=_0x9ff7a2[_0x53f62d(0xae)](_0x427492,_0x5f29d3),_0x2aa494=_0x9ff7a2['TItPG'](_0x427492,_0x380373+':*');if(_0xd16a4e||_0x2aa494)for(const _0x2a62a8 of _0x121e8f){if(_0x2a62a8[_0x53f62d(0x133)]===0x1)try{_0x2a62a8[_0x53f62d(0x13c)](_0x33269c),_0x2d5b2a++;}catch(_0x452819){}}}_0x2d5b2a>0x0&&this[_0x53f62d(0x109)]['debug']({'event':'livesync_broadcast','channel':_0x5f29d3,'action':_0x3028e6[_0x53f62d(0xad)],'clients':_0x2d5b2a},'Broadcast\x20'+_0x3028e6[_0x53f62d(0xad)]+_0x53f62d(0x104)+_0x5f29d3+'\x20to\x20'+_0x2d5b2a+'\x20client(s)');}[a0_0x4ada65(0x119)](_0x33ffc4,_0x486b5f){const _0x647dc1=a0_0x4ada65;if(!this['_redisPublisher'])return;const _0x16e6d3=JSON[_0x647dc1(0xe4)]({'channel':_0x33ffc4,'message':_0x486b5f,'workerId':this['_workerId']});this[_0x647dc1(0xf3)][_0x647dc1(0xb8)](REDIS_CHANNEL_PREFIX+_0x647dc1(0xdb),_0x16e6d3)['catch'](()=>{});}[a0_0x4ada65(0xd2)](){const _0x334b19=a0_0x4ada65,_0x44e2c7={'toIMN':'Server\x20shutting\x20down'};if(!this[_0x334b19(0x105)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x334b19(0xbc)]),this[_0x334b19(0xbc)]=null);if(this['_wss']){for(const _0x361ece of this[_0x334b19(0xc4)]['clients']){try{_0x361ece['close'](0x3e9,_0x44e2c7['toIMN']);}catch(_0x4cb033){}}this['_wss'][_0x334b19(0xf0)]();}if(this['_redisSubscriber'])try{this[_0x334b19(0xab)]['unsubscribe'](),this[_0x334b19(0xab)][_0x334b19(0xee)]();}catch(_0x4cdecb){}if(this[_0x334b19(0xea)]&&this[_0x334b19(0xf3)])try{this['_redisPublisher']['quit']();}catch(_0x2e0bc8){}this[_0x334b19(0xeb)][_0x334b19(0x10e)](),this['_initialized']=![],this['_logger']['info']({'event':'livesync_shutdown','mode':this[_0x334b19(0x111)]},'Live\x20Sync\x20'+this[_0x334b19(0x111)]+_0x334b19(0x131));}[a0_0x4ada65(0xd9)](_0x3ddf38){const _0x24aa75=a0_0x4ada65,_0x40a36d={'onvXt':_0x24aa75(0xff),'RMdGa':'localhost','jWLRp':_0x24aa75(0x125),'qPkYd':function(_0x24c426,_0x5cc203){return _0x24c426!==_0x5cc203;},'InsMf':'upgrade'},_0x94ab15=_0x3ddf38[_0x24aa75(0xdf)](_0x40a36d[_0x24aa75(0x124)])['slice']();_0x3ddf38[_0x24aa75(0xe5)](_0x24aa75(0xf5)),_0x3ddf38['on']('upgrade',(_0x2d197a,_0x1b37ed,_0x3a6e2f)=>{const _0x289d41=_0x24aa75;if(!_0x2d197a[_0x289d41(0xcd)]||!_0x2d197a[_0x289d41(0xcd)][_0x289d41(0xcb)]('/ws')){for(const _0x3779dd of _0x94ab15){_0x3779dd[_0x289d41(0xdc)](_0x3ddf38,_0x2d197a,_0x1b37ed,_0x3a6e2f);}return;}if(this[_0x289d41(0xc5)]['apiKey']){const _0x30a263=new URL(_0x2d197a['url'],'http://'+(_0x2d197a[_0x289d41(0x137)]['host']||_0x40a36d['RMdGa'])),_0x1bdb48=_0x30a263[_0x289d41(0x12c)]['get'](_0x40a36d['jWLRp'])||_0x2d197a['headers'][_0x40a36d[_0x289d41(0xf2)]];if(!_0x1bdb48||_0x40a36d[_0x289d41(0x129)](_0x1bdb48,this[_0x289d41(0xc5)]['apiKey'])){_0x1b37ed[_0x289d41(0xc2)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x1b37ed[_0x289d41(0x114)]();return;}}this[_0x289d41(0xc4)]['handleUpgrade'](_0x2d197a,_0x1b37ed,_0x3a6e2f,_0x1e5892=>{const _0x37f74a=_0x289d41;this['_wss'][_0x37f74a(0x127)](_0x40a36d['onvXt'],_0x1e5892,_0x2d197a);});});}[a0_0x4ada65(0xd3)](_0x52fd4d,_0x4497ab){const _0x364954=a0_0x4ada65,_0x355fa4={'xhHwU':'error','eIOYW':_0x364954(0xe8),'xtnde':_0x364954(0xef),'FUUtS':'x-forwarded-for','CalCD':_0x364954(0x126),'iteSL':'close'};_0x52fd4d[_0x364954(0x10c)]=!![],_0x52fd4d['subscribedChannels']=new Set();const _0x405ec8=_0x4497ab['headers'][_0x355fa4['FUUtS']]||_0x4497ab[_0x364954(0x11b)]['remoteAddress'];this['_logger']['info']({'event':'livesync_client_connected','ip':_0x405ec8},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x405ec8),_0x52fd4d['on'](_0x355fa4[_0x364954(0xd8)],()=>{_0x52fd4d['isAlive']=!![];}),_0x52fd4d['on'](_0x364954(0xec),_0x2088f5=>{const _0x2265a0=_0x364954;try{const _0x425dd2=JSON[_0x2265a0(0x101)](_0x2088f5[_0x2265a0(0x12e)]());this['_handleClientMessage'](_0x52fd4d,_0x425dd2);}catch(_0x2b42e7){this['_sendToClient'](_0x52fd4d,{'type':_0x355fa4[_0x2265a0(0x108)],'message':_0x2265a0(0xe7)});}}),_0x52fd4d['on'](_0x355fa4[_0x364954(0x139)],()=>{const _0x5e14bd=_0x364954;this['_removeClientFromAllChannels'](_0x52fd4d),this[_0x5e14bd(0x109)][_0x5e14bd(0x130)]({'event':_0x355fa4[_0x5e14bd(0x12a)],'ip':_0x405ec8},_0x5e14bd(0x120)+_0x405ec8);}),_0x52fd4d['on'](_0x355fa4['xhHwU'],_0x2601b0=>{const _0x335716=_0x364954;this[_0x335716(0x109)]['warn']({'event':_0x355fa4['xtnde'],'error':_0x2601b0['message']},'WebSocket\x20client\x20error:\x20'+_0x2601b0[_0x335716(0xec)]),this['_removeClientFromAllChannels'](_0x52fd4d);});}['_handleClientMessage'](_0x47318f,_0x2d0b11){const _0x34caad=a0_0x4ada65,_0x4f7e14={'IAhAt':_0x34caad(0xce),'HEzqo':'pong'};switch(_0x2d0b11[_0x34caad(0x11e)]){case'subscribe':this[_0x34caad(0x11f)](_0x47318f,_0x2d0b11['channels']);break;case _0x4f7e14[_0x34caad(0xd7)]:this['_handleUnsubscribe'](_0x47318f,_0x2d0b11['channels']);break;case _0x4f7e14[_0x34caad(0x138)]:_0x47318f['isAlive']=!![];break;default:this['_sendToClient'](_0x47318f,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x2d0b11['type']});}}['_handleSubscribe'](_0x57a792,_0x5997ab){const _0x2f91cc=a0_0x4ada65,_0x2d2647={'LJfuO':function(_0x347cbb,_0x28272c){return _0x347cbb===_0x28272c;},'ZQrla':_0x2f91cc(0xe3),'FaQTO':'channels\x20must\x20be\x20a\x20non-empty\x20array','iaqeV':_0x2f91cc(0xbd),'AKfnN':function(_0x24f0f4,_0x166ab4){return _0x24f0f4>_0x166ab4;},'gdCqW':'livesync_subscribe'};if(!Array[_0x2f91cc(0x113)](_0x5997ab)||_0x2d2647['LJfuO'](_0x5997ab['length'],0x0)){this[_0x2f91cc(0xb2)](_0x57a792,{'type':_0x2d2647[_0x2f91cc(0xca)],'message':_0x2d2647[_0x2f91cc(0xfd)]});return;}const _0x50bf89=[];for(const _0x2563f3 of _0x5997ab){if(typeof _0x2563f3!==_0x2d2647[_0x2f91cc(0xc6)]||!_0x2563f3[_0x2f91cc(0x110)](':'))continue;!this[_0x2f91cc(0xeb)][_0x2f91cc(0xdd)](_0x2563f3)&&this['_subscriptions'][_0x2f91cc(0x10d)](_0x2563f3,new Set()),this[_0x2f91cc(0xeb)][_0x2f91cc(0xcf)](_0x2563f3)[_0x2f91cc(0xb9)](_0x57a792),_0x57a792[_0x2f91cc(0xfe)]['add'](_0x2563f3),_0x50bf89['push'](_0x2563f3);}_0x2d2647['AKfnN'](_0x50bf89['length'],0x0)&&(this['_sendToClient'](_0x57a792,{'type':_0x2f91cc(0xe2),'channels':_0x50bf89,'timestamp':new Date()[_0x2f91cc(0xbf)]()}),this['_logger']['debug']({'event':_0x2d2647[_0x2f91cc(0xc3)],'channels':_0x50bf89},'Client\x20subscribed\x20to:\x20'+_0x50bf89['join'](',\x20')));}[a0_0x4ada65(0xaf)](_0x316c84,_0x514247){const _0x329dc6=a0_0x4ada65,_0x4b350b={'gVrLK':function(_0x244686,_0x397985){return _0x244686===_0x397985;},'TyxHR':_0x329dc6(0xba)};if(!Array['isArray'](_0x514247))return;const _0x47e6f1=[];for(const _0x368b5f of _0x514247){this['_subscriptions'][_0x329dc6(0xdd)](_0x368b5f)&&(this[_0x329dc6(0xeb)]['get'](_0x368b5f)[_0x329dc6(0xf1)](_0x316c84),_0x4b350b['gVrLK'](this['_subscriptions']['get'](_0x368b5f)[_0x329dc6(0x118)],0x0)&&this['_subscriptions']['delete'](_0x368b5f)),_0x316c84[_0x329dc6(0xfe)][_0x329dc6(0xf1)](_0x368b5f),_0x47e6f1[_0x329dc6(0xe6)](_0x368b5f);}_0x47e6f1[_0x329dc6(0xb6)]>0x0&&this['_sendToClient'](_0x316c84,{'type':_0x4b350b[_0x329dc6(0x117)],'channels':_0x47e6f1,'timestamp':new Date()[_0x329dc6(0xbf)]()});}[a0_0x4ada65(0x10b)](_0x5c19a0){const _0x1654b8=a0_0x4ada65;if(!_0x5c19a0[_0x1654b8(0xfe)])return;for(const _0x48198 of _0x5c19a0[_0x1654b8(0xfe)]){this[_0x1654b8(0xeb)]['has'](_0x48198)&&(this[_0x1654b8(0xeb)]['get'](_0x48198)['delete'](_0x5c19a0),this['_subscriptions'][_0x1654b8(0xcf)](_0x48198)[_0x1654b8(0x118)]===0x0&&this[_0x1654b8(0xeb)]['delete'](_0x48198));}_0x5c19a0[_0x1654b8(0xfe)][_0x1654b8(0x10e)]();}[a0_0x4ada65(0xb2)](_0x1c8cef,_0x104936){const _0x5d27a8=a0_0x4ada65,_0x1e81f1={'wjXil':function(_0x279bce,_0x263090){return _0x279bce===_0x263090;}};if(_0x1e81f1[_0x5d27a8(0x12f)](_0x1c8cef[_0x5d27a8(0x133)],0x1))try{_0x1c8cef[_0x5d27a8(0x13c)](JSON[_0x5d27a8(0xe4)](_0x104936));}catch(_0x613d9b){}}['_startHeartbeat'](_0x121e39){const _0x3778c1=a0_0x4ada65,_0x2e3afb={'QhBNS':function(_0x31b1e6,_0x425231,_0x12371d){return _0x31b1e6(_0x425231,_0x12371d);},'mtejO':function(_0x5a4822,_0x26bdee){return _0x5a4822*_0x26bdee;}};this['_heartbeatTimer']=_0x2e3afb[_0x3778c1(0xda)](setInterval,()=>{const _0x5b39e8=_0x3778c1;if(!this['_wss'])return;for(const _0x19d935 of this['_wss'][_0x5b39e8(0x123)]){if(!_0x19d935['isAlive']){this['_removeClientFromAllChannels'](_0x19d935),_0x19d935[_0x5b39e8(0xc8)]();continue;}_0x19d935[_0x5b39e8(0x10c)]=![],this['_sendToClient'](_0x19d935,{'type':'ping','timestamp':new Date()['toISOString']()});try{_0x19d935[_0x5b39e8(0x103)]();}catch(_0x3df07d){}}},_0x2e3afb['mtejO'](_0x121e39,0x3e8));}['_setupRedisPublisher'](){const _0x45c1bc=a0_0x4ada65,_0xb85228={'VbzGU':function(_0x3a3754,_0x10281f){return _0x3a3754(_0x10281f);},'GYbYf':'../../utils/redis-client','tKOwJ':function(_0x183812,_0x5918b8){return _0x183812(_0x5918b8);},'hBXQY':'127.0.0.1','PLkGJ':function(_0x147069,_0x5759e6,_0x1a8992){return _0x147069(_0x5759e6,_0x1a8992);},'CbMkF':'livesync_redis_unavailable'};this[_0x45c1bc(0xea)]=![];try{try{const _0x26d344=_0xb85228['VbzGU'](require,_0xb85228[_0x45c1bc(0x128)]);this[_0x45c1bc(0xf3)]=_0x26d344['getClient']?_0x26d344[_0x45c1bc(0x12b)]():null;}catch(_0x2aeca4){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x3b91bd=_0xb85228[_0x45c1bc(0xf7)](require,'ioredis'),_0x33adcb={'host':process['env'][_0x45c1bc(0x12d)]||_0xb85228[_0x45c1bc(0x102)],'port':parseInt(process[_0x45c1bc(0xf6)][_0x45c1bc(0xf4)],0xa)||0x18eb,'password':process['env'][_0x45c1bc(0xfc)]||undefined,'db':_0xb85228['PLkGJ'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x45c1bc(0xf3)]=new _0x3b91bd(_0x33adcb),this[_0x45c1bc(0xea)]=!![],this['_redisPublisher'][_0x45c1bc(0xe0)]()[_0x45c1bc(0x13a)](()=>{const _0x2b85b2=_0x45c1bc;this['_logger'][_0x2b85b2(0x106)]({'event':'livesync_redis_publisher_failed'},_0x2b85b2(0x121)),this['_redisPublisher']=null;});}}catch(_0x55aac9){this[_0x45c1bc(0x109)][_0x45c1bc(0x106)]({'event':_0xb85228['CbMkF'],'error':_0x55aac9['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x55aac9['message']);}}[a0_0x4ada65(0xd6)](){const _0x42cccb=a0_0x4ada65,_0x4b123c={'YsWYd':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','JYXfv':_0x42cccb(0x13b),'PqzQi':_0x42cccb(0x135),'qtamE':_0x42cccb(0xec),'EukAL':'livesync_redis_subscriber_failed','lNKDS':'127.0.0.1','MMymD':function(_0x4e1ab2,_0x354ab0,_0xde23a9){return _0x4e1ab2(_0x354ab0,_0xde23a9);},'Tdexd':function(_0x4ace8,_0x554d22){return _0x4ace8(_0x554d22);},'sGjjK':_0x42cccb(0x10a)};this['_ownPublisher']=![];try{const _0x52b653=require(_0x42cccb(0xb1)),_0x4a4dd8={'host':process['env'][_0x42cccb(0x12d)]||_0x4b123c['lNKDS'],'port':_0x4b123c[_0x42cccb(0x13d)](parseInt,process[_0x42cccb(0xf6)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x42cccb(0xf6)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x42cccb(0xf6)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x52e983=_0x4b123c['Tdexd'](require,_0x42cccb(0xc1));this[_0x42cccb(0xf3)]=_0x52e983[_0x42cccb(0x12b)]?_0x52e983[_0x42cccb(0x12b)]():null;}catch(_0x4bcceb){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x52b653(_0x4a4dd8),this[_0x42cccb(0xea)]=!![],this[_0x42cccb(0xf3)]['connect']()[_0x42cccb(0x13a)](()=>{const _0x1da57f=_0x42cccb;this[_0x1da57f(0x109)]['warn']({'event':_0x1da57f(0xb5)},_0x4b123c['YsWYd']),this[_0x1da57f(0xf3)]=null;})),this[_0x42cccb(0xab)]=new _0x52b653(_0x4a4dd8),this['_redisSubscriber'][_0x42cccb(0xe0)]()['then'](()=>{const _0x5bd6ea=_0x42cccb,_0xe24bba={'HUwDC':function(_0x177ab9,_0x13ea0a){return _0x177ab9===_0x13ea0a;}};this[_0x5bd6ea(0xab)]['subscribe'](REDIS_CHANNEL_PREFIX+_0x5bd6ea(0xdb),_0x4f073b=>{const _0x4b6bf4=_0x5bd6ea;if(_0x4f073b){this[_0x4b6bf4(0x109)]['error']({'event':_0x4b123c['JYXfv'],'error':_0x4f073b['message']},_0x4b6bf4(0xb4)+_0x4f073b['message']);return;}this['_logger'][_0x4b6bf4(0xd4)]({'event':_0x4b6bf4(0x100)},_0x4b123c['PqzQi']);}),this[_0x5bd6ea(0xab)]['on'](_0x4b123c['qtamE'],(_0x39796f,_0x3f4639)=>{const _0x83810f=_0x5bd6ea;try{const _0x468a7c=JSON['parse'](_0x3f4639);if(_0xe24bba['HUwDC'](_0x468a7c[_0x83810f(0xe9)],this['_workerId']))return;this[_0x83810f(0x107)](_0x468a7c['channel'],_0x468a7c[_0x83810f(0xec)]);}catch(_0x4379dc){}});})['catch'](()=>{this['_logger']['warn']({'event':_0x4b123c['EukAL']},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this['_redisSubscriber']=null;});}catch(_0x2062b2){this['_logger'][_0x42cccb(0x106)]({'event':_0x4b123c[_0x42cccb(0xac)],'error':_0x2062b2[_0x42cccb(0xec)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x2062b2['message']);}}['_broadcastLocal'](_0x4bb487,_0xebad2d){const _0x25c6d8=a0_0x4ada65,_0x2b1112={'jWaZP':'data_change','uiavW':function(_0x414cd4,_0x519e4e){return _0x414cd4===_0x519e4e;}};if(!this['_wss'])return;const _0x594861=JSON[_0x25c6d8(0xe4)]({'type':_0x2b1112['jWaZP'],'channel':_0x4bb487,'action':_0xebad2d['action'],'data':_0xebad2d['data'],'requestId':_0xebad2d['requestId']||null,'timestamp':new Date()[_0x25c6d8(0xbf)]()}),[_0x1c3f91]=_0x4bb487[_0x25c6d8(0x116)](':');for(const [_0x651fc7,_0x37e90b]of this['_subscriptions']){const _0x3485c4=_0x2b1112['uiavW'](_0x651fc7,_0x4bb487),_0x506b81=_0x651fc7===_0x1c3f91+':*';if(_0x3485c4||_0x506b81)for(const _0x4eeab1 of _0x37e90b){if(_0x4eeab1['readyState']===0x1)try{_0x4eeab1[_0x25c6d8(0x13c)](_0x594861);}catch(_0x111a0b){}}}}}module['exports']=WebSocketBroadcaster;function a0_0x2eb5(){const _0x5b8f77=['uKvesvnFue9sva','DxbNCMfKzq','zw52','DeTpD0O','x3nLDhvWuMvKAxnqDwjSAxnOzxi','l3DZ','mZe1shrkExvl','BgL2zxn5BMnFD3nZx2vYCM9Y','uKvesvnFueftu1DpuKq','rMfrve8','C3vIC2nYAwjLzenOyw5UzwXZ','y29UBMvJDgLVBG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','CgfYC2u','AejyuvK','CgLUzW','ig9Uia','x2LUAxrPywXPEMvK','D2fYBG','x2jYB2fKy2fZDeXVy2fS','EgHiD1u','x2XVz2DLCG','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','AxnbBgL2zq','C2v0','y2XLyxi','Aw5PDgLHBgL6zq','Aw5JBhvKzxm','x21Vzgu','nJaZmtHxwNzxt2O','AxnbCNjHEq','zgvZDhjVEq','vMHftfG','C3bSAxq','vhL4sfi','C2L6zq','x3b1yMXPC2HuB1jLzgLZ','ywLbt2C','C29JA2v0','mtm2ode0nZzjA2jgquu','ChvIBgLZAgvY','DhLWzq','x2HHBMrSzvn1yNnJCMLIzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','CMvZDgzVCMDLoMXPDMvZEw5JoG','y2XPzw50CW','sw5Ztwy','Ec1HCgKTA2v5','Cg9UzW','zw1PDa','r1LIwwy','CvbRwwq','zuLpwvC','z2v0q2XPzw50','C2vHCMnOugfYyw1Z','uKvesvnFse9tva','Dg9tDhjPBMC','D2PyAwW','zgvIDwC','ihnODxqGzg93BG','ndy5odm5mM1frwLxzW','CMvHzhLtDgf0zq','s3PuAKq','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','s3rHDNq','AgvHzgvYCW','sev6Cw8','AxrLu0W','y2f0y2G','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','C2vUza','tu15Buq','x3jLzgLZu3vIC2nYAwjLCG','C0DQAKS','ywn0Aw9U','BffmtuK','x2HHBMrSzvvUC3vIC2nYAwjL','mJq4mJqXre9WvvjO','Aw9YzwrPCW','x3nLBMruB0nSAwvUDa','mZe3odu0mMT6uMHpqG','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','BgvUz3rO','EwvfBK0','ChvIBgLZAa','ywrK','Dw5ZDwjZy3jPyMvK','zgf0yv9JAgfUz2u','x2HLyxj0yMvHDfrPBwvY','C3rYAw5N','r3Lmve4','Dg9ju09tDhjPBMC','zMfXtvC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','D3jPDgu','z2rdCvC','x3DZCW','x29WDgLVBNm','AwfXzvy','BgL2zxn5BMnFAw5PDgLHBgL6zwq','DgvYBwLUyxrL','mtiWBKHgBvry','wLfYBge','C3rHCNrZv2L0Aa','Bg9Nz2vY','DxjS','Dw5ZDwjZy3jPyMu','z2v0','lI4VlI4VDxrPBhmVBg9Nz2vY','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','C2H1DgrVD24','x2HHBMrSzunVBM5Ly3rPB24','Aw5MBW','AxnjBML0AwfSAxPLza','x3nLDhvWuMvKAxm','sufOqxq','q2fSq0q','x3nLDhvWvxbNCMfKzuf1DgG','uwHctLm','yNjVywrJyxn0','y2fSBa','AgfZ','mtC3mJeXnMj5AMrzDW','BgLZDgvUzxjZ','y29UBMvJDa','mtKXndaWB1bnshnL','C3vIC2nYAwjLza','zxjYB3i','C3rYAw5NAwz5','CMvTB3zLqwXStgLZDgvUzxjZ','ChvZAa','sw52ywXPzcbku09oig1LC3nHz2u','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','D29YA2vYswq','x293BLb1yMXPC2HLCG','x3n1yNnJCMLWDgLVBNm','BwvZC2fNzq','x3n0yxj0sgvHCNrIzwf0','CxvPDa','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','y2XVC2u','zgvSzxrL','ALDmuNa','x3jLzgLZuhvIBgLZAgvY'];a0_0x2eb5=function(){return _0x5b8f77;};return a0_0x2eb5();}
|
|
1
|
+
'use strict';function a0_0xe31c(){const _0x40f188=['tgL2zsbtEw5Jia','u3Pdvei','x2HHBMrSzunVBM5Ly3rPB24','C05iBue','BuDjBLa','BwvZC2fNzq','z2v0','AKfzBhO','x2HHBMrSzvvUC3vIC2nYAwjL','Cg9UzW','BgL2zxn5BMnFC3vIC2nYAwjL','AxnbBgL2zq','x29WDgLVBNm','CMvTB3zLqwXStgLZDgvUzxjZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','CgfYC2u','zgvSzxrL','zgvZDhjVEq','Aw5PDgLHBgL6zq','x293BLb1yMXPC2HLCG','mJrhAvr3Au4','vxnnzgi','zgvIDwC','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','ANnYtgu','zgf0yq','Dw5ZDwjZy3jPyMu','AxnjBML0AwfSAxPLza','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLDhvWuMvKAxm','C2XPy2u','z2v0q2XPzw50','uKLJAei','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','uNfWtuS','zhrtCKW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','AK1fzu4','x3n1yNnJCMLWDgLVBNm','mtmYmZC0ovDfD0LVvW','z1btB1G','ignSAwvUDcHZkq','sxb1vM0','x2LUAxrPywXPEMvK','Bg9Nz2vY','l3DZ','C3rHCNrZv2L0Aa','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BKzkEKy','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','x2XVz2DLCG','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','DgvYBwLUyxrL','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x3jLzgLZuhvIBgLZAgvY','Ec1HCgKTA2v5','nvnzCwPSsW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BgvUz3rO','nZG2tuvnDLnr','y2XLyxi','u3ngv2C','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','qNjVywrJyxn0ia','zxjYB3i','rursA1G','BhfotuW','C2vHCMnOugfYyw1Z','CMvXDwvZDeLK','rMHergG','Aw5JBhvKzxm','Aw5MBW','D2fYBG','x2HLyxj0yMvHDfrPBwvY','CgLUzW','AgvHzgvYCW','zxHWB3j0CW','AK1dtva','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','zNvSBa','DxjS','zw52','x3DZCW','t1HlyvC','Dw5ZDwjZy3jPyMvK','C2v0','ihrVia','x2HHBMrSzvn1yNnJCMLIzq','ufz2yKy','CMvTB3rLqwrKCMvZCW','zMHrv3u','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Aw9YzwrPCW','y2XPzw50CW','DxbNCMfKzq','mZC3nZi2ogL3BMX1rW','y2f0y2G','AgfZ','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','C29JA2v0','mJyZmxnyt3fmDG','ywrK','nZGXmtm0me95zwjbvq','ChvZAa','ExDWBxu','x3n0yxj0sgvHCNrIzwf0','Dg9ju09tDhjPBMC','y2DWD1y','x3nLDhvWvxbNCMfKzuf1DgG','mtu0mdKYzM9VruXl','lI4VlI4VDxrPBhmVBg9Nz2vY','CxvPDa','mJi3nZyXmtzZuNDOrgO','DwjNvKK','DhLWzq','C3vIC2nYAwjL','oxPyAxL6qq','Bg9JywXOB3n0','x21Vzgu','D3jPDgu','AxnbCNjHEq','wNn5DMm','uKvesvnFueftu1DpuKq','x3jLzgLZu3vIC2nYAwjLCG','C3rYAw5NAwz5','y29UBMvJDgLVBG','x3nLBMruB0nSAwvUDa','x3nLDhvWuMvKAxnqDwjSAxnOzxi','ywn0Aw9U','mJG5mZK1mLrgBLzIqG','y2XVC2u','C3vIC2nYAwjLzenOyw5UzwXZ','yNjVywrJyxn0'];a0_0xe31c=function(){return _0x40f188;};return a0_0xe31c();}const a0_0xa2ae=a0_0x4d8d;(function(_0x2634f1,_0x192f01){const _0x203d9d=a0_0x4d8d,_0x2ebb1d=_0x2634f1();while(!![]){try{const _0x39f16f=parseInt(_0x203d9d(0xfb))/0x1*(-parseInt(_0x203d9d(0xd2))/0x2)+parseInt(_0x203d9d(0x104))/0x3+parseInt(_0x203d9d(0xf6))/0x4*(-parseInt(_0x203d9d(0xcf))/0x5)+parseInt(_0x203d9d(0xa9))/0x6*(-parseInt(_0x203d9d(0xbe))/0x7)+parseInt(_0x203d9d(0x91))/0x8*(parseInt(_0x203d9d(0x10b))/0x9)+parseInt(_0x203d9d(0xfd))/0xa+parseInt(_0x203d9d(0x107))/0xb;if(_0x39f16f===_0x192f01)break;else _0x2ebb1d['push'](_0x2ebb1d['shift']());}catch(_0x5aed73){_0x2ebb1d['push'](_0x2ebb1d['shift']());}}}(a0_0xe31c,0x81696));function a0_0x4d8d(_0x560366,_0x3fbbfc){_0x560366=_0x560366-0x8a;const _0xe31c29=a0_0xe31c();let _0x4d8d33=_0xe31c29[_0x560366];if(a0_0x4d8d['EFXnir']===undefined){var _0x3ab57f=function(_0x16b1fe){const _0x74817c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4583bc='',_0x4ebba9='';for(let _0x2eccf4=0x0,_0x5de882,_0x19116f,_0x447fab=0x0;_0x19116f=_0x16b1fe['charAt'](_0x447fab++);~_0x19116f&&(_0x5de882=_0x2eccf4%0x4?_0x5de882*0x40+_0x19116f:_0x19116f,_0x2eccf4++%0x4)?_0x4583bc+=String['fromCharCode'](0xff&_0x5de882>>(-0x2*_0x2eccf4&0x6)):0x0){_0x19116f=_0x74817c['indexOf'](_0x19116f);}for(let _0x68113=0x0,_0x41c326=_0x4583bc['length'];_0x68113<_0x41c326;_0x68113++){_0x4ebba9+='%'+('00'+_0x4583bc['charCodeAt'](_0x68113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ebba9);};a0_0x4d8d['FOhnrf']=_0x3ab57f,a0_0x4d8d['ofdIsF']={},a0_0x4d8d['EFXnir']=!![];}const _0x3dc829=_0xe31c29[0x0],_0x6d3d51=_0x560366+_0x3dc829,_0x2fe52b=a0_0x4d8d['ofdIsF'][_0x6d3d51];return!_0x2fe52b?(_0x4d8d33=a0_0x4d8d['FOhnrf'](_0x4d8d33),a0_0x4d8d['ofdIsF'][_0x6d3d51]=_0x4d8d33):_0x4d8d33=_0x2fe52b,_0x4d8d33;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0xa2ae(0xe7)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x41167c=a0_0xa2ae;this[_0x41167c(0xe9)]=null,this['_initialized']=![],this['_mode']=null,this[_0x41167c(0xa1)]={},this[_0x41167c(0xc9)]=console,this[_0x41167c(0xbd)]=new Map(),this[_0x41167c(0xe0)]=null,this['_redisPublisher']=null,this[_0x41167c(0x8b)]=null,this['_workerId']=process['pid'];}[a0_0xa2ae(0xa7)](_0x58238e,_0x301413={}){const _0x2c5a86=a0_0xa2ae,_0x17e170={'PAutb':function(_0x4a99c6,_0x4e7618,_0x5a55a8){return _0x4a99c6(_0x4e7618,_0x5a55a8);},'Zsyvc':'livesync_initialized','IpuVm':'/ws'};if(this['_initialized'])return;this['_options']=_0x301413,this[_0x2c5a86(0x10d)]=_0x2c5a86(0xe6);try{this['_logger']=require('../../utils/logger')[_0x2c5a86(0xc3)]||console;}catch(_0x14f192){this[_0x2c5a86(0xc9)]=console;}const _0x23de91=_0x17e170['PAutb'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x58238e,'path':_0x2c5a86(0xc4)}),this['_setupUpgradeAuth'](_0x58238e),this['_wss']['on']('connection',(_0x44a2e4,_0x51cb66)=>this[_0x2c5a86(0x97)](_0x44a2e4,_0x51cb66)),this[_0x2c5a86(0xe9)]['on']('error',_0x2a557b=>{const _0x18025e=_0x2c5a86;this['_logger']['error']({'event':'livesync_wss_error','error':_0x2a557b[_0x18025e(0x9a)]},'WebSocket\x20server\x20error:\x20'+_0x2a557b['message']);}),this['_startHeartbeat'](_0x23de91),this[_0x2c5a86(0xb3)](),this['_initialized']=!![],this[_0x2c5a86(0xc9)]['info']({'event':_0x17e170[_0x2c5a86(0x110)],'mode':_0x2c5a86(0xe6),'path':_0x17e170[_0x2c5a86(0xc1)],'heartbeat':_0x23de91+'s'},_0x2c5a86(0xc8)+_0x23de91+'s)');}['initializeAsPublisher'](_0x4f5fad={}){const _0x564615=a0_0xa2ae,_0x24ae03={'mauvs':function(_0xec5234,_0x103b77){return _0xec5234(_0x103b77);},'gbzGT':'livesync_publisher_initialized','PmEve':_0x564615(0xb8)};if(this[_0x564615(0xc2)])return;this['_options']=_0x4f5fad,this['_mode']='publisher';try{this['_logger']=_0x24ae03['mauvs'](require,_0x564615(0x105))['logger']||console;}catch(_0x5658c7){this['_logger']=console;}this[_0x564615(0x8f)](),this[_0x564615(0xc2)]=!![],this['_logger']['info']({'event':_0x24ae03['gbzGT'],'mode':'publisher'},_0x24ae03['PmEve']);}[a0_0xa2ae(0xb1)](){return this['_initialized'];}['broadcast'](_0x5f3205,_0x477564){const _0x15eb7f=a0_0xa2ae,_0x16c501={'FhDDh':'publisher','RIchB':'data_change','yjBNX':function(_0x5eaaf4,_0x201749){return _0x5eaaf4===_0x201749;},'dopUi':function(_0x1c7cad,_0xa93913){return _0x1c7cad>_0xa93913;}};if(!this['_initialized'])return;if(this['_mode']===_0x16c501[_0x15eb7f(0xdc)]){this['_publishToRedis'](_0x5f3205,_0x477564);return;}const _0x3a7b92=JSON[_0x15eb7f(0x8c)]({'type':_0x16c501[_0x15eb7f(0xb6)],'channel':_0x5f3205,'action':_0x477564['action'],'data':_0x477564[_0x15eb7f(0xaf)],'requestId':_0x477564[_0x15eb7f(0xdb)]||null,'timestamp':new Date()['toISOString']()}),[_0x12dbbb]=_0x5f3205['split'](':');let _0x3fcf6f=0x0;for(const [_0x37c39c,_0xedcac4]of this[_0x15eb7f(0xbd)]){const _0x1ebb3f=_0x16c501['yjBNX'](_0x37c39c,_0x5f3205),_0x5c3c86=_0x37c39c===_0x12dbbb+':*';if(_0x1ebb3f||_0x5c3c86)for(const _0x25d982 of _0xedcac4){if(_0x25d982['readyState']===0x1)try{_0x25d982['send'](_0x3a7b92),_0x3fcf6f++;}catch(_0x12c488){}}}_0x16c501['dopUi'](_0x3fcf6f,0x0)&&this[_0x15eb7f(0xc9)][_0x15eb7f(0xab)]({'event':'livesync_broadcast','channel':_0x5f3205,'action':_0x477564[_0x15eb7f(0x90)],'clients':_0x3fcf6f},_0x15eb7f(0xd6)+_0x477564['action']+'\x20on\x20'+_0x5f3205+_0x15eb7f(0xed)+_0x3fcf6f+_0x15eb7f(0xc0));}['_publishToRedis'](_0x16f191,_0x34b6b1){const _0x13c892=a0_0xa2ae;if(!this[_0x13c892(0xcd)])return;const _0x42cd67=JSON[_0x13c892(0x8c)]({'channel':_0x16f191,'message':_0x34b6b1,'workerId':this['_workerId']});this[_0x13c892(0xcd)]['publish'](REDIS_CHANNEL_PREFIX+_0x13c892(0x94),_0x42cd67)[_0x13c892(0xf7)](()=>{});}['shutdown'](){const _0xde0e5=a0_0xa2ae,_0x1ad228={'qVgDF':function(_0x1f2c55,_0x277849){return _0x1f2c55(_0x277849);}};if(!this[_0xde0e5(0xc2)])return;this['_heartbeatTimer']&&(_0x1ad228['qVgDF'](clearInterval,this[_0xde0e5(0xe0)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x2053bb of this['_wss'][_0xde0e5(0xf4)]){try{_0x2053bb['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x102c32){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0xde0e5(0xb0)](),this[_0xde0e5(0x8b)][_0xde0e5(0x106)]();}catch(_0x47ee77){}if(this['_ownPublisher']&&this[_0xde0e5(0xcd)])try{this[_0xde0e5(0xcd)]['quit']();}catch(_0x433b8a){}this[_0xde0e5(0xbd)][_0xde0e5(0xd3)](),this[_0xde0e5(0xc2)]=![],this[_0xde0e5(0xc9)][_0xde0e5(0xde)]({'event':'livesync_shutdown','mode':this['_mode']},_0xde0e5(0x95)+this['_mode']+'\x20shut\x20down');}[a0_0xa2ae(0x103)](_0x2bc239){const _0x41bac8=a0_0xa2ae,_0x18d2a={'Zegsw':_0x41bac8(0x8d),'sNHmA':'/ws','PVvbF':_0x41bac8(0xce),'dtSrL':_0x41bac8(0xf5)},_0x81fd4e=_0x2bc239['listeners'](_0x18d2a['dtSrL'])[_0x41bac8(0xb4)]();_0x2bc239[_0x41bac8(0xa2)](_0x18d2a[_0x41bac8(0xba)]),_0x2bc239['on'](_0x41bac8(0xf5),(_0x2d6c20,_0x14e727,_0x4c6ffd)=>{const _0x571bfa=_0x41bac8;if(!_0x2d6c20[_0x571bfa(0xe7)]||!_0x2d6c20['url'][_0x571bfa(0xc5)](_0x18d2a[_0x571bfa(0x98)])){for(const _0x218694 of _0x81fd4e){_0x218694['call'](_0x2bc239,_0x2d6c20,_0x14e727,_0x4c6ffd);}return;}if(this['_options']['apiKey']){const _0x27c7f8=new URL(_0x2d6c20['url'],'http://'+(_0x2d6c20['headers']['host']||_0x571bfa(0x10c))),_0x6e4c1=_0x27c7f8[_0x571bfa(0xda)]['get']('x-api-key')||_0x2d6c20['headers'][_0x18d2a[_0x571bfa(0xef)]];if(!_0x6e4c1||_0x6e4c1!==this[_0x571bfa(0xa1)]['apiKey']){_0x14e727[_0x571bfa(0x10e)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x14e727[_0x571bfa(0xa6)]();return;}}this['_wss']['handleUpgrade'](_0x2d6c20,_0x14e727,_0x4c6ffd,_0x353881=>{this['_wss']['emit'](_0x18d2a['Zegsw'],_0x353881,_0x2d6c20);});});}[a0_0xa2ae(0x97)](_0x566cc1,_0x5ab03f){const _0x51e4d0=a0_0xa2ae,_0x31d0ae={'jsrLe':_0x51e4d0(0xd7),'zyPlW':_0x51e4d0(0xb2),'mGInP':_0x51e4d0(0x92)};_0x566cc1['isAlive']=!![],_0x566cc1['subscribedChannels']=new Set();const _0x4e17e1=_0x5ab03f[_0x51e4d0(0xe2)]['x-forwarded-for']||_0x5ab03f[_0x51e4d0(0xfa)][_0x51e4d0(0xf0)];this[_0x51e4d0(0xc9)]['info']({'event':_0x31d0ae['zyPlW'],'ip':_0x4e17e1},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x4e17e1),_0x566cc1['on'](_0x51e4d0(0x9e),()=>{_0x566cc1['isAlive']=!![];}),_0x566cc1['on']('message',_0x4f918d=>{const _0x29291d=_0x51e4d0;try{const _0x50978c=JSON[_0x29291d(0xa4)](_0x4f918d['toString']());this['_handleClientMessage'](_0x566cc1,_0x50978c);}catch(_0x4a5720){this[_0x29291d(0x8e)](_0x566cc1,{'type':_0x31d0ae[_0x29291d(0xae)],'message':'Invalid\x20JSON\x20message'});}}),_0x566cc1['on'](_0x31d0ae[_0x51e4d0(0x99)],()=>{const _0x4036d1=_0x51e4d0;this[_0x4036d1(0xd0)](_0x566cc1),this['_logger']['debug']({'event':_0x4036d1(0xac),'ip':_0x4e17e1},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x4e17e1);}),_0x566cc1['on']('error',_0x3ea464=>{const _0x143097=_0x51e4d0;this['_logger']['warn']({'event':_0x143097(0xd5),'error':_0x3ea464[_0x143097(0x9a)]},_0x143097(0xca)+_0x3ea464['message']),this[_0x143097(0xd0)](_0x566cc1);});}['_handleClientMessage'](_0x42ca61,_0x552d64){const _0x3ffac0=a0_0xa2ae,_0x19e3a2={'rLyHH':_0x3ffac0(0x10a),'EDRkX':_0x3ffac0(0xb0),'OXZeh':_0x3ffac0(0x9e)};switch(_0x552d64[_0x3ffac0(0x109)]){case _0x19e3a2['rLyHH']:this[_0x3ffac0(0xee)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2[_0x3ffac0(0xd8)]:this[_0x3ffac0(0x9d)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2['OXZeh']:_0x42ca61[_0x3ffac0(0xa0)]=!![];break;default:this['_sendToClient'](_0x42ca61,{'type':'error','message':_0x3ffac0(0xad)+_0x552d64[_0x3ffac0(0x109)]});}}[a0_0xa2ae(0xee)](_0x1cf397,_0x3e4af7){const _0x2788e0=a0_0xa2ae,_0x4ad299={'nFJzF':function(_0x32eb3c,_0x8e36f7){return _0x32eb3c===_0x8e36f7;},'fAWYa':'string','RqpMK':'subscribed'};if(!Array[_0x2788e0(0x10f)](_0x3e4af7)||_0x4ad299[_0x2788e0(0xc7)](_0x3e4af7['length'],0x0)){this['_sendToClient'](_0x1cf397,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x1648ac=[];for(const _0x30d5b2 of _0x3e4af7){if(typeof _0x30d5b2!==_0x4ad299['fAWYa']||!_0x30d5b2[_0x2788e0(0xdd)](':'))continue;!this[_0x2788e0(0xbd)][_0x2788e0(0xf8)](_0x30d5b2)&&this['_subscriptions'][_0x2788e0(0xec)](_0x30d5b2,new Set()),this['_subscriptions']['get'](_0x30d5b2)['add'](_0x1cf397),_0x1cf397['subscribedChannels'][_0x2788e0(0xfc)](_0x30d5b2),_0x1648ac[_0x2788e0(0xfe)](_0x30d5b2);}_0x1648ac[_0x2788e0(0xd1)]>0x0&&(this[_0x2788e0(0x8e)](_0x1cf397,{'type':_0x4ad299[_0x2788e0(0xb9)],'channels':_0x1648ac,'timestamp':new Date()[_0x2788e0(0x101)]()}),this[_0x2788e0(0xc9)][_0x2788e0(0xab)]({'event':_0x2788e0(0x9f),'channels':_0x1648ac},_0x2788e0(0xcc)+_0x1648ac['join'](',\x20')));}[a0_0xa2ae(0x9d)](_0xa11dca,_0x28d383){const _0x1b551=a0_0xa2ae,_0x3846c8={'gPSoX':function(_0x24a493,_0x2bd87){return _0x24a493>_0x2bd87;},'SzCTB':_0x1b551(0xeb)};if(!Array[_0x1b551(0x10f)](_0x28d383))return;const _0x388dc0=[];for(const _0x3140cf of _0x28d383){this[_0x1b551(0xbd)]['has'](_0x3140cf)&&(this[_0x1b551(0xbd)][_0x1b551(0x9b)](_0x3140cf)['delete'](_0xa11dca),this['_subscriptions']['get'](_0x3140cf)['size']===0x0&&this['_subscriptions'][_0x1b551(0xa5)](_0x3140cf)),_0xa11dca[_0x1b551(0x93)]['delete'](_0x3140cf),_0x388dc0[_0x1b551(0xfe)](_0x3140cf);}_0x3846c8[_0x1b551(0xbf)](_0x388dc0['length'],0x0)&&this[_0x1b551(0x8e)](_0xa11dca,{'type':_0x3846c8[_0x1b551(0x96)],'channels':_0x388dc0,'timestamp':new Date()[_0x1b551(0x101)]()});}[a0_0xa2ae(0xd0)](_0x58d20c){const _0x56b7c1=a0_0xa2ae,_0x5983df={'fhQWu':function(_0x1a0f3f,_0x5e132b){return _0x1a0f3f===_0x5e132b;}};if(!_0x58d20c['subscribedChannels'])return;for(const _0x2e7130 of _0x58d20c[_0x56b7c1(0x93)]){this['_subscriptions']['has'](_0x2e7130)&&(this[_0x56b7c1(0xbd)][_0x56b7c1(0x9b)](_0x2e7130)[_0x56b7c1(0xa5)](_0x58d20c),_0x5983df[_0x56b7c1(0xf1)](this[_0x56b7c1(0xbd)]['get'](_0x2e7130)['size'],0x0)&&this[_0x56b7c1(0xbd)]['delete'](_0x2e7130));}_0x58d20c['subscribedChannels']['clear']();}[a0_0xa2ae(0x8e)](_0x229477,_0x2e0132){const _0x2b58c0=a0_0xa2ae;if(_0x229477['readyState']===0x1)try{_0x229477['send'](JSON[_0x2b58c0(0x8c)](_0x2e0132));}catch(_0x2e44c0){}}[a0_0xa2ae(0x100)](_0x4add1e){const _0x2f9d54=a0_0xa2ae,_0x410a14={'cgpwV':_0x2f9d54(0xe1),'UsMdb':function(_0x178645,_0x1136a3,_0x454c31){return _0x178645(_0x1136a3,_0x454c31);},'gwFZs':function(_0x4f60d5,_0x39c845){return _0x4f60d5*_0x39c845;}};this['_heartbeatTimer']=_0x410a14[_0x2f9d54(0xaa)](setInterval,()=>{const _0x156f69=_0x2f9d54;if(!this['_wss'])return;for(const _0x154ab0 of this['_wss']['clients']){if(!_0x154ab0[_0x156f69(0xa0)]){this[_0x156f69(0xd0)](_0x154ab0),_0x154ab0[_0x156f69(0xcb)]();continue;}_0x154ab0['isAlive']=![],this[_0x156f69(0x8e)](_0x154ab0,{'type':_0x410a14[_0x156f69(0x102)],'timestamp':new Date()[_0x156f69(0x101)]()});try{_0x154ab0[_0x156f69(0xe1)]();}catch(_0x36f7d6){}}},_0x410a14['gwFZs'](_0x4add1e,0x3e8));}['_setupRedisPublisher'](){const _0x4d8828=a0_0xa2ae,_0x442ee6={'POeKl':_0x4d8828(0xb7),'ywpmu':function(_0x112f93,_0x14dea1){return _0x112f93(_0x14dea1);},'jMEeN':'../../utils/redis-client'};this[_0x4d8828(0xa8)]=![];try{try{const _0x3352b0=_0x442ee6[_0x4d8828(0xff)](require,_0x442ee6[_0x4d8828(0xbc)]);this['_redisPublisher']=_0x3352b0[_0x4d8828(0xb5)]?_0x3352b0[_0x4d8828(0xb5)]():null;}catch(_0x4279eb){this['_redisPublisher']=null;}if(!this[_0x4d8828(0xcd)]){const _0x55a45c=require(_0x4d8828(0xf3)),_0x4ca467={'host':process[_0x4d8828(0xe8)]['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x4d8828(0xe8)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x55a45c(_0x4ca467),this['_ownPublisher']=!![],this[_0x4d8828(0xcd)]['connect']()['catch'](()=>{const _0x2079b1=_0x4d8828;this[_0x2079b1(0xc9)]['warn']({'event':'livesync_redis_publisher_failed'},_0x442ee6['POeKl']),this[_0x2079b1(0xcd)]=null;});}}catch(_0x5ebff4){this['_logger']['warn']({'event':_0x4d8828(0xc6),'error':_0x5ebff4['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x5ebff4['message']);}}[a0_0xa2ae(0xb3)](){const _0x5d5f48=a0_0xa2ae,_0x3a33ea={'jMCMP':function(_0x31026d,_0x5a9f4b){return _0x31026d(_0x5a9f4b);},'jAYlz':_0x5d5f48(0xf3),'lqNML':function(_0x3021e2,_0x2e3d35,_0x417455){return _0x3021e2(_0x2e3d35,_0x417455);},'tidjc':_0x5d5f48(0xf2)};this['_ownPublisher']=![];try{const _0x120e3b=_0x3a33ea['jMCMP'](require,_0x3a33ea[_0x5d5f48(0x9c)]),_0x5a5810={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x5d5f48(0x8a)]||undefined,'db':_0x3a33ea[_0x5d5f48(0xd9)](parseInt,process[_0x5d5f48(0xe8)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x39170a=_0x3a33ea[_0x5d5f48(0xe4)](require,_0x3a33ea['tidjc']);this[_0x5d5f48(0xcd)]=_0x39170a['getClient']?_0x39170a[_0x5d5f48(0xb5)]():null;}catch(_0x2c320c){this['_redisPublisher']=null;}!this[_0x5d5f48(0xcd)]&&(this[_0x5d5f48(0xcd)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0xa8)]=!![],this[_0x5d5f48(0xcd)]['connect']()['catch'](()=>{const _0x3cb3e3=_0x5d5f48;this[_0x3cb3e3(0xc9)][_0x3cb3e3(0xdf)]({'event':'livesync_redis_publisher_failed'},_0x3cb3e3(0xb7)),this[_0x3cb3e3(0xcd)]=null;})),this[_0x5d5f48(0x8b)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0x8b)]['connect']()['then'](()=>{const _0x54d8fc=_0x5d5f48,_0x3fccc0={'SsFWg':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this['_redisSubscriber'][_0x54d8fc(0x10a)](REDIS_CHANNEL_PREFIX+'broadcast',_0x492264=>{const _0x10fbb7=_0x54d8fc;if(_0x492264){this['_logger'][_0x10fbb7(0xd7)]({'event':_0x10fbb7(0xe5),'error':_0x492264['message']},_0x10fbb7(0xf9)+_0x492264[_0x10fbb7(0x9a)]);return;}this[_0x10fbb7(0xc9)]['info']({'event':'livesync_redis_subscribed'},_0x3fccc0[_0x10fbb7(0xd4)]);}),this[_0x54d8fc(0x8b)]['on']('message',(_0x53095b,_0x3f24f6)=>{const _0x8bf19=_0x54d8fc;try{const _0x4f4271=JSON[_0x8bf19(0xa4)](_0x3f24f6);if(_0x4f4271['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x4f4271['channel'],_0x4f4271['message']);}catch(_0x2a2f10){}});})[_0x5d5f48(0xf7)](()=>{const _0x2199b2=_0x5d5f48;this['_logger'][_0x2199b2(0xdf)]({'event':_0x2199b2(0xbb)},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this['_redisSubscriber']=null;});}catch(_0x565740){this['_logger'][_0x5d5f48(0xdf)]({'event':_0x5d5f48(0xc6),'error':_0x565740[_0x5d5f48(0x9a)]},_0x5d5f48(0xa3)+_0x565740['message']);}}['_broadcastLocal'](_0x1fea32,_0x30892d){const _0x40ac1a=a0_0xa2ae,_0x73c21a={'ubgVI':function(_0xcad46c,_0x5a0238){return _0xcad46c===_0x5a0238;},'OXKaW':function(_0x1a73e1,_0x4d3c11){return _0x1a73e1||_0x4d3c11;}};if(!this['_wss'])return;const _0x518687=JSON['stringify']({'type':'data_change','channel':_0x1fea32,'action':_0x30892d['action'],'data':_0x30892d['data'],'requestId':_0x30892d['requestId']||null,'timestamp':new Date()[_0x40ac1a(0x101)]()}),[_0x4281d3]=_0x1fea32['split'](':');for(const [_0x4032d9,_0x26bf4f]of this[_0x40ac1a(0xbd)]){const _0x55ac9b=_0x4032d9===_0x1fea32,_0x47a2ed=_0x73c21a[_0x40ac1a(0x108)](_0x4032d9,_0x4281d3+':*');if(_0x73c21a[_0x40ac1a(0xea)](_0x55ac9b,_0x47a2ed))for(const _0xa0b56 of _0x26bf4f){if(_0xa0b56['readyState']===0x1)try{_0xa0b56['send'](_0x518687);}catch(_0x484189){}}}}}module[a0_0xa2ae(0xe3)]=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5ce90a=a0_0x4f7a;(function(_0x270934,_0x3ad06d){const _0x2340c3=a0_0x4f7a,_0x54754f=_0x270934();while(!![]){try{const _0x2c23a7=-parseInt(_0x2340c3(0x1a4))/0x1+parseInt(_0x2340c3(0x1f0))/0x2+parseInt(_0x2340c3(0x213))/0x3+parseInt(_0x2340c3(0x1c1))/0x4*(parseInt(_0x2340c3(0x1c9))/0x5)+parseInt(_0x2340c3(0x1f9))/0x6+parseInt(_0x2340c3(0x1bb))/0x7*(-parseInt(_0x2340c3(0x1a9))/0x8)+-parseInt(_0x2340c3(0x199))/0x9;if(_0x2c23a7===_0x3ad06d)break;else _0x54754f['push'](_0x54754f['shift']());}catch(_0xd86517){_0x54754f['push'](_0x54754f['shift']());}}}(a0_0x5afb,0x7be6a));function a0_0x4f7a(_0x37fde1,_0x5553ad){_0x37fde1=_0x37fde1-0x18e;const _0x5afba4=a0_0x5afb();let _0x4f7a66=_0x5afba4[_0x37fde1];if(a0_0x4f7a['uVWlLe']===undefined){var _0x31f56c=function(_0x55a907){const _0x5073d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2467a8='',_0x105b0f='';for(let _0x1847d0=0x0,_0x51cfa2,_0x2ce818,_0x3f76ef=0x0;_0x2ce818=_0x55a907['charAt'](_0x3f76ef++);~_0x2ce818&&(_0x51cfa2=_0x1847d0%0x4?_0x51cfa2*0x40+_0x2ce818:_0x2ce818,_0x1847d0++%0x4)?_0x2467a8+=String['fromCharCode'](0xff&_0x51cfa2>>(-0x2*_0x1847d0&0x6)):0x0){_0x2ce818=_0x5073d3['indexOf'](_0x2ce818);}for(let _0x3dd356=0x0,_0x448fae=_0x2467a8['length'];_0x3dd356<_0x448fae;_0x3dd356++){_0x105b0f+='%'+('00'+_0x2467a8['charCodeAt'](_0x3dd356)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x105b0f);};a0_0x4f7a['HXPXfU']=_0x31f56c,a0_0x4f7a['OOaNxM']={},a0_0x4f7a['uVWlLe']=!![];}const _0x239c7b=_0x5afba4[0x0],_0x1a0a43=_0x37fde1+_0x239c7b,_0x306282=a0_0x4f7a['OOaNxM'][_0x1a0a43];return!_0x306282?(_0x4f7a66=a0_0x4f7a['HXPXfU'](_0x4f7a66),a0_0x4f7a['OOaNxM'][_0x1a0a43]=_0x4f7a66):_0x4f7a66=_0x306282,_0x4f7a66;}const {v7:uuidv7}=require(a0_0x5ce90a(0x1df)),path=require('path'),fs=require('fs')[a0_0x5ce90a(0x1af)],fsSync=require('fs'),redisHelper=require(a0_0x5ce90a(0x1de)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x5ce90a(0x1b0)][a0_0x5ce90a(0x19b)]||a0_0x5ce90a(0x1e6))['toLowerCase']();function a0_0x5afb(){const _0x41aa4a=['lI4VDxrPBhmVCMvKAxmTAgvSCgvY','DxvPza','shfguuW','EhD5CeO','tNDeugS','D2fYBG','id0G','BwvZC2fNzq','Cg9ZDgDYzxnXBa','Aw52ywXPzf9ZB3j0x2nVBhvTBG','vgzKu1a','DhjPBq','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','DxbKyxrLsM9I','zxjYB3i','ieLtie5vteW','y29Kzq','shnyswi','mte0ndm2oePisgzywG','vvbhCMK','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','vxnPBMCG','zxHWB3j0CW','BwfW','y29UzgL0Aw9UCW','CMfUzg9T','ntG2nZa1mMrIzKP1qq','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','zxHWB3j0x2zPBgvFzgvSzxrLza','rxHWB3j0igzHAwXLza','BM93','Aw5MBW','Dg9vChbLCKnHC2u','C3rHDhvZ','z2vUzxjHDgvfEgnLBa','vvHpA3G','zMLSztO','sgXhDg0','vgj3C3y','q1nrvvq','AM9PBG','CMvHzezPBgvtEw5J','zxHWB3j0rgLY','ieLtie5pvcbovuXm','zMLSDgvY','Dw5SAw5R','B1bOAwK','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zMLSzv9WyxrO','CMvWBgfJzq','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','CMvZB2X2zq','mtq3ntC3offvuffiDG','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','DK5UEvy','tNPTvuC','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','wNPizuy','rMfPBgvKihrVigzLDgnOigrHDge','y3jLyxrLzf9HDa','y29TCgXLDgvK','zgvSzxrLsM9I','CM91BMq','y2HHCKf0','AKTSsfa','iefticGkicaGia','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','rxHzq3m','BxLZCwW','tK9uieXjs0u','u1v0s04','D1r0zfu','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','t1r1Efy','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','CNLpzK0','A2v5CW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','CezXtLG','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','C3vIC3rYAw5N','vxnPBMCGywXSia','BgvUz3rO','ndu5mZG3mhror0X0yq','yNvPBgrxAgvYzunSyxvZzq','rejFvfLqrq','B3jHy2XL','y2XLyw51Ca','zxHWB3j0x2zLDgnOx3n0yxj0','tMDxDhu','x2v4Cg9YDerPCG','qKfgrvO','D3HWEwW','ChjVy2vZC0PVyG','nZGYmJi5quDzyNne','v0Lusca','z2v0sM9I','ufH6uhu','zMLLBgrmywjLBhm','mZeYugDMqwvM','zMLSzw5HBwu','yuzWrui','teLlrq','u1f5ELa','ieLoicG','ChjVBwLZzxm','zw52','svmGtLvmta','q09gDMO','zM1Arue','r0zJEgu','zMv0y2HeyxrH','r0D6tg4','AxnbCNjHEq','revtqW','zxHWB3j0uxvLCNK','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','mtq4nZu3qxH4qNLz','C2fUAxrPEMvwywX1zq','Dg90ywXFCM93CW','CgfYyw1Z','z2vUzxjHDgu','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','neruD0PrDa','y29SDw1UCW','cIaGicbguK9nia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxHPC3rZu3LUyW','svmGtK9uie5vteW','Dw5RBM93BL9VCgvYyxrVCG','zxHWB3j0x2zPBgvFBM90x2zVDw5K','mJKZndK3menfveTeAq','zxHWB3j0x3bYB2nLC3nFzxjYB3i','rvHqt1jux0rjuG','AxPHD2K','CvfYBNu','ignVBhvTBNmGzNjVBsbYzxf1zxn0','BfLdq0e','Cgf5Bg9Hza','vxzRq1a','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0x2PVyL9JCMvHDgvK','thjVqKS','z2v0rMLSzvbHDgG','CgvUzgLUzW','C3rYAw5N','rxftvxy','ChjVy2vZC2vKx3jVD3m','ChjVz3jLC3m','ywnJzxnZ','EKrpzuy','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu'];a0_0x5afb=function(){return _0x41aa4a;};return a0_0x5afb();}let executeQuery;if(dbType===a0_0x5ce90a(0x19c)){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x22dfce,_0x4b460b)=>oracleDb['executeQuery'](_0x22dfce,_0x4b460b);}else{if(dbType===a0_0x5ce90a(0x224)){const mysqlDb=require(a0_0x5ce90a(0x1d2));executeQuery=(_0x23099a,_0x654d1d)=>mysqlDb['executeQuery'](_0x23099a,_0x654d1d);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){const _0x4a75dc=a0_0x5ce90a;this[_0x4a75dc(0x1a0)]=null;}get[a0_0x5ce90a(0x209)](){const _0xa5db92=a0_0x5ce90a,_0x33c1f3={'tpNzR':'default','JEIZX':'export_service_init','ExYCs':function(_0x4a42a8,_0x53acfb,_0x15ff85,_0x270207){return _0x4a42a8(_0x53acfb,_0x15ff85,_0x270207);}};if(!this['_exportDir']){const _0x3b3ee9=process[_0xa5db92(0x1b0)][_0xa5db92(0x1c4)]||_0x33c1f3['tpNzR'];this['_exportDir']=process[_0xa5db92(0x1b0)][_0xa5db92(0x1cb)]||path['join'](__dirname,'../../exports/'+_0x3b3ee9);try{!fsSync['existsSync'](this[_0xa5db92(0x1a0)])&&fsSync['mkdirSync'](this[_0xa5db92(0x1a0)],{'recursive':!![]}),logger['info']({'event':_0x33c1f3['JEIZX'],'dir':this[_0xa5db92(0x1a0)]},'Export\x20service\x20initialized');}catch(_0xe68113){_0x33c1f3[_0xa5db92(0x223)](logError,_0xe68113,{'event':'export_service_init_error'},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}['resolveExportQuery'](_0xfdc0a8,_0x547bf3=null){const _0x5b64d0=a0_0x5ce90a,_0x50a79f={'Jnpsb':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','CSQUT':_0x5b64d0(0x1d0),'yzSMU':_0x5b64d0(0x215),'vINeO':'utf8','oPhii':'export_query_file_loaded'};if(!_0xfdc0a8||typeof _0xfdc0a8!=='string')return _0xfdc0a8;const _0x46a81d=_0xfdc0a8['trim']();if(!_0x46a81d['startsWith']('file:'))return _0x46a81d;const _0x4c98cf=_0x46a81d[_0x5b64d0(0x210)](/^file:/,'')[_0x5b64d0(0x1e9)]();if(!_0x4c98cf)throw new Error(_0x50a79f['Jnpsb']);const _0x22fe59=_0x547bf3||path[_0x5b64d0(0x207)](process['cwd'](),_0x50a79f[_0x5b64d0(0x206)]),_0x56c7fa=path[_0x5b64d0(0x212)](_0x22fe59,_0x4c98cf);logger[_0x5b64d0(0x1fe)]({'event':_0x50a79f['yzSMU'],'relativePath':_0x4c98cf,'baseDir':_0x22fe59,'absolutePath':_0x56c7fa},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x4c98cf);if(!fsSync[_0x5b64d0(0x1c5)](_0x56c7fa))throw new Error(_0x5b64d0(0x20e)+_0x56c7fa);try{const _0x4bf63e=fsSync[_0x5b64d0(0x208)](_0x56c7fa,_0x50a79f['vINeO']);if(!_0x4bf63e||!_0x4bf63e['trim']())throw new Error(_0x5b64d0(0x228)+_0x56c7fa);return logger['info']({'event':_0x50a79f[_0x5b64d0(0x20d)],'file':_0x56c7fa,'queryLength':_0x4bf63e['length']},_0x5b64d0(0x1c0)+_0x4bf63e['length']+'\x20chars)'),_0x4bf63e['trim']();}catch(_0xad93c8){if(_0xad93c8[_0x5b64d0(0x1ee)]==='ENOENT')throw new Error(_0x5b64d0(0x20e)+_0x56c7fa);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0xad93c8[_0x5b64d0(0x1e5)]);}}['generateJobId'](){const _0x2b11c5=a0_0x5ce90a,_0x1609a1={'PXzPu':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','zDOeF':function(_0x5c79d5,_0x2d5543){return _0x5c79d5<_0x2d5543;},'UPGri':function(_0x151083,_0x178334){return _0x151083*_0x178334;}},_0x208395=_0x1609a1[_0x2b11c5(0x1a7)],_0x318eb3=Date[_0x2b11c5(0x1fd)]()['toString'](0x24),_0x160a87=uuidv7()['replace'](/-/g,'')[_0x2b11c5(0x196)](0x0,0xc-_0x318eb3['length']),_0x498e96=(_0x318eb3+_0x160a87)[_0x2b11c5(0x196)](0x0,0xc);let _0x3ab361='';for(let _0x38197b=0x0;_0x1609a1[_0x2b11c5(0x1dc)](_0x38197b,0xc);_0x38197b++){_0x498e96[_0x38197b]?_0x3ab361+=_0x498e96[_0x38197b]:_0x3ab361+=_0x208395[_0x2b11c5(0x21f)](Math['floor'](_0x1609a1[_0x2b11c5(0x1f1)](Math[_0x2b11c5(0x1f8)](),_0x208395[_0x2b11c5(0x198)])));}return _0x3ab361;}async['createJob'](_0x2324b5){const _0x32a2b9=a0_0x5ce90a,_0x4d140b={'TfdSP':function(_0xe0807e,_0x12f688,_0x4bdb5d,_0xa06290){return _0xe0807e(_0x12f688,_0x4bdb5d,_0xa06290);},'pFqNX':_0x32a2b9(0x1d6),'vNnyV':'Export\x20job\x20created'},_0x138df4=this['generateJobId'](),_0x5d06cd={'job_id':_0x138df4,'status':_0x4d140b[_0x32a2b9(0x194)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2324b5,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x138df4,_0x5d06cd),logger['info']({'event':_0x32a2b9(0x1d3),'jobId':_0x138df4,'params':_0x2324b5},_0x4d140b[_0x32a2b9(0x216)]),this['processJob'](_0x138df4,_0x2324b5)['catch'](_0x272ad9=>{const _0x1d2c64=_0x32a2b9;_0x4d140b[_0x1d2c64(0x1e8)](logError,_0x272ad9,{'event':_0x1d2c64(0x1ca),'jobId':_0x138df4},_0x1d2c64(0x190));}),{'job_id':_0x138df4,'status':_0x4d140b[_0x32a2b9(0x194)]};}async['getJobStatus'](_0x5c9ac4){const _0x32a2ad=a0_0x5ce90a,_0x591f79={'lYCCA':function(_0x5b2c59,_0xbbc4c9){return _0x5b2c59===_0xbbc4c9;}},_0x48c80b=await redisHelper[_0x32a2ad(0x1a6)](_0x5c9ac4);if(!_0x48c80b)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x48c80b['job_id'],'status':_0x48c80b['status'],'progress':_0x48c80b[_0x32a2ad(0x1da)],'total_rows':_0x48c80b[_0x32a2ad(0x1bd)],'processed_rows':_0x48c80b[_0x32a2ad(0x1d9)],'file_url':_0x591f79[_0x32a2ad(0x1cf)](_0x48c80b[_0x32a2ad(0x200)],_0x32a2ad(0x21c))?'/api/'+_0x48c80b[_0x32a2ad(0x1be)]['moduleName']+'/'+_0x48c80b[_0x32a2ad(0x1be)]['endpointName']+_0x32a2ad(0x1f2)+_0x5c9ac4:null,'error':_0x48c80b[_0x32a2ad(0x1ec)]||null,'created_at':_0x48c80b['created_at'],'completed_at':_0x48c80b['completed_at']||null}};}async[a0_0x5ce90a(0x1a3)](_0x3af9df,_0x3958ab){const _0x416ce3=a0_0x5ce90a,_0x3ff2b0={'NwDPk':'processing','TzOIK':'Export\x20processing\x20started','HlGtm':'completed','EqSUv':function(_0xf8dda8,_0x526b97,_0x4f2e8e,_0x2013bb){return _0xf8dda8(_0x526b97,_0x4f2e8e,_0x2013bb);},'BAFEZ':_0x416ce3(0x1fc),'jyAfj':'failed'};try{await redisHelper['updateJob'](_0x3af9df,{'status':_0x3ff2b0[_0x416ce3(0x1e2)],'started_at':new Date()['toISOString']()}),logger[_0x416ce3(0x1fe)]({'event':'export_processing_start','jobId':_0x3af9df},_0x3ff2b0['TzOIK']);const _0x5e7ab0=await this[_0x416ce3(0x1b5)](_0x3958ab);await redisHelper['updateJob'](_0x3af9df,{'total_rows':_0x5e7ab0['length']});const _0xf67182=await this[_0x416ce3(0x201)](_0x3af9df,_0x5e7ab0,_0x3958ab);await redisHelper['updateJob'](_0x3af9df,{'status':_0x3ff2b0[_0x416ce3(0x204)],'progress':0x64,'file_path':_0xf67182,'completed_at':new Date()['toISOString']()}),logger[_0x416ce3(0x1fe)]({'event':'export_completed','jobId':_0x3af9df,'rows':_0x5e7ab0['length']},'Export\x20completed\x20successfully');}catch(_0x4b6d4b){_0x3ff2b0[_0x416ce3(0x1d8)](logError,_0x4b6d4b,{'event':'export_failed','jobId':_0x3af9df},_0x3ff2b0[_0x416ce3(0x1a1)]),await redisHelper['updateJob'](_0x3af9df,{'status':_0x3ff2b0['jyAfj'],'error':_0x4b6d4b[_0x416ce3(0x1e5)],'failed_at':new Date()['toISOString']()});}}async[a0_0x5ce90a(0x1b5)](_0x163723){const _0x228d67=a0_0x5ce90a,_0x19a2d2={'YjVkC':function(_0x17e447,_0x2ed931){return _0x17e447||_0x2ed931;},'aFpEB':function(_0xf8d142,_0xa369f5){return _0xf8d142===_0xa369f5;},'COFvj':function(_0x1b90ad,_0x3da39d){return _0x1b90ad+_0x3da39d;},'OTuxV':_0x228d67(0x203),'SQyzP':_0x228d67(0x1f3),'TrMOH':_0x228d67(0x222),'uBRIj':'export_using_auto_query','fmZEA':'Using\x20auto-generated\x20query','UvkCP':_0x228d67(0x19e),'YqHdw':function(_0x143649,_0x1bf2c3){return _0x143649(_0x1bf2c3);},'HsXIb':function(_0xc2bd2e,_0x1c5c5d){return _0xc2bd2e>_0x1c5c5d;},'aeYLk':'export_fetch_complete','cEFSQ':function(_0x4fcd88,_0x1ce96a,_0x5350c3,_0x147e6c){return _0x4fcd88(_0x1ce96a,_0x5350c3,_0x147e6c);},'yaXpj':'export_fetch_error'};try{const {tableName:_0x1a0f1d,columns:_0x36ac64,exportQuery:_0x4815ca,where:_0x1ff8ea,sort_columns:_0x269924}=_0x163723;if(_0x19a2d2['YjVkC'](!_0x1a0f1d,!_0x36ac64)||_0x19a2d2[_0x228d67(0x1ab)](_0x36ac64['length'],0x0))throw new Error(_0x228d67(0x1fa));const _0x41b145=_0x19a2d2[_0x228d67(0x1b2)](_0x1a0f1d[_0x228d67(0x210)](/\./g,'_'),'_data');let _0x142efc;if(_0x4815ca&&_0x4815ca['trim']()){let _0x22ff6a=_0x4815ca;_0x4815ca['trim']()['startsWith'](_0x19a2d2[_0x228d67(0x18e)])&&(_0x22ff6a=this['resolveExportQuery'](_0x4815ca)),_0x142efc=_0x228d67(0x1a5)+_0x41b145+_0x228d67(0x221)+_0x22ff6a+'\x0a)',_0x142efc+='\x0aSELECT\x20*\x20FROM\x20'+_0x41b145,logger[_0x228d67(0x1fe)]({'event':_0x19a2d2[_0x228d67(0x1ad)],'query':_0x22ff6a['substring'](0x0,0x64)},_0x19a2d2['TrMOH']);}else{const _0xb851f8=_0x36ac64['map'](_0x62aaba=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x62aaba)[_0x228d67(0x207)](',');_0x142efc=_0x228d67(0x1a5)+_0x41b145+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0xb851f8+_0x228d67(0x1c3)+_0x1a0f1d+'\x0a)',_0x142efc+='\x0aSELECT\x20*\x20FROM\x20'+_0x41b145,logger['info']({'event':_0x19a2d2['uBRIj'],'tableName':_0x1a0f1d,'columnCount':_0x36ac64['length']},_0x19a2d2[_0x228d67(0x1b3)]);}if(_0x1ff8ea){const _0x1e5c3d=this[_0x228d67(0x19a)](_0x1ff8ea);_0x1e5c3d&&(_0x142efc+='\x0aWHERE\x20'+_0x1e5c3d);}if(_0x269924&&_0x269924[_0x228d67(0x198)]>0x0){const _0x1779a1=this['buildOrderByClause'](_0x269924);_0x1779a1&&(_0x142efc+='\x0aORDER\x20BY\x20'+_0x1779a1);}logger['info']({'event':_0x19a2d2[_0x228d67(0x1d1)],'query':_0x142efc[_0x228d67(0x196)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x5b9e79=await _0x19a2d2['YqHdw'](executeQuery,_0x142efc);let _0xcb856e=_0x5b9e79;return _0x19a2d2['aFpEB'](dbType,'oracle')&&_0x5b9e79&&_0x19a2d2[_0x228d67(0x1ef)](_0x5b9e79[_0x228d67(0x198)],0x0)&&(_0xcb856e=_0x5b9e79['map'](_0x4656a1=>{const _0x3d92a4={};for(const [_0x4a4ced,_0x3cf4b1]of Object['entries'](_0x4656a1)){_0x3d92a4[_0x4a4ced['toLowerCase']()]=_0x3cf4b1;}return _0x3d92a4;})),logger[_0x228d67(0x1fe)]({'event':_0x19a2d2['aeYLk'],'rows':_0xcb856e['length']},'Data\x20fetched\x20successfully'),_0xcb856e;}catch(_0x528394){_0x19a2d2['cEFSQ'](logError,_0x528394,{'event':_0x19a2d2['yaXpj']},_0x228d67(0x21a));throw _0x528394;}}[a0_0x5ce90a(0x1bc)](_0x4cdbea){const _0x5f582b=a0_0x5ce90a,_0x37d995={'izawi':function(_0x4a19f7,_0x9dcdbb){return _0x4a19f7===_0x9dcdbb;}};if(_0x37d995[_0x5f582b(0x1cc)](typeof _0x4cdbea,'string'))return _0x4cdbea[_0x5f582b(0x210)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x5f582b(0x1b7)](_0x4cdbea))return _0x4cdbea['map'](_0x306195=>this['sanitizeValue'](_0x306195));}return _0x4cdbea;}['buildWhereClause'](_0x19786d){const _0x278228=a0_0x5ce90a,_0xd206cd={'Tbwsv':function(_0x42d2f9,_0x54fe75){return _0x42d2f9===_0x54fe75;},'SUtKN':_0x278228(0x1d7),'NgWtu':function(_0x19aaca,_0x560a49){return _0x19aaca!==_0x560a49;},'sWVdd':_0x278228(0x1ac),'xwypJ':_0x278228(0x1c6),'eEOEk':_0x278228(0x1c7),'NzmUG':function(_0x2ce9d6,_0x36a01a){return _0x2ce9d6===_0x36a01a;},'OeAig':'\x20AND\x20'};if(!_0x19786d||!_0x19786d['conditions']||_0xd206cd[_0x278228(0x217)](_0x19786d[_0x278228(0x1f7)]['length'],0x0))return'';const {logic:_0x4e9ff4,conditions:_0x5c2d06}=_0x19786d,_0x2828be=_0x4e9ff4&&_0xd206cd['NzmUG'](_0x4e9ff4[_0x278228(0x1ff)](),'OR')?'\x20OR\x20':_0xd206cd['OeAig'],_0x3da76d=_0x5c2d06['map'](_0x5f2ac0=>{const _0x189a89=_0x278228,{key:_0x190a03,operator:_0x5ae6df,value:_0x203078,sensitive:_0x1b959c}=_0x5f2ac0;if(!_0x190a03||!_0x5ae6df)return logger[_0x189a89(0x1e3)]({'event':_0x189a89(0x214),'condition':_0x5f2ac0},_0x189a89(0x218)),null;const _0x515a78=this['sanitizeValue'](_0x203078),_0x3ea432=_0xd206cd[_0x189a89(0x19f)](_0x1b959c,undefined)?_0x1b959c:!![];let _0x135a88=_0x190a03,_0x11aaf7=_0x515a78;!_0x3ea432&&(_0x135a88='UPPER('+_0x190a03+')',typeof _0x203078===_0xd206cd['SUtKN']&&(_0x11aaf7=_0x203078['toUpperCase']()));const _0x511921=typeof _0x11aaf7===_0xd206cd['SUtKN']?'\x27'+_0x11aaf7[_0x189a89(0x210)](/'/g,'\x27\x27')+'\x27':_0x11aaf7;switch(_0x5ae6df[_0x189a89(0x1ff)]()){case'=':case'!=':case'<>':return _0x135a88+'\x20'+_0x5ae6df+'\x20'+_0x511921;case'>':case'<':case'>=':case'<=':const _0x596d77=_0xd206cd[_0x189a89(0x205)](typeof _0x515a78,_0x189a89(0x1d7))?'\x27'+_0x515a78[_0x189a89(0x210)](/'/g,'\x27\x27')+'\x27':_0x515a78;return _0x190a03+'\x20'+_0x5ae6df+'\x20'+_0x596d77;case _0xd206cd['sWVdd']:case _0x189a89(0x225):return _0x135a88+'\x20'+_0x5ae6df+'\x20'+_0x511921;case'IN':if(Array[_0x189a89(0x1b7)](_0x515a78)){let _0x4e5e71;return!_0x3ea432?_0x4e5e71=_0x515a78[_0x189a89(0x1f6)](_0x592423=>{const _0x261f0c=_0x189a89,_0x5375bb=_0xd206cd[_0x261f0c(0x205)](typeof _0x592423,_0xd206cd[_0x261f0c(0x226)])?_0x592423['toUpperCase']():_0x592423;return _0xd206cd['Tbwsv'](typeof _0x5375bb,_0xd206cd[_0x261f0c(0x226)])?'\x27'+_0x5375bb[_0x261f0c(0x210)](/'/g,'\x27\x27')+'\x27':_0x5375bb;})[_0x189a89(0x207)](',\x20'):_0x4e5e71=_0x515a78[_0x189a89(0x1f6)](_0xa901fd=>typeof _0xa901fd===_0x189a89(0x1d7)?'\x27'+_0xa901fd[_0x189a89(0x210)](/'/g,'\x27\x27')+'\x27':_0xa901fd)[_0x189a89(0x207)](',\x20'),_0x135a88+_0x189a89(0x1ae)+_0x4e5e71+')';}return _0x135a88+_0x189a89(0x1ae)+_0x511921+')';case _0x189a89(0x1b1):return _0x190a03+_0x189a89(0x1ed);case _0xd206cd[_0x189a89(0x1e1)]:return _0x190a03+_0x189a89(0x20a);default:logger[_0x189a89(0x1e3)]({'event':_0xd206cd['eEOEk'],'operator':_0x5ae6df},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x135a88+_0x189a89(0x1e4)+_0x511921;}})[_0x278228(0x20b)](_0x49aa37=>_0x49aa37!==null);if(_0xd206cd[_0x278228(0x217)](_0x3da76d[_0x278228(0x198)],0x0))return'';return _0x3da76d[_0x278228(0x207)](_0x2828be);}['buildOrderByClause'](_0xae7b24){const _0x4217b7=a0_0x5ce90a,_0x30acfa={'RhLxh':_0x4217b7(0x1e7),'LLFsQ':_0x4217b7(0x193),'LroBK':function(_0x5d138a,_0x50ded3){return _0x5d138a===_0x50ded3;},'HqFQL':'DESC'};if(!_0xae7b24||_0xae7b24['length']===0x0)return'';const _0x40c6c5=_0xae7b24[_0x4217b7(0x1f6)](_0x377584=>{const _0x544fbf=_0x4217b7,{column:_0x187bb5,direction:_0x2266bc}=_0x377584;if(!_0x187bb5)return logger['warn']({'event':_0x30acfa['RhLxh'],'item':_0x377584},_0x30acfa['LLFsQ']),null;const _0x3dbbc0=_0x2266bc&&_0x30acfa['LroBK'](_0x2266bc[_0x544fbf(0x1ff)](),_0x544fbf(0x1b8))?_0x30acfa[_0x544fbf(0x1e0)]:'ASC';return _0x187bb5+'\x20'+_0x3dbbc0;})[_0x4217b7(0x20b)](_0x68221a=>_0x68221a!==null);if(_0x30acfa[_0x4217b7(0x1d4)](_0x40c6c5[_0x4217b7(0x198)],0x0))return'';return _0x40c6c5['join'](',\x20');}async[a0_0x5ce90a(0x201)](_0x1c1945,_0x20b665,_0x50e6d7){const _0x4f23aa=a0_0x5ce90a,_0x2c07ac={'jsIMp':function(_0x2f2b2e,_0x49ca76){return _0x2f2b2e/_0x49ca76;},'wosth':function(_0x4a9af7,_0x428fc3){return _0x4a9af7===_0x428fc3;},'GFcxe':function(_0xf9d8ed,_0x547273){return _0xf9d8ed===_0x547273;},'wTtdU':'excel_columns_select_all','wxpyl':function(_0x6354c7,_0x3000ab){return _0x6354c7>_0x3000ab;},'jKlHP':'excel_columns_fallback','GGzLn':'excel_columns_from_query_result','amqSw':'excel_columns_from_config'},_0x9900cf=require('../utils/excel-generator'),_0x1eb90b=new _0x9900cf(),_0x4c8ae8=_0x50e6d7['filename']?_0x50e6d7[_0x4f23aa(0x1aa)]+'-'+_0x1c1945:'export-'+_0x1c1945,_0x1cd45c=path['join'](this['exportDir'],_0x4c8ae8+'.xlsx');let _0x3ff082=_0x50e6d7['columns'];const _0x23b59a=_0x50e6d7[_0x4f23aa(0x1b9)]&&_0x50e6d7[_0x4f23aa(0x1b9)]['trim'](),_0x14b275=_0x3ff082&&_0x2c07ac['wosth'](_0x3ff082['length'],0x1)&&(_0x3ff082[0x0]==='*'||_0x2c07ac[_0x4f23aa(0x1b4)](_0x3ff082[0x0]['toLowerCase'](),'all'));if(_0x20b665[_0x4f23aa(0x198)]>0x0){const _0x1510b5=Object[_0x4f23aa(0x192)](_0x20b665[0x0]);if(_0x23b59a)_0x3ff082=_0x1510b5,logger[_0x4f23aa(0x1fe)]({'event':'excel_columns_from_custom_query','columns':_0x3ff082},'Using\x20'+_0x3ff082['length']+_0x4f23aa(0x211));else{if(_0x14b275)_0x3ff082=_0x1510b5,logger['info']({'event':_0x2c07ac[_0x4f23aa(0x227)],'columns':_0x3ff082},_0x4f23aa(0x197)+_0x3ff082['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x3ff082&&_0x2c07ac[_0x4f23aa(0x1a2)](_0x3ff082[_0x4f23aa(0x198)],0x0)){const _0x136986=_0x3ff082[_0x4f23aa(0x20b)](_0x979db0=>_0x1510b5['includes'](_0x979db0));_0x2c07ac[_0x4f23aa(0x1a2)](_0x136986[_0x4f23aa(0x198)],0x0)?(_0x3ff082=_0x136986,logger[_0x4f23aa(0x1fe)]({'event':_0x4f23aa(0x195),'requestedColumns':_0x50e6d7['columns'],'validColumns':_0x3ff082},_0x4f23aa(0x1f4)+_0x3ff082[_0x4f23aa(0x198)]+_0x4f23aa(0x1ce))):(_0x3ff082=_0x1510b5,logger['warn']({'event':_0x2c07ac[_0x4f23aa(0x220)],'requestedColumns':_0x50e6d7[_0x4f23aa(0x1c2)],'availableColumns':_0x1510b5},_0x4f23aa(0x1ea)+_0x1510b5['length']+'\x20columns'));}else _0x3ff082=_0x1510b5,logger[_0x4f23aa(0x1fe)]({'event':_0x2c07ac[_0x4f23aa(0x1b6)],'columns':_0x3ff082},'Using\x20'+_0x3ff082['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x4f23aa(0x1fe)]({'event':_0x2c07ac['amqSw'],'columns':_0x3ff082},'Using\x20'+(_0x3ff082?.['length']||0x0)+_0x4f23aa(0x18f));return await _0x1eb90b[_0x4f23aa(0x1bf)]({'data':_0x20b665,'columns':_0x3ff082,'columnFormats':_0x50e6d7['columnFormats']||null,'fieldLabels':_0x50e6d7[_0x4f23aa(0x1a8)]||null,'filePath':_0x1cd45c,'onProgress':async _0x253f32=>{const _0x242493=_0x4f23aa;await redisHelper[_0x242493(0x1eb)](_0x1c1945,{'progress':Math[_0x242493(0x21e)](_0x253f32),'processed_rows':Math['round'](_0x2c07ac['jsIMp'](_0x253f32,0x64)*_0x20b665[_0x242493(0x198)])});}}),_0x1cd45c;}async[a0_0x5ce90a(0x1d5)](_0x168309){const _0x5e07b4=a0_0x5ce90a,_0x11b875={'ZzHeF':'completed','IXZqz':function(_0x3560d4,_0x520336,_0x36b498,_0x516236){return _0x3560d4(_0x520336,_0x36b498,_0x516236);},'yYCoc':_0x5e07b4(0x1c8),'UXOkx':'Export\x20file\x20not\x20found'},_0x3fdf4f=await redisHelper[_0x5e07b4(0x1a6)](_0x168309);if(!_0x3fdf4f||_0x3fdf4f['status']!==_0x11b875[_0x5e07b4(0x219)])return null;try{return await fs[_0x5e07b4(0x1db)](_0x3fdf4f['file_path']),_0x3fdf4f['file_path'];}catch(_0x45a534){return _0x11b875['IXZqz'](logError,_0x45a534,{'event':_0x11b875['yYCoc'],'jobId':_0x168309,'path':_0x3fdf4f[_0x5e07b4(0x20f)]},_0x11b875[_0x5e07b4(0x202)]),null;}}async[a0_0x5ce90a(0x19d)](){const _0x4fa9de=a0_0x5ce90a,_0xa34645={'qQrnu':function(_0x4ecf99,_0x4f81f8){return _0x4ecf99/_0x4f81f8;},'jCXvm':function(_0x2318e9,_0x3a882a){return _0x2318e9-_0x3a882a;},'ryOfM':function(_0x2c9fcc,_0x26f164){return _0x2c9fcc*_0x26f164;},'DJaUH':'Failed\x20to\x20delete\x20export\x20file'};logger['info']({'event':'export_cleanup_start'},_0x4fa9de(0x1ba));const _0x394e31=await redisHelper['getAllJobs']();let _0xc2ee69=0x0;for(const _0x452416 of _0x394e31){const _0x13b92e=new Date(_0x452416[_0x4fa9de(0x21b)]),_0xc917a4=new Date(),_0x1a2a7e=_0xa34645[_0x4fa9de(0x1cd)](_0xa34645['jCXvm'](_0xc917a4,_0x13b92e),_0xa34645[_0x4fa9de(0x191)](0x3e8,0x3c)*0x3c);if(_0x1a2a7e>0x1){if(_0x452416[_0x4fa9de(0x20f)])try{await fs[_0x4fa9de(0x20c)](_0x452416[_0x4fa9de(0x20f)]),logger['info']({'event':_0x4fa9de(0x1fb),'path':_0x452416['file_path']},'Export\x20file\x20deleted');}catch(_0x5970bd){logger['warn']({'event':'export_file_delete_error','path':_0x452416['file_path'],'error':_0x5970bd[_0x4fa9de(0x1e5)]},_0xa34645['DJaUH']);}await redisHelper[_0x4fa9de(0x21d)](_0x452416['job_id']),_0xc2ee69++;}}return logger['info']({'event':_0x4fa9de(0x1dd),'deleted':_0xc2ee69},'Export\x20cleanup\x20completed'),_0xc2ee69;}}module[a0_0x5ce90a(0x1f5)]=new ExportService();
|
|
1
|
+
const a0_0x12c6b4=a0_0x3490;(function(_0xf98d76,_0x5e2b0c){const _0x1bd0a6=a0_0x3490,_0x59b2df=_0xf98d76();while(!![]){try{const _0x399c19=-parseInt(_0x1bd0a6(0x247))/0x1*(parseInt(_0x1bd0a6(0x200))/0x2)+-parseInt(_0x1bd0a6(0x24b))/0x3*(-parseInt(_0x1bd0a6(0x22e))/0x4)+parseInt(_0x1bd0a6(0x1b4))/0x5+-parseInt(_0x1bd0a6(0x210))/0x6*(parseInt(_0x1bd0a6(0x22b))/0x7)+-parseInt(_0x1bd0a6(0x1da))/0x8+parseInt(_0x1bd0a6(0x1bc))/0x9+parseInt(_0x1bd0a6(0x24d))/0xa;if(_0x399c19===_0x5e2b0c)break;else _0x59b2df['push'](_0x59b2df['shift']());}catch(_0x54b540){_0x59b2df['push'](_0x59b2df['shift']());}}}(a0_0x68c1,0xec92a));const {v7:uuidv7}=require(a0_0x12c6b4(0x248)),path=require(a0_0x12c6b4(0x249)),fs=require('fs')[a0_0x12c6b4(0x222)],fsSync=require('fs'),redisHelper=require(a0_0x12c6b4(0x225)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x12c6b4(0x1fe)][a0_0x12c6b4(0x211)]||a0_0x12c6b4(0x218))[a0_0x12c6b4(0x203)]();let executeQuery;if(dbType===a0_0x12c6b4(0x213)){const oracleDb=require(a0_0x12c6b4(0x1e4));executeQuery=(_0x37f43a,_0x260f6d)=>oracleDb['executeQuery'](_0x37f43a,_0x260f6d);}else{if(dbType===a0_0x12c6b4(0x1c5)){const mysqlDb=require(a0_0x12c6b4(0x20b));executeQuery=(_0x2362d1,_0x395462)=>mysqlDb[a0_0x12c6b4(0x209)](_0x2362d1,_0x395462);}else executeQuery=require('../utils/db')[a0_0x12c6b4(0x209)];}function a0_0x68c1(){const _0x1a19eb=['l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','nZK5odeZAKfdvffP','cLnftevdvcaQiezst00G','ieLoicG','mJGXnZC2nfnyuePzDW','zKzYDLy','qwnnC1K','id0G','D2fYBG','rxHWB3j0igPVyIbJCMvHDgvK','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rw13yuS','AxnbCNjHEq','iefticGkicaGifnftevdvca','Aw52ywXPzf9ZB3j0x2nVBhvTBG','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ChjVy2vZC0PVyG','C3vIC3rYAw5N','CgvUzgLUzW','CMvoy3q','CMvWBgfJzq','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','AM9PBG','qvnd','DxbKyxrLsM9I','y29UzgL0Aw9UCW','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','tfb5txu','Aw5MBW','mtCZnJC1ovLnq01IDq','DxvPza','Cgf0Aa','uxb1CeC','m01gzLLPsW','zxHWB3j0uxvLCNK','mtiYnty4mJbUtvHtA2G','zxjYB3i','y3jLyxrLzf9HDa','nJG1mty5nuz6ANbsuG','zxHWB3j0x2zHAwXLza','vxnPBMCG','vMHQswm','BwfW','BwTKAxjtEw5J','A3jtuwy','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ota4mZm3nNfRs0LTsq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHWB3j0x2nVBxbSzxrLza','revtqW','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','C3Phtum','yNvPBgrpCMrLCKj5q2XHDxnL','teLlrq','BxLZCwW','C3rHDhvZ','y29TCgXLDgvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','uLL1tuC','zMv0y2HeyxrH','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','ie9sia','z2v0sM9I','cIaGicbguK9nia','DhjPBq','DKrArLK','CeTYqNK','ChjVz3jLC3m','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','y3fhAMu','vNPUB0G','Dw5SAw5R','CMvZB2X2zq','zxHPC3rZu3LUyW','mteWmdm1nZzoC2zHtwC','zxHWB3j0x2zLDgnOx3n0yxj0','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','z2vUzxjHDgvkB2jjza','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','zMLSztO','C3rHCNrZv2L0Aa','C2fUAxrPEMvwywX1zq','tufnr3u','lI4VDxrPBhmVzgiTB3jHy2XL','BMzNtxC','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','uMflB1i','cK9srevsiejzia','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2vUzxjHDgvfEgnLBa','iefticGkicaGia','sK1ctve','ywvTtgu','y3DK','vxnPBMCGywXSia','C3rYAw5N','uejsCe4','BgvUz3rO','AxPbzuq','CMvHzezPBgvtEw5J','EeLfBLa','Cgf5Bg9Hza','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dg9ju09tDhjPBMC','lI4VlI4VzxHWB3j0CY8','zxHWB3j0x2zLDgnOx2vYCM9Y','tvrUq2C','x2v4Cg9YDerPCG','Dg9vChbLCKnHC2u','zw52','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','mLrOv1bYwq','zxHWB3j0x2nSzwfUDxbFC3rHCNq','CMvZB2X2zuv4Cg9YDff1zxj5','Dg9mB3DLCKnHC2u','y29SDw1UCW','rxHWB3j0igzPBguGzgvSzxrLza','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','AM9Ix2LK','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zxHLy3v0zvf1zxj5','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0lq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zMLSzv9WyxrO','mtjsC2fsq2i','rejFvfLqrq','EhLxrMu','B3jHy2XL','tKzZC3y','zMLLBgrmywjLBhm','svmGtLvmta','l2fWAs8','Cg9ZDgDYzxnXBa','z2v0qwXSsM9ICW','t1rorxi','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','CM91BMq','EuPquNm','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zxHWB3j0rgLY','ChjVBwLZzxm','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zMLSzw5HBwu','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BKDysgm','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0CW'];a0_0x68c1=function(){return _0x1a19eb;};return a0_0x68c1();}function a0_0x3490(_0x5cfe2e,_0x2c7fda){_0x5cfe2e=_0x5cfe2e-0x1b2;const _0x68c18=a0_0x68c1();let _0x349000=_0x68c18[_0x5cfe2e];if(a0_0x3490['nadnYo']===undefined){var _0x1c06df=function(_0x43d381){const _0x1589a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xae70fc='',_0x1b09b7='';for(let _0x3db7a9=0x0,_0x3493f2,_0x36c83e,_0x2636ab=0x0;_0x36c83e=_0x43d381['charAt'](_0x2636ab++);~_0x36c83e&&(_0x3493f2=_0x3db7a9%0x4?_0x3493f2*0x40+_0x36c83e:_0x36c83e,_0x3db7a9++%0x4)?_0xae70fc+=String['fromCharCode'](0xff&_0x3493f2>>(-0x2*_0x3db7a9&0x6)):0x0){_0x36c83e=_0x1589a8['indexOf'](_0x36c83e);}for(let _0x3e8e54=0x0,_0xccd32c=_0xae70fc['length'];_0x3e8e54<_0xccd32c;_0x3e8e54++){_0x1b09b7+='%'+('00'+_0xae70fc['charCodeAt'](_0x3e8e54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b09b7);};a0_0x3490['iKggig']=_0x1c06df,a0_0x3490['YjEVnR']={},a0_0x3490['nadnYo']=!![];}const _0x2a441b=_0x68c18[0x0],_0x21c6b4=_0x5cfe2e+_0x2a441b,_0x290eb5=a0_0x3490['YjEVnR'][_0x21c6b4];return!_0x290eb5?(_0x349000=a0_0x3490['iKggig'](_0x349000),a0_0x3490['YjEVnR'][_0x21c6b4]=_0x349000):_0x349000=_0x290eb5,_0x349000;}class ExportService{constructor(){const _0x5f506b=a0_0x12c6b4;this[_0x5f506b(0x1fc)]=null;}get[a0_0x12c6b4(0x221)](){const _0x2803b3=a0_0x12c6b4,_0x6788b8={'VhjIc':function(_0x1d3a45,_0x2ec88f,_0x2f6e00,_0x407dff){return _0x1d3a45(_0x2ec88f,_0x2f6e00,_0x407dff);},'MAMGu':'export_service_init_error'};if(!this[_0x2803b3(0x1fc)]){const _0x2d9f3d=process['env'][_0x2803b3(0x20d)]||'default';this[_0x2803b3(0x1fc)]=process[_0x2803b3(0x1fe)]['EXPORT_DIR']||path[_0x2803b3(0x240)](__dirname,_0x2803b3(0x1f9)+_0x2d9f3d);try{!fsSync[_0x2803b3(0x1d9)](this['_exportDir'])&&fsSync[_0x2803b3(0x1b9)](this['_exportDir'],{'recursive':!![]}),logger[_0x2803b3(0x246)]({'event':'export_service_init','dir':this['_exportDir']},_0x2803b3(0x1c1));}catch(_0x7f5430){_0x6788b8[_0x2803b3(0x1b7)](logError,_0x7f5430,{'event':_0x6788b8[_0x2803b3(0x1e3)]},_0x2803b3(0x208));}}return this[_0x2803b3(0x1fc)];}[a0_0x12c6b4(0x202)](_0x1f74ae,_0x1945c2=null){const _0x3ac867=a0_0x12c6b4,_0x585588={'frPIr':function(_0x95a510,_0x56d608){return _0x95a510!==_0x56d608;},'dywQp':'file:','EJfNk':'utf8','KLIYI':function(_0x328d4d,_0xa1f15c){return _0x328d4d===_0xa1f15c;}};if(!_0x1f74ae||_0x585588['frPIr'](typeof _0x1f74ae,'string'))return _0x1f74ae;const _0x2b49d1=_0x1f74ae['trim']();if(!_0x2b49d1[_0x3ac867(0x1e1)](_0x585588['dywQp']))return _0x2b49d1;const _0x104ba8=_0x2b49d1['replace'](/^file:/,'')['trim']();if(!_0x104ba8)throw new Error(_0x3ac867(0x1bb));const _0xf44bb2=_0x1945c2||path[_0x3ac867(0x240)](process[_0x3ac867(0x1ee)](),_0x3ac867(0x1f6)),_0x4e1b4b=path[_0x3ac867(0x1d8)](_0xf44bb2,_0x104ba8);logger[_0x3ac867(0x246)]({'event':'export_query_file_resolve','relativePath':_0x104ba8,'baseDir':_0xf44bb2,'absolutePath':_0x4e1b4b},_0x3ac867(0x1d4)+_0x104ba8);if(!fsSync['existsSync'](_0x4e1b4b))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);try{const _0x2da4c8=fsSync[_0x3ac867(0x1f4)](_0x4e1b4b,_0x585588['EJfNk']);if(!_0x2da4c8||!_0x2da4c8['trim']())throw new Error(_0x3ac867(0x21f)+_0x4e1b4b);return logger['info']({'event':_0x3ac867(0x1ff),'file':_0x4e1b4b,'queryLength':_0x2da4c8[_0x3ac867(0x1f2)]},_0x3ac867(0x23f)+_0x2da4c8['length']+'\x20chars)'),_0x2da4c8[_0x3ac867(0x1d0)]();}catch(_0x70d71d){if(_0x585588['KLIYI'](_0x70d71d['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x70d71d['message']);}}[a0_0x12c6b4(0x1de)](){const _0x38f3d5=a0_0x12c6b4,_0x2d7079={'LPyMu':_0x38f3d5(0x1f7),'zMBvU':function(_0x5729c6,_0x259713){return _0x5729c6-_0x259713;},'NFssv':function(_0x58fb1c,_0x1c2de3){return _0x58fb1c+_0x1c2de3;},'MTnCg':function(_0x20033c,_0x1c9172){return _0x20033c<_0x1c9172;},'TJbDC':function(_0x1e1220,_0x53421b){return _0x1e1220*_0x53421b;}},_0x494a05=_0x2d7079[_0x38f3d5(0x245)],_0x2b04c5=Date['now']()['toString'](0x24),_0xacd26e=uuidv7()[_0x38f3d5(0x23e)](/-/g,'')[_0x38f3d5(0x23b)](0x0,_0x2d7079['zMBvU'](0xc,_0x2b04c5['length'])),_0x65a90=_0x2d7079[_0x38f3d5(0x214)](_0x2b04c5,_0xacd26e)['substring'](0x0,0xc);let _0x307126='';for(let _0x394d87=0x0;_0x2d7079[_0x38f3d5(0x1fb)](_0x394d87,0xc);_0x394d87++){_0x65a90[_0x394d87]?_0x307126+=_0x65a90[_0x394d87]:_0x307126+=_0x494a05['charAt'](Math['floor'](_0x2d7079['TJbDC'](Math['random'](),_0x494a05[_0x38f3d5(0x1f2)])));}return _0x307126;}async['createJob'](_0x1fbbbe){const _0x28e56b=a0_0x12c6b4,_0xc6db3d={'aemLe':function(_0xfe59cb,_0x3a0857,_0x4baf6b,_0x311ffe){return _0xfe59cb(_0x3a0857,_0x4baf6b,_0x311ffe);},'xyWFe':_0x28e56b(0x23c)},_0x302d28=this[_0x28e56b(0x1de)](),_0x140f1d={'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1fbbbe,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x302d28,_0x140f1d),logger[_0x28e56b(0x246)]({'event':'export_job_created','jobId':_0x302d28,'params':_0x1fbbbe},_0x28e56b(0x233)),this[_0x28e56b(0x23a)](_0x302d28,_0x1fbbbe)['catch'](_0x2065b4=>{const _0x7e784f=_0x28e56b;_0xc6db3d[_0x7e784f(0x1ed)](logError,_0x2065b4,{'event':'export_process_error','jobId':_0x302d28},_0x7e784f(0x206));}),{'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)]};}async['getJobStatus'](_0x3e7dc6){const _0x2a1b66=a0_0x12c6b4,_0x2c40d4={'rmccR':'Job\x20not\x20found\x20or\x20expired'},_0x1bb8a5=await redisHelper['getJob'](_0x3e7dc6);if(!_0x1bb8a5)return{'success':![],'error':_0x2c40d4['rmccR']};return{'success':!![],'data':{'job_id':_0x1bb8a5[_0x2a1b66(0x207)],'status':_0x1bb8a5[_0x2a1b66(0x1c6)],'progress':_0x1bb8a5[_0x2a1b66(0x1d3)],'total_rows':_0x1bb8a5['total_rows'],'processed_rows':_0x1bb8a5['processed_rows'],'file_url':_0x1bb8a5['status']===_0x2a1b66(0x1c7)?_0x2a1b66(0x217)+_0x1bb8a5['params']['moduleName']+'/'+_0x1bb8a5['params']['endpointName']+_0x2a1b66(0x22a)+_0x3e7dc6:null,'error':_0x1bb8a5[_0x2a1b66(0x1b2)]||null,'created_at':_0x1bb8a5[_0x2a1b66(0x1b3)],'completed_at':_0x1bb8a5['completed_at']||null}};}async[a0_0x12c6b4(0x23a)](_0x813b6e,_0xfb0c2a){const _0x4ffa2e=a0_0x12c6b4,_0x435530={'szGMC':_0x4ffa2e(0x1bd),'AcMsY':_0x4ffa2e(0x1c7),'OTNEr':_0x4ffa2e(0x1dc),'fVmNU':'failed'};try{await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'status':'processing','started_at':new Date()[_0x4ffa2e(0x1f8)]()}),logger[_0x4ffa2e(0x246)]({'event':_0x435530[_0x4ffa2e(0x1c2)],'jobId':_0x813b6e},_0x4ffa2e(0x1dd));const _0x32686a=await this[_0x4ffa2e(0x1ca)](_0xfb0c2a);await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'total_rows':_0x32686a[_0x4ffa2e(0x1f2)]});const _0x231609=await this[_0x4ffa2e(0x1ea)](_0x813b6e,_0x32686a,_0xfb0c2a);await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530[_0x4ffa2e(0x230)],'progress':0x64,'file_path':_0x231609,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x4ffa2e(0x1bf),'jobId':_0x813b6e,'rows':_0x32686a['length']},_0x435530[_0x4ffa2e(0x21a)]);}catch(_0x34572a){logError(_0x34572a,{'event':_0x4ffa2e(0x1b5),'jobId':_0x813b6e},'Export\x20failed'),await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530['fVmNU'],'error':_0x34572a['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x12c6b4(0x1ca)](_0x3aae1d){const _0x126882=a0_0x12c6b4,_0x5e81f6={'JcAEc':function(_0x1807c3,_0x14670c){return _0x1807c3||_0x14670c;},'TcCOW':_0x126882(0x20a),'xIEnP':'export_using_auto_query','fFrvV':_0x126882(0x239),'Saufh':function(_0x3eb89a,_0x4bf393){return _0x3eb89a>_0x4bf393;},'waqaL':_0x126882(0x1db),'RaKoR':_0x126882(0x213),'nfgMw':'export_fetch_complete','nGXHc':'Data\x20fetched\x20successfully'};try{const {tableName:_0x53f8b0,columns:_0x5ef18d,exportQuery:_0x49e10f,where:_0x5d1031,sort_columns:_0x52213a}=_0x3aae1d;if(_0x5e81f6['JcAEc'](!_0x53f8b0,!_0x5ef18d)||_0x5ef18d[_0x126882(0x1f2)]===0x0)throw new Error(_0x5e81f6['TcCOW']);const _0x45a017=_0x53f8b0['replace'](/\./g,'_')+'_data';let _0x2323c1;if(_0x49e10f&&_0x49e10f[_0x126882(0x1d0)]()){let _0x412728=_0x49e10f;_0x49e10f[_0x126882(0x1d0)]()['startsWith'](_0x126882(0x1e0))&&(_0x412728=this['resolveExportQuery'](_0x49e10f)),_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x1eb)+_0x412728+'\x0a)',_0x2323c1+=_0x126882(0x22c)+_0x45a017,logger[_0x126882(0x246)]({'event':_0x126882(0x226),'query':_0x412728[_0x126882(0x23b)](0x0,0x64)},_0x126882(0x1e6));}else{const _0xc56c21=_0x5ef18d[_0x126882(0x1b8)](_0x54a536=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x54a536)['join'](',');_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x237)+_0xc56c21+_0x126882(0x1cf)+_0x53f8b0+'\x0a)',_0x2323c1+='\x0aSELECT\x20*\x20FROM\x20'+_0x45a017,logger['info']({'event':_0x5e81f6[_0x126882(0x1f5)],'tableName':_0x53f8b0,'columnCount':_0x5ef18d['length']},_0x5e81f6[_0x126882(0x22f)]);}if(_0x5d1031){const _0x2c9a9d=this['buildWhereClause'](_0x5d1031);_0x2c9a9d&&(_0x2323c1+='\x0aWHERE\x20'+_0x2c9a9d);}if(_0x52213a&&_0x5e81f6['Saufh'](_0x52213a['length'],0x0)){const _0x22094d=this['buildOrderByClause'](_0x52213a);_0x22094d&&(_0x2323c1+=_0x126882(0x1e8)+_0x22094d);}logger[_0x126882(0x246)]({'event':_0x5e81f6['waqaL'],'query':_0x2323c1['substring'](0x0,0xc8)},_0x126882(0x1cb));const _0x5f3c25=await executeQuery(_0x2323c1);let _0x52f116=_0x5f3c25;return dbType===_0x5e81f6[_0x126882(0x1e7)]&&_0x5f3c25&&_0x5f3c25[_0x126882(0x1f2)]>0x0&&(_0x52f116=_0x5f3c25['map'](_0x167362=>{const _0x3bd7c3=_0x126882,_0x35d14f={};for(const [_0x24bea1,_0x5561fb]of Object[_0x3bd7c3(0x20e)](_0x167362)){_0x35d14f[_0x24bea1[_0x3bd7c3(0x203)]()]=_0x5561fb;}return _0x35d14f;})),logger[_0x126882(0x246)]({'event':_0x5e81f6[_0x126882(0x1e5)],'rows':_0x52f116['length']},_0x5e81f6[_0x126882(0x227)]),_0x52f116;}catch(_0x51976e){logError(_0x51976e,{'event':_0x126882(0x1fa)},'Failed\x20to\x20fetch\x20data');throw _0x51976e;}}[a0_0x12c6b4(0x1e2)](_0x39b6e4){const _0x45adbb=a0_0x12c6b4,_0x353a95={'kygrz':function(_0x301d69,_0x2ef591){return _0x301d69===_0x2ef591;}};if(_0x353a95['kygrz'](typeof _0x39b6e4,'string'))return _0x39b6e4['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x45adbb(0x236)](_0x39b6e4))return _0x39b6e4['map'](_0x4e0d07=>this['sanitizeValue'](_0x4e0d07));}return _0x39b6e4;}['buildWhereClause'](_0x2b13e4){const _0x44d443=a0_0x12c6b4,_0x4bb2c2={'pKrBy':'string','zRczF':'Skipping\x20invalid\x20condition','IjqjY':function(_0x3e765f,_0x3e46e1){return _0x3e765f!==_0x3e46e1;},'VznoH':function(_0x5f3af6,_0x4de2e8){return _0x5f3af6===_0x4de2e8;},'PsTRO':'NOT\x20LIKE'};if(!_0x2b13e4||!_0x2b13e4['conditions']||_0x2b13e4[_0x44d443(0x243)]['length']===0x0)return'';const {logic:_0x523ade,conditions:_0x254bd3}=_0x2b13e4,_0x48afc5=_0x523ade&&_0x523ade[_0x44d443(0x1fd)]()==='OR'?_0x44d443(0x1cd):'\x20AND\x20',_0x1f4055=_0x254bd3[_0x44d443(0x1b8)](_0x57c5f1=>{const _0x3130d8=_0x44d443,_0xc8be3d={'izAeD':function(_0x6ca9fa,_0x3f2e9e){return _0x6ca9fa===_0x3f2e9e;},'teptm':_0x4bb2c2['pKrBy']},{key:_0x354b50,operator:_0x2c6594,value:_0x3cad38,sensitive:_0x2733a0}=_0x57c5f1;if(!_0x354b50||!_0x2c6594)return logger[_0x3130d8(0x232)]({'event':'invalid_condition','condition':_0x57c5f1},_0x4bb2c2['zRczF']),null;const _0x218577=this['sanitizeValue'](_0x3cad38),_0x24cb66=_0x4bb2c2['IjqjY'](_0x2733a0,undefined)?_0x2733a0:!![];let _0x1f689d=_0x354b50,_0x42f83b=_0x218577;!_0x24cb66&&(_0x1f689d='UPPER('+_0x354b50+')',_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x3cad38,_0x3130d8(0x1f0))&&(_0x42f83b=_0x3cad38['toUpperCase']()));const _0x29649b=_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x42f83b,'string')?'\x27'+_0x42f83b[_0x3130d8(0x23e)](/'/g,'\x27\x27')+'\x27':_0x42f83b;switch(_0x2c6594['toUpperCase']()){case'=':case'!=':case'<>':return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'>':case'<':case'>=':case'<=':const _0x2a2a46=_0x4bb2c2['VznoH'](typeof _0x218577,_0x4bb2c2[_0x3130d8(0x1d2)])?'\x27'+_0x218577['replace'](/'/g,'\x27\x27')+'\x27':_0x218577;return _0x354b50+'\x20'+_0x2c6594+'\x20'+_0x2a2a46;case _0x3130d8(0x1c4):case _0x4bb2c2['PsTRO']:return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'IN':if(Array['isArray'](_0x218577)){let _0x343b18;return!_0x24cb66?_0x343b18=_0x218577['map'](_0x207e6a=>{const _0x41dc57=_0x3130d8,_0x34d4e0=_0xc8be3d[_0x41dc57(0x1f3)](typeof _0x207e6a,_0xc8be3d['teptm'])?_0x207e6a['toUpperCase']():_0x207e6a;return typeof _0x34d4e0==='string'?'\x27'+_0x34d4e0['replace'](/'/g,'\x27\x27')+'\x27':_0x34d4e0;})['join'](',\x20'):_0x343b18=_0x218577[_0x3130d8(0x1b8)](_0x4bad79=>typeof _0x4bad79===_0x3130d8(0x1f0)?'\x27'+_0x4bad79['replace'](/'/g,'\x27\x27')+'\x27':_0x4bad79)['join'](',\x20'),_0x1f689d+_0x3130d8(0x22d)+_0x343b18+')';}return _0x1f689d+_0x3130d8(0x22d)+_0x29649b+')';case _0x3130d8(0x216):return _0x354b50+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x354b50+'\x20IS\x20NOT\x20NULL';default:logger[_0x3130d8(0x232)]({'event':'unknown_operator','operator':_0x2c6594},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x1f689d+_0x3130d8(0x231)+_0x29649b;}})['filter'](_0x8ee31f=>_0x8ee31f!==null);if(_0x1f4055['length']===0x0)return'';return _0x1f4055['join'](_0x48afc5);}[a0_0x12c6b4(0x1c3)](_0x553f66){const _0x5608fb=a0_0x12c6b4,_0x543a9c={'RYuMG':_0x5608fb(0x238),'yJPRs':_0x5608fb(0x1c8),'GRmwN':function(_0x502da3,_0xd488fc){return _0x502da3===_0xd488fc;}};if(!_0x553f66||_0x543a9c['GRmwN'](_0x553f66[_0x5608fb(0x1f2)],0x0))return'';const _0x226970=_0x553f66['map'](_0x1e2dd=>{const _0x363838=_0x5608fb,{column:_0x107e9b,direction:_0x597bda}=_0x1e2dd;if(!_0x107e9b)return logger[_0x363838(0x232)]({'event':_0x543a9c[_0x363838(0x1c9)],'item':_0x1e2dd},_0x543a9c[_0x363838(0x21e)]),null;const _0x1ebee8=_0x597bda&&_0x543a9c['GRmwN'](_0x597bda['toUpperCase'](),'DESC')?_0x363838(0x1c0):_0x363838(0x241);return _0x107e9b+'\x20'+_0x1ebee8;})['filter'](_0x4019ce=>_0x4019ce!==null);if(_0x226970['length']===0x0)return'';return _0x226970[_0x5608fb(0x240)](',\x20');}async[a0_0x12c6b4(0x1ea)](_0x17d3e7,_0x40074e,_0x3c0292){const _0x10bcb6=a0_0x12c6b4,_0x230ba1={'sLmKo':function(_0x2d7b27,_0x20ebda){return _0x2d7b27/_0x20ebda;},'reNct':function(_0x3f109c,_0x2ad76a){return _0x3f109c===_0x2ad76a;},'PBRpN':function(_0x1fd730,_0x44194a){return _0x1fd730===_0x44194a;},'krSQf':function(_0x2282c7,_0x4d1d12){return _0x2282c7>_0x4d1d12;},'oqPoU':_0x10bcb6(0x228)},_0x5be315=require(_0x10bcb6(0x1df)),_0x51d8cb=new _0x5be315(),_0x5c2250=_0x3c0292[_0x10bcb6(0x224)]?_0x3c0292[_0x10bcb6(0x224)]+'-'+_0x17d3e7:_0x10bcb6(0x20c)+_0x17d3e7,_0x579c97=path['join'](this['exportDir'],_0x5c2250+'.xlsx');let _0x4a3d8c=_0x3c0292['columns'];const _0x108d8b=_0x3c0292['exportQuery']&&_0x3c0292[_0x10bcb6(0x24c)]['trim'](),_0x1a2831=_0x4a3d8c&&_0x230ba1[_0x10bcb6(0x23d)](_0x4a3d8c['length'],0x1)&&(_0x230ba1['reNct'](_0x4a3d8c[0x0],'*')||_0x230ba1[_0x10bcb6(0x1f1)](_0x4a3d8c[0x0][_0x10bcb6(0x203)](),'all'));if(_0x230ba1[_0x10bcb6(0x1ba)](_0x40074e['length'],0x0)){const _0x560300=Object['keys'](_0x40074e[0x0]);if(_0x108d8b)_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x21c),'columns':_0x4a3d8c},'Using\x20'+_0x4a3d8c['length']+_0x10bcb6(0x234));else{if(_0x1a2831)_0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x244),'columns':_0x4a3d8c},_0x10bcb6(0x1ef)+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4a3d8c&&_0x4a3d8c[_0x10bcb6(0x1f2)]>0x0){const _0x16f505=_0x4a3d8c['filter'](_0x3b13b7=>_0x560300['includes'](_0x3b13b7));_0x230ba1['krSQf'](_0x16f505[_0x10bcb6(0x1f2)],0x0)?(_0x4a3d8c=_0x16f505,logger[_0x10bcb6(0x246)]({'event':_0x230ba1['oqPoU'],'requestedColumns':_0x3c0292[_0x10bcb6(0x204)],'validColumns':_0x4a3d8c},'Using\x20'+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20from\x20request')):(_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x232)]({'event':_0x10bcb6(0x220),'requestedColumns':_0x3c0292['columns'],'availableColumns':_0x560300},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x560300['length']+'\x20columns'));}else _0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x223),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+_0x4a3d8c['length']+_0x10bcb6(0x21b));}}}else logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x1be),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+(_0x4a3d8c?.['length']||0x0)+_0x10bcb6(0x1e9));return await _0x51d8cb['generate']({'data':_0x40074e,'columns':_0x4a3d8c,'columnFormats':_0x3c0292[_0x10bcb6(0x1cc)]||null,'fieldLabels':_0x3c0292[_0x10bcb6(0x215)]||null,'filePath':_0x579c97,'onProgress':async _0x62de11=>{const _0x2c57e6=_0x10bcb6;await redisHelper[_0x2c57e6(0x242)](_0x17d3e7,{'progress':Math['round'](_0x62de11),'processed_rows':Math[_0x2c57e6(0x21d)](_0x230ba1['sLmKo'](_0x62de11,0x64)*_0x40074e[_0x2c57e6(0x1f2)])});}}),_0x579c97;}async['getFilePath'](_0x1df9a3){const _0x4f45b4=a0_0x12c6b4,_0x95b97b={'vDZFY':function(_0x309b1e,_0x1d624b){return _0x309b1e!==_0x1d624b;}},_0x2c73f1=await redisHelper[_0x4f45b4(0x1ce)](_0x1df9a3);if(!_0x2c73f1||_0x95b97b[_0x4f45b4(0x1d1)](_0x2c73f1[_0x4f45b4(0x1c6)],_0x4f45b4(0x1c7)))return null;try{return await fs['access'](_0x2c73f1['file_path']),_0x2c73f1[_0x4f45b4(0x20f)];}catch(_0x55112b){return logError(_0x55112b,{'event':'export_file_not_found','jobId':_0x1df9a3,'path':_0x2c73f1[_0x4f45b4(0x20f)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x476b6f=a0_0x12c6b4,_0x9488b2={'QpupG':'Starting\x20export\x20cleanup','OqHGf':function(_0x1ba49c,_0x2e7fa7){return _0x1ba49c/_0x2e7fa7;},'cqGje':function(_0x5587d6,_0x3015ce){return _0x5587d6>_0x3015ce;},'JMBMQ':_0x476b6f(0x205),'EmwaK':'Failed\x20to\x20delete\x20export\x20file','dFGlI':'export_cleanup_complete'};logger['info']({'event':_0x476b6f(0x201)},_0x9488b2[_0x476b6f(0x24a)]);const _0x262fd6=await redisHelper[_0x476b6f(0x219)]();let _0x5044c7=0x0;for(const _0x3dabae of _0x262fd6){const _0x349ef8=new Date(_0x3dabae[_0x476b6f(0x1b3)]),_0x3caa3a=new Date(),_0x45c11c=_0x9488b2['OqHGf'](_0x3caa3a-_0x349ef8,0x3e8*0x3c*0x3c);if(_0x9488b2[_0x476b6f(0x1d5)](_0x45c11c,0x1)){if(_0x3dabae['file_path'])try{await fs[_0x476b6f(0x1d7)](_0x3dabae[_0x476b6f(0x20f)]),logger[_0x476b6f(0x246)]({'event':'export_file_deleted','path':_0x3dabae[_0x476b6f(0x20f)]},_0x9488b2[_0x476b6f(0x1ec)]);}catch(_0x488991){logger['warn']({'event':'export_file_delete_error','path':_0x3dabae['file_path'],'error':_0x488991['message']},_0x9488b2[_0x476b6f(0x235)]);}await redisHelper['deleteJob'](_0x3dabae[_0x476b6f(0x207)]),_0x5044c7++;}}return logger[_0x476b6f(0x246)]({'event':_0x9488b2['dFGlI'],'deleted':_0x5044c7},'Export\x20cleanup\x20completed'),_0x5044c7;}}module[a0_0x12c6b4(0x229)]=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x162b14=a0_0x4cdb;(function(_0x133043,_0x280159){const _0x1e35ad=a0_0x4cdb,_0x4a8a6a=_0x133043();while(!![]){try{const _0x3df963=-parseInt(_0x1e35ad(0x210))/0x1+-parseInt(_0x1e35ad(0x221))/0x2*(parseInt(_0x1e35ad(0x225))/0x3)+-parseInt(_0x1e35ad(0x1ca))/0x4+parseInt(_0x1e35ad(0x226))/0x5+parseInt(_0x1e35ad(0x240))/0x6*(parseInt(_0x1e35ad(0x233))/0x7)+parseInt(_0x1e35ad(0x20b))/0x8*(-parseInt(_0x1e35ad(0x1ee))/0x9)+-parseInt(_0x1e35ad(0x245))/0xa*(-parseInt(_0x1e35ad(0x271))/0xb);if(_0x3df963===_0x280159)break;else _0x4a8a6a['push'](_0x4a8a6a['shift']());}catch(_0xbd8e0c){_0x4a8a6a['push'](_0x4a8a6a['shift']());}}}(a0_0x2f88,0x29046));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x162b14(0x243)],redisHelper=require(a0_0x162b14(0x269)),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x162b14(0x21d))[a0_0x162b14(0x264)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x162b14(0x1de)),executeQuery=(_0x1a3aa0,_0x207071)=>oracleDb[a0_0x162b14(0x1c5)](_0x1a3aa0,_0x207071),executeTransaction=_0x11d93e=>oracleDb['executeTransaction'](_0x11d93e);else{if(dbType===a0_0x162b14(0x25e)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5da497,_0x59bec6)=>mysqlDb['executeQuery'](_0x5da497,_0x59bec6),executeTransaction=_0x12e9ea=>mysqlDb[a0_0x162b14(0x1ec)](_0x12e9ea);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x162b14(0x1ec)];}}function a0_0x2f88(){const _0x83d361=['zMLSzv9JBgvHBNvWx2vYCM9Y','y2f0y2G','cIaGicaGicaGrLjptsa','Dg9mB3DLCKnHC2u','yMf0y2HwywXPzgf0zvjVD3m','A2PrsxK','CM93sw5KzxG','ChjLDMLLD19VAW','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rMfPBgvKihrVignSzwfUDxaGzMLSzq','D2Tuwu4','DMfSDwvZ','CMvWBgfJzq','z2vUzxjHDgvjza','DgvZDa','BM93','mtfZquflvxO','zMLLBgrmywjLBhm','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','zxHLy3v0zvf1zxj5','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','C3vIC3rYAw5N','s0DvreO','CgfYC2vfEgnLBezPBgu','nZGZmdGWBu5qwMT0','y29SDw1U','C1z2D2u','y2HHCKf0','BvvZvhC','vvbeqvrf','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','BwvZC2fNzq','zM9YrwfJAa','qwjnyvG','BNvTyMvY','Cgf0Aa','DhjPBq','Dg9ju09tDhjPBMC','y3jLyxrLzf9HDa','z2v0sM9I','C2XPy2u','zMLSDgvY','DxbKyxrLx2v4Axn0Aw5N','x3vWBg9HzerPCG','lI4VDxrPBhmVzgiTB3jHy2XL','C2v0sM9I','tKTrAKK','AMnOwwe','su5trvju','AM9IoG','rNHVzgu','rhvWBgLJyxrLihzHBhvLigzVCIa','yNvPBgrcyxrJAfvWzgf0zq','B2vhwvq','ChjLDMLLD19QB2jFzMfPBgvK','Dgv4Da','Dhj1zq','CfHbuNu','zxHLy3v0zvrYyw5Zywn0Aw9U','DxvPzf9HDxrVx2DLBMvYyxrLza','mZG3AxrWwxbj','AgvHzgvYC19TyxbWzwq','DxbSB2fKoG','y29TBwL0x3bYB2nLC3nFzxjYB3i','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','Dw5SAw5R','B3fNzLO','jdfFjdi','uxryEei','yvLiv1O','DxbSB2fKx2LK','q29TBwL0igPVyIbJB21WBgv0zwq','AhDYsKe','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','yM9VBgvHBG','ChjVy2vZC1bYzxzPzxDkB2i','Aw5MBW','CKf4AMW','DxbSB2fKrMLSzq','tM1pzMC','ChjVy2vZC2vKuM93CW','rwXLwMS','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','CgfKu3rHCNq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2DLBMvYyxrLzf91DwLK','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ENLjqKm','Bg9VA3vWrMLLBgrZ','mZyYmtzKy0PxC2u','CMfUzg9T','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','ChjVy2vZC2LUzW','mJqYnda2v015u2vV','u1jZsLq','C3fS','C3rYAw5N','BwLZC2LUz0zPzwXKCW','zMLUza','yLrnBgm','qNrYBgW','EM54t1C','BgvUz3rO','A1PxwLK','y29TBwL0x2PVyL9MywLSzwq','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','Cg9ZDgDYzxnXBa','DgTvtKi','uhjLDMLLDYbQB2iGy29TCgXLDgvK','u0Tjua','mLvHt1HMtq','zgvIDwC','y291BNq','C2v0','ndy5ndCZrxPxsxrU','otmXndyWsfzduu5o','shvnCNC','DvrYu0u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Aw5JBhvKzxm','y29TCgXLDgvK','x2v4Axn0Aw5Nswq','Au9Ltxa','z2v0rgf0zq','AM9Ix2LK','vuv3qNq','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','DxbSB2fKrgLY','otKZmdu1BgfiDLjJ','tw9Zuee','CgfYyw1Z','s3jdzNa','zNjVBq','ChjLDMLLD19QB2jFy29TCgXLDgvK','AM9PBG','u0PjuLm','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zvPKs28','zw52','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','A2v5CW','nM1Ozxbutq','Dg9vChbLCKnHC2u','zMfPBgvK','ChjVBwLZzxm','cIaGicaGicaGv0HfuKuG','nJi5mtC3mfHrD3PYuW','ChvZAa','yxbWBhLdB2X1Bw5gB3jTyxrZ','sM5ZC1y','y2H1BMTsB3DZ','zxjYB3jZ','zMfSC2u','wuf3yNi','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','C2L6zq','zw50CMLLCW','DMfSAwq','Aw5KzxHpzG','BwfW','y29SDw1UrM9YBwf0CW','vvbmt0fex0rjuG','whjYDKq','x2fJDgLVBG','CMvlANe','AurWz2m','Aw5Zzxj0','ChjVy2vZC0XVB2T1CezPzwXKCW','x2vYCM9YCW','BxLZCwW','yNvPBgrmywjLBfrVrMLLBgrnyxa','C3rHDhvZ'];a0_0x2f88=function(){return _0x83d361;};return a0_0x2f88();}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x162b14(0x1c4)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x5b54ef=a0_0x162b14;this[_0x5b54ef(0x1dd)]=null;}get[a0_0x162b14(0x232)](){const _0x1ffd28=a0_0x162b14,_0x36a26a={'tzSMv':'default'};if(!this[_0x1ffd28(0x1dd)]){const _0x42e3e6=process['env'][_0x1ffd28(0x229)]||_0x36a26a['tzSMv'];this['_uploadDir']=process[_0x1ffd28(0x23d)][_0x1ffd28(0x256)]||path[_0x1ffd28(0x239)](__dirname,'../../temp/uploads/'+_0x42e3e6);}return this[_0x1ffd28(0x1dd)];}[a0_0x162b14(0x26e)](){const _0x53eb9e=a0_0x162b14,_0x5e67dc={'pBHwJ':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','mXWfR':function(_0x35a5e7){return _0x35a5e7();},'hOzoA':function(_0x10c94e,_0x6d0ca8){return _0x10c94e-_0x6d0ca8;}},_0x490124=_0x5e67dc['pBHwJ'],_0x37cd3c=Date[_0x53eb9e(0x270)]()['toString'](0x24),_0x13128b=_0x5e67dc['mXWfR'](uuidv7)['replace'](/-/g,'')[_0x53eb9e(0x1c7)](0x0,_0x5e67dc['hOzoA'](0xc,_0x37cd3c[_0x53eb9e(0x219)])),_0x44ca4f=(_0x37cd3c+_0x13128b)[_0x53eb9e(0x1c7)](0x0,0xc);let _0x55f423='';for(let _0x2a3d28=0x0;_0x2a3d28<0xc;_0x2a3d28++){_0x44ca4f[_0x2a3d28]?_0x55f423+=_0x44ca4f[_0x2a3d28]:_0x55f423+=_0x490124[_0x53eb9e(0x1cd)](Math['floor'](Math[_0x53eb9e(0x20c)]()*_0x490124['length']));}return _0x55f423;}[a0_0x162b14(0x25f)](_0x2c0d3d){const _0x3060f5=a0_0x162b14,_0x1d3aed={'iOeMp':'$1_$2','zyIBC':_0x3060f5(0x21c)},_0x478a4f=new Map();if(!_0x2c0d3d)return _0x478a4f;return Object['entries'](_0x2c0d3d)[_0x3060f5(0x1d2)](([_0x4ad60d,_0x50a5bc])=>{const _0x6fca29=_0x3060f5,_0x3ec5b7=String(_0x50a5bc)[_0x6fca29(0x1d6)]()['replace'](/\s+/g,'_')[_0x6fca29(0x26d)](/([a-z])([A-Z])/g,_0x1d3aed[_0x6fca29(0x22d)])[_0x6fca29(0x26d)](/([A-Z]+)([A-Z][a-z])/g,_0x6fca29(0x1f5))[_0x6fca29(0x264)]();_0x478a4f[_0x6fca29(0x224)](_0x3ec5b7,_0x4ad60d);}),logger['debug']({'event':_0x1d3aed[_0x3060f5(0x209)],'mappingCount':_0x478a4f['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x478a4f;}['applyColumnFormats'](_0x31e93c,_0x3be88d){const _0x3a4c86=a0_0x162b14,_0xa69ac3={'OhdTZ':'date','eZdKo':_0x3a4c86(0x1e9),'NKQjI':function(_0xf913f5,_0x361e5d){return _0xf913f5(_0x361e5d);},'KGUDJ':function(_0x402838,_0x283a5c){return _0x402838===_0x283a5c;}};if(!_0x3be88d||_0xa69ac3[_0x3a4c86(0x1c8)](Object['keys'](_0x3be88d)['length'],0x0))return _0x31e93c;return _0x31e93c['map'](_0x915661=>{const _0xb19605=_0x3a4c86,_0x29b477={..._0x915661};for(const [_0x6b66aa,_0x1526dc]of Object[_0xb19605(0x251)](_0x3be88d)){const _0x29486d=_0x29b477[_0x6b66aa];if(_0x29486d===null||_0x29486d===undefined||_0x29486d===''){_0x29b477[_0x6b66aa]=null;continue;}switch(_0x1526dc['type']){case _0xa69ac3['OhdTZ']:_0x29b477[_0x6b66aa]=this['formatDateForDatabase'](_0x29486d);break;case _0xb19605(0x1d4):_0x29b477[_0x6b66aa]=this['formatNumberForDatabase'](_0x29486d);break;case _0xb19605(0x1fc):_0x29b477[_0x6b66aa]=this['formatBooleanForDatabase'](_0x29486d);break;case _0xa69ac3[_0xb19605(0x23c)]:_0x29b477[_0x6b66aa]=_0xa69ac3[_0xb19605(0x1e0)](String,_0x29486d);break;default:break;}}return _0x29b477;});}['formatDateForDatabase'](_0xaedf5c){const _0x25a0cd=a0_0x162b14,_0x42ad60={'MeyOA':function(_0x59552c,_0x464916){return _0x59552c===_0x464916;},'oqgfZ':_0x25a0cd(0x213),'bTMlc':function(_0x430a77,_0x56bbad){return _0x430a77(_0x56bbad);},'jchYa':function(_0x55a7f9,_0x11a269){return _0x55a7f9+_0x11a269;},'rAxjl':function(_0xba7c36,_0x5aee37){return _0xba7c36(_0x5aee37);},'oeGYT':function(_0x4a14c4,_0x22baeb){return _0x4a14c4(_0x22baeb);}};if(_0xaedf5c===null||_0xaedf5c===undefined||_0xaedf5c==='')return null;if(_0x42ad60['MeyOA'](typeof _0xaedf5c,_0x42ad60['oqgfZ'])&&/^\d{4}-\d{2}-\d{2}$/[_0x25a0cd(0x26f)](_0xaedf5c))return _0xaedf5c;if(_0xaedf5c instanceof Date){if(_0x42ad60['bTMlc'](isNaN,_0xaedf5c['getTime']()))return null;const _0x36c85c=_0xaedf5c['getFullYear'](),_0x547875=String(_0x42ad60[_0x25a0cd(0x1e1)](_0xaedf5c['getMonth'](),0x1))['padStart'](0x2,'0'),_0xdf9a65=_0x42ad60[_0x25a0cd(0x1ff)](String,_0xaedf5c[_0x25a0cd(0x22e)]())[_0x25a0cd(0x205)](0x2,'0');return _0x36c85c+'-'+_0x547875+'-'+_0xdf9a65;}if(typeof _0xaedf5c===_0x42ad60[_0x25a0cd(0x1f4)]){const _0x478933=_0xaedf5c['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x478933){const _0x14fbf1=_0x42ad60[_0x25a0cd(0x216)](String,_0x478933[0x1])['padStart'](0x2,'0'),_0x23dc48=String(_0x478933[0x2])[_0x25a0cd(0x205)](0x2,'0'),_0x2d3376=_0x478933[0x3];return _0x2d3376+'-'+_0x23dc48+'-'+_0x14fbf1;}const _0x42386d=_0xaedf5c['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x42386d){const _0xcacbc5=_0x42386d[0x1],_0x2d20c7=String(_0x42386d[0x2])[_0x25a0cd(0x205)](0x2,'0'),_0x455c9d=_0x42ad60[_0x25a0cd(0x1e7)](String,_0x42386d[0x3])['padStart'](0x2,'0');return _0xcacbc5+'-'+_0x2d20c7+'-'+_0x455c9d;}}return _0xaedf5c;}['formatNumberForDatabase'](_0x4b0512){const _0x5a7857=a0_0x162b14,_0x5cccd8={'KrCfp':function(_0x53201e,_0x17a905){return _0x53201e===_0x17a905;},'pXARu':function(_0x397b6a,_0x4ac2c8){return _0x397b6a===_0x4ac2c8;},'tkUNB':function(_0x56875d,_0x63700a){return _0x56875d===_0x63700a;},'hwrJA':function(_0x5bd8cd,_0x4fcbc6){return _0x5bd8cd(_0x4fcbc6);},'pCkjt':_0x5a7857(0x213),'SZPKS':function(_0x2d6e34,_0x2c94e5){return _0x2d6e34(_0x2c94e5);}};if(_0x5cccd8[_0x5a7857(0x236)](_0x4b0512,null)||_0x5cccd8[_0x5a7857(0x236)](_0x4b0512,undefined)||_0x5cccd8['pXARu'](_0x4b0512,''))return null;if(_0x5cccd8[_0x5a7857(0x21e)](typeof _0x4b0512,_0x5a7857(0x1d4)))return _0x5cccd8[_0x5a7857(0x1fa)](isNaN,_0x4b0512)?null:_0x4b0512;if(_0x5cccd8[_0x5a7857(0x1eb)](typeof _0x4b0512,_0x5cccd8['pCkjt'])){let _0x42d7b3=_0x4b0512['trim']();const _0x215637=/,\d{1,2}$/['test'](_0x42d7b3)&&!/,\d{3}/[_0x5a7857(0x26f)](_0x42d7b3);_0x215637?_0x42d7b3=_0x42d7b3[_0x5a7857(0x26d)](/\./g,'')['replace'](',','.'):_0x42d7b3=_0x42d7b3['replace'](/,/g,'');const _0x686586=_0x5cccd8[_0x5a7857(0x1fa)](parseFloat,_0x42d7b3);return _0x5cccd8['SZPKS'](isNaN,_0x686586)?null:_0x686586;}return null;}['formatBooleanForDatabase'](_0x364404){const _0x13c651=a0_0x162b14,_0x3ae9b4={'mUsTw':function(_0x3fe65e,_0xd81ece){return _0x3fe65e===_0xd81ece;},'OLcYu':'boolean','znxOW':'true','UEwBt':'false','sVvwe':function(_0x18a675,_0x57a551){return _0x18a675===_0x57a551;},'TaPqk':'yes','PUbJs':_0x13c651(0x1d4)};if(_0x364404===null||_0x3ae9b4[_0x13c651(0x1ce)](_0x364404,undefined)||_0x3ae9b4[_0x13c651(0x1ce)](_0x364404,''))return null;if(_0x3ae9b4['mUsTw'](typeof _0x364404,_0x3ae9b4['OLcYu']))return _0x364404?_0x3ae9b4['znxOW']:_0x3ae9b4['UEwBt'];if(_0x3ae9b4[_0x13c651(0x1cc)](typeof _0x364404,_0x13c651(0x213))){const _0x1b4f23=_0x364404[_0x13c651(0x1d6)]()[_0x13c651(0x264)]();if([_0x3ae9b4[_0x13c651(0x218)],_0x3ae9b4['TaPqk'],'y','1'][_0x13c651(0x22a)](_0x1b4f23))return _0x13c651(0x1ea);if([_0x3ae9b4['UEwBt'],'no','n','0'][_0x13c651(0x22a)](_0x1b4f23))return _0x3ae9b4[_0x13c651(0x230)];return null;}if(_0x3ae9b4['mUsTw'](typeof _0x364404,_0x3ae9b4['PUbJs']))return _0x364404?_0x13c651(0x1ea):_0x13c651(0x24b);return null;}async[a0_0x162b14(0x200)](_0x50ea98,_0x52ced5){const _0x4710dd=a0_0x162b14,_0x2938e4={'eXJyQ':_0x4710dd(0x1ef),'JzlYl':'request_scope_applied','lPQep':_0x4710dd(0x231),'NHPDv':function(_0x2ff853,_0x394adc,_0xfd81fe,_0x405d09){return _0x2ff853(_0x394adc,_0xfd81fe,_0x405d09);},'BwaXV':_0x4710dd(0x261)},_0x338c60=this[_0x4710dd(0x26e)]();try{let {headers:_0x52fd46,rows:_0x45e555,totalRows:_0x5be072}=await excelParser[_0x4710dd(0x1c9)](_0x50ea98[_0x4710dd(0x1d5)]);const _0x2623c8=this['buildLabelToFieldMap'](_0x52ced5[_0x4710dd(0x272)]),_0x9be064=_0x52fd46['map'](_0x4d8da1=>{const _0x2c8931=_0x2623c8['get'](_0x4d8da1);return _0x2c8931||_0x4d8da1;});_0x45e555=_0x45e555[_0x4710dd(0x254)](_0x48a164=>{const _0x262b0c=_0x4710dd,_0x34ab03={};return _0x52fd46[_0x262b0c(0x1d2)]((_0x45dda9,_0x217fa2)=>{const _0x47e277=_0x9be064[_0x217fa2];_0x34ab03[_0x47e277]=_0x48a164[_0x45dda9];}),_0x34ab03;}),_0x52fd46=_0x9be064,logger['debug']({'event':_0x2938e4['eXJyQ'],'original':_0x52fd46[_0x4710dd(0x219)],'mapped':_0x9be064[_0x4710dd(0x1db)]((_0xf2bba9,_0x23b54a)=>_0xf2bba9!==_0x52fd46[_0x23b54a])['length']},_0x4710dd(0x24d));_0x52ced5[_0x4710dd(0x255)]&&Object['keys'](_0x52ced5['columnFormats'])[_0x4710dd(0x219)]>0x0&&(_0x45e555=this[_0x4710dd(0x247)](_0x45e555,_0x52ced5[_0x4710dd(0x255)]),logger['debug']({'event':_0x4710dd(0x1c6),'formatCount':Object['keys'](_0x52ced5[_0x4710dd(0x255)])[_0x4710dd(0x219)],'formats':Object[_0x4710dd(0x23f)](_0x52ced5['columnFormats'])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x52ced5['scopeOverride']&&_0x52ced5['scopeOverride'][_0x4710dd(0x1cb)]){const {column:_0x57939c,value:_0x24041c}=_0x52ced5['scopeOverride'];_0x45e555=_0x45e555['map'](_0x448c7b=>({..._0x448c7b,[_0x57939c]:_0x24041c})),logger[_0x4710dd(0x222)]({'event':_0x2938e4['JzlYl'],'column':_0x57939c,'rowCount':_0x45e555[_0x4710dd(0x219)]},_0x4710dd(0x206));}const _0x403f34=_0x52ced5[_0x4710dd(0x20a)]?Object[_0x4710dd(0x26c)](_0x52ced5['lookupFields'])['map'](_0x158446=>_0x158446['targetField']):[],_0x46a5cd=_0x52ced5['fieldName']['filter'](_0x2e1889=>!_0x403f34['includes'](_0x2e1889)),_0x46bac5=excelParser['validateExcelStructure'](_0x52fd46,_0x46a5cd);if(!_0x46bac5[_0x4710dd(0x252)]){await fs[_0x4710dd(0x1f3)](_0x50ea98['path']);throw new Error(_0x4710dd(0x1d0)+_0x46bac5[_0x4710dd(0x214)]['join'](',\x20'));}const _0x3eaeea={'upload_id':_0x338c60,'filename':_0x50ea98['originalname'],'total_rows':_0x5be072,'headers':_0x52fd46,'rows':_0x45e555,'params':_0x52ced5,'created_at':new Date()[_0x4710dd(0x1d7)]()};return await redisHelper[_0x4710dd(0x1df)](_0x4710dd(0x1f0)+_0x338c60,_0x3eaeea,0xe10),await fs[_0x4710dd(0x1f3)](_0x50ea98[_0x4710dd(0x1d5)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x338c60,'filename':_0x50ea98['originalname'],'totalRows':_0x5be072},_0x2938e4['lPQep']),{'upload_id':_0x338c60,'total_rows':_0x5be072,'preview':_0x45e555['slice'](0x0,0xa)};}catch(_0x334e0d){try{await fs[_0x4710dd(0x1f3)](_0x50ea98['path']);}catch(_0x28985b){_0x2938e4['NHPDv'](logError,_0x28985b,{'event':_0x2938e4['BwaXV']},_0x4710dd(0x26a));}throw _0x334e0d;}}async['createPreviewJob'](_0x5e319a){const _0x4d5ef3=a0_0x162b14,_0x24ba46={'Vlsyv':function(_0x9b0a92,_0x4c7d19,_0x2f58a7,_0x5aafb8){return _0x9b0a92(_0x4c7d19,_0x2f58a7,_0x5aafb8);},'QdLdG':'preview_process_error','QPFZz':'Preview\x20job\x20created','SQtln':'validating'},_0xc8b51f=this['generateId'](),_0x169e8c=await redisHelper[_0x4d5ef3(0x1d9)]('upload:'+_0x5e319a);if(!_0x169e8c)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x1fab6e={'job_id':_0xc8b51f,'upload_id':_0x5e319a,'status':'validating','progress':0x0,'created_at':new Date()[_0x4d5ef3(0x1d7)](),'params':_0x169e8c['params']};return await redisHelper[_0x4d5ef3(0x1df)](_0x4d5ef3(0x1e3)+_0xc8b51f,_0x1fab6e,0xe10),logger[_0x4d5ef3(0x1fe)]({'event':'preview_job_created','jobId':_0xc8b51f,'uploadId':_0x5e319a},_0x24ba46['QPFZz']),this['processPreviewJob'](_0xc8b51f,_0x5e319a,_0x169e8c)[_0x4d5ef3(0x262)](_0x2041d1=>{const _0x5e5ed2=_0x4d5ef3;_0x24ba46['Vlsyv'](logError,_0x2041d1,{'event':_0x24ba46['QdLdG'],'jobId':_0xc8b51f},_0x5e5ed2(0x24e));}),{'job_id':_0xc8b51f,'status':_0x24ba46['SQtln']};}[a0_0x162b14(0x24f)](_0x5c3e03,_0x1e18cb){const _0x2424e1={'kjQIy':function(_0x2a6a46,_0x2616fd){return _0x2a6a46===_0x2616fd;},'crxye':function(_0x11779d,_0x5cdae8){return _0x11779d===_0x5cdae8;},'NmOfg':function(_0x22c343,_0x2c2615){return _0x22c343(_0x2c2615);}};_0x5c3e03['forEach']((_0x34ea74,_0x25c01e)=>{const _0x20e8a3=a0_0x4cdb;_0x1e18cb[_0x20e8a3(0x1d2)](_0x3c738b=>{const _0x4379ef=_0x20e8a3,_0x58a341=_0x34ea74[_0x3c738b];if(_0x2424e1['kjQIy'](_0x58a341,null)||_0x2424e1[_0x4379ef(0x266)](_0x58a341,undefined)||_0x2424e1['crxye'](_0x58a341,'')||_0x2424e1[_0x4379ef(0x201)](String,_0x58a341)[_0x4379ef(0x1d6)]()==='-'){const _0x1587ee=uuidv7();_0x34ea74[_0x3c738b]=_0x1587ee,_0x34ea74['_generated_uuid']=_0x34ea74[_0x4379ef(0x207)]||{},_0x34ea74['_generated_uuid'][_0x3c738b]=_0x1587ee,logger['debug']({'event':_0x4379ef(0x1ed),'rowIndex':_0x25c01e,'field':_0x3c738b,'uuid':_0x1587ee},'Auto-generated\x20UUID\x20for\x20'+_0x3c738b+'\x20at\x20row\x20'+(_0x25c01e+0x2));}});});}async[a0_0x162b14(0x1fd)](_0x4791c8,_0x1232a9,_0x405990){const _0x464be3=a0_0x162b14,_0x221bf5={'HuMrw':function(_0x490b7c,_0x3de413){return _0x490b7c===_0x3de413;},'gOcJq':_0x464be3(0x1e2),'QtXxB':function(_0x3a0b8b,_0x31f053){return _0x3a0b8b===_0x31f053;},'SAwFh':_0x464be3(0x220),'RSlux':function(_0x43f704,_0x2671ec){return _0x43f704>_0x2671ec;},'GiDpD':'preview_error','ziUHr':function(_0x579645,_0x48c473,_0xe09af,_0x432f54){return _0x579645(_0x48c473,_0xe09af,_0x432f54);},'Btrll':'failed'};try{let {rows:_0x1daaa8,params:_0x2beb96}=_0x405990;const {requiredFields:_0x5c14ef,validations:_0x58f088,upsertKeys:_0x2cc960,tableName:_0xffb273,primaryKey:_0x57de72,fieldName:_0x28d7b1,upsertStrategy:_0x459b18,lookupFields:_0x1b26c7}=_0x2beb96;this['autoGenerateUpsertKeys'](_0x1daaa8,_0x2cc960);let _0x786c14=[];if(_0x1b26c7&&Object[_0x464be3(0x23f)](_0x1b26c7)['length']>0x0){logger[_0x464be3(0x1fe)]({'event':_0x464be3(0x20e),'jobId':_0x4791c8,'lookupFieldCount':Object[_0x464be3(0x23f)](_0x1b26c7)['length']},_0x464be3(0x204));const _0x193ae8=await lookupResolver[_0x464be3(0x25c)](_0x1daaa8,_0x1b26c7);_0x1daaa8=_0x193ae8[_0x464be3(0x202)],_0x786c14=_0x193ae8[_0x464be3(0x24a)],_0x405990['rows']=_0x1daaa8;}const _0x30ec28=importValidator[_0x464be3(0x265)](_0x1daaa8,_0x5c14ef||[],_0x58f088||{});_0x786c14['forEach'](_0x3fd77a=>{const _0x46bba1=_0x464be3,_0x1889fb=_0x30ec28['find'](_0x4192f9=>_0x4192f9['rowIndex']===_0x3fd77a[_0x46bba1(0x267)]);_0x1889fb?_0x1889fb[_0x46bba1(0x24a)]['push'](_0x3fd77a['message']):_0x30ec28[_0x46bba1(0x246)]({'rowIndex':_0x3fd77a['rowIndex'],'rowData':_0x1daaa8[_0x3fd77a[_0x46bba1(0x267)]],'errors':[_0x3fd77a['message']]});});const _0x17eed4=importValidator[_0x464be3(0x23b)](_0x1daaa8,_0x2cc960);_0x17eed4[_0x464be3(0x1d2)](_0x547425=>{const _0x25b85b=_0x464be3,_0x244c1d=_0x30ec28[_0x25b85b(0x215)](_0x1f502c=>_0x1f502c['rowIndex']===_0x547425[_0x25b85b(0x267)]),_0x34971f=_0x2cc960[_0x25b85b(0x254)](_0x38250f=>_0x38250f[_0x25b85b(0x241)]())['join'](',\x20'),_0x133c04=_0x25b85b(0x1e5)+_0x34971f;_0x244c1d?_0x244c1d[_0x25b85b(0x24a)][_0x25b85b(0x246)](_0x133c04):_0x30ec28[_0x25b85b(0x246)]({'rowIndex':_0x547425['rowIndex'],'rowData':_0x1daaa8[_0x547425[_0x25b85b(0x267)]],'errors':[_0x133c04]});}),await this['detectDatabaseDuplicates'](_0x1daaa8,_0x2cc960,_0xffb273,_0x57de72,_0x459b18,_0x30ec28),_0x30ec28['forEach'](_0x412e10=>{const _0x507b64=_0x1daaa8[_0x412e10['rowIndex']];_0x507b64&&(_0x507b64['_errors']=_0x412e10['errors']);});let _0x5c2cce=0x0,_0x5e2638=0x0,_0x121628=0x0;_0x1daaa8[_0x464be3(0x1d2)](_0x2b4e79=>{const _0x46fcbe=_0x464be3;if(_0x221bf5[_0x46fcbe(0x227)](_0x2b4e79['_action'],_0x221bf5['gOcJq']))_0x5c2cce++;else{if(_0x221bf5[_0x46fcbe(0x1f6)](_0x2b4e79[_0x46fcbe(0x258)],_0x46fcbe(0x1cf)))_0x5e2638++;else _0x221bf5['QtXxB'](_0x2b4e79[_0x46fcbe(0x258)],_0x221bf5['SAwFh'])&&_0x121628++;}});const _0x593a14={'job_id':_0x4791c8,'upload_id':_0x1232a9,'status':_0x221bf5['RSlux'](_0x30ec28['length'],0x0)?_0x221bf5['GiDpD']:_0x464be3(0x268),'progress':0x64,'created_at':_0x405990[_0x464be3(0x1d8)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x1daaa8[_0x464be3(0x219)],'insert_count':_0x5c2cce,'update_count':_0x5e2638,'skip_count':_0x121628,'error_count':_0x30ec28[_0x464be3(0x219)],'errors':_0x30ec28,'data':_0x1daaa8,'sample_insert':_0x1daaa8['filter'](_0xb29927=>_0xb29927['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x1daaa8['filter'](_0x5efb37=>_0x5efb37[_0x464be3(0x258)]===_0x464be3(0x1cf))['slice'](0x0,0x5),'sample_skip':_0x1daaa8[_0x464be3(0x1db)](_0x3085cf=>_0x3085cf['_action']===_0x464be3(0x220))[_0x464be3(0x1da)](0x0,0x5)},'params':_0x2beb96};await redisHelper['setJob']('job:'+_0x4791c8,_0x593a14,0xe10),_0x405990['rows']=_0x1daaa8,await redisHelper[_0x464be3(0x1df)](_0x464be3(0x1f0)+_0x1232a9,_0x405990,0xe10),logger['info']({'event':_0x464be3(0x238),'jobId':_0x4791c8,'status':_0x593a14[_0x464be3(0x260)],'insertCount':_0x5c2cce,'updateCount':_0x5e2638,'skipCount':_0x121628,'errorCount':_0x30ec28['length']},_0x464be3(0x21f));}catch(_0x40d443){_0x221bf5['ziUHr'](logError,_0x40d443,{'event':_0x464be3(0x1e8),'jobId':_0x4791c8},'Preview\x20job\x20failed'),await redisHelper[_0x464be3(0x1df)](_0x464be3(0x1e3)+_0x4791c8,{'job_id':_0x4791c8,'upload_id':_0x1232a9,'status':_0x221bf5[_0x464be3(0x217)],'progress':0x0,'error':_0x40d443['message'],'created_at':new Date()[_0x464be3(0x1d7)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x558c74,_0x9cdf2c,_0x5e80e4,_0x41a2c2,_0xd968c4=a0_0x162b14(0x1dc),_0x27ea94=[]){const _0x266f3e=a0_0x162b14,_0x564a86={'SRsJT':function(_0x8556c4,_0x1d7bbf){return _0x8556c4===_0x1d7bbf;},'IMyAI':'NULL','Fxode':function(_0x4514aa,_0xdf6c88){return _0x4514aa(_0xdf6c88);},'kZWZY':_0x266f3e(0x1dc),'NGidt':'insert_only','EleZk':'SKIP','wAXmc':function(_0x2b95e2,_0x3d2ca4){return _0x2b95e2!==_0x3d2ca4;},'XrrvD':'skip_existing','qKAdF':_0x266f3e(0x1e2),'aYHWZ':function(_0x36d8a2,_0x4f1a56){return _0x36d8a2(_0x4f1a56);},'iDpgc':function(_0x22dbe8,_0x4dfb16){return _0x22dbe8===_0x4dfb16;},'DpNGb':function(_0x27932c,_0x5ac20a){return _0x27932c>_0x5ac20a;}},_0x57069b=upsertBuilder[_0x266f3e(0x249)](_0x558c74,0x64);for(const _0x14a2b9 of _0x57069b){const _0x3a15d8=_0x14a2b9[_0x266f3e(0x254)](_0x3e9c68=>_0x3e9c68[_0x9cdf2c[0x0]]),_0xfff712=_0x3a15d8[_0x266f3e(0x254)](_0x2ca50f=>{const _0x2d2c46=_0x266f3e;if(_0x564a86[_0x2d2c46(0x211)](_0x2ca50f,null)||_0x564a86[_0x2d2c46(0x211)](_0x2ca50f,undefined))return _0x564a86['IMyAI'];return'\x27'+_0x564a86[_0x2d2c46(0x1e4)](String,_0x2ca50f)[_0x2d2c46(0x26d)](/'/g,'\x27\x27')+'\x27';}),_0x32db59='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x41a2c2+',\x20'+_0x9cdf2c['join'](',\x20')+_0x266f3e(0x263)+_0x5e80e4+_0x266f3e(0x244)+_0x9cdf2c[0x0]+'\x20IN\x20('+_0xfff712['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x5ac46c=await _0x564a86[_0x266f3e(0x1f7)](executeQuery,_0x32db59);_0x564a86[_0x266f3e(0x25a)](dbType,'oracle')&&_0x5ac46c&&_0x564a86['DpNGb'](_0x5ac46c['length'],0x0)&&(_0x5ac46c=_0x5ac46c[_0x266f3e(0x254)](_0x1b63a1=>{const _0x204396=_0x266f3e,_0x73f4fa={};for(const [_0x3f8a82,_0x3922e9]of Object[_0x204396(0x251)](_0x1b63a1)){_0x73f4fa[_0x3f8a82['toLowerCase']()]=_0x3922e9;}return _0x73f4fa;}));const _0x1f3295=new Map();_0x5ac46c[_0x266f3e(0x1d2)](_0x4885ed=>{const _0x1a2b10=_0x266f3e,_0x512b15=_0x4885ed[_0x9cdf2c[0x0]];_0x1f3295[_0x1a2b10(0x224)](_0x512b15,_0x4885ed);}),_0x14a2b9['forEach']((_0x3218ca,_0x32a485)=>{const _0x1ca31b=_0x266f3e,_0x83957e=_0x3218ca[_0x9cdf2c[0x0]],_0x437f7c=_0x1f3295['get'](_0x83957e);if(_0x437f7c){if(_0xd968c4===_0x564a86[_0x1ca31b(0x21a)])_0x3218ca['_action']=_0x1ca31b(0x1cf),_0x3218ca[_0x1ca31b(0x22c)]=_0x437f7c[_0x41a2c2];else{if(_0x564a86[_0x1ca31b(0x211)](_0xd968c4,_0x564a86['NGidt'])){_0x3218ca[_0x1ca31b(0x258)]=_0x564a86[_0x1ca31b(0x203)],_0x3218ca[_0x1ca31b(0x25d)]=_0x3218ca['_errors']||[],_0x3218ca['_errors'][_0x1ca31b(0x246)]('Record\x20exists\x20(insert_only\x20mode)');const _0x37624a=_0x558c74[_0x1ca31b(0x253)](_0x3218ca);_0x564a86['wAXmc'](_0x37624a,-0x1)&&_0x27ea94[_0x1ca31b(0x246)]({'rowIndex':_0x37624a,'rowData':_0x3218ca,'errors':[_0x1ca31b(0x1f2)]});}else _0xd968c4===_0x564a86[_0x1ca31b(0x257)]&&(_0x3218ca[_0x1ca31b(0x258)]=_0x564a86[_0x1ca31b(0x203)]);}}else{if(_0xd968c4===_0x564a86[_0x1ca31b(0x21a)])_0x3218ca[_0x1ca31b(0x258)]=_0x564a86['qKAdF'];else(_0xd968c4===_0x564a86['NGidt']||_0xd968c4===_0x564a86[_0x1ca31b(0x257)])&&(_0x3218ca['_action']=_0x564a86['qKAdF']);}});}}async['createCommitJob'](_0x555c4d){const _0x6c9602=a0_0x162b14,_0x331b3a={'lpEwZ':function(_0x24539c,_0x65d218,_0x480e08,_0x2c2a67){return _0x24539c(_0x65d218,_0x480e08,_0x2c2a67);},'SJIRS':'Preview\x20job\x20not\x20found\x20or\x20expired','wkTYN':function(_0x364753,_0x37e82b){return _0x364753!==_0x37e82b;},'qlBDd':_0x6c9602(0x20f),'reKjq':'Commit\x20job\x20created'},_0x5855f9=this['generateId'](),_0x18c880=await redisHelper[_0x6c9602(0x1d9)](_0x6c9602(0x1e3)+_0x555c4d);if(!_0x18c880)throw new Error(_0x331b3a[_0x6c9602(0x23a)]);if(_0x331b3a[_0x6c9602(0x26b)](_0x18c880['status'],'preview_ok'))throw new Error(_0x6c9602(0x1fb)+_0x18c880['status']);const _0x259cf4={'job_id':_0x5855f9,'upload_id':_0x18c880['upload_id'],'preview_job_id':_0x555c4d,'status':_0x331b3a['qlBDd'],'progress':0x0,'created_at':new Date()[_0x6c9602(0x1d7)](),'params':_0x18c880[_0x6c9602(0x235)]};return await redisHelper[_0x6c9602(0x1df)](_0x6c9602(0x1e3)+_0x5855f9,_0x259cf4,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x5855f9,'previewJobId':_0x555c4d},_0x331b3a[_0x6c9602(0x259)]),this['processCommitJob'](_0x5855f9,_0x18c880)['catch'](_0x5dfbc9=>{const _0x55a73d=_0x6c9602;_0x331b3a['lpEwZ'](logError,_0x5dfbc9,{'event':_0x55a73d(0x1f1),'jobId':_0x5855f9},_0x55a73d(0x208));}),{'job_id':_0x5855f9,'status':'processing'};}async['processCommitJob'](_0x2b54be,_0x27654f){const _0x2c3689=a0_0x162b14,_0x3ef1f7={'JnssV':function(_0x1c9e1c,_0x1b2f48){return _0x1c9e1c>_0x1b2f48;},'cFqcw':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','vxrhu':function(_0x505460,_0x1dd181){return _0x505460>_0x1dd181;},'YAwbr':function(_0x15f275,_0x2d9ed0){return _0x15f275>_0x2d9ed0;},'TDyvt':function(_0x2be984,_0x4b1d28){return _0x2be984||_0x4b1d28;},'TOIRS':function(_0xfff50b,_0x5ba176){return _0xfff50b(_0x5ba176);},'MosPA':_0x2c3689(0x22b),'AbMaX':'commit_job_completed','ReLMD':_0x2c3689(0x1f9),'TCJgv':function(_0x2e69bb,_0x19082e,_0x52064b,_0x55069c){return _0x2e69bb(_0x19082e,_0x52064b,_0x55069c);},'uTrSE':_0x2c3689(0x242)};try{const _0x53a32c=await redisHelper['getJob']('upload:'+_0x27654f['upload_id']);if(!_0x53a32c)throw new Error(_0x2c3689(0x23e));const {rows:_0x8a9c83,params:_0x2ca712}=_0x53a32c,{tableName:_0x2cf0be,fieldName:_0x422528,primaryKey:_0x348355,upsertKeys:_0x22b5a5,excludeFromImport:_0xe51ecb,lookupFields:_0x9fcecb,columnFormats:_0x832473}=_0x2ca712,_0x2a3072=_0x9fcecb?Object[_0x2c3689(0x23f)](_0x9fcecb):[],_0x566b4c=new Set([..._0xe51ecb||[],..._0x2a3072]);let _0x46cc2a=_0x422528;_0x3ef1f7['JnssV'](_0x566b4c[_0x2c3689(0x250)],0x0)&&(_0x46cc2a=_0x422528['filter'](_0x511742=>!_0x566b4c['has'](_0x511742)),logger['debug']({'event':_0x2c3689(0x20d),'originalCount':_0x422528[_0x2c3689(0x219)],'filteredCount':_0x46cc2a['length'],'excludedFields':Array[_0x2c3689(0x237)](_0x566b4c),'lookupSourceFields':_0x2a3072},_0x3ef1f7['cFqcw']));const _0x3c5240=_0x8a9c83['filter'](_0x37b1b1=>_0x37b1b1['_action']==='INSERT'),_0x32d8c9=_0x8a9c83[_0x2c3689(0x1db)](_0x3088e4=>_0x3088e4['_action']==='UPDATE');let _0x1a2568=0x0,_0x5993e6=0x0;const _0x43f688=[];if(_0x3ef1f7['vxrhu'](_0x3c5240['length'],0x0)){const _0xc83bdc=upsertBuilder['chunkRows'](_0x3c5240,0x64);for(const _0x253ba2 of _0xc83bdc){const {query:_0xd58d04}=upsertBuilder['buildBatchInsert'](_0x253ba2,_0x2cf0be,_0x46cc2a,_0x832473||{});_0xd58d04&&_0x43f688[_0x2c3689(0x246)]({'sql':_0xd58d04,'count':_0x253ba2['length'],'type':_0x2c3689(0x25b)});}}if(_0x3ef1f7[_0x2c3689(0x24c)](_0x32d8c9[_0x2c3689(0x219)],0x0)){const _0x5e3e21=upsertBuilder[_0x2c3689(0x249)](_0x32d8c9,0x64);for(const _0x36f247 of _0x5e3e21){const {query:_0xb81398}=upsertBuilder[_0x2c3689(0x1e6)](_0x36f247,_0x2cf0be,_0x46cc2a,_0x348355,_0x22b5a5,_0x3ef1f7['TDyvt'](_0x832473,{}));_0xb81398&&_0x43f688['push']({'sql':_0xb81398,'count':_0x36f247[_0x2c3689(0x219)],'type':'update'});}}_0x3ef1f7[_0x2c3689(0x248)](_0x43f688['length'],0x0)&&await _0x3ef1f7['TOIRS'](executeTransaction,_0x43f688['map'](_0x1fc9f5=>({'sql':_0x1fc9f5[_0x2c3689(0x212)],'params':[]})));_0x43f688['forEach'](_0x44e367=>{const _0x242641=_0x2c3689;if(_0x44e367['type']===_0x242641(0x25b))_0x1a2568+=_0x44e367['count'];else _0x5993e6+=_0x44e367[_0x242641(0x223)];});const _0x3e57f6={'job_id':_0x2b54be,'upload_id':_0x27654f[_0x2c3689(0x1f8)],'preview_job_id':_0x27654f[_0x2c3689(0x22f)],'status':_0x3ef1f7[_0x2c3689(0x234)],'progress':0x64,'created_at':_0x27654f['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x2c3689(0x1d7)](),'result':{'total_rows':_0x8a9c83[_0x2c3689(0x219)],'inserted_rows':_0x1a2568,'updated_rows':_0x5993e6,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2ca712};await redisHelper['setJob']('job:'+_0x2b54be,_0x3e57f6,0xe10),logger[_0x2c3689(0x1fe)]({'event':_0x3ef1f7[_0x2c3689(0x1d3)],'jobId':_0x2b54be,'insertedCount':_0x1a2568,'updatedCount':_0x5993e6},_0x3ef1f7['ReLMD']);}catch(_0x371fbd){_0x3ef1f7['TCJgv'](logError,_0x371fbd,{'event':_0x2c3689(0x21b),'jobId':_0x2b54be},'Commit\x20job\x20failed'),await redisHelper[_0x2c3689(0x1df)]('job:'+_0x2b54be,{'job_id':_0x2b54be,'upload_id':_0x27654f[_0x2c3689(0x1f8)],'preview_job_id':_0x27654f['job_id'],'status':_0x3ef1f7[_0x2c3689(0x228)],'progress':0x0,'error':_0x371fbd[_0x2c3689(0x1d1)],'created_at':_0x27654f['created_at'],'started_at':new Date()[_0x2c3689(0x1d7)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x4f080a){const _0x15ec7e=a0_0x162b14,_0x28be13={'mKBIc':'Job\x20not\x20found\x20or\x20expired'},_0x4d6894=await redisHelper['getJob'](_0x15ec7e(0x1e3)+_0x4f080a);if(!_0x4d6894)return{'success':![],'error':_0x28be13['mKBIc']};return{'success':!![],'data':_0x4d6894};}}function a0_0x4cdb(_0x546d96,_0x48af6c){_0x546d96=_0x546d96-0x1c4;const _0x2f88da=a0_0x2f88();let _0x4cdb18=_0x2f88da[_0x546d96];if(a0_0x4cdb['ofiUoV']===undefined){var _0x30de99=function(_0x1f187c){const _0x5aaec1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ccfd1='',_0x793a70='';for(let _0x594e72=0x0,_0x3a8278,_0x4cfe42,_0x31d79f=0x0;_0x4cfe42=_0x1f187c['charAt'](_0x31d79f++);~_0x4cfe42&&(_0x3a8278=_0x594e72%0x4?_0x3a8278*0x40+_0x4cfe42:_0x4cfe42,_0x594e72++%0x4)?_0x2ccfd1+=String['fromCharCode'](0xff&_0x3a8278>>(-0x2*_0x594e72&0x6)):0x0){_0x4cfe42=_0x5aaec1['indexOf'](_0x4cfe42);}for(let _0x39de00=0x0,_0x45b53d=_0x2ccfd1['length'];_0x39de00<_0x45b53d;_0x39de00++){_0x793a70+='%'+('00'+_0x2ccfd1['charCodeAt'](_0x39de00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x793a70);};a0_0x4cdb['KXpDKw']=_0x30de99,a0_0x4cdb['YNqsBN']={},a0_0x4cdb['ofiUoV']=!![];}const _0x3dca6a=_0x2f88da[0x0],_0x26fb75=_0x546d96+_0x3dca6a,_0x639fe6=a0_0x4cdb['YNqsBN'][_0x26fb75];return!_0x639fe6?(_0x4cdb18=a0_0x4cdb['KXpDKw'](_0x4cdb18),a0_0x4cdb['YNqsBN'][_0x26fb75]=_0x4cdb18):_0x4cdb18=_0x639fe6,_0x4cdb18;}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x465a0d=a0_0x5de9;(function(_0x575bda,_0xb21e8a){const _0x3c4207=a0_0x5de9,_0x2526a8=_0x575bda();while(!![]){try{const _0x18b7ea=parseInt(_0x3c4207(0x90))/0x1+parseInt(_0x3c4207(0x126))/0x2*(-parseInt(_0x3c4207(0x103))/0x3)+parseInt(_0x3c4207(0x96))/0x4*(-parseInt(_0x3c4207(0x10b))/0x5)+-parseInt(_0x3c4207(0xcf))/0x6+-parseInt(_0x3c4207(0xc5))/0x7+parseInt(_0x3c4207(0xf7))/0x8*(parseInt(_0x3c4207(0x10d))/0x9)+parseInt(_0x3c4207(0x98))/0xa*(parseInt(_0x3c4207(0xab))/0xb);if(_0x18b7ea===_0xb21e8a)break;else _0x2526a8['push'](_0x2526a8['shift']());}catch(_0x2b3687){_0x2526a8['push'](_0x2526a8['shift']());}}}(a0_0xf178,0x7bc5c));function a0_0x5de9(_0x107b44,_0x5991ac){_0x107b44=_0x107b44-0x8c;const _0xf1786e=a0_0xf178();let _0x5de974=_0xf1786e[_0x107b44];if(a0_0x5de9['EKAhGg']===undefined){var _0x393f8b=function(_0x4cb77f){const _0x3c019d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a5c71='',_0x445836='';for(let _0x570bb6=0x0,_0x4734ce,_0x16d7b9,_0x5381fc=0x0;_0x16d7b9=_0x4cb77f['charAt'](_0x5381fc++);~_0x16d7b9&&(_0x4734ce=_0x570bb6%0x4?_0x4734ce*0x40+_0x16d7b9:_0x16d7b9,_0x570bb6++%0x4)?_0x5a5c71+=String['fromCharCode'](0xff&_0x4734ce>>(-0x2*_0x570bb6&0x6)):0x0){_0x16d7b9=_0x3c019d['indexOf'](_0x16d7b9);}for(let _0x3bb996=0x0,_0x5f4592=_0x5a5c71['length'];_0x3bb996<_0x5f4592;_0x3bb996++){_0x445836+='%'+('00'+_0x5a5c71['charCodeAt'](_0x3bb996)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445836);};a0_0x5de9['VWQkCz']=_0x393f8b,a0_0x5de9['NMzlaW']={},a0_0x5de9['EKAhGg']=!![];}const _0x1f9fe8=_0xf1786e[0x0],_0x49d6ac=_0x107b44+_0x1f9fe8,_0x47c988=a0_0x5de9['NMzlaW'][_0x49d6ac];return!_0x47c988?(_0x5de974=a0_0x5de9['VWQkCz'](_0x5de974),a0_0x5de9['NMzlaW'][_0x49d6ac]=_0x5de974):_0x5de974=_0x47c988,_0x5de974;}function a0_0xf178(){const _0x4c3543=['wfrWtgm','lI4VDxrPBhmVBg9Nz2vY','zgvMyxvSDa','y2f0y2G','zMLLBgrmywjLBhm','y29TBwL0x2PVyL9MywLSzwq','x3vWBg9HzerPCG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','CgfYyw1Z','AgvHzgvYC19TyxbWzwq','zMfSC2u','Evz4Cva','C0fsDhu','igf0ihjVDYa','x2fJDgLVBG','nta5otmZoxr2uNfcvG','z2v0','C2nVCgvpDMvYCMLKzq','jdfFjdi','z2v0sM9I','C2v0sM9I','z2vUzxjHDgvjza','A2v5CW','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','q29TBwL0igPVyIbJCMvHDgvK','mti4mZKYmMPcAhnkta','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjVy2vZC0nVBw1PDePVyG','u3PbsMm','C2XPy2u','zMLSDgvY','DxbKyxrLx2v4Axn0Aw5N','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EgfIrMy','Aw5Zzxj0x29UBhK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','BwfW','y3jLyxrLuhjLDMLLD0PVyG','zu1Wsxy','Aw5KzxHpzG','vvbeqvrf','t3LSCLC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zgvIDwC','CfLWA0C','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3fS','uK5Lv3a','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','DhLWzq','vgTTu08','AM9PBG','DKPVDKO','kqOGicaGica','Cu13s3O','Aw5JBhvKzxm','y1b5D2e','zw52','C2TPCf9LEgLZDgLUzW','yM9VBgvHBG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zMXVB3i','B3jPz2LUywXUyw1L','C2HPwMS','mta0oefcz2fSDW','DMfSAwrHDgLUzW','z2v0rgf0zq','r1nIrvy','z2v0rNvSBfLLyxi','uNfKwwG','z2v0tw9UDgG','tKTwCNq','Ew9RCxy','DxbSB2fKx2LK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','y29SDw1UrM9YBwf0CW','mtC0mtGZwgv5v3DI','wffoD3m','Cgf0Aa','Aw5Zzxj0','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','CM93CW','zMfPBgvK','BeL2Awu','mJC5nJeWEMnnBhz0','ChjLDMLLD19QB2jFzMfPBgvK','odi1m091thLeuW','yNvPBgrcyxrJAeLUC2vYDa','zxjYB3jZ','wfnirgq','CunTswe','zM9YrwfJAa','vwLhDgq','BwvZC2fNzq','DxbKyxrL','zfjdBLe','Aw5MBW','EvPjDvu','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','x2vYCM9YCW','su5trvju','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rxLAq04','u0Tjua','AM9Ix2LK','BfveDe0','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','Bwf0y2G','x2v4Axn0Aw5Nswq','C3rHDhvZ','nKf0u1nAyW','yMf0y2HwywXPzgf0zvjVD3m','ChjVy2vZC0XVB2T1CezPzwXKCW','CLHYCMS','B3jHy2XL','ChjLDMLLD19QB2jFy29TCgXLDgvK','reHKsha','Dg9mB3DLCKnHC2u','ywfRs2u','ChjVy2vZC1bYzxzPzxDkB2i','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','DgvZDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2H1BMTsB3DZ','zxHWB3j0CW','ChjVy2vZC2LUzW','zxHLy3v0zvrYyw5Zywn0Aw9U','ieLoicG','DxbSB2fKrgLY','C3rYAw5N','EMTYug4','uhjLDMLLDYbQB2iGy3jLyxrLza','ChjLDMLLD19VAW','ode3nde1y2Ppv2LS','Cg9ZDgDYzxnXBa','AM9IoG','BgvUz3rO','y291BNq','zMLUza','mtzSq1LHBNm','sLfyDKG','mtGXotuZmenXB0PtCG','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','x2DLBMvYyxrLzf91DwLK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','vfrwwuS','DhjPBq','vvbmt0fex0rjuG','CMvWBgfJzq','y3jLyxrLzf9HDa','yvLxCeq','rvjoBKy','CgfKu3rHCNq','C2L6zq','DxbSB2fKoG','zw50CMLLCW','Dg9ju09tDhjPBMC','A2vxC1i','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','CM93sw5KzxG','ntvjBLzxzee','y2HHCKf0','zhb3Ehy','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','CM1yy0y','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','BNvTyMvY','ChvZAa','rhvWBgLJyxrLihzHBhvLigzVCIa','y29TBwL0x2PVyL9JCMvHDgvK','zxHLy3v0zvf1zxj5'];a0_0xf178=function(){return _0x4c3543;};return a0_0xf178();}const {v7:uuidv7}=require('uuid'),path=require(a0_0x465a0d(0x105)),fs=require('fs')['promises'],redisHelper=require(a0_0x465a0d(0x11c)),{logger,logError}=require(a0_0x465a0d(0xb7)),dbType=(process['env']['DB_TYPE']||a0_0x465a0d(0x91))[a0_0x465a0d(0x12d)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x465a0d(0x12a))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x36ea80,_0x5a61d5)=>oracleDb[a0_0x465a0d(0xb5)](_0x36ea80,_0x5a61d5),executeTransaction=_0x461817=>oracleDb['executeTransaction'](_0x461817);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5bb17b,_0x2972e8)=>mysqlDb[a0_0x465a0d(0xb5)](_0x5bb17b,_0x2972e8),executeTransaction=_0x2e9c7d=>mysqlDb[a0_0x465a0d(0x136)](_0x2e9c7d);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x465a0d(0x107)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x465a0d(0xd6)),lookupResolver=require(a0_0x465a0d(0xf3));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x465a0d(0x138)](){const _0x21867a=a0_0x465a0d,_0x503c3f={'EyZCN':_0x21867a(0xb8)};if(!this['_uploadDir']){const _0x5ecbf2=process[_0x21867a(0xf0)][_0x21867a(0x132)]||_0x503c3f[_0x21867a(0x11d)];this['_uploadDir']=process[_0x21867a(0xf0)][_0x21867a(0x9e)]||path[_0x21867a(0xea)](__dirname,'../../temp/uploads/'+_0x5ecbf2);}return this[_0x21867a(0xbc)];}[a0_0x465a0d(0xcb)](){const _0x167d2b=a0_0x465a0d,_0x8ec7b={'dRCnQ':function(_0x5a4b30){return _0x5a4b30();},'xecgB':function(_0x45f70b,_0x1fe421){return _0x45f70b<_0x1fe421;}},_0x2bae74='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x47dfc9=Date['now']()['toString'](0x24),_0x5ec301=_0x8ec7b[_0x167d2b(0x116)](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x47dfc9['length']),_0x170a64=(_0x47dfc9+_0x5ec301)['substring'](0x0,0xc);let _0x48ae76='';for(let _0x36ee6c=0x0;_0x8ec7b['xecgB'](_0x36ee6c,0xc);_0x36ee6c++){_0x170a64[_0x36ee6c]?_0x48ae76+=_0x170a64[_0x36ee6c]:_0x48ae76+=_0x2bae74[_0x167d2b(0xac)](Math[_0x167d2b(0xf4)](Math['random']()*_0x2bae74[_0x167d2b(0x93)]));}return _0x48ae76;}['buildLabelToFieldMap'](_0x43523b){const _0x4afe57=a0_0x465a0d,_0x1b4e51={'SzAJc':function(_0x54fd5c,_0x2a8855){return _0x54fd5c(_0x2a8855);},'ayNwM':'$1_$2','GSbEV':_0x4afe57(0x130)},_0x5a4491=new Map();if(!_0x43523b)return _0x5a4491;return Object['entries'](_0x43523b)[_0x4afe57(0x112)](([_0x5597a8,_0x1f5eb8])=>{const _0x9a98bb=_0x4afe57,_0x1f8505=_0x1b4e51[_0x9a98bb(0xd2)](String,_0x1f5eb8)['trim']()[_0x9a98bb(0x9f)](/\s+/g,'_')[_0x9a98bb(0x9f)](/([a-z])([A-Z])/g,_0x1b4e51['ayNwM'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x9a98bb(0xc8))[_0x9a98bb(0x12d)]();_0x5a4491['set'](_0x1f8505,_0x5597a8);}),logger['debug']({'event':_0x1b4e51[_0x4afe57(0xfa)],'mappingCount':_0x5a4491['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x5a4491;}['applyColumnFormats'](_0x49e052,_0x4f6215){const _0x194722=a0_0x465a0d,_0x48673f={'XQNws':function(_0x4da344,_0x2285f5){return _0x4da344===_0x2285f5;},'riGXq':function(_0x3dd93b,_0x5c1608){return _0x3dd93b===_0x5c1608;},'rXrrk':_0x194722(0xb1),'lIvie':function(_0x322c13,_0x5af6ef){return _0x322c13(_0x5af6ef);}};if(!_0x4f6215||Object['keys'](_0x4f6215)[_0x194722(0x93)]===0x0)return _0x49e052;return _0x49e052[_0x194722(0xda)](_0x400566=>{const _0x4f99fe=_0x194722,_0x5577bd={..._0x400566};for(const [_0x4de98f,_0x18a5e8]of Object['entries'](_0x4f6215)){const _0x213553=_0x5577bd[_0x4de98f];if(_0x48673f[_0x4f99fe(0x104)](_0x213553,null)||_0x213553===undefined||_0x48673f['riGXq'](_0x213553,'')){_0x5577bd[_0x4de98f]=null;continue;}switch(_0x18a5e8['type']){case'date':_0x5577bd[_0x4de98f]=this['formatDateForDatabase'](_0x213553);break;case _0x48673f[_0x4f99fe(0x129)]:_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe0)](_0x213553);break;case _0x4f99fe(0xf2):_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe7)](_0x213553);break;case'text':_0x5577bd[_0x4de98f]=_0x48673f[_0x4f99fe(0x10a)](String,_0x213553);break;default:break;}}return _0x5577bd;});}[a0_0x465a0d(0xe3)](_0x407203){const _0x5647a3=a0_0x465a0d,_0x26f480={'TTVYK':function(_0x15635b,_0x179ce5){return _0x15635b===_0x179ce5;},'VzcnJ':function(_0x3ac460,_0x17da6e){return _0x3ac460===_0x17da6e;},'mIeWM':function(_0x458f97,_0x4e2b67){return _0x458f97 instanceof _0x4e2b67;},'lskmZ':function(_0x147439,_0x5a61dc){return _0x147439+_0x5a61dc;},'NPoPn':'string','shiZk':function(_0x3de989,_0x3b49d0){return _0x3de989(_0x3b49d0);},'TkmSO':function(_0x37d58a,_0x5be6f2){return _0x37d58a(_0x5be6f2);}};if(_0x407203===null||_0x26f480[_0x5647a3(0x9c)](_0x407203,undefined)||_0x26f480[_0x5647a3(0x9c)](_0x407203,''))return null;if(_0x26f480['VzcnJ'](typeof _0x407203,_0x5647a3(0x8c))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x407203))return _0x407203;if(_0x26f480['mIeWM'](_0x407203,Date)){if(isNaN(_0x407203['getTime']()))return null;const _0x27955f=_0x407203[_0x5647a3(0xfb)](),_0x494fc1=String(_0x26f480['lskmZ'](_0x407203[_0x5647a3(0xfd)](),0x1))[_0x5647a3(0xa3)](0x2,'0'),_0x5e7aec=String(_0x407203[_0x5647a3(0xf9)]())['padStart'](0x2,'0');return _0x27955f+'-'+_0x494fc1+'-'+_0x5e7aec;}if(_0x26f480['VzcnJ'](typeof _0x407203,_0x26f480['NPoPn'])){const _0x154889=_0x407203[_0x5647a3(0x123)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x154889){const _0x4feda8=_0x26f480['shiZk'](String,_0x154889[0x1])['padStart'](0x2,'0'),_0x23c5aa=String(_0x154889[0x2])['padStart'](0x2,'0'),_0x2509f3=_0x154889[0x3];return _0x2509f3+'-'+_0x23c5aa+'-'+_0x4feda8;}const _0x2ba69f=_0x407203[_0x5647a3(0x123)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x2ba69f){const _0x152ab1=_0x2ba69f[0x1],_0x487bf4=_0x26f480[_0x5647a3(0xf6)](String,_0x2ba69f[0x2])['padStart'](0x2,'0'),_0xab0ff8=_0x26f480[_0x5647a3(0xe9)](String,_0x2ba69f[0x3])['padStart'](0x2,'0');return _0x152ab1+'-'+_0x487bf4+'-'+_0xab0ff8;}}return _0x407203;}['formatNumberForDatabase'](_0x5b8ad5){const _0x5181f9=a0_0x465a0d,_0xf662fb={'DxvRW':function(_0x37fd48,_0x5d8ce3){return _0x37fd48===_0x5d8ce3;},'JQXvH':function(_0x13c082,_0x1e6023){return _0x13c082(_0x1e6023);},'ScFug':function(_0x36e802,_0x4301db){return _0x36e802(_0x4301db);}};if(_0x5b8ad5===null||_0x5b8ad5===undefined||_0x5b8ad5==='')return null;if(_0xf662fb['DxvRW'](typeof _0x5b8ad5,_0x5181f9(0xb1)))return _0xf662fb['JQXvH'](isNaN,_0x5b8ad5)?null:_0x5b8ad5;if(typeof _0x5b8ad5===_0x5181f9(0x8c)){let _0x5b02b8=_0x5b8ad5[_0x5181f9(0x9d)]();const _0x3c7eca=/,\d{1,2}$/['test'](_0x5b02b8)&&!/,\d{3}/[_0x5181f9(0x131)](_0x5b02b8);_0x3c7eca?_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/\./g,'')[_0x5181f9(0x9f)](',','.'):_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/,/g,'');const _0x28ae90=_0xf662fb['ScFug'](parseFloat,_0x5b02b8);return _0xf662fb[_0x5181f9(0x97)](isNaN,_0x28ae90)?null:_0x28ae90;}return null;}['formatBooleanForDatabase'](_0x37d46d){const _0x1913a1=a0_0x465a0d,_0x46f300={'MUbAm':function(_0x3471dc,_0x215e09){return _0x3471dc===_0x215e09;},'UiGtd':function(_0x335444,_0x2eeb05){return _0x335444===_0x2eeb05;},'pWdvD':'string','zkrPn':'true','NKVrt':_0x1913a1(0xc0),'qCmIa':function(_0x2d8f72,_0x321645){return _0x2d8f72===_0x321645;}};if(_0x37d46d===null||_0x46f300['MUbAm'](_0x37d46d,undefined)||_0x46f300[_0x1913a1(0x113)](_0x37d46d,''))return null;if(typeof _0x37d46d===_0x1913a1(0xf2))return _0x37d46d?'true':_0x1913a1(0xc0);if(typeof _0x37d46d===_0x46f300['pWdvD']){const _0x53977d=_0x37d46d[_0x1913a1(0x9d)]()['toLowerCase']();if([_0x46f300['zkrPn'],'yes','y','1']['includes'](_0x53977d))return _0x46f300[_0x1913a1(0x8d)];if([_0x46f300['NKVrt'],'no','n','0'][_0x1913a1(0xee)](_0x53977d))return _0x46f300[_0x1913a1(0xfe)];return null;}if(_0x46f300[_0x1913a1(0x111)](typeof _0x37d46d,_0x1913a1(0xb1)))return _0x37d46d?'true':_0x46f300[_0x1913a1(0xfe)];return null;}async['uploadFile'](_0x1f25b4,_0x17d450){const _0x4883c1=a0_0x465a0d,_0x28565f={'lChXB':function(_0x4c1d3f,_0xfb3f8){return _0x4c1d3f||_0xfb3f8;},'RNeWp':_0x4883c1(0xbf),'OylrW':'Excel\x20headers\x20mapped\x20to\x20field\x20names','xabFf':'request_scope_applied','lUDtM':_0x4883c1(0xa9),'yZIuU':_0x4883c1(0xd9),'nMZwr':'Failed\x20to\x20cleanup\x20file'},_0x1b14ec=this['generateId']();try{let {headers:_0x41fa3f,rows:_0x17b37b,totalRows:_0x881f7e}=await excelParser['parseExcelFile'](_0x1f25b4['path']);const _0x2015e9=this['buildLabelToFieldMap'](_0x17d450[_0x4883c1(0xba)]),_0x29aaac=_0x41fa3f['map'](_0x2ba20a=>{const _0x5b8621=_0x4883c1,_0x536c3b=_0x2015e9[_0x5b8621(0xc6)](_0x2ba20a);return _0x28565f['lChXB'](_0x536c3b,_0x2ba20a);});_0x17b37b=_0x17b37b[_0x4883c1(0xda)](_0x21a534=>{const _0x1c7743={};return _0x41fa3f['forEach']((_0x51c976,_0x511885)=>{const _0x2311fe=_0x29aaac[_0x511885];_0x1c7743[_0x2311fe]=_0x21a534[_0x51c976];}),_0x1c7743;}),_0x41fa3f=_0x29aaac,logger[_0x4883c1(0xe1)]({'event':_0x28565f[_0x4883c1(0xe6)],'original':_0x41fa3f['length'],'mapped':_0x29aaac[_0x4883c1(0xd4)]((_0x2e3030,_0x5a663f)=>_0x2e3030!==_0x41fa3f[_0x5a663f])[_0x4883c1(0x93)]},_0x28565f[_0x4883c1(0xdf)]);_0x17d450['columnFormats']&&Object[_0x4883c1(0xcc)](_0x17d450[_0x4883c1(0x102)])['length']>0x0&&(_0x17b37b=this[_0x4883c1(0xe4)](_0x17b37b,_0x17d450['columnFormats']),logger['debug']({'event':_0x4883c1(0xcd),'formatCount':Object['keys'](_0x17d450['columnFormats'])['length'],'formats':Object['keys'](_0x17d450['columnFormats'])},_0x4883c1(0x101)));if(_0x17d450[_0x4883c1(0xc7)]&&_0x17d450['scopeOverride']['column']){const {column:_0x721938,value:_0x4182b6}=_0x17d450[_0x4883c1(0xc7)];_0x17b37b=_0x17b37b['map'](_0x4a4b9d=>({..._0x4a4b9d,[_0x721938]:_0x4182b6})),logger['debug']({'event':_0x28565f[_0x4883c1(0xd7)],'column':_0x721938,'rowCount':_0x17b37b[_0x4883c1(0x93)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2e7c9f=_0x17d450['lookupFields']?Object['values'](_0x17d450['lookupFields'])[_0x4883c1(0xda)](_0x50239c=>_0x50239c['targetField']):[],_0x405439=_0x17d450['fieldName']['filter'](_0x81cfe9=>!_0x2e7c9f['includes'](_0x81cfe9)),_0x32afee=excelParser['validateExcelStructure'](_0x41fa3f,_0x405439);if(!_0x32afee['valid']){await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x32afee['missingFields'][_0x4883c1(0xea)](',\x20'));}const _0x2579b1={'upload_id':_0x1b14ec,'filename':_0x1f25b4[_0x4883c1(0xf5)],'total_rows':_0x881f7e,'headers':_0x41fa3f,'rows':_0x17b37b,'params':_0x17d450,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x1b14ec,_0x2579b1,0xe10),await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]),logger[_0x4883c1(0x117)]({'event':_0x28565f[_0x4883c1(0x120)],'uploadId':_0x1b14ec,'filename':_0x1f25b4['originalname'],'totalRows':_0x881f7e},_0x28565f[_0x4883c1(0x118)]),{'upload_id':_0x1b14ec,'total_rows':_0x881f7e,'preview':_0x17b37b['slice'](0x0,0xa)};}catch(_0x40c7b0){try{await fs['unlink'](_0x1f25b4['path']);}catch(_0x25e472){logError(_0x25e472,{'event':'file_cleanup_error'},_0x28565f['nMZwr']);}throw _0x40c7b0;}}async[a0_0x465a0d(0xdb)](_0x302e04){const _0x5d179c=a0_0x465a0d,_0x446cd1={'qMwKz':'Preview\x20processing\x20failed','eMpIv':_0x5d179c(0xf8),'hratS':_0x5d179c(0x8e)},_0xbbbcc=this[_0x5d179c(0xcb)](),_0x1a65dc=await redisHelper['getJob'](_0x5d179c(0xa5)+_0x302e04);if(!_0x1a65dc)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x3b29e8={'job_id':_0xbbbcc,'upload_id':_0x302e04,'status':_0x446cd1[_0x5d179c(0xdc)],'progress':0x0,'created_at':new Date()[_0x5d179c(0xa7)](),'params':_0x1a65dc['params']};return await redisHelper[_0x5d179c(0xca)]('job:'+_0xbbbcc,_0x3b29e8,0xe10),logger['info']({'event':'preview_job_created','jobId':_0xbbbcc,'uploadId':_0x302e04},_0x446cd1['hratS']),this[_0x5d179c(0x12f)](_0xbbbcc,_0x302e04,_0x1a65dc)[_0x5d179c(0xb9)](_0x4820a5=>{const _0x104edb=_0x5d179c;logError(_0x4820a5,{'event':'preview_process_error','jobId':_0xbbbcc},_0x446cd1[_0x104edb(0xed)]);}),{'job_id':_0xbbbcc,'status':_0x5d179c(0xf8)};}[a0_0x465a0d(0x121)](_0x4b4302,_0x1fa9a7){const _0xa289ec=a0_0x465a0d;_0x4b4302[_0xa289ec(0x112)]((_0xfcbe6e,_0x2906a1)=>{_0x1fa9a7['forEach'](_0x1a56b1=>{const _0x470cc6=a0_0x5de9,_0x366b54=_0xfcbe6e[_0x1a56b1];if(_0x366b54===null||_0x366b54===undefined||_0x366b54===''||String(_0x366b54)['trim']()==='-'){const _0x4796fe=uuidv7();_0xfcbe6e[_0x1a56b1]=_0x4796fe,_0xfcbe6e['_generated_uuid']=_0xfcbe6e['_generated_uuid']||{},_0xfcbe6e[_0x470cc6(0x9a)][_0x1a56b1]=_0x4796fe,logger[_0x470cc6(0xe1)]({'event':'uuid_auto_generated','rowIndex':_0x2906a1,'field':_0x1a56b1,'uuid':_0x4796fe},'Auto-generated\x20UUID\x20for\x20'+_0x1a56b1+_0x470cc6(0xc3)+(_0x2906a1+0x2));}});});}async[a0_0x465a0d(0x12f)](_0x4054b6,_0x1feb48,_0x9d469e){const _0x21119c=a0_0x465a0d,_0x3b4379={'FbMhH':function(_0x3b6b3c,_0x5d3add){return _0x3b6b3c===_0x5d3add;},'XTpLc':_0x21119c(0x11b),'DHdHp':function(_0x660874,_0x471cd4){return _0x660874===_0x471cd4;},'hAwbe':'SKIP','pYpkG':'Processing\x20lookup\x20fields','YKIid':'preview_error','cPywa':function(_0x30a499,_0x5dafdf,_0x2722e9,_0x3f7403){return _0x30a499(_0x5dafdf,_0x2722e9,_0x3f7403);},'yVxqP':_0x21119c(0x10c)};try{let {rows:_0x15fc9e,params:_0x1d9dd5}=_0x9d469e;const {requiredFields:_0x950498,validations:_0xb54982,upsertKeys:_0x431a7b,tableName:_0x39459d,primaryKey:_0x508990,fieldName:_0x28ce02,upsertStrategy:_0x969a97,lookupFields:_0x2db419}=_0x1d9dd5;this[_0x21119c(0x121)](_0x15fc9e,_0x431a7b);let _0x374978=[];if(_0x2db419&&Object['keys'](_0x2db419)['length']>0x0){logger['info']({'event':_0x21119c(0x9b),'jobId':_0x4054b6,'lookupFieldCount':Object[_0x21119c(0xcc)](_0x2db419)[_0x21119c(0x93)]},_0x3b4379[_0x21119c(0xe2)]);const _0x509cfb=await lookupResolver[_0x21119c(0x128)](_0x15fc9e,_0x2db419);_0x15fc9e=_0x509cfb['processedRows'],_0x374978=_0x509cfb['errors'],_0x9d469e[_0x21119c(0x108)]=_0x15fc9e;}const _0x55a291=importValidator[_0x21119c(0x127)](_0x15fc9e,_0x950498||[],_0xb54982||{});_0x374978['forEach'](_0x4fd839=>{const _0x45f34b=_0x21119c,_0x20474f=_0x55a291[_0x45f34b(0x95)](_0x49efdd=>_0x49efdd[_0x45f34b(0xaa)]===_0x4fd839['rowIndex']);_0x20474f?_0x20474f[_0x45f34b(0x10f)][_0x45f34b(0xb2)](_0x4fd839['message']):_0x55a291['push']({'rowIndex':_0x4fd839[_0x45f34b(0xaa)],'rowData':_0x15fc9e[_0x4fd839[_0x45f34b(0xaa)]],'errors':[_0x4fd839[_0x45f34b(0x114)]]});});const _0x3b3724=importValidator[_0x21119c(0xb0)](_0x15fc9e,_0x431a7b);_0x3b3724[_0x21119c(0x112)](_0x3806d2=>{const _0x56c8d1=_0x21119c,_0x2e73cb=_0x55a291[_0x56c8d1(0x95)](_0x1cde6c=>_0x1cde6c[_0x56c8d1(0xaa)]===_0x3806d2['rowIndex']),_0x576e14=_0x431a7b[_0x56c8d1(0xda)](_0x420d57=>_0x420d57['toUpperCase']())[_0x56c8d1(0xea)](',\x20'),_0x22e42f=_0x56c8d1(0xb3)+_0x576e14;_0x2e73cb?_0x2e73cb['errors'][_0x56c8d1(0xb2)](_0x22e42f):_0x55a291['push']({'rowIndex':_0x3806d2['rowIndex'],'rowData':_0x15fc9e[_0x3806d2['rowIndex']],'errors':[_0x22e42f]});}),await this[_0x21119c(0xae)](_0x15fc9e,_0x431a7b,_0x39459d,_0x508990,_0x969a97,_0x55a291),_0x55a291['forEach'](_0x40bbb5=>{const _0x1d8b7e=_0x15fc9e[_0x40bbb5['rowIndex']];_0x1d8b7e&&(_0x1d8b7e['_errors']=_0x40bbb5['errors']);});let _0xd1f859=0x0,_0x5ab5fb=0x0,_0x4cfed1=0x0;_0x15fc9e['forEach'](_0x652647=>{const _0x3ea013=_0x21119c;if(_0x3b4379['FbMhH'](_0x652647[_0x3ea013(0xc4)],_0x3b4379[_0x3ea013(0xb6)]))_0xd1f859++;else{if(_0x652647['_action']===_0x3ea013(0xde))_0x5ab5fb++;else _0x3b4379[_0x3ea013(0x12c)](_0x652647['_action'],_0x3b4379['hAwbe'])&&_0x4cfed1++;}});const _0x163bcb={'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x55a291[_0x21119c(0x93)]>0x0?_0x3b4379['YKIid']:_0x21119c(0x8f),'progress':0x64,'created_at':_0x9d469e['created_at'],'completed_at':new Date()[_0x21119c(0xa7)](),'preview':{'total_rows':_0x15fc9e['length'],'insert_count':_0xd1f859,'update_count':_0x5ab5fb,'skip_count':_0x4cfed1,'error_count':_0x55a291[_0x21119c(0x93)],'errors':_0x55a291,'data':_0x15fc9e,'sample_insert':_0x15fc9e[_0x21119c(0xd4)](_0x5185a3=>_0x5185a3[_0x21119c(0xc4)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x15fc9e[_0x21119c(0xd4)](_0x29c828=>_0x29c828['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x15fc9e[_0x21119c(0xd4)](_0x133282=>_0x133282['_action']==='SKIP')[_0x21119c(0xd3)](0x0,0x5)},'params':_0x1d9dd5};await redisHelper['setJob']('job:'+_0x4054b6,_0x163bcb,0xe10),_0x9d469e[_0x21119c(0x108)]=_0x15fc9e,await redisHelper['setJob'](_0x21119c(0xa5)+_0x1feb48,_0x9d469e,0xe10),logger['info']({'event':_0x21119c(0x12b),'jobId':_0x4054b6,'status':_0x163bcb['status'],'insertCount':_0xd1f859,'updateCount':_0x5ab5fb,'skipCount':_0x4cfed1,'errorCount':_0x55a291['length']},'Preview\x20job\x20completed');}catch(_0x5b2bf1){_0x3b4379[_0x21119c(0xef)](logError,_0x5b2bf1,{'event':_0x3b4379[_0x21119c(0xc1)],'jobId':_0x4054b6},'Preview\x20job\x20failed'),await redisHelper[_0x21119c(0xca)]('job:'+_0x4054b6,{'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x21119c(0x109),'progress':0x0,'error':_0x5b2bf1['message'],'created_at':new Date()[_0x21119c(0xa7)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x10e2d3,_0x121afa,_0x1e6eb,_0x54368a,_0x17175b=a0_0x465a0d(0xd5),_0x53e4a2=[]){const _0x48ef64=a0_0x465a0d,_0x54f322={'ERNnF':function(_0x750f14,_0x3cc3b5){return _0x750f14===_0x3cc3b5;},'fYdoQ':_0x48ef64(0xde),'XSHDd':_0x48ef64(0x11e),'aYWpD':function(_0x2fcbfb,_0x8fc715){return _0x2fcbfb!==_0x8fc715;},'vJovJ':_0x48ef64(0xf1),'RqdYh':function(_0x308c86,_0x4317c1){return _0x308c86(_0x4317c1);},'KajTe':function(_0x3a6b38,_0x34cc5d){return _0x3a6b38>_0x34cc5d;}},_0x144dad=upsertBuilder[_0x48ef64(0x133)](_0x10e2d3,0x64);for(const _0x5c6c78 of _0x144dad){const _0x100e7b=_0x5c6c78[_0x48ef64(0xda)](_0x236d8b=>_0x236d8b[_0x121afa[0x0]]),_0x296989=_0x100e7b[_0x48ef64(0xda)](_0x1cf38d=>{const _0x119c79=_0x48ef64;if(_0x1cf38d===null||_0x1cf38d===undefined)return'NULL';return'\x27'+String(_0x1cf38d)[_0x119c79(0x9f)](/'/g,'\x27\x27')+'\x27';}),_0x5a6f36='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x54368a+',\x20'+_0x121afa['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1e6eb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x121afa[0x0]+_0x48ef64(0x137)+_0x296989['join'](',\x20')+_0x48ef64(0xec);let _0x19209e=await _0x54f322[_0x48ef64(0xfc)](executeQuery,_0x5a6f36);_0x54f322['ERNnF'](dbType,'oracle')&&_0x19209e&&_0x54f322['KajTe'](_0x19209e[_0x48ef64(0x93)],0x0)&&(_0x19209e=_0x19209e['map'](_0x14d709=>{const _0x4dc397=_0x48ef64,_0x119a28={};for(const [_0x47094b,_0x4a342f]of Object[_0x4dc397(0xa6)](_0x14d709)){_0x119a28[_0x47094b[_0x4dc397(0x12d)]()]=_0x4a342f;}return _0x119a28;}));const _0x5bcaef=new Map();_0x19209e[_0x48ef64(0x112)](_0x3b1c11=>{const _0x2be921=_0x3b1c11[_0x121afa[0x0]];_0x5bcaef['set'](_0x2be921,_0x3b1c11);}),_0x5c6c78['forEach']((_0x28f7dd,_0x334af8)=>{const _0x457f5c=_0x48ef64,_0x160d15=_0x28f7dd[_0x121afa[0x0]],_0x5bb44c=_0x5bcaef['get'](_0x160d15);if(_0x5bb44c){if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd['_action']=_0x54f322['fYdoQ'],_0x28f7dd[_0x457f5c(0x124)]=_0x5bb44c[_0x54368a];else{if(_0x54f322['ERNnF'](_0x17175b,_0x457f5c(0xd8))){_0x28f7dd['_action']=_0x54f322[_0x457f5c(0x110)],_0x28f7dd['_errors']=_0x28f7dd[_0x457f5c(0x11a)]||[],_0x28f7dd[_0x457f5c(0x11a)]['push'](_0x457f5c(0xbd));const _0x42d982=_0x10e2d3[_0x457f5c(0xdd)](_0x28f7dd);_0x54f322[_0x457f5c(0xa1)](_0x42d982,-0x1)&&_0x53e4a2['push']({'rowIndex':_0x42d982,'rowData':_0x28f7dd,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x17175b===_0x54f322['vJovJ']&&(_0x28f7dd[_0x457f5c(0xc4)]=_0x54f322['XSHDd']);}}else{if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd[_0x457f5c(0xc4)]=_0x457f5c(0x11b);else(_0x17175b==='insert_only'||_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x54f322[_0x457f5c(0xeb)]))&&(_0x28f7dd['_action']='INSERT');}});}}async['createCommitJob'](_0x282586){const _0x2ec9f5=a0_0x465a0d,_0x4a2014={'WzFrD':'commit_process_error','kqIpw':_0x2ec9f5(0xd0),'yokqv':_0x2ec9f5(0x8f),'oLMtV':_0x2ec9f5(0x135)},_0x123f2c=this[_0x2ec9f5(0xcb)](),_0x53c3a7=await redisHelper['getJob'](_0x2ec9f5(0x92)+_0x282586);if(!_0x53c3a7)throw new Error(_0x2ec9f5(0x119));if(_0x53c3a7['status']!==_0x4a2014[_0x2ec9f5(0xff)])throw new Error(_0x2ec9f5(0x122)+_0x53c3a7[_0x2ec9f5(0x125)]);const _0xa67245={'job_id':_0x123f2c,'upload_id':_0x53c3a7[_0x2ec9f5(0x100)],'preview_job_id':_0x282586,'status':_0x2ec9f5(0x135),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x53c3a7[_0x2ec9f5(0xbe)]};return await redisHelper[_0x2ec9f5(0xca)](_0x2ec9f5(0x92)+_0x123f2c,_0xa67245,0xe10),logger[_0x2ec9f5(0x117)]({'event':_0x2ec9f5(0xb4),'jobId':_0x123f2c,'previewJobId':_0x282586},_0x2ec9f5(0xce)),this[_0x2ec9f5(0xd1)](_0x123f2c,_0x53c3a7)[_0x2ec9f5(0xb9)](_0x56ea7b=>{logError(_0x56ea7b,{'event':_0x4a2014['WzFrD'],'jobId':_0x123f2c},_0x4a2014['kqIpw']);}),{'job_id':_0x123f2c,'status':_0x4a2014['oLMtV']};}async[a0_0x465a0d(0xd1)](_0x185442,_0x5287ac){const _0x3dfd42=a0_0x465a0d,_0x3f27f0={'xIOdp':function(_0x2b1a00,_0x34745c){return _0x2b1a00===_0x34745c;},'dpwxv':'Upload\x20data\x20not\x20found\x20or\x20expired','lHoGx':function(_0x1ef1cc,_0x53c880){return _0x1ef1cc>_0x53c880;},'TzbWZ':'import_fields_filtered','sARtu':_0x3dfd42(0x99),'jcfnV':_0x3dfd42(0x106),'rmXcF':function(_0x569286,_0x5540f2){return _0x569286||_0x5540f2;},'keWsR':function(_0x21b3f4,_0x535f63){return _0x21b3f4(_0x535f63);},'aakKe':'commit_job_completed','NQLxb':'Commit\x20job\x20completed','qPMAI':function(_0x32e3a4,_0x31f66f,_0x3adfd7,_0x181039){return _0x32e3a4(_0x31f66f,_0x3adfd7,_0x181039);},'UfwMt':'Commit\x20job\x20failed'};try{const _0xf5d0e2=await redisHelper[_0x3dfd42(0xc9)]('upload:'+_0x5287ac[_0x3dfd42(0x100)]);if(!_0xf5d0e2)throw new Error(_0x3f27f0[_0x3dfd42(0xad)]);const {rows:_0x675f47,params:_0x3bf1e8}=_0xf5d0e2,{tableName:_0x2f9469,fieldName:_0x4b22f4,primaryKey:_0xeb7ae4,upsertKeys:_0x2803ac,excludeFromImport:_0xce205f,lookupFields:_0x465ff8,columnFormats:_0x107f2e}=_0x3bf1e8,_0x1525cf=_0x465ff8?Object['keys'](_0x465ff8):[],_0x23df14=new Set([..._0xce205f||[],..._0x1525cf]);let _0x5264cb=_0x4b22f4;_0x3f27f0['lHoGx'](_0x23df14[_0x3dfd42(0xa4)],0x0)&&(_0x5264cb=_0x4b22f4['filter'](_0xa72016=>!_0x23df14['has'](_0xa72016)),logger['debug']({'event':_0x3f27f0['TzbWZ'],'originalCount':_0x4b22f4['length'],'filteredCount':_0x5264cb['length'],'excludedFields':Array['from'](_0x23df14),'lookupSourceFields':_0x1525cf},_0x3f27f0[_0x3dfd42(0xc2)]));const _0x28e838=_0x675f47['filter'](_0x10ea9e=>_0x10ea9e[_0x3dfd42(0xc4)]===_0x3dfd42(0x11b)),_0x5c71ca=_0x675f47[_0x3dfd42(0xd4)](_0x2b1343=>_0x2b1343[_0x3dfd42(0xc4)]==='UPDATE');let _0x4b7d79=0x0,_0x297c43=0x0;const _0x52e5fb=[];if(_0x28e838['length']>0x0){const _0x4f395f=upsertBuilder[_0x3dfd42(0x133)](_0x28e838,0x64);for(const _0xd33a1a of _0x4f395f){const {query:_0x511d7c}=upsertBuilder[_0x3dfd42(0x10e)](_0xd33a1a,_0x2f9469,_0x5264cb,_0x107f2e||{});_0x511d7c&&_0x52e5fb['push']({'sql':_0x511d7c,'count':_0xd33a1a[_0x3dfd42(0x93)],'type':_0x3f27f0['jcfnV']});}}if(_0x5c71ca['length']>0x0){const _0x2e7854=upsertBuilder['chunkRows'](_0x5c71ca,0x64);for(const _0x2918c5 of _0x2e7854){const {query:_0x31430f}=upsertBuilder['buildBatchUpdate'](_0x2918c5,_0x2f9469,_0x5264cb,_0xeb7ae4,_0x2803ac,_0x3f27f0[_0x3dfd42(0xaf)](_0x107f2e,{}));_0x31430f&&_0x52e5fb[_0x3dfd42(0xb2)]({'sql':_0x31430f,'count':_0x2918c5['length'],'type':_0x3dfd42(0x115)});}}_0x3f27f0['lHoGx'](_0x52e5fb[_0x3dfd42(0x93)],0x0)&&await _0x3f27f0[_0x3dfd42(0xa8)](executeTransaction,_0x52e5fb['map'](_0x14be38=>({'sql':_0x14be38[_0x3dfd42(0xe5)],'params':[]})));_0x52e5fb[_0x3dfd42(0x112)](_0x108909=>{const _0x33203e=_0x3dfd42;if(_0x3f27f0['xIOdp'](_0x108909[_0x33203e(0xe8)],'insert'))_0x4b7d79+=_0x108909['count'];else _0x297c43+=_0x108909[_0x33203e(0x94)];});const _0x11c99c={'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac[_0x3dfd42(0x11f)],'status':'completed','progress':0x64,'created_at':_0x5287ac['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x3dfd42(0xa7)](),'result':{'total_rows':_0x675f47[_0x3dfd42(0x93)],'inserted_rows':_0x4b7d79,'updated_rows':_0x297c43,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3bf1e8};await redisHelper[_0x3dfd42(0xca)]('job:'+_0x185442,_0x11c99c,0xe10),logger[_0x3dfd42(0x117)]({'event':_0x3f27f0[_0x3dfd42(0x12e)],'jobId':_0x185442,'insertedCount':_0x4b7d79,'updatedCount':_0x297c43},_0x3f27f0['NQLxb']);}catch(_0x3ce14a){_0x3f27f0['qPMAI'](logError,_0x3ce14a,{'event':_0x3dfd42(0xbb),'jobId':_0x185442},_0x3f27f0['UfwMt']),await redisHelper['setJob'](_0x3dfd42(0x92)+_0x185442,{'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac['job_id'],'status':'failed','progress':0x0,'error':_0x3ce14a[_0x3dfd42(0x114)],'created_at':_0x5287ac[_0x3dfd42(0xa0)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x3ad98b){const _0x4ff415=a0_0x465a0d,_0x2ab198=await redisHelper[_0x4ff415(0xc9)](_0x4ff415(0x92)+_0x3ad98b);if(!_0x2ab198)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x2ab198};}}module[a0_0x465a0d(0x134)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x503578=a0_0x2a15;(function(_0xbaba49,_0x409561){const _0x14e4cf=a0_0x2a15,_0x2ecce7=_0xbaba49();while(!![]){try{const _0x30aee7=parseInt(_0x14e4cf(0xdb))/0x1*(-parseInt(_0x14e4cf(0xba))/0x2)+parseInt(_0x14e4cf(0xf4))/0x3*(-parseInt(_0x14e4cf(0xfe))/0x4)+-parseInt(_0x14e4cf(0xb0))/0x5+-parseInt(_0x14e4cf(0xe8))/0x6+-parseInt(_0x14e4cf(0x9d))/0x7+parseInt(_0x14e4cf(0xb7))/0x8*(parseInt(_0x14e4cf(0xcd))/0x9)+parseInt(_0x14e4cf(0xda))/0xa;if(_0x30aee7===_0x409561)break;else _0x2ecce7['push'](_0x2ecce7['shift']());}catch(_0x19b58d){_0x2ecce7['push'](_0x2ecce7['shift']());}}}(a0_0x1c7a,0x1b727));const {Kafka,logLevel}=require(a0_0x503578(0x104)),{v7:uuidv7}=require(a0_0x503578(0xb6));class KafkaConsumerService{constructor(){const _0x136ad9=a0_0x503578,_0x337f21=_0x136ad9(0xa1)['split']('|');let _0x30ddcd=0x0;while(!![]){switch(_0x337f21[_0x30ddcd++]){case'0':this['isConnected']=![];continue;case'1':this['isRunning']=![];continue;case'2':this['messageHandler']=null;continue;case'3':this[_0x136ad9(0xae)]=null;continue;case'4':this[_0x136ad9(0xc9)]=null;continue;case'5':this[_0x136ad9(0xcc)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'6':this[_0x136ad9(0x9f)]=null;continue;case'7':this['isPaused']=![];continue;case'8':this['subscribedTopics']=[];continue;case'9':this[_0x136ad9(0xb4)]=null;continue;case'10':this['isInitializing']=![];continue;}break;}}['getConfig'](){const _0x3cbd91=a0_0x503578,_0x798f95={'mcsNi':function(_0x2a15b8,_0x37118e){return _0x2a15b8===_0x37118e;},'TbNpK':'true','KiBZA':_0x3cbd91(0xbf),'hkjDs':_0x3cbd91(0xff),'TwlNH':function(_0x29f2cc,_0x4effdb){return _0x29f2cc(_0x4effdb);},'cuBPh':function(_0x17e240,_0x106e16){return _0x17e240(_0x106e16);},'mbSat':function(_0x55c2e1,_0x4cc200){return _0x55c2e1(_0x4cc200);},'VyLZf':function(_0x2c337f,_0x193be7){return _0x2c337f===_0x193be7;},'WduQX':function(_0x1fba75,_0x1946d6){return _0x1fba75(_0x1946d6);},'vbWFx':'1000','cvQvU':_0x3cbd91(0xa0)};return{'enabled':_0x798f95[_0x3cbd91(0xd7)](process['env'][_0x3cbd91(0xe6)],_0x798f95['TbNpK']),'brokers':(process['env'][_0x3cbd91(0xdf)]||'localhost:9092')[_0x3cbd91(0xab)](','),'clientId':process[_0x3cbd91(0xd6)][_0x3cbd91(0xcf)]||'restforge-'+(process[_0x3cbd91(0xd6)]['RESTFORGE_PROJECT_NAME']||'default')+'-consumer','connectionTimeout':parseInt(process[_0x3cbd91(0xd6)]['KAFKA_CONNECTION_TIMEOUT']||_0x798f95['KiBZA']),'requestTimeout':parseInt(process['env'][_0x3cbd91(0xa2)]||_0x798f95['hkjDs']),'sessionTimeout':_0x798f95[_0x3cbd91(0xfd)](parseInt,process[_0x3cbd91(0xd6)][_0x3cbd91(0xa5)]||'30000'),'heartbeatInterval':_0x798f95['cuBPh'](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x3cbd91(0xbf)),'maxBytesPerPartition':_0x798f95['mbSat'](parseInt,process[_0x3cbd91(0xd6)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3cbd91(0xcb)),'autoCommit':_0x798f95[_0x3cbd91(0x92)](process['env']['KAFKA_AUTO_COMMIT'],_0x798f95[_0x3cbd91(0xd4)]),'autoCommitInterval':_0x798f95[_0x3cbd91(0x91)](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x3cbd91(0x97)),'retryAttempts':_0x798f95[_0x3cbd91(0xf1)](parseInt,process[_0x3cbd91(0xd6)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x798f95[_0x3cbd91(0xe3)](parseInt,process[_0x3cbd91(0xd6)][_0x3cbd91(0xe2)]||_0x798f95['vbWFx']),'retryMaxDelay':_0x798f95['cuBPh'](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x3cbd91(0x9b)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x798f95[_0x3cbd91(0xf7)]};}['getLogLevel'](_0x566b31){const _0x55e04b=a0_0x503578,_0xe932c2={'nothing':logLevel['NOTHING'],'error':logLevel[_0x55e04b(0xd1)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xe932c2[_0x566b31['toLowerCase']()]||logLevel['WARN'];}async[a0_0x503578(0xf6)](_0x412099={}){const _0x900c13=a0_0x503578,_0x2f45ca={'ygJCT':function(_0x4e62aa,_0x342a27){return _0x4e62aa===_0x342a27;},'vfBhB':_0x900c13(0xbe),'oXBUx':function(_0x427318,_0x2e283f){return _0x427318(_0x2e283f);},'SxnBy':function(_0x163b27,_0x10a66c){return _0x163b27(_0x10a66c);}},_0x270ea7=this['getConfig']();if(!_0x270ea7[_0x900c13(0xc6)])return console[_0x900c13(0xca)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x900c13(0xa7)]&&this[_0x900c13(0x9f)])return this['connectionPromise'];return this[_0x900c13(0xa7)]=!![],this['connectionPromise']=new Promise(async _0x1ffdbf=>{const _0x465cba=_0x900c13;try{let _0x165e9e=undefined;_0x2f45ca['ygJCT'](process['env']['KAFKA_SSL'],_0x2f45ca[_0x465cba(0xac)])&&(_0x165e9e=!![]);let _0x339342=undefined;process[_0x465cba(0xd6)]['KAFKA_SASL_MECHANISM']&&(_0x339342={'mechanism':process[_0x465cba(0xd6)]['KAFKA_SASL_MECHANISM'],'username':process[_0x465cba(0xd6)]['KAFKA_SASL_USERNAME']||'','password':process[_0x465cba(0xd6)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x412099[_0x465cba(0xa9)]||_0x270ea7['clientId'],'brokers':_0x270ea7['brokers'],'connectionTimeout':_0x270ea7['connectionTimeout'],'requestTimeout':_0x270ea7[_0x465cba(0x9a)],'logLevel':this[_0x465cba(0x9c)](_0x270ea7[_0x465cba(0xe9)]),'ssl':_0x165e9e,'sasl':_0x339342,'retry':{'initialRetryTime':_0x270ea7['retryDelay'],'retries':_0x270ea7['retryAttempts'],'maxRetryTime':_0x270ea7[_0x465cba(0xfc)]}}),this[_0x465cba(0xae)]=_0x412099['groupId']||_0x465cba(0xc5)+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+_0x465cba(0xc2),this[_0x465cba(0xc9)]=this['kafka']['consumer']({'groupId':this[_0x465cba(0xae)],'sessionTimeout':_0x270ea7['sessionTimeout'],'heartbeatInterval':_0x270ea7['heartbeatInterval'],'maxBytesPerPartition':_0x270ea7['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x465cba(0xc9)]['connect'](),this[_0x465cba(0x99)]=!![],console['log'](_0x465cba(0xa4)+_0x270ea7['brokers']['join'](',\x20')+_0x465cba(0xfa)+this[_0x465cba(0xae)]+')'),this[_0x465cba(0xdd)](),_0x2f45ca['oXBUx'](_0x1ffdbf,!![]);}catch(_0x51c6f7){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x51c6f7['message']),this['isConnected']=![],_0x2f45ca['SxnBy'](_0x1ffdbf,![]);}finally{this[_0x465cba(0xa7)]=![];}}),this[_0x900c13(0x9f)];}['setupEventHandlers'](){const _0x156609=a0_0x503578,_0x39d148={'BoAVw':'[KafkaConsumer]\x20Consumer\x20stopped','sWIOU':_0x156609(0xd0)};if(!this[_0x156609(0xc9)])return;this[_0x156609(0xc9)]['on'](_0x156609(0xdc),()=>{const _0x42c14f=_0x156609;console[_0x42c14f(0xca)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x42c14f(0x99)]=![],this['isRunning']=![];}),this['consumer']['on'](_0x39d148['sWIOU'],()=>{const _0x1a26b7=_0x156609;console['log'](_0x39d148[_0x1a26b7(0xbc)]),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x1ccb85=>{const _0x3f8ca6=_0x156609;console['error'](_0x3f8ca6(0xf2)+_0x1ccb85['payload']['error']['message']),this['isRunning']=![];}),this['consumer']['on']('consumer.rebalancing',()=>{const _0xf6c2d9=_0x156609;console['log'](_0xf6c2d9(0xe0));});}async['subscribe'](_0x1102a4,_0x258425=![]){const _0x4528d9=a0_0x503578,_0x225c2d={'LLEdE':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x4528d9(0x99)])return console[_0x4528d9(0xeb)](_0x225c2d['LLEdE']),![];try{const _0x1dfe5a=Array['isArray'](_0x1102a4)?_0x1102a4:[_0x1102a4];for(const _0x463db6 of _0x1dfe5a){await this[_0x4528d9(0xc9)]['subscribe']({'topic':_0x463db6,'fromBeginning':_0x258425}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x463db6+'\x20(fromBeginning:\x20'+_0x258425+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x1dfe5a])],!![];}catch(_0x343022){return console[_0x4528d9(0xeb)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x343022['message']),![];}}async['startConsuming'](_0x3f44f1,_0x4e5e8c={}){const _0x33c586=a0_0x503578,_0x1dab36={'xTxla':_0x33c586(0xfb),'ZVxwG':function(_0x350472,_0x1a316d){return _0x350472!==_0x1a316d;}};if(!this[_0x33c586(0x99)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x1dab36['xTxla']),!![];const _0x386f00=this['getConfig']();this[_0x33c586(0xc8)]=_0x3f44f1;try{return this[_0x33c586(0xcc)][_0x33c586(0xf5)]=new Date(),await this['consumer']['run']({'autoCommit':_0x1dab36['ZVxwG'](_0x4e5e8c[_0x33c586(0xd5)],undefined)?_0x4e5e8c['autoCommit']:_0x386f00['autoCommit'],'autoCommitInterval':_0x386f00[_0x33c586(0xed)],'eachMessage':async({topic:_0x31e4c6,partition:_0x347a8f,message:_0x3db320,heartbeat:_0x4eadc1})=>{const _0x43405c=_0x33c586,_0x5f57eb=Date[_0x43405c(0xe1)]();this[_0x43405c(0xcc)]['messagesReceived']++,this[_0x43405c(0xcc)]['lastMessageTime']=new Date();try{const _0x1d5533=_0x3db320[_0x43405c(0xe7)]?_0x3db320[_0x43405c(0xe7)][_0x43405c(0x103)]():null;let _0x604ec0=null;try{_0x604ec0=_0x1d5533?JSON[_0x43405c(0xb8)](_0x1d5533):null;}catch(_0x45c703){_0x604ec0=_0x1d5533;}const _0x51c8e1={'topic':_0x31e4c6,'partition':_0x347a8f,'offset':_0x3db320['offset'],'key':_0x3db320['key']?_0x3db320[_0x43405c(0xa6)]['toString']():null,'headers':this['parseHeaders'](_0x3db320[_0x43405c(0x94)]),'timestamp':_0x3db320['timestamp'],'value':_0x604ec0,'raw':_0x1d5533};this[_0x43405c(0xc8)]&&await this['messageHandler'](_0x51c8e1);!_0x386f00[_0x43405c(0xd5)]&&await this[_0x43405c(0xc9)][_0x43405c(0x102)]([{'topic':_0x31e4c6,'partition':_0x347a8f,'offset':(parseInt(_0x3db320[_0x43405c(0xaa)])+0x1)['toString']()}]);this['metrics'][_0x43405c(0xd3)]++;const _0x43e80f=Date['now']()-_0x5f57eb;this[_0x43405c(0xcc)]['processingTimes'][_0x43405c(0xf3)](_0x43e80f),this[_0x43405c(0xcc)]['processingTimes'][_0x43405c(0x93)]>0x64&&this[_0x43405c(0xcc)][_0x43405c(0xea)][_0x43405c(0xd8)](),await _0x4eadc1();}catch(_0x323e06){this[_0x43405c(0xcc)]['messagesFailed']++,console['error'](_0x43405c(0xc0)+_0x323e06[_0x43405c(0x96)]);throw _0x323e06;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x33c586(0xf9)](',\x20')),!![];}catch(_0x39a199){return console[_0x33c586(0xeb)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x39a199[_0x33c586(0x96)]),![];}}[a0_0x503578(0xe4)](_0x420c45){if(!_0x420c45)return{};const _0x2f80e6={};for(const [_0x2d207c,_0x283808]of Object['entries'](_0x420c45)){_0x2f80e6[_0x2d207c]=_0x283808?_0x283808['toString']():null;}return _0x2f80e6;}async['pause'](){const _0x3303bb=a0_0x503578,_0x51af32={'myCOs':_0x3303bb(0xc3)};if(!this['isConnected']||!this[_0x3303bb(0xbb)])return console[_0x3303bb(0xca)](_0x3303bb(0xb2)),![];if(this['isPaused'])return console[_0x3303bb(0xca)](_0x51af32[_0x3303bb(0xce)]),!![];try{const _0x20e722=this[_0x3303bb(0xa8)][_0x3303bb(0x101)](_0x3b54eb=>({'topic':_0x3b54eb}));return this[_0x3303bb(0xc9)][_0x3303bb(0xc4)](_0x20e722),this[_0x3303bb(0xf8)]=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x4f453d){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4f453d['message']),![];}}async[a0_0x503578(0xa3)](){const _0x245f7c=a0_0x503578,_0x564ef1={'aVjpb':_0x245f7c(0xb3)};if(!this[_0x245f7c(0x99)]||!this[_0x245f7c(0xbb)])return console['log'](_0x564ef1['aVjpb']),![];if(!this[_0x245f7c(0xf8)])return console[_0x245f7c(0xca)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x39c03a=this[_0x245f7c(0xa8)]['map'](_0x181269=>({'topic':_0x181269}));return this['consumer'][_0x245f7c(0xa3)](_0x39c03a),this[_0x245f7c(0xf8)]=![],console['log'](_0x245f7c(0xd2)),!![];}catch(_0x575ca1){return console[_0x245f7c(0xeb)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x575ca1['message']),![];}}async[a0_0x503578(0xad)](){const _0x446358=a0_0x503578,_0x1262ff={'wJnit':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0x446358(0x99)])return console['log'](_0x1262ff['wJnit']),!![];try{return this[_0x446358(0xc9)]&&(await this[_0x446358(0xc9)][_0x446358(0xad)](),await this['consumer'][_0x446358(0x9e)]()),this[_0x446358(0x99)]=![],this['isRunning']=![],this[_0x446358(0xf8)]=![],console[_0x446358(0xca)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x4b3930){return console[_0x446358(0xeb)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x4b3930['message']),![];}}async[a0_0x503578(0xaf)](_0x3abccf,_0x5c80cb,_0x223334){const _0x1b817a=a0_0x503578,_0x1df659={'imfEh':_0x1b817a(0xde)};if(!this['isConnected'])return console[_0x1b817a(0xeb)](_0x1df659[_0x1b817a(0xb5)]),![];try{return this['consumer'][_0x1b817a(0xd9)]({'topic':_0x3abccf,'partition':_0x5c80cb,'offset':_0x223334['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x223334+_0x1b817a(0xc7)+_0x3abccf+':'+_0x5c80cb),!![];}catch(_0x2c66bc){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x2c66bc[_0x1b817a(0x96)]),![];}}['getStatus'](){const _0x19f39a=a0_0x503578,_0x13dda4=this[_0x19f39a(0xc1)]();return{'enabled':_0x13dda4['enabled'],'connected':this['isConnected'],'running':this[_0x19f39a(0xbb)],'paused':this['isPaused'],'brokers':_0x13dda4['brokers'],'clientId':_0x13dda4['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x19f39a(0xa8)]};}['getMetrics'](){const _0x1d62cb=a0_0x503578,_0x5d56b5={'rtRwI':function(_0x160fa7,_0x2bcdd0){return _0x160fa7/_0x2bcdd0;},'WRadX':function(_0x1f66c7,_0x3b6dab){return _0x1f66c7+_0x3b6dab;},'TnmYm':function(_0x15cee8,_0x17b038){return _0x15cee8/_0x17b038;},'HTMBA':function(_0x18c989,_0x430dbb){return _0x18c989-_0x430dbb;}},_0x4fd444=this[_0x1d62cb(0xcc)][_0x1d62cb(0xea)]['length']>0x0?_0x5d56b5[_0x1d62cb(0xee)](this['metrics']['processingTimes']['reduce']((_0xc9f5ca,_0x934797)=>_0xc9f5ca+_0x934797,0x0),this['metrics']['processingTimes'][_0x1d62cb(0x93)]):0x0,_0x2c55ff=this['metrics'][_0x1d62cb(0xea)][_0x1d62cb(0x93)]>0x0?Math['min'](...this['metrics'][_0x1d62cb(0xea)]):0x0,_0x1ed9ec=this[_0x1d62cb(0xcc)][_0x1d62cb(0xea)][_0x1d62cb(0x93)]>0x0?Math[_0x1d62cb(0xb1)](...this['metrics'][_0x1d62cb(0xea)]):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics'][_0x1d62cb(0xd3)],'messagesFailed':this['metrics'][_0x1d62cb(0xef)],'successRate':this['metrics'][_0x1d62cb(0xb9)]>0x0?(_0x5d56b5[_0x1d62cb(0xee)](this['metrics'][_0x1d62cb(0xd3)],this['metrics'][_0x1d62cb(0xb9)])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x1d62cb(0xec)],'startTime':this['metrics']['startTime'],'uptime':this[_0x1d62cb(0xcc)]['startTime']?_0x5d56b5['WRadX'](Math['floor'](_0x5d56b5[_0x1d62cb(0x95)](_0x5d56b5['HTMBA'](Date['now'](),this['metrics'][_0x1d62cb(0xf5)][_0x1d62cb(0x98)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x4fd444)+'ms','min':_0x2c55ff+'ms','max':_0x1ed9ec+'ms'}};}[a0_0x503578(0xe5)](){const _0x3653e8=a0_0x503578,_0xeb870b={'NHapN':_0x3653e8(0xbd)};this[_0x3653e8(0xcc)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x3653e8(0xbb)]?new Date():null,'processingTimes':[]},console[_0x3653e8(0xca)](_0xeb870b['NHapN']);}async['close'](){const _0x462c0e=a0_0x503578;await this[_0x462c0e(0xad)]();}}function a0_0x1c7a(){const _0x338839=['icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','CMv0CNLnyxHezwXHEq','vhDStKG','mtqYndrpvwnTruC','mJuWmda','y2XVC2u','BwfW','y29TBwL0t2zMC2v0CW','Dg9tDhjPBMC','A2fMA2fQCW','v2r1uvG','vNLmwMy','BgvUz3rO','AgvHzgvYCW','vg5Tww0','BwvZC2fNzq','ntaWma','z2v0vgLTzq','AxndB25Uzwn0zwq','CMvXDwvZDfrPBwvVDxq','mZaWmda','z2v0tg9Ntgv2zwW','odiYnJy4qwLrAuTm','zgLZy29UBMvJDa','y29UBMvJDgLVBLbYB21PC2u','D2fYBG','oxW0Fdb8mtb8mxW3Fdz8ohWZFdj8nq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','s0fgs0fFu0vtu0LptL9usu1ft1vu','A2v5','AxnjBML0AwfSAxPPBMC','C3vIC2nYAwjLzfrVCgLJCW','y2XPzw50swq','B2zMC2v0','C3bSAxq','DMzcAei','C3rVCa','z3jVDxbjza','C2vLA1rVt2zMC2v0','odaYntKWChrfyKDO','Bwf4','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','A2fMA2e','Aw1MrwG','DxvPza','mJGXodCYre1gz3Ln','CgfYC2u','BwvZC2fNzxnszwnLAxzLza','ne5Oq0TXua','AxnsDw5UAw5N','qM9bvNC','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','Dhj1zq','mZaWma','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','z2v0q29UzMLN','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','Cgf1C2u','CMvZDgzVCMDLlq','zw5HyMXLza','ig9Uia','BwvZC2fNzuHHBMrSzxi','y29UC3vTzxi','Bg9N','mta0odu3nG','Bwv0CMLJCW','mtHhyvHiAgG','BxLdt3m','s0fgs0fFq0Xjru5ux0Le','y29UC3vTzxiUC3rVCa','rvjst1i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BwvZC2fNzxnqCM9JzxnZzwq','vgjoCeS','yxv0B0nVBw1PDa','zw52','BwnZtMK','C2HPzNq','C2vLAW','nZe0mZu2mgryD0nzBW','mJq0odrjzujxDLO','y29UC3vTzxiUzgLZy29UBMvJDa','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','BM93','s0fgs0fFuKvuuLLFrevmqvK','y3vcugG','CgfYC2vizwfKzxjZ','CMvZzxrnzxrYAwnZ','s0fgs0fFru5bqKXfra','DMfSDwu','odeXnZuYCejPyun5','Bg9Ntgv2zwW','ChjVy2vZC2LUz1rPBwvZ','zxjYB3i','BgfZDe1LC3nHz2vuAw1L','yxv0B0nVBw1PDeLUDgvYDMfS','CNrsD0K','BwvZC2fNzxngywLSzwq','zxHWB3j0CW','Bwjtyxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','ChvZAa','mtC3s29lwgPu','C3rHCNruAw1L','Aw5PDgLHBgL6zq','y3zrDLu','AxnqyxvZzwq','AM9PBG'];a0_0x1c7a=function(){return _0x338839;};return a0_0x1c7a();}let instance=null;function a0_0x2a15(_0x5e058d,_0x1561e2){_0x5e058d=_0x5e058d-0x91;const _0x1c7a3c=a0_0x1c7a();let _0x2a158e=_0x1c7a3c[_0x5e058d];if(a0_0x2a15['IUbJAU']===undefined){var _0x1a73e3=function(_0x45d29c){const _0x296766='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x311c55='',_0x1e7bdd='';for(let _0x3792f2=0x0,_0x52378f,_0x416817,_0x5b9fe0=0x0;_0x416817=_0x45d29c['charAt'](_0x5b9fe0++);~_0x416817&&(_0x52378f=_0x3792f2%0x4?_0x52378f*0x40+_0x416817:_0x416817,_0x3792f2++%0x4)?_0x311c55+=String['fromCharCode'](0xff&_0x52378f>>(-0x2*_0x3792f2&0x6)):0x0){_0x416817=_0x296766['indexOf'](_0x416817);}for(let _0x360f27=0x0,_0x21566f=_0x311c55['length'];_0x360f27<_0x21566f;_0x360f27++){_0x1e7bdd+='%'+('00'+_0x311c55['charCodeAt'](_0x360f27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e7bdd);};a0_0x2a15['wjYEZC']=_0x1a73e3,a0_0x2a15['ccGUkW']={},a0_0x2a15['IUbJAU']=!![];}const _0x15a3a8=_0x1c7a3c[0x0],_0x31997c=_0x5e058d+_0x15a3a8,_0x3533e8=a0_0x2a15['ccGUkW'][_0x31997c];return!_0x3533e8?(_0x2a158e=a0_0x2a15['wjYEZC'](_0x2a158e),a0_0x2a15['ccGUkW'][_0x31997c]=_0x2a158e):_0x2a158e=_0x3533e8,_0x2a158e;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x290608=a0_0x503578;instance&&(instance[_0x290608(0x100)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x503578(0xf0)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x4372d3=a0_0x3fc7;(function(_0x53f9cd,_0x3017cb){const _0x5ff07d=a0_0x3fc7,_0x61f588=_0x53f9cd();while(!![]){try{const _0x40f0fa=parseInt(_0x5ff07d(0xf9))/0x1+parseInt(_0x5ff07d(0xa5))/0x2+parseInt(_0x5ff07d(0x109))/0x3+-parseInt(_0x5ff07d(0xb4))/0x4*(-parseInt(_0x5ff07d(0xa6))/0x5)+-parseInt(_0x5ff07d(0xdd))/0x6+parseInt(_0x5ff07d(0xdb))/0x7+-parseInt(_0x5ff07d(0x108))/0x8;if(_0x40f0fa===_0x3017cb)break;else _0x61f588['push'](_0x61f588['shift']());}catch(_0x42bddf){_0x61f588['push'](_0x61f588['shift']());}}}(a0_0x917a,0x9a95b));const {Kafka,logLevel}=require(a0_0x4372d3(0xca)),{v7:uuidv7}=require(a0_0x4372d3(0xbb));class KafkaConsumerService{constructor(){const _0x4893ed=a0_0x4372d3,_0x55e119='7|3|5|4|0|8|6|1|2|9|10'[_0x4893ed(0x94)]('|');let _0x536592=0x0;while(!![]){switch(_0x55e119[_0x536592++]){case'0':this['isRunning']=![];continue;case'1':this[_0x4893ed(0xa3)]=[];continue;case'2':this['groupId']=null;continue;case'3':this[_0x4893ed(0xc5)]=null;continue;case'4':this[_0x4893ed(0xfe)]=![];continue;case'5':this[_0x4893ed(0xb9)]=![];continue;case'6':this['connectionPromise']=null;continue;case'7':this['kafka']=null;continue;case'8':this['isPaused']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this[_0x4893ed(0xba)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x4372d3(0xbe)](){const _0x1a6c3e=a0_0x4372d3,_0x5897c0={'pIoxS':function(_0x3253bc,_0x54a206){return _0x3253bc===_0x54a206;},'uUttD':'localhost:9092','tSLzR':_0x1a6c3e(0xcb),'IvMyM':_0x1a6c3e(0xb1),'znexs':function(_0x4ef861,_0x2e16a){return _0x4ef861(_0x2e16a);},'xTCap':'5000','sgkzg':_0x1a6c3e(0xe0),'Ddcqt':function(_0x1b9e63,_0x13a2a6){return _0x1b9e63(_0x13a2a6);}};return{'enabled':_0x5897c0['pIoxS'](process['env']['KAFKA_ENABLED'],_0x1a6c3e(0x10c)),'brokers':(process['env']['KAFKA_BROKERS']||_0x5897c0[_0x1a6c3e(0xeb)])[_0x1a6c3e(0x94)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x1a6c3e(0xea)+(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xd0)]||_0x1a6c3e(0xe7))+'-consumer','connectionTimeout':parseInt(process[_0x1a6c3e(0xcd)]['KAFKA_CONNECTION_TIMEOUT']||_0x5897c0[_0x1a6c3e(0x98)]),'requestTimeout':parseInt(process['env'][_0x1a6c3e(0x9d)]||_0x5897c0['IvMyM']),'sessionTimeout':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_HEARTBEAT_INTERVAL']||_0x1a6c3e(0xcb)),'maxBytesPerPartition':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x1a6c3e(0xa1)),'autoCommit':_0x5897c0[_0x1a6c3e(0xad)](process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xcc)],_0x1a6c3e(0x10c)),'autoCommitInterval':parseInt(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xda)]||_0x5897c0[_0x1a6c3e(0xc3)]),'retryAttempts':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env'][_0x1a6c3e(0xfc)]||'3'),'retryDelay':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_DELAY']||_0x5897c0['sgkzg']),'retryMaxDelay':_0x5897c0[_0x1a6c3e(0xe3)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xe5)]||'warn'};}[a0_0x4372d3(0xc4)](_0x29b709){const _0x21be19=a0_0x4372d3,_0x2fc9d7={'nothing':logLevel[_0x21be19(0xf5)],'error':logLevel[_0x21be19(0xed)],'warn':logLevel['WARN'],'info':logLevel[_0x21be19(0x105)],'debug':logLevel['DEBUG']};return _0x2fc9d7[_0x29b709['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x24d7a8={}){const _0x16b0c3=a0_0x4372d3,_0x5a2806={'fNxeY':function(_0x1980f7,_0x4715b2){return _0x1980f7===_0x4715b2;},'QPJlk':_0x16b0c3(0xe7),'HTEtj':function(_0x1e8fc5,_0x203938){return _0x1e8fc5(_0x203938);}},_0x9dbafa=this['getConfig']();if(!_0x9dbafa[_0x16b0c3(0xd4)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x16b0c3(0xfe)]&&this[_0x16b0c3(0xde)])return this[_0x16b0c3(0xde)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x23d0a2=>{const _0x27ce16=_0x16b0c3;try{let _0x28cc88=undefined;_0x5a2806['fNxeY'](process[_0x27ce16(0xcd)]['KAFKA_SSL'],'true')&&(_0x28cc88=!![]);let _0x307fe8=undefined;process[_0x27ce16(0xcd)][_0x27ce16(0xc1)]&&(_0x307fe8={'mechanism':process[_0x27ce16(0xcd)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x27ce16(0xcd)]['KAFKA_SASL_PASSWORD']||''}),this[_0x27ce16(0x10b)]=new Kafka({'clientId':_0x24d7a8['clientId']||_0x9dbafa[_0x27ce16(0xb3)],'brokers':_0x9dbafa[_0x27ce16(0xc2)],'connectionTimeout':_0x9dbafa[_0x27ce16(0x107)],'requestTimeout':_0x9dbafa[_0x27ce16(0x9e)],'logLevel':this[_0x27ce16(0xc4)](_0x9dbafa['logLevel']),'ssl':_0x28cc88,'sasl':_0x307fe8,'retry':{'initialRetryTime':_0x9dbafa[_0x27ce16(0xa4)],'retries':_0x9dbafa['retryAttempts'],'maxRetryTime':_0x9dbafa[_0x27ce16(0xe4)]}}),this['groupId']=_0x24d7a8['groupId']||_0x27ce16(0xea)+(process[_0x27ce16(0xcd)]['RESTFORGE_PROJECT_NAME']||_0x5a2806['QPJlk'])+_0x27ce16(0x9f),this[_0x27ce16(0xc5)]=this[_0x27ce16(0x10b)][_0x27ce16(0xc5)]({'groupId':this[_0x27ce16(0xab)],'sessionTimeout':_0x9dbafa[_0x27ce16(0xe9)],'heartbeatInterval':_0x9dbafa[_0x27ce16(0x102)],'maxBytesPerPartition':_0x9dbafa['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x27ce16(0xc5)]['connect'](),this[_0x27ce16(0xb9)]=!![],console[_0x27ce16(0xdc)](_0x27ce16(0xe2)+_0x9dbafa['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x27ce16(0xab)]+')'),this['setupEventHandlers'](),_0x5a2806['HTEtj'](_0x23d0a2,!![]);}catch(_0x49a15f){console[_0x27ce16(0xbd)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x49a15f[_0x27ce16(0xf1)]),this['isConnected']=![],_0x23d0a2(![]);}finally{this[_0x27ce16(0xfe)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x4c7832=a0_0x4372d3,_0x29ab9d={'rkaaU':_0x4c7832(0xa0),'pFAwN':_0x4c7832(0xe1),'dWzIq':'consumer.crash','GdqLr':_0x4c7832(0xfd)};if(!this[_0x4c7832(0xc5)])return;this[_0x4c7832(0xc5)]['on']('consumer.disconnect',()=>{const _0x36e858=_0x4c7832;console[_0x36e858(0xdc)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on']('consumer.stop',()=>{const _0x2dce80=_0x4c7832;console[_0x2dce80(0xdc)](_0x29ab9d[_0x2dce80(0xd9)]),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xb7)],_0x2a1502=>{const _0x44e3b5=_0x4c7832;console['error'](_0x44e3b5(0x10a)+_0x2a1502[_0x44e3b5(0xa7)]['error']['message']),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xac)],()=>{const _0x18021d=_0x4c7832;console[_0x18021d(0xdc)](_0x29ab9d['pFAwN']);});}async[a0_0x4372d3(0xf2)](_0xf4c2e9,_0x3c986e=![]){const _0x1a3d61=a0_0x4372d3;if(!this['isConnected'])return console[_0x1a3d61(0xbd)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x27752b=Array['isArray'](_0xf4c2e9)?_0xf4c2e9:[_0xf4c2e9];for(const _0x2131ef of _0x27752b){await this[_0x1a3d61(0xc5)][_0x1a3d61(0xf2)]({'topic':_0x2131ef,'fromBeginning':_0x3c986e}),console['log'](_0x1a3d61(0xe6)+_0x2131ef+_0x1a3d61(0x9a)+_0x3c986e+')');}return this['subscribedTopics']=[...new Set([...this[_0x1a3d61(0xa3)],..._0x27752b])],!![];}catch(_0x56b931){return console[_0x1a3d61(0xbd)](_0x1a3d61(0xfa)+_0x56b931[_0x1a3d61(0xf1)]),![];}}async[a0_0x4372d3(0xf8)](_0x280089,_0x1ecb5c={}){const _0xda271=a0_0x4372d3,_0x57ed9c={'kSwvs':function(_0x3d7e8d,_0x2abcb3){return _0x3d7e8d+_0x2abcb3;},'CTnsn':function(_0x343fae,_0x4c0615){return _0x343fae>_0x4c0615;},'BTRjU':function(_0x5af794){return _0x5af794();},'cgaiL':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','bwPFY':_0xda271(0xc0)};if(!this['isConnected'])return console['error'](_0x57ed9c['cgaiL']),![];if(this[_0xda271(0xe8)])return console['log'](_0x57ed9c['bwPFY']),!![];const _0x447aca=this['getConfig']();this['messageHandler']=_0x280089;try{return this['metrics'][_0xda271(0xee)]=new Date(),await this[_0xda271(0xc5)]['run']({'autoCommit':_0x1ecb5c[_0xda271(0xaa)]!==undefined?_0x1ecb5c['autoCommit']:_0x447aca['autoCommit'],'autoCommitInterval':_0x447aca[_0xda271(0xff)],'eachMessage':async({topic:_0x3633b2,partition:_0x5b4eee,message:_0x8bf899,heartbeat:_0x46492f})=>{const _0x5459a4=_0xda271,_0x5d5b9c=Date['now']();this[_0x5459a4(0xba)]['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x2b5bfc=_0x8bf899[_0x5459a4(0xd7)]?_0x8bf899['value']['toString']():null;let _0x4a7195=null;try{_0x4a7195=_0x2b5bfc?JSON['parse'](_0x2b5bfc):null;}catch(_0x16061e){_0x4a7195=_0x2b5bfc;}const _0x1186c6={'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x8bf899['offset'],'key':_0x8bf899[_0x5459a4(0xc7)]?_0x8bf899[_0x5459a4(0xc7)]['toString']():null,'headers':this[_0x5459a4(0xd3)](_0x8bf899['headers']),'timestamp':_0x8bf899[_0x5459a4(0x103)],'value':_0x4a7195,'raw':_0x2b5bfc};this['messageHandler']&&await this['messageHandler'](_0x1186c6);!_0x447aca[_0x5459a4(0xaa)]&&await this['consumer'][_0x5459a4(0x9c)]([{'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x57ed9c[_0x5459a4(0xd1)](parseInt(_0x8bf899[_0x5459a4(0x101)]),0x1)['toString']()}]);this[_0x5459a4(0xba)]['messagesProcessed']++;const _0x162efc=Date['now']()-_0x5d5b9c;this['metrics']['processingTimes']['push'](_0x162efc),_0x57ed9c['CTnsn'](this[_0x5459a4(0xba)]['processingTimes'][_0x5459a4(0xce)],0x64)&&this[_0x5459a4(0xba)][_0x5459a4(0xd6)]['shift'](),await _0x57ed9c['BTRjU'](_0x46492f);}catch(_0xd7947){this['metrics']['messagesFailed']++,console[_0x5459a4(0xbd)](_0x5459a4(0xf0)+_0xd7947[_0x5459a4(0xf1)]);throw _0xd7947;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xda271(0xa3)][_0xda271(0xfb)](',\x20')),!![];}catch(_0x489e16){return console[_0xda271(0xbd)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x489e16['message']),![];}}['parseHeaders'](_0x17fc5d){const _0x1b28f3=a0_0x4372d3;if(!_0x17fc5d)return{};const _0x530482={};for(const [_0x100bbf,_0x588435]of Object['entries'](_0x17fc5d)){_0x530482[_0x100bbf]=_0x588435?_0x588435[_0x1b28f3(0xa9)]():null;}return _0x530482;}async[a0_0x4372d3(0xf3)](){const _0x3c6177=a0_0x4372d3,_0x1e6a05={'fnVAN':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wQrFk':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x1e6a05['fnVAN']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x1df834=this[_0x3c6177(0xa3)][_0x3c6177(0x106)](_0x5640b2=>({'topic':_0x5640b2}));return this['consumer'][_0x3c6177(0xf3)](_0x1df834),this['isPaused']=!![],console['log'](_0x1e6a05[_0x3c6177(0xf4)]),!![];}catch(_0x576a50){return console[_0x3c6177(0xbd)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x576a50[_0x3c6177(0xf1)]),![];}}async[a0_0x4372d3(0xc8)](){const _0x19d47c=a0_0x4372d3;if(!this['isConnected']||!this['isRunning'])return console['log'](_0x19d47c(0xbf)),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x3fbe83=this[_0x19d47c(0xa3)]['map'](_0x2fff7f=>({'topic':_0x2fff7f}));return this['consumer'][_0x19d47c(0xc8)](_0x3fbe83),this[_0x19d47c(0xf6)]=![],console[_0x19d47c(0xdc)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x181f37){return console[_0x19d47c(0xbd)](_0x19d47c(0xa2)+_0x181f37[_0x19d47c(0xf1)]),![];}}async['stop'](){const _0x56493c=a0_0x4372d3,_0x4d00e2={'TffqG':_0x56493c(0xc6),'bKFqt':_0x56493c(0xd2)};if(!this[_0x56493c(0xb9)])return console['log'](_0x4d00e2[_0x56493c(0xc9)]),!![];try{const _0x25df7f=_0x4d00e2[_0x56493c(0xd8)][_0x56493c(0x94)]('|');let _0x1479a8=0x0;while(!![]){switch(_0x25df7f[_0x1479a8++]){case'0':console['log'](_0x56493c(0x9b));continue;case'1':this['isConnected']=![];continue;case'2':this['isPaused']=![];continue;case'3':this[_0x56493c(0xe8)]=![];continue;case'4':return!![];case'5':this[_0x56493c(0xc5)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x2f810c){return console['error'](_0x56493c(0xef)+_0x2f810c['message']),![];}}async['seekToOffset'](_0x41dccf,_0x748096,_0x8d525c){const _0x4f8037=a0_0x4372d3;if(!this[_0x4f8037(0xb9)])return console[_0x4f8037(0xbd)](_0x4f8037(0xec)),![];try{return this['consumer'][_0x4f8037(0xb0)]({'topic':_0x41dccf,'partition':_0x748096,'offset':_0x8d525c[_0x4f8037(0xa9)]()}),console[_0x4f8037(0xdc)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x8d525c+_0x4f8037(0xcf)+_0x41dccf+':'+_0x748096),!![];}catch(_0x26e94c){return console[_0x4f8037(0xbd)](_0x4f8037(0xbc)+_0x26e94c[_0x4f8037(0xf1)]),![];}}[a0_0x4372d3(0xae)](){const _0x4a8868=a0_0x4372d3,_0x1914b2=this['getConfig']();return{'enabled':_0x1914b2[_0x4a8868(0xd4)],'connected':this['isConnected'],'running':this[_0x4a8868(0xe8)],'paused':this[_0x4a8868(0xf6)],'brokers':_0x1914b2['brokers'],'clientId':_0x1914b2[_0x4a8868(0xb3)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x4372d3(0xa8)](){const _0x393f5d=a0_0x4372d3,_0x351b71={'aTjmC':function(_0x494292,_0x132f55){return _0x494292>_0x132f55;},'zcYPQ':function(_0x8fcd92,_0x4fd959){return _0x8fcd92+_0x4fd959;},'URDXq':function(_0x35ca6e,_0x53071e){return _0x35ca6e/_0x53071e;},'QHmrQ':function(_0x408bdf,_0x3ef401){return _0x408bdf/_0x3ef401;},'HhGEh':function(_0x4f53d2,_0x3eed52){return _0x4f53d2+_0x3eed52;},'RaXsi':function(_0x13e4e5,_0x1991f3){return _0x13e4e5+_0x1991f3;}},_0x531574=_0x351b71[_0x393f5d(0x96)](this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)],0x0)?this[_0x393f5d(0xba)][_0x393f5d(0xd6)][_0x393f5d(0xb8)]((_0x5b8df9,_0xfdbea1)=>_0x5b8df9+_0xfdbea1,0x0)/this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)]:0x0,_0x45e402=this[_0x393f5d(0xba)][_0x393f5d(0xd6)]['length']>0x0?Math['min'](...this['metrics'][_0x393f5d(0xd6)]):0x0,_0x2b7453=this['metrics']['processingTimes']['length']>0x0?Math[_0x393f5d(0xb5)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x393f5d(0xba)][_0x393f5d(0xaf)],'messagesFailed':this[_0x393f5d(0xba)][_0x393f5d(0x104)],'successRate':this[_0x393f5d(0xba)]['messagesReceived']>0x0?_0x351b71['zcYPQ']((_0x351b71['URDXq'](this[_0x393f5d(0xba)][_0x393f5d(0xaf)],this['metrics'][_0x393f5d(0xdf)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x393f5d(0xba)]['lastMessageTime'],'startTime':this['metrics'][_0x393f5d(0xee)],'uptime':this[_0x393f5d(0xba)][_0x393f5d(0xee)]?Math['floor'](_0x351b71['QHmrQ'](Date[_0x393f5d(0x100)]()-this['metrics'][_0x393f5d(0xee)][_0x393f5d(0xb2)](),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x393f5d(0xb6)](_0x531574)+'ms','min':_0x351b71['HhGEh'](_0x45e402,'ms'),'max':_0x351b71[_0x393f5d(0xd5)](_0x2b7453,'ms')}};}[a0_0x4372d3(0xf7)](){const _0x896e59=a0_0x4372d3,_0x3ffd44={'eQqPH':_0x896e59(0x95)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x896e59(0xe8)]?new Date():null,'processingTimes':[]},console[_0x896e59(0xdc)](_0x3ffd44['eQqPH']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x31184a=a0_0x4372d3;instance&&(instance[_0x31184a(0x97)](),instance=null);}function a0_0x3fc7(_0x10b3c9,_0x11738d){_0x10b3c9=_0x10b3c9-0x94;const _0x917a3c=a0_0x917a();let _0x3fc7c3=_0x917a3c[_0x10b3c9];if(a0_0x3fc7['Fcsjgz']===undefined){var _0x546fed=function(_0x381551){const _0xefbc32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ca8b9='',_0x5c2e30='';for(let _0x56810b=0x0,_0x3aabe6,_0x747107,_0x596896=0x0;_0x747107=_0x381551['charAt'](_0x596896++);~_0x747107&&(_0x3aabe6=_0x56810b%0x4?_0x3aabe6*0x40+_0x747107:_0x747107,_0x56810b++%0x4)?_0x1ca8b9+=String['fromCharCode'](0xff&_0x3aabe6>>(-0x2*_0x56810b&0x6)):0x0){_0x747107=_0xefbc32['indexOf'](_0x747107);}for(let _0x229584=0x0,_0x3bb529=_0x1ca8b9['length'];_0x229584<_0x3bb529;_0x229584++){_0x5c2e30+='%'+('00'+_0x1ca8b9['charCodeAt'](_0x229584)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c2e30);};a0_0x3fc7['IJFbiz']=_0x546fed,a0_0x3fc7['vnmypU']={},a0_0x3fc7['Fcsjgz']=!![];}const _0x39e570=_0x917a3c[0x0],_0x4d2b12=_0x10b3c9+_0x39e570,_0x13f847=a0_0x3fc7['vnmypU'][_0x4d2b12];return!_0x13f847?(_0x3fc7c3=a0_0x3fc7['IJFbiz'](_0x3fc7c3),a0_0x3fc7['vnmypU'][_0x4d2b12]=_0x3fc7c3):_0x3fc7c3=_0x13f847,_0x3fc7c3;}function a0_0x917a(){const _0x4d1ccb=['D1fYrMS','tK9useLorW','AxnqyxvZzwq','CMvZzxrnzxrYAwnZ','C3rHCNrdB25ZDw1PBMC','ndi4mtmZELLeqLjR','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','AM9PBG','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UC3vTzxiUCMvIywXHBMnPBMC','AxnjBML0AwfSAxPPBMC','yxv0B0nVBw1PDeLUDgvYDMfS','BM93','B2zMC2v0','AgvHCNrIzwf0sw50zxj2ywW','DgLTzxn0yw1W','BwvZC2fNzxngywLSzwq','su5gtW','BwfW','y29UBMvJDgLVBLrPBwvVDxq','nZG1nta3mMzVDMLWqW','mtaYnteXmKPNrur1Ca','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','A2fMA2e','Dhj1zq','C3bSAxq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','yvrQBum','y2XVC2u','DfnmELi','EM5LEhm','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','y29TBwL0t2zMC2v0CW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CMvXDwvZDfrPBwvVDxq','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','mta0odu3nG','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C3vIC2nYAwjLzfrVCgLJCW','CMv0CNLezwXHEq','nde5mJeWtMLqwNrM','nwLrswPjzG','Cgf5Bg9Hza','z2v0twv0CMLJCW','Dg9tDhjPBMC','yxv0B0nVBw1PDa','z3jVDxbjza','r2rXthi','CeLVEfm','z2v0u3rHDhvZ','BwvZC2fNzxnqCM9JzxnZzwq','C2vLAW','mJuWmda','z2v0vgLTzq','y2XPzw50swq','mtaXmZy5mLzvEuXZzW','Bwf4','CM91BMq','zfD6sxe','CMvKDwnL','AxndB25Uzwn0zwq','Bwv0CMLJCW','DxvPza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zxjYB3i','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0fttf9nruniqu5ju00','yNjVA2vYCW','Efrdyxa','z2v0tg9Ntgv2zwW','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','A2v5','CMvZDw1L','vgzMCuC','A2fMA2fQCW','mZaWma','s0fgs0fFqvvut19dt01nsvq','zw52','BgvUz3rO','ig9Uia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A1n3DNm','nxWXFdn8mNWWFdq','CgfYC2vizwfKzxjZ','zw5HyMXLza','uMfyC2K','ChjVy2vZC2LUz1rPBwvZ','DMfSDwu','yKTgCxq','CMTHyvu','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','nJmWmtKZmKvTsuzNuW','Bg9N','mZeWodq2ogjvAML3DG','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnszwnLAxzLza','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','rgrJCxq','CMv0CNLnyxHezwXHEq','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','zgvMyxvSDa','AxnsDw5UAw5N','C2vZC2LVBLrPBwvVDxq','CMvZDgzVCMDLlq','Dvv0Deq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','rvjst1i','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzq','C3vIC2nYAwjL','Cgf1C2u'];a0_0x917a=function(){return _0x4d1ccb;};return a0_0x917a();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|