@restforgejs/platform 5.0.1 → 5.0.3
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/lib/migrate/migrate-runner.js +393 -393
- package/generators/lib/payload/payload-runner.js +20 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x5aab24=a0_0x9b3e;function a0_0x6f2d(){const _0x5835b4=['AgfZ','AxnjBML0AwfSAxPLza','DxjS','qNjVywrJyxn0ia','BKTnuhG','BgL2zxn5BMnFC2H1DgrVD24','zgf0yq','C2L6zq','mtG1otGYmezdzerLwG','y2HHBM5LBhm','ntq2otm3mgTHDgfQwq','y1jpC0C','DhLWzq','x3n1yNnJCMLWDgLVBNm','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','BMLZr1e','C3vIC2nYAwjL','Dw5ZDwjZy3jPyMu','x2HHBMrSzunVBM5Ly3rPB24','vuXUz2u','uKvesvnFse9tva','lI4VlI4VDxrPBhmVBg9Nz2vY','ndu0nJyXn25zCMPhEq','C3vIC2nYAwjLzenOyw5UzwXZ','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','EhHRs1a','x3nLDhvWuMvKAxnqDwjSAxnOzxi','s25JC1e','x2HLyxj0yMvHDfrPBwvY','x3nLBMruB0nSAwvUDa','zgn4A3m','C3rYAw5NAwz5','x2HHBMrSzvn1yNnJCMLIzq','x3nLDhvWuMvKAxm','zxjYB3i','BwvZC2fNzq','x3DVCMTLCKLK','z2v0q2XPzw50','mZqXzLbzDLL1','ChvIBgLZAgvY','y2XPzw50CW','x3n0yxj0sgvHCNrIzwf0','x2LUAxrPywXPEMvK','uKvesvnFrei','x2HHBMrSzvvUC3vIC2nYAwjL','z2v0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','AM9PBG','DM1Itwe','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','uKvesvnFue9sva','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','ALjhvfK','C3bSAxq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','q1H0q0y','Dg9tDhjPBMC','vNPwrNa','uKzLAwq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','x2jYB2fKy2fZDeXVy2fS','ChvZAa','y2f0y2G','x3nLDhvWvxbNCMfKzuf1DgG','CMvTB3zLqwXStgLZDgvUzxjZ','Aw9YzwrPCW','D2fYBG','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','DvvPzfa','CMvTB3rLqwrKCMvZCW','DxbNCMfKzq','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','Affdwwi','shLXvNO','ywn0Aw9U','x293BLb1yMXPC2HLCG','C3vIC2nYAwjLza','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y29UBMvJDgLVBG','D3jPDgu','x3b1yMXPC2HuB1jLzgLZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3DZCW','nJm1nNHltLDMEa','Aw5PDgLHBgL6zq','x3jLzgLZuhvIBgLZAgvY','D25cs0m','x29WDgLVBNm','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','mtmZntCYmtvnzNzSDfu','qMjZrNy','DgHLBG','mhWXFdn8nhW1Fdj8nG','nJiWtM9YteHV','CMvHzhLtDgf0zq','D2PPBe4','CgfYC2u','yxLTt0m','y2XLyxi','AxbZC2y','zgvIDwC','og5Lt0jvtW','C3rHCNrZv2L0Aa','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','y2HHBM5LBa','wwv2qNm','zw52','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','q0jprxm','mta1otzpz2LrwM4','y29UBMvJDa','uKvesvnFueftu1DpuKq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','zgf0yv9JAgfUz2u','l3DZ','Bg9JywXOB3n0','x21Vzgu','CMvXDwvZDeLK','Aw5MBW','BeHhtvO','ywrK','Dg9ju09tDhjPBMC','zNvSBa','nZy2qMrPC21i','x2HHBMrSzunSAwvUDe1LC3nHz2u','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','s1PWzNy','yNjVywrJyxn0','BgvUz3rO','C2vUza','wuDhC0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','BgL2zxn5BMnFyNjVywrJyxn0','mJuWmwnmDg56rq','x2XVz2DLCG','yxbPs2v5','mZuYnZvAwezhshm'];a0_0x6f2d=function(){return _0x5835b4;};return a0_0x6f2d();}(function(_0x148d8e,_0x452c1b){const _0x1238bf=a0_0x9b3e,_0x1ba947=_0x148d8e();while(!![]){try{const _0x254ca8=parseInt(_0x1238bf(0x171))/0x1*(-parseInt(_0x1238bf(0x167))/0x2)+-parseInt(_0x1238bf(0x18b))/0x3+-parseInt(_0x1238bf(0x147))/0x4*(-parseInt(_0x1238bf(0x174))/0x5)+parseInt(_0x1238bf(0x158))/0x6*(-parseInt(_0x1238bf(0x13d))/0x7)+-parseInt(_0x1238bf(0x14f))/0x8*(parseInt(_0x1238bf(0x143))/0x9)+parseInt(_0x1238bf(0x17f))/0xa+parseInt(_0x1238bf(0x19c))/0xb*(parseInt(_0x1238bf(0x17d))/0xc);if(_0x254ca8===_0x452c1b)break;else _0x1ba947['push'](_0x1ba947['shift']());}catch(_0x498fb5){_0x1ba947['push'](_0x1ba947['shift']());}}}(a0_0x6f2d,0xd7cc8));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x2e4f4f=a0_0x9b3e;this[_0x2e4f4f(0x13c)]=null,this['_initialized']=![],this[_0x2e4f4f(0x160)]=null,this['_options']={},this[_0x2e4f4f(0x172)]=console,this[_0x2e4f4f(0x182)]=new Map(),this[_0x2e4f4f(0x192)]=null,this['_redisPublisher']=null,this['_redisSubscriber']=null,this['_workerId']=process['pid'];}[a0_0x5aab24(0x13e)](_0x2c1ccf,_0x5e4044={}){const _0x5ce49c=a0_0x5aab24,_0x3220fc={'vmbMa':function(_0x324ea3,_0x5442aa){return _0x324ea3(_0x5442aa);},'ylBBP':_0x5ce49c(0x18a),'tNpqM':function(_0x357e3c,_0x5e84dc,_0x5915bb){return _0x357e3c(_0x5e84dc,_0x5915bb);},'jetgP':_0x5ce49c(0x198),'ISGWV':_0x5ce49c(0x166)};if(this[_0x5ce49c(0x1a0)])return;this[_0x5ce49c(0x141)]=_0x5e4044,this['_mode']='full';try{this[_0x5ce49c(0x172)]=_0x3220fc[_0x5ce49c(0x1a6)](require,_0x3220fc['ylBBP'])['logger']||console;}catch(_0x519851){this[_0x5ce49c(0x172)]=console;}const _0x424545=_0x3220fc['tNpqM'](parseInt,process[_0x5ce49c(0x155)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x2c1ccf,'path':_0x5ce49c(0x15e)}),this[_0x5ce49c(0x129)](_0x2c1ccf),this['_wss']['on']('connection',(_0x1d0ae3,_0x592f9b)=>this['_handleConnection'](_0x1d0ae3,_0x592f9b)),this[_0x5ce49c(0x13c)]['on'](_0x3220fc['jetgP'],_0x371d51=>{const _0x3000ef=_0x5ce49c;this['_logger'][_0x3000ef(0x198)]({'event':'livesync_wss_error','error':_0x371d51['message']},_0x3000ef(0x151)+_0x371d51['message']);}),this['_startHeartbeat'](_0x424545),this['_setupRedis'](),this[_0x5ce49c(0x1a0)]=!![],this[_0x5ce49c(0x172)]['info']({'event':_0x5ce49c(0x1a4),'mode':_0x3220fc['ISGWV'],'path':'/ws','heartbeat':_0x424545+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x424545+'s)');}[a0_0x5aab24(0x12d)](_0x3f7c28={}){const _0x1a03dd=a0_0x5aab24,_0x210e22={'uUidP':_0x1a03dd(0x146),'RFeid':function(_0x452ee9,_0x38438a){return _0x452ee9(_0x38438a);},'VSErD':_0x1a03dd(0x18a),'DWJzW':'livesync_publisher_initialized','zwMFp':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)'},_0x3a7aa7=_0x210e22[_0x1a03dd(0x12e)]['split']('|');let _0x3d3e2b=0x0;while(!![]){switch(_0x3a7aa7[_0x3d3e2b++]){case'0':if(this['_initialized'])return;continue;case'1':this[_0x1a03dd(0x141)]=_0x3f7c28;continue;case'2':this[_0x1a03dd(0x1a0)]=!![];continue;case'3':this['_mode']='publisher';continue;case'4':try{this['_logger']=_0x210e22[_0x1a03dd(0x1b0)](require,_0x210e22['VSErD'])['logger']||console;}catch(_0xe8ea8){this['_logger']=console;}continue;case'5':this['_setupRedisPublisher']();continue;case'6':this[_0x1a03dd(0x172)][_0x1a03dd(0x162)]({'event':_0x210e22['DWJzW'],'mode':_0x1a03dd(0x19d)},_0x210e22['zwMFp']);continue;}break;}}[a0_0x5aab24(0x176)](){return this['_initialized'];}['broadcast'](_0x54c2cb,_0x3eb48b){const _0x4d30a7=a0_0x5aab24,_0x4961ae={'CXtCF':function(_0x103d95,_0x2777cf){return _0x103d95===_0x2777cf;},'esLek':function(_0x39cb22,_0x2c3e67){return _0x39cb22||_0x2c3e67;},'BbjfU':function(_0x27bf6c,_0x4e0651){return _0x27bf6c>_0x4e0651;}};if(!this[_0x4d30a7(0x1a0)])return;if(_0x4961ae[_0x4d30a7(0x1ad)](this[_0x4d30a7(0x160)],'publisher')){this[_0x4d30a7(0x13a)](_0x54c2cb,_0x3eb48b);return;}const _0x486932=JSON[_0x4d30a7(0x195)]({'type':_0x4d30a7(0x15d),'channel':_0x54c2cb,'action':_0x3eb48b[_0x4d30a7(0x134)],'data':_0x3eb48b[_0x4d30a7(0x17b)],'requestId':_0x3eb48b['requestId']||null,'timestamp':new Date()[_0x4d30a7(0x165)]()}),[_0x5113be]=_0x54c2cb[_0x4d30a7(0x1ab)](':');let _0x907990=0x0;for(const [_0x482637,_0x1588cb]of this[_0x4d30a7(0x182)]){const _0x466e80=_0x4961ae['CXtCF'](_0x482637,_0x54c2cb),_0x15bc4d=_0x482637===_0x5113be+':*';if(_0x4961ae['esLek'](_0x466e80,_0x15bc4d))for(const _0x10e7fa of _0x1588cb){if(_0x10e7fa['readyState']===0x1)try{_0x10e7fa['send'](_0x486932),_0x907990++;}catch(_0x271b2a){}}}_0x4961ae['BbjfU'](_0x907990,0x0)&&this[_0x4d30a7(0x172)][_0x4d30a7(0x14e)]({'event':_0x4d30a7(0x170),'channel':_0x54c2cb,'action':_0x3eb48b['action'],'clients':_0x907990},_0x4d30a7(0x178)+_0x3eb48b['action']+'\x20on\x20'+_0x54c2cb+'\x20to\x20'+_0x907990+'\x20client(s)');}[a0_0x5aab24(0x13a)](_0x39facb,_0x45d143){const _0x5a410d=a0_0x5aab24;if(!this[_0x5a410d(0x13f)])return;const _0x345697=JSON['stringify']({'channel':_0x39facb,'message':_0x45d143,'workerId':this['_workerId']});this[_0x5a410d(0x13f)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x345697)[_0x5a410d(0x128)](()=>{});}['shutdown'](){const _0x2b258e=a0_0x5aab24,_0x5fefbd={'nMmIF':function(_0x88f1b6,_0x33a383){return _0x88f1b6(_0x33a383);},'uskJO':_0x2b258e(0x17a)};if(!this[_0x2b258e(0x1a0)])return;this['_heartbeatTimer']&&(_0x5fefbd['nMmIF'](clearInterval,this[_0x2b258e(0x192)]),this['_heartbeatTimer']=null);if(this[_0x2b258e(0x13c)]){for(const _0x1cbdf4 of this['_wss'][_0x2b258e(0x19e)]){try{_0x1cbdf4['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x355407){}}this[_0x2b258e(0x13c)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x2b258e(0x186)](),this['_redisSubscriber']['quit']();}catch(_0x231e5e){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x477a85){}this[_0x2b258e(0x182)][_0x2b258e(0x14c)](),this['_initialized']=![],this['_logger'][_0x2b258e(0x162)]({'event':_0x5fefbd['uskJO'],'mode':this[_0x2b258e(0x160)]},'Live\x20Sync\x20'+this[_0x2b258e(0x160)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x1bfb83){const _0x5b489d=a0_0x5aab24,_0x40a0c2={'lQDOI':_0x5b489d(0x138),'ULnge':'x-api-key','AlHIu':function(_0x146b2d,_0x1d4cb3){return _0x146b2d!==_0x1d4cb3;},'lHGMZ':_0x5b489d(0x130)},_0x1ca9ac=_0x1bfb83['listeners'](_0x40a0c2[_0x5b489d(0x163)])['slice']();_0x1bfb83[_0x5b489d(0x12a)]('upgrade'),_0x1bfb83['on'](_0x40a0c2['lHGMZ'],(_0x3bbe6d,_0x233bb6,_0x3841a7)=>{const _0x276510=_0x5b489d,_0x59f9d3={'qeGxz':_0x40a0c2['lQDOI']};if(!_0x3bbe6d['url']||!_0x3bbe6d['url'][_0x276510(0x150)](_0x276510(0x15e))){for(const _0x310748 of _0x1ca9ac){_0x310748['call'](_0x1bfb83,_0x3bbe6d,_0x233bb6,_0x3841a7);}return;}if(this[_0x276510(0x141)][_0x276510(0x173)]){const _0x4175a3=new URL(_0x3bbe6d[_0x276510(0x177)],'http://'+(_0x3bbe6d['headers']['host']||_0x276510(0x15f))),_0x24c4db=_0x4175a3['searchParams']['get']('x-api-key')||_0x3bbe6d['headers'][_0x40a0c2[_0x276510(0x188)]];if(!_0x24c4db||_0x40a0c2['AlHIu'](_0x24c4db,this[_0x276510(0x141)][_0x276510(0x173)])){_0x233bb6[_0x276510(0x139)](_0x276510(0x183)),_0x233bb6['destroy']();return;}}this['_wss']['handleUpgrade'](_0x3bbe6d,_0x233bb6,_0x3841a7,_0x1865c9=>{const _0x887d94=_0x276510;this[_0x887d94(0x13c)]['emit'](_0x59f9d3['qeGxz'],_0x1865c9,_0x3bbe6d);});});}[a0_0x5aab24(0x187)](_0xcd0cb5,_0x1621f7){const _0x1b817a=a0_0x5aab24,_0x47864b={'hQCYb':'error','cROsG':_0x1b817a(0x142),'xxkKP':'x-forwarded-for','WOaUR':'livesync_client_connected','YGGsJ':'pong','XsasT':_0x1b817a(0x199),'lnBsN':'close'};_0xcd0cb5['isAlive']=!![],_0xcd0cb5['subscribedChannels']=new Set();const _0x14f355=_0x1621f7['headers'][_0x47864b[_0x1b817a(0x18f)]]||_0x1621f7['socket'][_0x1b817a(0x12f)];this[_0x1b817a(0x172)]['info']({'event':_0x47864b['WOaUR'],'ip':_0x14f355},_0x1b817a(0x18d)+_0x14f355),_0xcd0cb5['on'](_0x47864b[_0x1b817a(0x16e)],()=>{_0xcd0cb5['isAlive']=!![];}),_0xcd0cb5['on'](_0x47864b['XsasT'],_0x3403da=>{const _0x525a00=_0x1b817a;try{const _0x24a5eb=JSON[_0x525a00(0x14a)](_0x3403da[_0x525a00(0x1ae)]());this['_handleClientMessage'](_0xcd0cb5,_0x24a5eb);}catch(_0x5dcc52){this[_0x525a00(0x193)](_0xcd0cb5,{'type':_0x47864b[_0x525a00(0x132)],'message':'Invalid\x20JSON\x20message'});}}),_0xcd0cb5['on'](_0x47864b['lnBsN'],()=>{const _0x1fe138=_0x1b817a;this['_removeClientFromAllChannels'](_0xcd0cb5),this['_logger'][_0x1fe138(0x14e)]({'event':_0x47864b[_0x1fe138(0x180)],'ip':_0x14f355},_0x1fe138(0x1ac)+_0x14f355);}),_0xcd0cb5['on'](_0x47864b['hQCYb'],_0xbd381=>{const _0x405f01=_0x1b817a;this['_logger'][_0x405f01(0x12c)]({'event':'livesync_client_error','error':_0xbd381['message']},'WebSocket\x20client\x20error:\x20'+_0xbd381[_0x405f01(0x199)]),this[_0x405f01(0x15b)](_0xcd0cb5);});}[a0_0x5aab24(0x168)](_0x10a06f,_0x2a4457){const _0x262bc8=a0_0x5aab24,_0x320c26={'nisGQ':_0x262bc8(0x185)};switch(_0x2a4457[_0x262bc8(0x181)]){case _0x320c26[_0x262bc8(0x184)]:this[_0x262bc8(0x196)](_0x10a06f,_0x2a4457['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x10a06f,_0x2a4457[_0x262bc8(0x17e)]);break;case'pong':_0x10a06f['isAlive']=!![];break;default:this['_sendToClient'](_0x10a06f,{'type':'error','message':_0x262bc8(0x18e)+_0x2a4457['type']});}}['_handleSubscribe'](_0x3d668f,_0x1e4579){const _0x5d8e47=a0_0x5aab24,_0x3b2c23={'VzVFp':function(_0xc1e10a,_0x4b7590){return _0xc1e10a===_0x4b7590;},'ipssf':_0x5d8e47(0x156),'AbTiC':function(_0x39d4f6,_0x199ed3){return _0x39d4f6!==_0x199ed3;},'SWuUi':'string'};if(!Array['isArray'](_0x1e4579)||_0x3b2c23[_0x5d8e47(0x1af)](_0x1e4579['length'],0x0)){this[_0x5d8e47(0x193)](_0x3d668f,{'type':_0x5d8e47(0x198),'message':_0x3b2c23[_0x5d8e47(0x14d)]});return;}const _0x132c07=[];for(const _0xf211d4 of _0x1e4579){if(_0x3b2c23['AbTiC'](typeof _0xf211d4,_0x3b2c23['SWuUi'])||!_0xf211d4['includes'](':'))continue;!this['_subscriptions'][_0x5d8e47(0x175)](_0xf211d4)&&this[_0x5d8e47(0x182)]['set'](_0xf211d4,new Set()),this[_0x5d8e47(0x182)]['get'](_0xf211d4)['add'](_0x3d668f),_0x3d668f['subscribedChannels'][_0x5d8e47(0x164)](_0xf211d4),_0x132c07['push'](_0xf211d4);}_0x132c07[_0x5d8e47(0x16c)]>0x0&&(this[_0x5d8e47(0x193)](_0x3d668f,{'type':_0x5d8e47(0x136),'channels':_0x132c07,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x132c07},_0x5d8e47(0x1a7)+_0x132c07[_0x5d8e47(0x1a5)](',\x20')));}[a0_0x5aab24(0x1a2)](_0x2abdfc,_0x117e8e){const _0x245ac0=a0_0x5aab24,_0x212c2a={'nKMPx':function(_0x2036c7,_0x292371){return _0x2036c7===_0x292371;},'sjthh':function(_0x4b335b,_0x47bf37){return _0x4b335b>_0x47bf37;},'cYIww':'unsubscribed'};if(!Array['isArray'](_0x117e8e))return;const _0xa8183d=[];for(const _0xe4f8cc of _0x117e8e){this['_subscriptions'][_0x245ac0(0x175)](_0xe4f8cc)&&(this[_0x245ac0(0x182)]['get'](_0xe4f8cc)['delete'](_0x2abdfc),_0x212c2a[_0x245ac0(0x179)](this['_subscriptions'][_0x245ac0(0x1a3)](_0xe4f8cc)[_0x245ac0(0x17c)],0x0)&&this[_0x245ac0(0x182)]['delete'](_0xe4f8cc)),_0x2abdfc['subscribedChannels']['delete'](_0xe4f8cc),_0xa8183d[_0x245ac0(0x127)](_0xe4f8cc);}_0x212c2a['sjthh'](_0xa8183d['length'],0x0)&&this['_sendToClient'](_0x2abdfc,{'type':_0x212c2a['cYIww'],'channels':_0xa8183d,'timestamp':new Date()[_0x245ac0(0x165)]()});}[a0_0x5aab24(0x15b)](_0x362af9){const _0x100de3=a0_0x5aab24;if(!_0x362af9[_0x100de3(0x18c)])return;for(const _0x515b20 of _0x362af9['subscribedChannels']){this['_subscriptions']['has'](_0x515b20)&&(this['_subscriptions'][_0x100de3(0x1a3)](_0x515b20)['delete'](_0x362af9),this[_0x100de3(0x182)][_0x100de3(0x1a3)](_0x515b20)['size']===0x0&&this['_subscriptions']['delete'](_0x515b20));}_0x362af9[_0x100de3(0x18c)]['clear']();}['_sendToClient'](_0x235b77,_0x23ed95){const _0x419677=a0_0x5aab24;if(_0x235b77[_0x419677(0x148)]===0x1)try{_0x235b77[_0x419677(0x16d)](JSON[_0x419677(0x195)](_0x23ed95));}catch(_0x1a934b){}}[a0_0x5aab24(0x19f)](_0x1631c6){const _0x3931fa=a0_0x5aab24,_0x315559={'BbsFv':'ping','aymOC':function(_0x3540bb,_0x49ccc1,_0x1788f){return _0x3540bb(_0x49ccc1,_0x1788f);},'roXLL':function(_0x1fb55b,_0x23e663){return _0x1fb55b*_0x23e663;}};this['_heartbeatTimer']=_0x315559[_0x3931fa(0x14b)](setInterval,()=>{const _0x5901b7=_0x3931fa;if(!this[_0x5901b7(0x13c)])return;for(const _0x10d596 of this[_0x5901b7(0x13c)]['clients']){if(!_0x10d596['isAlive']){this[_0x5901b7(0x15b)](_0x10d596),_0x10d596['terminate']();continue;}_0x10d596['isAlive']=![],this['_sendToClient'](_0x10d596,{'type':_0x315559[_0x5901b7(0x144)],'timestamp':new Date()[_0x5901b7(0x165)]()});try{_0x10d596['ping']();}catch(_0x4fa90d){}}},_0x315559['roXLL'](_0x1631c6,0x3e8));}[a0_0x5aab24(0x190)](){const _0x54dd75=a0_0x5aab24,_0x273455={'HyqVz':function(_0x2e237a,_0x27caf7){return _0x2e237a(_0x27caf7);},'wjilN':_0x54dd75(0x12b),'YevBs':function(_0x2aeb05,_0x49af08,_0x33f8c5){return _0x2aeb05(_0x49af08,_0x33f8c5);},'JuRaU':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x3662d4=_0x273455[_0x54dd75(0x133)](require,_0x54dd75(0x137));this[_0x54dd75(0x13f)]=_0x3662d4[_0x54dd75(0x19b)]?_0x3662d4[_0x54dd75(0x19b)]():null;}catch(_0xa956cf){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x12a09f=_0x273455['HyqVz'](require,_0x273455[_0x54dd75(0x149)]),_0x4436c0={'host':process[_0x54dd75(0x155)]['REDIS_HOST']||'127.0.0.1','port':_0x273455['YevBs'](parseInt,process['env'][_0x54dd75(0x1a8)],0xa)||0x18eb,'password':process[_0x54dd75(0x155)]['REDIS_PASSWORD']||undefined,'db':_0x273455[_0x54dd75(0x154)](parseInt,process[_0x54dd75(0x155)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x54dd75(0x13f)]=new _0x12a09f(_0x4436c0),this[_0x54dd75(0x135)]=!![],this['_redisPublisher']['connect']()[_0x54dd75(0x128)](()=>{const _0x2d4d73=_0x54dd75;this[_0x2d4d73(0x172)]['warn']({'event':_0x2d4d73(0x1b2)},_0x2d4d73(0x1a9)),this[_0x2d4d73(0x13f)]=null;});}}catch(_0x599379){this[_0x54dd75(0x172)]['warn']({'event':_0x273455['JuRaU'],'error':_0x599379[_0x54dd75(0x199)]},_0x54dd75(0x1b1)+_0x599379[_0x54dd75(0x199)]);}}[a0_0x5aab24(0x197)](){const _0x240ad7=a0_0x5aab24,_0xa0b68a={'FOGEF':_0x240ad7(0x1b2),'CBOEs':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','bPNEX':'livesync_redis_subscribed','xAIHb':_0x240ad7(0x131),'KZpfv':function(_0x4c5765,_0x2bf5bb){return _0x4c5765===_0x2bf5bb;},'cVCWr':'message','LTHbG':_0x240ad7(0x169),'Hmrfo':_0x240ad7(0x12b),'wnBKC':function(_0x39d14d,_0x15408f){return _0x39d14d(_0x15408f);}};this['_ownPublisher']=![];try{const _0x442d3d=require(_0xa0b68a['Hmrfo']),_0x3c9bfd={'host':process['env'][_0x240ad7(0x189)]||'127.0.0.1','port':parseInt(process[_0x240ad7(0x155)][_0x240ad7(0x1a8)],0xa)||0x18eb,'password':process[_0x240ad7(0x155)][_0x240ad7(0x15a)]||undefined,'db':parseInt(process[_0x240ad7(0x155)][_0x240ad7(0x1a1)],0xa)||0x0,'lazyConnect':!![]};try{const _0xbdfa0b=_0xa0b68a[_0x240ad7(0x140)](require,'../../utils/redis-client');this['_redisPublisher']=_0xbdfa0b['getClient']?_0xbdfa0b['getClient']():null;}catch(_0x3301db){this['_redisPublisher']=null;}!this[_0x240ad7(0x13f)]&&(this[_0x240ad7(0x13f)]=new _0x442d3d(_0x3c9bfd),this[_0x240ad7(0x135)]=!![],this[_0x240ad7(0x13f)][_0x240ad7(0x159)]()[_0x240ad7(0x128)](()=>{const _0x41cd38=_0x240ad7;this['_logger'][_0x41cd38(0x12c)]({'event':_0xa0b68a['FOGEF']},_0xa0b68a[_0x41cd38(0x157)]),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x442d3d(_0x3c9bfd),this['_redisSubscriber'][_0x240ad7(0x159)]()[_0x240ad7(0x145)](()=>{const _0x353b05=_0x240ad7;this['_redisSubscriber'][_0x353b05(0x185)](REDIS_CHANNEL_PREFIX+_0x353b05(0x16b),_0xf242ad=>{const _0x317b40=_0x353b05;if(_0xf242ad){this['_logger']['error']({'event':_0x317b40(0x152),'error':_0xf242ad[_0x317b40(0x199)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0xf242ad[_0x317b40(0x199)]);return;}this['_logger'][_0x317b40(0x162)]({'event':_0xa0b68a['bPNEX']},_0xa0b68a['xAIHb']);}),this[_0x353b05(0x15c)]['on'](_0xa0b68a['cVCWr'],(_0x817676,_0x3b3065)=>{const _0x1e8944=_0x353b05;try{const _0x63df6d=JSON[_0x1e8944(0x14a)](_0x3b3065);if(_0xa0b68a[_0x1e8944(0x16a)](_0x63df6d['workerId'],this[_0x1e8944(0x19a)]))return;this[_0x1e8944(0x1b3)](_0x63df6d[_0x1e8944(0x153)],_0x63df6d[_0x1e8944(0x199)]);}catch(_0x163cbd){}});})['catch'](()=>{const _0x39ff02=_0x240ad7;this[_0x39ff02(0x172)]['warn']({'event':_0xa0b68a['LTHbG']},_0x39ff02(0x16f)),this[_0x39ff02(0x15c)]=null;});}catch(_0x352383){this['_logger'][_0x240ad7(0x12c)]({'event':'livesync_redis_unavailable','error':_0x352383[_0x240ad7(0x199)]},_0x240ad7(0x13b)+_0x352383['message']);}}[a0_0x5aab24(0x1b3)](_0x35ed84,_0x55e081){const _0x1a8ad7=a0_0x5aab24,_0x535e8d={'KncsQ':_0x1a8ad7(0x15d),'jRGTY':function(_0xe25de1,_0x204ef3){return _0xe25de1||_0x204ef3;},'dcxks':function(_0x4aa116,_0x5e6a3b){return _0x4aa116===_0x5e6a3b;}};if(!this[_0x1a8ad7(0x13c)])return;const _0x27fa57=JSON[_0x1a8ad7(0x195)]({'type':_0x535e8d[_0x1a8ad7(0x191)],'channel':_0x35ed84,'action':_0x55e081[_0x1a8ad7(0x134)],'data':_0x55e081['data'],'requestId':_0x55e081[_0x1a8ad7(0x161)]||null,'timestamp':new Date()['toISOString']()}),[_0x3c820b]=_0x35ed84['split'](':');for(const [_0x590b37,_0x3e683c]of this[_0x1a8ad7(0x182)]){const _0x3c0e74=_0x590b37===_0x35ed84,_0x59d776=_0x590b37===_0x3c820b+':*';if(_0x535e8d[_0x1a8ad7(0x1aa)](_0x3c0e74,_0x59d776))for(const _0x5a890f of _0x3e683c){if(_0x535e8d[_0x1a8ad7(0x194)](_0x5a890f[_0x1a8ad7(0x148)],0x1))try{_0x5a890f['send'](_0x27fa57);}catch(_0x47f6fb){}}}}}function a0_0x9b3e(_0x2eabf7,_0x5ec952){_0x2eabf7=_0x2eabf7-0x127;const _0x6f2ddf=a0_0x6f2d();let _0x9b3e8f=_0x6f2ddf[_0x2eabf7];if(a0_0x9b3e['kmjeJy']===undefined){var _0x4d1cad=function(_0x288eed){const _0x3f45bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d888b='',_0x3726a7='';for(let _0x3e78e7=0x0,_0x407e2e,_0x5786e2,_0x34b821=0x0;_0x5786e2=_0x288eed['charAt'](_0x34b821++);~_0x5786e2&&(_0x407e2e=_0x3e78e7%0x4?_0x407e2e*0x40+_0x5786e2:_0x5786e2,_0x3e78e7++%0x4)?_0x5d888b+=String['fromCharCode'](0xff&_0x407e2e>>(-0x2*_0x3e78e7&0x6)):0x0){_0x5786e2=_0x3f45bf['indexOf'](_0x5786e2);}for(let _0x30d12a=0x0,_0x3bed32=_0x5d888b['length'];_0x30d12a<_0x3bed32;_0x30d12a++){_0x3726a7+='%'+('00'+_0x5d888b['charCodeAt'](_0x30d12a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3726a7);};a0_0x9b3e['GcYFkG']=_0x4d1cad,a0_0x9b3e['KROftb']={},a0_0x9b3e['kmjeJy']=!![];}const _0x57f01d=_0x6f2ddf[0x0],_0x552796=_0x2eabf7+_0x57f01d,_0x50ed81=a0_0x9b3e['KROftb'][_0x552796];return!_0x50ed81?(_0x9b3e8f=a0_0x9b3e['GcYFkG'](_0x9b3e8f),a0_0x9b3e['KROftb'][_0x552796]=_0x9b3e8f):_0x9b3e8f=_0x50ed81,_0x9b3e8f;}module['exports']=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0xeef37c=a0_0x5713;(function(_0x52433c,_0x4850ea){const _0xe32fba=a0_0x5713,_0x428aa4=_0x52433c();while(!![]){try{const _0x25e7f4=-parseInt(_0xe32fba(0x18a))/0x1+-parseInt(_0xe32fba(0x1b2))/0x2+parseInt(_0xe32fba(0x134))/0x3*(-parseInt(_0xe32fba(0x1ac))/0x4)+-parseInt(_0xe32fba(0x1a5))/0x5*(-parseInt(_0xe32fba(0x140))/0x6)+parseInt(_0xe32fba(0x17b))/0x7+-parseInt(_0xe32fba(0x196))/0x8+parseInt(_0xe32fba(0x177))/0x9*(parseInt(_0xe32fba(0x179))/0xa);if(_0x25e7f4===_0x4850ea)break;else _0x428aa4['push'](_0x428aa4['shift']());}catch(_0x204b23){_0x428aa4['push'](_0x428aa4['shift']());}}}(a0_0x34ad,0x8b3c5));function a0_0x34ad(){const _0x3a133c=['x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','qM5hyxi','y3HiwLi','uNfvugG','BgL2zxn5BMnFC2H1DgrVD24','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','ChvIBgLZAa','teHArue','ihnODxqGzg93BG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','zgf0yq','ywrK','C1rmzKG','C3vIC2nYAwjLzenOyw5UzwXZ','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','ihrVia','CMvHzhLtDgf0zq','wKzbDvu','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','y2XPzw50CW','C3vIC2nYAwjLza','uKvesvnFue9sva','x2HHBMrSzvvUC3vIC2nYAwjL','Evv6CvG','wuPiteG','x3nLBMruB0nSAwvUDa','ChvZAa','D2fYBG','z2v0','BgL2zxn5BMnFyNjVywrJyxn0','y2XLyxi','Ec1HCgKTA2v5','lI4VlI4VDxrPBhmVBg9Nz2vY','y2HHBM5LBhm','x2XVz2DLCG','sxvmyvO','ywn0Aw9U','Ec1MB3j3yxjKzwqTzM9Y','C2H1DgrVD24','l3DZ','AxnbCNjHEq','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFC3vIC2nYAwjL','zgvIDwC','C29JA2v0','BhLwywq','x2HHBMrSzunSAwvUDe1LC3nHz2u','mtH1uMPhEeW','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','odKYmtK3mgP0EfPdwa','AxDXu3a','nte2mJG1zvPRs291','EgLJt0W','zgvSzxrL','Aw5MBW','CMvXDwvZDeLK','uerbywe','x3b1yMXPC2HuB1jLzgLZ','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uKvesvnFueftu1DpuKq','AgvHzgvYCW','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','DxjS','x3nLDhvWuMvKAxm','BwvZC2fNzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','mJG4mtq5Bu5HsvPl','C2vUza','x3jLzgLZu3vIC2nYAwjLCG','vM91qNK','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','mti3lJaUmc4X','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','yNLxqKC','ig9Uia','Bg9Nz2vY','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','odyWntq2ng5Vr096ta','uKvesvnFrei','x2LUAxrPywXPEMvK','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','uxHtDLe','C2v0','x2HLyxj0yMvHDfrPBwvY','rgruv2O','yxbPs2v5','x3DVCMTLCKLK','DxbNCMfKzq','rNHMC3C','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','zNvSBa','Dg9tDhjPBMC','mti1odm0nwrjuejQsa','qwLQshi','x3jLzgLZuhvIBgLZAgvY','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','BgvUz3rO','uKvesvnFse9tva','x3nLDhvWuMvKAxnqDwjSAxnOzxi','mZqWwLHrBvnh','AgfZ','C3rYAw5NAwz5','n3W0Fdn8nxW4Fdj8mxW5Fdb8nG','Ahr0CdOVlW','y2XVC2u','nJe3mJaYDuT5zen4','x29WDgLVBNm','x293BLb1yMXPC2HLCG','Cw5kAMG','ChvIBgLZAgvY','DgHLBG','DhLWzq','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','x2HHBMrSzvn1yNnJCMLIzq','Dw5ZDwjZy3jPyMu','tgL2zsbtEw5Jia','C3bSAxq','yNjVywrJyxn0','x3DZCW','vfb0uKe','nde5muruDxbbyG','Cg9UzW','zMD3tvC','x21Vzgu','sw52ywXPzcbku09oig1LC3nHz2u','zw52','CgfYC2u','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','z2v0q2XPzw50','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','AxnbBgL2zq','x2HHBMrSzunVBM5Ly3rPB24','mtj3AuLMyvK','thvNB00','zxjYB3i','CgLUzW','Dg9ju09tDhjPBMC','u1vzshG'];a0_0x34ad=function(){return _0x3a133c;};return a0_0x34ad();}function a0_0x5713(_0x162f1e,_0x4c74e5){_0x162f1e=_0x162f1e-0x133;const _0x34adda=a0_0x34ad();let _0x5713df=_0x34adda[_0x162f1e];if(a0_0x5713['OSsTnV']===undefined){var _0x3c7b3d=function(_0x197ec3){const _0x48a066='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x68bb19='',_0x49d28b='';for(let _0x31b0e0=0x0,_0x73caa6,_0x1d8701,_0x3eeb45=0x0;_0x1d8701=_0x197ec3['charAt'](_0x3eeb45++);~_0x1d8701&&(_0x73caa6=_0x31b0e0%0x4?_0x73caa6*0x40+_0x1d8701:_0x1d8701,_0x31b0e0++%0x4)?_0x68bb19+=String['fromCharCode'](0xff&_0x73caa6>>(-0x2*_0x31b0e0&0x6)):0x0){_0x1d8701=_0x48a066['indexOf'](_0x1d8701);}for(let _0x1d9b76=0x0,_0x39c226=_0x68bb19['length'];_0x1d9b76<_0x39c226;_0x1d9b76++){_0x49d28b+='%'+('00'+_0x68bb19['charCodeAt'](_0x1d9b76)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49d28b);};a0_0x5713['daQdmx']=_0x3c7b3d,a0_0x5713['HClbal']={},a0_0x5713['OSsTnV']=!![];}const _0x563564=_0x34adda[0x0],_0x205926=_0x162f1e+_0x563564,_0x8b0b16=a0_0x5713['HClbal'][_0x205926];return!_0x8b0b16?(_0x5713df=a0_0x5713['daQdmx'](_0x5713df),a0_0x5713['HClbal'][_0x205926]=_0x5713df):_0x5713df=_0x8b0b16,_0x5713df;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0xeef37c(0x186)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x1c6275=a0_0xeef37c,_0x588aae=_0x1c6275(0x1af)[_0x1c6275(0x1bd)]('|');let _0x2cb830=0x0;while(!![]){switch(_0x588aae[_0x2cb830++]){case'0':this['_redisSubscriber']=null;continue;case'1':this['_heartbeatTimer']=null;continue;case'2':this[_0x1c6275(0x171)]=new Map();continue;case'3':this['_mode']=null;continue;case'4':this['_initialized']=![];continue;case'5':this[_0x1c6275(0x1b3)]={};continue;case'6':this[_0x1c6275(0x19f)]=process['pid'];continue;case'7':this['_wss']=null;continue;case'8':this[_0x1c6275(0x16a)]=console;continue;case'9':this['_redisPublisher']=null;continue;}break;}}['initialize'](_0x4b4129,_0x48a153={}){const _0xcda082=a0_0xeef37c,_0x49a8e5={'LUYTn':_0xcda082(0x1a3),'HVpdl':_0xcda082(0x168),'VYPnx':function(_0x18e406,_0x1e0a20,_0x1dac7c){return _0x18e406(_0x1e0a20,_0x1dac7c);},'iwqSp':'connection','VouBy':_0xcda082(0x142)};if(this[_0xcda082(0x198)])return;this['_options']=_0x48a153,this[_0xcda082(0x137)]=_0x49a8e5['LUYTn'];try{this[_0xcda082(0x16a)]=require(_0x49a8e5['HVpdl'])[_0xcda082(0x193)]||console;}catch(_0x55958d){this['_logger']=console;}const _0x5a6e13=_0x49a8e5['VYPnx'](parseInt,process[_0xcda082(0x139)][_0xcda082(0x18e)],0xa)||0x1e;this[_0xcda082(0x1bf)]=new WebSocketServer({'server':_0x4b4129,'path':'/ws'}),this[_0xcda082(0x146)](_0x4b4129),this['_wss']['on'](_0x49a8e5[_0xcda082(0x17a)],(_0x480272,_0x119106)=>this['_handleConnection'](_0x480272,_0x119106)),this[_0xcda082(0x1bf)]['on'](_0x49a8e5[_0xcda082(0x18d)],_0x1fa10a=>{const _0x202759=_0xcda082;this[_0x202759(0x16a)]['error']({'event':'livesync_wss_error','error':_0x1fa10a['message']},_0x202759(0x195)+_0x1fa10a['message']);}),this['_startHeartbeat'](_0x5a6e13),this[_0xcda082(0x187)](),this[_0xcda082(0x198)]=!![],this['_logger']['info']({'event':'livesync_initialized','mode':'full','path':_0xcda082(0x16f),'heartbeat':_0x5a6e13+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x5a6e13+'s)');}[a0_0xeef37c(0x1a8)](_0x4ffced={}){const _0x3b2562=a0_0xeef37c,_0x2a0f00={'QxSvQ':'1|5|2|0|6|4|3','RqUPh':_0x3b2562(0x1b6)},_0x446d9a=_0x2a0f00[_0x3b2562(0x19a)]['split']('|');let _0x437a3c=0x0;while(!![]){switch(_0x446d9a[_0x437a3c++]){case'0':try{this['_logger']=require('../../utils/logger')[_0x3b2562(0x193)]||console;}catch(_0x4bdb2c){this[_0x3b2562(0x16a)]=console;}continue;case'1':if(this[_0x3b2562(0x198)])return;continue;case'2':this['_mode']=_0x3b2562(0x1b6);continue;case'3':this['_logger']['info']({'event':_0x3b2562(0x1b9),'mode':_0x2a0f00[_0x3b2562(0x14a)]},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'4':this[_0x3b2562(0x198)]=!![];continue;case'5':this[_0x3b2562(0x1b3)]=_0x4ffced;continue;case'6':this['_setupRedisPublisher']();continue;}break;}}['isInitialized'](){const _0x1a2679=a0_0xeef37c;return this[_0x1a2679(0x198)];}[a0_0xeef37c(0x1be)](_0x4bd226,_0x1639cb){const _0x11b6cb=a0_0xeef37c,_0x48d627={'jJGBV':function(_0x35dfb1,_0x525224){return _0x35dfb1===_0x525224;},'PDAaa':function(_0x565db2,_0x1dfeae){return _0x565db2||_0x1dfeae;},'PALBi':function(_0x4c5019,_0x52890f){return _0x4c5019>_0x52890f;},'eooMl':_0x11b6cb(0x165)};if(!this[_0x11b6cb(0x198)])return;if(this['_mode']==='publisher'){this[_0x11b6cb(0x181)](_0x4bd226,_0x1639cb);return;}const _0x238d26=JSON[_0x11b6cb(0x1ae)]({'type':'data_change','channel':_0x4bd226,'action':_0x1639cb[_0x11b6cb(0x16c)],'data':_0x1639cb[_0x11b6cb(0x151)],'requestId':_0x1639cb[_0x11b6cb(0x17f)]||null,'timestamp':new Date()['toISOString']()}),[_0x54c740]=_0x4bd226[_0x11b6cb(0x1bd)](':');let _0x15cc2c=0x0;for(const [_0x4863a9,_0x389459]of this[_0x11b6cb(0x171)]){const _0x462772=_0x4863a9===_0x4bd226,_0x286bbf=_0x48d627['jJGBV'](_0x4863a9,_0x54c740+':*');if(_0x48d627[_0x11b6cb(0x180)](_0x462772,_0x286bbf))for(const _0x32c27f of _0x389459){if(_0x48d627['jJGBV'](_0x32c27f['readyState'],0x1))try{_0x32c27f[_0x11b6cb(0x18b)](_0x238d26),_0x15cc2c++;}catch(_0x221613){}}}_0x48d627['PALBi'](_0x15cc2c,0x0)&&this['_logger']['debug']({'event':_0x48d627['eooMl'],'channel':_0x4bd226,'action':_0x1639cb[_0x11b6cb(0x16c)],'clients':_0x15cc2c},'Broadcast\x20'+_0x1639cb['action']+_0x11b6cb(0x192)+_0x4bd226+_0x11b6cb(0x157)+_0x15cc2c+'\x20client(s)');}['_publishToRedis'](_0x194642,_0xed3c6b){const _0x4016c8=a0_0xeef37c;if(!this[_0x4016c8(0x1a7)])return;const _0x15ff40=JSON[_0x4016c8(0x1ae)]({'channel':_0x194642,'message':_0xed3c6b,'workerId':this[_0x4016c8(0x19f)]});this['_redisPublisher'][_0x4016c8(0x14d)](REDIS_CHANNEL_PREFIX+'broadcast',_0x15ff40)[_0x4016c8(0x147)](()=>{});}[a0_0xeef37c(0x16e)](){const _0x26f56c=a0_0xeef37c,_0xdd34b9={'DdTWj':'Server\x20shutting\x20down'};if(!this['_initialized'])return;this[_0x26f56c(0x19c)]&&(clearInterval(this['_heartbeatTimer']),this['_heartbeatTimer']=null);if(this[_0x26f56c(0x1bf)]){for(const _0x103653 of this['_wss']['clients']){try{_0x103653[_0x26f56c(0x1b1)](0x3e9,_0xdd34b9[_0x26f56c(0x19d)]);}catch(_0x44d9aa){}}this[_0x26f56c(0x1bf)][_0x26f56c(0x1b1)]();}if(this[_0x26f56c(0x18c)])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x27b64a){}if(this[_0x26f56c(0x1b4)]&&this['_redisPublisher'])try{this[_0x26f56c(0x1a7)]['quit']();}catch(_0x412def){}this[_0x26f56c(0x171)]['clear'](),this[_0x26f56c(0x198)]=![],this[_0x26f56c(0x16a)][_0x26f56c(0x17e)]({'event':_0x26f56c(0x14b),'mode':this[_0x26f56c(0x137)]},_0x26f56c(0x1bc)+this['_mode']+_0x26f56c(0x14f));}['_setupUpgradeAuth'](_0x377c6c){const _0x2462b2=a0_0xeef37c,_0x2c3d16={'byWBG':'connection','SUYHx':'/ws','cZuUU':'localhost','neFqM':_0x2462b2(0x167),'yUzqX':function(_0x5b411c,_0xc9bb1c){return _0x5b411c!==_0xc9bb1c;},'nFZFe':_0x2462b2(0x1a0)},_0x422817=_0x377c6c['listeners'](_0x2c3d16['nFZFe'])['slice']();_0x377c6c['removeAllListeners']('upgrade'),_0x377c6c['on'](_0x2c3d16['nFZFe'],(_0x331583,_0xa4445,_0x3bf10d)=>{const _0x194730=_0x2462b2,_0x4f8ff8={'Fxfsw':_0x2c3d16[_0x194730(0x191)]};if(!_0x331583['url']||!_0x331583['url']['startsWith'](_0x2c3d16[_0x194730(0x145)])){for(const _0x254e14 of _0x422817){_0x254e14['call'](_0x377c6c,_0x331583,_0xa4445,_0x3bf10d);}return;}if(this[_0x194730(0x1b3)][_0x194730(0x19e)]){const _0x9f5fac=new URL(_0x331583[_0x194730(0x186)],_0x194730(0x1b0)+(_0x331583['headers']['host']||_0x2c3d16['cZuUU'])),_0x22b015=_0x9f5fac['searchParams'][_0x194730(0x164)](_0x2c3d16['neFqM'])||_0x331583[_0x194730(0x184)][_0x2c3d16['neFqM']];if(!_0x22b015||_0x2c3d16[_0x194730(0x15f)](_0x22b015,this['_options']['apiKey'])){_0xa4445['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0xa4445['destroy']();return;}}this['_wss']['handleUpgrade'](_0x331583,_0xa4445,_0x3bf10d,_0x186453=>{const _0x4943f4=_0x194730;this['_wss']['emit'](_0x4f8ff8[_0x4943f4(0x1a1)],_0x186453,_0x331583);});});}[a0_0xeef37c(0x13f)](_0x204c7b,_0x11b496){const _0xad9017=a0_0xeef37c,_0x2894f9={'YpavC':_0xad9017(0x16d),'LHZEA':_0xad9017(0x188)};_0x204c7b[_0xad9017(0x13e)]=!![],_0x204c7b[_0xad9017(0x154)]=new Set();const _0x1156bc=_0x11b496[_0xad9017(0x184)][_0x2894f9['YpavC']]||_0x11b496[_0xad9017(0x174)]['remoteAddress'];this['_logger'][_0xad9017(0x17e)]({'event':_0xad9017(0x15a),'ip':_0x1156bc},_0xad9017(0x182)+_0x1156bc),_0x204c7b['on'](_0xad9017(0x135),()=>{_0x204c7b['isAlive']=!![];}),_0x204c7b['on'](_0x2894f9[_0xad9017(0x14e)],_0x3382a1=>{const _0xb8fbaf=_0xad9017;try{const _0x59b846=JSON[_0xb8fbaf(0x13a)](_0x3382a1[_0xb8fbaf(0x1a4)]());this['_handleClientMessage'](_0x204c7b,_0x59b846);}catch(_0x2ca026){this['_sendToClient'](_0x204c7b,{'type':'error','message':_0xb8fbaf(0x138)});}}),_0x204c7b['on'](_0xad9017(0x1b1),()=>{const _0x50bed8=_0xad9017;this['_removeClientFromAllChannels'](_0x204c7b),this[_0x50bed8(0x16a)][_0x50bed8(0x173)]({'event':'livesync_client_disconnected','ip':_0x1156bc},_0x50bed8(0x1a2)+_0x1156bc);}),_0x204c7b['on'](_0xad9017(0x142),_0x15bf5d=>{const _0x2679a7=_0xad9017;this[_0x2679a7(0x16a)][_0x2679a7(0x163)]({'event':_0x2679a7(0x194),'error':_0x15bf5d['message']},_0x2679a7(0x178)+_0x15bf5d['message']),this[_0x2679a7(0x13b)](_0x204c7b);});}[a0_0xeef37c(0x176)](_0x244f5e,_0x485820){const _0x4c7d28=a0_0xeef37c,_0x4d0c49={'HKyOi':'subscribe'};switch(_0x485820[_0x4c7d28(0x1b8)]){case _0x4d0c49['HKyOi']:this[_0x4c7d28(0x1ba)](_0x244f5e,_0x485820[_0x4c7d28(0x169)]);break;case _0x4c7d28(0x1bb):this['_handleUnsubscribe'](_0x244f5e,_0x485820[_0x4c7d28(0x169)]);break;case'pong':_0x244f5e[_0x4c7d28(0x13e)]=!![];break;default:this['_sendToClient'](_0x244f5e,{'type':'error','message':_0x4c7d28(0x156)+_0x485820[_0x4c7d28(0x1b8)]});}}[a0_0xeef37c(0x1ba)](_0x4b1a73,_0x3c346c){const _0x15595b=a0_0xeef37c,_0x1d6091={'xfUJv':'error','AijHr':function(_0x5e55f6,_0x218aeb){return _0x5e55f6>_0x218aeb;},'XquZh':_0x15595b(0x15c),'QSYaG':_0x15595b(0x172)};if(!Array[_0x15595b(0x170)](_0x3c346c)||_0x3c346c['length']===0x0){this['_sendToClient'](_0x4b1a73,{'type':_0x1d6091['xfUJv'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x27e6a8=[];for(const _0x234b37 of _0x3c346c){if(typeof _0x234b37!=='string'||!_0x234b37['includes'](':'))continue;!this['_subscriptions'][_0x15595b(0x1ad)](_0x234b37)&&this['_subscriptions'][_0x15595b(0x19b)](_0x234b37,new Set()),this['_subscriptions'][_0x15595b(0x164)](_0x234b37)[_0x15595b(0x152)](_0x4b1a73),_0x4b1a73['subscribedChannels']['add'](_0x234b37),_0x27e6a8['push'](_0x234b37);}_0x1d6091[_0x15595b(0x1a6)](_0x27e6a8['length'],0x0)&&(this[_0x15595b(0x161)](_0x4b1a73,{'type':_0x1d6091['XquZh'],'channels':_0x27e6a8,'timestamp':new Date()[_0x15595b(0x144)]()}),this[_0x15595b(0x16a)][_0x15595b(0x173)]({'event':_0x1d6091['QSYaG'],'channels':_0x27e6a8},'Client\x20subscribed\x20to:\x20'+_0x27e6a8['join'](',\x20')));}[a0_0xeef37c(0x15e)](_0x47b680,_0x34f6ea){const _0x11621e=a0_0xeef37c,_0x506dd5={'ZFAuU':function(_0x1fb42f,_0x2c78b0){return _0x1fb42f>_0x2c78b0;}};if(!Array['isArray'](_0x34f6ea))return;const _0x481aba=[];for(const _0x485381 of _0x34f6ea){this['_subscriptions'][_0x11621e(0x1ad)](_0x485381)&&(this[_0x11621e(0x171)][_0x11621e(0x164)](_0x485381)[_0x11621e(0x17d)](_0x47b680),this[_0x11621e(0x171)][_0x11621e(0x164)](_0x485381)['size']===0x0&&this[_0x11621e(0x171)]['delete'](_0x485381)),_0x47b680[_0x11621e(0x154)]['delete'](_0x485381),_0x481aba[_0x11621e(0x162)](_0x485381);}_0x506dd5[_0x11621e(0x159)](_0x481aba[_0x11621e(0x1a9)],0x0)&&this['_sendToClient'](_0x47b680,{'type':'unsubscribed','channels':_0x481aba,'timestamp':new Date()[_0x11621e(0x144)]()});}[a0_0xeef37c(0x13b)](_0x45a861){const _0x2baa51=a0_0xeef37c,_0xb55d61={'xicOL':function(_0x1dcb5f,_0x3f7735){return _0x1dcb5f===_0x3f7735;}};if(!_0x45a861['subscribedChannels'])return;for(const _0xad1809 of _0x45a861['subscribedChannels']){this[_0x2baa51(0x171)]['has'](_0xad1809)&&(this['_subscriptions'][_0x2baa51(0x164)](_0xad1809)[_0x2baa51(0x17d)](_0x45a861),_0xb55d61[_0x2baa51(0x17c)](this[_0x2baa51(0x171)][_0x2baa51(0x164)](_0xad1809)['size'],0x0)&&this['_subscriptions'][_0x2baa51(0x17d)](_0xad1809));}_0x45a861[_0x2baa51(0x154)][_0x2baa51(0x166)]();}[a0_0xeef37c(0x161)](_0x22edec,_0x3a3e34){const _0x4decb5=a0_0xeef37c,_0xcdfd23={'cxHZR':function(_0x48c021,_0x68ea4d){return _0x48c021===_0x68ea4d;}};if(_0xcdfd23[_0x4decb5(0x149)](_0x22edec['readyState'],0x1))try{_0x22edec[_0x4decb5(0x18b)](JSON[_0x4decb5(0x1ae)](_0x3a3e34));}catch(_0x2020a0){}}['_startHeartbeat'](_0x1c4a0d){const _0xc239f1=a0_0xeef37c,_0x3c6fd2={'TPtRA':function(_0x314e8e,_0x189f06,_0x1aa5a7){return _0x314e8e(_0x189f06,_0x1aa5a7);},'tuHMA':function(_0x3893c4,_0x2cc02b){return _0x3893c4*_0x2cc02b;}};this[_0xc239f1(0x19c)]=_0x3c6fd2[_0xc239f1(0x133)](setInterval,()=>{const _0x5e787d=_0xc239f1;if(!this['_wss'])return;for(const _0x8957a0 of this['_wss'][_0x5e787d(0x15b)]){if(!_0x8957a0[_0x5e787d(0x13e)]){this[_0x5e787d(0x13b)](_0x8957a0),_0x8957a0['terminate']();continue;}_0x8957a0[_0x5e787d(0x13e)]=![],this[_0x5e787d(0x161)](_0x8957a0,{'type':_0x5e787d(0x143),'timestamp':new Date()['toISOString']()});try{_0x8957a0['ping']();}catch(_0x4d3b25){}}},_0x3c6fd2['tuHMA'](_0x1c4a0d,0x3e8));}[a0_0xeef37c(0x1ab)](){const _0x3b72f5=a0_0xeef37c,_0x21a667={'DrmpI':_0x3b72f5(0x14c),'OnwjA':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','ifXoG':function(_0x321fb2,_0x24b0fa){return _0x321fb2(_0x24b0fa);},'MgmhX':_0x3b72f5(0x155),'YJHLH':function(_0x493184,_0x42c4f5,_0x4579d8){return _0x493184(_0x42c4f5,_0x4579d8);}};this['_ownPublisher']=![];try{try{const _0x172f0e=_0x21a667['ifXoG'](require,_0x21a667['MgmhX']);this[_0x3b72f5(0x1a7)]=_0x172f0e[_0x3b72f5(0x13c)]?_0x172f0e[_0x3b72f5(0x13c)]():null;}catch(_0x1bb2ad){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x56e03f=require('ioredis'),_0x1b5315={'host':process[_0x3b72f5(0x139)][_0x3b72f5(0x1aa)]||_0x3b72f5(0x18f),'port':parseInt(process[_0x3b72f5(0x139)][_0x3b72f5(0x15d)],0xa)||0x18eb,'password':process[_0x3b72f5(0x139)]['REDIS_PASSWORD']||undefined,'db':_0x21a667[_0x3b72f5(0x160)](parseInt,process['env'][_0x3b72f5(0x197)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x56e03f(_0x1b5315),this['_ownPublisher']=!![],this[_0x3b72f5(0x1a7)]['connect']()[_0x3b72f5(0x147)](()=>{const _0x441361=_0x3b72f5;this['_logger'][_0x441361(0x163)]({'event':_0x21a667['DrmpI']},_0x21a667['OnwjA']),this[_0x441361(0x1a7)]=null;});}}catch(_0x40d917){this['_logger'][_0x3b72f5(0x163)]({'event':'livesync_redis_unavailable','error':_0x40d917['message']},_0x3b72f5(0x185)+_0x40d917['message']);}}[a0_0xeef37c(0x187)](){const _0x24f6ff=a0_0xeef37c,_0x3c73b2={'mLdLf':_0x24f6ff(0x199),'IuLaZ':_0x24f6ff(0x150),'eQaPU':'livesync_redis_subscriber_failed','LugoM':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','qnJjh':function(_0x31da55,_0x2b97f9){return _0x31da55(_0x2b97f9);},'lyVad':_0x24f6ff(0x18f),'sTLfH':function(_0x1f30f0,_0x3b5a46,_0x3048c9){return _0x1f30f0(_0x3b5a46,_0x3048c9);},'fgwMW':'../../utils/redis-client'};this['_ownPublisher']=![];try{const _0x381d85=_0x3c73b2[_0x24f6ff(0x1b5)](require,'ioredis'),_0x56531f={'host':process[_0x24f6ff(0x139)]['REDIS_HOST']||_0x3c73b2[_0x24f6ff(0x175)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x24f6ff(0x139)][_0x24f6ff(0x183)]||undefined,'db':_0x3c73b2[_0x24f6ff(0x153)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x120e86=require(_0x3c73b2[_0x24f6ff(0x136)]);this[_0x24f6ff(0x1a7)]=_0x120e86['getClient']?_0x120e86['getClient']():null;}catch(_0x30a99c){this['_redisPublisher']=null;}!this[_0x24f6ff(0x1a7)]&&(this['_redisPublisher']=new _0x381d85(_0x56531f),this[_0x24f6ff(0x1b4)]=!![],this[_0x24f6ff(0x1a7)]['connect']()[_0x24f6ff(0x147)](()=>{const _0x294d13=_0x24f6ff;this[_0x294d13(0x16a)]['warn']({'event':'livesync_redis_publisher_failed'},_0x3c73b2['mLdLf']),this[_0x294d13(0x1a7)]=null;})),this[_0x24f6ff(0x18c)]=new _0x381d85(_0x56531f),this[_0x24f6ff(0x18c)]['connect']()[_0x24f6ff(0x1b7)](()=>{const _0x4c1ec3=_0x24f6ff,_0x12f3e4={'yqICQ':_0x3c73b2[_0x4c1ec3(0x16b)],'ULwHz':_0x4c1ec3(0x13d)};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x4c1ec3(0x1be),_0x5f2e46=>{const _0x2f1f4a=_0x4c1ec3;if(_0x5f2e46){this['_logger']['error']({'event':_0x12f3e4['yqICQ'],'error':_0x5f2e46[_0x2f1f4a(0x188)]},_0x2f1f4a(0x190)+_0x5f2e46['message']);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x12f3e4['ULwHz']);}),this[_0x4c1ec3(0x18c)]['on'](_0x4c1ec3(0x188),(_0x2859d2,_0x56283c)=>{const _0x8ee14e=_0x4c1ec3;try{const _0x63ca95=JSON['parse'](_0x56283c);if(_0x63ca95['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x63ca95['channel'],_0x63ca95[_0x8ee14e(0x188)]);}catch(_0x436b64){}});})['catch'](()=>{const _0x1f389f=_0x24f6ff;this['_logger']['warn']({'event':_0x3c73b2['eQaPU']},_0x3c73b2[_0x1f389f(0x141)]),this['_redisSubscriber']=null;});}catch(_0x189748){this[_0x24f6ff(0x16a)][_0x24f6ff(0x163)]({'event':_0x24f6ff(0x189),'error':_0x189748['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x189748[_0x24f6ff(0x188)]);}}['_broadcastLocal'](_0xf7014e,_0x4192e0){const _0x58afbd=a0_0xeef37c,_0x2c2fc2={'BnGar':function(_0x575af4,_0x1dfcc5){return _0x575af4===_0x1dfcc5;}};if(!this['_wss'])return;const _0x4d2fac=JSON[_0x58afbd(0x1ae)]({'type':'data_change','channel':_0xf7014e,'action':_0x4192e0[_0x58afbd(0x16c)],'data':_0x4192e0['data'],'requestId':_0x4192e0[_0x58afbd(0x17f)]||null,'timestamp':new Date()[_0x58afbd(0x144)]()}),[_0xc0e864]=_0xf7014e['split'](':');for(const [_0x1062a6,_0x9489e0]of this['_subscriptions']){const _0x5a8636=_0x2c2fc2[_0x58afbd(0x148)](_0x1062a6,_0xf7014e),_0x1bdcfd=_0x1062a6===_0xc0e864+':*';if(_0x5a8636||_0x1bdcfd)for(const _0x3228de of _0x9489e0){if(_0x2c2fc2['BnGar'](_0x3228de[_0x58afbd(0x158)],0x1))try{_0x3228de[_0x58afbd(0x18b)](_0x4d2fac);}catch(_0x41e06d){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2151f3=a0_0x4f8f;(function(_0x4d68c4,_0x44480a){const _0x5e4f71=a0_0x4f8f,_0x20b0c0=_0x4d68c4();while(!![]){try{const _0x474021=parseInt(_0x5e4f71(0x182))/0x1+-parseInt(_0x5e4f71(0x1a6))/0x2*(-parseInt(_0x5e4f71(0x1c8))/0x3)+-parseInt(_0x5e4f71(0x1eb))/0x4+-parseInt(_0x5e4f71(0x1c4))/0x5+parseInt(_0x5e4f71(0x1d7))/0x6*(parseInt(_0x5e4f71(0x212))/0x7)+parseInt(_0x5e4f71(0x21f))/0x8+parseInt(_0x5e4f71(0x1f1))/0x9*(-parseInt(_0x5e4f71(0x1d5))/0xa);if(_0x474021===_0x44480a)break;else _0x20b0c0['push'](_0x20b0c0['shift']());}catch(_0x2e986d){_0x20b0c0['push'](_0x20b0c0['shift']());}}}(a0_0x33d8,0x5d8c0));const {v7:uuidv7}=require('uuid'),path=require(a0_0x2151f3(0x1f9)),fs=require('fs')[a0_0x2151f3(0x21b)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x2151f3(0x199)),dbType=(process['env']['DB_TYPE']||a0_0x2151f3(0x18d))[a0_0x2151f3(0x17e)]();let executeQuery;if(dbType===a0_0x2151f3(0x187)){const oracleDb=require(a0_0x2151f3(0x1f5));executeQuery=(_0xb44c10,_0x35edff)=>oracleDb['executeQuery'](_0xb44c10,_0x35edff);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x39bdcc,_0x2e05f5)=>mysqlDb['executeQuery'](_0x39bdcc,_0x2e05f5);}else executeQuery=require(a0_0x2151f3(0x198))[a0_0x2151f3(0x1e6)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x12f020=a0_0x2151f3,_0x10cf69={'uzuCP':_0x12f020(0x1c2),'sbDWY':'Export\x20service\x20initialized','ddJoV':function(_0x44ea7e,_0x13fcc2,_0x1b2a88,_0x387c25){return _0x44ea7e(_0x13fcc2,_0x1b2a88,_0x387c25);},'kGUSz':'export_service_init_error'};if(!this[_0x12f020(0x1ba)]){const _0x2a9578=process[_0x12f020(0x1fe)]['RESTFORGE_PROJECT_NAME']||_0x10cf69[_0x12f020(0x1f3)];this[_0x12f020(0x1ba)]=process[_0x12f020(0x1fe)][_0x12f020(0x201)]||path['join'](__dirname,'../../exports/'+_0x2a9578);try{!fsSync[_0x12f020(0x1b4)](this['_exportDir'])&&fsSync[_0x12f020(0x20f)](this[_0x12f020(0x1ba)],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x12f020(0x1ba)]},_0x10cf69['sbDWY']);}catch(_0x5d707e){_0x10cf69[_0x12f020(0x1fc)](logError,_0x5d707e,{'event':_0x10cf69[_0x12f020(0x1cb)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x12f020(0x1ba)];}['resolveExportQuery'](_0x9c0b78,_0x28e14c=null){const _0x39848c=a0_0x2151f3,_0x4a6873={'DUOVc':_0x39848c(0x1a9),'uLqwh':'utf8'};if(!_0x9c0b78||typeof _0x9c0b78!==_0x39848c(0x1ee))return _0x9c0b78;const _0x49e253=_0x9c0b78[_0x39848c(0x1d4)]();if(!_0x49e253['startsWith']('file:'))return _0x49e253;const _0x4f9e5b=_0x49e253[_0x39848c(0x1c0)](/^file:/,'')[_0x39848c(0x1d4)]();if(!_0x4f9e5b)throw new Error(_0x4a6873[_0x39848c(0x1b8)]);const _0x50ff7b=_0x28e14c||path[_0x39848c(0x1a4)](process[_0x39848c(0x1c6)](),_0x39848c(0x219)),_0x5c09cf=path['resolve'](_0x50ff7b,_0x4f9e5b);logger['info']({'event':'export_query_file_resolve','relativePath':_0x4f9e5b,'baseDir':_0x50ff7b,'absolutePath':_0x5c09cf},_0x39848c(0x1cc)+_0x4f9e5b);if(!fsSync['existsSync'](_0x5c09cf))throw new Error(_0x39848c(0x1e8)+_0x5c09cf);try{const _0x11708b=fsSync[_0x39848c(0x1d8)](_0x5c09cf,_0x4a6873[_0x39848c(0x1bc)]);if(!_0x11708b||!_0x11708b[_0x39848c(0x1d4)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5c09cf);return logger['info']({'event':'export_query_file_loaded','file':_0x5c09cf,'queryLength':_0x11708b[_0x39848c(0x190)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x11708b['length']+'\x20chars)'),_0x11708b['trim']();}catch(_0xf21a41){if(_0xf21a41['code']===_0x39848c(0x214))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5c09cf);throw new Error(_0x39848c(0x1ea)+_0xf21a41[_0x39848c(0x1e2)]);}}[a0_0x2151f3(0x17d)](){const _0x200db6=a0_0x2151f3,_0x20634c={'IPPsg':function(_0x4fa49c,_0x2a4d5b){return _0x4fa49c-_0x2a4d5b;},'RVoMw':function(_0x1356d9,_0x46036e){return _0x1356d9<_0x46036e;}},_0x3aa17b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x569c32=Date['now']()[_0x200db6(0x1b2)](0x24),_0x3c3085=uuidv7()['replace'](/-/g,'')[_0x200db6(0x21c)](0x0,_0x20634c[_0x200db6(0x21e)](0xc,_0x569c32[_0x200db6(0x190)])),_0x37c01e=(_0x569c32+_0x3c3085)[_0x200db6(0x21c)](0x0,0xc);let _0x5115f3='';for(let _0x501528=0x0;_0x20634c[_0x200db6(0x1a7)](_0x501528,0xc);_0x501528++){_0x37c01e[_0x501528]?_0x5115f3+=_0x37c01e[_0x501528]:_0x5115f3+=_0x3aa17b[_0x200db6(0x185)](Math['floor'](Math['random']()*_0x3aa17b['length']));}return _0x5115f3;}async[a0_0x2151f3(0x209)](_0x49788c){const _0x30ca96=a0_0x2151f3,_0x32265c={'YmlaU':function(_0x12837b,_0x2459f4,_0x4fe062,_0x5ca4c5){return _0x12837b(_0x2459f4,_0x4fe062,_0x5ca4c5);},'gbvih':_0x30ca96(0x183)},_0x2e4861=this['generateJobId'](),_0x4eff57={'job_id':_0x2e4861,'status':'pending','progress':0x0,'created_at':new Date()[_0x30ca96(0x1a3)](),'params':_0x49788c,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x2e4861,_0x4eff57),logger[_0x30ca96(0x19c)]({'event':_0x32265c['gbvih'],'jobId':_0x2e4861,'params':_0x49788c},'Export\x20job\x20created'),this[_0x30ca96(0x197)](_0x2e4861,_0x49788c)[_0x30ca96(0x19a)](_0x3c9e0a=>{const _0x3137e8=_0x30ca96;_0x32265c['YmlaU'](logError,_0x3c9e0a,{'event':_0x3137e8(0x216),'jobId':_0x2e4861},_0x3137e8(0x18b));}),{'job_id':_0x2e4861,'status':'pending'};}async['getJobStatus'](_0x3f15e7){const _0x45eec6=a0_0x2151f3,_0x276c7c={'uVpVL':'Job\x20not\x20found\x20or\x20expired','juljP':'completed'},_0x66d258=await redisHelper[_0x45eec6(0x1ff)](_0x3f15e7);if(!_0x66d258)return{'success':![],'error':_0x276c7c['uVpVL']};return{'success':!![],'data':{'job_id':_0x66d258['job_id'],'status':_0x66d258[_0x45eec6(0x1d1)],'progress':_0x66d258[_0x45eec6(0x1d9)],'total_rows':_0x66d258['total_rows'],'processed_rows':_0x66d258['processed_rows'],'file_url':_0x66d258['status']===_0x276c7c[_0x45eec6(0x1f0)]?'/api/'+_0x66d258['params'][_0x45eec6(0x1fd)]+'/'+_0x66d258[_0x45eec6(0x21a)]['endpointName']+_0x45eec6(0x202)+_0x3f15e7:null,'error':_0x66d258[_0x45eec6(0x180)]||null,'created_at':_0x66d258[_0x45eec6(0x1e0)],'completed_at':_0x66d258[_0x45eec6(0x1b9)]||null}};}async[a0_0x2151f3(0x197)](_0x2b80c5,_0x349277){const _0x5e85ee=a0_0x2151f3,_0xb1ae43={'kOyMX':_0x5e85ee(0x21d),'sbNUp':'export_processing_start','iOHwa':function(_0x30d9ab,_0xf55c2a,_0x9f732a,_0x9e0553){return _0x30d9ab(_0xf55c2a,_0x9f732a,_0x9e0553);},'plFKp':_0x5e85ee(0x1cf),'EOBqJ':_0x5e85ee(0x1b1)};try{await redisHelper[_0x5e85ee(0x1da)](_0x2b80c5,{'status':_0xb1ae43[_0x5e85ee(0x18a)],'started_at':new Date()[_0x5e85ee(0x1a3)]()}),logger['info']({'event':_0xb1ae43[_0x5e85ee(0x194)],'jobId':_0x2b80c5},_0x5e85ee(0x1ca));const _0x322bbe=await this[_0x5e85ee(0x1ad)](_0x349277);await redisHelper['updateJob'](_0x2b80c5,{'total_rows':_0x322bbe['length']});const _0x18d371=await this[_0x5e85ee(0x218)](_0x2b80c5,_0x322bbe,_0x349277);await redisHelper[_0x5e85ee(0x1da)](_0x2b80c5,{'status':_0x5e85ee(0x1fb),'progress':0x64,'file_path':_0x18d371,'completed_at':new Date()['toISOString']()}),logger[_0x5e85ee(0x19c)]({'event':_0x5e85ee(0x1ed),'jobId':_0x2b80c5,'rows':_0x322bbe[_0x5e85ee(0x190)]},'Export\x20completed\x20successfully');}catch(_0x544f00){_0xb1ae43['iOHwa'](logError,_0x544f00,{'event':_0xb1ae43['plFKp'],'jobId':_0x2b80c5},_0xb1ae43['EOBqJ']),await redisHelper['updateJob'](_0x2b80c5,{'status':'failed','error':_0x544f00['message'],'failed_at':new Date()[_0x5e85ee(0x1a3)]()});}}async['fetchData'](_0x1d591d){const _0x483c20=a0_0x2151f3,_0x558b37={'JJbRC':function(_0xe46448,_0x4a7d29){return _0xe46448===_0x4a7d29;},'jsqcb':_0x483c20(0x184),'qaPzx':_0x483c20(0x213),'YkiYD':_0x483c20(0x207),'BlhFE':_0x483c20(0x217),'aLXTJ':_0x483c20(0x1f2),'SaMVl':_0x483c20(0x1ec),'aeVjx':function(_0x227670,_0x2b9917,_0x27c4e6,_0x2e33bc){return _0x227670(_0x2b9917,_0x27c4e6,_0x2e33bc);},'AYkzA':_0x483c20(0x1dc),'xQfqA':_0x483c20(0x205)};try{const {tableName:_0x364fe2,columns:_0x33b61b,exportQuery:_0x4b6a75,where:_0x389444,sort_columns:_0x46bc09}=_0x1d591d;if(!_0x364fe2||!_0x33b61b||_0x558b37[_0x483c20(0x20c)](_0x33b61b['length'],0x0))throw new Error(_0x558b37['jsqcb']);const _0x27b6f4=_0x364fe2[_0x483c20(0x1c0)](/\./g,'_')+_0x558b37[_0x483c20(0x1b0)];let _0x532b59;if(_0x4b6a75&&_0x4b6a75['trim']()){let _0x401abe=_0x4b6a75;_0x4b6a75['trim']()[_0x483c20(0x19b)](_0x483c20(0x203))&&(_0x401abe=this['resolveExportQuery'](_0x4b6a75)),_0x532b59='WITH\x20'+_0x27b6f4+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x401abe+'\x0a)',_0x532b59+='\x0aSELECT\x20*\x20FROM\x20'+_0x27b6f4,logger[_0x483c20(0x19c)]({'event':_0x483c20(0x1b6),'query':_0x401abe[_0x483c20(0x21c)](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x26b514=_0x33b61b['map'](_0x18f36f=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x18f36f)[_0x483c20(0x1a4)](',');_0x532b59='WITH\x20'+_0x27b6f4+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x26b514+'\x0a\x20\x20\x20\x20FROM\x20'+_0x364fe2+'\x0a)',_0x532b59+='\x0aSELECT\x20*\x20FROM\x20'+_0x27b6f4,logger['info']({'event':_0x558b37[_0x483c20(0x20b)],'tableName':_0x364fe2,'columnCount':_0x33b61b[_0x483c20(0x190)]},_0x558b37[_0x483c20(0x189)]);}if(_0x389444){const _0x4601ac=this[_0x483c20(0x1c1)](_0x389444);_0x4601ac&&(_0x532b59+=_0x483c20(0x1bd)+_0x4601ac);}if(_0x46bc09&&_0x46bc09[_0x483c20(0x190)]>0x0){const _0xb4c7da=this[_0x483c20(0x196)](_0x46bc09);_0xb4c7da&&(_0x532b59+=_0x483c20(0x1fa)+_0xb4c7da);}logger['info']({'event':'export_fetch_start','query':_0x532b59[_0x483c20(0x21c)](0x0,0xc8)},_0x558b37[_0x483c20(0x1af)]);const _0x2631c2=await executeQuery(_0x532b59);let _0x2ee527=_0x2631c2;return dbType==='oracle'&&_0x2631c2&&_0x2631c2['length']>0x0&&(_0x2ee527=_0x2631c2[_0x483c20(0x211)](_0x2ceb39=>{const _0x25e3ad=_0x483c20,_0x17a21f={};for(const [_0x756db6,_0x36654b]of Object[_0x25e3ad(0x200)](_0x2ceb39)){_0x17a21f[_0x756db6[_0x25e3ad(0x17e)]()]=_0x36654b;}return _0x17a21f;})),logger['info']({'event':_0x483c20(0x1d3),'rows':_0x2ee527[_0x483c20(0x190)]},_0x558b37[_0x483c20(0x193)]),_0x2ee527;}catch(_0x58390e){_0x558b37[_0x483c20(0x1aa)](logError,_0x58390e,{'event':_0x558b37['AYkzA']},_0x558b37[_0x483c20(0x20a)]);throw _0x58390e;}}['sanitizeValue'](_0x17925c){const _0x51833c=a0_0x2151f3;if(typeof _0x17925c===_0x51833c(0x1ee))return _0x17925c[_0x51833c(0x1c0)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x51833c(0x1d4)]();else{if(Array['isArray'](_0x17925c))return _0x17925c[_0x51833c(0x211)](_0x156b3f=>this['sanitizeValue'](_0x156b3f));}return _0x17925c;}[a0_0x2151f3(0x1c1)](_0xaab6e0){const _0x2863fc=a0_0x2151f3,_0x5c4b3b={'HmHTD':function(_0x188f58,_0x20309d){return _0x188f58||_0x20309d;},'mpkyd':_0x2863fc(0x18e),'eekIT':function(_0x1910de,_0x271eb0){return _0x1910de===_0x271eb0;},'eCgWE':'IS\x20NOT\x20NULL','rQfyf':_0x2863fc(0x188)};if(!_0xaab6e0||!_0xaab6e0['conditions']||_0x5c4b3b['eekIT'](_0xaab6e0['conditions'][_0x2863fc(0x190)],0x0))return'';const {logic:_0x30649c,conditions:_0x4acd15}=_0xaab6e0,_0x708769=_0x30649c&&_0x30649c['toUpperCase']()==='OR'?_0x5c4b3b[_0x2863fc(0x204)]:_0x2863fc(0x1de),_0x4116c5=_0x4acd15[_0x2863fc(0x211)](_0x4ae944=>{const _0x4c4be2=_0x2863fc,_0x55c008={'oNCWr':function(_0x486d61,_0x4da28f){return _0x486d61===_0x4da28f;}},{key:_0x2da04f,operator:_0x5514eb,value:_0x2578e8,sensitive:_0x5285d0}=_0x4ae944;if(_0x5c4b3b[_0x4c4be2(0x195)](!_0x2da04f,!_0x5514eb))return logger[_0x4c4be2(0x210)]({'event':'invalid_condition','condition':_0x4ae944},_0x5c4b3b[_0x4c4be2(0x1d2)]),null;const _0x207f6e=this['sanitizeValue'](_0x2578e8),_0x349b0a=_0x5285d0!==undefined?_0x5285d0:!![];let _0x192019=_0x2da04f,_0x3ca13c=_0x207f6e;!_0x349b0a&&(_0x192019=_0x4c4be2(0x1ef)+_0x2da04f+')',_0x5c4b3b['eekIT'](typeof _0x2578e8,'string')&&(_0x3ca13c=_0x2578e8['toUpperCase']()));const _0xa0d6d8=typeof _0x3ca13c==='string'?'\x27'+_0x3ca13c[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x3ca13c;switch(_0x5514eb[_0x4c4be2(0x19f)]()){case'=':case'!=':case'<>':return _0x192019+'\x20'+_0x5514eb+'\x20'+_0xa0d6d8;case'>':case'<':case'>=':case'<=':const _0x1dd4f7=_0x5c4b3b[_0x4c4be2(0x18f)](typeof _0x207f6e,'string')?'\x27'+_0x207f6e[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x207f6e;return _0x2da04f+'\x20'+_0x5514eb+'\x20'+_0x1dd4f7;case'LIKE':case'NOT\x20LIKE':return _0x192019+'\x20'+_0x5514eb+'\x20'+_0xa0d6d8;case'IN':if(Array['isArray'](_0x207f6e)){let _0x56a16e;return!_0x349b0a?_0x56a16e=_0x207f6e['map'](_0x2f0751=>{const _0x50c893=_0x4c4be2,_0x16d199=_0x55c008['oNCWr'](typeof _0x2f0751,'string')?_0x2f0751['toUpperCase']():_0x2f0751;return typeof _0x16d199===_0x50c893(0x1ee)?'\x27'+_0x16d199[_0x50c893(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x16d199;})['join'](',\x20'):_0x56a16e=_0x207f6e[_0x4c4be2(0x211)](_0x3d04c8=>typeof _0x3d04c8===_0x4c4be2(0x1ee)?'\x27'+_0x3d04c8[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x3d04c8)[_0x4c4be2(0x1a4)](',\x20'),_0x192019+'\x20IN\x20('+_0x56a16e+')';}return _0x192019+_0x4c4be2(0x191)+_0xa0d6d8+')';case'IS\x20NULL':return _0x2da04f+'\x20IS\x20NULL';case _0x5c4b3b['eCgWE']:return _0x2da04f+_0x4c4be2(0x1ce);default:logger['warn']({'event':'unknown_operator','operator':_0x5514eb},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x192019+_0x4c4be2(0x1e3)+_0xa0d6d8;}})[_0x2863fc(0x1c5)](_0x5b01dc=>_0x5b01dc!==null);if(_0x4116c5['length']===0x0)return'';return _0x4116c5[_0x2863fc(0x1a4)](_0x708769);}[a0_0x2151f3(0x196)](_0x55f96e){const _0x3f5dc8=a0_0x2151f3,_0x6c9633={'idUCX':_0x3f5dc8(0x1b5),'wySGd':function(_0x6a4ab7,_0x5313cf){return _0x6a4ab7===_0x5313cf;},'eXsrd':_0x3f5dc8(0x1db),'wKGFD':'ASC','uOFbx':function(_0x40fafe,_0x4da95c){return _0x40fafe===_0x4da95c;}};if(!_0x55f96e||_0x6c9633['wySGd'](_0x55f96e[_0x3f5dc8(0x190)],0x0))return'';const _0x2079bf=_0x55f96e[_0x3f5dc8(0x211)](_0x22a41a=>{const _0x1843f1=_0x3f5dc8,{column:_0x1f032b,direction:_0x4fea30}=_0x22a41a;if(!_0x1f032b)return logger[_0x1843f1(0x210)]({'event':_0x1843f1(0x206),'item':_0x22a41a},_0x6c9633[_0x1843f1(0x1ae)]),null;const _0x517edd=_0x4fea30&&_0x6c9633['wySGd'](_0x4fea30[_0x1843f1(0x19f)](),_0x1843f1(0x1db))?_0x6c9633['eXsrd']:_0x6c9633[_0x1843f1(0x1ac)];return _0x1f032b+'\x20'+_0x517edd;})[_0x3f5dc8(0x1c5)](_0x4d9cc0=>_0x4d9cc0!==null);if(_0x6c9633[_0x3f5dc8(0x1f6)](_0x2079bf['length'],0x0))return'';return _0x2079bf['join'](',\x20');}async['generateExcel'](_0xa7d43c,_0x1439c3,_0x119344){const _0x291035=a0_0x2151f3,_0x31fea8={'vzVyZ':function(_0x595d09,_0x554437){return _0x595d09*_0x554437;},'jsqhF':function(_0x251875,_0x564c82){return _0x251875/_0x564c82;},'MUcWJ':function(_0x4a8b97,_0x491c0c){return _0x4a8b97===_0x491c0c;},'IrJvV':_0x291035(0x1df),'RnRyy':_0x291035(0x1a2),'bwYOm':_0x291035(0x1f7),'QeaDa':_0x291035(0x1a5)},_0x9c384=require(_0x291035(0x208)),_0x28265d=new _0x9c384(),_0x2dd687=_0x119344[_0x291035(0x192)]?_0x119344[_0x291035(0x192)]+'-'+_0xa7d43c:'export-'+_0xa7d43c,_0x7a590f=path[_0x291035(0x1a4)](this[_0x291035(0x1e1)],_0x2dd687+_0x291035(0x18c));let _0x48fa11=_0x119344[_0x291035(0x20d)];const _0x4ca9e6=_0x119344['exportQuery']&&_0x119344['exportQuery'][_0x291035(0x1d4)](),_0x4914e1=_0x48fa11&&_0x31fea8[_0x291035(0x1a1)](_0x48fa11[_0x291035(0x190)],0x1)&&(_0x31fea8['MUcWJ'](_0x48fa11[0x0],'*')||_0x31fea8[_0x291035(0x1a1)](_0x48fa11[0x0][_0x291035(0x17e)](),_0x291035(0x1bb)));if(_0x1439c3[_0x291035(0x190)]>0x0){const _0x357ca0=Object[_0x291035(0x220)](_0x1439c3[0x0]);if(_0x4ca9e6)_0x48fa11=_0x357ca0,logger[_0x291035(0x19c)]({'event':_0x31fea8['IrJvV'],'columns':_0x48fa11},'Using\x20'+_0x48fa11['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4914e1)_0x48fa11=_0x357ca0,logger[_0x291035(0x19c)]({'event':_0x31fea8['RnRyy'],'columns':_0x48fa11},'Using\x20all\x20'+_0x48fa11[_0x291035(0x190)]+_0x291035(0x1e4));else{if(_0x48fa11&&_0x48fa11[_0x291035(0x190)]>0x0){const _0x1af6b1=_0x48fa11[_0x291035(0x1c5)](_0xd691e2=>_0x357ca0[_0x291035(0x1c7)](_0xd691e2));_0x1af6b1['length']>0x0?(_0x48fa11=_0x1af6b1,logger[_0x291035(0x19c)]({'event':_0x31fea8[_0x291035(0x1ab)],'requestedColumns':_0x119344[_0x291035(0x20d)],'validColumns':_0x48fa11},'Using\x20'+_0x48fa11[_0x291035(0x190)]+'\x20columns\x20from\x20request')):(_0x48fa11=_0x357ca0,logger['warn']({'event':_0x291035(0x1b7),'requestedColumns':_0x119344['columns'],'availableColumns':_0x357ca0},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x357ca0['length']+'\x20columns'));}else _0x48fa11=_0x357ca0,logger['info']({'event':'excel_columns_from_query_result','columns':_0x48fa11},_0x291035(0x1be)+_0x48fa11['length']+'\x20columns\x20from\x20query\x20result');}}}else logger['info']({'event':_0x31fea8[_0x291035(0x1a0)],'columns':_0x48fa11},'Using\x20'+(_0x48fa11?.['length']||0x0)+_0x291035(0x181));return await _0x28265d[_0x291035(0x1f8)]({'data':_0x1439c3,'columns':_0x48fa11,'columnFormats':_0x119344[_0x291035(0x19e)]||null,'fieldLabels':_0x119344[_0x291035(0x1dd)]||null,'filePath':_0x7a590f,'onProgress':async _0x366188=>{const _0xab93ad=_0x291035;await redisHelper['updateJob'](_0xa7d43c,{'progress':Math[_0xab93ad(0x1cd)](_0x366188),'processed_rows':Math[_0xab93ad(0x1cd)](_0x31fea8['vzVyZ'](_0x31fea8[_0xab93ad(0x19d)](_0x366188,0x64),_0x1439c3[_0xab93ad(0x190)]))});}}),_0x7a590f;}async['getFilePath'](_0x476a0f){const _0x13837b=a0_0x2151f3,_0xfd8c6={'vlyof':function(_0x310416,_0x12fc24){return _0x310416!==_0x12fc24;},'iOiJB':_0x13837b(0x1fb),'bROPu':'export_file_not_found','jXMTM':'Export\x20file\x20not\x20found'},_0x57d5e4=await redisHelper['getJob'](_0x476a0f);if(!_0x57d5e4||_0xfd8c6[_0x13837b(0x1a8)](_0x57d5e4['status'],_0xfd8c6[_0x13837b(0x1e7)]))return null;try{return await fs[_0x13837b(0x1e5)](_0x57d5e4['file_path']),_0x57d5e4[_0x13837b(0x17f)];}catch(_0x5d10c6){return logError(_0x5d10c6,{'event':_0xfd8c6[_0x13837b(0x186)],'jobId':_0x476a0f,'path':_0x57d5e4[_0x13837b(0x17f)]},_0xfd8c6['jXMTM']),null;}}async[a0_0x2151f3(0x215)](){const _0x40c5ed=a0_0x2151f3,_0x215c96={'GsBtV':function(_0x548131,_0x3f1878){return _0x548131/_0x3f1878;},'SqOxT':function(_0x1a0f55,_0x57d373){return _0x1a0f55-_0x57d373;},'INUmo':function(_0x4aecd7,_0x276fd0){return _0x4aecd7*_0x276fd0;},'CJjEm':function(_0x5f4f7a,_0x2edbc3){return _0x5f4f7a>_0x2edbc3;},'Prrvf':'export_file_deleted','JlMjx':_0x40c5ed(0x1e9)};logger['info']({'event':'export_cleanup_start'},_0x40c5ed(0x1bf));const _0x56f7af=await redisHelper['getAllJobs']();let _0x2f5b03=0x0;for(const _0x4d48f6 of _0x56f7af){const _0x597a8a=new Date(_0x4d48f6[_0x40c5ed(0x1e0)]),_0x23a1e1=new Date(),_0x38d3fa=_0x215c96['GsBtV'](_0x215c96[_0x40c5ed(0x1d0)](_0x23a1e1,_0x597a8a),_0x215c96[_0x40c5ed(0x1b3)](0x3e8,0x3c)*0x3c);if(_0x215c96['CJjEm'](_0x38d3fa,0x1)){if(_0x4d48f6['file_path'])try{await fs['unlink'](_0x4d48f6['file_path']),logger['info']({'event':_0x215c96[_0x40c5ed(0x1c3)],'path':_0x4d48f6['file_path']},_0x40c5ed(0x1c9));}catch(_0x375290){logger[_0x40c5ed(0x210)]({'event':_0x215c96[_0x40c5ed(0x20e)],'path':_0x4d48f6[_0x40c5ed(0x17f)],'error':_0x375290[_0x40c5ed(0x1e2)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x40c5ed(0x1d6)](_0x4d48f6[_0x40c5ed(0x1f4)]),_0x2f5b03++;}}return logger[_0x40c5ed(0x19c)]({'event':'export_cleanup_complete','deleted':_0x2f5b03},'Export\x20cleanup\x20completed'),_0x2f5b03;}}module['exports']=new ExportService();function a0_0x4f8f(_0xdb0189,_0xa46a1d){_0xdb0189=_0xdb0189-0x17d;const _0x33d8d4=a0_0x33d8();let _0x4f8f7c=_0x33d8d4[_0xdb0189];if(a0_0x4f8f['WbcEJf']===undefined){var _0x57287f=function(_0x18546c){const _0x343338='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fedf9='',_0x1e1f6e='';for(let _0x536db4=0x0,_0x4eda78,_0x805eb5,_0x32306a=0x0;_0x805eb5=_0x18546c['charAt'](_0x32306a++);~_0x805eb5&&(_0x4eda78=_0x536db4%0x4?_0x4eda78*0x40+_0x805eb5:_0x805eb5,_0x536db4++%0x4)?_0x3fedf9+=String['fromCharCode'](0xff&_0x4eda78>>(-0x2*_0x536db4&0x6)):0x0){_0x805eb5=_0x343338['indexOf'](_0x805eb5);}for(let _0x17fe13=0x0,_0x21068f=_0x3fedf9['length'];_0x17fe13<_0x21068f;_0x17fe13++){_0x1e1f6e+='%'+('00'+_0x3fedf9['charCodeAt'](_0x17fe13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e1f6e);};a0_0x4f8f['WieBZW']=_0x57287f,a0_0x4f8f['GpkcUD']={},a0_0x4f8f['WbcEJf']=!![];}const _0x576a10=_0x33d8d4[0x0],_0x1bcc33=_0xdb0189+_0x576a10,_0x2f49ea=a0_0x4f8f['GpkcUD'][_0x1bcc33];return!_0x2f49ea?(_0x4f8f7c=a0_0x4f8f['WieBZW'](_0x4f8f7c),a0_0x4f8f['GpkcUD'][_0x1bcc33]=_0x4f8f7c):_0x4f8f7c=_0x2f49ea,_0x4f8f7c;}function a0_0x33d8(){const _0x3451e5=['zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','mtmXnJeYnfHvrg9UCW','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','zxHWB3j0x2nVBxbSzxrLza','C3rYAw5N','vvbqrviO','ANvSALa','ouPovKvXvq','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','DxP1q1a','AM9Ix2LK','lI4VDxrPBhmVzgiTB3jHy2XL','Du9gyNG','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','z2vUzxjHDgu','Cgf0Aa','cK9srevsiejzia','y29TCgXLDgvK','zgrkB1y','Bw9KDwXLtMfTzq','zw52','z2v0sM9I','zw50CMLLCW','rvHqt1jux0rjuG','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','zMLSztO','CLfMEwy','rMfPBgvKihrVigzLDgnOigrHDge','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','y3jLyxrLsM9I','EffMCue','wwTPwuq','sKPIuKm','y29SDw1UCW','sMXnANG','BwTKAxjtEw5J','D2fYBG','BwfW','mty3mdy0ohzerur4BG','x2rHDge','ru5pru5u','y2XLyw51Ca','zxHWB3j0x3bYB2nLC3nFzxjYB3i','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','z2vUzxjHDgvfEgnLBa','Cgf5Bg9Hza','CgfYyw1Z','ChjVBwLZzxm','C3vIC3rYAw5N','ChjVy2vZC2LUzW','svbqC2C','ndyZnJyXnKPkDhnmEG','A2v5CW','z2vUzxjHDgvkB2jjza','Dg9mB3DLCKnHC2u','zMLSzv9WyxrO','zxjYB3i','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','ndq3nJe5Bwncvg1j','zxHWB3j0x2PVyL9JCMvHDgvK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y2HHCKf0','yLjpuhu','B3jHy2XL','ie9sia','qMXOrKu','A095tvG','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','lNHSC3G','Cg9ZDgDYzxnXBa','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zwvRsvq','BgvUz3rO','ieLoicG','zMLSzw5HBwu','u2fnvMW','C2jovxa','sg1iveq','yNvPBgrpCMrLCKj5q2XHDxnL','ChjVy2vZC0PVyG','lI4VDxrPBhmVzgi','lI4VDxrPBhmVBg9Nz2vY','y2f0y2G','C3rHCNrZv2L0Aa','Aw5MBW','ANnXAey','y29SDw1UrM9YBwf0CW','Dg9vChbLCKnHC2u','uwvHrge','tvvJv0O','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','Dg9ju09tDhjPBMC','AM9PBG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','ngTiAMfPDW','uLzVtxC','DMX5B2y','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ywvwANG','yNDzt20','D0ThrKq','zMv0y2HeyxrH','Awrvq1G','yuXyveO','CwfqENG','rxHWB3j0igzHAwXLza','Dg9tDhjPBMC','su5vBw8','zxHPC3rZu3LUyW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','rfvpvMm','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','ywXS','DuXXD2G','cLDirvjfia','vxnPBMCG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','CMvWBgfJzq','yNvPBgrxAgvYzunSyxvZzq','zgvMyxvSDa','uhjYDMy','mtu0otu1nufNAwjmzG','zMLSDgvY','y3DK','Aw5JBhvKzxm','otu3odGYu2veDNLc','rxHWB3j0igzPBguGzgvSzxrLza','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','A0Dvu3O','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','CM91BMq','ieLtie5pvcbovuXm','zxHWB3j0x2zHAwXLza','u3fpEfq','C3rHDhvZ','BxbREwq','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','DhjPBq','odGYmZm4mhLisMXLBa','zgvSzxrLsM9I','nLrOrM51qG','CMvHzezPBgvtEw5J','ChjVz3jLC3m','DxbKyxrLsM9I','revtqW','zxHWB3j0x2zLDgnOx2vYCM9Y','zMLLBgrmywjLBhm','ieforca','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','y3jLyxrLzf9HDa','zxHWB3j0rgLY','BwvZC2fNzq','id0G','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','ywnJzxnZ','zxHLy3v0zvf1zxj5','Au9PsKi','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa'];a0_0x33d8=function(){return _0x3451e5;};return a0_0x33d8();}
|
|
1
|
+
const a0_0x3a220d=a0_0x103f;(function(_0x39b369,_0x16e48f){const _0x3307cf=a0_0x103f,_0x72a7a0=_0x39b369();while(!![]){try{const _0x1468f8=parseInt(_0x3307cf(0x12f))/0x1*(-parseInt(_0x3307cf(0x19d))/0x2)+-parseInt(_0x3307cf(0x11b))/0x3*(-parseInt(_0x3307cf(0x14c))/0x4)+-parseInt(_0x3307cf(0x15b))/0x5*(parseInt(_0x3307cf(0x17a))/0x6)+parseInt(_0x3307cf(0x130))/0x7*(-parseInt(_0x3307cf(0x142))/0x8)+parseInt(_0x3307cf(0x143))/0x9*(-parseInt(_0x3307cf(0x13e))/0xa)+-parseInt(_0x3307cf(0x153))/0xb+parseInt(_0x3307cf(0x121))/0xc;if(_0x1468f8===_0x16e48f)break;else _0x72a7a0['push'](_0x72a7a0['shift']());}catch(_0x5db2f4){_0x72a7a0['push'](_0x72a7a0['shift']());}}}(a0_0x463a,0xd4c6c));const {v7:uuidv7}=require('uuid'),path=require(a0_0x3a220d(0x183)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x3a220d(0x173)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x3a220d(0x19c)][a0_0x3a220d(0x187)]||a0_0x3a220d(0x193))['toLowerCase']();let executeQuery;function a0_0x463a(){const _0x3963fa=['AM9PBG','mte5nJrhtLDjBKy','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHWB3j0x2zPBgvFBM90x2zVDw5K','BfndA0K','zxHcDw0','C21uyLi','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zMLSztO','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','Cgf0Aa','shfnsKC','z2v0sM9Iu3rHDhvZ','rMfPBgvKihrVigzLDgnOigrHDge','rejFvfLqrq','EKLHAvi','zxHLy3v0zvf1zxj5','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','uuPfvM8','q3fHB3a','y29UzgL0Aw9UCW','z2vUzxjHDgvkB2jjza','zxjYB3i','rKvjzgq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zMLSzv9WyxrO','Cg9ZDgDYzxnXBa','zxHWB3j0x2zLDgnOx2vYCM9Y','uMnvuve','vfzjBuW','ChjVz3jLC3m','zMfPBgvK','zxHWB3j0x3bYB2nLC3nFzxjYB3i','z2vUzxjHDgvfEgnLBa','Dg9ju09tDhjPBMC','zw52','mNjQwhfQCW','y2HHCKf0','C2fUAxrPEMvwywX1zq','Aw5JBhvKzxm','zw50CMLLCW','cK9srevsiejzia','zMv0y2HeyxrH','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','BwfW','vxnPBMCG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','rxHWB3j0igzPBguGzgvSzxrLza','z2z1seS','zxHWB3j0lq','Aw5MBW','zxHWB3j0x3nLCNzPy2vFAw5PDa','t2DWu0C','iefticGkicaGia','y3DK','zxHWB3j0x2zPBgvFzgvSzxrLza','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','r2P3EhK','D0zjDM8','ChjVy2vZC2LUzW','y29SDw1UCW','Bw9KDwXLtMfTzq','rvHqt1jux0rjuG','z3vzA0O','C3rHDhvZ','Dw5SAw5R','odaZmvrSq1jytW','DMfnvfC','ignVBhvTBNm','AM9Ix2LK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','Cg1Svwe','ndy3otK5mtz4C1frBKC','AhnKufm','tK9uieXjs0u','z2v0qwXSsM9ICW','DhjPBq','CMvWBgfJzq','rxHWB3j0igzHAwXLza','Exnesu0','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','BwTKAxjtEw5J','revtqW','zMLLBgrmywjLBhm','Bfb6vK0','ie9sia','mtqZmJq1wfz6Dg5U','mtqWmhPgvK1XsG','D2fYBG','zxHWB3j0rgLY','DwHIzNe','zMLSzw5HBwu','zxHWB3j0x2zLDgnOx3n0yxj0','CgvUzgLUzW','tvH1sMS','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','Aw52ywXPzf9JB25KAxrPB24','id0G','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','v2XOyKO','txDJvhq','ntbmteLyD0W','D1rnsK0','lI4VDxrPBhmVzgi','u3PRD3m','odi0ogDQs21Kwa','mJqXmZq4nuzNAxfxrq','Be5KrMS','twrIt2q','x2v4Cg9YDerPCG','l2fWAs8','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','cIaGicaGicaG','ChjVy2vZC0PVyG','y3jLyxrLzf9HDa','otq4r3LtwKzb','BgvUz3rO','lNHSC3G','z2v0sM9I','yxDwBva','svmGtK9uie5vteW','y295y28','nJmYmZmWnMXeBxL6rG','zxHWB3j0uxvLCNK','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','weL5weW','yNvPBgrpCMrLCKj5q2XHDxnL','Dg9vChbLCKnHC2u','rfP3vgm','mZuWnwDos3PMDa','yxbHy0u','ChjVy2vZC2vKx3jVD3m','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','y29TCgXLDgvK','iefticGkicaGifnftevdvca','zMLSDgvY','ieLoicG','BwvZC2fNzq','C3vIC3rYAw5N','B0PhvMO','B3jHy2XL','DxbKyxrLsM9I','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','lI4VlI4VzxHWB3j0CY8','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zgvSzxrLsM9I','DejAsMy','r0r6BxK','C3rYAw5N','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zxHPC3rZu3LUyW','Cgf5Bg9Hza','CgfYyw1Z','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','Dg9mB3DLCKnHC2u','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','y29TCgXLDgvKx2f0','C3rHCNrZv2L0Aa'];a0_0x463a=function(){return _0x3963fa;};return a0_0x463a();}if(dbType===a0_0x3a220d(0x166)){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x4195eb,_0x20fad2)=>oracleDb['executeQuery'](_0x4195eb,_0x20fad2);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x3aa723,_0x3231dd)=>mysqlDb[a0_0x3a220d(0x189)](_0x3aa723,_0x3231dd);}else executeQuery=require(a0_0x3a220d(0x140))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x57a35b=a0_0x3a220d,_0x25ca7f={'wGkld':_0x57a35b(0x10c),'OgpSG':'Export\x20service\x20initialized','DZwTc':function(_0x2733c4,_0x2edf8a,_0x929f7a,_0x1eaebf){return _0x2733c4(_0x2edf8a,_0x929f7a,_0x1eaebf);},'IEQTE':'export_service_init_error','MkSxH':_0x57a35b(0x174)};if(!this[_0x57a35b(0x146)]){const _0x527996=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_exportDir']=process[_0x57a35b(0x19c)][_0x57a35b(0x117)]||path[_0x57a35b(0x179)](__dirname,_0x57a35b(0x169)+_0x527996);try{!fsSync[_0x57a35b(0x170)](this['_exportDir'])&&fsSync[_0x57a35b(0x12a)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x25ca7f['wGkld'],'dir':this['_exportDir']},_0x25ca7f[_0x57a35b(0x10d)]);}catch(_0xa461ac){_0x25ca7f[_0x57a35b(0x15a)](logError,_0xa461ac,{'event':_0x25ca7f['IEQTE']},_0x25ca7f['MkSxH']);}}return this['_exportDir'];}['resolveExportQuery'](_0xc57fdb,_0x4b3c8b=null){const _0x2cd453=a0_0x3a220d,_0x3ef784={'RDGzq':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','yOnKu':_0x2cd453(0x171),'apacE':'export_query_file_loaded','GDzmy':function(_0x1e5004,_0x371b7d){return _0x1e5004===_0x371b7d;}};if(!_0xc57fdb||typeof _0xc57fdb!=='string')return _0xc57fdb;const _0x27a073=_0xc57fdb[_0x2cd453(0x125)]();if(!_0x27a073[_0x2cd453(0x178)]('file:'))return _0x27a073;const _0x3f2a34=_0x27a073[_0x2cd453(0x126)](/^file:/,'')['trim']();if(!_0x3f2a34)throw new Error(_0x3ef784['RDGzq']);const _0x1402af=_0x4b3c8b||path['join'](process[_0x2cd453(0x10f)](),_0x3ef784['yOnKu']),_0x2b01f4=path['resolve'](_0x1402af,_0x3f2a34);logger[_0x2cd453(0x10b)]({'event':'export_query_file_resolve','relativePath':_0x3f2a34,'baseDir':_0x1402af,'absolutePath':_0x2b01f4},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x3f2a34);if(!fsSync[_0x2cd453(0x170)](_0x2b01f4))throw new Error(_0x2cd453(0x106)+_0x2b01f4);try{const _0xea8111=fsSync['readFileSync'](_0x2b01f4,'utf8');if(!_0xea8111||!_0xea8111[_0x2cd453(0x125)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x2b01f4);return logger[_0x2cd453(0x10b)]({'event':_0x3ef784[_0x2cd453(0x15c)],'file':_0x2b01f4,'queryLength':_0xea8111['length']},_0x2cd453(0x129)+_0xea8111[_0x2cd453(0x14d)]+'\x20chars)'),_0xea8111[_0x2cd453(0x125)]();}catch(_0x706f1f){if(_0x3ef784[_0x2cd453(0x16d)](_0x706f1f['code'],'ENOENT'))throw new Error(_0x2cd453(0x106)+_0x2b01f4);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x706f1f[_0x2cd453(0x163)]);}}['generateJobId'](){const _0x40f250=a0_0x3a220d,_0x26da56={'Szkws':function(_0x8d35b1,_0x4ac4f9){return _0x8d35b1-_0x4ac4f9;},'uhbfq':function(_0x1d80e4,_0x894cf2){return _0x1d80e4<_0x894cf2;},'CKDHg':function(_0x18ac85,_0x50cb2d){return _0x18ac85*_0x50cb2d;}},_0x412e84=_0x40f250(0x16f),_0x4ee44d=Date['now']()['toString'](0x24),_0x1952b2=uuidv7()[_0x40f250(0x126)](/-/g,'')['substring'](0x0,_0x26da56[_0x40f250(0x141)](0xc,_0x4ee44d[_0x40f250(0x14d)])),_0x5391f4=(_0x4ee44d+_0x1952b2)['substring'](0x0,0xc);let _0x14fcb2='';for(let _0x417483=0x0;_0x26da56[_0x40f250(0x133)](_0x417483,0xc);_0x417483++){_0x5391f4[_0x417483]?_0x14fcb2+=_0x5391f4[_0x417483]:_0x14fcb2+=_0x412e84[_0x40f250(0x19e)](Math['floor'](_0x26da56['CKDHg'](Math['random'](),_0x412e84[_0x40f250(0x14d)])));}return _0x14fcb2;}async['createJob'](_0x3300c6){const _0x30dd69=a0_0x3a220d,_0x1a1996={'kBBEz':'Export\x20processing\x20failed','vaMTW':'export_job_created','XgYHz':'Export\x20job\x20created'},_0x26d369=this[_0x30dd69(0x18e)](),_0x350c6d={'job_id':_0x26d369,'status':_0x30dd69(0x136),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3300c6,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x26d369,_0x350c6d),logger[_0x30dd69(0x10b)]({'event':_0x1a1996[_0x30dd69(0x11c)],'jobId':_0x26d369,'params':_0x3300c6},_0x1a1996['XgYHz']),this[_0x30dd69(0x14a)](_0x26d369,_0x3300c6)['catch'](_0x5ae711=>{const _0x1171e0=_0x30dd69;logError(_0x5ae711,{'event':_0x1171e0(0x199),'jobId':_0x26d369},_0x1a1996['kBBEz']);}),{'job_id':_0x26d369,'status':_0x30dd69(0x136)};}async[a0_0x3a220d(0x185)](_0x293db5){const _0x25b5d3=a0_0x3a220d,_0x2da337=await redisHelper[_0x25b5d3(0x14f)](_0x293db5);if(!_0x2da337)return{'success':![],'error':_0x25b5d3(0x180)};return{'success':!![],'data':{'job_id':_0x2da337[_0x25b5d3(0x11e)],'status':_0x2da337['status'],'progress':_0x2da337[_0x25b5d3(0x197)],'total_rows':_0x2da337['total_rows'],'processed_rows':_0x2da337[_0x25b5d3(0x15d)],'file_url':_0x2da337[_0x25b5d3(0x119)]===_0x25b5d3(0x15f)?_0x25b5d3(0x147)+_0x2da337[_0x25b5d3(0x172)][_0x25b5d3(0x116)]+'/'+_0x2da337[_0x25b5d3(0x172)]['endpointName']+_0x25b5d3(0x148)+_0x293db5:null,'error':_0x2da337[_0x25b5d3(0x18f)]||null,'created_at':_0x2da337['created_at'],'completed_at':_0x2da337[_0x25b5d3(0x177)]||null}};}async[a0_0x3a220d(0x14a)](_0xef61ad,_0x5345e4){const _0x3f3ee7=a0_0x3a220d,_0x20f317={'PhKQI':_0x3f3ee7(0x191),'clCmN':'completed','WlhbJ':_0x3f3ee7(0x127)};try{await redisHelper[_0x3f3ee7(0x167)](_0xef61ad,{'status':_0x3f3ee7(0x114),'started_at':new Date()[_0x3f3ee7(0x19b)]()}),logger[_0x3f3ee7(0x10b)]({'event':_0x20f317['PhKQI'],'jobId':_0xef61ad},'Export\x20processing\x20started');const _0x17b013=await this[_0x3f3ee7(0x102)](_0x5345e4);await redisHelper['updateJob'](_0xef61ad,{'total_rows':_0x17b013['length']});const _0x211f9c=await this['generateExcel'](_0xef61ad,_0x17b013,_0x5345e4);await redisHelper[_0x3f3ee7(0x167)](_0xef61ad,{'status':_0x20f317['clCmN'],'progress':0x64,'file_path':_0x211f9c,'completed_at':new Date()['toISOString']()}),logger['info']({'event':'export_completed','jobId':_0xef61ad,'rows':_0x17b013[_0x3f3ee7(0x14d)]},_0x3f3ee7(0x107));}catch(_0x6020c5){logError(_0x6020c5,{'event':'export_failed','jobId':_0xef61ad},_0x20f317[_0x3f3ee7(0x13c)]),await redisHelper[_0x3f3ee7(0x167)](_0xef61ad,{'status':_0x3f3ee7(0x198),'error':_0x6020c5['message'],'failed_at':new Date()[_0x3f3ee7(0x19b)]()});}}async[a0_0x3a220d(0x102)](_0x2425f9){const _0x2c6502=a0_0x3a220d,_0x5a8d4e={'exBum':function(_0x3bdf02,_0x5e26e0){return _0x3bdf02||_0x5e26e0;},'NNxOh':'tableName\x20and\x20columns\x20are\x20required','cfvCO':function(_0x1e7e2,_0x4fdede){return _0x1e7e2+_0x4fdede;},'PZmyx':'_data','ibckw':'export_using_custom_query','awVmP':'Using\x20auto-generated\x20query','MXuJk':function(_0x3d60b1,_0x1b936d){return _0x3d60b1>_0x1b936d;},'lPzVM':function(_0x597aaf,_0x1c68d6){return _0x597aaf(_0x1c68d6);},'FEIdd':function(_0x2cc010,_0x41ec4b){return _0x2cc010===_0x41ec4b;},'OezyR':_0x2c6502(0x166),'YRgdw':_0x2c6502(0x15e),'MdbOd':'Data\x20fetched\x20successfully','ysDIM':function(_0x4d3e47,_0x4cfc7a,_0x4f12d0,_0xb29673){return _0x4d3e47(_0x4cfc7a,_0x4f12d0,_0xb29673);},'TVImL':_0x2c6502(0x194)};try{const {tableName:_0x4a19d1,columns:_0xe18325,exportQuery:_0x2d23aa,where:_0x48653e,sort_columns:_0x48096f}=_0x2425f9;if(_0x5a8d4e[_0x2c6502(0x17e)](!_0x4a19d1,!_0xe18325)||_0xe18325['length']===0x0)throw new Error(_0x5a8d4e['NNxOh']);const _0x247213=_0x5a8d4e['cfvCO'](_0x4a19d1[_0x2c6502(0x126)](/\./g,'_'),_0x5a8d4e['PZmyx']);let _0x5da1de;if(_0x2d23aa&&_0x2d23aa[_0x2c6502(0x125)]()){let _0x51e707=_0x2d23aa;_0x2d23aa[_0x2c6502(0x125)]()[_0x2c6502(0x178)](_0x2c6502(0x181))&&(_0x51e707=this['resolveExportQuery'](_0x2d23aa)),_0x5da1de='WITH\x20'+_0x247213+_0x2c6502(0x10e)+_0x51e707+'\x0a)',_0x5da1de+='\x0aSELECT\x20*\x20FROM\x20'+_0x247213,logger[_0x2c6502(0x10b)]({'event':_0x5a8d4e['ibckw'],'query':_0x51e707[_0x2c6502(0x164)](0x0,0x64)},_0x2c6502(0x16a));}else{const _0x4cc963=_0xe18325[_0x2c6502(0x104)](_0x210b4d=>_0x2c6502(0x149)+_0x210b4d)[_0x2c6502(0x179)](',');_0x5da1de='WITH\x20'+_0x247213+_0x2c6502(0x160)+_0x4cc963+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4a19d1+'\x0a)',_0x5da1de+='\x0aSELECT\x20*\x20FROM\x20'+_0x247213,logger[_0x2c6502(0x10b)]({'event':'export_using_auto_query','tableName':_0x4a19d1,'columnCount':_0xe18325['length']},_0x5a8d4e[_0x2c6502(0x150)]);}if(_0x48653e){const _0x144242=this['buildWhereClause'](_0x48653e);_0x144242&&(_0x5da1de+='\x0aWHERE\x20'+_0x144242);}if(_0x48096f&&_0x5a8d4e[_0x2c6502(0x137)](_0x48096f['length'],0x0)){const _0x4b6a8e=this[_0x2c6502(0x158)](_0x48096f);_0x4b6a8e&&(_0x5da1de+=_0x2c6502(0x101)+_0x4b6a8e);}logger['info']({'event':_0x2c6502(0x135),'query':_0x5da1de['substring'](0x0,0xc8)},_0x2c6502(0x13b));const _0x39ba41=await _0x5a8d4e[_0x2c6502(0x12d)](executeQuery,_0x5da1de);let _0x7ad4fc=_0x39ba41;return _0x5a8d4e[_0x2c6502(0x190)](dbType,_0x5a8d4e['OezyR'])&&_0x39ba41&&_0x39ba41['length']>0x0&&(_0x7ad4fc=_0x39ba41[_0x2c6502(0x104)](_0x54dac3=>{const _0x5facc2=_0x2c6502,_0x202bd2={};for(const [_0x3c535e,_0x4f1767]of Object[_0x5facc2(0x100)](_0x54dac3)){_0x202bd2[_0x3c535e[_0x5facc2(0x175)]()]=_0x4f1767;}return _0x202bd2;})),logger[_0x2c6502(0x10b)]({'event':_0x5a8d4e['YRgdw'],'rows':_0x7ad4fc['length']},_0x5a8d4e[_0x2c6502(0x145)]),_0x7ad4fc;}catch(_0x3a048c){_0x5a8d4e[_0x2c6502(0x128)](logError,_0x3a048c,{'event':_0x5a8d4e[_0x2c6502(0x196)]},_0x2c6502(0x186));throw _0x3a048c;}}[a0_0x3a220d(0x19f)](_0x6a1965){const _0x39e397=a0_0x3a220d,_0x43201b={'Tbrmm':function(_0x18a1e0,_0x52d97f){return _0x18a1e0===_0x52d97f;},'fWbGp':_0x39e397(0x16e)};if(_0x43201b['Tbrmm'](typeof _0x6a1965,_0x43201b['fWbGp']))return _0x6a1965['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x6a1965))return _0x6a1965[_0x39e397(0x104)](_0x13f63c=>this['sanitizeValue'](_0x13f63c));}return _0x6a1965;}['buildWhereClause'](_0x5252c4){const _0x35b77a=a0_0x3a220d,_0x48d10b={'coyco':function(_0x420e78,_0x420fbe){return _0x420e78===_0x420fbe;},'MRUSl':_0x35b77a(0x139),'lSCkI':_0x35b77a(0x176),'Gjwxy':'LIKE','HqMJG':_0x35b77a(0x151),'zIaiR':'\x20AND\x20'};if(!_0x5252c4||!_0x5252c4[_0x35b77a(0x18d)]||_0x48d10b['coyco'](_0x5252c4['conditions'][_0x35b77a(0x14d)],0x0))return'';const {logic:_0x574bcb,conditions:_0x4ae41b}=_0x5252c4,_0x638865=_0x574bcb&&_0x574bcb['toUpperCase']()==='OR'?_0x35b77a(0x12e):_0x48d10b[_0x35b77a(0x188)],_0x2bdbd0=_0x4ae41b['map'](_0x538f95=>{const _0x4b0a8a=_0x35b77a,{key:_0x2a0225,operator:_0x23a1b0,value:_0x4dfcd2,sensitive:_0x23ee88}=_0x538f95;if(!_0x2a0225||!_0x23a1b0)return logger['warn']({'event':_0x48d10b['MRUSl'],'condition':_0x538f95},_0x48d10b[_0x4b0a8a(0x17d)]),null;const _0x2b7a9f=this[_0x4b0a8a(0x19f)](_0x4dfcd2),_0x38bc35=_0x23ee88!==undefined?_0x23ee88:!![];let _0x364845=_0x2a0225,_0x23a0ac=_0x2b7a9f;!_0x38bc35&&(_0x364845='UPPER('+_0x2a0225+')',typeof _0x4dfcd2==='string'&&(_0x23a0ac=_0x4dfcd2['toUpperCase']()));const _0x451519=_0x48d10b['coyco'](typeof _0x23a0ac,_0x4b0a8a(0x16e))?'\x27'+_0x23a0ac['replace'](/'/g,'\x27\x27')+'\x27':_0x23a0ac;switch(_0x23a1b0['toUpperCase']()){case'=':case'!=':case'<>':return _0x364845+'\x20'+_0x23a1b0+'\x20'+_0x451519;case'>':case'<':case'>=':case'<=':const _0x230552=typeof _0x2b7a9f==='string'?'\x27'+_0x2b7a9f[_0x4b0a8a(0x126)](/'/g,'\x27\x27')+'\x27':_0x2b7a9f;return _0x2a0225+'\x20'+_0x23a1b0+'\x20'+_0x230552;case _0x48d10b[_0x4b0a8a(0x112)]:case _0x4b0a8a(0x123):return _0x364845+'\x20'+_0x23a1b0+'\x20'+_0x451519;case'IN':if(Array['isArray'](_0x2b7a9f)){let _0x3fef9b;return!_0x38bc35?_0x3fef9b=_0x2b7a9f[_0x4b0a8a(0x104)](_0x3e349a=>{const _0x207555=_0x4b0a8a,_0x19b481=_0x48d10b[_0x207555(0x152)](typeof _0x3e349a,'string')?_0x3e349a[_0x207555(0x159)]():_0x3e349a;return typeof _0x19b481==='string'?'\x27'+_0x19b481[_0x207555(0x126)](/'/g,'\x27\x27')+'\x27':_0x19b481;})['join'](',\x20'):_0x3fef9b=_0x2b7a9f['map'](_0x2c9f8f=>typeof _0x2c9f8f===_0x4b0a8a(0x16e)?'\x27'+_0x2c9f8f['replace'](/'/g,'\x27\x27')+'\x27':_0x2c9f8f)['join'](',\x20'),_0x364845+_0x4b0a8a(0x162)+_0x3fef9b+')';}return _0x364845+'\x20IN\x20('+_0x451519+')';case'IS\x20NULL':return _0x2a0225+'\x20IS\x20NULL';case _0x48d10b[_0x4b0a8a(0x184)]:return _0x2a0225+'\x20IS\x20NOT\x20NULL';default:logger[_0x4b0a8a(0x131)]({'event':'unknown_operator','operator':_0x23a1b0},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x364845+_0x4b0a8a(0x13a)+_0x451519;}})[_0x35b77a(0x161)](_0x383583=>_0x383583!==null);if(_0x2bdbd0[_0x35b77a(0x14d)]===0x0)return'';return _0x2bdbd0[_0x35b77a(0x179)](_0x638865);}[a0_0x3a220d(0x158)](_0x4cdce1){const _0x49a470=a0_0x3a220d,_0xfbc707={'RcUQQ':'invalid_sort_column','XIyXL':'ASC','RVDOT':function(_0x42c78a,_0x2c2e93){return _0x42c78a===_0x2c2e93;}};if(!_0x4cdce1||_0xfbc707['RVDOT'](_0x4cdce1['length'],0x0))return'';const _0x271e12=_0x4cdce1[_0x49a470(0x104)](_0x1ffc41=>{const _0x2e31e7=_0x49a470,{column:_0x1593b7,direction:_0xc0423b}=_0x1ffc41;if(!_0x1593b7)return logger[_0x2e31e7(0x131)]({'event':_0xfbc707[_0x2e31e7(0x195)],'item':_0x1ffc41},_0x2e31e7(0x168)),null;const _0x2fc632=_0xc0423b&&_0xc0423b['toUpperCase']()===_0x2e31e7(0x12b)?_0x2e31e7(0x12b):_0xfbc707[_0x2e31e7(0x157)];return _0x1593b7+'\x20'+_0x2fc632;})['filter'](_0x368a7f=>_0x368a7f!==null);if(_0x271e12[_0x49a470(0x14d)]===0x0)return'';return _0x271e12['join'](',\x20');}async[a0_0x3a220d(0x19a)](_0x1eeabd,_0xe4a86f,_0xa9e819){const _0x1dfc79=a0_0x3a220d,_0x549e52={'MwcTt':function(_0x3eb7b2,_0x29c4ff){return _0x3eb7b2/_0x29c4ff;},'xOeFI':function(_0x3bda33,_0x942748){return _0x3bda33(_0x942748);},'UurgW':_0x1dfc79(0x182),'guYkJ':function(_0x23d2db,_0x2c8302){return _0x23d2db===_0x2c8302;},'pmlUa':'all','oMFbn':function(_0x1c77d4,_0x554612){return _0x1c77d4>_0x554612;},'yjMCz':_0x1dfc79(0x17b),'QJEVo':'excel_columns_select_all','hsdPS':function(_0x5e91b4,_0xabc958){return _0x5e91b4>_0xabc958;},'gfuHK':'excel_columns_fallback','lNdFk':'excel_columns_from_query_result'},_0x2d3067=_0x549e52['xOeFI'](require,_0x549e52['UurgW']),_0x56acf1=new _0x2d3067(),_0x32d7e1=_0xa9e819[_0x1dfc79(0x134)]?_0xa9e819['filename']+'-'+_0x1eeabd:_0x1dfc79(0x10a)+_0x1eeabd,_0x179710=path[_0x1dfc79(0x179)](this[_0x1dfc79(0x132)],_0x32d7e1+_0x1dfc79(0x14e));let _0x40bce7=_0xa9e819[_0x1dfc79(0x115)];const _0x4565c9=_0xa9e819[_0x1dfc79(0x154)]&&_0xa9e819['exportQuery'][_0x1dfc79(0x125)](),_0x43fe99=_0x40bce7&&_0x40bce7[_0x1dfc79(0x14d)]===0x1&&(_0x40bce7[0x0]==='*'||_0x549e52[_0x1dfc79(0x118)](_0x40bce7[0x0][_0x1dfc79(0x175)](),_0x549e52[_0x1dfc79(0x120)]));if(_0x549e52['oMFbn'](_0xe4a86f['length'],0x0)){const _0x5e1635=Object['keys'](_0xe4a86f[0x0]);if(_0x4565c9)_0x40bce7=_0x5e1635,logger['info']({'event':_0x549e52['yjMCz'],'columns':_0x40bce7},'Using\x20'+_0x40bce7['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x43fe99)_0x40bce7=_0x5e1635,logger['info']({'event':_0x549e52[_0x1dfc79(0x18b)],'columns':_0x40bce7},'Using\x20all\x20'+_0x40bce7[_0x1dfc79(0x14d)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x40bce7&&_0x549e52[_0x1dfc79(0x122)](_0x40bce7[_0x1dfc79(0x14d)],0x0)){const _0x551efa=_0x40bce7['filter'](_0x4df580=>_0x5e1635[_0x1dfc79(0xff)](_0x4df580));_0x551efa['length']>0x0?(_0x40bce7=_0x551efa,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0xa9e819['columns'],'validColumns':_0x40bce7},'Using\x20'+_0x40bce7['length']+'\x20columns\x20from\x20request')):(_0x40bce7=_0x5e1635,logger['warn']({'event':_0x549e52[_0x1dfc79(0x109)],'requestedColumns':_0xa9e819['columns'],'availableColumns':_0x5e1635},_0x1dfc79(0x156)+_0x5e1635[_0x1dfc79(0x14d)]+_0x1dfc79(0x11d)));}else _0x40bce7=_0x5e1635,logger[_0x1dfc79(0x10b)]({'event':_0x549e52[_0x1dfc79(0x144)],'columns':_0x40bce7},'Using\x20'+_0x40bce7[_0x1dfc79(0x14d)]+_0x1dfc79(0x103));}}}else logger['info']({'event':'excel_columns_from_config','columns':_0x40bce7},_0x1dfc79(0x105)+(_0x40bce7?.[_0x1dfc79(0x14d)]||0x0)+_0x1dfc79(0x18a));return await _0x56acf1['generate']({'data':_0xe4a86f,'columns':_0x40bce7,'columnFormats':_0xa9e819['columnFormats']||null,'fieldLabels':_0xa9e819[_0x1dfc79(0x12c)]||null,'filePath':_0x179710,'onProgress':async _0x2daee0=>{const _0x5f28c6=_0x1dfc79;await redisHelper['updateJob'](_0x1eeabd,{'progress':Math['round'](_0x2daee0),'processed_rows':Math['round'](_0x549e52[_0x5f28c6(0x13d)](_0x2daee0,0x64)*_0xe4a86f['length'])});}}),_0x179710;}async['getFilePath'](_0x337322){const _0x2d750f=a0_0x3a220d,_0x27757d={'xgNyG':'completed','wTMJM':function(_0x2827cf,_0x5e0772,_0x281367,_0x33d0d4){return _0x2827cf(_0x5e0772,_0x281367,_0x33d0d4);},'srVVV':_0x2d750f(0x17c),'YUUzZ':'Export\x20file\x20not\x20found'},_0x4b9a85=await redisHelper[_0x2d750f(0x14f)](_0x337322);if(!_0x4b9a85||_0x4b9a85['status']!==_0x27757d['xgNyG'])return null;try{return await fs['access'](_0x4b9a85['file_path']),_0x4b9a85[_0x2d750f(0x192)];}catch(_0x2de40d){return _0x27757d[_0x2d750f(0x13f)](logError,_0x2de40d,{'event':_0x27757d['srVVV'],'jobId':_0x337322,'path':_0x4b9a85[_0x2d750f(0x192)]},_0x27757d['YUUzZ']),null;}}async['cleanup'](){const _0x4ca170=a0_0x3a220d,_0x707779={'oJGVj':'export_cleanup_start','Cqaop':function(_0x2bc18f,_0x3fc5a6){return _0x2bc18f/_0x3fc5a6;},'smTbR':function(_0x2d9065,_0x5bfc6e){return _0x2d9065-_0x5bfc6e;},'wFIvo':function(_0x22ecf3,_0x12ca21){return _0x22ecf3>_0x12ca21;},'GhiYW':_0x4ca170(0x108),'tBZJf':_0x4ca170(0x111),'CrAeL':_0x4ca170(0x11f)};logger[_0x4ca170(0x10b)]({'event':_0x707779[_0x4ca170(0x165)]},'Starting\x20export\x20cleanup');const _0xa58661=await redisHelper[_0x4ca170(0x124)]();let _0x4a3471=0x0;for(const _0x2b91b9 of _0xa58661){const _0x33cec5=new Date(_0x2b91b9[_0x4ca170(0x14b)]),_0x251669=new Date(),_0x46fbd7=_0x707779[_0x4ca170(0x18c)](_0x707779[_0x4ca170(0x17f)](_0x251669,_0x33cec5),0x3e8*0x3c*0x3c);if(_0x707779[_0x4ca170(0x113)](_0x46fbd7,0x1)){if(_0x2b91b9[_0x4ca170(0x192)])try{await fs[_0x4ca170(0x11a)](_0x2b91b9[_0x4ca170(0x192)]),logger[_0x4ca170(0x10b)]({'event':_0x4ca170(0x110),'path':_0x2b91b9[_0x4ca170(0x192)]},_0x707779['GhiYW']);}catch(_0x54a09d){logger['warn']({'event':_0x4ca170(0x138),'path':_0x2b91b9['file_path'],'error':_0x54a09d['message']},_0x707779[_0x4ca170(0x16c)]);}await redisHelper[_0x4ca170(0x16b)](_0x2b91b9[_0x4ca170(0x11e)]),_0x4a3471++;}}return logger[_0x4ca170(0x10b)]({'event':_0x707779['CrAeL'],'deleted':_0x4a3471},_0x4ca170(0x155)),_0x4a3471;}}function a0_0x103f(_0x4801b9,_0xb74a48){_0x4801b9=_0x4801b9-0xff;const _0x463ac5=a0_0x463a();let _0x103f51=_0x463ac5[_0x4801b9];if(a0_0x103f['TigYHj']===undefined){var _0x1050e2=function(_0x49457b){const _0x58abff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x417c2a='',_0x215ec5='';for(let _0x2a17d6=0x0,_0x385769,_0x3f9d59,_0x33e2d9=0x0;_0x3f9d59=_0x49457b['charAt'](_0x33e2d9++);~_0x3f9d59&&(_0x385769=_0x2a17d6%0x4?_0x385769*0x40+_0x3f9d59:_0x3f9d59,_0x2a17d6++%0x4)?_0x417c2a+=String['fromCharCode'](0xff&_0x385769>>(-0x2*_0x2a17d6&0x6)):0x0){_0x3f9d59=_0x58abff['indexOf'](_0x3f9d59);}for(let _0x5c5cc5=0x0,_0x184523=_0x417c2a['length'];_0x5c5cc5<_0x184523;_0x5c5cc5++){_0x215ec5+='%'+('00'+_0x417c2a['charCodeAt'](_0x5c5cc5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x215ec5);};a0_0x103f['ldBUKR']=_0x1050e2,a0_0x103f['pgHuth']={},a0_0x103f['TigYHj']=!![];}const _0x474688=_0x463ac5[0x0],_0x2538f7=_0x4801b9+_0x474688,_0x176947=a0_0x103f['pgHuth'][_0x2538f7];return!_0x176947?(_0x103f51=a0_0x103f['ldBUKR'](_0x103f51),a0_0x103f['pgHuth'][_0x2538f7]=_0x103f51):_0x103f51=_0x176947,_0x103f51;}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4e2f(_0x2e5c49,_0x1789df){_0x2e5c49=_0x2e5c49-0x1b1;const _0x2eaeea=a0_0x2eae();let _0x4e2f7f=_0x2eaeea[_0x2e5c49];if(a0_0x4e2f['kpIDmz']===undefined){var _0x259c46=function(_0x1fb6b1){const _0x2780c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25e07f='',_0x459b4d='';for(let _0x12fc3c=0x0,_0x27742d,_0x23ed0f,_0x2d826f=0x0;_0x23ed0f=_0x1fb6b1['charAt'](_0x2d826f++);~_0x23ed0f&&(_0x27742d=_0x12fc3c%0x4?_0x27742d*0x40+_0x23ed0f:_0x23ed0f,_0x12fc3c++%0x4)?_0x25e07f+=String['fromCharCode'](0xff&_0x27742d>>(-0x2*_0x12fc3c&0x6)):0x0){_0x23ed0f=_0x2780c2['indexOf'](_0x23ed0f);}for(let _0x9d97c6=0x0,_0x245967=_0x25e07f['length'];_0x9d97c6<_0x245967;_0x9d97c6++){_0x459b4d+='%'+('00'+_0x25e07f['charCodeAt'](_0x9d97c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x459b4d);};a0_0x4e2f['xPRfZe']=_0x259c46,a0_0x4e2f['KFWLuE']={},a0_0x4e2f['kpIDmz']=!![];}const _0x41bd84=_0x2eaeea[0x0],_0xcab8f4=_0x2e5c49+_0x41bd84,_0x27c436=a0_0x4e2f['KFWLuE'][_0xcab8f4];return!_0x27c436?(_0x4e2f7f=a0_0x4e2f['xPRfZe'](_0x4e2f7f),a0_0x4e2f['KFWLuE'][_0xcab8f4]=_0x4e2f7f):_0x4e2f7f=_0x27c436,_0x4e2f7f;}const a0_0x193d8a=a0_0x4e2f;(function(_0x39b78f,_0x24816a){const _0x468baa=a0_0x4e2f,_0x2919ba=_0x39b78f();while(!![]){try{const _0x15d6bb=parseInt(_0x468baa(0x1f1))/0x1+parseInt(_0x468baa(0x25c))/0x2*(-parseInt(_0x468baa(0x219))/0x3)+-parseInt(_0x468baa(0x23d))/0x4*(-parseInt(_0x468baa(0x1b3))/0x5)+parseInt(_0x468baa(0x24b))/0x6*(parseInt(_0x468baa(0x1b9))/0x7)+parseInt(_0x468baa(0x1ed))/0x8+parseInt(_0x468baa(0x253))/0x9*(-parseInt(_0x468baa(0x1f0))/0xa)+parseInt(_0x468baa(0x239))/0xb*(parseInt(_0x468baa(0x1dc))/0xc);if(_0x15d6bb===_0x24816a)break;else _0x2919ba['push'](_0x2919ba['shift']());}catch(_0x2819d9){_0x2919ba['push'](_0x2919ba['shift']());}}}(a0_0x2eae,0x2184b));const {v7:uuidv7}=require(a0_0x193d8a(0x218)),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x193d8a(0x209)),{logger,logError}=require(a0_0x193d8a(0x25a)),dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0xc535fa,_0x547ba0)=>oracleDb['executeQuery'](_0xc535fa,_0x547ba0),executeTransaction=_0x12bb4f=>oracleDb['executeTransaction'](_0x12bb4f);else{if(dbType===a0_0x193d8a(0x230)){const mysqlDb=require(a0_0x193d8a(0x1db));executeQuery=(_0x1ff9e1,_0x1df530)=>mysqlDb['executeQuery'](_0x1ff9e1,_0x1df530),executeTransaction=_0x207d17=>mysqlDb['executeTransaction'](_0x207d17);}else{const db=require('../utils/db');executeQuery=db[a0_0x193d8a(0x1d0)],executeTransaction=db['executeTransaction'];}}function a0_0x2eae(){const _0x6e6cef=['zMLSDgvY','Dg9ju09tDhjPBMC','mtu0sxHSCgHo','y3jLyxrLq29TBwL0sM9I','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','vxrQrwy','cIaGicaGicaGrLjptsa','z2v0sM9Iu3rHDhvZ','x2DLBMvYyxrLzf91DwLK','x2vYCM9YCW','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','Dg9vChbLCKnHC2u','DhjPBq','rhvWBgLJyxrLihzHBhvLigzVCIa','C3vIC3rYAw5N','Cgf0Aa','DhLWzq','rMf5AMS','C2XPy2u','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AwrKsMK','tw9WDNO','ChvZAa','DgfYz2v0rMLLBgq','tevMq08','zxHLy3v0zvf1zxj5','CM93sw5KzxG','tLvmta','t1rfsuu','z2v0tw9UDgG','y29TBwL0x2PVyL9JCMvHDgvK','A2v5CW','r1f5qwq','Aw5MBW','yNvPBgrcyxrJAeLUC2vYDa','DMfSAwrHDgLUzW','lI4VDxrPBhmVzgiTBxLZCwW','nJK1odHnsLnUqNC','zM9YrwfJAa','r3rXB2i','cIaGicaGicaGv0HfuKuG','AM9Ix2LK','zMLLBgroyw1L','yMjxuvK','ChjLDMLLD19QB2jFzMfPBgvK','B3jHy2XL','EgzXBhy','rhbztwG','vvbeqvrf','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u0Tjua','DgXbrue','DxbSB2fKoG','sffYBgq','mJaZodKYmffnt0PxEq','Dhj1zq','x2v4Axn0Aw5Nswq','nZbote50zu8','nta4mwz6u1jHvG','BNvWrfu','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','q21fAhq','s2HsALu','C2v0sM9I','C2TPCf9LEgLZDgLUzW','Dgv4Da','zMLLBgrmywjLBhm','yuD0B3m','EKHRsxK','BuXMq2i','Aw5JBhvKzxm','kqOGicaGica','ChjVy2vZC2vKuM93CW','rvrWu0i','CgfYC2vfEgnLBezPBgu','zw50CMLLCW','EwvZ','C2L6zq','z2vUzxjHDgvjza','zxjYB3jZ','y3jLyxrLzf9HDa','BNvTyMvY','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','ugPosMe','wNLNyve','z2v0','rM1oC00','tLbdrgS','q29TBwL0igPVyIbMywLSzwq','q29TBwL0igPVyIbJCMvHDgvK','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y29SDw1UrM9YBwf0CW','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','q2XUEue','t2rYs0C','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','BgvUz3rO','DxvPza','mZyXndDtAgDPtgW','ChjLDMLLD19VAW','BM93','Dw5SAw5R','Aw5Zzxj0x29UBhK','AM9IoG','C3rYAw5N','yxLtENe','C2v0','wu5uuwC','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','rfbvzwO','Dvf3BvC','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','twHxC2e','wvb2EMS','v215ywG','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','wg90qvm','yNvPBgrmywjLBfrVrMLLBgrnyxa','zMfPBgvK','BxLZCwW','DxbSB2fKx2LK','ieLoicG','y291BNq','zNjVBq','DxvPzf9HDxrVx2DLBMvYyxrLza','yNvPBgrcyxrJAfvWzgf0zq','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','igf0ihjVDYa','nJzuAejzA2K','BwfW','DxbSB2fKrMLSzq','ExDjEgu','oty0mJHzrhrKCMi','Aw5Zzxj0','BwvZC2fNzq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','x3vWBg9HzerPCG','DxbKyxrLx2v4Axn0Aw5N','B0fHB0W','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Aw5KzxHpzG','BwLZC2LUz0zPzwXKCW','zgvIDwC','zMLUza','ChjVy2vZC2LUzW','ndm3nhfmshnvAa','D1Dit3e','reTnDue','C3rHDhvZ','x2fJDgLVBG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DxbSB2fKrgLY','C2nVCgvpDMvYCMLKzq','mJm4nJyYBKPYz0nS','Dg9mB3DLCKnHC2u','ChjLDMLLD19LCNjVCG','CMvWBgfJzq','zMXVB3i','Bwf0y2G','y2f0y2G','lI4VDxrPBhmVBg9Nz2vY','rfDzt3q','mZH1EgH3uNG','vLLkD1G','CgfKu3rHCNq','vfnrDgS','ntbJBhL3uM4','z2v0sM9I','BMvtq3e','AM9PBG'];a0_0x2eae=function(){return _0x6e6cef;};return a0_0x2eae();}const excelParser=require(a0_0x193d8a(0x241)),importValidator=require(a0_0x193d8a(0x227)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x55e942=a0_0x193d8a;this[_0x55e942(0x242)]=null;}get[a0_0x193d8a(0x251)](){const _0x5766e9=a0_0x193d8a;if(!this[_0x5766e9(0x242)]){const _0x5cc3e7=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x5766e9(0x1b6)](__dirname,'../../temp/uploads/'+_0x5cc3e7);}return this['_uploadDir'];}[a0_0x193d8a(0x205)](){const _0x5c735f=a0_0x193d8a,_0x16781f={'MhWsa':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'},_0x40b49e=_0x16781f[_0x5c735f(0x228)],_0x154607=Date[_0x5c735f(0x21b)]()['toString'](0x24),_0x2d570c=uuidv7()[_0x5c735f(0x256)](/-/g,'')['substring'](0x0,0xc-_0x154607[_0x5c735f(0x217)]),_0x3a6779=(_0x154607+_0x2d570c)[_0x5c735f(0x1c5)](0x0,0xc);let _0x451b0c='';for(let _0x105338=0x0;_0x105338<0xc;_0x105338++){_0x3a6779[_0x105338]?_0x451b0c+=_0x3a6779[_0x105338]:_0x451b0c+=_0x40b49e['charAt'](Math[_0x5c735f(0x257)](Math['random']()*_0x40b49e['length']));}return _0x451b0c;}[a0_0x193d8a(0x22e)](_0x12ccaa){const _0x4114e7=a0_0x193d8a,_0x110956={'JIfMH':function(_0x5e8781,_0x38712d){return _0x5e8781(_0x38712d);},'GQyAd':'$1_$2','uxsHM':'Label\x20to\x20field\x20mapping\x20built'},_0xe4f116=new Map();if(!_0x12ccaa)return _0xe4f116;return Object[_0x4114e7(0x202)](_0x12ccaa)['forEach'](([_0x4537ea,_0x4453c9])=>{const _0x2e36cb=_0x4114e7,_0x2676e2=_0x110956['JIfMH'](String,_0x4453c9)['trim']()[_0x2e36cb(0x256)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x110956[_0x2e36cb(0x1d7)])[_0x2e36cb(0x256)](/([A-Z]+)([A-Z][a-z])/g,_0x110956['GQyAd'])[_0x2e36cb(0x254)]();_0xe4f116[_0x2e36cb(0x221)](_0x2676e2,_0x4537ea);}),logger['debug']({'event':_0x4114e7(0x211),'mappingCount':_0xe4f116[_0x4114e7(0x204)]},_0x110956['uxsHM']),_0xe4f116;}['applyColumnFormats'](_0x40708f,_0x2d8fc1){const _0x465a20=a0_0x193d8a,_0x243dae={'Wmyah':function(_0x2c6a1e,_0x386153){return _0x2c6a1e===_0x386153;},'MXxiM':function(_0x4e6da0,_0x1ecf36){return _0x4e6da0===_0x1ecf36;},'OTEIE':'boolean','ywIxe':function(_0x37d679,_0x1cd762){return _0x37d679===_0x1cd762;}};if(!_0x2d8fc1||_0x243dae[_0x465a20(0x23c)](Object['keys'](_0x2d8fc1)['length'],0x0))return _0x40708f;return _0x40708f[_0x465a20(0x23a)](_0x449bd9=>{const _0x54b0cf=_0x465a20,_0x2c0f81={..._0x449bd9};for(const [_0x66387a,_0x3527e8]of Object[_0x54b0cf(0x202)](_0x2d8fc1)){const _0x11a3a3=_0x2c0f81[_0x66387a];if(_0x243dae[_0x54b0cf(0x22a)](_0x11a3a3,null)||_0x243dae['MXxiM'](_0x11a3a3,undefined)||_0x11a3a3===''){_0x2c0f81[_0x66387a]=null;continue;}switch(_0x3527e8[_0x54b0cf(0x1c7)]){case'date':_0x2c0f81[_0x66387a]=this['formatDateForDatabase'](_0x11a3a3);break;case'number':_0x2c0f81[_0x66387a]=this['formatNumberForDatabase'](_0x11a3a3);break;case _0x243dae[_0x54b0cf(0x1d3)]:_0x2c0f81[_0x66387a]=this['formatBooleanForDatabase'](_0x11a3a3);break;case _0x54b0cf(0x1f8):_0x2c0f81[_0x66387a]=String(_0x11a3a3);break;default:break;}}return _0x2c0f81;});}['formatDateForDatabase'](_0x3a87a2){const _0x254a65=a0_0x193d8a,_0x37a0c6={'CgvIH':function(_0x355878,_0x304d7e){return _0x355878===_0x304d7e;},'KhRjU':function(_0x39b0e8,_0x3a812b){return _0x39b0e8===_0x3a812b;},'xtPXS':function(_0x558f37,_0xf0566e){return _0x558f37+_0xf0566e;},'ClnyA':function(_0x548ba5,_0x56914e){return _0x548ba5(_0x56914e);},'onekU':_0x254a65(0x21f)};if(_0x37a0c6['CgvIH'](_0x3a87a2,null)||_0x37a0c6['KhRjU'](_0x3a87a2,undefined)||_0x3a87a2==='')return null;if(_0x37a0c6[_0x254a65(0x1f5)](typeof _0x3a87a2,_0x254a65(0x21f))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x3a87a2))return _0x3a87a2;if(_0x3a87a2 instanceof Date){if(isNaN(_0x3a87a2['getTime']()))return null;const _0x7dd1bd=_0x3a87a2['getFullYear'](),_0x31cd29=String(_0x37a0c6['xtPXS'](_0x3a87a2[_0x254a65(0x1d4)](),0x1))[_0x254a65(0x1b1)](0x2,'0'),_0x2cfac6=_0x37a0c6[_0x254a65(0x214)](String,_0x3a87a2['getDate']())['padStart'](0x2,'0');return _0x7dd1bd+'-'+_0x31cd29+'-'+_0x2cfac6;}if(typeof _0x3a87a2===_0x37a0c6['onekU']){const _0x436e9d=_0x3a87a2[_0x254a65(0x258)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x436e9d){const _0x2cd570=String(_0x436e9d[0x1])[_0x254a65(0x1b1)](0x2,'0'),_0x580f57=String(_0x436e9d[0x2])['padStart'](0x2,'0'),_0x5c1706=_0x436e9d[0x3];return _0x5c1706+'-'+_0x580f57+'-'+_0x2cd570;}const _0x19af3f=_0x3a87a2['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x19af3f){const _0x322636=_0x19af3f[0x1],_0xcbdb13=_0x37a0c6[_0x254a65(0x214)](String,_0x19af3f[0x2])[_0x254a65(0x1b1)](0x2,'0'),_0xb2398f=_0x37a0c6[_0x254a65(0x214)](String,_0x19af3f[0x3])['padStart'](0x2,'0');return _0x322636+'-'+_0xcbdb13+'-'+_0xb2398f;}}return _0x3a87a2;}['formatNumberForDatabase'](_0x29329a){const _0x41886e=a0_0x193d8a,_0x4b9002={'YPvzk':function(_0x2440ba,_0x15ae87){return _0x2440ba===_0x15ae87;},'FmNsM':function(_0x4fbd5c,_0x557043){return _0x4fbd5c===_0x557043;},'NPCDk':_0x41886e(0x21f)};if(_0x4b9002[_0x41886e(0x229)](_0x29329a,null)||_0x29329a===undefined||_0x4b9002[_0x41886e(0x229)](_0x29329a,''))return null;if(_0x4b9002['FmNsM'](typeof _0x29329a,_0x41886e(0x208)))return isNaN(_0x29329a)?null:_0x29329a;if(_0x4b9002[_0x41886e(0x20d)](typeof _0x29329a,_0x4b9002[_0x41886e(0x20e)])){let _0xabdf3b=_0x29329a[_0x41886e(0x1c3)]();const _0x18c48e=/,\d{1,2}$/['test'](_0xabdf3b)&&!/,\d{3}/['test'](_0xabdf3b);_0x18c48e?_0xabdf3b=_0xabdf3b[_0x41886e(0x256)](/\./g,'')[_0x41886e(0x256)](',','.'):_0xabdf3b=_0xabdf3b[_0x41886e(0x256)](/,/g,'');const _0xb90cf3=parseFloat(_0xabdf3b);return isNaN(_0xb90cf3)?null:_0xb90cf3;}return null;}['formatBooleanForDatabase'](_0x9de4ff){const _0x3c2ccd=a0_0x193d8a,_0x18e93a={'OnlMu':function(_0x113ba9,_0x35b9c2){return _0x113ba9===_0x35b9c2;},'WkTFL':function(_0xbe4d86,_0x41a041){return _0xbe4d86===_0x41a041;},'DPUej':_0x3c2ccd(0x1ee),'OdrKG':'false','XotAS':function(_0x3f2c3a,_0x5524bd){return _0x3f2c3a===_0x5524bd;}};if(_0x9de4ff===null||_0x18e93a['OnlMu'](_0x9de4ff,undefined)||_0x18e93a['WkTFL'](_0x9de4ff,''))return null;if(_0x18e93a['WkTFL'](typeof _0x9de4ff,'boolean'))return _0x9de4ff?_0x18e93a[_0x3c2ccd(0x224)]:_0x18e93a[_0x3c2ccd(0x215)];if(_0x18e93a[_0x3c2ccd(0x22d)](typeof _0x9de4ff,_0x3c2ccd(0x21f))){const _0x5cd07d=_0x9de4ff['trim']()['toLowerCase']();if([_0x3c2ccd(0x1ee),_0x3c2ccd(0x203),'y','1'][_0x3c2ccd(0x1fd)](_0x5cd07d))return _0x18e93a[_0x3c2ccd(0x224)];if([_0x18e93a[_0x3c2ccd(0x215)],'no','n','0']['includes'](_0x5cd07d))return _0x18e93a['OdrKG'];return null;}if(typeof _0x9de4ff==='number')return _0x9de4ff?_0x18e93a[_0x3c2ccd(0x224)]:'false';return null;}async[a0_0x193d8a(0x23b)](_0x5f3fd0,_0x184296){const _0x35b99e=a0_0x193d8a,_0x5529c6={'iddJi':'headers_mapped','ETpSB':function(_0x1ef9cd,_0x4fa480){return _0x1ef9cd>_0x4fa480;},'YieGz':'Column\x20formats\x20applied\x20to\x20rows','PjNJa':_0x35b99e(0x213),'HQrld':_0x35b99e(0x216),'iJklb':_0x35b99e(0x1bb),'Mopvz':function(_0x40e570,_0x2b03e9,_0x309280,_0x26877c){return _0x40e570(_0x2b03e9,_0x309280,_0x26877c);}},_0xeec301=this['generateId']();try{let {headers:_0x597141,rows:_0x3e22fa,totalRows:_0x49ca95}=await excelParser[_0x35b99e(0x201)](_0x5f3fd0[_0x35b99e(0x1c6)]);const _0x528432=this[_0x35b99e(0x22e)](_0x184296[_0x35b99e(0x1f9)]),_0x2bdb19=_0x597141['map'](_0x3d6b0c=>{const _0x39f658=_0x528432['get'](_0x3d6b0c);return _0x39f658||_0x3d6b0c;});_0x3e22fa=_0x3e22fa[_0x35b99e(0x23a)](_0x169ff7=>{const _0x2b14ce=_0x35b99e,_0x50b50e={};return _0x597141[_0x2b14ce(0x1dd)]((_0x57c633,_0x5d8099)=>{const _0x33b190=_0x2bdb19[_0x5d8099];_0x50b50e[_0x33b190]=_0x169ff7[_0x57c633];}),_0x50b50e;}),_0x597141=_0x2bdb19,logger['debug']({'event':_0x5529c6[_0x35b99e(0x1cb)],'original':_0x597141[_0x35b99e(0x217)],'mapped':_0x2bdb19['filter']((_0x236002,_0x4be4cc)=>_0x236002!==_0x597141[_0x4be4cc])[_0x35b99e(0x217)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x184296['columnFormats']&&_0x5529c6[_0x35b99e(0x200)](Object[_0x35b99e(0x1d6)](_0x184296['columnFormats'])[_0x35b99e(0x217)],0x0)&&(_0x3e22fa=this['applyColumnFormats'](_0x3e22fa,_0x184296[_0x35b99e(0x212)]),logger[_0x35b99e(0x248)]({'event':_0x35b99e(0x22b),'formatCount':Object['keys'](_0x184296[_0x35b99e(0x212)])[_0x35b99e(0x217)],'formats':Object[_0x35b99e(0x1d6)](_0x184296['columnFormats'])},_0x5529c6['YieGz']));if(_0x184296['scopeOverride']&&_0x184296['scopeOverride']['column']){const {column:_0x1562a8,value:_0x168d55}=_0x184296[_0x35b99e(0x252)];_0x3e22fa=_0x3e22fa[_0x35b99e(0x23a)](_0x1f810d=>({..._0x1f810d,[_0x1562a8]:_0x168d55})),logger['debug']({'event':_0x5529c6[_0x35b99e(0x20a)],'column':_0x1562a8,'rowCount':_0x3e22fa[_0x35b99e(0x217)]},_0x5529c6[_0x35b99e(0x1ec)]);}const _0x458cdd=_0x184296['lookupFields']?Object['values'](_0x184296['lookupFields'])[_0x35b99e(0x23a)](_0x2714b0=>_0x2714b0[_0x35b99e(0x1ce)]):[],_0x1931b3=_0x184296[_0x35b99e(0x1e1)]['filter'](_0x33b495=>!_0x458cdd[_0x35b99e(0x1fd)](_0x33b495)),_0x1753ab=excelParser[_0x35b99e(0x250)](_0x597141,_0x1931b3);if(!_0x1753ab['valid']){await fs['unlink'](_0x5f3fd0['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x1753ab[_0x35b99e(0x247)][_0x35b99e(0x1b6)](',\x20'));}const _0x2a98a2={'upload_id':_0xeec301,'filename':_0x5f3fd0['originalname'],'total_rows':_0x49ca95,'headers':_0x597141,'rows':_0x3e22fa,'params':_0x184296,'created_at':new Date()[_0x35b99e(0x1b8)]()};return await redisHelper['setJob'](_0x35b99e(0x1eb)+_0xeec301,_0x2a98a2,0xe10),await fs['unlink'](_0x5f3fd0[_0x35b99e(0x1c6)]),logger['info']({'event':_0x5529c6['iJklb'],'uploadId':_0xeec301,'filename':_0x5f3fd0['originalname'],'totalRows':_0x49ca95},_0x35b99e(0x1e8)),{'upload_id':_0xeec301,'total_rows':_0x49ca95,'preview':_0x3e22fa['slice'](0x0,0xa)};}catch(_0x11daf9){try{await fs[_0x35b99e(0x21c)](_0x5f3fd0['path']);}catch(_0x4c95b9){_0x5529c6[_0x35b99e(0x1cc)](logError,_0x4c95b9,{'event':'file_cleanup_error'},_0x35b99e(0x245));}throw _0x11daf9;}}async['createPreviewJob'](_0x1b00cf){const _0x1edc6c=a0_0x193d8a,_0x752b72={'YNTQg':_0x1edc6c(0x1ca),'WMMsL':'Preview\x20job\x20created','oAaoL':_0x1edc6c(0x1da)},_0x276635=this[_0x1edc6c(0x205)](),_0xba9cce=await redisHelper[_0x1edc6c(0x1b4)](_0x1edc6c(0x1eb)+_0x1b00cf);if(!_0xba9cce)throw new Error(_0x752b72[_0x1edc6c(0x222)]);const _0x1629be={'job_id':_0x276635,'upload_id':_0x1b00cf,'status':_0x1edc6c(0x1da),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xba9cce['params']};return await redisHelper[_0x1edc6c(0x1f6)](_0x1edc6c(0x21e)+_0x276635,_0x1629be,0xe10),logger[_0x1edc6c(0x1d8)]({'event':'preview_job_created','jobId':_0x276635,'uploadId':_0x1b00cf},_0x752b72['WMMsL']),this['processPreviewJob'](_0x276635,_0x1b00cf,_0xba9cce)[_0x1edc6c(0x259)](_0x157ee2=>{const _0x395f97=_0x1edc6c;logError(_0x157ee2,{'event':'preview_process_error','jobId':_0x276635},_0x395f97(0x1f3));}),{'job_id':_0x276635,'status':_0x752b72[_0x1edc6c(0x244)]};}['autoGenerateUpsertKeys'](_0x244d8a,_0x515b68){const _0x3249c9=a0_0x193d8a,_0x4b4cd6={'mvanM':function(_0xbfe561,_0x288c0f){return _0xbfe561===_0x288c0f;},'vbWoD':function(_0x14e7fd,_0x13c5f0){return _0x14e7fd===_0x13c5f0;},'DKMuA':function(_0x16f6bb,_0x4190eb){return _0x16f6bb===_0x4190eb;},'tlAEA':function(_0xbae5e7,_0x3ccdc6){return _0xbae5e7(_0x3ccdc6);},'uQwmW':function(_0x42893f){return _0x42893f();},'Gpxqc':function(_0x588dae,_0x3f48dd){return _0x588dae+_0x3f48dd;}};_0x244d8a[_0x3249c9(0x1dd)]((_0x137508,_0x346ee2)=>{_0x515b68['forEach'](_0xb38245=>{const _0x279b0c=a0_0x4e2f,_0x2c4008=_0x137508[_0xb38245];if(_0x2c4008===null||_0x4b4cd6['mvanM'](_0x2c4008,undefined)||_0x4b4cd6['vbWoD'](_0x2c4008,'')||_0x4b4cd6[_0x279b0c(0x24d)](_0x4b4cd6[_0x279b0c(0x1ea)](String,_0x2c4008)[_0x279b0c(0x1c3)](),'-')){const _0x4b2d17=_0x4b4cd6[_0x279b0c(0x225)](uuidv7);_0x137508[_0xb38245]=_0x4b2d17,_0x137508[_0x279b0c(0x1bf)]=_0x137508[_0x279b0c(0x1bf)]||{},_0x137508[_0x279b0c(0x1bf)][_0xb38245]=_0x4b2d17,logger[_0x279b0c(0x248)]({'event':_0x279b0c(0x235),'rowIndex':_0x346ee2,'field':_0xb38245,'uuid':_0x4b2d17},'Auto-generated\x20UUID\x20for\x20'+_0xb38245+_0x279b0c(0x238)+_0x4b4cd6['Gpxqc'](_0x346ee2,0x2));}});});}async['processPreviewJob'](_0x59f35b,_0x276da1,_0x44fd60){const _0x587d47=a0_0x193d8a,_0x4de83a={'tUXad':function(_0x5c4392,_0x30cdf8){return _0x5c4392===_0x30cdf8;},'nupDU':'INSERT','Gtqob':_0x587d47(0x1e7),'OdKKI':'SKIP','VYJwX':_0x587d47(0x223),'bbWQY':_0x587d47(0x255),'DpYMh':'preview_job_completed','ZygaQ':function(_0x3f9fbb,_0x2f4064,_0x3ce629,_0x4a931d){return _0x3f9fbb(_0x2f4064,_0x3ce629,_0x4a931d);},'mLfCb':'Preview\x20job\x20failed','xYLBC':'failed'};try{let {rows:_0x982ae4,params:_0x36da4d}=_0x44fd60;const {requiredFields:_0x2ea2d8,validations:_0x4df854,upsertKeys:_0x4914ff,tableName:_0x456026,primaryKey:_0x274c30,fieldName:_0x33a743,upsertStrategy:_0x4085df,lookupFields:_0x4c8892}=_0x36da4d;this[_0x587d47(0x226)](_0x982ae4,_0x4914ff);let _0x445626=[];if(_0x4c8892&&Object[_0x587d47(0x1d6)](_0x4c8892)[_0x587d47(0x217)]>0x0){logger[_0x587d47(0x1d8)]({'event':_0x4de83a[_0x587d47(0x25d)],'jobId':_0x59f35b,'lookupFieldCount':Object['keys'](_0x4c8892)[_0x587d47(0x217)]},'Processing\x20lookup\x20fields');const _0x161226=await lookupResolver['processLookupFields'](_0x982ae4,_0x4c8892);_0x982ae4=_0x161226[_0x587d47(0x1ff)],_0x445626=_0x161226['errors'],_0x44fd60['rows']=_0x982ae4;}const _0x23d47f=importValidator['batchValidateRows'](_0x982ae4,_0x2ea2d8||[],_0x4df854||{});_0x445626[_0x587d47(0x1dd)](_0x58e469=>{const _0x29d824=_0x587d47,_0x4d6577=_0x23d47f[_0x29d824(0x249)](_0x2cc158=>_0x2cc158[_0x29d824(0x1d1)]===_0x58e469[_0x29d824(0x1d1)]);_0x4d6577?_0x4d6577[_0x29d824(0x206)]['push'](_0x58e469[_0x29d824(0x23f)]):_0x23d47f[_0x29d824(0x1cd)]({'rowIndex':_0x58e469['rowIndex'],'rowData':_0x982ae4[_0x58e469[_0x29d824(0x1d1)]],'errors':[_0x58e469['message']]});});const _0x3f1454=importValidator['detectDuplicatesInFile'](_0x982ae4,_0x4914ff);_0x3f1454['forEach'](_0x284d67=>{const _0x29b127=_0x587d47,_0x2fa474=_0x23d47f['find'](_0xaa192a=>_0xaa192a['rowIndex']===_0x284d67[_0x29b127(0x1d1)]),_0x5a9a2c=_0x4914ff['map'](_0x5e0ad6=>_0x5e0ad6[_0x29b127(0x1c2)]())[_0x29b127(0x1b6)](',\x20'),_0x5c98fd=_0x29b127(0x1c4)+_0x5a9a2c;_0x2fa474?_0x2fa474[_0x29b127(0x206)][_0x29b127(0x1cd)](_0x5c98fd):_0x23d47f['push']({'rowIndex':_0x284d67[_0x29b127(0x1d1)],'rowData':_0x982ae4[_0x284d67['rowIndex']],'errors':[_0x5c98fd]});}),await this[_0x587d47(0x237)](_0x982ae4,_0x4914ff,_0x456026,_0x274c30,_0x4085df,_0x23d47f),_0x23d47f['forEach'](_0x493df6=>{const _0x4f9a51=_0x982ae4[_0x493df6['rowIndex']];_0x4f9a51&&(_0x4f9a51['_errors']=_0x493df6['errors']);});let _0x265da7=0x0,_0x3fd0b2=0x0,_0x5986db=0x0;_0x982ae4[_0x587d47(0x1dd)](_0x454c08=>{const _0x543038=_0x587d47;if(_0x4de83a['tUXad'](_0x454c08[_0x543038(0x24f)],_0x4de83a[_0x543038(0x1f2)]))_0x265da7++;else{if(_0x454c08['_action']===_0x4de83a[_0x543038(0x1de)])_0x3fd0b2++;else _0x454c08['_action']===_0x4de83a['OdKKI']&&_0x5986db++;}});const _0x2b6c3b={'job_id':_0x59f35b,'upload_id':_0x276da1,'status':_0x23d47f['length']>0x0?_0x4de83a[_0x587d47(0x1e2)]:'preview_ok','progress':0x64,'created_at':_0x44fd60[_0x587d47(0x207)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x982ae4['length'],'insert_count':_0x265da7,'update_count':_0x3fd0b2,'skip_count':_0x5986db,'error_count':_0x23d47f[_0x587d47(0x217)],'errors':_0x23d47f,'data':_0x982ae4,'sample_insert':_0x982ae4['filter'](_0x369de8=>_0x369de8['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x982ae4[_0x587d47(0x1b7)](_0x2517f0=>_0x2517f0['_action']===_0x587d47(0x1e7))[_0x587d47(0x1c9)](0x0,0x5),'sample_skip':_0x982ae4['filter'](_0x3fab17=>_0x3fab17[_0x587d47(0x24f)]===_0x587d47(0x1e9))[_0x587d47(0x1c9)](0x0,0x5)},'params':_0x36da4d};await redisHelper['setJob'](_0x587d47(0x21e)+_0x59f35b,_0x2b6c3b,0xe10),_0x44fd60['rows']=_0x982ae4,await redisHelper['setJob']('upload:'+_0x276da1,_0x44fd60,0xe10),logger['info']({'event':_0x4de83a[_0x587d47(0x1e6)],'jobId':_0x59f35b,'status':_0x2b6c3b[_0x587d47(0x24e)],'insertCount':_0x265da7,'updateCount':_0x3fd0b2,'skipCount':_0x5986db,'errorCount':_0x23d47f['length']},'Preview\x20job\x20completed');}catch(_0x11212a){_0x4de83a[_0x587d47(0x20b)](logError,_0x11212a,{'event':_0x587d47(0x1e3),'jobId':_0x59f35b},_0x4de83a[_0x587d47(0x1fc)]),await redisHelper[_0x587d47(0x1f6)]('job:'+_0x59f35b,{'job_id':_0x59f35b,'upload_id':_0x276da1,'status':_0x4de83a['xYLBC'],'progress':0x0,'error':_0x11212a[_0x587d47(0x23f)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x587d47(0x1b8)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x49daf5,_0x5d0af4,_0x203a4f,_0x418027,_0x30710a='update_existing',_0x3be1b5=[]){const _0xb6d819=a0_0x193d8a,_0x439ddf={'neSCq':function(_0x4b2877,_0xacb8a9){return _0x4b2877===_0xacb8a9;},'iGmHT':_0xb6d819(0x1d2),'DWYOt':function(_0x1a3710,_0x279b4d){return _0x1a3710(_0x279b4d);},'pgnPU':'SKIP','eUyvt':_0xb6d819(0x1f7),'XTwCM':_0xb6d819(0x243),'xfqlv':'INSERT','gzauT':_0xb6d819(0x21d),'TSQtk':_0xb6d819(0x1e4)},_0x367bf1=upsertBuilder['chunkRows'](_0x49daf5,0x64);for(const _0x3b2cee of _0x367bf1){const _0x3c6c2c=_0x3b2cee[_0xb6d819(0x23a)](_0x5bacdf=>_0x5bacdf[_0x5d0af4[0x0]]),_0xcfc33b=_0x3c6c2c['map'](_0x5a8b9a=>{const _0x5a5e55=_0xb6d819;if(_0x439ddf[_0x5a5e55(0x1b5)](_0x5a8b9a,null)||_0x439ddf[_0x5a5e55(0x1b5)](_0x5a8b9a,undefined))return _0x439ddf['iGmHT'];return'\x27'+_0x439ddf['DWYOt'](String,_0x5a8b9a)[_0x5a5e55(0x256)](/'/g,'\x27\x27')+'\x27';}),_0x17c130='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x418027+',\x20'+_0x5d0af4[_0xb6d819(0x1b6)](',\x20')+_0xb6d819(0x1bd)+_0x203a4f+_0xb6d819(0x1df)+_0x5d0af4[0x0]+_0xb6d819(0x232)+_0xcfc33b[_0xb6d819(0x1b6)](',\x20')+_0xb6d819(0x1fe);let _0x36107f=await _0x439ddf[_0xb6d819(0x25b)](executeQuery,_0x17c130);dbType===_0x439ddf[_0xb6d819(0x1b2)]&&_0x36107f&&_0x36107f['length']>0x0&&(_0x36107f=_0x36107f[_0xb6d819(0x23a)](_0x510c83=>{const _0x419d86={};for(const [_0x30a2d5,_0x3638bd]of Object['entries'](_0x510c83)){_0x419d86[_0x30a2d5['toLowerCase']()]=_0x3638bd;}return _0x419d86;}));const _0x13eb89=new Map();_0x36107f['forEach'](_0x3a2bc3=>{const _0x342a69=_0xb6d819,_0x4453ac=_0x3a2bc3[_0x5d0af4[0x0]];_0x13eb89[_0x342a69(0x221)](_0x4453ac,_0x3a2bc3);}),_0x3b2cee[_0xb6d819(0x1dd)]((_0x44a6e5,_0x2d6283)=>{const _0x1d7af6=_0xb6d819,_0x8bc323=_0x44a6e5[_0x5d0af4[0x0]],_0x2b9adf=_0x13eb89[_0x1d7af6(0x20c)](_0x8bc323);if(_0x2b9adf){if(_0x439ddf[_0x1d7af6(0x1b5)](_0x30710a,'update_existing'))_0x44a6e5[_0x1d7af6(0x24f)]='UPDATE',_0x44a6e5[_0x1d7af6(0x1ef)]=_0x2b9adf[_0x418027];else{if(_0x30710a===_0x1d7af6(0x21d)){_0x44a6e5[_0x1d7af6(0x24f)]=_0x439ddf['pgnPU'],_0x44a6e5[_0x1d7af6(0x1c0)]=_0x44a6e5[_0x1d7af6(0x1c0)]||[],_0x44a6e5['_errors'][_0x1d7af6(0x1cd)]('Record\x20exists\x20(insert_only\x20mode)');const _0x384868=_0x49daf5[_0x1d7af6(0x246)](_0x44a6e5);_0x384868!==-0x1&&_0x3be1b5[_0x1d7af6(0x1cd)]({'rowIndex':_0x384868,'rowData':_0x44a6e5,'errors':[_0x1d7af6(0x240)]});}else _0x439ddf['neSCq'](_0x30710a,_0x439ddf['eUyvt'])&&(_0x44a6e5['_action']='SKIP');}}else{if(_0x439ddf['neSCq'](_0x30710a,_0x439ddf['XTwCM']))_0x44a6e5[_0x1d7af6(0x24f)]=_0x439ddf[_0x1d7af6(0x1e5)];else(_0x30710a===_0x439ddf['gzauT']||_0x439ddf['neSCq'](_0x30710a,_0x439ddf['eUyvt']))&&(_0x44a6e5['_action']=_0x439ddf['xfqlv']);}});}}async[a0_0x193d8a(0x1ba)](_0x35b4f8){const _0x32fed0=a0_0x193d8a,_0xb22886={'pzpYC':function(_0x51fb8c,_0x2aab5b,_0x1da895,_0x390091){return _0x51fb8c(_0x2aab5b,_0x1da895,_0x390091);},'CmEht':'commit_process_error','EyoLp':_0x32fed0(0x1c1),'cxDSp':function(_0x2a8047,_0x2574d3){return _0x2a8047!==_0x2574d3;},'aGtos':_0x32fed0(0x21a),'YzPFH':_0x32fed0(0x24a),'zHkIy':_0x32fed0(0x1d5),'xboMF':_0x32fed0(0x210)},_0x361411=this[_0x32fed0(0x205)](),_0xcff813=await redisHelper[_0x32fed0(0x1b4)](_0x32fed0(0x21e)+_0x35b4f8);if(!_0xcff813)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xb22886['cxDSp'](_0xcff813[_0x32fed0(0x24e)],_0xb22886[_0x32fed0(0x1fa)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xcff813[_0x32fed0(0x24e)]);const _0x311de4={'job_id':_0x361411,'upload_id':_0xcff813['upload_id'],'preview_job_id':_0x35b4f8,'status':_0xb22886['YzPFH'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xcff813['params']};return await redisHelper[_0x32fed0(0x1f6)](_0x32fed0(0x21e)+_0x361411,_0x311de4,0xe10),logger[_0x32fed0(0x1d8)]({'event':_0xb22886[_0x32fed0(0x1fb)],'jobId':_0x361411,'previewJobId':_0x35b4f8},_0xb22886['xboMF']),this['processCommitJob'](_0x361411,_0xcff813)['catch'](_0x1cb30f=>{const _0x4511ab=_0x32fed0;_0xb22886['pzpYC'](logError,_0x1cb30f,{'event':_0xb22886[_0x4511ab(0x1f4)],'jobId':_0x361411},_0xb22886['EyoLp']);}),{'job_id':_0x361411,'status':_0x32fed0(0x24a)};}async['processCommitJob'](_0x521a6b,_0x2d3e05){const _0xa48369=a0_0x193d8a,_0x1a28b7={'aySzq':_0xa48369(0x23e),'QTFgs':_0xa48369(0x1ca),'Fayjk':function(_0x4bc45e,_0x500562){return _0x4bc45e>_0x500562;},'wWHOq':'import_fields_filtered','ccnyR':function(_0x423e54,_0x563c8c){return _0x423e54||_0x563c8c;},'YlfoD':function(_0x3bffff,_0xde6615){return _0x3bffff>_0xde6615;},'LEfCO':function(_0x35bc81,_0x113bae){return _0x35bc81(_0x113bae);},'RQcpP':function(_0x32f9ce,_0x29afad,_0x32f87a,_0x2240a1){return _0x32f9ce(_0x29afad,_0x32f87a,_0x2240a1);},'UtjEf':_0xa48369(0x20f),'cMoas':_0xa48369(0x22f)};try{const _0x123389=await redisHelper[_0xa48369(0x1b4)](_0xa48369(0x1eb)+_0x2d3e05['upload_id']);if(!_0x123389)throw new Error(_0x1a28b7['QTFgs']);const {rows:_0x395c1f,params:_0x159760}=_0x123389,{tableName:_0x4ccd84,fieldName:_0x2fc845,primaryKey:_0x4d12c9,upsertKeys:_0x56899b,excludeFromImport:_0x4b0cfc,lookupFields:_0x13f0e0,columnFormats:_0x3440b0}=_0x159760,_0x376134=_0x13f0e0?Object['keys'](_0x13f0e0):[],_0x6007b9=new Set([..._0x4b0cfc||[],..._0x376134]);let _0x220c06=_0x2fc845;_0x1a28b7['Fayjk'](_0x6007b9[_0xa48369(0x204)],0x0)&&(_0x220c06=_0x2fc845[_0xa48369(0x1b7)](_0x3b7e40=>!_0x6007b9['has'](_0x3b7e40)),logger['debug']({'event':_0x1a28b7[_0xa48369(0x24c)],'originalCount':_0x2fc845['length'],'filteredCount':_0x220c06['length'],'excludedFields':Array[_0xa48369(0x234)](_0x6007b9),'lookupSourceFields':_0x376134},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x56c286=_0x395c1f[_0xa48369(0x1b7)](_0x5043a6=>_0x5043a6['_action']==='INSERT'),_0x12e796=_0x395c1f['filter'](_0x589d75=>_0x589d75[_0xa48369(0x24f)]===_0xa48369(0x1e7));let _0x48106a=0x0,_0x2de4c8=0x0;const _0x4379db=[];if(_0x1a28b7[_0xa48369(0x1c8)](_0x56c286['length'],0x0)){const _0x288fce=upsertBuilder['chunkRows'](_0x56c286,0x64);for(const _0x1f9dbe of _0x288fce){const {query:_0x40c5e9}=upsertBuilder[_0xa48369(0x1d9)](_0x1f9dbe,_0x4ccd84,_0x220c06,_0x3440b0||{});_0x40c5e9&&_0x4379db[_0xa48369(0x1cd)]({'sql':_0x40c5e9,'count':_0x1f9dbe[_0xa48369(0x217)],'type':'insert'});}}if(_0x12e796[_0xa48369(0x217)]>0x0){const _0x319928=upsertBuilder['chunkRows'](_0x12e796,0x64);for(const _0xe547fb of _0x319928){const {query:_0x403fb0}=upsertBuilder[_0xa48369(0x236)](_0xe547fb,_0x4ccd84,_0x220c06,_0x4d12c9,_0x56899b,_0x1a28b7['ccnyR'](_0x3440b0,{}));_0x403fb0&&_0x4379db[_0xa48369(0x1cd)]({'sql':_0x403fb0,'count':_0xe547fb[_0xa48369(0x217)],'type':'update'});}}_0x1a28b7['YlfoD'](_0x4379db['length'],0x0)&&await _0x1a28b7[_0xa48369(0x1cf)](executeTransaction,_0x4379db['map'](_0x518591=>({'sql':_0x518591['sql'],'params':[]})));_0x4379db[_0xa48369(0x1dd)](_0x4faf38=>{const _0x101c69=_0xa48369;if(_0x4faf38['type']===_0x1a28b7[_0x101c69(0x220)])_0x48106a+=_0x4faf38[_0x101c69(0x233)];else _0x2de4c8+=_0x4faf38['count'];});const _0x5cebdc={'job_id':_0x521a6b,'upload_id':_0x2d3e05[_0xa48369(0x231)],'preview_job_id':_0x2d3e05[_0xa48369(0x1e0)],'status':'completed','progress':0x64,'created_at':_0x2d3e05[_0xa48369(0x207)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x395c1f['length'],'inserted_rows':_0x48106a,'updated_rows':_0x2de4c8,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x159760};await redisHelper[_0xa48369(0x1f6)]('job:'+_0x521a6b,_0x5cebdc,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x521a6b,'insertedCount':_0x48106a,'updatedCount':_0x2de4c8},'Commit\x20job\x20completed');}catch(_0x51a942){_0x1a28b7['RQcpP'](logError,_0x51a942,{'event':'commit_job_failed','jobId':_0x521a6b},_0x1a28b7[_0xa48369(0x1bc)]),await redisHelper['setJob']('job:'+_0x521a6b,{'job_id':_0x521a6b,'upload_id':_0x2d3e05[_0xa48369(0x231)],'preview_job_id':_0x2d3e05['job_id'],'status':_0x1a28b7['cMoas'],'progress':0x0,'error':_0x51a942[_0xa48369(0x23f)],'created_at':_0x2d3e05['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0xa48369(0x1b8)]()},0xe10);}}async[a0_0x193d8a(0x1be)](_0x35b01c){const _0x33a4e6=a0_0x193d8a,_0x2a0109=await redisHelper['getJob'](_0x33a4e6(0x21e)+_0x35b01c);if(!_0x2a0109)return{'success':![],'error':_0x33a4e6(0x22c)};return{'success':!![],'data':_0x2a0109};}}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x3ed0ee=a0_0x1dfb;function a0_0x3d2c(){const _0x72a26c=['q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','mtrhueXdzxK','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','CgfYyw1Z','wKXOtem','y29TBwL0x2PVyL9MywLSzwq','z2v0rgf0zq','rMHgz2m','DxbSB2fKoG','Aw5JBhvKzxm','sujcwva','AM9IoG','Agz6wKi','CMvWBgfJzq','BwvZC2fNzq','DxbKyxrLx2v4Axn0Aw5N','CgfYC2vfEgnLBezPBgu','A2v5CW','B29Ur3O','AgvHzgvYC19TyxbWzwq','zMfSC2u','ChvZAa','CM93CW','CM93sw5KzxG','C29Tz0S','Dw5SAw5R','Dg9mB3DLCKnHC2u','zw52','C2XPy2u','CNj1Bu8','shvrrve','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mtCYtMnQt2Pf','zgvIDwC','vu9xwvK','y2H1BMTsB3DZ','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','BxLZCwW','C2v0sM9I','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','C2L6zq','DxvPzf9HDxrVx2DLBMvYyxrLza','D0Dns3e','odm3odi4oeTqwMjkuW','ChjVy2vZC2vKuM93CW','t3Dqyue','ChjVy2vZC2LUzW','y3biyNO','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','yMf0y2HwywXPzgf0zvjVD3m','mZKYodeYDg5ctff3','mZK0mdz2ueLfAxO','zgf0zq','DxvPza','ieLoicG','mtGZmtqZmtb1t1DRqxq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','C2v0','y3jLyxrLq29TBwL0sM9I','D3fqDfO','C3fS','nta3ndHfEK1gsLa','su5trvju','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','sxrjtwK','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0vgLTzq','yunzEwC','y2f0y2G','zgvMyxvSDa','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zuzyCMm','zM9YrwfJAa','DMfSDwvZ','r1nlBw8','z2vUzxjHDgvjza','x2fJDgLVBG','vvbeqvrf','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','y29SDw1UrM9YBwf0CW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','x3vWBg9HzerPCG','Cgf0Aa','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','C2TPCf9LEgLZDgLUzW','ntiZodK5nwfyBwL2CG','yNvPBgrcyxrJAfvWzgf0zq','BwfW','zxjYB3jZ','x2DLBMvYyxrLzf91DwLK','ndu1ode5ngv6u1bgyW','u1zgENy','zw50CMLLCW','Aw5MBW','vw5ruM4','yNvPBgrmywjLBfrVrMLLBgrnyxa','Ehz6CwG','u0Tjua','BfzSsKW','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','Dg9tDhjPBMC','vgDbq28','C3rHDhvZ','zKPZsuG','BgvUz3rO','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','z2v0','cIaGicaGicaGrLjptsa','C3rYAw5N','DhLWzq','CMfUzg9T','C2nVCgvpDMvYCMLKzq','rhvWBgLJyxrLihzHBhvLigzVCIa','zxHLy3v0zvf1zxj5','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','x2vYCM9YCW','ChjVy2vZC0nVBw1PDePVyG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Dhj1zq','y29TCgXLDgvK','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y3jLyxrLuhjLDMLLD0PVyG','qKLkzLO','mtjXwKLODLe','qM1MBfi','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','BefHB2y','uufdDeO','y3jLyxrLzf9HDa','q29TBwL0igPVyIbJCMvHDgvK','y2HHCKf0','wK5cwKO','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zxHLy3v0zvrYyw5Zywn0Aw9U','C3vIC3rYAw5N','CgfKu3rHCNq','Aw5Zzxj0x29UBhK','Dg9ju09tDhjPBMC','sxzKBMi','lI4VDxrPBhmVzgi','y1PLrhG','x2v4Axn0Aw5Nswq','tNvQrNq','DgfYz2v0rMLLBgq','D25ju3C','cIaGicaGicaGu0vmrunuia','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y29TBwL0x3bYB2nLC3nFzxjYB3i','kqOGicaGica','AM9PBG','DhjPBq','rejFvfLqrq','ChjLDMLLD19QB2jFzMfPBgvK','rMfPBgvKihrVignSzwfUDxaGzMLSzq','DxbSB2fKrgLY','A3r1yKm','vvn6vgm','zMLSDgvY','vvbmt0fex0rjuG','DxbSB2fKx2LK','z2ffqvi','Bg9VA3vWrMLLBgrZ'];a0_0x3d2c=function(){return _0x72a26c;};return a0_0x3d2c();}function a0_0x1dfb(_0x3759b7,_0x5f51c7){_0x3759b7=_0x3759b7-0x1b6;const _0x3d2c7d=a0_0x3d2c();let _0x1dfb1f=_0x3d2c7d[_0x3759b7];if(a0_0x1dfb['eTtnqa']===undefined){var _0xe2ad5a=function(_0x27bd87){const _0x4cd39c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55fb29='',_0xa9fa45='';for(let _0x46c73f=0x0,_0x149c6e,_0x53158b,_0xdd215e=0x0;_0x53158b=_0x27bd87['charAt'](_0xdd215e++);~_0x53158b&&(_0x149c6e=_0x46c73f%0x4?_0x149c6e*0x40+_0x53158b:_0x53158b,_0x46c73f++%0x4)?_0x55fb29+=String['fromCharCode'](0xff&_0x149c6e>>(-0x2*_0x46c73f&0x6)):0x0){_0x53158b=_0x4cd39c['indexOf'](_0x53158b);}for(let _0x4af841=0x0,_0x42c266=_0x55fb29['length'];_0x4af841<_0x42c266;_0x4af841++){_0xa9fa45+='%'+('00'+_0x55fb29['charCodeAt'](_0x4af841)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa9fa45);};a0_0x1dfb['RKScbL']=_0xe2ad5a,a0_0x1dfb['doWanx']={},a0_0x1dfb['eTtnqa']=!![];}const _0x18f99a=_0x3d2c7d[0x0],_0x255dd1=_0x3759b7+_0x18f99a,_0x497c8d=a0_0x1dfb['doWanx'][_0x255dd1];return!_0x497c8d?(_0x1dfb1f=a0_0x1dfb['RKScbL'](_0x1dfb1f),a0_0x1dfb['doWanx'][_0x255dd1]=_0x1dfb1f):_0x1dfb1f=_0x497c8d,_0x1dfb1f;}(function(_0x2f8549,_0x38515e){const _0x58c3d1=a0_0x1dfb,_0x2e6a77=_0x2f8549();while(!![]){try{const _0x3fe165=-parseInt(_0x58c3d1(0x254))/0x1*(-parseInt(_0x58c3d1(0x1e3))/0x2)+-parseInt(_0x58c3d1(0x1ed))/0x3*(parseInt(_0x58c3d1(0x1cf))/0x4)+parseInt(_0x58c3d1(0x206))/0x5+parseInt(_0x58c3d1(0x22c))/0x6*(-parseInt(_0x58c3d1(0x1e2))/0x7)+-parseInt(_0x58c3d1(0x1da))/0x8+-parseInt(_0x58c3d1(0x20b))/0x9+parseInt(_0x58c3d1(0x1e7))/0xa;if(_0x3fe165===_0x38515e)break;else _0x2e6a77['push'](_0x2e6a77['shift']());}catch(_0x3d8ee8){_0x2e6a77['push'](_0x2e6a77['shift']());}}}(a0_0x3d2c,0xb9f64));const {v7:uuidv7}=require(a0_0x3ed0ee(0x1e5)),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x3ed0ee(0x226)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x3ed0ee(0x1ca)][a0_0x3ed0ee(0x248)]||'postgresql')[a0_0x3ed0ee(0x1c9)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x11ac5f,_0x11e500)=>oracleDb[a0_0x3ed0ee(0x222)](_0x11ac5f,_0x11e500),executeTransaction=_0x393128=>oracleDb[a0_0x3ed0ee(0x236)](_0x393128);else{if(dbType===a0_0x3ed0ee(0x1d4)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x48338c,_0x31b8ff)=>mysqlDb[a0_0x3ed0ee(0x222)](_0x48338c,_0x31b8ff),executeTransaction=_0x4a3d66=>mysqlDb['executeTransaction'](_0x4a3d66);}else{const db=require(a0_0x3ed0ee(0x23c));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x3ed0ee(0x1e8)),upsertBuilder=require(a0_0x3ed0ee(0x22e)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x3ed0ee(0x24b)](){const _0xb7484f=a0_0x3ed0ee,_0x52933b={'ZNBZJ':_0xb7484f(0x1f5)};if(!this[_0xb7484f(0x201)]){const _0x43f1d9=process['env']['RESTFORGE_PROJECT_NAME']||_0x52933b[_0xb7484f(0x234)];this[_0xb7484f(0x201)]=process['env'][_0xb7484f(0x24f)]||path[_0xb7484f(0x246)](__dirname,'../../temp/uploads/'+_0x43f1d9);}return this[_0xb7484f(0x201)];}['generateId'](){const _0x3b7d82=a0_0x3ed0ee,_0x3c270f={'PPakQ':function(_0x2f08a3){return _0x2f08a3();},'ZAyrG':function(_0x4fab56,_0x3846f8){return _0x4fab56-_0x3846f8;}},_0x2ad616=_0x3b7d82(0x200),_0x4b2aef=Date['now']()[_0x3b7d82(0x215)](0x24),_0x532b0a=_0x3c270f['PPakQ'](uuidv7)['replace'](/-/g,'')[_0x3b7d82(0x237)](0x0,_0x3c270f['ZAyrG'](0xc,_0x4b2aef['length'])),_0x527dec=(_0x4b2aef+_0x532b0a)[_0x3b7d82(0x237)](0x0,0xc);let _0x4d15cf='';for(let _0x177726=0x0;_0x177726<0xc;_0x177726++){_0x527dec[_0x177726]?_0x4d15cf+=_0x527dec[_0x177726]:_0x4d15cf+=_0x2ad616[_0x3b7d82(0x233)](Math['floor'](Math[_0x3b7d82(0x21f)]()*_0x2ad616['length']));}return _0x4d15cf;}[a0_0x3ed0ee(0x210)](_0x4dc4e5){const _0x1acd8a=a0_0x3ed0ee,_0x5137b8={'jWzNm':function(_0x15b764,_0x506029){return _0x15b764(_0x506029);},'KLAmz':'$1_$2','OwPaA':_0x1acd8a(0x229),'nWzos':_0x1acd8a(0x235)},_0x3ed250=new Map();if(!_0x4dc4e5)return _0x3ed250;return Object['entries'](_0x4dc4e5)[_0x1acd8a(0x1f8)](([_0x2280da,_0xfd3619])=>{const _0x2d02f5=_0x1acd8a,_0x3f171e=_0x5137b8['jWzNm'](String,_0xfd3619)[_0x2d02f5(0x247)]()[_0x2d02f5(0x1bc)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x5137b8['KLAmz'])['toLowerCase']();_0x3ed250[_0x2d02f5(0x1e9)](_0x3f171e,_0x2280da);}),logger['debug']({'event':_0x5137b8[_0x1acd8a(0x1dc)],'mappingCount':_0x3ed250['size']},_0x5137b8['nWzos']),_0x3ed250;}['applyColumnFormats'](_0x45915a,_0x520fbb){const _0x22a079=a0_0x3ed0ee,_0x51470b={'rrumO':function(_0x2dbb88,_0x264747){return _0x2dbb88===_0x264747;},'SVFzv':_0x22a079(0x1e4),'ofrUI':'boolean','hfzZB':'text'};if(!_0x520fbb||Object['keys'](_0x520fbb)[_0x22a079(0x219)]===0x0)return _0x45915a;return _0x45915a[_0x22a079(0x208)](_0x189aeb=>{const _0x4bec7c=_0x22a079,_0x56c5f0={..._0x189aeb};for(const [_0x33140e,_0x42fb1d]of Object[_0x4bec7c(0x20d)](_0x520fbb)){const _0x20fc57=_0x56c5f0[_0x33140e];if(_0x51470b['rrumO'](_0x20fc57,null)||_0x51470b[_0x4bec7c(0x1cc)](_0x20fc57,undefined)||_0x20fc57===''){_0x56c5f0[_0x33140e]=null;continue;}switch(_0x42fb1d[_0x4bec7c(0x21e)]){case _0x51470b[_0x4bec7c(0x20c)]:_0x56c5f0[_0x33140e]=this['formatDateForDatabase'](_0x20fc57);break;case'number':_0x56c5f0[_0x33140e]=this[_0x4bec7c(0x214)](_0x20fc57);break;case _0x51470b['ofrUI']:_0x56c5f0[_0x33140e]=this['formatBooleanForDatabase'](_0x20fc57);break;case _0x51470b[_0x4bec7c(0x1bb)]:_0x56c5f0[_0x33140e]=String(_0x20fc57);break;default:break;}}return _0x56c5f0;});}[a0_0x3ed0ee(0x243)](_0x47c0e6){const _0x4da88e=a0_0x3ed0ee,_0x4e72b4={'ktubC':function(_0x3f8c5c,_0x166f74){return _0x3f8c5c===_0x166f74;},'CMTTG':_0x4da88e(0x21d),'hmKVu':function(_0xec1cbc,_0x45e788){return _0xec1cbc instanceof _0x45e788;},'FhFgc':function(_0x38907d,_0x315485){return _0x38907d(_0x315485);},'BIJfZ':function(_0xc6676,_0x52a2f1){return _0xc6676(_0x52a2f1);},'fJsIH':function(_0x5dcdb2,_0x4c4849){return _0x5dcdb2(_0x4c4849);},'NaOmd':function(_0x1738a0,_0x31f8b1){return _0x1738a0(_0x31f8b1);}};if(_0x47c0e6===null||_0x4e72b4[_0x4da88e(0x24c)](_0x47c0e6,undefined)||_0x47c0e6==='')return null;if(typeof _0x47c0e6===_0x4e72b4['CMTTG']&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x47c0e6))return _0x47c0e6;if(_0x4e72b4['hmKVu'](_0x47c0e6,Date)){if(isNaN(_0x47c0e6[_0x4da88e(0x1f2)]()))return null;const _0x348ad6=_0x47c0e6['getFullYear'](),_0x3e46ac=_0x4e72b4[_0x4da88e(0x1b6)](String,_0x47c0e6['getMonth']()+0x1)[_0x4da88e(0x238)](0x2,'0'),_0x5ba164=_0x4e72b4[_0x4da88e(0x22b)](String,_0x47c0e6[_0x4da88e(0x259)]())['padStart'](0x2,'0');return _0x348ad6+'-'+_0x3e46ac+'-'+_0x5ba164;}if(typeof _0x47c0e6==='string'){const _0x157d70=_0x47c0e6['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x157d70){const _0xbffb92=String(_0x157d70[0x1])[_0x4da88e(0x238)](0x2,'0'),_0x6af35f=String(_0x157d70[0x2])[_0x4da88e(0x238)](0x2,'0'),_0x407505=_0x157d70[0x3];return _0x407505+'-'+_0x6af35f+'-'+_0xbffb92;}const _0x562db7=_0x47c0e6['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x562db7){const _0x335544=_0x562db7[0x1],_0x3f6cc1=_0x4e72b4[_0x4da88e(0x218)](String,_0x562db7[0x2])[_0x4da88e(0x238)](0x2,'0'),_0x216a34=_0x4e72b4['NaOmd'](String,_0x562db7[0x3])['padStart'](0x2,'0');return _0x335544+'-'+_0x3f6cc1+'-'+_0x216a34;}}return _0x47c0e6;}[a0_0x3ed0ee(0x214)](_0x142e50){const _0x1f86fb=a0_0x3ed0ee,_0x4a94a4={'BAFPE':function(_0xf77f4a,_0x1d091d){return _0xf77f4a===_0x1d091d;},'xzceX':function(_0x55d51e,_0x42a477){return _0x55d51e===_0x42a477;},'hubqx':function(_0x543952,_0x4fa1c7){return _0x543952===_0x4fa1c7;},'UTHTE':function(_0x591a9e,_0x254b6c){return _0x591a9e===_0x254b6c;},'LjqZJ':'number','QACtJ':function(_0x239888,_0x15cb74){return _0x239888(_0x15cb74);},'wqPtZ':function(_0xa0b625,_0x3c5326){return _0xa0b625===_0x3c5326;},'BmflR':function(_0xe800e4,_0x5051dd){return _0xe800e4(_0x5051dd);}};if(_0x4a94a4['BAFPE'](_0x142e50,null)||_0x4a94a4['xzceX'](_0x142e50,undefined)||_0x4a94a4['hubqx'](_0x142e50,''))return null;if(_0x4a94a4['UTHTE'](typeof _0x142e50,_0x4a94a4['LjqZJ']))return _0x4a94a4[_0x1f86fb(0x230)](isNaN,_0x142e50)?null:_0x142e50;if(_0x4a94a4[_0x1f86fb(0x1eb)](typeof _0x142e50,_0x1f86fb(0x21d))){let _0x4542a1=_0x142e50['trim']();const _0x3e1cd1=/,\d{1,2}$/['test'](_0x4542a1)&&!/,\d{3}/['test'](_0x4542a1);_0x3e1cd1?_0x4542a1=_0x4542a1['replace'](/\./g,'')[_0x1f86fb(0x1bc)](',','.'):_0x4542a1=_0x4542a1['replace'](/,/g,'');const _0x421135=_0x4a94a4[_0x1f86fb(0x22d)](parseFloat,_0x4542a1);return _0x4a94a4['QACtJ'](isNaN,_0x421135)?null:_0x421135;}return null;}[a0_0x3ed0ee(0x21a)](_0x1d1cb7){const _0x32622c=a0_0x3ed0ee,_0x26a828={'fcgCx':function(_0x438cfe,_0x47d98f){return _0x438cfe===_0x47d98f;},'wnISw':function(_0x1d07b8,_0x2422cb){return _0x1d07b8===_0x2422cb;},'cpHbz':_0x32622c(0x21d),'cZeDx':_0x32622c(0x227),'oonGz':_0x32622c(0x1c3)};if(_0x1d1cb7===null||_0x26a828['fcgCx'](_0x1d1cb7,undefined)||_0x26a828['fcgCx'](_0x1d1cb7,''))return null;if(_0x26a828[_0x32622c(0x241)](typeof _0x1d1cb7,'boolean'))return _0x1d1cb7?_0x32622c(0x227):_0x32622c(0x1c3);if(_0x26a828['wnISw'](typeof _0x1d1cb7,_0x26a828[_0x32622c(0x1de)])){const _0x523a5f=_0x1d1cb7['trim']()[_0x32622c(0x1c9)]();if([_0x26a828[_0x32622c(0x23d)],'yes','y','1']['includes'](_0x523a5f))return _0x26a828['cZeDx'];if([_0x26a828[_0x32622c(0x1c1)],'no','n','0'][_0x32622c(0x1b8)](_0x523a5f))return _0x26a828['oonGz'];return null;}if(typeof _0x1d1cb7==='number')return _0x1d1cb7?'true':_0x26a828['oonGz'];return null;}async['uploadFile'](_0xbb3f2f,_0xbc157d){const _0x3cafb2=a0_0x3ed0ee,_0xe65728={'tvoPv':'Excel\x20headers\x20mapped\x20to\x20field\x20names','hSKpz':_0x3cafb2(0x1e0),'UOWYY':'request_scope_applied','iaaco':_0x3cafb2(0x1ce),'WAqmJ':function(_0x4cd0f7,_0x562798,_0x4bed08,_0x4d7422){return _0x4cd0f7(_0x562798,_0x4bed08,_0x4d7422);},'ItIMi':'file_cleanup_error','wZfEy':_0x3cafb2(0x24a)},_0x38eac3=this['generateId']();try{let {headers:_0x5ea4a5,rows:_0x11e257,totalRows:_0x1f8736}=await excelParser[_0x3cafb2(0x1bf)](_0xbb3f2f[_0x3cafb2(0x202)]);const _0x5162e3=this[_0x3cafb2(0x210)](_0xbc157d['fieldLabels']),_0x2d97a3=_0x5ea4a5['map'](_0x3014b9=>{const _0x486f62=_0x5162e3['get'](_0x3014b9);return _0x486f62||_0x3014b9;});_0x11e257=_0x11e257['map'](_0x34e40e=>{const _0x1ed64c={};return _0x5ea4a5['forEach']((_0x7ecb02,_0x28d7ea)=>{const _0x160aab=_0x2d97a3[_0x28d7ea];_0x1ed64c[_0x160aab]=_0x34e40e[_0x7ecb02];}),_0x1ed64c;}),_0x5ea4a5=_0x2d97a3,logger['debug']({'event':_0x3cafb2(0x1c2),'original':_0x5ea4a5['length'],'mapped':_0x2d97a3[_0x3cafb2(0x24e)]((_0x4afe24,_0x4ded14)=>_0x4afe24!==_0x5ea4a5[_0x4ded14])[_0x3cafb2(0x219)]},_0xe65728['tvoPv']);_0xbc157d[_0x3cafb2(0x1ff)]&&Object['keys'](_0xbc157d['columnFormats'])['length']>0x0&&(_0x11e257=this['applyColumnFormats'](_0x11e257,_0xbc157d['columnFormats']),logger[_0x3cafb2(0x1d0)]({'event':_0x3cafb2(0x223),'formatCount':Object['keys'](_0xbc157d['columnFormats'])['length'],'formats':Object[_0x3cafb2(0x1c0)](_0xbc157d[_0x3cafb2(0x1ff)])},_0xe65728['hSKpz']));if(_0xbc157d[_0x3cafb2(0x220)]&&_0xbc157d['scopeOverride']['column']){const {column:_0x5474f4,value:_0x588a8b}=_0xbc157d['scopeOverride'];_0x11e257=_0x11e257[_0x3cafb2(0x208)](_0x1ec1f8=>({..._0x1ec1f8,[_0x5474f4]:_0x588a8b})),logger[_0x3cafb2(0x1d0)]({'event':_0xe65728[_0x3cafb2(0x1d1)],'column':_0x5474f4,'rowCount':_0x11e257[_0x3cafb2(0x219)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x1616da=_0xbc157d[_0x3cafb2(0x252)]?Object[_0x3cafb2(0x1f9)](_0xbc157d['lookupFields'])[_0x3cafb2(0x208)](_0x188afe=>_0x188afe[_0x3cafb2(0x240)]):[],_0x2cb3a3=_0xbc157d['fieldName']['filter'](_0x56bf41=>!_0x1616da[_0x3cafb2(0x1b8)](_0x56bf41)),_0x1df21b=excelParser['validateExcelStructure'](_0x5ea4a5,_0x2cb3a3);if(!_0x1df21b['valid']){await fs['unlink'](_0xbb3f2f[_0x3cafb2(0x202)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x1df21b['missingFields'][_0x3cafb2(0x246)](',\x20'));}const _0x3c0c2d={'upload_id':_0x38eac3,'filename':_0xbb3f2f['originalname'],'total_rows':_0x1f8736,'headers':_0x5ea4a5,'rows':_0x11e257,'params':_0xbc157d,'created_at':new Date()[_0x3cafb2(0x23a)]()};return await redisHelper['setJob'](_0x3cafb2(0x1b7)+_0x38eac3,_0x3c0c2d,0xe10),await fs[_0x3cafb2(0x1c8)](_0xbb3f2f[_0x3cafb2(0x202)]),logger[_0x3cafb2(0x20e)]({'event':'import_file_uploaded','uploadId':_0x38eac3,'filename':_0xbb3f2f['originalname'],'totalRows':_0x1f8736},_0xe65728['iaaco']),{'upload_id':_0x38eac3,'total_rows':_0x1f8736,'preview':_0x11e257[_0x3cafb2(0x1cb)](0x0,0xa)};}catch(_0x46f800){try{await fs[_0x3cafb2(0x1c8)](_0xbb3f2f[_0x3cafb2(0x202)]);}catch(_0x5550a3){_0xe65728['WAqmJ'](logError,_0x5550a3,{'event':_0xe65728[_0x3cafb2(0x1f0)]},_0xe65728['wZfEy']);}throw _0x46f800;}}async[a0_0x3ed0ee(0x22a)](_0x506df5){const _0x2fd48e=a0_0x3ed0ee,_0x45127c={'CLNMh':function(_0x560b0a,_0xd03e68,_0x2db2a3,_0x507729){return _0x560b0a(_0xd03e68,_0x2db2a3,_0x507729);},'UnQRn':_0x2fd48e(0x1d6),'Ivdnb':'validating','IBBYP':'preview_job_created'},_0x381141=this['generateId'](),_0x8e0d08=await redisHelper['getJob'](_0x2fd48e(0x1b7)+_0x506df5);if(!_0x8e0d08)throw new Error(_0x2fd48e(0x1df));const _0x25edf9={'job_id':_0x381141,'upload_id':_0x506df5,'status':_0x45127c[_0x2fd48e(0x23b)],'progress':0x0,'created_at':new Date()[_0x2fd48e(0x23a)](),'params':_0x8e0d08[_0x2fd48e(0x256)]};return await redisHelper['setJob']('job:'+_0x381141,_0x25edf9,0xe10),logger[_0x2fd48e(0x20e)]({'event':_0x45127c[_0x2fd48e(0x1b9)],'jobId':_0x381141,'uploadId':_0x506df5},_0x2fd48e(0x1f1)),this['processPreviewJob'](_0x381141,_0x506df5,_0x8e0d08)['catch'](_0x3c6dcf=>{const _0xf284dd=_0x2fd48e;_0x45127c['CLNMh'](logError,_0x3c6dcf,{'event':_0x45127c[_0xf284dd(0x20f)],'jobId':_0x381141},_0xf284dd(0x1f6));}),{'job_id':_0x381141,'status':'validating'};}[a0_0x3ed0ee(0x1ef)](_0x2ec513,_0x17a3af){const _0x20c48d={'aCYyg':function(_0x46ba2b,_0xe62b54){return _0x46ba2b===_0xe62b54;},'somgK':function(_0x30ed73,_0x57ef7e){return _0x30ed73===_0x57ef7e;},'lLxpY':function(_0x407e2f){return _0x407e2f();},'rotDK':function(_0x4ebab1,_0x4f5a44){return _0x4ebab1+_0x4f5a44;}};_0x2ec513['forEach']((_0x35817d,_0x5d34e3)=>{const _0x409d44=a0_0x1dfb;_0x17a3af[_0x409d44(0x1f8)](_0x3ebee3=>{const _0x5dce8c=_0x409d44,_0x19e736=_0x35817d[_0x3ebee3];if(_0x20c48d[_0x5dce8c(0x1f3)](_0x19e736,null)||_0x20c48d['aCYyg'](_0x19e736,undefined)||_0x19e736===''||_0x20c48d[_0x5dce8c(0x1c7)](String(_0x19e736)['trim'](),'-')){const _0x4252ef=_0x20c48d['lLxpY'](uuidv7);_0x35817d[_0x3ebee3]=_0x4252ef,_0x35817d[_0x5dce8c(0x20a)]=_0x35817d['_generated_uuid']||{},_0x35817d['_generated_uuid'][_0x3ebee3]=_0x4252ef,logger['debug']({'event':_0x5dce8c(0x1d8),'rowIndex':_0x5d34e3,'field':_0x3ebee3,'uuid':_0x4252ef},'Auto-generated\x20UUID\x20for\x20'+_0x3ebee3+'\x20at\x20row\x20'+_0x20c48d['rotDK'](_0x5d34e3,0x2));}});});}async['processPreviewJob'](_0x40a3e3,_0x380e0b,_0x4ae2b3){const _0x12d3de=a0_0x3ed0ee,_0x9dbc9={'ICqgw':function(_0x39c231,_0x2ce2cb){return _0x39c231===_0x2ce2cb;},'NujFt':'UPDATE','dEwoH':function(_0x2b356c,_0x427b7b){return _0x2b356c>_0x427b7b;},'Pyiwm':function(_0x518315,_0x4b2eb4){return _0x518315||_0x4b2eb4;},'YDRaW':'preview_error','ktlRf':'preview_ok','GSKmo':'preview_job_completed','XTtCj':'Preview\x20job\x20failed'};try{let {rows:_0x31357c,params:_0x5ed1f0}=_0x4ae2b3;const {requiredFields:_0x530d98,validations:_0x135199,upsertKeys:_0x9757e9,tableName:_0x2c893d,primaryKey:_0xb1ce0e,fieldName:_0x80d03b,upsertStrategy:_0x392f02,lookupFields:_0x3b979e}=_0x5ed1f0;this['autoGenerateUpsertKeys'](_0x31357c,_0x9757e9);let _0x276249=[];if(_0x3b979e&&_0x9dbc9['dEwoH'](Object['keys'](_0x3b979e)['length'],0x0)){logger['info']({'event':_0x12d3de(0x1fe),'jobId':_0x40a3e3,'lookupFieldCount':Object[_0x12d3de(0x1c0)](_0x3b979e)['length']},'Processing\x20lookup\x20fields');const _0x49d995=await lookupResolver['processLookupFields'](_0x31357c,_0x3b979e);_0x31357c=_0x49d995[_0x12d3de(0x1db)],_0x276249=_0x49d995['errors'],_0x4ae2b3['rows']=_0x31357c;}const _0x14dd98=importValidator[_0x12d3de(0x1e1)](_0x31357c,_0x530d98||[],_0x9dbc9['Pyiwm'](_0x135199,{}));_0x276249['forEach'](_0x49b707=>{const _0x3f396b=_0x12d3de,_0x28ed34=_0x14dd98['find'](_0x345254=>_0x345254['rowIndex']===_0x49b707['rowIndex']);_0x28ed34?_0x28ed34[_0x3f396b(0x209)][_0x3f396b(0x1c4)](_0x49b707[_0x3f396b(0x1bd)]):_0x14dd98[_0x3f396b(0x1c4)]({'rowIndex':_0x49b707['rowIndex'],'rowData':_0x31357c[_0x49b707['rowIndex']],'errors':[_0x49b707[_0x3f396b(0x1bd)]]});});const _0x1bc447=importValidator['detectDuplicatesInFile'](_0x31357c,_0x9757e9);_0x1bc447['forEach'](_0x330ad9=>{const _0x4692a7=_0x12d3de,_0x2ae6df=_0x14dd98['find'](_0x54b89e=>_0x54b89e[_0x4692a7(0x1c6)]===_0x330ad9['rowIndex']),_0x29c5b2=_0x9757e9[_0x4692a7(0x208)](_0x280680=>_0x280680['toUpperCase']())[_0x4692a7(0x246)](',\x20'),_0x2f7ba6=_0x4692a7(0x221)+_0x29c5b2;_0x2ae6df?_0x2ae6df[_0x4692a7(0x209)][_0x4692a7(0x1c4)](_0x2f7ba6):_0x14dd98['push']({'rowIndex':_0x330ad9['rowIndex'],'rowData':_0x31357c[_0x330ad9[_0x4692a7(0x1c6)]],'errors':[_0x2f7ba6]});}),await this[_0x12d3de(0x204)](_0x31357c,_0x9757e9,_0x2c893d,_0xb1ce0e,_0x392f02,_0x14dd98),_0x14dd98[_0x12d3de(0x1f8)](_0x14c021=>{const _0x3ed203=_0x12d3de,_0x11c5a1=_0x31357c[_0x14c021[_0x3ed203(0x1c6)]];_0x11c5a1&&(_0x11c5a1['_errors']=_0x14c021['errors']);});let _0x2479ef=0x0,_0x4f851f=0x0,_0xb3f27b=0x0;_0x31357c[_0x12d3de(0x1f8)](_0x1323ea=>{const _0x1d5a2f=_0x12d3de;if(_0x1323ea[_0x1d5a2f(0x1fc)]===_0x1d5a2f(0x1ee))_0x2479ef++;else{if(_0x9dbc9['ICqgw'](_0x1323ea[_0x1d5a2f(0x1fc)],_0x9dbc9[_0x1d5a2f(0x23f)]))_0x4f851f++;else _0x1323ea[_0x1d5a2f(0x1fc)]===_0x1d5a2f(0x212)&&_0xb3f27b++;}});const _0x339107={'job_id':_0x40a3e3,'upload_id':_0x380e0b,'status':_0x14dd98[_0x12d3de(0x219)]>0x0?_0x9dbc9['YDRaW']:_0x9dbc9['ktlRf'],'progress':0x64,'created_at':_0x4ae2b3[_0x12d3de(0x231)],'completed_at':new Date()[_0x12d3de(0x23a)](),'preview':{'total_rows':_0x31357c['length'],'insert_count':_0x2479ef,'update_count':_0x4f851f,'skip_count':_0xb3f27b,'error_count':_0x14dd98[_0x12d3de(0x219)],'errors':_0x14dd98,'data':_0x31357c,'sample_insert':_0x31357c[_0x12d3de(0x24e)](_0x4cfc47=>_0x4cfc47['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x31357c[_0x12d3de(0x24e)](_0x258b13=>_0x258b13['_action']===_0x12d3de(0x1fd))[_0x12d3de(0x1cb)](0x0,0x5),'sample_skip':_0x31357c[_0x12d3de(0x24e)](_0x303c66=>_0x303c66[_0x12d3de(0x1fc)]===_0x12d3de(0x212))[_0x12d3de(0x1cb)](0x0,0x5)},'params':_0x5ed1f0};await redisHelper['setJob'](_0x12d3de(0x1ba)+_0x40a3e3,_0x339107,0xe10),_0x4ae2b3[_0x12d3de(0x1c5)]=_0x31357c,await redisHelper[_0x12d3de(0x1d5)]('upload:'+_0x380e0b,_0x4ae2b3,0xe10),logger['info']({'event':_0x9dbc9[_0x12d3de(0x1fa)],'jobId':_0x40a3e3,'status':_0x339107[_0x12d3de(0x217)],'insertCount':_0x2479ef,'updateCount':_0x4f851f,'skipCount':_0xb3f27b,'errorCount':_0x14dd98['length']},'Preview\x20job\x20completed');}catch(_0x2ebf50){logError(_0x2ebf50,{'event':_0x12d3de(0x249),'jobId':_0x40a3e3},_0x9dbc9['XTtCj']),await redisHelper[_0x12d3de(0x1d5)]('job:'+_0x40a3e3,{'job_id':_0x40a3e3,'upload_id':_0x380e0b,'status':'failed','progress':0x0,'error':_0x2ebf50[_0x12d3de(0x1bd)],'created_at':new Date()[_0x12d3de(0x23a)](),'completed_at':new Date()[_0x12d3de(0x23a)]()},0xe10);}}async[a0_0x3ed0ee(0x204)](_0x55f62b,_0x53bd92,_0x596087,_0x447dfa,_0x1f2dcd=a0_0x3ed0ee(0x1be),_0x13a20f=[]){const _0x5ca555=a0_0x3ed0ee,_0x2a5009={'xvzqh':function(_0x3102aa,_0x1c6412){return _0x3102aa===_0x1c6412;},'eHfOz':'NULL','dkVPH':'UPDATE','USzTc':function(_0x2fba42,_0x33d170){return _0x2fba42===_0x33d170;},'wGMKq':_0x5ca555(0x212),'lAaof':function(_0x357081,_0x4c8645){return _0x357081===_0x4c8645;},'ZLhLC':'INSERT','gBPTI':function(_0x4b64b9,_0x50e59b){return _0x4b64b9===_0x50e59b;},'XNWmI':_0x5ca555(0x205),'lVlJL':function(_0x17c20b,_0x1081b1){return _0x17c20b(_0x1081b1);},'UfHDu':function(_0x3bc24a,_0x5ae0b7){return _0x3bc24a===_0x5ae0b7;}},_0x49cfae=upsertBuilder['chunkRows'](_0x55f62b,0x64);for(const _0x1597cc of _0x49cfae){const _0x372c3f=_0x1597cc[_0x5ca555(0x208)](_0x4dc696=>_0x4dc696[_0x53bd92[0x0]]),_0x27cdd4=_0x372c3f['map'](_0xd55b2=>{const _0x3ac636=_0x5ca555;if(_0x2a5009['xvzqh'](_0xd55b2,null)||_0x2a5009[_0x3ac636(0x211)](_0xd55b2,undefined))return _0x2a5009['eHfOz'];return'\x27'+String(_0xd55b2)[_0x3ac636(0x1bc)](/'/g,'\x27\x27')+'\x27';}),_0x5d91e6=_0x5ca555(0x242)+_0x447dfa+',\x20'+_0x53bd92[_0x5ca555(0x246)](',\x20')+_0x5ca555(0x21c)+_0x596087+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x53bd92[0x0]+_0x5ca555(0x1e6)+_0x27cdd4['join'](',\x20')+_0x5ca555(0x245);let _0x352839=await _0x2a5009[_0x5ca555(0x213)](executeQuery,_0x5d91e6);_0x2a5009['UfHDu'](dbType,'oracle')&&_0x352839&&_0x352839[_0x5ca555(0x219)]>0x0&&(_0x352839=_0x352839[_0x5ca555(0x208)](_0x55cbeb=>{const _0x413719={};for(const [_0x497fb0,_0x4421fd]of Object['entries'](_0x55cbeb)){_0x413719[_0x497fb0['toLowerCase']()]=_0x4421fd;}return _0x413719;}));const _0x68d385=new Map();_0x352839[_0x5ca555(0x1f8)](_0x5dcbeb=>{const _0x5ce1bc=_0x5dcbeb[_0x53bd92[0x0]];_0x68d385['set'](_0x5ce1bc,_0x5dcbeb);}),_0x1597cc[_0x5ca555(0x1f8)]((_0x1ed125,_0xdcb115)=>{const _0x318741=_0x5ca555,_0x56dff9=_0x1ed125[_0x53bd92[0x0]],_0x24b96d=_0x68d385[_0x318741(0x21b)](_0x56dff9);if(_0x24b96d){if(_0x1f2dcd==='update_existing')_0x1ed125[_0x318741(0x1fc)]=_0x2a5009['dkVPH'],_0x1ed125[_0x318741(0x23e)]=_0x24b96d[_0x447dfa];else{if(_0x2a5009[_0x318741(0x24d)](_0x1f2dcd,_0x318741(0x239))){_0x1ed125[_0x318741(0x1fc)]=_0x2a5009[_0x318741(0x1d9)],_0x1ed125['_errors']=_0x1ed125['_errors']||[],_0x1ed125[_0x318741(0x224)][_0x318741(0x1c4)](_0x318741(0x255));const _0xeb180c=_0x55f62b['indexOf'](_0x1ed125);_0xeb180c!==-0x1&&_0x13a20f[_0x318741(0x1c4)]({'rowIndex':_0xeb180c,'rowData':_0x1ed125,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x2a5009[_0x318741(0x22f)](_0x1f2dcd,'skip_existing')&&(_0x1ed125['_action']=_0x2a5009['wGMKq']);}}else{if(_0x1f2dcd===_0x318741(0x1be))_0x1ed125['_action']=_0x2a5009[_0x318741(0x257)];else(_0x2a5009[_0x318741(0x211)](_0x1f2dcd,'insert_only')||_0x2a5009['gBPTI'](_0x1f2dcd,_0x2a5009['XNWmI']))&&(_0x1ed125[_0x318741(0x1fc)]='INSERT');}});}}async[a0_0x3ed0ee(0x1ea)](_0x123676){const _0x22e256=a0_0x3ed0ee,_0x370bdd={'HuQEQ':_0x22e256(0x1d3),'JiWrW':'commit_job_created','AZQYc':_0x22e256(0x232)},_0x5e1cea=this[_0x22e256(0x1fb)](),_0x42f6c7=await redisHelper['getJob']('job:'+_0x123676);if(!_0x42f6c7)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x42f6c7[_0x22e256(0x217)]!=='preview_ok')throw new Error(_0x22e256(0x253)+_0x42f6c7[_0x22e256(0x217)]);const _0x3e0a92={'job_id':_0x5e1cea,'upload_id':_0x42f6c7[_0x22e256(0x250)],'preview_job_id':_0x123676,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x42f6c7[_0x22e256(0x256)]};return await redisHelper[_0x22e256(0x1d5)]('job:'+_0x5e1cea,_0x3e0a92,0xe10),logger['info']({'event':_0x370bdd['JiWrW'],'jobId':_0x5e1cea,'previewJobId':_0x123676},_0x370bdd['AZQYc']),this[_0x22e256(0x225)](_0x5e1cea,_0x42f6c7)[_0x22e256(0x1f4)](_0x4ef8b8=>{const _0x567d46=_0x22e256;logError(_0x4ef8b8,{'event':_0x567d46(0x244),'jobId':_0x5e1cea},_0x370bdd[_0x567d46(0x1cd)]);}),{'job_id':_0x5e1cea,'status':_0x22e256(0x1dd)};}async[a0_0x3ed0ee(0x225)](_0x55f022,_0x49a76d){const _0x953b6f=a0_0x3ed0ee,_0x50e9ad={'hLwru':_0x953b6f(0x1df),'uJYpy':function(_0x47e48c,_0x2953ad){return _0x47e48c>_0x2953ad;},'Xoceg':_0x953b6f(0x203),'TgACo':'update','gaEAR':function(_0x22a93e,_0x599f02){return _0x22a93e>_0x599f02;},'maluO':'Commit\x20job\x20completed','eFXrc':function(_0x22b4af,_0x3a1499,_0x2378f6,_0x3e75df){return _0x22b4af(_0x3a1499,_0x2378f6,_0x3e75df);}};try{const _0x572f5f=await redisHelper['getJob'](_0x953b6f(0x1b7)+_0x49a76d['upload_id']);if(!_0x572f5f)throw new Error(_0x50e9ad['hLwru']);const {rows:_0x20cfb1,params:_0x26565d}=_0x572f5f,{tableName:_0x4a9d79,fieldName:_0x47523d,primaryKey:_0x2f161d,upsertKeys:_0x33cbc7,excludeFromImport:_0x1fcd72,lookupFields:_0x3b54e9,columnFormats:_0x2e9a8b}=_0x26565d,_0x4e3f42=_0x3b54e9?Object['keys'](_0x3b54e9):[],_0x316700=new Set([..._0x1fcd72||[],..._0x4e3f42]);let _0x2018fb=_0x47523d;_0x50e9ad['uJYpy'](_0x316700[_0x953b6f(0x1d7)],0x0)&&(_0x2018fb=_0x47523d[_0x953b6f(0x24e)](_0x3c3e80=>!_0x316700['has'](_0x3c3e80)),logger['debug']({'event':_0x50e9ad['Xoceg'],'originalCount':_0x47523d[_0x953b6f(0x219)],'filteredCount':_0x2018fb[_0x953b6f(0x219)],'excludedFields':Array['from'](_0x316700),'lookupSourceFields':_0x4e3f42},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x53f2ce=_0x20cfb1['filter'](_0xdeeb86=>_0xdeeb86[_0x953b6f(0x1fc)]==='INSERT'),_0x3bb138=_0x20cfb1['filter'](_0x3b9da5=>_0x3b9da5['_action']===_0x953b6f(0x1fd));let _0xa67da1=0x0,_0x62c086=0x0;const _0x226754=[];if(_0x50e9ad['uJYpy'](_0x53f2ce[_0x953b6f(0x219)],0x0)){const _0x57beee=upsertBuilder[_0x953b6f(0x1d2)](_0x53f2ce,0x64);for(const _0x260bfb of _0x57beee){const {query:_0x4db4b8}=upsertBuilder['buildBatchInsert'](_0x260bfb,_0x4a9d79,_0x2018fb,_0x2e9a8b||{});_0x4db4b8&&_0x226754[_0x953b6f(0x1c4)]({'sql':_0x4db4b8,'count':_0x260bfb[_0x953b6f(0x219)],'type':'insert'});}}if(_0x3bb138[_0x953b6f(0x219)]>0x0){const _0x64e87f=upsertBuilder['chunkRows'](_0x3bb138,0x64);for(const _0x379e2c of _0x64e87f){const {query:_0x497832}=upsertBuilder[_0x953b6f(0x207)](_0x379e2c,_0x4a9d79,_0x2018fb,_0x2f161d,_0x33cbc7,_0x2e9a8b||{});_0x497832&&_0x226754[_0x953b6f(0x1c4)]({'sql':_0x497832,'count':_0x379e2c[_0x953b6f(0x219)],'type':_0x50e9ad[_0x953b6f(0x216)]});}}_0x50e9ad[_0x953b6f(0x251)](_0x226754[_0x953b6f(0x219)],0x0)&&await executeTransaction(_0x226754[_0x953b6f(0x208)](_0x1bc670=>({'sql':_0x1bc670[_0x953b6f(0x1ec)],'params':[]})));_0x226754['forEach'](_0x361c55=>{if(_0x361c55['type']==='insert')_0xa67da1+=_0x361c55['count'];else _0x62c086+=_0x361c55['count'];});const _0x314449={'job_id':_0x55f022,'upload_id':_0x49a76d['upload_id'],'preview_job_id':_0x49a76d['job_id'],'status':_0x953b6f(0x228),'progress':0x64,'created_at':_0x49a76d['created_at'],'started_at':new Date()[_0x953b6f(0x23a)](),'completed_at':new Date()[_0x953b6f(0x23a)](),'result':{'total_rows':_0x20cfb1[_0x953b6f(0x219)],'inserted_rows':_0xa67da1,'updated_rows':_0x62c086,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x26565d};await redisHelper['setJob']('job:'+_0x55f022,_0x314449,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x55f022,'insertedCount':_0xa67da1,'updatedCount':_0x62c086},_0x50e9ad['maluO']);}catch(_0xbf739a){_0x50e9ad[_0x953b6f(0x1f7)](logError,_0xbf739a,{'event':_0x953b6f(0x258),'jobId':_0x55f022},'Commit\x20job\x20failed'),await redisHelper['setJob']('job:'+_0x55f022,{'job_id':_0x55f022,'upload_id':_0x49a76d['upload_id'],'preview_job_id':_0x49a76d['job_id'],'status':'failed','progress':0x0,'error':_0xbf739a['message'],'created_at':_0x49a76d[_0x953b6f(0x231)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x2e2de6){const _0x46d092=await redisHelper['getJob']('job:'+_0x2e2de6);if(!_0x46d092)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x46d092};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x2076(_0x4baa98,_0x39656d){_0x4baa98=_0x4baa98-0x112;const _0x1266a3=a0_0x1266();let _0x207676=_0x1266a3[_0x4baa98];if(a0_0x2076['dxKSBn']===undefined){var _0x25c6a0=function(_0x5aa352){const _0x346801='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x467f62='',_0x338ac7='';for(let _0xcd2861=0x0,_0xd4f315,_0x450548,_0x1086ae=0x0;_0x450548=_0x5aa352['charAt'](_0x1086ae++);~_0x450548&&(_0xd4f315=_0xcd2861%0x4?_0xd4f315*0x40+_0x450548:_0x450548,_0xcd2861++%0x4)?_0x467f62+=String['fromCharCode'](0xff&_0xd4f315>>(-0x2*_0xcd2861&0x6)):0x0){_0x450548=_0x346801['indexOf'](_0x450548);}for(let _0x48b082=0x0,_0x2a8229=_0x467f62['length'];_0x48b082<_0x2a8229;_0x48b082++){_0x338ac7+='%'+('00'+_0x467f62['charCodeAt'](_0x48b082)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x338ac7);};a0_0x2076['gFOvDx']=_0x25c6a0,a0_0x2076['MWbAgz']={},a0_0x2076['dxKSBn']=!![];}const _0x291446=_0x1266a3[0x0],_0x2a6f86=_0x4baa98+_0x291446,_0x145be7=a0_0x2076['MWbAgz'][_0x2a6f86];return!_0x145be7?(_0x207676=a0_0x2076['gFOvDx'](_0x207676),a0_0x2076['MWbAgz'][_0x2a6f86]=_0x207676):_0x207676=_0x145be7,_0x207676;}const a0_0x106fb7=a0_0x2076;(function(_0x5743d0,_0x5e0a52){const _0x232323=a0_0x2076,_0x614b3f=_0x5743d0();while(!![]){try{const _0x4f5c17=parseInt(_0x232323(0x180))/0x1+-parseInt(_0x232323(0x193))/0x2*(parseInt(_0x232323(0x126))/0x3)+parseInt(_0x232323(0x154))/0x4+parseInt(_0x232323(0x168))/0x5+parseInt(_0x232323(0x199))/0x6+-parseInt(_0x232323(0x115))/0x7*(-parseInt(_0x232323(0x129))/0x8)+-parseInt(_0x232323(0x197))/0x9*(parseInt(_0x232323(0x173))/0xa);if(_0x4f5c17===_0x5e0a52)break;else _0x614b3f['push'](_0x614b3f['shift']());}catch(_0x5dff94){_0x614b3f['push'](_0x614b3f['shift']());}}}(a0_0x1266,0xcfc04));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x106fb7(0x142));class KafkaConsumerService{constructor(){const _0x258eda=a0_0x106fb7;this[_0x258eda(0x145)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x258eda(0x13b)]=![],this['connectionPromise']=null,this[_0x258eda(0x12a)]=[],this[_0x258eda(0x11c)]=null,this[_0x258eda(0x18f)]=null,this[_0x258eda(0x172)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x10c8f7=a0_0x106fb7,_0x5aac6e={'FbGFp':_0x10c8f7(0x17e),'WolYI':_0x10c8f7(0x184),'OIKYq':function(_0x25d15a,_0x163c75){return _0x25d15a(_0x163c75);},'NrRRK':_0x10c8f7(0x150),'yVeIn':'30000','AeIyM':function(_0x47d712,_0x1f4744){return _0x47d712===_0x1f4744;},'INygl':'5000','SLsQN':function(_0x242b36,_0x2951a1){return _0x242b36(_0x2951a1);},'khxYT':_0x10c8f7(0x16a)};return{'enabled':process[_0x10c8f7(0x11d)]['KAFKA_ENABLED']===_0x10c8f7(0x137),'brokers':(process['env'][_0x10c8f7(0x125)]||_0x5aac6e['FbGFp'])['split'](','),'clientId':process['env'][_0x10c8f7(0x152)]||_0x10c8f7(0x165)+(process[_0x10c8f7(0x11d)][_0x10c8f7(0x18b)]||_0x5aac6e[_0x10c8f7(0x14a)])+_0x10c8f7(0x12d),'connectionTimeout':_0x5aac6e['OIKYq'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x5aac6e['NrRRK']),'requestTimeout':parseInt(process[_0x10c8f7(0x11d)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':parseInt(process[_0x10c8f7(0x11d)]['KAFKA_SESSION_TIMEOUT']||_0x5aac6e[_0x10c8f7(0x190)]),'heartbeatInterval':_0x5aac6e['OIKYq'](parseInt,process['env'][_0x10c8f7(0x191)]||_0x5aac6e[_0x10c8f7(0x164)]),'maxBytesPerPartition':_0x5aac6e['OIKYq'](parseInt,process['env'][_0x10c8f7(0x13c)]||_0x10c8f7(0x174)),'autoCommit':_0x5aac6e['AeIyM'](process[_0x10c8f7(0x11d)][_0x10c8f7(0x16d)],'true'),'autoCommitInterval':_0x5aac6e[_0x10c8f7(0x128)](parseInt,process[_0x10c8f7(0x11d)][_0x10c8f7(0x161)]||_0x5aac6e['INygl']),'retryAttempts':parseInt(process['env'][_0x10c8f7(0x185)]||'3'),'retryDelay':_0x5aac6e[_0x10c8f7(0x12f)](parseInt,process[_0x10c8f7(0x11d)][_0x10c8f7(0x12c)]||'1000'),'retryMaxDelay':_0x5aac6e[_0x10c8f7(0x128)](parseInt,process[_0x10c8f7(0x11d)]['KAFKA_RETRY_MAX_DELAY']||_0x5aac6e['yVeIn']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x5aac6e['khxYT']};}[a0_0x106fb7(0x194)](_0x2e46a2){const _0x3e2895=a0_0x106fb7,_0xbd3264={'nothing':logLevel[_0x3e2895(0x189)],'error':logLevel[_0x3e2895(0x15c)],'warn':logLevel[_0x3e2895(0x15a)],'info':logLevel[_0x3e2895(0x15e)],'debug':logLevel['DEBUG']};return _0xbd3264[_0x2e46a2['toLowerCase']()]||logLevel[_0x3e2895(0x15a)];}async['initialize'](_0x492f7a={}){const _0x13383a=a0_0x106fb7,_0xb1a40f={'phMUS':function(_0x495233,_0xcabd6a){return _0x495233===_0xcabd6a;},'RtJeK':'true','sCVKH':'default','paEZh':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x9415c0=this[_0x13383a(0x176)]();if(!_0x9415c0[_0x13383a(0x181)])return console[_0x13383a(0x13e)](_0xb1a40f[_0x13383a(0x167)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x13383a(0x17a)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x26e80a=>{const _0x307887=_0x13383a;try{let _0x2e5f79=undefined;_0xb1a40f[_0x307887(0x136)](process['env'][_0x307887(0x15b)],_0xb1a40f[_0x307887(0x14e)])&&(_0x2e5f79=!![]);let _0x2f678f=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x2f678f={'mechanism':process['env'][_0x307887(0x131)],'username':process['env'][_0x307887(0x138)]||'','password':process[_0x307887(0x11d)]['KAFKA_SASL_PASSWORD']||''}),this[_0x307887(0x145)]=new Kafka({'clientId':_0x492f7a[_0x307887(0x18d)]||_0x9415c0['clientId'],'brokers':_0x9415c0[_0x307887(0x120)],'connectionTimeout':_0x9415c0[_0x307887(0x133)],'requestTimeout':_0x9415c0['requestTimeout'],'logLevel':this[_0x307887(0x194)](_0x9415c0[_0x307887(0x134)]),'ssl':_0x2e5f79,'sasl':_0x2f678f,'retry':{'initialRetryTime':_0x9415c0[_0x307887(0x18a)],'retries':_0x9415c0[_0x307887(0x175)],'maxRetryTime':_0x9415c0[_0x307887(0x169)]}}),this[_0x307887(0x11c)]=_0x492f7a[_0x307887(0x11c)]||_0x307887(0x165)+(process[_0x307887(0x11d)][_0x307887(0x18b)]||_0xb1a40f[_0x307887(0x187)])+'-consumer-group',this[_0x307887(0x130)]=this['kafka']['consumer']({'groupId':this[_0x307887(0x11c)],'sessionTimeout':_0x9415c0[_0x307887(0x16f)],'heartbeatInterval':_0x9415c0[_0x307887(0x13a)],'maxBytesPerPartition':_0x9415c0[_0x307887(0x119)],'allowAutoTopicCreation':![]}),await this[_0x307887(0x130)][_0x307887(0x16b)](),this[_0x307887(0x127)]=!![],console[_0x307887(0x13e)](_0x307887(0x18e)+_0x9415c0[_0x307887(0x120)][_0x307887(0x156)](',\x20')+_0x307887(0x14f)+this[_0x307887(0x11c)]+')'),this['setupEventHandlers'](),_0x26e80a(!![]);}catch(_0x217f8a){console[_0x307887(0x15f)](_0x307887(0x151)+_0x217f8a['message']),this[_0x307887(0x127)]=![],_0x26e80a(![]);}finally{this[_0x307887(0x153)]=![];}}),this[_0x13383a(0x17a)];}[a0_0x106fb7(0x166)](){const _0x4fa146=a0_0x106fb7,_0x53cf75={'fHvUY':'[KafkaConsumer]\x20Consumer\x20rebalancing...','xxRHS':'consumer.disconnect'};if(!this[_0x4fa146(0x130)])return;this['consumer']['on'](_0x53cf75[_0x4fa146(0x11f)],()=>{const _0x233fb9=_0x4fa146;console[_0x233fb9(0x13e)](_0x233fb9(0x14d)),this[_0x233fb9(0x127)]=![],this[_0x233fb9(0x116)]=![];}),this[_0x4fa146(0x130)]['on']('consumer.stop',()=>{const _0x44792d=_0x4fa146;console['log'](_0x44792d(0x17c)),this[_0x44792d(0x116)]=![];}),this[_0x4fa146(0x130)]['on'](_0x4fa146(0x178),_0x359c49=>{const _0x3bdd25=_0x4fa146;console['error'](_0x3bdd25(0x11e)+_0x359c49[_0x3bdd25(0x13f)]['error']['message']),this['isRunning']=![];}),this[_0x4fa146(0x130)]['on'](_0x4fa146(0x158),()=>{const _0x40c5fc=_0x4fa146;console[_0x40c5fc(0x13e)](_0x53cf75[_0x40c5fc(0x157)]);});}async['subscribe'](_0x7d2e41,_0x46e86b=![]){const _0x5734f2=a0_0x106fb7,_0xc6e1a7={'SGSwR':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x5734f2(0x127)])return console[_0x5734f2(0x15f)](_0xc6e1a7[_0x5734f2(0x139)]),![];try{const _0x4d36fa=Array['isArray'](_0x7d2e41)?_0x7d2e41:[_0x7d2e41];for(const _0x2d9365 of _0x4d36fa){await this[_0x5734f2(0x130)]['subscribe']({'topic':_0x2d9365,'fromBeginning':_0x46e86b}),console[_0x5734f2(0x13e)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x2d9365+_0x5734f2(0x18c)+_0x46e86b+')');}return this['subscribedTopics']=[...new Set([...this[_0x5734f2(0x12a)],..._0x4d36fa])],!![];}catch(_0x123095){return console[_0x5734f2(0x15f)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x123095['message']),![];}}async[a0_0x106fb7(0x14b)](_0x3a3e95,_0x17b49c={}){const _0xbe58f=a0_0x106fb7,_0x5d14a4={'eHAZv':function(_0xb3dfd2,_0x2ac51c){return _0xb3dfd2(_0x2ac51c);}};if(!this['isConnected'])return console['error'](_0xbe58f(0x155)),![];if(this['isRunning'])return console['log'](_0xbe58f(0x163)),!![];const _0x342ea8=this['getConfig']();this['messageHandler']=_0x3a3e95;try{return this[_0xbe58f(0x172)]['startTime']=new Date(),await this['consumer'][_0xbe58f(0x17d)]({'autoCommit':_0x17b49c['autoCommit']!==undefined?_0x17b49c[_0xbe58f(0x135)]:_0x342ea8[_0xbe58f(0x135)],'autoCommitInterval':_0x342ea8[_0xbe58f(0x149)],'eachMessage':async({topic:_0x2914d7,partition:_0x33c0e6,message:_0x4add69,heartbeat:_0xa3eb55})=>{const _0x30a90c=_0xbe58f,_0x3c6cb4=Date[_0x30a90c(0x198)]();this[_0x30a90c(0x172)][_0x30a90c(0x170)]++,this[_0x30a90c(0x172)][_0x30a90c(0x162)]=new Date();try{const _0x4c7e16=_0x4add69['value']?_0x4add69[_0x30a90c(0x13d)]['toString']():null;let _0x12baf2=null;try{_0x12baf2=_0x4c7e16?JSON[_0x30a90c(0x188)](_0x4c7e16):null;}catch(_0x34f992){_0x12baf2=_0x4c7e16;}const _0x5b33d9={'topic':_0x2914d7,'partition':_0x33c0e6,'offset':_0x4add69['offset'],'key':_0x4add69['key']?_0x4add69[_0x30a90c(0x195)]['toString']():null,'headers':this[_0x30a90c(0x171)](_0x4add69[_0x30a90c(0x15d)]),'timestamp':_0x4add69[_0x30a90c(0x114)],'value':_0x12baf2,'raw':_0x4c7e16};this[_0x30a90c(0x18f)]&&await this[_0x30a90c(0x18f)](_0x5b33d9);!_0x342ea8[_0x30a90c(0x135)]&&await this[_0x30a90c(0x130)]['commitOffsets']([{'topic':_0x2914d7,'partition':_0x33c0e6,'offset':(_0x5d14a4['eHAZv'](parseInt,_0x4add69[_0x30a90c(0x117)])+0x1)[_0x30a90c(0x112)]()}]);this['metrics'][_0x30a90c(0x147)]++;const _0x44a9da=Date['now']()-_0x3c6cb4;this[_0x30a90c(0x172)][_0x30a90c(0x122)][_0x30a90c(0x146)](_0x44a9da),this['metrics']['processingTimes'][_0x30a90c(0x14c)]>0x64&&this['metrics']['processingTimes'][_0x30a90c(0x132)](),await _0xa3eb55();}catch(_0x51a64c){this['metrics'][_0x30a90c(0x143)]++,console['error'](_0x30a90c(0x17f)+_0x51a64c['message']);throw _0x51a64c;}}}),this[_0xbe58f(0x116)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xbe58f(0x12a)]['join'](',\x20')),!![];}catch(_0x1b60f8){return console[_0xbe58f(0x15f)](_0xbe58f(0x179)+_0x1b60f8['message']),![];}}['parseHeaders'](_0x5db971){const _0x24cf09=a0_0x106fb7;if(!_0x5db971)return{};const _0x520db1={};for(const [_0x196d19,_0x15640a]of Object['entries'](_0x5db971)){_0x520db1[_0x196d19]=_0x15640a?_0x15640a[_0x24cf09(0x112)]():null;}return _0x520db1;}async[a0_0x106fb7(0x192)](){const _0x47c631=a0_0x106fb7,_0x4fe6ba={'wcnUx':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this[_0x47c631(0x116)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x47c631(0x13b)])return console['log'](_0x4fe6ba['wcnUx']),!![];try{const _0x6edc65=this[_0x47c631(0x12a)][_0x47c631(0x113)](_0x4e67c6=>({'topic':_0x4e67c6}));return this[_0x47c631(0x130)]['pause'](_0x6edc65),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x91c041){return console[_0x47c631(0x15f)](_0x47c631(0x121)+_0x91c041[_0x47c631(0x11b)]),![];}}async[a0_0x106fb7(0x186)](){const _0x5ec750=a0_0x106fb7,_0xbda25b={'EoWqa':_0x5ec750(0x118)};if(!this['isConnected']||!this[_0x5ec750(0x116)])return console['log'](_0xbda25b[_0x5ec750(0x17b)]),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x12ab11=this['subscribedTopics'][_0x5ec750(0x113)](_0x33d9d3=>({'topic':_0x33d9d3}));return this['consumer'][_0x5ec750(0x186)](_0x12ab11),this['isPaused']=![],console[_0x5ec750(0x13e)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x5d8cfd){return console['error'](_0x5ec750(0x12b)+_0x5d8cfd['message']),![];}}async['stop'](){const _0x10a19d=a0_0x106fb7,_0x49f5c9={'cHsqp':_0x10a19d(0x144)};if(!this[_0x10a19d(0x127)])return console['log'](_0x10a19d(0x123)),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer'][_0x10a19d(0x12e)]()),this['isConnected']=![],this[_0x10a19d(0x116)]=![],this[_0x10a19d(0x13b)]=![],console['log'](_0x49f5c9['cHsqp']),!![];}catch(_0x307539){return console[_0x10a19d(0x15f)](_0x10a19d(0x196)+_0x307539['message']),![];}}async['seekToOffset'](_0x5f3f5f,_0x18b908,_0x572b25){const _0x1cb8aa=a0_0x106fb7;if(!this[_0x1cb8aa(0x127)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x1cb8aa(0x130)]['seek']({'topic':_0x5f3f5f,'partition':_0x18b908,'offset':_0x572b25['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x572b25+_0x1cb8aa(0x16c)+_0x5f3f5f+':'+_0x18b908),!![];}catch(_0xa58659){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xa58659[_0x1cb8aa(0x11b)]),![];}}['getStatus'](){const _0x4123b6=a0_0x106fb7,_0x5d92d6=this['getConfig']();return{'enabled':_0x5d92d6[_0x4123b6(0x181)],'connected':this[_0x4123b6(0x127)],'running':this[_0x4123b6(0x116)],'paused':this[_0x4123b6(0x13b)],'brokers':_0x5d92d6[_0x4123b6(0x120)],'clientId':_0x5d92d6['clientId'],'groupId':this[_0x4123b6(0x11c)],'subscribedTopics':this[_0x4123b6(0x12a)]};}[a0_0x106fb7(0x159)](){const _0x5af152=a0_0x106fb7,_0x2a49b8={'Sccnx':function(_0x3e5c37,_0x4c7c69){return _0x3e5c37>_0x4c7c69;},'GUQho':function(_0x4897b8,_0x12a77d){return _0x4897b8>_0x12a77d;},'brPoK':function(_0x1ae255,_0x8982b0){return _0x1ae255+_0x8982b0;},'RzOzT':function(_0x84152d,_0x52e574){return _0x84152d+_0x52e574;}},_0x3b23fc=_0x2a49b8[_0x5af152(0x124)](this['metrics']['processingTimes'][_0x5af152(0x14c)],0x0)?this['metrics'][_0x5af152(0x122)]['reduce']((_0xbed9f1,_0x5dbe0e)=>_0xbed9f1+_0x5dbe0e,0x0)/this['metrics'][_0x5af152(0x122)]['length']:0x0,_0x122224=_0x2a49b8['GUQho'](this['metrics']['processingTimes'][_0x5af152(0x14c)],0x0)?Math[_0x5af152(0x182)](...this[_0x5af152(0x172)][_0x5af152(0x122)]):0x0,_0x1d8963=_0x2a49b8['Sccnx'](this[_0x5af152(0x172)]['processingTimes']['length'],0x0)?Math[_0x5af152(0x141)](...this[_0x5af152(0x172)][_0x5af152(0x122)]):0x0;return{'messagesReceived':this['metrics'][_0x5af152(0x170)],'messagesProcessed':this[_0x5af152(0x172)]['messagesProcessed'],'messagesFailed':this[_0x5af152(0x172)]['messagesFailed'],'successRate':this[_0x5af152(0x172)][_0x5af152(0x170)]>0x0?(this[_0x5af152(0x172)]['messagesProcessed']/this['metrics'][_0x5af152(0x170)]*0x64)[_0x5af152(0x183)](0x2)+'%':'0%','lastMessageTime':this[_0x5af152(0x172)][_0x5af152(0x162)],'startTime':this[_0x5af152(0x172)][_0x5af152(0x177)],'uptime':this[_0x5af152(0x172)]['startTime']?Math['floor']((Date['now']()-this['metrics'][_0x5af152(0x177)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x2a49b8['brPoK'](Math['round'](_0x3b23fc),'ms'),'min':_0x122224+'ms','max':_0x2a49b8[_0x5af152(0x16e)](_0x1d8963,'ms')}};}[a0_0x106fb7(0x160)](){const _0x5a13b4=a0_0x106fb7;this[_0x5a13b4(0x172)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x5a13b4(0x116)]?new Date():null,'processingTimes':[]},console['log'](_0x5a13b4(0x11a));}async[a0_0x106fb7(0x148)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x1266(){const _0x154e8f=['s0fgs0fFqvvut19dt01nsvq','uNPpELq','C2vZC2LVBLrPBwvVDxq','BwvZC2fNzxnszwnLAxzLza','CgfYC2vizwfKzxjZ','Bwv0CMLJCW','mJqWsLL4tgD5','mta0odu3nG','CMv0CNLbDhrLBxb0CW','z2v0q29UzMLN','C3rHCNruAw1L','y29UC3vTzxiUy3jHC2G','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','y29UBMvJDgLVBLbYB21PC2u','rw9xCwe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','CNvU','Bg9JywXOB3n0oJKWoti','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ntq5mdi4q1LusvPx','zw5HyMXLza','BwLU','Dg9gAxHLza','zgvMyxvSDa','s0fgs0fFuKvuuLLFqvruru1qvfm','CMvZDw1L','C0nws0G','CgfYC2u','tK9useLorW','CMv0CNLezwXHEq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','icHMCM9TqMvNAw5UAw5NoIa','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','BwvZC2fNzuHHBMrSzxi','EvzLsw4','s0fgs0fFsevbuLrcrufux0LovevsvKfm','Cgf1C2u','mLrdyuDXvW','z2v0tg9Ntgv2zwW','A2v5','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','otmZmZe4ChHmBMvn','BM93','nJe4mZq5mMrXBhj6wq','Dg9tDhjPBMC','BwfW','DgLTzxn0yw1W','nJnVy2DRsve','AxnsDw5UAw5N','B2zMC2v0','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','BwvZC2fNzq','z3jVDxbjza','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','EhHssfm','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','u2nJBNG','s0fgs0fFqLjps0vsuW','ndiWndGYmu5REwrLzW','AxndB25Uzwn0zwq','t0Llwxe','mtqZotC1mLDyzfzjvW','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','s0fgs0fFuKvuuLLFrevmqvK','lwnVBNn1BwvY','zgLZy29UBMvJDa','u0XZuu4','y29UC3vTzxi','s0fgs0fFu0fttf9nruniqu5ju00','C2HPzNq','y29UBMvJDgLVBLrPBwvVDxq','Bg9Ntgv2zwW','yxv0B0nVBw1PDa','CgHnvvm','Dhj1zq','s0fgs0fFu0fttf9vu0vstKfnrq','u0DtD1i','AgvHCNrIzwf0sw50zxj2ywW','AxnqyxvZzwq','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','DMfSDwu','Bg9N','Cgf5Bg9Hza','zxHWB3j0CW','Bwf4','DxvPza','BwvZC2fNzxngywLSzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','A2fMA2e','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','y2XVC2u','yxv0B0nVBw1PDeLUDgvYDMfS','v29SwuK','C3rHCNrdB25ZDw1PBMC','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','uNrkzuS','icHNCM91CeLKoIa','mZaWma','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','s0fgs0fFq0Xjru5ux0Le','AxnjBML0AwfSAxPPBMC','mJi4nZG1nMXgy2LxzG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','AM9PBG','zKH2vvK','y29UC3vTzxiUCMvIywXHBMnPBMC','z2v0twv0CMLJCW','v0fstG','s0fgs0fFu1nm','rvjst1i','AgvHzgvYCW','su5gtW','zxjYB3i','CMvZzxrnzxrYAwnZ','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','tNjsuKS','CMvZDgzVCMDLlq','C2v0DxbfDMvUDeHHBMrSzxjZ','CgffwMG','ndG1mdu0me9irNzRDq','CMv0CNLnyxHezwXHEq','D2fYBG','y29UBMvJDa','ig9Uia'];a0_0x1266=function(){return _0x154e8f;};return a0_0x1266();}function createInstance(){return new KafkaConsumerService();}module[a0_0x106fb7(0x140)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
function a0_0x4feb(_0x1a9869,_0x2fe2b4){_0x1a9869=_0x1a9869-0x8e;const _0x3149d7=a0_0x3149();let _0x4feb09=_0x3149d7[_0x1a9869];if(a0_0x4feb['XvAiTE']===undefined){var _0x7c8cb0=function(_0x338120){const _0x101b21='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309ad9='',_0x2e3759='';for(let _0x36dadb=0x0,_0x61e23e,_0x2d8793,_0x1b0447=0x0;_0x2d8793=_0x338120['charAt'](_0x1b0447++);~_0x2d8793&&(_0x61e23e=_0x36dadb%0x4?_0x61e23e*0x40+_0x2d8793:_0x2d8793,_0x36dadb++%0x4)?_0x309ad9+=String['fromCharCode'](0xff&_0x61e23e>>(-0x2*_0x36dadb&0x6)):0x0){_0x2d8793=_0x101b21['indexOf'](_0x2d8793);}for(let _0x5982fd=0x0,_0x4642a1=_0x309ad9['length'];_0x5982fd<_0x4642a1;_0x5982fd++){_0x2e3759+='%'+('00'+_0x309ad9['charCodeAt'](_0x5982fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e3759);};a0_0x4feb['URiqgp']=_0x7c8cb0,a0_0x4feb['bLgnvF']={},a0_0x4feb['XvAiTE']=!![];}const _0x237f96=_0x3149d7[0x0],_0x16a507=_0x1a9869+_0x237f96,_0xa09f8a=a0_0x4feb['bLgnvF'][_0x16a507];return!_0xa09f8a?(_0x4feb09=a0_0x4feb['URiqgp'](_0x4feb09),a0_0x4feb['bLgnvF'][_0x16a507]=_0x4feb09):_0x4feb09=_0xa09f8a,_0x4feb09;}const a0_0x456a68=a0_0x4feb;(function(_0x44f8e0,_0x31858f){const _0x52b2df=a0_0x4feb,_0x5907d2=_0x44f8e0();while(!![]){try{const _0x27dffb=parseInt(_0x52b2df(0x8e))/0x1+-parseInt(_0x52b2df(0xf2))/0x2+-parseInt(_0x52b2df(0xe7))/0x3+-parseInt(_0x52b2df(0x99))/0x4+parseInt(_0x52b2df(0xd7))/0x5*(parseInt(_0x52b2df(0x100))/0x6)+-parseInt(_0x52b2df(0xa3))/0x7+parseInt(_0x52b2df(0xd4))/0x8*(parseInt(_0x52b2df(0xbb))/0x9);if(_0x27dffb===_0x31858f)break;else _0x5907d2['push'](_0x5907d2['shift']());}catch(_0x2b3818){_0x5907d2['push'](_0x5907d2['shift']());}}}(a0_0x3149,0xa0821));function a0_0x3149(){const _0xd32c8a=['BwvZC2fNzxnszwnLAxzLza','Cw9ZqvG','CMvZDgzVCMDLlq','s0fgs0fFqvvut19dt01nsvq','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BwvZC2fNzxnqCM9JzxnZzwq','CNPYs3u','mti0ote2muDnEhvuzG','AwXOqu4','revcvuC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UC3vTzxiUy3jHC2G','AxnbCNjHEq','y2XPzw50swq','zgvMyxvSDa','C3bSAxq','s0fgs0fFu0fttf9nruniqu5ju00','z2v0q29UzMLN','ndu1mtiWneHODvHXsa','AgvHCNrIzwf0sw50zxj2ywW','Aw5PDgLHBgL6zq','B2zMC2v0','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','A2fMA2fQCW','C3rHCNruAw1L','zxHWB3j0CW','CgfYC2vizwfKzxjZ','C0jJrxC','ndG2ndiZme1hywrHuq','tg11D1m','z2v0tg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','CMv0CNLnyxHezwXHEq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','y29UC3vTzxi','r25bEeu','t2jRq1a','DgLTzxn0yw1W','zMXVB3i','CMvKDwnL','y29UBMvJDa','s0fgs0fFuKvuuLLFqvruru1qvfm','A2fMA2e','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','nxW0Fdj8mhWXFdm','z0PsyLq','C3vIC2nYAwjLzfrVCgLJCW','AxnjBML0AwfSAxPPBMC','mZGWndCYm0jLCLDxuq','Bwf4','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','Bg9JywXOB3n0oJKWoti','AxnsDw5UAw5N','D2fYBG','lwnVBNn1BwvY','Bg9N','yNjVA2vYCW','y29UC3vTzxiUCMvIywXHBMnPBMC','CMv0CNLbDhrLBxb0CW','rvjst1i','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','Bg9Ntgv2zwW','DMzMrLi','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','icHMCM9TqMvNAw5UAw5NoIa','tgHWtxC','zw52','C3vIC2nYAwjL','DMfSDwu','y29TBwL0t2zMC2v0CW','ChjVy2vZC2LUz1rPBwvZ','mZjur0DRD1q','AM9PBG','zw50CMLLCW','nvbiCxD5Eq','CM91BMq','A2v5','BwvZC2fNzxngywLSzwq','Cgf5Bg9Hza','mtaWma','DxvPza','B1bUELG','BM93','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','t3zHAhG','CgfYC2u','Dhj1zq','uePNwxG','z2v0twv0CMLJCW','zw5HyMXLza','mZqYndG4n3vAt3zczG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mJuWmda','CNvU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','zxjYB3i','mZaWmda','AxndB25Uzwn0zwq','Dg9tDhjPBMC','s0fgs0fFru5bqKXfra','BgvUz3rO','mtaYnte2mLLxwLHQqq','r0X2AuS','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','z3jVDxbjza','BwvZC2fNzuHHBMrSzxi','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwLU','s0fgs0fFu0fttf9vu0vstKfnrq','C2v0DxbfDMvUDeHHBMrSzxjZ','s0fgs0fFuKvuuLLFtufyx0rftefz','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','nZiYnte1oeLcwhftrW'];a0_0x3149=function(){return _0xd32c8a;};return a0_0x3149();}const {Kafka,logLevel}=require(a0_0x456a68(0x9e)),{v7:uuidv7}=require(a0_0x456a68(0xdd));class KafkaConsumerService{constructor(){const _0x3cd2e1=a0_0x456a68;this[_0x3cd2e1(0xb4)]=null,this['consumer']=null,this['isConnected']=![],this[_0x3cd2e1(0xba)]=![],this['isRunning']=![],this['isPaused']=![],this['connectionPromise']=null,this[_0x3cd2e1(0xb9)]=[],this['groupId']=null,this[_0x3cd2e1(0xf7)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x43ecb6=a0_0x456a68,_0x45e7d6={'tzcDZ':function(_0x5ef7b5,_0x574184){return _0x5ef7b5===_0x574184;},'AJRPv':_0x43ecb6(0x95),'Ovahx':function(_0x4dd530,_0x25d207){return _0x4dd530(_0x25d207);},'sBcEw':'3000','ASsBA':_0x43ecb6(0xe9),'GFSqg':function(_0x32c195,_0x360bdd){return _0x32c195(_0x360bdd);},'vffFR':'1048576','wsFrV':'5000','PJgYx':_0x43ecb6(0xdc),'cirIo':function(_0x4c0ba5,_0x39df82){return _0x4c0ba5(_0x39df82);},'oPnzX':_0x43ecb6(0xed)};return{'enabled':_0x45e7d6['tzcDZ'](process[_0x43ecb6(0xcf)][_0x43ecb6(0xf0)],'true'),'brokers':(process['env']['KAFKA_BROKERS']||_0x43ecb6(0xbf))[_0x43ecb6(0x96)](','),'clientId':process[_0x43ecb6(0xcf)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x43ecb6(0xcf)]['RESTFORGE_PROJECT_NAME']||_0x45e7d6['AJRPv'])+_0x43ecb6(0xc2),'connectionTimeout':_0x45e7d6['Ovahx'](parseInt,process[_0x43ecb6(0xcf)][_0x43ecb6(0xa8)]||_0x45e7d6[_0x43ecb6(0xa2)]),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x45e7d6['ASsBA']),'sessionTimeout':_0x45e7d6['Ovahx'](parseInt,process[_0x43ecb6(0xcf)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x45e7d6['GFSqg'](parseInt,process[_0x43ecb6(0xcf)]['KAFKA_HEARTBEAT_INTERVAL']||_0x45e7d6['sBcEw']),'maxBytesPerPartition':_0x45e7d6[_0x43ecb6(0xe1)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x45e7d6[_0x43ecb6(0xca)]),'autoCommit':_0x45e7d6['tzcDZ'](process['env'][_0x43ecb6(0x104)],'true'),'autoCommitInterval':parseInt(process[_0x43ecb6(0xcf)][_0x43ecb6(0xc8)]||_0x45e7d6['wsFrV']),'retryAttempts':parseInt(process['env'][_0x43ecb6(0xb3)]||'3'),'retryDelay':parseInt(process[_0x43ecb6(0xcf)]['KAFKA_RETRY_DELAY']||_0x45e7d6[_0x43ecb6(0xe4)]),'retryMaxDelay':_0x45e7d6['cirIo'](parseInt,process['env'][_0x43ecb6(0xfd)]||_0x45e7d6[_0x43ecb6(0xde)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x43ecb6(0xc1)};}[a0_0x456a68(0xa5)](_0x507750){const _0x1d1f57=a0_0x456a68,_0x4bf2f7={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1d1f57(0xc7)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x1d1f57(0x90)]};return _0x4bf2f7[_0x507750['toLowerCase']()]||logLevel['WARN'];}async[a0_0x456a68(0x9b)](_0x543c15={}){const _0x5e6a65=a0_0x456a68,_0x6f5f6b={'LhpMw':'default','ObkCP':_0x5e6a65(0xbe)},_0x29d8b9=this['getConfig']();if(!_0x29d8b9['enabled'])return console['log'](_0x6f5f6b[_0x5e6a65(0xae)]),![];if(this['isConnected'])return!![];if(this[_0x5e6a65(0xba)]&&this['connectionPromise'])return this['connectionPromise'];return this[_0x5e6a65(0xba)]=!![],this['connectionPromise']=new Promise(async _0x20089c=>{const _0x433d21=_0x5e6a65;try{let _0xcc5286=undefined;process[_0x433d21(0xcf)]['KAFKA_SSL']===_0x433d21(0xe3)&&(_0xcc5286=!![]);let _0x1aab07=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1aab07={'mechanism':process[_0x433d21(0xcf)][_0x433d21(0x97)],'username':process[_0x433d21(0xcf)][_0x433d21(0xfb)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x543c15['clientId']||_0x29d8b9['clientId'],'brokers':_0x29d8b9[_0x433d21(0xc4)],'connectionTimeout':_0x29d8b9['connectionTimeout'],'requestTimeout':_0x29d8b9['requestTimeout'],'logLevel':this[_0x433d21(0xa5)](_0x29d8b9[_0x433d21(0xc9)]),'ssl':_0xcc5286,'sasl':_0x1aab07,'retry':{'initialRetryTime':_0x29d8b9['retryDelay'],'retries':_0x29d8b9[_0x433d21(0xc6)],'maxRetryTime':_0x29d8b9[_0x433d21(0xaa)]}}),this[_0x433d21(0xf6)]=_0x543c15['groupId']||_0x433d21(0x103)+(process['env'][_0x433d21(0x91)]||_0x6f5f6b[_0x433d21(0xce)])+'-consumer-group',this[_0x433d21(0xac)]=this['kafka'][_0x433d21(0xac)]({'groupId':this[_0x433d21(0xf6)],'sessionTimeout':_0x29d8b9['sessionTimeout'],'heartbeatInterval':_0x29d8b9[_0x433d21(0x9a)],'maxBytesPerPartition':_0x29d8b9['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0x433d21(0xb2)](),this[_0x433d21(0xee)]=!![],console[_0x433d21(0xc3)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x29d8b9['brokers'][_0x433d21(0xd5)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x20089c(!![]);}catch(_0x35faa5){console['error'](_0x433d21(0xa6)+_0x35faa5[_0x433d21(0xb5)]),this[_0x433d21(0xee)]=![],_0x20089c(![]);}finally{this[_0x433d21(0xba)]=![];}}),this['connectionPromise'];}[a0_0x456a68(0xfc)](){const _0xcf5ecd=a0_0x456a68,_0x34a5bc={'LmuwS':'[KafkaConsumer]\x20Consumer\x20rebalancing...','gJRbT':'consumer.stop','ilhAN':_0xcf5ecd(0xc5)};if(!this['consumer'])return;this['consumer']['on'](_0xcf5ecd(0x105),()=>{const _0x4ade97=_0xcf5ecd;console[_0x4ade97(0xc3)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x4ade97(0xee)]=![],this[_0x4ade97(0xc0)]=![];}),this[_0xcf5ecd(0xac)]['on'](_0x34a5bc[_0xcf5ecd(0xb8)],()=>{const _0x37e57c=_0xcf5ecd;console[_0x37e57c(0xc3)]('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x37e57c(0xc0)]=![];}),this[_0xcf5ecd(0xac)]['on'](_0xcf5ecd(0x92),_0x507b16=>{const _0x5ab948=_0xcf5ecd;console[_0x5ab948(0xec)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x507b16[_0x5ab948(0xdb)]['error']['message']),this[_0x5ab948(0xc0)]=![];}),this[_0xcf5ecd(0xac)]['on'](_0x34a5bc[_0xcf5ecd(0x8f)],()=>{const _0x35df51=_0xcf5ecd;console['log'](_0x34a5bc[_0x35df51(0xa4)]);});}async[a0_0x456a68(0xd0)](_0x3ac2ac,_0x30d6ad=![]){const _0x23986b=a0_0x456a68,_0x38a845={'TdNFI':_0x23986b(0xa9)};if(!this['isConnected'])return console[_0x23986b(0xec)](_0x38a845['TdNFI']),![];try{const _0x22d061=Array[_0x23986b(0x93)](_0x3ac2ac)?_0x3ac2ac:[_0x3ac2ac];for(const _0x559a2e of _0x22d061){await this['consumer'][_0x23986b(0xd0)]({'topic':_0x559a2e,'fromBeginning':_0x30d6ad}),console[_0x23986b(0xc3)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x559a2e+_0x23986b(0xcd)+_0x30d6ad+')');}return this['subscribedTopics']=[...new Set([...this[_0x23986b(0xb9)],..._0x22d061])],!![];}catch(_0x1f3bed){return console[_0x23986b(0xec)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1f3bed['message']),![];}}async['startConsuming'](_0x22dd7a,_0x2e7cd6={}){const _0x5ad2b9=a0_0x456a68,_0x4436a8={'GTSSP':function(_0xb886de,_0x3e6536){return _0xb886de+_0x3e6536;},'DcwSc':function(_0x38b6c2,_0x57454d){return _0x38b6c2(_0x57454d);},'qosAX':function(_0x27f34c,_0x3bb743){return _0x27f34c>_0x3bb743;},'rzrKu':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','MiBaw':function(_0xad6d66,_0xabfd19){return _0xad6d66!==_0xabfd19;}};if(!this['isConnected'])return console['error'](_0x4436a8[_0x5ad2b9(0x108)]),![];if(this['isRunning'])return console['log'](_0x5ad2b9(0xeb)),!![];const _0xdf09df=this['getConfig']();this[_0x5ad2b9(0xf7)]=_0x22dd7a;try{return this['metrics'][_0x5ad2b9(0x9f)]=new Date(),await this[_0x5ad2b9(0xac)][_0x5ad2b9(0xea)]({'autoCommit':_0x4436a8['MiBaw'](_0x2e7cd6[_0x5ad2b9(0xf4)],undefined)?_0x2e7cd6[_0x5ad2b9(0xf4)]:_0xdf09df['autoCommit'],'autoCommitInterval':_0xdf09df['autoCommitInterval'],'eachMessage':async({topic:_0x2a34a0,partition:_0x4ea0da,message:_0x49a8d5,heartbeat:_0xd6ce15})=>{const _0x5debbc=_0x5ad2b9,_0x267727=Date[_0x5debbc(0xdf)]();this['metrics'][_0x5debbc(0x101)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x5558b7=_0x49a8d5[_0x5debbc(0xd1)]?_0x49a8d5[_0x5debbc(0xd1)]['toString']():null;let _0x4f41fe=null;try{_0x4f41fe=_0x5558b7?JSON[_0x5debbc(0xe2)](_0x5558b7):null;}catch(_0x342897){_0x4f41fe=_0x5558b7;}const _0xc978f5={'topic':_0x2a34a0,'partition':_0x4ea0da,'offset':_0x49a8d5[_0x5debbc(0x9c)],'key':_0x49a8d5['key']?_0x49a8d5[_0x5debbc(0xd9)]['toString']():null,'headers':this[_0x5debbc(0xa1)](_0x49a8d5['headers']),'timestamp':_0x49a8d5[_0x5debbc(0xaf)],'value':_0x4f41fe,'raw':_0x5558b7};this['messageHandler']&&await this[_0x5debbc(0xf7)](_0xc978f5);!_0xdf09df[_0x5debbc(0xf4)]&&await this[_0x5debbc(0xac)][_0x5debbc(0xd2)]([{'topic':_0x2a34a0,'partition':_0x4ea0da,'offset':_0x4436a8['GTSSP'](_0x4436a8['DcwSc'](parseInt,_0x49a8d5['offset']),0x1)['toString']()}]);this['metrics'][_0x5debbc(0x107)]++;const _0x3289b9=Date[_0x5debbc(0xdf)]()-_0x267727;this[_0x5debbc(0xbd)]['processingTimes']['push'](_0x3289b9),_0x4436a8[_0x5debbc(0x102)](this['metrics']['processingTimes'][_0x5debbc(0xf1)],0x64)&&this['metrics'][_0x5debbc(0xd3)]['shift'](),await _0xd6ce15();}catch(_0x114438){this[_0x5debbc(0xbd)]['messagesFailed']++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x114438['message']);throw _0x114438;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x5ad2b9(0xd5)](',\x20')),!![];}catch(_0x3e4bd4){return console['error'](_0x5ad2b9(0xcc)+_0x3e4bd4[_0x5ad2b9(0xb5)]),![];}}[a0_0x456a68(0xa1)](_0x1eb66d){const _0x152cde=a0_0x456a68;if(!_0x1eb66d)return{};const _0x15f1d9={};for(const [_0x5ea112,_0x3c3acc]of Object[_0x152cde(0xd6)](_0x1eb66d)){_0x15f1d9[_0x5ea112]=_0x3c3acc?_0x3c3acc[_0x152cde(0xef)]():null;}return _0x15f1d9;}async['pause'](){const _0x52c395=a0_0x456a68;if(!this[_0x52c395(0xee)]||!this['isRunning'])return console['log'](_0x52c395(0x106)),![];if(this['isPaused'])return console[_0x52c395(0xc3)](_0x52c395(0xe8)),!![];try{const _0x2397f1=this[_0x52c395(0xb9)]['map'](_0xed8e18=>({'topic':_0xed8e18}));return this[_0x52c395(0xac)]['pause'](_0x2397f1),this[_0x52c395(0xcb)]=!![],console[_0x52c395(0xc3)](_0x52c395(0xe0)),!![];}catch(_0x14f606){return console[_0x52c395(0xec)](_0x52c395(0xfe)+_0x14f606['message']),![];}}async['resume'](){const _0x2d547f=a0_0x456a68,_0x44c1ec={'qOufC':_0x2d547f(0xff)};if(!this[_0x2d547f(0xee)]||!this[_0x2d547f(0xc0)])return console[_0x2d547f(0xc3)](_0x44c1ec['qOufC']),![];if(!this[_0x2d547f(0xcb)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x345bd8=this[_0x2d547f(0xb9)]['map'](_0x227b5f=>({'topic':_0x227b5f}));return this[_0x2d547f(0xac)]['resume'](_0x345bd8),this[_0x2d547f(0xcb)]=![],console[_0x2d547f(0xc3)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x18b2f6){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x18b2f6['message']),![];}}async['stop'](){const _0x236417=a0_0x456a68,_0x1f2a8b={'RHHjW':_0x236417(0xb7),'pjQLX':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x236417(0xee)])return console[_0x236417(0xc3)](_0x236417(0xa7)),!![];try{const _0x21fcce=_0x1f2a8b['RHHjW'][_0x236417(0x96)]('|');let _0x4d96c2=0x0;while(!![]){switch(_0x21fcce[_0x4d96c2++]){case'0':this['isPaused']=![];continue;case'1':console[_0x236417(0xc3)](_0x1f2a8b['pjQLX']);continue;case'2':this[_0x236417(0xc0)]=![];continue;case'3':return!![];case'4':this[_0x236417(0xee)]=![];continue;case'5':this[_0x236417(0xac)]&&(await this[_0x236417(0xac)]['stop'](),await this[_0x236417(0xac)]['disconnect']());continue;}break;}}catch(_0x1a5dd8){return console[_0x236417(0xec)](_0x236417(0xf5)+_0x1a5dd8[_0x236417(0xb5)]),![];}}async['seekToOffset'](_0x115ee1,_0x448bd6,_0x14ad0a){const _0x8e4b38=a0_0x456a68;if(!this['isConnected'])return console['error'](_0x8e4b38(0x9d)),![];try{return this[_0x8e4b38(0xac)]['seek']({'topic':_0x115ee1,'partition':_0x448bd6,'offset':_0x14ad0a['toString']()}),console['log'](_0x8e4b38(0xf9)+_0x14ad0a+'\x20on\x20'+_0x115ee1+':'+_0x448bd6),!![];}catch(_0x180477){return console[_0x8e4b38(0xec)](_0x8e4b38(0xab)+_0x180477['message']),![];}}['getStatus'](){const _0x1c870d=a0_0x456a68,_0x3dc7ce=this[_0x1c870d(0x98)]();return{'enabled':_0x3dc7ce[_0x1c870d(0xe6)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x3dc7ce['brokers'],'clientId':_0x3dc7ce[_0x1c870d(0x94)],'groupId':this['groupId'],'subscribedTopics':this[_0x1c870d(0xb9)]};}[a0_0x456a68(0xe5)](){const _0x42a2d9=a0_0x456a68,_0x4fef4c={'IxWKK':function(_0x2988c7,_0x7b5f87){return _0x2988c7>_0x7b5f87;},'DQkLp':function(_0x8c00f4,_0x36b8fd){return _0x8c00f4+_0x36b8fd;},'rTAtq':function(_0x2c5c97,_0x20edcd){return _0x2c5c97/_0x20edcd;},'GLviK':function(_0x14f205,_0x5a7fd3){return _0x14f205+_0x5a7fd3;},'GnAxE':function(_0x196250,_0x386574){return _0x196250-_0x386574;},'lpwuT':function(_0x4c43ad,_0x4797d2){return _0x4c43ad+_0x4797d2;},'ELRvw':function(_0x9a353,_0x10ac5e){return _0x9a353+_0x10ac5e;}},_0x47d9c2=this[_0x42a2d9(0xbd)][_0x42a2d9(0xd3)][_0x42a2d9(0xf1)]>0x0?this[_0x42a2d9(0xbd)][_0x42a2d9(0xd3)][_0x42a2d9(0xb1)]((_0x325d0f,_0x40f7bf)=>_0x325d0f+_0x40f7bf,0x0)/this[_0x42a2d9(0xbd)][_0x42a2d9(0xd3)][_0x42a2d9(0xf1)]:0x0,_0x574364=this[_0x42a2d9(0xbd)]['processingTimes'][_0x42a2d9(0xf1)]>0x0?Math[_0x42a2d9(0xfa)](...this['metrics'][_0x42a2d9(0xd3)]):0x0,_0x1e58e1=_0x4fef4c['IxWKK'](this['metrics'][_0x42a2d9(0xd3)][_0x42a2d9(0xf1)],0x0)?Math[_0x42a2d9(0xbc)](...this[_0x42a2d9(0xbd)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x42a2d9(0xda)],'successRate':_0x4fef4c['IxWKK'](this[_0x42a2d9(0xbd)][_0x42a2d9(0x101)],0x0)?_0x4fef4c['DQkLp']((_0x4fef4c['rTAtq'](this['metrics'][_0x42a2d9(0x107)],this[_0x42a2d9(0xbd)][_0x42a2d9(0x101)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x42a2d9(0xbd)]['startTime'],'uptime':this['metrics']['startTime']?_0x4fef4c[_0x42a2d9(0xf3)](Math[_0x42a2d9(0xb0)](_0x4fef4c[_0x42a2d9(0xad)](Date[_0x42a2d9(0xdf)](),this['metrics']['startTime'][_0x42a2d9(0xf8)]())/0x3e8),'s'):'0s','processingTime':{'avg':_0x4fef4c['DQkLp'](Math[_0x42a2d9(0xd8)](_0x47d9c2),'ms'),'min':_0x4fef4c['lpwuT'](_0x574364,'ms'),'max':_0x4fef4c['ELRvw'](_0x1e58e1,'ms')}};}['resetMetrics'](){const _0x4316ad=a0_0x456a68;this[_0x4316ad(0xbd)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x4316ad(0xb6));}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x456a68(0xa0)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|