@restforgejs/platform 5.2.11 → 5.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +147 -27
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x54e254=a0_0x6aee;(function(_0x35a306,_0x1b693c){const _0x5acb85=a0_0x6aee,_0x71ef2e=_0x35a306();while(!![]){try{const _0x5654bc=-parseInt(_0x5acb85(0x201))/0x1*(parseInt(_0x5acb85(0x239))/0x2)+-parseInt(_0x5acb85(0x213))/0x3+-parseInt(_0x5acb85(0x211))/0x4*(-parseInt(_0x5acb85(0x233))/0x5)+-parseInt(_0x5acb85(0x1fe))/0x6*(parseInt(_0x5acb85(0x216))/0x7)+-parseInt(_0x5acb85(0x234))/0x8+-parseInt(_0x5acb85(0x251))/0x9+-parseInt(_0x5acb85(0x240))/0xa*(-parseInt(_0x5acb85(0x21e))/0xb);if(_0x5654bc===_0x1b693c)break;else _0x71ef2e['push'](_0x71ef2e['shift']());}catch(_0x1b3ed2){_0x71ef2e['push'](_0x71ef2e['shift']());}}}(a0_0x24be,0xcbf64));function a0_0x6aee(_0x3398de,_0x10dda3){_0x3398de=_0x3398de-0x1e2;const _0x24beb6=a0_0x24be();let _0x6aee50=_0x24beb6[_0x3398de];if(a0_0x6aee['JmVTnc']===undefined){var _0x3519be=function(_0x1ee5fa){const _0x11600f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f0d70='',_0x29b50a='';for(let _0x5cb3c0=0x0,_0x4d8c6e,_0x80f326,_0x5948d2=0x0;_0x80f326=_0x1ee5fa['charAt'](_0x5948d2++);~_0x80f326&&(_0x4d8c6e=_0x5cb3c0%0x4?_0x4d8c6e*0x40+_0x80f326:_0x80f326,_0x5cb3c0++%0x4)?_0x5f0d70+=String['fromCharCode'](0xff&_0x4d8c6e>>(-0x2*_0x5cb3c0&0x6)):0x0){_0x80f326=_0x11600f['indexOf'](_0x80f326);}for(let _0x425b0a=0x0,_0x35d62=_0x5f0d70['length'];_0x425b0a<_0x35d62;_0x425b0a++){_0x29b50a+='%'+('00'+_0x5f0d70['charCodeAt'](_0x425b0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29b50a);};a0_0x6aee['xqcKbO']=_0x3519be,a0_0x6aee['WpUNbP']={},a0_0x6aee['JmVTnc']=!![];}const _0xef0df8=_0x24beb6[0x0],_0x5ce4a2=_0x3398de+_0xef0df8,_0x1e4754=a0_0x6aee['WpUNbP'][_0x5ce4a2];return!_0x1e4754?(_0x6aee50=a0_0x6aee['xqcKbO'](_0x6aee50),a0_0x6aee['WpUNbP'][_0x5ce4a2]=_0x6aee50):_0x6aee50=_0x1e4754,_0x6aee50;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x3461ec=a0_0x6aee;this[_0x3461ec(0x224)]=null,this[_0x3461ec(0x241)]=![],this[_0x3461ec(0x204)]=null,this['_options']={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x3461ec(0x1fb)]=null,this['_workerId']=process['pid'];}[a0_0x54e254(0x217)](_0x517552,_0x46a16e={}){const _0xc7d920=a0_0x54e254,_0x188531={'eAIHK':_0xc7d920(0x248),'YDDxa':function(_0x178e21,_0x36c62b,_0x4e68bc){return _0x178e21(_0x36c62b,_0x4e68bc);},'bFxOx':_0xc7d920(0x238),'WrRSj':_0xc7d920(0x1fa),'bPnrr':_0xc7d920(0x1e2)};if(this['_initialized'])return;this['_options']=_0x46a16e,this[_0xc7d920(0x204)]='full';try{this['_logger']=require(_0x188531['eAIHK'])['logger']||console;}catch(_0x4fc7c8){this[_0xc7d920(0x1ee)]=console;}const _0x2f29ef=_0x188531['YDDxa'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x517552,'path':_0x188531[_0xc7d920(0x20a)]}),this['_setupUpgradeAuth'](_0x517552),this['_wss']['on'](_0xc7d920(0x21a),(_0x5c75c9,_0x5cba3e)=>this['_handleConnection'](_0x5c75c9,_0x5cba3e)),this[_0xc7d920(0x224)]['on'](_0x188531[_0xc7d920(0x253)],_0x3d1bc3=>{const _0xdc4843=_0xc7d920;this[_0xdc4843(0x1ee)][_0xdc4843(0x1fa)]({'event':_0xdc4843(0x200),'error':_0x3d1bc3[_0xdc4843(0x219)]},_0xdc4843(0x1ed)+_0x3d1bc3[_0xdc4843(0x219)]);}),this['_startHeartbeat'](_0x2f29ef),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x188531[_0xc7d920(0x257)],'mode':'full','path':_0x188531[_0xc7d920(0x20a)],'heartbeat':_0x2f29ef+'s'},_0xc7d920(0x22e)+_0x2f29ef+'s)');}[a0_0x54e254(0x227)](_0x1bbbeb={}){const _0x191d24=a0_0x54e254,_0x51531f={'AiRlw':_0x191d24(0x245),'WUURA':_0x191d24(0x1e5),'TBbmv':_0x191d24(0x248)},_0x378f09=_0x51531f[_0x191d24(0x264)][_0x191d24(0x244)]('|');let _0x4f45d3=0x0;while(!![]){switch(_0x378f09[_0x4f45d3++]){case'0':if(this[_0x191d24(0x241)])return;continue;case'1':this[_0x191d24(0x204)]=_0x51531f['WUURA'];continue;case'2':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x191d24(0x1e5)},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'3':this[_0x191d24(0x241)]=!![];continue;case'4':try{this[_0x191d24(0x1ee)]=require(_0x51531f['TBbmv'])[_0x191d24(0x247)]||console;}catch(_0x29edd7){this['_logger']=console;}continue;case'5':this[_0x191d24(0x23f)]();continue;case'6':this[_0x191d24(0x262)]=_0x1bbbeb;continue;}break;}}['isInitialized'](){const _0x4ea162=a0_0x54e254;return this[_0x4ea162(0x241)];}['broadcast'](_0x1543d5,_0x53828e){const _0x518df8=a0_0x54e254,_0x1119f9={'APFvq':function(_0x25f7ff,_0x31732a){return _0x25f7ff===_0x31732a;},'EgxIL':function(_0x304817,_0x4b984c){return _0x304817===_0x4b984c;},'hVgTd':function(_0x12d974,_0x49967f){return _0x12d974>_0x49967f;}};if(!this[_0x518df8(0x241)])return;if(this['_mode']===_0x518df8(0x1e5)){this['_publishToRedis'](_0x1543d5,_0x53828e);return;}const _0x5b0882=JSON['stringify']({'type':'data_change','channel':_0x1543d5,'action':_0x53828e['action'],'data':_0x53828e['data'],'requestId':_0x53828e['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x13ad0b]=_0x1543d5['split'](':');let _0x5f0f05=0x0;for(const [_0x4a2725,_0x59c8bd]of this['_subscriptions']){const _0x136d4b=_0x1119f9['APFvq'](_0x4a2725,_0x1543d5),_0x504b77=_0x1119f9['EgxIL'](_0x4a2725,_0x13ad0b+':*');if(_0x136d4b||_0x504b77)for(const _0x545145 of _0x59c8bd){if(_0x1119f9[_0x518df8(0x218)](_0x545145['readyState'],0x1))try{_0x545145[_0x518df8(0x23b)](_0x5b0882),_0x5f0f05++;}catch(_0x32059b){}}}_0x1119f9[_0x518df8(0x203)](_0x5f0f05,0x0)&&this['_logger']['debug']({'event':'livesync_broadcast','channel':_0x1543d5,'action':_0x53828e['action'],'clients':_0x5f0f05},'Broadcast\x20'+_0x53828e[_0x518df8(0x1f2)]+'\x20on\x20'+_0x1543d5+_0x518df8(0x25b)+_0x5f0f05+'\x20client(s)');}['_publishToRedis'](_0x41b4c1,_0x3c4a16){const _0xf92fa1=a0_0x54e254;if(!this['_redisPublisher'])return;const _0x433645=JSON['stringify']({'channel':_0x41b4c1,'message':_0x3c4a16,'workerId':this[_0xf92fa1(0x249)]});this[_0xf92fa1(0x225)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x433645)['catch'](()=>{});}['shutdown'](){const _0x15bfeb=a0_0x54e254,_0x5a41cc={'jtTfC':function(_0xe0e37b,_0x5aaaa8){return _0xe0e37b(_0x5aaaa8);},'ifUyl':'Server\x20shutting\x20down','jWQyn':'livesync_shutdown'};if(!this['_initialized'])return;this[_0x15bfeb(0x205)]&&(_0x5a41cc['jtTfC'](clearInterval,this['_heartbeatTimer']),this[_0x15bfeb(0x205)]=null);if(this['_wss']){for(const _0x392e5a of this[_0x15bfeb(0x224)][_0x15bfeb(0x1f0)]){try{_0x392e5a[_0x15bfeb(0x212)](0x3e9,_0x5a41cc[_0x15bfeb(0x242)]);}catch(_0x2b6bb8){}}this[_0x15bfeb(0x224)][_0x15bfeb(0x212)]();}if(this['_redisSubscriber'])try{this[_0x15bfeb(0x1fb)]['unsubscribe'](),this[_0x15bfeb(0x1fb)]['quit']();}catch(_0x3c8401){}if(this['_ownPublisher']&&this[_0x15bfeb(0x225)])try{this[_0x15bfeb(0x225)][_0x15bfeb(0x1ea)]();}catch(_0x2d3893){}this[_0x15bfeb(0x207)]['clear'](),this['_initialized']=![],this[_0x15bfeb(0x1ee)]['info']({'event':_0x5a41cc[_0x15bfeb(0x202)],'mode':this[_0x15bfeb(0x204)]},_0x15bfeb(0x230)+this[_0x15bfeb(0x204)]+_0x15bfeb(0x1f1));}['_setupUpgradeAuth'](_0x525bd0){const _0x12a0f7=a0_0x54e254,_0x198f61={'UVpJu':_0x12a0f7(0x21a),'ZCjKm':_0x12a0f7(0x25c)},_0xaf980=_0x525bd0[_0x12a0f7(0x254)]('upgrade')[_0x12a0f7(0x229)]();_0x525bd0['removeAllListeners'](_0x198f61[_0x12a0f7(0x215)]),_0x525bd0['on'](_0x12a0f7(0x25c),(_0x22aed4,_0x562912,_0x481820)=>{const _0x3a95de=_0x12a0f7;if(!_0x22aed4[_0x3a95de(0x1e7)]||!_0x22aed4['url']['startsWith']('/ws')){for(const _0x3f8c1b of _0xaf980){_0x3f8c1b[_0x3a95de(0x250)](_0x525bd0,_0x22aed4,_0x562912,_0x481820);}return;}if(this['_options']['apiKey']){const _0x553730=new URL(_0x22aed4['url'],_0x3a95de(0x210)+(_0x22aed4['headers']['host']||'localhost')),_0x163c0b=_0x553730['searchParams']['get']('x-api-key')||_0x22aed4[_0x3a95de(0x21f)]['x-api-key'];if(!_0x163c0b||_0x163c0b!==this['_options']['apiKey']){_0x562912[_0x3a95de(0x256)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x562912['destroy']();return;}}this['_wss']['handleUpgrade'](_0x22aed4,_0x562912,_0x481820,_0x47b089=>{const _0x4bf146=_0x3a95de;this['_wss']['emit'](_0x198f61[_0x4bf146(0x20e)],_0x47b089,_0x22aed4);});});}['_handleConnection'](_0x3a82e3,_0x12f720){const _0x56672c=a0_0x54e254,_0x128e13={'oxyhu':_0x56672c(0x24e),'xjKos':'x-forwarded-for','FrHIw':'pong','nqtKA':'close','ZVGkX':'error'};_0x3a82e3[_0x56672c(0x1e6)]=!![],_0x3a82e3[_0x56672c(0x1ff)]=new Set();const _0x2002e9=_0x12f720['headers'][_0x128e13[_0x56672c(0x1e4)]]||_0x12f720['socket']['remoteAddress'];this['_logger']['info']({'event':_0x56672c(0x22b),'ip':_0x2002e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2002e9),_0x3a82e3['on'](_0x128e13['FrHIw'],()=>{const _0x405986=_0x56672c;_0x3a82e3[_0x405986(0x1e6)]=!![];}),_0x3a82e3['on'](_0x56672c(0x219),_0x585114=>{const _0x1573fa=_0x56672c;try{const _0x139615=JSON[_0x1573fa(0x260)](_0x585114[_0x1573fa(0x206)]());this['_handleClientMessage'](_0x3a82e3,_0x139615);}catch(_0x52d12a){this[_0x1573fa(0x21c)](_0x3a82e3,{'type':'error','message':'Invalid\x20JSON\x20message'});}}),_0x3a82e3['on'](_0x128e13['nqtKA'],()=>{const _0x2128d0=_0x56672c;this['_removeClientFromAllChannels'](_0x3a82e3),this[_0x2128d0(0x1ee)][_0x2128d0(0x1fc)]({'event':'livesync_client_disconnected','ip':_0x2002e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2002e9);}),_0x3a82e3['on'](_0x128e13['ZVGkX'],_0x37118f=>{const _0x59bac9=_0x56672c;this['_logger']['warn']({'event':_0x128e13[_0x59bac9(0x208)],'error':_0x37118f[_0x59bac9(0x219)]},_0x59bac9(0x1f5)+_0x37118f[_0x59bac9(0x219)]),this['_removeClientFromAllChannels'](_0x3a82e3);});}['_handleClientMessage'](_0x14f261,_0x2415b4){const _0x48d160=a0_0x54e254,_0x4b638c={'WeUqb':'pong','UjeIh':_0x48d160(0x1fa)};switch(_0x2415b4[_0x48d160(0x24d)]){case _0x48d160(0x209):this['_handleSubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x48d160(0x22a):this['_handleUnsubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x4b638c[_0x48d160(0x255)]:_0x14f261[_0x48d160(0x1e6)]=!![];break;default:this[_0x48d160(0x21c)](_0x14f261,{'type':_0x4b638c[_0x48d160(0x22f)],'message':'Unknown\x20message\x20type:\x20'+_0x2415b4[_0x48d160(0x24d)]});}}[a0_0x54e254(0x1e8)](_0x556a14,_0x42a0f8){const _0xe49a8f=a0_0x54e254,_0x7ccad2={'OlzbY':function(_0x1784d8,_0x12d172){return _0x1784d8===_0x12d172;},'BGwWI':_0xe49a8f(0x1fa),'hLolM':'string','fWibQ':'subscribed'};if(!Array[_0xe49a8f(0x20d)](_0x42a0f8)||_0x7ccad2['OlzbY'](_0x42a0f8['length'],0x0)){this[_0xe49a8f(0x21c)](_0x556a14,{'type':_0x7ccad2['BGwWI'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x455380=[];for(const _0x520f6e of _0x42a0f8){if(typeof _0x520f6e!==_0x7ccad2[_0xe49a8f(0x22c)]||!_0x520f6e['includes'](':'))continue;!this[_0xe49a8f(0x207)][_0xe49a8f(0x1f4)](_0x520f6e)&&this[_0xe49a8f(0x207)][_0xe49a8f(0x235)](_0x520f6e,new Set()),this[_0xe49a8f(0x207)]['get'](_0x520f6e)['add'](_0x556a14),_0x556a14[_0xe49a8f(0x1ff)]['add'](_0x520f6e),_0x455380['push'](_0x520f6e);}_0x455380[_0xe49a8f(0x23c)]>0x0&&(this['_sendToClient'](_0x556a14,{'type':_0x7ccad2['fWibQ'],'channels':_0x455380,'timestamp':new Date()['toISOString']()}),this[_0xe49a8f(0x1ee)]['debug']({'event':'livesync_subscribe','channels':_0x455380},'Client\x20subscribed\x20to:\x20'+_0x455380['join'](',\x20')));}[a0_0x54e254(0x231)](_0x201e63,_0x487f0a){const _0x524287=a0_0x54e254,_0x3b9a4a={'IziqH':function(_0x430724,_0x17c5f3){return _0x430724===_0x17c5f3;}};if(!Array['isArray'](_0x487f0a))return;const _0xecd8bf=[];for(const _0x2f67b0 of _0x487f0a){this['_subscriptions']['has'](_0x2f67b0)&&(this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x25a)](_0x201e63),_0x3b9a4a[_0x524287(0x1f8)](this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x223)],0x0)&&this[_0x524287(0x207)]['delete'](_0x2f67b0)),_0x201e63['subscribedChannels']['delete'](_0x2f67b0),_0xecd8bf['push'](_0x2f67b0);}_0xecd8bf['length']>0x0&&this['_sendToClient'](_0x201e63,{'type':_0x524287(0x24a),'channels':_0xecd8bf,'timestamp':new Date()[_0x524287(0x1fd)]()});}['_removeClientFromAllChannels'](_0x59748a){const _0x169e35=a0_0x54e254,_0x33945a={'KXHDW':function(_0x4a2856,_0x3e0d32){return _0x4a2856===_0x3e0d32;}};if(!_0x59748a[_0x169e35(0x1ff)])return;for(const _0x512f04 of _0x59748a['subscribedChannels']){this['_subscriptions'][_0x169e35(0x1f4)](_0x512f04)&&(this['_subscriptions'][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x25a)](_0x59748a),_0x33945a['KXHDW'](this[_0x169e35(0x207)][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x223)],0x0)&&this['_subscriptions'][_0x169e35(0x25a)](_0x512f04));}_0x59748a['subscribedChannels']['clear']();}['_sendToClient'](_0x5b9c44,_0x4e632b){const _0x57c917=a0_0x54e254,_0x51119b={'ijbIH':function(_0x31bf66,_0x591d81){return _0x31bf66===_0x591d81;}};if(_0x51119b['ijbIH'](_0x5b9c44[_0x57c917(0x23e)],0x1))try{_0x5b9c44[_0x57c917(0x23b)](JSON['stringify'](_0x4e632b));}catch(_0x15f7c3){}}[a0_0x54e254(0x25e)](_0x2f3144){const _0x174c21=a0_0x54e254,_0x378b3b={'wqQjW':_0x174c21(0x24b),'kBCYD':function(_0x33640c,_0xfea3ed,_0x5b76ff){return _0x33640c(_0xfea3ed,_0x5b76ff);},'Wupnl':function(_0x2a1713,_0x375b9d){return _0x2a1713*_0x375b9d;}};this[_0x174c21(0x205)]=_0x378b3b['kBCYD'](setInterval,()=>{const _0x43f1ed=_0x174c21;if(!this['_wss'])return;for(const _0x13a8ea of this[_0x43f1ed(0x224)]['clients']){if(!_0x13a8ea[_0x43f1ed(0x1e6)]){this[_0x43f1ed(0x220)](_0x13a8ea),_0x13a8ea[_0x43f1ed(0x21b)]();continue;}_0x13a8ea[_0x43f1ed(0x1e6)]=![],this['_sendToClient'](_0x13a8ea,{'type':_0x378b3b['wqQjW'],'timestamp':new Date()['toISOString']()});try{_0x13a8ea[_0x43f1ed(0x24b)]();}catch(_0x4b8a66){}}},_0x378b3b[_0x174c21(0x1f9)](_0x2f3144,0x3e8));}['_setupRedisPublisher'](){const _0x15d2fb=a0_0x54e254,_0x1a7f77={'RciXu':function(_0x235422,_0x4afb62){return _0x235422(_0x4afb62);},'qiKAB':_0x15d2fb(0x24c),'dYNSJ':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x43e62e=require(_0x15d2fb(0x20b));this[_0x15d2fb(0x225)]=_0x43e62e['getClient']?_0x43e62e['getClient']():null;}catch(_0x416c15){this[_0x15d2fb(0x225)]=null;}if(!this[_0x15d2fb(0x225)]){const _0x34e311=_0x1a7f77['RciXu'](require,_0x1a7f77['qiKAB']),_0x5ec468={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x15d2fb(0x20c)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x15d2fb(0x20c)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x15d2fb(0x225)]=new _0x34e311(_0x5ec468),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x40750b=_0x15d2fb;this[_0x40750b(0x1ee)][_0x40750b(0x25f)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x40750b(0x225)]=null;});}}catch(_0x4276fd){this[_0x15d2fb(0x1ee)]['warn']({'event':_0x1a7f77[_0x15d2fb(0x261)],'error':_0x4276fd['message']},_0x15d2fb(0x23d)+_0x4276fd['message']);}}[a0_0x54e254(0x263)](){const _0x119918=a0_0x54e254,_0x14ffcc={'XRHvp':'livesync_redis_publisher_failed','oGvgn':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qvzXG':'livesync_redis_subscribed','ovupE':_0x119918(0x1eb),'xUfZE':_0x119918(0x24c),'uuBkR':function(_0x399814,_0x479b1b,_0x47f43c){return _0x399814(_0x479b1b,_0x47f43c);},'XyIeF':function(_0x9b87c1,_0x487f5d){return _0x9b87c1(_0x487f5d);},'nRQjf':'livesync_redis_unavailable'};this[_0x119918(0x1f6)]=![];try{const _0x33d8d6=require(_0x14ffcc['xUfZE']),_0x9a6428={'host':process['env']['REDIS_HOST']||_0x119918(0x1f3),'port':parseInt(process['env'][_0x119918(0x1e9)],0xa)||0x18eb,'password':process[_0x119918(0x20c)][_0x119918(0x1ec)]||undefined,'db':_0x14ffcc['uuBkR'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x412210=_0x14ffcc[_0x119918(0x24f)](require,_0x119918(0x20b));this['_redisPublisher']=_0x412210[_0x119918(0x246)]?_0x412210['getClient']():null;}catch(_0x464c0f){this[_0x119918(0x225)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1f6)]=!![],this[_0x119918(0x225)]['connect']()[_0x119918(0x23a)](()=>{const _0x255326=_0x119918;this['_logger'][_0x255326(0x25f)]({'event':_0x14ffcc[_0x255326(0x252)]},_0x14ffcc[_0x255326(0x22d)]),this[_0x255326(0x225)]=null;})),this['_redisSubscriber']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1fb)]['connect']()[_0x119918(0x1f7)](()=>{const _0x1491e9=_0x119918,_0x17e2dd={'IjQWx':_0x14ffcc[_0x1491e9(0x236)]};this[_0x1491e9(0x1fb)][_0x1491e9(0x209)](REDIS_CHANNEL_PREFIX+_0x1491e9(0x20f),_0x540ed8=>{const _0x53e7c3=_0x1491e9;if(_0x540ed8){this['_logger'][_0x53e7c3(0x1fa)]({'event':'livesync_redis_subscribe_error','error':_0x540ed8[_0x53e7c3(0x219)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x540ed8['message']);return;}this['_logger'][_0x53e7c3(0x226)]({'event':_0x17e2dd[_0x53e7c3(0x237)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x1491e9(0x1fb)]['on'](_0x1491e9(0x219),(_0xf14b7b,_0x1c3238)=>{const _0x597fa2=_0x1491e9;try{const _0x5a371d=JSON[_0x597fa2(0x260)](_0x1c3238);if(_0x5a371d[_0x597fa2(0x243)]===this['_workerId'])return;this['_broadcastLocal'](_0x5a371d['channel'],_0x5a371d['message']);}catch(_0x1aa644){}});})['catch'](()=>{const _0x150b7b=_0x119918;this[_0x150b7b(0x1ee)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x14ffcc['ovupE']),this['_redisSubscriber']=null;});}catch(_0x494e1d){this[_0x119918(0x1ee)][_0x119918(0x25f)]({'event':_0x14ffcc[_0x119918(0x221)],'error':_0x494e1d['message']},_0x119918(0x25d)+_0x494e1d[_0x119918(0x219)]);}}[a0_0x54e254(0x1e3)](_0x6375bc,_0x435781){const _0x1d4385=a0_0x54e254,_0x5b7fcd={'PghRi':function(_0x43971f,_0xefe3fc){return _0x43971f===_0xefe3fc;},'kKZMN':function(_0x13e458,_0x396f15){return _0x13e458||_0x396f15;}};if(!this[_0x1d4385(0x224)])return;const _0x2d7e35=JSON[_0x1d4385(0x21d)]({'type':'data_change','channel':_0x6375bc,'action':_0x435781['action'],'data':_0x435781[_0x1d4385(0x228)],'requestId':_0x435781[_0x1d4385(0x1ef)]||null,'timestamp':new Date()['toISOString']()}),[_0x298ecf]=_0x6375bc[_0x1d4385(0x244)](':');for(const [_0x4a82d5,_0x5a8522]of this[_0x1d4385(0x207)]){const _0x41ce23=_0x5b7fcd[_0x1d4385(0x232)](_0x4a82d5,_0x6375bc),_0x3bd1ba=_0x4a82d5===_0x298ecf+':*';if(_0x5b7fcd[_0x1d4385(0x222)](_0x41ce23,_0x3bd1ba))for(const _0x217213 of _0x5a8522){if(_0x5b7fcd['PghRi'](_0x217213['readyState'],0x1))try{_0x217213[_0x1d4385(0x23b)](_0x2d7e35);}catch(_0x14c46a){}}}}}function a0_0x24be(){const _0x2406b3=['v3jsu2O','BgLZDgvUzxjZ','v2vvCwi','D3jPDgu','yLbUCNi','y2HHBM5LBhm','z2v0','zgvSzxrL','ihrVia','DxbNCMfKzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3n0yxj0sgvHCNrIzwf0','D2fYBG','CgfYC2u','zfLou0O','x29WDgLVBNm','x3nLDhvWuMvKAxm','qwLsBhC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','x2jYB2fKy2fZDeXVy2fS','EgPlB3m','ChvIBgLZAgvY','AxnbBgL2zq','DxjS','x2HHBMrSzvn1yNnJCMLIzq','uKvesvnFue9sva','CxvPDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFueftu1DpuKq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x2XVz2DLCG','CMvXDwvZDeLK','y2XPzw50CW','ihnODxqGzg93BG','ywn0Aw9U','mti3lJaUmc4X','AgfZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x293BLb1yMXPC2HLCG','DgHLBG','sxPPCuG','v3vWBMW','zxjYB3i','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Dg9ju09tDhjPBMC','mJa4mJG0vvvjseH1','C3vIC2nYAwjLzenOyw5UzwXZ','BgL2zxn5BMnFD3nZx2vYCM9Y','mZK4mM1Qt1LREG','ALDrEw4','AfzNvgq','x21Vzgu','x2HLyxj0yMvHDfrPBwvY','Dg9tDhjPBMC','x3n1yNnJCMLWDgLVBNm','B3H5Ahu','C3vIC2nYAwjL','yKz4t3G','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zw52','AxnbCNjHEq','vvzWsNu','yNjVywrJyxn0','Ahr0CdOVlW','mJq4otjNtKLOA1C','y2XVC2u','mJC2nZq2neDNzMjezq','zxHWB3j0CW','wKnQs20','mte5rNLfDgfJ','Aw5PDgLHBgL6zq','qvbgDNe','BwvZC2fNzq','y29UBMvJDgLVBG','DgvYBwLUyxrL','x3nLBMruB0nSAwvUDa','C3rYAw5NAwz5','mtq3otq4ndzLtuPmCgG','AgvHzgvYCW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BLjrAMy','A0TAtu4','C2L6zq','x3DZCW','x3jLzgLZuhvIBgLZAgvY','Aw5MBW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','zgf0yq','C2XPy2u','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','AeXVBe0','B0D2z24','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','vwPLswG','tgL2zsbtEw5Jia','x2HHBMrSzvvUC3vIC2nYAwjL','ugDOuMK','mti0nuPRzvrVrW','odm5mJC5mLjnrvzHrG','C2v0','Cxz6weC','swPrv3G','l3DZ','mtbUzhP3Cfm','y2f0y2G','C2vUza','BgvUz3rO','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','mJblq3PSCe4','x2LUAxrPywXPEMvK','AwzvEwW','D29YA2vYswq','C3bSAxq','mhW2Fdf8nhW1Fdn8mG','z2v0q2XPzw50','Bg9Nz2vY','lI4VlI4VDxrPBhmVBg9Nz2vY','x3DVCMTLCKLK','Dw5ZDwjZy3jPyMvK','CgLUzW','Aw9YzwrPCW','DhLWzq','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','whLjzuy','y2fSBa','nZqWmtKYnfLKuMjSEa','wfjiDNa'];a0_0x24be=function(){return _0x2406b3;};return a0_0x24be();}module[a0_0x54e254(0x214)]=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0x5c0261=a0_0x2342;function a0_0x2342(_0x381094,_0x32465a){_0x381094=_0x381094-0x15c;const _0xf92005=a0_0xf920();let _0x234289=_0xf92005[_0x381094];if(a0_0x2342['mLsdTh']===undefined){var _0x29ab74=function(_0x8bc804){const _0x3ec100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117100='',_0x2257f6='';for(let _0x430467=0x0,_0x5d3d8f,_0x73f0af,_0x102c00=0x0;_0x73f0af=_0x8bc804['charAt'](_0x102c00++);~_0x73f0af&&(_0x5d3d8f=_0x430467%0x4?_0x5d3d8f*0x40+_0x73f0af:_0x73f0af,_0x430467++%0x4)?_0x117100+=String['fromCharCode'](0xff&_0x5d3d8f>>(-0x2*_0x430467&0x6)):0x0){_0x73f0af=_0x3ec100['indexOf'](_0x73f0af);}for(let _0x249a01=0x0,_0x5cb84e=_0x117100['length'];_0x249a01<_0x5cb84e;_0x249a01++){_0x2257f6+='%'+('00'+_0x117100['charCodeAt'](_0x249a01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2257f6);};a0_0x2342['DmgRfh']=_0x29ab74,a0_0x2342['vTfycP']={},a0_0x2342['mLsdTh']=!![];}const _0x4c71c2=_0xf92005[0x0],_0x53d77c=_0x381094+_0x4c71c2,_0x25113a=a0_0x2342['vTfycP'][_0x53d77c];return!_0x25113a?(_0x234289=a0_0x2342['DmgRfh'](_0x234289),a0_0x2342['vTfycP'][_0x53d77c]=_0x234289):_0x234289=_0x25113a,_0x234289;}(function(_0x3dceb0,_0x2f1bdb){const _0x59d625=a0_0x2342,_0x5c438e=_0x3dceb0();while(!![]){try{const _0xc94349=parseInt(_0x59d625(0x1bc))/0x1*(parseInt(_0x59d625(0x175))/0x2)+parseInt(_0x59d625(0x17d))/0x3*(-parseInt(_0x59d625(0x18b))/0x4)+parseInt(_0x59d625(0x1df))/0x5+-parseInt(_0x59d625(0x195))/0x6*(-parseInt(_0x59d625(0x16d))/0x7)+parseInt(_0x59d625(0x1e7))/0x8+-parseInt(_0x59d625(0x18c))/0x9+-parseInt(_0x59d625(0x1b9))/0xa;if(_0xc94349===_0x2f1bdb)break;else _0x5c438e['push'](_0x5c438e['shift']());}catch(_0x36ec2b){_0x5c438e['push'](_0x5c438e['shift']());}}}(a0_0xf920,0xcbb56));function a0_0xf920(){const _0x115298=['CxvPDa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','tuTwBvm','u2vYDMvYihnODxr0Aw5NigrVD24','z3HOA0S','lI4VlI4VDxrPBhmVBg9Nz2vY','y2XPzw50CW','Aw5JBhvKzxm','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BgLZDgvUzxjZ','CMvXDwvZDeLK','z0rZDMe','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CgfYC2u','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D0vIBLm','rKXIv0G','x2jYB2fKy2fZDeXVy2fS','uKvesvnFue9sva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Aw5MBW','rw1Pwhm','DxfUrKe','CgLUzW','x3DVCMTLCKLK','rw5wtK4','C2H1DgrVD24','y29UBMvJDa','x29WDgLVBNm','mJeWndiXnujMrfrrwG','CgLK','y3LTrKe','vfznsum','x2HLyxj0yMvHDfrPBwvY','x293BLb1yMXPC2HLCG','v1H0ELa','zgf0yv9JAgfUz2u','nJq5nda4oePez25jwa','Ec1MB3j3yxjKzwqTzM9Y','tLDbCM4','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','v0z3DKy','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','Cg9UzW','uKvesvnFueftu1DpuKq','qNjVywrJyxn0ia','x2HHBMrSzunVBM5Ly3rPB24','AgvHzgvYCW','zgf0yq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','sMX0yLm','D3jPDgu','Aw9YzwrPCW','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','DfnvB0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mtK2zLDUzuLS','BwvZC2fNzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y2fSBa','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvvUC3vIC2nYAwjL','Ahr0CdOVlW','C3vIC2nYAwjLzenOyw5UzwXZ','mMLgtvnpra','ywn0Aw9U','BgL2zxn5BMnFC2H1DgrVD24','ChvIBgLZAgvY','s0TlDvK','yNvrCvG','C3bSAxq','yxbPs2v5','nJLABvbYBMK','z2v0q2XPzw50','x2HHBMrSzvn1yNnJCMLIzq','zw52','C3rYAw5N','C2vUza','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZuhvIBgLZAgvY','ChvZAa','x3nLBMruB0nSAwvUDa','ignSAwvUDcHZkq','x3DZCW','zgvSzxrL','ihrVia','mJy1ota0ugfKu2n3','mJm3nJu3nNLSD3jXza','vhzfvw8','y2HHBM5LBa','C2X6D0q','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CNfOt2m','C2v0','CMvTB3zLqwXStgLZDgvUzxjZ','mtC0nZa4sNrZz3LN','zxjYB3i','ueTgs2W','x3n0yxj0sgvHCNrIzwf0','zgvZDhjVEq','AgfZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zNvSBa','CMvTB3rLqwrKCMvZCW','ywrK','x3nLDhvWuMvKAxm','vfHryxm','AgfUzgXLvxbNCMfKzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','yNjVywrJyxn0','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vHCMnOugfYyw1Z','C2L6zq','x2LUAxrPywXPEMvK','zMH2Eee','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x2XVz2DLCG','D2fYBG','tKrIs1G','zgvIDwC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uxfHuwm','CMvHzhLtDgf0zq','nNW1Fdj8oxWXFdr8ohW3Fdb8mW','z2v0','nZa4nZe3mhHoDwnRzW','l3DZ','C3rYAw5NAwz5','mti4odiXmxDlC0nlwq','ihnODxqGzg93BG','y2XLyxi','CvneCxO','AxnbBgL2zq'];a0_0xf920=function(){return _0x115298;};return a0_0xf920();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x223aa7=a0_0x2342,_0x5cbe96={'gxhkK':_0x223aa7(0x1b7)},_0x497390=_0x5cbe96[_0x223aa7(0x1c5)]['split']('|');let _0xa49d5=0x0;while(!![]){switch(_0x497390[_0xa49d5++]){case'0':this[_0x223aa7(0x19c)]=null;continue;case'1':this[_0x223aa7(0x1b0)]=console;continue;case'2':this[_0x223aa7(0x165)]=null;continue;case'3':this[_0x223aa7(0x1da)]=process[_0x223aa7(0x1e0)];continue;case'4':this[_0x223aa7(0x190)]=new Map();continue;case'5':this['_initialized']=![];continue;case'6':this['_wss']=null;continue;case'7':this[_0x223aa7(0x184)]=null;continue;case'8':this['_heartbeatTimer']=null;continue;case'9':this['_options']={};continue;}break;}}['initialize'](_0x39c503,_0x72897a={}){const _0x2ffa25=a0_0x2342,_0x204111={'VXUOn':'livesync_wss_error','EmiXs':_0x2ffa25(0x1a0),'xdHYv':function(_0x5973ab,_0x4a163b){return _0x5973ab(_0x4a163b);},'fhvxA':function(_0x3284e9,_0x8c952e,_0x755d9f){return _0x3284e9(_0x8c952e,_0x755d9f);},'DCWSI':_0x2ffa25(0x196)};if(this[_0x2ffa25(0x1ac)])return;this['_options']=_0x72897a,this['_mode']=_0x204111[_0x2ffa25(0x1d7)];try{this['_logger']=_0x204111['xdHYv'](require,_0x2ffa25(0x1c6))['logger']||console;}catch(_0x114677){this[_0x2ffa25(0x1b0)]=console;}const _0x2d5965=_0x204111[_0x2ffa25(0x1ad)](parseInt,process['env'][_0x2ffa25(0x1d5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x39c503,'path':_0x2ffa25(0x1ba)}),this[_0x2ffa25(0x1eb)](_0x39c503),this[_0x2ffa25(0x188)]['on']('connection',(_0x256d81,_0x3e33b5)=>this[_0x2ffa25(0x161)](_0x256d81,_0x3e33b5)),this[_0x2ffa25(0x188)]['on'](_0x204111['DCWSI'],_0x4573fb=>{const _0x124cdb=_0x2ffa25;this[_0x124cdb(0x1b0)][_0x124cdb(0x196)]({'event':_0x204111['VXUOn'],'error':_0x4573fb[_0x124cdb(0x16e)]},'WebSocket\x20server\x20error:\x20'+_0x4573fb[_0x124cdb(0x16e)]);}),this[_0x2ffa25(0x198)](_0x2d5965),this[_0x2ffa25(0x1a3)](),this[_0x2ffa25(0x1ac)]=!![],this['_logger'][_0x2ffa25(0x1d6)]({'event':_0x2ffa25(0x191),'mode':'full','path':'/ws','heartbeat':_0x2d5965+'s'},_0x2ffa25(0x169)+_0x2d5965+'s)');}['initializeAsPublisher'](_0xc493c8={}){const _0x45a002=a0_0x2342,_0x531143={'NWArn':_0x45a002(0x178),'gDsva':function(_0x270557,_0x4086fa){return _0x270557(_0x4086fa);},'NDbKX':_0x45a002(0x1ce)};if(this['_initialized'])return;this[_0x45a002(0x1de)]=_0xc493c8,this['_mode']=_0x531143[_0x45a002(0x1e9)];try{this[_0x45a002(0x1b0)]=_0x531143[_0x45a002(0x1cd)](require,_0x45a002(0x1c6))['logger']||console;}catch(_0x1a7f8d){this[_0x45a002(0x1b0)]=console;}this['_setupRedisPublisher'](),this[_0x45a002(0x1ac)]=!![],this['_logger'][_0x45a002(0x1d6)]({'event':_0x531143[_0x45a002(0x1b2)],'mode':'publisher'},_0x45a002(0x1d0));}['isInitialized'](){const _0x1444e3=a0_0x2342;return this[_0x1444e3(0x1ac)];}[a0_0x5c0261(0x1a7)](_0xc463f5,_0x4cca21){const _0x58046e=a0_0x5c0261,_0x123db3={'cymFA':function(_0x139fa3,_0x3fb28c){return _0x139fa3===_0x3fb28c;},'EnVNN':function(_0x1d78d5,_0x3174a8){return _0x1d78d5===_0x3174a8;},'yeWRt':function(_0x461dcd,_0x3eb1c5){return _0x461dcd>_0x3eb1c5;},'KFvVn':_0x58046e(0x171)};if(!this[_0x58046e(0x1ac)])return;if(this['_mode']===_0x58046e(0x178)){this['_publishToRedis'](_0xc463f5,_0x4cca21);return;}const _0x5d4a1e=JSON[_0x58046e(0x1bb)]({'type':_0x58046e(0x1e6),'channel':_0xc463f5,'action':_0x4cca21[_0x58046e(0x176)],'data':_0x4cca21[_0x58046e(0x163)],'requestId':_0x4cca21[_0x58046e(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x26707f]=_0xc463f5[_0x58046e(0x17b)](':');let _0xf26726=0x0;for(const [_0x145984,_0x38da77]of this['_subscriptions']){const _0x533a57=_0x123db3[_0x58046e(0x1e1)](_0x145984,_0xc463f5),_0x205440=_0x123db3[_0x58046e(0x1db)](_0x145984,_0x26707f+':*');if(_0x533a57||_0x205440)for(const _0x5630b8 of _0x38da77){if(_0x5630b8['readyState']===0x1)try{_0x5630b8[_0x58046e(0x182)](_0x5d4a1e),_0xf26726++;}catch(_0x47f21e){}}}_0x123db3['yeWRt'](_0xf26726,0x0)&&this[_0x58046e(0x1b0)][_0x58046e(0x1b3)]({'event':_0x123db3['KFvVn'],'channel':_0xc463f5,'action':_0x4cca21['action'],'clients':_0xf26726},_0x58046e(0x160)+_0x4cca21['action']+'\x20on\x20'+_0xc463f5+_0x58046e(0x18a)+_0xf26726+_0x58046e(0x187));}[a0_0x5c0261(0x183)](_0x100179,_0x34e44c){const _0x261c4e=a0_0x5c0261;if(!this['_redisPublisher'])return;const _0x1b2b38=JSON['stringify']({'channel':_0x100179,'message':_0x34e44c,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x261c4e(0x1a7),_0x1b2b38)['catch'](()=>{});}[a0_0x5c0261(0x1dc)](){const _0x364c8d=a0_0x5c0261,_0xc679d0={'dcOgf':function(_0x35abb4,_0x250d49){return _0x35abb4(_0x250d49);},'PgXzG':_0x364c8d(0x1c4),'rqhOc':_0x364c8d(0x177)};if(!this[_0x364c8d(0x1ac)])return;this['_heartbeatTimer']&&(_0xc679d0['dcOgf'](clearInterval,this[_0x364c8d(0x1e3)]),this['_heartbeatTimer']=null);if(this[_0x364c8d(0x188)]){for(const _0x251ac1 of this[_0x364c8d(0x188)][_0x364c8d(0x1c7)]){try{_0x251ac1['close'](0x3e9,_0xc679d0['PgXzG']);}catch(_0x54eb6c){}}this[_0x364c8d(0x188)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x16cd77){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x364c8d(0x1c1)]();}catch(_0x441b6d){}this['_subscriptions'][_0x364c8d(0x1be)](),this['_initialized']=![],this['_logger']['info']({'event':_0xc679d0[_0x364c8d(0x192)],'mode':this[_0x364c8d(0x165)]},'Live\x20Sync\x20'+this['_mode']+_0x364c8d(0x1bd));}[a0_0x5c0261(0x1eb)](_0x1f87fb){const _0xbe6898=a0_0x5c0261,_0x262d87={'tSUoJ':'connection','xcLla':'localhost','buQqX':'x-api-key','KKKuY':function(_0x58bb7c,_0x5192c5){return _0x58bb7c!==_0x5192c5;},'qSDqz':_0xbe6898(0x19d),'lsIaA':_0xbe6898(0x1ae)},_0x1a233a=_0x1f87fb[_0xbe6898(0x1cb)]('upgrade')['slice']();_0x1f87fb[_0xbe6898(0x194)](_0x262d87['lsIaA']),_0x1f87fb['on']('upgrade',(_0x417abd,_0xa16336,_0x2a05c7)=>{const _0xf4d9be=_0xbe6898,_0x55ba97={'rKeKX':_0x262d87[_0xf4d9be(0x16a)]};if(!_0x417abd['url']||!_0x417abd['url'][_0xf4d9be(0x1ee)](_0xf4d9be(0x1ba))){for(const _0x45e753 of _0x1a233a){_0x45e753[_0xf4d9be(0x170)](_0x1f87fb,_0x417abd,_0xa16336,_0x2a05c7);}return;}if(this[_0xf4d9be(0x1de)][_0xf4d9be(0x17c)]){const _0x480f36=new URL(_0x417abd['url'],_0xf4d9be(0x173)+(_0x417abd[_0xf4d9be(0x162)]['host']||_0x262d87['xcLla'])),_0x6ab2ee=_0x480f36[_0xf4d9be(0x1aa)]['get'](_0x262d87['buQqX'])||_0x417abd[_0xf4d9be(0x162)][_0x262d87[_0xf4d9be(0x17a)]];if(!_0x6ab2ee||_0x262d87[_0xf4d9be(0x179)](_0x6ab2ee,this['_options'][_0xf4d9be(0x17c)])){_0xa16336[_0xf4d9be(0x167)](_0x262d87[_0xf4d9be(0x1bf)]),_0xa16336[_0xf4d9be(0x199)]();return;}}this['_wss'][_0xf4d9be(0x1a5)](_0x417abd,_0xa16336,_0x2a05c7,_0x15ff03=>{const _0x42071a=_0xf4d9be;this[_0x42071a(0x188)]['emit'](_0x55ba97['rKeKX'],_0x15ff03,_0x417abd);});});}[a0_0x5c0261(0x161)](_0x5036a1,_0x17c812){const _0x384bee=a0_0x5c0261,_0x55b864={'TVMIC':'error','TvEUo':'livesync_client_disconnected','PKFKl':'pong','IJhOa':_0x384bee(0x16e),'eTOti':'close'};_0x5036a1['isAlive']=!![],_0x5036a1[_0x384bee(0x174)]=new Set();const _0x46f9f9=_0x17c812['headers'][_0x384bee(0x1e8)]||_0x17c812['socket'][_0x384bee(0x1a1)];this[_0x384bee(0x1b0)]['info']({'event':_0x384bee(0x1c2),'ip':_0x46f9f9},_0x384bee(0x1b4)+_0x46f9f9),_0x5036a1['on'](_0x55b864[_0x384bee(0x197)],()=>{_0x5036a1['isAlive']=!![];}),_0x5036a1['on'](_0x55b864['IJhOa'],_0x21b316=>{const _0x1053d5=_0x384bee;try{const _0x3490be=JSON[_0x1053d5(0x1cf)](_0x21b316['toString']());this['_handleClientMessage'](_0x5036a1,_0x3490be);}catch(_0x5a055b){this[_0x1053d5(0x186)](_0x5036a1,{'type':_0x55b864[_0x1053d5(0x1e2)],'message':'Invalid\x20JSON\x20message'});}}),_0x5036a1['on'](_0x55b864['eTOti'],()=>{const _0x44c267=_0x384bee;this['_removeClientFromAllChannels'](_0x5036a1),this['_logger']['debug']({'event':_0x55b864[_0x44c267(0x18d)],'ip':_0x46f9f9},_0x44c267(0x1a6)+_0x46f9f9);}),_0x5036a1['on'](_0x55b864['TVMIC'],_0x365e67=>{const _0x301640=_0x384bee;this[_0x301640(0x1b0)][_0x301640(0x1b1)]({'event':'livesync_client_error','error':_0x365e67['message']},'WebSocket\x20client\x20error:\x20'+_0x365e67['message']),this[_0x301640(0x19b)](_0x5036a1);});}[a0_0x5c0261(0x1a9)](_0xb8ae56,_0x157d71){const _0x45fe56=a0_0x5c0261,_0xfe764f={'WFwvF':'subscribe','tZjuJ':'unsubscribe','sOsQL':_0x45fe56(0x15e)};switch(_0x157d71['type']){case _0xfe764f[_0x45fe56(0x1ed)]:this[_0x45fe56(0x17f)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['tZjuJ']:this[_0x45fe56(0x172)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['sOsQL']:_0xb8ae56[_0x45fe56(0x1c0)]=!![];break;default:this[_0x45fe56(0x186)](_0xb8ae56,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x157d71[_0x45fe56(0x1c9)]});}}[a0_0x5c0261(0x17f)](_0x309c14,_0x4f5a01){const _0x276986=a0_0x5c0261,_0x12a6b1={'EBIut':function(_0x22728f,_0x479369){return _0x22728f===_0x479369;},'aSmVy':'error','mXFzM':_0x276986(0x16c),'uqnFA':function(_0x2732cd,_0x1f2906){return _0x2732cd!==_0x1f2906;},'MKVmS':_0x276986(0x181),'JjvYx':'subscribed'};if(!Array[_0x276986(0x19e)](_0x4f5a01)||_0x12a6b1['EBIut'](_0x4f5a01['length'],0x0)){this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['aSmVy'],'message':_0x12a6b1['mXFzM']});return;}const _0x28e86c=[];for(const _0x334f27 of _0x4f5a01){if(_0x12a6b1[_0x276986(0x1d8)](typeof _0x334f27,_0x12a6b1[_0x276986(0x1c3)])||!_0x334f27[_0x276986(0x1c8)](':'))continue;!this[_0x276986(0x190)][_0x276986(0x19a)](_0x334f27)&&this['_subscriptions'][_0x276986(0x193)](_0x334f27,new Set()),this['_subscriptions'][_0x276986(0x1b8)](_0x334f27)['add'](_0x309c14),_0x309c14[_0x276986(0x174)][_0x276986(0x1a2)](_0x334f27),_0x28e86c[_0x276986(0x185)](_0x334f27);}_0x28e86c['length']>0x0&&(this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['JjvYx'],'channels':_0x28e86c,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x28e86c},'Client\x20subscribed\x20to:\x20'+_0x28e86c['join'](',\x20')));}['_handleUnsubscribe'](_0x257dad,_0x3b5f47){const _0x383c3e=a0_0x5c0261,_0xf47a52={'FLbWH':function(_0x327243,_0x3a3e26){return _0x327243===_0x3a3e26;}};if(!Array['isArray'](_0x3b5f47))return;const _0x59a92f=[];for(const _0x150af5 of _0x3b5f47){this['_subscriptions'][_0x383c3e(0x19a)](_0x150af5)&&(this[_0x383c3e(0x190)]['get'](_0x150af5)['delete'](_0x257dad),_0xf47a52[_0x383c3e(0x1d2)](this[_0x383c3e(0x190)]['get'](_0x150af5)[_0x383c3e(0x1ab)],0x0)&&this['_subscriptions']['delete'](_0x150af5)),_0x257dad[_0x383c3e(0x174)]['delete'](_0x150af5),_0x59a92f[_0x383c3e(0x185)](_0x150af5);}_0x59a92f['length']>0x0&&this[_0x383c3e(0x186)](_0x257dad,{'type':'unsubscribed','channels':_0x59a92f,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x58784a){const _0x34fa5a=a0_0x5c0261,_0x482f51={'WXtzP':function(_0x382f40,_0x424707){return _0x382f40===_0x424707;}};if(!_0x58784a[_0x34fa5a(0x174)])return;for(const _0x1b0e6d of _0x58784a['subscribedChannels']){this['_subscriptions'][_0x34fa5a(0x19a)](_0x1b0e6d)&&(this['_subscriptions'][_0x34fa5a(0x1b8)](_0x1b0e6d)[_0x34fa5a(0x189)](_0x58784a),_0x482f51[_0x34fa5a(0x1e5)](this[_0x34fa5a(0x190)][_0x34fa5a(0x1b8)](_0x1b0e6d)['size'],0x0)&&this['_subscriptions'][_0x34fa5a(0x189)](_0x1b0e6d));}_0x58784a[_0x34fa5a(0x174)][_0x34fa5a(0x1be)]();}[a0_0x5c0261(0x186)](_0x4d013d,_0x5c52de){const _0x1865df=a0_0x5c0261,_0x71254f={'TXQas':function(_0x487869,_0x43eeb8){return _0x487869===_0x43eeb8;}};if(_0x71254f[_0x1865df(0x1a4)](_0x4d013d[_0x1865df(0x1b6)],0x1))try{_0x4d013d[_0x1865df(0x182)](JSON[_0x1865df(0x1bb)](_0x5c52de));}catch(_0x1b42e8){}}['_startHeartbeat'](_0x1a1bbb){const _0x47f798=a0_0x5c0261,_0x4f8dc3={'hVAMo':function(_0x4befeb,_0x5837db,_0x35216f){return _0x4befeb(_0x5837db,_0x35216f);}};this[_0x47f798(0x1e3)]=_0x4f8dc3['hVAMo'](setInterval,()=>{const _0x3f4534=_0x47f798;if(!this['_wss'])return;for(const _0x151356 of this[_0x3f4534(0x188)]['clients']){if(!_0x151356[_0x3f4534(0x1c0)]){this[_0x3f4534(0x19b)](_0x151356),_0x151356['terminate']();continue;}_0x151356['isAlive']=![],this[_0x3f4534(0x186)](_0x151356,{'type':_0x3f4534(0x1d9),'timestamp':new Date()[_0x3f4534(0x15c)]()});try{_0x151356['ping']();}catch(_0x5997d5){}}},_0x1a1bbb*0x3e8);}[a0_0x5c0261(0x164)](){const _0xd5cca=a0_0x5c0261,_0x3d73ec={'PwzzP':_0xd5cca(0x16f),'slzwD':function(_0x1dd280,_0x462b7a){return _0x1dd280(_0x462b7a);},'aYltH':'127.0.0.1','UtKsZ':function(_0x33b2f3,_0x3ef03c,_0x12b254){return _0x33b2f3(_0x3ef03c,_0x12b254);}};this['_ownPublisher']=![];try{try{const _0x3fe789=require(_0x3d73ec['PwzzP']);this['_redisPublisher']=_0x3fe789[_0xd5cca(0x17e)]?_0x3fe789['getClient']():null;}catch(_0x4ed2af){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1883ac=_0x3d73ec[_0xd5cca(0x18f)](require,_0xd5cca(0x168)),_0x14712e={'host':process[_0xd5cca(0x180)]['REDIS_HOST']||_0x3d73ec['aYltH'],'port':_0x3d73ec['UtKsZ'](parseInt,process[_0xd5cca(0x180)][_0xd5cca(0x1d4)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0xd5cca(0x180)][_0xd5cca(0x1ea)],0xa)||0x0,'lazyConnect':!![]};this[_0xd5cca(0x184)]=new _0x1883ac(_0x14712e),this[_0xd5cca(0x1e4)]=!![],this['_redisPublisher'][_0xd5cca(0x1dd)]()[_0xd5cca(0x1ec)](()=>{const _0x57dab5=_0xd5cca;this[_0x57dab5(0x1b0)]['warn']({'event':_0x57dab5(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x46be2d){this['_logger'][_0xd5cca(0x1b1)]({'event':_0xd5cca(0x1af),'error':_0x46be2d[_0xd5cca(0x16e)]},_0xd5cca(0x15d)+_0x46be2d['message']);}}[a0_0x5c0261(0x1a3)](){const _0x11d649=a0_0x5c0261,_0x212967={'wEbnS':'livesync_redis_subscribe_error','qVHsg':'livesync_redis_subscriber_failed','QqaQc':'127.0.0.1','JltbS':function(_0x141c59,_0x22b359,_0x29fab9){return _0x141c59(_0x22b359,_0x29fab9);},'cwxui':_0x11d649(0x1af)};this[_0x11d649(0x1e4)]=![];try{const _0x1c30ea=require('ioredis'),_0x5624cb={'host':process[_0x11d649(0x180)]['REDIS_HOST']||_0x212967[_0x11d649(0x1b5)],'port':_0x212967[_0x11d649(0x166)](parseInt,process['env'][_0x11d649(0x1d4)],0xa)||0x18eb,'password':process[_0x11d649(0x180)][_0x11d649(0x15f)]||undefined,'db':parseInt(process[_0x11d649(0x180)][_0x11d649(0x1ea)],0xa)||0x0,'lazyConnect':!![]};try{const _0x595a54=require(_0x11d649(0x16f));this['_redisPublisher']=_0x595a54[_0x11d649(0x17e)]?_0x595a54['getClient']():null;}catch(_0x3bc14a){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x11d649(0x184)]=new _0x1c30ea(_0x5624cb),this[_0x11d649(0x1e4)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1a07fb=_0x11d649;this[_0x1a07fb(0x1b0)]['warn']({'event':_0x1a07fb(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1a07fb(0x184)]=null;})),this['_redisSubscriber']=new _0x1c30ea(_0x5624cb),this['_redisSubscriber'][_0x11d649(0x1dd)]()['then'](()=>{const _0x4fcfc7=_0x11d649;this[_0x4fcfc7(0x19c)]['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3de488=>{const _0x2a548c=_0x4fcfc7;if(_0x3de488){this[_0x2a548c(0x1b0)]['error']({'event':_0x212967[_0x2a548c(0x1d1)],'error':_0x3de488['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3de488[_0x2a548c(0x16e)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2a548c(0x1a8));}),this['_redisSubscriber']['on'](_0x4fcfc7(0x16e),(_0x172170,_0x315f47)=>{const _0x48d215=_0x4fcfc7;try{const _0x22d77d=JSON[_0x48d215(0x1cf)](_0x315f47);if(_0x22d77d['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x22d77d[_0x48d215(0x18e)],_0x22d77d['message']);}catch(_0x4dfe5a){}});})[_0x11d649(0x1ec)](()=>{const _0x4292ee=_0x11d649;this['_logger']['warn']({'event':_0x212967['qVHsg']},_0x4292ee(0x16b)),this['_redisSubscriber']=null;});}catch(_0x35a697){this['_logger']['warn']({'event':_0x212967['cwxui'],'error':_0x35a697['message']},_0x11d649(0x1ca)+_0x35a697[_0x11d649(0x16e)]);}}[a0_0x5c0261(0x1d3)](_0x8c1c1,_0x859659){const _0x13c4ee=a0_0x5c0261,_0x37adcd={'Lozdy':function(_0x291fa2,_0xe70630){return _0x291fa2===_0xe70630;},'FQGdd':function(_0x4ffc64,_0x489079){return _0x4ffc64||_0x489079;}};if(!this[_0x13c4ee(0x188)])return;const _0x52e27b=JSON[_0x13c4ee(0x1bb)]({'type':'data_change','channel':_0x8c1c1,'action':_0x859659[_0x13c4ee(0x176)],'data':_0x859659['data'],'requestId':_0x859659[_0x13c4ee(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x4837bb]=_0x8c1c1[_0x13c4ee(0x17b)](':');for(const [_0x3368a2,_0x11b26f]of this['_subscriptions']){const _0x1616d2=_0x37adcd['Lozdy'](_0x3368a2,_0x8c1c1),_0x3ce5ea=_0x3368a2===_0x4837bb+':*';if(_0x37adcd['FQGdd'](_0x1616d2,_0x3ce5ea))for(const _0x4afaa0 of _0x11b26f){if(_0x37adcd['Lozdy'](_0x4afaa0[_0x13c4ee(0x1b6)],0x1))try{_0x4afaa0['send'](_0x52e27b);}catch(_0x5883d7){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x2d99(){const _0x1ab7b7=['rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','mM1brM5IsW','y29SDw1UCW','A3vNq0K','BgvUz3rO','lI4VlI4VzxHWB3j0CY8','y29TCgXLDgvK','CM91BMq','nda0ndCYuxHTDeTd','DgDes1a','zxHWB3j0x2zHAwXLza','ignVBhvTBNm','y3jLyxrLzf9HDa','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rMfPBgvKihrVigzLDgnOigrHDge','zxHWB3j0x2nVBxbSzxrLza','C3rHDhvZ','DfPpEfa','Aw5MBW','BM93','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','cIaGicaGicaG','CgvUzgLUzW','CMfUzg9T','C3rYAw5N','r1zjCKK','l2fWAs8','wwTYrhq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','x2v4Cg9YDerPCG','A0XAuNq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','C2fUAxrPEMvwywX1zq','q1fksLC','EwnXBfq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zMLSDgvY','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC2LUzW','Dg9mB3DLCKnHC2u','ChjVz3jLC3m','rxHWB3j0igPVyIbJCMvHDgvK','AM9Ix2LK','z2jHvum','Dg9vChbLCKnHC2u','s0fsr0O','mtfeAKLPrKm','mJi0ofzbEMfcwG','D1z2wvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x2zLDgnOx3n0yxj0','mtu0ntGXmeTIz0rjrW','mZu3mhHTBufbBW','Cgf0Aa','zwDfBe0','ChjVy2vZC0PVyG','z2vUzxjHDgvkB2jjza','id0G','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rxHWB3j0igzPBguGBM90igzVDw5K','we9Iyvu','wKzOv1e','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','z2v0sM9I','Dg9ju09tDhjPBMC','iefticGkicaGia','lI4VDxrPBhmVzgi','Aw52ywXPzf9JB25KAxrPB24','mJC5otCZogXIuLDeBW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mteYmZG4uvHrqMXV','revtqW','AM5rB3e','DhjPBq','vxnPBMCG','wMzpu3K','y3jLyxrLsM9I','A2v5CW','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','z2v0rMLSzvbHDgG','rejFvfLqrq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','vLjHvfO','zNbmv08','mJyWoty3r0Xhs0nA','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','odi1mZaYmfDrtNbNCW','yNvPBgrxAgvYzunSyxvZzq','ieforca','zxHPC3rZu3LUyW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','CMvWBgfJzq','z2vUzxjHDgvfEgnLBa','tNvwDgm','zg1MqxO','BwfW','z2v0qwXSsM9ICW','ywnJzxnZ','zgvMyxvSDa','AxnbCNjHEq','rg5Rz0K','ignOyxjZkq','DwHjywG','rKHlqKS','zMLSzw5HBwu','zMLSzv9WyxrO','teLlrq','DxbKyxrLsM9I','y3DK','DLf1tw8','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ChjVBwLZzxm','ruDjBKG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','CMvHzezPBgvtEw5J','q2LlA0e','zw52','zxHWB3j0x2zLDgnOx2vYCM9Y','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zMLLBgrmywjLBhm','Bw9KDwXLtMfTzq','iefticGkicaGifnftevdvca','z0XlsNu','vvbqrviO','zxHLy3v0zvf1zxj5','y2HHCKf0','y2XLyw51Ca','Dg11tMC','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','cIaGicbguK9nia','CgfYyw1Z','lI4VDxrPBhmVBg9Nz2vY','q2jJuLC','lNHSC3G','CMvZB2X2zuv4Cg9YDff1zxj5','BwvZC2fNzq','Ehb4Ewi','nNbLrgXpDG','BxLZCwW','DxrMoa','Dg90ywXFCM93CW','ieLtie5vteW','tLjUtNi','y1zTzhG','yMnbuxe','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','C3vIC3rYAw5N','rvHqt1jux0rjuG','rMXzC0e','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW'];a0_0x2d99=function(){return _0x1ab7b7;};return a0_0x2d99();}const a0_0x281a3e=a0_0x5281;(function(_0x4ec071,_0x2c469e){const _0x390c4f=a0_0x5281,_0xa6bd05=_0x4ec071();while(!![]){try{const _0x14cd95=parseInt(_0x390c4f(0xd6))/0x1*(parseInt(_0x390c4f(0x11d))/0x2)+-parseInt(_0x390c4f(0x124))/0x3+-parseInt(_0x390c4f(0xc8))/0x4+parseInt(_0x390c4f(0xb4))/0x5*(-parseInt(_0x390c4f(0x10d))/0x6)+-parseInt(_0x390c4f(0xb5))/0x7*(parseInt(_0x390c4f(0xb0))/0x8)+-parseInt(_0x390c4f(0xc5))/0x9+-parseInt(_0x390c4f(0xd8))/0xa*(-parseInt(_0x390c4f(0xaf))/0xb);if(_0x14cd95===_0x2c469e)break;else _0xa6bd05['push'](_0xa6bd05['shift']());}catch(_0x6b443a){_0xa6bd05['push'](_0xa6bd05['shift']());}}}(a0_0x2d99,0x27032));const {v7:uuidv7}=require('uuid'),path=require(a0_0x281a3e(0xb6)),fs=require('fs')[a0_0x281a3e(0xf3)],fsSync=require('fs'),redisHelper=require(a0_0x281a3e(0xd3)),{logger,logError}=require(a0_0x281a3e(0x107)),dbType=(process['env'][a0_0x281a3e(0xd2)]||'postgresql')['toLowerCase']();function a0_0x5281(_0x37396f,_0x109aaa){_0x37396f=_0x37396f-0x91;const _0x2d99e5=a0_0x2d99();let _0x52813d=_0x2d99e5[_0x37396f];if(a0_0x5281['mRVimQ']===undefined){var _0x17570c=function(_0x19f70c){const _0x567b3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185d09='',_0x448705='';for(let _0x4a898a=0x0,_0x312312,_0x3470ca,_0xf465d3=0x0;_0x3470ca=_0x19f70c['charAt'](_0xf465d3++);~_0x3470ca&&(_0x312312=_0x4a898a%0x4?_0x312312*0x40+_0x3470ca:_0x3470ca,_0x4a898a++%0x4)?_0x185d09+=String['fromCharCode'](0xff&_0x312312>>(-0x2*_0x4a898a&0x6)):0x0){_0x3470ca=_0x567b3e['indexOf'](_0x3470ca);}for(let _0x3c984e=0x0,_0x412515=_0x185d09['length'];_0x3c984e<_0x412515;_0x3c984e++){_0x448705+='%'+('00'+_0x185d09['charCodeAt'](_0x3c984e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448705);};a0_0x5281['LRMEmt']=_0x17570c,a0_0x5281['JkxFyu']={},a0_0x5281['mRVimQ']=!![];}const _0x10ae7a=_0x2d99e5[0x0],_0x9a9404=_0x37396f+_0x10ae7a,_0x5e92ef=a0_0x5281['JkxFyu'][_0x9a9404];return!_0x5e92ef?(_0x52813d=a0_0x5281['LRMEmt'](_0x52813d),a0_0x5281['JkxFyu'][_0x9a9404]=_0x52813d):_0x52813d=_0x5e92ef,_0x52813d;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x47c36e,_0x49c83d)=>oracleDb[a0_0x281a3e(0x100)](_0x47c36e,_0x49c83d);}else{if(dbType===a0_0x281a3e(0x10e)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x4f18ef,_0x50b5ec)=>mysqlDb[a0_0x281a3e(0x100)](_0x4f18ef,_0x50b5ec);}else executeQuery=require(a0_0x281a3e(0xc3))[a0_0x281a3e(0x100)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x58e2e1=a0_0x281a3e,_0x3df11c={'PKqNb':_0x58e2e1(0xe6),'yHKSK':'export_service_init_error','DvaAM':_0x58e2e1(0xd0)};if(!this['_exportDir']){const _0x5ea7f6=process[_0x58e2e1(0xf8)]['RESTFORGE_PROJECT_NAME']||_0x3df11c['PKqNb'];this[_0x58e2e1(0x9d)]=process['env'][_0x58e2e1(0x117)]||path['join'](__dirname,_0x58e2e1(0x121)+_0x5ea7f6);try{!fsSync['existsSync'](this[_0x58e2e1(0x9d)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x58e2e1(0xa6));}catch(_0x1a08c1){logError(_0x1a08c1,{'event':_0x3df11c['yHKSK']},_0x3df11c['DvaAM']);}}return this[_0x58e2e1(0x9d)];}[a0_0x281a3e(0x10a)](_0x1539c8,_0x4b2592=null){const _0x155241=a0_0x281a3e,_0x939aae={'GVIrI':'string','izPDf':_0x155241(0x10f),'ozzIt':function(_0x4c0737,_0x4cb2fa){return _0x4c0737===_0x4cb2fa;}};if(!_0x1539c8||typeof _0x1539c8!==_0x939aae[_0x155241(0x99)])return _0x1539c8;const _0x2903d3=_0x1539c8['trim']();if(!_0x2903d3['startsWith']('file:'))return _0x2903d3;const _0x34682f=_0x2903d3['replace'](/^file:/,'')[_0x155241(0xcb)]();if(!_0x34682f)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x1334fb=_0x4b2592||path['join'](process[_0x155241(0xf0)](),'payload'),_0x315dda=path['resolve'](_0x1334fb,_0x34682f);logger['info']({'event':'export_query_file_resolve','relativePath':_0x34682f,'baseDir':_0x1334fb,'absolutePath':_0x315dda},_0x155241(0xf2)+_0x34682f);if(!fsSync[_0x155241(0xdb)](_0x315dda))throw new Error(_0x155241(0xc7)+_0x315dda);try{const _0x123967=fsSync[_0x155241(0xf6)](_0x315dda,_0x939aae['izPDf']);if(!_0x123967||!_0x123967['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x315dda);return logger[_0x155241(0x92)]({'event':_0x155241(0xbb),'file':_0x315dda,'queryLength':_0x123967[_0x155241(0x120)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x123967[_0x155241(0x120)]+_0x155241(0xe9)),_0x123967['trim']();}catch(_0x367fa3){if(_0x939aae['ozzIt'](_0x367fa3['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x315dda);throw new Error(_0x155241(0xdc)+_0x367fa3['message']);}}[a0_0x281a3e(0xb9)](){const _0x420694=a0_0x281a3e,_0x7881c7={'tZOxP':function(_0x1044d6){return _0x1044d6();},'XUcuR':function(_0x29524,_0x3faef3){return _0x29524-_0x3faef3;},'CiKkA':function(_0x4043eb,_0x3a6311){return _0x4043eb+_0x3a6311;},'hHrko':function(_0x40628b,_0xe4b901){return _0x40628b<_0xe4b901;}},_0x3b91b3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x44a18b=Date[_0x420694(0x93)]()['toString'](0x24),_0x31f44b=_0x7881c7[_0x420694(0x91)](uuidv7)[_0x420694(0xdf)](/-/g,'')['substring'](0x0,_0x7881c7['XUcuR'](0xc,_0x44a18b[_0x420694(0x120)])),_0x21f75d=_0x7881c7[_0x420694(0xf7)](_0x44a18b,_0x31f44b)['substring'](0x0,0xc);let _0x14ca47='';for(let _0x3cd01f=0x0;_0x7881c7['hHrko'](_0x3cd01f,0xc);_0x3cd01f++){_0x21f75d[_0x3cd01f]?_0x14ca47+=_0x21f75d[_0x3cd01f]:_0x14ca47+=_0x3b91b3[_0x420694(0x101)](Math['floor'](Math[_0x420694(0x97)]()*_0x3b91b3[_0x420694(0x120)]));}return _0x14ca47;}async[a0_0x281a3e(0xce)](_0x40c7aa){const _0x3d98ad=a0_0x281a3e,_0x2a2561={'aIXdp':function(_0x38487a,_0xb7d2a0,_0x1722f0,_0x3336a3){return _0x38487a(_0xb7d2a0,_0x1722f0,_0x3336a3);},'iSaDa':'export_process_error','FlYsA':_0x3d98ad(0x96),'CQJJW':_0x3d98ad(0xaa)},_0x4daf91=this[_0x3d98ad(0xb9)](),_0x4e46e1={'job_id':_0x4daf91,'status':_0x2a2561[_0x3d98ad(0x118)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x40c7aa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4daf91,_0x4e46e1),logger['info']({'event':'export_job_created','jobId':_0x4daf91,'params':_0x40c7aa},_0x2a2561[_0x3d98ad(0xa2)]),this[_0x3d98ad(0xb8)](_0x4daf91,_0x40c7aa)['catch'](_0x5f2db0=>{const _0x591780=_0x3d98ad;_0x2a2561['aIXdp'](logError,_0x5f2db0,{'event':_0x2a2561['iSaDa'],'jobId':_0x4daf91},_0x591780(0x104));}),{'job_id':_0x4daf91,'status':_0x3d98ad(0x96)};}async['getJobStatus'](_0x219550){const _0x500ee3=a0_0x281a3e,_0x520d47={'VbWmO':'completed'},_0x1f4321=await redisHelper[_0x500ee3(0xc0)](_0x219550);if(!_0x1f4321)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x1f4321[_0x500ee3(0xab)],'status':_0x1f4321['status'],'progress':_0x1f4321[_0x500ee3(0xa9)],'total_rows':_0x1f4321[_0x500ee3(0x110)],'processed_rows':_0x1f4321['processed_rows'],'file_url':_0x1f4321['status']===_0x520d47['VbWmO']?_0x500ee3(0x9a)+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0xfc)]+'/'+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0x119)]+_0x500ee3(0xbf)+_0x219550:null,'error':_0x1f4321['error']||null,'created_at':_0x1f4321['created_at'],'completed_at':_0x1f4321['completed_at']||null}};}async[a0_0x281a3e(0xb8)](_0x25752a,_0x42b6eb){const _0x38555b=a0_0x281a3e,_0x4bbcfd={'OkmCY':'completed','tgDKP':_0x38555b(0x12b),'XObaU':'Export\x20completed\x20successfully','CbcRW':_0x38555b(0x126)};try{await redisHelper['updateJob'](_0x25752a,{'status':_0x38555b(0xa7),'started_at':new Date()[_0x38555b(0xc1)]()}),logger['info']({'event':'export_processing_start','jobId':_0x25752a},'Export\x20processing\x20started');const _0x39e7c9=await this['fetchData'](_0x42b6eb);await redisHelper[_0x38555b(0xef)](_0x25752a,{'total_rows':_0x39e7c9['length']});const _0x28f367=await this['generateExcel'](_0x25752a,_0x39e7c9,_0x42b6eb);await redisHelper['updateJob'](_0x25752a,{'status':_0x4bbcfd['OkmCY'],'progress':0x64,'file_path':_0x28f367,'completed_at':new Date()['toISOString']()}),logger[_0x38555b(0x92)]({'event':_0x4bbcfd[_0x38555b(0x125)],'jobId':_0x25752a,'rows':_0x39e7c9['length']},_0x4bbcfd[_0x38555b(0xbd)]);}catch(_0x19b0c7){logError(_0x19b0c7,{'event':_0x4bbcfd[_0x38555b(0x108)],'jobId':_0x25752a},'Export\x20failed'),await redisHelper[_0x38555b(0xef)](_0x25752a,{'status':'failed','error':_0x19b0c7[_0x38555b(0x10b)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x23d6c8){const _0x5c5cfa=a0_0x281a3e,_0x4f993a={'KARGJ':function(_0x4438ea,_0x336e7a){return _0x4438ea===_0x336e7a;},'uOLxU':function(_0x3ffda2,_0x3853b7){return _0x3ffda2+_0x3853b7;},'tmuNg':'file:','kLZRt':_0x5c5cfa(0x9c),'NTTMZ':'export_using_auto_query','fkOJg':_0x5c5cfa(0xb3),'fpLWO':'Fetching\x20data\x20from\x20database','FHKBK':function(_0x170336,_0x13347e){return _0x170336(_0x13347e);},'NuVtc':function(_0x46f268,_0x5d1ce8){return _0x46f268>_0x5d1ce8;},'jnQoq':_0x5c5cfa(0xf9)};try{const {tableName:_0x408c68,columns:_0x26a5fc,exportQuery:_0x3618d4,where:_0x1e49e2,sort_columns:_0x2e263e}=_0x23d6c8;if(!_0x408c68||!_0x26a5fc||_0x4f993a[_0x5c5cfa(0xae)](_0x26a5fc['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0xd3fba9=_0x4f993a['uOLxU'](_0x408c68[_0x5c5cfa(0xdf)](/\./g,'_'),'_data');let _0x1c5180;if(_0x3618d4&&_0x3618d4[_0x5c5cfa(0xcb)]()){let _0x3916c2=_0x3618d4;_0x3618d4['trim']()['startsWith'](_0x4f993a[_0x5c5cfa(0x103)])&&(_0x3916c2=this[_0x5c5cfa(0x10a)](_0x3618d4)),_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xc2)+_0x3916c2+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':'export_using_custom_query','query':_0x3916c2[_0x5c5cfa(0x116)](0x0,0x64)},_0x4f993a[_0x5c5cfa(0x9e)]);}else{const _0xe9cb99=_0x26a5fc['map'](_0x557c20=>_0x5c5cfa(0x95)+_0x557c20)['join'](',');_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xfd)+_0xe9cb99+_0x5c5cfa(0x105)+_0x408c68+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':_0x4f993a['NTTMZ'],'tableName':_0x408c68,'columnCount':_0x26a5fc[_0x5c5cfa(0x120)]},'Using\x20auto-generated\x20query');}if(_0x1e49e2){const _0x239ddc=this[_0x5c5cfa(0xd9)](_0x1e49e2);_0x239ddc&&(_0x1c5180+='\x0aWHERE\x20'+_0x239ddc);}if(_0x2e263e&&_0x2e263e['length']>0x0){const _0x122f92=this['buildOrderByClause'](_0x2e263e);_0x122f92&&(_0x1c5180+='\x0aORDER\x20BY\x20'+_0x122f92);}logger[_0x5c5cfa(0x92)]({'event':_0x4f993a['fkOJg'],'query':_0x1c5180['substring'](0x0,0xc8)},_0x4f993a[_0x5c5cfa(0xd5)]);const _0x504b7a=await _0x4f993a[_0x5c5cfa(0xeb)](executeQuery,_0x1c5180);let _0x3fae89=_0x504b7a;return _0x4f993a['KARGJ'](dbType,'oracle')&&_0x504b7a&&_0x4f993a[_0x5c5cfa(0xe1)](_0x504b7a['length'],0x0)&&(_0x3fae89=_0x504b7a['map'](_0xd2d5d=>{const _0x34ed7c=_0x5c5cfa,_0x2b7057={};for(const [_0x2a8996,_0x47fa3b]of Object['entries'](_0xd2d5d)){_0x2b7057[_0x2a8996[_0x34ed7c(0xa8)]()]=_0x47fa3b;}return _0x2b7057;})),logger[_0x5c5cfa(0x92)]({'event':_0x5c5cfa(0x115),'rows':_0x3fae89[_0x5c5cfa(0x120)]},'Data\x20fetched\x20successfully'),_0x3fae89;}catch(_0xb6203c){logError(_0xb6203c,{'event':_0x4f993a[_0x5c5cfa(0xca)]},_0x5c5cfa(0x12a));throw _0xb6203c;}}[a0_0x281a3e(0xa1)](_0x279581){const _0x8d3111=a0_0x281a3e;if(typeof _0x279581===_0x8d3111(0x98))return _0x279581['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x8d3111(0xcb)]();else{if(Array['isArray'](_0x279581))return _0x279581['map'](_0xc9963f=>this['sanitizeValue'](_0xc9963f));}return _0x279581;}[a0_0x281a3e(0xd9)](_0x4e4cc7){const _0x44ad0a=a0_0x281a3e,_0x1f2c3a={'cVmdx':function(_0x187e77,_0x43b5d3){return _0x187e77===_0x43b5d3;},'wtsLv':_0x44ad0a(0xc4),'ycqlT':'string','ZfOSy':_0x44ad0a(0xee),'uhIah':'IS\x20NOT\x20NULL','BVobF':_0x44ad0a(0xd7),'kugCI':function(_0x560f16,_0x496ef0){return _0x560f16===_0x496ef0;},'bcAQq':_0x44ad0a(0xda)};if(!_0x4e4cc7||!_0x4e4cc7['conditions']||_0x4e4cc7['conditions'][_0x44ad0a(0x120)]===0x0)return'';const {logic:_0x43208b,conditions:_0x350249}=_0x4e4cc7,_0x1e814e=_0x43208b&&_0x1f2c3a[_0x44ad0a(0x11f)](_0x43208b['toUpperCase'](),'OR')?'\x20OR\x20':_0x1f2c3a[_0x44ad0a(0x114)],_0x503683=_0x350249[_0x44ad0a(0xe3)](_0x21dd87=>{const _0x2b53e9=_0x44ad0a,_0x4463ff={'mDAdq':function(_0x106b28,_0x55aa6e){return _0x1f2c3a['cVmdx'](_0x106b28,_0x55aa6e);}},{key:_0x548be3,operator:_0x528fe0,value:_0x33fdfe,sensitive:_0x42b5f0}=_0x21dd87;if(!_0x548be3||!_0x528fe0)return logger['warn']({'event':_0x1f2c3a['wtsLv'],'condition':_0x21dd87},'Skipping\x20invalid\x20condition'),null;const _0x4a88ab=this[_0x2b53e9(0xa1)](_0x33fdfe),_0x5e1ae8=_0x42b5f0!==undefined?_0x42b5f0:!![];let _0x58ba62=_0x548be3,_0x576665=_0x4a88ab;!_0x5e1ae8&&(_0x58ba62=_0x2b53e9(0xff)+_0x548be3+')',typeof _0x33fdfe==='string'&&(_0x576665=_0x33fdfe['toUpperCase']()));const _0x54fe9d=_0x1f2c3a[_0x2b53e9(0x113)](typeof _0x576665,_0x1f2c3a[_0x2b53e9(0xa3)])?'\x27'+_0x576665['replace'](/'/g,'\x27\x27')+'\x27':_0x576665;switch(_0x528fe0['toUpperCase']()){case'=':case'!=':case'<>':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'>':case'<':case'>=':case'<=':const _0xeceba1=typeof _0x4a88ab===_0x1f2c3a[_0x2b53e9(0xa3)]?'\x27'+_0x4a88ab[_0x2b53e9(0xdf)](/'/g,'\x27\x27')+'\x27':_0x4a88ab;return _0x548be3+'\x20'+_0x528fe0+'\x20'+_0xeceba1;case _0x1f2c3a[_0x2b53e9(0xcd)]:case'NOT\x20LIKE':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'IN':if(Array[_0x2b53e9(0xe7)](_0x4a88ab)){let _0xe5d698;return!_0x5e1ae8?_0xe5d698=_0x4a88ab['map'](_0x24c928=>{const _0x5929e5=_0x2b53e9,_0x4fe8c8=typeof _0x24c928===_0x5929e5(0x98)?_0x24c928['toUpperCase']():_0x24c928;return _0x4463ff['mDAdq'](typeof _0x4fe8c8,'string')?'\x27'+_0x4fe8c8['replace'](/'/g,'\x27\x27')+'\x27':_0x4fe8c8;})[_0x2b53e9(0xa0)](',\x20'):_0xe5d698=_0x4a88ab['map'](_0x2c9fe2=>typeof _0x2c9fe2===_0x2b53e9(0x98)?'\x27'+_0x2c9fe2['replace'](/'/g,'\x27\x27')+'\x27':_0x2c9fe2)[_0x2b53e9(0xa0)](',\x20'),_0x58ba62+'\x20IN\x20('+_0xe5d698+')';}return _0x58ba62+'\x20IN\x20('+_0x54fe9d+')';case'IS\x20NULL':return _0x548be3+_0x2b53e9(0x111);case _0x1f2c3a[_0x2b53e9(0xea)]:return _0x548be3+'\x20IS\x20NOT\x20NULL';default:logger[_0x2b53e9(0xc6)]({'event':'unknown_operator','operator':_0x528fe0},_0x1f2c3a['BVobF']);return _0x58ba62+_0x2b53e9(0xba)+_0x54fe9d;}})[_0x44ad0a(0xa5)](_0x58eca2=>_0x58eca2!==null);if(_0x503683[_0x44ad0a(0x120)]===0x0)return'';return _0x503683['join'](_0x1e814e);}['buildOrderByClause'](_0x37c6b4){const _0x32b5b0=a0_0x281a3e,_0x5758b1={'xpxyb':_0x32b5b0(0xb2),'DEDTu':function(_0x26fd72,_0x25bfb7){return _0x26fd72===_0x25bfb7;},'dmfAz':_0x32b5b0(0xc9),'YkrDt':'ASC','DnkgI':function(_0x4940b0,_0xbd6079){return _0x4940b0===_0xbd6079;}};if(!_0x37c6b4||_0x5758b1[_0x32b5b0(0xe8)](_0x37c6b4[_0x32b5b0(0x120)],0x0))return'';const _0x35e0ef=_0x37c6b4['map'](_0x3fdb5c=>{const _0x1d8e27=_0x32b5b0,{column:_0x32ea83,direction:_0x1aa97d}=_0x3fdb5c;if(!_0x32ea83)return logger[_0x1d8e27(0xc6)]({'event':'invalid_sort_column','item':_0x3fdb5c},_0x5758b1[_0x1d8e27(0x10c)]),null;const _0x58ebfa=_0x1aa97d&&_0x5758b1['DEDTu'](_0x1aa97d[_0x1d8e27(0xad)](),_0x1d8e27(0xc9))?_0x5758b1[_0x1d8e27(0xe2)]:_0x5758b1[_0x1d8e27(0x9b)];return _0x32ea83+'\x20'+_0x58ebfa;})['filter'](_0x1e8da2=>_0x1e8da2!==null);if(_0x5758b1[_0x32b5b0(0xe8)](_0x35e0ef['length'],0x0))return'';return _0x35e0ef['join'](',\x20');}async[a0_0x281a3e(0xe0)](_0x5d5e52,_0x8ef5ad,_0xa8c925){const _0xf9dad7=a0_0x281a3e,_0x2e4764={'SmrcK':function(_0x23b527,_0x52a918){return _0x23b527/_0x52a918;},'EGInH':function(_0x3f4ab9,_0x242471){return _0x3f4ab9(_0x242471);},'wVvYY':function(_0x35d33f,_0xae04d2){return _0x35d33f===_0xae04d2;},'VRaTZ':function(_0x5aef36,_0x29880d){return _0x5aef36>_0x29880d;},'NRnNr':'excel_columns_from_custom_query','gbaUC':_0xf9dad7(0xde),'NBOQo':'excel_columns_from_config'},_0x498da3=_0x2e4764[_0xf9dad7(0xf4)](require,'../utils/excel-generator'),_0x1e8a04=new _0x498da3(),_0x3c9636=_0xa8c925['filename']?_0xa8c925[_0xf9dad7(0xec)]+'-'+_0x5d5e52:'export-'+_0x5d5e52,_0x58c775=path[_0xf9dad7(0xa0)](this['exportDir'],_0x3c9636+_0xf9dad7(0x109));let _0x50ea2b=_0xa8c925[_0xf9dad7(0x11e)];const _0x43dccf=_0xa8c925[_0xf9dad7(0xdd)]&&_0xa8c925[_0xf9dad7(0xdd)][_0xf9dad7(0xcb)](),_0x2ce50c=_0x50ea2b&&_0x50ea2b['length']===0x1&&(_0x50ea2b[0x0]==='*'||_0x2e4764[_0xf9dad7(0xb1)](_0x50ea2b[0x0]['toLowerCase'](),'all'));if(_0x2e4764[_0xf9dad7(0xd4)](_0x8ef5ad['length'],0x0)){const _0x502a72=Object[_0xf9dad7(0xcf)](_0x8ef5ad[0x0]);if(_0x43dccf)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0x112)],'columns':_0x50ea2b},'Using\x20'+_0x50ea2b['length']+_0xf9dad7(0x129));else{if(_0x2ce50c)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0xac)],'columns':_0x50ea2b},'Using\x20all\x20'+_0x50ea2b['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x50ea2b&&_0x50ea2b[_0xf9dad7(0x120)]>0x0){const _0x55e75b=_0x50ea2b['filter'](_0x2b44b6=>_0x502a72['includes'](_0x2b44b6));_0x2e4764['VRaTZ'](_0x55e75b['length'],0x0)?(_0x50ea2b=_0x55e75b,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0xa8c925['columns'],'validColumns':_0x50ea2b},'Using\x20'+_0x50ea2b[_0xf9dad7(0x120)]+_0xf9dad7(0xfa))):(_0x50ea2b=_0x502a72,logger['warn']({'event':_0xf9dad7(0xa4),'requestedColumns':_0xa8c925[_0xf9dad7(0x11e)],'availableColumns':_0x502a72},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x502a72[_0xf9dad7(0x120)]+_0xf9dad7(0x127)));}else _0x50ea2b=_0x502a72,logger['info']({'event':'excel_columns_from_query_result','columns':_0x50ea2b},_0xf9dad7(0xcc)+_0x50ea2b['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0xf9dad7(0x92)]({'event':_0x2e4764['NBOQo'],'columns':_0x50ea2b},_0xf9dad7(0xcc)+(_0x50ea2b?.[_0xf9dad7(0x120)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x1e8a04['generate']({'data':_0x8ef5ad,'columns':_0x50ea2b,'columnFormats':_0xa8c925[_0xf9dad7(0x11a)]||null,'fieldLabels':_0xa8c925[_0xf9dad7(0xfb)]||null,'filePath':_0x58c775,'onProgress':async _0x7e8512=>{const _0x3b022b=_0xf9dad7;await redisHelper[_0x3b022b(0xef)](_0x5d5e52,{'progress':Math[_0x3b022b(0x123)](_0x7e8512),'processed_rows':Math[_0x3b022b(0x123)](_0x2e4764['SmrcK'](_0x7e8512,0x64)*_0x8ef5ad['length'])});}}),_0x58c775;}async[a0_0x281a3e(0xd1)](_0x237db6){const _0x1e2b77=a0_0x281a3e,_0x2d6475={'MCGxb':function(_0x17a490,_0x3267e4){return _0x17a490!==_0x3267e4;},'vQuMo':_0x1e2b77(0x122)},_0x201c61=await redisHelper[_0x1e2b77(0xc0)](_0x237db6);if(!_0x201c61||_0x2d6475['MCGxb'](_0x201c61[_0x1e2b77(0x12c)],_0x2d6475[_0x1e2b77(0xf1)]))return null;try{return await fs[_0x1e2b77(0xe5)](_0x201c61['file_path']),_0x201c61['file_path'];}catch(_0xcc8bc8){return logError(_0xcc8bc8,{'event':'export_file_not_found','jobId':_0x237db6,'path':_0x201c61[_0x1e2b77(0xed)]},_0x1e2b77(0xbc)),null;}}async[a0_0x281a3e(0x102)](){const _0x2187c9=a0_0x281a3e,_0x3b6d6e={'ZFhWQ':'Starting\x20export\x20cleanup','ZCMGS':function(_0x5aa6f7,_0x357375){return _0x5aa6f7/_0x357375;},'WuYda':function(_0x4b2707,_0x11c337){return _0x4b2707-_0x11c337;},'JLxCt':function(_0x3bd34a,_0x471ec0){return _0x3bd34a>_0x471ec0;},'gLKJu':'export_file_delete_error','egElM':_0x2187c9(0xf5)};logger[_0x2187c9(0x92)]({'event':_0x2187c9(0x11c)},_0x3b6d6e[_0x2187c9(0xbe)]);const _0x4a4298=await redisHelper[_0x2187c9(0xe4)]();let _0x585e72=0x0;for(const _0x52e1ac of _0x4a4298){const _0x57c006=new Date(_0x52e1ac[_0x2187c9(0x128)]),_0x51f884=new Date(),_0x21487c=_0x3b6d6e['ZCMGS'](_0x3b6d6e['WuYda'](_0x51f884,_0x57c006),0x3e8*0x3c*0x3c);if(_0x3b6d6e['JLxCt'](_0x21487c,0x1)){if(_0x52e1ac[_0x2187c9(0xed)])try{await fs['unlink'](_0x52e1ac[_0x2187c9(0xed)]),logger['info']({'event':'export_file_deleted','path':_0x52e1ac['file_path']},_0x2187c9(0x11b));}catch(_0x1b9fd1){logger[_0x2187c9(0xc6)]({'event':_0x3b6d6e[_0x2187c9(0xfe)],'path':_0x52e1ac['file_path'],'error':_0x1b9fd1['message']},_0x2187c9(0x9f));}await redisHelper['deleteJob'](_0x52e1ac['job_id']),_0x585e72++;}}return logger[_0x2187c9(0x92)]({'event':_0x3b6d6e[_0x2187c9(0xb7)],'deleted':_0x585e72},_0x2187c9(0x94)),_0x585e72;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0x3c7914=a0_0x4a9c;function a0_0x3bd8(){const _0x433671=['zxHWB3j0uxvLCNK','A0P3q0e','Aw52ywXPzf9JB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','ChjVy2vZC0PVyG','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','zxHWB3j0x2PVyL9JCMvHDgvK','cLnftevdvcaQiezst00G','zxHWB3j0CW','Dg9vChbLCKnHC2u','qvnd','B3jHy2XL','Cg9ZDgDYzxnXBa','vvbqrviO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','yNvPBgrxAgvYzunSyxvZzq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v0Lusca','zMfPBgvK','ENnJELm','zw52','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zMLSzv9WyxrO','x2v4Cg9YDerPCG','CMvWBgfJzq','Dw5SAw5R','ywXS','yNrIvhC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','revtqW','Dw1Vwg4','ALzKzeu','mZy2otK0DuzTwfvi','y2f0y2G','ELPxDKK','CwLbA0y','zMLLBgrmywjLBhm','y3jLyxrLsM9I','AM9Ix2LK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHPC3rZu3LUyW','qwrTA0K','iefticGkicaGia','zMLSDgvY','zxHWB3j0rgLY','r050A00','y0n6uem','CMfUzg9T','ru5pru5u','vfnZuvq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2vUzxjHDgvkB2jjza','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','mtm4mdq4tLDZzhPr','C0zbDKm','lI4VDxrPBhmVBg9Nz2vY','ugn3u0W','z2v0qwXSsM9ICW','ndq5nte5ngL5DNbyqq','svvVq3m','txHMExO','y3jLyxrLzf9HDa','nJa1mJyXnLziDMjQAG','zMXVB3i','AxnbCNjHEq','ie9sia','B0LHy24','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','t3fAEhm','odiZntz2rwvoAgi','lI4VDxrPBhmVzgiTB3jHy2XL','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','qNDitNa','t01tAKS','cIaGicbguK9nia','BernCMu','C3vIC3rYAw5N','s2nAuhC','lNHSC3G','rejFvfLqrq','ChjVy2vZC2LUzW','EgLRq04','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','DxvPza','y29TCgXLDgvKx2f0','nhfKBK1QyG','mJC5r3nYyw1W','Dg9mB3DLCKnHC2u','ue1rB00','BLrcDxe','Cgf0Aa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','qw1WzK8','BwvZC2fNzq','C2fUAxrPEMvwywX1zq','Agf0BxG','n3PSqK1eAq','t0Xnwvy','vxnPBMCG','zw5KCg9PBNroyw1L','s2vRu08','mtiYnZCWtNH0sLHJ','iefticGkicaGifnftevdvca','ignOyxjZkq','l2fWAs8','BM93','zxHWB3j0x3nLCNzPy2vFAw5PDa','zxHWB3j0x2nVBxbSzxrLza','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','uhLss1i','wxzkwhO','qvrJrMq','zMLSzw5HBwu','ieLoicG','lI4VlI4VzxHWB3j0CY8','Dg9tDhjPBMC','Aw5MBW','DhjPBq','BwTKAxjtEw5J','y29SDw1UCW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','D2fYBG','ignVBhvTBNm','u05etvC','BwTRqxi','BwnIEMK','y2XLyw51Ca','CgvUzgLUzW','BwfW','y29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','cIaGicaGicaG','y2HHCKf0','vxnPBMCGywXSia','C3rHDhvZ','C3rHCNrZv2L0Aa','svmGtLvmta','CM91BMq','DwPstge','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2v0sM9I','y29UzgL0Aw9UCW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','qKrIDfq','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rKzVBuq','mZqWntu5mfPzrwTQDa','zxHLy3v0zvf1zxj5','sKTfBfO','C3rYAw5N','yNvPBgrpCMrLCKj5q2XHDxnL','m2fRyuzSwG'];a0_0x3bd8=function(){return _0x433671;};return a0_0x3bd8();}function a0_0x4a9c(_0x2d2572,_0x5b7fb2){_0x2d2572=_0x2d2572-0x1b4;const _0x3bd8e6=a0_0x3bd8();let _0x4a9cfa=_0x3bd8e6[_0x2d2572];if(a0_0x4a9c['GPdSvO']===undefined){var _0x81856f=function(_0x1bcb1a){const _0x5e81e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565ee2='',_0x7d856c='';for(let _0x10af83=0x0,_0x5776b5,_0x1c6ac2,_0x5cd64d=0x0;_0x1c6ac2=_0x1bcb1a['charAt'](_0x5cd64d++);~_0x1c6ac2&&(_0x5776b5=_0x10af83%0x4?_0x5776b5*0x40+_0x1c6ac2:_0x1c6ac2,_0x10af83++%0x4)?_0x565ee2+=String['fromCharCode'](0xff&_0x5776b5>>(-0x2*_0x10af83&0x6)):0x0){_0x1c6ac2=_0x5e81e9['indexOf'](_0x1c6ac2);}for(let _0x281e6c=0x0,_0x843365=_0x565ee2['length'];_0x281e6c<_0x843365;_0x281e6c++){_0x7d856c+='%'+('00'+_0x565ee2['charCodeAt'](_0x281e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d856c);};a0_0x4a9c['MdKwUR']=_0x81856f,a0_0x4a9c['UImFrM']={},a0_0x4a9c['GPdSvO']=!![];}const _0x4780b7=_0x3bd8e6[0x0],_0x1bd1d6=_0x2d2572+_0x4780b7,_0x1ff8e7=a0_0x4a9c['UImFrM'][_0x1bd1d6];return!_0x1ff8e7?(_0x4a9cfa=a0_0x4a9c['MdKwUR'](_0x4a9cfa),a0_0x4a9c['UImFrM'][_0x1bd1d6]=_0x4a9cfa):_0x4a9cfa=_0x1ff8e7,_0x4a9cfa;}(function(_0x363646,_0x5ed662){const _0xcb7190=a0_0x4a9c,_0x288b7f=_0x363646();while(!![]){try{const _0x5e4f24=-parseInt(_0xcb7190(0x1fc))/0x1+parseInt(_0xcb7190(0x1e4))/0x2*(-parseInt(_0xcb7190(0x1be))/0x3)+parseInt(_0xcb7190(0x21d))/0x4*(-parseInt(_0xcb7190(0x1b9))/0x5)+-parseInt(_0xcb7190(0x20c))/0x6*(-parseInt(_0xcb7190(0x228))/0x7)+parseInt(_0xcb7190(0x205))/0x8+-parseInt(_0xcb7190(0x21e))/0x9*(-parseInt(_0xcb7190(0x22d))/0xa)+parseInt(_0xcb7190(0x201))/0xb;if(_0x5e4f24===_0x5ed662)break;else _0x288b7f['push'](_0x288b7f['shift']());}catch(_0x12e034){_0x288b7f['push'](_0x288b7f['shift']());}}}(a0_0x3bd8,0x87f51));const {v7:uuidv7}=require(a0_0x3c7914(0x21b)),path=require(a0_0x3c7914(0x222)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x3c7914(0x1fe)),dbType=(process['env'][a0_0x3c7914(0x217)]||a0_0x3c7914(0x1cf))[a0_0x3c7914(0x21f)]();let executeQuery;if(dbType===a0_0x3c7914(0x1ce)){const oracleDb=require(a0_0x3c7914(0x20d));executeQuery=(_0x1a442b,_0x26d325)=>oracleDb['executeQuery'](_0x1a442b,_0x26d325);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b2592,_0x1a1a10)=>mysqlDb['executeQuery'](_0x1b2592,_0x1a1a10);}else executeQuery=require('../utils/db')[a0_0x3c7914(0x1ba)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x3c7914(0x1f2)](){const _0x776b65=a0_0x3c7914,_0x267453={'btbTw':'Export\x20service\x20initialized','PcwSL':function(_0x2a2ce9,_0x2e4654,_0x5e8814,_0x9bff4){return _0x2a2ce9(_0x2e4654,_0x5e8814,_0x9bff4);},'uXwrK':_0x776b65(0x256)};if(!this[_0x776b65(0x1db)]){const _0x194839=process['env'][_0x776b65(0x1f8)]||'default';this[_0x776b65(0x1db)]=process[_0x776b65(0x1d8)]['EXPORT_DIR']||path['join'](__dirname,_0x776b65(0x23b)+_0x194839);try{!fsSync[_0x776b65(0x1ee)](this[_0x776b65(0x1db)])&&fsSync[_0x776b65(0x23f)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x776b65(0x232),'dir':this[_0x776b65(0x1db)]},_0x267453[_0x776b65(0x1df)]);}catch(_0x27f0e6){_0x267453[_0x776b65(0x1ff)](logError,_0x27f0e6,{'event':_0x267453['uXwrK']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x3c7914(0x24c)](_0x2e44cc,_0x2b49cb=null){const _0x2686cd=a0_0x3c7914,_0x1309b1={'umoXn':_0x2686cd(0x1bc),'BwHNp':'file:','CnGWJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','Mxfyz':'payload','gCrKI':_0x2686cd(0x223),'oIacn':_0x2686cd(0x1f6)};if(!_0x2e44cc||typeof _0x2e44cc!==_0x1309b1[_0x2686cd(0x1e2)])return _0x2e44cc;const _0x1c1030=_0x2e44cc[_0x2686cd(0x23e)]();if(!_0x1c1030['startsWith'](_0x1309b1[_0x2686cd(0x210)]))return _0x1c1030;const _0xbc2ab3=_0x1c1030['replace'](/^file:/,'')['trim']();if(!_0xbc2ab3)throw new Error(_0x1309b1['CnGWJ']);const _0x151608=_0x2b49cb||path['join'](process['cwd'](),_0x1309b1[_0x2686cd(0x203)]),_0x560c96=path['resolve'](_0x151608,_0xbc2ab3);logger[_0x2686cd(0x23d)]({'event':_0x1309b1['gCrKI'],'relativePath':_0xbc2ab3,'baseDir':_0x151608,'absolutePath':_0x560c96},_0x2686cd(0x255)+_0xbc2ab3);if(!fsSync['existsSync'](_0x560c96))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);try{const _0x25fa23=fsSync['readFileSync'](_0x560c96,'utf8');if(!_0x25fa23||!_0x25fa23['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x560c96);return logger['info']({'event':'export_query_file_loaded','file':_0x560c96,'queryLength':_0x25fa23[_0x2686cd(0x1ec)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x25fa23['length']+_0x2686cd(0x22f)),_0x25fa23[_0x2686cd(0x23e)]();}catch(_0x4b0161){if(_0x4b0161['code']===_0x1309b1[_0x2686cd(0x209)])throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4b0161[_0x2686cd(0x225)]);}}[a0_0x3c7914(0x1f9)](){const _0x13101d=a0_0x3c7914,_0x6d58ac={'ATcFd':function(_0x5b81c6){return _0x5b81c6();},'OLMYV':function(_0x33f3a3,_0x42e40e){return _0x33f3a3*_0x42e40e;}},_0x32ea39='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x20779c=Date[_0x13101d(0x231)]()[_0x13101d(0x23c)](0x24),_0x2860b8=_0x6d58ac[_0x13101d(0x238)](uuidv7)[_0x13101d(0x1dc)](/-/g,'')[_0x13101d(0x214)](0x0,0xc-_0x20779c[_0x13101d(0x1ec)]),_0xc8be6d=(_0x20779c+_0x2860b8)[_0x13101d(0x214)](0x0,0xc);let _0x4333d6='';for(let _0x589630=0x0;_0x589630<0xc;_0x589630++){_0xc8be6d[_0x589630]?_0x4333d6+=_0xc8be6d[_0x589630]:_0x4333d6+=_0x32ea39[_0x13101d(0x24e)](Math[_0x13101d(0x206)](_0x6d58ac[_0x13101d(0x229)](Math[_0x13101d(0x1f5)](),_0x32ea39[_0x13101d(0x1ec)])));}return _0x4333d6;}async[a0_0x3c7914(0x1e9)](_0x451aed){const _0x3d16d4=a0_0x3c7914,_0x331473={'AmpfO':function(_0x428788,_0xe7b425,_0x3fe465,_0x5ee2a0){return _0x428788(_0xe7b425,_0x3fe465,_0x5ee2a0);},'xEJBu':'export_process_error','kJwCA':_0x3d16d4(0x249)},_0x4be967=this[_0x3d16d4(0x1f9)](),_0x21cd16={'job_id':_0x4be967,'status':_0x331473[_0x3d16d4(0x1c0)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x451aed,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4be967,_0x21cd16),logger[_0x3d16d4(0x23d)]({'event':_0x3d16d4(0x1c9),'jobId':_0x4be967,'params':_0x451aed},_0x3d16d4(0x1b4)),this['processJob'](_0x4be967,_0x451aed)[_0x3d16d4(0x1e5)](_0x36fc06=>{const _0x5b1986=_0x3d16d4;_0x331473[_0x5b1986(0x224)](logError,_0x36fc06,{'event':_0x331473['xEJBu'],'jobId':_0x4be967},'Export\x20processing\x20failed');}),{'job_id':_0x4be967,'status':_0x3d16d4(0x249)};}async['getJobStatus'](_0x17ad07){const _0x274bd1=a0_0x3c7914,_0xf35b44=await redisHelper[_0x274bd1(0x257)](_0x17ad07);if(!_0xf35b44)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0xf35b44[_0x274bd1(0x1ea)],'status':_0xf35b44['status'],'progress':_0xf35b44['progress'],'total_rows':_0xf35b44['total_rows'],'processed_rows':_0xf35b44['processed_rows'],'file_url':_0xf35b44['status']===_0x274bd1(0x24b)?_0x274bd1(0x230)+_0xf35b44['params']['moduleName']+'/'+_0xf35b44['params'][_0x274bd1(0x22b)]+'/export-download?job_id='+_0x17ad07:null,'error':_0xf35b44['error']||null,'created_at':_0xf35b44['created_at'],'completed_at':_0xf35b44[_0x274bd1(0x21c)]||null}};}async[a0_0x3c7914(0x1c5)](_0x15f44d,_0x68040d){const _0x2fc985=a0_0x3c7914,_0x3354b7={'bXZPG':'export_processing_start','jRSdK':_0x2fc985(0x259),'TSsQT':_0x2fc985(0x233),'xJHdE':_0x2fc985(0x20a),'PMQoM':function(_0x3c7a6e,_0x4f91b6,_0x3ee13d,_0x4d43a9){return _0x3c7a6e(_0x4f91b6,_0x3ee13d,_0x4d43a9);},'nTBuq':_0x2fc985(0x1d6)};try{await redisHelper['updateJob'](_0x15f44d,{'status':_0x2fc985(0x218),'started_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7['bXZPG'],'jobId':_0x15f44d},_0x3354b7['jRSdK']);const _0x10255b=await this['fetchData'](_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'total_rows':_0x10255b['length']});const _0x17d5fa=await this['generateExcel'](_0x15f44d,_0x10255b,_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'status':'completed','progress':0x64,'file_path':_0x17d5fa,'completed_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7[_0x2fc985(0x1f7)],'jobId':_0x15f44d,'rows':_0x10255b[_0x2fc985(0x1ec)]},_0x3354b7['xJHdE']);}catch(_0x1b880b){_0x3354b7[_0x2fc985(0x220)](logError,_0x1b880b,{'event':'export_failed','jobId':_0x15f44d},'Export\x20failed'),await redisHelper[_0x2fc985(0x1c7)](_0x15f44d,{'status':_0x3354b7[_0x2fc985(0x221)],'error':_0x1b880b['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0xcdc542){const _0x202989=a0_0x3c7914,_0x4b011e={'JKElZ':function(_0x4eb72f,_0x50f1d5){return _0x4eb72f===_0x50f1d5;},'YvJXz':_0x202989(0x21a),'jVddE':'file:','lDMre':'export_using_custom_query','PyRKR':function(_0x114915,_0x4be7db){return _0x114915>_0x4be7db;},'FFomD':_0x202989(0x1c8),'AlTYL':'Fetching\x20data\x20from\x20database','yxtsN':_0x202989(0x1ce),'xbQGV':'export_fetch_complete','EWBGk':_0x202989(0x1d1),'OrwVM':function(_0x403b5e,_0x3c4e49,_0x18708e,_0x522453){return _0x403b5e(_0x3c4e49,_0x18708e,_0x522453);},'KekSO':'export_fetch_error'};try{const {tableName:_0x14400a,columns:_0x35cb91,exportQuery:_0x27a9ce,where:_0x9dccde,sort_columns:_0x1734f7}=_0xcdc542;if(!_0x14400a||!_0x35cb91||_0x4b011e[_0x202989(0x1bb)](_0x35cb91['length'],0x0))throw new Error(_0x4b011e[_0x202989(0x237)]);const _0x205547=_0x14400a['replace'](/\./g,'_')+'_data';let _0x750948;if(_0x27a9ce&&_0x27a9ce[_0x202989(0x23e)]()){let _0x3d5d55=_0x27a9ce;_0x27a9ce['trim']()[_0x202989(0x251)](_0x4b011e[_0x202989(0x1e3)])&&(_0x3d5d55=this['resolveExportQuery'](_0x27a9ce)),_0x750948='WITH\x20'+_0x205547+_0x202989(0x1f0)+_0x3d5d55+'\x0a)',_0x750948+=_0x202989(0x1ca)+_0x205547,logger['info']({'event':_0x4b011e[_0x202989(0x213)],'query':_0x3d5d55[_0x202989(0x214)](0x0,0x64)},_0x202989(0x242));}else{const _0x3a90f9=_0x35cb91[_0x202989(0x24a)](_0x9e17a6=>_0x202989(0x24d)+_0x9e17a6)[_0x202989(0x1c3)](',');_0x750948=_0x202989(0x1d5)+_0x205547+_0x202989(0x22e)+_0x3a90f9+_0x202989(0x212)+_0x14400a+'\x0a)',_0x750948+='\x0aSELECT\x20*\x20FROM\x20'+_0x205547,logger[_0x202989(0x23d)]({'event':_0x202989(0x1fb),'tableName':_0x14400a,'columnCount':_0x35cb91[_0x202989(0x1ec)]},_0x202989(0x1ed));}if(_0x9dccde){const _0x3f096e=this['buildWhereClause'](_0x9dccde);_0x3f096e&&(_0x750948+='\x0aWHERE\x20'+_0x3f096e);}if(_0x1734f7&&_0x4b011e[_0x202989(0x236)](_0x1734f7['length'],0x0)){const _0x23de7a=this[_0x202989(0x1bd)](_0x1734f7);_0x23de7a&&(_0x750948+='\x0aORDER\x20BY\x20'+_0x23de7a);}logger[_0x202989(0x23d)]({'event':_0x4b011e[_0x202989(0x1b8)],'query':_0x750948[_0x202989(0x214)](0x0,0xc8)},_0x4b011e['AlTYL']);const _0x17038a=await executeQuery(_0x750948);let _0x4242da=_0x17038a;return _0x4b011e[_0x202989(0x1bb)](dbType,_0x4b011e['yxtsN'])&&_0x17038a&&_0x4b011e['PyRKR'](_0x17038a[_0x202989(0x1ec)],0x0)&&(_0x4242da=_0x17038a[_0x202989(0x24a)](_0x5b4368=>{const _0x18662d={};for(const [_0x218a86,_0x70a447]of Object['entries'](_0x5b4368)){_0x18662d[_0x218a86['toLowerCase']()]=_0x70a447;}return _0x18662d;})),logger['info']({'event':_0x4b011e['xbQGV'],'rows':_0x4242da[_0x202989(0x1ec)]},_0x4b011e['EWBGk']),_0x4242da;}catch(_0x3e8aa3){_0x4b011e['OrwVM'](logError,_0x3e8aa3,{'event':_0x4b011e[_0x202989(0x22c)]},_0x202989(0x1c2));throw _0x3e8aa3;}}['sanitizeValue'](_0x3ccd2c){const _0x194971=a0_0x3c7914,_0x1f03dc={'txXsf':'string'};if(typeof _0x3ccd2c===_0x1f03dc['txXsf'])return _0x3ccd2c[_0x194971(0x1dc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x194971(0x207)](_0x3ccd2c))return _0x3ccd2c['map'](_0x53de4f=>this[_0x194971(0x226)](_0x53de4f));}return _0x3ccd2c;}[a0_0x3c7914(0x1d3)](_0x2445b5){const _0x1b46bd=a0_0x3c7914,_0x4c69b4={'KcZPw':function(_0x4328ae,_0x283d9a){return _0x4328ae===_0x283d9a;},'PQDOc':function(_0x4b7c05,_0x4c64b0){return _0x4b7c05||_0x4c64b0;},'SNDMW':function(_0x888091,_0x33a713){return _0x888091!==_0x33a713;},'GNtkM':_0x1b46bd(0x1bc),'mcbzi':function(_0x283d08,_0x1dd53c){return _0x283d08===_0x1dd53c;},'KYBaA':'LIKE','peNQI':'IS\x20NOT\x20NULL','AdmkI':_0x1b46bd(0x1c4),'xxStk':function(_0x1bd06b,_0x21e56e){return _0x1bd06b===_0x21e56e;},'mzrpc':_0x1b46bd(0x208),'sMUyR':function(_0x201cc2,_0x24eba6){return _0x201cc2===_0x24eba6;}};if(!_0x2445b5||!_0x2445b5[_0x1b46bd(0x258)]||_0x2445b5['conditions'][_0x1b46bd(0x1ec)]===0x0)return'';const {logic:_0x20ab90,conditions:_0x112a5e}=_0x2445b5,_0x5bebc2=_0x20ab90&&_0x4c69b4['xxStk'](_0x20ab90['toUpperCase'](),'OR')?_0x4c69b4['mzrpc']:'\x20AND\x20',_0x84b353=_0x112a5e['map'](_0x3b3185=>{const _0x565c5f=_0x1b46bd,_0x180444={'OqZxs':function(_0xfba27f,_0x1c82c2){return _0xfba27f===_0x1c82c2;},'IUoCs':'string','ujRLa':function(_0x1fdf2d,_0x34aa86){const _0x27eace=a0_0x4a9c;return _0x4c69b4[_0x27eace(0x215)](_0x1fdf2d,_0x34aa86);}},{key:_0x4aa151,operator:_0x137a85,value:_0x41005a,sensitive:_0x523385}=_0x3b3185;if(_0x4c69b4['PQDOc'](!_0x4aa151,!_0x137a85))return logger[_0x565c5f(0x243)]({'event':_0x565c5f(0x1c1),'condition':_0x3b3185},_0x565c5f(0x20e)),null;const _0x518f74=this[_0x565c5f(0x226)](_0x41005a),_0x5a2300=_0x4c69b4[_0x565c5f(0x245)](_0x523385,undefined)?_0x523385:!![];let _0xa7de49=_0x4aa151,_0x24b46d=_0x518f74;!_0x5a2300&&(_0xa7de49=_0x565c5f(0x1d0)+_0x4aa151+')',typeof _0x41005a===_0x565c5f(0x1bc)&&(_0x24b46d=_0x41005a[_0x565c5f(0x1cc)]()));const _0xd066fc=typeof _0x24b46d===_0x4c69b4[_0x565c5f(0x1f3)]?'\x27'+_0x24b46d['replace'](/'/g,'\x27\x27')+'\x27':_0x24b46d;switch(_0x137a85['toUpperCase']()){case'=':case'!=':case'<>':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'>':case'<':case'>=':case'<=':const _0x57b8d8=_0x4c69b4[_0x565c5f(0x247)](typeof _0x518f74,_0x4c69b4['GNtkM'])?'\x27'+_0x518f74[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x518f74;return _0x4aa151+'\x20'+_0x137a85+'\x20'+_0x57b8d8;case _0x4c69b4['KYBaA']:case'NOT\x20LIKE':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'IN':if(Array['isArray'](_0x518f74)){let _0x1e7de6;return!_0x5a2300?_0x1e7de6=_0x518f74['map'](_0x5bfd08=>{const _0x3c2ac2=_0x565c5f,_0x19376a=_0x180444[_0x3c2ac2(0x20b)](typeof _0x5bfd08,_0x180444[_0x3c2ac2(0x202)])?_0x5bfd08[_0x3c2ac2(0x1cc)]():_0x5bfd08;return _0x180444[_0x3c2ac2(0x254)](typeof _0x19376a,_0x3c2ac2(0x1bc))?'\x27'+_0x19376a[_0x3c2ac2(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x19376a;})['join'](',\x20'):_0x1e7de6=_0x518f74['map'](_0x5d179d=>typeof _0x5d179d===_0x565c5f(0x1bc)?'\x27'+_0x5d179d[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x5d179d)['join'](',\x20'),_0xa7de49+_0x565c5f(0x23a)+_0x1e7de6+')';}return _0xa7de49+'\x20IN\x20('+_0xd066fc+')';case _0x565c5f(0x252):return _0x4aa151+'\x20IS\x20NULL';case _0x4c69b4['peNQI']:return _0x4aa151+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4c69b4[_0x565c5f(0x1ef)],'operator':_0x137a85},_0x565c5f(0x1d9));return _0xa7de49+'\x20=\x20'+_0xd066fc;}})['filter'](_0x60c324=>_0x60c324!==null);if(_0x4c69b4['sMUyR'](_0x84b353[_0x1b46bd(0x1ec)],0x0))return'';return _0x84b353[_0x1b46bd(0x1c3)](_0x5bebc2);}['buildOrderByClause'](_0x329dbe){const _0x546e68=a0_0x3c7914,_0x20b983={'hatmx':_0x546e68(0x1eb),'mkkAr':_0x546e68(0x1d4),'OMSjK':function(_0x40f9af,_0xcdff83){return _0x40f9af===_0xcdff83;},'xikCN':_0x546e68(0x1e1),'ReknW':function(_0x2aae01,_0x34e3bc){return _0x2aae01===_0x34e3bc;}};if(!_0x329dbe||_0x20b983[_0x546e68(0x211)](_0x329dbe['length'],0x0))return'';const _0x2e6fb9=_0x329dbe['map'](_0x8047b0=>{const _0x4b805f=_0x546e68,{column:_0x30d635,direction:_0x385063}=_0x8047b0;if(!_0x30d635)return logger['warn']({'event':_0x20b983[_0x4b805f(0x227)],'item':_0x8047b0},_0x20b983[_0x4b805f(0x246)]),null;const _0x38665b=_0x385063&&_0x20b983[_0x4b805f(0x211)](_0x385063[_0x4b805f(0x1cc)](),_0x4b805f(0x1e1))?_0x20b983[_0x4b805f(0x219)]:_0x4b805f(0x1cd);return _0x30d635+'\x20'+_0x38665b;})['filter'](_0x360e56=>_0x360e56!==null);if(_0x20b983['ReknW'](_0x2e6fb9['length'],0x0))return'';return _0x2e6fb9[_0x546e68(0x1c3)](',\x20');}async['generateExcel'](_0x380ff2,_0x28904b,_0x2685a9){const _0x1a323a=a0_0x3c7914,_0x461ac0={'qiAkF':function(_0x480f75,_0x3f7eca){return _0x480f75*_0x3f7eca;},'sFAvC':function(_0xb518eb,_0xb27d07){return _0xb518eb/_0xb27d07;},'eUarR':_0x1a323a(0x1de),'kEaeZ':function(_0x543446,_0x205b24){return _0x543446>_0x205b24;},'VhLaP':_0x1a323a(0x241),'USfKq':function(_0x26c106,_0x18933c){return _0x26c106>_0x18933c;},'QYEsu':'excel_columns_from_request','NZEFm':'excel_columns_fallback','BDbtT':'excel_columns_from_query_result','UsZAc':_0x1a323a(0x20f)},_0x27d3ea=require('../utils/excel-generator'),_0x3e787e=new _0x27d3ea(),_0x2f0ed6=_0x2685a9[_0x1a323a(0x239)]?_0x2685a9['filename']+'-'+_0x380ff2:'export-'+_0x380ff2,_0x20f1bf=path['join'](this[_0x1a323a(0x1f2)],_0x2f0ed6+_0x1a323a(0x216));let _0x4b2890=_0x2685a9['columns'];const _0x42cc83=_0x2685a9[_0x1a323a(0x1bf)]&&_0x2685a9['exportQuery'][_0x1a323a(0x23e)](),_0x1666cc=_0x4b2890&&_0x4b2890[_0x1a323a(0x1ec)]===0x1&&(_0x4b2890[0x0]==='*'||_0x4b2890[0x0]['toLowerCase']()===_0x461ac0['eUarR']);if(_0x461ac0['kEaeZ'](_0x28904b[_0x1a323a(0x1ec)],0x0)){const _0xb5d230=Object['keys'](_0x28904b[0x0]);if(_0x42cc83)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['VhLaP'],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890[_0x1a323a(0x1ec)]+_0x1a323a(0x1c6));else{if(_0x1666cc)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':'excel_columns_select_all','columns':_0x4b2890},_0x1a323a(0x24f)+_0x4b2890['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4b2890&&_0x461ac0['USfKq'](_0x4b2890['length'],0x0)){const _0x543989=_0x4b2890[_0x1a323a(0x1f1)](_0x1c3031=>_0xb5d230['includes'](_0x1c3031));_0x543989['length']>0x0?(_0x4b2890=_0x543989,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['QYEsu'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'validColumns':_0x4b2890},'Using\x20'+_0x4b2890['length']+'\x20columns\x20from\x20request')):(_0x4b2890=_0xb5d230,logger['warn']({'event':_0x461ac0['NZEFm'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'availableColumns':_0xb5d230},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xb5d230[_0x1a323a(0x1ec)]+_0x1a323a(0x244)));}else _0x4b2890=_0xb5d230,logger['info']({'event':_0x461ac0[_0x1a323a(0x1b6)],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890['length']+_0x1a323a(0x235));}}}else logger[_0x1a323a(0x23d)]({'event':_0x461ac0['UsZAc'],'columns':_0x4b2890},_0x1a323a(0x22a)+(_0x4b2890?.[_0x1a323a(0x1ec)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3e787e['generate']({'data':_0x28904b,'columns':_0x4b2890,'columnFormats':_0x2685a9['columnFormats']||null,'fieldLabels':_0x2685a9[_0x1a323a(0x1e8)]||null,'filePath':_0x20f1bf,'onProgress':async _0x8960d5=>{const _0x443a11=_0x1a323a;await redisHelper['updateJob'](_0x380ff2,{'progress':Math[_0x443a11(0x253)](_0x8960d5),'processed_rows':Math[_0x443a11(0x253)](_0x461ac0[_0x443a11(0x1e7)](_0x461ac0[_0x443a11(0x1fd)](_0x8960d5,0x64),_0x28904b[_0x443a11(0x1ec)]))});}}),_0x20f1bf;}async['getFilePath'](_0x24fb48){const _0x435f12=a0_0x3c7914,_0x529161={'liOMm':function(_0x4cef0d,_0x4c4846,_0x3f1479,_0x1457d5){return _0x4cef0d(_0x4c4846,_0x3f1479,_0x1457d5);},'zZWvI':'export_file_not_found'},_0x11d8e8=await redisHelper['getJob'](_0x24fb48);if(!_0x11d8e8||_0x11d8e8[_0x435f12(0x250)]!==_0x435f12(0x24b))return null;try{return await fs['access'](_0x11d8e8[_0x435f12(0x1da)]),_0x11d8e8['file_path'];}catch(_0x2ff967){return _0x529161['liOMm'](logError,_0x2ff967,{'event':_0x529161[_0x435f12(0x1e6)],'jobId':_0x24fb48,'path':_0x11d8e8['file_path']},_0x435f12(0x1b5)),null;}}async[a0_0x3c7914(0x248)](){const _0x4ca673=a0_0x3c7914,_0x41d66b={'aThJI':'Starting\x20export\x20cleanup','rMUGl':function(_0x5131ea,_0xaf6b5a){return _0x5131ea/_0xaf6b5a;},'cCzPC':function(_0x4b1edf,_0xcc2870){return _0x4b1edf*_0xcc2870;},'DRWFX':function(_0x2e889c,_0x343517){return _0x2e889c>_0x343517;},'zsczS':_0x4ca673(0x1b7),'VHDtj':_0x4ca673(0x1d2)};logger[_0x4ca673(0x23d)]({'event':_0x4ca673(0x1e0)},_0x41d66b['aThJI']);const _0x2a5062=await redisHelper[_0x4ca673(0x200)]();let _0x1a926e=0x0;for(const _0x576f5d of _0x2a5062){const _0x40a7a5=new Date(_0x576f5d[_0x4ca673(0x204)]),_0x28fe14=new Date(),_0x10c050=_0x41d66b['rMUGl'](_0x28fe14-_0x40a7a5,_0x41d66b[_0x4ca673(0x1f4)](0x3e8,0x3c)*0x3c);if(_0x41d66b['DRWFX'](_0x10c050,0x1)){if(_0x576f5d['file_path'])try{await fs[_0x4ca673(0x1dd)](_0x576f5d[_0x4ca673(0x1da)]),logger['info']({'event':'export_file_deleted','path':_0x576f5d[_0x4ca673(0x1da)]},_0x4ca673(0x1fa));}catch(_0x21c474){logger[_0x4ca673(0x243)]({'event':_0x41d66b[_0x4ca673(0x1d7)],'path':_0x576f5d[_0x4ca673(0x1da)],'error':_0x21c474[_0x4ca673(0x225)]},_0x41d66b['VHDtj']);}await redisHelper['deleteJob'](_0x576f5d[_0x4ca673(0x1ea)]),_0x1a926e++;}}return logger[_0x4ca673(0x23d)]({'event':'export_cleanup_complete','deleted':_0x1a926e},_0x4ca673(0x234)),_0x1a926e;}}module[a0_0x3c7914(0x1cb)]=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x548d70=a0_0x4abe;function a0_0x1395(){const _0x5b908f=['wKPTCwK','y3jLyxrLq29TBwL0sM9I','mtDJELHnENK','ChjLDMLLD19QB2jFy29TCgXLDgvK','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','s0rktfy','zxHLy3v0zvf1zxj5','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','zMLSDgvY','ChjLDMLLD19VAW','ntaXndqZmxfWvMPvCG','x2v4Axn0Aw5Nswq','ndiXnZHfAw5SAg8','CMvWBgfJzq','rhvWBgLJyxrLihzHBhvLigzVCIa','mJC0mtGYmgf1weHKuW','qvbTywm','zw5Prhu','y29SDw1UrM9YBwf0CW','C2TPCf9LEgLZDgLUzW','CKTfA3K','t0nJqMe','mJiYoujnr3DkCW','ChjVy2vZC2vKuM93CW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AhzMs2C','twXWvMC','ChjVy2vZC0XVB2T1CezPzwXKCW','uhrnBMS','u0vis2G','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u3bXrMu','y29TBwL0x3bYB2nLC3nFzxjYB3i','wNrgs2e','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKrgLY','AgfrDhm','z2v0tw9UDgG','yMf0y2HwywXPzgf0zvjVD3m','Bg9VA3vWrMLLBgrZ','rMfPBgvKihrVignSzwfUDxaGzMLSzq','EuDxsMe','DhjPBq','BwfW','ChvZAa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','zhLgCLu','C1zVDwm','CfLYCvO','DMfSAwq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2vYCM9YCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BxLZCwW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Avfuq3a','lI4VlI4VDgvTCc91CgXVywrZlW','DgfYz2v0rMLLBgq','ChjVy2vZC1bYzxzPzxDkB2i','zw52','DxbSB2fKx2LK','CgfKu3rHCNq','CM93CW','y2f0y2G','y29TBwL0x2PVyL9JB21WBgv0zwq','z2vUzxjHDgvjza','Dg9ju09tDhjPBMC','mZq4nZC3nZD6uMDUtw4','BgvUz3rO','Aw5KzxHpzG','kqOGicaGica','AM9IoG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgi','DxbKyxrL','Dhj1zq','zM9YrwfJAa','C3PvDKy','BhHtCNK','y3jLyxrLzf9HDa','s3P0vwy','ndy2mgjNzLHUBW','u0Tjua','BNvTyMvY','DhLWzq','BNLSyu8','CM93sw5KzxG','DKrkzwC','wMHlvNm','D25Py1a','y29TBwL0x2PVyL9MywLSzwq','C2L6zq','y1b1Aha','z2v0sM9I','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMf3ueK','A1D1veq','yNvPBgrcyxrJAfvWzgf0zq','mtbxtg5XEhi','Aw5Zzxj0','s2PRChy','DMfSAwrHDgLUzW','tLvmta','DxbSB2fKoG','CgfYyw1Z','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','uK5ksNy','vvbeqvrf','y29TCgXLDgvK','BwvZC2fNzq','zLbiu2G','cIaGicaGicaGv0HfuKuG','wuzswwe','Dg9vChbLCKnHC2u','cIaGicaGicaGu0vmrunuia','jdfFjdi','AujtDfy','y3jLyxrLuhjLDMLLD0PVyG','zw50CMLLCW','mZe2oda1ngTpAuTxzW','q29TBwL0igPVyIbJCMvHDgvK','z2v0vgLTzq','DxbKyxrLx2v4Axn0Aw5N','D05AvgO','x2fJDgLVBG','z3LRt2S','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zNvpBhC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','qK1pBg8','mJrly1nbtgq','vfjMuxa','y2H1BMTsB3DZ','z2v0','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Aw5MBW','q0PHD2C','Dg9mB3DLCKnHC2u','DgvZDa','lI4VDxrPBhmVBg9Nz2vY','C2XPy2u','uhjLDMLLDYbQB2iGzMfPBgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A2v5CW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','x2DLBMvYyxrLzf91DwLK','C3vIC3rYAw5N','zgvIDwC','q29TBwL0igPVyIbJB21WBgv0zwq','Aw5JBhvKzxm','C3rHDhvZ','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2LUzW','vvbmt0fex0rjuG','C3rYAw5N','qvvOv2q','C2jUsKq','mtC5mZGYmerPCfbmwG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ieLoicG','su5trvju','DuzNtK8','x3vWBg9HzerPCG','DxbSB2fKrMLSzq','AM9PBG','Aw5Zzxj0x29UBhK','C2v0','uxbIEw0','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B3jHy2XL','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C2v0sM9I','zMLUza','rhD3C08','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxjYB3jZ','yM9VBgvHBG','rejFvfLqrq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi'];a0_0x1395=function(){return _0x5b908f;};return a0_0x1395();}(function(_0x33f7de,_0x22defc){const _0x11c7c8=a0_0x4abe,_0x84691b=_0x33f7de();while(!![]){try{const _0x25e9b8=parseInt(_0x11c7c8(0x1e1))/0x1*(parseInt(_0x11c7c8(0x1ec))/0x2)+parseInt(_0x11c7c8(0x1f6))/0x3*(-parseInt(_0x11c7c8(0x17a))/0x4)+-parseInt(_0x11c7c8(0x18b))/0x5*(parseInt(_0x11c7c8(0x1a1))/0x6)+-parseInt(_0x11c7c8(0x1c7))/0x7*(parseInt(_0x11c7c8(0x1ac))/0x8)+-parseInt(_0x11c7c8(0x1ea))/0x9+parseInt(_0x11c7c8(0x1ef))/0xa+parseInt(_0x11c7c8(0x16b))/0xb;if(_0x25e9b8===_0x22defc)break;else _0x84691b['push'](_0x84691b['shift']());}catch(_0x369ece){_0x84691b['push'](_0x84691b['shift']());}}}(a0_0x1395,0x87b4a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x548d70(0x1b8)),{logger,logError}=require(a0_0x548d70(0x1b5)),dbType=(process[a0_0x548d70(0x163)][a0_0x548d70(0x1dd)]||'postgresql')[a0_0x548d70(0x1b3)]();function a0_0x4abe(_0x34f53d,_0x46a099){_0x34f53d=_0x34f53d-0x163;const _0x139590=a0_0x1395();let _0x4abe16=_0x139590[_0x34f53d];if(a0_0x4abe['xlQxNh']===undefined){var _0x3b033e=function(_0x5e0250){const _0x1ea5a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d439b='',_0x4c3ecd='';for(let _0x6ccafe=0x0,_0x47cc75,_0xfcef80,_0x3ea31e=0x0;_0xfcef80=_0x5e0250['charAt'](_0x3ea31e++);~_0xfcef80&&(_0x47cc75=_0x6ccafe%0x4?_0x47cc75*0x40+_0xfcef80:_0xfcef80,_0x6ccafe++%0x4)?_0x1d439b+=String['fromCharCode'](0xff&_0x47cc75>>(-0x2*_0x6ccafe&0x6)):0x0){_0xfcef80=_0x1ea5a7['indexOf'](_0xfcef80);}for(let _0x68b2cc=0x0,_0x49620a=_0x1d439b['length'];_0x68b2cc<_0x49620a;_0x68b2cc++){_0x4c3ecd+='%'+('00'+_0x1d439b['charCodeAt'](_0x68b2cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3ecd);};a0_0x4abe['aaVGIt']=_0x3b033e,a0_0x4abe['mbQYGo']={},a0_0x4abe['xlQxNh']=!![];}const _0x52e204=_0x139590[0x0],_0xe04b4e=_0x34f53d+_0x52e204,_0x328eb5=a0_0x4abe['mbQYGo'][_0xe04b4e];return!_0x328eb5?(_0x4abe16=a0_0x4abe['aaVGIt'](_0x4abe16),a0_0x4abe['mbQYGo'][_0xe04b4e]=_0x4abe16):_0x4abe16=_0x328eb5,_0x4abe16;}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x4b8171,_0x42c1b0)=>oracleDb[a0_0x548d70(0x1e5)](_0x4b8171,_0x42c1b0),executeTransaction=_0x11728c=>oracleDb[a0_0x548d70(0x192)](_0x11728c);else{if(dbType===a0_0x548d70(0x215)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b943c,_0x118953)=>mysqlDb['executeQuery'](_0x1b943c,_0x118953),executeTransaction=_0x3e630f=>mysqlDb['executeTransaction'](_0x3e630f);}else{const db=require(a0_0x548d70(0x172));executeQuery=db[a0_0x548d70(0x1e5)],executeTransaction=db[a0_0x548d70(0x192)];}}const excelParser=require(a0_0x548d70(0x187)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x548d70(0x1de)),lookupResolver=require(a0_0x548d70(0x202));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x548d70(0x203)](){const _0x5f3a3a=a0_0x548d70;if(!this['_uploadDir']){const _0x3ddc26=process['env'][_0x5f3a3a(0x214)]||'default';this[_0x5f3a3a(0x1cc)]=process['env'][_0x5f3a3a(0x1c3)]||path['join'](__dirname,_0x5f3a3a(0x218)+_0x3ddc26);}return this[_0x5f3a3a(0x1cc)];}['generateId'](){const _0x4e1a17=a0_0x548d70,_0x518c9e={'ZJmqi':_0x4e1a17(0x1b0),'MlpVg':function(_0x2fe682,_0x30adc7){return _0x2fe682-_0x30adc7;},'cPuhp':function(_0x39d3b3,_0x445f32){return _0x39d3b3*_0x445f32;}},_0x5b741d=_0x518c9e[_0x4e1a17(0x1df)],_0x11c748=Date['now']()['toString'](0x24),_0x2fda1d=uuidv7()[_0x4e1a17(0x1ed)](/-/g,'')['substring'](0x0,_0x518c9e[_0x4e1a17(0x1fa)](0xc,_0x11c748[_0x4e1a17(0x16c)])),_0x54eec2=(_0x11c748+_0x2fda1d)[_0x4e1a17(0x1bc)](0x0,0xc);let _0x1b78f6='';for(let _0x7bb0ae=0x0;_0x7bb0ae<0xc;_0x7bb0ae++){_0x54eec2[_0x7bb0ae]?_0x1b78f6+=_0x54eec2[_0x7bb0ae]:_0x1b78f6+=_0x5b741d['charAt'](Math['floor'](_0x518c9e[_0x4e1a17(0x185)](Math['random'](),_0x5b741d['length'])));}return _0x1b78f6;}['buildLabelToFieldMap'](_0x35872c){const _0x542f9d=a0_0x548d70,_0x192c45={'awUwC':'Label\x20to\x20field\x20mapping\x20built'},_0x59d0dc=new Map();if(!_0x35872c)return _0x59d0dc;return Object['entries'](_0x35872c)['forEach'](([_0x306055,_0x446bbd])=>{const _0x11c58e=a0_0x4abe,_0x4e7f1a=String(_0x446bbd)[_0x11c58e(0x20a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x11c58e(0x19d))[_0x11c58e(0x1ed)](/([A-Z]+)([A-Z][a-z])/g,_0x11c58e(0x19d))['toLowerCase']();_0x59d0dc[_0x11c58e(0x1d0)](_0x4e7f1a,_0x306055);}),logger['debug']({'event':_0x542f9d(0x1d6),'mappingCount':_0x59d0dc[_0x542f9d(0x184)]},_0x192c45['awUwC']),_0x59d0dc;}['applyColumnFormats'](_0xa3cde,_0x43ed65){const _0x501f74=a0_0x548d70,_0x49660b={'vawPI':function(_0x2ed432,_0x34957c){return _0x2ed432===_0x34957c;},'vWTjQ':function(_0x3e4a12,_0x1a0176){return _0x3e4a12===_0x1a0176;},'KiGkE':function(_0x31e1ae,_0xc769e3){return _0x31e1ae===_0xc769e3;},'sbnJD':_0x501f74(0x17c),'SzDKv':_0x501f74(0x1dc),'fPHSh':'text','YFRYa':function(_0x587f12,_0x5073bd){return _0x587f12===_0x5073bd;}};if(!_0x43ed65||_0x49660b[_0x501f74(0x19a)](Object['keys'](_0x43ed65)[_0x501f74(0x16c)],0x0))return _0xa3cde;return _0xa3cde['map'](_0x2e3a7a=>{const _0x4ccbe7=_0x501f74,_0x2e7f6d={..._0x2e3a7a};for(const [_0x3c10a4,_0x253afa]of Object[_0x4ccbe7(0x1a0)](_0x43ed65)){const _0x23532b=_0x2e7f6d[_0x3c10a4];if(_0x49660b[_0x4ccbe7(0x188)](_0x23532b,null)||_0x49660b['vWTjQ'](_0x23532b,undefined)||_0x49660b['KiGkE'](_0x23532b,'')){_0x2e7f6d[_0x3c10a4]=null;continue;}switch(_0x253afa[_0x4ccbe7(0x17d)]){case'date':_0x2e7f6d[_0x3c10a4]=this['formatDateForDatabase'](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x1c6)]:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x1d4)](_0x23532b);break;case _0x49660b['SzDKv']:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x193)](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x198)]:_0x2e7f6d[_0x3c10a4]=String(_0x23532b);break;default:break;}}return _0x2e7f6d;});}[a0_0x548d70(0x1da)](_0x1d18b0){const _0x5467f3=a0_0x548d70,_0x1b6734={'BJBKc':function(_0x4cc254,_0x490915){return _0x4cc254===_0x490915;},'npMtm':function(_0x2368ea,_0x539fd2){return _0x2368ea===_0x539fd2;},'DwwsO':_0x5467f3(0x1c4),'RNJJv':function(_0xf46f8e,_0x1811d1){return _0xf46f8e instanceof _0x1811d1;},'YIlMS':function(_0x387c68,_0x5b9bb1){return _0x387c68+_0x5b9bb1;},'yGWJa':function(_0x34e3b7,_0x24133f){return _0x34e3b7(_0x24133f);}};if(_0x1b6734['BJBKc'](_0x1d18b0,null)||_0x1d18b0===undefined||_0x1b6734['npMtm'](_0x1d18b0,''))return null;if(_0x1b6734['npMtm'](typeof _0x1d18b0,_0x1b6734[_0x5467f3(0x1d9)])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x1d18b0))return _0x1d18b0;if(_0x1b6734[_0x5467f3(0x194)](_0x1d18b0,Date)){if(isNaN(_0x1d18b0[_0x5467f3(0x1a3)]()))return null;const _0x284d0e=_0x1d18b0['getFullYear'](),_0x55af0c=String(_0x1b6734['YIlMS'](_0x1d18b0[_0x5467f3(0x205)](),0x1))[_0x5467f3(0x165)](0x2,'0'),_0x214c9e=_0x1b6734[_0x5467f3(0x209)](String,_0x1d18b0['getDate']())[_0x5467f3(0x165)](0x2,'0');return _0x284d0e+'-'+_0x55af0c+'-'+_0x214c9e;}if(typeof _0x1d18b0===_0x1b6734[_0x5467f3(0x1d9)]){const _0x33f8e4=_0x1d18b0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x33f8e4){const _0x14d827=String(_0x33f8e4[0x1])['padStart'](0x2,'0'),_0x2cc076=String(_0x33f8e4[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x1bf99b=_0x33f8e4[0x3];return _0x1bf99b+'-'+_0x2cc076+'-'+_0x14d827;}const _0x5c2420=_0x1d18b0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5c2420){const _0x124d50=_0x5c2420[0x1],_0x4c0bc8=_0x1b6734['yGWJa'](String,_0x5c2420[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x2eed59=_0x1b6734[_0x5467f3(0x209)](String,_0x5c2420[0x3])['padStart'](0x2,'0');return _0x124d50+'-'+_0x4c0bc8+'-'+_0x2eed59;}}return _0x1d18b0;}[a0_0x548d70(0x1d4)](_0x39d10c){const _0x186069=a0_0x548d70,_0x43110a={'sVouc':function(_0x4b16d9,_0x4e0fb4){return _0x4b16d9===_0x4e0fb4;},'ZtFKa':'string','wnicP':function(_0x10ddab,_0x1d9a19){return _0x10ddab(_0x1d9a19);}};if(_0x39d10c===null||_0x43110a[_0x186069(0x20f)](_0x39d10c,undefined)||_0x39d10c==='')return null;if(typeof _0x39d10c==='number')return isNaN(_0x39d10c)?null:_0x39d10c;if(typeof _0x39d10c===_0x43110a[_0x186069(0x201)]){let _0x50e01f=_0x39d10c['trim']();const _0x261b6c=/,\d{1,2}$/['test'](_0x50e01f)&&!/,\d{3}/[_0x186069(0x1b4)](_0x50e01f);_0x261b6c?_0x50e01f=_0x50e01f[_0x186069(0x1ed)](/\./g,'')[_0x186069(0x1ed)](',','.'):_0x50e01f=_0x50e01f['replace'](/,/g,'');const _0x3f2e9a=_0x43110a[_0x186069(0x182)](parseFloat,_0x50e01f);return isNaN(_0x3f2e9a)?null:_0x3f2e9a;}return null;}[a0_0x548d70(0x193)](_0x64a150){const _0x1c28f2=a0_0x548d70,_0xd227af={'lsigH':function(_0x473da4,_0x3f2969){return _0x473da4===_0x3f2969;},'JyXCw':function(_0x57e6df,_0x2c1e3e){return _0x57e6df===_0x2c1e3e;},'CJawg':function(_0x54820e,_0x48946e){return _0x54820e===_0x48946e;},'KztUf':_0x1c28f2(0x174),'Qpbym':'false','eniDu':_0x1c28f2(0x1c4),'APmac':_0x1c28f2(0x17c)};if(_0xd227af['lsigH'](_0x64a150,null)||_0x64a150===undefined||_0xd227af['JyXCw'](_0x64a150,''))return null;if(_0xd227af[_0x1c28f2(0x1b2)](typeof _0x64a150,'boolean'))return _0x64a150?_0xd227af['KztUf']:_0xd227af[_0x1c28f2(0x1d1)];if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f1)]){const _0x325000=_0x64a150[_0x1c28f2(0x20a)]()[_0x1c28f2(0x1b3)]();if([_0xd227af[_0x1c28f2(0x179)],'yes','y','1'][_0x1c28f2(0x1bf)](_0x325000))return'true';if(['false','no','n','0'][_0x1c28f2(0x1bf)](_0x325000))return _0xd227af[_0x1c28f2(0x1d1)];return null;}if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f0)])return _0x64a150?_0xd227af['KztUf']:'false';return null;}async[a0_0x548d70(0x1cd)](_0x494cb4,_0x19ca42){const _0xcd01f9=a0_0x548d70,_0x1f43f7={'TRfQp':function(_0x2b03a0,_0x21b959){return _0x2b03a0||_0x21b959;},'Kjkpv':'headers_mapped','eLYqt':'request_scope_applied','sCdBS':_0xcd01f9(0x212),'fuOlw':'import_file_uploaded','ounpT':_0xcd01f9(0x1fe),'tkMji':function(_0x2087aa,_0x2b7a17,_0x459cc3,_0x394cf0){return _0x2087aa(_0x2b7a17,_0x459cc3,_0x394cf0);},'AdjYw':'file_cleanup_error','KDKmL':_0xcd01f9(0x208)},_0x1e140c=this[_0xcd01f9(0x169)]();try{let {headers:_0x52b2b7,rows:_0x2c4f7a,totalRows:_0x5e3ae9}=await excelParser['parseExcelFile'](_0x494cb4['path']);const _0x8425e6=this['buildLabelToFieldMap'](_0x19ca42['fieldLabels']),_0xbed73f=_0x52b2b7['map'](_0x5cd251=>{const _0x1dc436=_0xcd01f9,_0x392e42=_0x8425e6[_0x1dc436(0x1af)](_0x5cd251);return _0x1f43f7[_0x1dc436(0x1ad)](_0x392e42,_0x5cd251);});_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x2a83e4=>{const _0x665c8={};return _0x52b2b7['forEach']((_0x3a2771,_0x1e3de7)=>{const _0x1a0955=_0xbed73f[_0x1e3de7];_0x665c8[_0x1a0955]=_0x2a83e4[_0x3a2771];}),_0x665c8;}),_0x52b2b7=_0xbed73f,logger[_0xcd01f9(0x1bd)]({'event':_0x1f43f7[_0xcd01f9(0x18d)],'original':_0x52b2b7[_0xcd01f9(0x16c)],'mapped':_0xbed73f['filter']((_0x572247,_0x30d812)=>_0x572247!==_0x52b2b7[_0x30d812])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x19ca42[_0xcd01f9(0x1f2)]&&Object['keys'](_0x19ca42[_0xcd01f9(0x1f2)])[_0xcd01f9(0x16c)]>0x0&&(_0x2c4f7a=this['applyColumnFormats'](_0x2c4f7a,_0x19ca42[_0xcd01f9(0x1f2)]),logger[_0xcd01f9(0x1bd)]({'event':_0xcd01f9(0x1c1),'formatCount':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])['length'],'formats':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])},_0xcd01f9(0x20d)));if(_0x19ca42['scopeOverride']&&_0x19ca42['scopeOverride']['column']){const {column:_0x4b620c,value:_0x33d1ac}=_0x19ca42['scopeOverride'];_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x36a695=>({..._0x36a695,[_0x4b620c]:_0x33d1ac})),logger['debug']({'event':_0x1f43f7['eLYqt'],'column':_0x4b620c,'rowCount':_0x2c4f7a['length']},_0x1f43f7['sCdBS']);}const _0x42f3c7=_0x19ca42[_0xcd01f9(0x207)]?Object['values'](_0x19ca42['lookupFields'])['map'](_0x30882c=>_0x30882c[_0xcd01f9(0x219)]):[],_0x369077=_0x19ca42['fieldName'][_0xcd01f9(0x1e8)](_0x42d071=>!_0x42f3c7[_0xcd01f9(0x1bf)](_0x42d071)),_0x523512=excelParser['validateExcelStructure'](_0x52b2b7,_0x369077);if(!_0x523512[_0xcd01f9(0x211)]){await fs[_0xcd01f9(0x1e7)](_0x494cb4['path']);throw new Error(_0xcd01f9(0x1ba)+_0x523512['missingFields'][_0xcd01f9(0x1ce)](',\x20'));}const _0x372200={'upload_id':_0x1e140c,'filename':_0x494cb4['originalname'],'total_rows':_0x5e3ae9,'headers':_0x52b2b7,'rows':_0x2c4f7a,'params':_0x19ca42,'created_at':new Date()[_0xcd01f9(0x16a)]()};return await redisHelper['setJob'](_0xcd01f9(0x190)+_0x1e140c,_0x372200,0xe10),await fs['unlink'](_0x494cb4['path']),logger[_0xcd01f9(0x1b1)]({'event':_0x1f43f7[_0xcd01f9(0x1a9)],'uploadId':_0x1e140c,'filename':_0x494cb4['originalname'],'totalRows':_0x5e3ae9},_0x1f43f7['ounpT']),{'upload_id':_0x1e140c,'total_rows':_0x5e3ae9,'preview':_0x2c4f7a[_0xcd01f9(0x1b6)](0x0,0xa)};}catch(_0x1d30c3){try{await fs['unlink'](_0x494cb4['path']);}catch(_0x3e9bec){_0x1f43f7['tkMji'](logError,_0x3e9bec,{'event':_0x1f43f7['AdjYw']},_0x1f43f7['KDKmL']);}throw _0x1d30c3;}}async[a0_0x548d70(0x19f)](_0x18d40e){const _0x461efd=a0_0x548d70,_0x425c68={'KrFRU':function(_0xaae9c5,_0x4d9b6c,_0x1a6cc1,_0x4826ba){return _0xaae9c5(_0x4d9b6c,_0x1a6cc1,_0x4826ba);},'cFRWo':'Preview\x20processing\x20failed','BMOlo':'validating','OCcBa':'Preview\x20job\x20created'},_0x56cc25=this[_0x461efd(0x169)](),_0x5a782e=await redisHelper['getJob']('upload:'+_0x18d40e);if(!_0x5a782e)throw new Error(_0x461efd(0x216));const _0xfa0de={'job_id':_0x56cc25,'upload_id':_0x18d40e,'status':_0x425c68[_0x461efd(0x1ab)],'progress':0x0,'created_at':new Date()[_0x461efd(0x16a)](),'params':_0x5a782e[_0x461efd(0x191)]};return await redisHelper[_0x461efd(0x1d7)](_0x461efd(0x16f)+_0x56cc25,_0xfa0de,0xe10),logger['info']({'event':_0x461efd(0x1e6),'jobId':_0x56cc25,'uploadId':_0x18d40e},_0x425c68[_0x461efd(0x1f5)]),this[_0x461efd(0x21a)](_0x56cc25,_0x18d40e,_0x5a782e)['catch'](_0x4e4ff7=>{_0x425c68['KrFRU'](logError,_0x4e4ff7,{'event':'preview_process_error','jobId':_0x56cc25},_0x425c68['cFRWo']);}),{'job_id':_0x56cc25,'status':_0x461efd(0x18e)};}[a0_0x548d70(0x1d5)](_0x46bd3c,_0x3b7d41){const _0x2aff9a={'dyFrU':function(_0x35e9ed,_0x115346){return _0x35e9ed===_0x115346;},'iQTCp':function(_0x11bc5b,_0x30b031){return _0x11bc5b===_0x30b031;},'rsrXZ':function(_0x371692,_0x579371){return _0x371692(_0x579371);},'rKEky':function(_0x18838c){return _0x18838c();},'uFgNO':'uuid_auto_generated'};_0x46bd3c['forEach']((_0x4c9199,_0x250c9b)=>{const _0x52ad09=a0_0x4abe;_0x3b7d41[_0x52ad09(0x175)](_0x53a7cf=>{const _0x20c8de=_0x52ad09,_0x31e44f=_0x4c9199[_0x53a7cf];if(_0x31e44f===null||_0x2aff9a[_0x20c8de(0x20e)](_0x31e44f,undefined)||_0x31e44f===''||_0x2aff9a[_0x20c8de(0x217)](_0x2aff9a['rsrXZ'](String,_0x31e44f)[_0x20c8de(0x20a)](),'-')){const _0x3eb37d=_0x2aff9a[_0x20c8de(0x1f4)](uuidv7);_0x4c9199[_0x53a7cf]=_0x3eb37d,_0x4c9199['_generated_uuid']=_0x4c9199[_0x20c8de(0x1bb)]||{},_0x4c9199['_generated_uuid'][_0x53a7cf]=_0x3eb37d,logger['debug']({'event':_0x2aff9a[_0x20c8de(0x1cb)],'rowIndex':_0x250c9b,'field':_0x53a7cf,'uuid':_0x3eb37d},_0x20c8de(0x1e3)+_0x53a7cf+'\x20at\x20row\x20'+(_0x250c9b+0x2));}});});}async['processPreviewJob'](_0x537c02,_0x55ff3d,_0x26e6d9){const _0x196d8b=a0_0x548d70,_0x210ec7={'hvfKg':function(_0x672f1c,_0x3e1553){return _0x672f1c===_0x3e1553;},'vDJeg':function(_0x18027c,_0x315923){return _0x18027c===_0x315923;},'LgTpS':_0x196d8b(0x17b),'SpqFe':function(_0x120353,_0x2ce8a0){return _0x120353>_0x2ce8a0;},'Rwkyu':'processing_lookup_fields','ZhKVs':'preview_error','PtMnk':_0x196d8b(0x1f8),'iBStV':_0x196d8b(0x1b7)};try{let {rows:_0x53af6c,params:_0x282878}=_0x26e6d9;const {requiredFields:_0x1f3bd2,validations:_0x540dbd,upsertKeys:_0x3ca214,tableName:_0x253cd6,primaryKey:_0x256946,fieldName:_0x5c1e6f,upsertStrategy:_0x15d2b5,lookupFields:_0x4287cf}=_0x282878;this[_0x196d8b(0x1d5)](_0x53af6c,_0x3ca214);let _0x10827e=[];if(_0x4287cf&&_0x210ec7[_0x196d8b(0x1ff)](Object['keys'](_0x4287cf)['length'],0x0)){logger[_0x196d8b(0x1b1)]({'event':_0x210ec7['Rwkyu'],'jobId':_0x537c02,'lookupFieldCount':Object[_0x196d8b(0x1b9)](_0x4287cf)[_0x196d8b(0x16c)]},_0x196d8b(0x1a8));const _0x2a72a8=await lookupResolver[_0x196d8b(0x1fb)](_0x53af6c,_0x4287cf);_0x53af6c=_0x2a72a8[_0x196d8b(0x1f7)],_0x10827e=_0x2a72a8[_0x196d8b(0x1db)],_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c;}const _0x495167=importValidator[_0x196d8b(0x206)](_0x53af6c,_0x1f3bd2||[],_0x540dbd||{});_0x10827e[_0x196d8b(0x175)](_0xbde3c=>{const _0x3c95f1=_0x196d8b,_0x1ce72a=_0x495167[_0x3c95f1(0x1d8)](_0x31086f=>_0x31086f['rowIndex']===_0xbde3c[_0x3c95f1(0x17f)]);_0x1ce72a?_0x1ce72a[_0x3c95f1(0x1db)]['push'](_0xbde3c['message']):_0x495167['push']({'rowIndex':_0xbde3c['rowIndex'],'rowData':_0x53af6c[_0xbde3c['rowIndex']],'errors':[_0xbde3c['message']]});});const _0x1a5b43=importValidator['detectDuplicatesInFile'](_0x53af6c,_0x3ca214);_0x1a5b43[_0x196d8b(0x175)](_0x1fcff3=>{const _0x111bd3=_0x196d8b,_0x986e77=_0x495167['find'](_0x8d32ae=>_0x8d32ae[_0x111bd3(0x17f)]===_0x1fcff3[_0x111bd3(0x17f)]),_0x5ee69c=_0x3ca214['map'](_0x4ae795=>_0x4ae795[_0x111bd3(0x19b)]())[_0x111bd3(0x1ce)](',\x20'),_0x43469b=_0x111bd3(0x1ee)+_0x5ee69c;_0x986e77?_0x986e77[_0x111bd3(0x1db)]['push'](_0x43469b):_0x495167[_0x111bd3(0x20c)]({'rowIndex':_0x1fcff3[_0x111bd3(0x17f)],'rowData':_0x53af6c[_0x1fcff3[_0x111bd3(0x17f)]],'errors':[_0x43469b]});}),await this['detectDatabaseDuplicates'](_0x53af6c,_0x3ca214,_0x253cd6,_0x256946,_0x15d2b5,_0x495167),_0x495167['forEach'](_0x4bf280=>{const _0x23b5de=_0x196d8b,_0xd599be=_0x53af6c[_0x4bf280['rowIndex']];_0xd599be&&(_0xd599be['_errors']=_0x4bf280[_0x23b5de(0x1db)]);});let _0x334f3f=0x0,_0x350053=0x0,_0x5e7043=0x0;_0x53af6c[_0x196d8b(0x175)](_0x1fc711=>{const _0x1f0c04=_0x196d8b;if(_0x210ec7[_0x1f0c04(0x1f9)](_0x1fc711['_action'],_0x1f0c04(0x1ca)))_0x334f3f++;else{if(_0x210ec7[_0x1f0c04(0x180)](_0x1fc711[_0x1f0c04(0x1a6)],_0x1f0c04(0x195)))_0x350053++;else _0x210ec7['hvfKg'](_0x1fc711[_0x1f0c04(0x1a6)],_0x210ec7['LgTpS'])&&_0x5e7043++;}});const _0xe59c65={'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':_0x210ec7['SpqFe'](_0x495167[_0x196d8b(0x16c)],0x0)?_0x210ec7[_0x196d8b(0x181)]:_0x196d8b(0x1e9),'progress':0x64,'created_at':_0x26e6d9[_0x196d8b(0x178)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x53af6c[_0x196d8b(0x16c)],'insert_count':_0x334f3f,'update_count':_0x350053,'skip_count':_0x5e7043,'error_count':_0x495167['length'],'errors':_0x495167,'data':_0x53af6c,'sample_insert':_0x53af6c['filter'](_0x5a81bd=>_0x5a81bd['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x53af6c['filter'](_0x13501f=>_0x13501f['_action']===_0x196d8b(0x195))[_0x196d8b(0x1b6)](0x0,0x5),'sample_skip':_0x53af6c[_0x196d8b(0x1e8)](_0x3fea09=>_0x3fea09[_0x196d8b(0x1a6)]==='SKIP')['slice'](0x0,0x5)},'params':_0x282878};await redisHelper[_0x196d8b(0x1d7)](_0x196d8b(0x16f)+_0x537c02,_0xe59c65,0xe10),_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c,await redisHelper['setJob']('upload:'+_0x55ff3d,_0x26e6d9,0xe10),logger[_0x196d8b(0x1b1)]({'event':_0x196d8b(0x1e2),'jobId':_0x537c02,'status':_0xe59c65['status'],'insertCount':_0x334f3f,'updateCount':_0x350053,'skipCount':_0x5e7043,'errorCount':_0x495167[_0x196d8b(0x16c)]},_0x210ec7[_0x196d8b(0x1fc)]);}catch(_0x44eb2d){logError(_0x44eb2d,{'event':'preview_job_failed','jobId':_0x537c02},_0x210ec7[_0x196d8b(0x19e)]),await redisHelper['setJob']('job:'+_0x537c02,{'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':'failed','progress':0x0,'error':_0x44eb2d[_0x196d8b(0x197)],'created_at':new Date()[_0x196d8b(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x548d70(0x1d2)](_0x535c89,_0xb19eb7,_0x20248f,_0x5b4b71,_0x1c7eb2=a0_0x548d70(0x1a4),_0x1c3b7a=[]){const _0x277622=a0_0x548d70,_0x8bf303={'gykOk':function(_0x3cfaa7,_0xb3af8f){return _0x3cfaa7===_0xb3af8f;},'wNZTj':'UPDATE','lxSry':_0x277622(0x1cf),'JHOcY':function(_0x58a7e0,_0x1639c4){return _0x58a7e0!==_0x1639c4;},'haQts':_0x277622(0x1f3),'lbChv':_0x277622(0x17b),'SEHKh':'update_existing','nylaO':_0x277622(0x1d3)},_0xdf09d3=upsertBuilder['chunkRows'](_0x535c89,0x64);for(const _0x248f8d of _0xdf09d3){const _0x23f67e=_0x248f8d[_0x277622(0x20b)](_0x2835fe=>_0x2835fe[_0xb19eb7[0x0]]),_0x16af5f=_0x23f67e[_0x277622(0x20b)](_0x3ec832=>{const _0x105584=_0x277622;if(_0x3ec832===null||_0x3ec832===undefined)return _0x105584(0x18f);return'\x27'+String(_0x3ec832)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x5902ec=_0x277622(0x19c)+_0x5b4b71+',\x20'+_0xb19eb7[_0x277622(0x1ce)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x20248f+_0x277622(0x199)+_0xb19eb7[0x0]+_0x277622(0x1c9)+_0x16af5f['join'](',\x20')+_0x277622(0x16e);let _0x3a3f6e=await executeQuery(_0x5902ec);_0x8bf303[_0x277622(0x1a7)](dbType,_0x8bf303[_0x277622(0x17e)])&&_0x3a3f6e&&_0x3a3f6e[_0x277622(0x16c)]>0x0&&(_0x3a3f6e=_0x3a3f6e['map'](_0x3973e3=>{const _0x19339f=_0x277622,_0x52585e={};for(const [_0x319445,_0x52a26f]of Object[_0x19339f(0x1a0)](_0x3973e3)){_0x52585e[_0x319445['toLowerCase']()]=_0x52a26f;}return _0x52585e;}));const _0x1b5c2c=new Map();_0x3a3f6e['forEach'](_0x41a5ab=>{const _0x4e233c=_0x277622,_0x108a26=_0x41a5ab[_0xb19eb7[0x0]];_0x1b5c2c[_0x4e233c(0x1d0)](_0x108a26,_0x41a5ab);}),_0x248f8d[_0x277622(0x175)]((_0x1c3f16,_0xfe37bb)=>{const _0x1c14d9=_0x277622,_0x5ab88a=_0x1c3f16[_0xb19eb7[0x0]],_0x581662=_0x1b5c2c[_0x1c14d9(0x1af)](_0x5ab88a);if(_0x581662){if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,'update_existing'))_0x1c3f16['_action']=_0x8bf303[_0x1c14d9(0x1a5)],_0x1c3f16[_0x1c14d9(0x1eb)]=_0x581662[_0x5b4b71];else{if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,_0x8bf303[_0x1c14d9(0x177)])){_0x1c3f16['_action']='SKIP',_0x1c3f16['_errors']=_0x1c3f16[_0x1c14d9(0x213)]||[],_0x1c3f16[_0x1c14d9(0x213)]['push'](_0x1c14d9(0x1c8));const _0x1084de=_0x535c89[_0x1c14d9(0x16d)](_0x1c3f16);_0x8bf303['JHOcY'](_0x1084de,-0x1)&&_0x1c3b7a['push']({'rowIndex':_0x1084de,'rowData':_0x1c3f16,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x1c7eb2===_0x8bf303[_0x1c14d9(0x204)]&&(_0x1c3f16['_action']=_0x8bf303['lbChv']);}}else{if(_0x1c7eb2===_0x8bf303[_0x1c14d9(0x1fd)])_0x1c3f16['_action']='INSERT';else(_0x1c7eb2===_0x8bf303['lxSry']||_0x1c7eb2==='skip_existing')&&(_0x1c3f16[_0x1c14d9(0x1a6)]=_0x1c14d9(0x1ca));}});}}async[a0_0x548d70(0x1e0)](_0xbbe527){const _0x1f35ba=a0_0x548d70,_0x545e13={'YdGlr':'Commit\x20processing\x20failed','cadeO':_0x1f35ba(0x171),'KDJLV':'preview_ok','szUvF':_0x1f35ba(0x1a2),'pYrqZ':_0x1f35ba(0x1c2)},_0x4788a2=this[_0x1f35ba(0x169)](),_0x5f4462=await redisHelper[_0x1f35ba(0x186)]('job:'+_0xbbe527);if(!_0x5f4462)throw new Error(_0x545e13['cadeO']);if(_0x5f4462['status']!==_0x545e13[_0x1f35ba(0x1e4)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5f4462[_0x1f35ba(0x1c0)]);const _0x17d5d3={'job_id':_0x4788a2,'upload_id':_0x5f4462['upload_id'],'preview_job_id':_0xbbe527,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x5f4462['params']};return await redisHelper[_0x1f35ba(0x1d7)]('job:'+_0x4788a2,_0x17d5d3,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x4788a2,'previewJobId':_0xbbe527},_0x545e13[_0x1f35ba(0x176)]),this['processCommitJob'](_0x4788a2,_0x5f4462)[_0x1f35ba(0x167)](_0x3359f4=>{const _0xd950b6=_0x1f35ba;logError(_0x3359f4,{'event':_0xd950b6(0x200),'jobId':_0x4788a2},_0x545e13['YdGlr']);}),{'job_id':_0x4788a2,'status':_0x545e13[_0x1f35ba(0x210)]};}async['processCommitJob'](_0x3b3857,_0x1d0163){const _0x112ab9=a0_0x548d70,_0x56a43d={'CVYEV':function(_0x28416c,_0xc0ef20){return _0x28416c===_0xc0ef20;},'AUhWd':_0x112ab9(0x18c),'wiUtR':function(_0x94d084,_0x92e58b){return _0x94d084>_0x92e58b;},'YsDDO':'import_fields_filtered','kWuTD':function(_0x35c9d1,_0x88fafc){return _0x35c9d1||_0x88fafc;},'JWrWI':function(_0x31ab6d,_0x196146){return _0x31ab6d>_0x196146;},'cLAJU':_0x112ab9(0x183),'TmmNz':'Commit\x20job\x20failed'};try{const _0x3abaa4=await redisHelper[_0x112ab9(0x186)]('upload:'+_0x1d0163[_0x112ab9(0x164)]);if(!_0x3abaa4)throw new Error(_0x112ab9(0x216));const {rows:_0x1bdaf3,params:_0x29fc70}=_0x3abaa4,{tableName:_0x530acc,fieldName:_0x35d8aa,primaryKey:_0x12b5ac,upsertKeys:_0x21f5fa,excludeFromImport:_0x4acc78,lookupFields:_0x464c5f,columnFormats:_0x321add}=_0x29fc70,_0x2340ad=_0x464c5f?Object[_0x112ab9(0x1b9)](_0x464c5f):[],_0x50bdf9=new Set([..._0x4acc78||[],..._0x2340ad]);let _0x1a369b=_0x35d8aa;_0x56a43d['wiUtR'](_0x50bdf9[_0x112ab9(0x184)],0x0)&&(_0x1a369b=_0x35d8aa['filter'](_0x5e730b=>!_0x50bdf9['has'](_0x5e730b)),logger['debug']({'event':_0x56a43d['YsDDO'],'originalCount':_0x35d8aa[_0x112ab9(0x16c)],'filteredCount':_0x1a369b['length'],'excludedFields':Array['from'](_0x50bdf9),'lookupSourceFields':_0x2340ad},_0x112ab9(0x1aa)));const _0x52e65a=_0x1bdaf3['filter'](_0x2d186d=>_0x2d186d[_0x112ab9(0x1a6)]==='INSERT'),_0x302c63=_0x1bdaf3['filter'](_0xc8bdd8=>_0xc8bdd8['_action']==='UPDATE');let _0xe66901=0x0,_0x1e4f86=0x0;const _0x581018=[];if(_0x52e65a[_0x112ab9(0x16c)]>0x0){const _0x2adfd6=upsertBuilder['chunkRows'](_0x52e65a,0x64);for(const _0x1334b3 of _0x2adfd6){const {query:_0x14f12f}=upsertBuilder['buildBatchInsert'](_0x1334b3,_0x530acc,_0x1a369b,_0x56a43d[_0x112ab9(0x189)](_0x321add,{}));_0x14f12f&&_0x581018['push']({'sql':_0x14f12f,'count':_0x1334b3['length'],'type':_0x56a43d[_0x112ab9(0x1c5)]});}}if(_0x56a43d['wiUtR'](_0x302c63[_0x112ab9(0x16c)],0x0)){const _0x1ea790=upsertBuilder[_0x112ab9(0x1ae)](_0x302c63,0x64);for(const _0x2ce7fb of _0x1ea790){const {query:_0x419bf5}=upsertBuilder[_0x112ab9(0x18a)](_0x2ce7fb,_0x530acc,_0x1a369b,_0x12b5ac,_0x21f5fa,_0x321add||{});_0x419bf5&&_0x581018['push']({'sql':_0x419bf5,'count':_0x2ce7fb[_0x112ab9(0x16c)],'type':_0x112ab9(0x173)});}}_0x56a43d['JWrWI'](_0x581018[_0x112ab9(0x16c)],0x0)&&await executeTransaction(_0x581018['map'](_0x27ac54=>({'sql':_0x27ac54['sql'],'params':[]})));_0x581018['forEach'](_0x5c720c=>{const _0x89cdb4=_0x112ab9;if(_0x56a43d['CVYEV'](_0x5c720c[_0x89cdb4(0x17d)],_0x56a43d['AUhWd']))_0xe66901+=_0x5c720c['count'];else _0x1e4f86+=_0x5c720c['count'];});const _0x5cf0c3={'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':_0x112ab9(0x196),'progress':0x64,'created_at':_0x1d0163[_0x112ab9(0x178)],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()[_0x112ab9(0x16a)](),'result':{'total_rows':_0x1bdaf3[_0x112ab9(0x16c)],'inserted_rows':_0xe66901,'updated_rows':_0x1e4f86,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x29fc70};await redisHelper[_0x112ab9(0x1d7)]('job:'+_0x3b3857,_0x5cf0c3,0xe10),logger['info']({'event':_0x112ab9(0x168),'jobId':_0x3b3857,'insertedCount':_0xe66901,'updatedCount':_0x1e4f86},_0x112ab9(0x1be));}catch(_0x21f11a){logError(_0x21f11a,{'event':_0x56a43d['cLAJU'],'jobId':_0x3b3857},_0x56a43d['TmmNz']),await redisHelper['setJob']('job:'+_0x3b3857,{'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':'failed','progress':0x0,'error':_0x21f11a[_0x112ab9(0x197)],'created_at':_0x1d0163['created_at'],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x401962){const _0xb34673=a0_0x548d70,_0x28ef60={'qrBAG':_0xb34673(0x170)},_0x382142=await redisHelper['getJob'](_0xb34673(0x16f)+_0x401962);if(!_0x382142)return{'success':![],'error':_0x28ef60['qrBAG']};return{'success':!![],'data':_0x382142};}}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x4e6a12=a0_0x372d;(function(_0x2d4c76,_0x5768bd){const _0x25b613=a0_0x372d,_0x26864f=_0x2d4c76();while(!![]){try{const _0x1f0db0=parseInt(_0x25b613(0x114))/0x1+parseInt(_0x25b613(0xf3))/0x2*(parseInt(_0x25b613(0x143))/0x3)+-parseInt(_0x25b613(0xf2))/0x4+-parseInt(_0x25b613(0x12e))/0x5*(parseInt(_0x25b613(0x176))/0x6)+parseInt(_0x25b613(0x130))/0x7*(parseInt(_0x25b613(0x15c))/0x8)+parseInt(_0x25b613(0x155))/0x9*(-parseInt(_0x25b613(0x106))/0xa)+-parseInt(_0x25b613(0x13d))/0xb;if(_0x1f0db0===_0x5768bd)break;else _0x26864f['push'](_0x26864f['shift']());}catch(_0x5cf13f){_0x26864f['push'](_0x26864f['shift']());}}}(a0_0x2661,0x44cd4));const {v7:uuidv7}=require(a0_0x4e6a12(0x10c)),path=require(a0_0x4e6a12(0x11a)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x4e6a12(0x14a)),dbType=(process[a0_0x4e6a12(0xec)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x372d(_0x5d1e79,_0x64a0be){_0x5d1e79=_0x5d1e79-0xe2;const _0x266191=a0_0x2661();let _0x372daa=_0x266191[_0x5d1e79];if(a0_0x372d['sgUoef']===undefined){var _0x5de5bc=function(_0x2352ce){const _0x176529='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c76e8='',_0x43c4f8='';for(let _0x5370fe=0x0,_0x4e8c13,_0x182fcc,_0x119e42=0x0;_0x182fcc=_0x2352ce['charAt'](_0x119e42++);~_0x182fcc&&(_0x4e8c13=_0x5370fe%0x4?_0x4e8c13*0x40+_0x182fcc:_0x182fcc,_0x5370fe++%0x4)?_0x5c76e8+=String['fromCharCode'](0xff&_0x4e8c13>>(-0x2*_0x5370fe&0x6)):0x0){_0x182fcc=_0x176529['indexOf'](_0x182fcc);}for(let _0x553aef=0x0,_0x3f0972=_0x5c76e8['length'];_0x553aef<_0x3f0972;_0x553aef++){_0x43c4f8+='%'+('00'+_0x5c76e8['charCodeAt'](_0x553aef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c4f8);};a0_0x372d['egUTcj']=_0x5de5bc,a0_0x372d['rAMhSo']={},a0_0x372d['sgUoef']=!![];}const _0x14686e=_0x266191[0x0],_0x56d9f4=_0x5d1e79+_0x14686e,_0x3fb7fe=a0_0x372d['rAMhSo'][_0x56d9f4];return!_0x3fb7fe?(_0x372daa=a0_0x372d['egUTcj'](_0x372daa),a0_0x372d['rAMhSo'][_0x56d9f4]=_0x372daa):_0x372daa=_0x3fb7fe,_0x372daa;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x1a1db2,_0x47cb7f)=>oracleDb['executeQuery'](_0x1a1db2,_0x47cb7f),executeTransaction=_0xf6f673=>oracleDb[a0_0x4e6a12(0x158)](_0xf6f673);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xfd21af,_0x17180f)=>mysqlDb['executeQuery'](_0xfd21af,_0x17180f),executeTransaction=_0x5261b0=>mysqlDb[a0_0x4e6a12(0x158)](_0x5261b0);}else{const db=require('../utils/db');executeQuery=db[a0_0x4e6a12(0x12f)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x4e6a12(0x14d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x4e6a12(0x163));class ImportService{constructor(){const _0x866837=a0_0x4e6a12;this[_0x866837(0x124)]=null;}get['uploadDir'](){const _0x229d78=a0_0x4e6a12,_0x92a508={'IrzAp':_0x229d78(0x16c)};if(!this[_0x229d78(0x124)]){const _0x3b2d09=process[_0x229d78(0xec)][_0x229d78(0xfa)]||_0x92a508[_0x229d78(0x15f)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x229d78(0x156)+_0x3b2d09);}return this['_uploadDir'];}['generateId'](){const _0x444f95=a0_0x4e6a12,_0x3239cf={'UMphJ':function(_0xc15d5f){return _0xc15d5f();},'EMiTx':function(_0x2eadc5,_0x3780cb){return _0x2eadc5+_0x3780cb;},'LcwLb':function(_0x3283e9,_0x4bd6ea){return _0x3283e9*_0x4bd6ea;}},_0x394bd9=_0x444f95(0x100),_0x824ad9=Date['now']()[_0x444f95(0x171)](0x24),_0x2390cd=_0x3239cf['UMphJ'](uuidv7)[_0x444f95(0x180)](/-/g,'')['substring'](0x0,0xc-_0x824ad9['length']),_0x11e641=_0x3239cf['EMiTx'](_0x824ad9,_0x2390cd)[_0x444f95(0x150)](0x0,0xc);let _0xbcccca='';for(let _0x59ebb2=0x0;_0x59ebb2<0xc;_0x59ebb2++){_0x11e641[_0x59ebb2]?_0xbcccca+=_0x11e641[_0x59ebb2]:_0xbcccca+=_0x394bd9['charAt'](Math[_0x444f95(0x12d)](_0x3239cf[_0x444f95(0xe2)](Math['random'](),_0x394bd9[_0x444f95(0x174)])));}return _0xbcccca;}['buildLabelToFieldMap'](_0x4a937a){const _0x1f3042=a0_0x4e6a12,_0x2dcfc9=new Map();if(!_0x4a937a)return _0x2dcfc9;return Object['entries'](_0x4a937a)[_0x1f3042(0x118)](([_0x172bb0,_0x713c75])=>{const _0x9c89e9=_0x1f3042,_0x34fa73=String(_0x713c75)['trim']()[_0x9c89e9(0x180)](/\s+/g,'_')[_0x9c89e9(0x180)](/([a-z])([A-Z])/g,'$1_$2')[_0x9c89e9(0x180)](/([A-Z]+)([A-Z][a-z])/g,_0x9c89e9(0x117))[_0x9c89e9(0x173)]();_0x2dcfc9[_0x9c89e9(0x12a)](_0x34fa73,_0x172bb0);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x2dcfc9[_0x1f3042(0x12c)]},_0x1f3042(0xeb)),_0x2dcfc9;}[a0_0x4e6a12(0x15e)](_0x1e4652,_0x2cb6ed){const _0x2cfe85=a0_0x4e6a12,_0xef57d5={'NxSUQ':function(_0x19830e,_0x3183df){return _0x19830e===_0x3183df;},'bwtNG':_0x2cfe85(0xed),'LJKWa':_0x2cfe85(0x17b),'eyZHj':function(_0x7708aa,_0x530329){return _0x7708aa===_0x530329;}};if(!_0x2cb6ed||_0xef57d5['eyZHj'](Object['keys'](_0x2cb6ed)[_0x2cfe85(0x174)],0x0))return _0x1e4652;return _0x1e4652['map'](_0x1c236e=>{const _0xf1d017=_0x2cfe85,_0x4ae30a={..._0x1c236e};for(const [_0x486842,_0x193299]of Object[_0xf1d017(0xfb)](_0x2cb6ed)){const _0x5b627d=_0x4ae30a[_0x486842];if(_0xef57d5[_0xf1d017(0xe6)](_0x5b627d,null)||_0x5b627d===undefined||_0x5b627d===''){_0x4ae30a[_0x486842]=null;continue;}switch(_0x193299[_0xf1d017(0x14b)]){case _0xef57d5['bwtNG']:_0x4ae30a[_0x486842]=this[_0xf1d017(0x16b)](_0x5b627d);break;case'number':_0x4ae30a[_0x486842]=this['formatNumberForDatabase'](_0x5b627d);break;case'boolean':_0x4ae30a[_0x486842]=this['formatBooleanForDatabase'](_0x5b627d);break;case _0xef57d5[_0xf1d017(0x151)]:_0x4ae30a[_0x486842]=String(_0x5b627d);break;default:break;}}return _0x4ae30a;});}['formatDateForDatabase'](_0x1a3434){const _0x4b31d7=a0_0x4e6a12,_0x82550={'PCcGL':function(_0x41bafa,_0x4c74f8){return _0x41bafa===_0x4c74f8;},'gkucY':function(_0x4725b8,_0x17b87a){return _0x4725b8===_0x17b87a;},'ikYft':_0x4b31d7(0x121),'HKVGH':function(_0x289104,_0x42cff5){return _0x289104(_0x42cff5);},'FzqjZ':function(_0x38f3e8,_0x400b4f){return _0x38f3e8+_0x400b4f;},'eIzai':function(_0x66c4d5,_0x36cec6){return _0x66c4d5(_0x36cec6);}};if(_0x82550[_0x4b31d7(0x154)](_0x1a3434,null)||_0x82550['gkucY'](_0x1a3434,undefined)||_0x1a3434==='')return null;if(typeof _0x1a3434===_0x82550['ikYft']&&/^\d{4}-\d{2}-\d{2}$/[_0x4b31d7(0x14e)](_0x1a3434))return _0x1a3434;if(_0x1a3434 instanceof Date){if(_0x82550[_0x4b31d7(0x107)](isNaN,_0x1a3434[_0x4b31d7(0x177)]()))return null;const _0x5be3b5=_0x1a3434[_0x4b31d7(0x11d)](),_0x35ce3c=_0x82550[_0x4b31d7(0x107)](String,_0x82550[_0x4b31d7(0x10d)](_0x1a3434['getMonth'](),0x1))[_0x4b31d7(0x14c)](0x2,'0'),_0x478688=_0x82550[_0x4b31d7(0x153)](String,_0x1a3434['getDate']())['padStart'](0x2,'0');return _0x5be3b5+'-'+_0x35ce3c+'-'+_0x478688;}if(_0x82550[_0x4b31d7(0x170)](typeof _0x1a3434,_0x4b31d7(0x121))){const _0x34b934=_0x1a3434['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x34b934){const _0x39a085=_0x82550['eIzai'](String,_0x34b934[0x1])[_0x4b31d7(0x14c)](0x2,'0'),_0x5141f9=String(_0x34b934[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0x31bfbe=_0x34b934[0x3];return _0x31bfbe+'-'+_0x5141f9+'-'+_0x39a085;}const _0x222a4e=_0x1a3434['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x222a4e){const _0x5e21fc=_0x222a4e[0x1],_0x4740da=String(_0x222a4e[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0xe9e703=String(_0x222a4e[0x3])[_0x4b31d7(0x14c)](0x2,'0');return _0x5e21fc+'-'+_0x4740da+'-'+_0xe9e703;}}return _0x1a3434;}['formatNumberForDatabase'](_0x16b347){const _0x511be0=a0_0x4e6a12,_0x4aad9a={'asWKY':'number','aIrSs':function(_0x22fa5a,_0x31f218){return _0x22fa5a(_0x31f218);},'qYzVe':function(_0x4b1d91,_0x36fa1e){return _0x4b1d91===_0x36fa1e;}};if(_0x16b347===null||_0x16b347===undefined||_0x16b347==='')return null;if(typeof _0x16b347===_0x4aad9a[_0x511be0(0x147)])return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x16b347)?null:_0x16b347;if(_0x4aad9a[_0x511be0(0x13c)](typeof _0x16b347,_0x511be0(0x121))){let _0x887444=_0x16b347[_0x511be0(0xe8)]();const _0x4385ff=/,\d{1,2}$/['test'](_0x887444)&&!/,\d{3}/['test'](_0x887444);_0x4385ff?_0x887444=_0x887444[_0x511be0(0x180)](/\./g,'')[_0x511be0(0x180)](',','.'):_0x887444=_0x887444[_0x511be0(0x180)](/,/g,'');const _0x224371=_0x4aad9a[_0x511be0(0x120)](parseFloat,_0x887444);return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x224371)?null:_0x224371;}return null;}['formatBooleanForDatabase'](_0x3335a9){const _0x3d7d22=a0_0x4e6a12,_0xaf5484={'PlKJU':function(_0x587dee,_0x27dda9){return _0x587dee===_0x27dda9;},'wWPor':function(_0x5107f9,_0x4bfef7){return _0x5107f9===_0x4bfef7;},'NzRxa':function(_0x26ee05,_0x297bda){return _0x26ee05===_0x297bda;},'CBKuD':function(_0xb937f2,_0xd7cba6){return _0xb937f2===_0xd7cba6;},'turRK':'true','EKJaT':_0x3d7d22(0x140)};if(_0xaf5484['PlKJU'](_0x3335a9,null)||_0x3335a9===undefined||_0xaf5484[_0x3d7d22(0xff)](_0x3335a9,''))return null;if(_0xaf5484['NzRxa'](typeof _0x3335a9,'boolean'))return _0x3335a9?_0x3d7d22(0x17c):_0x3d7d22(0x17d);if(_0xaf5484[_0x3d7d22(0x109)](typeof _0x3335a9,_0x3d7d22(0x121))){const _0x3ec451=_0x3335a9['trim']()[_0x3d7d22(0x173)]();if([_0xaf5484['turRK'],_0xaf5484['EKJaT'],'y','1']['includes'](_0x3ec451))return _0xaf5484['turRK'];if([_0x3d7d22(0x17d),'no','n','0']['includes'](_0x3ec451))return _0x3d7d22(0x17d);return null;}if(typeof _0x3335a9==='number')return _0x3335a9?_0xaf5484['turRK']:'false';return null;}async['uploadFile'](_0x18dd7a,_0x3ad18a){const _0x2bcbbd=a0_0x4e6a12,_0x31f6db={'bRZsv':function(_0x2b6765,_0x5209d7){return _0x2b6765>_0x5209d7;},'fTHRB':'Column\x20formats\x20applied\x20to\x20rows','jcqaM':function(_0x5bee43,_0x5ba5d8,_0x4307e5,_0x5522a8){return _0x5bee43(_0x5ba5d8,_0x4307e5,_0x5522a8);}},_0x26853c=this[_0x2bcbbd(0x145)]();try{let {headers:_0x556f9a,rows:_0x1d541c,totalRows:_0x3af04c}=await excelParser[_0x2bcbbd(0x105)](_0x18dd7a[_0x2bcbbd(0x11a)]);const _0x4d6061=this['buildLabelToFieldMap'](_0x3ad18a['fieldLabels']),_0x467647=_0x556f9a['map'](_0x53a493=>{const _0x342b65=_0x2bcbbd,_0x3b6beb=_0x4d6061[_0x342b65(0xee)](_0x53a493);return _0x3b6beb||_0x53a493;});_0x1d541c=_0x1d541c['map'](_0x2fd3eb=>{const _0x2b8e4b={};return _0x556f9a['forEach']((_0x48257a,_0x1f7f45)=>{const _0x256617=_0x467647[_0x1f7f45];_0x2b8e4b[_0x256617]=_0x2fd3eb[_0x48257a];}),_0x2b8e4b;}),_0x556f9a=_0x467647,logger['debug']({'event':_0x2bcbbd(0xfe),'original':_0x556f9a['length'],'mapped':_0x467647[_0x2bcbbd(0x102)]((_0x35259f,_0x29f2a1)=>_0x35259f!==_0x556f9a[_0x29f2a1])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x3ad18a['columnFormats']&&_0x31f6db['bRZsv'](Object['keys'](_0x3ad18a['columnFormats'])[_0x2bcbbd(0x174)],0x0)&&(_0x1d541c=this['applyColumnFormats'](_0x1d541c,_0x3ad18a[_0x2bcbbd(0x166)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])['length'],'formats':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])},_0x31f6db['fTHRB']));if(_0x3ad18a['scopeOverride']&&_0x3ad18a['scopeOverride']['column']){const {column:_0x3cbbc3,value:_0x19d1ba}=_0x3ad18a[_0x2bcbbd(0x16e)];_0x1d541c=_0x1d541c[_0x2bcbbd(0x13a)](_0x27bdf0=>({..._0x27bdf0,[_0x3cbbc3]:_0x19d1ba})),logger[_0x2bcbbd(0x181)]({'event':'request_scope_applied','column':_0x3cbbc3,'rowCount':_0x1d541c['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5edc20=_0x3ad18a[_0x2bcbbd(0x11f)]?Object[_0x2bcbbd(0x111)](_0x3ad18a['lookupFields'])[_0x2bcbbd(0x13a)](_0x266984=>_0x266984['targetField']):[],_0x14b0ec=_0x3ad18a['fieldName'][_0x2bcbbd(0x102)](_0x13099=>!_0x5edc20['includes'](_0x13099)),_0x32643f=excelParser['validateExcelStructure'](_0x556f9a,_0x14b0ec);if(!_0x32643f['valid']){await fs[_0x2bcbbd(0xea)](_0x18dd7a[_0x2bcbbd(0x11a)]);throw new Error(_0x2bcbbd(0x15d)+_0x32643f[_0x2bcbbd(0x164)][_0x2bcbbd(0xfd)](',\x20'));}const _0xc36f32={'upload_id':_0x26853c,'filename':_0x18dd7a['originalname'],'total_rows':_0x3af04c,'headers':_0x556f9a,'rows':_0x1d541c,'params':_0x3ad18a,'created_at':new Date()[_0x2bcbbd(0x139)]()};return await redisHelper['setJob']('upload:'+_0x26853c,_0xc36f32,0xe10),await fs[_0x2bcbbd(0xea)](_0x18dd7a['path']),logger[_0x2bcbbd(0x148)]({'event':_0x2bcbbd(0x13f),'uploadId':_0x26853c,'filename':_0x18dd7a['originalname'],'totalRows':_0x3af04c},_0x2bcbbd(0x169)),{'upload_id':_0x26853c,'total_rows':_0x3af04c,'preview':_0x1d541c['slice'](0x0,0xa)};}catch(_0x4028d2){try{await fs['unlink'](_0x18dd7a[_0x2bcbbd(0x11a)]);}catch(_0x35435c){_0x31f6db['jcqaM'](logError,_0x35435c,{'event':_0x2bcbbd(0x165)},_0x2bcbbd(0x11e));}throw _0x4028d2;}}async['createPreviewJob'](_0x5ec8f3){const _0x3f2be0=a0_0x4e6a12,_0x20afbb={'sCjka':_0x3f2be0(0x125),'bBgsM':_0x3f2be0(0x11c)},_0x43a9ca=this['generateId'](),_0x435452=await redisHelper[_0x3f2be0(0x149)](_0x3f2be0(0x182)+_0x5ec8f3);if(!_0x435452)throw new Error(_0x3f2be0(0x16a));const _0x2c38f1={'job_id':_0x43a9ca,'upload_id':_0x5ec8f3,'status':_0x3f2be0(0x178),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x435452[_0x3f2be0(0xe4)]};return await redisHelper['setJob'](_0x3f2be0(0x136)+_0x43a9ca,_0x2c38f1,0xe10),logger['info']({'event':_0x3f2be0(0xf9),'jobId':_0x43a9ca,'uploadId':_0x5ec8f3},_0x20afbb[_0x3f2be0(0x144)]),this[_0x3f2be0(0x146)](_0x43a9ca,_0x5ec8f3,_0x435452)[_0x3f2be0(0x113)](_0x53bf56=>{logError(_0x53bf56,{'event':_0x20afbb['sCjka'],'jobId':_0x43a9ca},'Preview\x20processing\x20failed');}),{'job_id':_0x43a9ca,'status':'validating'};}['autoGenerateUpsertKeys'](_0x5bc0cf,_0x552230){const _0x190de5=a0_0x4e6a12,_0x31d023={'hlAZk':function(_0xcda557,_0x558baa){return _0xcda557===_0x558baa;},'EJVca':function(_0x897b1a){return _0x897b1a();},'lYrme':function(_0x5d5ebd,_0x49ef94){return _0x5d5ebd+_0x49ef94;}};_0x5bc0cf[_0x190de5(0x118)]((_0xb5c31f,_0x98eec)=>{const _0x1cebd9=_0x190de5;_0x552230[_0x1cebd9(0x118)](_0x335142=>{const _0x391930=_0x1cebd9,_0x100fd4=_0xb5c31f[_0x335142];if(_0x100fd4===null||_0x100fd4===undefined||_0x31d023[_0x391930(0xf1)](_0x100fd4,'')||String(_0x100fd4)['trim']()==='-'){const _0x140bec=_0x31d023['EJVca'](uuidv7);_0xb5c31f[_0x335142]=_0x140bec,_0xb5c31f['_generated_uuid']=_0xb5c31f['_generated_uuid']||{},_0xb5c31f['_generated_uuid'][_0x335142]=_0x140bec,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x98eec,'field':_0x335142,'uuid':_0x140bec},'Auto-generated\x20UUID\x20for\x20'+_0x335142+'\x20at\x20row\x20'+_0x31d023[_0x391930(0x16f)](_0x98eec,0x2));}});});}async['processPreviewJob'](_0x377fd8,_0xdb0263,_0x181070){const _0x2e6e7f=a0_0x4e6a12,_0x22088b={'zCzna':function(_0x260ec2,_0x204f5b){return _0x260ec2===_0x204f5b;},'rEHIA':_0x2e6e7f(0x157),'BXihI':_0x2e6e7f(0xef),'MaSuN':function(_0x4f9973,_0x15d2c0,_0x189a36,_0x4c7b75){return _0x4f9973(_0x15d2c0,_0x189a36,_0x4c7b75);},'fToHB':'failed'};try{let {rows:_0x39d946,params:_0x2a6636}=_0x181070;const {requiredFields:_0x45295a,validations:_0x4d360e,upsertKeys:_0x14d3e5,tableName:_0x4762b5,primaryKey:_0x29ffde,fieldName:_0xea4041,upsertStrategy:_0x3cf26f,lookupFields:_0x4f5f77}=_0x2a6636;this['autoGenerateUpsertKeys'](_0x39d946,_0x14d3e5);let _0x3d2b39=[];if(_0x4f5f77&&Object['keys'](_0x4f5f77)['length']>0x0){logger['info']({'event':_0x22088b['BXihI'],'jobId':_0x377fd8,'lookupFieldCount':Object['keys'](_0x4f5f77)['length']},'Processing\x20lookup\x20fields');const _0x5917e0=await lookupResolver[_0x2e6e7f(0x17a)](_0x39d946,_0x4f5f77);_0x39d946=_0x5917e0[_0x2e6e7f(0x12b)],_0x3d2b39=_0x5917e0[_0x2e6e7f(0xf5)],_0x181070['rows']=_0x39d946;}const _0x1fedb4=importValidator['batchValidateRows'](_0x39d946,_0x45295a||[],_0x4d360e||{});_0x3d2b39[_0x2e6e7f(0x118)](_0xe03037=>{const _0x28813f=_0x2e6e7f,_0x24d27c=_0x1fedb4[_0x28813f(0x101)](_0x44dfe2=>_0x44dfe2['rowIndex']===_0xe03037['rowIndex']);_0x24d27c?_0x24d27c['errors'][_0x28813f(0x14f)](_0xe03037['message']):_0x1fedb4[_0x28813f(0x14f)]({'rowIndex':_0xe03037['rowIndex'],'rowData':_0x39d946[_0xe03037['rowIndex']],'errors':[_0xe03037['message']]});});const _0xb9cf2=importValidator['detectDuplicatesInFile'](_0x39d946,_0x14d3e5);_0xb9cf2['forEach'](_0x752cfe=>{const _0xcf3601=_0x2e6e7f,_0x5ecec4=_0x1fedb4['find'](_0x24ca3a=>_0x24ca3a[_0xcf3601(0x15b)]===_0x752cfe[_0xcf3601(0x15b)]),_0x4de885=_0x14d3e5[_0xcf3601(0x13a)](_0x1ce212=>_0x1ce212['toUpperCase']())['join'](',\x20'),_0x5e5c51=_0xcf3601(0xf7)+_0x4de885;_0x5ecec4?_0x5ecec4[_0xcf3601(0xf5)]['push'](_0x5e5c51):_0x1fedb4[_0xcf3601(0x14f)]({'rowIndex':_0x752cfe['rowIndex'],'rowData':_0x39d946[_0x752cfe['rowIndex']],'errors':[_0x5e5c51]});}),await this['detectDatabaseDuplicates'](_0x39d946,_0x14d3e5,_0x4762b5,_0x29ffde,_0x3cf26f,_0x1fedb4),_0x1fedb4['forEach'](_0x1a6254=>{const _0x32ecd0=_0x2e6e7f,_0x4a07be=_0x39d946[_0x1a6254['rowIndex']];_0x4a07be&&(_0x4a07be['_errors']=_0x1a6254[_0x32ecd0(0xf5)]);});let _0x2c8b0c=0x0,_0x454c4b=0x0,_0xe2ee36=0x0;_0x39d946[_0x2e6e7f(0x118)](_0xe60eef=>{const _0x55c3b7=_0x2e6e7f;if(_0x22088b[_0x55c3b7(0x172)](_0xe60eef[_0x55c3b7(0xf8)],'INSERT'))_0x2c8b0c++;else{if(_0x22088b['zCzna'](_0xe60eef['_action'],_0x22088b[_0x55c3b7(0x131)]))_0x454c4b++;else _0x22088b['zCzna'](_0xe60eef[_0x55c3b7(0xf8)],'SKIP')&&_0xe2ee36++;}});const _0x546f25={'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x1fedb4[_0x2e6e7f(0x174)]>0x0?_0x2e6e7f(0x162):'preview_ok','progress':0x64,'created_at':_0x181070['created_at'],'completed_at':new Date()[_0x2e6e7f(0x139)](),'preview':{'total_rows':_0x39d946[_0x2e6e7f(0x174)],'insert_count':_0x2c8b0c,'update_count':_0x454c4b,'skip_count':_0xe2ee36,'error_count':_0x1fedb4[_0x2e6e7f(0x174)],'errors':_0x1fedb4,'data':_0x39d946,'sample_insert':_0x39d946['filter'](_0x5ab3f4=>_0x5ab3f4['_action']===_0x2e6e7f(0xf0))[_0x2e6e7f(0x133)](0x0,0x5),'sample_update':_0x39d946[_0x2e6e7f(0x102)](_0x4afbe3=>_0x4afbe3['_action']===_0x2e6e7f(0x157))['slice'](0x0,0x5),'sample_skip':_0x39d946[_0x2e6e7f(0x102)](_0x37f05f=>_0x37f05f['_action']==='SKIP')[_0x2e6e7f(0x133)](0x0,0x5)},'params':_0x2a6636};await redisHelper['setJob'](_0x2e6e7f(0x136)+_0x377fd8,_0x546f25,0xe10),_0x181070[_0x2e6e7f(0xf4)]=_0x39d946,await redisHelper['setJob']('upload:'+_0xdb0263,_0x181070,0xe10),logger[_0x2e6e7f(0x148)]({'event':_0x2e6e7f(0x15a),'jobId':_0x377fd8,'status':_0x546f25[_0x2e6e7f(0x10b)],'insertCount':_0x2c8b0c,'updateCount':_0x454c4b,'skipCount':_0xe2ee36,'errorCount':_0x1fedb4[_0x2e6e7f(0x174)]},_0x2e6e7f(0x168));}catch(_0x15d791){_0x22088b[_0x2e6e7f(0xe5)](logError,_0x15d791,{'event':_0x2e6e7f(0x17e),'jobId':_0x377fd8},_0x2e6e7f(0x128)),await redisHelper[_0x2e6e7f(0x119)](_0x2e6e7f(0x136)+_0x377fd8,{'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x22088b[_0x2e6e7f(0xfc)],'progress':0x0,'error':_0x15d791['message'],'created_at':new Date()[_0x2e6e7f(0x139)](),'completed_at':new Date()[_0x2e6e7f(0x139)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1345ad,_0x563138,_0x331f35,_0x5eb4ab,_0x5d6bf9='update_existing',_0x2cee06=[]){const _0x25661f=a0_0x4e6a12,_0x39303f={'DNHdt':function(_0x2903dc,_0x280330){return _0x2903dc===_0x280330;},'hlEhw':_0x25661f(0x175),'TLoQe':function(_0x21902b,_0x5ba107){return _0x21902b===_0x5ba107;},'MResW':'skip_existing','HPzdE':function(_0x49632e,_0x3079b7){return _0x49632e===_0x3079b7;},'StquT':'insert_only','AiyrB':_0x25661f(0xf0),'NmvVt':function(_0x15c363,_0x1dec79){return _0x15c363===_0x1dec79;},'bShjD':_0x25661f(0x112)},_0x1b26b8=upsertBuilder['chunkRows'](_0x1345ad,0x64);for(const _0x4af97b of _0x1b26b8){const _0x1f7122=_0x4af97b[_0x25661f(0x13a)](_0x1a374b=>_0x1a374b[_0x563138[0x0]]),_0x5f2772=_0x1f7122['map'](_0x55bdfe=>{const _0x541edd=_0x25661f;if(_0x39303f['DNHdt'](_0x55bdfe,null)||_0x55bdfe===undefined)return'NULL';return'\x27'+String(_0x55bdfe)[_0x541edd(0x180)](/'/g,'\x27\x27')+'\x27';}),_0x12d21d=_0x25661f(0x159)+_0x5eb4ab+',\x20'+_0x563138[_0x25661f(0xfd)](',\x20')+_0x25661f(0x13e)+_0x331f35+_0x25661f(0xe3)+_0x563138[0x0]+'\x20IN\x20('+_0x5f2772[_0x25661f(0xfd)](',\x20')+_0x25661f(0x179);let _0x1ec39e=await executeQuery(_0x12d21d);_0x39303f[_0x25661f(0x127)](dbType,_0x39303f[_0x25661f(0x17f)])&&_0x1ec39e&&_0x1ec39e[_0x25661f(0x174)]>0x0&&(_0x1ec39e=_0x1ec39e[_0x25661f(0x13a)](_0x2fddb5=>{const _0x2d8140=_0x25661f,_0x5d49c3={};for(const [_0x51267f,_0x4bc9fa]of Object[_0x2d8140(0xfb)](_0x2fddb5)){_0x5d49c3[_0x51267f[_0x2d8140(0x173)]()]=_0x4bc9fa;}return _0x5d49c3;}));const _0x22eb42=new Map();_0x1ec39e['forEach'](_0xa826a0=>{const _0xa23c1d=_0xa826a0[_0x563138[0x0]];_0x22eb42['set'](_0xa23c1d,_0xa826a0);}),_0x4af97b['forEach']((_0x7f75c7,_0x38582f)=>{const _0x32cf82=_0x25661f,_0x4c3858=_0x7f75c7[_0x563138[0x0]],_0x3698de=_0x22eb42['get'](_0x4c3858);if(_0x3698de){if(_0x5d6bf9===_0x39303f['hlEhw'])_0x7f75c7['_action']='UPDATE',_0x7f75c7['_existingId']=_0x3698de[_0x5eb4ab];else{if(_0x39303f[_0x32cf82(0x138)](_0x5d6bf9,'insert_only')){_0x7f75c7[_0x32cf82(0xf8)]='SKIP',_0x7f75c7[_0x32cf82(0x10a)]=_0x7f75c7['_errors']||[],_0x7f75c7['_errors']['push'](_0x32cf82(0x108));const _0x47cbdb=_0x1345ad['indexOf'](_0x7f75c7);_0x47cbdb!==-0x1&&_0x2cee06['push']({'rowIndex':_0x47cbdb,'rowData':_0x7f75c7,'errors':[_0x32cf82(0x108)]});}else _0x5d6bf9===_0x39303f['MResW']&&(_0x7f75c7['_action']='SKIP');}}else{if(_0x5d6bf9==='update_existing')_0x7f75c7[_0x32cf82(0xf8)]='INSERT';else(_0x39303f['HPzdE'](_0x5d6bf9,_0x39303f[_0x32cf82(0x142)])||_0x5d6bf9==='skip_existing')&&(_0x7f75c7['_action']=_0x39303f[_0x32cf82(0xe7)]);}});}}async[a0_0x4e6a12(0x135)](_0x67d2cd){const _0xf9dd0d=a0_0x4e6a12,_0x51e6ec={'kBovu':'commit_process_error','tyfRg':_0xf9dd0d(0x13b),'otOMj':_0xf9dd0d(0x103)},_0x5b3a10=this[_0xf9dd0d(0x145)](),_0xffaa4=await redisHelper['getJob']('job:'+_0x67d2cd);if(!_0xffaa4)throw new Error(_0xf9dd0d(0x104));if(_0xffaa4['status']!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xffaa4[_0xf9dd0d(0x10b)]);const _0x23f85b={'job_id':_0x5b3a10,'upload_id':_0xffaa4['upload_id'],'preview_job_id':_0x67d2cd,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xffaa4['params']};return await redisHelper['setJob']('job:'+_0x5b3a10,_0x23f85b,0xe10),logger[_0xf9dd0d(0x148)]({'event':_0x51e6ec[_0xf9dd0d(0x183)],'jobId':_0x5b3a10,'previewJobId':_0x67d2cd},_0x51e6ec[_0xf9dd0d(0x122)]),this[_0xf9dd0d(0x115)](_0x5b3a10,_0xffaa4)['catch'](_0x3eb8ba=>{const _0x4f4781=_0xf9dd0d;logError(_0x3eb8ba,{'event':_0x51e6ec[_0x4f4781(0x160)],'jobId':_0x5b3a10},'Commit\x20processing\x20failed');}),{'job_id':_0x5b3a10,'status':'processing'};}async[a0_0x4e6a12(0x115)](_0x403250,_0x3efd78){const _0x2b6fe6=a0_0x4e6a12,_0x543d1d={'YtRuJ':'Upload\x20data\x20not\x20found\x20or\x20expired','npFzN':_0x2b6fe6(0x141),'aZmyP':_0x2b6fe6(0x10e),'gwTgM':'insert','johdj':'update','JsroS':function(_0x7fa91c,_0x5971a8){return _0x7fa91c>_0x5971a8;},'bAaaE':function(_0x5e4539,_0xce826c){return _0x5e4539(_0xce826c);},'dxydP':_0x2b6fe6(0x126),'LKVkw':_0x2b6fe6(0x110),'cMOHu':_0x2b6fe6(0x116)};try{const _0x1b8d8b=await redisHelper[_0x2b6fe6(0x149)]('upload:'+_0x3efd78[_0x2b6fe6(0x137)]);if(!_0x1b8d8b)throw new Error(_0x543d1d['YtRuJ']);const {rows:_0x3aa088,params:_0x35e7df}=_0x1b8d8b,{tableName:_0x15885e,fieldName:_0x4c643f,primaryKey:_0xd6524,upsertKeys:_0x6ed82f,excludeFromImport:_0x47c65c,lookupFields:_0x495c4f,columnFormats:_0x45c2be}=_0x35e7df,_0x1888bc=_0x495c4f?Object['keys'](_0x495c4f):[],_0x26e6c8=new Set([..._0x47c65c||[],..._0x1888bc]);let _0x2a7a55=_0x4c643f;_0x26e6c8['size']>0x0&&(_0x2a7a55=_0x4c643f['filter'](_0x182e23=>!_0x26e6c8[_0x2b6fe6(0x161)](_0x182e23)),logger['debug']({'event':_0x543d1d[_0x2b6fe6(0xf6)],'originalCount':_0x4c643f[_0x2b6fe6(0x174)],'filteredCount':_0x2a7a55[_0x2b6fe6(0x174)],'excludedFields':Array['from'](_0x26e6c8),'lookupSourceFields':_0x1888bc},_0x543d1d['aZmyP']));const _0x34fbf1=_0x3aa088['filter'](_0x1b4038=>_0x1b4038['_action']==='INSERT'),_0x48e6d0=_0x3aa088['filter'](_0x550603=>_0x550603['_action']===_0x2b6fe6(0x157));let _0x494ef6=0x0,_0xf01caf=0x0;const _0x28a5d9=[];if(_0x34fbf1['length']>0x0){const _0x199981=upsertBuilder['chunkRows'](_0x34fbf1,0x64);for(const _0x35a083 of _0x199981){const {query:_0x48eab0}=upsertBuilder['buildBatchInsert'](_0x35a083,_0x15885e,_0x2a7a55,_0x45c2be||{});_0x48eab0&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x48eab0,'count':_0x35a083[_0x2b6fe6(0x174)],'type':_0x543d1d['gwTgM']});}}if(_0x48e6d0[_0x2b6fe6(0x174)]>0x0){const _0x54ae81=upsertBuilder['chunkRows'](_0x48e6d0,0x64);for(const _0x22cdd7 of _0x54ae81){const {query:_0x5c50cd}=upsertBuilder['buildBatchUpdate'](_0x22cdd7,_0x15885e,_0x2a7a55,_0xd6524,_0x6ed82f,_0x45c2be||{});_0x5c50cd&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x5c50cd,'count':_0x22cdd7['length'],'type':_0x543d1d['johdj']});}}_0x543d1d[_0x2b6fe6(0x11b)](_0x28a5d9[_0x2b6fe6(0x174)],0x0)&&await _0x543d1d['bAaaE'](executeTransaction,_0x28a5d9[_0x2b6fe6(0x13a)](_0x589b4c=>({'sql':_0x589b4c[_0x2b6fe6(0x123)],'params':[]})));_0x28a5d9[_0x2b6fe6(0x118)](_0x2ea32d=>{const _0x4eac6a=_0x2b6fe6;if(_0x2ea32d['type']==='insert')_0x494ef6+=_0x2ea32d['count'];else _0xf01caf+=_0x2ea32d[_0x4eac6a(0x16d)];});const _0x29f9d4={'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':_0x2b6fe6(0x10f),'progress':0x64,'created_at':_0x3efd78['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3aa088['length'],'inserted_rows':_0x494ef6,'updated_rows':_0xf01caf,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x35e7df};await redisHelper[_0x2b6fe6(0x119)](_0x2b6fe6(0x136)+_0x403250,_0x29f9d4,0xe10),logger['info']({'event':_0x543d1d['dxydP'],'jobId':_0x403250,'insertedCount':_0x494ef6,'updatedCount':_0xf01caf},_0x543d1d[_0x2b6fe6(0x132)]);}catch(_0x5a4222){logError(_0x5a4222,{'event':_0x543d1d['cMOHu'],'jobId':_0x403250},'Commit\x20job\x20failed'),await redisHelper[_0x2b6fe6(0x119)]('job:'+_0x403250,{'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':'failed','progress':0x0,'error':_0x5a4222[_0x2b6fe6(0x129)],'created_at':_0x3efd78['created_at'],'started_at':new Date()[_0x2b6fe6(0x139)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x4e6a12(0x167)](_0x3fc60b){const _0x340baf=a0_0x4e6a12,_0x2d7eda={'CvXnt':_0x340baf(0xe9)},_0x46d52a=await redisHelper[_0x340baf(0x149)](_0x340baf(0x136)+_0x3fc60b);if(!_0x46d52a)return{'success':![],'error':_0x2d7eda['CvXnt']};return{'success':!![],'data':_0x46d52a};}}function a0_0x2661(){const _0x21b4e8=['BwvZC2fNzq','C2v0','ChjVy2vZC2vKuM93CW','C2L6zq','zMXVB3i','mta4oduYmezpwKTZrq','zxHLy3v0zvf1zxj5','mtG3ntCXm0XmvxbbtG','CKvisue','teTwA3C','C2XPy2u','zxHWB3j0CW','y3jLyxrLq29TBwL0sM9I','AM9IoG','DxbSB2fKx2LK','veXVuwu','Dg9ju09tDhjPBMC','BwfW','y29TBwL0x2PVyL9JCMvHDgvK','CvL6vMu','otyXmtu4CeLeugHL','cIaGicaGicaGrLjptsa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','EwvZ','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','u3rXDvq','mZLOEwjhvLa','yKjNC00','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','yxnxs1K','Aw5MBW','z2v0sM9I','lI4VDxrPBhmVBg9Nz2vY','DhLWzq','CgfKu3rHCNq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','ChvZAa','C3vIC3rYAw5N','tePlv2e','AM9Ix2LK','zuL6ywK','uenJr0W','owLJqNHAsW','lI4VlI4VDgvTCc91CgXVywrZlW','vvbeqvrf','zxHLy3v0zvrYyw5Zywn0Aw9U','cIaGicaGicaGu0vmrunuia','ChjLDMLLD19QB2jFy29TCgXLDgvK','CM93sw5KzxG','mtzir0PxrLq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','yxbWBhLdB2X1Bw5gB3jTyxrZ','sxj6qxa','A0jVDNu','AgfZ','ChjLDMLLD19LCNjVCG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','BwLZC2LUz0zPzwXKCW','zMLSzv9JBgvHBNvWx2vYCM9Y','y29SDw1UrM9YBwf0CW','z2v0sM9Iu3rHDhvZ','uhjLDMLLDYbQB2iGy29TCgXLDgvK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgvMyxvSDa','y291BNq','C2nVCgvpDMvYCMLKzq','BfLYBwu','z2T1y1K','Dg9tDhjPBMC','EKn6BMe','Dg9mB3DLCKnHC2u','BgvUz3rO','DxbKyxrLx2v4Axn0Aw5N','mtjsz0fmCuS','z2v0vgLTzq','DMfSAwrHDgLUzW','kqOGicaGica','ChjVy2vZC0XVB2T1CezPzwXKCW','Dgv4Da','Dhj1zq','zMfSC2u','ChjLDMLLD19QB2jFzMfPBgvK','yLnOAKq','CMvWBgfJzq','zgvIDwC','DxbSB2fKoG','DhLMuMC','tgn3tgi','cIaGicaGicaGv0HfuKuG','CgfYyw1Z','twftDu4','tNHtvve','qwL5CKi','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','Dw5SAw5R','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zw52','zgf0zq','z2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','su5trvju','AgXbwMS','nZKZmta0v3nWufzk','nJG3odzPwxbQuxm','CM93CW','zxjYB3jZ','BNbgEK4','rhvWBgLJyxrLihzHBhvLigzVCIa','x2fJDgLVBG','ChjLDMLLD19QB2jFy3jLyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zLrVsei','AM9PBG','AgvHzgvYC19TyxbWzwq','D1DqB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLUza','zMLSDgvY','q29TBwL0igPVyIbJCMvHDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','CgfYC2vfEgnLBezPBgu','ndK3mtmXmePtCeLbvW','seTwr0G','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q0jlDuq','x2vYCM9YCW','C3rHDhvZ','DxvPza','rNPXALO','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','q29TBwL0igPVyIbJB21WBgv0zwq','DMfSDwvZ','B3jHy2XL','y2f0y2G','nte2otC4tgHKvw9O','ChjVy2vZC0nVBw1PDePVyG','y29TBwL0x2PVyL9MywLSzwq','jdfFjdi','zM9YrwfJAa','C2v0sM9I','Cgf0Aa','sNnYB1m','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0rNvSBfLLyxi','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Bg9VA3vWrMLLBgrZ','yuLYu3m','C3rYAw5N','B3rptwO','C3fS','x3vWBg9HzerPCG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29TBwL0x2PVyL9JB21WBgv0zwq','tM12vNq','uhjLDMLLDYbQB2iGzMfPBgvK'];a0_0x2661=function(){return _0x21b4e8;};return a0_0x2661();}module[a0_0x4e6a12(0x134)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4a86e6=a0_0x4ed6;(function(_0x390799,_0x173ba1){const _0x3cf98f=a0_0x4ed6,_0x54c36c=_0x390799();while(!![]){try{const _0x4eb343=-parseInt(_0x3cf98f(0x16f))/0x1*(parseInt(_0x3cf98f(0x171))/0x2)+parseInt(_0x3cf98f(0x101))/0x3+-parseInt(_0x3cf98f(0x15a))/0x4+-parseInt(_0x3cf98f(0x15b))/0x5*(parseInt(_0x3cf98f(0x145))/0x6)+parseInt(_0x3cf98f(0x105))/0x7+parseInt(_0x3cf98f(0x170))/0x8+parseInt(_0x3cf98f(0x10f))/0x9;if(_0x4eb343===_0x173ba1)break;else _0x54c36c['push'](_0x54c36c['shift']());}catch(_0x60d475){_0x54c36c['push'](_0x54c36c['shift']());}}}(a0_0x24ee,0x257d9));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4a86e6(0x118));function a0_0x4ed6(_0x5298ff,_0x505d49){_0x5298ff=_0x5298ff-0xfd;const _0x24eeba=a0_0x24ee();let _0x4ed6b8=_0x24eeba[_0x5298ff];if(a0_0x4ed6['mRGuDl']===undefined){var _0x5bc78d=function(_0x25285d){const _0x17f196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce62a8='',_0x1e3f68='';for(let _0x1a3359=0x0,_0x65f430,_0x41f596,_0x45190b=0x0;_0x41f596=_0x25285d['charAt'](_0x45190b++);~_0x41f596&&(_0x65f430=_0x1a3359%0x4?_0x65f430*0x40+_0x41f596:_0x41f596,_0x1a3359++%0x4)?_0xce62a8+=String['fromCharCode'](0xff&_0x65f430>>(-0x2*_0x1a3359&0x6)):0x0){_0x41f596=_0x17f196['indexOf'](_0x41f596);}for(let _0x227714=0x0,_0x2fe68f=_0xce62a8['length'];_0x227714<_0x2fe68f;_0x227714++){_0x1e3f68+='%'+('00'+_0xce62a8['charCodeAt'](_0x227714)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3f68);};a0_0x4ed6['FxriJX']=_0x5bc78d,a0_0x4ed6['KhHpTn']={},a0_0x4ed6['mRGuDl']=!![];}const _0x235623=_0x24eeba[0x0],_0x1d4ee3=_0x5298ff+_0x235623,_0x2e7fd1=a0_0x4ed6['KhHpTn'][_0x1d4ee3];return!_0x2e7fd1?(_0x4ed6b8=a0_0x4ed6['FxriJX'](_0x4ed6b8),a0_0x4ed6['KhHpTn'][_0x1d4ee3]=_0x4ed6b8):_0x4ed6b8=_0x2e7fd1,_0x4ed6b8;}class KafkaConsumerService{constructor(){const _0x274081=a0_0x4a86e6,_0x5abf5b=_0x274081(0x11e)[_0x274081(0x16c)]('|');let _0x3b2e2d=0x0;while(!![]){switch(_0x5abf5b[_0x3b2e2d++]){case'0':this[_0x274081(0x11c)]=![];continue;case'1':this[_0x274081(0x13f)]=null;continue;case'2':this[_0x274081(0x166)]=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x274081(0x128)]=null;continue;case'5':this['messageHandler']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x274081(0x104)]=![];continue;case'8':this[_0x274081(0x162)]=null;continue;case'9':this['isConnected']=![];continue;case'10':this['isInitializing']=![];continue;}break;}}[a0_0x4a86e6(0x156)](){const _0x24ece0=a0_0x4a86e6,_0x60df66={'egwqJ':_0x24ece0(0x113),'gpANv':_0x24ece0(0x120),'KBVmu':'25000','AUvLa':_0x24ece0(0x14a),'izAaM':function(_0x4165ac,_0x43d486){return _0x4165ac(_0x43d486);},'GhQHe':function(_0x27b6b9,_0x22208f){return _0x27b6b9===_0x22208f;},'bFkgv':function(_0x57d822,_0x52f793){return _0x57d822(_0x52f793);},'KPSvV':'5000','GmWKT':_0x24ece0(0x165),'tQUth':'30000','myeBF':_0x24ece0(0xff)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x60df66[_0x24ece0(0x16e)],'brokers':(process['env'][_0x24ece0(0x127)]||'localhost:9092')[_0x24ece0(0x16c)](','),'clientId':process[_0x24ece0(0x153)][_0x24ece0(0x139)]||'restforge-'+(process['env'][_0x24ece0(0x134)]||_0x60df66[_0x24ece0(0x16b)])+'-consumer','connectionTimeout':parseInt(process[_0x24ece0(0x153)][_0x24ece0(0x150)]||_0x24ece0(0x14a)),'requestTimeout':parseInt(process[_0x24ece0(0x153)]['KAFKA_REQUEST_TIMEOUT']||_0x60df66['KBVmu']),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x60df66['AUvLa']),'maxBytesPerPartition':_0x60df66['izAaM'](parseInt,process['env'][_0x24ece0(0x10d)]||_0x24ece0(0x148)),'autoCommit':_0x60df66[_0x24ece0(0xfe)](process[_0x24ece0(0x153)]['KAFKA_AUTO_COMMIT'],_0x60df66['egwqJ']),'autoCommitInterval':_0x60df66[_0x24ece0(0x119)](parseInt,process['env'][_0x24ece0(0x117)]||_0x60df66[_0x24ece0(0x14d)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_DELAY']||_0x60df66[_0x24ece0(0x147)]),'retryMaxDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_MAX_DELAY']||_0x60df66[_0x24ece0(0x12d)]),'logLevel':process[_0x24ece0(0x153)]['KAFKA_LOG_LEVEL']||_0x60df66[_0x24ece0(0x129)]};}[a0_0x4a86e6(0x106)](_0x34db74){const _0x4b9cdf=a0_0x4a86e6,_0x2843cc={'nothing':logLevel[_0x4b9cdf(0x143)],'error':logLevel['ERROR'],'warn':logLevel[_0x4b9cdf(0x111)],'info':logLevel[_0x4b9cdf(0x141)],'debug':logLevel[_0x4b9cdf(0x161)]};return _0x2843cc[_0x34db74['toLowerCase']()]||logLevel[_0x4b9cdf(0x111)];}async['initialize'](_0x443d23={}){const _0x5b6b88=a0_0x4a86e6,_0x30da98={'wYHhE':function(_0x35d01a,_0x1f1320){return _0x35d01a===_0x1f1320;},'ODHgs':'true','gvnao':_0x5b6b88(0x120),'sUPux':function(_0x1ce240,_0x8e9106){return _0x1ce240(_0x8e9106);},'KqnTC':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x5f5d7f=this[_0x5b6b88(0x156)]();if(!_0x5f5d7f['enabled'])return console[_0x5b6b88(0x169)](_0x30da98[_0x5b6b88(0x131)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x5b6b88(0x128)]=new Promise(async _0x55104c=>{const _0x36b7c6=_0x5b6b88;try{let _0xa601df=undefined;_0x30da98[_0x36b7c6(0x126)](process[_0x36b7c6(0x153)][_0x36b7c6(0x160)],_0x30da98[_0x36b7c6(0x14f)])&&(_0xa601df=!![]);let _0x5ad90c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5ad90c={'mechanism':process[_0x36b7c6(0x153)][_0x36b7c6(0x135)],'username':process[_0x36b7c6(0x153)][_0x36b7c6(0x11a)]||'','password':process['env'][_0x36b7c6(0x14b)]||''}),this[_0x36b7c6(0x162)]=new Kafka({'clientId':_0x443d23['clientId']||_0x5f5d7f[_0x36b7c6(0x116)],'brokers':_0x5f5d7f[_0x36b7c6(0x10a)],'connectionTimeout':_0x5f5d7f[_0x36b7c6(0x137)],'requestTimeout':_0x5f5d7f['requestTimeout'],'logLevel':this['getLogLevel'](_0x5f5d7f['logLevel']),'ssl':_0xa601df,'sasl':_0x5ad90c,'retry':{'initialRetryTime':_0x5f5d7f[_0x36b7c6(0x109)],'retries':_0x5f5d7f[_0x36b7c6(0x159)],'maxRetryTime':_0x5f5d7f['retryMaxDelay']}}),this['groupId']=_0x443d23['groupId']||_0x36b7c6(0x149)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x30da98['gvnao'])+'-consumer-group',this['consumer']=this[_0x36b7c6(0x162)]['consumer']({'groupId':this[_0x36b7c6(0x166)],'sessionTimeout':_0x5f5d7f['sessionTimeout'],'heartbeatInterval':_0x5f5d7f[_0x36b7c6(0x167)],'maxBytesPerPartition':_0x5f5d7f[_0x36b7c6(0x155)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x36b7c6(0x10b)](),this[_0x36b7c6(0x151)]=!![],console[_0x36b7c6(0x169)](_0x36b7c6(0x11f)+_0x5f5d7f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x36b7c6(0x166)]+')'),this['setupEventHandlers'](),_0x30da98['sUPux'](_0x55104c,!![]);}catch(_0xe2e141){console[_0x36b7c6(0x136)](_0x36b7c6(0x12a)+_0xe2e141[_0x36b7c6(0x115)]),this[_0x36b7c6(0x151)]=![],_0x55104c(![]);}finally{this[_0x36b7c6(0x154)]=![];}}),this[_0x5b6b88(0x128)];}['setupEventHandlers'](){const _0x53bb00=a0_0x4a86e6,_0x1bb749={'NcstB':_0x53bb00(0x163),'WMyWR':_0x53bb00(0x133),'hzBXg':_0x53bb00(0x122),'FZXkY':'consumer.crash'};if(!this[_0x53bb00(0x13f)])return;this['consumer']['on'](_0x1bb749['hzBXg'],()=>{const _0x2c48dc=_0x53bb00;console[_0x2c48dc(0x169)](_0x1bb749[_0x2c48dc(0x12b)]),this['isConnected']=![],this[_0x2c48dc(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on']('consumer.stop',()=>{const _0x42034e=_0x53bb00;console[_0x42034e(0x169)](_0x1bb749['WMyWR']),this[_0x42034e(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x1bb749['FZXkY'],_0x2aa085=>{const _0x1e6b71=_0x53bb00;console[_0x1e6b71(0x136)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2aa085['payload'][_0x1e6b71(0x136)][_0x1e6b71(0x115)]),this[_0x1e6b71(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x53bb00(0x15d),()=>{const _0x3652ca=_0x53bb00;console[_0x3652ca(0x169)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4a86e6(0x144)](_0x132431,_0x29fc01=![]){const _0x31bcb1=a0_0x4a86e6;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2a94f8=Array['isArray'](_0x132431)?_0x132431:[_0x132431];for(const _0x21db3b of _0x2a94f8){await this[_0x31bcb1(0x13f)][_0x31bcb1(0x144)]({'topic':_0x21db3b,'fromBeginning':_0x29fc01}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x21db3b+'\x20(fromBeginning:\x20'+_0x29fc01+')');}return this[_0x31bcb1(0x11d)]=[...new Set([...this['subscribedTopics'],..._0x2a94f8])],!![];}catch(_0x2708d0){return console['error'](_0x31bcb1(0x13d)+_0x2708d0['message']),![];}}async[a0_0x4a86e6(0x168)](_0x24b893,_0x26a938={}){const _0x441008=a0_0x4a86e6,_0x2f2031={'ytkuU':function(_0x192064,_0x4e9181){return _0x192064+_0x4e9181;},'aoHma':function(_0x9f017a,_0x4bb92f){return _0x9f017a-_0x4bb92f;}};if(!this[_0x441008(0x151)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x441008(0x11c)])return console['log'](_0x441008(0x123)),!![];const _0x5582a0=this['getConfig']();this['messageHandler']=_0x24b893;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x441008(0x158)]({'autoCommit':_0x26a938[_0x441008(0x14e)]!==undefined?_0x26a938['autoCommit']:_0x5582a0[_0x441008(0x14e)],'autoCommitInterval':_0x5582a0['autoCommitInterval'],'eachMessage':async({topic:_0x1f40f3,partition:_0x527234,message:_0x230e1f,heartbeat:_0x359051})=>{const _0x3d33ea=_0x441008,_0x591c95=Date[_0x3d33ea(0x107)]();this[_0x3d33ea(0x142)]['messagesReceived']++,this[_0x3d33ea(0x142)]['lastMessageTime']=new Date();try{const _0x21ce4f=_0x230e1f['value']?_0x230e1f[_0x3d33ea(0x12f)][_0x3d33ea(0x125)]():null;let _0x370ecd=null;try{_0x370ecd=_0x21ce4f?JSON[_0x3d33ea(0x15e)](_0x21ce4f):null;}catch(_0xc2ab23){_0x370ecd=_0x21ce4f;}const _0x102a21={'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x230e1f['offset'],'key':_0x230e1f['key']?_0x230e1f['key']['toString']():null,'headers':this[_0x3d33ea(0x10e)](_0x230e1f['headers']),'timestamp':_0x230e1f[_0x3d33ea(0x15f)],'value':_0x370ecd,'raw':_0x21ce4f};this['messageHandler']&&await this['messageHandler'](_0x102a21);!_0x5582a0['autoCommit']&&await this[_0x3d33ea(0x13f)][_0x3d33ea(0x14c)]([{'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x2f2031['ytkuU'](parseInt(_0x230e1f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1f38e1=_0x2f2031['aoHma'](Date['now'](),_0x591c95);this['metrics'][_0x3d33ea(0x16a)]['push'](_0x1f38e1),this['metrics'][_0x3d33ea(0x16a)]['length']>0x64&&this['metrics']['processingTimes']['shift'](),await _0x359051();}catch(_0xb0b695){this[_0x3d33ea(0x142)]['messagesFailed']++,console['error'](_0x3d33ea(0x146)+_0xb0b695['message']);throw _0xb0b695;}}}),this[_0x441008(0x11c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x441008(0x11d)]['join'](',\x20')),!![];}catch(_0x3c0819){return console['error'](_0x441008(0x13c)+_0x3c0819['message']),![];}}[a0_0x4a86e6(0x10e)](_0x552eba){const _0x54324b=a0_0x4a86e6;if(!_0x552eba)return{};const _0x33a5d5={};for(const [_0x5ff4c1,_0x32340b]of Object[_0x54324b(0x130)](_0x552eba)){_0x33a5d5[_0x5ff4c1]=_0x32340b?_0x32340b[_0x54324b(0x125)]():null;}return _0x33a5d5;}async[a0_0x4a86e6(0x121)](){const _0x1ba92e=a0_0x4a86e6,_0x59b177={'ebgMz':'[KafkaConsumer]\x20Consumer\x20already\x20paused','cMeZP':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console[_0x1ba92e(0x169)](_0x59b177['ebgMz']),!![];try{const _0x52253f=this['subscribedTopics'][_0x1ba92e(0x140)](_0x20b94b=>({'topic':_0x20b94b}));return this['consumer']['pause'](_0x52253f),this['isPaused']=!![],console[_0x1ba92e(0x169)](_0x59b177[_0x1ba92e(0xfd)]),!![];}catch(_0x4db27e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4db27e[_0x1ba92e(0x115)]),![];}}async['resume'](){const _0x22919b=a0_0x4a86e6,_0x219e13={'VSUkb':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x22919b(0x151)]||!this[_0x22919b(0x11c)])return console['log'](_0x219e13[_0x22919b(0x112)]),![];if(!this[_0x22919b(0x104)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x258305=this[_0x22919b(0x11d)][_0x22919b(0x140)](_0x145814=>({'topic':_0x145814}));return this[_0x22919b(0x13f)]['resume'](_0x258305),this[_0x22919b(0x104)]=![],console['log'](_0x22919b(0x12e)),!![];}catch(_0x3462dc){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3462dc['message']),![];}}async['stop'](){const _0x162364=a0_0x4a86e6,_0x1d070f={'HdOri':_0x162364(0x13a),'VidLx':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x162364(0x151)])return console['log'](_0x1d070f['HdOri']),!![];try{return this[_0x162364(0x13f)]&&(await this[_0x162364(0x13f)][_0x162364(0x114)](),await this['consumer']['disconnect']()),this['isConnected']=![],this[_0x162364(0x11c)]=![],this['isPaused']=![],console[_0x162364(0x169)](_0x1d070f[_0x162364(0x10c)]),!![];}catch(_0xe9189a){return console[_0x162364(0x136)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0xe9189a['message']),![];}}async[a0_0x4a86e6(0x110)](_0x39c360,_0x3654bf,_0x5a2259){const _0x1712cc=a0_0x4a86e6,_0x552de0={'mkxfE':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1712cc(0x136)](_0x552de0['mkxfE']),![];try{return this['consumer'][_0x1712cc(0x138)]({'topic':_0x39c360,'partition':_0x3654bf,'offset':_0x5a2259[_0x1712cc(0x125)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5a2259+_0x1712cc(0x100)+_0x39c360+':'+_0x3654bf),!![];}catch(_0x1d3cb0){return console[_0x1712cc(0x136)](_0x1712cc(0x164)+_0x1d3cb0['message']),![];}}[a0_0x4a86e6(0x16d)](){const _0x28e5bd=a0_0x4a86e6,_0x6a6d5e=this[_0x28e5bd(0x156)]();return{'enabled':_0x6a6d5e[_0x28e5bd(0x11b)],'connected':this['isConnected'],'running':this[_0x28e5bd(0x11c)],'paused':this[_0x28e5bd(0x104)],'brokers':_0x6a6d5e['brokers'],'clientId':_0x6a6d5e[_0x28e5bd(0x116)],'groupId':this[_0x28e5bd(0x166)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x27ab56=a0_0x4a86e6,_0x571688={'upiCq':function(_0x60dc9d,_0x563c2e){return _0x60dc9d>_0x563c2e;},'osxso':function(_0x58965f,_0x391674){return _0x58965f>_0x391674;},'PITLl':function(_0x10cf42,_0x170fe3){return _0x10cf42+_0x170fe3;},'iBUVp':function(_0x218912,_0x24e43e){return _0x218912/_0x24e43e;},'fDoEq':function(_0x4db74d,_0x437fc4){return _0x4db74d+_0x437fc4;}},_0x364d08=this['metrics']['processingTimes'][_0x27ab56(0x124)]>0x0?this[_0x27ab56(0x142)]['processingTimes']['reduce']((_0x2f004a,_0x2bdb82)=>_0x2f004a+_0x2bdb82,0x0)/this[_0x27ab56(0x142)][_0x27ab56(0x16a)]['length']:0x0,_0x43483c=this['metrics']['processingTimes']['length']>0x0?Math[_0x27ab56(0x13e)](...this[_0x27ab56(0x142)][_0x27ab56(0x16a)]):0x0,_0x229260=_0x571688['upiCq'](this['metrics'][_0x27ab56(0x16a)]['length'],0x0)?Math[_0x27ab56(0x108)](...this['metrics'][_0x27ab56(0x16a)]):0x0;return{'messagesReceived':this['metrics'][_0x27ab56(0x102)],'messagesProcessed':this['metrics'][_0x27ab56(0x172)],'messagesFailed':this['metrics'][_0x27ab56(0x103)],'successRate':_0x571688['osxso'](this['metrics'][_0x27ab56(0x102)],0x0)?_0x571688[_0x27ab56(0x12c)]((_0x571688['iBUVp'](this['metrics'][_0x27ab56(0x172)],this[_0x27ab56(0x142)][_0x27ab56(0x102)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x27ab56(0x142)]['startTime'],'uptime':this['metrics']['startTime']?Math['floor'](_0x571688['iBUVp'](Date[_0x27ab56(0x107)]()-this['metrics'][_0x27ab56(0x13b)][_0x27ab56(0x132)](),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x364d08)+'ms','min':_0x571688[_0x27ab56(0x152)](_0x43483c,'ms'),'max':_0x229260+'ms'}};}['resetMetrics'](){const _0x3f6135=a0_0x4a86e6,_0x50a174={'gpMuv':_0x3f6135(0x15c)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x3f6135(0x11c)]?new Date():null,'processingTimes':[]},console[_0x3f6135(0x169)](_0x50a174['gpMuv']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x24ee(){const _0x49d8c0=['BwvZC2fNzxnqCM9JzxnZzwq','y01LwLa','r2Hrsgu','D2fYBG','ig9Uia','odeXnJq0t0zVBMzj','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzxngywLSzwq','AxnqyxvZzwq','mtG5mdK4uwP1uxnk','z2v0tg9Ntgv2zwW','BM93','Bwf4','CMv0CNLezwXHEq','yNjVA2vYCW','y29UBMvJDa','vMLKthG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','CgfYC2vizwfKzxjZ','otG3mtjiExbKze8','C2vLA1rVt2zMC2v0','v0fstG','vLnvA2i','Dhj1zq','C3rVCa','BwvZC2fNzq','y2XPzw50swq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','DxvPza','yKzRz3y','s0fgs0fFu0fttf9vu0vstKfnrq','zw5HyMXLza','AxnsDw5UAw5N','C3vIC2nYAwjLzfrVCgLJCW','ohWXFdL8mtb8mhW3Fdr8nNWYFdv8mW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','zgvMyxvSDa','Cgf1C2u','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','Dg9tDhjPBMC','D1LiAeu','s0fgs0fFqLjps0vsuW','y29UBMvJDgLVBLbYB21PC2u','BxLLqKy','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tMnZDei','ueLutgW','DffvDgG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DMfSDwu','zw50CMLLCW','s3fUvem','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFu0fttf9nruniqu5ju00','zxjYB3i','y29UBMvJDgLVBLrPBwvVDxq','C2vLAW','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BwLU','y29UC3vTzxi','BwfW','su5gtW','Bwv0CMLJCW','tK9useLorW','C3vIC2nYAwjL','mtm4twvdBMfb','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','r21xs1q','mta0odu3nG','CMvZDgzVCMDLlq','mZaWma','s0fgs0fFu0fttf9qqvntv09sra','y29TBwL0t2zMC2v0CW','s1btDLy','yxv0B0nVBw1PDa','t0riz3m','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxndB25Uzwn0zwq','zKrVrxe','zw52','AxnjBML0AwfSAxPPBMC','Bwf4qNL0zxnqzxjqyxj0AxrPB24','z2v0q29UzMLN','zxHWB3j0CW','CNvU','CMv0CNLbDhrLBxb0CW','mZC3mtG4BNvvD1ng','ntKYnJb0rNDyuMe','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UC3vTzxiUCMvIywXHBMnPBMC','CgfYC2u','DgLTzxn0yw1W','s0fgs0fFu1nm','revcvuC','A2fMA2e','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','mtaWma','z3jVDxbjza','AgvHCNrIzwf0sw50zxj2ywW','C3rHCNrdB25ZDw1PBMC','Bg9N','ChjVy2vZC2LUz1rPBwvZ','z3bbtNy','C3bSAxq','z2v0u3rHDhvZ','zwD3CuO','ntnOvu9yB00','mtC4mZu4nfnrExD6sq','nde2we5pDgH2'];a0_0x24ee=function(){return _0x49d8c0;};return a0_0x24ee();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4a86e6(0x157)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x15617e=a0_0x4823;(function(_0x27170d,_0x181ca0){const _0x4f8fb5=a0_0x4823,_0x43fbac=_0x27170d();while(!![]){try{const _0x359f54=parseInt(_0x4f8fb5(0x1c8))/0x1+-parseInt(_0x4f8fb5(0x19b))/0x2+parseInt(_0x4f8fb5(0x1e5))/0x3*(parseInt(_0x4f8fb5(0x1ad))/0x4)+-parseInt(_0x4f8fb5(0x1cf))/0x5+-parseInt(_0x4f8fb5(0x1ec))/0x6+parseInt(_0x4f8fb5(0x1e6))/0x7*(parseInt(_0x4f8fb5(0x1d3))/0x8)+parseInt(_0x4f8fb5(0x185))/0x9;if(_0x359f54===_0x181ca0)break;else _0x43fbac['push'](_0x43fbac['shift']());}catch(_0x3f1e4f){_0x43fbac['push'](_0x43fbac['shift']());}}}(a0_0x432e,0x7fa57));const {Kafka,logLevel}=require(a0_0x15617e(0x1e0)),{v7:uuidv7}=require('uuid');function a0_0x4823(_0x3bba29,_0x15c5f7){_0x3bba29=_0x3bba29-0x17d;const _0x432ed0=a0_0x432e();let _0x4823c4=_0x432ed0[_0x3bba29];if(a0_0x4823['JJQADl']===undefined){var _0x5031d5=function(_0x532274){const _0x32d281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x766599='',_0x5988a1='';for(let _0x542d27=0x0,_0x1f88fe,_0x4a81de,_0x2a8e8f=0x0;_0x4a81de=_0x532274['charAt'](_0x2a8e8f++);~_0x4a81de&&(_0x1f88fe=_0x542d27%0x4?_0x1f88fe*0x40+_0x4a81de:_0x4a81de,_0x542d27++%0x4)?_0x766599+=String['fromCharCode'](0xff&_0x1f88fe>>(-0x2*_0x542d27&0x6)):0x0){_0x4a81de=_0x32d281['indexOf'](_0x4a81de);}for(let _0x464181=0x0,_0x279e25=_0x766599['length'];_0x464181<_0x279e25;_0x464181++){_0x5988a1+='%'+('00'+_0x766599['charCodeAt'](_0x464181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5988a1);};a0_0x4823['PZQKoF']=_0x5031d5,a0_0x4823['VvTFwQ']={},a0_0x4823['JJQADl']=!![];}const _0x2d022a=_0x432ed0[0x0],_0x4fc22f=_0x3bba29+_0x2d022a,_0x1a2016=a0_0x4823['VvTFwQ'][_0x4fc22f];return!_0x1a2016?(_0x4823c4=a0_0x4823['PZQKoF'](_0x4823c4),a0_0x4823['VvTFwQ'][_0x4fc22f]=_0x4823c4):_0x4823c4=_0x1a2016,_0x4823c4;}class KafkaConsumerService{constructor(){const _0x4cb085=a0_0x15617e,_0x33c85f='2|0|8|6|5|3|7|1|9|4|10'[_0x4cb085(0x1a5)]('|');let _0x495a71=0x0;while(!![]){switch(_0x33c85f[_0x495a71++]){case'0':this['consumer']=null;continue;case'1':this['subscribedTopics']=[];continue;case'2':this[_0x4cb085(0x19e)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x4cb085(0x189)]=null;continue;case'5':this[_0x4cb085(0x1cc)]=![];continue;case'6':this[_0x4cb085(0x1b7)]=![];continue;case'7':this[_0x4cb085(0x1f9)]=null;continue;case'8':this['isConnected']=![];continue;case'9':this[_0x4cb085(0x1c1)]=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x15617e(0x1b8)](){const _0x26db4d=a0_0x15617e,_0x271089={'FOfTv':_0x26db4d(0x188),'VocMA':'25000','ATlow':function(_0x495ec6,_0x271284){return _0x495ec6(_0x271284);},'BEEPu':'30000','gfARs':function(_0x143d52,_0x7cf6ad){return _0x143d52(_0x7cf6ad);},'wViOO':function(_0x298c8e,_0xcb1902){return _0x298c8e===_0xcb1902;},'rsphE':'5000','jiIbO':'warn'};return{'enabled':process[_0x26db4d(0x1d2)][_0x26db4d(0x1d9)]===_0x271089['FOfTv'],'brokers':(process['env']['KAFKA_BROKERS']||_0x26db4d(0x1ed))[_0x26db4d(0x1a5)](','),'clientId':process['env'][_0x26db4d(0x1aa)]||'restforge-'+(process[_0x26db4d(0x1d2)][_0x26db4d(0x1a1)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x26db4d(0x1d2)][_0x26db4d(0x190)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x271089['VocMA']),'sessionTimeout':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1b2)]||_0x271089[_0x26db4d(0x1d0)]),'heartbeatInterval':_0x271089['gfARs'](parseInt,process['env'][_0x26db4d(0x1ee)]||_0x26db4d(0x1b3)),'maxBytesPerPartition':parseInt(process['env'][_0x26db4d(0x1ba)]||'1048576'),'autoCommit':_0x271089['wViOO'](process[_0x26db4d(0x1d2)][_0x26db4d(0x1de)],'true'),'autoCommitInterval':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x192)]||_0x271089[_0x26db4d(0x1ca)]),'retryAttempts':_0x271089['ATlow'](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1c9)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x26db4d(0x1ab)),'retryMaxDelay':parseInt(process[_0x26db4d(0x1d2)]['KAFKA_RETRY_MAX_DELAY']||_0x271089[_0x26db4d(0x1d0)]),'logLevel':process[_0x26db4d(0x1d2)][_0x26db4d(0x1eb)]||_0x271089[_0x26db4d(0x1da)]};}[a0_0x15617e(0x196)](_0x22bf9b){const _0x1f0c03=a0_0x15617e,_0x20cd76={'nothing':logLevel[_0x1f0c03(0x1dd)],'error':logLevel['ERROR'],'warn':logLevel[_0x1f0c03(0x19f)],'info':logLevel[_0x1f0c03(0x182)],'debug':logLevel['DEBUG']};return _0x20cd76[_0x22bf9b[_0x1f0c03(0x1f8)]()]||logLevel['WARN'];}async['initialize'](_0x5f1f50={}){const _0x1efee8=a0_0x15617e,_0x23cd63={'DcAco':function(_0x48f053,_0x15558c){return _0x48f053(_0x15558c);},'dxGAi':function(_0x53bf1f,_0x226f71){return _0x53bf1f(_0x226f71);},'EkLby':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x43fbdc=this[_0x1efee8(0x1b8)]();if(!_0x43fbdc['enabled'])return console[_0x1efee8(0x1d1)](_0x23cd63['EkLby']),![];if(this['isConnected'])return!![];if(this[_0x1efee8(0x1b7)]&&this['connectionPromise'])return this[_0x1efee8(0x1f9)];return this['isInitializing']=!![],this[_0x1efee8(0x1f9)]=new Promise(async _0x355917=>{const _0x462859=_0x1efee8;try{let _0xa0e6a0=undefined;process[_0x462859(0x1d2)]['KAFKA_SSL']==='true'&&(_0xa0e6a0=!![]);let _0x396e98=undefined;process['env'][_0x462859(0x1ef)]&&(_0x396e98={'mechanism':process['env'][_0x462859(0x1ef)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x462859(0x1d2)][_0x462859(0x187)]||''}),this['kafka']=new Kafka({'clientId':_0x5f1f50[_0x462859(0x198)]||_0x43fbdc[_0x462859(0x198)],'brokers':_0x43fbdc[_0x462859(0x1c3)],'connectionTimeout':_0x43fbdc['connectionTimeout'],'requestTimeout':_0x43fbdc['requestTimeout'],'logLevel':this[_0x462859(0x196)](_0x43fbdc[_0x462859(0x1c5)]),'ssl':_0xa0e6a0,'sasl':_0x396e98,'retry':{'initialRetryTime':_0x43fbdc[_0x462859(0x195)],'retries':_0x43fbdc[_0x462859(0x1cd)],'maxRetryTime':_0x43fbdc[_0x462859(0x191)]}}),this['groupId']=_0x5f1f50['groupId']||'restforge-'+(process[_0x462859(0x1d2)][_0x462859(0x1a1)]||'default')+_0x462859(0x17d),this[_0x462859(0x1d6)]=this['kafka'][_0x462859(0x1d6)]({'groupId':this[_0x462859(0x1c1)],'sessionTimeout':_0x43fbdc[_0x462859(0x1cb)],'heartbeatInterval':_0x43fbdc['heartbeatInterval'],'maxBytesPerPartition':_0x43fbdc[_0x462859(0x1c6)],'allowAutoTopicCreation':![]}),await this[_0x462859(0x1d6)][_0x462859(0x1b1)](),this[_0x462859(0x18c)]=!![],console['log'](_0x462859(0x1af)+_0x43fbdc['brokers']['join'](',\x20')+_0x462859(0x1e8)+this[_0x462859(0x1c1)]+')'),this['setupEventHandlers'](),_0x23cd63[_0x462859(0x193)](_0x355917,!![]);}catch(_0x3b0700){console[_0x462859(0x1c7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x3b0700['message']),this[_0x462859(0x18c)]=![],_0x23cd63[_0x462859(0x184)](_0x355917,![]);}finally{this['isInitializing']=![];}}),this[_0x1efee8(0x1f9)];}[a0_0x15617e(0x18e)](){const _0x5d91c3=a0_0x15617e,_0x584f5f={'TbhQl':'consumer.stop'};if(!this[_0x5d91c3(0x1d6)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x16a742=_0x5d91c3;console[_0x16a742(0x1d1)](_0x16a742(0x1bf)),this['isConnected']=![],this[_0x16a742(0x1cc)]=![];}),this['consumer']['on'](_0x584f5f[_0x5d91c3(0x1a9)],()=>{const _0x30d9ac=_0x5d91c3;console['log'](_0x30d9ac(0x1c4)),this['isRunning']=![];}),this[_0x5d91c3(0x1d6)]['on']('consumer.crash',_0x2b4e0a=>{const _0x4e3b27=_0x5d91c3;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4e0a['payload'][_0x4e3b27(0x1c7)][_0x4e3b27(0x1e9)]),this['isRunning']=![];}),this['consumer']['on'](_0x5d91c3(0x1d5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x15617e(0x181)](_0x2c9418,_0x1cc87f=![]){const _0x80232=a0_0x15617e;if(!this['isConnected'])return console['error'](_0x80232(0x1ae)),![];try{const _0x4c7761=Array[_0x80232(0x1dc)](_0x2c9418)?_0x2c9418:[_0x2c9418];for(const _0x5844f7 of _0x4c7761){await this[_0x80232(0x1d6)][_0x80232(0x181)]({'topic':_0x5844f7,'fromBeginning':_0x1cc87f}),console[_0x80232(0x1d1)](_0x80232(0x1e4)+_0x5844f7+'\x20(fromBeginning:\x20'+_0x1cc87f+')');}return this[_0x80232(0x1fb)]=[...new Set([...this[_0x80232(0x1fb)],..._0x4c7761])],!![];}catch(_0x14eab6){return console[_0x80232(0x1c7)](_0x80232(0x194)+_0x14eab6['message']),![];}}async[a0_0x15617e(0x1df)](_0x3d394c,_0x142209={}){const _0x514ed4=a0_0x15617e,_0x99a5b4={'VUccK':function(_0x504421,_0x26f3f6){return _0x504421>_0x26f3f6;},'IRGmX':function(_0x53c96d){return _0x53c96d();},'kjRIZ':_0x514ed4(0x1e1),'HYfWp':function(_0x48dcb0,_0x409307){return _0x48dcb0!==_0x409307;}};if(!this['isConnected'])return console['error'](_0x99a5b4['kjRIZ']),![];if(this['isRunning'])return console['log'](_0x514ed4(0x1f2)),!![];const _0x1d07d2=this[_0x514ed4(0x1b8)]();this[_0x514ed4(0x189)]=_0x3d394c;try{return this['metrics'][_0x514ed4(0x1d8)]=new Date(),await this['consumer']['run']({'autoCommit':_0x99a5b4['HYfWp'](_0x142209[_0x514ed4(0x1a0)],undefined)?_0x142209[_0x514ed4(0x1a0)]:_0x1d07d2[_0x514ed4(0x1a0)],'autoCommitInterval':_0x1d07d2['autoCommitInterval'],'eachMessage':async({topic:_0x58f10d,partition:_0x4dfcca,message:_0x4ba9c4,heartbeat:_0x320fa7})=>{const _0x8b8946=_0x514ed4,_0x224683=Date[_0x8b8946(0x18b)]();this[_0x8b8946(0x1f6)][_0x8b8946(0x1b9)]++,this[_0x8b8946(0x1f6)]['lastMessageTime']=new Date();try{const _0x4f19af=_0x4ba9c4['value']?_0x4ba9c4['value'][_0x8b8946(0x197)]():null;let _0x2c0055=null;try{_0x2c0055=_0x4f19af?JSON['parse'](_0x4f19af):null;}catch(_0x4f3654){_0x2c0055=_0x4f19af;}const _0x106fac={'topic':_0x58f10d,'partition':_0x4dfcca,'offset':_0x4ba9c4['offset'],'key':_0x4ba9c4['key']?_0x4ba9c4[_0x8b8946(0x1db)]['toString']():null,'headers':this[_0x8b8946(0x19d)](_0x4ba9c4['headers']),'timestamp':_0x4ba9c4[_0x8b8946(0x180)],'value':_0x2c0055,'raw':_0x4f19af};this['messageHandler']&&await this['messageHandler'](_0x106fac);!_0x1d07d2['autoCommit']&&await this['consumer'][_0x8b8946(0x1f0)]([{'topic':_0x58f10d,'partition':_0x4dfcca,'offset':(parseInt(_0x4ba9c4[_0x8b8946(0x1b6)])+0x1)[_0x8b8946(0x197)]()}]);this['metrics'][_0x8b8946(0x1a3)]++;const _0x2350b1=Date['now']()-_0x224683;this['metrics'][_0x8b8946(0x1b4)][_0x8b8946(0x1a2)](_0x2350b1),_0x99a5b4[_0x8b8946(0x199)](this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)][_0x8b8946(0x1a7)],0x64)&&this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)]['shift'](),await _0x99a5b4['IRGmX'](_0x320fa7);}catch(_0x21b3e8){this[_0x8b8946(0x1f6)][_0x8b8946(0x1e2)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x21b3e8['message']);throw _0x21b3e8;}}}),this[_0x514ed4(0x1cc)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2af1b2){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2af1b2['message']),![];}}['parseHeaders'](_0x2aa4e9){const _0x37dcd5=a0_0x15617e;if(!_0x2aa4e9)return{};const _0x34531f={};for(const [_0x350deb,_0x16f89c]of Object[_0x37dcd5(0x186)](_0x2aa4e9)){_0x34531f[_0x350deb]=_0x16f89c?_0x16f89c[_0x37dcd5(0x197)]():null;}return _0x34531f;}async['pause'](){const _0x101123=a0_0x15617e,_0x27c8d9={'ezdWS':_0x101123(0x1b0)};if(!this[_0x101123(0x18c)]||!this[_0x101123(0x1cc)])return console['log'](_0x27c8d9[_0x101123(0x1ce)]),![];if(this['isPaused'])return console[_0x101123(0x1d1)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x52dc92=this[_0x101123(0x1fb)][_0x101123(0x17e)](_0x1028a1=>({'topic':_0x1028a1}));return this['consumer']['pause'](_0x52dc92),this['isPaused']=!![],console[_0x101123(0x1d1)](_0x101123(0x1d7)),!![];}catch(_0xb9b935){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xb9b935[_0x101123(0x1e9)]),![];}}async['resume'](){const _0x5a470b=a0_0x15617e,_0x2aaf53={'pnDva':_0x5a470b(0x1a8)};if(!this['isConnected']||!this['isRunning'])return console[_0x5a470b(0x1d1)](_0x2aaf53[_0x5a470b(0x1be)]),![];if(!this[_0x5a470b(0x183)])return console[_0x5a470b(0x1d1)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x300c5e=this[_0x5a470b(0x1fb)][_0x5a470b(0x17e)](_0x55eada=>({'topic':_0x55eada}));return this[_0x5a470b(0x1d6)]['resume'](_0x300c5e),this['isPaused']=![],console['log'](_0x5a470b(0x1a6)),!![];}catch(_0x2f1dce){return console[_0x5a470b(0x1c7)](_0x5a470b(0x1c0)+_0x2f1dce[_0x5a470b(0x1e9)]),![];}}async[a0_0x15617e(0x1b5)](){const _0x5cd519=a0_0x15617e,_0x85868b={'uZGdj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','CHsmw':_0x5cd519(0x1e7),'wWyUV':_0x5cd519(0x1ac)};if(!this['isConnected'])return console[_0x5cd519(0x1d1)](_0x85868b['uZGdj']),!![];try{const _0x56bff4=_0x85868b[_0x5cd519(0x1f4)][_0x5cd519(0x1a5)]('|');let _0x56f3df=0x0;while(!![]){switch(_0x56bff4[_0x56f3df++]){case'0':this['consumer']&&(await this[_0x5cd519(0x1d6)]['stop'](),await this[_0x5cd519(0x1d6)]['disconnect']());continue;case'1':this['isRunning']=![];continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':console['log'](_0x85868b['wWyUV']);continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x160e07){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x160e07['message']),![];}}async['seekToOffset'](_0x2c9431,_0x1e3e60,_0x540c7b){const _0x9276e6=a0_0x15617e;if(!this['isConnected'])return console[_0x9276e6(0x1c7)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer']['seek']({'topic':_0x2c9431,'partition':_0x1e3e60,'offset':_0x540c7b[_0x9276e6(0x197)]()}),console['log'](_0x9276e6(0x1ea)+_0x540c7b+'\x20on\x20'+_0x2c9431+':'+_0x1e3e60),!![];}catch(_0x354c1c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x354c1c['message']),![];}}[a0_0x15617e(0x1fa)](){const _0x5778d4=a0_0x15617e,_0x2c98d2=this['getConfig']();return{'enabled':_0x2c98d2[_0x5778d4(0x1f1)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x5778d4(0x183)],'brokers':_0x2c98d2['brokers'],'clientId':_0x2c98d2['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x15617e(0x1f3)](){const _0x94adf=a0_0x15617e,_0x22c3aa={'iNKsR':function(_0x5e7ac6,_0x5c7371){return _0x5e7ac6/_0x5c7371;},'Kxrly':function(_0x53e0aa,_0xec32e9){return _0x53e0aa>_0xec32e9;},'pZzGi':function(_0x59c868,_0x48b9d7){return _0x59c868+_0x48b9d7;},'XmTfQ':function(_0x4f87c9,_0xbc4f94){return _0x4f87c9*_0xbc4f94;},'BaRtu':function(_0x3b69a8,_0x28df7d){return _0x3b69a8-_0x28df7d;},'SMrcp':function(_0x529d05,_0x317ba7){return _0x529d05+_0x317ba7;},'bXEry':function(_0x28b368,_0x3ad984){return _0x28b368+_0x3ad984;}},_0x11aa00=this[_0x94adf(0x1f6)]['processingTimes'][_0x94adf(0x1a7)]>0x0?_0x22c3aa[_0x94adf(0x1c2)](this[_0x94adf(0x1f6)][_0x94adf(0x1b4)][_0x94adf(0x17f)]((_0x545b80,_0x49d671)=>_0x545b80+_0x49d671,0x0),this['metrics'][_0x94adf(0x1b4)][_0x94adf(0x1a7)]):0x0,_0x3f7802=this['metrics']['processingTimes']['length']>0x0?Math[_0x94adf(0x1e3)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0,_0x85d3f3=this['metrics'][_0x94adf(0x1b4)]['length']>0x0?Math[_0x94adf(0x1bb)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0;return{'messagesReceived':this[_0x94adf(0x1f6)]['messagesReceived'],'messagesProcessed':this[_0x94adf(0x1f6)][_0x94adf(0x1a3)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x22c3aa['Kxrly'](this[_0x94adf(0x1f6)][_0x94adf(0x1b9)],0x0)?_0x22c3aa[_0x94adf(0x1bc)](_0x22c3aa[_0x94adf(0x18a)](_0x22c3aa[_0x94adf(0x1c2)](this['metrics'][_0x94adf(0x1a3)],this[_0x94adf(0x1f6)][_0x94adf(0x1b9)]),0x64)[_0x94adf(0x18d)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x94adf(0x19a)],'startTime':this[_0x94adf(0x1f6)][_0x94adf(0x1d8)],'uptime':this['metrics'][_0x94adf(0x1d8)]?_0x22c3aa['pZzGi'](Math['floor'](_0x22c3aa[_0x94adf(0x18f)](Date['now'](),this[_0x94adf(0x1f6)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x11aa00)+'ms','min':_0x22c3aa['SMrcp'](_0x3f7802,'ms'),'max':_0x22c3aa[_0x94adf(0x1d4)](_0x85d3f3,'ms')}};}[a0_0x15617e(0x1bd)](){const _0x32e7b5=a0_0x15617e,_0x326bc9={'TYRGD':_0x32e7b5(0x1a4)};this[_0x32e7b5(0x1f6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x32e7b5(0x1d1)](_0x326bc9[_0x32e7b5(0x1f5)]);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x547ce5=a0_0x15617e;instance&&(instance[_0x547ce5(0x19c)](),instance=null);}function a0_0x432e(){const _0x3fd567=['vfLsr0q','Bwv0CMLJCW','qvrSB3C','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBLbYB21PC2u','z2v0u3rHDhvZ','C3vIC2nYAwjLzfrVCgLJCW','lwnVBNn1BwvYlwDYB3vW','BwfW','CMvKDwnL','DgLTzxn0yw1W','C3vIC2nYAwjL','su5gtW','AxnqyxvZzwq','zhHhqwK','mJG1ntG3mxLZtxvhBG','zw50CMLLCW','s0fgs0fFu0fttf9qqvntv09sra','Dhj1zq','BwvZC2fNzuHHBMrSzxi','wg1uzLe','BM93','AxndB25Uzwn0zwq','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','qMfsDhu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMv0CNLnyxHezwXHEq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rgnby28','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','CMv0CNLezwXHEq','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','y2XPzw50swq','vLvJy0S','BgfZDe1LC3nHz2vuAw1L','mtm1mZe1nLfPB0zvBW','y2XVC2u','CgfYC2vizwfKzxjZ','A2fMA2e','v0fstG','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','vgjOuwW','s0fgs0fFq0Xjru5ux0Le','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','nda0Eu1Uswr6','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UBMvJDa','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWma','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z2v0q29UzMLN','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4','CfP6r2K','CMvZzxrnzxrYAwnZ','Cg5eDMe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z3jVDxbjza','Au5lC1i','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bg9Ntgv2zwW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','zxjYB3i','nZq1oda0DgDqqNvt','s0fgs0fFuKvuuLLFqvruru1qvfm','CNnWAeu','C2vZC2LVBLrPBwvVDxq','AxnsDw5UAw5N','CMv0CNLbDhrLBxb0CW','zxPKv1m','mJu0ote0mhLHuNjMta','qKvfuhu','Bg9N','zw52','mJKZodrhrvjfAMi','yLHfCNK','y29UC3vTzxiUCMvIywXHBMnPBMC','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C3rHCNruAw1L','s0fgs0fFru5bqKXfra','AMLjyK8','A2v5','AxnbCNjHEq','tK9useLorW','s0fgs0fFqvvut19dt01nsvq','C3rHCNrdB25ZDw1PBMC','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzxngywLSzwq','BwLU','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu2mtfZANrRshe','nZC3r3fmAhL0','mhW1Fdf8mNW0Fdm','icHNCM91CeLKoIa','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFte9hx0XfvKvm','mZC0mJKWofLJv2LkrW','Bg9JywXOB3n0oJKWoti','s0fgs0fFsevbuLrcrufux0LovevsvKfm','s0fgs0fFu0fttf9nruniqu5ju00','y29TBwL0t2zMC2v0CW','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0twv0CMLJCW','q0HZBxC'];a0_0x432e=function(){return _0x3fd567;};return a0_0x432e();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|