@restforgejs/platform 5.0.8 → 5.0.9
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/dbschema-kit/connection.js +17 -2
- 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/generators/lib/utils/database-introspector.js +4 -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';function a0_0x6864(){const _0x52d8cb=['C3vIC2nYAwjLzenOyw5UzwXZ','Ag9ZDa','zgvSzxrL','y2XPzw50CW','t0P6D2O','wLzmueK','ChvIBgLZAgvY','y2HHBM5LBhm','AxnbBgL2zq','twnUBKu','nw1qvuz3zG','yxbPs2v5','BgL2zxn5BMnFC3vIC2nYAwjL','x3nLDhvWuMvKAxnqDwjSAxnOzxi','sw52ywXPzcbku09oig1LC3nHz2u','lI4VlI4VDxrPBhmVBg9Nz2vY','AgfUzgXLvxbNCMfKzq','C3bSAxq','ywn0Aw9U','x3DZCW','C2L6zq','C3vIC2nYAwjLza','y2HHBM5LBa','mtC1nZm2mdrctK9nswy','x3b1yMXPC2HuB1jLzgLZ','Egnzru4','y29UBMvJDgLVBG','Dg9ju09tDhjPBMC','ALvWq0u','C2vHCMnOugfYyw1Z','x3n1yNnJCMLWDgLVBNm','mJK1mZGWCxbSrvPs','mtfMC2jtAw0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CgLUzW','yNjVywrJyxn0','CMvZDgzVCMDLoMXPDMvZEw5JoG','x2XVz2DLCG','AxnbCNjHEq','ndj2qxfevvu','BwvZC2fNzq','sfrMD2C','z2v0','wMD3qMO','CMvHzhLtDgf0zq','CMvTB3rLqwrKCMvZCW','odK1n2vtAK50zG','EM5wB1y','CMvTB3zLqwXStgLZDgvUzxjZ','zw52','y29UBMvJDa','wwzqzha','BgLZDgvUzxjZ','zgvIDwC','x2HHBMrSzvn1yNnJCMLIzq','Bg9Nz2vY','D29YA2vYswq','zu1YvKC','mJK3uvHwEwjg','otjzt0HSqxO','zw1PDa','DgfmrMe','ihrVia','q0rQwfC','uKvesvnFse9tva','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','zuvPr1i','n3W5Fdz8ohWYFdf8mhWZFdr8nq','x3jLzgLZuhvIBgLZAgvY','Bg9JywXOB3n0','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3nLBMruB0nSAwvUDa','AgfZ','AM9PBG','Ahr0CdOVlW','x3DVCMTLCKLK','D21frxe','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zxjYB3i','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','uKvesvnFue9sva','BgvUz3rO','zgf0yv9JAgfUz2u','x3n0yxj0sgvHCNrIzwf0','y2XVC2u','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','ndm0nJu3m2neyKrdzG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','DhLWzq','DgHLBG','CgfYC2u','zgf0yq','Aw5JBhvKzxm','z3DbAM0','zhvVtfy','mJr6qKDbu1C','Aw9YzwrPCW','Aw5PDgLHBgL6zq','AxnjBML0AwfSAxPLza','reHMsvi','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mtaXnZy2yxDer2fM','qxPmvhe','ywrK','z2v0q2XPzw50','x3nLDhvWuMvKAxm','ChvZAa','x29WDgLVBNm','x21Vzgu','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','vfbcqLi','x2LUAxrPywXPEMvK','uKvesvnFrei','mti3lJaUmc4X','rKjZyvC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','l3DZ','Dg9tDhjPBMC','x2HHBMrSzvvUC3vIC2nYAwjL','Dw5ZDwjZy3jPyMu','AgvHzgvYCW','mtCZmdHXuMXev0K','odKZntG2DKPqsMzU','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','C3rYAw5NAwz5','C2vUza','qvffEfO','Aw5MBW','x293BLb1yMXPC2HLCG','DxzKsg4','CxvPDa','x2HLyxj0yMvHDfrPBwvY','t0fZr2W','DxjS','ndiYmZHZs1r6v3q','y2f0y2G','tgL2zsbtEw5Jia','svbVrgG','DNfiuhO','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','Cg9UzW','qwLqshm','x3jLzgLZu3vIC2nYAwjLCG'];a0_0x6864=function(){return _0x52d8cb;};return a0_0x6864();}const a0_0x296d66=a0_0x119f;(function(_0x44e951,_0x421b23){const _0x2f5af8=a0_0x119f,_0x362f40=_0x44e951();while(!![]){try{const _0x30106a=parseInt(_0x2f5af8(0xcc))/0x1*(-parseInt(_0x2f5af8(0x121))/0x2)+-parseInt(_0x2f5af8(0x10c))/0x3*(-parseInt(_0x2f5af8(0xe0))/0x4)+-parseInt(_0x2f5af8(0xaf))/0x5*(parseInt(_0x2f5af8(0x122))/0x6)+parseInt(_0x2f5af8(0xfd))/0x7*(-parseInt(_0x2f5af8(0x106))/0x8)+-parseInt(_0x2f5af8(0xdf))/0x9*(parseInt(_0x2f5af8(0xc4))/0xa)+-parseInt(_0x2f5af8(0xc5))/0xb*(-parseInt(_0x2f5af8(0xbc))/0xc)+parseInt(_0x2f5af8(0xd3))/0xd*(parseInt(_0x2f5af8(0x9c))/0xe);if(_0x30106a===_0x421b23)break;else _0x362f40['push'](_0x362f40['shift']());}catch(_0x16e4f3){_0x362f40['push'](_0x362f40['shift']());}}}(a0_0x6864,0xeda68));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x296d66(0x9b)),REDIS_CHANNEL_PREFIX=a0_0x296d66(0xc9);function a0_0x119f(_0x451245,_0x125f25){_0x451245=_0x451245-0x91;const _0x68644b=a0_0x6864();let _0x119f1e=_0x68644b[_0x451245];if(a0_0x119f['vKmDFs']===undefined){var _0x3ab11e=function(_0x2ec063){const _0x13239f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x619cfd='',_0x9f122c='';for(let _0x27c90e=0x0,_0x1ec30b,_0x1e8e4d,_0x1ac363=0x0;_0x1e8e4d=_0x2ec063['charAt'](_0x1ac363++);~_0x1e8e4d&&(_0x1ec30b=_0x27c90e%0x4?_0x1ec30b*0x40+_0x1e8e4d:_0x1e8e4d,_0x27c90e++%0x4)?_0x619cfd+=String['fromCharCode'](0xff&_0x1ec30b>>(-0x2*_0x27c90e&0x6)):0x0){_0x1e8e4d=_0x13239f['indexOf'](_0x1e8e4d);}for(let _0x406aa5=0x0,_0x1d7339=_0x619cfd['length'];_0x406aa5<_0x1d7339;_0x406aa5++){_0x9f122c+='%'+('00'+_0x619cfd['charCodeAt'](_0x406aa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9f122c);};a0_0x119f['IuNvat']=_0x3ab11e,a0_0x119f['bOcFdS']={},a0_0x119f['vKmDFs']=!![];}const _0x35ef78=_0x68644b[0x0],_0x51bb17=_0x451245+_0x35ef78,_0x3bf1aa=a0_0x119f['bOcFdS'][_0x51bb17];return!_0x3bf1aa?(_0x119f1e=a0_0x119f['IuNvat'](_0x119f1e),a0_0x119f['bOcFdS'][_0x51bb17]=_0x119f1e):_0x119f1e=_0x3bf1aa,_0x119f1e;}class WebSocketBroadcaster{constructor(){const _0x3db6d4=a0_0x296d66,_0x28f31c={'FBsaW':_0x3db6d4(0xe8)},_0x30c47d=_0x28f31c[_0x3db6d4(0x11a)][_0x3db6d4(0xb6)]('|');let _0x4ee94a=0x0;while(!![]){switch(_0x30c47d[_0x4ee94a++]){case'0':this[_0x3db6d4(0x99)]=null;continue;case'1':this['_subscriptions']=new Map();continue;case'2':this['_logger']=console;continue;case'3':this[_0x3db6d4(0xe9)]=null;continue;case'4':this[_0x3db6d4(0xa4)]=null;continue;case'5':this[_0x3db6d4(0xf1)]=process['pid'];continue;case'6':this[_0x3db6d4(0x113)]=null;continue;case'7':this[_0x3db6d4(0xb8)]=null;continue;case'8':this['_options']={};continue;case'9':this['_initialized']=![];continue;}break;}}[a0_0x296d66(0x108)](_0x3aa9e6,_0x5c4d05={}){const _0x2859dd=a0_0x296d66,_0x41691b={'LlUyA':'livesync_wss_error','ZgwBj':function(_0xbebbd2,_0x116a58,_0x513cb4){return _0xbebbd2(_0x116a58,_0x513cb4);},'DEePj':_0x2859dd(0xc6),'CDjXW':_0x2859dd(0x11c)};if(this[_0x2859dd(0x117)])return;this['_options']=_0x5c4d05,this['_mode']='full';try{this[_0x2859dd(0xca)]=require(_0x2859dd(0xb4))[_0x2859dd(0xdc)]||console;}catch(_0x14e0d8){this['_logger']=console;}const _0x58b6fe=_0x41691b[_0x2859dd(0xd0)](parseInt,process[_0x2859dd(0xd6)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x3aa9e6,'path':'/ws'}),this['_setupUpgradeAuth'](_0x3aa9e6),this['_wss']['on'](_0x2859dd(0xbf),(_0x1bc643,_0x33bf07)=>this['_handleConnection'](_0x1bc643,_0x33bf07)),this['_wss']['on'](_0x2859dd(0xf4),_0x713621=>{const _0x4606d2=_0x2859dd;this['_logger']['error']({'event':_0x41691b['LlUyA'],'error':_0x713621[_0x4606d2(0xcd)]},_0x4606d2(0xe6)+_0x713621[_0x4606d2(0xcd)]);}),this[_0x2859dd(0xf9)](_0x58b6fe),this[_0x2859dd(0x110)](),this['_initialized']=!![],this['_logger'][_0x2859dd(0x95)]({'event':_0x41691b['DEePj'],'mode':'full','path':_0x41691b[_0x2859dd(0xe4)],'heartbeat':_0x58b6fe+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x58b6fe+'s)');}[a0_0x296d66(0x11b)](_0x63be65={}){const _0x409e22=a0_0x296d66,_0x3e6d3b={'vqHPz':_0x409e22(0xab),'HfYQJ':_0x409e22(0xf5)};if(this[_0x409e22(0x117)])return;this['_options']=_0x63be65,this['_mode']=_0x3e6d3b[_0x409e22(0xa0)];try{this[_0x409e22(0xca)]=require('../../utils/logger')['logger']||console;}catch(_0xd8b99f){this['_logger']=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this[_0x409e22(0xca)][_0x409e22(0x95)]({'event':_0x3e6d3b['HfYQJ'],'mode':'publisher'},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}[a0_0x296d66(0x109)](){const _0x39c26d=a0_0x296d66;return this[_0x39c26d(0x117)];}['broadcast'](_0x1aaa5e,_0xf582c9){const _0x44e20f=a0_0x296d66,_0x950464={'CZDwk':'data_change','gwAjm':function(_0x3dea26,_0x47ead4){return _0x3dea26||_0x47ead4;},'znVoV':function(_0xee1537,_0x1646ef){return _0xee1537===_0x1646ef;},'dFSqd':function(_0xc8ca79,_0x5d6dea){return _0xc8ca79>_0x5d6dea;}};if(!this['_initialized'])return;if(this['_mode']==='publisher'){this[_0x44e20f(0xbd)](_0x1aaa5e,_0xf582c9);return;}const _0x2851f8=JSON['stringify']({'type':_0x950464['CZDwk'],'channel':_0x1aaa5e,'action':_0xf582c9['action'],'data':_0xf582c9[_0x44e20f(0x102)],'requestId':_0xf582c9['requestId']||null,'timestamp':new Date()[_0x44e20f(0xc0)]()}),[_0x5496b3]=_0x1aaa5e[_0x44e20f(0xb6)](':');let _0x158ad0=0x0;for(const [_0x3794e0,_0x47d8e8]of this['_subscriptions']){const _0x4626e6=_0x3794e0===_0x1aaa5e,_0x1bb2df=_0x3794e0===_0x5496b3+':*';if(_0x950464[_0x44e20f(0x104)](_0x4626e6,_0x1bb2df))for(const _0x1fd058 of _0x47d8e8){if(_0x950464[_0x44e20f(0xd4)](_0x1fd058['readyState'],0x1))try{_0x1fd058[_0x44e20f(0x93)](_0x2851f8),_0x158ad0++;}catch(_0x30c56b){}}}_0x950464['dFSqd'](_0x158ad0,0x0)&&this[_0x44e20f(0xca)][_0x44e20f(0xda)]({'event':'livesync_broadcast','channel':_0x1aaa5e,'action':_0xf582c9[_0x44e20f(0xb7)],'clients':_0x158ad0},'Broadcast\x20'+_0xf582c9[_0x44e20f(0xb7)]+'\x20on\x20'+_0x1aaa5e+_0x44e20f(0xe3)+_0x158ad0+'\x20client(s)');}['_publishToRedis'](_0x163549,_0xb7d2a6){const _0x42b214=a0_0x296d66;if(!this[_0x42b214(0xe9)])return;const _0x3ea115=JSON['stringify']({'channel':_0x163549,'message':_0xb7d2a6,'workerId':this[_0x42b214(0xf1)]});this[_0x42b214(0xe9)]['publish'](REDIS_CHANNEL_PREFIX+_0x42b214(0xc8),_0x3ea115)[_0x42b214(0x9d)](()=>{});}['shutdown'](){const _0x5726dd=a0_0x296d66,_0x417578={'nFgHM':function(_0x150ba7,_0x38f475){return _0x150ba7(_0x38f475);},'yGMPn':'Server\x20shutting\x20down','wmEEq':'livesync_shutdown'};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x417578['nFgHM'](clearInterval,this['_heartbeatTimer']),this[_0x5726dd(0x99)]=null);if(this['_wss']){for(const _0x4a304a of this[_0x5726dd(0xb8)][_0x5726dd(0xa8)]){try{_0x4a304a[_0x5726dd(0xfa)](0x3e9,_0x417578['yGMPn']);}catch(_0x52599b){}}this[_0x5726dd(0xb8)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x5726dd(0x11f)](),this['_redisSubscriber']['quit']();}catch(_0x3bd4bd){}if(this[_0x5726dd(0x96)]&&this['_redisPublisher'])try{this[_0x5726dd(0xe9)][_0x5726dd(0x98)]();}catch(_0x3bf3cb){}this[_0x5726dd(0xc3)]['clear'](),this['_initialized']=![],this['_logger'][_0x5726dd(0x95)]({'event':_0x417578[_0x5726dd(0xf2)],'mode':this[_0x5726dd(0x113)]},_0x5726dd(0x9e)+this[_0x5726dd(0x113)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x4b5ebd){const _0xdfcf4a=a0_0x296d66,_0x2e4d89={'AzLTq':'/ws','eMrVG':'x-api-key','DHfIR':_0xdfcf4a(0xfe),'Uwita':'upgrade'},_0x1b04c2=_0x4b5ebd[_0xdfcf4a(0xd9)](_0x2e4d89['Uwita'])['slice']();_0x4b5ebd[_0xdfcf4a(0xd5)]('upgrade'),_0x4b5ebd['on'](_0x2e4d89['Uwita'],(_0x58eeb5,_0x30dead,_0x3e8eb4)=>{const _0x2a9db7=_0xdfcf4a;if(!_0x58eeb5[_0x2a9db7(0x9b)]||!_0x58eeb5[_0x2a9db7(0x9b)]['startsWith'](_0x2e4d89[_0x2a9db7(0x10d)])){for(const _0x3e75ed of _0x1b04c2){_0x3e75ed['call'](_0x4b5ebd,_0x58eeb5,_0x30dead,_0x3e8eb4);}return;}if(this[_0x2a9db7(0x112)][_0x2a9db7(0xb0)]){const _0x574d80=new URL(_0x58eeb5['url'],_0x2a9db7(0xf0)+(_0x58eeb5[_0x2a9db7(0x120)][_0x2a9db7(0xa6)]||_0x2a9db7(0xea))),_0x30c0e5=_0x574d80[_0x2a9db7(0xc2)]['get'](_0x2e4d89[_0x2a9db7(0xde)])||_0x58eeb5[_0x2a9db7(0x120)][_0x2e4d89['eMrVG']];if(!_0x30c0e5||_0x30c0e5!==this[_0x2a9db7(0x112)]['apiKey']){_0x30dead['write'](_0x2e4d89[_0x2a9db7(0x10a)]),_0x30dead['destroy']();return;}}this['_wss'][_0x2a9db7(0xb5)](_0x58eeb5,_0x30dead,_0x3e8eb4,_0x4da327=>{const _0x3ac376=_0x2a9db7;this['_wss'][_0x3ac376(0xe1)](_0x3ac376(0xbf),_0x4da327,_0x58eeb5);});});}['_handleConnection'](_0x77b00c,_0x529216){const _0x4d10ef=a0_0x296d66,_0x46d96d={'uvdHn':_0x4d10ef(0x114),'AiPHs':'error'};_0x77b00c[_0x4d10ef(0xad)]=!![],_0x77b00c['subscribedChannels']=new Set();const _0x42c9ed=_0x529216[_0x4d10ef(0x120)]['x-forwarded-for']||_0x529216['socket'][_0x4d10ef(0xd2)];this[_0x4d10ef(0xca)][_0x4d10ef(0x95)]({'event':_0x4d10ef(0xfb),'ip':_0x42c9ed},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x42c9ed),_0x77b00c['on']('pong',()=>{const _0x57dc11=_0x4d10ef;_0x77b00c[_0x57dc11(0xad)]=!![];}),_0x77b00c['on'](_0x4d10ef(0xcd),_0x282ba5=>{const _0x8cd343=_0x4d10ef;try{const _0xb45c16=JSON[_0x8cd343(0x101)](_0x282ba5[_0x8cd343(0x11d)]());this['_handleClientMessage'](_0x77b00c,_0xb45c16);}catch(_0x361a1c){this[_0x8cd343(0xed)](_0x77b00c,{'type':_0x8cd343(0xf4),'message':_0x8cd343(0xb3)});}}),_0x77b00c['on']('close',()=>{const _0x4c381b=_0x4d10ef;this[_0x4c381b(0xec)](_0x77b00c),this[_0x4c381b(0xca)][_0x4c381b(0xda)]({'event':_0x46d96d[_0x4c381b(0x97)],'ip':_0x42c9ed},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x42c9ed);}),_0x77b00c['on'](_0x46d96d[_0x4d10ef(0xa3)],_0x53631e=>{const _0x580b40=_0x4d10ef;this['_logger']['warn']({'event':'livesync_client_error','error':_0x53631e['message']},'WebSocket\x20client\x20error:\x20'+_0x53631e[_0x580b40(0xcd)]),this['_removeClientFromAllChannels'](_0x77b00c);});}['_handleClientMessage'](_0x55bb69,_0x54d561){const _0x34635d=a0_0x296d66;switch(_0x54d561['type']){case'subscribe':this['_handleSubscribe'](_0x55bb69,_0x54d561[_0x34635d(0xac)]);break;case'unsubscribe':this[_0x34635d(0x11e)](_0x55bb69,_0x54d561[_0x34635d(0xac)]);break;case _0x34635d(0xa2):_0x55bb69[_0x34635d(0xad)]=!![];break;default:this[_0x34635d(0xed)](_0x55bb69,{'type':'error','message':_0x34635d(0x115)+_0x54d561[_0x34635d(0xff)]});}}[a0_0x296d66(0xdb)](_0x1a5f03,_0x1a694a){const _0x7d5f12=a0_0x296d66,_0x2cdce7={'IPoDh':function(_0x12d337,_0x3d70a2){return _0x12d337!==_0x3d70a2;},'eEiGR':'string','AQExZ':_0x7d5f12(0xba),'rhxvU':_0x7d5f12(0xb1)};if(!Array[_0x7d5f12(0xcb)](_0x1a694a)||_0x1a694a['length']===0x0){this[_0x7d5f12(0xed)](_0x1a5f03,{'type':_0x7d5f12(0xf4),'message':_0x7d5f12(0xeb)});return;}const _0x32a2ef=[];for(const _0x3803d2 of _0x1a694a){if(_0x2cdce7[_0x7d5f12(0x9f)](typeof _0x3803d2,_0x2cdce7[_0x7d5f12(0xe7)])||!_0x3803d2[_0x7d5f12(0x103)](':'))continue;!this['_subscriptions']['has'](_0x3803d2)&&this['_subscriptions']['set'](_0x3803d2,new Set()),this['_subscriptions'][_0x7d5f12(0xcf)](_0x3803d2)[_0x7d5f12(0x10e)](_0x1a5f03),_0x1a5f03['subscribedChannels']['add'](_0x3803d2),_0x32a2ef['push'](_0x3803d2);}_0x32a2ef[_0x7d5f12(0xf7)]>0x0&&(this[_0x7d5f12(0xed)](_0x1a5f03,{'type':_0x2cdce7[_0x7d5f12(0x94)],'channels':_0x32a2ef,'timestamp':new Date()[_0x7d5f12(0xc0)]()}),this['_logger'][_0x7d5f12(0xda)]({'event':_0x2cdce7['rhxvU'],'channels':_0x32a2ef},'Client\x20subscribed\x20to:\x20'+_0x32a2ef[_0x7d5f12(0xef)](',\x20')));}[a0_0x296d66(0x11e)](_0x10316f,_0x295c3e){const _0x2ead10=a0_0x296d66,_0x1b08d5={'McnnE':function(_0x37bfaf,_0x219c75){return _0x37bfaf===_0x219c75;},'YfPdp':function(_0x2215ce,_0x5c418c){return _0x2215ce>_0x5c418c;},'duoLV':'unsubscribed'};if(!Array['isArray'](_0x295c3e))return;const _0x3d4d90=[];for(const _0x580639 of _0x295c3e){this['_subscriptions'][_0x2ead10(0xee)](_0x580639)&&(this['_subscriptions'][_0x2ead10(0xcf)](_0x580639)['delete'](_0x10316f),_0x1b08d5[_0x2ead10(0xae)](this['_subscriptions'][_0x2ead10(0xcf)](_0x580639)[_0x2ead10(0xb9)],0x0)&&this['_subscriptions']['delete'](_0x580639)),_0x10316f[_0x2ead10(0xa5)]['delete'](_0x580639),_0x3d4d90[_0x2ead10(0x111)](_0x580639);}_0x1b08d5[_0x2ead10(0xd8)](_0x3d4d90[_0x2ead10(0xf7)],0x0)&&this['_sendToClient'](_0x10316f,{'type':_0x1b08d5[_0x2ead10(0x105)],'channels':_0x3d4d90,'timestamp':new Date()['toISOString']()});}[a0_0x296d66(0xec)](_0xd4ee1d){const _0x30a358=a0_0x296d66,_0x766229={'QeoTT':function(_0x1be95a,_0x1cd2d1){return _0x1be95a===_0x1cd2d1;}};if(!_0xd4ee1d[_0x30a358(0xa5)])return;for(const _0xb9aa36 of _0xd4ee1d[_0x30a358(0xa5)]){this[_0x30a358(0xc3)][_0x30a358(0xee)](_0xb9aa36)&&(this['_subscriptions']['get'](_0xb9aa36)['delete'](_0xd4ee1d),_0x766229['QeoTT'](this['_subscriptions'][_0x30a358(0xcf)](_0xb9aa36)['size'],0x0)&&this['_subscriptions'][_0x30a358(0xa7)](_0xb9aa36));}_0xd4ee1d[_0x30a358(0xa5)]['clear']();}['_sendToClient'](_0x811ba2,_0x12477c){const _0x4c09d1=a0_0x296d66;if(_0x811ba2[_0x4c09d1(0xd1)]===0x1)try{_0x811ba2[_0x4c09d1(0x93)](JSON['stringify'](_0x12477c));}catch(_0x1d2de5){}}['_startHeartbeat'](_0x1ecc95){this['_heartbeatTimer']=setInterval(()=>{const _0x4c88e4=a0_0x119f;if(!this[_0x4c88e4(0xb8)])return;for(const _0x7c8b7b of this['_wss']['clients']){if(!_0x7c8b7b[_0x4c88e4(0xad)]){this[_0x4c88e4(0xec)](_0x7c8b7b),_0x7c8b7b['terminate']();continue;}_0x7c8b7b['isAlive']=![],this[_0x4c88e4(0xed)](_0x7c8b7b,{'type':_0x4c88e4(0xc7),'timestamp':new Date()[_0x4c88e4(0xc0)]()});try{_0x7c8b7b[_0x4c88e4(0xc7)]();}catch(_0x466dba){}}},_0x1ecc95*0x3e8);}[a0_0x296d66(0xb2)](){const _0x570faf=a0_0x296d66,_0x23f74={'lXAdB':'livesync_redis_publisher_failed','OAsGl':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','xcYEN':'../../utils/redis-client','oLFap':_0x570faf(0x107),'TPBBR':_0x570faf(0x119)};this['_ownPublisher']=![];try{try{const _0x565e89=require(_0x23f74[_0x570faf(0xbe)]);this[_0x570faf(0xe9)]=_0x565e89['getClient']?_0x565e89[_0x570faf(0x10f)]():null;}catch(_0x1f5332){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x118aca=require(_0x23f74['oLFap']),_0x467b46={'host':process['env'][_0x570faf(0xe5)]||_0x23f74[_0x570faf(0x116)],'port':parseInt(process['env'][_0x570faf(0xf6)],0xa)||0x18eb,'password':process[_0x570faf(0xd6)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x570faf(0xd6)][_0x570faf(0x118)],0xa)||0x0,'lazyConnect':!![]};this[_0x570faf(0xe9)]=new _0x118aca(_0x467b46),this[_0x570faf(0x96)]=!![],this[_0x570faf(0xe9)][_0x570faf(0xd7)]()[_0x570faf(0x9d)](()=>{const _0x50ec13=_0x570faf;this['_logger']['warn']({'event':_0x23f74['lXAdB']},_0x23f74[_0x50ec13(0x9a)]),this[_0x50ec13(0xe9)]=null;});}}catch(_0x2a196a){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x2a196a['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x2a196a['message']);}}[a0_0x296d66(0x110)](){const _0xf806dc=a0_0x296d66,_0x214776={'HDEuG':_0xf806dc(0xf3),'OJzwj':function(_0x3d87d6,_0x29b984){return _0x3d87d6===_0x29b984;},'ZVLPI':_0xf806dc(0x91),'jUpCE':function(_0x538e44,_0x58e91f){return _0x538e44(_0x58e91f);},'HTfwg':_0xf806dc(0x107)};this['_ownPublisher']=![];try{const _0x237027=_0x214776[_0xf806dc(0xc1)](require,_0x214776[_0xf806dc(0xce)]),_0x4f89e3={'host':process['env'][_0xf806dc(0xe5)]||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0xf806dc(0xd6)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1fa6cc=require('../../utils/redis-client');this['_redisPublisher']=_0x1fa6cc['getClient']?_0x1fa6cc['getClient']():null;}catch(_0x4cd37a){this['_redisPublisher']=null;}!this[_0xf806dc(0xe9)]&&(this['_redisPublisher']=new _0x237027(_0x4f89e3),this[_0xf806dc(0x96)]=!![],this[_0xf806dc(0xe9)]['connect']()[_0xf806dc(0x9d)](()=>{const _0x412da8=_0xf806dc;this[_0x412da8(0xca)]['warn']({'event':_0x214776['HDEuG']},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x412da8(0xe9)]=null;})),this[_0xf806dc(0xa4)]=new _0x237027(_0x4f89e3),this[_0xf806dc(0xa4)][_0xf806dc(0xd7)]()[_0xf806dc(0x100)](()=>{const _0x269009=_0xf806dc,_0x2dca34={'taLFa':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this[_0x269009(0xa4)]['subscribe'](REDIS_CHANNEL_PREFIX+_0x269009(0xc8),_0x12845e=>{const _0x425d4e=_0x269009;if(_0x12845e){this['_logger']['error']({'event':_0x425d4e(0xa1),'error':_0x12845e[_0x425d4e(0xcd)]},_0x425d4e(0x10b)+_0x12845e[_0x425d4e(0xcd)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2dca34[_0x425d4e(0xe2)]);}),this['_redisSubscriber']['on'](_0x269009(0xcd),(_0x43bfe9,_0x1f66fd)=>{const _0x2d0a50=_0x269009;try{const _0x59f01b=JSON[_0x2d0a50(0x101)](_0x1f66fd);if(_0x214776[_0x2d0a50(0xa9)](_0x59f01b[_0x2d0a50(0xdd)],this['_workerId']))return;this['_broadcastLocal'](_0x59f01b[_0x2d0a50(0xbb)],_0x59f01b['message']);}catch(_0x2e7efa){}});})[_0xf806dc(0x9d)](()=>{const _0x4eb6e0=_0xf806dc;this['_logger']['warn']({'event':_0x214776[_0x4eb6e0(0xaa)]},_0x4eb6e0(0xfc)),this[_0x4eb6e0(0xa4)]=null;});}catch(_0x39600a){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x39600a[_0xf806dc(0xcd)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x39600a['message']);}}['_broadcastLocal'](_0x4f34ed,_0xd9464c){const _0x304581=a0_0x296d66,_0x2d332c={'afQmN':function(_0x4cab91,_0x2a5f95){return _0x4cab91===_0x2a5f95;}};if(!this[_0x304581(0xb8)])return;const _0x321ed0=JSON[_0x304581(0x92)]({'type':_0x304581(0xf8),'channel':_0x4f34ed,'action':_0xd9464c[_0x304581(0xb7)],'data':_0xd9464c['data'],'requestId':_0xd9464c['requestId']||null,'timestamp':new Date()[_0x304581(0xc0)]()}),[_0x347605]=_0x4f34ed['split'](':');for(const [_0x2906f9,_0x123ccd]of this['_subscriptions']){const _0x4f96ba=_0x2906f9===_0x4f34ed,_0x27a035=_0x2906f9===_0x347605+':*';if(_0x4f96ba||_0x27a035)for(const _0x22488c of _0x123ccd){if(_0x2d332c['afQmN'](_0x22488c[_0x304581(0xd1)],0x1))try{_0x22488c['send'](_0x321ed0);}catch(_0x567964){}}}}}module['exports']=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0xb6298e=a0_0xdc0e;function a0_0xdc0e(_0x34d020,_0x70d3c0){_0x34d020=_0x34d020-0x66;const _0x218fdc=a0_0x218f();let _0xdc0e0d=_0x218fdc[_0x34d020];if(a0_0xdc0e['CeKEaL']===undefined){var _0x1f1e7b=function(_0x50ca1a){const _0x24b53f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a6f6='',_0x1f2397='';for(let _0x4f9c11=0x0,_0x26669b,_0xfc5bb9,_0x5ed814=0x0;_0xfc5bb9=_0x50ca1a['charAt'](_0x5ed814++);~_0xfc5bb9&&(_0x26669b=_0x4f9c11%0x4?_0x26669b*0x40+_0xfc5bb9:_0xfc5bb9,_0x4f9c11++%0x4)?_0x49a6f6+=String['fromCharCode'](0xff&_0x26669b>>(-0x2*_0x4f9c11&0x6)):0x0){_0xfc5bb9=_0x24b53f['indexOf'](_0xfc5bb9);}for(let _0x3cf370=0x0,_0xa83ec2=_0x49a6f6['length'];_0x3cf370<_0xa83ec2;_0x3cf370++){_0x1f2397+='%'+('00'+_0x49a6f6['charCodeAt'](_0x3cf370)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2397);};a0_0xdc0e['yGGXqR']=_0x1f1e7b,a0_0xdc0e['EtEipG']={},a0_0xdc0e['CeKEaL']=!![];}const _0x5a4202=_0x218fdc[0x0],_0x3f5fef=_0x34d020+_0x5a4202,_0x85256e=a0_0xdc0e['EtEipG'][_0x3f5fef];return!_0x85256e?(_0xdc0e0d=a0_0xdc0e['yGGXqR'](_0xdc0e0d),a0_0xdc0e['EtEipG'][_0x3f5fef]=_0xdc0e0d):_0xdc0e0d=_0x85256e,_0xdc0e0d;}function a0_0x218f(){const _0x4fd757=['x3DVCMTLCKLK','quzqB1O','BgL2zxn5BMnFyNjVywrJyxn0','ntK1BLrMDNH5','C3rHCNrZv2L0Aa','qMzUyxe','CgfYC2u','BgL2zxn5BMnFC2H1DgrVD24','yxbPs2v5','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','yuDNA2G','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','CgLUzW','ihrVia','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','ignSAwvUDcHZkq','vgzxCuy','tgL2zsbtEw5Jia','D3jPDgu','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BgL2zxn5BMnFC3vIC2nYAwjL','C3vIC2nYAwjLzenOyw5UzwXZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','mJu3oti3nu5dtvnKrG','Du9SBNy','zgvIDwC','D2fizfO','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','x2HHBMrSzvvUC3vIC2nYAwjL','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','mJyXodG4mhfLtMP3CW','x2HHBMrSzunSAwvUDe1LC3nHz2u','yuz6CNq','x21Vzgu','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','zw52','y29UBMvJDa','ihnODxqGzg93BG','zxHWB3j0CW','Dw5ZDwjZy3jPyMu','y2HHBM5LBhm','D29YA2vYswq','Bg9JywXOB3n0','nNntBhDnza','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','Aw5JBhvKzxm','DgHLBG','zxjYB3i','x3DZCW','v1fbsuS','y2f0y2G','x2HHBMrSzunVBM5Ly3rPB24','Aw5MBW','CMvTB3zLqwXStgLZDgvUzxjZ','ru1zA08','C2vUza','x3nLDhvWuMvKAxnqDwjSAxnOzxi','y2XVC2u','AxnjBML0AwfSAxPLza','mZCWCMXZvuTK','uKvesvnFue9sva','CMvXDwvZDeLK','DxjS','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','wgr5vNC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','C2nZvfq','AgfZ','qKfzyMq','zgvZDhjVEq','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','x2HHBMrSzvn1yNnJCMLIzq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','ywrK','mJK5mZmYsgHRquHN','Bg9Nz2vY','x2LUAxrPywXPEMvK','x2HLyxj0yMvHDfrPBwvY','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','C3vIC2nYAwjLza','ugDZA3y','BwvZC2fNzq','Ahbbq3y','C3bSAxq','vg9Rz04','l3DZ','mZC3mdvkA0LkBvK','sw1eEwy','zw1PDa','Cg9UzW','C2H1DgrVD24','zgf0yq','y29UBMvJDgLVBG','DgvYBwLUyxrL','uKvesvnFse9tva','C3rYAw5N','C2L6zq','DhvirxO','zgvSzxrL','C3rYAw5NAwz5','AgfUzgXLvxbNCMfKzq','CMvTB3rLqwrKCMvZCW','tuDZBKi','x29WDgLVBNm','DhLWzq','u2vYDMvYihnODxr0Aw5NigrVD24','CMvZDgzVCMDLoMXPDMvZEw5JoG','AgzKEK8','yNjVywrJyxn0','DxbNCMfKzq','x3jLzgLZuhvIBgLZAgvY','x3n1yNnJCMLWDgLVBNm','CMvHzhLtDgf0zq','x2XVz2DLCG','mtmYndy0Ber5DKjY','mti3lJaUmc4X','lI4VlI4VDxrPBhmVBg9Nz2vY','u3DgAu4','ywn0Aw9U','uKvesvnFrei','AxnbBgL2zq','AgvHzgvYCW','x2jYB2fKy2fZDeXVy2fS','ufzowK0','B2jrt0e','Dg9tDhjPBMC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','uKvesvnFueftu1DpuKq','uvHns3a','x3nLBMruB0nSAwvUDa','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','z2v0q2XPzw50','nKvWChb5AW','y2XPzw50CW','AxnbCNjHEq','sLnUvu8','AeP2sxK','tgnKEuS','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','sw52ywXPzcbku09oig1LC3nHz2u','x3jLzgLZu3vIC2nYAwjLCG','ENLjwgu','z2v0','r2Dywxq','mZG2otqYogfJvgL1ta','AMDKBe0','Dg9ju09tDhjPBMC','x3nLDhvWuMvKAxm','Aw9YzwrPCW','C29JA2v0','otu0mtm0mvn2uhPouG','Ec1MB3j3yxjKzwqTzM9Y','BgvUz3rO','ChvIBgLZAgvY','D2fYBG','DMfptKy'];a0_0x218f=function(){return _0x4fd757;};return a0_0x218f();}(function(_0x2e85f7,_0x54b0f8){const _0x2d332e=a0_0xdc0e,_0xc404ad=_0x2e85f7();while(!![]){try{const _0x2b9f26=parseInt(_0x2d332e(0x7c))/0x1*(-parseInt(_0x2d332e(0xaa))/0x2)+parseInt(_0x2d332e(0xe1))/0x3+parseInt(_0x2d332e(0xb6))/0x4+parseInt(_0x2d332e(0xd9))/0x5*(parseInt(_0x2d332e(0xee))/0x6)+parseInt(_0x2d332e(0xc5))/0x7*(-parseInt(_0x2d332e(0x98))/0x8)+-parseInt(_0x2d332e(0xbc))/0x9+parseInt(_0x2d332e(0xfe))/0xa*(parseInt(_0x2d332e(0x70))/0xb);if(_0x2b9f26===_0x54b0f8)break;else _0xc404ad['push'](_0xc404ad['shift']());}catch(_0xcb956a){_0xc404ad['push'](_0xc404ad['shift']());}}}(a0_0x218f,0xbeff2));const {WebSocketServer}=require('ws'),{URL}=require(a0_0xb6298e(0x101)),REDIS_CHANNEL_PREFIX=a0_0xb6298e(0x90);class WebSocketBroadcaster{constructor(){const _0x4048ff=a0_0xb6298e;this['_wss']=null,this[_0x4048ff(0x72)]=![],this[_0x4048ff(0xe4)]=null,this[_0x4048ff(0x8d)]={},this[_0x4048ff(0x97)]=console,this[_0x4048ff(0x95)]=new Map(),this['_heartbeatTimer']=null,this[_0x4048ff(0x94)]=null,this['_redisSubscriber']=null,this[_0x4048ff(0xc2)]=process['pid'];}['initialize'](_0x444b44,_0x4bf2f7={}){const _0x35dc61=a0_0xb6298e,_0x56b718={'PVNZM':'livesync_wss_error','hfdzO':function(_0xe14b20,_0x3ae611){return _0xe14b20(_0x3ae611);},'hOaYf':function(_0x4d763d,_0x504e85,_0x528046){return _0x4d763d(_0x504e85,_0x528046);},'VxEOh':'connection','XdyVw':'error','uOlnv':_0x35dc61(0xa4),'tuHEz':'/ws'};if(this['_initialized'])return;this[_0x35dc61(0x8d)]=_0x4bf2f7,this[_0x35dc61(0xe4)]='full';try{this[_0x35dc61(0x97)]=_0x56b718[_0x35dc61(0x91)](require,_0x35dc61(0x9a))['logger']||console;}catch(_0x21e62f){this[_0x35dc61(0x97)]=console;}const _0x12bf94=_0x56b718['hOaYf'](parseInt,process[_0x35dc61(0xe6)][_0x35dc61(0x6c)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x444b44,'path':'/ws'}),this['_setupUpgradeAuth'](_0x444b44),this['_wss']['on'](_0x56b718['VxEOh'],(_0x357933,_0x14cc71)=>this[_0x35dc61(0xf6)](_0x357933,_0x14cc71)),this[_0x35dc61(0xf3)]['on'](_0x56b718[_0x35dc61(0x105)],_0x57c428=>{const _0x5622ca=_0x35dc61;this['_logger']['error']({'event':_0x56b718[_0x5622ca(0xa1)],'error':_0x57c428['message']},_0x5622ca(0xcb)+_0x57c428['message']);}),this['_startHeartbeat'](_0x12bf94),this[_0x35dc61(0xb9)](),this['_initialized']=!![],this['_logger'][_0x35dc61(0xf7)]({'event':_0x56b718[_0x35dc61(0xda)],'mode':'full','path':_0x56b718[_0x35dc61(0x87)],'heartbeat':_0x12bf94+'s'},_0x35dc61(0x74)+_0x12bf94+'s)');}[a0_0xb6298e(0xe5)](_0x1f6cc4={}){const _0x884a16=a0_0xb6298e,_0xee13fd={'JQliv':function(_0x330810,_0xe158dc){return _0x330810(_0xe158dc);},'ImDyf':_0x884a16(0x9a),'sUpIj':_0x884a16(0xa8)};if(this[_0x884a16(0x72)])return;this[_0x884a16(0x8d)]=_0x1f6cc4,this[_0x884a16(0xe4)]=_0x884a16(0xbf);try{this[_0x884a16(0x97)]=_0xee13fd['JQliv'](require,_0xee13fd[_0x884a16(0x7d)])[_0x884a16(0x71)]||console;}catch(_0x551515){this['_logger']=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this['_logger']['info']({'event':_0xee13fd['sUpIj'],'mode':_0x884a16(0xbf)},_0x884a16(0xe0));}[a0_0xb6298e(0xfd)](){const _0x2acdb2=a0_0xb6298e;return this[_0x2acdb2(0x72)];}[a0_0xb6298e(0x92)](_0x2d013e,_0xda0978){const _0x37e2f5=a0_0xb6298e,_0x15aba2={'scsTT':function(_0x98f963,_0x3e89e1){return _0x98f963===_0x3e89e1;},'XiYeF':function(_0x12ba2e,_0x4b239c){return _0x12ba2e>_0x4b239c;},'ZxKsH':_0x37e2f5(0xc4)};if(!this['_initialized'])return;if(_0x15aba2[_0x37e2f5(0x68)](this[_0x37e2f5(0xe4)],_0x37e2f5(0xbf))){this['_publishToRedis'](_0x2d013e,_0xda0978);return;}const _0xe8f58d=JSON['stringify']({'type':'data_change','channel':_0x2d013e,'action':_0xda0978[_0x37e2f5(0x9c)],'data':_0xda0978['data'],'requestId':_0xda0978[_0x37e2f5(0x100)]||null,'timestamp':new Date()[_0x37e2f5(0xb8)]()}),[_0xd9e932]=_0x2d013e[_0x37e2f5(0x79)](':');let _0x1bd976=0x0;for(const [_0x173730,_0x1d2389]of this[_0x37e2f5(0x95)]){const _0x293f70=_0x173730===_0x2d013e,_0x10f2fe=_0x173730===_0xd9e932+':*';if(_0x293f70||_0x10f2fe)for(const _0x23b2ed of _0x1d2389){if(_0x23b2ed[_0x37e2f5(0x96)]===0x1)try{_0x23b2ed[_0x37e2f5(0xfa)](_0xe8f58d),_0x1bd976++;}catch(_0x374256){}}}_0x15aba2['XiYeF'](_0x1bd976,0x0)&&this['_logger'][_0x37e2f5(0xdb)]({'event':_0x15aba2['ZxKsH'],'channel':_0x2d013e,'action':_0xda0978['action'],'clients':_0x1bd976},'Broadcast\x20'+_0xda0978['action']+'\x20on\x20'+_0x2d013e+_0x37e2f5(0xcf)+_0x1bd976+_0x37e2f5(0xd1));}['_publishToRedis'](_0x17a7a4,_0x595c6f){const _0x4cd2c7=a0_0xb6298e;if(!this[_0x4cd2c7(0x94)])return;const _0x48e624=JSON['stringify']({'channel':_0x17a7a4,'message':_0x595c6f,'workerId':this[_0x4cd2c7(0xc2)]});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x4cd2c7(0x92),_0x48e624)[_0x4cd2c7(0xf5)](()=>{});}[a0_0xb6298e(0x80)](){const _0x4dad5b=a0_0xb6298e,_0x394520={'fZsNN':_0x4dad5b(0x8f)};if(!this[_0x4dad5b(0x72)])return;this['_heartbeatTimer']&&(clearInterval(this['_heartbeatTimer']),this[_0x4dad5b(0x73)]=null);if(this['_wss']){for(const _0x3ea497 of this['_wss']['clients']){try{_0x3ea497['close'](0x3e9,_0x394520['fZsNN']);}catch(_0x4b8d18){}}this[_0x4dad5b(0xf3)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x5c434d){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x4dad5b(0x94)]['quit']();}catch(_0x150e71){}this[_0x4dad5b(0x95)]['clear'](),this['_initialized']=![],this['_logger'][_0x4dad5b(0xf7)]({'event':_0x4dad5b(0xc9),'mode':this['_mode']},_0x4dad5b(0xd3)+this[_0x4dad5b(0xe4)]+_0x4dad5b(0xe8));}['_setupUpgradeAuth'](_0x4fefd4){const _0x4f4d8b=a0_0xb6298e,_0x31a78e={'iOvum':_0x4f4d8b(0xed),'zyIXe':'x-api-key','oibti':function(_0x14773d,_0x5db5d0){return _0x14773d!==_0x5db5d0;},'GgXYt':_0x4f4d8b(0x93)},_0x56d6cb=_0x4fefd4['listeners'](_0x31a78e[_0x4f4d8b(0xb5)])['slice']();_0x4fefd4[_0x4f4d8b(0xf8)](_0x4f4d8b(0x93)),_0x4fefd4['on']('upgrade',(_0x47aac1,_0x482fd2,_0x20d468)=>{const _0x4a40b3=_0x4f4d8b;if(!_0x47aac1['url']||!_0x47aac1['url'][_0x4a40b3(0xc6)](_0x4a40b3(0x7b))){for(const _0x30545d of _0x56d6cb){_0x30545d['call'](_0x4fefd4,_0x47aac1,_0x482fd2,_0x20d468);}return;}if(this['_options'][_0x4a40b3(0xca)]){const _0x14b549=new URL(_0x47aac1[_0x4a40b3(0x101)],'http://'+(_0x47aac1[_0x4a40b3(0x9f)]['host']||_0x31a78e['iOvum'])),_0x8818ab=_0x14b549['searchParams'][_0x4a40b3(0xb4)](_0x31a78e[_0x4a40b3(0xb3)])||_0x47aac1['headers']['x-api-key'];if(!_0x8818ab||_0x31a78e['oibti'](_0x8818ab,this[_0x4a40b3(0x8d)][_0x4a40b3(0xca)])){_0x482fd2[_0x4a40b3(0xd4)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x482fd2[_0x4a40b3(0x6b)]();return;}}this['_wss'][_0x4a40b3(0x8a)](_0x47aac1,_0x482fd2,_0x20d468,_0x5b969f=>{const _0x21566c=_0x4a40b3;this[_0x21566c(0xf3)][_0x21566c(0x7e)](_0x21566c(0x82),_0x5b969f,_0x47aac1);});});}[a0_0xb6298e(0xf6)](_0x72052,_0x37d1e7){const _0x366d06=a0_0xb6298e,_0x1749f2={'obQOA':_0x366d06(0xf2),'bkDKG':_0x366d06(0xb1),'oVrBg':_0x366d06(0x102),'qgSpc':_0x366d06(0x77)};_0x72052['isAlive']=!![],_0x72052[_0x366d06(0xd7)]=new Set();const _0x109f1d=_0x37d1e7[_0x366d06(0x9f)][_0x366d06(0xbd)]||_0x37d1e7[_0x366d06(0xbb)][_0x366d06(0x8b)];this['_logger']['info']({'event':'livesync_client_connected','ip':_0x109f1d},_0x366d06(0x66)+_0x109f1d),_0x72052['on'](_0x366d06(0x7f),()=>{_0x72052['isAlive']=!![];}),_0x72052['on'](_0x1749f2['qgSpc'],_0x157884=>{const _0x4ff194=_0x366d06;try{const _0x22166c=JSON[_0x4ff194(0xc8)](_0x157884[_0x4ff194(0xa3)]());this[_0x4ff194(0xe2)](_0x72052,_0x22166c);}catch(_0x1554aa){this[_0x4ff194(0xa7)](_0x72052,{'type':_0x1749f2[_0x4ff194(0xa2)],'message':_0x1749f2['bkDKG']});}}),_0x72052['on'](_0x366d06(0xfc),()=>{const _0x4920a4=_0x366d06;this['_removeClientFromAllChannels'](_0x72052),this['_logger'][_0x4920a4(0xdb)]({'event':_0x4920a4(0xef),'ip':_0x109f1d},_0x4920a4(0x103)+_0x109f1d);}),_0x72052['on'](_0x1749f2['obQOA'],_0x286e28=>{const _0x48ea55=_0x366d06;this[_0x48ea55(0x97)][_0x48ea55(0xc0)]({'event':_0x1749f2['oVrBg'],'error':_0x286e28['message']},_0x48ea55(0xd8)+_0x286e28[_0x48ea55(0x77)]),this['_removeClientFromAllChannels'](_0x72052);});}['_handleClientMessage'](_0x3371f8,_0x1b91e0){const _0x2a01ae=a0_0xb6298e,_0x527286={'Bfnaq':_0x2a01ae(0x7f)};switch(_0x1b91e0['type']){case'subscribe':this[_0x2a01ae(0x6d)](_0x3371f8,_0x1b91e0['channels']);break;case _0x2a01ae(0xea):this[_0x2a01ae(0xde)](_0x3371f8,_0x1b91e0[_0x2a01ae(0xeb)]);break;case _0x527286[_0x2a01ae(0xc7)]:_0x3371f8[_0x2a01ae(0x9e)]=!![];break;default:this[_0x2a01ae(0xa7)](_0x3371f8,{'type':_0x2a01ae(0xf2),'message':_0x2a01ae(0xdd)+_0x1b91e0[_0x2a01ae(0x8e)]});}}[a0_0xb6298e(0x6d)](_0x365b4c,_0x16cef6){const _0x1651b2=a0_0xb6298e,_0x420c72={'hpACv':_0x1651b2(0xf2),'BAYbd':function(_0x304891,_0x219874){return _0x304891!==_0x219874;},'JSnUO':_0x1651b2(0x85),'SwFiN':_0x1651b2(0xd6)};if(!Array[_0x1651b2(0xac)](_0x16cef6)||_0x16cef6[_0x1651b2(0xbe)]===0x0){this[_0x1651b2(0xa7)](_0x365b4c,{'type':_0x420c72[_0x1651b2(0x78)],'message':_0x1651b2(0x67)});return;}const _0x3a8f5d=[];for(const _0x13cc55 of _0x16cef6){if(_0x420c72[_0x1651b2(0x6a)](typeof _0x13cc55,_0x420c72[_0x1651b2(0xad)])||!_0x13cc55[_0x1651b2(0xf0)](':'))continue;!this[_0x1651b2(0x95)][_0x1651b2(0x69)](_0x13cc55)&&this['_subscriptions']['set'](_0x13cc55,new Set()),this['_subscriptions'][_0x1651b2(0xb4)](_0x13cc55)['add'](_0x365b4c),_0x365b4c['subscribedChannels'][_0x1651b2(0x6f)](_0x13cc55),_0x3a8f5d['push'](_0x13cc55);}_0x3a8f5d[_0x1651b2(0xbe)]>0x0&&(this[_0x1651b2(0xa7)](_0x365b4c,{'type':_0x1651b2(0x75),'channels':_0x3a8f5d,'timestamp':new Date()[_0x1651b2(0xb8)]()}),this[_0x1651b2(0x97)]['debug']({'event':_0x420c72[_0x1651b2(0x9b)],'channels':_0x3a8f5d},'Client\x20subscribed\x20to:\x20'+_0x3a8f5d['join'](',\x20')));}['_handleUnsubscribe'](_0x3ba4ad,_0x42c30a){const _0x4111f5=a0_0xb6298e,_0x1ea5c5={'TThlB':function(_0x2b10a8,_0x2d8b2e){return _0x2b10a8===_0x2d8b2e;},'tOYog':function(_0x4484af,_0x12788c){return _0x4484af>_0x12788c;},'hXvMb':'unsubscribed'};if(!Array['isArray'](_0x42c30a))return;const _0x2e1d17=[];for(const _0x3cbe54 of _0x42c30a){this['_subscriptions'][_0x4111f5(0x69)](_0x3cbe54)&&(this[_0x4111f5(0x95)]['get'](_0x3cbe54)['delete'](_0x3ba4ad),_0x1ea5c5['TThlB'](this['_subscriptions'][_0x4111f5(0xb4)](_0x3cbe54)[_0x4111f5(0x86)],0x0)&&this[_0x4111f5(0x95)]['delete'](_0x3cbe54)),_0x3ba4ad[_0x4111f5(0xd7)][_0x4111f5(0x88)](_0x3cbe54),_0x2e1d17['push'](_0x3cbe54);}_0x1ea5c5['tOYog'](_0x2e1d17['length'],0x0)&&this['_sendToClient'](_0x3ba4ad,{'type':_0x1ea5c5['hXvMb'],'channels':_0x2e1d17,'timestamp':new Date()['toISOString']()});}[a0_0xb6298e(0xd5)](_0x22cd12){const _0x5207a7=a0_0xb6298e,_0x4313d9={'hJvIy':function(_0xd8ea50,_0x3cfb07){return _0xd8ea50===_0x3cfb07;}};if(!_0x22cd12['subscribedChannels'])return;for(const _0x32d602 of _0x22cd12['subscribedChannels']){this['_subscriptions'][_0x5207a7(0x69)](_0x32d602)&&(this[_0x5207a7(0x95)]['get'](_0x32d602)[_0x5207a7(0x88)](_0x22cd12),_0x4313d9[_0x5207a7(0xae)](this[_0x5207a7(0x95)][_0x5207a7(0xb4)](_0x32d602)[_0x5207a7(0x86)],0x0)&&this['_subscriptions']['delete'](_0x32d602));}_0x22cd12['subscribedChannels']['clear']();}[a0_0xb6298e(0xa7)](_0x69fb76,_0x22fbde){const _0x4454bc=a0_0xb6298e,_0xdc11eb={'QwFGL':function(_0x4296a3,_0x15c31f){return _0x4296a3===_0x15c31f;}};if(_0xdc11eb['QwFGL'](_0x69fb76['readyState'],0x1))try{_0x69fb76[_0x4454bc(0xfa)](JSON['stringify'](_0x22fbde));}catch(_0x207688){}}['_startHeartbeat'](_0x21f22c){const _0x4ff486=a0_0xb6298e,_0x514514={'TokgN':function(_0x489a9c,_0x285a8d){return _0x489a9c*_0x285a8d;}};this['_heartbeatTimer']=setInterval(()=>{const _0x4f5825=a0_0xdc0e;if(!this['_wss'])return;for(const _0x3795be of this[_0x4f5825(0xf3)][_0x4f5825(0xab)]){if(!_0x3795be['isAlive']){this['_removeClientFromAllChannels'](_0x3795be),_0x3795be[_0x4f5825(0x83)]();continue;}_0x3795be[_0x4f5825(0x9e)]=![],this['_sendToClient'](_0x3795be,{'type':_0x4f5825(0xce),'timestamp':new Date()['toISOString']()});try{_0x3795be['ping']();}catch(_0xf7ef5e){}}},_0x514514[_0x4ff486(0x7a)](_0x21f22c,0x3e8));}[a0_0xb6298e(0xfb)](){const _0x35f79a=a0_0xb6298e,_0x2371cd={'WQAIK':function(_0x259bbe,_0x336167){return _0x259bbe(_0x336167);},'waHdZ':_0x35f79a(0x99),'Sqler':function(_0x17cfb2,_0x5f4b06,_0x39ce94){return _0x17cfb2(_0x5f4b06,_0x39ce94);},'EMYkO':function(_0x992f10,_0x42139f,_0x2da66f){return _0x992f10(_0x42139f,_0x2da66f);},'aGgkh':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x4b0bd0=require(_0x35f79a(0xd0));this[_0x35f79a(0x94)]=_0x4b0bd0[_0x35f79a(0xa9)]?_0x4b0bd0['getClient']():null;}catch(_0xf31340){this[_0x35f79a(0x94)]=null;}if(!this['_redisPublisher']){const _0x4c5026=_0x2371cd[_0x35f79a(0xf4)](require,'ioredis'),_0x1985f2={'host':process[_0x35f79a(0xe6)][_0x35f79a(0x84)]||_0x2371cd[_0x35f79a(0xdc)],'port':_0x2371cd['Sqler'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x35f79a(0xa5)]||undefined,'db':_0x2371cd[_0x35f79a(0xf9)](parseInt,process['env'][_0x35f79a(0x9d)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x4c5026(_0x1985f2),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x4ea624=_0x35f79a;this['_logger']['warn']({'event':_0x4ea624(0x6e)},_0x4ea624(0x104)),this['_redisPublisher']=null;});}}catch(_0x22a6a6){this[_0x35f79a(0x97)][_0x35f79a(0xc0)]({'event':_0x2371cd[_0x35f79a(0xcc)],'error':_0x22a6a6['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x22a6a6['message']);}}['_setupRedis'](){const _0x3b1636=a0_0xb6298e,_0x36169a={'hkLDJ':'livesync_redis_publisher_failed','MGsnB':_0x3b1636(0xcd),'aFzrt':function(_0x195954,_0x24f647){return _0x195954===_0x24f647;},'LcdyK':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','AFPoZ':function(_0x17bd80,_0x1d24b6){return _0x17bd80(_0x1d24b6);},'vaONF':_0x3b1636(0xba),'QXMKp':_0x3b1636(0x99),'Flyuw':function(_0x333f8d,_0x1ca21e){return _0x333f8d(_0x1ca21e);},'TfWqF':'../../utils/redis-client','VYXEL':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{const _0x150dbe=_0x36169a[_0x3b1636(0xc3)](require,_0x36169a[_0x3b1636(0xc1)]),_0x4fa156={'host':process[_0x3b1636(0xe6)]['REDIS_HOST']||_0x36169a[_0x3b1636(0xa6)],'port':parseInt(process[_0x3b1636(0xe6)][_0x3b1636(0xff)],0xa)||0x18eb,'password':process[_0x3b1636(0xe6)][_0x3b1636(0xa5)]||undefined,'db':parseInt(process['env'][_0x3b1636(0x9d)],0xa)||0x0,'lazyConnect':!![]};try{const _0x1b65e2=_0x36169a['Flyuw'](require,_0x36169a[_0x3b1636(0xd2)]);this['_redisPublisher']=_0x1b65e2[_0x3b1636(0xa9)]?_0x1b65e2['getClient']():null;}catch(_0x1a05fa){this[_0x3b1636(0x94)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x150dbe(_0x4fa156),this['_ownPublisher']=!![],this[_0x3b1636(0x94)][_0x3b1636(0xe7)]()['catch'](()=>{const _0x3426ac=_0x3b1636;this[_0x3426ac(0x97)][_0x3426ac(0xc0)]({'event':_0x36169a['hkLDJ']},_0x3426ac(0x104)),this['_redisPublisher']=null;})),this[_0x3b1636(0xb2)]=new _0x150dbe(_0x4fa156),this['_redisSubscriber'][_0x3b1636(0xe7)]()[_0x3b1636(0xf1)](()=>{const _0x43cd63=_0x3b1636,_0x1b144b={'rNhfz':_0x36169a[_0x43cd63(0x8c)],'Pgskv':function(_0x4cc32b,_0x3e9605){const _0x3b26d=_0x43cd63;return _0x36169a[_0x3b26d(0xe3)](_0x4cc32b,_0x3e9605);}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x40c46b=>{const _0x28b47a=_0x43cd63;if(_0x40c46b){this[_0x28b47a(0x97)][_0x28b47a(0xf2)]({'event':'livesync_redis_subscribe_error','error':_0x40c46b['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x40c46b['message']);return;}this[_0x28b47a(0x97)]['info']({'event':_0x1b144b['rNhfz']},_0x28b47a(0xb0));}),this[_0x43cd63(0xb2)]['on'](_0x43cd63(0x77),(_0x4f8664,_0x30e74d)=>{const _0x289d78=_0x43cd63;try{const _0x3e940a=JSON['parse'](_0x30e74d);if(_0x1b144b[_0x289d78(0x76)](_0x3e940a[_0x289d78(0xec)],this['_workerId']))return;this['_broadcastLocal'](_0x3e940a['channel'],_0x3e940a['message']);}catch(_0x25d8fb){}});})['catch'](()=>{const _0x43cfeb=_0x3b1636;this[_0x43cfeb(0x97)][_0x43cfeb(0xc0)]({'event':_0x43cfeb(0xdf)},_0x36169a[_0x43cfeb(0xaf)]),this['_redisSubscriber']=null;});}catch(_0x51c3fb){this[_0x3b1636(0x97)][_0x3b1636(0xc0)]({'event':_0x36169a['VYXEL'],'error':_0x51c3fb[_0x3b1636(0x77)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x51c3fb['message']);}}[a0_0xb6298e(0xa0)](_0x66c6d,_0x5dddc){const _0x5059d2=a0_0xb6298e,_0xbc9ec4={'jgdlM':function(_0x490601,_0x3f5bee){return _0x490601===_0x3f5bee;},'fRWRc':function(_0x57bde5,_0xbf3117){return _0x57bde5||_0xbf3117;}};if(!this['_wss'])return;const _0x3bde4b=JSON[_0x5059d2(0x89)]({'type':'data_change','channel':_0x66c6d,'action':_0x5dddc['action'],'data':_0x5dddc[_0x5059d2(0x81)],'requestId':_0x5dddc['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x4a1c02]=_0x66c6d['split'](':');for(const [_0xd28091,_0x355ee8]of this['_subscriptions']){const _0xefe7ac=_0xbc9ec4[_0x5059d2(0xb7)](_0xd28091,_0x66c6d),_0x23189d=_0xd28091===_0x4a1c02+':*';if(_0xbc9ec4['fRWRc'](_0xefe7ac,_0x23189d))for(const _0x1afa6c of _0x355ee8){if(_0xbc9ec4[_0x5059d2(0xb7)](_0x1afa6c['readyState'],0x1))try{_0x1afa6c['send'](_0x3bde4b);}catch(_0x3e41a8){}}}}}module[a0_0xb6298e(0xe9)]=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc1f991=a0_0x3ff7;(function(_0x5d64d4,_0x4c4a6c){const _0x5665c1=a0_0x3ff7,_0x2c42e2=_0x5d64d4();while(!![]){try{const _0x4b8f62=-parseInt(_0x5665c1(0x8b))/0x1+parseInt(_0x5665c1(0x75))/0x2*(-parseInt(_0x5665c1(0x82))/0x3)+parseInt(_0x5665c1(0x9d))/0x4+-parseInt(_0x5665c1(0x10d))/0x5*(parseInt(_0x5665c1(0xeb))/0x6)+-parseInt(_0x5665c1(0xca))/0x7*(parseInt(_0x5665c1(0xfb))/0x8)+parseInt(_0x5665c1(0xf0))/0x9+-parseInt(_0x5665c1(0xa3))/0xa*(-parseInt(_0x5665c1(0x10f))/0xb);if(_0x4b8f62===_0x4c4a6c)break;else _0x2c42e2['push'](_0x2c42e2['shift']());}catch(_0x1a78e8){_0x2c42e2['push'](_0x2c42e2['shift']());}}}(a0_0x17e0,0x2fb39));const {v7:uuidv7}=require(a0_0xc1f991(0xf4)),path=require(a0_0xc1f991(0x7f)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0xc1f991(0xf6)),{logger,logError}=require(a0_0xc1f991(0xe5)),dbType=(process[a0_0xc1f991(0xfc)][a0_0xc1f991(0xec)]||a0_0xc1f991(0x7e))['toLowerCase']();let executeQuery;if(dbType===a0_0xc1f991(0xd3)){const oracleDb=require(a0_0xc1f991(0xba));executeQuery=(_0x38dcde,_0x601881)=>oracleDb['executeQuery'](_0x38dcde,_0x601881);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x483420,_0x5715d2)=>mysqlDb[a0_0xc1f991(0xff)](_0x483420,_0x5715d2);}else executeQuery=require(a0_0xc1f991(0x86))[a0_0xc1f991(0xff)];}function a0_0x3ff7(_0x398e2a,_0x179c08){_0x398e2a=_0x398e2a-0x74;const _0x17e0c1=a0_0x17e0();let _0x3ff7e5=_0x17e0c1[_0x398e2a];if(a0_0x3ff7['vEdLfG']===undefined){var _0xf2ee7e=function(_0x23a6d1){const _0x529956='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b39f3='',_0x56f2af='';for(let _0x3315b9=0x0,_0xd3cb1b,_0x196416,_0x3a5d5e=0x0;_0x196416=_0x23a6d1['charAt'](_0x3a5d5e++);~_0x196416&&(_0xd3cb1b=_0x3315b9%0x4?_0xd3cb1b*0x40+_0x196416:_0x196416,_0x3315b9++%0x4)?_0x4b39f3+=String['fromCharCode'](0xff&_0xd3cb1b>>(-0x2*_0x3315b9&0x6)):0x0){_0x196416=_0x529956['indexOf'](_0x196416);}for(let _0x3ac8be=0x0,_0x319737=_0x4b39f3['length'];_0x3ac8be<_0x319737;_0x3ac8be++){_0x56f2af+='%'+('00'+_0x4b39f3['charCodeAt'](_0x3ac8be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56f2af);};a0_0x3ff7['rTWMZd']=_0xf2ee7e,a0_0x3ff7['jKjIQi']={},a0_0x3ff7['vEdLfG']=!![];}const _0x21d61b=_0x17e0c1[0x0],_0x1c1289=_0x398e2a+_0x21d61b,_0xfc5cf9=a0_0x3ff7['jKjIQi'][_0x1c1289];return!_0xfc5cf9?(_0x3ff7e5=a0_0x3ff7['rTWMZd'](_0x3ff7e5),a0_0x3ff7['jKjIQi'][_0x1c1289]=_0x3ff7e5):_0x3ff7e5=_0xfc5cf9,_0x3ff7e5;}function a0_0x17e0(){const _0x1b2dd5=['lI4VDxrPBhmVzgiTB3jHy2XL','zxHWB3j0x2zHAwXLza','zwToyxu','revtqW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','uufZtvu','zMLSzv9WyxrO','zxHWB3j0x2PVyL9JCMvHDgvK','C3H0BLG','BM93','zxHWB3j0x3bYB2nLC3nFzxjYB3i','A0Hpt3u','zxHWB3j0x2zPBgvFzgvSzxrLza','zxHWB3j0uxvLCNK','BgvUz3rO','AuLqAgG','nZq5Ee1Qq1vq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','DhjPBq','CM91BMq','lI4VlI4VzxHWB3j0CY8','CMfUzg9T','AM9PBG','z2vUzxjHDgvfEgnLBa','CMvHzezPBgvtEw5J','B3jHy2XL','ignVBhvTBNmGzNjVBsbYzxf1zxn0','Dg9ju09tDhjPBMC','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','svmGtK9uie5vteW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y29Kzq','x2v4Cg9YDerPCG','Aw5MBW','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','vLzkr0q','zxHWB3j0x3nLCNzPy2vFAw5PDa','ChjVy2vZC0PVyG','lI4VDxrPBhmVBg9Nz2vY','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','wwzYB3C','uMriExy','ueD2AxK','tNP5Cg8','nJK3mJyWDvPizwz2','rejFvfLqrq','zgvSzxrLsM9I','zxHWB3j0rgLY','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','mZqYntmYognzshrzCG','Afnkzxq','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2vUzxjHDgu','DxvPza','zgvMyxvSDa','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','BwvZC2fNzq','yNvPBgrxAgvYzunSyxvZzq','ChjVy2vZC2vKx3jVD3m','mJy5ntjmv1vmywS','zw52','BwfW','zMLSzw5HBwu','zxHLy3v0zvf1zxj5','C2v0sM9I','z21jENO','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zMv0y2HeyxrH','tuXPqxm','uw1hDgO','BNzdtgS','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','zMfPBgvK','zxHWB3j0x2zLDgnOx2vYCM9Y','ieLtie5vteW','C3vIC3rYAw5N','mtvwC3PvAha','twrRre0','mJKWmtqXnuHMyMjwEq','Bxzkr3C','qvnd','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AfPirwi','ignVBhvTBNm','mty5ndC0vMPrvvHQ','uuHiEuu','uKHmCeK','z2v0sM9I','Dw5RBM93BL9VCgvYyxrVCG','zxHPC3rZu3LUyW','Dg9vChbLCKnHC2u','rfjLvgi','vxnPBMCG','Cg9ZDgDYzxnXBa','Cgf0Aa','DxbKyxrLsM9I','qxLfuva','nK1ttvHKAq','iefticGkicaGifnftevdvca','CgvUzgLUzW','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','lI4VDxrPBhmVzgi','cIaGicbguK9nia','Dg9mB3DLCKnHC2u','qxneteK','sefryKG','mtC2mtGZAwzUvevg','rMfPBgvKihrVigzLDgnOigrHDge','sMznEfK','y3jLyxrLsM9I','C3rHCNrZv2L0Aa','vNDWCKS','zw5KCg9PBNroyw1L','y29TCgXLDgvK','yK1vvuG','C2DNCgK','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','ELbuv3e','y29SDw1UCW','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','cLnftevdvcaQiezst00G','x2rHDge','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mZeZmdCYtvzqAvLx','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','ieforca','cIaGicaGicaG','Bxzhruu','ANvWzKy','mZbprgPyBNG','B05fuLe','zxHJzwXFy29SDw1UC19MywXSyMfJAW','yNvPBgrpCMrLCKj5q2XHDxnL','zw50CMLLCW','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','C3rYAw5N','y3jLyxrLzf9HDa','BwTKAxjtEw5J','rxHWB3j0igzHAwXLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','C2fUAxrPEMvwywX1zq','A2v5CW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','CMvWBgfJzq','y29UzgL0Aw9UCW','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','uwrcqKu','rKrsse0','Dg90ywXFCM93CW','y2XLyw51Ca','zMLSztO'];a0_0x17e0=function(){return _0x1b2dd5;};return a0_0x17e0();}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0xc1f991(0xee)](){const _0x365fd2=a0_0xc1f991,_0x22edea={'gmSKZ':_0x365fd2(0xe3),'aXGsX':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0xf18294=process['env'][_0x365fd2(0x112)]||_0x365fd2(0xf5);this[_0x365fd2(0xde)]=process[_0x365fd2(0xfc)]['EXPORT_DIR']||path['join'](__dirname,_0x365fd2(0xce)+_0xf18294);try{!fsSync[_0x365fd2(0x7a)](this['_exportDir'])&&fsSync[_0x365fd2(0xab)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x22edea['gmSKZ'],'dir':this['_exportDir']},'Export\x20service\x20initialized');}catch(_0x293d21){logError(_0x293d21,{'event':_0x365fd2(0x95)},_0x22edea['aXGsX']);}}return this['_exportDir'];}['resolveExportQuery'](_0x2e923a,_0x285fa6=null){const _0x5a75aa=a0_0xc1f991,_0x7b69ec={'WNGfJ':function(_0x2b95d9,_0x1f4061){return _0x2b95d9!==_0x1f4061;},'UjlOP':'string','TzsSZ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','zehJH':'payload','wtJsS':'utf8','VwprK':'export_query_file_loaded'};if(!_0x2e923a||_0x7b69ec['WNGfJ'](typeof _0x2e923a,_0x7b69ec['UjlOP']))return _0x2e923a;const _0x3818d1=_0x2e923a['trim']();if(!_0x3818d1['startsWith']('file:'))return _0x3818d1;const _0x229527=_0x3818d1[_0x5a75aa(0xb1)](/^file:/,'')['trim']();if(!_0x229527)throw new Error(_0x7b69ec['TzsSZ']);const _0x19d496=_0x285fa6||path['join'](process['cwd'](),_0x7b69ec['zehJH']),_0x4e7e76=path['resolve'](_0x19d496,_0x229527);logger['info']({'event':'export_query_file_resolve','relativePath':_0x229527,'baseDir':_0x19d496,'absolutePath':_0x4e7e76},_0x5a75aa(0x98)+_0x229527);if(!fsSync[_0x5a75aa(0x7a)](_0x4e7e76))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e7e76);try{const _0x481b2=fsSync[_0x5a75aa(0xd2)](_0x4e7e76,_0x7b69ec['wtJsS']);if(!_0x481b2||!_0x481b2['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4e7e76);return logger[_0x5a75aa(0xdf)]({'event':_0x7b69ec[_0x5a75aa(0x90)],'file':_0x4e7e76,'queryLength':_0x481b2['length']},_0x5a75aa(0x85)+_0x481b2['length']+'\x20chars)'),_0x481b2['trim']();}catch(_0x12b0e7){if(_0x12b0e7[_0x5a75aa(0xdd)]==='ENOENT')throw new Error(_0x5a75aa(0xdc)+_0x4e7e76);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x12b0e7['message']);}}['generateJobId'](){const _0x35db6f=a0_0xc1f991,_0x17db2e={'vDoIK':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'},_0x3a8b9e=_0x17db2e['vDoIK'],_0x1cdd0b=Date[_0x35db6f(0xc3)]()['toString'](0x24),_0x5db72c=uuidv7()[_0x35db6f(0xb1)](/-/g,'')[_0x35db6f(0x10c)](0x0,0xc-_0x1cdd0b[_0x35db6f(0xc8)]),_0x6898e0=(_0x1cdd0b+_0x5db72c)['substring'](0x0,0xc);let _0x72cddb='';for(let _0x28adf4=0x0;_0x28adf4<0xc;_0x28adf4++){_0x6898e0[_0x28adf4]?_0x72cddb+=_0x6898e0[_0x28adf4]:_0x72cddb+=_0x3a8b9e['charAt'](Math['floor'](Math[_0x35db6f(0xcf)]()*_0x3a8b9e[_0x35db6f(0xc8)]));}return _0x72cddb;}async[a0_0xc1f991(0x8e)](_0x413365){const _0x3e3099=a0_0xc1f991,_0x5ae0b1={'sxtnX':_0x3e3099(0xc4),'mvJGw':_0x3e3099(0x84),'wmKbX':_0x3e3099(0xc1)},_0xb12aed=this['generateJobId'](),_0x4bd321={'job_id':_0xb12aed,'status':_0x5ae0b1[_0x3e3099(0x110)],'progress':0x0,'created_at':new Date()[_0x3e3099(0xd5)](),'params':_0x413365,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x3e3099(0x100)](_0xb12aed,_0x4bd321),logger['info']({'event':_0x5ae0b1['wmKbX'],'jobId':_0xb12aed,'params':_0x413365},'Export\x20job\x20created'),this[_0x3e3099(0xe4)](_0xb12aed,_0x413365)['catch'](_0x195846=>{const _0x3dbb65=_0x3e3099;logError(_0x195846,{'event':_0x5ae0b1[_0x3dbb65(0xc2)],'jobId':_0xb12aed},'Export\x20processing\x20failed');}),{'job_id':_0xb12aed,'status':'pending'};}async['getJobStatus'](_0x28a416){const _0x5eab0d=a0_0xc1f991,_0x25451b={'QAsMU':_0x5eab0d(0xe0),'DReTb':function(_0x1a84cc,_0x3ef0de){return _0x1a84cc===_0x3ef0de;}},_0x20d7fa=await redisHelper[_0x5eab0d(0x78)](_0x28a416);if(!_0x20d7fa)return{'success':![],'error':_0x25451b[_0x5eab0d(0xbf)]};return{'success':!![],'data':{'job_id':_0x20d7fa['job_id'],'status':_0x20d7fa['status'],'progress':_0x20d7fa['progress'],'total_rows':_0x20d7fa[_0x5eab0d(0xb7)],'processed_rows':_0x20d7fa[_0x5eab0d(0xfa)],'file_url':_0x25451b[_0x5eab0d(0x7c)](_0x20d7fa['status'],_0x5eab0d(0x92))?'/api/'+_0x20d7fa['params']['moduleName']+'/'+_0x20d7fa['params'][_0x5eab0d(0x91)]+_0x5eab0d(0xa8)+_0x28a416:null,'error':_0x20d7fa['error']||null,'created_at':_0x20d7fa['created_at'],'completed_at':_0x20d7fa['completed_at']||null}};}async[a0_0xc1f991(0xe4)](_0x1fc0e4,_0x56ef67){const _0x3513eb=a0_0xc1f991,_0x37070b={'Yfrow':_0x3513eb(0xcb),'ySfjz':'Export\x20processing\x20started','nvCLk':'completed','GbYvK':'export_completed','yLXdf':_0x3513eb(0x109)};try{await redisHelper['updateJob'](_0x1fc0e4,{'status':'processing','started_at':new Date()[_0x3513eb(0xd5)]()}),logger['info']({'event':_0x37070b[_0x3513eb(0xe7)],'jobId':_0x1fc0e4},_0x37070b['ySfjz']);const _0x266f03=await this[_0x3513eb(0x103)](_0x56ef67);await redisHelper[_0x3513eb(0x80)](_0x1fc0e4,{'total_rows':_0x266f03[_0x3513eb(0xc8)]});const _0x277c7e=await this[_0x3513eb(0xd1)](_0x1fc0e4,_0x266f03,_0x56ef67);await redisHelper[_0x3513eb(0x80)](_0x1fc0e4,{'status':_0x37070b[_0x3513eb(0x106)],'progress':0x64,'file_path':_0x277c7e,'completed_at':new Date()['toISOString']()}),logger[_0x3513eb(0xdf)]({'event':_0x37070b['GbYvK'],'jobId':_0x1fc0e4,'rows':_0x266f03['length']},_0x3513eb(0xd8));}catch(_0x5a50e0){logError(_0x5a50e0,{'event':_0x3513eb(0xbb),'jobId':_0x1fc0e4},_0x3513eb(0xac)),await redisHelper['updateJob'](_0x1fc0e4,{'status':_0x37070b['yLXdf'],'error':_0x5a50e0['message'],'failed_at':new Date()[_0x3513eb(0xd5)]()});}}async[a0_0xc1f991(0x103)](_0x4f4de0){const _0x74cf12=a0_0xc1f991,_0x27b0bf={'MrxAz':function(_0x17ca81,_0x118dce){return _0x17ca81||_0x118dce;},'RHLpI':function(_0x36e5be,_0x2641e9){return _0x36e5be===_0x2641e9;},'mvGEE':function(_0x3bfe65,_0x43e166){return _0x3bfe65+_0x43e166;},'kZInZ':'export_using_auto_query','smVNN':'Using\x20auto-generated\x20query','uFbeC':_0x74cf12(0x107),'HAQbH':function(_0x2bc3ab,_0xdcd54e){return _0x2bc3ab(_0xdcd54e);},'hSJet':'oracle','oNERQ':_0x74cf12(0xb4),'FEJGk':_0x74cf12(0x8c)};try{const {tableName:_0x48ac18,columns:_0x3ce3a7,exportQuery:_0x24c3a6,where:_0x674504,sort_columns:_0x565644}=_0x4f4de0;if(_0x27b0bf['MrxAz'](!_0x48ac18,!_0x3ce3a7)||_0x27b0bf[_0x74cf12(0x77)](_0x3ce3a7[_0x74cf12(0xc8)],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x542932=_0x27b0bf[_0x74cf12(0xa1)](_0x48ac18['replace'](/\./g,'_'),_0x74cf12(0x9a));let _0x1ebc24;if(_0x24c3a6&&_0x24c3a6[_0x74cf12(0xcc)]()){let _0x4ee911=_0x24c3a6;_0x24c3a6[_0x74cf12(0xcc)]()[_0x74cf12(0x8f)](_0x74cf12(0xb9))&&(_0x4ee911=this['resolveExportQuery'](_0x24c3a6)),_0x1ebc24='WITH\x20'+_0x542932+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x4ee911+'\x0a)',_0x1ebc24+=_0x74cf12(0x99)+_0x542932,logger[_0x74cf12(0xdf)]({'event':'export_using_custom_query','query':_0x4ee911[_0x74cf12(0x10c)](0x0,0x64)},_0x74cf12(0x9b));}else{const _0x56dc3e=_0x3ce3a7[_0x74cf12(0xfd)](_0x645b73=>_0x74cf12(0xa0)+_0x645b73)['join'](',');_0x1ebc24='WITH\x20'+_0x542932+_0x74cf12(0x83)+_0x56dc3e+_0x74cf12(0x87)+_0x48ac18+'\x0a)',_0x1ebc24+='\x0aSELECT\x20*\x20FROM\x20'+_0x542932,logger['info']({'event':_0x27b0bf['kZInZ'],'tableName':_0x48ac18,'columnCount':_0x3ce3a7['length']},_0x27b0bf['smVNN']);}if(_0x674504){const _0xaaee7a=this[_0x74cf12(0xf9)](_0x674504);_0xaaee7a&&(_0x1ebc24+='\x0aWHERE\x20'+_0xaaee7a);}if(_0x565644&&_0x565644[_0x74cf12(0xc8)]>0x0){const _0x28797a=this['buildOrderByClause'](_0x565644);_0x28797a&&(_0x1ebc24+='\x0aORDER\x20BY\x20'+_0x28797a);}logger['info']({'event':'export_fetch_start','query':_0x1ebc24['substring'](0x0,0xc8)},_0x27b0bf['uFbeC']);const _0xde08c=await _0x27b0bf[_0x74cf12(0x8a)](executeQuery,_0x1ebc24);let _0x215b5d=_0xde08c;return _0x27b0bf['RHLpI'](dbType,_0x27b0bf[_0x74cf12(0xf1)])&&_0xde08c&&_0xde08c['length']>0x0&&(_0x215b5d=_0xde08c[_0x74cf12(0xfd)](_0xc0d1f8=>{const _0x3348f7=_0x74cf12,_0x37fb0f={};for(const [_0x1f600e,_0x247bf4]of Object[_0x3348f7(0xa7)](_0xc0d1f8)){_0x37fb0f[_0x1f600e['toLowerCase']()]=_0x247bf4;}return _0x37fb0f;})),logger['info']({'event':_0x27b0bf[_0x74cf12(0xa4)],'rows':_0x215b5d[_0x74cf12(0xc8)]},_0x74cf12(0xf7)),_0x215b5d;}catch(_0x40f528){logError(_0x40f528,{'event':_0x74cf12(0x10a)},_0x27b0bf['FEJGk']);throw _0x40f528;}}['sanitizeValue'](_0x460328){const _0x3d8324=a0_0xc1f991,_0x33b621={'AyEQP':_0x3d8324(0xa9)};if(typeof _0x460328===_0x33b621[_0x3d8324(0x81)])return _0x460328['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x460328))return _0x460328[_0x3d8324(0xfd)](_0x553277=>this[_0x3d8324(0xae)](_0x553277));}return _0x460328;}[a0_0xc1f991(0xf9)](_0x21fe5b){const _0x5574cc=a0_0xc1f991,_0x51e1bf={'jupfF':function(_0x109ee1,_0x37c037){return _0x109ee1===_0x37c037;},'RdHyv':_0x5574cc(0xa9),'iIPhh':'invalid_condition','Nzypo':_0x5574cc(0xd6),'QHHyE':function(_0xbab47e,_0x7770bd){return _0xbab47e!==_0x7770bd;},'QdBBE':function(_0x2c2814,_0x34fec4){return _0x2c2814===_0x34fec4;},'MVZUO':function(_0x447147,_0x4e6f82){return _0x447147===_0x4e6f82;},'ZMlDv':'IS\x20NULL','zPTWq':_0x5574cc(0x79),'hZHEb':_0x5574cc(0xd9),'FtUTc':function(_0x4a5bc8,_0x42f41a){return _0x4a5bc8===_0x42f41a;},'pJphG':_0x5574cc(0x9f)};if(!_0x21fe5b||!_0x21fe5b[_0x5574cc(0xb2)]||_0x51e1bf['FtUTc'](_0x21fe5b[_0x5574cc(0xb2)]['length'],0x0))return'';const {logic:_0x4c31d4,conditions:_0x5ec1f3}=_0x21fe5b,_0x464881=_0x4c31d4&&_0x4c31d4[_0x5574cc(0x7b)]()==='OR'?'\x20OR\x20':_0x51e1bf['pJphG'],_0x539893=_0x5ec1f3['map'](_0x243c80=>{const _0x1c0991=_0x5574cc,{key:_0x390db2,operator:_0x1b48eb,value:_0x447a3c,sensitive:_0x3cad9d}=_0x243c80;if(!_0x390db2||!_0x1b48eb)return logger[_0x1c0991(0xdb)]({'event':_0x51e1bf[_0x1c0991(0xc9)],'condition':_0x243c80},_0x51e1bf[_0x1c0991(0xea)]),null;const _0x18886c=this['sanitizeValue'](_0x447a3c),_0x109bcf=_0x51e1bf[_0x1c0991(0x76)](_0x3cad9d,undefined)?_0x3cad9d:!![];let _0x73885e=_0x390db2,_0x47fce8=_0x18886c;!_0x109bcf&&(_0x73885e='UPPER('+_0x390db2+')',_0x51e1bf[_0x1c0991(0xb5)](typeof _0x447a3c,_0x51e1bf['RdHyv'])&&(_0x47fce8=_0x447a3c[_0x1c0991(0x7b)]()));const _0x3f43e1=_0x51e1bf['MVZUO'](typeof _0x47fce8,_0x51e1bf[_0x1c0991(0xe8)])?'\x27'+_0x47fce8[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x47fce8;switch(_0x1b48eb[_0x1c0991(0x7b)]()){case'=':case'!=':case'<>':return _0x73885e+'\x20'+_0x1b48eb+'\x20'+_0x3f43e1;case'>':case'<':case'>=':case'<=':const _0x2484a3=typeof _0x18886c==='string'?'\x27'+_0x18886c[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x18886c;return _0x390db2+'\x20'+_0x1b48eb+'\x20'+_0x2484a3;case'LIKE':case'NOT\x20LIKE':return _0x73885e+'\x20'+_0x1b48eb+'\x20'+_0x3f43e1;case'IN':if(Array['isArray'](_0x18886c)){let _0x2bdcf4;return!_0x109bcf?_0x2bdcf4=_0x18886c[_0x1c0991(0xfd)](_0x3efde0=>{const _0x181f84=_0x1c0991,_0x2ac6ab=_0x51e1bf['jupfF'](typeof _0x3efde0,_0x51e1bf[_0x181f84(0xe8)])?_0x3efde0['toUpperCase']():_0x3efde0;return _0x51e1bf[_0x181f84(0xa2)](typeof _0x2ac6ab,_0x51e1bf['RdHyv'])?'\x27'+_0x2ac6ab[_0x181f84(0xb1)](/'/g,'\x27\x27')+'\x27':_0x2ac6ab;})['join'](',\x20'):_0x2bdcf4=_0x18886c[_0x1c0991(0xfd)](_0x5c6cd9=>typeof _0x5c6cd9===_0x1c0991(0xa9)?'\x27'+_0x5c6cd9[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x5c6cd9)['join'](',\x20'),_0x73885e+'\x20IN\x20('+_0x2bdcf4+')';}return _0x73885e+'\x20IN\x20('+_0x3f43e1+')';case _0x51e1bf['ZMlDv']:return _0x390db2+_0x1c0991(0x10b);case _0x1c0991(0xda):return _0x390db2+'\x20IS\x20NOT\x20NULL';default:logger[_0x1c0991(0xdb)]({'event':_0x51e1bf[_0x1c0991(0x96)],'operator':_0x1b48eb},_0x51e1bf[_0x1c0991(0x113)]);return _0x73885e+'\x20=\x20'+_0x3f43e1;}})['filter'](_0x24c9fa=>_0x24c9fa!==null);if(_0x51e1bf['MVZUO'](_0x539893['length'],0x0))return'';return _0x539893['join'](_0x464881);}[a0_0xc1f991(0xa6)](_0x2b8a01){const _0x1720ca=a0_0xc1f991,_0x1d9a39={'EJFdc':'invalid_sort_column','ekNau':'DESC','VVJGD':_0x1720ca(0x111)};if(!_0x2b8a01||_0x2b8a01['length']===0x0)return'';const _0x5d5298=_0x2b8a01['map'](_0x180aa6=>{const _0x194e2c=_0x1720ca,{column:_0x31ce23,direction:_0x1e12ba}=_0x180aa6;if(!_0x31ce23)return logger['warn']({'event':_0x1d9a39['EJFdc'],'item':_0x180aa6},'Skipping\x20invalid\x20sort\x20column'),null;const _0x4709c4=_0x1e12ba&&_0x1e12ba[_0x194e2c(0x7b)]()===_0x1d9a39[_0x194e2c(0xbc)]?_0x194e2c(0xbd):_0x1d9a39[_0x194e2c(0xe2)];return _0x31ce23+'\x20'+_0x4709c4;})['filter'](_0x3ce280=>_0x3ce280!==null);if(_0x5d5298['length']===0x0)return'';return _0x5d5298[_0x1720ca(0xd0)](',\x20');}async[a0_0xc1f991(0xd1)](_0xc7f2eb,_0x5e91c2,_0x462a41){const _0x5037a6=a0_0xc1f991,_0x4de4b7={'AsDLI':function(_0x475b8f,_0x8c9804){return _0x475b8f/_0x8c9804;},'HejWS':function(_0x10494c,_0x32fb34){return _0x10494c(_0x32fb34);},'cMJiJ':'../utils/excel-generator','MLiAs':function(_0x406f48,_0x43c6ed){return _0x406f48===_0x43c6ed;},'QmGtj':function(_0x2cb723,_0x57ee94){return _0x2cb723===_0x57ee94;},'PGviy':function(_0x469fd7,_0x72330b){return _0x469fd7>_0x72330b;},'sggpi':_0x5037a6(0xe1),'JfMxY':_0x5037a6(0xe6),'gmIzz':'excel_columns_from_config'},_0x2bde43=_0x4de4b7['HejWS'](require,_0x4de4b7['cMJiJ']),_0x123c25=new _0x2bde43(),_0x1e90dc=_0x462a41[_0x5037a6(0xfe)]?_0x462a41[_0x5037a6(0xfe)]+'-'+_0xc7f2eb:'export-'+_0xc7f2eb,_0x1dc0bd=path['join'](this[_0x5037a6(0xee)],_0x1e90dc+'.xlsx');let _0x635649=_0x462a41['columns'];const _0x2435b0=_0x462a41[_0x5037a6(0xc7)]&&_0x462a41[_0x5037a6(0xc7)][_0x5037a6(0xcc)](),_0x31cf5a=_0x635649&&_0x635649['length']===0x1&&(_0x4de4b7[_0x5037a6(0x104)](_0x635649[0x0],'*')||_0x4de4b7[_0x5037a6(0x105)](_0x635649[0x0][_0x5037a6(0x88)](),'all'));if(_0x4de4b7[_0x5037a6(0xe9)](_0x5e91c2['length'],0x0)){const _0x2259d2=Object[_0x5037a6(0xaf)](_0x5e91c2[0x0]);if(_0x2435b0)_0x635649=_0x2259d2,logger[_0x5037a6(0xdf)]({'event':_0x5037a6(0xbe),'columns':_0x635649},'Using\x20'+_0x635649[_0x5037a6(0xc8)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x31cf5a)_0x635649=_0x2259d2,logger['info']({'event':_0x4de4b7[_0x5037a6(0x94)],'columns':_0x635649},'Using\x20all\x20'+_0x635649['length']+_0x5037a6(0x9c));else{if(_0x635649&&_0x635649['length']>0x0){const _0x25e159=_0x635649['filter'](_0x25345f=>_0x2259d2['includes'](_0x25345f));_0x25e159['length']>0x0?(_0x635649=_0x25e159,logger[_0x5037a6(0xdf)]({'event':_0x5037a6(0x102),'requestedColumns':_0x462a41['columns'],'validColumns':_0x635649},'Using\x20'+_0x635649['length']+_0x5037a6(0xd4))):(_0x635649=_0x2259d2,logger[_0x5037a6(0xdb)]({'event':_0x5037a6(0xa5),'requestedColumns':_0x462a41[_0x5037a6(0x97)],'availableColumns':_0x2259d2},_0x5037a6(0xd7)+_0x2259d2['length']+_0x5037a6(0x74)));}else _0x635649=_0x2259d2,logger[_0x5037a6(0xdf)]({'event':_0x4de4b7[_0x5037a6(0x8d)],'columns':_0x635649},'Using\x20'+_0x635649['length']+_0x5037a6(0x9e));}}}else logger[_0x5037a6(0xdf)]({'event':_0x4de4b7[_0x5037a6(0x101)],'columns':_0x635649},_0x5037a6(0x7d)+(_0x635649?.['length']||0x0)+_0x5037a6(0xf2));return await _0x123c25[_0x5037a6(0xf3)]({'data':_0x5e91c2,'columns':_0x635649,'columnFormats':_0x462a41[_0x5037a6(0x108)]||null,'fieldLabels':_0x462a41['fieldLabels']||null,'filePath':_0x1dc0bd,'onProgress':async _0x23af4d=>{const _0x49ef6a=_0x5037a6;await redisHelper[_0x49ef6a(0x80)](_0xc7f2eb,{'progress':Math[_0x49ef6a(0xcd)](_0x23af4d),'processed_rows':Math[_0x49ef6a(0xcd)](_0x4de4b7[_0x49ef6a(0x89)](_0x23af4d,0x64)*_0x5e91c2[_0x49ef6a(0xc8)])});}}),_0x1dc0bd;}async['getFilePath'](_0x42d59d){const _0x21bfbf=a0_0xc1f991,_0xea9458={'kHOOu':_0x21bfbf(0x92),'MdkDM':function(_0x3a2ce8,_0x3bda4,_0x488e81,_0x4067c8){return _0x3a2ce8(_0x3bda4,_0x488e81,_0x4067c8);},'bMUUH':_0x21bfbf(0xb0)},_0x3e5c62=await redisHelper[_0x21bfbf(0x78)](_0x42d59d);if(!_0x3e5c62||_0x3e5c62['status']!==_0xea9458[_0x21bfbf(0xc5)])return null;try{return await fs['access'](_0x3e5c62['file_path']),_0x3e5c62[_0x21bfbf(0xc0)];}catch(_0x3cc301){return _0xea9458[_0x21bfbf(0x10e)](logError,_0x3cc301,{'event':_0xea9458[_0x21bfbf(0x93)],'jobId':_0x42d59d,'path':_0x3e5c62[_0x21bfbf(0xc0)]},'Export\x20file\x20not\x20found'),null;}}async[a0_0xc1f991(0xb8)](){const _0x4cd707=a0_0xc1f991,_0x4b4fdf={'Zggcq':function(_0x50a5a3,_0x3f8ddc){return _0x50a5a3/_0x3f8ddc;},'lXjrL':_0x4cd707(0xb3),'FDRHM':'Export\x20cleanup\x20completed'};logger['info']({'event':_0x4cd707(0xad)},'Starting\x20export\x20cleanup');const _0x1d9f81=await redisHelper['getAllJobs']();let _0x4d7266=0x0;for(const _0x2d5a03 of _0x1d9f81){const _0x471e32=new Date(_0x2d5a03[_0x4cd707(0xaa)]),_0x2b10be=new Date(),_0x3bf16c=_0x4b4fdf['Zggcq'](_0x2b10be-_0x471e32,0x3e8*0x3c*0x3c);if(_0x3bf16c>0x1){if(_0x2d5a03[_0x4cd707(0xc0)])try{await fs['unlink'](_0x2d5a03[_0x4cd707(0xc0)]),logger[_0x4cd707(0xdf)]({'event':_0x4cd707(0xc6),'path':_0x2d5a03['file_path']},_0x4b4fdf['lXjrL']);}catch(_0x3d1cdb){logger[_0x4cd707(0xdb)]({'event':'export_file_delete_error','path':_0x2d5a03[_0x4cd707(0xc0)],'error':_0x3d1cdb[_0x4cd707(0xf8)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x4cd707(0xed)](_0x2d5a03['job_id']),_0x4d7266++;}}return logger[_0x4cd707(0xdf)]({'event':_0x4cd707(0xef),'deleted':_0x4d7266},_0x4b4fdf[_0x4cd707(0xb6)]),_0x4d7266;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0x2f20c9=a0_0x4774;(function(_0x298499,_0x571dbb){const _0x32fc86=a0_0x4774,_0x1589c6=_0x298499();while(!![]){try{const _0x2617d1=-parseInt(_0x32fc86(0x154))/0x1*(parseInt(_0x32fc86(0x175))/0x2)+parseInt(_0x32fc86(0x14d))/0x3*(parseInt(_0x32fc86(0x15b))/0x4)+-parseInt(_0x32fc86(0x185))/0x5*(-parseInt(_0x32fc86(0xea))/0x6)+parseInt(_0x32fc86(0xeb))/0x7+-parseInt(_0x32fc86(0x17d))/0x8*(parseInt(_0x32fc86(0x11c))/0x9)+-parseInt(_0x32fc86(0x13e))/0xa*(parseInt(_0x32fc86(0x165))/0xb)+parseInt(_0x32fc86(0x107))/0xc;if(_0x2617d1===_0x571dbb)break;else _0x1589c6['push'](_0x1589c6['shift']());}catch(_0xce8a74){_0x1589c6['push'](_0x1589c6['shift']());}}}(a0_0x16a1,0xd5277));const {v7:uuidv7}=require(a0_0x2f20c9(0x17a)),path=require(a0_0x2f20c9(0x142)),fs=require('fs')[a0_0x2f20c9(0xf7)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x2f20c9(0x11e)),dbType=(process[a0_0x2f20c9(0xef)]['DB_TYPE']||'postgresql')[a0_0x2f20c9(0x148)]();function a0_0x4774(_0x346932,_0x59ddcc){_0x346932=_0x346932-0xea;const _0x16a1ba=a0_0x16a1();let _0x477451=_0x16a1ba[_0x346932];if(a0_0x4774['jmxEdl']===undefined){var _0x11bf01=function(_0x325ca1){const _0x4b38cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a8656='',_0x4bb817='';for(let _0x229040=0x0,_0x3e2e42,_0x46e930,_0x436e94=0x0;_0x46e930=_0x325ca1['charAt'](_0x436e94++);~_0x46e930&&(_0x3e2e42=_0x229040%0x4?_0x3e2e42*0x40+_0x46e930:_0x46e930,_0x229040++%0x4)?_0x5a8656+=String['fromCharCode'](0xff&_0x3e2e42>>(-0x2*_0x229040&0x6)):0x0){_0x46e930=_0x4b38cf['indexOf'](_0x46e930);}for(let _0x547c38=0x0,_0x17c1a7=_0x5a8656['length'];_0x547c38<_0x17c1a7;_0x547c38++){_0x4bb817+='%'+('00'+_0x5a8656['charCodeAt'](_0x547c38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bb817);};a0_0x4774['IbCybs']=_0x11bf01,a0_0x4774['sJBEFc']={},a0_0x4774['jmxEdl']=!![];}const _0x5526bd=_0x16a1ba[0x0],_0x4f1cad=_0x346932+_0x5526bd,_0x32897c=a0_0x4774['sJBEFc'][_0x4f1cad];return!_0x32897c?(_0x477451=a0_0x4774['IbCybs'](_0x477451),a0_0x4774['sJBEFc'][_0x4f1cad]=_0x477451):_0x477451=_0x32897c,_0x477451;}let executeQuery;function a0_0x16a1(){const _0x28c397=['lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','Dg90ywXFCM93CW','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','cIaGicbguK9nia','ywXS','lI4VDxrPBhmVzgi','cLDirvjfia','z2vUzxjHDgvfEgnLBa','zxHWB3j0x2zPBgvFBM90x2zVDw5K','AgvlBwu','BwvZC2fNzq','BxfQu3i','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','shHZCuW','zxHWB3j0x2PVyL9JCMvHDgvK','ufPwqLm','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','tK9uieXjs0u','mtqWnZq3mffivw1WEq','BwfW','Bw9KDwXLtMfTzq','lNHSC3G','Cgf0Aa','q1PMrK0','svmGtK9uie5vteW','zxHWB3j0uxvLCNK','zxHLy3v0zvf1zxj5','EvDwv2S','Dg9mB3DLCKnHC2u','rxHWB3j0igPVyIbJCMvHDgvK','zxHWB3j0x2zLDgnOx3n0yxj0','ywnJzxnZ','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mtjxtgL4qxy','y29SDw1UCW','swrtENm','C3vIC3rYAw5N','ieforca','zMLSDgvY','CgfYyw1Z','n2Xgvfbevq','D0PyA2K','wfv3DLG','zMLSzv9WyxrO','z1bWyuW','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','yNvPBgrxAgvYzunSyxvZzq','mZK3ntG4s2TtswnZ','zMfPBgvK','B1jgywu','z3zLwNO','zw5KCg9PBNroyw1L','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','zMXVB3i','y2XLyw51Ca','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','nZDJr3vWDhq','vfrAvfK','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','x2v4Cg9YDerPCG','A2v5CW','DxbKyxrLsM9I','ieLtie5pvcbovuXm','teLlrq','ywnNtNe','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','D2fYBG','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','y3DK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','r1LXz1i','mZq4mde2BwfUse91','CMvHzezPBgvtEw5J','rxHWB3j0igzPBguGzgvSzxrLza','zxjYB3i','zxHWB3j0x2zHAwXLza','DxvPza','zeHjCgG','C3rYAw5N','nZKWmZm0nffmyKDcDG','t1zUwfO','sMDuv3K','zxHPC3rZu3LUyW','y29UzgL0Aw9UCW','BgvUz3rO','C2fUAxrPEMvwywX1zq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','mtq3odG1quLbsKPi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uKfTzLC','Aw5MBW','mJiYu1HxrKDf','otC0mZK0nhLpq2jxzG','C3rHDhvZ','CMvWBgfJzq','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zw52','zgvMyxvSDa','vxnPBMCG','Dw5SAw5R','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','z2vUzxjHDgvkB2jjza','ChjVy2vZC0PVyG','C0vzsxq','ChjVBwLZzxm','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','EKfXA3e','ignVBhvTBNm','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','lI4VlI4VzxHWB3j0CY8','zLbYzKe','DhjPBq','swvoBgu','CM91BMq','Dg9vChbLCKnHC2u','uvbPBfe','Dg9ju09tDhjPBMC','mtqXnJqYmZzkAvrhzMm','wfvfCLK','tKHrr2C','yNvPBgrpCMrLCKj5q2XHDxnL','sxzAAeK','zMv0y2HeyxrH','lI4VDxrPBhmVzgiTB3jHy2XL','y29SDw1UrM9YBwf0CW','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zgvSzxrLsM9I','y3vOChm','cLnftevdvcaQiezst00G','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','iefticGkicaGia','AM9PBG','zMLLBgrmywjLBhm','ieLoicG','rxHWB3j0igzPBguGBM90igzVDw5K','CgvUzgLUzW','vxH3zuy','z2v0sM9Iu3rHDhvZ','ovbfyNroyq','v0Lusca','lI4VDxrPBhmVBg9Nz2vY','AM9Ix2LK','C2v0sM9I','Ag9MCeK','Ben3r2G','iefticGkicaGifnftevdvca','ChjVy2vZC2vKx3jVD3m','z2v0sM9I','ALDJu2G','zMLSztO','cIaGicaGicaG','AxnbCNjHEq','C3rHCNrZv2L0Aa'];a0_0x16a1=function(){return _0x28c397;};return a0_0x16a1();}if(dbType==='oracle'){const oracleDb=require(a0_0x2f20c9(0x10d));executeQuery=(_0x5c8201,_0x592ddd)=>oracleDb[a0_0x2f20c9(0x146)](_0x5c8201,_0x592ddd);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x2ae0a2,_0x13d042)=>mysqlDb['executeQuery'](_0x2ae0a2,_0x13d042);}else executeQuery=require(a0_0x2f20c9(0x131))[a0_0x2f20c9(0x146)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x19dd28=a0_0x2f20c9,_0x6604b8={'zAqkq':_0x19dd28(0x10f),'bfTeH':function(_0x85332,_0x3a9a04,_0x2b9c80,_0x474664){return _0x85332(_0x3a9a04,_0x2b9c80,_0x474664);},'FFoFF':'export_service_init_error','dHIph':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x4c6cad=process[_0x19dd28(0xef)][_0x19dd28(0x186)]||_0x19dd28(0xf0);this['_exportDir']=process['env']['EXPORT_DIR']||path[_0x19dd28(0x115)](__dirname,_0x19dd28(0xff)+_0x4c6cad);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x19dd28(0x168)],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x19dd28(0x168)]},_0x6604b8[_0x19dd28(0xf9)]);}catch(_0x2ec35a){_0x6604b8['bfTeH'](logError,_0x2ec35a,{'event':_0x6604b8['FFoFF']},_0x6604b8[_0x19dd28(0x17b)]);}}return this['_exportDir'];}['resolveExportQuery'](_0x5c9d87,_0x44d990=null){const _0x24e305=a0_0x2f20c9,_0x391ca7={'obqJb':'payload','hOFuo':'utf8','PZVBS':_0x24e305(0xfb),'XUErY':function(_0x38e6ff,_0x5ace84){return _0x38e6ff===_0x5ace84;}};if(!_0x5c9d87||typeof _0x5c9d87!==_0x24e305(0x17c))return _0x5c9d87;const _0x2c303a=_0x5c9d87['trim']();if(!_0x2c303a[_0x24e305(0x12a)](_0x24e305(0x127)))return _0x2c303a;const _0x24b95e=_0x2c303a['replace'](/^file:/,'')[_0x24e305(0x101)]();if(!_0x24b95e)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x14cdf6=_0x44d990||path['join'](process[_0x24e305(0x172)](),_0x391ca7['obqJb']),_0x32d9c4=path['resolve'](_0x14cdf6,_0x24b95e);logger['info']({'event':_0x24e305(0x113),'relativePath':_0x24b95e,'baseDir':_0x14cdf6,'absolutePath':_0x32d9c4},_0x24e305(0x16f)+_0x24b95e);if(!fsSync[_0x24e305(0x180)](_0x32d9c4))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x32d9c4);try{const _0xf8c5b7=fsSync[_0x24e305(0x176)](_0x32d9c4,_0x391ca7['hOFuo']);if(!_0xf8c5b7||!_0xf8c5b7[_0x24e305(0x101)]())throw new Error(_0x24e305(0x167)+_0x32d9c4);return logger['info']({'event':_0x391ca7[_0x24e305(0x13b)],'file':_0x32d9c4,'queryLength':_0xf8c5b7['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0xf8c5b7[_0x24e305(0x182)]+'\x20chars)'),_0xf8c5b7['trim']();}catch(_0x2d07b0){if(_0x391ca7[_0x24e305(0x108)](_0x2d07b0['code'],'ENOENT'))throw new Error(_0x24e305(0x14c)+_0x32d9c4);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x2d07b0[_0x24e305(0x136)]);}}[a0_0x2f20c9(0xf4)](){const _0x554598=a0_0x2f20c9,_0x97bd8d={'ZRywP':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'},_0x1db13f=_0x97bd8d['ZRywP'],_0x28afaa=Date['now']()['toString'](0x24),_0x88c7e2=uuidv7()['replace'](/-/g,'')[_0x554598(0x150)](0x0,0xc-_0x28afaa[_0x554598(0x182)]),_0x20094d=(_0x28afaa+_0x88c7e2)[_0x554598(0x150)](0x0,0xc);let _0x2a0343='';for(let _0x205fe7=0x0;_0x205fe7<0xc;_0x205fe7++){_0x20094d[_0x205fe7]?_0x2a0343+=_0x20094d[_0x205fe7]:_0x2a0343+=_0x1db13f['charAt'](Math[_0x554598(0x161)](Math['random']()*_0x1db13f[_0x554598(0x182)]));}return _0x2a0343;}async['createJob'](_0x3fb413){const _0x1f3a8c=a0_0x2f20c9,_0x5ccf3d={'HGHDt':'pending','TTZTY':_0x1f3a8c(0x13a)},_0x32d14d=this['generateJobId'](),_0x2de660={'job_id':_0x32d14d,'status':_0x5ccf3d['HGHDt'],'progress':0x0,'created_at':new Date()[_0x1f3a8c(0x106)](),'params':_0x3fb413,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x1f3a8c(0x120)](_0x32d14d,_0x2de660),logger[_0x1f3a8c(0x188)]({'event':_0x5ccf3d[_0x1f3a8c(0x166)],'jobId':_0x32d14d,'params':_0x3fb413},_0x1f3a8c(0x149)),this[_0x1f3a8c(0xf5)](_0x32d14d,_0x3fb413)['catch'](_0x375c1e=>{const _0x13a032=_0x1f3a8c;logError(_0x375c1e,{'event':_0x13a032(0xee),'jobId':_0x32d14d},'Export\x20processing\x20failed');}),{'job_id':_0x32d14d,'status':_0x1f3a8c(0x119)};}async[a0_0x2f20c9(0x11b)](_0x10fa1e){const _0x24ba79=a0_0x2f20c9,_0x46eda8={'mqjSr':function(_0x19ff91,_0x3f796c){return _0x19ff91===_0x3f796c;}},_0x41459e=await redisHelper['getJob'](_0x10fa1e);if(!_0x41459e)return{'success':![],'error':_0x24ba79(0x159)};return{'success':!![],'data':{'job_id':_0x41459e['job_id'],'status':_0x41459e[_0x24ba79(0xec)],'progress':_0x41459e['progress'],'total_rows':_0x41459e[_0x24ba79(0x12c)],'processed_rows':_0x41459e[_0x24ba79(0x124)],'file_url':_0x46eda8[_0x24ba79(0x137)](_0x41459e[_0x24ba79(0xec)],'completed')?'/api/'+_0x41459e[_0x24ba79(0x153)][_0x24ba79(0x140)]+'/'+_0x41459e['params'][_0x24ba79(0x15f)]+'/export-download?job_id='+_0x10fa1e:null,'error':_0x41459e[_0x24ba79(0x178)]||null,'created_at':_0x41459e['created_at'],'completed_at':_0x41459e['completed_at']||null}};}async[a0_0x2f20c9(0xf5)](_0x348b8a,_0x11e58a){const _0x3250d7=a0_0x2f20c9,_0x2e1939={'heKme':'processing','NXXGl':_0x3250d7(0xfd),'tcHxb':'Export\x20processing\x20started','lMujN':'completed','yZjNM':_0x3250d7(0x160),'BqUuE':function(_0x11eb9e,_0x57e010,_0x9f4cd4,_0x4feeaa){return _0x11eb9e(_0x57e010,_0x9f4cd4,_0x4feeaa);},'qoyEU':_0x3250d7(0x179)};try{await redisHelper['updateJob'](_0x348b8a,{'status':_0x2e1939[_0x3250d7(0x135)],'started_at':new Date()[_0x3250d7(0x106)]()}),logger['info']({'event':_0x2e1939['NXXGl'],'jobId':_0x348b8a},_0x2e1939['tcHxb']);const _0x595a37=await this[_0x3250d7(0x10c)](_0x11e58a);await redisHelper[_0x3250d7(0x16a)](_0x348b8a,{'total_rows':_0x595a37[_0x3250d7(0x182)]});const _0x21fcf2=await this['generateExcel'](_0x348b8a,_0x595a37,_0x11e58a);await redisHelper['updateJob'](_0x348b8a,{'status':_0x2e1939['lMujN'],'progress':0x64,'file_path':_0x21fcf2,'completed_at':new Date()[_0x3250d7(0x106)]()}),logger['info']({'event':'export_completed','jobId':_0x348b8a,'rows':_0x595a37[_0x3250d7(0x182)]},_0x2e1939['yZjNM']);}catch(_0x5c9667){_0x2e1939['BqUuE'](logError,_0x5c9667,{'event':_0x2e1939['qoyEU'],'jobId':_0x348b8a},'Export\x20failed'),await redisHelper['updateJob'](_0x348b8a,{'status':_0x3250d7(0x15c),'error':_0x5c9667[_0x3250d7(0x136)],'failed_at':new Date()['toISOString']()});}}async[a0_0x2f20c9(0x10c)](_0x2dc44c){const _0x4a0d63=a0_0x2f20c9,_0x28b7cd={'HxsqL':function(_0x221bb6,_0x2bee09){return _0x221bb6||_0x2bee09;},'AOwas':function(_0x3898c6,_0x5a33b0){return _0x3898c6+_0x5a33b0;},'UxweF':'_data','QPilQ':_0x4a0d63(0x127),'OPUEQ':_0x4a0d63(0x173),'alcir':'export_using_auto_query','esCnd':'Using\x20auto-generated\x20query','gveZz':function(_0xb06cbe,_0x134036){return _0xb06cbe>_0x134036;},'sEYIt':_0x4a0d63(0x14a),'XUwvX':'Fetching\x20data\x20from\x20database','cuhps':function(_0x99bbe6,_0x2502b4){return _0x99bbe6===_0x2502b4;},'ariiJ':'oracle','zJuCA':'export_fetch_complete','IvZhI':_0x4a0d63(0x138),'fPrfA':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x5039dc,columns:_0x2621bd,exportQuery:_0x4a9ce7,where:_0x341987,sort_columns:_0x5513dc}=_0x2dc44c;if(_0x28b7cd[_0x4a0d63(0x139)](!_0x5039dc,!_0x2621bd)||_0x2621bd['length']===0x0)throw new Error(_0x4a0d63(0x163));const _0xa98dfd=_0x28b7cd['AOwas'](_0x5039dc[_0x4a0d63(0xed)](/\./g,'_'),_0x28b7cd[_0x4a0d63(0x11a)]);let _0x4d9ea4;if(_0x4a9ce7&&_0x4a9ce7['trim']()){let _0x1f2ffe=_0x4a9ce7;_0x4a9ce7[_0x4a0d63(0x101)]()[_0x4a0d63(0x12a)](_0x28b7cd[_0x4a0d63(0x105)])&&(_0x1f2ffe=this['resolveExportQuery'](_0x4a9ce7)),_0x4d9ea4=_0x4a0d63(0x11d)+_0xa98dfd+_0x4a0d63(0x114)+_0x1f2ffe+'\x0a)',_0x4d9ea4+=_0x4a0d63(0x112)+_0xa98dfd,logger[_0x4a0d63(0x188)]({'event':_0x28b7cd['OPUEQ'],'query':_0x1f2ffe[_0x4a0d63(0x150)](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x251952=_0x2621bd[_0x4a0d63(0x13f)](_0x30e741=>_0x4a0d63(0x128)+_0x30e741)['join'](',');_0x4d9ea4=_0x4a0d63(0x11d)+_0xa98dfd+_0x4a0d63(0x123)+_0x251952+_0x4a0d63(0x12f)+_0x5039dc+'\x0a)',_0x4d9ea4+=_0x4a0d63(0x112)+_0xa98dfd,logger['info']({'event':_0x28b7cd['alcir'],'tableName':_0x5039dc,'columnCount':_0x2621bd['length']},_0x28b7cd['esCnd']);}if(_0x341987){const _0x4aaf3b=this[_0x4a0d63(0x15a)](_0x341987);_0x4aaf3b&&(_0x4d9ea4+=_0x4a0d63(0x132)+_0x4aaf3b);}if(_0x5513dc&&_0x28b7cd[_0x4a0d63(0x15e)](_0x5513dc['length'],0x0)){const _0x5ef2ce=this[_0x4a0d63(0x10a)](_0x5513dc);_0x5ef2ce&&(_0x4d9ea4+='\x0aORDER\x20BY\x20'+_0x5ef2ce);}logger['info']({'event':_0x28b7cd[_0x4a0d63(0xf6)],'query':_0x4d9ea4[_0x4a0d63(0x150)](0x0,0xc8)},_0x28b7cd[_0x4a0d63(0x156)]);const _0x5c2de5=await executeQuery(_0x4d9ea4);let _0x990c48=_0x5c2de5;return _0x28b7cd[_0x4a0d63(0x111)](dbType,_0x28b7cd['ariiJ'])&&_0x5c2de5&&_0x5c2de5['length']>0x0&&(_0x990c48=_0x5c2de5['map'](_0x143ddd=>{const _0x36fa30=_0x4a0d63,_0x2d28b0={};for(const [_0x48db1d,_0xe52b7b]of Object['entries'](_0x143ddd)){_0x2d28b0[_0x48db1d[_0x36fa30(0x148)]()]=_0xe52b7b;}return _0x2d28b0;})),logger[_0x4a0d63(0x188)]({'event':_0x28b7cd['zJuCA'],'rows':_0x990c48[_0x4a0d63(0x182)]},_0x28b7cd[_0x4a0d63(0x10b)]),_0x990c48;}catch(_0x1e7426){logError(_0x1e7426,{'event':'export_fetch_error'},_0x28b7cd[_0x4a0d63(0x100)]);throw _0x1e7426;}}[a0_0x2f20c9(0x183)](_0x30d8a2){const _0x1018b6=a0_0x2f20c9;if(typeof _0x30d8a2==='string')return _0x30d8a2[_0x1018b6(0xed)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x1018b6(0x101)]();else{if(Array['isArray'](_0x30d8a2))return _0x30d8a2[_0x1018b6(0x13f)](_0x5d234d=>this['sanitizeValue'](_0x5d234d));}return _0x30d8a2;}['buildWhereClause'](_0x392c99){const _0x4aad95=a0_0x2f20c9,_0x31ff28={'oRFae':function(_0x32c9b3,_0x4a5131){return _0x32c9b3||_0x4a5131;},'QYpGr':'Skipping\x20invalid\x20condition','PkPRR':function(_0x359de5,_0x1f2f78){return _0x359de5!==_0x1f2f78;},'TuetU':function(_0x51f196,_0x256ee3){return _0x51f196===_0x256ee3;},'IdSzs':function(_0x4d4bb3,_0x19b885){return _0x4d4bb3===_0x19b885;},'JgTWy':_0x4aad95(0x17c),'NHQGg':_0x4aad95(0xf3),'RAmfW':function(_0x5a5bf0,_0x26bf9c){return _0x5a5bf0===_0x26bf9c;},'GYqgR':_0x4aad95(0x151)};if(!_0x392c99||!_0x392c99[_0x4aad95(0x181)]||_0x392c99['conditions']['length']===0x0)return'';const {logic:_0x573a6e,conditions:_0x3c633e}=_0x392c99,_0x273191=_0x573a6e&&_0x31ff28[_0x4aad95(0x187)](_0x573a6e['toUpperCase'](),'OR')?'\x20OR\x20':_0x31ff28[_0x4aad95(0x174)],_0x34fa7e=_0x3c633e['map'](_0x4c3e51=>{const _0x4f670e=_0x4aad95,_0x42b7d1={'zynwd':'string'},{key:_0x178e1d,operator:_0x5a3259,value:_0x4d088d,sensitive:_0x87220c}=_0x4c3e51;if(_0x31ff28[_0x4f670e(0x15d)](!_0x178e1d,!_0x5a3259))return logger[_0x4f670e(0x170)]({'event':'invalid_condition','condition':_0x4c3e51},_0x31ff28['QYpGr']),null;const _0x34a159=this[_0x4f670e(0x183)](_0x4d088d),_0x3ab517=_0x31ff28['PkPRR'](_0x87220c,undefined)?_0x87220c:!![];let _0x22b233=_0x178e1d,_0x583c82=_0x34a159;!_0x3ab517&&(_0x22b233='UPPER('+_0x178e1d+')',_0x31ff28['TuetU'](typeof _0x4d088d,'string')&&(_0x583c82=_0x4d088d[_0x4f670e(0x104)]()));const _0x180127=_0x31ff28[_0x4f670e(0x14f)](typeof _0x583c82,_0x31ff28['JgTWy'])?'\x27'+_0x583c82[_0x4f670e(0xed)](/'/g,'\x27\x27')+'\x27':_0x583c82;switch(_0x5a3259['toUpperCase']()){case'=':case'!=':case'<>':return _0x22b233+'\x20'+_0x5a3259+'\x20'+_0x180127;case'>':case'<':case'>=':case'<=':const _0x945602=_0x31ff28['IdSzs'](typeof _0x34a159,_0x31ff28[_0x4f670e(0x17f)])?'\x27'+_0x34a159['replace'](/'/g,'\x27\x27')+'\x27':_0x34a159;return _0x178e1d+'\x20'+_0x5a3259+'\x20'+_0x945602;case _0x4f670e(0x16c):case _0x4f670e(0x13d):return _0x22b233+'\x20'+_0x5a3259+'\x20'+_0x180127;case'IN':if(Array[_0x4f670e(0x129)](_0x34a159)){let _0x244628;return!_0x3ab517?_0x244628=_0x34a159[_0x4f670e(0x13f)](_0x398ee6=>{const _0x15fed0=_0x4f670e,_0x21ea63=typeof _0x398ee6===_0x42b7d1['zynwd']?_0x398ee6[_0x15fed0(0x104)]():_0x398ee6;return typeof _0x21ea63===_0x42b7d1['zynwd']?'\x27'+_0x21ea63[_0x15fed0(0xed)](/'/g,'\x27\x27')+'\x27':_0x21ea63;})['join'](',\x20'):_0x244628=_0x34a159['map'](_0xaa7967=>typeof _0xaa7967==='string'?'\x27'+_0xaa7967['replace'](/'/g,'\x27\x27')+'\x27':_0xaa7967)['join'](',\x20'),_0x22b233+'\x20IN\x20('+_0x244628+')';}return _0x22b233+_0x4f670e(0x117)+_0x180127+')';case'IS\x20NULL':return _0x178e1d+'\x20IS\x20NULL';case _0x4f670e(0x144):return _0x178e1d+_0x4f670e(0x16b);default:logger[_0x4f670e(0x170)]({'event':'unknown_operator','operator':_0x5a3259},_0x31ff28[_0x4f670e(0x109)]);return _0x22b233+'\x20=\x20'+_0x180127;}})['filter'](_0x2ae3c2=>_0x2ae3c2!==null);if(_0x31ff28[_0x4aad95(0x187)](_0x34fa7e[_0x4aad95(0x182)],0x0))return'';return _0x34fa7e[_0x4aad95(0x115)](_0x273191);}[a0_0x2f20c9(0x10a)](_0x14b2c8){const _0x54c6e3=a0_0x2f20c9,_0x7eecc0={'mtmPp':'Skipping\x20invalid\x20sort\x20column','lCwGh':function(_0x47cb87,_0x256629){return _0x47cb87===_0x256629;},'yWVWk':'DESC'};if(!_0x14b2c8||_0x14b2c8['length']===0x0)return'';const _0x3011c7=_0x14b2c8[_0x54c6e3(0x13f)](_0x42791a=>{const _0x12479b=_0x54c6e3,{column:_0xcc807d,direction:_0x256546}=_0x42791a;if(!_0xcc807d)return logger['warn']({'event':'invalid_sort_column','item':_0x42791a},_0x7eecc0['mtmPp']),null;const _0x179361=_0x256546&&_0x7eecc0[_0x12479b(0x122)](_0x256546['toUpperCase'](),_0x7eecc0[_0x12479b(0x147)])?_0x7eecc0['yWVWk']:'ASC';return _0xcc807d+'\x20'+_0x179361;})[_0x54c6e3(0x152)](_0x4fdbc6=>_0x4fdbc6!==null);if(_0x7eecc0['lCwGh'](_0x3011c7[_0x54c6e3(0x182)],0x0))return'';return _0x3011c7[_0x54c6e3(0x115)](',\x20');}async[a0_0x2f20c9(0x133)](_0x1b0211,_0x2950e9,_0x5b21ac){const _0x3ac97d=a0_0x2f20c9,_0x3a6fa0={'hofpI':function(_0x51f8fd,_0x15f1fe){return _0x51f8fd/_0x15f1fe;},'wJXki':function(_0x464965,_0x2537d5){return _0x464965===_0x2537d5;},'CZfFM':_0x3ac97d(0x130),'gPpaL':function(_0x2a0fd0,_0x34cdf1){return _0x2a0fd0>_0x34cdf1;},'OhQRj':'excel_columns_select_all','qvXQS':'excel_columns_from_query_result'},_0x1181d0=require(_0x3ac97d(0x12b)),_0x2d052a=new _0x1181d0(),_0x3773a7=_0x5b21ac['filename']?_0x5b21ac['filename']+'-'+_0x1b0211:'export-'+_0x1b0211,_0x2bdfc8=path['join'](this['exportDir'],_0x3773a7+_0x3ac97d(0x141));let _0x260ffe=_0x5b21ac['columns'];const _0x49181e=_0x5b21ac['exportQuery']&&_0x5b21ac[_0x3ac97d(0x145)]['trim'](),_0x1c2575=_0x260ffe&&_0x3a6fa0[_0x3ac97d(0x155)](_0x260ffe[_0x3ac97d(0x182)],0x1)&&(_0x260ffe[0x0]==='*'||_0x3a6fa0['wJXki'](_0x260ffe[0x0][_0x3ac97d(0x148)](),_0x3a6fa0[_0x3ac97d(0x143)]));if(_0x3a6fa0['gPpaL'](_0x2950e9[_0x3ac97d(0x182)],0x0)){const _0xb6dc5d=Object[_0x3ac97d(0x169)](_0x2950e9[0x0]);if(_0x49181e)_0x260ffe=_0xb6dc5d,logger[_0x3ac97d(0x188)]({'event':_0x3ac97d(0x12e),'columns':_0x260ffe},_0x3ac97d(0xf1)+_0x260ffe[_0x3ac97d(0x182)]+_0x3ac97d(0x16e));else{if(_0x1c2575)_0x260ffe=_0xb6dc5d,logger[_0x3ac97d(0x188)]({'event':_0x3a6fa0['OhQRj'],'columns':_0x260ffe},'Using\x20all\x20'+_0x260ffe['length']+_0x3ac97d(0xf8));else{if(_0x260ffe&&_0x3a6fa0[_0x3ac97d(0x158)](_0x260ffe[_0x3ac97d(0x182)],0x0)){const _0x5bde9a=_0x260ffe[_0x3ac97d(0x152)](_0x509248=>_0xb6dc5d['includes'](_0x509248));_0x3a6fa0[_0x3ac97d(0x158)](_0x5bde9a['length'],0x0)?(_0x260ffe=_0x5bde9a,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0x5b21ac[_0x3ac97d(0x14e)],'validColumns':_0x260ffe},'Using\x20'+_0x260ffe[_0x3ac97d(0x182)]+'\x20columns\x20from\x20request')):(_0x260ffe=_0xb6dc5d,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x5b21ac[_0x3ac97d(0x14e)],'availableColumns':_0xb6dc5d},_0x3ac97d(0x164)+_0xb6dc5d[_0x3ac97d(0x182)]+_0x3ac97d(0xfa)));}else _0x260ffe=_0xb6dc5d,logger[_0x3ac97d(0x188)]({'event':_0x3a6fa0['qvXQS'],'columns':_0x260ffe},'Using\x20'+_0x260ffe['length']+_0x3ac97d(0x184));}}}else logger['info']({'event':_0x3ac97d(0x12d),'columns':_0x260ffe},'Using\x20'+(_0x260ffe?.['length']||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x2d052a['generate']({'data':_0x2950e9,'columns':_0x260ffe,'columnFormats':_0x5b21ac[_0x3ac97d(0x10e)]||null,'fieldLabels':_0x5b21ac[_0x3ac97d(0x116)]||null,'filePath':_0x2bdfc8,'onProgress':async _0x5e91b1=>{const _0x18e7d4=_0x3ac97d;await redisHelper['updateJob'](_0x1b0211,{'progress':Math['round'](_0x5e91b1),'processed_rows':Math[_0x18e7d4(0x103)](_0x3a6fa0[_0x18e7d4(0x121)](_0x5e91b1,0x64)*_0x2950e9[_0x18e7d4(0x182)])});}}),_0x2bdfc8;}async['getFilePath'](_0xdabdfe){const _0x5adab0=a0_0x2f20c9,_0x3a4744={'sMJXA':function(_0x320e65,_0x4a0aed,_0x23a7f9,_0x43db0f){return _0x320e65(_0x4a0aed,_0x23a7f9,_0x43db0f);},'ktdtJ':_0x5adab0(0x134),'nQtCe':_0x5adab0(0x118)},_0x17b0bd=await redisHelper[_0x5adab0(0x125)](_0xdabdfe);if(!_0x17b0bd||_0x17b0bd[_0x5adab0(0xec)]!=='completed')return null;try{return await fs[_0x5adab0(0x14b)](_0x17b0bd['file_path']),_0x17b0bd[_0x5adab0(0x157)];}catch(_0x4c2dad){return _0x3a4744['sMJXA'](logError,_0x4c2dad,{'event':_0x3a4744['ktdtJ'],'jobId':_0xdabdfe,'path':_0x17b0bd[_0x5adab0(0x157)]},_0x3a4744['nQtCe']),null;}}async[a0_0x2f20c9(0x162)](){const _0x2cd8b5=a0_0x2f20c9,_0x13963a={'pKIoz':'export_cleanup_start','acgNq':_0x2cd8b5(0xfc),'jWcSh':function(_0x128a0e,_0x193de5){return _0x128a0e-_0x193de5;},'OVnXZ':function(_0x137714,_0x127767){return _0x137714*_0x127767;},'IeNle':_0x2cd8b5(0x13c)};logger['info']({'event':_0x13963a['pKIoz']},_0x13963a[_0x2cd8b5(0x16d)]);const _0x86b727=await redisHelper['getAllJobs']();let _0x5d32a0=0x0;for(const _0x30bbb5 of _0x86b727){const _0x2e3ae9=new Date(_0x30bbb5['created_at']),_0x1ad26e=new Date(),_0x257686=_0x13963a[_0x2cd8b5(0x126)](_0x1ad26e,_0x2e3ae9)/(_0x13963a[_0x2cd8b5(0x17e)](0x3e8,0x3c)*0x3c);if(_0x257686>0x1){if(_0x30bbb5[_0x2cd8b5(0x157)])try{await fs[_0x2cd8b5(0xf2)](_0x30bbb5['file_path']),logger[_0x2cd8b5(0x188)]({'event':'export_file_deleted','path':_0x30bbb5[_0x2cd8b5(0x157)]},_0x2cd8b5(0x177));}catch(_0x225597){logger[_0x2cd8b5(0x170)]({'event':_0x2cd8b5(0x171),'path':_0x30bbb5['file_path'],'error':_0x225597['message']},_0x2cd8b5(0xfe));}await redisHelper[_0x2cd8b5(0x110)](_0x30bbb5[_0x2cd8b5(0x11f)]),_0x5d32a0++;}}return logger['info']({'event':_0x13963a[_0x2cd8b5(0x102)],'deleted':_0x5d32a0},'Export\x20cleanup\x20completed'),_0x5d32a0;}}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x352624=a0_0x5d4e;(function(_0x5a54ec,_0x59c528){const _0xf89d8d=a0_0x5d4e,_0xc9dde3=_0x5a54ec();while(!![]){try{const _0x1288ba=parseInt(_0xf89d8d(0x1e2))/0x1*(parseInt(_0xf89d8d(0x1f0))/0x2)+-parseInt(_0xf89d8d(0x1a3))/0x3*(-parseInt(_0xf89d8d(0x1ab))/0x4)+parseInt(_0xf89d8d(0x1ef))/0x5+parseInt(_0xf89d8d(0x210))/0x6+parseInt(_0xf89d8d(0x1b1))/0x7+-parseInt(_0xf89d8d(0x215))/0x8+-parseInt(_0xf89d8d(0x187))/0x9*(parseInt(_0xf89d8d(0x212))/0xa);if(_0x1288ba===_0x59c528)break;else _0xc9dde3['push'](_0xc9dde3['shift']());}catch(_0x10c5b4){_0xc9dde3['push'](_0xc9dde3['shift']());}}}(a0_0x1590,0x72e6c));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x352624(0x18a)),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x352624(0x1c7)]();let executeQuery,executeTransaction,oracleDb;function a0_0x5d4e(_0xdf4e6e,_0x4c37d2){_0xdf4e6e=_0xdf4e6e-0x185;const _0x15905c=a0_0x1590();let _0x5d4eac=_0x15905c[_0xdf4e6e];if(a0_0x5d4e['BQBqcm']===undefined){var _0x46b7e1=function(_0xf3a3a8){const _0x4b9b68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b4f52='',_0x2a2523='';for(let _0x384668=0x0,_0x146406,_0x1f4762,_0xec42a6=0x0;_0x1f4762=_0xf3a3a8['charAt'](_0xec42a6++);~_0x1f4762&&(_0x146406=_0x384668%0x4?_0x146406*0x40+_0x1f4762:_0x1f4762,_0x384668++%0x4)?_0x1b4f52+=String['fromCharCode'](0xff&_0x146406>>(-0x2*_0x384668&0x6)):0x0){_0x1f4762=_0x4b9b68['indexOf'](_0x1f4762);}for(let _0x12971b=0x0,_0x48a676=_0x1b4f52['length'];_0x12971b<_0x48a676;_0x12971b++){_0x2a2523+='%'+('00'+_0x1b4f52['charCodeAt'](_0x12971b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a2523);};a0_0x5d4e['hRobvG']=_0x46b7e1,a0_0x5d4e['dONcGF']={},a0_0x5d4e['BQBqcm']=!![];}const _0x695374=_0x15905c[0x0],_0x136945=_0xdf4e6e+_0x695374,_0x539a47=a0_0x5d4e['dONcGF'][_0x136945];return!_0x539a47?(_0x5d4eac=a0_0x5d4e['hRobvG'](_0x5d4eac),a0_0x5d4e['dONcGF'][_0x136945]=_0x5d4eac):_0x5d4eac=_0x539a47,_0x5d4eac;}if(dbType===a0_0x352624(0x195))oracleDb=require(a0_0x352624(0x231)),executeQuery=(_0x2afc05,_0x429938)=>oracleDb['executeQuery'](_0x2afc05,_0x429938),executeTransaction=_0x59ed5c=>oracleDb['executeTransaction'](_0x59ed5c);else{if(dbType===a0_0x352624(0x1aa)){const mysqlDb=require(a0_0x352624(0x211));executeQuery=(_0x1999e2,_0x4e5d8a)=>mysqlDb['executeQuery'](_0x1999e2,_0x4e5d8a),executeTransaction=_0x8db1e2=>mysqlDb['executeTransaction'](_0x8db1e2);}else{const db=require(a0_0x352624(0x235));executeQuery=db[a0_0x352624(0x1a1)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x352624(0x22a)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x352624(0x1ce));function a0_0x1590(){const _0x124926=['lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zLj6t3G','yNvPBgrcyxrJAeLUC2vYDa','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','x2fJDgLVBG','CMPMtg0','ChjLDMLLD19QB2jFy29TCgXLDgvK','z2v0rNvSBfLLyxi','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C3rYAw5N','Aw5JBhvKzxm','BgvUz3rO','EfnzD3q','BuT3sM0','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','zxjYB3jZ','CMPMveW','Aw5Zzxj0x29UBhK','Bwf0y2G','mNDJzMrNDq','BNvTyMvY','y2nOEKG','z2v0','ChjVy2vZC1bYzxzPzxDkB2i','C2XPy2u','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','Eensy1K','x3vWBg9HzerPCG','AgvHzgvYC19TyxbWzwq','DevPCxy','ANHcz3i','Dhj1zq','ndCWndG3mevWv2z1wG','nZeYodG4Cw1HzNnm','wuLvzxC','DxbSB2fKrMLSzq','ieLoicG','BNf4vum','C2v0sM9I','BwLZC2LUz0zPzwXKCW','tgD1DMG','ChjLDMLLD19LCNjVCG','CKnPAeq','zw52','DxbKyxrLx2v4Axn0Aw5N','s0rRzva','q29TBwL0igPVyIbJCMvHDgvK','y2H1BMTsB3DZ','A2v5CW','sufJCw0','BvP4s1K','jdfFjdi','BNDpsM8','ChjLDMLLD19VAW','C3rHDhvZ','zMLSzv9JBgvHBNvWx2vYCM9Y','zgf0zq','Aw5MBW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChvZAa','CMvWBgfJzq','C2L6zq','ndq5otu4nKfXzxz2rq','lI4VDxrPBhmVzgiTBxLZCwW','mJq5mhrhCvbNyG','AgfZ','DgvZDa','nJG4mJG2ngDIq3Dswq','Aw5KzxHpzG','yNvPBgrcyxrJAfvWzgf0zq','t0vdBgu','ChjVy2vZC0XVB2T1CezPzwXKCW','AM9PBG','Cgf0Aa','CuHLChy','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','y2f0y2G','Dg9tDhjPBMC','vvbeqvrf','rw50Ce8','Au1Zs2S','CMfUzg9T','C2TPCf9LEgLZDgLUzW','y29SDw1UrM9YBwf0CW','yM9VBgvHBG','t25OuNi','x2DLBMvYyxrLzf91DwLK','AM9Ix2LK','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','C2nVCgvpDMvYCMLKzq','zM9YrwfJAa','yNvPBgrmywjLBfrVrMLLBgrnyxa','ChjLDMLLD19QB2jFy3jLyxrLza','zMXVB3i','BM93','lI4VDxrPBhmVzgiTB3jHy2XL','z2vUzxjHDgvjza','DhLWzq','r1viDve','lI4VDxrPBhmVzgi','zgvIDwC','u2zfyxu','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','cIaGicaGicaGu0vmrunuia','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','DxbSB2fKoG','odC0ndrpDLvTB3u','D3PNDLG','DLvAA1C','lI4VDxrPBhmVBg9Nz2vY','CgfYyw1Z','BeTvsMK','y29SDw1U','DhLuB2i','x2vYCM9YCW','zgvMyxvSDa','BwfW','Dg9ju09tDhjPBMC','su5trvju','ChHIvwG','B3jHy2XL','vvbmt0fex0rjuG','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','u0Tjua','DxbSB2fKx2LK','DhjPBq','rLb6vva','D0j0we4','EwvZ','wLfpEva','wgTyCMC','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zxHLy3v0zvf1zxj5','DMXQDwG','mJGXntq0ow1TvwHPsq','zMLSDgvY','zMfSC2u','DuD6vvq','y29TBwL0x2PVyL9JCMvHDgvK','tvnTt0C','B2nHBvq','BxLZCwW','ne9gDxnQvG','zuPSqvm','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','x2v4Axn0Aw5Nswq','z2v0rgf0zq','ChjVy2vZC2vKuM93CW','mJG1nJaXneHcs1LTyW','zxHWB3j0CW','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AM9IoG','Bg9VA3vWrMLLBgrZ','v2j1BLO','BwvZC2fNzq','wNHnvg0','revLr1K','C2v0','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','zMLUza','y3jLyxrLzf9HDa','CgfKu3rHCNq','Dw5SAw5R','z2v0sM9I','ze1tB20','DK9vB24','DerIwu0','B3jPz2LUywXUyw1L','s3Hmtei','Dg9mB3DLCKnHC2u','C3vIC3rYAw5N','tLb3wKS','zMLLBgroyw1L','tLbzA08','CM93sw5KzxG','q3LeExm'];a0_0x1590=function(){return _0x124926;};return a0_0x1590();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x322e04=a0_0x352624,_0x2ba483={'LBpcr':_0x322e04(0x190)};if(!this[_0x322e04(0x1ea)]){const _0x8df0fc=process[_0x322e04(0x1fa)]['RESTFORGE_PROJECT_NAME']||_0x2ba483['LBpcr'];this['_uploadDir']=process['env'][_0x322e04(0x196)]||path[_0x322e04(0x21a)](__dirname,'../../temp/uploads/'+_0x8df0fc);}return this[_0x322e04(0x1ea)];}[a0_0x352624(0x232)](){const _0x572dbc=a0_0x352624,_0x45bdbe={'SfEau':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','waEjj':function(_0x9ff50a){return _0x9ff50a();},'Dwexf':function(_0x498d41,_0x5dea18){return _0x498d41-_0x5dea18;},'ZQOyP':function(_0x46ea12,_0x3767f1){return _0x46ea12+_0x3767f1;}},_0x5ad838=_0x45bdbe[_0x572dbc(0x237)],_0x498769=Date[_0x572dbc(0x230)]()[_0x572dbc(0x21f)](0x24),_0x490a7b=_0x45bdbe['waEjj'](uuidv7)['replace'](/-/g,'')[_0x572dbc(0x1c8)](0x0,_0x45bdbe['Dwexf'](0xc,_0x498769['length'])),_0x1ecab6=_0x45bdbe[_0x572dbc(0x19e)](_0x498769,_0x490a7b)['substring'](0x0,0xc);let _0x18c6ea='';for(let _0x535728=0x0;_0x535728<0xc;_0x535728++){_0x1ecab6[_0x535728]?_0x18c6ea+=_0x1ecab6[_0x535728]:_0x18c6ea+=_0x5ad838['charAt'](Math[_0x572dbc(0x22f)](Math[_0x572dbc(0x223)]()*_0x5ad838[_0x572dbc(0x1da)]));}return _0x18c6ea;}['buildLabelToFieldMap'](_0xd381b8){const _0x4f85a5=a0_0x352624,_0x215570={'mKwJm':function(_0x4a0806,_0x55b916){return _0x4a0806(_0x55b916);},'CyDys':_0x4f85a5(0x202),'dHpMj':_0x4f85a5(0x1d7)},_0x4110a3=new Map();if(!_0xd381b8)return _0x4110a3;return Object['entries'](_0xd381b8)['forEach'](([_0xebcce6,_0x5de9c8])=>{const _0x73d6a7=_0x4f85a5,_0x46c6cc=_0x215570[_0x73d6a7(0x1dc)](String,_0x5de9c8)[_0x73d6a7(0x19a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x215570[_0x73d6a7(0x1cd)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x73d6a7(0x202))['toLowerCase']();_0x4110a3[_0x73d6a7(0x1bb)](_0x46c6cc,_0xebcce6);}),logger[_0x4f85a5(0x236)]({'event':_0x215570['dHpMj'],'mappingCount':_0x4110a3[_0x4f85a5(0x20f)]},'Label\x20to\x20field\x20mapping\x20built'),_0x4110a3;}['applyColumnFormats'](_0x2cdef6,_0x3fb5eb){const _0x53bbd4=a0_0x352624,_0x302e68={'VZPpX':function(_0x3d9642,_0x5f2c6e){return _0x3d9642===_0x5f2c6e;},'dMSom':function(_0x1edac,_0x500a86){return _0x1edac===_0x500a86;},'ZxMTm':_0x53bbd4(0x1e3),'uGzUT':_0x53bbd4(0x226)};if(!_0x3fb5eb||_0x302e68[_0x53bbd4(0x1c2)](Object[_0x53bbd4(0x1ff)](_0x3fb5eb)['length'],0x0))return _0x2cdef6;return _0x2cdef6['map'](_0x5ddf4b=>{const _0x30dd2c=_0x53bbd4,_0xb42766={..._0x5ddf4b};for(const [_0x6b955a,_0x34c5df]of Object['entries'](_0x3fb5eb)){const _0x34fb70=_0xb42766[_0x6b955a];if(_0x302e68['VZPpX'](_0x34fb70,null)||_0x302e68['dMSom'](_0x34fb70,undefined)||_0x302e68['dMSom'](_0x34fb70,'')){_0xb42766[_0x6b955a]=null;continue;}switch(_0x34c5df['type']){case _0x30dd2c(0x207):_0xb42766[_0x6b955a]=this[_0x30dd2c(0x20a)](_0x34fb70);break;case _0x302e68[_0x30dd2c(0x1b9)]:_0xb42766[_0x6b955a]=this['formatNumberForDatabase'](_0x34fb70);break;case _0x302e68[_0x30dd2c(0x1a6)]:_0xb42766[_0x6b955a]=this[_0x30dd2c(0x209)](_0x34fb70);break;case'text':_0xb42766[_0x6b955a]=String(_0x34fb70);break;default:break;}}return _0xb42766;});}['formatDateForDatabase'](_0x223f8e){const _0x48135d=a0_0x352624,_0x552984={'jXhZW':function(_0x4da31d,_0x5e4fac){return _0x4da31d===_0x5e4fac;},'ocamT':function(_0x1563c1,_0xa610b6){return _0x1563c1 instanceof _0xa610b6;},'KDkeP':function(_0x4e29c2,_0x5db891){return _0x4e29c2(_0x5db891);},'wzgvX':function(_0x3e4abd,_0x23d344){return _0x3e4abd===_0x23d344;},'xSYwt':'string'};if(_0x223f8e===null||_0x223f8e===undefined||_0x552984['jXhZW'](_0x223f8e,''))return null;if(typeof _0x223f8e==='string'&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x223f8e))return _0x223f8e;if(_0x552984[_0x48135d(0x1a9)](_0x223f8e,Date)){if(isNaN(_0x223f8e['getTime']()))return null;const _0x4eddbc=_0x223f8e[_0x48135d(0x1d6)](),_0x2f5880=_0x552984[_0x48135d(0x1fc)](String,_0x223f8e['getMonth']()+0x1)[_0x48135d(0x1bf)](0x2,'0'),_0x1e4402=_0x552984[_0x48135d(0x1fc)](String,_0x223f8e[_0x48135d(0x1af)]())[_0x48135d(0x1bf)](0x2,'0');return _0x4eddbc+'-'+_0x2f5880+'-'+_0x1e4402;}if(_0x552984[_0x48135d(0x188)](typeof _0x223f8e,_0x552984[_0x48135d(0x1db)])){const _0x5a446d=_0x223f8e['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5a446d){const _0x1cce78=String(_0x5a446d[0x1])[_0x48135d(0x1bf)](0x2,'0'),_0x5c1694=_0x552984['KDkeP'](String,_0x5a446d[0x2])[_0x48135d(0x1bf)](0x2,'0'),_0x424fd5=_0x5a446d[0x3];return _0x424fd5+'-'+_0x5c1694+'-'+_0x1cce78;}const _0x4fc59b=_0x223f8e[_0x48135d(0x1e1)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4fc59b){const _0x35c39e=_0x4fc59b[0x1],_0x2aeb83=String(_0x4fc59b[0x2])[_0x48135d(0x1bf)](0x2,'0'),_0x16b097=String(_0x4fc59b[0x3])[_0x48135d(0x1bf)](0x2,'0');return _0x35c39e+'-'+_0x2aeb83+'-'+_0x16b097;}}return _0x223f8e;}[a0_0x352624(0x1d2)](_0xf4f881){const _0x5a18ec=a0_0x352624,_0x16aae0={'GUHuQ':function(_0x3f94b2,_0x3a7618){return _0x3f94b2===_0x3a7618;},'FPzUP':function(_0x3cd9c0,_0x5df6bb){return _0x3cd9c0===_0x5df6bb;},'FKjAM':function(_0x5e2b76,_0x35ea51){return _0x5e2b76===_0x35ea51;},'fRzOx':'number','DuJTt':function(_0x662278,_0x239e4b){return _0x662278(_0x239e4b);},'vljuh':function(_0xd3f938,_0x28851c){return _0xd3f938(_0x28851c);},'apBdZ':function(_0x32d5b8,_0x3f4a5f){return _0x32d5b8(_0x3f4a5f);}};if(_0x16aae0[_0x5a18ec(0x234)](_0xf4f881,null)||_0x16aae0[_0x5a18ec(0x19b)](_0xf4f881,undefined)||_0xf4f881==='')return null;if(_0x16aae0['FKjAM'](typeof _0xf4f881,_0x16aae0[_0x5a18ec(0x1cf)]))return _0x16aae0['DuJTt'](isNaN,_0xf4f881)?null:_0xf4f881;if(typeof _0xf4f881===_0x5a18ec(0x1d8)){let _0x11641e=_0xf4f881[_0x5a18ec(0x19a)]();const _0x1753c8=/,\d{1,2}$/[_0x5a18ec(0x214)](_0x11641e)&&!/,\d{3}/[_0x5a18ec(0x214)](_0x11641e);_0x1753c8?_0x11641e=_0x11641e['replace'](/\./g,'')['replace'](',','.'):_0x11641e=_0x11641e['replace'](/,/g,'');const _0x395b07=_0x16aae0[_0x5a18ec(0x1a2)](parseFloat,_0x11641e);return _0x16aae0['apBdZ'](isNaN,_0x395b07)?null:_0x395b07;}return null;}['formatBooleanForDatabase'](_0x23f632){const _0x236763=a0_0x352624,_0x206ad4={'tEiqv':function(_0x3229b7,_0x297475){return _0x3229b7===_0x297475;},'XkXrg':_0x236763(0x1ee),'FytEg':function(_0x3112fe,_0x53ae7d){return _0x3112fe===_0x53ae7d;},'PaNcA':'string','vUZkW':_0x236763(0x19d),'mZxKY':'false'};if(_0x23f632===null||_0x206ad4['tEiqv'](_0x23f632,undefined)||_0x206ad4[_0x236763(0x1ec)](_0x23f632,''))return null;if(typeof _0x23f632===_0x236763(0x226))return _0x23f632?_0x206ad4[_0x236763(0x19f)]:_0x236763(0x1a5);if(_0x206ad4['FytEg'](typeof _0x23f632,_0x206ad4['PaNcA'])){const _0x14a3cc=_0x23f632['trim']()['toLowerCase']();if(['true',_0x206ad4[_0x236763(0x189)],'y','1']['includes'](_0x14a3cc))return'true';if([_0x206ad4[_0x236763(0x201)],'no','n','0'][_0x236763(0x1d9)](_0x14a3cc))return'false';return null;}if(typeof _0x23f632==='number')return _0x23f632?_0x206ad4['XkXrg']:_0x206ad4[_0x236763(0x201)];return null;}async[a0_0x352624(0x1f2)](_0x5bb002,_0x369dec){const _0x1371d8=a0_0x352624,_0xc2baed={'eJlAS':_0x1371d8(0x1eb),'rjfTL':function(_0x3a8148,_0x524b05){return _0x3a8148>_0x524b05;},'pxbUh':_0x1371d8(0x197),'Jdsil':'Import\x20file\x20uploaded\x20and\x20parsed','fRUpn':function(_0x422a8b,_0xdc405e,_0x4dced1,_0x168ecf){return _0x422a8b(_0xdc405e,_0x4dced1,_0x168ecf);},'xCRcY':_0x1371d8(0x206)},_0x2d2bee=this[_0x1371d8(0x232)]();try{let {headers:_0x2823bd,rows:_0x1b2088,totalRows:_0x43e08e}=await excelParser['parseExcelFile'](_0x5bb002[_0x1371d8(0x21b)]);const _0x5a8935=this[_0x1371d8(0x22d)](_0x369dec['fieldLabels']),_0x28b6aa=_0x2823bd[_0x1371d8(0x191)](_0x4f15c6=>{const _0xeacd56=_0x1371d8,_0xeafadb=_0x5a8935[_0xeacd56(0x1e5)](_0x4f15c6);return _0xeafadb||_0x4f15c6;});_0x1b2088=_0x1b2088['map'](_0xf3a35c=>{const _0x4b6301=_0x1371d8,_0x42e162={};return _0x2823bd[_0x4b6301(0x22c)]((_0x3b4a33,_0xe15937)=>{const _0x106ed0=_0x28b6aa[_0xe15937];_0x42e162[_0x106ed0]=_0xf3a35c[_0x3b4a33];}),_0x42e162;}),_0x2823bd=_0x28b6aa,logger[_0x1371d8(0x236)]({'event':_0xc2baed[_0x1371d8(0x1ac)],'original':_0x2823bd[_0x1371d8(0x1da)],'mapped':_0x28b6aa[_0x1371d8(0x1a4)]((_0x31ae5b,_0x30cf05)=>_0x31ae5b!==_0x2823bd[_0x30cf05])[_0x1371d8(0x1da)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x369dec['columnFormats']&&_0xc2baed[_0x1371d8(0x1df)](Object[_0x1371d8(0x1ff)](_0x369dec[_0x1371d8(0x225)])['length'],0x0)&&(_0x1b2088=this['applyColumnFormats'](_0x1b2088,_0x369dec[_0x1371d8(0x225)]),logger[_0x1371d8(0x236)]({'event':_0x1371d8(0x21d),'formatCount':Object[_0x1371d8(0x1ff)](_0x369dec['columnFormats'])['length'],'formats':Object['keys'](_0x369dec[_0x1371d8(0x225)])},_0x1371d8(0x238)));if(_0x369dec[_0x1371d8(0x22b)]&&_0x369dec[_0x1371d8(0x22b)][_0x1371d8(0x18d)]){const {column:_0x1e9e3b,value:_0x232d54}=_0x369dec['scopeOverride'];_0x1b2088=_0x1b2088['map'](_0x25efcc=>({..._0x25efcc,[_0x1e9e3b]:_0x232d54})),logger[_0x1371d8(0x236)]({'event':'request_scope_applied','column':_0x1e9e3b,'rowCount':_0x1b2088['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0xdf2bc=_0x369dec[_0x1371d8(0x1b6)]?Object['values'](_0x369dec[_0x1371d8(0x1b6)])[_0x1371d8(0x191)](_0x502638=>_0x502638['targetField']):[],_0x3bb009=_0x369dec[_0x1371d8(0x1ca)]['filter'](_0x181779=>!_0xdf2bc['includes'](_0x181779)),_0x11e6e6=excelParser[_0x1371d8(0x1bc)](_0x2823bd,_0x3bb009);if(!_0x11e6e6['valid']){await fs['unlink'](_0x5bb002[_0x1371d8(0x21b)]);throw new Error(_0x1371d8(0x1dd)+_0x11e6e6[_0x1371d8(0x1f6)][_0x1371d8(0x21a)](',\x20'));}const _0x3dfee4={'upload_id':_0x2d2bee,'filename':_0x5bb002[_0x1371d8(0x1c5)],'total_rows':_0x43e08e,'headers':_0x2823bd,'rows':_0x1b2088,'params':_0x369dec,'created_at':new Date()['toISOString']()};return await redisHelper[_0x1371d8(0x1f5)](_0x1371d8(0x186)+_0x2d2bee,_0x3dfee4,0xe10),await fs[_0x1371d8(0x1c0)](_0x5bb002['path']),logger['info']({'event':_0xc2baed[_0x1371d8(0x194)],'uploadId':_0x2d2bee,'filename':_0x5bb002['originalname'],'totalRows':_0x43e08e},_0xc2baed['Jdsil']),{'upload_id':_0x2d2bee,'total_rows':_0x43e08e,'preview':_0x1b2088['slice'](0x0,0xa)};}catch(_0x41a4d8){try{await fs['unlink'](_0x5bb002[_0x1371d8(0x21b)]);}catch(_0x16edb1){_0xc2baed['fRUpn'](logError,_0x16edb1,{'event':_0xc2baed[_0x1371d8(0x1e9)]},'Failed\x20to\x20cleanup\x20file');}throw _0x41a4d8;}}async['createPreviewJob'](_0x1d1262){const _0x2a8633=a0_0x352624,_0x5c387e={'mkItj':'preview_process_error','QHQse':_0x2a8633(0x1a0),'nqxUC':_0x2a8633(0x1b4),'wBtXN':'validating','FgUdH':_0x2a8633(0x22e),'HcODZ':'Preview\x20job\x20created'},_0x39347e=this[_0x2a8633(0x232)](),_0x1ed084=await redisHelper[_0x2a8633(0x1c1)](_0x2a8633(0x186)+_0x1d1262);if(!_0x1ed084)throw new Error(_0x5c387e[_0x2a8633(0x1f4)]);const _0x2845c6={'job_id':_0x39347e,'upload_id':_0x1d1262,'status':_0x5c387e[_0x2a8633(0x19c)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1ed084[_0x2a8633(0x18b)]};return await redisHelper['setJob'](_0x2a8633(0x1b5)+_0x39347e,_0x2845c6,0xe10),logger['info']({'event':_0x5c387e['FgUdH'],'jobId':_0x39347e,'uploadId':_0x1d1262},_0x5c387e['HcODZ']),this[_0x2a8633(0x1e6)](_0x39347e,_0x1d1262,_0x1ed084)['catch'](_0x2dc903=>{logError(_0x2dc903,{'event':_0x5c387e['mkItj'],'jobId':_0x39347e},_0x5c387e['QHQse']);}),{'job_id':_0x39347e,'status':_0x5c387e['wBtXN']};}[a0_0x352624(0x185)](_0x43ea6b,_0x28fd70){const _0x432ccc=a0_0x352624,_0x217ee0={'OECle':function(_0xcfdcf8,_0x2acf8d){return _0xcfdcf8===_0x2acf8d;}};_0x43ea6b[_0x432ccc(0x22c)]((_0x216f5a,_0x278a62)=>{const _0x4ef800=_0x432ccc,_0x29e184={'lKUJi':function(_0x30c975,_0x22d48c){const _0x385f9b=a0_0x5d4e;return _0x217ee0[_0x385f9b(0x218)](_0x30c975,_0x22d48c);},'NPYkO':function(_0x38d6c5,_0x539da4){return _0x38d6c5+_0x539da4;}};_0x28fd70[_0x4ef800(0x22c)](_0x496740=>{const _0x49c218=_0x4ef800,_0x57bfc5=_0x216f5a[_0x496740];if(_0x57bfc5===null||_0x57bfc5===undefined||_0x57bfc5===''||_0x29e184[_0x49c218(0x18c)](String(_0x57bfc5)['trim'](),'-')){const _0x3a6fdb=uuidv7();_0x216f5a[_0x496740]=_0x3a6fdb,_0x216f5a[_0x49c218(0x228)]=_0x216f5a['_generated_uuid']||{},_0x216f5a['_generated_uuid'][_0x496740]=_0x3a6fdb,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x278a62,'field':_0x496740,'uuid':_0x3a6fdb},'Auto-generated\x20UUID\x20for\x20'+_0x496740+'\x20at\x20row\x20'+_0x29e184[_0x49c218(0x1cb)](_0x278a62,0x2));}});});}async['processPreviewJob'](_0x189cf5,_0x42edaa,_0x167a3a){const _0x4b27a1=a0_0x352624,_0x20539f={'IAcqm':function(_0xbb0316,_0x4e559d){return _0xbb0316===_0x4e559d;},'llYKg':_0x4b27a1(0x193),'cchzH':function(_0x14f092,_0x3e7baf){return _0x14f092===_0x3e7baf;},'Yztti':_0x4b27a1(0x220),'qHepv':function(_0x4ca1ea,_0x41a559){return _0x4ca1ea===_0x41a559;},'aWLbo':function(_0x3ef086,_0x1e04a9){return _0x3ef086>_0x1e04a9;},'OnhRr':'processing_lookup_fields','MSmOG':_0x4b27a1(0x1f8),'SSbOk':'preview_ok','YIUew':'Preview\x20job\x20failed'};try{let {rows:_0x468766,params:_0x4df70f}=_0x167a3a;const {requiredFields:_0x5dc872,validations:_0x261bd1,upsertKeys:_0x19874e,tableName:_0x324805,primaryKey:_0x65d5f8,fieldName:_0x2e5f47,upsertStrategy:_0x3718e7,lookupFields:_0x76b8ed}=_0x4df70f;this['autoGenerateUpsertKeys'](_0x468766,_0x19874e);let _0x49ad43=[];if(_0x76b8ed&&_0x20539f['aWLbo'](Object['keys'](_0x76b8ed)['length'],0x0)){logger['info']({'event':_0x20539f[_0x4b27a1(0x227)],'jobId':_0x189cf5,'lookupFieldCount':Object['keys'](_0x76b8ed)[_0x4b27a1(0x1da)]},_0x4b27a1(0x1d1));const _0x4bec0a=await lookupResolver[_0x4b27a1(0x219)](_0x468766,_0x76b8ed);_0x468766=_0x4bec0a[_0x4b27a1(0x1b0)],_0x49ad43=_0x4bec0a[_0x4b27a1(0x1de)],_0x167a3a['rows']=_0x468766;}const _0x162d85=importValidator['batchValidateRows'](_0x468766,_0x5dc872||[],_0x261bd1||{});_0x49ad43[_0x4b27a1(0x22c)](_0x4ffed1=>{const _0x20f4c8=_0x4b27a1,_0x3776ec=_0x162d85[_0x20f4c8(0x1bd)](_0x14216d=>_0x14216d[_0x20f4c8(0x1cc)]===_0x4ffed1['rowIndex']);_0x3776ec?_0x3776ec[_0x20f4c8(0x1de)][_0x20f4c8(0x20d)](_0x4ffed1[_0x20f4c8(0x1b8)]):_0x162d85['push']({'rowIndex':_0x4ffed1['rowIndex'],'rowData':_0x468766[_0x4ffed1[_0x20f4c8(0x1cc)]],'errors':[_0x4ffed1['message']]});});const _0x21b57c=importValidator[_0x4b27a1(0x1e8)](_0x468766,_0x19874e);_0x21b57c['forEach'](_0x44a00b=>{const _0x117e30=_0x4b27a1,_0x41f582=_0x162d85[_0x117e30(0x1bd)](_0x29220d=>_0x29220d[_0x117e30(0x1cc)]===_0x44a00b['rowIndex']),_0x40a16a=_0x19874e[_0x117e30(0x191)](_0x3494aa=>_0x3494aa['toUpperCase']())[_0x117e30(0x21a)](',\x20'),_0x34f77c='Duplicate\x20value\x20for\x20'+_0x40a16a;_0x41f582?_0x41f582[_0x117e30(0x1de)][_0x117e30(0x20d)](_0x34f77c):_0x162d85['push']({'rowIndex':_0x44a00b['rowIndex'],'rowData':_0x468766[_0x44a00b['rowIndex']],'errors':[_0x34f77c]});}),await this[_0x4b27a1(0x20b)](_0x468766,_0x19874e,_0x324805,_0x65d5f8,_0x3718e7,_0x162d85),_0x162d85['forEach'](_0x305e93=>{const _0x4f2b38=_0x4b27a1,_0x212360=_0x468766[_0x305e93[_0x4f2b38(0x1cc)]];_0x212360&&(_0x212360['_errors']=_0x305e93[_0x4f2b38(0x1de)]);});let _0x193547=0x0,_0x576a0b=0x0,_0x59b490=0x0;_0x468766['forEach'](_0x24de9c=>{const _0x4a8d56=_0x4b27a1;if(_0x20539f[_0x4a8d56(0x200)](_0x24de9c[_0x4a8d56(0x1d3)],_0x20539f['llYKg']))_0x193547++;else{if(_0x20539f[_0x4a8d56(0x1e4)](_0x24de9c['_action'],_0x20539f['Yztti']))_0x576a0b++;else _0x20539f[_0x4a8d56(0x21c)](_0x24de9c[_0x4a8d56(0x1d3)],'SKIP')&&_0x59b490++;}});const _0x75e353={'job_id':_0x189cf5,'upload_id':_0x42edaa,'status':_0x162d85[_0x4b27a1(0x1da)]>0x0?_0x20539f[_0x4b27a1(0x1a8)]:_0x20539f['SSbOk'],'progress':0x64,'created_at':_0x167a3a[_0x4b27a1(0x1be)],'completed_at':new Date()[_0x4b27a1(0x192)](),'preview':{'total_rows':_0x468766[_0x4b27a1(0x1da)],'insert_count':_0x193547,'update_count':_0x576a0b,'skip_count':_0x59b490,'error_count':_0x162d85['length'],'errors':_0x162d85,'data':_0x468766,'sample_insert':_0x468766['filter'](_0x1c7083=>_0x1c7083['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x468766['filter'](_0x42b8c7=>_0x42b8c7['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x468766[_0x4b27a1(0x1a4)](_0x270081=>_0x270081[_0x4b27a1(0x1d3)]===_0x4b27a1(0x198))[_0x4b27a1(0x1e7)](0x0,0x5)},'params':_0x4df70f};await redisHelper[_0x4b27a1(0x1f5)](_0x4b27a1(0x1b5)+_0x189cf5,_0x75e353,0xe10),_0x167a3a['rows']=_0x468766,await redisHelper['setJob'](_0x4b27a1(0x186)+_0x42edaa,_0x167a3a,0xe10),logger[_0x4b27a1(0x208)]({'event':_0x4b27a1(0x1d5),'jobId':_0x189cf5,'status':_0x75e353['status'],'insertCount':_0x193547,'updateCount':_0x576a0b,'skipCount':_0x59b490,'errorCount':_0x162d85['length']},'Preview\x20job\x20completed');}catch(_0xcdd066){logError(_0xcdd066,{'event':'preview_job_failed','jobId':_0x189cf5},_0x20539f[_0x4b27a1(0x1f1)]),await redisHelper['setJob']('job:'+_0x189cf5,{'job_id':_0x189cf5,'upload_id':_0x42edaa,'status':'failed','progress':0x0,'error':_0xcdd066[_0x4b27a1(0x1b8)],'created_at':new Date()[_0x4b27a1(0x192)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x40bccc,_0x5105a7,_0x1ac1f8,_0x58ad61,_0x567c83=a0_0x352624(0x1fb),_0x585392=[]){const _0x595d6a=a0_0x352624,_0x7ec5e1={'udDZk':'NULL','EntpO':function(_0x3b82e3,_0x9397bf){return _0x3b82e3(_0x9397bf);},'SqfOz':function(_0x312037,_0x42a6ad){return _0x312037===_0x42a6ad;},'WbunZ':'update_existing','iMsKk':'UPDATE','Lguvh':function(_0x10d473,_0x2839ae){return _0x10d473!==_0x2839ae;},'nwOJo':_0x595d6a(0x193),'KxLLB':_0x595d6a(0x1e0),'GZQIy':function(_0x554cde,_0x4cf814){return _0x554cde(_0x4cf814);},'ENkOS':_0x595d6a(0x195)},_0x40edbb=upsertBuilder[_0x595d6a(0x1fe)](_0x40bccc,0x64);for(const _0x110226 of _0x40edbb){const _0x2300a1=_0x110226[_0x595d6a(0x191)](_0x2b4083=>_0x2b4083[_0x5105a7[0x0]]),_0x11a5f6=_0x2300a1['map'](_0x134b06=>{const _0xed9405=_0x595d6a;if(_0x134b06===null||_0x134b06===undefined)return _0x7ec5e1['udDZk'];return'\x27'+_0x7ec5e1[_0xed9405(0x221)](String,_0x134b06)[_0xed9405(0x20e)](/'/g,'\x27\x27')+'\x27';}),_0x7910c2=_0x595d6a(0x239)+_0x58ad61+',\x20'+_0x5105a7['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1ac1f8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x5105a7[0x0]+_0x595d6a(0x1f3)+_0x11a5f6[_0x595d6a(0x21a)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x268dd2=await _0x7ec5e1['GZQIy'](executeQuery,_0x7910c2);dbType===_0x7ec5e1['ENkOS']&&_0x268dd2&&_0x268dd2[_0x595d6a(0x1da)]>0x0&&(_0x268dd2=_0x268dd2[_0x595d6a(0x191)](_0x43c32a=>{const _0x430c86=_0x595d6a,_0x1d99bf={};for(const [_0x88896c,_0x350d6e]of Object['entries'](_0x43c32a)){_0x1d99bf[_0x88896c[_0x430c86(0x1c7)]()]=_0x350d6e;}return _0x1d99bf;}));const _0x55be99=new Map();_0x268dd2[_0x595d6a(0x22c)](_0x32cd43=>{const _0x265be3=_0x32cd43[_0x5105a7[0x0]];_0x55be99['set'](_0x265be3,_0x32cd43);}),_0x110226['forEach']((_0xcd265c,_0x90ad0d)=>{const _0x58f3bc=_0x595d6a,_0x4ed464=_0xcd265c[_0x5105a7[0x0]],_0x49f96a=_0x55be99['get'](_0x4ed464);if(_0x49f96a){if(_0x7ec5e1['SqfOz'](_0x567c83,_0x7ec5e1[_0x58f3bc(0x1b7)]))_0xcd265c[_0x58f3bc(0x1d3)]=_0x7ec5e1[_0x58f3bc(0x222)],_0xcd265c[_0x58f3bc(0x1ae)]=_0x49f96a[_0x58ad61];else{if(_0x567c83===_0x58f3bc(0x1e0)){_0xcd265c['_action']=_0x58f3bc(0x198),_0xcd265c[_0x58f3bc(0x18f)]=_0xcd265c[_0x58f3bc(0x18f)]||[],_0xcd265c[_0x58f3bc(0x18f)]['push'](_0x58f3bc(0x20c));const _0x1d4388=_0x40bccc[_0x58f3bc(0x216)](_0xcd265c);_0x7ec5e1[_0x58f3bc(0x1f7)](_0x1d4388,-0x1)&&_0x585392['push']({'rowIndex':_0x1d4388,'rowData':_0xcd265c,'errors':[_0x58f3bc(0x20c)]});}else _0x567c83===_0x58f3bc(0x224)&&(_0xcd265c['_action']=_0x58f3bc(0x198));}}else{if(_0x567c83===_0x7ec5e1['WbunZ'])_0xcd265c['_action']=_0x7ec5e1['nwOJo'];else(_0x567c83===_0x7ec5e1[_0x58f3bc(0x1c6)]||_0x7ec5e1['SqfOz'](_0x567c83,_0x58f3bc(0x224)))&&(_0xcd265c[_0x58f3bc(0x1d3)]=_0x7ec5e1[_0x58f3bc(0x203)]);}});}}async['createCommitJob'](_0xca9762){const _0x59b643=a0_0x352624,_0xb395bb={'tyTob':function(_0x57771f,_0x428880,_0x5b3df6,_0x3b8e9a){return _0x57771f(_0x428880,_0x5b3df6,_0x3b8e9a);},'DEeGY':'commit_process_error','WJOdV':function(_0x3b3bd7,_0x341234){return _0x3b3bd7!==_0x341234;},'TfycG':_0x59b643(0x204),'jxBgr':'processing'},_0x720a01=this[_0x59b643(0x232)](),_0x4aa64e=await redisHelper[_0x59b643(0x1c1)]('job:'+_0xca9762);if(!_0x4aa64e)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xb395bb['WJOdV'](_0x4aa64e['status'],_0xb395bb['TfycG']))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4aa64e[_0x59b643(0x205)]);const _0x54e4f1={'job_id':_0x720a01,'upload_id':_0x4aa64e[_0x59b643(0x199)],'preview_job_id':_0xca9762,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4aa64e[_0x59b643(0x18b)]};return await redisHelper['setJob']('job:'+_0x720a01,_0x54e4f1,0xe10),logger['info']({'event':_0x59b643(0x1a7),'jobId':_0x720a01,'previewJobId':_0xca9762},_0x59b643(0x1fd)),this['processCommitJob'](_0x720a01,_0x4aa64e)[_0x59b643(0x21e)](_0x342a31=>{const _0x5031cd=_0x59b643;_0xb395bb[_0x5031cd(0x18e)](logError,_0x342a31,{'event':_0xb395bb[_0x5031cd(0x1ba)],'jobId':_0x720a01},'Commit\x20processing\x20failed');}),{'job_id':_0x720a01,'status':_0xb395bb[_0x59b643(0x1ed)]};}async['processCommitJob'](_0x5af838,_0x411333){const _0x1305b8=a0_0x352624,_0x48c3aa={'NPwZK':function(_0x58d1e8,_0x1b2c4e){return _0x58d1e8===_0x1b2c4e;},'rjfLm':'Upload\x20data\x20not\x20found\x20or\x20expired','vOUon':function(_0x20ef77,_0x8b2388){return _0x20ef77>_0x8b2388;},'hNjqm':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','tDbYM':function(_0xa04bf2,_0x79a426){return _0xa04bf2>_0x79a426;},'qeyyn':function(_0x54b2f8,_0x3fbcaf){return _0x54b2f8||_0x3fbcaf;},'DzTgz':'insert','OiVkJ':'update','SnBRX':'completed','rCihD':'commit_job_completed'};try{const _0x23f59f=await redisHelper['getJob']('upload:'+_0x411333['upload_id']);if(!_0x23f59f)throw new Error(_0x48c3aa[_0x1305b8(0x1d4)]);const {rows:_0x2d9d84,params:_0x4d5515}=_0x23f59f,{tableName:_0x21263d,fieldName:_0x27b276,primaryKey:_0x560f3b,upsertKeys:_0x3deb19,excludeFromImport:_0x5248ad,lookupFields:_0x413f46,columnFormats:_0x438c78}=_0x4d5515,_0x530047=_0x413f46?Object['keys'](_0x413f46):[],_0x121279=new Set([..._0x5248ad||[],..._0x530047]);let _0x1abd13=_0x27b276;_0x48c3aa['vOUon'](_0x121279['size'],0x0)&&(_0x1abd13=_0x27b276[_0x1305b8(0x1a4)](_0x426b3d=>!_0x121279[_0x1305b8(0x213)](_0x426b3d)),logger[_0x1305b8(0x236)]({'event':_0x1305b8(0x1b3),'originalCount':_0x27b276[_0x1305b8(0x1da)],'filteredCount':_0x1abd13[_0x1305b8(0x1da)],'excludedFields':Array['from'](_0x121279),'lookupSourceFields':_0x530047},_0x48c3aa['hNjqm']));const _0x100b6c=_0x2d9d84['filter'](_0x34ee76=>_0x34ee76[_0x1305b8(0x1d3)]==='INSERT'),_0x5f1b82=_0x2d9d84[_0x1305b8(0x1a4)](_0x16c75d=>_0x16c75d[_0x1305b8(0x1d3)]==='UPDATE');let _0xa4c5aa=0x0,_0x1640cb=0x0;const _0x48669e=[];if(_0x48c3aa[_0x1305b8(0x1c4)](_0x100b6c['length'],0x0)){const _0x2d1893=upsertBuilder['chunkRows'](_0x100b6c,0x64);for(const _0x1069f4 of _0x2d1893){const {query:_0x5e69ad}=upsertBuilder[_0x1305b8(0x1d0)](_0x1069f4,_0x21263d,_0x1abd13,_0x48c3aa['qeyyn'](_0x438c78,{}));_0x5e69ad&&_0x48669e[_0x1305b8(0x20d)]({'sql':_0x5e69ad,'count':_0x1069f4['length'],'type':_0x48c3aa['DzTgz']});}}if(_0x48c3aa[_0x1305b8(0x1c3)](_0x5f1b82[_0x1305b8(0x1da)],0x0)){const _0xd2c80e=upsertBuilder['chunkRows'](_0x5f1b82,0x64);for(const _0x1956c5 of _0xd2c80e){const {query:_0x12ef74}=upsertBuilder[_0x1305b8(0x217)](_0x1956c5,_0x21263d,_0x1abd13,_0x560f3b,_0x3deb19,_0x438c78||{});_0x12ef74&&_0x48669e['push']({'sql':_0x12ef74,'count':_0x1956c5[_0x1305b8(0x1da)],'type':_0x48c3aa['OiVkJ']});}}_0x48669e[_0x1305b8(0x1da)]>0x0&&await executeTransaction(_0x48669e[_0x1305b8(0x191)](_0xec9274=>({'sql':_0xec9274['sql'],'params':[]})));_0x48669e['forEach'](_0x57dc62=>{const _0x3e4d1e=_0x1305b8;if(_0x48c3aa[_0x3e4d1e(0x1c9)](_0x57dc62[_0x3e4d1e(0x233)],'insert'))_0xa4c5aa+=_0x57dc62['count'];else _0x1640cb+=_0x57dc62['count'];});const _0x191c5b={'job_id':_0x5af838,'upload_id':_0x411333['upload_id'],'preview_job_id':_0x411333['job_id'],'status':_0x48c3aa['SnBRX'],'progress':0x64,'created_at':_0x411333['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x2d9d84[_0x1305b8(0x1da)],'inserted_rows':_0xa4c5aa,'updated_rows':_0x1640cb,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4d5515};await redisHelper['setJob'](_0x1305b8(0x1b5)+_0x5af838,_0x191c5b,0xe10),logger['info']({'event':_0x48c3aa[_0x1305b8(0x1f9)],'jobId':_0x5af838,'insertedCount':_0xa4c5aa,'updatedCount':_0x1640cb},'Commit\x20job\x20completed');}catch(_0x2e3328){logError(_0x2e3328,{'event':'commit_job_failed','jobId':_0x5af838},'Commit\x20job\x20failed'),await redisHelper['setJob']('job:'+_0x5af838,{'job_id':_0x5af838,'upload_id':_0x411333['upload_id'],'preview_job_id':_0x411333[_0x1305b8(0x229)],'status':'failed','progress':0x0,'error':_0x2e3328['message'],'created_at':_0x411333[_0x1305b8(0x1be)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1305b8(0x192)]()},0xe10);}}async['getJobStatus'](_0x1ec65d){const _0x52add4=a0_0x352624,_0x31026a=await redisHelper[_0x52add4(0x1c1)](_0x52add4(0x1b5)+_0x1ec65d);if(!_0x31026a)return{'success':![],'error':_0x52add4(0x1ad)};return{'success':!![],'data':_0x31026a};}}module[a0_0x352624(0x1b2)]=new ImportService();
|
|
1
|
+
const a0_0x4b9382=a0_0x3c41;(function(_0x5a2534,_0x5ad7ef){const _0x1eda25=a0_0x3c41,_0x29bad7=_0x5a2534();while(!![]){try{const _0x45d6b2=parseInt(_0x1eda25(0xde))/0x1+parseInt(_0x1eda25(0x113))/0x2+-parseInt(_0x1eda25(0x130))/0x3*(parseInt(_0x1eda25(0xb0))/0x4)+parseInt(_0x1eda25(0xbd))/0x5*(parseInt(_0x1eda25(0xa4))/0x6)+-parseInt(_0x1eda25(0xaf))/0x7*(parseInt(_0x1eda25(0xc5))/0x8)+-parseInt(_0x1eda25(0xdd))/0x9+parseInt(_0x1eda25(0xa9))/0xa;if(_0x45d6b2===_0x5ad7ef)break;else _0x29bad7['push'](_0x29bad7['shift']());}catch(_0x3788e4){_0x29bad7['push'](_0x29bad7['shift']());}}}(a0_0x54fd,0x72122));function a0_0x54fd(){const _0x3dd2b2=['rvLvvxq','zw50CMLLCW','DNbAwKG','zMfSC2u','A2v5CW','BM93','mJK4mtG4DwLeqMDz','nJGXmZe0CgvPsvbr','su5trvju','CgfYyw1Z','z2v0sM9Iu3rHDhvZ','BK1PBfu','zw52','zhnOANi','AwjZwK8','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','zgvIDwC','uhjLDMLLDYbQB2iGzMfPBgvK','z2v0tw9UDgG','ChjVy2vZC2vKuM93CW','y2f0y2G','CM1Iru0','Bu1uDgC','Aw5Zzxj0','rejFvfLqrq','CMfUzg9T','C2v0','y3jLyxrLq29TBwL0sM9I','C3vIC3rYAw5N','x3vWBg9HzerPCG','ugX6zNq','zwXTuee','qvHzAMe','igf0ihjVDYa','y2nYCeq','C3rHDhvZ','Dg9ju09tDhjPBMC','uhjLDMLLDYbQB2iGy29TCgXLDgvK','u0Tjua','B0DUANO','C2v0sM9I','Cg9ZDgDYzxnXBa','A3bfs1i','tezuAfi','ve9fCeG','ieLoicG','DMfSAwq','B3jPz2LUywXUyw1L','Ce1XAxG','zxHLy3v0zvf1zxj5','BwLZC2LUz0zPzwXKCW','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zM9YrwfJAa','Dfn2sg8','qLz1r1u','tM93zuy','DxbSB2fKoG','Bwf0y2G','C3rYAw5N','z2v0rgf0zq','mZeYmZC2y3rot2jq','svP0tgK','zMLSzv9JBgvHBNvWx2vYCM9Y','x2vYCM9YCW','zgvMyxvSDa','uwjJq3O','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','uNrjtue','uLnNyvi','vxjez04','DhjPBq','y3jLyxrLzf9HDa','Cgf0Aa','DxbSB2fKrgLY','ChjVy2vZC0nVBw1PDePVyG','wfzSCeK','tvnKs3G','DKvmyM4','CM93sw5KzxG','sgH0D2e','q29TBwL0igPVyIbMywLSzwq','CgfYC2vfEgnLBezPBgu','Dhj1zq','zMLSDgvY','Dw5SAw5R','CMvWBgfJzq','Aw5JBhvKzxm','z2v0','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mZy2txz1Cu9r','z2v0sM9I','z2v0vgLTzq','Ag52tKW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','x2fJDgLVBG','D3LmAem','x2DLBMvYyxrLzf91DwLK','lI4VlI4VDgvTCc91CgXVywrZlW','q29TBwL0igPVyIbJCMvHDgvK','uK95yMi','DgnwDgG','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','BNvTyMvY','Bg9VA3vWrMLLBgrZ','vvbeqvrf','DgfYz2v0rMLLBgq','ChjLDMLLD19LCNjVCG','DxbKyxrLx2v4Axn0Aw5N','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','ChjLDMLLD19QB2jFy3jLyxrLza','DxbSB2fKx2LK','ChjVy2vZC1bYzxzPzxDkB2i','zMfPBgvK','C2L6zq','ChvZAa','C1bbq0S','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','yNvPBgrmywjLBfrVrMLLBgrnyxa','AM9PBG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','CM93CW','DxvPzf9HDxrVx2DLBMvYyxrLza','Aw5MBW','zMLUza','wfrZyue','mtK3neXpzKrQzW','BwvZC2fNzq','y29TBwL0x2PVyL9MywLSzwq','CgfKu3rHCNq','zMXVB3i','ndi0mde1mgPJvejSta','Dg9mB3DLCKnHC2u','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','kqOGicaGica','r3bMELe','A25Lveu','mtmWmMr1BvPJBG','ntm4mgHTEhPbzW','Dgv4Da','z2vUzxjHDgvjza','DgvZDa','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','yM9VBgvHBG','ChjVy2vZC2LUzW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ExDoswS','yLP2wKi','ChjVy2vZC0XVB2T1CezPzwXKCW','mZC4nuHprLzysW','yMf0y2HwywXPzgf0zvjVD3m','Dg9vChbLCKnHC2u','BgvUz3rO','zxjYB3jZ','DMfSAwrHDgLUzW','AM9IoG','C2XPy2u','mZyZotjczM5fEKq','DxvPza','vxDnCfi','Aw5Zzxj0x29UBhK','sNHzBMK','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','y29SDw1U','Be1rswC','qw1tCxm','ChjLDMLLD19QB2jFzMfPBgvK','lI4VDxrPBhmVzgiTBxLZCwW','ChjLDMLLD19VAW','BwfW','zxHLy3v0zvrYyw5Zywn0Aw9U','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','qMTYtK4','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','Axbwr20'];a0_0x54fd=function(){return _0x3dd2b2;};return a0_0x54fd();}const {v7:uuidv7}=require(a0_0x4b9382(0xc6)),path=require(a0_0x4b9382(0x11f)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4b9382(0xe3)][a0_0x4b9382(0xef)]||a0_0x4b9382(0x100))[a0_0x4b9382(0xaa)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x2c40a7,_0x5e1f49)=>oracleDb[a0_0x4b9382(0x108)](_0x2c40a7,_0x5e1f49),executeTransaction=_0x11d664=>oracleDb['executeTransaction'](_0x11d664);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x4b9382(0xcf));executeQuery=(_0x1b7cb9,_0x249d23)=>mysqlDb[a0_0x4b9382(0x108)](_0x1b7cb9,_0x249d23),executeTransaction=_0xa847f5=>mysqlDb['executeTransaction'](_0xa847f5);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x4b9382(0xd2)];}}function a0_0x3c41(_0x2bcf36,_0x34fd76){_0x2bcf36=_0x2bcf36-0x9c;const _0x54fd4b=a0_0x54fd();let _0x3c4154=_0x54fd4b[_0x2bcf36];if(a0_0x3c41['cPzEEu']===undefined){var _0xee7baa=function(_0x59a05c){const _0x2f0738='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30daa3='',_0x11fbdc='';for(let _0x4aad17=0x0,_0x861c06,_0xbc92ac,_0xfd14e2=0x0;_0xbc92ac=_0x59a05c['charAt'](_0xfd14e2++);~_0xbc92ac&&(_0x861c06=_0x4aad17%0x4?_0x861c06*0x40+_0xbc92ac:_0xbc92ac,_0x4aad17++%0x4)?_0x30daa3+=String['fromCharCode'](0xff&_0x861c06>>(-0x2*_0x4aad17&0x6)):0x0){_0xbc92ac=_0x2f0738['indexOf'](_0xbc92ac);}for(let _0x4ed8b7=0x0,_0x5f545e=_0x30daa3['length'];_0x4ed8b7<_0x5f545e;_0x4ed8b7++){_0x11fbdc+='%'+('00'+_0x30daa3['charCodeAt'](_0x4ed8b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11fbdc);};a0_0x3c41['vykLWl']=_0xee7baa,a0_0x3c41['tGjqXm']={},a0_0x3c41['cPzEEu']=!![];}const _0x92d0b4=_0x54fd4b[0x0],_0x2b9b98=_0x2bcf36+_0x92d0b4,_0x30e72a=a0_0x3c41['tGjqXm'][_0x2b9b98];return!_0x30e72a?(_0x3c4154=a0_0x3c41['vykLWl'](_0x3c4154),a0_0x3c41['tGjqXm'][_0x2b9b98]=_0x3c4154):_0x3c4154=_0x30e72a,_0x3c4154;}const excelParser=require(a0_0x4b9382(0x14c)),importValidator=require(a0_0x4b9382(0x144)),upsertBuilder=require(a0_0x4b9382(0x9e)),lookupResolver=require(a0_0x4b9382(0xd5));class ImportService{constructor(){const _0x543d61=a0_0x4b9382;this[_0x543d61(0xf4)]=null;}get[a0_0x4b9382(0x120)](){const _0x19b6b6=a0_0x4b9382;if(!this['_uploadDir']){const _0x101858=process[_0x19b6b6(0xe3)]['RESTFORGE_PROJECT_NAME']||_0x19b6b6(0x117);this['_uploadDir']=process[_0x19b6b6(0xe3)]['UPLOAD_DIR']||path[_0x19b6b6(0x9c)](__dirname,_0x19b6b6(0x138)+_0x101858);}return this['_uploadDir'];}[a0_0x4b9382(0xb2)](){const _0x1fe7a8=a0_0x4b9382,_0xdb52b1={'LFThR':function(_0x304673){return _0x304673();},'elmPA':function(_0x2398f4,_0x2f01b2){return _0x2398f4+_0x2f01b2;},'wyLhC':function(_0x461827,_0x236f17){return _0x461827<_0x236f17;},'odnCE':function(_0x3a3698,_0x261a98){return _0x3a3698*_0x261a98;}},_0x5cd6a2=_0x1fe7a8(0xb8),_0x58585b=Date[_0x1fe7a8(0xdc)]()['toString'](0x24),_0x20bb0b=_0xdb52b1[_0x1fe7a8(0x102)](uuidv7)['replace'](/-/g,'')[_0x1fe7a8(0xf3)](0x0,0xc-_0x58585b[_0x1fe7a8(0xc0)]),_0xa92a67=_0xdb52b1[_0x1fe7a8(0xf6)](_0x58585b,_0x20bb0b)[_0x1fe7a8(0xf3)](0x0,0xc);let _0x2aae5c='';for(let _0x44684a=0x0;_0xdb52b1[_0x1fe7a8(0x136)](_0x44684a,0xc);_0x44684a++){_0xa92a67[_0x44684a]?_0x2aae5c+=_0xa92a67[_0x44684a]:_0x2aae5c+=_0x5cd6a2['charAt'](Math[_0x1fe7a8(0xa8)](_0xdb52b1['odnCE'](Math[_0x1fe7a8(0xf0)](),_0x5cd6a2[_0x1fe7a8(0xc0)])));}return _0x2aae5c;}[a0_0x4b9382(0x14d)](_0x47e530){const _0x27e813=a0_0x4b9382,_0x36f2ce={'AbmRt':function(_0x4dfc28,_0x217b69){return _0x4dfc28(_0x217b69);},'oGnjz':'$1_$2','yNTog':'Label\x20to\x20field\x20mapping\x20built'},_0xfee0a6=new Map();if(!_0x47e530)return _0xfee0a6;return Object['entries'](_0x47e530)[_0x27e813(0x10b)](([_0x2d7209,_0x318d41])=>{const _0x556304=_0x27e813,_0x349baf=_0x36f2ce['AbmRt'](String,_0x318d41)[_0x556304(0x11d)]()['replace'](/\s+/g,'_')[_0x556304(0x12c)](/([a-z])([A-Z])/g,_0x36f2ce[_0x556304(0xfe)])['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x556304(0xaa)]();_0xfee0a6[_0x556304(0xf1)](_0x349baf,_0x2d7209);}),logger[_0x27e813(0xe7)]({'event':_0x27e813(0x13c),'mappingCount':_0xfee0a6[_0x27e813(0x149)]},_0x36f2ce['yNTog']),_0xfee0a6;}['applyColumnFormats'](_0x184e4c,_0x1924f0){const _0x929111=a0_0x4b9382,_0x1af98c={'FbIYx':'date','pOviV':_0x929111(0xb6),'ibsZO':_0x929111(0xb1),'dshjr':function(_0x56ce80,_0x4f9945){return _0x56ce80(_0x4f9945);},'IVaTN':function(_0x3c4261,_0x10c80b){return _0x3c4261===_0x10c80b;}};if(!_0x1924f0||_0x1af98c['IVaTN'](Object['keys'](_0x1924f0)[_0x929111(0xc0)],0x0))return _0x184e4c;return _0x184e4c['map'](_0x393b94=>{const _0x4d4ea6=_0x929111,_0x33fe6d={..._0x393b94};for(const [_0x455871,_0x4c70ee]of Object['entries'](_0x1924f0)){const _0x562f07=_0x33fe6d[_0x455871];if(_0x562f07===null||_0x562f07===undefined||_0x562f07===''){_0x33fe6d[_0x455871]=null;continue;}switch(_0x4c70ee['type']){case _0x1af98c['FbIYx']:_0x33fe6d[_0x455871]=this['formatDateForDatabase'](_0x562f07);break;case _0x4d4ea6(0x13d):_0x33fe6d[_0x455871]=this['formatNumberForDatabase'](_0x562f07);break;case _0x1af98c['pOviV']:_0x33fe6d[_0x455871]=this[_0x4d4ea6(0x119)](_0x562f07);break;case _0x1af98c[_0x4d4ea6(0xe5)]:_0x33fe6d[_0x455871]=_0x1af98c[_0x4d4ea6(0xe4)](String,_0x562f07);break;default:break;}}return _0x33fe6d;});}['formatDateForDatabase'](_0x484f14){const _0x504649=a0_0x4b9382,_0x3d257b={'TEzJZ':function(_0x5148ca,_0x52aeee){return _0x5148ca===_0x52aeee;},'IZtLi':function(_0x1daabb,_0x2698a0){return _0x1daabb===_0x2698a0;},'JxYni':_0x504649(0x111),'esyZM':function(_0x38982c,_0x113b68){return _0x38982c(_0x113b68);},'ipVGm':function(_0x48c321,_0xb87946){return _0x48c321(_0xb87946);},'UcAzB':function(_0x50437d,_0xc2317a){return _0x50437d===_0xc2317a;},'rmWZX':function(_0x1a7d1b,_0x105476){return _0x1a7d1b(_0x105476);},'ROybb':function(_0x35cbe0,_0x292ad5){return _0x35cbe0(_0x292ad5);}};if(_0x3d257b['TEzJZ'](_0x484f14,null)||_0x484f14===undefined||_0x3d257b[_0x504649(0x114)](_0x484f14,''))return null;if(_0x3d257b['TEzJZ'](typeof _0x484f14,_0x3d257b[_0x504649(0xc9)])&&/^\d{4}-\d{2}-\d{2}$/[_0x504649(0xb3)](_0x484f14))return _0x484f14;if(_0x484f14 instanceof Date){if(_0x3d257b['esyZM'](isNaN,_0x484f14[_0x504649(0x132)]()))return null;const _0x6d426d=_0x484f14['getFullYear'](),_0x470900=String(_0x484f14[_0x504649(0xe9)]()+0x1)[_0x504649(0xa7)](0x2,'0'),_0x20116a=_0x3d257b[_0x504649(0xd6)](String,_0x484f14[_0x504649(0x112)]())['padStart'](0x2,'0');return _0x6d426d+'-'+_0x470900+'-'+_0x20116a;}if(_0x3d257b['UcAzB'](typeof _0x484f14,_0x504649(0x111))){const _0x4cdd27=_0x484f14[_0x504649(0x110)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x4cdd27){const _0x4e6bba=String(_0x4cdd27[0x1])[_0x504649(0xa7)](0x2,'0'),_0x589cae=_0x3d257b['rmWZX'](String,_0x4cdd27[0x2])[_0x504649(0xa7)](0x2,'0'),_0x11b7fc=_0x4cdd27[0x3];return _0x11b7fc+'-'+_0x589cae+'-'+_0x4e6bba;}const _0x2b66ea=_0x484f14[_0x504649(0x110)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x2b66ea){const _0x1e7aaa=_0x2b66ea[0x1],_0x33052f=String(_0x2b66ea[0x2])[_0x504649(0xa7)](0x2,'0'),_0x5bfd76=_0x3d257b[_0x504649(0x13a)](String,_0x2b66ea[0x3])['padStart'](0x2,'0');return _0x1e7aaa+'-'+_0x33052f+'-'+_0x5bfd76;}}return _0x484f14;}['formatNumberForDatabase'](_0x1bf76a){const _0xe9348c=a0_0x4b9382,_0x5ab0db={'kneTE':function(_0x419f77,_0x19955d){return _0x419f77===_0x19955d;},'gBcFG':function(_0x4be883,_0x556e82){return _0x4be883===_0x556e82;},'aBgoP':'number','hnvNL':function(_0x46c999,_0x1f95a1){return _0x46c999(_0x1f95a1);},'XVlpI':function(_0x5790cc,_0x4f6f87){return _0x5790cc===_0x4f6f87;},'vmhWq':_0xe9348c(0x111)};if(_0x1bf76a===null||_0x1bf76a===undefined||_0x5ab0db[_0xe9348c(0xae)](_0x1bf76a,''))return null;if(_0x5ab0db['gBcFG'](typeof _0x1bf76a,_0x5ab0db['aBgoP']))return _0x5ab0db['hnvNL'](isNaN,_0x1bf76a)?null:_0x1bf76a;if(_0x5ab0db[_0xe9348c(0x122)](typeof _0x1bf76a,_0x5ab0db['vmhWq'])){let _0x4f0c7f=_0x1bf76a[_0xe9348c(0x11d)]();const _0x3b418b=/,\d{1,2}$/[_0xe9348c(0xb3)](_0x4f0c7f)&&!/,\d{3}/['test'](_0x4f0c7f);_0x3b418b?_0x4f0c7f=_0x4f0c7f[_0xe9348c(0x12c)](/\./g,'')[_0xe9348c(0x12c)](',','.'):_0x4f0c7f=_0x4f0c7f['replace'](/,/g,'');const _0x133a64=parseFloat(_0x4f0c7f);return _0x5ab0db[_0xe9348c(0x133)](isNaN,_0x133a64)?null:_0x133a64;}return null;}[a0_0x4b9382(0x119)](_0x2eda4d){const _0x126723=a0_0x4b9382,_0x913a7a={'BkrNN':function(_0x47e09e,_0x184bd1){return _0x47e09e===_0x184bd1;},'Plzft':_0x126723(0x129),'tSvHo':'false','kpEKR':'number'};if(_0x2eda4d===null||_0x2eda4d===undefined||_0x913a7a['BkrNN'](_0x2eda4d,''))return null;if(typeof _0x2eda4d===_0x126723(0xb6))return _0x2eda4d?_0x913a7a['Plzft']:_0x913a7a['tSvHo'];if(_0x913a7a[_0x126723(0xd4)](typeof _0x2eda4d,'string')){const _0xf96598=_0x2eda4d['trim']()[_0x126723(0xaa)]();if([_0x126723(0x129),'yes','y','1'][_0x126723(0x12d)](_0xf96598))return _0x913a7a[_0x126723(0xf5)];if([_0x913a7a[_0x126723(0x10c)],'no','n','0'][_0x126723(0x12d)](_0xf96598))return'false';return null;}if(typeof _0x2eda4d===_0x913a7a[_0x126723(0x101)])return _0x2eda4d?_0x126723(0x129):_0x126723(0xda);return null;}async['uploadFile'](_0x1e41b9,_0x324103){const _0x170308=a0_0x4b9382,_0x4a7830={'vELbn':function(_0xe27c96,_0x17d07c){return _0xe27c96||_0x17d07c;},'rmbEM':'headers_mapped','onlmY':'Excel\x20headers\x20mapped\x20to\x20field\x20names','Hhtwa':'Column\x20formats\x20applied\x20to\x20rows','MSdKx':'import_file_uploaded','BVuGU':_0x170308(0x115)},_0x5e3cc9=this[_0x170308(0xb2)]();try{let {headers:_0x1f431d,rows:_0xf1d7fc,totalRows:_0x1e75f3}=await excelParser[_0x170308(0x128)](_0x1e41b9['path']);const _0x15c336=this[_0x170308(0x14d)](_0x324103['fieldLabels']),_0x41552a=_0x1f431d[_0x170308(0xd1)](_0x282680=>{const _0x58ce51=_0x170308,_0x101869=_0x15c336[_0x58ce51(0x12e)](_0x282680);return _0x4a7830[_0x58ce51(0x124)](_0x101869,_0x282680);});_0xf1d7fc=_0xf1d7fc[_0x170308(0xd1)](_0x3d3963=>{const _0x24b3dc=_0x170308,_0x161aa6={};return _0x1f431d[_0x24b3dc(0x10b)]((_0x4826aa,_0x43b9e0)=>{const _0x3007ec=_0x41552a[_0x43b9e0];_0x161aa6[_0x3007ec]=_0x3d3963[_0x4826aa];}),_0x161aa6;}),_0x1f431d=_0x41552a,logger[_0x170308(0xe7)]({'event':_0x4a7830[_0x170308(0xec)],'original':_0x1f431d[_0x170308(0xc0)],'mapped':_0x41552a['filter']((_0x4dcb96,_0x314047)=>_0x4dcb96!==_0x1f431d[_0x314047])['length']},_0x4a7830['onlmY']);_0x324103['columnFormats']&&Object[_0x170308(0xdb)](_0x324103['columnFormats'])['length']>0x0&&(_0xf1d7fc=this['applyColumnFormats'](_0xf1d7fc,_0x324103['columnFormats']),logger[_0x170308(0xe7)]({'event':_0x170308(0xca),'formatCount':Object['keys'](_0x324103['columnFormats'])['length'],'formats':Object['keys'](_0x324103['columnFormats'])},_0x4a7830[_0x170308(0x126)]));if(_0x324103['scopeOverride']&&_0x324103['scopeOverride'][_0x170308(0xcb)]){const {column:_0x904be7,value:_0x4bf639}=_0x324103['scopeOverride'];_0xf1d7fc=_0xf1d7fc['map'](_0x56e0f1=>({..._0x56e0f1,[_0x904be7]:_0x4bf639})),logger[_0x170308(0xe7)]({'event':_0x170308(0x143),'column':_0x904be7,'rowCount':_0xf1d7fc[_0x170308(0xc0)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x1a8507=_0x324103['lookupFields']?Object['values'](_0x324103[_0x170308(0x13e)])['map'](_0x59214b=>_0x59214b[_0x170308(0x140)]):[],_0x36d8e1=_0x324103['fieldName']['filter'](_0x164a53=>!_0x1a8507[_0x170308(0x12d)](_0x164a53)),_0x53fb50=excelParser[_0x170308(0x9d)](_0x1f431d,_0x36d8e1);if(!_0x53fb50[_0x170308(0x105)]){await fs[_0x170308(0x12b)](_0x1e41b9['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x53fb50[_0x170308(0x109)]['join'](',\x20'));}const _0x5ee693={'upload_id':_0x5e3cc9,'filename':_0x1e41b9[_0x170308(0x106)],'total_rows':_0x1e75f3,'headers':_0x1f431d,'rows':_0xf1d7fc,'params':_0x324103,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x5e3cc9,_0x5ee693,0xe10),await fs[_0x170308(0x12b)](_0x1e41b9['path']),logger['info']({'event':_0x4a7830[_0x170308(0x123)],'uploadId':_0x5e3cc9,'filename':_0x1e41b9['originalname'],'totalRows':_0x1e75f3},_0x170308(0x12f)),{'upload_id':_0x5e3cc9,'total_rows':_0x1e75f3,'preview':_0xf1d7fc[_0x170308(0xc4)](0x0,0xa)};}catch(_0x509a34){try{await fs['unlink'](_0x1e41b9[_0x170308(0x11f)]);}catch(_0x5616f7){logError(_0x5616f7,{'event':_0x4a7830[_0x170308(0x10d)]},'Failed\x20to\x20cleanup\x20file');}throw _0x509a34;}}async['createPreviewJob'](_0x450a33){const _0x2dd693=a0_0x4b9382,_0x54b3f7={'wMBtR':function(_0x100e63,_0x17650d,_0x3cad79,_0x802556){return _0x100e63(_0x17650d,_0x3cad79,_0x802556);},'ZjBWP':'preview_process_error','nMilU':'Preview\x20job\x20created','lMQIg':_0x2dd693(0xc2)},_0x10cad1=this['generateId'](),_0x35ef58=await redisHelper[_0x2dd693(0x131)]('upload:'+_0x450a33);if(!_0x35ef58)throw new Error(_0x2dd693(0x134));const _0x30dbcf={'job_id':_0x10cad1,'upload_id':_0x450a33,'status':'validating','progress':0x0,'created_at':new Date()[_0x2dd693(0xfb)](),'params':_0x35ef58['params']};return await redisHelper['setJob']('job:'+_0x10cad1,_0x30dbcf,0xe10),logger['info']({'event':_0x2dd693(0x145),'jobId':_0x10cad1,'uploadId':_0x450a33},_0x54b3f7[_0x2dd693(0xe2)]),this[_0x2dd693(0x147)](_0x10cad1,_0x450a33,_0x35ef58)[_0x2dd693(0xeb)](_0x1782dd=>{_0x54b3f7['wMBtR'](logError,_0x1782dd,{'event':_0x54b3f7['ZjBWP'],'jobId':_0x10cad1},'Preview\x20processing\x20failed');}),{'job_id':_0x10cad1,'status':_0x54b3f7[_0x2dd693(0xcc)]};}['autoGenerateUpsertKeys'](_0x2f8140,_0x339047){const _0x4391c1=a0_0x4b9382,_0x2b0231={'DPgFY':function(_0x2becf9,_0x400e46){return _0x2becf9===_0x400e46;},'Vxsgt':function(_0x59f7ef,_0x3fa408){return _0x59f7ef===_0x3fa408;},'ywNIk':function(_0x2f6a38,_0x2fe12a){return _0x2f6a38===_0x2fe12a;},'ydVvg':function(_0x4222d8,_0x4cd280){return _0x4222d8===_0x4cd280;},'avFNt':_0x4391c1(0xa0)};_0x2f8140[_0x4391c1(0x10b)]((_0x5198e8,_0x3f662d)=>{const _0xf31670=_0x4391c1;_0x339047[_0xf31670(0x10b)](_0x3ec7d8=>{const _0xcb7767=_0xf31670,_0x24e90c=_0x5198e8[_0x3ec7d8];if(_0x2b0231['DPgFY'](_0x24e90c,null)||_0x2b0231['Vxsgt'](_0x24e90c,undefined)||_0x2b0231[_0xcb7767(0xba)](_0x24e90c,'')||_0x2b0231['ydVvg'](String(_0x24e90c)[_0xcb7767(0x11d)](),'-')){const _0x5dd627=uuidv7();_0x5198e8[_0x3ec7d8]=_0x5dd627,_0x5198e8['_generated_uuid']=_0x5198e8['_generated_uuid']||{},_0x5198e8[_0xcb7767(0x137)][_0x3ec7d8]=_0x5dd627,logger[_0xcb7767(0xe7)]({'event':_0x2b0231['avFNt'],'rowIndex':_0x3f662d,'field':_0x3ec7d8,'uuid':_0x5dd627},'Auto-generated\x20UUID\x20for\x20'+_0x3ec7d8+_0xcb7767(0xf8)+(_0x3f662d+0x2));}});});}async['processPreviewJob'](_0xd8a23a,_0x9ae931,_0x40d85b){const _0xa2add2=a0_0x4b9382,_0x3dde50={'fBIhC':function(_0x2f5a96,_0x39224f){return _0x2f5a96===_0x39224f;},'UrDgN':_0xa2add2(0xfd),'ZcNAK':function(_0x542994,_0x17d7b5){return _0x542994||_0x17d7b5;},'wxmpq':_0xa2add2(0x141),'QbcCz':_0xa2add2(0xd0),'UwMpR':'preview_job_completed','AXYja':function(_0x5a2ae6,_0x1326a5,_0x2ae954,_0x4ebb41){return _0x5a2ae6(_0x1326a5,_0x2ae954,_0x4ebb41);},'lfzwE':'failed'};try{let {rows:_0xa8862c,params:_0xab4b19}=_0x40d85b;const {requiredFields:_0x84e4f0,validations:_0x836f07,upsertKeys:_0x18742a,tableName:_0x374753,primaryKey:_0x15ec6b,fieldName:_0x2bbcd0,upsertStrategy:_0x13ac02,lookupFields:_0x25649f}=_0xab4b19;this['autoGenerateUpsertKeys'](_0xa8862c,_0x18742a);let _0x4c3978=[];if(_0x25649f&&Object['keys'](_0x25649f)['length']>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0xd8a23a,'lookupFieldCount':Object[_0xa2add2(0xdb)](_0x25649f)[_0xa2add2(0xc0)]},_0xa2add2(0xd3));const _0x33a2d5=await lookupResolver[_0xa2add2(0xbc)](_0xa8862c,_0x25649f);_0xa8862c=_0x33a2d5[_0xa2add2(0xea)],_0x4c3978=_0x33a2d5[_0xa2add2(0xc1)],_0x40d85b['rows']=_0xa8862c;}const _0x3c0db0=importValidator[_0xa2add2(0xbe)](_0xa8862c,_0x84e4f0||[],_0x3dde50['ZcNAK'](_0x836f07,{}));_0x4c3978['forEach'](_0x2bc616=>{const _0x3c3f7e=_0xa2add2,_0x174414=_0x3c0db0[_0x3c3f7e(0xa2)](_0x3fbafb=>_0x3fbafb['rowIndex']===_0x2bc616[_0x3c3f7e(0x125)]);_0x174414?_0x174414[_0x3c3f7e(0xc1)][_0x3c3f7e(0x14a)](_0x2bc616['message']):_0x3c0db0[_0x3c3f7e(0x14a)]({'rowIndex':_0x2bc616[_0x3c3f7e(0x125)],'rowData':_0xa8862c[_0x2bc616[_0x3c3f7e(0x125)]],'errors':[_0x2bc616['message']]});});const _0x3a6296=importValidator['detectDuplicatesInFile'](_0xa8862c,_0x18742a);_0x3a6296['forEach'](_0x2cd90f=>{const _0x150b5e=_0xa2add2,_0x1aea85=_0x3c0db0[_0x150b5e(0xa2)](_0x4573af=>_0x4573af[_0x150b5e(0x125)]===_0x2cd90f['rowIndex']),_0x360573=_0x18742a[_0x150b5e(0xd1)](_0x41c183=>_0x41c183[_0x150b5e(0xbf)]())[_0x150b5e(0x9c)](',\x20'),_0x469631='Duplicate\x20value\x20for\x20'+_0x360573;_0x1aea85?_0x1aea85[_0x150b5e(0xc1)]['push'](_0x469631):_0x3c0db0[_0x150b5e(0x14a)]({'rowIndex':_0x2cd90f['rowIndex'],'rowData':_0xa8862c[_0x2cd90f['rowIndex']],'errors':[_0x469631]});}),await this[_0xa2add2(0xb5)](_0xa8862c,_0x18742a,_0x374753,_0x15ec6b,_0x13ac02,_0x3c0db0),_0x3c0db0['forEach'](_0x417eb4=>{const _0x57957e=_0xa2add2,_0x6ba6f3=_0xa8862c[_0x417eb4['rowIndex']];_0x6ba6f3&&(_0x6ba6f3[_0x57957e(0x116)]=_0x417eb4[_0x57957e(0xc1)]);});let _0x21f76e=0x0,_0x441df1=0x0,_0x5e3c4c=0x0;_0xa8862c['forEach'](_0x486fa5=>{const _0x49020e=_0xa2add2;if(_0x486fa5[_0x49020e(0x135)]==='INSERT')_0x21f76e++;else{if(_0x3dde50['fBIhC'](_0x486fa5[_0x49020e(0x135)],_0x49020e(0x13f)))_0x441df1++;else _0x486fa5[_0x49020e(0x135)]===_0x3dde50[_0x49020e(0x11c)]&&_0x5e3c4c++;}});const _0x11eacc={'job_id':_0xd8a23a,'upload_id':_0x9ae931,'status':_0x3c0db0[_0xa2add2(0xc0)]>0x0?_0x3dde50['wxmpq']:_0x3dde50[_0xa2add2(0x118)],'progress':0x64,'created_at':_0x40d85b['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0xa8862c['length'],'insert_count':_0x21f76e,'update_count':_0x441df1,'skip_count':_0x5e3c4c,'error_count':_0x3c0db0[_0xa2add2(0xc0)],'errors':_0x3c0db0,'data':_0xa8862c,'sample_insert':_0xa8862c[_0xa2add2(0x12a)](_0x4ecf03=>_0x4ecf03[_0xa2add2(0x135)]==='INSERT')[_0xa2add2(0xc4)](0x0,0x5),'sample_update':_0xa8862c[_0xa2add2(0x12a)](_0x544939=>_0x544939[_0xa2add2(0x135)]===_0xa2add2(0x13f))['slice'](0x0,0x5),'sample_skip':_0xa8862c[_0xa2add2(0x12a)](_0x49d743=>_0x49d743[_0xa2add2(0x135)]==='SKIP')['slice'](0x0,0x5)},'params':_0xab4b19};await redisHelper[_0xa2add2(0xff)]('job:'+_0xd8a23a,_0x11eacc,0xe10),_0x40d85b[_0xa2add2(0x9f)]=_0xa8862c,await redisHelper['setJob']('upload:'+_0x9ae931,_0x40d85b,0xe10),logger[_0xa2add2(0xa1)]({'event':_0x3dde50[_0xa2add2(0xc7)],'jobId':_0xd8a23a,'status':_0x11eacc['status'],'insertCount':_0x21f76e,'updateCount':_0x441df1,'skipCount':_0x5e3c4c,'errorCount':_0x3c0db0['length']},_0xa2add2(0xfc));}catch(_0x200d74){_0x3dde50[_0xa2add2(0xf7)](logError,_0x200d74,{'event':_0xa2add2(0xce),'jobId':_0xd8a23a},_0xa2add2(0xe8)),await redisHelper[_0xa2add2(0xff)](_0xa2add2(0xc3)+_0xd8a23a,{'job_id':_0xd8a23a,'upload_id':_0x9ae931,'status':_0x3dde50['lfzwE'],'progress':0x0,'error':_0x200d74[_0xa2add2(0xa5)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x4b1abb,_0x259a67,_0x324d6c,_0x48cde8,_0x182ab3='update_existing',_0x5ad53a=[]){const _0x18c3b8=a0_0x4b9382,_0xc4192e={'qaUWF':'UPDATE','afgfd':function(_0x1f0d0d,_0x87c3cd){return _0x1f0d0d===_0x87c3cd;},'NoweF':_0x18c3b8(0xc8),'sPACK':function(_0x1dce7b,_0x4d75f3){return _0x1dce7b===_0x4d75f3;},'WqAnp':'skip_existing','ccrpD':function(_0x54766b,_0x17c2c4){return _0x54766b===_0x17c2c4;},'SyJic':_0x18c3b8(0x142),'EfwyB':_0x18c3b8(0xdf),'azobb':function(_0x4dc137,_0x4254d7){return _0x4dc137(_0x4254d7);},'vAqtU':'oracle'},_0x23d582=upsertBuilder['chunkRows'](_0x4b1abb,0x64);for(const _0x33f06c of _0x23d582){const _0x1a31bc=_0x33f06c['map'](_0x1c2a2a=>_0x1c2a2a[_0x259a67[0x0]]),_0x4a5af5=_0x1a31bc[_0x18c3b8(0xd1)](_0x1902eb=>{const _0x8f5b66=_0x18c3b8;if(_0x1902eb===null||_0x1902eb===undefined)return'NULL';return'\x27'+String(_0x1902eb)[_0x8f5b66(0x12c)](/'/g,'\x27\x27')+'\x27';}),_0xbbb9bd='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x48cde8+',\x20'+_0x259a67['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x324d6c+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x259a67[0x0]+_0x18c3b8(0x104)+_0x4a5af5[_0x18c3b8(0x9c)](',\x20')+_0x18c3b8(0xac);let _0x10511b=await _0xc4192e['azobb'](executeQuery,_0xbbb9bd);dbType===_0xc4192e['vAqtU']&&_0x10511b&&_0x10511b['length']>0x0&&(_0x10511b=_0x10511b[_0x18c3b8(0xd1)](_0x2a26dd=>{const _0x20783d=_0x18c3b8,_0xaca0bc={};for(const [_0x254058,_0x1521d8]of Object[_0x20783d(0xd8)](_0x2a26dd)){_0xaca0bc[_0x254058[_0x20783d(0xaa)]()]=_0x1521d8;}return _0xaca0bc;}));const _0x1cf90c=new Map();_0x10511b[_0x18c3b8(0x10b)](_0x5131e8=>{const _0x118c1f=_0x5131e8[_0x259a67[0x0]];_0x1cf90c['set'](_0x118c1f,_0x5131e8);}),_0x33f06c['forEach']((_0x55776f,_0x1e5a29)=>{const _0x158769=_0x18c3b8,_0x2860a9=_0x55776f[_0x259a67[0x0]],_0xeb2939=_0x1cf90c[_0x158769(0x12e)](_0x2860a9);if(_0xeb2939){if(_0x182ab3==='update_existing')_0x55776f['_action']=_0xc4192e['qaUWF'],_0x55776f['_existingId']=_0xeb2939[_0x48cde8];else{if(_0xc4192e['afgfd'](_0x182ab3,_0xc4192e[_0x158769(0x10e)])){_0x55776f['_action']=_0x158769(0xfd),_0x55776f[_0x158769(0x116)]=_0x55776f['_errors']||[],_0x55776f[_0x158769(0x116)][_0x158769(0x14a)](_0x158769(0x10a));const _0x585f3b=_0x4b1abb['indexOf'](_0x55776f);_0x585f3b!==-0x1&&_0x5ad53a['push']({'rowIndex':_0x585f3b,'rowData':_0x55776f,'errors':[_0x158769(0x10a)]});}else _0xc4192e[_0x158769(0x14b)](_0x182ab3,_0xc4192e['WqAnp'])&&(_0x55776f['_action']=_0x158769(0xfd));}}else{if(_0xc4192e[_0x158769(0xf9)](_0x182ab3,_0xc4192e['SyJic']))_0x55776f[_0x158769(0x135)]=_0xc4192e['EfwyB'];else(_0x182ab3==='insert_only'||_0xc4192e['sPACK'](_0x182ab3,'skip_existing'))&&(_0x55776f[_0x158769(0x135)]='INSERT');}});}}async[a0_0x4b9382(0xf2)](_0x4b7936){const _0x13c33b=a0_0x4b9382,_0x17eeac={'TOEpH':'commit_process_error','mMTtg':_0x13c33b(0xb9),'GpfzQ':_0x13c33b(0xe6),'tcVth':_0x13c33b(0xb7),'PyiLv':'commit_job_created','GDvMT':_0x13c33b(0x139)},_0x2a0150=this[_0x13c33b(0xb2)](),_0x2848bd=await redisHelper[_0x13c33b(0x131)](_0x13c33b(0xc3)+_0x4b7936);if(!_0x2848bd)throw new Error(_0x17eeac[_0x13c33b(0xad)]);if(_0x2848bd['status']!=='preview_ok')throw new Error(_0x13c33b(0xb4)+_0x2848bd[_0x13c33b(0xfa)]);const _0x5a7a00={'job_id':_0x2a0150,'upload_id':_0x2848bd[_0x13c33b(0x146)],'preview_job_id':_0x4b7936,'status':_0x17eeac['tcVth'],'progress':0x0,'created_at':new Date()[_0x13c33b(0xfb)](),'params':_0x2848bd[_0x13c33b(0xe0)]};return await redisHelper[_0x13c33b(0xff)](_0x13c33b(0xc3)+_0x2a0150,_0x5a7a00,0xe10),logger['info']({'event':_0x17eeac['PyiLv'],'jobId':_0x2a0150,'previewJobId':_0x4b7936},_0x17eeac['GDvMT']),this['processCommitJob'](_0x2a0150,_0x2848bd)[_0x13c33b(0xeb)](_0x430d3a=>{const _0x2d8f0f=_0x13c33b;logError(_0x430d3a,{'event':_0x17eeac[_0x2d8f0f(0x103)],'jobId':_0x2a0150},_0x17eeac[_0x2d8f0f(0xed)]);}),{'job_id':_0x2a0150,'status':_0x17eeac[_0x13c33b(0x13b)]};}async[a0_0x4b9382(0x121)](_0x4f64d8,_0x1a8ff9){const _0x31a478=a0_0x4b9382,_0x1fbcaa={'EYUUt':function(_0x1bac79,_0x435732){return _0x1bac79===_0x435732;},'RSgaR':'insert','XTsaA':'Upload\x20data\x20not\x20found\x20or\x20expired','vpZZH':function(_0x36bf3f,_0x1a3748){return _0x36bf3f>_0x1a3748;},'bZvZB':_0x31a478(0xab),'AmSqs':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','dPEGx':function(_0x1a01a4,_0x357e4a){return _0x1a01a4||_0x357e4a;},'JGiLb':function(_0x4e574b,_0x3b1941){return _0x4e574b||_0x3b1941;},'mXlRb':'update','pMqix':function(_0x251cb6,_0xcbefd7){return _0x251cb6(_0xcbefd7);},'GTEhb':'completed','TRROd':'commit_job_completed','EhOcr':'Commit\x20job\x20completed','ScNwk':function(_0x1186be,_0xc63430,_0x202fdd,_0x791e78){return _0x1186be(_0xc63430,_0x202fdd,_0x791e78);},'fOKAC':_0x31a478(0x148)};try{const _0x2b539a=await redisHelper[_0x31a478(0x131)](_0x31a478(0x10f)+_0x1a8ff9[_0x31a478(0x146)]);if(!_0x2b539a)throw new Error(_0x1fbcaa[_0x31a478(0xa3)]);const {rows:_0x1f6b9b,params:_0x304c03}=_0x2b539a,{tableName:_0x4b3146,fieldName:_0x2d0714,primaryKey:_0x3908cb,upsertKeys:_0xfb7f20,excludeFromImport:_0x27a25e,lookupFields:_0x12659f,columnFormats:_0x3a5d15}=_0x304c03,_0x8b65e=_0x12659f?Object['keys'](_0x12659f):[],_0x49e8bf=new Set([..._0x27a25e||[],..._0x8b65e]);let _0x2c21d5=_0x2d0714;_0x1fbcaa[_0x31a478(0xd9)](_0x49e8bf['size'],0x0)&&(_0x2c21d5=_0x2d0714['filter'](_0x573de7=>!_0x49e8bf['has'](_0x573de7)),logger[_0x31a478(0xe7)]({'event':_0x1fbcaa[_0x31a478(0xbb)],'originalCount':_0x2d0714['length'],'filteredCount':_0x2c21d5['length'],'excludedFields':Array['from'](_0x49e8bf),'lookupSourceFields':_0x8b65e},_0x1fbcaa[_0x31a478(0xcd)]));const _0x842833=_0x1f6b9b['filter'](_0xd1481d=>_0xd1481d[_0x31a478(0x135)]==='INSERT'),_0xd3195c=_0x1f6b9b['filter'](_0x351902=>_0x351902['_action']===_0x31a478(0x13f));let _0xb92efb=0x0,_0x41b03c=0x0;const _0x17ad97=[];if(_0x1fbcaa['vpZZH'](_0x842833['length'],0x0)){const _0x13e548=upsertBuilder['chunkRows'](_0x842833,0x64);for(const _0xdf71d8 of _0x13e548){const {query:_0x20eeda}=upsertBuilder['buildBatchInsert'](_0xdf71d8,_0x4b3146,_0x2c21d5,_0x1fbcaa['dPEGx'](_0x3a5d15,{}));_0x20eeda&&_0x17ad97['push']({'sql':_0x20eeda,'count':_0xdf71d8['length'],'type':_0x31a478(0xee)});}}if(_0xd3195c['length']>0x0){const _0x533f28=upsertBuilder['chunkRows'](_0xd3195c,0x64);for(const _0x244b01 of _0x533f28){const {query:_0x12b067}=upsertBuilder['buildBatchUpdate'](_0x244b01,_0x4b3146,_0x2c21d5,_0x3908cb,_0xfb7f20,_0x1fbcaa['JGiLb'](_0x3a5d15,{}));_0x12b067&&_0x17ad97['push']({'sql':_0x12b067,'count':_0x244b01[_0x31a478(0xc0)],'type':_0x1fbcaa['mXlRb']});}}_0x17ad97[_0x31a478(0xc0)]>0x0&&await _0x1fbcaa[_0x31a478(0x107)](executeTransaction,_0x17ad97[_0x31a478(0xd1)](_0x590acf=>({'sql':_0x590acf['sql'],'params':[]})));_0x17ad97['forEach'](_0x4b20cc=>{const _0x2f6529=_0x31a478;if(_0x1fbcaa[_0x2f6529(0xd7)](_0x4b20cc['type'],_0x1fbcaa[_0x2f6529(0x11b)]))_0xb92efb+=_0x4b20cc['count'];else _0x41b03c+=_0x4b20cc['count'];});const _0x52e239={'job_id':_0x4f64d8,'upload_id':_0x1a8ff9[_0x31a478(0x146)],'preview_job_id':_0x1a8ff9['job_id'],'status':_0x1fbcaa['GTEhb'],'progress':0x64,'created_at':_0x1a8ff9[_0x31a478(0x11e)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x31a478(0xfb)](),'result':{'total_rows':_0x1f6b9b[_0x31a478(0xc0)],'inserted_rows':_0xb92efb,'updated_rows':_0x41b03c,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x304c03};await redisHelper[_0x31a478(0xff)](_0x31a478(0xc3)+_0x4f64d8,_0x52e239,0xe10),logger['info']({'event':_0x1fbcaa['TRROd'],'jobId':_0x4f64d8,'insertedCount':_0xb92efb,'updatedCount':_0x41b03c},_0x1fbcaa['EhOcr']);}catch(_0x5328af){_0x1fbcaa['ScNwk'](logError,_0x5328af,{'event':_0x31a478(0xa6),'jobId':_0x4f64d8},_0x31a478(0x127)),await redisHelper[_0x31a478(0xff)]('job:'+_0x4f64d8,{'job_id':_0x4f64d8,'upload_id':_0x1a8ff9[_0x31a478(0x146)],'preview_job_id':_0x1a8ff9['job_id'],'status':_0x1fbcaa['fOKAC'],'progress':0x0,'error':_0x5328af[_0x31a478(0xa5)],'created_at':_0x1a8ff9[_0x31a478(0x11e)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x31a478(0xfb)]()},0xe10);}}async[a0_0x4b9382(0xe1)](_0x165e2f){const _0x408cb0=a0_0x4b9382,_0x22b0d3={'RtIMA':'Job\x20not\x20found\x20or\x20expired'},_0x6968b4=await redisHelper['getJob'](_0x408cb0(0xc3)+_0x165e2f);if(!_0x6968b4)return{'success':![],'error':_0x22b0d3[_0x408cb0(0x11a)]};return{'success':!![],'data':_0x6968b4};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x2af7(){const _0x139e44=['Bg9Ntgv2zwW','yNjVA2vYCW','DgLTzxn0yw1W','Dg9gAxHLza','y2XVC2u','txrJqK4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mZbSvMDfrhq','qLbqzuq','A2fMA2e','Dhj1zq','mta0odu3nG','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwLU','C2vLA1rVt2zMC2v0','y29UC3vTzxiUCMvIywXHBMnPBMC','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','A2v5','y29UBMvJDgLVBLrPBwvVDxq','mteYnefgqLrJzW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mtaWma','BwfW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','v2HkAhO','Bg9N','A2fMA2fQCW','y2XPzw50swq','AM9PBG','AxnqyxvZzwq','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','C3vIC2nYAwjL','CgfYC2u','CMvKDwnL','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','zfrxt0m','CMv0CNLezwXHEq','zgvMyxvSDa','s0fgs0fFq0Xjru5ux0Le','mZaWma','u05tBgW','y29TBwL0t2zMC2v0CW','s0fgs0fFq09otKvdveLptL9usu1ft1vu','ntaWma','CMvZDw1L','mJqZodq3mgvXDxnWAq','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BevPANq','vgDNywy','EKv5DLi','B2zMC2v0','AgvHCNrIzwf0sw50zxj2ywW','lwnVBNn1BwvY','s0fgs0fFuKvuuLLFqvruru1qvfm','Bwv0CMLJCW','C3rHCNruAw1L','zuD2EMm','ntaXDxDuBufu','ruPpqKO','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','zw52','mtuZnJvZChbMDKW','C2vLAW','Bg9JywXOB3n0oJKWoti','C3rHCNrdB25ZDw1PBMC','icHNCM91CeLKoIa','oe5MChP3tG','mZaWmda','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnsDw5UAw5N','AwvsBMO','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mJuWmda','z3jVDxbjza','z2v0twv0CMLJCW','v1rYvg8','AgvHzgvYCW','y29UC3vTzxiUy3jHC2G','ode4ody1renSAhbR','AxnjBML0AwfSAxPPBMC','C3vIC2nYAwjLzfrVCgLJCW','z2v0q29UzMLN','Dg9mB3DLCKnHC2u','zgLZy29UBMvJDa','BgvUz3rO','CMvXDwvZDfrPBwvVDxq','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','BgfZDe1LC3nHz2vuAw1L','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzxnszwnLAxzLza','CNvU','mJy3mta5mNfszMDYDG','DMfSDwu','BM93','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','wK95t1m','ntyWoti4BMnbuLvg','D2H2rMy','zxjYB3i','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','ChjVy2vZC2LUz1rPBwvZ','DxrdDLy','CMvZDgzVCMDLlq','BwvZC2fNzq','otC0ntHLtuX4D2e','sKzTwfC','y29UC3vTzxi','Cgf1C2u','icHMCM9TqMvNAw5UAw5NoIa','AxndB25Uzwn0zwq'];a0_0x2af7=function(){return _0x139e44;};return a0_0x2af7();}const a0_0x3786b=a0_0x1472;(function(_0x3e4a22,_0x1b19a9){const _0x1b6979=a0_0x1472,_0x1f665d=_0x3e4a22();while(!![]){try{const _0x50649e=-parseInt(_0x1b6979(0x201))/0x1*(-parseInt(_0x1b6979(0x1d6))/0x2)+parseInt(_0x1b6979(0x1bd))/0x3*(parseInt(_0x1b6979(0x20a))/0x4)+-parseInt(_0x1b6979(0x216))/0x5+parseInt(_0x1b6979(0x1ca))/0x6*(-parseInt(_0x1b6979(0x205))/0x7)+-parseInt(_0x1b6979(0x1b4))/0x8+parseInt(_0x1b6979(0x226))/0x9+-parseInt(_0x1b6979(0x1f4))/0xa;if(_0x50649e===_0x1b19a9)break;else _0x1f665d['push'](_0x1f665d['shift']());}catch(_0x417fd3){_0x1f665d['push'](_0x1f665d['shift']());}}}(a0_0x2af7,0x25bf3));function a0_0x1472(_0x41f9db,_0x3d0347){_0x41f9db=_0x41f9db-0x1b3;const _0x2af7fb=a0_0x2af7();let _0x1472d9=_0x2af7fb[_0x41f9db];if(a0_0x1472['TDuzVn']===undefined){var _0x36990a=function(_0x229237){const _0x1f26fa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10847c='',_0x3b2db5='';for(let _0x154fec=0x0,_0x33bb07,_0xce9ac0,_0x104f04=0x0;_0xce9ac0=_0x229237['charAt'](_0x104f04++);~_0xce9ac0&&(_0x33bb07=_0x154fec%0x4?_0x33bb07*0x40+_0xce9ac0:_0xce9ac0,_0x154fec++%0x4)?_0x10847c+=String['fromCharCode'](0xff&_0x33bb07>>(-0x2*_0x154fec&0x6)):0x0){_0xce9ac0=_0x1f26fa['indexOf'](_0xce9ac0);}for(let _0xc19048=0x0,_0x17e5ce=_0x10847c['length'];_0xc19048<_0x17e5ce;_0xc19048++){_0x3b2db5+='%'+('00'+_0x10847c['charCodeAt'](_0xc19048)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b2db5);};a0_0x1472['AFZArl']=_0x36990a,a0_0x1472['OXMSqd']={},a0_0x1472['TDuzVn']=!![];}const _0x3b9fcc=_0x2af7fb[0x0],_0x39e18f=_0x41f9db+_0x3b9fcc,_0x5d9f1d=a0_0x1472['OXMSqd'][_0x39e18f];return!_0x5d9f1d?(_0x1472d9=a0_0x1472['AFZArl'](_0x1472d9),a0_0x1472['OXMSqd'][_0x39e18f]=_0x1472d9):_0x1472d9=_0x5d9f1d,_0x1472d9;}const {Kafka,logLevel}=require(a0_0x3786b(0x1e0)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x5f4724=a0_0x3786b,_0x11277={'lEijt':'5|7|9|0|8|3|10|6|1|2|4'},_0xedc7f7=_0x11277[_0x5f4724(0x1f7)][_0x5f4724(0x229)]('|');let _0x4912e3=0x0;while(!![]){switch(_0xedc7f7[_0x4912e3++]){case'0':this[_0x5f4724(0x217)]=![];continue;case'1':this[_0x5f4724(0x211)]=null;continue;case'2':this[_0x5f4724(0x222)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x5f4724(0x1fe)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this['kafka']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x5f4724(0x1bf)]=null;continue;case'8':this['isRunning']=![];continue;case'9':this['isConnected']=![];continue;case'10':this['connectionPromise']=null;continue;}break;}}['getConfig'](){const _0x533f3c=a0_0x3786b,_0x3ee2d7={'rFzEJ':function(_0x1e6565,_0x3f8aa9){return _0x1e6565===_0x3f8aa9;},'ciBwa':'true','aHVsP':_0x533f3c(0x207),'dTWOC':function(_0x292019,_0x466e21){return _0x292019(_0x466e21);},'XLOSI':_0x533f3c(0x1ee),'EJOBJ':_0x533f3c(0x20b),'MtcBN':function(_0x182404,_0x19650f){return _0x182404(_0x19650f);},'cqlZV':_0x533f3c(0x1ce),'zEyvR':function(_0x33c1c3,_0x7ded63){return _0x33c1c3(_0x7ded63);},'eGvzc':_0x533f3c(0x1d9),'ieRnj':'warn'};return{'enabled':_0x3ee2d7['rFzEJ'](process['env']['KAFKA_ENABLED'],_0x3ee2d7['ciBwa']),'brokers':(process[_0x533f3c(0x204)]['KAFKA_BROKERS']||_0x3ee2d7['aHVsP'])['split'](','),'clientId':process['env'][_0x533f3c(0x1ed)]||_0x533f3c(0x1bb)+(process[_0x533f3c(0x204)]['RESTFORGE_PROJECT_NAME']||_0x533f3c(0x1ec))+_0x533f3c(0x1fc),'connectionTimeout':_0x3ee2d7[_0x533f3c(0x1ea)](parseInt,process[_0x533f3c(0x204)][_0x533f3c(0x1f1)]||_0x3ee2d7['XLOSI']),'requestTimeout':parseInt(process['env'][_0x533f3c(0x221)]||_0x533f3c(0x210)),'sessionTimeout':_0x3ee2d7['dTWOC'](parseInt,process[_0x533f3c(0x204)]['KAFKA_SESSION_TIMEOUT']||_0x3ee2d7[_0x533f3c(0x202)]),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x3ee2d7[_0x533f3c(0x1c8)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3ee2d7['cqlZV']),'autoCommit':process['env'][_0x533f3c(0x21e)]==='true','autoCommitInterval':parseInt(process[_0x533f3c(0x204)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x533f3c(0x1f2)),'retryAttempts':_0x3ee2d7[_0x533f3c(0x1f9)](parseInt,process[_0x533f3c(0x204)][_0x533f3c(0x1fd)]||'3'),'retryDelay':_0x3ee2d7['dTWOC'](parseInt,process[_0x533f3c(0x204)]['KAFKA_RETRY_DELAY']||_0x3ee2d7[_0x533f3c(0x200)]),'retryMaxDelay':_0x3ee2d7[_0x533f3c(0x1ea)](parseInt,process[_0x533f3c(0x204)]['KAFKA_RETRY_MAX_DELAY']||_0x3ee2d7['EJOBJ']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x3ee2d7[_0x533f3c(0x20e)]};}[a0_0x3786b(0x1b7)](_0x105730){const _0x2a624a=a0_0x3786b,_0x27bced={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x27bced[_0x105730[_0x2a624a(0x21a)]()]||logLevel['WARN'];}async['initialize'](_0x19c259={}){const _0x2ed1d4=a0_0x3786b,_0x3e5b12=this[_0x2ed1d4(0x219)]();if(!_0x3e5b12['enabled'])return console[_0x2ed1d4(0x1df)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2ed1d4(0x1c2)])return!![];if(this['isInitializing']&&this[_0x2ed1d4(0x1dc)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3e3645=>{const _0x15c674=_0x2ed1d4;try{let _0x1e25a6=undefined;process['env']['KAFKA_SSL']===_0x15c674(0x1cd)&&(_0x1e25a6=!![]);let _0x1dbccd=undefined;process[_0x15c674(0x204)]['KAFKA_SASL_MECHANISM']&&(_0x1dbccd={'mechanism':process[_0x15c674(0x204)]['KAFKA_SASL_MECHANISM'],'username':process[_0x15c674(0x204)]['KAFKA_SASL_USERNAME']||'','password':process[_0x15c674(0x204)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x19c259[_0x15c674(0x1e1)]||_0x3e5b12[_0x15c674(0x1e1)],'brokers':_0x3e5b12[_0x15c674(0x1c4)],'connectionTimeout':_0x3e5b12[_0x15c674(0x1d5)],'requestTimeout':_0x3e5b12[_0x15c674(0x21d)],'logLevel':this['getLogLevel'](_0x3e5b12[_0x15c674(0x1c3)]),'ssl':_0x1e25a6,'sasl':_0x1dbccd,'retry':{'initialRetryTime':_0x3e5b12[_0x15c674(0x1eb)],'retries':_0x3e5b12['retryAttempts'],'maxRetryTime':_0x3e5b12['retryMaxDelay']}}),this['groupId']=_0x19c259['groupId']||_0x15c674(0x1bb)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x15c674(0x1ec))+'-consumer-group',this['consumer']=this[_0x15c674(0x1cc)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x3e5b12['sessionTimeout'],'heartbeatInterval':_0x3e5b12[_0x15c674(0x1fb)],'maxBytesPerPartition':_0x3e5b12['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x15c674(0x1c2)]=!![],console[_0x15c674(0x1df)](_0x15c674(0x21f)+_0x3e5b12['brokers'][_0x15c674(0x1e2)](',\x20')+_0x15c674(0x209)+this[_0x15c674(0x211)]+')'),this['setupEventHandlers'](),_0x3e3645(!![]);}catch(_0x1ce0cd){console[_0x15c674(0x1b6)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x1ce0cd['message']),this['isConnected']=![],_0x3e3645(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x550437=a0_0x3786b,_0x932866={'WhJhz':'[KafkaConsumer]\x20Consumer\x20disconnected','PmMyK':_0x550437(0x1d8),'JFmXW':'consumer.stop','utCvV':_0x550437(0x1d2)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x2bad68=_0x550437;console[_0x2bad68(0x1df)](_0x932866[_0x2bad68(0x1de)]),this['isConnected']=![],this[_0x2bad68(0x20d)]=![];}),this['consumer']['on'](_0x932866[_0x550437(0x1be)],()=>{const _0x3cdec5=_0x550437;console['log'](_0x3cdec5(0x1db)),this['isRunning']=![];}),this[_0x550437(0x1bf)]['on'](_0x550437(0x215),_0x2847fe=>{const _0x49be67=_0x550437;console['error'](_0x49be67(0x1c9)+_0x2847fe['payload']['error'][_0x49be67(0x1bc)]),this['isRunning']=![];}),this['consumer']['on'](_0x932866[_0x550437(0x1ba)],()=>{console['log'](_0x932866['PmMyK']);});}async[a0_0x3786b(0x1e6)](_0x5caf8c,_0xcbff68=![]){const _0x36528c=a0_0x3786b;if(!this['isConnected'])return console[_0x36528c(0x1b6)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0xa39f59=Array['isArray'](_0x5caf8c)?_0x5caf8c:[_0x5caf8c];for(const _0xe92e30 of _0xa39f59){await this['consumer'][_0x36528c(0x1e6)]({'topic':_0xe92e30,'fromBeginning':_0xcbff68}),console[_0x36528c(0x1df)](_0x36528c(0x203)+_0xe92e30+_0x36528c(0x1c1)+_0xcbff68+')');}return this['subscribedTopics']=[...new Set([...this[_0x36528c(0x218)],..._0xa39f59])],!![];}catch(_0x1e2873){return console[_0x36528c(0x1b6)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1e2873['message']),![];}}async[a0_0x3786b(0x208)](_0x3a7e1b,_0x42fa5c={}){const _0xbd2942=a0_0x3786b,_0x13374c={'UuhJi':function(_0x32c64a,_0x229dfa){return _0x32c64a+_0x229dfa;},'Tggaf':function(_0xfb0bfe,_0xe39c31){return _0xfb0bfe>_0xe39c31;},'AuytR':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','Epedc':function(_0x2937ed,_0x54f21a){return _0x2937ed!==_0x54f21a;}};if(!this['isConnected'])return console['error'](_0x13374c['AuytR']),![];if(this['isRunning'])return console[_0xbd2942(0x1df)](_0xbd2942(0x223)),!![];const _0x523d83=this[_0xbd2942(0x219)]();this[_0xbd2942(0x222)]=_0x3a7e1b;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0xbd2942(0x225)]({'autoCommit':_0x13374c['Epedc'](_0x42fa5c['autoCommit'],undefined)?_0x42fa5c['autoCommit']:_0x523d83[_0xbd2942(0x1f5)],'autoCommitInterval':_0x523d83['autoCommitInterval'],'eachMessage':async({topic:_0x14d6ab,partition:_0x3ceedd,message:_0x1c82ce,heartbeat:_0x53d2df})=>{const _0x4232d3=_0xbd2942,_0x5b0ecd=Date['now']();this[_0x4232d3(0x1fe)]['messagesReceived']++,this['metrics'][_0x4232d3(0x220)]=new Date();try{const _0x420315=_0x1c82ce[_0x4232d3(0x227)]?_0x1c82ce[_0x4232d3(0x227)]['toString']():null;let _0xf26b66=null;try{_0xf26b66=_0x420315?JSON[_0x4232d3(0x1e7)](_0x420315):null;}catch(_0x22e7fc){_0xf26b66=_0x420315;}const _0x25029a={'topic':_0x14d6ab,'partition':_0x3ceedd,'offset':_0x1c82ce[_0x4232d3(0x1fa)],'key':_0x1c82ce['key']?_0x1c82ce[_0x4232d3(0x1d4)]['toString']():null,'headers':this['parseHeaders'](_0x1c82ce[_0x4232d3(0x214)]),'timestamp':_0x1c82ce[_0x4232d3(0x1c5)],'value':_0xf26b66,'raw':_0x420315};this[_0x4232d3(0x222)]&&await this[_0x4232d3(0x222)](_0x25029a);!_0x523d83['autoCommit']&&await this[_0x4232d3(0x1bf)][_0x4232d3(0x1f0)]([{'topic':_0x14d6ab,'partition':_0x3ceedd,'offset':_0x13374c['UuhJi'](parseInt(_0x1c82ce[_0x4232d3(0x1fa)]),0x1)[_0x4232d3(0x1b8)]()}]);this['metrics']['messagesProcessed']++;const _0x5cf1d8=Date[_0x4232d3(0x228)]()-_0x5b0ecd;this[_0x4232d3(0x1fe)]['processingTimes']['push'](_0x5cf1d8),_0x13374c[_0x4232d3(0x1f8)](this[_0x4232d3(0x1fe)]['processingTimes'][_0x4232d3(0x21c)],0x64)&&this['metrics'][_0x4232d3(0x1b9)]['shift'](),await _0x53d2df();}catch(_0x1e8572){this['metrics']['messagesFailed']++,console['error'](_0x4232d3(0x1cf)+_0x1e8572[_0x4232d3(0x1bc)]);throw _0x1e8572;}}}),this[_0xbd2942(0x20d)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xbd2942(0x218)][_0xbd2942(0x1e2)](',\x20')),!![];}catch(_0x394acf){return console['error'](_0xbd2942(0x20c)+_0x394acf[_0xbd2942(0x1bc)]),![];}}['parseHeaders'](_0x3cf9b5){if(!_0x3cf9b5)return{};const _0x1d0575={};for(const [_0x1751b0,_0x3ad9da]of Object['entries'](_0x3cf9b5)){_0x1d0575[_0x1751b0]=_0x3ad9da?_0x3ad9da['toString']():null;}return _0x1d0575;}async[a0_0x3786b(0x1c0)](){const _0x118e8c=a0_0x3786b,_0x210a6e={'ZOyOS':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x118e8c(0x1c2)]||!this[_0x118e8c(0x20d)])return console[_0x118e8c(0x1df)](_0x118e8c(0x1f6)),![];if(this[_0x118e8c(0x1e3)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x2f8b06=this['subscribedTopics'][_0x118e8c(0x1da)](_0xea5f5b=>({'topic':_0xea5f5b}));return this['consumer'][_0x118e8c(0x1c0)](_0x2f8b06),this['isPaused']=!![],console['log'](_0x210a6e[_0x118e8c(0x1b3)]),!![];}catch(_0x41c34d){return console[_0x118e8c(0x1b6)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x41c34d['message']),![];}}async['resume'](){const _0x5e2981=a0_0x3786b,_0x53e52b={'MtlFz':_0x5e2981(0x1e9),'Hkevj':'[KafkaConsumer]\x20Consumer\x20not\x20paused','BOKft':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x5e2981(0x1c2)]||!this['isRunning'])return console['log'](_0x53e52b['MtlFz']),![];if(!this[_0x5e2981(0x1e3)])return console[_0x5e2981(0x1df)](_0x53e52b['Hkevj']),!![];try{const _0x5d8cad=this[_0x5e2981(0x218)][_0x5e2981(0x1da)](_0x3ea18b=>({'topic':_0x3ea18b}));return this[_0x5e2981(0x1bf)][_0x5e2981(0x1f3)](_0x5d8cad),this[_0x5e2981(0x1e3)]=![],console[_0x5e2981(0x1df)](_0x53e52b['BOKft']),!![];}catch(_0x723a61){return console['error'](_0x5e2981(0x1d7)+_0x723a61['message']),![];}}async['stop'](){const _0x5785a7=a0_0x3786b,_0x3ecbc3={'whvFf':_0x5785a7(0x22a)};if(!this['isConnected'])return console[_0x5785a7(0x1df)](_0x3ecbc3[_0x5785a7(0x1b5)]),!![];try{const _0x37b818='2|5|3|4|1|0'['split']('|');let _0x13e4cc=0x0;while(!![]){switch(_0x37b818[_0x13e4cc++]){case'0':return!![];case'1':console['log'](_0x5785a7(0x1dd));continue;case'2':this['consumer']&&(await this['consumer']['stop'](),await this['consumer'][_0x5785a7(0x21b)]());continue;case'3':this[_0x5785a7(0x20d)]=![];continue;case'4':this['isPaused']=![];continue;case'5':this[_0x5785a7(0x1c2)]=![];continue;}break;}}catch(_0x289b16){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x289b16['message']),![];}}async[a0_0x3786b(0x1d1)](_0x1585e4,_0x29634e,_0x2d96a1){const _0x372a26=a0_0x3786b,_0x17e48c={'SNSll':_0x372a26(0x20f)};if(!this['isConnected'])return console[_0x372a26(0x1b6)](_0x17e48c[_0x372a26(0x1ef)]),![];try{return this['consumer'][_0x372a26(0x206)]({'topic':_0x1585e4,'partition':_0x29634e,'offset':_0x2d96a1[_0x372a26(0x1b8)]()}),console['log'](_0x372a26(0x1d3)+_0x2d96a1+'\x20on\x20'+_0x1585e4+':'+_0x29634e),!![];}catch(_0x1694e3){return console[_0x372a26(0x1b6)](_0x372a26(0x1e5)+_0x1694e3[_0x372a26(0x1bc)]),![];}}['getStatus'](){const _0x453164=a0_0x3786b,_0xd5ff46=this[_0x453164(0x219)]();return{'enabled':_0xd5ff46['enabled'],'connected':this[_0x453164(0x1c2)],'running':this[_0x453164(0x20d)],'paused':this[_0x453164(0x1e3)],'brokers':_0xd5ff46[_0x453164(0x1c4)],'clientId':_0xd5ff46[_0x453164(0x1e1)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x3786b(0x212)](){const _0x315da9=a0_0x3786b,_0x537082={'hkxEF':function(_0x136a13,_0x554198){return _0x136a13>_0x554198;},'ezFbN':function(_0xcf86b3,_0x51c6fe){return _0xcf86b3>_0x51c6fe;},'nnIca':function(_0x55665e,_0x34314f){return _0x55665e*_0x34314f;},'hXOuB':function(_0x9cf49a,_0x14ebe0){return _0x9cf49a/_0x14ebe0;},'JMzDw':function(_0x124d58,_0x434b62){return _0x124d58/_0x434b62;},'WTrTo':function(_0x52e51b,_0x3df4ba){return _0x52e51b-_0x3df4ba;},'EzAEj':function(_0x43e122,_0x20585e){return _0x43e122+_0x20585e;}},_0x102761=_0x537082['hkxEF'](this['metrics']['processingTimes'][_0x315da9(0x21c)],0x0)?this['metrics']['processingTimes'][_0x315da9(0x1e8)]((_0x16c699,_0xcf039f)=>_0x16c699+_0xcf039f,0x0)/this[_0x315da9(0x1fe)][_0x315da9(0x1b9)][_0x315da9(0x21c)]:0x0,_0x7a3d4e=this['metrics'][_0x315da9(0x1b9)]['length']>0x0?Math[_0x315da9(0x1d0)](...this[_0x315da9(0x1fe)]['processingTimes']):0x0,_0x1729a1=this['metrics'][_0x315da9(0x1b9)][_0x315da9(0x21c)]>0x0?Math['max'](...this[_0x315da9(0x1fe)][_0x315da9(0x1b9)]):0x0;return{'messagesReceived':this['metrics'][_0x315da9(0x224)],'messagesProcessed':this[_0x315da9(0x1fe)]['messagesProcessed'],'messagesFailed':this[_0x315da9(0x1fe)]['messagesFailed'],'successRate':_0x537082['ezFbN'](this['metrics'][_0x315da9(0x224)],0x0)?_0x537082['nnIca'](_0x537082['hXOuB'](this[_0x315da9(0x1fe)][_0x315da9(0x1e4)],this['metrics'][_0x315da9(0x224)]),0x64)[_0x315da9(0x1c6)](0x2)+'%':'0%','lastMessageTime':this[_0x315da9(0x1fe)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics'][_0x315da9(0x1ff)]?Math['floor'](_0x537082['JMzDw'](_0x537082[_0x315da9(0x213)](Date['now'](),this[_0x315da9(0x1fe)][_0x315da9(0x1ff)]['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x102761)+'ms','min':_0x7a3d4e+'ms','max':_0x537082['EzAEj'](_0x1729a1,'ms')}};}['resetMetrics'](){const _0x7c00fa=a0_0x3786b,_0x15929f={'BPPeD':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x7c00fa(0x1fe)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x7c00fa(0x20d)]?new Date():null,'processingTimes':[]},console[_0x7c00fa(0x1df)](_0x15929f[_0x7c00fa(0x1cb)]);}async[a0_0x3786b(0x1c7)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1192f0=a0_0x3786b;instance&&(instance[_0x1192f0(0x1c7)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x2177a3=a0_0x444c;(function(_0x26421a,_0x3a8cf3){const _0x169289=a0_0x444c,_0x30c4f8=_0x26421a();while(!![]){try{const _0xefe69a=-parseInt(_0x169289(0x1a7))/0x1+-parseInt(_0x169289(0x17f))/0x2*(parseInt(_0x169289(0x1c5))/0x3)+-parseInt(_0x169289(0x18d))/0x4*(parseInt(_0x169289(0x1b4))/0x5)+parseInt(_0x169289(0x179))/0x6+-parseInt(_0x169289(0x1a8))/0x7*(-parseInt(_0x169289(0x1a4))/0x8)+-parseInt(_0x169289(0x1b8))/0x9*(parseInt(_0x169289(0x1c3))/0xa)+parseInt(_0x169289(0x192))/0xb;if(_0xefe69a===_0x3a8cf3)break;else _0x30c4f8['push'](_0x30c4f8['shift']());}catch(_0x313f32){_0x30c4f8['push'](_0x30c4f8['shift']());}}}(a0_0x3cc4,0x5bcb1));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x3cc4(){const _0x56d189=['Bg9N','mZaWmda','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','y29UC3vTzxi','zMLVCg4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','icHMCM9TqMvNAw5UAw5NoIa','C3bSAxq','CMvXDwvZDfrPBwvVDxq','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','AxndB25Uzwn0zwq','ndq1mtK3mg9kDNrhyG','DNHQwNG','sMHYz0m','ChjVy2vZC2LUz1rPBwvZ','Eu5fq2u','v0fstG','mNjMrxHLBW','AM9PBG','s0fgs0fFuKvuuLLFqvruru1qvfm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','uhnMtMe','C2vLAW','DMfSDwu','Ae5nvfG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','C3rVCa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzuHHBMrSzxi','BwLU','zw5HyMXLza','mJGYmtK0ofbvqLbxtG','t21XyNi','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mte0mdu2mtrouM5mA2e','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','z2v0q29UzMLN','surtteO','BKjTrK8','lwnVBNn1BwvYlwDYB3vW','CMvZDgzVCMDLlq','tK9useLorW','Dg9gAxHLza','s0fgs0fFu0fttf9qqvntv09sra','uevjBKK','BvHbEhC','Bwv0CMLJCW','mtaWma','DhDgzKG','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','y29UC3vTzxiUCMvIywXHBMnPBMC','mZG5oduYmg1NC2XNAq','ChryuuS','z2v0tg9Ntgv2zwW','nZeYnda3t2zqwKz0','n1bAuLDnDW','Dg9tDhjPBMC','BwfW','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','mJuWmda','C3vIC2nYAwjLzfrVCgLJCW','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','C3rHCNrdB25ZDw1PBMC','nxnXt3nArq','AxnjBML0AwfSAxPPBMC','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','mJyYntnJrMjitNa','Bwf4','zgvMyxvSDa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','DgD0qKK','s0fgs0fFu0fttf9nruniqu5ju00','DKHevLK','CMvZzxrnzxrYAwnZ','Aw5PDgLHBgL6zq','BgfZDe1LC3nHz2vuAw1L','otmWzhzgsK1Z','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','nJaZmdCYBwXMBxLZ','CM91BMq','C2vLA1rVt2zMC2v0','z3jVDxbjza','AxnqyxvZzwq','BwvZC2fNzxnszwnLAxzLza','CgfYC2vizwfKzxjZ','C3rHCNruAw1L','su5gtW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','y1vYD1y','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','A2v5','yxv0B0nVBw1PDa','zxjYB3i','s0fgs0fFq09otKvdveLptL9usu1ft1vu','mxW5Fdz8mhWXmhW3Fdj8ohWZFdr8nq','BwvZC2fNzxnqCM9JzxnZzwq','AxnsDw5UAw5N','s0fgs0fFte9hx0XfvKvm','z2v0u3rHDhvZ','vfjvAw4','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','wenMq2G','ChvZAa','zw52','s0fgs0fFu1nm','BM93','y2XVC2u','BwvZC2fNzxngywLSzwq','Cgf5Bg9Hza','lwnVBNn1BwvY','s0fgs0fFu0fttf9vu0vstKfnrq','y2XPzw50swq'];a0_0x3cc4=function(){return _0x56d189;};return a0_0x3cc4();}function a0_0x444c(_0x706a9d,_0x2a5f50){_0x706a9d=_0x706a9d-0x167;const _0x3cc463=a0_0x3cc4();let _0x444c14=_0x3cc463[_0x706a9d];if(a0_0x444c['erXPOa']===undefined){var _0xdaa142=function(_0x43807c){const _0x24536f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x175bb7='',_0x27fa7a='';for(let _0xaab86b=0x0,_0x4c92b8,_0x4397cb,_0x1de6b3=0x0;_0x4397cb=_0x43807c['charAt'](_0x1de6b3++);~_0x4397cb&&(_0x4c92b8=_0xaab86b%0x4?_0x4c92b8*0x40+_0x4397cb:_0x4397cb,_0xaab86b++%0x4)?_0x175bb7+=String['fromCharCode'](0xff&_0x4c92b8>>(-0x2*_0xaab86b&0x6)):0x0){_0x4397cb=_0x24536f['indexOf'](_0x4397cb);}for(let _0x4b9fd7=0x0,_0x16e4e6=_0x175bb7['length'];_0x4b9fd7<_0x16e4e6;_0x4b9fd7++){_0x27fa7a+='%'+('00'+_0x175bb7['charCodeAt'](_0x4b9fd7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27fa7a);};a0_0x444c['rewSqR']=_0xdaa142,a0_0x444c['RovbYL']={},a0_0x444c['erXPOa']=!![];}const _0x417041=_0x3cc463[0x0],_0x46757e=_0x706a9d+_0x417041,_0x44446b=a0_0x444c['RovbYL'][_0x46757e];return!_0x44446b?(_0x444c14=a0_0x444c['rewSqR'](_0x444c14),a0_0x444c['RovbYL'][_0x46757e]=_0x444c14):_0x444c14=_0x44446b,_0x444c14;}class KafkaConsumerService{constructor(){const _0x2d1223=a0_0x444c,_0xf54cc4=_0x2d1223(0x1d7)['split']('|');let _0x292911=0x0;while(!![]){switch(_0xf54cc4[_0x292911++]){case'0':this[_0x2d1223(0x1b5)]=![];continue;case'1':this['kafka']=null;continue;case'2':this['connectionPromise']=null;continue;case'3':this[_0x2d1223(0x1c8)]=null;continue;case'4':this[_0x2d1223(0x18a)]=null;continue;case'5':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'6':this[_0x2d1223(0x178)]=![];continue;case'7':this['isPaused']=![];continue;case'8':this['subscribedTopics']=[];continue;case'9':this[_0x2d1223(0x170)]=null;continue;case'10':this[_0x2d1223(0x1d9)]=![];continue;}break;}}[a0_0x2177a3(0x194)](){const _0x3359b3=a0_0x2177a3,_0x17fd9a={'TRUin':function(_0x1b4fb9,_0x295a27){return _0x1b4fb9===_0x295a27;},'VZVxr':'true','tJKhi':'localhost:9092','tgtBI':function(_0x30188f,_0x29d254){return _0x30188f(_0x29d254);},'nBmFO':_0x3359b3(0x1ae),'yNECe':'3000','ptXQK':'1048576','hfYQz':function(_0x42cf64,_0x242b49){return _0x42cf64===_0x242b49;},'bUaLs':'5000'};return{'enabled':_0x17fd9a[_0x3359b3(0x1dc)](process[_0x3359b3(0x1e1)]['KAFKA_ENABLED'],_0x17fd9a['VZVxr']),'brokers':(process['env']['KAFKA_BROKERS']||_0x17fd9a['tJKhi'])[_0x3359b3(0x174)](','),'clientId':process[_0x3359b3(0x1e1)]['KAFKA_CLIENT_ID']||_0x3359b3(0x198)+(process['env'][_0x3359b3(0x1de)]||_0x3359b3(0x1ba))+_0x3359b3(0x168),'connectionTimeout':parseInt(process['env'][_0x3359b3(0x1d6)]||'3000'),'requestTimeout':_0x17fd9a[_0x3359b3(0x1bd)](parseInt,process[_0x3359b3(0x1e1)]['KAFKA_REQUEST_TIMEOUT']||_0x17fd9a[_0x3359b3(0x196)]),'sessionTimeout':_0x17fd9a[_0x3359b3(0x1bd)](parseInt,process[_0x3359b3(0x1e1)]['KAFKA_SESSION_TIMEOUT']||_0x3359b3(0x16c)),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x17fd9a[_0x3359b3(0x17d)]),'maxBytesPerPartition':parseInt(process[_0x3359b3(0x1e1)][_0x3359b3(0x1ad)]||_0x17fd9a[_0x3359b3(0x1a5)]),'autoCommit':_0x17fd9a['hfYQz'](process['env']['KAFKA_AUTO_COMMIT'],_0x17fd9a['VZVxr']),'autoCommitInterval':_0x17fd9a[_0x3359b3(0x1bd)](parseInt,process[_0x3359b3(0x1e1)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x17fd9a['bUaLs']),'retryAttempts':parseInt(process['env'][_0x3359b3(0x181)]||'3'),'retryDelay':parseInt(process[_0x3359b3(0x1e1)]['KAFKA_RETRY_DELAY']||_0x3359b3(0x19f)),'retryMaxDelay':parseInt(process[_0x3359b3(0x1e1)]['KAFKA_RETRY_MAX_DELAY']||_0x3359b3(0x16c)),'logLevel':process['env'][_0x3359b3(0x1da)]||'warn'};}[a0_0x2177a3(0x1a6)](_0xace867){const _0x5bcfc7=a0_0x2177a3,_0x3a960c={'nothing':logLevel[_0x5bcfc7(0x199)],'error':logLevel['ERROR'],'warn':logLevel[_0x5bcfc7(0x17e)],'info':logLevel[_0x5bcfc7(0x1cd)],'debug':logLevel['DEBUG']};return _0x3a960c[_0xace867['toLowerCase']()]||logLevel[_0x5bcfc7(0x17e)];}async[a0_0x2177a3(0x1c1)](_0x35bce8={}){const _0x451b64=a0_0x2177a3,_0x2d7218={'riJio':function(_0x3f6cfb,_0x3de6c3){return _0x3f6cfb===_0x3de6c3;},'PsfNa':_0x451b64(0x1ba),'cEQvz':function(_0x120445,_0x36f241){return _0x120445(_0x36f241);}},_0x24777d=this[_0x451b64(0x194)]();if(!_0x24777d['enabled'])return console['log'](_0x451b64(0x177)),![];if(this[_0x451b64(0x178)])return!![];if(this[_0x451b64(0x1b5)]&&this[_0x451b64(0x1ac)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4f119a=>{const _0x43dd44=_0x451b64;try{let _0x3ff825=undefined;_0x2d7218['riJio'](process['env'][_0x43dd44(0x1e2)],'true')&&(_0x3ff825=!![]);let _0x21a985=undefined;process[_0x43dd44(0x1e1)]['KAFKA_SASL_MECHANISM']&&(_0x21a985={'mechanism':process[_0x43dd44(0x1e1)][_0x43dd44(0x1be)],'username':process[_0x43dd44(0x1e1)][_0x43dd44(0x169)]||'','password':process['env'][_0x43dd44(0x19b)]||''}),this['kafka']=new Kafka({'clientId':_0x35bce8[_0x43dd44(0x16a)]||_0x24777d['clientId'],'brokers':_0x24777d[_0x43dd44(0x16e)],'connectionTimeout':_0x24777d['connectionTimeout'],'requestTimeout':_0x24777d[_0x43dd44(0x175)],'logLevel':this[_0x43dd44(0x1a6)](_0x24777d[_0x43dd44(0x176)]),'ssl':_0x3ff825,'sasl':_0x21a985,'retry':{'initialRetryTime':_0x24777d['retryDelay'],'retries':_0x24777d['retryAttempts'],'maxRetryTime':_0x24777d['retryMaxDelay']}}),this['groupId']=_0x35bce8[_0x43dd44(0x1c8)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x2d7218[_0x43dd44(0x183)])+_0x43dd44(0x197),this['consumer']=this['kafka']['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x24777d['sessionTimeout'],'heartbeatInterval':_0x24777d['heartbeatInterval'],'maxBytesPerPartition':_0x24777d[_0x43dd44(0x1bb)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console[_0x43dd44(0x16b)](_0x43dd44(0x1b7)+_0x24777d[_0x43dd44(0x16e)][_0x43dd44(0x180)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x2d7218['cEQvz'](_0x4f119a,!![]);}catch(_0x2f3516){console['error'](_0x43dd44(0x1ce)+_0x2f3516[_0x43dd44(0x1b6)]),this['isConnected']=![],_0x4f119a(![]);}finally{this[_0x43dd44(0x1b5)]=![];}}),this[_0x451b64(0x1ac)];}[a0_0x2177a3(0x1b0)](){const _0x1f02fe=a0_0x2177a3,_0x36681f={'cUrwV':_0x1f02fe(0x182),'hnfjq':_0x1f02fe(0x1d2)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x5a066d=_0x1f02fe;console['log'](_0x36681f[_0x5a066d(0x1cf)]),this['isConnected']=![],this[_0x5a066d(0x1d9)]=![];}),this['consumer']['on']('consumer.stop',()=>{const _0xb4f82=_0x1f02fe;console['log'](_0xb4f82(0x172)),this['isRunning']=![];}),this[_0x1f02fe(0x170)]['on']('consumer.crash',_0x472e1b=>{const _0xa287fc=_0x1f02fe;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x472e1b[_0xa287fc(0x167)]['error']['message']),this[_0xa287fc(0x1d9)]=![];}),this['consumer']['on'](_0x1f02fe(0x1a3),()=>{console['log'](_0x36681f['hnfjq']);});}async['subscribe'](_0x4d81f8,_0x115477=![]){const _0x5ba6bb=a0_0x2177a3;if(!this[_0x5ba6bb(0x178)])return console['error'](_0x5ba6bb(0x18f)),![];try{const _0xa83603=Array['isArray'](_0x4d81f8)?_0x4d81f8:[_0x4d81f8];for(const _0x3103b6 of _0xa83603){await this[_0x5ba6bb(0x170)]['subscribe']({'topic':_0x3103b6,'fromBeginning':_0x115477}),console[_0x5ba6bb(0x16b)](_0x5ba6bb(0x1ab)+_0x3103b6+_0x5ba6bb(0x173)+_0x115477+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0xa83603])],!![];}catch(_0x8d45d6){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x8d45d6['message']),![];}}async[a0_0x2177a3(0x1b3)](_0x4459c2,_0x32553e={}){const _0x3741dc=a0_0x2177a3,_0x24cc08={'Omqbr':function(_0x3f4b1f,_0x46ba69){return _0x3f4b1f(_0x46ba69);},'vHDVY':function(_0x3925aa,_0x1e0e44){return _0x3925aa-_0x1e0e44;},'JhrgC':function(_0x2a626e,_0xdfc22f){return _0x2a626e>_0xdfc22f;},'WXFvl':_0x3741dc(0x16f)};if(!this['isConnected'])return console[_0x3741dc(0x1d5)](_0x24cc08['WXFvl']),![];if(this['isRunning'])return console[_0x3741dc(0x16b)](_0x3741dc(0x1d1)),!![];const _0x1f2b15=this[_0x3741dc(0x194)]();this['messageHandler']=_0x4459c2;try{return this[_0x3741dc(0x19e)]['startTime']=new Date(),await this[_0x3741dc(0x170)]['run']({'autoCommit':_0x32553e[_0x3741dc(0x1d4)]!==undefined?_0x32553e[_0x3741dc(0x1d4)]:_0x1f2b15['autoCommit'],'autoCommitInterval':_0x1f2b15[_0x3741dc(0x1a1)],'eachMessage':async({topic:_0x5510d0,partition:_0x195d8b,message:_0x5bfad8,heartbeat:_0x2913c8})=>{const _0x49be25=_0x3741dc,_0x140ac7=Date['now']();this[_0x49be25(0x19e)][_0x49be25(0x1ca)]++,this[_0x49be25(0x19e)][_0x49be25(0x1c2)]=new Date();try{const _0x3d9fe3=_0x5bfad8[_0x49be25(0x185)]?_0x5bfad8['value'][_0x49be25(0x1a9)]():null;let _0x46a34e=null;try{_0x46a34e=_0x3d9fe3?JSON['parse'](_0x3d9fe3):null;}catch(_0x4284d0){_0x46a34e=_0x3d9fe3;}const _0x4a3099={'topic':_0x5510d0,'partition':_0x195d8b,'offset':_0x5bfad8['offset'],'key':_0x5bfad8['key']?_0x5bfad8[_0x49be25(0x1d3)]['toString']():null,'headers':this['parseHeaders'](_0x5bfad8['headers']),'timestamp':_0x5bfad8[_0x49be25(0x190)],'value':_0x46a34e,'raw':_0x3d9fe3};this[_0x49be25(0x18a)]&&await this['messageHandler'](_0x4a3099);!_0x1f2b15['autoCommit']&&await this[_0x49be25(0x170)]['commitOffsets']([{'topic':_0x5510d0,'partition':_0x195d8b,'offset':(_0x24cc08[_0x49be25(0x18e)](parseInt,_0x5bfad8['offset'])+0x1)[_0x49be25(0x1a9)]()}]);this[_0x49be25(0x19e)]['messagesProcessed']++;const _0x27ca32=_0x24cc08[_0x49be25(0x1bf)](Date[_0x49be25(0x1e3)](),_0x140ac7);this[_0x49be25(0x19e)]['processingTimes'][_0x49be25(0x1e0)](_0x27ca32),_0x24cc08[_0x49be25(0x17b)](this['metrics']['processingTimes'][_0x49be25(0x1d0)],0x64)&&this[_0x49be25(0x19e)][_0x49be25(0x17c)]['shift'](),await _0x2913c8();}catch(_0x5b8a0f){this['metrics'][_0x49be25(0x1e5)]++,console['error'](_0x49be25(0x189)+_0x5b8a0f['message']);throw _0x5b8a0f;}}}),this['isRunning']=!![],console['log'](_0x3741dc(0x16d)+this['subscribedTopics'][_0x3741dc(0x180)](',\x20')),!![];}catch(_0x70e014){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x70e014['message']),![];}}[a0_0x2177a3(0x1cb)](_0x50754c){const _0x4acf43=a0_0x2177a3;if(!_0x50754c)return{};const _0x396bb0={};for(const [_0x4adc09,_0x11e718]of Object['entries'](_0x50754c)){_0x396bb0[_0x4adc09]=_0x11e718?_0x11e718[_0x4acf43(0x1a9)]():null;}return _0x396bb0;}async['pause'](){const _0x1b042c=a0_0x2177a3,_0x28b7ca={'mXAxw':_0x1b042c(0x1bc),'HehmV':'[KafkaConsumer]\x20Consumer\x20already\x20paused','UEJpb':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this[_0x1b042c(0x1d9)])return console['log'](_0x28b7ca[_0x1b042c(0x19d)]),![];if(this[_0x1b042c(0x1c9)])return console['log'](_0x28b7ca['HehmV']),!![];try{const _0x5af991=this['subscribedTopics']['map'](_0x4220e5=>({'topic':_0x4220e5}));return this['consumer']['pause'](_0x5af991),this['isPaused']=!![],console['log'](_0x28b7ca['UEJpb']),!![];}catch(_0x13deef){return console[_0x1b042c(0x1d5)](_0x1b042c(0x191)+_0x13deef['message']),![];}}async['resume'](){const _0x38627b=a0_0x2177a3;if(!this[_0x38627b(0x178)]||!this['isRunning'])return console[_0x38627b(0x16b)](_0x38627b(0x1b1)),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x2d6dc6=this[_0x38627b(0x1af)][_0x38627b(0x1aa)](_0xc7d901=>({'topic':_0xc7d901}));return this['consumer']['resume'](_0x2d6dc6),this[_0x38627b(0x1c9)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x49b849){return console['error'](_0x38627b(0x1a2)+_0x49b849['message']),![];}}async[a0_0x2177a3(0x188)](){const _0x3550bf=a0_0x2177a3,_0x1a6cc4={'vZXgy':_0x3550bf(0x187)};if(!this[_0x3550bf(0x178)])return console[_0x3550bf(0x16b)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer']['disconnect']()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x1a6cc4['vZXgy']),!![];}catch(_0x5d70b6){return console['error'](_0x3550bf(0x1b2)+_0x5d70b6[_0x3550bf(0x1b6)]),![];}}async[a0_0x2177a3(0x1c7)](_0x17e2ab,_0x16f13d,_0x3744af){const _0x579c8d=a0_0x2177a3;if(!this[_0x579c8d(0x178)])return console[_0x579c8d(0x1d5)](_0x579c8d(0x193)),![];try{return this['consumer'][_0x579c8d(0x184)]({'topic':_0x17e2ab,'partition':_0x16f13d,'offset':_0x3744af[_0x579c8d(0x1a9)]()}),console['log'](_0x579c8d(0x1c4)+_0x3744af+'\x20on\x20'+_0x17e2ab+':'+_0x16f13d),!![];}catch(_0x1762b6){return console['error'](_0x579c8d(0x1dd)+_0x1762b6[_0x579c8d(0x1b6)]),![];}}[a0_0x2177a3(0x1db)](){const _0x3e4898=a0_0x2177a3,_0x544c72=this[_0x3e4898(0x194)]();return{'enabled':_0x544c72[_0x3e4898(0x18c)],'connected':this[_0x3e4898(0x178)],'running':this[_0x3e4898(0x1d9)],'paused':this[_0x3e4898(0x1c9)],'brokers':_0x544c72[_0x3e4898(0x16e)],'clientId':_0x544c72['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x3e4898(0x1af)]};}['getMetrics'](){const _0x294e6d=a0_0x2177a3,_0x45c545={'XCfCh':function(_0x319212,_0x293e06){return _0x319212>_0x293e06;},'vxjZx':function(_0x1069c1,_0x1cb233){return _0x1069c1+_0x1cb233;},'IDSLJ':function(_0x919c26,_0x4e84ea){return _0x919c26*_0x4e84ea;},'DluYY':function(_0x33820e,_0x11d917){return _0x33820e/_0x11d917;},'PEInI':function(_0x483e33,_0x46b15e){return _0x483e33+_0x46b15e;},'twFfH':function(_0x273b66,_0x1baa60){return _0x273b66-_0x1baa60;},'mCFaS':function(_0x178f7e,_0x1de586){return _0x178f7e+_0x1de586;},'hNMTX':function(_0x403c0b,_0x50d117){return _0x403c0b+_0x50d117;}},_0x496058=_0x45c545[_0x294e6d(0x1df)](this[_0x294e6d(0x19e)]['processingTimes'][_0x294e6d(0x1d0)],0x0)?this[_0x294e6d(0x19e)]['processingTimes']['reduce']((_0x5a5e52,_0x520e05)=>_0x5a5e52+_0x520e05,0x0)/this['metrics'][_0x294e6d(0x17c)]['length']:0x0,_0x141021=_0x45c545[_0x294e6d(0x1df)](this['metrics'][_0x294e6d(0x17c)][_0x294e6d(0x1d0)],0x0)?Math[_0x294e6d(0x18b)](...this['metrics'][_0x294e6d(0x17c)]):0x0,_0x2e2f35=_0x45c545[_0x294e6d(0x1df)](this['metrics'][_0x294e6d(0x17c)][_0x294e6d(0x1d0)],0x0)?Math[_0x294e6d(0x1b9)](...this[_0x294e6d(0x19e)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x294e6d(0x1ca)],'messagesProcessed':this[_0x294e6d(0x19e)]['messagesProcessed'],'messagesFailed':this[_0x294e6d(0x19e)]['messagesFailed'],'successRate':this[_0x294e6d(0x19e)][_0x294e6d(0x1ca)]>0x0?_0x45c545[_0x294e6d(0x17a)](_0x45c545[_0x294e6d(0x195)](_0x45c545['DluYY'](this['metrics'][_0x294e6d(0x1d8)],this[_0x294e6d(0x19e)][_0x294e6d(0x1ca)]),0x64)[_0x294e6d(0x19a)](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0x294e6d(0x1cc)],'uptime':this[_0x294e6d(0x19e)][_0x294e6d(0x1cc)]?_0x45c545[_0x294e6d(0x19c)](Math['floor'](_0x45c545[_0x294e6d(0x1a0)](Date[_0x294e6d(0x1e3)](),this['metrics'][_0x294e6d(0x1cc)]['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':_0x45c545['mCFaS'](Math[_0x294e6d(0x1c6)](_0x496058),'ms'),'min':_0x141021+'ms','max':_0x45c545[_0x294e6d(0x186)](_0x2e2f35,'ms')}};}[a0_0x2177a3(0x1c0)](){const _0x4d8ad0=a0_0x2177a3,_0x3c49a4={'fiopn':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x3c49a4[_0x4d8ad0(0x171)]);}async[a0_0x2177a3(0x1e4)](){const _0xa5a7fa=a0_0x2177a3;await this[_0xa5a7fa(0x188)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x6f0e15=a0_0x2177a3;instance&&(instance[_0x6f0e15(0x1e4)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|