@restforgejs/platform 5.1.16 → 5.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dbschema.js +2 -1
- package/generators/cli/endpoint/list.js +264 -0
- package/generators/cli/fast-track.js +395 -37
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +229 -0
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/generators/dashboard-generator.js +5 -5
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +80 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/check-install.js +8 -8
- 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';function a0_0x44e4(){const _0xbbbfb7=['D29YA2vYswq','B2fyDhG','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','ihrVia','Bg9Nz2vY','mtqWnJqZofHJEvnzDW','Ew56tNy','z2v0','mtG4m3HRqvbZDG','CxvPDa','rwzHCLK','zfPrEhq','BxHSB3y','yNjVywrJyxn0','y2XPzw50CW','DxbNCMfKzq','x2jYB2fKy2fZDeXVy2fS','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','C3vIC2nYAwjL','zxjYB3i','Aw5JBhvKzxm','zgf0yv9JAgfUz2u','Aw5MBW','DxjS','uKvesvnFueftu1DpuKq','ywn0Aw9U','x2LUAxrPywXPEMvK','mti3lJaUmc4X','mtbgrMvXzuO','Ec1HCgKTA2v5','mtiXotjytMztB1G','C3rHCNrZv2L0Aa','tgL2zsbtEw5Jia','mKndyw9Hyq','Ag9ZDa','ChvZAa','zw52','Cg9UzW','r014EMi','Dw5ZDwjZy3jPyMu','y2HHBM5LBa','x293BLb1yMXPC2HLCG','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','t3rnwKe','D2fYBG','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','x3jLzgLZu3vIC2nYAwjLCG','zNvSBa','x2XVz2DLCG','DgvYBwLUyxrL','mZC4mtq5y0nnze1P','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','sM1jt1a','x2HLyxj0yMvHDfrPBwvY','C2XPy2u','l3DZ','Dw5ZDwjZy3jPyMvK','x3jLzgLZuhvIBgLZAgvY','uKvesvnFse9tva','C3rYAw5N','Ahr0CdOVlW','r0zszhi','ChvIBgLZAgvY','B1bSEuS','AxnbBgL2zq','CMvTB3rLqwrKCMvZCW','y2f0y2G','AuvXrfa','qufXC0u','zxHWB3j0CW','vezhvhy','y2XVC2u','C3vIC2nYAwjLzenOyw5UzwXZ','uKvesvnFue9sva','Dg9ju09tDhjPBMC','mJa2odHivvPiAuW','mJuWtgvyrxfL','D3jPDgu','CMvXDwvZDeLK','AgfZ','x3nLBMruB0nSAwvUDa','BgL2zxn5BMnFD3nZx2vYCM9Y','AxnbCNjHEq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','nxWYFdr8mxWZFdz8ma','zgvSzxrL','AgvHzgvYCW','nMPItMHQrq','x3DZCW','Ec1MB3j3yxjKzwqTzM9Y','yxbPs2v5','CgLUzW','BhzVAe0','x3nLDhvWvxbNCMfKzuf1DgG','x2HHBMrSzunSAwvUDe1LC3nHz2u','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','otaYotaWzxbSwM5l','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','sNndy2q','zgf0yq','x3DVCMTLCKLK','tvLdBeu','y2HHBM5LBhm','x3n1yNnJCMLWDgLVBNm','Dg9tDhjPBMC','C2H1DgrVD24','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','z1PYsem','z2nRrMy','x3b1yMXPC2HuB1jLzgLZ','qu1Lv2S','zgvIDwC','z2v0q2XPzw50','u2vYDMvYihnODxr0Aw5NigrVD24','mta5nJqYnu5Azuv2uW','x2HHBMrSzvvUC3vIC2nYAwjL','wuj0tMq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BgvUz3rO','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','uKvesvnFrei','Bg9JywXOB3n0','CMvHzhLtDgf0zq','x3n0yxj0sgvHCNrIzwf0','AgfUzgXLvxbNCMfKzq','C2L6zq','C2v0','ig9Uia','y29UBMvJDa','yKPpuMW','C3rYAw5NAwz5','ndiXmty0mejwtg9NwG','BwvZC2fNzq','vhPiC2C','ihnODxqGzg93BG','x21Vzgu','x29WDgLVBNm','qK5VvxK','zenzD1a','C3bSAxq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq'];a0_0x44e4=function(){return _0xbbbfb7;};return a0_0x44e4();}const a0_0x4460f6=a0_0x5a81;function a0_0x5a81(_0x2eb1fd,_0x138baf){_0x2eb1fd=_0x2eb1fd-0x85;const _0x44e4ce=a0_0x44e4();let _0x5a81ef=_0x44e4ce[_0x2eb1fd];if(a0_0x5a81['HkpLmi']===undefined){var _0x3f5085=function(_0x316d5f){const _0x19c42c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a25ce='',_0x14591c='';for(let _0x3d895f=0x0,_0x262a52,_0x9e1b2e,_0x60126a=0x0;_0x9e1b2e=_0x316d5f['charAt'](_0x60126a++);~_0x9e1b2e&&(_0x262a52=_0x3d895f%0x4?_0x262a52*0x40+_0x9e1b2e:_0x9e1b2e,_0x3d895f++%0x4)?_0x3a25ce+=String['fromCharCode'](0xff&_0x262a52>>(-0x2*_0x3d895f&0x6)):0x0){_0x9e1b2e=_0x19c42c['indexOf'](_0x9e1b2e);}for(let _0x2b81b6=0x0,_0x3cfd2a=_0x3a25ce['length'];_0x2b81b6<_0x3cfd2a;_0x2b81b6++){_0x14591c+='%'+('00'+_0x3a25ce['charCodeAt'](_0x2b81b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14591c);};a0_0x5a81['bERlfR']=_0x3f5085,a0_0x5a81['chwhKd']={},a0_0x5a81['HkpLmi']=!![];}const _0x38f588=_0x44e4ce[0x0],_0x24c3b1=_0x2eb1fd+_0x38f588,_0xa5735e=a0_0x5a81['chwhKd'][_0x24c3b1];return!_0xa5735e?(_0x5a81ef=a0_0x5a81['bERlfR'](_0x5a81ef),a0_0x5a81['chwhKd'][_0x24c3b1]=_0x5a81ef):_0x5a81ef=_0xa5735e,_0x5a81ef;}(function(_0x22c697,_0x58b087){const _0x517e46=a0_0x5a81,_0x449d64=_0x22c697();while(!![]){try{const _0x81285=-parseInt(_0x517e46(0xa6))/0x1*(parseInt(_0x517e46(0x95))/0x2)+parseInt(_0x517e46(0xcb))/0x3*(parseInt(_0x517e46(0xd4))/0x4)+-parseInt(_0x517e46(0xc0))/0x5*(-parseInt(_0x517e46(0xbf))/0x6)+parseInt(_0x517e46(0x109))/0x7*(parseInt(_0x517e46(0x92))/0x8)+parseInt(_0x517e46(0xe6))/0x9*(-parseInt(_0x517e46(0x90))/0xa)+parseInt(_0x517e46(0x106))/0xb+-parseInt(_0x517e46(0xf7))/0xc;if(_0x81285===_0x58b087)break;else _0x449d64['push'](_0x449d64['shift']());}catch(_0x4aa4cb){_0x449d64['push'](_0x449d64['shift']());}}}(a0_0x44e4,0x4bdc0));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x4460f6(0x8b)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x1a5a8d=a0_0x4460f6;this[_0x1a5a8d(0xcc)]=null,this['_initialized']=![],this[_0x1a5a8d(0xfb)]=null,this['_options']={},this[_0x1a5a8d(0xa4)]=console,this[_0x1a5a8d(0xdb)]=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x1a5a8d(0xa2)]=null,this[_0x1a5a8d(0xd8)]=process['pid'];}['initialize'](_0x505ae8,_0x35faf4={}){const _0x118f4a=a0_0x4460f6,_0x8ab0c1={'yPRix':function(_0x24b392,_0x43fde0,_0x6ae2e9){return _0x24b392(_0x43fde0,_0x6ae2e9);},'isyWZ':_0x118f4a(0xab)};if(this[_0x118f4a(0x8e)])return;this[_0x118f4a(0xfc)]=_0x35faf4,this['_mode']='full';try{this[_0x118f4a(0xa4)]=require('../../utils/logger')[_0x118f4a(0x105)]||console;}catch(_0x414deb){this['_logger']=console;}const _0x41e6ba=_0x8ab0c1['yPRix'](parseInt,process[_0x118f4a(0x98)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x118f4a(0xcc)]=new WebSocketServer({'server':_0x505ae8,'path':_0x8ab0c1['isyWZ']}),this[_0x118f4a(0xd1)](_0x505ae8),this['_wss']['on']('connection',(_0x5aea53,_0x4da033)=>this['_handleConnection'](_0x5aea53,_0x4da033)),this[_0x118f4a(0xcc)]['on'](_0x118f4a(0x87),_0x528828=>{const _0x2d404b=_0x118f4a;this[_0x2d404b(0xa4)]['error']({'event':_0x2d404b(0xc5),'error':_0x528828[_0x2d404b(0xf8)]},'WebSocket\x20server\x20error:\x20'+_0x528828[_0x2d404b(0xf8)]);}),this['_startHeartbeat'](_0x41e6ba),this['_setupRedis'](),this[_0x118f4a(0x8e)]=!![],this['_logger'][_0x118f4a(0x8a)]({'event':'livesync_initialized','mode':_0x118f4a(0xa3),'path':_0x118f4a(0xab),'heartbeat':_0x41e6ba+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x41e6ba+'s)');}['initializeAsPublisher'](_0x419229={}){const _0x39a85a=a0_0x4460f6,_0x1863ab={'jAWAF':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)','bJORl':_0x39a85a(0xb2)},_0x2ba014=_0x39a85a(0xc8)[_0x39a85a(0xff)]('|');let _0xd0c65=0x0;while(!![]){switch(_0x2ba014[_0xd0c65++]){case'0':this[_0x39a85a(0xa4)][_0x39a85a(0x8a)]({'event':'livesync_publisher_initialized','mode':_0x39a85a(0xb2)},_0x1863ab['jAWAF']);continue;case'1':try{this[_0x39a85a(0xa4)]=require('../../utils/logger')['logger']||console;}catch(_0xc9a4f9){this[_0x39a85a(0xa4)]=console;}continue;case'2':this['_options']=_0x419229;continue;case'3':this['_setupRedisPublisher']();continue;case'4':this['_mode']=_0x1863ab[_0x39a85a(0xf5)];continue;case'5':if(this[_0x39a85a(0x8e)])return;continue;case'6':this[_0x39a85a(0x8e)]=!![];continue;}break;}}['isInitialized'](){const _0x1a9107=a0_0x4460f6;return this[_0x1a9107(0x8e)];}['broadcast'](_0x10a456,_0x647c81){const _0x52cb15=a0_0x4460f6,_0x34522d={'TFGTv':function(_0x3dba10,_0x363135){return _0x3dba10===_0x363135;},'PTgSq':_0x52cb15(0xb2),'oZjJf':function(_0xddb96,_0x26a823){return _0xddb96||_0x26a823;},'luIlZ':'livesync_broadcast'};if(!this['_initialized'])return;if(_0x34522d['TFGTv'](this[_0x52cb15(0xfb)],_0x34522d['PTgSq'])){this['_publishToRedis'](_0x10a456,_0x647c81);return;}const _0x2c9ae2=JSON['stringify']({'type':_0x52cb15(0x89),'channel':_0x10a456,'action':_0x647c81[_0x52cb15(0x8d)],'data':_0x647c81['data'],'requestId':_0x647c81[_0x52cb15(0xc2)]||null,'timestamp':new Date()['toISOString']()}),[_0x991606]=_0x10a456[_0x52cb15(0xff)](':');let _0x4a428e=0x0;for(const [_0xf93f39,_0x412ba9]of this['_subscriptions']){const _0x4729e5=_0xf93f39===_0x10a456,_0x4dcba1=_0x34522d[_0x52cb15(0xba)](_0xf93f39,_0x991606+':*');if(_0x34522d['oZjJf'](_0x4729e5,_0x4dcba1))for(const _0x313a25 of _0x412ba9){if(_0x313a25[_0x52cb15(0xee)]===0x1)try{_0x313a25['send'](_0x2c9ae2),_0x4a428e++;}catch(_0x4f0e5d){}}}_0x4a428e>0x0&&this[_0x52cb15(0xa4)][_0x52cb15(0xe3)]({'event':_0x34522d['luIlZ'],'channel':_0x10a456,'action':_0x647c81[_0x52cb15(0x8d)],'clients':_0x4a428e},'Broadcast\x20'+_0x647c81['action']+_0x52cb15(0xf3)+_0x10a456+_0x52cb15(0x104)+_0x4a428e+'\x20client(s)');}[a0_0x4460f6(0xe1)](_0x433454,_0x34d35e){const _0x92ebb2=a0_0x4460f6;if(!this[_0x92ebb2(0xad)])return;const _0xe5ec61=JSON[_0x92ebb2(0xf6)]({'channel':_0x433454,'message':_0x34d35e,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x92ebb2(0x10e),_0xe5ec61)[_0x92ebb2(0xb6)](()=>{});}[a0_0x4460f6(0xdd)](){const _0x39b760=a0_0x4460f6;if(!this['_initialized'])return;this[_0x39b760(0xa9)]&&(clearInterval(this[_0x39b760(0xa9)]),this[_0x39b760(0xa9)]=null);if(this['_wss']){for(const _0x532fe9 of this['_wss'][_0x39b760(0x10f)]){try{_0x532fe9[_0x39b760(0xbb)](0x3e9,_0x39b760(0xe5));}catch(_0x4c5a2e){}}this['_wss'][_0x39b760(0xbb)]();}if(this[_0x39b760(0xa2)])try{this['_redisSubscriber'][_0x39b760(0x9b)](),this[_0x39b760(0xa2)][_0x39b760(0x10a)]();}catch(_0x3d5752){}if(this[_0x39b760(0x9d)]&&this[_0x39b760(0xad)])try{this[_0x39b760(0xad)]['quit']();}catch(_0x5dd832){}this[_0x39b760(0xdb)]['clear'](),this['_initialized']=![],this[_0x39b760(0xa4)]['info']({'event':'livesync_shutdown','mode':this['_mode']},_0x39b760(0x94)+this[_0x39b760(0xfb)]+_0x39b760(0xfa));}['_setupUpgradeAuth'](_0x3da622){const _0x46bca9=a0_0x4460f6,_0x233560={'MzwXL':'x-api-key','oPlyK':function(_0x4a1b3c,_0x2fbc19){return _0x4a1b3c!==_0x2fbc19;},'YBtNd':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','ODgJj':_0x46bca9(0x110)},_0x25a3dc=_0x3da622['listeners'](_0x233560['ODgJj'])[_0x46bca9(0xaa)]();_0x3da622['removeAllListeners'](_0x46bca9(0x110)),_0x3da622['on'](_0x233560['ODgJj'],(_0x3a7e0f,_0x20c41e,_0xb7904a)=>{const _0x360077=_0x46bca9,_0x4b4842={'KffqU':'connection'};if(!_0x3a7e0f['url']||!_0x3a7e0f[_0x360077(0x8b)][_0x360077(0x93)]('/ws')){for(const _0x26a11a of _0x25a3dc){_0x26a11a['call'](_0x3da622,_0x3a7e0f,_0x20c41e,_0xb7904a);}return;}if(this['_options'][_0x360077(0xce)]){const _0x512843=new URL(_0x3a7e0f['url'],_0x360077(0xb0)+(_0x3a7e0f[_0x360077(0xca)][_0x360077(0x96)]||_0x360077(0xed))),_0x19c0ad=_0x512843['searchParams']['get'](_0x360077(0x91))||_0x3a7e0f['headers'][_0x233560['MzwXL']];if(!_0x19c0ad||_0x233560[_0x360077(0xb3)](_0x19c0ad,this[_0x360077(0xfc)][_0x360077(0xce)])){_0x20c41e[_0x360077(0xc1)](_0x233560[_0x360077(0xe8)]),_0x20c41e['destroy']();return;}}this['_wss'][_0x360077(0xf0)](_0x3a7e0f,_0x20c41e,_0xb7904a,_0x38a451=>{this['_wss']['emit'](_0x4b4842['KffqU'],_0x38a451,_0x3a7e0f);});});}['_handleConnection'](_0x5a79a0,_0x1d11a5){const _0xe4482e=a0_0x4460f6,_0x267bbf={'fDioK':'Invalid\x20JSON\x20message','dCYwP':_0xe4482e(0xd3),'BNoUy':_0xe4482e(0x9e),'ynzNv':_0xe4482e(0xbb),'CUktf':'error'};_0x5a79a0['isAlive']=!![],_0x5a79a0[_0xe4482e(0xbc)]=new Set();const _0x5668de=_0x1d11a5['headers'][_0xe4482e(0xcd)]||_0x1d11a5['socket'][_0xe4482e(0xb5)];this['_logger']['info']({'event':_0xe4482e(0x103),'ip':_0x5668de},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x5668de),_0x5a79a0['on'](_0xe4482e(0x99),()=>{_0x5a79a0['isAlive']=!![];}),_0x5a79a0['on']('message',_0x3ed0a1=>{const _0x3af88c=_0xe4482e;try{const _0x64bed5=JSON['parse'](_0x3ed0a1[_0x3af88c(0xdc)]());this[_0x3af88c(0xd2)](_0x5a79a0,_0x64bed5);}catch(_0x417914){this['_sendToClient'](_0x5a79a0,{'type':_0x3af88c(0x87),'message':_0x267bbf['fDioK']});}}),_0x5a79a0['on'](_0x267bbf[_0xe4482e(0x107)],()=>{const _0x14c8c1=_0xe4482e;this['_removeClientFromAllChannels'](_0x5a79a0),this[_0x14c8c1(0xa4)]['debug']({'event':_0x267bbf[_0x14c8c1(0xfe)],'ip':_0x5668de},_0x14c8c1(0xc7)+_0x5668de);}),_0x5a79a0['on'](_0x267bbf['CUktf'],_0x13c5bc=>{const _0x585872=_0xe4482e;this['_logger'][_0x585872(0xa0)]({'event':_0x267bbf[_0x585872(0xfd)],'error':_0x13c5bc[_0x585872(0xf8)]},_0x585872(0xd5)+_0x13c5bc['message']),this['_removeClientFromAllChannels'](_0x5a79a0);});}['_handleClientMessage'](_0x4ac416,_0x50ff65){const _0x19f190=a0_0x4460f6,_0x4189ea={'gckFf':_0x19f190(0x9b),'iEqDP':'pong','JsBuU':_0x19f190(0x87)};switch(_0x50ff65['type']){case _0x19f190(0x86):this['_handleSubscribe'](_0x4ac416,_0x50ff65[_0x19f190(0xda)]);break;case _0x4189ea[_0x19f190(0xe0)]:this[_0x19f190(0xe7)](_0x4ac416,_0x50ff65['channels']);break;case _0x4189ea[_0x19f190(0xb7)]:_0x4ac416['isAlive']=!![];break;default:this[_0x19f190(0xc4)](_0x4ac416,{'type':_0x4189ea['JsBuU'],'message':_0x19f190(0xa1)+_0x50ff65['type']});}}['_handleSubscribe'](_0x8fb4fb,_0x2f432c){const _0x234838=a0_0x4460f6,_0x34a43a={'AAqsE':_0x234838(0x87),'OAqqQ':_0x234838(0x100),'sDILY':'subscribed','JnOMT':'livesync_subscribe'};if(!Array['isArray'](_0x2f432c)||_0x2f432c[_0x234838(0xea)]===0x0){this[_0x234838(0xc4)](_0x8fb4fb,{'type':_0x34a43a[_0x234838(0xb8)],'message':_0x34a43a['OAqqQ']});return;}const _0x3783f5=[];for(const _0x1872b5 of _0x2f432c){if(typeof _0x1872b5!==_0x234838(0xaf)||!_0x1872b5[_0x234838(0x88)](':'))continue;!this[_0x234838(0xdb)][_0x234838(0xc3)](_0x1872b5)&&this['_subscriptions'][_0x234838(0xf2)](_0x1872b5,new Set()),this['_subscriptions']['get'](_0x1872b5)['add'](_0x8fb4fb),_0x8fb4fb['subscribedChannels']['add'](_0x1872b5),_0x3783f5[_0x234838(0x97)](_0x1872b5);}_0x3783f5['length']>0x0&&(this['_sendToClient'](_0x8fb4fb,{'type':_0x34a43a['sDILY'],'channels':_0x3783f5,'timestamp':new Date()[_0x234838(0xbe)]()}),this[_0x234838(0xa4)]['debug']({'event':_0x34a43a['JnOMT'],'channels':_0x3783f5},'Client\x20subscribed\x20to:\x20'+_0x3783f5['join'](',\x20')));}['_handleUnsubscribe'](_0x37838a,_0x4fbeaa){const _0x47cd86=a0_0x4460f6,_0x331a8a={'JsCcd':function(_0x31adce,_0x283dba){return _0x31adce===_0x283dba;},'mxlov':_0x47cd86(0xac)};if(!Array[_0x47cd86(0xc6)](_0x4fbeaa))return;const _0x3dba06=[];for(const _0x5978b4 of _0x4fbeaa){this['_subscriptions']['has'](_0x5978b4)&&(this[_0x47cd86(0xdb)][_0x47cd86(0x108)](_0x5978b4)[_0x47cd86(0xc9)](_0x37838a),_0x331a8a[_0x47cd86(0xd6)](this[_0x47cd86(0xdb)][_0x47cd86(0x108)](_0x5978b4)[_0x47cd86(0xf1)],0x0)&&this[_0x47cd86(0xdb)]['delete'](_0x5978b4)),_0x37838a[_0x47cd86(0xbc)]['delete'](_0x5978b4),_0x3dba06['push'](_0x5978b4);}_0x3dba06[_0x47cd86(0xea)]>0x0&&this['_sendToClient'](_0x37838a,{'type':_0x331a8a[_0x47cd86(0x10d)],'channels':_0x3dba06,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x419339){const _0x2d4c80=a0_0x4460f6,_0x5653ec={'TzHsg':function(_0x2cf810,_0x57ce26){return _0x2cf810===_0x57ce26;}};if(!_0x419339['subscribedChannels'])return;for(const _0x522db0 of _0x419339[_0x2d4c80(0xbc)]){this['_subscriptions'][_0x2d4c80(0xc3)](_0x522db0)&&(this['_subscriptions']['get'](_0x522db0)[_0x2d4c80(0xc9)](_0x419339),_0x5653ec[_0x2d4c80(0xf9)](this['_subscriptions'][_0x2d4c80(0x108)](_0x522db0)['size'],0x0)&&this[_0x2d4c80(0xdb)]['delete'](_0x522db0));}_0x419339[_0x2d4c80(0xbc)]['clear']();}['_sendToClient'](_0x5b9873,_0x2bebd4){const _0x5e9d07=a0_0x4460f6,_0x5ef9fa={'gZrHC':function(_0xd80e01,_0x477e8b){return _0xd80e01===_0x477e8b;}};if(_0x5ef9fa[_0x5e9d07(0xdf)](_0x5b9873['readyState'],0x1))try{_0x5b9873['send'](JSON[_0x5e9d07(0xf6)](_0x2bebd4));}catch(_0x803b2d){}}[a0_0x4460f6(0xef)](_0x512a52){const _0x53d834=a0_0x4460f6,_0x39a255={'EfarY':'ping','GFRdr':function(_0x39f448,_0x12e55c,_0xa5c1eb){return _0x39f448(_0x12e55c,_0xa5c1eb);}};this[_0x53d834(0xa9)]=_0x39a255[_0x53d834(0xb1)](setInterval,()=>{const _0x242ec0=_0x53d834;if(!this['_wss'])return;for(const _0x5dc121 of this[_0x242ec0(0xcc)]['clients']){if(!_0x5dc121[_0x242ec0(0xb4)]){this[_0x242ec0(0x85)](_0x5dc121),_0x5dc121[_0x242ec0(0xa5)]();continue;}_0x5dc121['isAlive']=![],this[_0x242ec0(0xc4)](_0x5dc121,{'type':_0x39a255[_0x242ec0(0x10b)],'timestamp':new Date()['toISOString']()});try{_0x5dc121[_0x242ec0(0xcf)]();}catch(_0x561393){}}},_0x512a52*0x3e8);}['_setupRedisPublisher'](){const _0x5c0bb8=a0_0x4460f6,_0x4482d5={'ZijnE':'127.0.0.1'};this['_ownPublisher']=![];try{try{const _0x10513c=require('../../utils/redis-client');this[_0x5c0bb8(0xad)]=_0x10513c[_0x5c0bb8(0xe4)]?_0x10513c[_0x5c0bb8(0xe4)]():null;}catch(_0xcce2e3){this[_0x5c0bb8(0xad)]=null;}if(!this['_redisPublisher']){const _0x112f08=require('ioredis'),_0x410f8d={'host':process['env']['REDIS_HOST']||_0x4482d5['ZijnE'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x5c0bb8(0x8c)]||undefined,'db':parseInt(process[_0x5c0bb8(0x98)][_0x5c0bb8(0xec)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x112f08(_0x410f8d),this['_ownPublisher']=!![],this[_0x5c0bb8(0xad)][_0x5c0bb8(0xf4)]()['catch'](()=>{const _0x46b750=_0x5c0bb8;this['_logger']['warn']({'event':_0x46b750(0xde)},_0x46b750(0xeb)),this[_0x46b750(0xad)]=null;});}}catch(_0x4e6a42){this['_logger'][_0x5c0bb8(0xa0)]({'event':'livesync_redis_unavailable','error':_0x4e6a42[_0x5c0bb8(0xf8)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x4e6a42['message']);}}['_setupRedis'](){const _0x4222fd=a0_0x4460f6,_0x1c3a5f={'oaXtx':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','amrOw':'livesync_redis_subscribe_error','dZQxt':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode','qYnhN':'message','lvohM':'ioredis','MYClE':function(_0x1d425c,_0x256cba,_0x1d10d8){return _0x1d425c(_0x256cba,_0x1d10d8);},'JmIOP':_0x4222fd(0xe9)};this[_0x4222fd(0x9d)]=![];try{const _0x481206=require(_0x1c3a5f[_0x4222fd(0xd0)]),_0x915ef2={'host':process['env'][_0x4222fd(0xae)]||_0x4222fd(0x8f),'port':_0x1c3a5f[_0x4222fd(0xd9)](parseInt,process[_0x4222fd(0x98)][_0x4222fd(0xbd)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x1c3a5f[_0x4222fd(0xd9)](parseInt,process[_0x4222fd(0x98)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x3f42cd=require('../../utils/redis-client');this['_redisPublisher']=_0x3f42cd[_0x4222fd(0xe4)]?_0x3f42cd[_0x4222fd(0xe4)]():null;}catch(_0x14e62e){this[_0x4222fd(0xad)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x481206(_0x915ef2),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x3a6640=_0x4222fd;this[_0x3a6640(0xa4)]['warn']({'event':_0x3a6640(0xde)},_0x1c3a5f[_0x3a6640(0x102)]),this['_redisPublisher']=null;})),this[_0x4222fd(0xa2)]=new _0x481206(_0x915ef2),this['_redisSubscriber']['connect']()['then'](()=>{const _0x36b0c6=_0x4222fd,_0x1a6582={'dqMiZ':function(_0x365888,_0x144634){return _0x365888===_0x144634;}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x36b0c6(0x10e),_0x4ddb10=>{const _0x1c19fc=_0x36b0c6;if(_0x4ddb10){this[_0x1c19fc(0xa4)]['error']({'event':_0x1c3a5f['amrOw'],'error':_0x4ddb10[_0x1c19fc(0xf8)]},_0x1c19fc(0xa7)+_0x4ddb10[_0x1c19fc(0xf8)]);return;}this[_0x1c19fc(0xa4)]['info']({'event':'livesync_redis_subscribed'},_0x1c3a5f[_0x1c19fc(0x10c)]);}),this[_0x36b0c6(0xa2)]['on'](_0x1c3a5f['qYnhN'],(_0x39fe12,_0x132eae)=>{const _0x13412f=_0x36b0c6;try{const _0x29eb1f=JSON['parse'](_0x132eae);if(_0x1a6582['dqMiZ'](_0x29eb1f[_0x13412f(0x101)],this['_workerId']))return;this[_0x13412f(0x111)](_0x29eb1f[_0x13412f(0x9c)],_0x29eb1f['message']);}catch(_0x1ca264){}});})[_0x4222fd(0xb6)](()=>{const _0x3947f7=_0x4222fd;this[_0x3947f7(0xa4)]['warn']({'event':'livesync_redis_subscriber_failed'},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this[_0x3947f7(0xa2)]=null;});}catch(_0x4417ba){this['_logger'][_0x4222fd(0xa0)]({'event':_0x1c3a5f[_0x4222fd(0xa8)],'error':_0x4417ba['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x4417ba[_0x4222fd(0xf8)]);}}[a0_0x4460f6(0x111)](_0x4a34a2,_0x4df650){const _0x5424e6=a0_0x4460f6,_0x56020d={'OtMZA':'data_change','AMeWk':function(_0x35c9ae,_0x20c7d0){return _0x35c9ae===_0x20c7d0;},'QGnQP':function(_0x1b4cb7,_0x455b56){return _0x1b4cb7||_0x455b56;},'GMxzb':function(_0x440c1f,_0x2cf35b){return _0x440c1f===_0x2cf35b;}};if(!this[_0x5424e6(0xcc)])return;const _0x4cbd60=JSON[_0x5424e6(0xf6)]({'type':_0x56020d[_0x5424e6(0x9f)],'channel':_0x4a34a2,'action':_0x4df650['action'],'data':_0x4df650[_0x5424e6(0xd7)],'requestId':_0x4df650['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x3a170a]=_0x4a34a2[_0x5424e6(0xff)](':');for(const [_0x105e18,_0x1353b2]of this[_0x5424e6(0xdb)]){const _0x10c02d=_0x105e18===_0x4a34a2,_0x1a40f7=_0x56020d[_0x5424e6(0xe2)](_0x105e18,_0x3a170a+':*');if(_0x56020d['QGnQP'](_0x10c02d,_0x1a40f7))for(const _0x535fcd of _0x1353b2){if(_0x56020d[_0x5424e6(0x9a)](_0x535fcd['readyState'],0x1))try{_0x535fcd['send'](_0x4cbd60);}catch(_0xeb3ff8){}}}}}module[a0_0x4460f6(0xb9)]=WebSocketBroadcaster;
|
|
1
|
+
'use strict';function a0_0x3e63(){const _0x543c80=['sw52ywXPzcbku09oig1LC3nHz2u','zgvZDhjVEq','s1fkAuK','mti3lJaUmc4X','x2HHBMrSzvvUC3vIC2nYAwjL','EvP0q1y','C2L6zq','uePlyu0','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','C2H1DgrVD24','ihrVia','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','CMvHzhLtDgf0zq','zw52','Aw9YzwrPCW','Aw5JBhvKzxm','z2v0','CMvZDgzVCMDLoMXPDMvZEw5JoG','y2f0y2G','uKvesvnFrei','C3bSAxq','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZu3vIC2nYAwjLCG','Bg9JywXOB3n0','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','C2vHCMnOugfYyw1Z','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','CMvXDwvZDeLK','Cg9UzW','ywvcuuy','uKvesvnFueftu1DpuKq','zxHWB3j0CW','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','AgfZ','mtr3tKjythm','qNjVywrJyxn0ia','C3vIC2nYAwjLzenOyw5UzwXZ','DxjS','EMXQy2K','zgf0yv9JAgfUz2u','svzOuhK','Aw5PDgLHBgL6zq','y2XPzw50CW','BgL2zxn5BMnFC2H1DgrVD24','Dg9ju09tDhjPBMC','zgvIDwC','C2vUza','D2fYBG','BgvUz3rO','u2vYDMvYihnODxr0Aw5NigrVD24','x2LUAxrPywXPEMvK','mti2wfPvu3HV','ng9lyNPYzW','x3n1yNnJCMLWDgLVBNm','zxjYB3i','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5Jia','mti5otmWChLqCwjQ','Ahr0CdOVlW','yxbPs2v5','x2HLyxj0yMvHDfrPBwvY','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','mtm4otaYmgzOqK5YqG','uKvesvnFue9sva','x21Vzgu','x3nLBMruB0nSAwvUDa','BgL2zxn5BMnFC3vIC2nYAwjL','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','nte2mteYqKLTEKT3','Bg9Nz2vY','x3DZCW','y29UBMvJDa','r0HyDKq','zw1PDa','DxbNCMfKzq','BwvZC2fNzq','D29YA2vYswq','ndy3mdC2uxbryuDV','nJzswKLvy3m','zMLpB2K','qxHkzLK','ywn0Aw9U','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','x2jYB2fKy2fZDeXVy2fS','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x29WDgLVBNm','CgLUzW','nxWXFdz8mNW3Fdn8nhW4FdL8ma','mZy0mJGXsMXtD1H6','x3jLzgLZuhvIBgLZAgvY','Dw5ZDwjZy3jPyMu','ChvIBgLZAgvY','Aw5MBW','C29JA2v0','Ec1MB3j3yxjKzwqTzM9Y','ndaWnZLitvzPEKG','mtaZnurzz2XlvW','C2XPy2u','tMTeuK4','CMvTB3zLqwXStgLZDgvUzxjZ','x2XVz2DLCG','yvbdExa','x2HHBMrSzunVBM5Ly3rPB24','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','EM9OyMG','y29UBMvJDgLVBG','Ce5pze4','nMTWBM52rq','B3rUENK','y2XVC2u','C3rYAw5NAwz5','BgL2zxn5BMnFD3nZx2vYCM9Y','AgvHzgvYCW','BeP0u2S','AgfUzgXLvxbNCMfKzq','zNvSBa','z2v0q2XPzw50','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','zgvSzxrL','AxnbBgL2zq','zgf0yq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','x3nLDhvWvxbNCMfKzuf1DgG','C3vIC2nYAwjL','uKvesvnFse9tva','y2fSBa','DwTxuxy','ndu0u1jVCNLt','otLirxrsvu4'];a0_0x3e63=function(){return _0x543c80;};return a0_0x3e63();}const a0_0x1a64f2=a0_0x1038;function a0_0x1038(_0x10a4d1,_0x1b9497){_0x10a4d1=_0x10a4d1-0x99;const _0x3e6348=a0_0x3e63();let _0x1038e7=_0x3e6348[_0x10a4d1];if(a0_0x1038['MFQAHg']===undefined){var _0x1bbadd=function(_0x28f55f){const _0x25b92d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfbf776='',_0x549a7c='';for(let _0x4b28e3=0x0,_0x394141,_0x252d32,_0xb8fdb5=0x0;_0x252d32=_0x28f55f['charAt'](_0xb8fdb5++);~_0x252d32&&(_0x394141=_0x4b28e3%0x4?_0x394141*0x40+_0x252d32:_0x252d32,_0x4b28e3++%0x4)?_0xfbf776+=String['fromCharCode'](0xff&_0x394141>>(-0x2*_0x4b28e3&0x6)):0x0){_0x252d32=_0x25b92d['indexOf'](_0x252d32);}for(let _0x373658=0x0,_0x7b402b=_0xfbf776['length'];_0x373658<_0x7b402b;_0x373658++){_0x549a7c+='%'+('00'+_0xfbf776['charCodeAt'](_0x373658)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x549a7c);};a0_0x1038['YKCrPr']=_0x1bbadd,a0_0x1038['GbiDZT']={},a0_0x1038['MFQAHg']=!![];}const _0x48cc7b=_0x3e6348[0x0],_0x3792c4=_0x10a4d1+_0x48cc7b,_0x3b2bf6=a0_0x1038['GbiDZT'][_0x3792c4];return!_0x3b2bf6?(_0x1038e7=a0_0x1038['YKCrPr'](_0x1038e7),a0_0x1038['GbiDZT'][_0x3792c4]=_0x1038e7):_0x1038e7=_0x3b2bf6,_0x1038e7;}(function(_0x59e38c,_0x4d6203){const _0xc8ea59=a0_0x1038,_0x19292e=_0x59e38c();while(!![]){try{const _0x4b6fc4=parseInt(_0xc8ea59(0xdc))/0x1*(-parseInt(_0xc8ea59(0xfb))/0x2)+-parseInt(_0xc8ea59(0xd4))/0x3*(parseInt(_0xc8ea59(0xb0))/0x4)+parseInt(_0xc8ea59(0xba))/0x5*(parseInt(_0xc8ea59(0xe7))/0x6)+parseInt(_0xc8ea59(0x9e))/0x7*(-parseInt(_0xc8ea59(0xc0))/0x8)+parseInt(_0xc8ea59(0xfc))/0x9*(parseInt(_0xc8ea59(0xb5))/0xa)+parseInt(_0xc8ea59(0xca))/0xb*(parseInt(_0xc8ea59(0xc9))/0xc)+parseInt(_0xc8ea59(0xdb))/0xd*(parseInt(_0xc8ea59(0xaf))/0xe);if(_0x4b6fc4===_0x4d6203)break;else _0x19292e['push'](_0x19292e['shift']());}catch(_0x291fab){_0x19292e['push'](_0x19292e['shift']());}}}(a0_0x3e63,0x30004));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x1a64f2(0xa1)),REDIS_CHANNEL_PREFIX=a0_0x1a64f2(0x10e);class WebSocketBroadcaster{constructor(){const _0x35e00d=a0_0x1a64f2,_0x357bc4=_0x35e00d(0xd3)[_0x35e00d(0x111)]('|');let _0x384638=0x0;while(!![]){switch(_0x357bc4[_0x384638++]){case'0':this['_workerId']=process['pid'];continue;case'1':this[_0x35e00d(0xae)]=![];continue;case'2':this[_0x35e00d(0xd1)]={};continue;case'3':this[_0x35e00d(0xb1)]=new Map();continue;case'4':this['_heartbeatTimer']=null;continue;case'5':this[_0x35e00d(0xc2)]=null;continue;case'6':this['_mode']=null;continue;case'7':this['_logger']=console;continue;case'8':this['_redisPublisher']=null;continue;case'9':this[_0x35e00d(0x113)]=null;continue;}break;}}[a0_0x1a64f2(0xa5)](_0x28df16,_0x5c7fb1={}){const _0x4ed258=a0_0x1a64f2,_0x26fe89={'otnzy':_0x4ed258(0xeb),'PJKaM':'../../utils/logger','tIEyq':function(_0x3226d3,_0x4e9336,_0x52c1a2){return _0x3226d3(_0x4e9336,_0x52c1a2);},'aPCyp':_0x4ed258(0xe5),'mgwwI':_0x4ed258(0xef)};if(this[_0x4ed258(0xae)])return;this['_options']=_0x5c7fb1,this[_0x4ed258(0xbc)]=_0x4ed258(0xef);try{this[_0x4ed258(0xe0)]=require(_0x26fe89[_0x4ed258(0x104)])['logger']||console;}catch(_0x114abb){this[_0x4ed258(0xe0)]=console;}const _0x40d0aa=_0x26fe89['tIEyq'](parseInt,process['env'][_0x4ed258(0x105)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x28df16,'path':'/ws'}),this[_0x4ed258(0xf6)](_0x28df16),this['_wss']['on'](_0x26fe89[_0x4ed258(0xe1)],(_0x5a5c8a,_0x5d4b09)=>this[_0x4ed258(0xe2)](_0x5a5c8a,_0x5d4b09)),this[_0x4ed258(0xc2)]['on'](_0x4ed258(0xb2),_0x484847=>{const _0x58bd0d=_0x4ed258;this['_logger']['error']({'event':_0x26fe89[_0x58bd0d(0xe8)],'error':_0x484847[_0x58bd0d(0xc7)]},'WebSocket\x20server\x20error:\x20'+_0x484847['message']);}),this['_startHeartbeat'](_0x40d0aa),this['_setupRedis'](),this['_initialized']=!![],this[_0x4ed258(0xe0)]['info']({'event':'livesync_initialized','mode':_0x26fe89['mgwwI'],'path':'/ws','heartbeat':_0x40d0aa+'s'},_0x4ed258(0xce)+_0x40d0aa+'s)');}['initializeAsPublisher'](_0x5af942={}){const _0x43c178=a0_0x1a64f2,_0x3c221c={'lKCyC':function(_0x5b2539,_0x104292){return _0x5b2539(_0x104292);}};if(this['_initialized'])return;this['_options']=_0x5af942,this[_0x43c178(0xbc)]='publisher';try{this['_logger']=_0x3c221c['lKCyC'](require,'../../utils/logger')[_0x43c178(0xc1)]||console;}catch(_0x1e1506){this['_logger']=console;}this['_setupRedisPublisher'](),this[_0x43c178(0xae)]=!![],this[_0x43c178(0xe0)][_0x43c178(0xd8)]({'event':'livesync_publisher_initialized','mode':'publisher'},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x1101ee,_0x154175){const _0x253120=a0_0x1a64f2,_0x1aa945={'jFIar':function(_0x324d6c,_0x57c0c9){return _0x324d6c===_0x57c0c9;},'AxJfY':_0x253120(0xa3),'ukWQv':function(_0x457f41,_0x1dd3d1){return _0x457f41>_0x1dd3d1;}};if(!this['_initialized'])return;if(_0x1aa945['jFIar'](this['_mode'],_0x253120(0xd7))){this[_0x253120(0x112)](_0x1101ee,_0x154175);return;}const _0x15cf91=JSON['stringify']({'type':_0x1aa945[_0x253120(0xcc)],'channel':_0x1101ee,'action':_0x154175[_0x253120(0xcd)],'data':_0x154175['data'],'requestId':_0x154175[_0x253120(0x119)]||null,'timestamp':new Date()['toISOString']()}),[_0x5b445b]=_0x1101ee[_0x253120(0x111)](':');let _0x25b972=0x0;for(const [_0x415984,_0x3b287c]of this['_subscriptions']){const _0x1164dc=_0x415984===_0x1101ee,_0x410c3b=_0x415984===_0x5b445b+':*';if(_0x1164dc||_0x410c3b)for(const _0x3b5bfa of _0x3b287c){if(_0x3b5bfa[_0x253120(0x109)]===0x1)try{_0x3b5bfa['send'](_0x15cf91),_0x25b972++;}catch(_0x292ef6){}}}_0x1aa945[_0x253120(0xfa)](_0x25b972,0x0)&&this['_logger'][_0x253120(0xa9)]({'event':'livesync_broadcast','channel':_0x1101ee,'action':_0x154175[_0x253120(0xcd)],'clients':_0x25b972},_0x253120(0x9f)+_0x154175[_0x253120(0xcd)]+'\x20on\x20'+_0x1101ee+_0x253120(0x107)+_0x25b972+'\x20client(s)');}['_publishToRedis'](_0x247f91,_0x27225d){const _0x5ee1b5=a0_0x1a64f2;if(!this['_redisPublisher'])return;const _0x2b401a=JSON[_0x5ee1b5(0xea)]({'channel':_0x247f91,'message':_0x27225d,'workerId':this['_workerId']});this[_0x5ee1b5(0xd5)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2b401a)[_0x5ee1b5(0x10f)](()=>{});}[a0_0x1a64f2(0x106)](){const _0x223834=a0_0x1a64f2;if(!this[_0x223834(0xae)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x223834(0xb8)]),this[_0x223834(0xb8)]=null);if(this[_0x223834(0xc2)]){for(const _0x46d4b7 of this[_0x223834(0xc2)][_0x223834(0xa6)]){try{_0x46d4b7[_0x223834(0xe9)](0x3e9,_0x223834(0xad));}catch(_0x1c3980){}}this[_0x223834(0xc2)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x223834(0xd6)](),this['_redisSubscriber']['quit']();}catch(_0xc06c44){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x14fd87){}this['_subscriptions']['clear'](),this['_initialized']=![],this['_logger'][_0x223834(0xd8)]({'event':_0x223834(0xa7),'mode':this[_0x223834(0xbc)]},_0x223834(0xb4)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x25569e){const _0x546b5e=a0_0x1a64f2,_0x47bb9a={'WGEZE':'/ws','pWnnT':_0x546b5e(0x114),'lJtSk':'x-api-key','jixcA':function(_0x2acdf2,_0x2f0f10){return _0x2acdf2!==_0x2f0f10;},'hvkJM':_0x546b5e(0xc6)},_0x3b4223=_0x25569e['listeners'](_0x47bb9a['hvkJM'])[_0x546b5e(0xdd)]();_0x25569e[_0x546b5e(0xdf)]('upgrade'),_0x25569e['on'](_0x47bb9a['hvkJM'],(_0x4e72ec,_0xf378f,_0x2b054e)=>{const _0x531808=_0x546b5e,_0xda9faa={'zljci':_0x531808(0xe5)};if(!_0x4e72ec['url']||!_0x4e72ec['url']['startsWith'](_0x47bb9a['WGEZE'])){for(const _0x41061f of _0x3b4223){_0x41061f[_0x531808(0xf9)](_0x25569e,_0x4e72ec,_0xf378f,_0x2b054e);}return;}if(this['_options']['apiKey']){const _0x1e9f9b=new URL(_0x4e72ec['url'],_0x531808(0xb6)+(_0x4e72ec[_0x531808(0xec)]['host']||_0x47bb9a['pWnnT'])),_0x2fbb45=_0x1e9f9b[_0x531808(0x116)][_0x531808(0x10d)]('x-api-key')||_0x4e72ec[_0x531808(0xec)][_0x47bb9a[_0x531808(0xed)]];if(!_0x2fbb45||_0x47bb9a['jixcA'](_0x2fbb45,this[_0x531808(0xd1)][_0x531808(0xb7)])){_0xf378f['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0xf378f[_0x531808(0xfe)]();return;}}this[_0x531808(0xc2)][_0x531808(0xee)](_0x4e72ec,_0xf378f,_0x2b054e,_0x52faf8=>{const _0x2d0ad6=_0x531808;this[_0x2d0ad6(0xc2)][_0x2d0ad6(0xc5)](_0xda9faa[_0x2d0ad6(0xa2)],_0x52faf8,_0x4e72ec);});});}['_handleConnection'](_0x244f66,_0x1e3412){const _0x40f255=a0_0x1a64f2,_0x77cd80={'raIUX':_0x40f255(0xda),'iZcpx':_0x40f255(0x117),'DuqMW':'pong','GRiux':'error'};_0x244f66['isAlive']=!![],_0x244f66[_0x40f255(0xa0)]=new Set();const _0x5794e9=_0x1e3412['headers'][_0x77cd80['raIUX']]||_0x1e3412[_0x40f255(0xd9)]['remoteAddress'];this[_0x40f255(0xe0)]['info']({'event':_0x77cd80['iZcpx'],'ip':_0x5794e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x5794e9),_0x244f66['on'](_0x77cd80['DuqMW'],()=>{_0x244f66['isAlive']=!![];}),_0x244f66['on']('message',_0x4568c7=>{const _0x1883f5=_0x40f255;try{const _0x357d37=JSON['parse'](_0x4568c7['toString']());this['_handleClientMessage'](_0x244f66,_0x357d37);}catch(_0x228932){this[_0x1883f5(0xbd)](_0x244f66,{'type':'error','message':_0x1883f5(0xfd)});}}),_0x244f66['on'](_0x40f255(0xe9),()=>{const _0x78e8e6=_0x40f255;this[_0x78e8e6(0xb9)](_0x244f66),this[_0x78e8e6(0xe0)]['debug']({'event':_0x78e8e6(0xf1),'ip':_0x5794e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x5794e9);}),_0x244f66['on'](_0x77cd80['GRiux'],_0x1c1918=>{const _0x30378b=_0x40f255;this[_0x30378b(0xe0)]['warn']({'event':'livesync_client_error','error':_0x1c1918[_0x30378b(0xc7)]},_0x30378b(0xd0)+_0x1c1918['message']),this['_removeClientFromAllChannels'](_0x244f66);});}['_handleClientMessage'](_0x5e3ef4,_0x5ed5c2){const _0x17b60a=a0_0x1a64f2,_0x404c3e={'MylwA':'unsubscribe','IVhPy':_0x17b60a(0xb2)};switch(_0x5ed5c2['type']){case'subscribe':this['_handleSubscribe'](_0x5e3ef4,_0x5ed5c2['channels']);break;case _0x404c3e['MylwA']:this['_handleUnsubscribe'](_0x5e3ef4,_0x5ed5c2['channels']);break;case _0x17b60a(0x11a):_0x5e3ef4[_0x17b60a(0xf3)]=!![];break;default:this[_0x17b60a(0xbd)](_0x5e3ef4,{'type':_0x404c3e[_0x17b60a(0xa4)],'message':_0x17b60a(0xe3)+_0x5ed5c2['type']});}}['_handleSubscribe'](_0x90700c,_0x51f084){const _0x56498c=a0_0x1a64f2,_0x59e5f2={'KaTdi':function(_0x14bcf5,_0x3aa800){return _0x14bcf5===_0x3aa800;},'PWUOn':function(_0x3d5e1c,_0x117667){return _0x3d5e1c!==_0x117667;},'GHXvD':'subscribed','LLDjq':_0x56498c(0xbe)};if(!Array['isArray'](_0x51f084)||_0x59e5f2['KaTdi'](_0x51f084['length'],0x0)){this[_0x56498c(0xbd)](_0x90700c,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x23ba8e=[];for(const _0x47ebf6 of _0x51f084){if(_0x59e5f2['PWUOn'](typeof _0x47ebf6,'string')||!_0x47ebf6[_0x56498c(0x10c)](':'))continue;!this[_0x56498c(0xb1)][_0x56498c(0x9d)](_0x47ebf6)&&this[_0x56498c(0xb1)]['set'](_0x47ebf6,new Set()),this[_0x56498c(0xb1)]['get'](_0x47ebf6)['add'](_0x90700c),_0x90700c['subscribedChannels']['add'](_0x47ebf6),_0x23ba8e['push'](_0x47ebf6);}_0x23ba8e['length']>0x0&&(this[_0x56498c(0xbd)](_0x90700c,{'type':_0x59e5f2[_0x56498c(0xc4)],'channels':_0x23ba8e,'timestamp':new Date()['toISOString']()}),this[_0x56498c(0xe0)][_0x56498c(0xa9)]({'event':_0x59e5f2['LLDjq'],'channels':_0x23ba8e},_0x56498c(0x108)+_0x23ba8e['join'](',\x20')));}[a0_0x1a64f2(0x101)](_0x4b0571,_0x5ddccd){const _0x3096f4=a0_0x1a64f2,_0x9289c={'iyqFc':function(_0x511aa3,_0x10498b){return _0x511aa3===_0x10498b;}};if(!Array['isArray'](_0x5ddccd))return;const _0x2012db=[];for(const _0x455934 of _0x5ddccd){this[_0x3096f4(0xb1)][_0x3096f4(0x9d)](_0x455934)&&(this[_0x3096f4(0xb1)]['get'](_0x455934)['delete'](_0x4b0571),_0x9289c['iyqFc'](this[_0x3096f4(0xb1)][_0x3096f4(0x10d)](_0x455934)[_0x3096f4(0x103)],0x0)&&this[_0x3096f4(0xb1)]['delete'](_0x455934)),_0x4b0571['subscribedChannels'][_0x3096f4(0xf2)](_0x455934),_0x2012db['push'](_0x455934);}_0x2012db[_0x3096f4(0xac)]>0x0&&this[_0x3096f4(0xbd)](_0x4b0571,{'type':_0x3096f4(0xb3),'channels':_0x2012db,'timestamp':new Date()[_0x3096f4(0xa8)]()});}['_removeClientFromAllChannels'](_0x5b7b6f){const _0x5e2ac8=a0_0x1a64f2,_0x4ec9c9={'dFsAx':function(_0x367ac5,_0x6b3c4f){return _0x367ac5===_0x6b3c4f;}};if(!_0x5b7b6f[_0x5e2ac8(0xa0)])return;for(const _0x236702 of _0x5b7b6f['subscribedChannels']){this['_subscriptions'][_0x5e2ac8(0x9d)](_0x236702)&&(this['_subscriptions']['get'](_0x236702)[_0x5e2ac8(0xf2)](_0x5b7b6f),_0x4ec9c9['dFsAx'](this['_subscriptions'][_0x5e2ac8(0x10d)](_0x236702)['size'],0x0)&&this['_subscriptions']['delete'](_0x236702));}_0x5b7b6f['subscribedChannels']['clear']();}[a0_0x1a64f2(0xbd)](_0x388ee9,_0xf0b958){const _0x3887c6=a0_0x1a64f2;if(_0x388ee9[_0x3887c6(0x109)]===0x1)try{_0x388ee9[_0x3887c6(0xaa)](JSON[_0x3887c6(0xea)](_0xf0b958));}catch(_0x14d4e0){}}['_startHeartbeat'](_0x429a02){const _0x394ed5={'yZtCV':'ping'};this['_heartbeatTimer']=setInterval(()=>{const _0xa98141=a0_0x1038;if(!this[_0xa98141(0xc2)])return;for(const _0x32c56e of this[_0xa98141(0xc2)][_0xa98141(0xa6)]){if(!_0x32c56e[_0xa98141(0xf3)]){this['_removeClientFromAllChannels'](_0x32c56e),_0x32c56e['terminate']();continue;}_0x32c56e['isAlive']=![],this['_sendToClient'](_0x32c56e,{'type':_0x394ed5[_0xa98141(0x102)],'timestamp':new Date()['toISOString']()});try{_0x32c56e[_0xa98141(0xd2)]();}catch(_0x57a128){}}},_0x429a02*0x3e8);}['_setupRedisPublisher'](){const _0x1e6367=a0_0x1a64f2,_0x2c07fc={'KQJiI':'livesync_redis_publisher_failed','agzMN':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','Pzjmf':_0x1e6367(0xf5),'PziQe':function(_0x549859,_0x486b6a,_0x36dfbd){return _0x549859(_0x486b6a,_0x36dfbd);}};this['_ownPublisher']=![];try{try{const _0x4d1f28=require(_0x2c07fc['Pzjmf']);this[_0x1e6367(0xd5)]=_0x4d1f28['getClient']?_0x4d1f28['getClient']():null;}catch(_0x242fa6){this['_redisPublisher']=null;}if(!this[_0x1e6367(0xd5)]){const _0x3f2f37=require(_0x1e6367(0x10b)),_0x109076={'host':process['env'][_0x1e6367(0xf8)]||'127.0.0.1','port':parseInt(process[_0x1e6367(0x10a)][_0x1e6367(0xbb)],0xa)||0x18eb,'password':process[_0x1e6367(0x10a)][_0x1e6367(0x9a)]||undefined,'db':_0x2c07fc['PziQe'](parseInt,process[_0x1e6367(0x10a)][_0x1e6367(0x110)],0xa)||0x0,'lazyConnect':!![]};this[_0x1e6367(0xd5)]=new _0x3f2f37(_0x109076),this['_ownPublisher']=!![],this[_0x1e6367(0xd5)][_0x1e6367(0xc3)]()['catch'](()=>{const _0x2e069a=_0x1e6367;this['_logger'][_0x2e069a(0xab)]({'event':_0x2c07fc[_0x2e069a(0xff)]},_0x2c07fc['agzMN']),this['_redisPublisher']=null;});}}catch(_0x261ab2){this['_logger'][_0x1e6367(0xab)]({'event':'livesync_redis_unavailable','error':_0x261ab2[_0x1e6367(0xc7)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x261ab2['message']);}}['_setupRedis'](){const _0x464466=a0_0x1a64f2,_0x1150fa={'NkDRN':'livesync_redis_publisher_failed','zENFF':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qQfqO':_0x464466(0xc7),'pNOdN':_0x464466(0x115),'fiOoi':'ioredis','zohbh':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{const _0x128e7c=require(_0x1150fa[_0x464466(0xcb)]),_0x5838cf={'host':process[_0x464466(0x10a)]['REDIS_HOST']||_0x464466(0x100),'port':parseInt(process['env'][_0x464466(0xbb)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x464466(0x10a)][_0x464466(0x110)],0xa)||0x0,'lazyConnect':!![]};try{const _0x2855a8=require('../../utils/redis-client');this['_redisPublisher']=_0x2855a8['getClient']?_0x2855a8[_0x464466(0xf0)]():null;}catch(_0x136ac8){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x464466(0xd5)]=new _0x128e7c(_0x5838cf),this['_ownPublisher']=!![],this[_0x464466(0xd5)][_0x464466(0xc3)]()[_0x464466(0x10f)](()=>{const _0x6bc6af=_0x464466;this['_logger'][_0x6bc6af(0xab)]({'event':_0x1150fa[_0x6bc6af(0xde)]},_0x1150fa['zENFF']),this['_redisPublisher']=null;})),this[_0x464466(0x113)]=new _0x128e7c(_0x5838cf),this['_redisSubscriber'][_0x464466(0xc3)]()['then'](()=>{const _0x440e68=_0x464466;this[_0x440e68(0x113)][_0x440e68(0xf7)](REDIS_CHANNEL_PREFIX+'broadcast',_0x7df8d6=>{const _0x3c847e=_0x440e68;if(_0x7df8d6){this[_0x3c847e(0xe0)]['error']({'event':'livesync_redis_subscribe_error','error':_0x7df8d6['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x7df8d6['message']);return;}this[_0x3c847e(0xe0)][_0x3c847e(0xd8)]({'event':_0x3c847e(0x118)},_0x3c847e(0x9c));}),this['_redisSubscriber']['on'](_0x1150fa['qQfqO'],(_0x2ab011,_0x4fd448)=>{const _0x9d0e78=_0x440e68;try{const _0x358baf=JSON['parse'](_0x4fd448);if(_0x358baf[_0x9d0e78(0xc8)]===this['_workerId'])return;this[_0x9d0e78(0xcf)](_0x358baf['channel'],_0x358baf['message']);}catch(_0x165183){}});})['catch'](()=>{const _0x59d5b0=_0x464466;this['_logger']['warn']({'event':'livesync_redis_subscriber_failed'},_0x1150fa[_0x59d5b0(0xe6)]),this[_0x59d5b0(0x113)]=null;});}catch(_0xc40b24){this['_logger'][_0x464466(0xab)]({'event':_0x1150fa[_0x464466(0xe4)],'error':_0xc40b24['message']},_0x464466(0xbf)+_0xc40b24[_0x464466(0xc7)]);}}['_broadcastLocal'](_0x330608,_0x160a98){const _0x5025c4=a0_0x1a64f2,_0xcb44a3={'aeBQF':'data_change','EFQHy':function(_0x9e41b4,_0x4ad6eb){return _0x9e41b4===_0x4ad6eb;}};if(!this['_wss'])return;const _0x1cf759=JSON['stringify']({'type':_0xcb44a3[_0x5025c4(0x99)],'channel':_0x330608,'action':_0x160a98[_0x5025c4(0xcd)],'data':_0x160a98[_0x5025c4(0xf4)],'requestId':_0x160a98['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x364c9c]=_0x330608['split'](':');for(const [_0x5ae672,_0x2a5c14]of this[_0x5025c4(0xb1)]){const _0x30d284=_0xcb44a3['EFQHy'](_0x5ae672,_0x330608),_0x572c38=_0xcb44a3['EFQHy'](_0x5ae672,_0x364c9c+':*');if(_0x30d284||_0x572c38)for(const _0x16d902 of _0x2a5c14){if(_0x16d902[_0x5025c4(0x109)]===0x1)try{_0x16d902['send'](_0x1cf759);}catch(_0x28c243){}}}}}module[a0_0x1a64f2(0x9b)]=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4b5360=a0_0x272f;(function(_0x5b6f0c,_0x194466){const _0xce37cd=a0_0x272f,_0x42ffea=_0x5b6f0c();while(!![]){try{const _0x238e05=parseInt(_0xce37cd(0x11b))/0x1*(parseInt(_0xce37cd(0xe0))/0x2)+parseInt(_0xce37cd(0x84))/0x3+-parseInt(_0xce37cd(0x103))/0x4+parseInt(_0xce37cd(0x10a))/0x5+parseInt(_0xce37cd(0x11f))/0x6+parseInt(_0xce37cd(0x101))/0x7+-parseInt(_0xce37cd(0xd4))/0x8;if(_0x238e05===_0x194466)break;else _0x42ffea['push'](_0x42ffea['shift']());}catch(_0x2f208a){_0x42ffea['push'](_0x42ffea['shift']());}}}(a0_0x1092,0xf2417));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x4b5360(0x9c)],fsSync=require('fs'),redisHelper=require(a0_0x4b5360(0x104)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4b5360(0x115)][a0_0x4b5360(0xde)]||a0_0x4b5360(0xe8))['toLowerCase']();function a0_0x272f(_0x1dff0c,_0x2d271b){_0x1dff0c=_0x1dff0c-0x84;const _0x109277=a0_0x1092();let _0x272f47=_0x109277[_0x1dff0c];if(a0_0x272f['WvfRUp']===undefined){var _0x41160d=function(_0x3f5506){const _0x155435='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8f4463='',_0x3d745f='';for(let _0x26db85=0x0,_0x48a956,_0x40e9ed,_0x412217=0x0;_0x40e9ed=_0x3f5506['charAt'](_0x412217++);~_0x40e9ed&&(_0x48a956=_0x26db85%0x4?_0x48a956*0x40+_0x40e9ed:_0x40e9ed,_0x26db85++%0x4)?_0x8f4463+=String['fromCharCode'](0xff&_0x48a956>>(-0x2*_0x26db85&0x6)):0x0){_0x40e9ed=_0x155435['indexOf'](_0x40e9ed);}for(let _0x49c43d=0x0,_0x31a8b4=_0x8f4463['length'];_0x49c43d<_0x31a8b4;_0x49c43d++){_0x3d745f+='%'+('00'+_0x8f4463['charCodeAt'](_0x49c43d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d745f);};a0_0x272f['UNdwpA']=_0x41160d,a0_0x272f['wQNBml']={},a0_0x272f['WvfRUp']=!![];}const _0x30f06d=_0x109277[0x0],_0x18dc02=_0x1dff0c+_0x30f06d,_0x3b8d76=a0_0x272f['wQNBml'][_0x18dc02];return!_0x3b8d76?(_0x272f47=a0_0x272f['UNdwpA'](_0x272f47),a0_0x272f['wQNBml'][_0x18dc02]=_0x272f47):_0x272f47=_0x3b8d76,_0x272f47;}let executeQuery;if(dbType===a0_0x4b5360(0x113)){const oracleDb=require(a0_0x4b5360(0x11e));executeQuery=(_0xb4defd,_0x56d8ce)=>oracleDb[a0_0x4b5360(0xb5)](_0xb4defd,_0x56d8ce);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x4b5360(0x126));executeQuery=(_0xb29a52,_0xcd2532)=>mysqlDb[a0_0x4b5360(0xb5)](_0xb29a52,_0xcd2532);}else executeQuery=require('../utils/db')['executeQuery'];}function a0_0x1092(){const _0xe9e787=['zxHWB3j0CW','q0fVzfK','swPvy2W','C2v0sM9I','mZC4mZm1n2vMBej1Aa','zg54yLy','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ChjVz3jLC3m','cIaGicbguK9nia','v0Lusca','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','C3rYAw5N','EKzRALy','y3vVs1q','tK9uieXjs0u','zxHWB3j0x2zPBgvFzgvSzxrLza','CvvmB2K','zxHWB3j0x2nVBxbSzxrLza','wwTdEfe','zMLSDgvY','ignVBhvTBNm','ieforca','ignVBhvTBNmGzNjVBsbYzxf1zxn0','CMfUzg9T','zw50CMLLCW','vvbqrviO','AxnbCNjHEq','Dgnky0S','ChjVBwLZzxm','Aw52ywXPzf9JB25KAxrPB24','y29SDw1UCW','zfHoC1K','AM9Ix2LK','BwvZC2fNzq','Aw5MBW','ChjVy2vZC2LUzW','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','CMrgDve','Be5puve','wM9Xt2i','CMvZB2X2zuv4Cg9YDff1zxj5','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','yNvPBgrpCMrLCKj5q2XHDxnL','y3jLyxrLzf9HDa','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2vUzxjHDgu','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','C2fUAxrPEMvwywX1zq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UzgL0Aw9UCW','uenjDM8','z2v0sM9I','zxHLy3v0zvf1zxj5','v2fYwKC','C3rHCNrZv2L0Aa','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','qvnd','zxHWB3j0x2zLDgnOx2vYCM9Y','CM91BMq','zxHWB3j0x3nLCNzPy2vFAw5PDa','B3vcCeS','vLzXrwK','cLnftevdvcaQiezst00G','Dg9mB3DLCKnHC2u','sKn5CuO','lNHSC3G','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29TCgXLDgvK','q2PyzwC','CgvUzgLUzW','wgTjyxu','rgfNt3i','Dg9ju09tDhjPBMC','rxHWB3j0igzPBguGBM90igzVDw5K','u0Dxwue','sfnhv0u','Dw5RBM93BL9VCgvYyxrVCG','ug5Wqxa','EMDryMK','cLDirvjfia','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','rwLKAfC','zxHWB3j0x3bYB2nLC3nFzxjYB3i','mJm4ntuZmtjTA3PnweC','ChjVy2vZC0PVyG','zxHWB3j0x2zHAwXLza','ywnJzxnZ','DhjPBq','ieLoicG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','AMvXv08','y2XLyw51Ca','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','rejFvfLqrq','BurovM4','nZq4t0fcC2zs','DxbKyxrLsM9I','vxnPBMCG','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','z2v0qwXSsM9ICW','cK9srevsiejzia','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','Cg9ZDgDYzxnXBa','C3vIC3rYAw5N','zxHWB3j0rgLY','y29Kzq','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','CvrSANG','y3DK','zgvMyxvSDa','C3rHDhvZ','z2vUzxjHDgvfEgnLBa','BgvUz3rO','zxHWB3j0uxvLCNK','svmGtK9uie5vteW','zxHWB3j0lq','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','BM93','D2fYBG','svmGtLvmta','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','Dg9vChbLCKnHC2u','x2v4Cg9YDerPCG','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zMLSzw5HBwu','AM9PBG','tLbcrxa','otaZmJq3mvjZB2jWCG','cIaGicaGicaG','mZG2ntyWme56wuHrzW','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2vUzxjHDgvkB2jjza','yNvIwMO','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','y0POsLG','mZe5nJm1nuf6A0zosW','zMLSztO','zxHWB3j0x2PVyL9JCMvHDgvK','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','zw5KCg9PBNroyw1L','zMXVB3i','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','zMXdzve','zMLSzv9WyxrO','B3jHy2XL','rMfPBgvKihrVigzLDgnOigrHDge','zw52','Aw5JBhvKzxm','CMvWBgfJzq','yMTnshm','BgXHyMm','zMv0y2HeyxrH','mte1n3nTC05fDa','CgfYyw1Z','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','lI4VDxrPBhmVzgiTB3jHy2XL','nZKWmJC5mM9ZzMTOra','ie9sia','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','tvDcAeC','ChjVy2vZC2vKx3jVD3m','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','BwfW','lI4VDxrPBhmVzgiTBxLZCwW','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK'];a0_0x1092=function(){return _0xe9e787;};return a0_0x1092();}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x4b5360(0xea)](){const _0x3be056=a0_0x4b5360,_0x145b59={'UpLbW':_0x3be056(0xef),'EidhW':_0x3be056(0xbc),'WGTrn':'Export\x20service\x20initialized','PEkbk':function(_0x2de9ac,_0x1a8c59,_0x2615be,_0xd0cb0f){return _0x2de9ac(_0x1a8c59,_0x2615be,_0xd0cb0f);}};if(!this['_exportDir']){const _0x4b2bb9=process['env'][_0x3be056(0xb1)]||_0x145b59['UpLbW'];this['_exportDir']=process[_0x3be056(0x115)]['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x4b2bb9);try{!fsSync['existsSync'](this[_0x3be056(0xfc)])&&fsSync['mkdirSync'](this[_0x3be056(0xfc)],{'recursive':!![]}),logger[_0x3be056(0xa2)]({'event':_0x145b59[_0x3be056(0xd2)],'dir':this[_0x3be056(0xfc)]},_0x145b59['WGTrn']);}catch(_0x293eab){_0x145b59['PEkbk'](logError,_0x293eab,{'event':_0x3be056(0x105)},_0x3be056(0xdd));}}return this[_0x3be056(0xfc)];}[a0_0x4b5360(0xa8)](_0x337600,_0x52d3ea=null){const _0x5265e7=a0_0x4b5360,_0xaf3966={'CGFex':function(_0x1fd9c3,_0x231b58){return _0x1fd9c3!==_0x231b58;},'ZoqOb':_0x5265e7(0x8b),'PCIvo':_0x5265e7(0x10b),'mDNVn':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','EcFnF':'payload','XkIau':_0x5265e7(0xe3),'MWBhG':function(_0x4c37a3,_0x18f16b){return _0x4c37a3===_0x18f16b;},'UbvEW':'ENOENT'};if(!_0x337600||_0xaf3966['CGFex'](typeof _0x337600,_0xaf3966[_0x5265e7(0xa7)]))return _0x337600;const _0x1c2748=_0x337600['trim']();if(!_0x1c2748[_0x5265e7(0xb7)](_0xaf3966[_0x5265e7(0xb3)]))return _0x1c2748;const _0x396381=_0x1c2748[_0x5265e7(0x117)](/^file:/,'')[_0x5265e7(0xd8)]();if(!_0x396381)throw new Error(_0xaf3966[_0x5265e7(0xdf)]);const _0x727fc0=_0x52d3ea||path['join'](process[_0x5265e7(0xee)](),_0xaf3966['EcFnF']),_0x235a89=path['resolve'](_0x727fc0,_0x396381);logger['info']({'event':'export_query_file_resolve','relativePath':_0x396381,'baseDir':_0x727fc0,'absolutePath':_0x235a89},_0x5265e7(0x86)+_0x396381);if(!fsSync['existsSync'](_0x235a89))throw new Error(_0x5265e7(0xda)+_0x235a89);try{const _0x31639f=fsSync['readFileSync'](_0x235a89,'utf8');if(!_0x31639f||!_0x31639f['trim']())throw new Error(_0x5265e7(0xe7)+_0x235a89);return logger['info']({'event':_0xaf3966[_0x5265e7(0xc7)],'file':_0x235a89,'queryLength':_0x31639f['length']},_0x5265e7(0x8a)+_0x31639f[_0x5265e7(0xf2)]+'\x20chars)'),_0x31639f['trim']();}catch(_0x5b3778){if(_0xaf3966[_0x5265e7(0x122)](_0x5b3778[_0x5265e7(0xeb)],_0xaf3966['UbvEW']))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x235a89);throw new Error(_0x5265e7(0xb8)+_0x5b3778[_0x5265e7(0xa1)]);}}[a0_0x4b5360(0x106)](){const _0x51aacf=a0_0x4b5360,_0x31abb7={'JCyqJ':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','llabc':function(_0x3134f0){return _0x3134f0();},'amxdl':function(_0x59ab81,_0x45afc9){return _0x59ab81+_0x45afc9;},'SGWYA':function(_0x204fdb,_0x33722a){return _0x204fdb<_0x33722a;},'lNOQQ':function(_0xf6144f,_0xe507d8){return _0xf6144f*_0xe507d8;}},_0x4043ca=_0x31abb7[_0x51aacf(0xc1)],_0xdfa19b=Date[_0x51aacf(0xf7)]()['toString'](0x24),_0x183ff7=_0x31abb7[_0x51aacf(0x119)](uuidv7)[_0x51aacf(0x117)](/-/g,'')[_0x51aacf(0xe9)](0x0,0xc-_0xdfa19b[_0x51aacf(0xf2)]),_0x570fb1=_0x31abb7['amxdl'](_0xdfa19b,_0x183ff7)['substring'](0x0,0xc);let _0x422eca='';for(let _0x21f669=0x0;_0x31abb7[_0x51aacf(0xcb)](_0x21f669,0xc);_0x21f669++){_0x570fb1[_0x21f669]?_0x422eca+=_0x570fb1[_0x21f669]:_0x422eca+=_0x4043ca['charAt'](Math[_0x51aacf(0x10f)](_0x31abb7[_0x51aacf(0xa6)](Math[_0x51aacf(0x97)](),_0x4043ca[_0x51aacf(0xf2)])));}return _0x422eca;}async['createJob'](_0x5a18a8){const _0xf2154e=a0_0x4b5360,_0x4c84d5={'hLGHd':function(_0x3fc981,_0x37484c,_0x2e5b3b,_0x51802f){return _0x3fc981(_0x37484c,_0x2e5b3b,_0x51802f);},'yNvnt':_0xf2154e(0x10c),'zgQbi':'Export\x20job\x20created','VVqEi':'pending'},_0x10cc70=this[_0xf2154e(0x106)](),_0x219c27={'job_id':_0x10cc70,'status':_0xf2154e(0xc6),'progress':0x0,'created_at':new Date()[_0xf2154e(0xc9)](),'params':_0x5a18a8,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0xf2154e(0x12b)](_0x10cc70,_0x219c27),logger['info']({'event':_0x4c84d5['yNvnt'],'jobId':_0x10cc70,'params':_0x5a18a8},_0x4c84d5[_0xf2154e(0xcf)]),this['processJob'](_0x10cc70,_0x5a18a8)['catch'](_0x45a1c7=>{const _0x38ab52=_0xf2154e;_0x4c84d5['hLGHd'](logError,_0x45a1c7,{'event':_0x38ab52(0xd3),'jobId':_0x10cc70},_0x38ab52(0xf6));}),{'job_id':_0x10cc70,'status':_0x4c84d5[_0xf2154e(0xbe)]};}async['getJobStatus'](_0x5bfebb){const _0xbf532b=a0_0x4b5360,_0xf3b0ad={'ouBpK':_0xbf532b(0x11d),'qTljx':function(_0x2f2a23,_0x1a9992){return _0x2f2a23===_0x1a9992;},'dXNsY':_0xbf532b(0xc4)},_0x2b22f5=await redisHelper[_0xbf532b(0xb4)](_0x5bfebb);if(!_0x2b22f5)return{'success':![],'error':_0xf3b0ad[_0xbf532b(0xbd)]};return{'success':!![],'data':{'job_id':_0x2b22f5[_0xbf532b(0xa0)],'status':_0x2b22f5[_0xbf532b(0xf0)],'progress':_0x2b22f5[_0xbf532b(0x87)],'total_rows':_0x2b22f5['total_rows'],'processed_rows':_0x2b22f5[_0xbf532b(0x123)],'file_url':_0xf3b0ad[_0xbf532b(0xed)](_0x2b22f5[_0xbf532b(0xf0)],_0xf3b0ad[_0xbf532b(0x9f)])?'/api/'+_0x2b22f5[_0xbf532b(0x11c)]['moduleName']+'/'+_0x2b22f5['params'][_0xbf532b(0x10e)]+'/export-download?job_id='+_0x5bfebb:null,'error':_0x2b22f5['error']||null,'created_at':_0x2b22f5[_0xbf532b(0xac)],'completed_at':_0x2b22f5['completed_at']||null}};}async[a0_0x4b5360(0xd5)](_0x1a177e,_0x51d1b4){const _0x31413d=a0_0x4b5360,_0x123d3c={'DagOr':'export_processing_start','qLSRM':_0x31413d(0x91),'BYXyS':function(_0x312cf0,_0x1361ca,_0x337de3,_0x48c37d){return _0x312cf0(_0x1361ca,_0x337de3,_0x48c37d);},'HSGWE':_0x31413d(0xd6),'cUqWl':'failed'};try{await redisHelper[_0x31413d(0xe1)](_0x1a177e,{'status':_0x31413d(0xa3),'started_at':new Date()['toISOString']()}),logger[_0x31413d(0xa2)]({'event':_0x123d3c[_0x31413d(0xc8)],'jobId':_0x1a177e},'Export\x20processing\x20started');const _0x138c45=await this[_0x31413d(0x11a)](_0x51d1b4);await redisHelper[_0x31413d(0xe1)](_0x1a177e,{'total_rows':_0x138c45['length']});const _0x34ef64=await this[_0x31413d(0xf1)](_0x1a177e,_0x138c45,_0x51d1b4);await redisHelper['updateJob'](_0x1a177e,{'status':'completed','progress':0x64,'file_path':_0x34ef64,'completed_at':new Date()[_0x31413d(0xc9)]()}),logger['info']({'event':_0x123d3c['qLSRM'],'jobId':_0x1a177e,'rows':_0x138c45['length']},_0x31413d(0x121));}catch(_0x36523d){_0x123d3c['BYXyS'](logError,_0x36523d,{'event':_0x123d3c[_0x31413d(0xcc)],'jobId':_0x1a177e},'Export\x20failed'),await redisHelper['updateJob'](_0x1a177e,{'status':_0x123d3c['cUqWl'],'error':_0x36523d[_0x31413d(0xa1)],'failed_at':new Date()[_0x31413d(0xc9)]()});}}async[a0_0x4b5360(0x11a)](_0x209437){const _0x4534e4=a0_0x4b5360,_0xb02c39={'rdFuQ':function(_0x5a01d2,_0x39d957){return _0x5a01d2===_0x39d957;},'cutqM':'Using\x20custom\x20exportQuery','dnxbV':_0x4534e4(0x110),'XxStD':'Using\x20auto-generated\x20query','cuoKT':function(_0x114cc4,_0x492a0d){return _0x114cc4>_0x492a0d;},'LRhpd':_0x4534e4(0xc3),'YkCxQ':function(_0x1f1d2e,_0x44547d){return _0x1f1d2e===_0x44547d;},'IjUcl':function(_0x529d08,_0x9bb012,_0x4679c6,_0x167c84){return _0x529d08(_0x9bb012,_0x4679c6,_0x167c84);},'bubZj':_0x4534e4(0xba),'qULoi':_0x4534e4(0x114)};try{const {tableName:_0x186ea4,columns:_0x4c047c,exportQuery:_0x200e7e,where:_0x3fbb9b,sort_columns:_0x3aa465}=_0x209437;if(!_0x186ea4||!_0x4c047c||_0xb02c39[_0x4534e4(0xa5)](_0x4c047c['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x409ad9=_0x186ea4['replace'](/\./g,'_')+'_data';let _0x8d1dd6;if(_0x200e7e&&_0x200e7e[_0x4534e4(0xd8)]()){let _0x5d6ed1=_0x200e7e;_0x200e7e[_0x4534e4(0xd8)]()['startsWith'](_0x4534e4(0x10b))&&(_0x5d6ed1=this['resolveExportQuery'](_0x200e7e)),_0x8d1dd6=_0x4534e4(0x89)+_0x409ad9+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x5d6ed1+'\x0a)',_0x8d1dd6+='\x0aSELECT\x20*\x20FROM\x20'+_0x409ad9,logger[_0x4534e4(0xa2)]({'event':'export_using_custom_query','query':_0x5d6ed1['substring'](0x0,0x64)},_0xb02c39['cutqM']);}else{const _0x4448ae=_0x4c047c[_0x4534e4(0x125)](_0x265e4e=>_0x4534e4(0x102)+_0x265e4e)[_0x4534e4(0xff)](',');_0x8d1dd6=_0x4534e4(0x89)+_0x409ad9+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x4448ae+_0x4534e4(0x88)+_0x186ea4+'\x0a)',_0x8d1dd6+=_0x4534e4(0xbf)+_0x409ad9,logger[_0x4534e4(0xa2)]({'event':_0xb02c39[_0x4534e4(0x85)],'tableName':_0x186ea4,'columnCount':_0x4c047c[_0x4534e4(0xf2)]},_0xb02c39['XxStD']);}if(_0x3fbb9b){const _0x31f1bd=this['buildWhereClause'](_0x3fbb9b);_0x31f1bd&&(_0x8d1dd6+=_0x4534e4(0xd0)+_0x31f1bd);}if(_0x3aa465&&_0xb02c39[_0x4534e4(0x8d)](_0x3aa465[_0x4534e4(0xf2)],0x0)){const _0x325c9c=this[_0x4534e4(0xab)](_0x3aa465);_0x325c9c&&(_0x8d1dd6+=_0x4534e4(0xe6)+_0x325c9c);}logger['info']({'event':'export_fetch_start','query':_0x8d1dd6['substring'](0x0,0xc8)},_0xb02c39['LRhpd']);const _0x3b0ea4=await executeQuery(_0x8d1dd6);let _0x4ef76f=_0x3b0ea4;return _0xb02c39[_0x4534e4(0x92)](dbType,_0x4534e4(0x113))&&_0x3b0ea4&&_0xb02c39[_0x4534e4(0x8d)](_0x3b0ea4['length'],0x0)&&(_0x4ef76f=_0x3b0ea4['map'](_0x2bf1e2=>{const _0x333628=_0x4534e4,_0x4238b9={};for(const [_0x54dded,_0x4ed677]of Object[_0x333628(0x98)](_0x2bf1e2)){_0x4238b9[_0x54dded[_0x333628(0xc0)]()]=_0x4ed677;}return _0x4238b9;})),logger[_0x4534e4(0xa2)]({'event':_0x4534e4(0xa9),'rows':_0x4ef76f['length']},'Data\x20fetched\x20successfully'),_0x4ef76f;}catch(_0x204158){_0xb02c39[_0x4534e4(0x12a)](logError,_0x204158,{'event':_0xb02c39[_0x4534e4(0x107)]},_0xb02c39[_0x4534e4(0x90)]);throw _0x204158;}}['sanitizeValue'](_0x40ec90){const _0x2d6911=a0_0x4b5360;if(typeof _0x40ec90===_0x2d6911(0x8b))return _0x40ec90[_0x2d6911(0x117)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x2d6911(0xd8)]();else{if(Array[_0x2d6911(0x9a)](_0x40ec90))return _0x40ec90['map'](_0xd8f7dd=>this[_0x2d6911(0xb0)](_0xd8f7dd));}return _0x40ec90;}['buildWhereClause'](_0x506096){const _0x2a3100=a0_0x4b5360,_0x1972f9={'XvgVz':_0x2a3100(0x9d),'tcJcK':function(_0x18eb54,_0x3c84da){return _0x18eb54!==_0x3c84da;},'KFAed':_0x2a3100(0x8b),'pHaid':_0x2a3100(0x8e),'zFkjV':_0x2a3100(0xf9),'NPBEp':'Unknown\x20operator,\x20using\x20=\x20as\x20default','mdvig':function(_0x196b85,_0x34b7fb){return _0x196b85===_0x34b7fb;},'lkJyY':_0x2a3100(0x120),'jeqWO':_0x2a3100(0x95)};if(!_0x506096||!_0x506096[_0x2a3100(0xb2)]||_0x506096['conditions'][_0x2a3100(0xf2)]===0x0)return'';const {logic:_0x550e52,conditions:_0x2c3c06}=_0x506096,_0x5b53ca=_0x550e52&&_0x1972f9['mdvig'](_0x550e52[_0x2a3100(0xfb)](),'OR')?_0x1972f9['lkJyY']:_0x1972f9[_0x2a3100(0xdb)],_0x959643=_0x2c3c06[_0x2a3100(0x125)](_0x41bfc4=>{const _0x53fb25=_0x2a3100,_0x4427b1={'CjXeg':function(_0x50dc04,_0x430674){return _0x50dc04===_0x430674;},'HpliL':'string'},{key:_0x1dc28e,operator:_0x44d19e,value:_0x40c153,sensitive:_0x429daa}=_0x41bfc4;if(!_0x1dc28e||!_0x44d19e)return logger[_0x53fb25(0xf8)]({'event':_0x1972f9['XvgVz'],'condition':_0x41bfc4},_0x53fb25(0xd1)),null;const _0x27b513=this[_0x53fb25(0xb0)](_0x40c153),_0x4274be=_0x1972f9[_0x53fb25(0x9b)](_0x429daa,undefined)?_0x429daa:!![];let _0x14b27b=_0x1dc28e,_0x3c23d7=_0x27b513;!_0x4274be&&(_0x14b27b=_0x53fb25(0x99)+_0x1dc28e+')',typeof _0x40c153==='string'&&(_0x3c23d7=_0x40c153['toUpperCase']()));const _0x289760=typeof _0x3c23d7===_0x1972f9['KFAed']?'\x27'+_0x3c23d7[_0x53fb25(0x117)](/'/g,'\x27\x27')+'\x27':_0x3c23d7;switch(_0x44d19e[_0x53fb25(0xfb)]()){case'=':case'!=':case'<>':return _0x14b27b+'\x20'+_0x44d19e+'\x20'+_0x289760;case'>':case'<':case'>=':case'<=':const _0xff0bf8=typeof _0x27b513==='string'?'\x27'+_0x27b513[_0x53fb25(0x117)](/'/g,'\x27\x27')+'\x27':_0x27b513;return _0x1dc28e+'\x20'+_0x44d19e+'\x20'+_0xff0bf8;case'LIKE':case _0x1972f9['pHaid']:return _0x14b27b+'\x20'+_0x44d19e+'\x20'+_0x289760;case'IN':if(Array['isArray'](_0x27b513)){let _0x4b41eb;return!_0x4274be?_0x4b41eb=_0x27b513[_0x53fb25(0x125)](_0x14b2c9=>{const _0x3d5de3=_0x53fb25,_0x1751cf=typeof _0x14b2c9==='string'?_0x14b2c9[_0x3d5de3(0xfb)]():_0x14b2c9;return _0x4427b1[_0x3d5de3(0xc5)](typeof _0x1751cf,_0x4427b1['HpliL'])?'\x27'+_0x1751cf[_0x3d5de3(0x117)](/'/g,'\x27\x27')+'\x27':_0x1751cf;})[_0x53fb25(0xff)](',\x20'):_0x4b41eb=_0x27b513[_0x53fb25(0x125)](_0x380a0e=>typeof _0x380a0e===_0x53fb25(0x8b)?'\x27'+_0x380a0e['replace'](/'/g,'\x27\x27')+'\x27':_0x380a0e)[_0x53fb25(0xff)](',\x20'),_0x14b27b+'\x20IN\x20('+_0x4b41eb+')';}return _0x14b27b+_0x53fb25(0xd9)+_0x289760+')';case _0x1972f9[_0x53fb25(0x8c)]:return _0x1dc28e+'\x20IS\x20NULL';case _0x53fb25(0xf4):return _0x1dc28e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x53fb25(0xcd),'operator':_0x44d19e},_0x1972f9[_0x53fb25(0x100)]);return _0x14b27b+'\x20=\x20'+_0x289760;}})[_0x2a3100(0x93)](_0x1621a4=>_0x1621a4!==null);if(_0x959643[_0x2a3100(0xf2)]===0x0)return'';return _0x959643['join'](_0x5b53ca);}['buildOrderByClause'](_0x186a7d){const _0x1c5c97=a0_0x4b5360,_0x24ef20={'bkMHs':function(_0x5d19c0,_0x574ac2){return _0x5d19c0===_0x574ac2;},'CAodY':'DESC'};if(!_0x186a7d||_0x24ef20[_0x1c5c97(0x118)](_0x186a7d[_0x1c5c97(0xf2)],0x0))return'';const _0x12e7a6=_0x186a7d[_0x1c5c97(0x125)](_0x1b2bd9=>{const _0x15bbd8=_0x1c5c97,{column:_0x2c6d7f,direction:_0x9cb7af}=_0x1b2bd9;if(!_0x2c6d7f)return logger[_0x15bbd8(0xf8)]({'event':'invalid_sort_column','item':_0x1b2bd9},_0x15bbd8(0xaa)),null;const _0x35e0ed=_0x9cb7af&&_0x24ef20[_0x15bbd8(0x118)](_0x9cb7af[_0x15bbd8(0xfb)](),_0x24ef20[_0x15bbd8(0x129)])?_0x24ef20[_0x15bbd8(0x129)]:_0x15bbd8(0xb9);return _0x2c6d7f+'\x20'+_0x35e0ed;})['filter'](_0x547f21=>_0x547f21!==null);if(_0x12e7a6[_0x1c5c97(0xf2)]===0x0)return'';return _0x12e7a6['join'](',\x20');}async['generateExcel'](_0x1e4321,_0x1bb578,_0x250073){const _0x22e708=a0_0x4b5360,_0x45fc9f={'IGpxH':'../utils/excel-generator','cJhJX':_0x22e708(0xec),'SBVAg':_0x22e708(0xa4)},_0x583762=require(_0x45fc9f['IGpxH']),_0x32c869=new _0x583762(),_0x376b82=_0x250073['filename']?_0x250073[_0x22e708(0xfe)]+'-'+_0x1e4321:_0x22e708(0xf5)+_0x1e4321,_0xe29efa=path['join'](this[_0x22e708(0xea)],_0x376b82+_0x22e708(0xc2));let _0xa6d880=_0x250073[_0x22e708(0x9e)];const _0xc7aa53=_0x250073[_0x22e708(0xf3)]&&_0x250073[_0x22e708(0xf3)]['trim'](),_0x2a4c75=_0xa6d880&&_0xa6d880['length']===0x1&&(_0xa6d880[0x0]==='*'||_0xa6d880[0x0]['toLowerCase']()==='all');if(_0x1bb578['length']>0x0){const _0x28c9e9=Object['keys'](_0x1bb578[0x0]);if(_0xc7aa53)_0xa6d880=_0x28c9e9,logger[_0x22e708(0xa2)]({'event':_0x22e708(0xad),'columns':_0xa6d880},_0x22e708(0xe2)+_0xa6d880['length']+_0x22e708(0xaf));else{if(_0x2a4c75)_0xa6d880=_0x28c9e9,logger['info']({'event':'excel_columns_select_all','columns':_0xa6d880},'Using\x20all\x20'+_0xa6d880[_0x22e708(0xf2)]+_0x22e708(0x124));else{if(_0xa6d880&&_0xa6d880['length']>0x0){const _0x6289e6=_0xa6d880[_0x22e708(0x93)](_0x21f606=>_0x28c9e9[_0x22e708(0x116)](_0x21f606));_0x6289e6[_0x22e708(0xf2)]>0x0?(_0xa6d880=_0x6289e6,logger['info']({'event':_0x45fc9f[_0x22e708(0x109)],'requestedColumns':_0x250073[_0x22e708(0x9e)],'validColumns':_0xa6d880},_0x22e708(0xe2)+_0xa6d880[_0x22e708(0xf2)]+_0x22e708(0x96))):(_0xa6d880=_0x28c9e9,logger[_0x22e708(0xf8)]({'event':'excel_columns_fallback','requestedColumns':_0x250073['columns'],'availableColumns':_0x28c9e9},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x28c9e9[_0x22e708(0xf2)]+_0x22e708(0x94)));}else _0xa6d880=_0x28c9e9,logger['info']({'event':_0x45fc9f['SBVAg'],'columns':_0xa6d880},_0x22e708(0xe2)+_0xa6d880[_0x22e708(0xf2)]+_0x22e708(0xfd));}}}else logger['info']({'event':_0x22e708(0x108),'columns':_0xa6d880},_0x22e708(0xe2)+(_0xa6d880?.['length']||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x32c869[_0x22e708(0xae)]({'data':_0x1bb578,'columns':_0xa6d880,'columnFormats':_0x250073['columnFormats']||null,'fieldLabels':_0x250073['fieldLabels']||null,'filePath':_0xe29efa,'onProgress':async _0xf4e8f9=>{const _0x14e440=_0x22e708;await redisHelper[_0x14e440(0xe1)](_0x1e4321,{'progress':Math['round'](_0xf4e8f9),'processed_rows':Math[_0x14e440(0xbb)](_0xf4e8f9/0x64*_0x1bb578['length'])});}}),_0xe29efa;}async['getFilePath'](_0x5d642e){const _0x2f2805=a0_0x4b5360,_0x58a378={'flCeQ':_0x2f2805(0xc4),'PnpAp':function(_0x434c7b,_0x1f2510,_0x22573c,_0x3ab341){return _0x434c7b(_0x1f2510,_0x22573c,_0x3ab341);}},_0x27b405=await redisHelper['getJob'](_0x5d642e);if(!_0x27b405||_0x27b405['status']!==_0x58a378[_0x2f2805(0x111)])return null;try{return await fs[_0x2f2805(0xd7)](_0x27b405['file_path']),_0x27b405['file_path'];}catch(_0x2fd18e){return _0x58a378[_0x2f2805(0xce)](logError,_0x2fd18e,{'event':'export_file_not_found','jobId':_0x5d642e,'path':_0x27b405[_0x2f2805(0x112)]},_0x2f2805(0xca)),null;}}async[a0_0x4b5360(0xdc)](){const _0x338796=a0_0x4b5360,_0x4c47e2={'TjGEm':'export_cleanup_start','iqrNU':function(_0xf0a352,_0x4a7484){return _0xf0a352>_0x4a7484;},'bVQXv':'export_file_delete_error','WarZG':_0x338796(0xfa)};logger['info']({'event':_0x4c47e2['TjGEm']},_0x338796(0x10d));const _0xb18ffc=await redisHelper[_0x338796(0xe5)]();let _0x2956fe=0x0;for(const _0x2d7cc1 of _0xb18ffc){const _0x48e67b=new Date(_0x2d7cc1['created_at']),_0x5b24f5=new Date(),_0x1ca4b8=(_0x5b24f5-_0x48e67b)/(0x3e8*0x3c*0x3c);if(_0x4c47e2['iqrNU'](_0x1ca4b8,0x1)){if(_0x2d7cc1['file_path'])try{await fs['unlink'](_0x2d7cc1[_0x338796(0x112)]),logger['info']({'event':_0x338796(0x8f),'path':_0x2d7cc1[_0x338796(0x112)]},'Export\x20file\x20deleted');}catch(_0x486c3f){logger['warn']({'event':_0x4c47e2['bVQXv'],'path':_0x2d7cc1['file_path'],'error':_0x486c3f['message']},_0x4c47e2[_0x338796(0xb6)]);}await redisHelper['deleteJob'](_0x2d7cc1['job_id']),_0x2956fe++;}}return logger[_0x338796(0xa2)]({'event':_0x338796(0xe4),'deleted':_0x2956fe},_0x338796(0x127)),_0x2956fe;}}module[a0_0x4b5360(0x128)]=new ExportService();
|
|
1
|
+
const a0_0x31d52c=a0_0x46a7;(function(_0x523c08,_0x3addf0){const _0x2af990=a0_0x46a7,_0x25c5d3=_0x523c08();while(!![]){try{const _0x6df1a4=-parseInt(_0x2af990(0x239))/0x1+parseInt(_0x2af990(0x1fd))/0x2+-parseInt(_0x2af990(0x263))/0x3*(parseInt(_0x2af990(0x270))/0x4)+-parseInt(_0x2af990(0x233))/0x5+parseInt(_0x2af990(0x20f))/0x6+parseInt(_0x2af990(0x22f))/0x7+-parseInt(_0x2af990(0x26f))/0x8*(parseInt(_0x2af990(0x215))/0x9);if(_0x6df1a4===_0x3addf0)break;else _0x25c5d3['push'](_0x25c5d3['shift']());}catch(_0x475184){_0x25c5d3['push'](_0x25c5d3['shift']());}}}(a0_0xae16,0x864a5));function a0_0x46a7(_0x5ebc15,_0x1f0e70){_0x5ebc15=_0x5ebc15-0x1df;const _0xae1641=a0_0xae16();let _0x46a768=_0xae1641[_0x5ebc15];if(a0_0x46a7['TNWBIt']===undefined){var _0x44fcb2=function(_0x3f112c){const _0x66885c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c012f='',_0x275eb5='';for(let _0x4a7868=0x0,_0x45bde0,_0x21e125,_0x26521f=0x0;_0x21e125=_0x3f112c['charAt'](_0x26521f++);~_0x21e125&&(_0x45bde0=_0x4a7868%0x4?_0x45bde0*0x40+_0x21e125:_0x21e125,_0x4a7868++%0x4)?_0x1c012f+=String['fromCharCode'](0xff&_0x45bde0>>(-0x2*_0x4a7868&0x6)):0x0){_0x21e125=_0x66885c['indexOf'](_0x21e125);}for(let _0x45321d=0x0,_0x19ea38=_0x1c012f['length'];_0x45321d<_0x19ea38;_0x45321d++){_0x275eb5+='%'+('00'+_0x1c012f['charCodeAt'](_0x45321d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x275eb5);};a0_0x46a7['IkqTiv']=_0x44fcb2,a0_0x46a7['Xzoceb']={},a0_0x46a7['TNWBIt']=!![];}const _0x4ecaa9=_0xae1641[0x0],_0x2e95ec=_0x5ebc15+_0x4ecaa9,_0x58b5ac=a0_0x46a7['Xzoceb'][_0x2e95ec];return!_0x58b5ac?(_0x46a768=a0_0x46a7['IkqTiv'](_0x46a768),a0_0x46a7['Xzoceb'][_0x2e95ec]=_0x46a768):_0x46a768=_0x58b5ac,_0x46a768;}const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x31d52c(0x230)],fsSync=require('fs'),redisHelper=require(a0_0x31d52c(0x251)),{logger,logError}=require(a0_0x31d52c(0x1e8)),dbType=(process[a0_0x31d52c(0x1f7)]['DB_TYPE']||a0_0x31d52c(0x224))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x196db8,_0x2df504)=>oracleDb['executeQuery'](_0x196db8,_0x2df504);}else{if(dbType===a0_0x31d52c(0x261)){const mysqlDb=require(a0_0x31d52c(0x203));executeQuery=(_0x42fb02,_0x1b0d85)=>mysqlDb[a0_0x31d52c(0x256)](_0x42fb02,_0x1b0d85);}else executeQuery=require(a0_0x31d52c(0x20e))[a0_0x31d52c(0x256)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x31d52c(0x23a)](){const _0x29157e=a0_0x31d52c,_0x38527f={'XneAn':'Export\x20service\x20initialized','DXNrK':function(_0x224a86,_0x1a05bf,_0x3b0288,_0x5cb653){return _0x224a86(_0x1a05bf,_0x3b0288,_0x5cb653);}};if(!this[_0x29157e(0x210)]){const _0x4c5c9f=process['env'][_0x29157e(0x214)]||_0x29157e(0x254);this['_exportDir']=process[_0x29157e(0x1f7)][_0x29157e(0x1eb)]||path[_0x29157e(0x212)](__dirname,_0x29157e(0x206)+_0x4c5c9f);try{!fsSync[_0x29157e(0x229)](this[_0x29157e(0x210)])&&fsSync['mkdirSync'](this[_0x29157e(0x210)],{'recursive':!![]}),logger['info']({'event':_0x29157e(0x21d),'dir':this[_0x29157e(0x210)]},_0x38527f['XneAn']);}catch(_0x5af639){_0x38527f['DXNrK'](logError,_0x5af639,{'event':'export_service_init_error'},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x29157e(0x210)];}['resolveExportQuery'](_0x1917f7,_0x59450e=null){const _0x1b47d4=a0_0x31d52c,_0x3a189e={'glSOQ':'string','MBBfv':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','bQSsd':'export_query_file_resolve','gPdvh':_0x1b47d4(0x245)};if(!_0x1917f7||typeof _0x1917f7!==_0x3a189e[_0x1b47d4(0x22d)])return _0x1917f7;const _0x4d388c=_0x1917f7[_0x1b47d4(0x217)]();if(!_0x4d388c['startsWith']('file:'))return _0x4d388c;const _0x6d3f4b=_0x4d388c[_0x1b47d4(0x22b)](/^file:/,'')[_0x1b47d4(0x217)]();if(!_0x6d3f4b)throw new Error(_0x3a189e['MBBfv']);const _0x4a973c=_0x59450e||path['join'](process[_0x1b47d4(0x20c)](),'payload'),_0x23287f=path[_0x1b47d4(0x1ee)](_0x4a973c,_0x6d3f4b);logger[_0x1b47d4(0x1ec)]({'event':_0x3a189e['bQSsd'],'relativePath':_0x6d3f4b,'baseDir':_0x4a973c,'absolutePath':_0x23287f},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x6d3f4b);if(!fsSync[_0x1b47d4(0x229)](_0x23287f))throw new Error(_0x1b47d4(0x209)+_0x23287f);try{const _0x10104a=fsSync['readFileSync'](_0x23287f,'utf8');if(!_0x10104a||!_0x10104a['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x23287f);return logger['info']({'event':_0x3a189e['gPdvh'],'file':_0x23287f,'queryLength':_0x10104a[_0x1b47d4(0x25f)]},_0x1b47d4(0x1f3)+_0x10104a['length']+_0x1b47d4(0x1f6)),_0x10104a[_0x1b47d4(0x217)]();}catch(_0x36ff1a){if(_0x36ff1a[_0x1b47d4(0x1e2)]==='ENOENT')throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x23287f);throw new Error(_0x1b47d4(0x267)+_0x36ff1a['message']);}}['generateJobId'](){const _0x3ff475=a0_0x31d52c,_0xfe37e9={'SGGka':function(_0xe4ba68,_0x3b0ca1){return _0xe4ba68*_0x3b0ca1;}},_0x274556='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x10aa2b=Date['now']()['toString'](0x24),_0x523b13=uuidv7()['replace'](/-/g,'')['substring'](0x0,0xc-_0x10aa2b[_0x3ff475(0x25f)]),_0x13fcc1=(_0x10aa2b+_0x523b13)[_0x3ff475(0x218)](0x0,0xc);let _0x1bc8f3='';for(let _0x5194b=0x0;_0x5194b<0xc;_0x5194b++){_0x13fcc1[_0x5194b]?_0x1bc8f3+=_0x13fcc1[_0x5194b]:_0x1bc8f3+=_0x274556[_0x3ff475(0x202)](Math[_0x3ff475(0x227)](_0xfe37e9['SGGka'](Math['random'](),_0x274556['length'])));}return _0x1bc8f3;}async[a0_0x31d52c(0x1f4)](_0x241104){const _0x133bab=a0_0x31d52c,_0x564142={'zsCrO':function(_0x21eec0,_0x2b8081,_0x1c2bd1,_0x2a0a4e){return _0x21eec0(_0x2b8081,_0x1c2bd1,_0x2a0a4e);},'kxoeC':'Export\x20processing\x20failed','mtZJI':'pending','ybQMg':_0x133bab(0x260)},_0x47c4fb=this[_0x133bab(0x23e)](),_0x391e91={'job_id':_0x47c4fb,'status':_0x564142[_0x133bab(0x24e)],'progress':0x0,'created_at':new Date()[_0x133bab(0x24a)](),'params':_0x241104,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x47c4fb,_0x391e91),logger[_0x133bab(0x1ec)]({'event':_0x564142[_0x133bab(0x1f5)],'jobId':_0x47c4fb,'params':_0x241104},_0x133bab(0x205)),this[_0x133bab(0x1df)](_0x47c4fb,_0x241104)['catch'](_0x41479f=>{const _0x4a6a24=_0x133bab;_0x564142[_0x4a6a24(0x1e1)](logError,_0x41479f,{'event':_0x4a6a24(0x225),'jobId':_0x47c4fb},_0x564142[_0x4a6a24(0x252)]);}),{'job_id':_0x47c4fb,'status':_0x564142[_0x133bab(0x24e)]};}async['getJobStatus'](_0x2ad83f){const _0x10d895=a0_0x31d52c,_0x4cbbb2={'CzcHp':function(_0x503058,_0x5ed203){return _0x503058===_0x5ed203;},'GJygR':_0x10d895(0x273)},_0x2dc41d=await redisHelper['getJob'](_0x2ad83f);if(!_0x2dc41d)return{'success':![],'error':_0x10d895(0x1f8)};return{'success':!![],'data':{'job_id':_0x2dc41d['job_id'],'status':_0x2dc41d['status'],'progress':_0x2dc41d['progress'],'total_rows':_0x2dc41d[_0x10d895(0x21c)],'processed_rows':_0x2dc41d['processed_rows'],'file_url':_0x4cbbb2['CzcHp'](_0x2dc41d['status'],_0x4cbbb2[_0x10d895(0x22c)])?'/api/'+_0x2dc41d[_0x10d895(0x21b)][_0x10d895(0x26d)]+'/'+_0x2dc41d['params']['endpointName']+_0x10d895(0x268)+_0x2ad83f:null,'error':_0x2dc41d['error']||null,'created_at':_0x2dc41d[_0x10d895(0x25c)],'completed_at':_0x2dc41d['completed_at']||null}};}async['processJob'](_0x23a348,_0xca68ab){const _0xca60de=a0_0x31d52c,_0x1e1d57={'IYPRT':'processing','lyrTU':_0xca60de(0x238),'EbDSg':'completed','uJXWc':'Export\x20completed\x20successfully'};try{await redisHelper['updateJob'](_0x23a348,{'status':_0x1e1d57['IYPRT'],'started_at':new Date()[_0xca60de(0x24a)]()}),logger['info']({'event':'export_processing_start','jobId':_0x23a348},_0x1e1d57[_0xca60de(0x232)]);const _0x4642ef=await this['fetchData'](_0xca68ab);await redisHelper[_0xca60de(0x20d)](_0x23a348,{'total_rows':_0x4642ef['length']});const _0x405660=await this[_0xca60de(0x1e3)](_0x23a348,_0x4642ef,_0xca68ab);await redisHelper['updateJob'](_0x23a348,{'status':_0x1e1d57[_0xca60de(0x1f2)],'progress':0x64,'file_path':_0x405660,'completed_at':new Date()[_0xca60de(0x24a)]()}),logger[_0xca60de(0x1ec)]({'event':'export_completed','jobId':_0x23a348,'rows':_0x4642ef[_0xca60de(0x25f)]},_0x1e1d57[_0xca60de(0x236)]);}catch(_0x1c5acb){logError(_0x1c5acb,{'event':_0xca60de(0x272),'jobId':_0x23a348},'Export\x20failed'),await redisHelper[_0xca60de(0x20d)](_0x23a348,{'status':_0xca60de(0x1f9),'error':_0x1c5acb['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x31d52c(0x24f)](_0x35631c){const _0xe20618=a0_0x31d52c,_0x11af20={'EKdfK':function(_0x309c72,_0x15bbdc){return _0x309c72===_0x15bbdc;},'WcHmo':'tableName\x20and\x20columns\x20are\x20required','UbZYz':function(_0x19ade1,_0x129d9d){return _0x19ade1+_0x129d9d;},'hQwcY':_0xe20618(0x1f1),'wrqmU':'export_using_custom_query','bvODU':'Using\x20custom\x20exportQuery','QPYzY':'Using\x20auto-generated\x20query','BhjHV':'export_fetch_start','MPwXA':function(_0x2c7fc9,_0x37cfad){return _0x2c7fc9(_0x37cfad);},'JvlFR':function(_0x1c0cfc,_0x5be5c6){return _0x1c0cfc>_0x5be5c6;},'ZADUp':_0xe20618(0x237),'PxUwz':'Data\x20fetched\x20successfully','lRkRF':function(_0x5040a4,_0x2ff2b1,_0xe0522f,_0x4cddde){return _0x5040a4(_0x2ff2b1,_0xe0522f,_0x4cddde);},'YSgcz':'export_fetch_error'};try{const {tableName:_0x4ba43d,columns:_0x4ca037,exportQuery:_0x3f2a3d,where:_0x3327cb,sort_columns:_0x312ac9}=_0x35631c;if(!_0x4ba43d||!_0x4ca037||_0x11af20[_0xe20618(0x207)](_0x4ca037[_0xe20618(0x25f)],0x0))throw new Error(_0x11af20[_0xe20618(0x241)]);const _0x248c09=_0x11af20['UbZYz'](_0x4ba43d[_0xe20618(0x22b)](/\./g,'_'),_0xe20618(0x264));let _0xf9470e;if(_0x3f2a3d&&_0x3f2a3d['trim']()){let _0x4ce890=_0x3f2a3d;_0x3f2a3d['trim']()[_0xe20618(0x244)](_0x11af20[_0xe20618(0x242)])&&(_0x4ce890=this['resolveExportQuery'](_0x3f2a3d)),_0xf9470e='WITH\x20'+_0x248c09+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x4ce890+'\x0a)',_0xf9470e+=_0xe20618(0x26a)+_0x248c09,logger['info']({'event':_0x11af20['wrqmU'],'query':_0x4ce890[_0xe20618(0x218)](0x0,0x64)},_0x11af20['bvODU']);}else{const _0x117180=_0x4ca037[_0xe20618(0x228)](_0x3db9fb=>_0xe20618(0x1fe)+_0x3db9fb)[_0xe20618(0x212)](',');_0xf9470e='WITH\x20'+_0x248c09+_0xe20618(0x200)+_0x117180+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4ba43d+'\x0a)',_0xf9470e+=_0xe20618(0x26a)+_0x248c09,logger['info']({'event':_0xe20618(0x1ff),'tableName':_0x4ba43d,'columnCount':_0x4ca037[_0xe20618(0x25f)]},_0x11af20['QPYzY']);}if(_0x3327cb){const _0x54b0df=this[_0xe20618(0x22a)](_0x3327cb);_0x54b0df&&(_0xf9470e+='\x0aWHERE\x20'+_0x54b0df);}if(_0x312ac9&&_0x312ac9['length']>0x0){const _0x340911=this[_0xe20618(0x211)](_0x312ac9);_0x340911&&(_0xf9470e+='\x0aORDER\x20BY\x20'+_0x340911);}logger['info']({'event':_0x11af20['BhjHV'],'query':_0xf9470e['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x1086c3=await _0x11af20[_0xe20618(0x222)](executeQuery,_0xf9470e);let _0x4e92c1=_0x1086c3;return _0x11af20['EKdfK'](dbType,'oracle')&&_0x1086c3&&_0x11af20[_0xe20618(0x240)](_0x1086c3['length'],0x0)&&(_0x4e92c1=_0x1086c3[_0xe20618(0x228)](_0x461549=>{const _0x58fcff={};for(const [_0x4d77b9,_0x560f7b]of Object['entries'](_0x461549)){_0x58fcff[_0x4d77b9['toLowerCase']()]=_0x560f7b;}return _0x58fcff;})),logger[_0xe20618(0x1ec)]({'event':_0x11af20[_0xe20618(0x1e4)],'rows':_0x4e92c1[_0xe20618(0x25f)]},_0x11af20['PxUwz']),_0x4e92c1;}catch(_0x257446){_0x11af20['lRkRF'](logError,_0x257446,{'event':_0x11af20[_0xe20618(0x219)]},'Failed\x20to\x20fetch\x20data');throw _0x257446;}}[a0_0x31d52c(0x249)](_0x4d998c){const _0x38f95c=a0_0x31d52c,_0x13a279={'fugSF':function(_0x8096e9,_0x167013){return _0x8096e9===_0x167013;},'oSsdq':_0x38f95c(0x1e0)};if(_0x13a279[_0x38f95c(0x216)](typeof _0x4d998c,_0x13a279[_0x38f95c(0x1f0)]))return _0x4d998c[_0x38f95c(0x22b)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x38f95c(0x217)]();else{if(Array[_0x38f95c(0x1fb)](_0x4d998c))return _0x4d998c['map'](_0x1809fe=>this[_0x38f95c(0x249)](_0x1809fe));}return _0x4d998c;}['buildWhereClause'](_0x2348a9){const _0x494ddf=a0_0x31d52c,_0x30ade2={'mfKqR':_0x494ddf(0x1e0),'PhbjN':function(_0xe33c85,_0xea5afd){return _0xe33c85===_0xea5afd;},'zDDht':function(_0x127757,_0x1fcdcd){return _0x127757||_0x1fcdcd;},'NfKlm':_0x494ddf(0x26c),'KGLWe':function(_0x48c7aa,_0x48ddbd){return _0x48c7aa===_0x48ddbd;},'Gscfp':_0x494ddf(0x24d),'aAhuD':_0x494ddf(0x208),'EzbYg':'IS\x20NULL','cjKaQ':function(_0x45a961,_0x5afb04){return _0x45a961===_0x5afb04;},'ICMzi':_0x494ddf(0x20b),'bDINX':function(_0x4f1cc2,_0x33ced8){return _0x4f1cc2===_0x33ced8;}};if(!_0x2348a9||!_0x2348a9[_0x494ddf(0x257)]||_0x30ade2[_0x494ddf(0x20a)](_0x2348a9['conditions']['length'],0x0))return'';const {logic:_0x1e294d,conditions:_0x3ac1ae}=_0x2348a9,_0x5efd41=_0x1e294d&&_0x1e294d[_0x494ddf(0x255)]()==='OR'?_0x30ade2[_0x494ddf(0x21f)]:'\x20AND\x20',_0x5ae31b=_0x3ac1ae[_0x494ddf(0x228)](_0x48a2e1=>{const _0x3345c3=_0x494ddf,_0x45eda3={'yfqrF':function(_0x1c2af8,_0x2e2c6f){return _0x1c2af8===_0x2e2c6f;},'sXLUW':_0x30ade2['mfKqR'],'PkctS':function(_0x228e92,_0x4235a5){const _0x38b23d=a0_0x46a7;return _0x30ade2[_0x38b23d(0x21a)](_0x228e92,_0x4235a5);}},{key:_0x5171e9,operator:_0x48c660,value:_0x38b5aa,sensitive:_0x4dafca}=_0x48a2e1;if(_0x30ade2['zDDht'](!_0x5171e9,!_0x48c660))return logger['warn']({'event':_0x30ade2['NfKlm'],'condition':_0x48a2e1},_0x3345c3(0x266)),null;const _0x38b141=this['sanitizeValue'](_0x38b5aa),_0x23b96e=_0x4dafca!==undefined?_0x4dafca:!![];let _0x4b01aa=_0x5171e9,_0x4b8eb5=_0x38b141;!_0x23b96e&&(_0x4b01aa=_0x3345c3(0x262)+_0x5171e9+')',typeof _0x38b5aa===_0x30ade2[_0x3345c3(0x259)]&&(_0x4b8eb5=_0x38b5aa[_0x3345c3(0x255)]()));const _0x2ef9a9=_0x30ade2['KGLWe'](typeof _0x4b8eb5,'string')?'\x27'+_0x4b8eb5['replace'](/'/g,'\x27\x27')+'\x27':_0x4b8eb5;switch(_0x48c660[_0x3345c3(0x255)]()){case'=':case'!=':case'<>':return _0x4b01aa+'\x20'+_0x48c660+'\x20'+_0x2ef9a9;case'>':case'<':case'>=':case'<=':const _0x28caa7=typeof _0x38b141===_0x3345c3(0x1e0)?'\x27'+_0x38b141[_0x3345c3(0x22b)](/'/g,'\x27\x27')+'\x27':_0x38b141;return _0x5171e9+'\x20'+_0x48c660+'\x20'+_0x28caa7;case _0x30ade2[_0x3345c3(0x23b)]:case _0x30ade2[_0x3345c3(0x25b)]:return _0x4b01aa+'\x20'+_0x48c660+'\x20'+_0x2ef9a9;case'IN':if(Array['isArray'](_0x38b141)){let _0x42be80;return!_0x23b96e?_0x42be80=_0x38b141[_0x3345c3(0x228)](_0x298dab=>{const _0x1ba1bb=_0x3345c3,_0x43c894=_0x45eda3[_0x1ba1bb(0x21e)](typeof _0x298dab,_0x45eda3['sXLUW'])?_0x298dab[_0x1ba1bb(0x255)]():_0x298dab;return _0x45eda3['PkctS'](typeof _0x43c894,_0x1ba1bb(0x1e0))?'\x27'+_0x43c894[_0x1ba1bb(0x22b)](/'/g,'\x27\x27')+'\x27':_0x43c894;})[_0x3345c3(0x212)](',\x20'):_0x42be80=_0x38b141['map'](_0x1aa48f=>typeof _0x1aa48f===_0x3345c3(0x1e0)?'\x27'+_0x1aa48f[_0x3345c3(0x22b)](/'/g,'\x27\x27')+'\x27':_0x1aa48f)[_0x3345c3(0x212)](',\x20'),_0x4b01aa+'\x20IN\x20('+_0x42be80+')';}return _0x4b01aa+'\x20IN\x20('+_0x2ef9a9+')';case _0x30ade2['EzbYg']:return _0x5171e9+'\x20IS\x20NULL';case _0x3345c3(0x1ef):return _0x5171e9+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x3345c3(0x25e),'operator':_0x48c660},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x4b01aa+'\x20=\x20'+_0x2ef9a9;}})['filter'](_0x329213=>_0x329213!==null);if(_0x30ade2['bDINX'](_0x5ae31b['length'],0x0))return'';return _0x5ae31b[_0x494ddf(0x212)](_0x5efd41);}[a0_0x31d52c(0x211)](_0x311064){const _0x2f1617=a0_0x31d52c,_0x379931={'lOHNN':_0x2f1617(0x247),'ezXqw':function(_0x511503,_0x491521){return _0x511503===_0x491521;}};if(!_0x311064||_0x379931['ezXqw'](_0x311064[_0x2f1617(0x25f)],0x0))return'';const _0x2f8b1a=_0x311064[_0x2f1617(0x228)](_0x6608b1=>{const _0xb62d34=_0x2f1617,{column:_0x35176c,direction:_0x298e77}=_0x6608b1;if(!_0x35176c)return logger[_0xb62d34(0x23f)]({'event':_0x379931[_0xb62d34(0x1e9)],'item':_0x6608b1},_0xb62d34(0x25a)),null;const _0x338024=_0x298e77&&_0x298e77['toUpperCase']()===_0xb62d34(0x26e)?'DESC':'ASC';return _0x35176c+'\x20'+_0x338024;})['filter'](_0x274997=>_0x274997!==null);if(_0x379931['ezXqw'](_0x2f8b1a['length'],0x0))return'';return _0x2f8b1a['join'](',\x20');}async[a0_0x31d52c(0x1e3)](_0x4dcb3a,_0x5f09a3,_0x3fdeef){const _0x468654=a0_0x31d52c,_0xd89b3c={'UPkqo':function(_0x39122f,_0x4e0a6f){return _0x39122f(_0x4e0a6f);},'lzpIl':function(_0x4bcc1a,_0x50d6ae){return _0x4bcc1a===_0x50d6ae;},'omTiT':function(_0x489519,_0x5a54cc){return _0x489519===_0x5a54cc;},'aWbFh':'all','RnTBy':function(_0x3b4b2a,_0x59b638){return _0x3b4b2a>_0x59b638;},'DDxnb':function(_0x80c482,_0x327876){return _0x80c482>_0x327876;},'BCJIX':_0x468654(0x1e7),'xcrGk':'excel_columns_from_config'},_0x2c3f97=_0xd89b3c[_0x468654(0x23c)](require,_0x468654(0x213)),_0x188b24=new _0x2c3f97(),_0x2bc259=_0x3fdeef['filename']?_0x3fdeef['filename']+'-'+_0x4dcb3a:_0x468654(0x201)+_0x4dcb3a,_0x214358=path[_0x468654(0x212)](this[_0x468654(0x23a)],_0x2bc259+'.xlsx');let _0x3257e2=_0x3fdeef['columns'];const _0x5c3573=_0x3fdeef['exportQuery']&&_0x3fdeef[_0x468654(0x221)]['trim'](),_0x3a2f2e=_0x3257e2&&_0xd89b3c['lzpIl'](_0x3257e2[_0x468654(0x25f)],0x1)&&(_0xd89b3c['omTiT'](_0x3257e2[0x0],'*')||_0x3257e2[0x0]['toLowerCase']()===_0xd89b3c['aWbFh']);if(_0x5f09a3['length']>0x0){const _0x447c57=Object['keys'](_0x5f09a3[0x0]);if(_0x5c3573)_0x3257e2=_0x447c57,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x3257e2},_0x468654(0x231)+_0x3257e2['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x3a2f2e)_0x3257e2=_0x447c57,logger[_0x468654(0x1ec)]({'event':_0x468654(0x23d),'columns':_0x3257e2},_0x468654(0x253)+_0x3257e2['length']+_0x468654(0x271));else{if(_0x3257e2&&_0xd89b3c[_0x468654(0x24c)](_0x3257e2['length'],0x0)){const _0xf190b4=_0x3257e2['filter'](_0x19ceac=>_0x447c57['includes'](_0x19ceac));_0xd89b3c['DDxnb'](_0xf190b4['length'],0x0)?(_0x3257e2=_0xf190b4,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0x3fdeef[_0x468654(0x220)],'validColumns':_0x3257e2},'Using\x20'+_0x3257e2[_0x468654(0x25f)]+_0x468654(0x24b))):(_0x3257e2=_0x447c57,logger['warn']({'event':_0xd89b3c[_0x468654(0x223)],'requestedColumns':_0x3fdeef[_0x468654(0x220)],'availableColumns':_0x447c57},_0x468654(0x258)+_0x447c57['length']+_0x468654(0x269)));}else _0x3257e2=_0x447c57,logger[_0x468654(0x1ec)]({'event':_0x468654(0x1e6),'columns':_0x3257e2},_0x468654(0x231)+_0x3257e2['length']+_0x468654(0x265));}}}else logger[_0x468654(0x1ec)]({'event':_0xd89b3c['xcrGk'],'columns':_0x3257e2},'Using\x20'+(_0x3257e2?.[_0x468654(0x25f)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x188b24['generate']({'data':_0x5f09a3,'columns':_0x3257e2,'columnFormats':_0x3fdeef[_0x468654(0x1fc)]||null,'fieldLabels':_0x3fdeef[_0x468654(0x235)]||null,'filePath':_0x214358,'onProgress':async _0x184a6c=>{const _0xde2aaa=_0x468654;await redisHelper[_0xde2aaa(0x20d)](_0x4dcb3a,{'progress':Math['round'](_0x184a6c),'processed_rows':Math[_0xde2aaa(0x248)](_0x184a6c/0x64*_0x5f09a3['length'])});}}),_0x214358;}async['getFilePath'](_0x4a1b68){const _0x5ddbe0=a0_0x31d52c,_0x895e69={'RsWBv':'completed','NBtgE':_0x5ddbe0(0x26b)},_0x27211e=await redisHelper[_0x5ddbe0(0x1ea)](_0x4a1b68);if(!_0x27211e||_0x27211e[_0x5ddbe0(0x1fa)]!==_0x895e69['RsWBv'])return null;try{return await fs[_0x5ddbe0(0x25d)](_0x27211e[_0x5ddbe0(0x226)]),_0x27211e['file_path'];}catch(_0x2e4aae){return logError(_0x2e4aae,{'event':_0x895e69['NBtgE'],'jobId':_0x4a1b68,'path':_0x27211e[_0x5ddbe0(0x226)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x3ecfaf=a0_0x31d52c,_0x499174={'NYqBs':'Starting\x20export\x20cleanup','mwYiW':function(_0x57b544,_0x4b4896){return _0x57b544*_0x4b4896;},'yLhoL':_0x3ecfaf(0x1e5),'HJpSZ':_0x3ecfaf(0x250),'nLOFP':'export_cleanup_complete','XYPGE':_0x3ecfaf(0x1ed)};logger['info']({'event':_0x3ecfaf(0x204)},_0x499174['NYqBs']);const _0xdf84a6=await redisHelper['getAllJobs']();let _0x8c2d66=0x0;for(const _0x26d4d3 of _0xdf84a6){const _0x1cf122=new Date(_0x26d4d3[_0x3ecfaf(0x25c)]),_0x42a76c=new Date(),_0x1f28ce=(_0x42a76c-_0x1cf122)/_0x499174[_0x3ecfaf(0x246)](0x3e8*0x3c,0x3c);if(_0x1f28ce>0x1){if(_0x26d4d3[_0x3ecfaf(0x226)])try{await fs['unlink'](_0x26d4d3[_0x3ecfaf(0x226)]),logger['info']({'event':'export_file_deleted','path':_0x26d4d3['file_path']},_0x499174['yLhoL']);}catch(_0x20ef00){logger['warn']({'event':_0x499174['HJpSZ'],'path':_0x26d4d3['file_path'],'error':_0x20ef00[_0x3ecfaf(0x243)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x26d4d3['job_id']),_0x8c2d66++;}}return logger['info']({'event':_0x499174['nLOFP'],'deleted':_0x8c2d66},_0x499174[_0x3ecfaf(0x234)]),_0x8c2d66;}}function a0_0xae16(){const _0x3f29b2=['qKnksvG','Cg9ZDgDYzxnXBa','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zMLSzv9WyxrO','zMXVB3i','BwfW','zxHPC3rZu3LUyW','yNvPBgrxAgvYzunSyxvZzq','CMvWBgfJzq','r0P5z1i','z2Xtt1e','zxHWB3j0CW','mtu0mtu0n2D3CwHztq','ChjVBwLZzxm','vxnPBMCG','BhLYvfu','mtu4nJqYmgjUrNvTqq','wfLqr0u','zMLLBgrmywjLBhm','DuPyv2m','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','mZe5mJGZuKDzwfD4','zxHWB3j0rgLY','r3nJzNa','vvbRCw8','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','z2vUzxjHDgvkB2jjza','D2fYBG','sNzSrLi','v2niBw8','Aff3y1K','BwvZC2fNzq','C3rHCNrZv2L0Aa','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','BxDzAvC','Aw52ywXPzf9ZB3j0x2nVBhvTBG','CM91BMq','C2fUAxrPEMvwywX1zq','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbYzxf1zxn0','uM5uqNK','teLlrq','BxrAsKK','zMv0y2HeyxrH','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A3HVzum','vxnPBMCGywXSia','zgvMyxvSDa','Dg9vChbLCKnHC2u','zxHLy3v0zvf1zxj5','y29UzgL0Aw9UCW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','BwzlCvi','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','yufODuq','y3jLyxrLzf9HDa','ywnJzxnZ','Dw5RBM93BL9VCgvYyxrVCG','BgvUz3rO','zxHWB3j0x2PVyL9JCMvHDgvK','BxLZCwW','vvbqrviO','m1LVC1DgsG','x2rHDge','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','ignVBhvTBNm','cLnftevdvcaQiezst00G','zxHWB3j0x2zPBgvFBM90x2zVDw5K','Aw52ywXPzf9JB25KAxrPB24','Bw9KDwXLtMfTzq','revtqW','odiWmZeYr3rWtxbI','mJqWotmXnMveqvDxza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHWB3j0x2zHAwXLza','y29TCgXLDgvK','ChjVy2vZC0PVyG','C3rYAw5N','ENndCK8','y29Kzq','z2vUzxjHDgvfEgnLBa','wKfevxa','rxHWB3j0igzPBguGzgvSzxrLza','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHJzwXFy29SDw1UC19MywXSyMfJAW','lI4VDxrPBhmVBg9Nz2vY','Be9itK4','z2v0sM9I','rvHqt1jux0rjuG','Aw5MBW','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','CMvZB2X2zq','svmGtK9uie5vteW','B1nZzhe','zMLSztO','rwjeu2C','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','y3jLyxrLsM9I','EwjrtwC','ignOyxjZkq','zw52','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zMfPBgvK','C3rHDhvZ','AxnbCNjHEq','y29SDw1UrM9YBwf0CW','mtC5odKYmhjhz3Dgqq','cIaGicaGicaG','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','iefticGkicaGifnftevdvca','zxHWB3j0lq','y2HHCKf0','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0x2nSzwfUDxbFC3rHCNq','rxHWB3j0igPVyIbJCMvHDgvK','lI4VlI4VzxHWB3j0CY8','ruTKzKS','tK9uieXjs0u','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y2Plyve','ie9sia','y3DK','DxbKyxrLsM9I','lI4VDxrPBhmVzgi','ntG2mtmXmeHbAwfIwG','x2v4Cg9YDerPCG','yNvPBgrpCMrLCKj5q2XHDxnL','AM9PBG','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJDhB3r3q3O','zNvNu0y','DhjPBq','C3vIC3rYAw5N','wvnNy3O','ugHIAK4','CgfYyw1Z','Dg90ywXFCM93CW','zxHWB3j0x3nLCNzPy2vFAw5PDa','EwzXCKy','sunnEMK','y29SDw1UCW','zxHWB3j0uxvLCNK','tvb3wee'];a0_0xae16=function(){return _0x3f29b2;};return a0_0xae16();}module[a0_0x31d52c(0x22e)]=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3187e8=a0_0x545f;(function(_0x15779f,_0x561c86){const _0x5a8871=a0_0x545f,_0x6a36e6=_0x15779f();while(!![]){try{const _0x16b9ec=parseInt(_0x5a8871(0x1e2))/0x1+parseInt(_0x5a8871(0x1c5))/0x2*(-parseInt(_0x5a8871(0x1b5))/0x3)+parseInt(_0x5a8871(0x185))/0x4+parseInt(_0x5a8871(0x1c2))/0x5*(-parseInt(_0x5a8871(0x1e9))/0x6)+parseInt(_0x5a8871(0x1d5))/0x7+-parseInt(_0x5a8871(0x1d4))/0x8+parseInt(_0x5a8871(0x16b))/0x9;if(_0x16b9ec===_0x561c86)break;else _0x6a36e6['push'](_0x6a36e6['shift']());}catch(_0x521f82){_0x6a36e6['push'](_0x6a36e6['shift']());}}}(a0_0x12f4,0xeff40));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x3187e8(0x19f)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x3187e8(0x195)][a0_0x3187e8(0x20d)]||a0_0x3187e8(0x167))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x545f(_0x103e70,_0x10c633){_0x103e70=_0x103e70-0x166;const _0x12f4ff=a0_0x12f4();let _0x545fd2=_0x12f4ff[_0x103e70];if(a0_0x545f['kmbrKX']===undefined){var _0x57f688=function(_0x3a70a2){const _0x4f82be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf1a949='',_0x5116f1='';for(let _0x5c389c=0x0,_0x201223,_0x10f6e1,_0x3b4774=0x0;_0x10f6e1=_0x3a70a2['charAt'](_0x3b4774++);~_0x10f6e1&&(_0x201223=_0x5c389c%0x4?_0x201223*0x40+_0x10f6e1:_0x10f6e1,_0x5c389c++%0x4)?_0xf1a949+=String['fromCharCode'](0xff&_0x201223>>(-0x2*_0x5c389c&0x6)):0x0){_0x10f6e1=_0x4f82be['indexOf'](_0x10f6e1);}for(let _0x35b5d9=0x0,_0x3b1f51=_0xf1a949['length'];_0x35b5d9<_0x3b1f51;_0x35b5d9++){_0x5116f1+='%'+('00'+_0xf1a949['charCodeAt'](_0x35b5d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5116f1);};a0_0x545f['djbKOR']=_0x57f688,a0_0x545f['MMDyMQ']={},a0_0x545f['kmbrKX']=!![];}const _0x2877e3=_0x12f4ff[0x0],_0x101bc8=_0x103e70+_0x2877e3,_0x180563=a0_0x545f['MMDyMQ'][_0x101bc8];return!_0x180563?(_0x545fd2=a0_0x545f['djbKOR'](_0x545fd2),a0_0x545f['MMDyMQ'][_0x101bc8]=_0x545fd2):_0x545fd2=_0x180563,_0x545fd2;}if(dbType===a0_0x3187e8(0x220))oracleDb=require('../utils/db-oracle'),executeQuery=(_0xde88e7,_0x39326c)=>oracleDb[a0_0x3187e8(0x1b2)](_0xde88e7,_0x39326c),executeTransaction=_0x4679fb=>oracleDb['executeTransaction'](_0x4679fb);else{if(dbType===a0_0x3187e8(0x170)){const mysqlDb=require(a0_0x3187e8(0x1d8));executeQuery=(_0x342de5,_0x1384bc)=>mysqlDb[a0_0x3187e8(0x1b2)](_0x342de5,_0x1384bc),executeTransaction=_0x330305=>mysqlDb['executeTransaction'](_0x330305);}else{const db=require('../utils/db');executeQuery=db[a0_0x3187e8(0x1b2)],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x3187e8(0x19c)),importValidator=require(a0_0x3187e8(0x17f)),upsertBuilder=require(a0_0x3187e8(0x1b0)),lookupResolver=require('../utils/lookup-resolver');function a0_0x12f4(){const _0x53bbac=['ntCZmdCYnuHXrg5wza','ChjLDMLLD19VAW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','lI4VDxrPBhmVzgiTBxLZCwW','C2XPy2u','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','zwXbC0u','C1PXA2K','yNvPBgrmywjLBfrVrMLLBgrnyxa','tLvmta','z2v0sM9I','s2rQsum','A2v5CW','mtaWnJG5mxPXCwrKsW','y29SDw1U','BNvTyMvY','z2v0rgf0zq','D3n0B0C','z2vUzxjHDgvjza','BwLZC2LUz0zPzwXKCW','nJznEwDkv1q','AM9Ix2LK','ChjLDMLLD19QB2jFzMfPBgvK','tK5QyK8','y29TBwL0x2PVyL9MywLSzwq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','zgf0zq','y291BNq','zxjYB3jZ','C3fS','zMLSzv9JBgvHBNvWx2vYCM9Y','C2v0','rKzqBMG','wLvPAxi','tfLcDLK','AM9PBG','Dgv4Da','C3rHDhvZ','yM1Iyuy','v3fAvhC','DxbSB2fKrMLSzq','y3jLyxrLzf9HDa','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','DxbSB2fKoG','A0LQruO','BgvUz3rO','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','y2f0y2G','z2v0rNvSBfLLyxi','EgPpD2m','cIaGicaGicaGu0vmrunuia','Dw5SAw5R','y2HHCKf0','C3rYAw5N','AhjmEuC','DMfSAwq','rejFvfLqrq','BM93','y29SDw1UrM9YBwf0CW','C3vIC3rYAw5N','zgvIDwC','qvj4r00','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','ChjLDMLLD19QB2jFy3jLyxrLza','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','x2DLBMvYyxrLzf91DwLK','DMr0zKW','y29TBwL0x2PVyL9JCMvHDgvK','yNvPBgrcyxrJAeLUC2vYDa','Cgf0Aa','Dg9ju09tDhjPBMC','zM9YrwfJAa','Aw5MBW','Aw5KzxHpzG','B3jHy2XL','CM93sw5KzxG','Cg9ZDgDYzxnXBa','quvSte8','BurztLO','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','mJq4mJi2nZvhs3bqvwG','DhjPBq','DxbSB2fKx2LK','z2v0vgLTzq','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','BxLZCwW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','cIaGicaGicaGv0HfuKuG','q3HltNu','CMHAruq','zMfSC2u','yKvNDLu','Bwf0y2G','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','y3jLyxrLq29TBwL0sM9I','DgvZDa','uhjLDMLLDYbQB2iGy3jLyxrLza','Bg9VA3vWrMLLBgrZ','DxbKyxrLx2v4Axn0Aw5N','DMfSDwvZ','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','x2vYCM9YCW','EwvZ','u0Tjua','r1fnuge','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','mZKXmZmWmgPYwxLgCa','twHgshO','y3jLyxrLuhjLDMLLD0PVyG','zMLSDgvY','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zMLLBgrmywjLBhm','CgfYyw1Z','BhLzzgO','AM9IoG','CMvWBgfJzq','EKnZrha','x3vWBg9HzerPCG','yMf0y2HwywXPzgf0zvjVD3m','su5trvju','C2TPCf9LEgLZDgLUzW','Dvris1q','zw52','r0rYt0e','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','C2v0sM9I','C3bRC0S','jdfFjdi','yxbWBhLdB2X1Bw5gB3jTyxrZ','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','y2H1BMTsB3DZ','BwvZC2fNzq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zw50CMLLCW','zgvMyxvSDa','B3jPz2LUywXUyw1L','zxHWB3j0CW','CM93CW','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','sMv4yva','qunktfC','igf0ihjVDYa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','v053rMW','zMfPBgvK','Dhj1zq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','C2nVCgvpDMvYCMLKzq','zxHLy3v0zvf1zxj5','qwzHBu0','ChjVy2vZC1bYzxzPzxDkB2i','m0TttMLdvq','C2L6zq','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','rwTmvLm','zMLLBgroyw1L','DhLWzq','sNvuBvC','yw1KCNm','CgfYC2vfEgnLBezPBgu','ChjVy2vZC0nVBw1PDePVyG','ChvZAa','y29TBwL0x2PVyL9JB21WBgv0zwq','rwnrqwu','odi0mdu1wMf4D3fb','ufLjy0O','tKLTt1m','mJCXmJqXmhfKugPjCG','x2v4Axn0Aw5Nswq','vujkwg0','ChjVy2vZC2LUzW','y29TBwL0x3bYB2nLC3nFzxjYB3i','DxvPzf9HDxrVx2DLBMvYyxrLza','zMLUza','z3bfzvG','CgfKu3rHCNq','uerRzeC','AgfZ','x2fJDgLVBG','BwfW','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zNjVBq','mteYnZK5mZz6suj5ywK'];a0_0x12f4=function(){return _0x53bbac;};return a0_0x12f4();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x350ad4=a0_0x3187e8,_0xf509ed={'yWXMA':_0x350ad4(0x1a1)};if(!this[_0x350ad4(0x190)]){const _0x153e2e=process['env'][_0x350ad4(0x1a9)]||_0xf509ed['yWXMA'];this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x350ad4(0x1f8)](__dirname,'../../temp/uploads/'+_0x153e2e);}return this['_uploadDir'];}['generateId'](){const _0x11e0f8=a0_0x3187e8,_0x258b3f={'kGWnr':_0x11e0f8(0x1ac),'mDYNZ':function(_0x4f2c61,_0xd0ca46){return _0x4f2c61+_0xd0ca46;},'LYBvY':function(_0x3ed4c3,_0x13f727){return _0x3ed4c3*_0x13f727;}},_0x42576f=_0x258b3f['kGWnr'],_0x25b889=Date[_0x11e0f8(0x20e)]()['toString'](0x24),_0x440dd8=uuidv7()['replace'](/-/g,'')[_0x11e0f8(0x210)](0x0,0xc-_0x25b889[_0x11e0f8(0x202)]),_0x417bbc=_0x258b3f[_0x11e0f8(0x169)](_0x25b889,_0x440dd8)[_0x11e0f8(0x210)](0x0,0xc);let _0x4f05e6='';for(let _0x19d87b=0x0;_0x19d87b<0xc;_0x19d87b++){_0x417bbc[_0x19d87b]?_0x4f05e6+=_0x417bbc[_0x19d87b]:_0x4f05e6+=_0x42576f[_0x11e0f8(0x209)](Math['floor'](_0x258b3f[_0x11e0f8(0x1f7)](Math['random'](),_0x42576f[_0x11e0f8(0x202)])));}return _0x4f05e6;}[a0_0x3187e8(0x1dd)](_0x5b95f7){const _0x9c78a=a0_0x3187e8,_0x49b6ed={'SVmON':_0x9c78a(0x171),'gnKen':'Label\x20to\x20field\x20mapping\x20built'},_0x4c9c79=new Map();if(!_0x5b95f7)return _0x4c9c79;return Object['entries'](_0x5b95f7)['forEach'](([_0x197351,_0x20ed8a])=>{const _0x318a08=_0x9c78a,_0x59c016=String(_0x20ed8a)['trim']()[_0x318a08(0x18e)](/\s+/g,'_')[_0x318a08(0x18e)](/([a-z])([A-Z])/g,'$1_$2')[_0x318a08(0x18e)](/([A-Z]+)([A-Z][a-z])/g,_0x318a08(0x19a))['toLowerCase']();_0x4c9c79[_0x318a08(0x1f4)](_0x59c016,_0x197351);}),logger['debug']({'event':_0x49b6ed['SVmON'],'mappingCount':_0x4c9c79['size']},_0x49b6ed['gnKen']),_0x4c9c79;}[a0_0x3187e8(0x19b)](_0x4bea40,_0x37a46c){const _0x220d76=a0_0x3187e8,_0x14a1dd={'GBoLZ':function(_0x2af197,_0x345d0f){return _0x2af197===_0x345d0f;},'GDrOA':function(_0x1e581e,_0x418226){return _0x1e581e===_0x418226;},'FMmoC':_0x220d76(0x1ef),'GQMPa':_0x220d76(0x1e4),'JexaP':'boolean','EGPtd':_0x220d76(0x1f9)};if(!_0x37a46c||_0x14a1dd[_0x220d76(0x196)](Object['keys'](_0x37a46c)[_0x220d76(0x202)],0x0))return _0x4bea40;return _0x4bea40['map'](_0xff5674=>{const _0x29c5ba=_0x220d76,_0x5c6939={..._0xff5674};for(const [_0x9e993e,_0x252176]of Object[_0x29c5ba(0x1a0)](_0x37a46c)){const _0x1d8aee=_0x5c6939[_0x9e993e];if(_0x1d8aee===null||_0x14a1dd['GBoLZ'](_0x1d8aee,undefined)||_0x14a1dd[_0x29c5ba(0x196)](_0x1d8aee,'')){_0x5c6939[_0x9e993e]=null;continue;}switch(_0x252176[_0x29c5ba(0x1ba)]){case _0x14a1dd['FMmoC']:_0x5c6939[_0x9e993e]=this['formatDateForDatabase'](_0x1d8aee);break;case _0x14a1dd[_0x29c5ba(0x183)]:_0x5c6939[_0x9e993e]=this[_0x29c5ba(0x16f)](_0x1d8aee);break;case _0x14a1dd[_0x29c5ba(0x1a6)]:_0x5c6939[_0x9e993e]=this[_0x29c5ba(0x1aa)](_0x1d8aee);break;case _0x14a1dd['EGPtd']:_0x5c6939[_0x9e993e]=String(_0x1d8aee);break;default:break;}}return _0x5c6939;});}['formatDateForDatabase'](_0x3a52d7){const _0x47725b=a0_0x3187e8,_0x4d0925={'PYIcJ':function(_0x4fc8e1,_0x442776){return _0x4fc8e1===_0x442776;},'PDkdG':function(_0x1e92b3,_0x5e4b33){return _0x1e92b3===_0x5e4b33;},'rhZED':_0x47725b(0x20a),'gQWmZ':function(_0x1d4382,_0x5d3326){return _0x1d4382 instanceof _0x5d3326;},'AElLO':function(_0x5076f5,_0x51fc40){return _0x5076f5(_0x51fc40);},'ACJLW':function(_0x575b09,_0x86f22a){return _0x575b09+_0x86f22a;},'KXrCB':function(_0x16519e,_0x2d6e3d){return _0x16519e===_0x2d6e3d;},'wstoG':function(_0x5ae312,_0x136d3f){return _0x5ae312(_0x136d3f);}};if(_0x4d0925[_0x47725b(0x1c3)](_0x3a52d7,null)||_0x4d0925[_0x47725b(0x1ce)](_0x3a52d7,undefined)||_0x3a52d7==='')return null;if(typeof _0x3a52d7===_0x4d0925[_0x47725b(0x174)]&&/^\d{4}-\d{2}-\d{2}$/[_0x47725b(0x17a)](_0x3a52d7))return _0x3a52d7;if(_0x4d0925['gQWmZ'](_0x3a52d7,Date)){if(_0x4d0925[_0x47725b(0x168)](isNaN,_0x3a52d7[_0x47725b(0x16e)]()))return null;const _0x474630=_0x3a52d7[_0x47725b(0x205)](),_0x2a9ca2=String(_0x4d0925[_0x47725b(0x1a7)](_0x3a52d7['getMonth'](),0x1))['padStart'](0x2,'0'),_0x5a37d7=_0x4d0925['AElLO'](String,_0x3a52d7[_0x47725b(0x1e5)]())[_0x47725b(0x1cd)](0x2,'0');return _0x474630+'-'+_0x2a9ca2+'-'+_0x5a37d7;}if(_0x4d0925['KXrCB'](typeof _0x3a52d7,_0x4d0925['rhZED'])){const _0x5939a5=_0x3a52d7[_0x47725b(0x177)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5939a5){const _0x2d8337=String(_0x5939a5[0x1])[_0x47725b(0x1cd)](0x2,'0'),_0x5ea923=_0x4d0925[_0x47725b(0x1e6)](String,_0x5939a5[0x2])[_0x47725b(0x1cd)](0x2,'0'),_0x3b2435=_0x5939a5[0x3];return _0x3b2435+'-'+_0x5ea923+'-'+_0x2d8337;}const _0x186a99=_0x3a52d7['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x186a99){const _0x102357=_0x186a99[0x1],_0x35a22e=String(_0x186a99[0x2])['padStart'](0x2,'0'),_0x39fe37=_0x4d0925['wstoG'](String,_0x186a99[0x3])[_0x47725b(0x1cd)](0x2,'0');return _0x102357+'-'+_0x35a22e+'-'+_0x39fe37;}}return _0x3a52d7;}['formatNumberForDatabase'](_0x3b3e7c){const _0x32a646=a0_0x3187e8,_0x50b865={'sZqki':function(_0x264021,_0x410e25){return _0x264021===_0x410e25;},'zCsDp':function(_0x1dc79e,_0x2d7886){return _0x1dc79e===_0x2d7886;},'IligF':function(_0x3f73f9,_0x46f649){return _0x3f73f9===_0x46f649;},'bmbaF':function(_0x2d42a0,_0x1ef806){return _0x2d42a0===_0x1ef806;},'CwARX':function(_0xe5f806,_0x2c9fb0){return _0xe5f806(_0x2c9fb0);}};if(_0x50b865[_0x32a646(0x1dc)](_0x3b3e7c,null)||_0x50b865[_0x32a646(0x18f)](_0x3b3e7c,undefined)||_0x50b865['IligF'](_0x3b3e7c,''))return null;if(_0x50b865[_0x32a646(0x1fb)](typeof _0x3b3e7c,'number'))return isNaN(_0x3b3e7c)?null:_0x3b3e7c;if(_0x50b865[_0x32a646(0x18f)](typeof _0x3b3e7c,'string')){let _0x560fff=_0x3b3e7c[_0x32a646(0x16c)]();const _0x44b0cc=/,\d{1,2}$/[_0x32a646(0x17a)](_0x560fff)&&!/,\d{3}/[_0x32a646(0x17a)](_0x560fff);_0x44b0cc?_0x560fff=_0x560fff[_0x32a646(0x18e)](/\./g,'')['replace'](',','.'):_0x560fff=_0x560fff['replace'](/,/g,'');const _0x2302ae=parseFloat(_0x560fff);return _0x50b865['CwARX'](isNaN,_0x2302ae)?null:_0x2302ae;}return null;}[a0_0x3187e8(0x1aa)](_0x4cb37a){const _0x297c52=a0_0x3187e8,_0x3292a6={'xjOwc':function(_0x4c736b,_0x545cd0){return _0x4c736b===_0x545cd0;},'WNwFl':'boolean','DEtOB':'string','AfamM':_0x297c52(0x1af),'UBJXm':_0x297c52(0x175)};if(_0x4cb37a===null||_0x3292a6['xjOwc'](_0x4cb37a,undefined)||_0x4cb37a==='')return null;if(_0x3292a6[_0x297c52(0x206)](typeof _0x4cb37a,_0x3292a6[_0x297c52(0x1ad)]))return _0x4cb37a?'true':'false';if(_0x3292a6[_0x297c52(0x206)](typeof _0x4cb37a,_0x3292a6['DEtOB'])){const _0x588c1f=_0x4cb37a[_0x297c52(0x16c)]()['toLowerCase']();if([_0x3292a6[_0x297c52(0x1b3)],_0x297c52(0x181),'y','1']['includes'](_0x588c1f))return _0x297c52(0x1af);if(['false','no','n','0']['includes'](_0x588c1f))return _0x3292a6[_0x297c52(0x1c7)];return null;}if(_0x3292a6[_0x297c52(0x206)](typeof _0x4cb37a,_0x297c52(0x1e4)))return _0x4cb37a?_0x297c52(0x1af):_0x3292a6[_0x297c52(0x1c7)];return null;}async[a0_0x3187e8(0x1fd)](_0x430485,_0x476737){const _0x190f5a=a0_0x3187e8,_0x221a09={'uMzLJ':'headers_mapped','OJfGb':_0x190f5a(0x215),'QdUia':_0x190f5a(0x1f3),'EcQAe':'Failed\x20to\x20cleanup\x20file'},_0x45671f=this['generateId']();try{let {headers:_0x4bf921,rows:_0xb2534a,totalRows:_0x489650}=await excelParser[_0x190f5a(0x1bd)](_0x430485[_0x190f5a(0x21b)]);const _0x1b9ee5=this['buildLabelToFieldMap'](_0x476737[_0x190f5a(0x18a)]),_0x17a47e=_0x4bf921[_0x190f5a(0x1d1)](_0x595ca9=>{const _0x53b2d7=_0x1b9ee5['get'](_0x595ca9);return _0x53b2d7||_0x595ca9;});_0xb2534a=_0xb2534a['map'](_0xc3ee7a=>{const _0x3e36e1=_0x190f5a,_0x3ceada={};return _0x4bf921[_0x3e36e1(0x21d)]((_0x22f393,_0x3e92f0)=>{const _0x468100=_0x17a47e[_0x3e92f0];_0x3ceada[_0x468100]=_0xc3ee7a[_0x22f393];}),_0x3ceada;}),_0x4bf921=_0x17a47e,logger['debug']({'event':_0x221a09['uMzLJ'],'original':_0x4bf921[_0x190f5a(0x202)],'mapped':_0x17a47e['filter']((_0x154d61,_0xbd3c27)=>_0x154d61!==_0x4bf921[_0xbd3c27])['length']},_0x190f5a(0x1a5));_0x476737[_0x190f5a(0x20f)]&&Object[_0x190f5a(0x1e1)](_0x476737[_0x190f5a(0x20f)])['length']>0x0&&(_0xb2534a=this['applyColumnFormats'](_0xb2534a,_0x476737['columnFormats']),logger['debug']({'event':_0x190f5a(0x1ff),'formatCount':Object['keys'](_0x476737['columnFormats'])['length'],'formats':Object[_0x190f5a(0x1e1)](_0x476737[_0x190f5a(0x20f)])},_0x190f5a(0x203)));if(_0x476737[_0x190f5a(0x1b1)]&&_0x476737['scopeOverride'][_0x190f5a(0x1e3)]){const {column:_0x1c17fc,value:_0x346701}=_0x476737['scopeOverride'];_0xb2534a=_0xb2534a['map'](_0x28627d=>({..._0x28627d,[_0x1c17fc]:_0x346701})),logger['debug']({'event':'request_scope_applied','column':_0x1c17fc,'rowCount':_0xb2534a['length']},_0x190f5a(0x178));}const _0x5c9e9c=_0x476737[_0x190f5a(0x17c)]?Object[_0x190f5a(0x17e)](_0x476737[_0x190f5a(0x17c)])[_0x190f5a(0x1d1)](_0x38a2f3=>_0x38a2f3['targetField']):[],_0x2ec057=_0x476737[_0x190f5a(0x1b9)]['filter'](_0x2ed2be=>!_0x5c9e9c['includes'](_0x2ed2be)),_0x5044a1=excelParser[_0x190f5a(0x1ee)](_0x4bf921,_0x2ec057);if(!_0x5044a1[_0x190f5a(0x20c)]){await fs[_0x190f5a(0x208)](_0x430485[_0x190f5a(0x21b)]);throw new Error(_0x190f5a(0x213)+_0x5044a1[_0x190f5a(0x1e8)]['join'](',\x20'));}const _0x581a30={'upload_id':_0x45671f,'filename':_0x430485[_0x190f5a(0x1a2)],'total_rows':_0x489650,'headers':_0x4bf921,'rows':_0xb2534a,'params':_0x476737,'created_at':new Date()[_0x190f5a(0x21c)]()};return await redisHelper['setJob'](_0x190f5a(0x200)+_0x45671f,_0x581a30,0xe10),await fs[_0x190f5a(0x208)](_0x430485['path']),logger['info']({'event':_0x221a09['OJfGb'],'uploadId':_0x45671f,'filename':_0x430485['originalname'],'totalRows':_0x489650},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x45671f,'total_rows':_0x489650,'preview':_0xb2534a[_0x190f5a(0x1d9)](0x0,0xa)};}catch(_0x588901){try{await fs['unlink'](_0x430485['path']);}catch(_0x21653f){logError(_0x21653f,{'event':_0x221a09['QdUia']},_0x221a09[_0x190f5a(0x1c1)]);}throw _0x588901;}}async[a0_0x3187e8(0x187)](_0x4438c5){const _0x1f8057=a0_0x3187e8,_0x9b5819={'FFPnh':_0x1f8057(0x1b7),'vhJPR':_0x1f8057(0x17b),'YCuiM':'validating'},_0x1fd499=this[_0x1f8057(0x1e7)](),_0x24346e=await redisHelper[_0x1f8057(0x1df)]('upload:'+_0x4438c5);if(!_0x24346e)throw new Error(_0x9b5819[_0x1f8057(0x1f5)]);const _0x2ef001={'job_id':_0x1fd499,'upload_id':_0x4438c5,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x24346e[_0x1f8057(0x18b)]};return await redisHelper[_0x1f8057(0x198)](_0x1f8057(0x18d)+_0x1fd499,_0x2ef001,0xe10),logger[_0x1f8057(0x21e)]({'event':_0x1f8057(0x214),'jobId':_0x1fd499,'uploadId':_0x4438c5},_0x9b5819['vhJPR']),this['processPreviewJob'](_0x1fd499,_0x4438c5,_0x24346e)['catch'](_0x32de22=>{const _0x4826fb=_0x1f8057;logError(_0x32de22,{'event':'preview_process_error','jobId':_0x1fd499},_0x4826fb(0x216));}),{'job_id':_0x1fd499,'status':_0x9b5819['YCuiM']};}[a0_0x3187e8(0x1d2)](_0x2d722f,_0x208fcd){const _0x1307f0=a0_0x3187e8,_0x3dd2a7={'CxKNu':function(_0x39aa6b,_0xeea63a){return _0x39aa6b===_0xeea63a;},'ARxGM':function(_0x220d10,_0x582d7d){return _0x220d10===_0x582d7d;},'bEgvU':_0x1307f0(0x1ca),'amdrs':function(_0x11d51a,_0x211da0){return _0x11d51a+_0x211da0;}};_0x2d722f[_0x1307f0(0x21d)]((_0xb4c7ca,_0x45ec82)=>{const _0x1e536d=_0x1307f0,_0x7fc0ea={'spksK':function(_0xfc7c3d,_0x456cf5){const _0x3799a4=a0_0x545f;return _0x3dd2a7[_0x3799a4(0x173)](_0xfc7c3d,_0x456cf5);},'GeHol':function(_0x3fa283,_0x4034f1){return _0x3fa283===_0x4034f1;},'KdjIC':function(_0x313a66,_0x3b8339){const _0x558202=a0_0x545f;return _0x3dd2a7[_0x558202(0x212)](_0x313a66,_0x3b8339);},'elAsE':function(_0x548108,_0x48c6fa){return _0x548108(_0x48c6fa);},'vdtfL':_0x3dd2a7[_0x1e536d(0x176)],'FijrH':function(_0x26c8fd,_0x2eeea8){const _0x8faca6=_0x1e536d;return _0x3dd2a7[_0x8faca6(0x1bc)](_0x26c8fd,_0x2eeea8);}};_0x208fcd['forEach'](_0x3d19a1=>{const _0x11981b=_0x1e536d,_0x3b29b8=_0xb4c7ca[_0x3d19a1];if(_0x7fc0ea[_0x11981b(0x199)](_0x3b29b8,null)||_0x7fc0ea['GeHol'](_0x3b29b8,undefined)||_0x7fc0ea[_0x11981b(0x1e0)](_0x3b29b8,'')||_0x7fc0ea[_0x11981b(0x1db)](String,_0x3b29b8)[_0x11981b(0x16c)]()==='-'){const _0x3e7486=uuidv7();_0xb4c7ca[_0x3d19a1]=_0x3e7486,_0xb4c7ca['_generated_uuid']=_0xb4c7ca['_generated_uuid']||{},_0xb4c7ca[_0x11981b(0x217)][_0x3d19a1]=_0x3e7486,logger[_0x11981b(0x211)]({'event':_0x7fc0ea[_0x11981b(0x218)],'rowIndex':_0x45ec82,'field':_0x3d19a1,'uuid':_0x3e7486},'Auto-generated\x20UUID\x20for\x20'+_0x3d19a1+_0x11981b(0x1a8)+_0x7fc0ea['FijrH'](_0x45ec82,0x2));}});});}async[a0_0x3187e8(0x1b4)](_0x2bd7c7,_0x82f23f,_0x58e7e0){const _0x1541b2=a0_0x3187e8,_0x4f4625={'QKITu':_0x1541b2(0x192),'lyYdj':function(_0x1cbf5f,_0x4ea02c){return _0x1cbf5f===_0x4ea02c;},'JbvUL':'UPDATE','VkrfB':'processing_lookup_fields','NImOS':_0x1541b2(0x16a),'NGWBW':'preview_error','hrLyG':_0x1541b2(0x1d7),'ZUiir':_0x1541b2(0x1eb)};try{let {rows:_0x55c36c,params:_0x58b0a7}=_0x58e7e0;const {requiredFields:_0x2a0e9c,validations:_0x139c03,upsertKeys:_0x161fb0,tableName:_0xe43523,primaryKey:_0x105dc2,fieldName:_0x19f108,upsertStrategy:_0x208870,lookupFields:_0x2eaa39}=_0x58b0a7;this[_0x1541b2(0x1d2)](_0x55c36c,_0x161fb0);let _0x5036a3=[];if(_0x2eaa39&&Object['keys'](_0x2eaa39)[_0x1541b2(0x202)]>0x0){logger[_0x1541b2(0x21e)]({'event':_0x4f4625['VkrfB'],'jobId':_0x2bd7c7,'lookupFieldCount':Object[_0x1541b2(0x1e1)](_0x2eaa39)[_0x1541b2(0x202)]},_0x4f4625[_0x1541b2(0x1c4)]);const _0x13ca0b=await lookupResolver['processLookupFields'](_0x55c36c,_0x2eaa39);_0x55c36c=_0x13ca0b['processedRows'],_0x5036a3=_0x13ca0b['errors'],_0x58e7e0['rows']=_0x55c36c;}const _0x3d5cb2=importValidator[_0x1541b2(0x191)](_0x55c36c,_0x2a0e9c||[],_0x139c03||{});_0x5036a3[_0x1541b2(0x21d)](_0x541142=>{const _0x44f343=_0x1541b2,_0x4d313a=_0x3d5cb2[_0x44f343(0x1cb)](_0x59780e=>_0x59780e[_0x44f343(0x166)]===_0x541142['rowIndex']);_0x4d313a?_0x4d313a[_0x44f343(0x1f1)]['push'](_0x541142[_0x44f343(0x19e)]):_0x3d5cb2['push']({'rowIndex':_0x541142['rowIndex'],'rowData':_0x55c36c[_0x541142['rowIndex']],'errors':[_0x541142[_0x44f343(0x19e)]]});});const _0x213dca=importValidator['detectDuplicatesInFile'](_0x55c36c,_0x161fb0);_0x213dca[_0x1541b2(0x21d)](_0x4a8c3d=>{const _0x4d0a40=_0x1541b2,_0x44d90a=_0x3d5cb2['find'](_0x389c6a=>_0x389c6a[_0x4d0a40(0x166)]===_0x4a8c3d['rowIndex']),_0x54eb75=_0x161fb0[_0x4d0a40(0x1d1)](_0x201703=>_0x201703['toUpperCase']())['join'](',\x20'),_0x11b133='Duplicate\x20value\x20for\x20'+_0x54eb75;_0x44d90a?_0x44d90a[_0x4d0a40(0x1f1)][_0x4d0a40(0x1bf)](_0x11b133):_0x3d5cb2[_0x4d0a40(0x1bf)]({'rowIndex':_0x4a8c3d['rowIndex'],'rowData':_0x55c36c[_0x4a8c3d['rowIndex']],'errors':[_0x11b133]});}),await this['detectDatabaseDuplicates'](_0x55c36c,_0x161fb0,_0xe43523,_0x105dc2,_0x208870,_0x3d5cb2),_0x3d5cb2[_0x1541b2(0x21d)](_0x29f730=>{const _0x27bb28=_0x1541b2,_0x4748a9=_0x55c36c[_0x29f730['rowIndex']];_0x4748a9&&(_0x4748a9[_0x27bb28(0x180)]=_0x29f730[_0x27bb28(0x1f1)]);});let _0x222bf2=0x0,_0x35a9ae=0x0,_0x23e2d4=0x0;_0x55c36c['forEach'](_0x345553=>{const _0x4ec4bf=_0x1541b2;if(_0x345553[_0x4ec4bf(0x1d0)]===_0x4f4625['QKITu'])_0x222bf2++;else{if(_0x4f4625['lyYdj'](_0x345553['_action'],_0x4f4625['JbvUL']))_0x35a9ae++;else _0x4f4625[_0x4ec4bf(0x18c)](_0x345553['_action'],'SKIP')&&_0x23e2d4++;}});const _0x518c5c={'job_id':_0x2bd7c7,'upload_id':_0x82f23f,'status':_0x3d5cb2['length']>0x0?_0x4f4625['NGWBW']:_0x1541b2(0x1d6),'progress':0x64,'created_at':_0x58e7e0['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x55c36c['length'],'insert_count':_0x222bf2,'update_count':_0x35a9ae,'skip_count':_0x23e2d4,'error_count':_0x3d5cb2['length'],'errors':_0x3d5cb2,'data':_0x55c36c,'sample_insert':_0x55c36c[_0x1541b2(0x188)](_0x3556b7=>_0x3556b7[_0x1541b2(0x1d0)]==='INSERT')[_0x1541b2(0x1d9)](0x0,0x5),'sample_update':_0x55c36c[_0x1541b2(0x188)](_0x5023a3=>_0x5023a3[_0x1541b2(0x1d0)]==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x55c36c['filter'](_0x283cca=>_0x283cca[_0x1541b2(0x1d0)]==='SKIP')[_0x1541b2(0x1d9)](0x0,0x5)},'params':_0x58b0a7};await redisHelper[_0x1541b2(0x198)](_0x1541b2(0x18d)+_0x2bd7c7,_0x518c5c,0xe10),_0x58e7e0[_0x1541b2(0x1a4)]=_0x55c36c,await redisHelper[_0x1541b2(0x198)]('upload:'+_0x82f23f,_0x58e7e0,0xe10),logger[_0x1541b2(0x21e)]({'event':'preview_job_completed','jobId':_0x2bd7c7,'status':_0x518c5c[_0x1541b2(0x1fa)],'insertCount':_0x222bf2,'updateCount':_0x35a9ae,'skipCount':_0x23e2d4,'errorCount':_0x3d5cb2['length']},_0x4f4625[_0x1541b2(0x20b)]);}catch(_0x19f525){logError(_0x19f525,{'event':_0x4f4625[_0x1541b2(0x1f6)],'jobId':_0x2bd7c7},'Preview\x20job\x20failed'),await redisHelper['setJob'](_0x1541b2(0x18d)+_0x2bd7c7,{'job_id':_0x2bd7c7,'upload_id':_0x82f23f,'status':_0x1541b2(0x1ae),'progress':0x0,'error':_0x19f525[_0x1541b2(0x19e)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1541b2(0x21c)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1e8b3a,_0x1e7c8d,_0x3a7b3e,_0x49681f,_0x509f95=a0_0x3187e8(0x17d),_0x52d0de=[]){const _0x247fb4=a0_0x3187e8,_0x4bd4b8={'NNjbO':function(_0x41fd26,_0x29cae9){return _0x41fd26===_0x29cae9;},'MhFHz':function(_0x149f02,_0x150b7a){return _0x149f02===_0x150b7a;},'mKuab':_0x247fb4(0x17d),'gpEeX':'insert_only','vnXEH':'SKIP','JuTmW':_0x247fb4(0x193),'EkLVS':function(_0x11e25c,_0x416cbe){return _0x11e25c(_0x416cbe);}},_0x216f29=upsertBuilder['chunkRows'](_0x1e8b3a,0x64);for(const _0x48ddca of _0x216f29){const _0x1364f7=_0x48ddca[_0x247fb4(0x1d1)](_0x124208=>_0x124208[_0x1e7c8d[0x0]]),_0xbb276a=_0x1364f7[_0x247fb4(0x1d1)](_0x132520=>{const _0x1c8b72=_0x247fb4;if(_0x4bd4b8[_0x1c8b72(0x1ec)](_0x132520,null)||_0x132520===undefined)return _0x1c8b72(0x1de);return'\x27'+String(_0x132520)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x2b8be6=_0x247fb4(0x207)+_0x49681f+',\x20'+_0x1e7c8d['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3a7b3e+_0x247fb4(0x172)+_0x1e7c8d[0x0]+'\x20IN\x20('+_0xbb276a[_0x247fb4(0x1f8)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x3f0b06=await _0x4bd4b8[_0x247fb4(0x1b8)](executeQuery,_0x2b8be6);dbType===_0x247fb4(0x220)&&_0x3f0b06&&_0x3f0b06['length']>0x0&&(_0x3f0b06=_0x3f0b06['map'](_0xf00231=>{const _0x246476={};for(const [_0x4a6102,_0x3c476f]of Object['entries'](_0xf00231)){_0x246476[_0x4a6102['toLowerCase']()]=_0x3c476f;}return _0x246476;}));const _0x5b1bc2=new Map();_0x3f0b06['forEach'](_0x244a90=>{const _0x12a8a8=_0x244a90[_0x1e7c8d[0x0]];_0x5b1bc2['set'](_0x12a8a8,_0x244a90);}),_0x48ddca['forEach']((_0x405759,_0x447546)=>{const _0x578162=_0x247fb4,_0x1210cf=_0x405759[_0x1e7c8d[0x0]],_0x189d4d=_0x5b1bc2['get'](_0x1210cf);if(_0x189d4d){if(_0x4bd4b8['MhFHz'](_0x509f95,_0x4bd4b8['mKuab']))_0x405759['_action']='UPDATE',_0x405759[_0x578162(0x1c6)]=_0x189d4d[_0x49681f];else{if(_0x4bd4b8['MhFHz'](_0x509f95,_0x4bd4b8[_0x578162(0x1cc)])){_0x405759[_0x578162(0x1d0)]=_0x4bd4b8['vnXEH'],_0x405759[_0x578162(0x180)]=_0x405759[_0x578162(0x180)]||[],_0x405759['_errors'][_0x578162(0x1bf)]('Record\x20exists\x20(insert_only\x20mode)');const _0x3a70a9=_0x1e8b3a[_0x578162(0x21f)](_0x405759);_0x3a70a9!==-0x1&&_0x52d0de['push']({'rowIndex':_0x3a70a9,'rowData':_0x405759,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x4bd4b8[_0x578162(0x186)](_0x509f95,_0x4bd4b8[_0x578162(0x1bb)])&&(_0x405759['_action']=_0x578162(0x182));}}else{if(_0x509f95===_0x4bd4b8['mKuab'])_0x405759[_0x578162(0x1d0)]='INSERT';else(_0x4bd4b8[_0x578162(0x1ec)](_0x509f95,_0x4bd4b8[_0x578162(0x1cc)])||_0x509f95===_0x578162(0x193))&&(_0x405759[_0x578162(0x1d0)]='INSERT');}});}}async[a0_0x3187e8(0x179)](_0x5be4d7){const _0xe47e4c=a0_0x3187e8,_0x271569={'SqbTY':_0xe47e4c(0x1c9),'uTHKT':_0xe47e4c(0x197)},_0x9992a4=this['generateId'](),_0x9b1ed9=await redisHelper['getJob'](_0xe47e4c(0x18d)+_0x5be4d7);if(!_0x9b1ed9)throw new Error(_0xe47e4c(0x1da));if(_0x9b1ed9['status']!==_0xe47e4c(0x1d6))throw new Error(_0xe47e4c(0x1ab)+_0x9b1ed9['status']);const _0xa94091={'job_id':_0x9992a4,'upload_id':_0x9b1ed9[_0xe47e4c(0x16d)],'preview_job_id':_0x5be4d7,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x9b1ed9[_0xe47e4c(0x18b)]};return await redisHelper[_0xe47e4c(0x198)]('job:'+_0x9992a4,_0xa94091,0xe10),logger['info']({'event':_0xe47e4c(0x219),'jobId':_0x9992a4,'previewJobId':_0x5be4d7},'Commit\x20job\x20created'),this[_0xe47e4c(0x1be)](_0x9992a4,_0x9b1ed9)[_0xe47e4c(0x204)](_0x49329e=>{const _0xcacc19=_0xe47e4c;logError(_0x49329e,{'event':_0x271569['SqbTY'],'jobId':_0x9992a4},_0x271569[_0xcacc19(0x194)]);}),{'job_id':_0x9992a4,'status':_0xe47e4c(0x1c8)};}async[a0_0x3187e8(0x1be)](_0x3dcecc,_0xd4e405){const _0x50e055=a0_0x3187e8,_0x1ad5c6={'WqZTw':'insert','YfBYH':_0x50e055(0x184),'kIjEJ':function(_0x5d7f57,_0xd7b226){return _0x5d7f57||_0xd7b226;},'ZENWq':_0x50e055(0x1c0),'NTZpA':'Commit\x20job\x20completed'};try{const _0x3c05b9=await redisHelper[_0x50e055(0x1df)](_0x50e055(0x200)+_0xd4e405['upload_id']);if(!_0x3c05b9)throw new Error(_0x50e055(0x1b7));const {rows:_0x52e0fd,params:_0x41252a}=_0x3c05b9,{tableName:_0x180c80,fieldName:_0x592ad2,primaryKey:_0x289536,upsertKeys:_0x502f54,excludeFromImport:_0x2db969,lookupFields:_0x140dd3,columnFormats:_0x4365f4}=_0x41252a,_0xd11d89=_0x140dd3?Object['keys'](_0x140dd3):[],_0x5b4cd0=new Set([..._0x2db969||[],..._0xd11d89]);let _0x2b4ee6=_0x592ad2;_0x5b4cd0[_0x50e055(0x1b6)]>0x0&&(_0x2b4ee6=_0x592ad2[_0x50e055(0x188)](_0x1de226=>!_0x5b4cd0[_0x50e055(0x1cf)](_0x1de226)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x592ad2[_0x50e055(0x202)],'filteredCount':_0x2b4ee6[_0x50e055(0x202)],'excludedFields':Array[_0x50e055(0x1d3)](_0x5b4cd0),'lookupSourceFields':_0xd11d89},_0x1ad5c6['YfBYH']));const _0x494a7b=_0x52e0fd['filter'](_0x1dd3a4=>_0x1dd3a4[_0x50e055(0x1d0)]===_0x50e055(0x192)),_0xa7fa9b=_0x52e0fd['filter'](_0xf4ca00=>_0xf4ca00[_0x50e055(0x1d0)]==='UPDATE');let _0x549385=0x0,_0x5a8aea=0x0;const _0x586d62=[];if(_0x494a7b['length']>0x0){const _0xb4dffe=upsertBuilder[_0x50e055(0x19d)](_0x494a7b,0x64);for(const _0x58f3d2 of _0xb4dffe){const {query:_0x1266ed}=upsertBuilder[_0x50e055(0x21a)](_0x58f3d2,_0x180c80,_0x2b4ee6,_0x4365f4||{});_0x1266ed&&_0x586d62['push']({'sql':_0x1266ed,'count':_0x58f3d2['length'],'type':_0x1ad5c6[_0x50e055(0x1fc)]});}}if(_0xa7fa9b['length']>0x0){const _0x28c7be=upsertBuilder['chunkRows'](_0xa7fa9b,0x64);for(const _0x325f47 of _0x28c7be){const {query:_0x398c1e}=upsertBuilder['buildBatchUpdate'](_0x325f47,_0x180c80,_0x2b4ee6,_0x289536,_0x502f54,_0x1ad5c6[_0x50e055(0x201)](_0x4365f4,{}));_0x398c1e&&_0x586d62[_0x50e055(0x1bf)]({'sql':_0x398c1e,'count':_0x325f47['length'],'type':'update'});}}_0x586d62[_0x50e055(0x202)]>0x0&&await executeTransaction(_0x586d62['map'](_0x2f6cc9=>({'sql':_0x2f6cc9[_0x50e055(0x1f2)],'params':[]})));_0x586d62['forEach'](_0x1f0194=>{const _0x56e1fb=_0x50e055;if(_0x1f0194[_0x56e1fb(0x1ba)]===_0x1ad5c6[_0x56e1fb(0x1fc)])_0x549385+=_0x1f0194[_0x56e1fb(0x1f0)];else _0x5a8aea+=_0x1f0194['count'];});const _0x1c530c={'job_id':_0x3dcecc,'upload_id':_0xd4e405[_0x50e055(0x16d)],'preview_job_id':_0xd4e405['job_id'],'status':'completed','progress':0x64,'created_at':_0xd4e405[_0x50e055(0x1fe)],'started_at':new Date()[_0x50e055(0x21c)](),'completed_at':new Date()[_0x50e055(0x21c)](),'result':{'total_rows':_0x52e0fd['length'],'inserted_rows':_0x549385,'updated_rows':_0x5a8aea,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x41252a};await redisHelper['setJob']('job:'+_0x3dcecc,_0x1c530c,0xe10),logger[_0x50e055(0x21e)]({'event':_0x1ad5c6['ZENWq'],'jobId':_0x3dcecc,'insertedCount':_0x549385,'updatedCount':_0x5a8aea},_0x1ad5c6['NTZpA']);}catch(_0x44cd9c){logError(_0x44cd9c,{'event':_0x50e055(0x1ed),'jobId':_0x3dcecc},'Commit\x20job\x20failed'),await redisHelper['setJob']('job:'+_0x3dcecc,{'job_id':_0x3dcecc,'upload_id':_0xd4e405[_0x50e055(0x16d)],'preview_job_id':_0xd4e405[_0x50e055(0x1ea)],'status':_0x50e055(0x1ae),'progress':0x0,'error':_0x44cd9c['message'],'created_at':_0xd4e405['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x236a6a){const _0x32bcb1=a0_0x3187e8,_0x284c30=await redisHelper[_0x32bcb1(0x1df)](_0x32bcb1(0x18d)+_0x236a6a);if(!_0x284c30)return{'success':![],'error':_0x32bcb1(0x189)};return{'success':!![],'data':_0x284c30};}}module[a0_0x3187e8(0x1a3)]=new ImportService();
|
|
1
|
+
const a0_0x38e9c5=a0_0xbde6;(function(_0x129a09,_0x335a92){const _0x27d757=a0_0xbde6,_0x475d8f=_0x129a09();while(!![]){try{const _0x2ef186=parseInt(_0x27d757(0x1e9))/0x1+parseInt(_0x27d757(0x1fb))/0x2+-parseInt(_0x27d757(0x203))/0x3*(-parseInt(_0x27d757(0x202))/0x4)+-parseInt(_0x27d757(0x18e))/0x5*(parseInt(_0x27d757(0x1d3))/0x6)+-parseInt(_0x27d757(0x1b4))/0x7*(-parseInt(_0x27d757(0x1d6))/0x8)+parseInt(_0x27d757(0x20a))/0x9*(-parseInt(_0x27d757(0x22d))/0xa)+parseInt(_0x27d757(0x1f3))/0xb;if(_0x2ef186===_0x335a92)break;else _0x475d8f['push'](_0x475d8f['shift']());}catch(_0x284fe8){_0x475d8f['push'](_0x475d8f['shift']());}}}(a0_0x1757,0x3b40f));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x38e9c5(0x194)],redisHelper=require(a0_0x38e9c5(0x1a5)),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x38e9c5(0x1be)]();function a0_0xbde6(_0x4433cb,_0x3de62c){_0x4433cb=_0x4433cb-0x17d;const _0x1757bd=a0_0x1757();let _0xbde686=_0x1757bd[_0x4433cb];if(a0_0xbde6['KcwcyH']===undefined){var _0x4b1a06=function(_0x19d0a2){const _0x274bf4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x574ded='',_0x3089b0='';for(let _0x46dc96=0x0,_0x484fd4,_0x284e6b,_0x2bc28f=0x0;_0x284e6b=_0x19d0a2['charAt'](_0x2bc28f++);~_0x284e6b&&(_0x484fd4=_0x46dc96%0x4?_0x484fd4*0x40+_0x284e6b:_0x284e6b,_0x46dc96++%0x4)?_0x574ded+=String['fromCharCode'](0xff&_0x484fd4>>(-0x2*_0x46dc96&0x6)):0x0){_0x284e6b=_0x274bf4['indexOf'](_0x284e6b);}for(let _0x1faf4d=0x0,_0x33865c=_0x574ded['length'];_0x1faf4d<_0x33865c;_0x1faf4d++){_0x3089b0+='%'+('00'+_0x574ded['charCodeAt'](_0x1faf4d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3089b0);};a0_0xbde6['fWSwWa']=_0x4b1a06,a0_0xbde6['rCdrXP']={},a0_0xbde6['KcwcyH']=!![];}const _0x4fa851=_0x1757bd[0x0],_0x251f74=_0x4433cb+_0x4fa851,_0x5258a4=a0_0xbde6['rCdrXP'][_0x251f74];return!_0x5258a4?(_0xbde686=a0_0xbde6['fWSwWa'](_0xbde686),a0_0xbde6['rCdrXP'][_0x251f74]=_0xbde686):_0xbde686=_0x5258a4,_0xbde686;}function a0_0x1757(){const _0xcdcb26=['lI4VDxrPBhmVzgiTB3jHy2XL','zxbcu1O','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','zNP1r3i','CM93sw5KzxG','DMfSAwrHDgLUzW','BwvZC2fNzq','y3jLyxrLzf9HDa','zxjYB3jZ','x2v4Axn0Aw5Nswq','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','ChjVy2vZC2LUzW','tgT2qM8','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','A2vrv0G','DePrEwK','zNjVBq','zxHLy3v0zvf1zxj5','y29TBwL0x2PVyL9MywLSzwq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','mtyWy3HfqvbZ','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','yMf0y2HwywXPzgf0zvjVD3m','C3rYAw5N','A2v5CW','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y3jLyxrLuhjLDMLLD0PVyG','C2v0','q29TBwL0igPVyIbJCMvHDgvK','t2vjEKu','ChjLDMLLD19LCNjVCG','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','AM9IoG','vKHOthO','whPwqLa','C2L6zq','BM1kwuW','Dvbzteu','tLvmta','y2H3uNy','ugnprxC','x2DLBMvYyxrLzf91DwLK','ndy1wgLNyxjs','vvPSCMS','yNvPBgrmywjLBfrVrMLLBgrnyxa','svHlDMm','y29SDw1UrM9YBwf0CW','C0PAywe','ChjVBwLZzxm','q29TBwL0igPVyIbJB21WBgv0zwq','q1Hiv1O','CMfUzg9T','DxbTsw4','C2TPCf9LEgLZDgLUzW','Ahb5D1K','zMXVB3i','shHmzuS','ChvZAa','Cgf0Aa','BM93','z2v0sM9Iu3rHDhvZ','Bwf0y2G','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','BwfW','zgf0zq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','DxbSB2fKx2LK','reTKq24','Aw5JBhvKzxm','zMLSzv9JBgvHBNvWx2vYCM9Y','AKXtswm','zMLUza','ChjVy2vZC1bYzxzPzxDkB2i','zw50CMLLCW','DxbSB2fKrMLSzq','u0Tjua','zwD6A2G','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','uMHQzhy','A3PSDMS','nde5m2DluurdCG','DgfYz2v0rMLLBgq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','zMfSC2u','rxj2z1e','yxbWBhLdB2X1Bw5gB3jTyxrZ','vgvlsNy','y29TBwL0x2PVyL9JCMvHDgvK','AgvHzgvYC19TyxbWzwq','x3vWBg9HzerPCG','Dg9mB3DLCKnHC2u','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','BwvXqNy','DxbKyxrLx2v4Axn0Aw5N','BxLZCwW','zMfPBgvK','z2v0rgf0zq','wu5fDNa','DxbSB2fKrgLY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','BNvTyMvY','Bg9VA3vWrMLLBgrZ','vvbeqvrf','Dg9vChbLCKnHC2u','DvzTtMy','y29SDw1U','y2f0y2G','sLbAyMq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','z2v0sM9I','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mJGXndz0BMvWzvG','zgvIDwC','C2v0sM9I','ndmYofDqyLLpta','Dg9ju09tDhjPBMC','yNvPBgrcyxrJAfvWzgf0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','Aw5Zzxj0','C3rHDhvZ','CMvWBgfJzq','y29TBwL0x3bYB2nLC3nFzxjYB3i','AM9Ix2LK','wLvZy08','u0fdB1O','BgvUz3rO','qxbIwei','Dw5SAw5R','BevnvKu','zgvMyxvSDa','jdfFjdi','CgfYyw1Z','q0PgwvG','mJu5ntq2EuLQvLPs','C2XPy2u','AM9PBG','rfzmzKy','y3jLyxrLq29TBwL0sM9I','zM9YrwfJAa','svnhvLu','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','tenfu0y','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','mJG0mdeXmLHWrLL5za','vLbIqLK','DKnLy3a','D1rIsLq','ChjVy2vZC2vKuM93CW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','DMfSAwq','yM9VBgvHBG','otm0otrMEMDrs2K','y29TCgXLDgvK','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2fJDgLVBG','yw5At3m','su5trvju','AvnowKq','mZm2odH0uMfxA3u','ntfJwgjXtLO','ChjLDMLLD19QB2jFy29TCgXLDgvK','rwXUAvG','CM93CW','CgfKu3rHCNq','z2v0','zMLSDgvY','mtK4ndiZv1znA0nv','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','zw52','q29TBwL0igPVyIbMywLSzwq','DxbSB2fKoG','cIaGicaGicaGv0HfuKuG','z2v0vgLTzq','C3vIC3rYAw5N','C2nVCgvpDMvYCMLKzq','sgP1yxO','Dgv4Da','ChjLDMLLD19VAW','yNvPBgrcyxrJAeLUC2vYDa','A3fnt1O','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza'];a0_0x1757=function(){return _0xcdcb26;};return a0_0x1757();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x38e9c5(0x219)),executeQuery=(_0x49fb95,_0x3e5abf)=>oracleDb[a0_0x38e9c5(0x22a)](_0x49fb95,_0x3e5abf),executeTransaction=_0xfaed7f=>oracleDb['executeTransaction'](_0xfaed7f);else{if(dbType===a0_0x38e9c5(0x1c2)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x34e2f5,_0x24ed96)=>mysqlDb['executeQuery'](_0x34e2f5,_0x24ed96),executeTransaction=_0x4ce119=>mysqlDb['executeTransaction'](_0x4ce119);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x38e9c5(0x232)),importValidator=require(a0_0x38e9c5(0x1b1)),upsertBuilder=require(a0_0x38e9c5(0x1b6)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x38e9c5(0x1c6)](){const _0xd923dd=a0_0x38e9c5;if(!this['_uploadDir']){const _0x57602c=process[_0xd923dd(0x20c)]['RESTFORGE_PROJECT_NAME']||_0xd923dd(0x1e5);this[_0xd923dd(0x1bd)]=process[_0xd923dd(0x20c)]['UPLOAD_DIR']||path[_0xd923dd(0x1eb)](__dirname,'../../temp/uploads/'+_0x57602c);}return this[_0xd923dd(0x1bd)];}['generateId'](){const _0xf311cf=a0_0x38e9c5,_0x2cae20={'chwRv':function(_0x25c2f4,_0x320501){return _0x25c2f4<_0x320501;},'epBSZ':function(_0x36029e,_0x1db48c){return _0x36029e*_0x1db48c;}},_0x2f3900='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0xa8fecd=Date[_0xf311cf(0x19f)]()['toString'](0x24),_0x497336=uuidv7()[_0xf311cf(0x1dc)](/-/g,'')[_0xf311cf(0x211)](0x0,0xc-_0xa8fecd['length']),_0x38b995=(_0xa8fecd+_0x497336)[_0xf311cf(0x211)](0x0,0xc);let _0x13703c='';for(let _0x411f4b=0x0;_0x2cae20[_0xf311cf(0x18b)](_0x411f4b,0xc);_0x411f4b++){_0x38b995[_0x411f4b]?_0x13703c+=_0x38b995[_0x411f4b]:_0x13703c+=_0x2f3900['charAt'](Math[_0xf311cf(0x19b)](_0x2cae20[_0xf311cf(0x21a)](Math[_0xf311cf(0x197)](),_0x2f3900[_0xf311cf(0x1e1)])));}return _0x13703c;}[a0_0x38e9c5(0x190)](_0x3792b5){const _0x2ca1d4=a0_0x38e9c5,_0x3894cf={'DVLfF':function(_0x3087ed,_0x39e733){return _0x3087ed(_0x39e733);},'LuvFJ':'$1_$2','FlCsG':_0x2ca1d4(0x17d),'LkvBo':_0x2ca1d4(0x1a2)},_0x354f65=new Map();if(!_0x3792b5)return _0x354f65;return Object[_0x2ca1d4(0x1ad)](_0x3792b5)[_0x2ca1d4(0x1ee)](([_0x1f22f3,_0x5b3d1c])=>{const _0x5819dc=_0x2ca1d4,_0x452959=_0x3894cf[_0x5819dc(0x1ec)](String,_0x5b3d1c)['trim']()[_0x5819dc(0x1dc)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x5819dc(0x1e6))['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x3894cf['LuvFJ'])[_0x5819dc(0x1be)]();_0x354f65[_0x5819dc(0x17f)](_0x452959,_0x1f22f3);}),logger['debug']({'event':_0x3894cf['FlCsG'],'mappingCount':_0x354f65[_0x2ca1d4(0x187)]},_0x3894cf[_0x2ca1d4(0x225)]),_0x354f65;}['applyColumnFormats'](_0x44b80a,_0x321693){const _0x378ebf=a0_0x38e9c5,_0xc2d829={'sJZaa':function(_0x2cb5c8,_0x12f589){return _0x2cb5c8===_0x12f589;},'ueOsk':_0x378ebf(0x1a4),'meqBv':_0x378ebf(0x214)};if(!_0x321693||Object[_0x378ebf(0x231)](_0x321693)[_0x378ebf(0x1e1)]===0x0)return _0x44b80a;return _0x44b80a['map'](_0xa2ec60=>{const _0x8111c9=_0x378ebf,_0x1d3592={..._0xa2ec60};for(const [_0x2bb7b4,_0x19053c]of Object[_0x8111c9(0x1ad)](_0x321693)){const _0x2f2f64=_0x1d3592[_0x2bb7b4];if(_0x2f2f64===null||_0xc2d829[_0x8111c9(0x193)](_0x2f2f64,undefined)||_0xc2d829['sJZaa'](_0x2f2f64,'')){_0x1d3592[_0x2bb7b4]=null;continue;}switch(_0x19053c['type']){case _0xc2d829['ueOsk']:_0x1d3592[_0x2bb7b4]=this['formatDateForDatabase'](_0x2f2f64);break;case'number':_0x1d3592[_0x2bb7b4]=this['formatNumberForDatabase'](_0x2f2f64);break;case _0x8111c9(0x1fa):_0x1d3592[_0x2bb7b4]=this['formatBooleanForDatabase'](_0x2f2f64);break;case _0xc2d829[_0x8111c9(0x1c0)]:_0x1d3592[_0x2bb7b4]=String(_0x2f2f64);break;default:break;}}return _0x1d3592;});}[a0_0x38e9c5(0x22e)](_0x4225c4){const _0x1daf51=a0_0x38e9c5,_0x323979={'lEMVE':function(_0x34fb18,_0x4244cd){return _0x34fb18===_0x4244cd;},'TeKJv':_0x1daf51(0x230),'uVmNf':function(_0x1455e0,_0x3ca21d){return _0x1455e0 instanceof _0x3ca21d;},'upmIn':function(_0x583331,_0x18e900){return _0x583331(_0x18e900);},'wHWjI':function(_0x5151ff,_0x466dcd){return _0x5151ff+_0x466dcd;},'YNawK':function(_0x2b1edb,_0x31af65){return _0x2b1edb(_0x31af65);},'jeRXm':function(_0xd6430,_0x500365){return _0xd6430(_0x500365);}};if(_0x323979[_0x1daf51(0x1e4)](_0x4225c4,null)||_0x323979[_0x1daf51(0x1e4)](_0x4225c4,undefined)||_0x323979[_0x1daf51(0x1e4)](_0x4225c4,''))return null;if(typeof _0x4225c4===_0x323979[_0x1daf51(0x1ba)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x4225c4))return _0x4225c4;if(_0x323979[_0x1daf51(0x1cc)](_0x4225c4,Date)){if(_0x323979[_0x1daf51(0x198)](isNaN,_0x4225c4[_0x1daf51(0x210)]()))return null;const _0x4b7332=_0x4225c4['getFullYear'](),_0x90f685=String(_0x323979['wHWjI'](_0x4225c4['getMonth'](),0x1))[_0x1daf51(0x207)](0x2,'0'),_0x2c7444=String(_0x4225c4[_0x1daf51(0x1c4)]())[_0x1daf51(0x207)](0x2,'0');return _0x4b7332+'-'+_0x90f685+'-'+_0x2c7444;}if(_0x323979['lEMVE'](typeof _0x4225c4,_0x323979[_0x1daf51(0x1ba)])){const _0xd472f4=_0x4225c4[_0x1daf51(0x1a1)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0xd472f4){const _0x2896d7=_0x323979['YNawK'](String,_0xd472f4[0x1])['padStart'](0x2,'0'),_0x332e0a=String(_0xd472f4[0x2])[_0x1daf51(0x207)](0x2,'0'),_0x3c114c=_0xd472f4[0x3];return _0x3c114c+'-'+_0x332e0a+'-'+_0x2896d7;}const _0x504b8d=_0x4225c4['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x504b8d){const _0xa193b8=_0x504b8d[0x1],_0x31ac08=_0x323979['jeRXm'](String,_0x504b8d[0x2])['padStart'](0x2,'0'),_0x1a4dd6=_0x323979['YNawK'](String,_0x504b8d[0x3])['padStart'](0x2,'0');return _0xa193b8+'-'+_0x31ac08+'-'+_0x1a4dd6;}}return _0x4225c4;}[a0_0x38e9c5(0x183)](_0x3df49f){const _0x2708b6=a0_0x38e9c5,_0x481926={'Rhjdv':function(_0xfc3df4,_0x4d7541){return _0xfc3df4===_0x4d7541;},'CJFYX':function(_0x5d6f7f,_0x3175e2){return _0x5d6f7f===_0x3175e2;},'jLSIc':_0x2708b6(0x1c8),'Fxjqe':function(_0x368955,_0x5297ab){return _0x368955(_0x5297ab);},'yTTOd':function(_0x2bf0a9,_0x1226e5){return _0x2bf0a9(_0x1226e5);}};if(_0x481926[_0x2708b6(0x1b2)](_0x3df49f,null)||_0x3df49f===undefined||_0x3df49f==='')return null;if(_0x481926[_0x2708b6(0x1e8)](typeof _0x3df49f,_0x481926[_0x2708b6(0x1aa)]))return _0x481926['Fxjqe'](isNaN,_0x3df49f)?null:_0x3df49f;if(typeof _0x3df49f==='string'){let _0x51764b=_0x3df49f['trim']();const _0x587a22=/,\d{1,2}$/['test'](_0x51764b)&&!/,\d{3}/['test'](_0x51764b);_0x587a22?_0x51764b=_0x51764b['replace'](/\./g,'')[_0x2708b6(0x1dc)](',','.'):_0x51764b=_0x51764b[_0x2708b6(0x1dc)](/,/g,'');const _0x36074f=parseFloat(_0x51764b);return _0x481926['yTTOd'](isNaN,_0x36074f)?null:_0x36074f;}return null;}[a0_0x38e9c5(0x1f8)](_0x45f77b){const _0x3d3aec=a0_0x38e9c5,_0x191c00={'egzkh':'true','VNRAt':function(_0x1c0b7d,_0x333774){return _0x1c0b7d===_0x333774;},'kqMOZ':_0x3d3aec(0x230),'uMUKt':'yes','hpywY':_0x3d3aec(0x1b7),'gHACf':function(_0x1f5e09,_0xe9419f){return _0x1f5e09===_0xe9419f;}};if(_0x45f77b===null||_0x45f77b===undefined||_0x45f77b==='')return null;if(typeof _0x45f77b==='boolean')return _0x45f77b?_0x191c00[_0x3d3aec(0x1b0)]:'false';if(_0x191c00['VNRAt'](typeof _0x45f77b,_0x191c00[_0x3d3aec(0x217)])){const _0x3cfbe4=_0x45f77b['trim']()[_0x3d3aec(0x1be)]();if(['true',_0x191c00['uMUKt'],'y','1']['includes'](_0x3cfbe4))return _0x191c00[_0x3d3aec(0x1b0)];if([_0x191c00['hpywY'],'no','n','0']['includes'](_0x3cfbe4))return _0x191c00[_0x3d3aec(0x19a)];return null;}if(_0x191c00['gHACf'](typeof _0x45f77b,'number'))return _0x45f77b?'true':_0x191c00['hpywY'];return null;}async[a0_0x38e9c5(0x1ae)](_0x584c1e,_0x1e5bca){const _0x379b6b=a0_0x38e9c5,_0x3f956e={'vCecp':'Excel\x20headers\x20mapped\x20to\x20field\x20names','IyZiL':_0x379b6b(0x1f0),'Rqsta':'Column\x20formats\x20applied\x20to\x20rows','ewJGt':_0x379b6b(0x1d2)},_0x4570ac=this['generateId']();try{let {headers:_0xefe9fb,rows:_0xce32d1,totalRows:_0x39dded}=await excelParser['parseExcelFile'](_0x584c1e['path']);const _0x2f1a41=this['buildLabelToFieldMap'](_0x1e5bca['fieldLabels']),_0x23baa9=_0xefe9fb['map'](_0x572c28=>{const _0x3ef942=_0x379b6b,_0x39ec17=_0x2f1a41[_0x3ef942(0x208)](_0x572c28);return _0x39ec17||_0x572c28;});_0xce32d1=_0xce32d1['map'](_0x2695c1=>{const _0x5cef09={};return _0xefe9fb['forEach']((_0x178a06,_0x2ac6f0)=>{const _0xc45587=_0x23baa9[_0x2ac6f0];_0x5cef09[_0xc45587]=_0x2695c1[_0x178a06];}),_0x5cef09;}),_0xefe9fb=_0x23baa9,logger['debug']({'event':_0x379b6b(0x1bc),'original':_0xefe9fb[_0x379b6b(0x1e1)],'mapped':_0x23baa9['filter']((_0x20129d,_0x360977)=>_0x20129d!==_0xefe9fb[_0x360977])['length']},_0x3f956e[_0x379b6b(0x1f5)]);_0x1e5bca[_0x379b6b(0x192)]&&Object[_0x379b6b(0x231)](_0x1e5bca[_0x379b6b(0x192)])['length']>0x0&&(_0xce32d1=this[_0x379b6b(0x1b9)](_0xce32d1,_0x1e5bca[_0x379b6b(0x192)]),logger[_0x379b6b(0x1d4)]({'event':_0x3f956e['IyZiL'],'formatCount':Object['keys'](_0x1e5bca[_0x379b6b(0x192)])[_0x379b6b(0x1e1)],'formats':Object['keys'](_0x1e5bca['columnFormats'])},_0x3f956e['Rqsta']));if(_0x1e5bca[_0x379b6b(0x212)]&&_0x1e5bca[_0x379b6b(0x212)][_0x379b6b(0x1cd)]){const {column:_0x5208b2,value:_0x467cb9}=_0x1e5bca[_0x379b6b(0x212)];_0xce32d1=_0xce32d1['map'](_0x45236=>({..._0x45236,[_0x5208b2]:_0x467cb9})),logger[_0x379b6b(0x1d4)]({'event':'request_scope_applied','column':_0x5208b2,'rowCount':_0xce32d1[_0x379b6b(0x1e1)]},_0x379b6b(0x1fd));}const _0x2c2f0a=_0x1e5bca['lookupFields']?Object['values'](_0x1e5bca[_0x379b6b(0x1c9)])[_0x379b6b(0x1a3)](_0x49c5a8=>_0x49c5a8[_0x379b6b(0x1b5)]):[],_0x3d5d3b=_0x1e5bca['fieldName']['filter'](_0x1e4336=>!_0x2c2f0a[_0x379b6b(0x1a8)](_0x1e4336)),_0xfeb9e7=excelParser['validateExcelStructure'](_0xefe9fb,_0x3d5d3b);if(!_0xfeb9e7[_0x379b6b(0x1f9)]){await fs['unlink'](_0x584c1e[_0x379b6b(0x19e)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0xfeb9e7['missingFields'][_0x379b6b(0x1eb)](',\x20'));}const _0x417b50={'upload_id':_0x4570ac,'filename':_0x584c1e['originalname'],'total_rows':_0x39dded,'headers':_0xefe9fb,'rows':_0xce32d1,'params':_0x1e5bca,'created_at':new Date()[_0x379b6b(0x1d7)]()};return await redisHelper[_0x379b6b(0x1d5)]('upload:'+_0x4570ac,_0x417b50,0xe10),await fs[_0x379b6b(0x1e3)](_0x584c1e['path']),logger['info']({'event':_0x379b6b(0x22c),'uploadId':_0x4570ac,'filename':_0x584c1e['originalname'],'totalRows':_0x39dded},_0x3f956e['ewJGt']),{'upload_id':_0x4570ac,'total_rows':_0x39dded,'preview':_0xce32d1['slice'](0x0,0xa)};}catch(_0x866c51){try{await fs['unlink'](_0x584c1e[_0x379b6b(0x19e)]);}catch(_0xa72056){logError(_0xa72056,{'event':_0x379b6b(0x1a9)},'Failed\x20to\x20cleanup\x20file');}throw _0x866c51;}}async[a0_0x38e9c5(0x17e)](_0x1b0b65){const _0x443fa8=a0_0x38e9c5,_0x229d6d={'XzVBP':_0x443fa8(0x1f2),'KbsjW':'Upload\x20data\x20not\x20found\x20or\x20expired','ISGVU':_0x443fa8(0x21e),'CXHWZ':'preview_job_created'},_0xc139e9=this['generateId'](),_0x30fc51=await redisHelper[_0x443fa8(0x1d1)]('upload:'+_0x1b0b65);if(!_0x30fc51)throw new Error(_0x229d6d['KbsjW']);const _0xf7496d={'job_id':_0xc139e9,'upload_id':_0x1b0b65,'status':_0x229d6d[_0x443fa8(0x1ef)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x30fc51[_0x443fa8(0x1e7)]};return await redisHelper['setJob']('job:'+_0xc139e9,_0xf7496d,0xe10),logger['info']({'event':_0x229d6d[_0x443fa8(0x196)],'jobId':_0xc139e9,'uploadId':_0x1b0b65},'Preview\x20job\x20created'),this[_0x443fa8(0x1ac)](_0xc139e9,_0x1b0b65,_0x30fc51)[_0x443fa8(0x1ce)](_0x29d8ea=>{const _0xd0c45c=_0x443fa8;logError(_0x29d8ea,{'event':'preview_process_error','jobId':_0xc139e9},_0x229d6d[_0xd0c45c(0x186)]);}),{'job_id':_0xc139e9,'status':_0x229d6d[_0x443fa8(0x1ef)]};}[a0_0x38e9c5(0x1d0)](_0x45ec76,_0x41bc0e){const _0x31aa1c=a0_0x38e9c5,_0x2f6e18={'SACoZ':function(_0x2bc499,_0x144d6a){return _0x2bc499===_0x144d6a;},'IXKvc':function(_0x4d5354,_0x109efd){return _0x4d5354(_0x109efd);},'itlye':function(_0x18af62){return _0x18af62();},'PcOEw':'uuid_auto_generated'};_0x45ec76[_0x31aa1c(0x1ee)]((_0x1740ff,_0xe63313)=>{_0x41bc0e['forEach'](_0x2abbc7=>{const _0x30663a=a0_0xbde6,_0x1d63c9=_0x1740ff[_0x2abbc7];if(_0x2f6e18['SACoZ'](_0x1d63c9,null)||_0x1d63c9===undefined||_0x2f6e18[_0x30663a(0x1e0)](_0x1d63c9,'')||_0x2f6e18[_0x30663a(0x191)](String,_0x1d63c9)['trim']()==='-'){const _0x57f793=_0x2f6e18['itlye'](uuidv7);_0x1740ff[_0x2abbc7]=_0x57f793,_0x1740ff[_0x30663a(0x18d)]=_0x1740ff['_generated_uuid']||{},_0x1740ff['_generated_uuid'][_0x2abbc7]=_0x57f793,logger[_0x30663a(0x1d4)]({'event':_0x2f6e18[_0x30663a(0x18c)],'rowIndex':_0xe63313,'field':_0x2abbc7,'uuid':_0x57f793},_0x30663a(0x21b)+_0x2abbc7+'\x20at\x20row\x20'+(_0xe63313+0x2));}});});}async['processPreviewJob'](_0xf9607c,_0x595e10,_0x449af5){const _0x52d28d=a0_0x38e9c5,_0x15595b={'ApbXB':function(_0x20366e,_0x270594){return _0x20366e===_0x270594;},'tJQyi':'INSERT','ErvgQ':function(_0x542ae8,_0x4f622b){return _0x542ae8===_0x4f622b;},'YNEvp':_0x52d28d(0x1ca),'VHhLz':_0x52d28d(0x1af),'qQnnU':_0x52d28d(0x20b),'FFGbR':_0x52d28d(0x226),'keQWH':_0x52d28d(0x215),'Hjuaz':_0x52d28d(0x204),'DKdCn':function(_0x37102c,_0x43fb87,_0x1cb8cb,_0x42becc){return _0x37102c(_0x43fb87,_0x1cb8cb,_0x42becc);},'XGxPx':'preview_job_failed','kzlvk':_0x52d28d(0x1c3)};try{let {rows:_0x1f31e6,params:_0x3230cf}=_0x449af5;const {requiredFields:_0x63b75d,validations:_0x155775,upsertKeys:_0x11e5e2,tableName:_0x496089,primaryKey:_0x417dd7,fieldName:_0x2bd2a3,upsertStrategy:_0x4817b5,lookupFields:_0x48a906}=_0x3230cf;this[_0x52d28d(0x1d0)](_0x1f31e6,_0x11e5e2);let _0x5c9693=[];if(_0x48a906&&Object['keys'](_0x48a906)[_0x52d28d(0x1e1)]>0x0){logger['info']({'event':_0x15595b['qQnnU'],'jobId':_0xf9607c,'lookupFieldCount':Object[_0x52d28d(0x231)](_0x48a906)[_0x52d28d(0x1e1)]},_0x15595b['FFGbR']);const _0x29b433=await lookupResolver['processLookupFields'](_0x1f31e6,_0x48a906);_0x1f31e6=_0x29b433[_0x52d28d(0x1f7)],_0x5c9693=_0x29b433['errors'],_0x449af5['rows']=_0x1f31e6;}const _0x1c23bb=importValidator[_0x52d28d(0x22f)](_0x1f31e6,_0x63b75d||[],_0x155775||{});_0x5c9693['forEach'](_0x41e0ef=>{const _0xd0769a=_0x52d28d,_0x3292d6=_0x1c23bb[_0xd0769a(0x1ab)](_0x38740a=>_0x38740a[_0xd0769a(0x21d)]===_0x41e0ef[_0xd0769a(0x21d)]);_0x3292d6?_0x3292d6[_0xd0769a(0x221)][_0xd0769a(0x19d)](_0x41e0ef['message']):_0x1c23bb[_0xd0769a(0x19d)]({'rowIndex':_0x41e0ef['rowIndex'],'rowData':_0x1f31e6[_0x41e0ef['rowIndex']],'errors':[_0x41e0ef['message']]});});const _0x33a150=importValidator[_0x52d28d(0x1d9)](_0x1f31e6,_0x11e5e2);_0x33a150[_0x52d28d(0x1ee)](_0x278d1f=>{const _0x41f1d5=_0x52d28d,_0x3709e3=_0x1c23bb[_0x41f1d5(0x1ab)](_0x4537e9=>_0x4537e9[_0x41f1d5(0x21d)]===_0x278d1f['rowIndex']),_0xf213db=_0x11e5e2['map'](_0x589521=>_0x589521[_0x41f1d5(0x1cb)]())[_0x41f1d5(0x1eb)](',\x20'),_0x25d7ef='Duplicate\x20value\x20for\x20'+_0xf213db;_0x3709e3?_0x3709e3['errors']['push'](_0x25d7ef):_0x1c23bb['push']({'rowIndex':_0x278d1f['rowIndex'],'rowData':_0x1f31e6[_0x278d1f['rowIndex']],'errors':[_0x25d7ef]});}),await this[_0x52d28d(0x223)](_0x1f31e6,_0x11e5e2,_0x496089,_0x417dd7,_0x4817b5,_0x1c23bb),_0x1c23bb[_0x52d28d(0x1ee)](_0x293b15=>{const _0x330eff=_0x1f31e6[_0x293b15['rowIndex']];_0x330eff&&(_0x330eff['_errors']=_0x293b15['errors']);});let _0x524ac9=0x0,_0xbf883f=0x0,_0x1ab129=0x0;_0x1f31e6[_0x52d28d(0x1ee)](_0x55522f=>{const _0x49397e=_0x52d28d;if(_0x15595b[_0x49397e(0x1e2)](_0x55522f['_action'],_0x15595b[_0x49397e(0x228)]))_0x524ac9++;else{if(_0x15595b[_0x49397e(0x1b8)](_0x55522f['_action'],_0x15595b[_0x49397e(0x1c5)]))_0xbf883f++;else _0x15595b['ApbXB'](_0x55522f['_action'],_0x15595b[_0x49397e(0x185)])&&_0x1ab129++;}});const _0x9cf5d={'job_id':_0xf9607c,'upload_id':_0x595e10,'status':_0x1c23bb['length']>0x0?_0x52d28d(0x182):_0x15595b[_0x52d28d(0x227)],'progress':0x64,'created_at':_0x449af5['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x1f31e6['length'],'insert_count':_0x524ac9,'update_count':_0xbf883f,'skip_count':_0x1ab129,'error_count':_0x1c23bb['length'],'errors':_0x1c23bb,'data':_0x1f31e6,'sample_insert':_0x1f31e6['filter'](_0x4f2b61=>_0x4f2b61[_0x52d28d(0x1fe)]==='INSERT')[_0x52d28d(0x1ea)](0x0,0x5),'sample_update':_0x1f31e6[_0x52d28d(0x209)](_0x2b96f2=>_0x2b96f2['_action']===_0x52d28d(0x1ca))['slice'](0x0,0x5),'sample_skip':_0x1f31e6['filter'](_0x155fa8=>_0x155fa8[_0x52d28d(0x1fe)]==='SKIP')[_0x52d28d(0x1ea)](0x0,0x5)},'params':_0x3230cf};await redisHelper[_0x52d28d(0x1d5)](_0x52d28d(0x184)+_0xf9607c,_0x9cf5d,0xe10),_0x449af5[_0x52d28d(0x206)]=_0x1f31e6,await redisHelper[_0x52d28d(0x1d5)](_0x52d28d(0x20e)+_0x595e10,_0x449af5,0xe10),logger['info']({'event':_0x15595b[_0x52d28d(0x213)],'jobId':_0xf9607c,'status':_0x9cf5d['status'],'insertCount':_0x524ac9,'updateCount':_0xbf883f,'skipCount':_0x1ab129,'errorCount':_0x1c23bb[_0x52d28d(0x1e1)]},'Preview\x20job\x20completed');}catch(_0xc6254){_0x15595b[_0x52d28d(0x1a7)](logError,_0xc6254,{'event':_0x15595b['XGxPx'],'jobId':_0xf9607c},'Preview\x20job\x20failed'),await redisHelper['setJob'](_0x52d28d(0x184)+_0xf9607c,{'job_id':_0xf9607c,'upload_id':_0x595e10,'status':_0x15595b[_0x52d28d(0x1b3)],'progress':0x0,'error':_0xc6254['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x52d28d(0x1d7)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x35a500,_0x407bc1,_0xb05661,_0x46347b,_0x225467=a0_0x38e9c5(0x1c1),_0x5c507d=[]){const _0x5cb71e=a0_0x38e9c5,_0x2b8f1b={'VPbBY':function(_0x1dd2f6,_0x10dc25){return _0x1dd2f6===_0x10dc25;},'HxLeK':function(_0x17f664,_0x2f9c9c){return _0x17f664(_0x2f9c9c);},'OeIzE':'update_existing','XwgtS':'insert_only','KzFoD':_0x5cb71e(0x1af),'sIfBT':function(_0x12e236,_0x3cf7c7){return _0x12e236===_0x3cf7c7;},'fzuGr':'INSERT','iEQaZ':function(_0x49ca69,_0x509f21){return _0x49ca69===_0x509f21;},'ElniX':'skip_existing','SWJAv':function(_0x1fa86c,_0x72c856){return _0x1fa86c===_0x72c856;},'uPYLE':function(_0x340fa8,_0x5bb873){return _0x340fa8>_0x5bb873;}},_0x54fba5=upsertBuilder['chunkRows'](_0x35a500,0x64);for(const _0x4e68a7 of _0x54fba5){const _0x367f86=_0x4e68a7['map'](_0x237217=>_0x237217[_0x407bc1[0x0]]),_0x1a64e5=_0x367f86['map'](_0x1e9eaa=>{const _0x34521c=_0x5cb71e;if(_0x1e9eaa===null||_0x2b8f1b[_0x34521c(0x1f4)](_0x1e9eaa,undefined))return _0x34521c(0x18a);return'\x27'+_0x2b8f1b[_0x34521c(0x19c)](String,_0x1e9eaa)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x297db0='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x46347b+',\x20'+_0x407bc1['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xb05661+_0x5cb71e(0x20f)+_0x407bc1[0x0]+'\x20IN\x20('+_0x1a64e5['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x30f6d2=await _0x2b8f1b['HxLeK'](executeQuery,_0x297db0);_0x2b8f1b['SWJAv'](dbType,'oracle')&&_0x30f6d2&&_0x2b8f1b[_0x5cb71e(0x189)](_0x30f6d2['length'],0x0)&&(_0x30f6d2=_0x30f6d2[_0x5cb71e(0x1a3)](_0x30b3aa=>{const _0x210766={};for(const [_0x545a25,_0x26031e]of Object['entries'](_0x30b3aa)){_0x210766[_0x545a25['toLowerCase']()]=_0x26031e;}return _0x210766;}));const _0x595a0e=new Map();_0x30f6d2['forEach'](_0x21b2b2=>{const _0x1868c7=_0x5cb71e,_0x39727f=_0x21b2b2[_0x407bc1[0x0]];_0x595a0e[_0x1868c7(0x17f)](_0x39727f,_0x21b2b2);}),_0x4e68a7['forEach']((_0x53b485,_0x341101)=>{const _0x14844f=_0x5cb71e,_0x107524=_0x53b485[_0x407bc1[0x0]],_0x464111=_0x595a0e[_0x14844f(0x208)](_0x107524);if(_0x464111){if(_0x225467===_0x2b8f1b[_0x14844f(0x181)])_0x53b485[_0x14844f(0x1fe)]='UPDATE',_0x53b485[_0x14844f(0x222)]=_0x464111[_0x46347b];else{if(_0x225467===_0x2b8f1b['XwgtS']){_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b['KzFoD'],_0x53b485['_errors']=_0x53b485['_errors']||[],_0x53b485['_errors']['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x37736b=_0x35a500['indexOf'](_0x53b485);_0x37736b!==-0x1&&_0x5c507d[_0x14844f(0x19d)]({'rowIndex':_0x37736b,'rowData':_0x53b485,'errors':[_0x14844f(0x1bf)]});}else _0x2b8f1b['sIfBT'](_0x225467,_0x14844f(0x199))&&(_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b['KzFoD']);}}else{if(_0x225467===_0x2b8f1b[_0x14844f(0x181)])_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b[_0x14844f(0x21c)];else(_0x2b8f1b['iEQaZ'](_0x225467,'insert_only')||_0x2b8f1b['VPbBY'](_0x225467,_0x2b8f1b[_0x14844f(0x205)]))&&(_0x53b485['_action']=_0x2b8f1b['fzuGr']);}});}}async[a0_0x38e9c5(0x1ed)](_0x4880e7){const _0x56319e=a0_0x38e9c5,_0x50bfa6={'ZskeR':function(_0x1794f3,_0xdb7720,_0x58f005,_0x3a5739){return _0x1794f3(_0xdb7720,_0x58f005,_0x3a5739);},'Nuvmf':_0x56319e(0x1dd),'ZkvUz':_0x56319e(0x1c7),'UZlrk':function(_0x23cbc9,_0x1429c6){return _0x23cbc9!==_0x1429c6;},'JPZbd':_0x56319e(0x224),'EnjnO':_0x56319e(0x1bb),'anZOs':_0x56319e(0x180)},_0x4bfbb4=this['generateId'](),_0x16912b=await redisHelper[_0x56319e(0x1d1)](_0x56319e(0x184)+_0x4880e7);if(!_0x16912b)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x50bfa6[_0x56319e(0x18f)](_0x16912b['status'],'preview_ok'))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x16912b[_0x56319e(0x1db)]);const _0x329211={'job_id':_0x4bfbb4,'upload_id':_0x16912b['upload_id'],'preview_job_id':_0x4880e7,'status':_0x50bfa6['JPZbd'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x16912b[_0x56319e(0x1e7)]};return await redisHelper['setJob']('job:'+_0x4bfbb4,_0x329211,0xe10),logger['info']({'event':_0x50bfa6['EnjnO'],'jobId':_0x4bfbb4,'previewJobId':_0x4880e7},_0x50bfa6[_0x56319e(0x1ff)]),this['processCommitJob'](_0x4bfbb4,_0x16912b)['catch'](_0x383572=>{_0x50bfa6['ZskeR'](logError,_0x383572,{'event':_0x50bfa6['Nuvmf'],'jobId':_0x4bfbb4},_0x50bfa6['ZkvUz']);}),{'job_id':_0x4bfbb4,'status':_0x50bfa6[_0x56319e(0x1cf)]};}async['processCommitJob'](_0x488101,_0x19d6cc){const _0x16fbba=a0_0x38e9c5,_0x4831e7={'ZUscO':function(_0x10c497,_0x166421){return _0x10c497===_0x166421;},'dpBwL':_0x16fbba(0x1da),'UTnBb':'Upload\x20data\x20not\x20found\x20or\x20expired','iSNZD':function(_0x2142dc,_0x1e5e04){return _0x2142dc>_0x1e5e04;},'wTbJT':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','RLnbe':'update','Ifkup':_0x16fbba(0x1fc),'nmJYL':_0x16fbba(0x195),'GMDTr':_0x16fbba(0x22b)};try{const _0x6cef52=await redisHelper['getJob']('upload:'+_0x19d6cc['upload_id']);if(!_0x6cef52)throw new Error(_0x4831e7['UTnBb']);const {rows:_0x3d1103,params:_0x22633e}=_0x6cef52,{tableName:_0x2d379a,fieldName:_0x3d9bfd,primaryKey:_0x3a7786,upsertKeys:_0x4477e7,excludeFromImport:_0x55f63f,lookupFields:_0x47c561,columnFormats:_0x4819da}=_0x22633e,_0x2dc289=_0x47c561?Object[_0x16fbba(0x231)](_0x47c561):[],_0x2b2ae0=new Set([..._0x55f63f||[],..._0x2dc289]);let _0x2c7df0=_0x3d9bfd;_0x4831e7['iSNZD'](_0x2b2ae0['size'],0x0)&&(_0x2c7df0=_0x3d9bfd['filter'](_0x586e99=>!_0x2b2ae0['has'](_0x586e99)),logger['debug']({'event':_0x16fbba(0x218),'originalCount':_0x3d9bfd[_0x16fbba(0x1e1)],'filteredCount':_0x2c7df0[_0x16fbba(0x1e1)],'excludedFields':Array[_0x16fbba(0x229)](_0x2b2ae0),'lookupSourceFields':_0x2dc289},_0x4831e7[_0x16fbba(0x1f6)]));const _0xe5497d=_0x3d1103['filter'](_0x53ad27=>_0x53ad27['_action']===_0x16fbba(0x200)),_0x44db7c=_0x3d1103[_0x16fbba(0x209)](_0x5bfb3f=>_0x5bfb3f['_action']==='UPDATE');let _0xa5b26=0x0,_0x1db395=0x0;const _0x3496f0=[];if(_0x4831e7[_0x16fbba(0x201)](_0xe5497d[_0x16fbba(0x1e1)],0x0)){const _0x3dbf20=upsertBuilder['chunkRows'](_0xe5497d,0x64);for(const _0x3519da of _0x3dbf20){const {query:_0x3f64f1}=upsertBuilder[_0x16fbba(0x216)](_0x3519da,_0x2d379a,_0x2c7df0,_0x4819da||{});_0x3f64f1&&_0x3496f0['push']({'sql':_0x3f64f1,'count':_0x3519da[_0x16fbba(0x1e1)],'type':_0x4831e7['dpBwL']});}}if(_0x44db7c[_0x16fbba(0x1e1)]>0x0){const _0x56abee=upsertBuilder['chunkRows'](_0x44db7c,0x64);for(const _0x29f88f of _0x56abee){const {query:_0x53a352}=upsertBuilder[_0x16fbba(0x1d8)](_0x29f88f,_0x2d379a,_0x2c7df0,_0x3a7786,_0x4477e7,_0x4819da||{});_0x53a352&&_0x3496f0['push']({'sql':_0x53a352,'count':_0x29f88f[_0x16fbba(0x1e1)],'type':_0x4831e7['RLnbe']});}}_0x3496f0[_0x16fbba(0x1e1)]>0x0&&await executeTransaction(_0x3496f0['map'](_0x10e7d4=>({'sql':_0x10e7d4['sql'],'params':[]})));_0x3496f0['forEach'](_0x17cdf9=>{const _0x3fd4ec=_0x16fbba;if(_0x4831e7[_0x3fd4ec(0x1df)](_0x17cdf9['type'],_0x4831e7['dpBwL']))_0xa5b26+=_0x17cdf9['count'];else _0x1db395+=_0x17cdf9['count'];});const _0x2c3346={'job_id':_0x488101,'upload_id':_0x19d6cc[_0x16fbba(0x1a6)],'preview_job_id':_0x19d6cc['job_id'],'status':_0x4831e7['Ifkup'],'progress':0x64,'created_at':_0x19d6cc[_0x16fbba(0x220)],'started_at':new Date()[_0x16fbba(0x1d7)](),'completed_at':new Date()[_0x16fbba(0x1d7)](),'result':{'total_rows':_0x3d1103[_0x16fbba(0x1e1)],'inserted_rows':_0xa5b26,'updated_rows':_0x1db395,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x22633e};await redisHelper['setJob'](_0x16fbba(0x184)+_0x488101,_0x2c3346,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x488101,'insertedCount':_0xa5b26,'updatedCount':_0x1db395},_0x4831e7[_0x16fbba(0x188)]);}catch(_0x5c53d3){logError(_0x5c53d3,{'event':_0x4831e7['GMDTr'],'jobId':_0x488101},_0x16fbba(0x20d)),await redisHelper[_0x16fbba(0x1d5)](_0x16fbba(0x184)+_0x488101,{'job_id':_0x488101,'upload_id':_0x19d6cc['upload_id'],'preview_job_id':_0x19d6cc[_0x16fbba(0x1de)],'status':_0x16fbba(0x1c3),'progress':0x0,'error':_0x5c53d3[_0x16fbba(0x21f)],'created_at':_0x19d6cc['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x16fbba(0x1d7)]()},0xe10);}}async[a0_0x38e9c5(0x1a0)](_0x5c138a){const _0x3882f1=a0_0x38e9c5,_0x404c33={'LCESF':'Job\x20not\x20found\x20or\x20expired'},_0x52c5e8=await redisHelper['getJob']('job:'+_0x5c138a);if(!_0x52c5e8)return{'success':![],'error':_0x404c33[_0x3882f1(0x1f1)]};return{'success':!![],'data':_0x52c5e8};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x188aa1=a0_0x30f2;(function(_0x276149,_0x1ee0a0){const _0x1f1e2f=a0_0x30f2,_0x48bc8a=_0x276149();while(!![]){try{const _0x1bc6e9=parseInt(_0x1f1e2f(0x1f5))/0x1+parseInt(_0x1f1e2f(0x234))/0x2*(parseInt(_0x1f1e2f(0x1f7))/0x3)+-parseInt(_0x1f1e2f(0x1ef))/0x4+parseInt(_0x1f1e2f(0x20c))/0x5+parseInt(_0x1f1e2f(0x1f8))/0x6+parseInt(_0x1f1e2f(0x232))/0x7*(parseInt(_0x1f1e2f(0x245))/0x8)+-parseInt(_0x1f1e2f(0x216))/0x9;if(_0x1bc6e9===_0x1ee0a0)break;else _0x48bc8a['push'](_0x48bc8a['shift']());}catch(_0x12a6a1){_0x48bc8a['push'](_0x48bc8a['shift']());}}}(a0_0x2e9b,0xe5f6e));const {Kafka,logLevel}=require(a0_0x188aa1(0x217)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0xe81859=a0_0x188aa1,_0x262a11={'wApSC':'8|9|4|10|3|5|0|2|1|7|6'},_0x55b23c=_0x262a11[_0xe81859(0x1d6)]['split']('|');let _0x39fc8e=0x0;while(!![]){switch(_0x55b23c[_0x39fc8e++]){case'0':this['connectionPromise']=null;continue;case'1':this['groupId']=null;continue;case'2':this['subscribedTopics']=[];continue;case'3':this['isRunning']=![];continue;case'4':this['isConnected']=![];continue;case'5':this['isPaused']=![];continue;case'6':this[_0xe81859(0x21a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this[_0xe81859(0x22b)]=null;continue;case'8':this['kafka']=null;continue;case'9':this[_0xe81859(0x1e8)]=null;continue;case'10':this['isInitializing']=![];continue;}break;}}[a0_0x188aa1(0x1e7)](){const _0x80a2b7=a0_0x188aa1,_0x5994de={'hofjb':function(_0x24721d,_0x3519f4){return _0x24721d===_0x3519f4;},'DbiMq':_0x80a2b7(0x1ea),'JmBrZ':_0x80a2b7(0x228),'KrgMf':'default','MGcVP':function(_0x69dcdc,_0x109748){return _0x69dcdc(_0x109748);},'gHvND':function(_0x22b8d6,_0x13b458){return _0x22b8d6===_0x13b458;},'txfJv':'5000','STzfo':function(_0x36e42a,_0x268e94){return _0x36e42a(_0x268e94);},'PjZss':'1000','smyDc':_0x80a2b7(0x1f4)};return{'enabled':_0x5994de[_0x80a2b7(0x21d)](process[_0x80a2b7(0x1f3)][_0x80a2b7(0x1f9)],_0x5994de[_0x80a2b7(0x1f6)]),'brokers':(process['env'][_0x80a2b7(0x23d)]||_0x5994de[_0x80a2b7(0x213)])['split'](','),'clientId':process[_0x80a2b7(0x1f3)][_0x80a2b7(0x21f)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x5994de[_0x80a2b7(0x23e)])+_0x80a2b7(0x1fe),'connectionTimeout':_0x5994de['MGcVP'](parseInt,process[_0x80a2b7(0x1f3)][_0x80a2b7(0x1e1)]||_0x80a2b7(0x1ff)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':parseInt(process['env'][_0x80a2b7(0x221)]||_0x80a2b7(0x1f4)),'heartbeatInterval':_0x5994de['MGcVP'](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x80a2b7(0x1ff)),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x80a2b7(0x20e)),'autoCommit':_0x5994de[_0x80a2b7(0x229)](process['env'][_0x80a2b7(0x203)],'true'),'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x5994de['txfJv']),'retryAttempts':_0x5994de['STzfo'](parseInt,process[_0x80a2b7(0x1f3)][_0x80a2b7(0x210)]||'3'),'retryDelay':_0x5994de[_0x80a2b7(0x1dc)](parseInt,process[_0x80a2b7(0x1f3)][_0x80a2b7(0x222)]||_0x5994de['PjZss']),'retryMaxDelay':parseInt(process[_0x80a2b7(0x1f3)]['KAFKA_RETRY_MAX_DELAY']||_0x5994de['smyDc']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}[a0_0x188aa1(0x21c)](_0x26b87a){const _0x3d3585=a0_0x188aa1,_0x166270={'nothing':logLevel['NOTHING'],'error':logLevel[_0x3d3585(0x231)],'warn':logLevel[_0x3d3585(0x235)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x166270[_0x26b87a[_0x3d3585(0x1de)]()]||logLevel[_0x3d3585(0x235)];}async['initialize'](_0x6a5c7a={}){const _0x4c9743=a0_0x188aa1,_0x4bb34d={'zfsVf':function(_0x579063,_0x2c9f30){return _0x579063===_0x2c9f30;},'WuVjp':_0x4c9743(0x1ea),'XbUzF':'default','qmKOx':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x546f30=this['getConfig']();if(!_0x546f30[_0x4c9743(0x23b)])return console[_0x4c9743(0x239)](_0x4bb34d['qmKOx']),![];if(this['isConnected'])return!![];if(this[_0x4c9743(0x1eb)]&&this['connectionPromise'])return this[_0x4c9743(0x200)];return this[_0x4c9743(0x1eb)]=!![],this[_0x4c9743(0x200)]=new Promise(async _0x320de3=>{const _0x3779e0=_0x4c9743;try{let _0x5d0a85=undefined;_0x4bb34d[_0x3779e0(0x220)](process[_0x3779e0(0x1f3)]['KAFKA_SSL'],_0x4bb34d[_0x3779e0(0x22a)])&&(_0x5d0a85=!![]);let _0x4f677b=undefined;process[_0x3779e0(0x1f3)]['KAFKA_SASL_MECHANISM']&&(_0x4f677b={'mechanism':process[_0x3779e0(0x1f3)]['KAFKA_SASL_MECHANISM'],'username':process[_0x3779e0(0x1f3)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x6a5c7a[_0x3779e0(0x20a)]||_0x546f30[_0x3779e0(0x20a)],'brokers':_0x546f30[_0x3779e0(0x204)],'connectionTimeout':_0x546f30['connectionTimeout'],'requestTimeout':_0x546f30[_0x3779e0(0x236)],'logLevel':this['getLogLevel'](_0x546f30[_0x3779e0(0x1ed)]),'ssl':_0x5d0a85,'sasl':_0x4f677b,'retry':{'initialRetryTime':_0x546f30['retryDelay'],'retries':_0x546f30['retryAttempts'],'maxRetryTime':_0x546f30['retryMaxDelay']}}),this['groupId']=_0x6a5c7a[_0x3779e0(0x215)]||_0x3779e0(0x219)+(process[_0x3779e0(0x1f3)]['RESTFORGE_PROJECT_NAME']||_0x4bb34d['XbUzF'])+_0x3779e0(0x1e5),this['consumer']=this['kafka']['consumer']({'groupId':this[_0x3779e0(0x215)],'sessionTimeout':_0x546f30['sessionTimeout'],'heartbeatInterval':_0x546f30['heartbeatInterval'],'maxBytesPerPartition':_0x546f30['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x3779e0(0x1e8)]['connect'](),this[_0x3779e0(0x21e)]=!![],console[_0x3779e0(0x239)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x546f30[_0x3779e0(0x204)][_0x3779e0(0x1ec)](',\x20')+_0x3779e0(0x241)+this['groupId']+')'),this['setupEventHandlers'](),_0x320de3(!![]);}catch(_0x39cd90){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x39cd90[_0x3779e0(0x1fd)]),this['isConnected']=![],_0x320de3(![]);}finally{this['isInitializing']=![];}}),this[_0x4c9743(0x200)];}['setupEventHandlers'](){const _0xf50da1=a0_0x188aa1,_0x9cb3b1={'vWdEA':_0xf50da1(0x206),'NsOFa':'[KafkaConsumer]\x20Consumer\x20rebalancing...','FpYmg':_0xf50da1(0x211),'hbCID':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x13a8ed=_0xf50da1;console['log'](_0x9cb3b1[_0x13a8ed(0x1d5)]),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0xf50da1(0x230),()=>{const _0x288105=_0xf50da1;console[_0x288105(0x239)]('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x288105(0x244)]=![];}),this['consumer']['on'](_0x9cb3b1['FpYmg'],_0x2fa65d=>{const _0x39492b=_0xf50da1;console['error'](_0x39492b(0x1e0)+_0x2fa65d[_0x39492b(0x205)]['error'][_0x39492b(0x1fd)]),this[_0x39492b(0x244)]=![];}),this['consumer']['on'](_0x9cb3b1['hbCID'],()=>{const _0xeb2b42=_0xf50da1;console[_0xeb2b42(0x239)](_0x9cb3b1['NsOFa']);});}async[a0_0x188aa1(0x240)](_0x40728c,_0x6e6f0f=![]){const _0x59e95b=a0_0x188aa1,_0xe91d12={'VKoCb':_0x59e95b(0x21b)};if(!this['isConnected'])return console[_0x59e95b(0x20d)](_0xe91d12[_0x59e95b(0x22c)]),![];try{const _0x2defda=Array[_0x59e95b(0x1ee)](_0x40728c)?_0x40728c:[_0x40728c];for(const _0x7da605 of _0x2defda){await this[_0x59e95b(0x1e8)]['subscribe']({'topic':_0x7da605,'fromBeginning':_0x6e6f0f}),console[_0x59e95b(0x239)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x7da605+'\x20(fromBeginning:\x20'+_0x6e6f0f+')');}return this[_0x59e95b(0x1d7)]=[...new Set([...this['subscribedTopics'],..._0x2defda])],!![];}catch(_0x58b620){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x58b620[_0x59e95b(0x1fd)]),![];}}async['startConsuming'](_0x3b1ee1,_0x485398={}){const _0x3f24e3=a0_0x188aa1,_0x11cdb={'IBSzE':function(_0x4308dd,_0x241964){return _0x4308dd-_0x241964;},'dmNVn':function(_0x2e188a){return _0x2e188a();}};if(!this[_0x3f24e3(0x21e)])return console[_0x3f24e3(0x20d)](_0x3f24e3(0x1f2)),![];if(this[_0x3f24e3(0x244)])return console[_0x3f24e3(0x239)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x12b882=this['getConfig']();this['messageHandler']=_0x3b1ee1;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x3f24e3(0x1d8)]({'autoCommit':_0x485398[_0x3f24e3(0x242)]!==undefined?_0x485398[_0x3f24e3(0x242)]:_0x12b882['autoCommit'],'autoCommitInterval':_0x12b882[_0x3f24e3(0x23f)],'eachMessage':async({topic:_0x289f48,partition:_0x1e5675,message:_0x73a9ac,heartbeat:_0x54bee0})=>{const _0x38a8ad=_0x3f24e3,_0x57df5e=Date[_0x38a8ad(0x1dd)]();this['metrics']['messagesReceived']++,this['metrics'][_0x38a8ad(0x1e2)]=new Date();try{const _0x304b47=_0x73a9ac[_0x38a8ad(0x22e)]?_0x73a9ac['value']['toString']():null;let _0x2b3d88=null;try{_0x2b3d88=_0x304b47?JSON[_0x38a8ad(0x207)](_0x304b47):null;}catch(_0x329351){_0x2b3d88=_0x304b47;}const _0x2bb1ab={'topic':_0x289f48,'partition':_0x1e5675,'offset':_0x73a9ac[_0x38a8ad(0x238)],'key':_0x73a9ac[_0x38a8ad(0x209)]?_0x73a9ac['key']['toString']():null,'headers':this[_0x38a8ad(0x1e9)](_0x73a9ac[_0x38a8ad(0x22d)]),'timestamp':_0x73a9ac[_0x38a8ad(0x1d9)],'value':_0x2b3d88,'raw':_0x304b47};this[_0x38a8ad(0x22b)]&&await this['messageHandler'](_0x2bb1ab);!_0x12b882[_0x38a8ad(0x242)]&&await this['consumer'][_0x38a8ad(0x201)]([{'topic':_0x289f48,'partition':_0x1e5675,'offset':(parseInt(_0x73a9ac[_0x38a8ad(0x238)])+0x1)[_0x38a8ad(0x1db)]()}]);this['metrics']['messagesProcessed']++;const _0x18f333=_0x11cdb['IBSzE'](Date['now'](),_0x57df5e);this[_0x38a8ad(0x21a)]['processingTimes'][_0x38a8ad(0x1fa)](_0x18f333),this['metrics'][_0x38a8ad(0x247)]['length']>0x64&&this[_0x38a8ad(0x21a)]['processingTimes']['shift'](),await _0x11cdb['dmNVn'](_0x54bee0);}catch(_0x4fb748){this['metrics']['messagesFailed']++,console[_0x38a8ad(0x20d)](_0x38a8ad(0x243)+_0x4fb748[_0x38a8ad(0x1fd)]);throw _0x4fb748;}}}),this[_0x3f24e3(0x244)]=!![],console['log'](_0x3f24e3(0x223)+this[_0x3f24e3(0x1d7)]['join'](',\x20')),!![];}catch(_0x514a59){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x514a59['message']),![];}}[a0_0x188aa1(0x1e9)](_0x35e2e9){if(!_0x35e2e9)return{};const _0x369c3c={};for(const [_0x7fd30f,_0x3dd409]of Object['entries'](_0x35e2e9)){_0x369c3c[_0x7fd30f]=_0x3dd409?_0x3dd409['toString']():null;}return _0x369c3c;}async['pause'](){const _0x1c90dc=a0_0x188aa1,_0x4d4d1f={'ZdCuN':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','KjQSt':'[KafkaConsumer]\x20Consumer\x20already\x20paused','qdYbZ':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this[_0x1c90dc(0x244)])return console['log'](_0x4d4d1f['ZdCuN']),![];if(this[_0x1c90dc(0x218)])return console['log'](_0x4d4d1f['KjQSt']),!![];try{const _0x382cf8=this['subscribedTopics']['map'](_0x585d03=>({'topic':_0x585d03}));return this['consumer'][_0x1c90dc(0x227)](_0x382cf8),this['isPaused']=!![],console['log'](_0x4d4d1f[_0x1c90dc(0x23c)]),!![];}catch(_0x26b0b7){return console[_0x1c90dc(0x20d)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x26b0b7['message']),![];}}async[a0_0x188aa1(0x22f)](){const _0x1a8370=a0_0x188aa1,_0x14fd8a={'ApBBk':_0x1a8370(0x1df),'BSRrX':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x1a8370(0x225)),![];if(!this['isPaused'])return console['log'](_0x14fd8a[_0x1a8370(0x202)]),!![];try{const _0x536060=this['subscribedTopics']['map'](_0x5b94d0=>({'topic':_0x5b94d0}));return this['consumer']['resume'](_0x536060),this['isPaused']=![],console['log'](_0x14fd8a['BSRrX']),!![];}catch(_0x4484aa){return console['error'](_0x1a8370(0x212)+_0x4484aa[_0x1a8370(0x1fd)]),![];}}async['stop'](){const _0x58443e=a0_0x188aa1,_0x430ff6={'oYXtW':_0x58443e(0x214)};if(!this[_0x58443e(0x21e)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x58443e(0x1e8)]&&(await this[_0x58443e(0x1e8)]['stop'](),await this[_0x58443e(0x1e8)][_0x58443e(0x208)]()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x430ff6[_0x58443e(0x1e4)]),!![];}catch(_0x31106){return console[_0x58443e(0x20d)](_0x58443e(0x224)+_0x31106[_0x58443e(0x1fd)]),![];}}async['seekToOffset'](_0x592d4d,_0xc3e7c9,_0x266ab4){const _0x22385a=a0_0x188aa1,_0x321634={'YLGRW':_0x22385a(0x1fb)};if(!this['isConnected'])return console[_0x22385a(0x20d)](_0x321634[_0x22385a(0x1da)]),![];try{return this['consumer'][_0x22385a(0x20b)]({'topic':_0x592d4d,'partition':_0xc3e7c9,'offset':_0x266ab4[_0x22385a(0x1db)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x266ab4+'\x20on\x20'+_0x592d4d+':'+_0xc3e7c9),!![];}catch(_0x3025cd){return console[_0x22385a(0x20d)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3025cd[_0x22385a(0x1fd)]),![];}}[a0_0x188aa1(0x23a)](){const _0x5c28c1=a0_0x188aa1,_0x5e02fc=this[_0x5c28c1(0x1e7)]();return{'enabled':_0x5e02fc[_0x5c28c1(0x23b)],'connected':this['isConnected'],'running':this[_0x5c28c1(0x244)],'paused':this['isPaused'],'brokers':_0x5e02fc[_0x5c28c1(0x204)],'clientId':_0x5e02fc[_0x5c28c1(0x20a)],'groupId':this[_0x5c28c1(0x215)],'subscribedTopics':this['subscribedTopics']};}[a0_0x188aa1(0x237)](){const _0xa459cb=a0_0x188aa1,_0x5f4362={'kuHrV':function(_0x509c8,_0x536c42){return _0x509c8/_0x536c42;},'mhCBM':function(_0x1ec359,_0x3e6928){return _0x1ec359+_0x3e6928;},'wOrXS':function(_0x27807b,_0x34e1a7){return _0x27807b*_0x34e1a7;},'lThtE':function(_0x4ae0e5,_0x27006f){return _0x4ae0e5+_0x27006f;},'rUIfa':function(_0x3d5066,_0x21d17b){return _0x3d5066+_0x21d17b;},'ZXGOJ':function(_0x1ebbb5,_0x416f0f){return _0x1ebbb5+_0x416f0f;}},_0x14985c=this[_0xa459cb(0x21a)]['processingTimes'][_0xa459cb(0x1e6)]>0x0?_0x5f4362['kuHrV'](this['metrics'][_0xa459cb(0x247)][_0xa459cb(0x20f)]((_0x14b960,_0x464212)=>_0x14b960+_0x464212,0x0),this['metrics']['processingTimes'][_0xa459cb(0x1e6)]):0x0,_0xcf953=this[_0xa459cb(0x21a)][_0xa459cb(0x247)]['length']>0x0?Math[_0xa459cb(0x1f1)](...this['metrics']['processingTimes']):0x0,_0x46f0a3=this['metrics']['processingTimes']['length']>0x0?Math[_0xa459cb(0x233)](...this['metrics'][_0xa459cb(0x247)]):0x0;return{'messagesReceived':this['metrics'][_0xa459cb(0x226)],'messagesProcessed':this[_0xa459cb(0x21a)][_0xa459cb(0x1e3)],'messagesFailed':this['metrics'][_0xa459cb(0x1fc)],'successRate':this['metrics'][_0xa459cb(0x226)]>0x0?_0x5f4362['mhCBM'](_0x5f4362['wOrXS'](_0x5f4362['kuHrV'](this[_0xa459cb(0x21a)]['messagesProcessed'],this[_0xa459cb(0x21a)]['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0xa459cb(0x1f0)],'uptime':this[_0xa459cb(0x21a)]['startTime']?Math['floor']((Date[_0xa459cb(0x1dd)]()-this['metrics']['startTime'][_0xa459cb(0x246)]())/0x3e8)+'s':'0s','processingTime':{'avg':_0x5f4362['lThtE'](Math['round'](_0x14985c),'ms'),'min':_0x5f4362['rUIfa'](_0xcf953,'ms'),'max':_0x5f4362['ZXGOJ'](_0x46f0a3,'ms')}};}['resetMetrics'](){const _0x2a3d4e=a0_0x188aa1;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x2a3d4e(0x244)]?new Date():null,'processingTimes':[]},console[_0x2a3d4e(0x239)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0xff4f19=a0_0x188aa1;await this[_0xff4f19(0x248)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x30f2(_0x3cd2f2,_0x35c850){_0x3cd2f2=_0x3cd2f2-0x1d5;const _0x2e9b09=a0_0x2e9b();let _0x30f226=_0x2e9b09[_0x3cd2f2];if(a0_0x30f2['eGyyiR']===undefined){var _0x1e7dff=function(_0x5b878d){const _0x321c08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2b04='',_0x1aed6c='';for(let _0x10986f=0x0,_0x338274,_0x12301e,_0x322d7c=0x0;_0x12301e=_0x5b878d['charAt'](_0x322d7c++);~_0x12301e&&(_0x338274=_0x10986f%0x4?_0x338274*0x40+_0x12301e:_0x12301e,_0x10986f++%0x4)?_0x2a2b04+=String['fromCharCode'](0xff&_0x338274>>(-0x2*_0x10986f&0x6)):0x0){_0x12301e=_0x321c08['indexOf'](_0x12301e);}for(let _0x593e8f=0x0,_0x2d1023=_0x2a2b04['length'];_0x593e8f<_0x2d1023;_0x593e8f++){_0x1aed6c+='%'+('00'+_0x2a2b04['charCodeAt'](_0x593e8f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1aed6c);};a0_0x30f2['oqCsrw']=_0x1e7dff,a0_0x30f2['rhuBDd']={},a0_0x30f2['eGyyiR']=!![];}const _0x540cdc=_0x2e9b09[0x0],_0x5cc012=_0x3cd2f2+_0x540cdc,_0x3663f2=a0_0x30f2['rhuBDd'][_0x5cc012];return!_0x3663f2?(_0x30f226=a0_0x30f2['oqCsrw'](_0x30f226),a0_0x30f2['rhuBDd'][_0x5cc012]=_0x30f226):_0x30f226=_0x3663f2,_0x30f226;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x2e9b(){const _0x39623f=['Bg9Ntgv2zwW','AxnbCNjHEq','mJa2mJu1mNPXy2rwuG','C3rHCNruAw1L','BwLU','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','zw52','mZaWmda','mtC1nJGZnMLWsvjKzG','rgjPtxe','m0vZAuLPAW','otu3nZKWmNbrre1gBq','s0fgs0fFru5bqKXfra','ChvZAa','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','BwvZC2fNzxngywLSzwq','BwvZC2fNzq','lwnVBNn1BwvY','mZaWma','y29UBMvJDgLVBLbYB21PC2u','y29TBwL0t2zMC2v0CW','qxbcqMS','s0fgs0fFqvvut19dt01nsvq','yNjVA2vYCW','Cgf5Bg9Hza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','CgfYC2u','zgLZy29UBMvJDa','A2v5','y2XPzw50swq','C2vLAW','ndi4ntaWmefnwMfpvW','zxjYB3i','mta0odu3nG','CMvKDwnL','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UC3vTzxiUy3jHC2G','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','sM1cCLO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','z3jVDxbjza','nde1oteYmJnkB1DfB0C','A2fMA2fQCW','AxnqyxvZzwq','CMvZDgzVCMDLlq','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','z2v0tg9Ntgv2zwW','Ag9MAMi','AxndB25Uzwn0zwq','s0fgs0fFq0Xjru5ux0Le','EMzZvMy','s0fgs0fFu0vtu0LptL9usu1ft1vu','s0fgs0fFuKvuuLLFrevmqvK','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','BwvZC2fNzxnszwnLAxzLza','Cgf1C2u','Bg9JywXOB3n0oJKWoti','z0H2tKq','v3vwANa','BwvZC2fNzuHHBMrSzxi','vKTVq2i','AgvHzgvYCW','DMfSDwu','CMvZDw1L','y29UC3vTzxiUC3rVCa','rvjst1i','n21jvhjkrG','Bwf4','mZq1odmZog5zDMPoyG','v0fstG','CMvXDwvZDfrPBwvVDxq','z2v0twv0CMLJCW','B2zMC2v0','Bg9N','z2v0u3rHDhvZ','zw5HyMXLza','CwrzyLO','s0fgs0fFqLjps0vsuW','s3jNtwy','yxv0B0nVBw1PDeLUDgvYDMfS','C3vIC2nYAwjL','icHNCM91CeLKoIa','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','AxnsDw5UAw5N','mteXntK3nMf4Awz6wG','z2v0vgLTzq','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','DLDKrue','D0fWu0m','C3vIC2nYAwjLzfrVCgLJCW','CNvU','DgLTzxn0yw1W','wuXhuLC','Dg9tDhjPBMC','tuDJvLa','BM93','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BgfZDe1LC3nHz2vuAw1L','BwvZC2fNzxnqCM9JzxnZzwq','B1LyDfC','lwnVBNn1BwvYlwDYB3vW','BgvUz3rO','z2v0q29UzMLN','y29UC3vTzxi','CgfYC2vizwfKzxjZ','Dhj1zq','AxnjBML0AwfSAxPPBMC','AM9PBG'];a0_0x2e9b=function(){return _0x39623f;};return a0_0x2e9b();}
|
|
1
|
+
const a0_0x11a5f1=a0_0x5016;(function(_0x1ea74a,_0x3e7ee7){const _0xe4487=a0_0x5016,_0x1f1217=_0x1ea74a();while(!![]){try{const _0x304252=parseInt(_0xe4487(0x202))/0x1+parseInt(_0xe4487(0x1e0))/0x2+-parseInt(_0xe4487(0x229))/0x3+parseInt(_0xe4487(0x223))/0x4+-parseInt(_0xe4487(0x217))/0x5+parseInt(_0xe4487(0x24e))/0x6+-parseInt(_0xe4487(0x207))/0x7;if(_0x304252===_0x3e7ee7)break;else _0x1f1217['push'](_0x1f1217['shift']());}catch(_0xca7b0){_0x1f1217['push'](_0x1f1217['shift']());}}}(a0_0x1c55,0x9145e));function a0_0x1c55(){const _0x3a345e=['y29UBMvJDgLVBLbYB21PC2u','ywHnufu','AgvHzgvYCW','Exn3wgm','C3vIC2nYAwjL','s0fgs0fFru5bqKXfra','z2v0q29UzMLN','Bg9JywXOB3n0oJKWoti','C2v0DxbfDMvUDeHHBMrSzxjZ','y29UC3vTzxiUzgLZy29UBMvJDa','odK2otmXvhPTvM9t','CMvXDwvZDfrPBwvVDxq','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','wgjJt2y','mta1mdG1mJzkrNj6rKS','CMv0CNLnyxHezwXHEq','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','CgfYC2vizwfKzxjZ','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','s0fgs0fFsevbuLrcrufux0LovevsvKfm','z2v0tg9Ntgv2zwW','tK9useLorW','s0fgs0fFuKvuuLLFrevmqvK','Bg9N','s0fgs0fFu0vtu0LptL9usu1ft1vu','yxv0B0nVBw1PDa','C3bSAxq','vNrSqw8','nJy4ote1BLftzfzn','y2DgBwO','zgLZy29UBMvJDa','y2XVC2u','EvPuDgm','icHNCM91CeLKoIa','zMXVB3i','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','t251tgW','zw52','qxfoqxm','AxnsDw5UAw5N','mZuXmtG1mKztENzwAq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C3vIC2nYAwjLzfrVCgLJCW','B2zMC2v0','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','rLDWAhe','otuXodCZqM5qEhfv','z3jVDxbjza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','icHMCM9TqMvNAw5UAw5NoIa','CM91BMq','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwvZC2fNzuHHBMrSzxi','A2fMA2fQCW','C2vZC2LVBLrPBwvVDxq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','CMv0CNLezwXHEq','tuvmuxC','s0fgs0fFu1nm','BwfW','z2v0twv0CMLJCW','mZaWma','zw50CMLLCW','C3rHCNruAw1L','AKn5Dxu','yNjVA2vYCW','BhzXsgC','BwvZC2fNzxnszwnLAxzLza','CMvKDwnL','Dhj1zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CMvZDw1L','revcvuC','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','Cgf1C2u','DMfSDwu','s0fgs0fFu0fttf9nruniqu5ju00','BwvZC2fNzxnqCM9JzxnZzwq','uefnrei','t1vhtKi','ndq2nJeWmhvuwwLYAa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3rVCa','v0fstG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','s0fgs0fFte9hx0XfvKvm','zw5HyMXLza','A2fMA2e','BgvUz3rO','AxnqyxvZzwq','ntyXnZjJuw9rvhm','BgfZDe1LC3nHz2vuAw1L','Bwv0CMLJCW','mZaWmda','s0fgs0fFuKvrvuvtvf9usu1ft1vu','y29UC3vTzxiUCMvIywXHBMnPBMC','ChjVy2vZC2LUz1rPBwvZ','y29UBMvJDa','z2v0vgLTzq','BwvZC2fNzq','AxnjBML0AwfSAxPPBMC','y2XPzw50swq','BM93','BwvZC2fNzxngywLSzwq','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','y29UC3vTzxi','s0fgs0fFqvvut19dt01nsvq','wxLnq3a','y29UBMvJDgLVBLrPBwvVDxq','C2HPzNq','Dg9gAxHLza','Effrsfm','AM9PBG'];a0_0x1c55=function(){return _0x3a345e;};return a0_0x1c55();}const {Kafka,logLevel}=require(a0_0x11a5f1(0x231)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x51deda=a0_0x11a5f1;this['kafka']=null,this[_0x51deda(0x1f0)]=null,this[_0x51deda(0x1ee)]=![],this[_0x51deda(0x1ea)]=![],this['isRunning']=![],this[_0x51deda(0x257)]=![],this[_0x51deda(0x1f8)]=null,this['subscribedTopics']=[],this[_0x51deda(0x22a)]=null,this[_0x51deda(0x230)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x11a5f1(0x1fe)](){const _0x4fe471=a0_0x11a5f1,_0x1f352f={'xQQHS':_0x4fe471(0x1ff),'ahMPU':function(_0x2002e3,_0x495461){return _0x2002e3(_0x495461);},'YyMCp':function(_0x2b82d3,_0xb31f62){return _0x2b82d3(_0xb31f62);},'FWphq':_0x4fe471(0x1e3),'rdPyM':_0x4fe471(0x239),'uadPR':'1048576','juEQc':function(_0x59e1fd,_0x1d3921){return _0x59e1fd===_0x1d3921;},'DsWZq':_0x4fe471(0x241),'zknCM':'5000','OUGNB':'1000','XbcOf':'warn'};return{'enabled':process['env'][_0x4fe471(0x1fd)]===_0x4fe471(0x241),'brokers':(process[_0x4fe471(0x220)]['KAFKA_BROKERS']||_0x1f352f[_0x4fe471(0x1f6)])[_0x4fe471(0x215)](','),'clientId':process[_0x4fe471(0x220)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x4fe471(0x220)][_0x4fe471(0x205)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x4fe471(0x220)]['KAFKA_CONNECTION_TIMEOUT']||_0x4fe471(0x239)),'requestTimeout':_0x1f352f[_0x4fe471(0x1f9)](parseInt,process[_0x4fe471(0x220)][_0x4fe471(0x1e4)]||'25000'),'sessionTimeout':_0x1f352f[_0x4fe471(0x1f2)](parseInt,process['env'][_0x4fe471(0x213)]||_0x1f352f['FWphq']),'heartbeatInterval':_0x1f352f['YyMCp'](parseInt,process[_0x4fe471(0x220)][_0x4fe471(0x20e)]||_0x1f352f['rdPyM']),'maxBytesPerPartition':parseInt(process[_0x4fe471(0x220)][_0x4fe471(0x20c)]||_0x1f352f['uadPR']),'autoCommit':_0x1f352f['juEQc'](process['env'][_0x4fe471(0x1f1)],_0x1f352f['DsWZq']),'autoCommitInterval':_0x1f352f['ahMPU'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x1f352f['zknCM']),'retryAttempts':parseInt(process[_0x4fe471(0x220)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0x4fe471(0x211)]||_0x1f352f[_0x4fe471(0x24d)]),'retryMaxDelay':parseInt(process[_0x4fe471(0x220)]['KAFKA_RETRY_MAX_DELAY']||_0x1f352f[_0x4fe471(0x228)]),'logLevel':process[_0x4fe471(0x220)][_0x4fe471(0x253)]||_0x1f352f[_0x4fe471(0x206)]};}[a0_0x11a5f1(0x20f)](_0x4e336d){const _0x34daa9=a0_0x11a5f1,_0x4f89e5={'nothing':logLevel[_0x34daa9(0x210)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x34daa9(0x245)]};return _0x4f89e5[_0x4e336d['toLowerCase']()]||logLevel[_0x34daa9(0x251)];}async['initialize'](_0x4cc057={}){const _0x3c6efe=a0_0x11a5f1,_0x7d80b7={'OnuLl':'default','sfckm':function(_0x29c732,_0x34c51b){return _0x29c732(_0x34c51b);}},_0x33b5ce=this['getConfig']();if(!_0x33b5ce[_0x3c6efe(0x254)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x3c6efe(0x1f8)])return this[_0x3c6efe(0x1f8)];return this[_0x3c6efe(0x1ea)]=!![],this[_0x3c6efe(0x1f8)]=new Promise(async _0x42ad38=>{const _0x1c9f8b=_0x3c6efe;try{let _0x2dbffc=undefined;process[_0x1c9f8b(0x220)][_0x1c9f8b(0x236)]==='true'&&(_0x2dbffc=!![]);let _0x2c7a5c=undefined;process[_0x1c9f8b(0x220)][_0x1c9f8b(0x24a)]&&(_0x2c7a5c={'mechanism':process['env'][_0x1c9f8b(0x24a)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x1c9f8b(0x220)]['KAFKA_SASL_PASSWORD']||''}),this[_0x1c9f8b(0x255)]=new Kafka({'clientId':_0x4cc057['clientId']||_0x33b5ce[_0x1c9f8b(0x1eb)],'brokers':_0x33b5ce[_0x1c9f8b(0x23d)],'connectionTimeout':_0x33b5ce[_0x1c9f8b(0x1f3)],'requestTimeout':_0x33b5ce[_0x1c9f8b(0x203)],'logLevel':this[_0x1c9f8b(0x20f)](_0x33b5ce['logLevel']),'ssl':_0x2dbffc,'sasl':_0x2c7a5c,'retry':{'initialRetryTime':_0x33b5ce[_0x1c9f8b(0x234)],'retries':_0x33b5ce['retryAttempts'],'maxRetryTime':_0x33b5ce[_0x1c9f8b(0x208)]}}),this['groupId']=_0x4cc057['groupId']||'restforge-'+(process[_0x1c9f8b(0x220)][_0x1c9f8b(0x205)]||_0x7d80b7[_0x1c9f8b(0x21f)])+'-consumer-group',this['consumer']=this['kafka'][_0x1c9f8b(0x1f0)]({'groupId':this[_0x1c9f8b(0x22a)],'sessionTimeout':_0x33b5ce[_0x1c9f8b(0x232)],'heartbeatInterval':_0x33b5ce['heartbeatInterval'],'maxBytesPerPartition':_0x33b5ce[_0x1c9f8b(0x233)],'allowAutoTopicCreation':![]}),await this[_0x1c9f8b(0x1f0)][_0x1c9f8b(0x1e7)](),this['isConnected']=!![],console[_0x1c9f8b(0x212)](_0x1c9f8b(0x24f)+_0x33b5ce[_0x1c9f8b(0x23d)][_0x1c9f8b(0x1f7)](',\x20')+_0x1c9f8b(0x21c)+this[_0x1c9f8b(0x22a)]+')'),this['setupEventHandlers'](),_0x42ad38(!![]);}catch(_0x2a13af){console[_0x1c9f8b(0x204)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2a13af['message']),this[_0x1c9f8b(0x1ee)]=![],_0x7d80b7['sfckm'](_0x42ad38,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x11a5f1(0x200)](){const _0x5cc9aa=a0_0x11a5f1,_0x4d5f02={'ZiaWn':_0x5cc9aa(0x1ef),'MELQw':_0x5cc9aa(0x201),'uDPaz':'consumer.crash','yswXc':_0x5cc9aa(0x1e5)};if(!this[_0x5cc9aa(0x1f0)])return;this[_0x5cc9aa(0x1f0)]['on'](_0x4d5f02[_0x5cc9aa(0x235)],()=>{const _0x250162=_0x5cc9aa;console[_0x250162(0x212)](_0x4d5f02['ZiaWn']),this['isConnected']=![],this['isRunning']=![];}),this[_0x5cc9aa(0x1f0)]['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x5cc9aa(0x1f0)]['on'](_0x4d5f02['uDPaz'],_0x4c3e2d=>{const _0x3eedc2=_0x5cc9aa;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x4c3e2d['payload'][_0x3eedc2(0x204)]['message']),this[_0x3eedc2(0x222)]=![];}),this['consumer']['on'](_0x4d5f02[_0x5cc9aa(0x1fb)],()=>{const _0x522ebf=_0x5cc9aa;console[_0x522ebf(0x212)](_0x522ebf(0x20d));});}async[a0_0x11a5f1(0x1fc)](_0x48dd07,_0xf06bb6=![]){const _0x563ddf=a0_0x11a5f1;if(!this['isConnected'])return console[_0x563ddf(0x204)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x20447c=Array['isArray'](_0x48dd07)?_0x48dd07:[_0x48dd07];for(const _0x21ab7a of _0x20447c){await this[_0x563ddf(0x1f0)][_0x563ddf(0x1fc)]({'topic':_0x21ab7a,'fromBeginning':_0xf06bb6}),console['log'](_0x563ddf(0x22b)+_0x21ab7a+_0x563ddf(0x22c)+_0xf06bb6+')');}return this['subscribedTopics']=[...new Set([...this[_0x563ddf(0x225)],..._0x20447c])],!![];}catch(_0x254d2b){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x254d2b[_0x563ddf(0x1e9)]),![];}}async['startConsuming'](_0x50db38,_0x539782={}){const _0xd7d8eb=a0_0x11a5f1,_0x4ebd2d={'yZTtc':function(_0x1d0e63,_0x16a2cd){return _0x1d0e63-_0x16a2cd;},'tOsQU':function(_0x39bbee,_0xacbd1f){return _0x39bbee>_0xacbd1f;},'lvqHg':function(_0x3efa2d){return _0x3efa2d();},'QRzEd':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','VtlAo':_0xd7d8eb(0x224)};if(!this[_0xd7d8eb(0x1ee)])return console[_0xd7d8eb(0x204)](_0x4ebd2d['QRzEd']),![];if(this['isRunning'])return console['log'](_0x4ebd2d[_0xd7d8eb(0x216)]),!![];const _0x27f7f7=this[_0xd7d8eb(0x1fe)]();this[_0xd7d8eb(0x230)]=_0x50db38;try{return this[_0xd7d8eb(0x1e2)]['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x539782[_0xd7d8eb(0x214)]!==undefined?_0x539782[_0xd7d8eb(0x214)]:_0x27f7f7[_0xd7d8eb(0x214)],'autoCommitInterval':_0x27f7f7['autoCommitInterval'],'eachMessage':async({topic:_0x479f7f,partition:_0xa575d7,message:_0x2ad5c4,heartbeat:_0x387271})=>{const _0x46973f=_0xd7d8eb,_0x6681bc=Date['now']();this[_0x46973f(0x1e2)]['messagesReceived']++,this[_0x46973f(0x1e2)][_0x46973f(0x1e1)]=new Date();try{const _0x4debd5=_0x2ad5c4[_0x46973f(0x249)]?_0x2ad5c4[_0x46973f(0x249)][_0x46973f(0x246)]():null;let _0x340cbf=null;try{_0x340cbf=_0x4debd5?JSON['parse'](_0x4debd5):null;}catch(_0x5a5109){_0x340cbf=_0x4debd5;}const _0x597f42={'topic':_0x479f7f,'partition':_0xa575d7,'offset':_0x2ad5c4[_0x46973f(0x226)],'key':_0x2ad5c4['key']?_0x2ad5c4['key'][_0x46973f(0x246)]():null,'headers':this[_0x46973f(0x20b)](_0x2ad5c4[_0x46973f(0x1fa)]),'timestamp':_0x2ad5c4['timestamp'],'value':_0x340cbf,'raw':_0x4debd5};this[_0x46973f(0x230)]&&await this['messageHandler'](_0x597f42);!_0x27f7f7['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x479f7f,'partition':_0xa575d7,'offset':(parseInt(_0x2ad5c4[_0x46973f(0x226)])+0x1)[_0x46973f(0x246)]()}]);this['metrics'][_0x46973f(0x24b)]++;const _0x774a3e=_0x4ebd2d[_0x46973f(0x21b)](Date['now'](),_0x6681bc);this['metrics'][_0x46973f(0x1e6)]['push'](_0x774a3e),_0x4ebd2d['tOsQU'](this[_0x46973f(0x1e2)][_0x46973f(0x1e6)]['length'],0x64)&&this[_0x46973f(0x1e2)]['processingTimes'][_0x46973f(0x1f4)](),await _0x4ebd2d[_0x46973f(0x23e)](_0x387271);}catch(_0x4ce798){this['metrics'][_0x46973f(0x1ed)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4ce798[_0x46973f(0x1e9)]);throw _0x4ce798;}}}),this['isRunning']=!![],console[_0xd7d8eb(0x212)](_0xd7d8eb(0x20a)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x5a146b){return console[_0xd7d8eb(0x204)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x5a146b['message']),![];}}[a0_0x11a5f1(0x20b)](_0x4fe3d6){const _0x441e11=a0_0x11a5f1;if(!_0x4fe3d6)return{};const _0x4bec1e={};for(const [_0x3502d6,_0x27aff8]of Object[_0x441e11(0x23a)](_0x4fe3d6)){_0x4bec1e[_0x3502d6]=_0x27aff8?_0x27aff8[_0x441e11(0x246)]():null;}return _0x4bec1e;}async['pause'](){const _0x30ac0d=a0_0x11a5f1,_0x349014={'FTsIV':_0x30ac0d(0x252),'PAMDB':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x30ac0d(0x1ee)]||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x30ac0d(0x257)])return console[_0x30ac0d(0x212)](_0x349014['FTsIV']),!![];try{const _0x6d4033=this['subscribedTopics'][_0x30ac0d(0x237)](_0x2ab33f=>({'topic':_0x2ab33f}));return this[_0x30ac0d(0x1f0)][_0x30ac0d(0x248)](_0x6d4033),this['isPaused']=!![],console['log'](_0x349014[_0x30ac0d(0x24c)]),!![];}catch(_0x34e5db){return console[_0x30ac0d(0x204)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x34e5db['message']),![];}}async['resume'](){const _0x20c42a=a0_0x11a5f1,_0x49f660={'cgFmj':_0x20c42a(0x21e),'AbGMc':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x20c42a(0x212)](_0x49f660[_0x20c42a(0x218)]),![];if(!this['isPaused'])return console[_0x20c42a(0x212)](_0x20c42a(0x243)),!![];try{const _0x13d0bf=this[_0x20c42a(0x225)]['map'](_0x32573a=>({'topic':_0x32573a}));return this[_0x20c42a(0x1f0)][_0x20c42a(0x244)](_0x13d0bf),this[_0x20c42a(0x257)]=![],console[_0x20c42a(0x212)](_0x49f660['AbGMc']),!![];}catch(_0x51b3fe){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x51b3fe[_0x20c42a(0x1e9)]),![];}}async[a0_0x11a5f1(0x250)](){const _0x4bb1d5=a0_0x11a5f1,_0x11126b={'MPlaZ':_0x4bb1d5(0x242)};if(!this['isConnected'])return console['log'](_0x11126b['MPlaZ']),!![];try{return this['consumer']&&(await this['consumer'][_0x4bb1d5(0x250)](),await this[_0x4bb1d5(0x1f0)][_0x4bb1d5(0x219)]()),this['isConnected']=![],this[_0x4bb1d5(0x222)]=![],this[_0x4bb1d5(0x257)]=![],console['log'](_0x4bb1d5(0x247)),!![];}catch(_0x39af77){return console[_0x4bb1d5(0x204)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x39af77[_0x4bb1d5(0x1e9)]),![];}}async[a0_0x11a5f1(0x22e)](_0x520f31,_0x2ea33d,_0x6eb98d){const _0x470cb5=a0_0x11a5f1,_0x9f10ce={'jCyuu':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x9f10ce[_0x470cb5(0x23c)]),![];try{return this['consumer']['seek']({'topic':_0x520f31,'partition':_0x2ea33d,'offset':_0x6eb98d['toString']()}),console[_0x470cb5(0x212)](_0x470cb5(0x22f)+_0x6eb98d+'\x20on\x20'+_0x520f31+':'+_0x2ea33d),!![];}catch(_0x8b3f86){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x8b3f86[_0x470cb5(0x1e9)]),![];}}['getStatus'](){const _0x36fbab=a0_0x11a5f1,_0x5ed19c=this['getConfig']();return{'enabled':_0x5ed19c['enabled'],'connected':this['isConnected'],'running':this[_0x36fbab(0x222)],'paused':this[_0x36fbab(0x257)],'brokers':_0x5ed19c['brokers'],'clientId':_0x5ed19c[_0x36fbab(0x1eb)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x11a5f1(0x238)](){const _0x3a9d68=a0_0x11a5f1,_0xea73c8={'oUdCn':function(_0x58397a,_0x2038f6){return _0x58397a/_0x2038f6;},'AqNAs':function(_0x29a5cd,_0x51a922){return _0x29a5cd>_0x51a922;},'LArLA':function(_0x1d21c1,_0x5323de){return _0x1d21c1+_0x5323de;}},_0x487f7a=this[_0x3a9d68(0x1e2)]['processingTimes']['length']>0x0?_0xea73c8['oUdCn'](this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)][_0x3a9d68(0x240)]((_0x2c0830,_0x3349fb)=>_0x2c0830+_0x3349fb,0x0),this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)][_0x3a9d68(0x256)]):0x0,_0x297c38=_0xea73c8[_0x3a9d68(0x221)](this['metrics'][_0x3a9d68(0x1e6)]['length'],0x0)?Math['min'](...this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)]):0x0,_0x3ad5e5=this['metrics'][_0x3a9d68(0x1e6)][_0x3a9d68(0x256)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x3a9d68(0x1e2)]['messagesReceived'],'messagesProcessed':this['metrics'][_0x3a9d68(0x24b)],'messagesFailed':this[_0x3a9d68(0x1e2)]['messagesFailed'],'successRate':_0xea73c8['AqNAs'](this[_0x3a9d68(0x1e2)][_0x3a9d68(0x23f)],0x0)?(this['metrics'][_0x3a9d68(0x24b)]/this[_0x3a9d68(0x1e2)][_0x3a9d68(0x23f)]*0x64)[_0x3a9d68(0x1f5)](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0x3a9d68(0x23b)],'uptime':this['metrics'][_0x3a9d68(0x23b)]?Math[_0x3a9d68(0x21d)]((Date[_0x3a9d68(0x1ec)]()-this[_0x3a9d68(0x1e2)]['startTime'][_0x3a9d68(0x1e8)]())/0x3e8)+'s':'0s','processingTime':{'avg':Math[_0x3a9d68(0x22d)](_0x487f7a)+'ms','min':_0x297c38+'ms','max':_0xea73c8['LArLA'](_0x3ad5e5,'ms')}};}[a0_0x11a5f1(0x209)](){const _0x50fa97=a0_0x11a5f1,_0x400e20={'mBGOM':_0x50fa97(0x227)};this[_0x50fa97(0x1e2)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x50fa97(0x212)](_0x400e20['mBGOM']);}async[a0_0x11a5f1(0x21a)](){await this['stop']();}}let instance=null;function a0_0x5016(_0xe49aff,_0xda63a2){_0xe49aff=_0xe49aff-0x1e0;const _0x1c55a1=a0_0x1c55();let _0x50161a=_0x1c55a1[_0xe49aff];if(a0_0x5016['SldKDp']===undefined){var _0x2b0db4=function(_0x25ec51){const _0x420ce2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3605dc='',_0x273ea0='';for(let _0x50e7d7=0x0,_0x232c9f,_0x4a72be,_0x178f9a=0x0;_0x4a72be=_0x25ec51['charAt'](_0x178f9a++);~_0x4a72be&&(_0x232c9f=_0x50e7d7%0x4?_0x232c9f*0x40+_0x4a72be:_0x4a72be,_0x50e7d7++%0x4)?_0x3605dc+=String['fromCharCode'](0xff&_0x232c9f>>(-0x2*_0x50e7d7&0x6)):0x0){_0x4a72be=_0x420ce2['indexOf'](_0x4a72be);}for(let _0x31666e=0x0,_0x450cd2=_0x3605dc['length'];_0x31666e<_0x450cd2;_0x31666e++){_0x273ea0+='%'+('00'+_0x3605dc['charCodeAt'](_0x31666e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x273ea0);};a0_0x5016['qCEqWy']=_0x2b0db4,a0_0x5016['uEPomz']={},a0_0x5016['SldKDp']=!![];}const _0x408916=_0x1c55a1[0x0],_0x152c77=_0xe49aff+_0x408916,_0x253b37=a0_0x5016['uEPomz'][_0x152c77];return!_0x253b37?(_0x50161a=a0_0x5016['qCEqWy'](_0x50161a),a0_0x5016['uEPomz'][_0x152c77]=_0x50161a):_0x50161a=_0x253b37,_0x50161a;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1b5ce9=a0_0x11a5f1;instance&&(instance[_0x1b5ce9(0x21a)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|