@restforgejs/platform 5.2.4 → 5.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +235 -30
- package/generators/lib/migrate/backend-payload-migrator.js +39 -17
- package/generators/lib/migrate/field-type-resolver.js +64 -7
- package/generators/lib/payload/payload-runner.js +72 -6
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a0_0x2b74(){const _0x53f935=['zNbktvm','mJu4mtKYuhDmufbk','mtm1mJm0nNjSz2nZsG','odqYnZm3z2jjwMTu','x3jLzgLZuhvIBgLZAgvY','x3b1yMXPC2HuB1jLzgLZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','BND2yvG','A1bMBfK','Ag9ZDa','BgLZDgvUzxjZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','ndrswhLlvNy','BgL2zxn5BMnFC3vIC2nYAwjL','AxnbCNjHEq','Bg9Nz2vY','y29UBMvJDa','u2vgrNe','x2HHBMrSzunVBM5Ly3rPB24','ChvZAa','Dw5ZDwjZy3jPyMvK','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','AxnbBgL2zq','odu1mZu2A09xC1vQ','DxbNCMfKzq','v3zTuNO','C2vUza','C3rYAw5N','mti3lJaUmc4X','Aw5MBW','uKvesvnFse9tva','x3DVCMTLCKLK','mJG4uLDituvw','zgf0yq','BgvUz3rO','mtC2ndyWy09IqNDW','Bg9JywXOB3n0','Bxb4B20','EhvgBwC','ChvIBgLZAgvY','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','BwvZC2fNzq','x3jLzgLZu3vIC2nYAwjLCG','mtbHthPICLa','vu9rC1i','CgLUzW','z2v0q2XPzw50','Aw5PDgLHBgL6zq','uNPNCvi','odyXnZCWmer0sfPtDG','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CMvHzhLtDgf0zq','ignSAwvUDcHZkq','zgvSzxrL','x2jYB2fKy2fZDeXVy2fS','CMvXDwvZDeLK','x3nLBMruB0nSAwvUDa','wxbtzK0','C3vIC2nYAwjLzenOyw5UzwXZ','zhHjrgO','u2vYDMvYihnODxr0Aw5NigrVD24','vM9pteu','qNjVywrJyxn0ia','BM1Mz1G','nNWZFdb8nhWYFdv8mq','ywn0Aw9U','z2v0','y2f0y2G','x2XVz2DLCG','AM9PBG','yNnJyvu','AgvHzgvYCW','x3n0yxj0sgvHCNrIzwf0','y2XPzw50CW','suPzz3G','l3DZ','q29Wzfi','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvn1yNnJCMLIzq','zxjYB3i','x3nLDhvWvxbNCMfKzuf1DgG','x2HLyxj0yMvHDfrPBwvY','Dw5ZDwjZy3jPyMu','Aw9YzwrPCW','C2vHCMnOugfYyw1Z','t0HOALG','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','CxvPDa','x2HHBMrSzvvUC3vIC2nYAwjL','C3bSAxq','C3rYAw5NAwz5','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','zfvsv1O','AgfZ','vffvs3G','AhjqEMy','tuPqr3q','y2HHBM5LBhm','Dg9tDhjPBMC','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','C29JA2v0','lI4VlI4VDxrPBhmVBg9Nz2vY','Ae1wuMi','DhLWzq','tgTmBK0','v3PsA3u','DgHLBG','C3rHCNrZv2L0Aa','C2L6zq','sw52ywXPzcbku09oig1LC3nHz2u','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','x3n1yNnJCMLWDgLVBNm','C2H1DgrVD24','DKvyvxa','Ec1HCgKTA2v5','y2fSBa','yxbPs2v5','D3jPDgu','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','CgDdDhG','x21Vzgu','zw52','C2v0','DxjS','x2LUAxrPywXPEMvK','uKvesvnFueftu1DpuKq','D2fYBG','C2XPy2u','BgL2zxn5BMnFD3nZx2vYCM9Y','y2XLyxi','x29WDgLVBNm','C3vIC2nYAwjL','x3nLDhvWuMvKAxm','x293BLb1yMXPC2HLCG','Ahr0CdOVlW','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','ywrK','mteWndCXmMLlrwjdsW','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','Dg9ju09tDhjPBMC','ihrVia','Cg9UzW','zgvIDwC','x3DZCW','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza'];a0_0x2b74=function(){return _0x53f935;};return a0_0x2b74();}const a0_0x59d242=a0_0x1e6b;(function(_0x4b5d04,_0x540a02){const _0x2e1dee=a0_0x1e6b,_0x38cd25=_0x4b5d04();while(!![]){try{const _0x3a288e=-parseInt(_0x2e1dee(0x1f8))/0x1+-parseInt(_0x2e1dee(0x201))/0x2*(-parseInt(_0x2e1dee(0x184))/0x3)+parseInt(_0x2e1dee(0x20d))/0x4*(parseInt(_0x2e1dee(0x18c))/0x5)+-parseInt(_0x2e1dee(0x1f7))/0x6+-parseInt(_0x2e1dee(0x1ed))/0x7+-parseInt(_0x2e1dee(0x216))/0x8*(-parseInt(_0x2e1dee(0x1f6))/0x9)+-parseInt(_0x2e1dee(0x192))/0xa;if(_0x3a288e===_0x540a02)break;else _0x38cd25['push'](_0x38cd25['shift']());}catch(_0x4ce2f6){_0x38cd25['push'](_0x38cd25['shift']());}}}(a0_0x2b74,0xa2c94));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';function a0_0x1e6b(_0x187adc,_0x28ef40){_0x187adc=_0x187adc-0x184;const _0x2b7480=a0_0x2b74();let _0x1e6b5f=_0x2b7480[_0x187adc];if(a0_0x1e6b['ingzcl']===undefined){var _0x53200c=function(_0x102648){const _0x432a9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21d04c='',_0x4349ce='';for(let _0x197721=0x0,_0x4c6fe6,_0x268c3e,_0x5e4b62=0x0;_0x268c3e=_0x102648['charAt'](_0x5e4b62++);~_0x268c3e&&(_0x4c6fe6=_0x197721%0x4?_0x4c6fe6*0x40+_0x268c3e:_0x268c3e,_0x197721++%0x4)?_0x21d04c+=String['fromCharCode'](0xff&_0x4c6fe6>>(-0x2*_0x197721&0x6)):0x0){_0x268c3e=_0x432a9f['indexOf'](_0x268c3e);}for(let _0x31731c=0x0,_0x241088=_0x21d04c['length'];_0x31731c<_0x241088;_0x31731c++){_0x4349ce+='%'+('00'+_0x21d04c['charCodeAt'](_0x31731c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4349ce);};a0_0x1e6b['JeQFTK']=_0x53200c,a0_0x1e6b['mdBNsx']={},a0_0x1e6b['ingzcl']=!![];}const _0x3d0d1f=_0x2b7480[0x0],_0x385a6b=_0x187adc+_0x3d0d1f,_0x5010ce=a0_0x1e6b['mdBNsx'][_0x385a6b];return!_0x5010ce?(_0x1e6b5f=a0_0x1e6b['JeQFTK'](_0x1e6b5f),a0_0x1e6b['mdBNsx'][_0x385a6b]=_0x1e6b5f):_0x1e6b5f=_0x5010ce,_0x1e6b5f;}class WebSocketBroadcaster{constructor(){const _0x49cb61=a0_0x1e6b,_0x2e1cc0={'WzRku':'1|3|8|0|2|5|7|9|6|4'},_0x298c2e=_0x2e1cc0[_0x49cb61(0x1cd)][_0x49cb61(0x1bc)]('|');let _0x57c39b=0x0;while(!![]){switch(_0x298c2e[_0x57c39b++]){case'0':this[_0x49cb61(0x1e6)]={};continue;case'1':this['_wss']=null;continue;case'2':this[_0x49cb61(0x1a5)]=console;continue;case'3':this['_initialized']=![];continue;case'4':this[_0x49cb61(0x215)]=process['pid'];continue;case'5':this['_subscriptions']=new Map();continue;case'6':this[_0x49cb61(0x18b)]=null;continue;case'7':this[_0x49cb61(0x1b2)]=null;continue;case'8':this[_0x49cb61(0x1dc)]=null;continue;case'9':this[_0x49cb61(0x1f9)]=null;continue;}break;}}[a0_0x59d242(0x190)](_0x558c53,_0x198aa0={}){const _0x438ffc=a0_0x59d242,_0x3e30bc={'IJYgx':'full','YpSfM':_0x438ffc(0x1c9),'SeFFq':function(_0xe82f98,_0xce36a1,_0x488522){return _0xe82f98(_0xce36a1,_0x488522);},'YwkPw':'connection','FpHGS':'error','gfWod':'livesync_initialized'};if(this['_initialized'])return;this['_options']=_0x198aa0,this['_mode']=_0x3e30bc['IJYgx'];try{this[_0x438ffc(0x1a5)]=require(_0x3e30bc[_0x438ffc(0x19a)])[_0x438ffc(0x204)]||console;}catch(_0x1b1a65){this['_logger']=console;}const _0x29a825=_0x3e30bc[_0x438ffc(0x206)](parseInt,process['env'][_0x438ffc(0x20a)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x558c53,'path':'/ws'}),this['_setupUpgradeAuth'](_0x558c53),this[_0x438ffc(0x1f3)]['on'](_0x3e30bc['YwkPw'],(_0x4f201f,_0x142280)=>this[_0x438ffc(0x207)](_0x4f201f,_0x142280)),this[_0x438ffc(0x1f3)]['on'](_0x3e30bc['FpHGS'],_0x879ceb=>{const _0x41b0aa=_0x438ffc;this['_logger']['error']({'event':_0x41b0aa(0x1e4),'error':_0x879ceb['message']},'WebSocket\x20server\x20error:\x20'+_0x879ceb['message']);}),this['_startHeartbeat'](_0x29a825),this[_0x438ffc(0x1e8)](),this[_0x438ffc(0x1e0)]=!![],this[_0x438ffc(0x1a5)]['info']({'event':_0x3e30bc['gfWod'],'mode':_0x3e30bc[_0x438ffc(0x1ab)],'path':'/ws','heartbeat':_0x29a825+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x29a825+'s)');}[a0_0x59d242(0x1d2)](_0x2675bc={}){const _0x327ef9=a0_0x59d242,_0x4ed519={'xQJHM':_0x327ef9(0x1a1),'hMVRb':'publisher','yZTqA':_0x327ef9(0x193),'pDwRF':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)','RzgqR':'../../utils/logger'},_0x12f0ad=_0x4ed519['xQJHM'][_0x327ef9(0x1bc)]('|');let _0x167687=0x0;while(!![]){switch(_0x12f0ad[_0x167687++]){case'0':this['_mode']=_0x4ed519[_0x327ef9(0x1ca)];continue;case'1':this[_0x327ef9(0x1a5)][_0x327ef9(0x213)]({'event':_0x4ed519['yZTqA'],'mode':'publisher'},_0x4ed519['pDwRF']);continue;case'2':this['_setupRedisPublisher']();continue;case'3':this[_0x327ef9(0x1e6)]=_0x2675bc;continue;case'4':try{this['_logger']=require(_0x4ed519[_0x327ef9(0x191)])['logger']||console;}catch(_0x4e447f){this[_0x327ef9(0x1a5)]=console;}continue;case'5':this['_initialized']=!![];continue;case'6':if(this['_initialized'])return;continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x29e318,_0xf6c9f3){const _0x586c9b=a0_0x59d242,_0x455771={'narXJ':'data_change','mpxom':function(_0x5e2c9b,_0x1aa952){return _0x5e2c9b===_0x1aa952;},'rpSzA':function(_0x5e00da,_0x113aa3){return _0x5e00da===_0x113aa3;}};if(!this[_0x586c9b(0x1e0)])return;if(this['_mode']===_0x586c9b(0x188)){this[_0x586c9b(0x1fa)](_0x29e318,_0xf6c9f3);return;}const _0x28bd44=JSON['stringify']({'type':_0x455771['narXJ'],'channel':_0x29e318,'action':_0xf6c9f3[_0x586c9b(0x1a2)],'data':_0xf6c9f3['data'],'requestId':_0xf6c9f3[_0x586c9b(0x198)]||null,'timestamp':new Date()[_0x586c9b(0x1ef)]()}),[_0x2d7e91]=_0x29e318['split'](':');let _0x2b7df6=0x0;for(const [_0xf15d4,_0x1422a9]of this['_subscriptions']){const _0x4c03da=_0xf15d4===_0x29e318,_0x419591=_0x455771[_0x586c9b(0x186)](_0xf15d4,_0x2d7e91+':*');if(_0x4c03da||_0x419591)for(const _0x5594b3 of _0x1422a9){if(_0x455771['rpSzA'](_0x5594b3[_0x586c9b(0x194)],0x1))try{_0x5594b3['send'](_0x28bd44),_0x2b7df6++;}catch(_0x38dd78){}}}_0x2b7df6>0x0&&this['_logger']['debug']({'event':_0x586c9b(0x1ae),'channel':_0x29e318,'action':_0xf6c9f3['action'],'clients':_0x2b7df6},_0x586c9b(0x19f)+_0xf6c9f3['action']+'\x20on\x20'+_0x29e318+_0x586c9b(0x1f0)+_0x2b7df6+_0x586c9b(0x195));}['_publishToRedis'](_0x342469,_0x95bf32){const _0x5ed472=a0_0x59d242;if(!this[_0x5ed472(0x1f9)])return;const _0x3ee10f=JSON['stringify']({'channel':_0x342469,'message':_0x95bf32,'workerId':this['_workerId']});this[_0x5ed472(0x1f9)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3ee10f)['catch'](()=>{});}[a0_0x59d242(0x1d4)](){const _0x1f3e35=a0_0x59d242,_0x39917e={'lrPwz':function(_0x43690a,_0x2abc7d){return _0x43690a(_0x2abc7d);},'CopdR':_0x1f3e35(0x19d),'JbcmL':'livesync_shutdown'};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x39917e['lrPwz'](clearInterval,this[_0x1f3e35(0x1b2)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x36a7d6 of this[_0x1f3e35(0x1f3)]['clients']){try{_0x36a7d6['close'](0x3e9,_0x39917e[_0x1f3e35(0x1ad)]);}catch(_0x490a74){}}this['_wss']['close']();}if(this[_0x1f3e35(0x18b)])try{this['_redisSubscriber'][_0x1f3e35(0x1b3)](),this['_redisSubscriber'][_0x1f3e35(0x1ba)]();}catch(_0x1da83c){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x1f3e35(0x1ba)]();}catch(_0x4a0741){}this[_0x1f3e35(0x1d3)][_0x1f3e35(0x1e5)](),this['_initialized']=![],this[_0x1f3e35(0x1a5)][_0x1f3e35(0x213)]({'event':_0x39917e['JbcmL'],'mode':this[_0x1f3e35(0x1dc)]},'Live\x20Sync\x20'+this[_0x1f3e35(0x1dc)]+'\x20shut\x20down');}[a0_0x59d242(0x1b1)](_0x47c465){const _0x33a59d=a0_0x59d242,_0xcc2833={'WvmRz':_0x33a59d(0x1ac),'MbnRD':_0x33a59d(0x185),'xuFmg':_0x33a59d(0x1d6),'TWOST':_0x33a59d(0x1b9),'OHhjX':_0x33a59d(0x20e)},_0x2bb3cb=_0x47c465[_0x33a59d(0x1ff)](_0x33a59d(0x20e))[_0x33a59d(0x1e3)]();_0x47c465['removeAllListeners'](_0xcc2833[_0x33a59d(0x1b6)]),_0x47c465['on']('upgrade',(_0x38b269,_0x1b12d5,_0xc51a55)=>{const _0x528a67=_0x33a59d;if(!_0x38b269[_0x528a67(0x1df)]||!_0x38b269['url'][_0x528a67(0x1cf)](_0xcc2833[_0x528a67(0x20f)])){for(const _0x587e94 of _0x2bb3cb){_0x587e94[_0x528a67(0x1d7)](_0x47c465,_0x38b269,_0x1b12d5,_0xc51a55);}return;}if(this['_options'][_0x528a67(0x1d8)]){const _0x2631d8=new URL(_0x38b269[_0x528a67(0x1df)],_0x528a67(0x1ea)+(_0x38b269['headers'][_0x528a67(0x1fe)]||_0xcc2833['MbnRD'])),_0x543cf5=_0x2631d8[_0x528a67(0x1b5)][_0x528a67(0x1a3)](_0xcc2833[_0x528a67(0x187)])||_0x38b269['headers'][_0xcc2833[_0x528a67(0x187)]];if(!_0x543cf5||_0x543cf5!==this[_0x528a67(0x1e6)][_0x528a67(0x1d8)]){_0x1b12d5[_0x528a67(0x1d9)](_0xcc2833['TWOST']),_0x1b12d5['destroy']();return;}}this['_wss']['handleUpgrade'](_0x38b269,_0x1b12d5,_0xc51a55,_0x1d4d79=>{const _0x5e015b=_0x528a67;this[_0x5e015b(0x1f3)]['emit']('connection',_0x1d4d79,_0x38b269);});});}[a0_0x59d242(0x207)](_0x2492d2,_0x586e5a){const _0x281d6f=a0_0x59d242,_0x5d6945={'YrRxN':_0x281d6f(0x1b0),'dURWZ':'livesync_client_disconnected','fpJMS':_0x281d6f(0x1da),'tYBrN':'livesync_client_connected'};_0x2492d2['isAlive']=!![],_0x2492d2['subscribedChannels']=new Set();const _0x26416e=_0x586e5a[_0x281d6f(0x1a8)]['x-forwarded-for']||_0x586e5a[_0x281d6f(0x1c8)]['remoteAddress'];this['_logger'][_0x281d6f(0x213)]({'event':_0x5d6945['tYBrN'],'ip':_0x26416e},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x26416e),_0x2492d2['on']('pong',()=>{const _0x462266=_0x281d6f;_0x2492d2[_0x462266(0x20c)]=!![];}),_0x2492d2['on']('message',_0x353f04=>{const _0x28f7bc=_0x281d6f;try{const _0x26032a=JSON['parse'](_0x353f04[_0x28f7bc(0x1c6)]());this['_handleClientMessage'](_0x2492d2,_0x26032a);}catch(_0x4978de){this['_sendToClient'](_0x2492d2,{'type':_0x5d6945['YrRxN'],'message':_0x28f7bc(0x1d1)});}}),_0x2492d2['on']('close',()=>{const _0x291d30=_0x281d6f;this[_0x291d30(0x200)](_0x2492d2),this['_logger'][_0x291d30(0x1f2)]({'event':_0x5d6945[_0x291d30(0x1c0)],'ip':_0x26416e},_0x291d30(0x1b7)+_0x26416e);}),_0x2492d2['on']('error',_0x394f5b=>{const _0x4e8e1c=_0x281d6f;this[_0x4e8e1c(0x1a5)]['warn']({'event':_0x5d6945[_0x4e8e1c(0x1f5)],'error':_0x394f5b[_0x4e8e1c(0x18a)]},_0x4e8e1c(0x1fb)+_0x394f5b['message']),this[_0x4e8e1c(0x200)](_0x2492d2);});}['_handleClientMessage'](_0x2e9f83,_0x1f5936){const _0x37bf65=a0_0x59d242,_0x1c0b57={'EjwIZ':_0x37bf65(0x1b3)};switch(_0x1f5936['type']){case _0x37bf65(0x1e7):this[_0x37bf65(0x1af)](_0x2e9f83,_0x1f5936['channels']);break;case _0x1c0b57['EjwIZ']:this[_0x37bf65(0x1bb)](_0x2e9f83,_0x1f5936[_0x37bf65(0x1c5)]);break;case _0x37bf65(0x1f1):_0x2e9f83['isAlive']=!![];break;default:this['_sendToClient'](_0x2e9f83,{'type':_0x37bf65(0x1b0),'message':_0x37bf65(0x1eb)+_0x1f5936[_0x37bf65(0x1cb)]});}}[a0_0x59d242(0x1af)](_0x3a390e,_0x4bc360){const _0x2f0bf4=a0_0x59d242,_0x433ead={'dxIDj':'channels\x20must\x20be\x20a\x20non-empty\x20array','pgCtx':function(_0x2820b9,_0x1b7b49){return _0x2820b9!==_0x1b7b49;}};if(!Array['isArray'](_0x4bc360)||_0x4bc360[_0x2f0bf4(0x218)]===0x0){this['_sendToClient'](_0x3a390e,{'type':'error','message':_0x433ead[_0x2f0bf4(0x19c)]});return;}const _0x112a94=[];for(const _0x524ca7 of _0x4bc360){if(_0x433ead[_0x2f0bf4(0x1db)](typeof _0x524ca7,_0x2f0bf4(0x211))||!_0x524ca7['includes'](':'))continue;!this['_subscriptions']['has'](_0x524ca7)&&this[_0x2f0bf4(0x1d3)][_0x2f0bf4(0x1de)](_0x524ca7,new Set()),this['_subscriptions'][_0x2f0bf4(0x1a3)](_0x524ca7)[_0x2f0bf4(0x1ec)](_0x3a390e),_0x3a390e[_0x2f0bf4(0x19b)][_0x2f0bf4(0x1ec)](_0x524ca7),_0x112a94[_0x2f0bf4(0x208)](_0x524ca7);}_0x112a94[_0x2f0bf4(0x218)]>0x0&&(this['_sendToClient'](_0x3a390e,{'type':'subscribed','channels':_0x112a94,'timestamp':new Date()[_0x2f0bf4(0x1ef)]()}),this[_0x2f0bf4(0x1a5)][_0x2f0bf4(0x1f2)]({'event':_0x2f0bf4(0x202),'channels':_0x112a94},'Client\x20subscribed\x20to:\x20'+_0x112a94[_0x2f0bf4(0x1a6)](',\x20')));}['_handleUnsubscribe'](_0x3658c9,_0x8b612f){const _0x452be4=a0_0x59d242,_0x37174e={'rchSO':_0x452be4(0x209)};if(!Array[_0x452be4(0x203)](_0x8b612f))return;const _0x2e277a=[];for(const _0x16c9b0 of _0x8b612f){this[_0x452be4(0x1d3)]['has'](_0x16c9b0)&&(this['_subscriptions']['get'](_0x16c9b0)[_0x452be4(0x196)](_0x3658c9),this[_0x452be4(0x1d3)][_0x452be4(0x1a3)](_0x16c9b0)['size']===0x0&&this['_subscriptions']['delete'](_0x16c9b0)),_0x3658c9['subscribedChannels'][_0x452be4(0x196)](_0x16c9b0),_0x2e277a[_0x452be4(0x208)](_0x16c9b0);}_0x2e277a[_0x452be4(0x218)]>0x0&&this[_0x452be4(0x199)](_0x3658c9,{'type':_0x37174e['rchSO'],'channels':_0x2e277a,'timestamp':new Date()[_0x452be4(0x1ef)]()});}['_removeClientFromAllChannels'](_0x41816f){const _0xf6a89f=a0_0x59d242,_0x364f29={'UOQsR':function(_0x52ef66,_0x1ff72a){return _0x52ef66===_0x1ff72a;}};if(!_0x41816f[_0xf6a89f(0x19b)])return;for(const _0x5516f of _0x41816f['subscribedChannels']){this[_0xf6a89f(0x1d3)][_0xf6a89f(0x1c1)](_0x5516f)&&(this[_0xf6a89f(0x1d3)][_0xf6a89f(0x1a3)](_0x5516f)[_0xf6a89f(0x196)](_0x41816f),_0x364f29[_0xf6a89f(0x18d)](this['_subscriptions'][_0xf6a89f(0x1a3)](_0x5516f)[_0xf6a89f(0x1d0)],0x0)&&this[_0xf6a89f(0x1d3)][_0xf6a89f(0x196)](_0x5516f));}_0x41816f['subscribedChannels'][_0xf6a89f(0x1e5)]();}[a0_0x59d242(0x199)](_0x32f76b,_0x5edee9){const _0x4224bc={'uXjMZ':function(_0x4e4c7f,_0x4c0aef){return _0x4e4c7f===_0x4c0aef;}};if(_0x4224bc['uXjMZ'](_0x32f76b['readyState'],0x1))try{_0x32f76b['send'](JSON['stringify'](_0x5edee9));}catch(_0x228908){}}[a0_0x59d242(0x1a9)](_0x292c44){const _0x56e52a=a0_0x59d242,_0x4d39a0={'kPflY':function(_0x43db3c,_0x33c632,_0x215f9d){return _0x43db3c(_0x33c632,_0x215f9d);}};this['_heartbeatTimer']=_0x4d39a0[_0x56e52a(0x1fd)](setInterval,()=>{const _0x3e41cf=_0x56e52a;if(!this[_0x3e41cf(0x1f3)])return;for(const _0x4b7740 of this['_wss'][_0x3e41cf(0x1aa)]){if(!_0x4b7740[_0x3e41cf(0x20c)]){this[_0x3e41cf(0x200)](_0x4b7740),_0x4b7740['terminate']();continue;}_0x4b7740['isAlive']=![],this[_0x3e41cf(0x199)](_0x4b7740,{'type':_0x3e41cf(0x18e),'timestamp':new Date()[_0x3e41cf(0x1ef)]()});try{_0x4b7740[_0x3e41cf(0x18e)]();}catch(_0x4aebb3){}}},_0x292c44*0x3e8);}['_setupRedisPublisher'](){const _0x3559ce=a0_0x59d242,_0x3d39cf={'LkLnM':'livesync_redis_publisher_failed','TQUKx':_0x3559ce(0x1bf),'hrPzf':'../../utils/redis-client','nmfgX':function(_0x46ebfb,_0x102b58){return _0x46ebfb(_0x102b58);},'FbyMf':_0x3559ce(0x212),'WSzUi':function(_0x256e68,_0x5b54df,_0x319fc7){return _0x256e68(_0x5b54df,_0x319fc7);},'QfbLJ':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x154185=require(_0x3d39cf[_0x3559ce(0x1c3)]);this[_0x3559ce(0x1f9)]=_0x154185[_0x3559ce(0x18f)]?_0x154185[_0x3559ce(0x18f)]():null;}catch(_0x187de5){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x5dd8b1=_0x3d39cf[_0x3559ce(0x1a0)](require,_0x3559ce(0x1b4)),_0x58365c={'host':process['env'][_0x3559ce(0x214)]||_0x3d39cf['FbyMf'],'port':parseInt(process[_0x3559ce(0x1dd)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x3559ce(0x1dd)]['REDIS_PASSWORD']||undefined,'db':_0x3d39cf['WSzUi'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x3559ce(0x1f9)]=new _0x5dd8b1(_0x58365c),this[_0x3559ce(0x1e9)]=!![],this[_0x3559ce(0x1f9)][_0x3559ce(0x205)]()['catch'](()=>{const _0x213d68=_0x3559ce;this['_logger']['warn']({'event':_0x3d39cf[_0x213d68(0x1cc)]},_0x3d39cf[_0x213d68(0x1c2)]),this[_0x213d68(0x1f9)]=null;});}}catch(_0x4549d5){this[_0x3559ce(0x1a5)]['warn']({'event':_0x3d39cf['QfbLJ'],'error':_0x4549d5['message']},_0x3559ce(0x1be)+_0x4549d5['message']);}}['_setupRedis'](){const _0x4e524c=a0_0x59d242,_0x173c72={'sEotX':_0x4e524c(0x1bf),'MJPGt':'message','nwvaX':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','AGHwy':function(_0x1985e5,_0x1564fc){return _0x1985e5(_0x1564fc);},'VoOLE':_0x4e524c(0x212),'ViMoD':function(_0x3e23bc,_0x71a4e7,_0x165738){return _0x3e23bc(_0x71a4e7,_0x165738);},'bscaU':_0x4e524c(0x1ee)};this['_ownPublisher']=![];try{const _0x1d99a2=_0x173c72['AGHwy'](require,_0x4e524c(0x1b4)),_0x13013d={'host':process['env'][_0x4e524c(0x214)]||_0x173c72[_0x4e524c(0x19e)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x4e524c(0x1e1)]||undefined,'db':_0x173c72['ViMoD'](parseInt,process[_0x4e524c(0x1dd)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1787f0=require('../../utils/redis-client');this['_redisPublisher']=_0x1787f0[_0x4e524c(0x18f)]?_0x1787f0['getClient']():null;}catch(_0x22f854){this[_0x4e524c(0x1f9)]=null;}!this[_0x4e524c(0x1f9)]&&(this[_0x4e524c(0x1f9)]=new _0x1d99a2(_0x13013d),this[_0x4e524c(0x1e9)]=!![],this[_0x4e524c(0x1f9)][_0x4e524c(0x205)]()[_0x4e524c(0x1a4)](()=>{const _0x15c48c=_0x4e524c;this['_logger'][_0x15c48c(0x1e2)]({'event':_0x15c48c(0x1f4)},_0x173c72['sEotX']),this[_0x15c48c(0x1f9)]=null;})),this[_0x4e524c(0x18b)]=new _0x1d99a2(_0x13013d),this[_0x4e524c(0x18b)][_0x4e524c(0x205)]()[_0x4e524c(0x1ce)](()=>{const _0x3f4173=_0x4e524c;this['_redisSubscriber'][_0x3f4173(0x1e7)](REDIS_CHANNEL_PREFIX+'broadcast',_0x5dce59=>{const _0x3cc7c8=_0x3f4173;if(_0x5dce59){this['_logger'][_0x3cc7c8(0x1b0)]({'event':_0x3cc7c8(0x189),'error':_0x5dce59['message']},_0x3cc7c8(0x1b8)+_0x5dce59[_0x3cc7c8(0x18a)]);return;}this[_0x3cc7c8(0x1a5)][_0x3cc7c8(0x213)]({'event':_0x3cc7c8(0x20b)},_0x3cc7c8(0x1c7));}),this[_0x3f4173(0x18b)]['on'](_0x173c72[_0x3f4173(0x1c4)],(_0x3e444d,_0x1900ee)=>{const _0x254abd=_0x3f4173;try{const _0x3b8a1b=JSON['parse'](_0x1900ee);if(_0x3b8a1b['workerId']===this[_0x254abd(0x215)])return;this[_0x254abd(0x197)](_0x3b8a1b['channel'],_0x3b8a1b['message']);}catch(_0x3f7933){}});})['catch'](()=>{const _0x588c36=_0x4e524c;this[_0x588c36(0x1a5)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x173c72[_0x588c36(0x1fc)]),this['_redisSubscriber']=null;});}catch(_0x3f8575){this['_logger'][_0x4e524c(0x1e2)]({'event':_0x173c72[_0x4e524c(0x1a7)],'error':_0x3f8575[_0x4e524c(0x18a)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x3f8575[_0x4e524c(0x18a)]);}}[a0_0x59d242(0x197)](_0xd9dcef,_0x3f87f8){const _0x3f8652=a0_0x59d242,_0x54bdef={'taWLi':function(_0x6a580a,_0x3df2c9){return _0x6a580a===_0x3df2c9;},'hKhYa':function(_0x88dc61,_0x22f37d){return _0x88dc61||_0x22f37d;},'vEXUp':function(_0x4c9cb7,_0x35c0fd){return _0x4c9cb7===_0x35c0fd;}};if(!this['_wss'])return;const _0x3fe3a9=JSON[_0x3f8652(0x1bd)]({'type':'data_change','channel':_0xd9dcef,'action':_0x3f87f8[_0x3f8652(0x1a2)],'data':_0x3f87f8[_0x3f8652(0x217)],'requestId':_0x3f87f8[_0x3f8652(0x198)]||null,'timestamp':new Date()['toISOString']()}),[_0x2ad292]=_0xd9dcef[_0x3f8652(0x1bc)](':');for(const [_0x24af12,_0x4b8af8]of this[_0x3f8652(0x1d3)]){const _0x59a18f=_0x24af12===_0xd9dcef,_0x1584f7=_0x54bdef['taWLi'](_0x24af12,_0x2ad292+':*');if(_0x54bdef['hKhYa'](_0x59a18f,_0x1584f7))for(const _0x42bd27 of _0x4b8af8){if(_0x54bdef[_0x3f8652(0x1d5)](_0x42bd27[_0x3f8652(0x194)],0x1))try{_0x42bd27[_0x3f8652(0x210)](_0x3fe3a9);}catch(_0x385395){}}}}}module['exports']=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0x258e5d=a0_0x4898;(function(_0x3f78cf,_0x3c4135){const _0x2b3710=a0_0x4898,_0x251dac=_0x3f78cf();while(!![]){try{const _0x31630f=parseInt(_0x2b3710(0x21d))/0x1+-parseInt(_0x2b3710(0x1cd))/0x2*(parseInt(_0x2b3710(0x222))/0x3)+parseInt(_0x2b3710(0x24e))/0x4*(parseInt(_0x2b3710(0x240))/0x5)+-parseInt(_0x2b3710(0x200))/0x6+parseInt(_0x2b3710(0x1d5))/0x7*(parseInt(_0x2b3710(0x223))/0x8)+-parseInt(_0x2b3710(0x234))/0x9+parseInt(_0x2b3710(0x23f))/0xa;if(_0x31630f===_0x3c4135)break;else _0x251dac['push'](_0x251dac['shift']());}catch(_0x38c6f6){_0x251dac['push'](_0x251dac['shift']());}}}(a0_0x112b,0x3cb14));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x258e5d(0x216)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x481e3a=a0_0x258e5d,_0x35de74={'HwVmE':'5|3|1|9|7|4|0|2|6|8'},_0x354dd5=_0x35de74[_0x481e3a(0x1dc)][_0x481e3a(0x220)]('|');let _0x17f733=0x0;while(!![]){switch(_0x354dd5[_0x17f733++]){case'0':this['_heartbeatTimer']=null;continue;case'1':this[_0x481e3a(0x1f0)]=null;continue;case'2':this['_redisPublisher']=null;continue;case'3':this[_0x481e3a(0x1e9)]=![];continue;case'4':this['_subscriptions']=new Map();continue;case'5':this[_0x481e3a(0x242)]=null;continue;case'6':this['_redisSubscriber']=null;continue;case'7':this['_logger']=console;continue;case'8':this['_workerId']=process['pid'];continue;case'9':this['_options']={};continue;}break;}}[a0_0x258e5d(0x214)](_0x47da10,_0x24662f={}){const _0x545ad1=a0_0x258e5d,_0x20381d={'xGdGy':'livesync_wss_error','PKQns':_0x545ad1(0x24c),'LjOue':function(_0x2e4cb9,_0x1cf07c){return _0x2e4cb9(_0x1cf07c);},'aLsVU':'connection'};if(this['_initialized'])return;this[_0x545ad1(0x20b)]=_0x24662f,this['_mode']=_0x20381d[_0x545ad1(0x249)];try{this['_logger']=_0x20381d[_0x545ad1(0x250)](require,_0x545ad1(0x204))['logger']||console;}catch(_0x1f68e5){this['_logger']=console;}const _0x59d110=parseInt(process['env'][_0x545ad1(0x1e5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x47da10,'path':'/ws'}),this[_0x545ad1(0x22b)](_0x47da10),this['_wss']['on'](_0x20381d['aLsVU'],(_0x65cba8,_0x33ebed)=>this['_handleConnection'](_0x65cba8,_0x33ebed)),this['_wss']['on']('error',_0x2ae47b=>{const _0x98d720=_0x545ad1;this['_logger'][_0x98d720(0x20d)]({'event':_0x20381d[_0x98d720(0x1ee)],'error':_0x2ae47b[_0x98d720(0x210)]},_0x98d720(0x212)+_0x2ae47b['message']);}),this[_0x545ad1(0x1f7)](_0x59d110),this[_0x545ad1(0x22e)](),this['_initialized']=!![],this[_0x545ad1(0x1e8)]['info']({'event':'livesync_initialized','mode':_0x20381d['PKQns'],'path':_0x545ad1(0x20e),'heartbeat':_0x59d110+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x59d110+'s)');}[a0_0x258e5d(0x203)](_0x1c773c={}){const _0x38eed3=a0_0x258e5d,_0x4158cd={'cpCdu':_0x38eed3(0x204),'uHbQh':'publisher','jHgrj':_0x38eed3(0x221)};if(this[_0x38eed3(0x1e9)])return;this['_options']=_0x1c773c,this[_0x38eed3(0x1f0)]=_0x38eed3(0x1f1);try{this[_0x38eed3(0x1e8)]=require(_0x4158cd['cpCdu'])[_0x38eed3(0x233)]||console;}catch(_0x3662b1){this[_0x38eed3(0x1e8)]=console;}this[_0x38eed3(0x1eb)](),this[_0x38eed3(0x1e9)]=!![],this['_logger'][_0x38eed3(0x1ed)]({'event':_0x38eed3(0x24f),'mode':_0x4158cd['uHbQh']},_0x4158cd[_0x38eed3(0x1d8)]);}[a0_0x258e5d(0x243)](){return this['_initialized'];}[a0_0x258e5d(0x21f)](_0x1aaafc,_0x204d1d){const _0x5091a8=a0_0x258e5d,_0x332fc9={'oewmq':function(_0x40f347,_0x577bb8){return _0x40f347===_0x577bb8;},'kazMZ':_0x5091a8(0x1f1),'MuGAF':function(_0x557254,_0xb3fa0){return _0x557254||_0xb3fa0;},'FkDlx':function(_0x415a28,_0x3e7a89){return _0x415a28===_0x3e7a89;},'GEwVl':function(_0x4def5a,_0x4f7dd4){return _0x4def5a>_0x4f7dd4;}};if(!this[_0x5091a8(0x1e9)])return;if(_0x332fc9[_0x5091a8(0x230)](this[_0x5091a8(0x1f0)],_0x332fc9['kazMZ'])){this['_publishToRedis'](_0x1aaafc,_0x204d1d);return;}const _0x3748b9=JSON['stringify']({'type':'data_change','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'data':_0x204d1d[_0x5091a8(0x21a)],'requestId':_0x204d1d[_0x5091a8(0x22f)]||null,'timestamp':new Date()[_0x5091a8(0x202)]()}),[_0xf1dee3]=_0x1aaafc[_0x5091a8(0x220)](':');let _0x274a01=0x0;for(const [_0x1ab880,_0x387b9b]of this['_subscriptions']){const _0x2ae9ed=_0x1ab880===_0x1aaafc,_0x5f2f3a=_0x1ab880===_0xf1dee3+':*';if(_0x332fc9[_0x5091a8(0x206)](_0x2ae9ed,_0x5f2f3a))for(const _0x4fc35b of _0x387b9b){if(_0x332fc9[_0x5091a8(0x207)](_0x4fc35b[_0x5091a8(0x1cf)],0x1))try{_0x4fc35b['send'](_0x3748b9),_0x274a01++;}catch(_0x429cbf){}}}_0x332fc9['GEwVl'](_0x274a01,0x0)&&this[_0x5091a8(0x1e8)][_0x5091a8(0x224)]({'event':'livesync_broadcast','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'clients':_0x274a01},_0x5091a8(0x211)+_0x204d1d['action']+'\x20on\x20'+_0x1aaafc+'\x20to\x20'+_0x274a01+'\x20client(s)');}['_publishToRedis'](_0x4207bb,_0x402bd7){const _0x385b97=a0_0x258e5d;if(!this[_0x385b97(0x24b)])return;const _0x188f54=JSON['stringify']({'channel':_0x4207bb,'message':_0x402bd7,'workerId':this['_workerId']});this[_0x385b97(0x24b)][_0x385b97(0x219)](REDIS_CHANNEL_PREFIX+'broadcast',_0x188f54)[_0x385b97(0x1d7)](()=>{});}[a0_0x258e5d(0x209)](){const _0x1941b6=a0_0x258e5d,_0x13c4ba={'GIGbm':function(_0x276e9c,_0x4e6e5c){return _0x276e9c(_0x4e6e5c);},'IZieS':_0x1941b6(0x226)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x13c4ba['GIGbm'](clearInterval,this['_heartbeatTimer']),this[_0x1941b6(0x227)]=null);if(this[_0x1941b6(0x242)]){for(const _0x27bce9 of this[_0x1941b6(0x242)]['clients']){try{_0x27bce9[_0x1941b6(0x1de)](0x3e9,_0x13c4ba[_0x1941b6(0x1ce)]);}catch(_0x352a40){}}this[_0x1941b6(0x242)]['close']();}if(this[_0x1941b6(0x1c8)])try{this['_redisSubscriber'][_0x1941b6(0x229)](),this[_0x1941b6(0x1c8)]['quit']();}catch(_0x5420b0){}if(this[_0x1941b6(0x20a)]&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x3a6d2e){}this['_subscriptions']['clear'](),this['_initialized']=![],this[_0x1941b6(0x1e8)]['info']({'event':'livesync_shutdown','mode':this['_mode']},_0x1941b6(0x1db)+this[_0x1941b6(0x1f0)]+_0x1941b6(0x1e7));}['_setupUpgradeAuth'](_0x3d1015){const _0x5648c3=a0_0x258e5d,_0x1c55c6={'QBLnc':'connection','KADOX':'/ws','rlDvZ':'x-api-key','aVmmj':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','jFLrr':'upgrade'},_0x1e2fbe=_0x3d1015['listeners'](_0x5648c3(0x1d3))[_0x5648c3(0x23a)]();_0x3d1015['removeAllListeners'](_0x1c55c6[_0x5648c3(0x1e1)]),_0x3d1015['on'](_0x1c55c6['jFLrr'],(_0x458b79,_0x27a325,_0x5fac3a)=>{const _0x131bce=_0x5648c3;if(!_0x458b79['url']||!_0x458b79['url']['startsWith'](_0x1c55c6['KADOX'])){for(const _0x5beb49 of _0x1e2fbe){_0x5beb49['call'](_0x3d1015,_0x458b79,_0x27a325,_0x5fac3a);}return;}if(this['_options']['apiKey']){const _0x3ec764=new URL(_0x458b79['url'],_0x131bce(0x20f)+(_0x458b79[_0x131bce(0x251)]['host']||'localhost')),_0x1d63fd=_0x3ec764[_0x131bce(0x1fe)][_0x131bce(0x201)](_0x1c55c6['rlDvZ'])||_0x458b79['headers'][_0x1c55c6['rlDvZ']];if(!_0x1d63fd||_0x1d63fd!==this[_0x131bce(0x20b)]['apiKey']){_0x27a325['write'](_0x1c55c6[_0x131bce(0x24a)]),_0x27a325['destroy']();return;}}this['_wss'][_0x131bce(0x20c)](_0x458b79,_0x27a325,_0x5fac3a,_0x4268ef=>{const _0x5d065c=_0x131bce;this['_wss']['emit'](_0x1c55c6[_0x5d065c(0x241)],_0x4268ef,_0x458b79);});});}['_handleConnection'](_0xe0fd94,_0x46c4e4){const _0x56fd98=a0_0x258e5d,_0xd44873={'TOtdK':'error','tKfjk':_0x56fd98(0x23c),'QgQkR':_0x56fd98(0x1fd),'WHFlf':'pong','RVbFE':'message','KjsSM':'close'};_0xe0fd94['isAlive']=!![],_0xe0fd94['subscribedChannels']=new Set();const _0xa19b0e=_0x46c4e4[_0x56fd98(0x251)]['x-forwarded-for']||_0x46c4e4['socket'][_0x56fd98(0x228)];this[_0x56fd98(0x1e8)]['info']({'event':_0xd44873[_0x56fd98(0x1d2)],'ip':_0xa19b0e},_0x56fd98(0x213)+_0xa19b0e),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x215)],()=>{const _0xd7881c=_0x56fd98;_0xe0fd94[_0xd7881c(0x231)]=!![];}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x1fb)],_0x3c02f2=>{const _0x1a08e5=_0x56fd98;try{const _0x34a210=JSON[_0x1a08e5(0x1d1)](_0x3c02f2['toString']());this['_handleClientMessage'](_0xe0fd94,_0x34a210);}catch(_0x5811ae){this[_0x1a08e5(0x246)](_0xe0fd94,{'type':_0xd44873['TOtdK'],'message':_0x1a08e5(0x1cc)});}}),_0xe0fd94['on'](_0xd44873['KjsSM'],()=>{const _0x18fbb5=_0x56fd98;this['_removeClientFromAllChannels'](_0xe0fd94),this[_0x18fbb5(0x1e8)][_0x18fbb5(0x224)]({'event':_0x18fbb5(0x1ff),'ip':_0xa19b0e},_0x18fbb5(0x1d0)+_0xa19b0e);}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x248)],_0x2e5a9e=>{const _0x45d9fb=_0x56fd98;this[_0x45d9fb(0x1e8)]['warn']({'event':_0xd44873['tKfjk'],'error':_0x2e5a9e['message']},'WebSocket\x20client\x20error:\x20'+_0x2e5a9e['message']),this[_0x45d9fb(0x1e2)](_0xe0fd94);});}['_handleClientMessage'](_0x533fee,_0x3109b){const _0x2fc483=a0_0x258e5d,_0x4a7ddb={'Jfang':_0x2fc483(0x20d)};switch(_0x3109b[_0x2fc483(0x1f6)]){case _0x2fc483(0x239):this['_handleSubscribe'](_0x533fee,_0x3109b['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x533fee,_0x3109b[_0x2fc483(0x1d4)]);break;case _0x2fc483(0x225):_0x533fee[_0x2fc483(0x231)]=!![];break;default:this['_sendToClient'](_0x533fee,{'type':_0x4a7ddb['Jfang'],'message':_0x2fc483(0x237)+_0x3109b[_0x2fc483(0x1f6)]});}}[a0_0x258e5d(0x1c7)](_0x238078,_0x20fd18){const _0x138abc=a0_0x258e5d,_0x2abb1f={'LjZtR':function(_0x350e9c,_0x59acb7){return _0x350e9c===_0x59acb7;},'KafNL':_0x138abc(0x20d),'Zklpz':_0x138abc(0x1d9),'yQLrG':_0x138abc(0x208)};if(!Array['isArray'](_0x20fd18)||_0x2abb1f[_0x138abc(0x1f9)](_0x20fd18[_0x138abc(0x23b)],0x0)){this['_sendToClient'](_0x238078,{'type':_0x2abb1f['KafNL'],'message':_0x138abc(0x1c9)});return;}const _0x4dd3e2=[];for(const _0x764804 of _0x20fd18){if(typeof _0x764804!=='string'||!_0x764804[_0x138abc(0x23e)](':'))continue;!this[_0x138abc(0x1ca)]['has'](_0x764804)&&this[_0x138abc(0x1ca)][_0x138abc(0x22c)](_0x764804,new Set()),this[_0x138abc(0x1ca)][_0x138abc(0x201)](_0x764804)['add'](_0x238078),_0x238078['subscribedChannels']['add'](_0x764804),_0x4dd3e2['push'](_0x764804);}_0x4dd3e2[_0x138abc(0x23b)]>0x0&&(this[_0x138abc(0x246)](_0x238078,{'type':_0x2abb1f[_0x138abc(0x1fa)],'channels':_0x4dd3e2,'timestamp':new Date()['toISOString']()}),this[_0x138abc(0x1e8)][_0x138abc(0x224)]({'event':_0x2abb1f[_0x138abc(0x1f2)],'channels':_0x4dd3e2},'Client\x20subscribed\x20to:\x20'+_0x4dd3e2[_0x138abc(0x252)](',\x20')));}[a0_0x258e5d(0x21b)](_0x3fa24e,_0x38df74){const _0x2a0c67=a0_0x258e5d,_0x3242e5={'aQfvH':function(_0x15aaae,_0x525520){return _0x15aaae===_0x525520;}};if(!Array['isArray'](_0x38df74))return;const _0x2bb862=[];for(const _0x2b88a4 of _0x38df74){this['_subscriptions'][_0x2a0c67(0x1cb)](_0x2b88a4)&&(this['_subscriptions']['get'](_0x2b88a4)['delete'](_0x3fa24e),_0x3242e5['aQfvH'](this[_0x2a0c67(0x1ca)][_0x2a0c67(0x201)](_0x2b88a4)['size'],0x0)&&this[_0x2a0c67(0x1ca)]['delete'](_0x2b88a4)),_0x3fa24e['subscribedChannels']['delete'](_0x2b88a4),_0x2bb862['push'](_0x2b88a4);}_0x2bb862[_0x2a0c67(0x23b)]>0x0&&this['_sendToClient'](_0x3fa24e,{'type':_0x2a0c67(0x1e3),'channels':_0x2bb862,'timestamp':new Date()[_0x2a0c67(0x202)]()});}['_removeClientFromAllChannels'](_0x2339af){const _0xe97fb=a0_0x258e5d;if(!_0x2339af[_0xe97fb(0x1f4)])return;for(const _0x305a6a of _0x2339af['subscribedChannels']){this['_subscriptions']['has'](_0x305a6a)&&(this[_0xe97fb(0x1ca)][_0xe97fb(0x201)](_0x305a6a)['delete'](_0x2339af),this[_0xe97fb(0x1ca)]['get'](_0x305a6a)['size']===0x0&&this[_0xe97fb(0x1ca)]['delete'](_0x305a6a));}_0x2339af['subscribedChannels'][_0xe97fb(0x1f8)]();}['_sendToClient'](_0x3d1538,_0x3a6634){const _0x4530b0=a0_0x258e5d;if(_0x3d1538[_0x4530b0(0x1cf)]===0x1)try{_0x3d1538['send'](JSON[_0x4530b0(0x24d)](_0x3a6634));}catch(_0x3bb9cf){}}[a0_0x258e5d(0x1f7)](_0x57f64f){const _0x3622cf={'zMTZG':'ping'};this['_heartbeatTimer']=setInterval(()=>{const _0x17dcdd=a0_0x4898;if(!this['_wss'])return;for(const _0x502a9d of this[_0x17dcdd(0x242)][_0x17dcdd(0x218)]){if(!_0x502a9d['isAlive']){this['_removeClientFromAllChannels'](_0x502a9d),_0x502a9d['terminate']();continue;}_0x502a9d['isAlive']=![],this['_sendToClient'](_0x502a9d,{'type':_0x3622cf[_0x17dcdd(0x245)],'timestamp':new Date()[_0x17dcdd(0x202)]()});try{_0x502a9d['ping']();}catch(_0x4f656f){}}},_0x57f64f*0x3e8);}['_setupRedisPublisher'](){const _0xf12426=a0_0x258e5d,_0x50d7dd={'UNKjO':function(_0x39571c,_0x194f96){return _0x39571c(_0x194f96);},'sgqVc':'127.0.0.1','POJDs':function(_0x41ccf2,_0x3e84e4,_0x109aa6){return _0x41ccf2(_0x3e84e4,_0x109aa6);},'ClZJx':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x12e3e7=_0x50d7dd['UNKjO'](require,_0xf12426(0x1f3));this['_redisPublisher']=_0x12e3e7[_0xf12426(0x21c)]?_0x12e3e7['getClient']():null;}catch(_0x134f9e){this['_redisPublisher']=null;}if(!this[_0xf12426(0x24b)]){const _0xdd6c8f=require(_0xf12426(0x247)),_0x3d170d={'host':process['env']['REDIS_HOST']||_0x50d7dd['sgqVc'],'port':_0x50d7dd['POJDs'](parseInt,process[_0xf12426(0x217)][_0xf12426(0x1df)],0xa)||0x18eb,'password':process[_0xf12426(0x217)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0xf12426(0x22a)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0xdd6c8f(_0x3d170d),this['_ownPublisher']=!![],this['_redisPublisher'][_0xf12426(0x236)]()[_0xf12426(0x1d7)](()=>{const _0x445383=_0xf12426;this['_logger'][_0x445383(0x1e6)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x5c1036){this['_logger']['warn']({'event':_0x50d7dd['ClZJx'],'error':_0x5c1036['message']},_0xf12426(0x1c6)+_0x5c1036[_0xf12426(0x210)]);}}['_setupRedis'](){const _0x1228e0=a0_0x258e5d,_0x40923a={'EQqCP':_0x1228e0(0x1ec),'GahoS':_0x1228e0(0x1ef),'FAxMF':'message','YCXqr':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','ftKrv':function(_0x72dfc0,_0x1e199b){return _0x72dfc0(_0x1e199b);},'nhoWL':'ioredis','tIDKo':function(_0x5dddf9,_0x3f2616,_0x1ff24e){return _0x5dddf9(_0x3f2616,_0x1ff24e);},'LXqMW':function(_0x77ecac,_0x421235){return _0x77ecac(_0x421235);},'FKitA':_0x1228e0(0x1f3)};this[_0x1228e0(0x20a)]=![];try{const _0x537281=_0x40923a['ftKrv'](require,_0x40923a[_0x1228e0(0x1da)]),_0x4dce9e={'host':process['env'][_0x1228e0(0x1e4)]||_0x1228e0(0x244),'port':_0x40923a['tIDKo'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x1228e0(0x1e0)]||undefined,'db':parseInt(process[_0x1228e0(0x217)][_0x1228e0(0x22a)],0xa)||0x0,'lazyConnect':!![]};try{const _0x390fef=_0x40923a['LXqMW'](require,_0x40923a[_0x1228e0(0x238)]);this[_0x1228e0(0x24b)]=_0x390fef[_0x1228e0(0x21c)]?_0x390fef[_0x1228e0(0x21c)]():null;}catch(_0x323a7c){this[_0x1228e0(0x24b)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x537281(_0x4dce9e),this['_ownPublisher']=!![],this['_redisPublisher'][_0x1228e0(0x236)]()[_0x1228e0(0x1d7)](()=>{const _0x36a3bc=_0x1228e0;this[_0x36a3bc(0x1e8)]['warn']({'event':_0x36a3bc(0x235)},_0x40923a['EQqCP']),this['_redisPublisher']=null;})),this[_0x1228e0(0x1c8)]=new _0x537281(_0x4dce9e),this[_0x1228e0(0x1c8)]['connect']()['then'](()=>{const _0x39973c=_0x1228e0,_0x3eb8f2={'iHmhv':_0x40923a[_0x39973c(0x1f5)]};this['_redisSubscriber'][_0x39973c(0x239)](REDIS_CHANNEL_PREFIX+_0x39973c(0x21f),_0xe5242=>{const _0x30f587=_0x39973c;if(_0xe5242){this['_logger']['error']({'event':_0x3eb8f2['iHmhv'],'error':_0xe5242[_0x30f587(0x210)]},_0x30f587(0x205)+_0xe5242['message']);return;}this[_0x30f587(0x1e8)][_0x30f587(0x1ed)]({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on'](_0x40923a['FAxMF'],(_0x4c9a16,_0x190ff6)=>{const _0x244774=_0x39973c;try{const _0x239d1e=JSON['parse'](_0x190ff6);if(_0x239d1e[_0x244774(0x1fc)]===this[_0x244774(0x22d)])return;this['_broadcastLocal'](_0x239d1e['channel'],_0x239d1e['message']);}catch(_0x17888d){}});})['catch'](()=>{const _0x268359=_0x1228e0;this[_0x268359(0x1e8)][_0x268359(0x1e6)]({'event':_0x268359(0x232)},_0x40923a[_0x268359(0x1d6)]),this['_redisSubscriber']=null;});}catch(_0x12eef4){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x12eef4['message']},_0x1228e0(0x21e)+_0x12eef4[_0x1228e0(0x210)]);}}[a0_0x258e5d(0x23d)](_0x3efdac,_0x48cb24){const _0x3d0e30=a0_0x258e5d,_0x384220={'vnUfK':function(_0x4e52e5,_0x4970a0){return _0x4e52e5===_0x4970a0;},'ITyvb':function(_0xcbe2a2,_0x37c70d){return _0xcbe2a2===_0x37c70d;}};if(!this['_wss'])return;const _0xb41355=JSON['stringify']({'type':'data_change','channel':_0x3efdac,'action':_0x48cb24[_0x3d0e30(0x1dd)],'data':_0x48cb24['data'],'requestId':_0x48cb24['requestId']||null,'timestamp':new Date()[_0x3d0e30(0x202)]()}),[_0x7b8173]=_0x3efdac['split'](':');for(const [_0x27a761,_0x24f507]of this['_subscriptions']){const _0x448ae7=_0x384220['vnUfK'](_0x27a761,_0x3efdac),_0x3b53f9=_0x384220['vnUfK'](_0x27a761,_0x7b8173+':*');if(_0x448ae7||_0x3b53f9)for(const _0x214515 of _0x24f507){if(_0x384220[_0x3d0e30(0x1ea)](_0x214515['readyState'],0x1))try{_0x214515['send'](_0xb41355);}catch(_0x247400){}}}}}function a0_0x4898(_0x4ca625,_0x3682ef){_0x4ca625=_0x4ca625-0x1c6;const _0x112b98=a0_0x112b();let _0x489823=_0x112b98[_0x4ca625];if(a0_0x4898['oVtsCT']===undefined){var _0x3d01a1=function(_0x4b3114){const _0x22add5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f3a5c='',_0x20b6d5='';for(let _0x2582aa=0x0,_0x346571,_0x29f895,_0x938fea=0x0;_0x29f895=_0x4b3114['charAt'](_0x938fea++);~_0x29f895&&(_0x346571=_0x2582aa%0x4?_0x346571*0x40+_0x29f895:_0x29f895,_0x2582aa++%0x4)?_0x1f3a5c+=String['fromCharCode'](0xff&_0x346571>>(-0x2*_0x2582aa&0x6)):0x0){_0x29f895=_0x22add5['indexOf'](_0x29f895);}for(let _0x74b5b5=0x0,_0x18cbcf=_0x1f3a5c['length'];_0x74b5b5<_0x18cbcf;_0x74b5b5++){_0x20b6d5+='%'+('00'+_0x1f3a5c['charCodeAt'](_0x74b5b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b6d5);};a0_0x4898['uOKeHb']=_0x3d01a1,a0_0x4898['CcdIpD']={},a0_0x4898['oVtsCT']=!![];}const _0x386b78=_0x112b98[0x0],_0x5457ba=_0x4ca625+_0x386b78,_0x29b5fe=a0_0x4898['CcdIpD'][_0x5457ba];return!_0x29b5fe?(_0x489823=a0_0x4898['uOKeHb'](_0x489823),a0_0x4898['CcdIpD'][_0x5457ba]=_0x489823):_0x489823=_0x29b5fe,_0x489823;}module['exports']=WebSocketBroadcaster;function a0_0x112b(){const _0x3674c4=['x3nLBMruB0nSAwvUDa','Aw9YzwrPCW','ve90zeS','ueTrBNm','yvzTBwO','x3jLzgLZuhvIBgLZAgvY','zNvSBa','C3rYAw5NAwz5','mtj0BvjABhK','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','tgPpDwu','AgvHzgvYCW','AM9PBG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x2HHBMrSzvn1yNnJCMLIzq','x3jLzgLZu3vIC2nYAwjLCG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3n1yNnJCMLWDgLVBNm','AgfZ','sw52ywXPzcbku09oig1LC3nHz2u','nZrlq1vJrei','svPPzvm','CMvHzhLtDgf0zq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgfYC2u','uwDrA1i','DxbNCMfKzq','y2HHBM5LBhm','mZi5n2PfugLhBW','wunyCxi','y2f0y2G','AKHNCMO','C3vIC2nYAwjLza','BMHVv0W','tgL2zsbtEw5Jia','shDwBuu','ywn0Aw9U','y2XVC2u','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','AKzmCNi','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Dw5ZDwjZy3jPyMvK','uKvesvnFse9tva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','D2fYBG','ihnODxqGzg93BG','x2XVz2DLCG','x2LUAxrPywXPEMvK','svr5DMi','x3nLDhvWuMvKAxnqDwjSAxnOzxi','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','Aw5MBW','EeDKr3K','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','x21Vzgu','ChvIBgLZAgvY','EvfmCKC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','C3vIC2nYAwjLzenOyw5UzwXZ','r2fOB1m','DhLWzq','x3n0yxj0sgvHCNrIzwf0','y2XLyxi','tgPADfi','wMTSChO','uLzIrKu','D29YA2vYswq','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','C2vHCMnOugfYyw1Z','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','odm3mZqYBNrHvgDr','z2v0','Dg9ju09tDhjPBMC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','lI4VlI4VDxrPBhmVBg9Nz2vY','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','txvhquy','rMTeBhG','BgL2zxn5BMnFC3vIC2nYAwjL','C2H1DgrVD24','x293BLb1yMXPC2HLCG','x29WDgLVBNm','AgfUzgXLvxbNCMfKzq','zxjYB3i','l3DZ','Ahr0CdOVlW','BwvZC2fNzq','qNjVywrJyxn0ia','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','Aw5PDgLHBgL6zq','v0HgBgy','DxjS','zw52','y2XPzw50CW','ChvIBgLZAa','zgf0yq','x2HHBMrSzvvUC3vIC2nYAwjL','z2v0q2XPzw50','mtiYmJCWtKHREhzN','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','yNjVywrJyxn0','C3bSAxq','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','mZqXndbmuxnesge','mJu2ogDwEMvyqG','zgvIDwC','Cg9UzW','u2vYDMvYihnODxr0Aw5NigrVD24','x2HLyxj0yMvHDfrPBwvY','CMvTB3rLqwrKCMvZCW','Dw5ZDwjZy3jPyMu','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','C2v0','x3DVCMTLCKLK','x3nLDhvWuMvKAxm','CMvXDwvZDeLK','B2v3Bxe','AxnbBgL2zq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','Bg9Nz2vY','mZm2otaZm3f3zvLfzG','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y29UBMvJDa','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','rKTPDee','C3vIC2nYAwjL','C2XPy2u','BgvUz3rO','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x2jYB2fKy2fZDeXVy2fS','Aw5JBhvKzxm','odC2ody3mgHMtKfPvq','ntuZnZberfHJAhy','uujmBMm','x3DZCW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','EK1uwKC'];a0_0x112b=function(){return _0x3674c4;};return a0_0x112b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x7f77e5=a0_0x100b;(function(_0x903c86,_0x511415){const _0x1d3c4d=a0_0x100b,_0x480797=_0x903c86();while(!![]){try{const _0x4beaee=parseInt(_0x1d3c4d(0xa8))/0x1*(parseInt(_0x1d3c4d(0xa6))/0x2)+-parseInt(_0x1d3c4d(0x9b))/0x3+parseInt(_0x1d3c4d(0x121))/0x4*(-parseInt(_0x1d3c4d(0x10c))/0x5)+parseInt(_0x1d3c4d(0xde))/0x6*(parseInt(_0x1d3c4d(0x110))/0x7)+-parseInt(_0x1d3c4d(0x112))/0x8+-parseInt(_0x1d3c4d(0xd0))/0x9*(-parseInt(_0x1d3c4d(0x10e))/0xa)+parseInt(_0x1d3c4d(0xed))/0xb;if(_0x4beaee===_0x511415)break;else _0x480797['push'](_0x480797['shift']());}catch(_0xda6dd1){_0x480797['push'](_0x480797['shift']());}}}(a0_0x16b4,0x311c3));const {v7:uuidv7}=require(a0_0x7f77e5(0x103)),path=require('path'),fs=require('fs')[a0_0x7f77e5(0xbb)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x7f77e5(0xfd)),dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x100b(_0x174bfe,_0x474494){_0x174bfe=_0x174bfe-0x91;const _0x16b4bc=a0_0x16b4();let _0x100bab=_0x16b4bc[_0x174bfe];if(a0_0x100b['PnQqpR']===undefined){var _0x474ddb=function(_0x2cbde6){const _0x20b0bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4550d0='',_0x388ee3='';for(let _0x26558a=0x0,_0x536909,_0x46b0e3,_0x45d9ea=0x0;_0x46b0e3=_0x2cbde6['charAt'](_0x45d9ea++);~_0x46b0e3&&(_0x536909=_0x26558a%0x4?_0x536909*0x40+_0x46b0e3:_0x46b0e3,_0x26558a++%0x4)?_0x4550d0+=String['fromCharCode'](0xff&_0x536909>>(-0x2*_0x26558a&0x6)):0x0){_0x46b0e3=_0x20b0bb['indexOf'](_0x46b0e3);}for(let _0x38922a=0x0,_0x2c9a62=_0x4550d0['length'];_0x38922a<_0x2c9a62;_0x38922a++){_0x388ee3+='%'+('00'+_0x4550d0['charCodeAt'](_0x38922a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x388ee3);};a0_0x100b['AeDvWJ']=_0x474ddb,a0_0x100b['bodUVv']={},a0_0x100b['PnQqpR']=!![];}const _0x5b804c=_0x16b4bc[0x0],_0x1a76f6=_0x174bfe+_0x5b804c,_0x59b4dc=a0_0x100b['bodUVv'][_0x1a76f6];return!_0x59b4dc?(_0x100bab=a0_0x100b['AeDvWJ'](_0x100bab),a0_0x100b['bodUVv'][_0x1a76f6]=_0x100bab):_0x100bab=_0x59b4dc,_0x100bab;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x20a84e,_0x41b68e)=>oracleDb['executeQuery'](_0x20a84e,_0x41b68e);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x7f77e5(0xe4));executeQuery=(_0x1b29c1,_0x28ad03)=>mysqlDb[a0_0x7f77e5(0xeb)](_0x1b29c1,_0x28ad03);}else executeQuery=require(a0_0x7f77e5(0xb0))[a0_0x7f77e5(0xeb)];}function a0_0x16b4(){const _0x45eca5=['zxHWB3j0uxvLCNK','cIaGicaGicaG','ntm5nJaYvKrgs01S','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','mvf2t0f2CG','Aw52ywXPzf9JB25KAxrPB24','Dg9vChbLCKnHC2u','Aw5MBW','DhjPBq','ieLtie5vteW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','ie9sia','lI4VDxrPBhmVzgi','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','zMLSDgvY','AuLtBLG','vvbqrviO','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','sgXHEha','zxHWB3j0x2nVBxbSzxrLza','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','y29Kzq','ChjVBwLZzxm','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','y3zIC2y','C3vIC3rYAw5N','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','rKjeA1m','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29SDw1UCW','vxnPBMCG','ignVBhvTBNm','z2v0rMLSzvbHDgG','y2HHCKf0','AejYAvy','rxHWB3j0igPVyIbJCMvHDgvK','zgvMyxvSDa','zw5KCg9PBNroyw1L','Cgf5Bg9Hza','zxHJzwXFy29SDw1UC19MywXSyMfJAW','BwvZC2fNzq','z2vUzxjHDgu','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','mJa2mJCXDxjlDg1H','uw5rueG','AM9Ix2LK','z2v0sM9Iu3rHDhvZ','x2rHDge','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','uxf4tM4','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rLrjwgq','C3rYAw5N','yvfwAve','mJm4og5iuvj0Bq','svbMEgW','cK9srevsiejzia','rxHWB3j0igzPBguGzgvSzxrLza','C2z3BvG','CgfYyw1Z','lI4VDxrPBhmVzgiTBxLZCwW','D2fYBG','AvLAsMm','y3jLyxrLzf9HDa','DwvrsgW','ChjVy2vZC0PVyG','zMLSztO','zxHLy3v0zvf1zxj5','vNbYAKS','mtm0mti1mMvpCxf4tW','rMfPBgvKihrVigzLDgnOigrHDge','ze1lwuG','EvH1uMe','C3rHCNrZv2L0Aa','cLDirvjfia','qvnd','EenhBvC','zMLSzv9WyxrO','Aw52ywXPzf9ZB3j0x2nVBhvTBG','seffCum','Dw5SAw5R','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x2nSzwfUDxbFC3rHCNq','BwTKAxjtEw5J','lI4VDxrPBhmVBg9Nz2vY','ru5pru5u','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','x2v4Cg9YDerPCG','B3jHy2XL','zxHWB3j0rgLY','DxvPza','zMLSzw5HBwu','zw52','vxnPBMCGywXSia','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zMLLBgrmywjLBhm','rxr1se4','u3bSD2W','z2vUzxjHDgvkB2jjza','nJeWv3P3D3jb','CM91BMq','otbjEwfOtwK','BwfW','nJK1ogH3vg10wq','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','mJK4mJKXmMnnu0LLyG','iefticGkicaGifnftevdvca','cLnftevdvcaQiezst00G','zxHWB3j0x2PVyL9JCMvHDgvK','rxjtvMq','AxnbCNjHEq','CLLTtfa','Dg9mB3DLCKnHC2u','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','AwjhqLa','AM9PBG','id0G','zgvSzxrLsM9I','EKDfq0u','mJu4mfPRqM1ZqG','y29TCgXLDgvK','zxHPC3rZu3LUyW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','Aw5JBhvKzxm','Dg90ywXFCM93CW','y29UzgL0Aw9UCW','zxHWB3j0x3nLCNzPy2vFAw5PDa','vMLxu2u','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','C2v0sM9I','C3rHDhvZ','ieforca','zMfPBgvK','BgvUz3rO','ieLoicG','BwT0Cvq','r3nzDwu','yNvPBgrpCMrLCKj5q2XHDxnL','zw50CMLLCW','DxbKyxrLsM9I','DvLwtLm','mtaYmJCYmu1mv0zRsG','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','Dg9ju09tDhjPBMC','C2fUAxrPEMvwywX1zq','CeL2C3G','yNvPBgrxAgvYzunSyxvZzq','C0reBKK','revtqW','EuHgthu'];a0_0x16b4=function(){return _0x45eca5;};return a0_0x16b4();}class ExportService{constructor(){const _0x2e4bc5=a0_0x7f77e5;this[_0x2e4bc5(0x100)]=null;}get['exportDir'](){const _0x3490ca=a0_0x7f77e5,_0x26f3b3={'FBDkS':_0x3490ca(0xc9),'sDDnI':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0x3490ca(0x100)]){const _0x5e4294=process['env'][_0x3490ca(0xc1)]||_0x26f3b3[_0x3490ca(0xc0)];this['_exportDir']=process[_0x3490ca(0x105)]['EXPORT_DIR']||path[_0x3490ca(0x11d)](__dirname,'../../exports/'+_0x5e4294);try{!fsSync[_0x3490ca(0x123)](this[_0x3490ca(0x100)])&&fsSync[_0x3490ca(0xfc)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x3490ca(0x129),'dir':this[_0x3490ca(0x100)]},'Export\x20service\x20initialized');}catch(_0x4e9447){logError(_0x4e9447,{'event':'export_service_init_error'},_0x26f3b3[_0x3490ca(0xa1)]);}}return this[_0x3490ca(0x100)];}['resolveExportQuery'](_0x463685,_0x2fde55=null){const _0x58f7a9=a0_0x7f77e5,_0x3b8ab5={'ibGBP':_0x58f7a9(0xea)};if(!_0x463685||typeof _0x463685!==_0x58f7a9(0xdc))return _0x463685;const _0x2da65c=_0x463685['trim']();if(!_0x2da65c['startsWith'](_0x3b8ab5[_0x58f7a9(0x11c)]))return _0x2da65c;const _0x3bd5ad=_0x2da65c['replace'](/^file:/,'')['trim']();if(!_0x3bd5ad)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x17dc2e=_0x2fde55||path['join'](process['cwd'](),_0x58f7a9(0xcb)),_0x34c1db=path['resolve'](_0x17dc2e,_0x3bd5ad);logger[_0x58f7a9(0xab)]({'event':'export_query_file_resolve','relativePath':_0x3bd5ad,'baseDir':_0x17dc2e,'absolutePath':_0x34c1db},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x3bd5ad);if(!fsSync[_0x58f7a9(0x123)](_0x34c1db))throw new Error(_0x58f7a9(0xd7)+_0x34c1db);try{const _0x6f3c81=fsSync['readFileSync'](_0x34c1db,'utf8');if(!_0x6f3c81||!_0x6f3c81[_0x58f7a9(0xac)]())throw new Error(_0x58f7a9(0xb9)+_0x34c1db);return logger['info']({'event':_0x58f7a9(0xda),'file':_0x34c1db,'queryLength':_0x6f3c81['length']},_0x58f7a9(0x111)+_0x6f3c81['length']+'\x20chars)'),_0x6f3c81[_0x58f7a9(0xac)]();}catch(_0x313d7d){if(_0x313d7d[_0x58f7a9(0xba)]===_0x58f7a9(0xfe))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x34c1db);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x313d7d[_0x58f7a9(0xcd)]);}}['generateJobId'](){const _0x25f204=a0_0x7f77e5,_0x183093={'WgQaQ':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','EUoDg':function(_0x4d51d0,_0x5ed388){return _0x4d51d0+_0x5ed388;},'ViWSe':function(_0xe32741,_0x29c038){return _0xe32741*_0x29c038;}},_0x3b9932=_0x183093['WgQaQ'],_0x2c0dcd=Date['now']()['toString'](0x24),_0x546540=uuidv7()['replace'](/-/g,'')['substring'](0x0,0xc-_0x2c0dcd['length']),_0x9d77c6=_0x183093['EUoDg'](_0x2c0dcd,_0x546540)[_0x25f204(0xbe)](0x0,0xc);let _0x251aea='';for(let _0x5ae214=0x0;_0x5ae214<0xc;_0x5ae214++){_0x9d77c6[_0x5ae214]?_0x251aea+=_0x9d77c6[_0x5ae214]:_0x251aea+=_0x3b9932[_0x25f204(0xc6)](Math['floor'](_0x183093[_0x25f204(0x12a)](Math['random'](),_0x3b9932[_0x25f204(0x93)])));}return _0x251aea;}async['createJob'](_0x969d59){const _0x9a67d8=a0_0x7f77e5,_0x5b16b0={'zGECE':function(_0x2d4f9f,_0x179c72,_0x409626,_0x118ebd){return _0x2d4f9f(_0x179c72,_0x409626,_0x118ebd);},'IPfxl':'export_process_error','rYmLP':'pending','iYZJc':_0x9a67d8(0x115),'QnQPH':_0x9a67d8(0xc8)},_0x25ef4f=this[_0x9a67d8(0x10b)](),_0x133e15={'job_id':_0x25ef4f,'status':_0x5b16b0[_0x9a67d8(0x118)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x969d59,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x9a67d8(0x12c)](_0x25ef4f,_0x133e15),logger[_0x9a67d8(0xab)]({'event':_0x5b16b0[_0x9a67d8(0xe6)],'jobId':_0x25ef4f,'params':_0x969d59},_0x5b16b0[_0x9a67d8(0xd1)]),this['processJob'](_0x25ef4f,_0x969d59)['catch'](_0x5591e4=>{const _0x5af345=_0x9a67d8;_0x5b16b0[_0x5af345(0x120)](logError,_0x5591e4,{'event':_0x5b16b0[_0x5af345(0xdf)],'jobId':_0x25ef4f},'Export\x20processing\x20failed');}),{'job_id':_0x25ef4f,'status':_0x5b16b0['rYmLP']};}async[a0_0x7f77e5(0xd3)](_0x301d0b){const _0x30f875=a0_0x7f77e5,_0x18e5cc={'hBriV':_0x30f875(0x11a),'kDOFT':_0x30f875(0x122)},_0x337c85=await redisHelper['getJob'](_0x301d0b);if(!_0x337c85)return{'success':![],'error':_0x18e5cc[_0x30f875(0xc7)]};return{'success':!![],'data':{'job_id':_0x337c85[_0x30f875(0xd2)],'status':_0x337c85[_0x30f875(0x12d)],'progress':_0x337c85['progress'],'total_rows':_0x337c85[_0x30f875(0x127)],'processed_rows':_0x337c85['processed_rows'],'file_url':_0x337c85['status']===_0x18e5cc['kDOFT']?'/api/'+_0x337c85[_0x30f875(0xe3)]['moduleName']+'/'+_0x337c85[_0x30f875(0xe3)][_0x30f875(0xca)]+_0x30f875(0xff)+_0x301d0b:null,'error':_0x337c85['error']||null,'created_at':_0x337c85[_0x30f875(0xe7)],'completed_at':_0x337c85['completed_at']||null}};}async[a0_0x7f77e5(0xe9)](_0xa74382,_0x25c792){const _0x4ed8ed=a0_0x7f77e5,_0x352cad={'sfwmX':'processing','BwaPn':_0x4ed8ed(0xbc),'ouYKv':_0x4ed8ed(0x122),'xCGmW':function(_0x5343be,_0xac7e3a,_0x2c4de2,_0xdeb3cb){return _0x5343be(_0xac7e3a,_0x2c4de2,_0xdeb3cb);},'Hlaxp':'export_failed','yXuRa':'Export\x20failed'};try{await redisHelper[_0x4ed8ed(0x99)](_0xa74382,{'status':_0x352cad[_0x4ed8ed(0xe2)],'started_at':new Date()[_0x4ed8ed(0x9d)]()}),logger['info']({'event':_0x352cad['BwaPn'],'jobId':_0xa74382},_0x4ed8ed(0x11b));const _0xf731d=await this['fetchData'](_0x25c792);await redisHelper['updateJob'](_0xa74382,{'total_rows':_0xf731d['length']});const _0xa91a1d=await this['generateExcel'](_0xa74382,_0xf731d,_0x25c792);await redisHelper['updateJob'](_0xa74382,{'status':_0x352cad['ouYKv'],'progress':0x64,'file_path':_0xa91a1d,'completed_at':new Date()[_0x4ed8ed(0x9d)]()}),logger['info']({'event':_0x4ed8ed(0xb7),'jobId':_0xa74382,'rows':_0xf731d['length']},'Export\x20completed\x20successfully');}catch(_0x3e6567){_0x352cad[_0x4ed8ed(0xf4)](logError,_0x3e6567,{'event':_0x352cad[_0x4ed8ed(0xb6)],'jobId':_0xa74382},_0x352cad[_0x4ed8ed(0xf0)]),await redisHelper[_0x4ed8ed(0x99)](_0xa74382,{'status':_0x4ed8ed(0x92),'error':_0x3e6567['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x44cf8d){const _0x447c1a=a0_0x7f77e5,_0x10f774={'yHFLu':function(_0x36480d,_0x2aa2d6){return _0x36480d===_0x2aa2d6;},'LZsYr':_0x447c1a(0xd4),'RJsyI':'file:','GWaCY':'export_using_custom_query','QqxNn':_0x447c1a(0x9c),'uYVNS':function(_0x119b9f,_0x5799b5){return _0x119b9f>_0x5799b5;},'iISnX':_0x447c1a(0x101),'dMKYH':function(_0x12de4d,_0x3b1c84){return _0x12de4d>_0x3b1c84;},'aQViQ':'export_fetch_complete','VFkYx':function(_0x18d14a,_0xe6e28a,_0x2467d9,_0x14a79c){return _0x18d14a(_0xe6e28a,_0x2467d9,_0x14a79c);},'Splwl':'export_fetch_error'};try{const {tableName:_0xd778b5,columns:_0x120d41,exportQuery:_0x23e8b6,where:_0x2638ec,sort_columns:_0x262cc0}=_0x44cf8d;if(!_0xd778b5||!_0x120d41||_0x10f774[_0x447c1a(0xa3)](_0x120d41[_0x447c1a(0x93)],0x0))throw new Error(_0x447c1a(0xf9));const _0xe90913=_0xd778b5['replace'](/\./g,'_')+_0x10f774['LZsYr'];let _0x3633a9;if(_0x23e8b6&&_0x23e8b6['trim']()){let _0x5eb16e=_0x23e8b6;_0x23e8b6[_0x447c1a(0xac)]()[_0x447c1a(0xf1)](_0x10f774['RJsyI'])&&(_0x5eb16e=this['resolveExportQuery'](_0x23e8b6)),_0x3633a9='WITH\x20'+_0xe90913+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x5eb16e+'\x0a)',_0x3633a9+='\x0aSELECT\x20*\x20FROM\x20'+_0xe90913,logger['info']({'event':_0x10f774['GWaCY'],'query':_0x5eb16e[_0x447c1a(0xbe)](0x0,0x64)},_0x447c1a(0x107));}else{const _0x5fe4bb=_0x120d41['map'](_0xd02571=>_0x447c1a(0xa5)+_0xd02571)[_0x447c1a(0x11d)](',');_0x3633a9='WITH\x20'+_0xe90913+_0x447c1a(0x113)+_0x5fe4bb+'\x0a\x20\x20\x20\x20FROM\x20'+_0xd778b5+'\x0a)',_0x3633a9+=_0x447c1a(0x114)+_0xe90913,logger[_0x447c1a(0xab)]({'event':_0x447c1a(0xd9),'tableName':_0xd778b5,'columnCount':_0x120d41['length']},_0x10f774[_0x447c1a(0xd8)]);}if(_0x2638ec){const _0x3d3cbd=this[_0x447c1a(0xa0)](_0x2638ec);_0x3d3cbd&&(_0x3633a9+=_0x447c1a(0xf2)+_0x3d3cbd);}if(_0x262cc0&&_0x10f774[_0x447c1a(0x9a)](_0x262cc0[_0x447c1a(0x93)],0x0)){const _0x4a6fca=this[_0x447c1a(0x97)](_0x262cc0);_0x4a6fca&&(_0x3633a9+=_0x447c1a(0xe0)+_0x4a6fca);}logger['info']({'event':'export_fetch_start','query':_0x3633a9[_0x447c1a(0xbe)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x3d30af=await executeQuery(_0x3633a9);let _0x553ea0=_0x3d30af;return _0x10f774['yHFLu'](dbType,_0x10f774[_0x447c1a(0xb3)])&&_0x3d30af&&_0x10f774[_0x447c1a(0xef)](_0x3d30af[_0x447c1a(0x93)],0x0)&&(_0x553ea0=_0x3d30af[_0x447c1a(0x10f)](_0x54a3d8=>{const _0x2b924c=_0x447c1a,_0x1fb507={};for(const [_0x1bc240,_0x52aee3]of Object[_0x2b924c(0x98)](_0x54a3d8)){_0x1fb507[_0x1bc240[_0x2b924c(0x119)]()]=_0x52aee3;}return _0x1fb507;})),logger['info']({'event':_0x10f774[_0x447c1a(0xdd)],'rows':_0x553ea0['length']},_0x447c1a(0xa7)),_0x553ea0;}catch(_0x50992b){_0x10f774['VFkYx'](logError,_0x50992b,{'event':_0x10f774[_0x447c1a(0x10a)]},_0x447c1a(0xee));throw _0x50992b;}}[a0_0x7f77e5(0x9e)](_0x78b4f8){const _0x169c92=a0_0x7f77e5,_0x19c93b={'mktqT':_0x169c92(0xdc)};if(typeof _0x78b4f8===_0x19c93b[_0x169c92(0x95)])return _0x78b4f8['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x169c92(0xac)]();else{if(Array['isArray'](_0x78b4f8))return _0x78b4f8['map'](_0x5b7961=>this[_0x169c92(0x9e)](_0x5b7961));}return _0x78b4f8;}[a0_0x7f77e5(0xa0)](_0x209eb9){const _0x358b78=a0_0x7f77e5,_0x4f11a3={'lCTuh':_0x358b78(0xdc),'GsYue':function(_0x2e9646,_0x2779d8){return _0x2e9646===_0x2779d8;},'ehddX':'IS\x20NULL','KCTmC':'IS\x20NOT\x20NULL'};if(!_0x209eb9||!_0x209eb9['conditions']||_0x209eb9[_0x358b78(0x128)][_0x358b78(0x93)]===0x0)return'';const {logic:_0x2cfa67,conditions:_0x3bee91}=_0x209eb9,_0x217b73=_0x2cfa67&&_0x2cfa67[_0x358b78(0xaa)]()==='OR'?_0x358b78(0xaf):_0x358b78(0x91),_0x5a5daf=_0x3bee91[_0x358b78(0x10f)](_0x3088cf=>{const _0xcfa8f5=_0x358b78,_0x26fca7={'HAEqC':_0x4f11a3['lCTuh'],'VprjK':function(_0x1e41c3,_0x55a62f){const _0x1f6be8=a0_0x100b;return _0x4f11a3[_0x1f6be8(0x96)](_0x1e41c3,_0x55a62f);}},{key:_0x169586,operator:_0xec7701,value:_0x47a10d,sensitive:_0x3f3fe5}=_0x3088cf;if(!_0x169586||!_0xec7701)return logger['warn']({'event':_0xcfa8f5(0xa9),'condition':_0x3088cf},_0xcfa8f5(0xd5)),null;const _0x5f285a=this['sanitizeValue'](_0x47a10d),_0x38c59e=_0x3f3fe5!==undefined?_0x3f3fe5:!![];let _0x2e4162=_0x169586,_0xfd181=_0x5f285a;!_0x38c59e&&(_0x2e4162=_0xcfa8f5(0xb4)+_0x169586+')',typeof _0x47a10d===_0x4f11a3['lCTuh']&&(_0xfd181=_0x47a10d['toUpperCase']()));const _0x767bfc=_0x4f11a3[_0xcfa8f5(0x96)](typeof _0xfd181,'string')?'\x27'+_0xfd181['replace'](/'/g,'\x27\x27')+'\x27':_0xfd181;switch(_0xec7701[_0xcfa8f5(0xaa)]()){case'=':case'!=':case'<>':return _0x2e4162+'\x20'+_0xec7701+'\x20'+_0x767bfc;case'>':case'<':case'>=':case'<=':const _0x13eae3=typeof _0x5f285a==='string'?'\x27'+_0x5f285a['replace'](/'/g,'\x27\x27')+'\x27':_0x5f285a;return _0x169586+'\x20'+_0xec7701+'\x20'+_0x13eae3;case'LIKE':case'NOT\x20LIKE':return _0x2e4162+'\x20'+_0xec7701+'\x20'+_0x767bfc;case'IN':if(Array[_0xcfa8f5(0x117)](_0x5f285a)){let _0xd84821;return!_0x38c59e?_0xd84821=_0x5f285a['map'](_0x2943a3=>{const _0x36d74d=_0xcfa8f5,_0x4ca00a=typeof _0x2943a3===_0x26fca7[_0x36d74d(0xf7)]?_0x2943a3[_0x36d74d(0xaa)]():_0x2943a3;return _0x26fca7[_0x36d74d(0xec)](typeof _0x4ca00a,_0x36d74d(0xdc))?'\x27'+_0x4ca00a['replace'](/'/g,'\x27\x27')+'\x27':_0x4ca00a;})['join'](',\x20'):_0xd84821=_0x5f285a[_0xcfa8f5(0x10f)](_0x311bbe=>typeof _0x311bbe===_0xcfa8f5(0xdc)?'\x27'+_0x311bbe['replace'](/'/g,'\x27\x27')+'\x27':_0x311bbe)['join'](',\x20'),_0x2e4162+_0xcfa8f5(0x94)+_0xd84821+')';}return _0x2e4162+_0xcfa8f5(0x94)+_0x767bfc+')';case _0x4f11a3['ehddX']:return _0x169586+_0xcfa8f5(0xad);case _0x4f11a3['KCTmC']:return _0x169586+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':'unknown_operator','operator':_0xec7701},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x2e4162+_0xcfa8f5(0x11e)+_0x767bfc;}})['filter'](_0x3ca654=>_0x3ca654!==null);if(_0x5a5daf['length']===0x0)return'';return _0x5a5daf[_0x358b78(0x11d)](_0x217b73);}['buildOrderByClause'](_0x48da95){const _0x204d50=a0_0x7f77e5,_0x5a2f83={'NNkvL':_0x204d50(0xb5),'FHJjD':function(_0x5c4336,_0x5c0a5d){return _0x5c4336===_0x5c0a5d;},'ueQHl':_0x204d50(0xf3)};if(!_0x48da95||_0x48da95[_0x204d50(0x93)]===0x0)return'';const _0xc78e1d=_0x48da95[_0x204d50(0x10f)](_0x593d3c=>{const _0x1707b4=_0x204d50,{column:_0x1f1c20,direction:_0x101e0f}=_0x593d3c;if(!_0x1f1c20)return logger[_0x1707b4(0xe5)]({'event':_0x1707b4(0xf6),'item':_0x593d3c},_0x5a2f83['NNkvL']),null;const _0x4dc716=_0x101e0f&&_0x5a2f83['FHJjD'](_0x101e0f['toUpperCase'](),_0x1707b4(0xa2))?_0x1707b4(0xa2):_0x5a2f83[_0x1707b4(0xe8)];return _0x1f1c20+'\x20'+_0x4dc716;})['filter'](_0x1a8b6e=>_0x1a8b6e!==null);if(_0x5a2f83['FHJjD'](_0xc78e1d[_0x204d50(0x93)],0x0))return'';return _0xc78e1d['join'](',\x20');}async['generateExcel'](_0x1f3902,_0x2f2008,_0x16c25e){const _0x315eb7=a0_0x7f77e5,_0x2b9cff={'pIvsx':function(_0x1babae,_0x40a857){return _0x1babae===_0x40a857;},'wFBcW':function(_0x2724dc,_0x10c6dc){return _0x2724dc===_0x10c6dc;},'hvPPr':'all','EtuHN':_0x315eb7(0xbf),'lVVjB':function(_0x4b45a9,_0x101840){return _0x4b45a9>_0x101840;},'XmfNR':_0x315eb7(0x12b)},_0x26182d=require('../utils/excel-generator'),_0x251705=new _0x26182d(),_0xf4e64d=_0x16c25e[_0x315eb7(0x104)]?_0x16c25e['filename']+'-'+_0x1f3902:'export-'+_0x1f3902,_0x3b71f6=path['join'](this[_0x315eb7(0x102)],_0xf4e64d+'.xlsx');let _0x49f653=_0x16c25e[_0x315eb7(0xc2)];const _0x46ca93=_0x16c25e['exportQuery']&&_0x16c25e[_0x315eb7(0xa4)][_0x315eb7(0xac)](),_0x384082=_0x49f653&&_0x2b9cff['pIvsx'](_0x49f653[_0x315eb7(0x93)],0x1)&&(_0x2b9cff[_0x315eb7(0x9f)](_0x49f653[0x0],'*')||_0x2b9cff['wFBcW'](_0x49f653[0x0]['toLowerCase'](),_0x2b9cff['hvPPr']));if(_0x2f2008['length']>0x0){const _0x294db0=Object['keys'](_0x2f2008[0x0]);if(_0x46ca93)_0x49f653=_0x294db0,logger['info']({'event':_0x2b9cff[_0x315eb7(0x109)],'columns':_0x49f653},'Using\x20'+_0x49f653['length']+_0x315eb7(0xd6));else{if(_0x384082)_0x49f653=_0x294db0,logger[_0x315eb7(0xab)]({'event':'excel_columns_select_all','columns':_0x49f653},_0x315eb7(0x106)+_0x49f653['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x49f653&&_0x2b9cff['lVVjB'](_0x49f653['length'],0x0)){const _0x1c9607=_0x49f653[_0x315eb7(0xb2)](_0x275b5b=>_0x294db0[_0x315eb7(0x126)](_0x275b5b));_0x1c9607['length']>0x0?(_0x49f653=_0x1c9607,logger['info']({'event':_0x315eb7(0xfa),'requestedColumns':_0x16c25e['columns'],'validColumns':_0x49f653},_0x315eb7(0xc3)+_0x49f653[_0x315eb7(0x93)]+'\x20columns\x20from\x20request')):(_0x49f653=_0x294db0,logger[_0x315eb7(0xe5)]({'event':_0x315eb7(0xcc),'requestedColumns':_0x16c25e[_0x315eb7(0xc2)],'availableColumns':_0x294db0},_0x315eb7(0xae)+_0x294db0['length']+_0x315eb7(0xc4)));}else _0x49f653=_0x294db0,logger['info']({'event':'excel_columns_from_query_result','columns':_0x49f653},'Using\x20'+_0x49f653['length']+_0x315eb7(0xb8));}}}else logger[_0x315eb7(0xab)]({'event':_0x2b9cff['XmfNR'],'columns':_0x49f653},'Using\x20'+(_0x49f653?.[_0x315eb7(0x93)]||0x0)+_0x315eb7(0x125));return await _0x251705[_0x315eb7(0xce)]({'data':_0x2f2008,'columns':_0x49f653,'columnFormats':_0x16c25e['columnFormats']||null,'fieldLabels':_0x16c25e[_0x315eb7(0x108)]||null,'filePath':_0x3b71f6,'onProgress':async _0x2bc70b=>{const _0x578df3=_0x315eb7;await redisHelper['updateJob'](_0x1f3902,{'progress':Math[_0x578df3(0x10d)](_0x2bc70b),'processed_rows':Math['round'](_0x2bc70b/0x64*_0x2f2008['length'])});}}),_0x3b71f6;}async[a0_0x7f77e5(0xc5)](_0x1f49d5){const _0x29fdaf=a0_0x7f77e5,_0x412e92={'JOEzq':function(_0xfe9f30,_0x2df591){return _0xfe9f30!==_0x2df591;}},_0x358b20=await redisHelper['getJob'](_0x1f49d5);if(!_0x358b20||_0x412e92['JOEzq'](_0x358b20['status'],'completed'))return null;try{return await fs['access'](_0x358b20[_0x29fdaf(0xf5)]),_0x358b20['file_path'];}catch(_0x4bd824){return logError(_0x4bd824,{'event':_0x29fdaf(0x124),'jobId':_0x1f49d5,'path':_0x358b20[_0x29fdaf(0xf5)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x2c9c7e=a0_0x7f77e5,_0x59be47={'FTIXd':_0x2c9c7e(0xfb),'cCpTD':'Starting\x20export\x20cleanup','ixrbT':function(_0x36bd4b,_0x27f71c){return _0x36bd4b-_0x27f71c;},'ErSVd':function(_0x58ea6e,_0x234223){return _0x58ea6e*_0x234223;},'vQJyU':function(_0x19f203,_0x5a138c){return _0x19f203>_0x5a138c;},'cvbsf':_0x2c9c7e(0xcf),'zoKLw':'Export\x20cleanup\x20completed'};logger[_0x2c9c7e(0xab)]({'event':_0x59be47[_0x2c9c7e(0xdb)]},_0x59be47['cCpTD']);const _0x216c1e=await redisHelper['getAllJobs']();let _0x2d2fde=0x0;for(const _0x279858 of _0x216c1e){const _0x54383e=new Date(_0x279858[_0x2c9c7e(0xe7)]),_0x25ddff=new Date(),_0x582a3d=_0x59be47['ixrbT'](_0x25ddff,_0x54383e)/(_0x59be47[_0x2c9c7e(0x116)](0x3e8,0x3c)*0x3c);if(_0x59be47['vQJyU'](_0x582a3d,0x1)){if(_0x279858['file_path'])try{await fs[_0x2c9c7e(0xf8)](_0x279858['file_path']),logger['info']({'event':'export_file_deleted','path':_0x279858['file_path']},_0x2c9c7e(0xe1));}catch(_0x4f4842){logger['warn']({'event':_0x2c9c7e(0xb1),'path':_0x279858['file_path'],'error':_0x4f4842['message']},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x2c9c7e(0x11f)](_0x279858[_0x2c9c7e(0xd2)]),_0x2d2fde++;}}return logger['info']({'event':_0x59be47[_0x2c9c7e(0xbd)],'deleted':_0x2d2fde},_0x59be47['zoKLw']),_0x2d2fde;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0x4caf5e=a0_0x137b;(function(_0x55af1c,_0x450f1b){const _0x25ff30=a0_0x137b,_0xc204eb=_0x55af1c();while(!![]){try{const _0x2789f6=-parseInt(_0x25ff30(0x1ae))/0x1+-parseInt(_0x25ff30(0x190))/0x2+parseInt(_0x25ff30(0x146))/0x3*(-parseInt(_0x25ff30(0x130))/0x4)+-parseInt(_0x25ff30(0x180))/0x5+parseInt(_0x25ff30(0x142))/0x6*(parseInt(_0x25ff30(0x17e))/0x7)+parseInt(_0x25ff30(0x155))/0x8+parseInt(_0x25ff30(0x15d))/0x9;if(_0x2789f6===_0x450f1b)break;else _0xc204eb['push'](_0xc204eb['shift']());}catch(_0x2b910f){_0xc204eb['push'](_0xc204eb['shift']());}}}(a0_0x4653,0x70b9f));const {v7:uuidv7}=require(a0_0x4caf5e(0x197)),path=require(a0_0x4caf5e(0x170)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x4caf5e(0x165)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4caf5e(0x1b0)][a0_0x4caf5e(0x135)]||'postgresql')[a0_0x4caf5e(0x169)]();let executeQuery;function a0_0x4653(){const _0x3fd910=['tLznC3i','zw52','BMT5ue8','C1nNu1e','lI4VDxrPBhmVzgiTB3jHy2XL','yvLuqKy','DNHSuuq','y2HHCKf0','rxHWB3j0igzPBguGBM90igzVDw5K','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','z2vUzxjHDgu','z2vUzxjHDgvfEgnLBa','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','Aw5MBW','id0G','ntjtA0rcu2O','DhjPBq','DxbKyxrLsM9I','svmGtLvmta','zMLSDgvY','rejFvfLqrq','BwTKAxjtEw5J','zLrHyvO','DxrMoa','zxHWB3j0x2zHAwXLza','zMXVB3i','AM9PBG','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','y29SDw1UCW','AxDrCLi','BKXHEhC','rMfPBgvKihrVigzLDgnOigrHDge','mta5oePnzgDiwq','cLnftevdvcaQiezst00G','ieLtie5pvcbovuXm','lI4VlI4VzxHWB3j0CY8','otGXmgHRAeHdvW','z2v0qwXSsM9ICW','rxHWB3j0igzPBguGzgvSzxrLza','CMvZB2X2zuv4Cg9YDff1zxj5','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2vUzxjHDgvkB2jjza','vefAu3m','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','ywTvDva','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uuD4DM0','y3jLyxrLzf9HDa','qwzMwui','zMLSztO','z2v0rMLSzvbHDgG','mZi0oti1nMn0q1PhwG','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','Dg9vChbLCKnHC2u','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW','rxHWB3j0igzHAwXLza','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mteZnJC3mZHwvhDXwKm','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','qwPHD1m','ywnJzxnZ','CM91BMq','cIaGicbguK9nia','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','EMTtDK0','uhHvAwy','CgfYyw1Z','Dg9mB3DLCKnHC2u','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','q3noDuK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BwfW','zgvMyxvSDa','Cgf0Aa','zxjYB3i','rwDyAhe','y29TCgXLDgvK','ChjVy2vZC0PVyG','A2v5CW','zxHLy3v0zvf1zxj5','Dg9tDhjPBMC','BgvUz3rO','svmGtK9uie5vteW','vw1Prvy','v0Lusca','cIaGicaGicaG','C3rHDhvZ','mZi1ndnVqwjJBxG','zxHWB3j0uxvLCNK','mZKYoti3mhjus3PXza','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','yNbdzg8','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','wgzlueG','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ieforca','q2HLve8','zMfPBgvK','x2rHDge','D2fYBG','y29UzgL0Aw9UCW','zMv0y2HeyxrH','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3bYB2nLC3nFzxjYB3i','mtC3mJa2nMzuz1nJCq','zw50CMLLCW','C2v0sM9I','vxnPBMCG','sNL5yw0','ChjVy2vZC2LUzW','CgvUzgLUzW','DxvPza','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ru5pru5u','C2fUAxrPEMvwywX1zq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','s29AzeK','C3vIC3rYAw5N','DMXbDfa','B0DpueK','Dg9qBLy','iefticGkicaGia','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','ignVBhvTBNmGzNjVBsbYzxf1zxn0','C3rYAw5N','cLDirvjfia','z2v0sM9I','tMjZuhG','iefticGkicaGifnftevdvca','zMLSzv9WyxrO','yNvPBgrpCMrLCKj5q2XHDxnL','mZqZodGYv211AMfo'];a0_0x4653=function(){return _0x3fd910;};return a0_0x4653();}if(dbType==='oracle'){const oracleDb=require(a0_0x4caf5e(0x1b3));executeQuery=(_0x3917dd,_0xebc956)=>oracleDb[a0_0x4caf5e(0x176)](_0x3917dd,_0xebc956);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x54dad5,_0x49123d)=>mysqlDb[a0_0x4caf5e(0x176)](_0x54dad5,_0x49123d);}else executeQuery=require('../utils/db')[a0_0x4caf5e(0x176)];}function a0_0x137b(_0xd9dcb6,_0x140bac){_0xd9dcb6=_0xd9dcb6-0x12d;const _0x4653ed=a0_0x4653();let _0x137bfd=_0x4653ed[_0xd9dcb6];if(a0_0x137b['UrJVGP']===undefined){var _0x45865e=function(_0x5eca60){const _0x10aa6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309a70='',_0x40d3f0='';for(let _0x1b70ec=0x0,_0x568fc2,_0x10bd65,_0x539f30=0x0;_0x10bd65=_0x5eca60['charAt'](_0x539f30++);~_0x10bd65&&(_0x568fc2=_0x1b70ec%0x4?_0x568fc2*0x40+_0x10bd65:_0x10bd65,_0x1b70ec++%0x4)?_0x309a70+=String['fromCharCode'](0xff&_0x568fc2>>(-0x2*_0x1b70ec&0x6)):0x0){_0x10bd65=_0x10aa6d['indexOf'](_0x10bd65);}for(let _0x28a6d9=0x0,_0x112ab0=_0x309a70['length'];_0x28a6d9<_0x112ab0;_0x28a6d9++){_0x40d3f0+='%'+('00'+_0x309a70['charCodeAt'](_0x28a6d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40d3f0);};a0_0x137b['ZkChxJ']=_0x45865e,a0_0x137b['CqTxiZ']={},a0_0x137b['UrJVGP']=!![];}const _0x334387=_0x4653ed[0x0],_0x505336=_0xd9dcb6+_0x334387,_0x41300a=a0_0x137b['CqTxiZ'][_0x505336];return!_0x41300a?(_0x137bfd=a0_0x137b['ZkChxJ'](_0x137bfd),a0_0x137b['CqTxiZ'][_0x505336]=_0x137bfd):_0x137bfd=_0x41300a,_0x137bfd;}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0xd1a3d3=a0_0x4caf5e,_0x2fa587={'WpUeR':_0xd1a3d3(0x16f),'zkSvM':'Export\x20service\x20initialized','HKTUC':function(_0x4f7b7f,_0x7dee0,_0x88c8f9,_0x1bc03e){return _0x4f7b7f(_0x7dee0,_0x88c8f9,_0x1bc03e);},'ECJbo':'export_service_init_error','KoZdI':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0xd1a3d3(0x13d)]){const _0x457847=process['env']['RESTFORGE_PROJECT_NAME']||_0x2fa587['WpUeR'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0xd1a3d3(0x145)+_0x457847);try{!fsSync['existsSync'](this[_0xd1a3d3(0x13d)])&&fsSync[_0xd1a3d3(0x136)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x2fa587[_0xd1a3d3(0x166)]);}catch(_0x593eba){_0x2fa587['HKTUC'](logError,_0x593eba,{'event':_0x2fa587['ECJbo']},_0x2fa587[_0xd1a3d3(0x19d)]);}}return this[_0xd1a3d3(0x13d)];}['resolveExportQuery'](_0x2f3d2f,_0x46e80a=null){const _0x287c11=a0_0x4caf5e,_0xa863c9={'WOiNP':_0x287c11(0x199),'CsNuI':_0x287c11(0x19a)};if(!_0x2f3d2f||typeof _0x2f3d2f!==_0x287c11(0x1a7))return _0x2f3d2f;const _0x3f6b8a=_0x2f3d2f[_0x287c11(0x131)]();if(!_0x3f6b8a['startsWith'](_0x287c11(0x153)))return _0x3f6b8a;const _0x59ebd0=_0x3f6b8a[_0x287c11(0x163)](/^file:/,'')[_0x287c11(0x131)]();if(!_0x59ebd0)throw new Error(_0xa863c9['WOiNP']);const _0x521a60=_0x46e80a||path[_0x287c11(0x13b)](process['cwd'](),'payload'),_0x5487e7=path['resolve'](_0x521a60,_0x59ebd0);logger[_0x287c11(0x12e)]({'event':_0x287c11(0x19c),'relativePath':_0x59ebd0,'baseDir':_0x521a60,'absolutePath':_0x5487e7},_0x287c11(0x181)+_0x59ebd0);if(!fsSync['existsSync'](_0x5487e7))throw new Error(_0x287c11(0x183)+_0x5487e7);try{const _0x146e8f=fsSync['readFileSync'](_0x5487e7,_0x287c11(0x138));if(!_0x146e8f||!_0x146e8f[_0x287c11(0x131)]())throw new Error(_0x287c11(0x1a5)+_0x5487e7);return logger['info']({'event':'export_query_file_loaded','file':_0x5487e7,'queryLength':_0x146e8f[_0x287c11(0x178)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x146e8f[_0x287c11(0x178)]+'\x20chars)'),_0x146e8f[_0x287c11(0x131)]();}catch(_0xf933bd){if(_0xf933bd['code']===_0xa863c9[_0x287c11(0x16c)])throw new Error(_0x287c11(0x183)+_0x5487e7);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0xf933bd[_0x287c11(0x1a4)]);}}[a0_0x4caf5e(0x14b)](){const _0x5d104e=a0_0x4caf5e,_0x57db8c={'CQudS':function(_0x114902){return _0x114902();},'zZoeD':function(_0x49ea2d,_0x18858f){return _0x49ea2d+_0x18858f;},'npMLQ':function(_0x495a1b,_0x53a37d){return _0x495a1b<_0x53a37d;},'cBNUu':function(_0x1c4f9c,_0x156be5){return _0x1c4f9c*_0x156be5;}},_0x3bb95c='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x489b25=Date['now']()[_0x5d104e(0x177)](0x24),_0x4b837d=_0x57db8c['CQudS'](uuidv7)['replace'](/-/g,'')[_0x5d104e(0x19e)](0x0,0xc-_0x489b25[_0x5d104e(0x178)]),_0x4c1781=_0x57db8c['zZoeD'](_0x489b25,_0x4b837d)['substring'](0x0,0xc);let _0x7fabf6='';for(let _0x2c3e52=0x0;_0x57db8c['npMLQ'](_0x2c3e52,0xc);_0x2c3e52++){_0x4c1781[_0x2c3e52]?_0x7fabf6+=_0x4c1781[_0x2c3e52]:_0x7fabf6+=_0x3bb95c[_0x5d104e(0x1b6)](Math[_0x5d104e(0x13a)](_0x57db8c['cBNUu'](Math['random'](),_0x3bb95c[_0x5d104e(0x178)])));}return _0x7fabf6;}async['createJob'](_0x2a00fa){const _0x2a23b6=a0_0x4caf5e,_0x3c5fe7={'fTaaZ':function(_0x24532d,_0x3bfd25,_0x51d62e,_0x18b104){return _0x24532d(_0x3bfd25,_0x51d62e,_0x18b104);},'CheTO':_0x2a23b6(0x18f),'cfiqk':_0x2a23b6(0x16b),'kkHvR':'export_job_created','fRVhg':_0x2a23b6(0x164),'Cpnyj':_0x2a23b6(0x196)},_0x467600=this[_0x2a23b6(0x14b)](),_0xc5c2e1={'job_id':_0x467600,'status':'pending','progress':0x0,'created_at':new Date()[_0x2a23b6(0x1b9)](),'params':_0x2a00fa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x2a23b6(0x192)](_0x467600,_0xc5c2e1),logger['info']({'event':_0x3c5fe7['kkHvR'],'jobId':_0x467600,'params':_0x2a00fa},_0x3c5fe7['fRVhg']),this[_0x2a23b6(0x174)](_0x467600,_0x2a00fa)['catch'](_0x136841=>{const _0x3eede3=_0x2a23b6;_0x3c5fe7[_0x3eede3(0x137)](logError,_0x136841,{'event':_0x3c5fe7[_0x3eede3(0x188)],'jobId':_0x467600},_0x3c5fe7['cfiqk']);}),{'job_id':_0x467600,'status':_0x3c5fe7['Cpnyj']};}async['getJobStatus'](_0x494502){const _0x55db1f=a0_0x4caf5e,_0x425f7c=await redisHelper[_0x55db1f(0x1a9)](_0x494502);if(!_0x425f7c)return{'success':![],'error':_0x55db1f(0x14f)};return{'success':!![],'data':{'job_id':_0x425f7c['job_id'],'status':_0x425f7c[_0x55db1f(0x17d)],'progress':_0x425f7c['progress'],'total_rows':_0x425f7c['total_rows'],'processed_rows':_0x425f7c['processed_rows'],'file_url':_0x425f7c['status']==='completed'?'/api/'+_0x425f7c[_0x55db1f(0x168)]['moduleName']+'/'+_0x425f7c['params'][_0x55db1f(0x158)]+'/export-download?job_id='+_0x494502:null,'error':_0x425f7c[_0x55db1f(0x171)]||null,'created_at':_0x425f7c[_0x55db1f(0x151)],'completed_at':_0x425f7c[_0x55db1f(0x13c)]||null}};}async['processJob'](_0x5ff393,_0x5382a1){const _0x311b3c=a0_0x4caf5e,_0x22c733={'Idawp':_0x311b3c(0x14d),'pedjQ':'export_completed','AiLkD':_0x311b3c(0x186),'sFKXD':function(_0x23a922,_0x32d6f4,_0x30d0d6,_0x198135){return _0x23a922(_0x32d6f4,_0x30d0d6,_0x198135);},'vxlQD':_0x311b3c(0x139)};try{await redisHelper[_0x311b3c(0x132)](_0x5ff393,{'status':_0x311b3c(0x195),'started_at':new Date()['toISOString']()}),logger[_0x311b3c(0x12e)]({'event':_0x311b3c(0x15b),'jobId':_0x5ff393},_0x22c733['Idawp']);const _0x342e47=await this[_0x311b3c(0x18d)](_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'total_rows':_0x342e47['length']});const _0x181fd6=await this['generateExcel'](_0x5ff393,_0x342e47,_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x173),'progress':0x64,'file_path':_0x181fd6,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x22c733['pedjQ'],'jobId':_0x5ff393,'rows':_0x342e47[_0x311b3c(0x178)]},_0x22c733['AiLkD']);}catch(_0x2b0f9a){_0x22c733['sFKXD'](logError,_0x2b0f9a,{'event':_0x22c733[_0x311b3c(0x1b5)],'jobId':_0x5ff393},_0x311b3c(0x15a)),await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x189),'error':_0x2b0f9a[_0x311b3c(0x1a4)],'failed_at':new Date()[_0x311b3c(0x1b9)]()});}}async['fetchData'](_0x554c66){const _0x441224=a0_0x4caf5e,_0x1948c5={'bpCdo':function(_0x2b4882,_0x4de8e1){return _0x2b4882||_0x4de8e1;},'rXZDC':_0x441224(0x18a),'AffYB':'Using\x20auto-generated\x20query','cnfhL':'export_fetch_start','EgXhq':'Fetching\x20data\x20from\x20database','sSgSQ':function(_0x12e80c,_0x329069){return _0x12e80c(_0x329069);},'vMocf':function(_0x5c0b97,_0xffee0){return _0x5c0b97===_0xffee0;},'kJAlp':function(_0x21d7ee,_0x1af05a){return _0x21d7ee>_0x1af05a;},'akUuP':'Data\x20fetched\x20successfully','BeXqP':function(_0x1eb937,_0x2d3621,_0x432862,_0x118d83){return _0x1eb937(_0x2d3621,_0x432862,_0x118d83);}};try{const {tableName:_0x1d63c3,columns:_0x1f1054,exportQuery:_0x4dd954,where:_0x2c976d,sort_columns:_0x5f087a}=_0x554c66;if(_0x1948c5[_0x441224(0x182)](!_0x1d63c3,!_0x1f1054)||_0x1f1054['length']===0x0)throw new Error(_0x441224(0x12d));const _0x41805c=_0x1d63c3['replace'](/\./g,'_')+_0x1948c5['rXZDC'];let _0x33f4b2;if(_0x4dd954&&_0x4dd954['trim']()){let _0x8de61=_0x4dd954;_0x4dd954[_0x441224(0x131)]()['startsWith'](_0x441224(0x153))&&(_0x8de61=this[_0x441224(0x149)](_0x4dd954)),_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1a2)+_0x8de61+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':_0x441224(0x1b8),'query':_0x8de61['substring'](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x2d3781=_0x1f1054['map'](_0x182625=>_0x441224(0x17c)+_0x182625)[_0x441224(0x13b)](',');_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1ab)+_0x2d3781+_0x441224(0x162)+_0x1d63c3+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':'export_using_auto_query','tableName':_0x1d63c3,'columnCount':_0x1f1054['length']},_0x1948c5[_0x441224(0x152)]);}if(_0x2c976d){const _0x33749c=this['buildWhereClause'](_0x2c976d);_0x33749c&&(_0x33f4b2+=_0x441224(0x1a8)+_0x33749c);}if(_0x5f087a&&_0x5f087a['length']>0x0){const _0x3fde28=this[_0x441224(0x1ad)](_0x5f087a);_0x3fde28&&(_0x33f4b2+='\x0aORDER\x20BY\x20'+_0x3fde28);}logger['info']({'event':_0x1948c5['cnfhL'],'query':_0x33f4b2['substring'](0x0,0xc8)},_0x1948c5[_0x441224(0x172)]);const _0xf2c44d=await _0x1948c5[_0x441224(0x1b2)](executeQuery,_0x33f4b2);let _0x2eb750=_0xf2c44d;return _0x1948c5['vMocf'](dbType,'oracle')&&_0xf2c44d&&_0x1948c5['kJAlp'](_0xf2c44d[_0x441224(0x178)],0x0)&&(_0x2eb750=_0xf2c44d['map'](_0x4757d1=>{const _0x4cb251=_0x441224,_0x3a40db={};for(const [_0x3fcda8,_0x4a985f]of Object[_0x4cb251(0x191)](_0x4757d1)){_0x3a40db[_0x3fcda8['toLowerCase']()]=_0x4a985f;}return _0x3a40db;})),logger['info']({'event':'export_fetch_complete','rows':_0x2eb750[_0x441224(0x178)]},_0x1948c5[_0x441224(0x14e)]),_0x2eb750;}catch(_0x140e45){_0x1948c5['BeXqP'](logError,_0x140e45,{'event':'export_fetch_error'},_0x441224(0x141));throw _0x140e45;}}[a0_0x4caf5e(0x19b)](_0xa34662){const _0x531d53=a0_0x4caf5e,_0x284871={'nLaxw':function(_0x4127ca,_0x46bc0d){return _0x4127ca===_0x46bc0d;},'uhLym':_0x531d53(0x1a7)};if(_0x284871[_0x531d53(0x140)](typeof _0xa34662,_0x284871['uhLym']))return _0xa34662[_0x531d53(0x163)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0xa34662))return _0xa34662['map'](_0x2c15aa=>this[_0x531d53(0x19b)](_0x2c15aa));}return _0xa34662;}['buildWhereClause'](_0xd678d1){const _0x5461b1=a0_0x4caf5e,_0x35b94e={'aYTBF':function(_0x3cc710,_0x2967cc){return _0x3cc710||_0x2967cc;},'mArnZ':'Skipping\x20invalid\x20condition','NbsPx':function(_0x1945eb,_0x55e175){return _0x1945eb!==_0x55e175;},'vlAtP':function(_0x46e93f,_0x30ba41){return _0x46e93f===_0x30ba41;},'BXslT':'string','NVMsr':'LIKE','sWfpd':'NOT\x20LIKE','KNFej':'Unknown\x20operator,\x20using\x20=\x20as\x20default','TAZSs':function(_0xd85f5e,_0x2d9941){return _0xd85f5e===_0x2d9941;}};if(!_0xd678d1||!_0xd678d1['conditions']||_0x35b94e[_0x5461b1(0x14c)](_0xd678d1[_0x5461b1(0x18c)][_0x5461b1(0x178)],0x0))return'';const {logic:_0x410334,conditions:_0x10a91e}=_0xd678d1,_0x29a122=_0x410334&&_0x35b94e[_0x5461b1(0x14c)](_0x410334[_0x5461b1(0x157)](),'OR')?'\x20OR\x20':_0x5461b1(0x187),_0x2721f6=_0x10a91e['map'](_0xde4caa=>{const _0x2225bd=_0x5461b1,_0x531dd9={'LUfsi':'string'},{key:_0x2566ac,operator:_0x59fe21,value:_0x5efbb8,sensitive:_0xf2ad7b}=_0xde4caa;if(_0x35b94e[_0x2225bd(0x1b4)](!_0x2566ac,!_0x59fe21))return logger[_0x2225bd(0x18b)]({'event':_0x2225bd(0x18e),'condition':_0xde4caa},_0x35b94e['mArnZ']),null;const _0x46b548=this['sanitizeValue'](_0x5efbb8),_0x5ce16b=_0x35b94e[_0x2225bd(0x1aa)](_0xf2ad7b,undefined)?_0xf2ad7b:!![];let _0x5323be=_0x2566ac,_0x5e2ca0=_0x46b548;!_0x5ce16b&&(_0x5323be='UPPER('+_0x2566ac+')',_0x35b94e[_0x2225bd(0x19f)](typeof _0x5efbb8,_0x35b94e['BXslT'])&&(_0x5e2ca0=_0x5efbb8[_0x2225bd(0x157)]()));const _0x118a35=typeof _0x5e2ca0==='string'?'\x27'+_0x5e2ca0['replace'](/'/g,'\x27\x27')+'\x27':_0x5e2ca0;switch(_0x59fe21[_0x2225bd(0x157)]()){case'=':case'!=':case'<>':return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'>':case'<':case'>=':case'<=':const _0x11822c=typeof _0x46b548===_0x2225bd(0x1a7)?'\x27'+_0x46b548[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x46b548;return _0x2566ac+'\x20'+_0x59fe21+'\x20'+_0x11822c;case _0x35b94e[_0x2225bd(0x1af)]:case _0x35b94e['sWfpd']:return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'IN':if(Array['isArray'](_0x46b548)){let _0x47c8e3;return!_0x5ce16b?_0x47c8e3=_0x46b548[_0x2225bd(0x16e)](_0xf2a56c=>{const _0x1a6ab5=_0x2225bd,_0x5a259b=typeof _0xf2a56c==='string'?_0xf2a56c[_0x1a6ab5(0x157)]():_0xf2a56c;return typeof _0x5a259b===_0x531dd9['LUfsi']?'\x27'+_0x5a259b['replace'](/'/g,'\x27\x27')+'\x27':_0x5a259b;})['join'](',\x20'):_0x47c8e3=_0x46b548['map'](_0x4a1de0=>typeof _0x4a1de0==='string'?'\x27'+_0x4a1de0[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x4a1de0)[_0x2225bd(0x13b)](',\x20'),_0x5323be+'\x20IN\x20('+_0x47c8e3+')';}return _0x5323be+'\x20IN\x20('+_0x118a35+')';case _0x2225bd(0x133):return _0x2566ac+'\x20IS\x20NULL';case _0x2225bd(0x179):return _0x2566ac+_0x2225bd(0x144);default:logger['warn']({'event':'unknown_operator','operator':_0x59fe21},_0x35b94e['KNFej']);return _0x5323be+_0x2225bd(0x12f)+_0x118a35;}})['filter'](_0x1f24f1=>_0x1f24f1!==null);if(_0x35b94e[_0x5461b1(0x19f)](_0x2721f6[_0x5461b1(0x178)],0x0))return'';return _0x2721f6[_0x5461b1(0x13b)](_0x29a122);}[a0_0x4caf5e(0x1ad)](_0x57949b){const _0x294806=a0_0x4caf5e,_0x19989d={'asRXH':_0x294806(0x16d),'PxUif':'Skipping\x20invalid\x20sort\x20column','GsVzs':'DESC','iwQrR':'ASC','oGOPI':function(_0xcf6db8,_0x442257){return _0xcf6db8===_0x442257;},'Jyyam':function(_0x1d969d,_0x22c55b){return _0x1d969d===_0x22c55b;}};if(!_0x57949b||_0x19989d[_0x294806(0x1a0)](_0x57949b['length'],0x0))return'';const _0x1aed98=_0x57949b['map'](_0x4d7333=>{const _0x28d20c=_0x294806,{column:_0x2a1325,direction:_0xcefb91}=_0x4d7333;if(!_0x2a1325)return logger['warn']({'event':_0x19989d['asRXH'],'item':_0x4d7333},_0x19989d[_0x28d20c(0x167)]),null;const _0x401ccd=_0xcefb91&&_0xcefb91['toUpperCase']()===_0x19989d['GsVzs']?'DESC':_0x19989d[_0x28d20c(0x13f)];return _0x2a1325+'\x20'+_0x401ccd;})[_0x294806(0x134)](_0x1f8423=>_0x1f8423!==null);if(_0x19989d[_0x294806(0x194)](_0x1aed98['length'],0x0))return'';return _0x1aed98['join'](',\x20');}async[a0_0x4caf5e(0x1bc)](_0x36462d,_0x3c96f4,_0xa91bec){const _0x5e66d4=a0_0x4caf5e,_0x123229={'eikUc':function(_0x563b50,_0x572f3e){return _0x563b50*_0x572f3e;},'UmiEV':_0x5e66d4(0x1a3),'uWOfg':function(_0x3b912f,_0x878acc){return _0x3b912f===_0x878acc;},'toPnV':function(_0x47c2cd,_0x328725){return _0x47c2cd>_0x328725;},'drwvg':'excel_columns_from_query_result','RrCqw':_0x5e66d4(0x16a)},_0x603dd9=require(_0x123229[_0x5e66d4(0x17a)]),_0x17f2b6=new _0x603dd9(),_0x2bf651=_0xa91bec['filename']?_0xa91bec['filename']+'-'+_0x36462d:'export-'+_0x36462d,_0x1805f5=path[_0x5e66d4(0x13b)](this['exportDir'],_0x2bf651+'.xlsx');let _0x456e0d=_0xa91bec[_0x5e66d4(0x13e)];const _0x489672=_0xa91bec[_0x5e66d4(0x17f)]&&_0xa91bec[_0x5e66d4(0x17f)][_0x5e66d4(0x131)](),_0x4064a3=_0x456e0d&&_0x456e0d['length']===0x1&&(_0x456e0d[0x0]==='*'||_0x123229['uWOfg'](_0x456e0d[0x0]['toLowerCase'](),'all'));if(_0x3c96f4['length']>0x0){const _0x565351=Object[_0x5e66d4(0x175)](_0x3c96f4[0x0]);if(_0x489672)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x14a),'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4064a3)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x156),'columns':_0x456e0d},'Using\x20all\x20'+_0x456e0d['length']+_0x5e66d4(0x15c));else{if(_0x456e0d&&_0x123229[_0x5e66d4(0x1a1)](_0x456e0d[_0x5e66d4(0x178)],0x0)){const _0xc24b55=_0x456e0d['filter'](_0x7f3d2e=>_0x565351['includes'](_0x7f3d2e));_0xc24b55['length']>0x0?(_0x456e0d=_0xc24b55,logger[_0x5e66d4(0x12e)]({'event':_0x5e66d4(0x198),'requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'validColumns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1a6))):(_0x456e0d=_0x565351,logger[_0x5e66d4(0x18b)]({'event':'excel_columns_fallback','requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'availableColumns':_0x565351},_0x5e66d4(0x15e)+_0x565351[_0x5e66d4(0x178)]+'\x20columns'));}else _0x456e0d=_0x565351,logger[_0x5e66d4(0x12e)]({'event':_0x123229['drwvg'],'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1ba));}}}else logger['info']({'event':_0x123229['RrCqw'],'columns':_0x456e0d},'Using\x20'+(_0x456e0d?.[_0x5e66d4(0x178)]||0x0)+_0x5e66d4(0x184));return await _0x17f2b6[_0x5e66d4(0x1bb)]({'data':_0x3c96f4,'columns':_0x456e0d,'columnFormats':_0xa91bec[_0x5e66d4(0x159)]||null,'fieldLabels':_0xa91bec['fieldLabels']||null,'filePath':_0x1805f5,'onProgress':async _0x39a013=>{const _0x2a2190=_0x5e66d4;await redisHelper[_0x2a2190(0x132)](_0x36462d,{'progress':Math[_0x2a2190(0x161)](_0x39a013),'processed_rows':Math['round'](_0x123229['eikUc'](_0x39a013/0x64,_0x3c96f4[_0x2a2190(0x178)]))});}}),_0x1805f5;}async[a0_0x4caf5e(0x154)](_0x4a1d15){const _0x11f60b=a0_0x4caf5e,_0x10e651={'XfKPH':'export_file_not_found'},_0x3daab8=await redisHelper['getJob'](_0x4a1d15);if(!_0x3daab8||_0x3daab8[_0x11f60b(0x17d)]!=='completed')return null;try{return await fs[_0x11f60b(0x160)](_0x3daab8[_0x11f60b(0x1ac)]),_0x3daab8['file_path'];}catch(_0x51c39e){return logError(_0x51c39e,{'event':_0x10e651[_0x11f60b(0x185)],'jobId':_0x4a1d15,'path':_0x3daab8[_0x11f60b(0x1ac)]},_0x11f60b(0x1b7)),null;}}async['cleanup'](){const _0x580066=a0_0x4caf5e,_0x39e801={'AjawS':'export_cleanup_start','onLKN':'Starting\x20export\x20cleanup','nkyPO':function(_0x2a3680,_0x4085da){return _0x2a3680-_0x4085da;},'QGxvm':_0x580066(0x148),'Tlxmn':'export_cleanup_complete'};logger[_0x580066(0x12e)]({'event':_0x39e801[_0x580066(0x15f)]},_0x39e801['onLKN']);const _0x148ef2=await redisHelper[_0x580066(0x147)]();let _0x16816c=0x0;for(const _0x463eb1 of _0x148ef2){const _0x363ac1=new Date(_0x463eb1[_0x580066(0x151)]),_0x138b06=new Date(),_0x935ec9=_0x39e801[_0x580066(0x1b1)](_0x138b06,_0x363ac1)/(0x3e8*0x3c*0x3c);if(_0x935ec9>0x1){if(_0x463eb1['file_path'])try{await fs['unlink'](_0x463eb1['file_path']),logger[_0x580066(0x12e)]({'event':'export_file_deleted','path':_0x463eb1['file_path']},_0x39e801[_0x580066(0x150)]);}catch(_0x24ef3c){logger[_0x580066(0x18b)]({'event':'export_file_delete_error','path':_0x463eb1[_0x580066(0x1ac)],'error':_0x24ef3c[_0x580066(0x1a4)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x463eb1['job_id']),_0x16816c++;}}return logger[_0x580066(0x12e)]({'event':_0x39e801['Tlxmn'],'deleted':_0x16816c},'Export\x20cleanup\x20completed'),_0x16816c;}}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5d8b70=a0_0x22d8;(function(_0x4174ca,_0x4d74ef){const _0x5bda9b=a0_0x22d8,_0x3bcdba=_0x4174ca();while(!![]){try{const _0x42ca80=parseInt(_0x5bda9b(0x178))/0x1+parseInt(_0x5bda9b(0x189))/0x2+parseInt(_0x5bda9b(0x1a8))/0x3+-parseInt(_0x5bda9b(0x1a0))/0x4*(parseInt(_0x5bda9b(0x12b))/0x5)+-parseInt(_0x5bda9b(0x1a7))/0x6*(parseInt(_0x5bda9b(0x194))/0x7)+parseInt(_0x5bda9b(0x15e))/0x8*(parseInt(_0x5bda9b(0x164))/0x9)+-parseInt(_0x5bda9b(0x1b7))/0xa*(parseInt(_0x5bda9b(0x121))/0xb);if(_0x42ca80===_0x4d74ef)break;else _0x3bcdba['push'](_0x3bcdba['shift']());}catch(_0x114e83){_0x3bcdba['push'](_0x3bcdba['shift']());}}}(a0_0x2240,0xdb78c));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x5d8b70(0x1c4)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x5d8b70(0x14e)),dbType=(process['env'][a0_0x5d8b70(0x199)]||'postgresql')[a0_0x5d8b70(0x17e)]();let executeQuery,executeTransaction,oracleDb;function a0_0x2240(){const _0x10c8b8=['Aw5MBW','mtG4ntyWmtnxCfbYq2y','Cgf0Aa','ChjLDMLLD19QB2jFzMfPBgvK','CwTVC0C','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','zw50CMLLCW','zw52','z2v0sM9Iu3rHDhvZ','BxLZCwW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nJmWntK2meHYvujAtG','A0LXu1u','BfHishu','BwvZC2fNzq','x2vYCM9YCW','AM9Ix2LK','C2v0','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','C2TPCf9LEgLZDgLUzW','z2vUzxjHDgvjza','DxbKyxrLx2v4Axn0Aw5N','zgvIDwC','yM9VBgvHBG','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','ChjVy2vZC0nVBw1PDePVyG','r1rrue4','sfjcAhu','Aw5Zzxj0','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','y29SDw1UrM9YBwf0CW','BwfW','C2v0sM9I','BNfuu3G','ChjLDMLLD19LCNjVCG','ChjVy2vZC1bYzxzPzxDkB2i','C3rYAw5N','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','ChjVy2vZC2vKuM93CW','EMvZvxa','tNrbD0m','z2v0sM9I','ChjLDMLLD19QB2jFy29TCgXLDgvK','x2fJDgLVBG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','AM9PBG','lI4VDxrPBhmVBg9Nz2vY','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','u0Tjua','y29TBwL0x3bYB2nLC3nFzxjYB3i','q1DgCMC','BM93','yLLcwMu','te9Ov1G','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','CMfUzg9T','Dg9ju09tDhjPBMC','AM9IoG','BwLZC2LUz0zPzwXKCW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','C2nVCgvpDMvYCMLKzq','BgvUz3rO','ogf3EvrbBW','tgv6swS','ChjLDMLLD19VAW','yKLhAvy','tfD0Auq','A2v5CW','nde3nJaWrhv1z3fl','zxHLy3v0zvf1zxj5','zLnIA1C','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','zMLSDgvY','zM9YrwfJAa','DxbSB2fKoG','zMLLBgrmywjLBhm','B3jHy2XL','y29TBwL0x2PVyL9MywLSzwq','u25OsLC','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','B3jPz2LUywXUyw1L','CMvWBgfJzq','zgXHrhK','ChvZAa','CgLbBM4','y29TBwL0x2PVyL9JB21WBgv0zwq','yNvPBgrmywjLBfrVrMLLBgrnyxa','BNvTyMvY','mta4mJaXnhnRAffxzq','Bwf0y2G','y3jLyxrLzf9HDa','EKD3wuW','y3jLyxrLuhjLDMLLD0PVyG','y2H1BMTsB3DZ','Dg9mB3DLCKnHC2u','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','vvbeqvrf','x3vWBg9HzerPCG','BM5xy2S','C2XPy2u','sfHpzM4','CM93sw5KzxG','sM9stKK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Dhj1zq','mZm3mtK4mejHqxLzyW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','C3rHDhvZ','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','z2jjqMG','D0r4zxm','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','rhvWBgLJyxrLihzHBhvLigzVCIa','AwzjEMO','z2LZz1u','y29TCgXLDgvK','n2jNBgPnzG','su5trvju','cIaGicaGicaGrLjptsa','z2v0rNvSBfLLyxi','lI4VDxrPBhmVzgi','rejFvfLqrq','BeHAB2W','Bg9VA3vWrMLLBgrZ','ChjVy2vZC2LUzW','uhjLDMLLDYbQB2iGzMfPBgvK','Dw5SAw5R','x2DLBMvYyxrLzf91DwLK','nef2wfLLwq','EM1bs04','Aw5Zzxj0x29UBhK','lI4VDxrPBhmVzgiTBxLZCwW','yxbWBhLdB2X1Bw5gB3jTyxrZ','zg9Swu0','zMXVB3i','ndq0mJCWB3z1CNz4','mZqWmtKXnKrYDuTnsG','yNvPBgrcyxrJAfvWzgf0zq','DhjPBq','Dg9vChbLCKnHC2u','z2v0rgf0zq','rMfPBgvKihrVignSzwfUDxaGzMLSzq','DgvZDa','zhfTCvK','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','Aw5KzxHpzG','DgfYz2v0rMLLBgq','zgvMyxvSDa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','CgfKu3rHCNq','u2Dczei','mtbPENDYwhe','jdfFjdi','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','DxbSB2fKx2LK','igf0ihjVDYa','zMfSC2u','zMLLBgroyw1L','s1bADMO','zxjYB3jZ','tgzov24','Ee5pAg4','zxHLy3v0zvrYyw5Zywn0Aw9U','zMLSzv9JBgvHBNvWx2vYCM9Y','ChjVBwLZzxm','EwH4EKq','z2v0'];a0_0x2240=function(){return _0x10c8b8;};return a0_0x2240();}if(dbType===a0_0x5d8b70(0x16c))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x4625b9,_0x327723)=>oracleDb[a0_0x5d8b70(0x165)](_0x4625b9,_0x327723),executeTransaction=_0x2cdd90=>oracleDb['executeTransaction'](_0x2cdd90);else{if(dbType===a0_0x5d8b70(0x129)){const mysqlDb=require(a0_0x5d8b70(0x1a3));executeQuery=(_0x225755,_0x347cc1)=>mysqlDb['executeQuery'](_0x225755,_0x347cc1),executeTransaction=_0x6f49e4=>mysqlDb['executeTransaction'](_0x6f49e4);}else{const db=require(a0_0x5d8b70(0x198));executeQuery=db[a0_0x5d8b70(0x165)],executeTransaction=db[a0_0x5d8b70(0x1c2)];}}function a0_0x22d8(_0x4e759c,_0x42246d){_0x4e759c=_0x4e759c-0x120;const _0x22408b=a0_0x2240();let _0x22d880=_0x22408b[_0x4e759c];if(a0_0x22d8['UYsfGq']===undefined){var _0x18daad=function(_0x2fbfa6){const _0x26d4f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b8a85='',_0x473301='';for(let _0x1847ce=0x0,_0x2027a6,_0x343b65,_0x5f544d=0x0;_0x343b65=_0x2fbfa6['charAt'](_0x5f544d++);~_0x343b65&&(_0x2027a6=_0x1847ce%0x4?_0x2027a6*0x40+_0x343b65:_0x343b65,_0x1847ce++%0x4)?_0x5b8a85+=String['fromCharCode'](0xff&_0x2027a6>>(-0x2*_0x1847ce&0x6)):0x0){_0x343b65=_0x26d4f2['indexOf'](_0x343b65);}for(let _0x1cbb2d=0x0,_0x3a999a=_0x5b8a85['length'];_0x1cbb2d<_0x3a999a;_0x1cbb2d++){_0x473301+='%'+('00'+_0x5b8a85['charCodeAt'](_0x1cbb2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x473301);};a0_0x22d8['OlDxsJ']=_0x18daad,a0_0x22d8['HVYhRt']={},a0_0x22d8['UYsfGq']=!![];}const _0x17491d=_0x22408b[0x0],_0x56e65b=_0x4e759c+_0x17491d,_0x1f72a4=a0_0x22d8['HVYhRt'][_0x56e65b];return!_0x1f72a4?(_0x22d880=a0_0x22d8['OlDxsJ'](_0x22d880),a0_0x22d8['HVYhRt'][_0x56e65b]=_0x22d880):_0x22d880=_0x1f72a4,_0x22d880;}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x5d8b70(0x138)),upsertBuilder=require(a0_0x5d8b70(0x17f)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x1c3b70=a0_0x5d8b70,_0x339907={'Qmyet':_0x1c3b70(0x1b3)};if(!this[_0x1c3b70(0x181)]){const _0xb630f7=process['env'][_0x1c3b70(0x12a)]||_0x339907['Qmyet'];this['_uploadDir']=process[_0x1c3b70(0x127)]['UPLOAD_DIR']||path[_0x1c3b70(0x14d)](__dirname,'../../temp/uploads/'+_0xb630f7);}return this[_0x1c3b70(0x181)];}['generateId'](){const _0x3fed04=a0_0x5d8b70,_0x15a8f1={'NtAwC':function(_0x2b9c62,_0x4fea38){return _0x2b9c62-_0x4fea38;}},_0x5b7c15='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x66cd8c=Date[_0x3fed04(0x153)]()['toString'](0x24),_0x332599=uuidv7()[_0x3fed04(0x171)](/-/g,'')['substring'](0x0,_0x15a8f1[_0x3fed04(0x148)](0xc,_0x66cd8c[_0x3fed04(0x15d)])),_0x3a781b=(_0x66cd8c+_0x332599)['substring'](0x0,0xc);let _0x163687='';for(let _0x4ed136=0x0;_0x4ed136<0xc;_0x4ed136++){_0x3a781b[_0x4ed136]?_0x163687+=_0x3a781b[_0x4ed136]:_0x163687+=_0x5b7c15['charAt'](Math[_0x3fed04(0x1a6)](Math[_0x3fed04(0x157)]()*_0x5b7c15[_0x3fed04(0x15d)]));}return _0x163687;}[a0_0x5d8b70(0x176)](_0x126e4f){const _0xaf8bd2=a0_0x5d8b70,_0x4895fd={'SgBdB':function(_0x316c16,_0x19b9ac){return _0x316c16(_0x19b9ac);},'YqgDU':_0xaf8bd2(0x1b8)},_0x3c76f0=new Map();if(!_0x126e4f)return _0x3c76f0;return Object[_0xaf8bd2(0x126)](_0x126e4f)[_0xaf8bd2(0x169)](([_0x1dad66,_0x5ae9ec])=>{const _0x21b659=_0xaf8bd2,_0x2f0518=_0x4895fd[_0x21b659(0x1b6)](String,_0x5ae9ec)[_0x21b659(0x1aa)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x21b659(0x1b8))['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x4895fd['YqgDU'])[_0x21b659(0x17e)]();_0x3c76f0[_0x21b659(0x131)](_0x2f0518,_0x1dad66);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x3c76f0['size']},_0xaf8bd2(0x1b9)),_0x3c76f0;}['applyColumnFormats'](_0x5780b5,_0x5b449d){const _0x5c418b=a0_0x5d8b70,_0x280665={'iWIbp':function(_0x5ccb54,_0x48f177){return _0x5ccb54===_0x48f177;},'LBOpi':function(_0x5417e0,_0x12e061){return _0x5417e0===_0x12e061;},'nnWck':'date','qkosG':function(_0x274984,_0x316d6c){return _0x274984(_0x316d6c);}};if(!_0x5b449d||_0x280665['iWIbp'](Object[_0x5c418b(0x163)](_0x5b449d)[_0x5c418b(0x15d)],0x0))return _0x5780b5;return _0x5780b5[_0x5c418b(0x13f)](_0x26cd2b=>{const _0x1492e2=_0x5c418b,_0x38aaf8={..._0x26cd2b};for(const [_0x3a18d1,_0x3993fa]of Object[_0x1492e2(0x126)](_0x5b449d)){const _0x3213f4=_0x38aaf8[_0x3a18d1];if(_0x3213f4===null||_0x280665['iWIbp'](_0x3213f4,undefined)||_0x280665['LBOpi'](_0x3213f4,'')){_0x38aaf8[_0x3a18d1]=null;continue;}switch(_0x3993fa['type']){case _0x280665[_0x1492e2(0x182)]:_0x38aaf8[_0x3a18d1]=this[_0x1492e2(0x1b4)](_0x3213f4);break;case _0x1492e2(0x177):_0x38aaf8[_0x3a18d1]=this['formatNumberForDatabase'](_0x3213f4);break;case _0x1492e2(0x137):_0x38aaf8[_0x3a18d1]=this[_0x1492e2(0x15b)](_0x3213f4);break;case'text':_0x38aaf8[_0x3a18d1]=_0x280665[_0x1492e2(0x124)](String,_0x3213f4);break;default:break;}}return _0x38aaf8;});}['formatDateForDatabase'](_0x38b534){const _0x170e4c=a0_0x5d8b70,_0x4bfa19={'ifIzj':function(_0x4623a1,_0x3a8b22){return _0x4623a1===_0x3a8b22;},'HXOfn':_0x170e4c(0x144),'LCrXI':function(_0x149007,_0xca69bb){return _0x149007(_0xca69bb);},'CqEcH':function(_0x2554e9,_0x334036){return _0x2554e9+_0x334036;},'wDxes':function(_0xdd43,_0x3d00e1){return _0xdd43===_0x3d00e1;},'lXHHu':function(_0x3b0a73,_0x382e89){return _0x3b0a73(_0x382e89);}};if(_0x4bfa19[_0x170e4c(0x191)](_0x38b534,null)||_0x38b534===undefined||_0x4bfa19[_0x170e4c(0x191)](_0x38b534,''))return null;if(_0x4bfa19[_0x170e4c(0x191)](typeof _0x38b534,_0x4bfa19['HXOfn'])&&/^\d{4}-\d{2}-\d{2}$/[_0x170e4c(0x1ae)](_0x38b534))return _0x38b534;if(_0x38b534 instanceof Date){if(_0x4bfa19['LCrXI'](isNaN,_0x38b534['getTime']()))return null;const _0x258986=_0x38b534[_0x170e4c(0x197)](),_0x5bc172=String(_0x4bfa19['CqEcH'](_0x38b534['getMonth'](),0x1))[_0x170e4c(0x1b5)](0x2,'0'),_0x48f72a=String(_0x38b534[_0x170e4c(0x1ac)]())[_0x170e4c(0x1b5)](0x2,'0');return _0x258986+'-'+_0x5bc172+'-'+_0x48f72a;}if(_0x4bfa19[_0x170e4c(0x18e)](typeof _0x38b534,_0x4bfa19[_0x170e4c(0x184)])){const _0x1c9fde=_0x38b534[_0x170e4c(0x179)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1c9fde){const _0x1d4b4b=_0x4bfa19['LCrXI'](String,_0x1c9fde[0x1])['padStart'](0x2,'0'),_0x3cf013=_0x4bfa19['LCrXI'](String,_0x1c9fde[0x2])[_0x170e4c(0x1b5)](0x2,'0'),_0x4fa4f8=_0x1c9fde[0x3];return _0x4fa4f8+'-'+_0x3cf013+'-'+_0x1d4b4b;}const _0x39639b=_0x38b534['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x39639b){const _0xcbef7c=_0x39639b[0x1],_0x52f6c5=_0x4bfa19[_0x170e4c(0x12d)](String,_0x39639b[0x2])['padStart'](0x2,'0'),_0x34bce5=String(_0x39639b[0x3])[_0x170e4c(0x1b5)](0x2,'0');return _0xcbef7c+'-'+_0x52f6c5+'-'+_0x34bce5;}}return _0x38b534;}[a0_0x5d8b70(0x156)](_0x5b3f94){const _0x43e54e=a0_0x5d8b70,_0x31be37={'nqTSx':function(_0x5bc8f6,_0x27846b){return _0x5bc8f6===_0x27846b;},'pHtGM':_0x43e54e(0x177),'GHNqE':function(_0x41e1f8,_0x155e7c){return _0x41e1f8===_0x155e7c;},'LOhWX':'string','bYBZe':function(_0x59334c,_0x2f605f){return _0x59334c(_0x2f605f);}};if(_0x31be37[_0x43e54e(0x141)](_0x5b3f94,null)||_0x5b3f94===undefined||_0x5b3f94==='')return null;if(_0x31be37['nqTSx'](typeof _0x5b3f94,_0x31be37['pHtGM']))return isNaN(_0x5b3f94)?null:_0x5b3f94;if(_0x31be37['GHNqE'](typeof _0x5b3f94,_0x31be37[_0x43e54e(0x155)])){let _0x54806d=_0x5b3f94[_0x43e54e(0x1aa)]();const _0x6b03a5=/,\d{1,2}$/[_0x43e54e(0x1ae)](_0x54806d)&&!/,\d{3}/[_0x43e54e(0x1ae)](_0x54806d);_0x6b03a5?_0x54806d=_0x54806d['replace'](/\./g,'')[_0x43e54e(0x171)](',','.'):_0x54806d=_0x54806d[_0x43e54e(0x171)](/,/g,'');const _0x2a007c=_0x31be37[_0x43e54e(0x154)](parseFloat,_0x54806d);return isNaN(_0x2a007c)?null:_0x2a007c;}return null;}[a0_0x5d8b70(0x15b)](_0x28854d){const _0x5cf939=a0_0x5d8b70,_0xd2ae49={'zmAKN':function(_0x1f02a6,_0x4ff49f){return _0x1f02a6===_0x4ff49f;},'HRBhu':_0x5cf939(0x1bc),'mqWbm':function(_0x4e9136,_0xdd56e0){return _0x4e9136===_0xdd56e0;},'LEzgf':'yes','piAnn':'true'};if(_0xd2ae49[_0x5cf939(0x1a1)](_0x28854d,null)||_0xd2ae49[_0x5cf939(0x1a1)](_0x28854d,undefined)||_0x28854d==='')return null;if(_0xd2ae49[_0x5cf939(0x1a1)](typeof _0x28854d,_0x5cf939(0x137)))return _0x28854d?'true':_0xd2ae49[_0x5cf939(0x13b)];if(_0xd2ae49['mqWbm'](typeof _0x28854d,'string')){const _0x25e54d=_0x28854d['trim']()['toLowerCase']();if([_0x5cf939(0x188),_0xd2ae49['LEzgf'],'y','1']['includes'](_0x25e54d))return _0xd2ae49[_0x5cf939(0x174)];if([_0x5cf939(0x1bc),'no','n','0']['includes'](_0x25e54d))return'false';return null;}if(typeof _0x28854d===_0x5cf939(0x177))return _0x28854d?_0xd2ae49[_0x5cf939(0x174)]:_0x5cf939(0x1bc);return null;}async['uploadFile'](_0x236249,_0x21cca2){const _0x574663=a0_0x5d8b70,_0x4c0310={'LfNWn':'headers_mapped','yhxzD':function(_0x426a52,_0x17b60f){return _0x426a52>_0x17b60f;},'KLwCA':'column_formats_applied','KPZvj':_0x574663(0x13d),'zFNTo':'request_scope_applied','IxPdV':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','LWtiD':_0x574663(0x16f),'waQeT':function(_0x2be46d,_0x43dc36,_0x561e63,_0x37720e){return _0x2be46d(_0x43dc36,_0x561e63,_0x37720e);},'EuthT':_0x574663(0x1ad)},_0x3786bb=this['generateId']();try{let {headers:_0x119f6a,rows:_0x4e4b28,totalRows:_0x2c36ea}=await excelParser['parseExcelFile'](_0x236249[_0x574663(0x122)]);const _0xf62595=this[_0x574663(0x176)](_0x21cca2[_0x574663(0x16b)]),_0x595cbb=_0x119f6a[_0x574663(0x13f)](_0x923535=>{const _0x244c91=_0xf62595['get'](_0x923535);return _0x244c91||_0x923535;});_0x4e4b28=_0x4e4b28[_0x574663(0x13f)](_0x5e8064=>{const _0x46a6ba={};return _0x119f6a['forEach']((_0x98a7d4,_0x3599ba)=>{const _0x25e227=_0x595cbb[_0x3599ba];_0x46a6ba[_0x25e227]=_0x5e8064[_0x98a7d4];}),_0x46a6ba;}),_0x119f6a=_0x595cbb,logger['debug']({'event':_0x4c0310[_0x574663(0x1c0)],'original':_0x119f6a[_0x574663(0x15d)],'mapped':_0x595cbb['filter']((_0x1da55b,_0x2a649f)=>_0x1da55b!==_0x119f6a[_0x2a649f])[_0x574663(0x15d)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x21cca2['columnFormats']&&_0x4c0310[_0x574663(0x1c5)](Object[_0x574663(0x163)](_0x21cca2['columnFormats'])['length'],0x0)&&(_0x4e4b28=this[_0x574663(0x1a4)](_0x4e4b28,_0x21cca2[_0x574663(0x13e)]),logger[_0x574663(0x136)]({'event':_0x4c0310['KLwCA'],'formatCount':Object['keys'](_0x21cca2['columnFormats'])[_0x574663(0x15d)],'formats':Object[_0x574663(0x163)](_0x21cca2['columnFormats'])},_0x4c0310[_0x574663(0x1be)]));if(_0x21cca2[_0x574663(0x15c)]&&_0x21cca2[_0x574663(0x15c)]['column']){const {column:_0x3b1344,value:_0x44ccd9}=_0x21cca2['scopeOverride'];_0x4e4b28=_0x4e4b28['map'](_0x5286b9=>({..._0x5286b9,[_0x3b1344]:_0x44ccd9})),logger['debug']({'event':_0x4c0310['zFNTo'],'column':_0x3b1344,'rowCount':_0x4e4b28['length']},_0x4c0310['IxPdV']);}const _0x592597=_0x21cca2[_0x574663(0x19b)]?Object['values'](_0x21cca2['lookupFields'])[_0x574663(0x13f)](_0x2d98af=>_0x2d98af[_0x574663(0x1b2)]):[],_0x3cefc2=_0x21cca2[_0x574663(0x1bd)][_0x574663(0x168)](_0x44977e=>!_0x592597['includes'](_0x44977e)),_0x35bef9=excelParser[_0x574663(0x145)](_0x119f6a,_0x3cefc2);if(!_0x35bef9['valid']){await fs[_0x574663(0x19e)](_0x236249['path']);throw new Error(_0x574663(0x18f)+_0x35bef9[_0x574663(0x15a)]['join'](',\x20'));}const _0x6becc4={'upload_id':_0x3786bb,'filename':_0x236249[_0x574663(0x170)],'total_rows':_0x2c36ea,'headers':_0x119f6a,'rows':_0x4e4b28,'params':_0x21cca2,'created_at':new Date()[_0x574663(0x158)]()};return await redisHelper['setJob'](_0x574663(0x16a)+_0x3786bb,_0x6becc4,0xe10),await fs['unlink'](_0x236249['path']),logger[_0x574663(0x120)]({'event':_0x4c0310[_0x574663(0x162)],'uploadId':_0x3786bb,'filename':_0x236249[_0x574663(0x170)],'totalRows':_0x2c36ea},_0x574663(0x167)),{'upload_id':_0x3786bb,'total_rows':_0x2c36ea,'preview':_0x4e4b28[_0x574663(0x183)](0x0,0xa)};}catch(_0x228fb5){try{await fs['unlink'](_0x236249['path']);}catch(_0xbf2c6){_0x4c0310['waQeT'](logError,_0xbf2c6,{'event':_0x574663(0x1c3)},_0x4c0310['EuthT']);}throw _0x228fb5;}}async[a0_0x5d8b70(0x17c)](_0x3a9f3a){const _0x17f7fc=a0_0x5d8b70,_0x2a0417={'kIqSU':'preview_process_error','CWFrg':'validating','FcVUf':'Preview\x20job\x20created'},_0x237845=this[_0x17f7fc(0x134)](),_0x248498=await redisHelper['getJob'](_0x17f7fc(0x16a)+_0x3a9f3a);if(!_0x248498)throw new Error(_0x17f7fc(0x14f));const _0x1eb792={'job_id':_0x237845,'upload_id':_0x3a9f3a,'status':_0x2a0417[_0x17f7fc(0x152)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x248498['params']};return await redisHelper[_0x17f7fc(0x140)](_0x17f7fc(0x159)+_0x237845,_0x1eb792,0xe10),logger[_0x17f7fc(0x120)]({'event':'preview_job_created','jobId':_0x237845,'uploadId':_0x3a9f3a},_0x2a0417['FcVUf']),this[_0x17f7fc(0x143)](_0x237845,_0x3a9f3a,_0x248498)['catch'](_0x3ec1c9=>{const _0x2b63be=_0x17f7fc;logError(_0x3ec1c9,{'event':_0x2a0417[_0x2b63be(0x12c)],'jobId':_0x237845},'Preview\x20processing\x20failed');}),{'job_id':_0x237845,'status':'validating'};}['autoGenerateUpsertKeys'](_0x1720f8,_0x32cd08){const _0x580ad2=a0_0x5d8b70,_0x28085e={'GtMfF':function(_0x152566,_0x5669f4){return _0x152566===_0x5669f4;},'gbIBh':function(_0x2dc04b,_0x3e870d){return _0x2dc04b(_0x3e870d);},'gisgU':'uuid_auto_generated'};_0x1720f8[_0x580ad2(0x169)]((_0x5ad454,_0x28958f)=>{const _0x5dc225=_0x580ad2;_0x32cd08[_0x5dc225(0x169)](_0xaa3a77=>{const _0x5a8a5f=_0x5dc225,_0x32a8c3=_0x5ad454[_0xaa3a77];if(_0x28085e['GtMfF'](_0x32a8c3,null)||_0x32a8c3===undefined||_0x28085e['GtMfF'](_0x32a8c3,'')||_0x28085e[_0x5a8a5f(0x18d)](String,_0x32a8c3)['trim']()==='-'){const _0x22656b=uuidv7();_0x5ad454[_0xaa3a77]=_0x22656b,_0x5ad454[_0x5a8a5f(0x19f)]=_0x5ad454[_0x5a8a5f(0x19f)]||{},_0x5ad454['_generated_uuid'][_0xaa3a77]=_0x22656b,logger['debug']({'event':_0x28085e[_0x5a8a5f(0x192)],'rowIndex':_0x28958f,'field':_0xaa3a77,'uuid':_0x22656b},'Auto-generated\x20UUID\x20for\x20'+_0xaa3a77+_0x5a8a5f(0x1bb)+(_0x28958f+0x2));}});});}async[a0_0x5d8b70(0x143)](_0x4688f7,_0x2f33f9,_0x45a4cd){const _0x5ac6c5=a0_0x5d8b70,_0xa4c2e8={'zGwYL':function(_0x3667a8,_0x39d7e6){return _0x3667a8===_0x39d7e6;},'UOrbm':function(_0x317293,_0xb06335){return _0x317293===_0xb06335;},'dqmqY':'SKIP','zesUp':function(_0x18bab8,_0x23e901){return _0x18bab8>_0x23e901;},'zanwN':function(_0x179a7c,_0x36358b,_0x3ce4e9,_0x1b8ed4){return _0x179a7c(_0x36358b,_0x3ce4e9,_0x1b8ed4);},'JoRNI':_0x5ac6c5(0x19d)};try{let {rows:_0x3dec4a,params:_0x307703}=_0x45a4cd;const {requiredFields:_0x18ecb5,validations:_0x5209d2,upsertKeys:_0x43de40,tableName:_0x2b1143,primaryKey:_0x4fb10e,fieldName:_0x5acf5d,upsertStrategy:_0x5d8acf,lookupFields:_0x297838}=_0x307703;this['autoGenerateUpsertKeys'](_0x3dec4a,_0x43de40);let _0x46a7fe=[];if(_0x297838&&_0xa4c2e8[_0x5ac6c5(0x147)](Object[_0x5ac6c5(0x163)](_0x297838)['length'],0x0)){logger['info']({'event':_0x5ac6c5(0x187),'jobId':_0x4688f7,'lookupFieldCount':Object['keys'](_0x297838)['length']},'Processing\x20lookup\x20fields');const _0x103be3=await lookupResolver['processLookupFields'](_0x3dec4a,_0x297838);_0x3dec4a=_0x103be3[_0x5ac6c5(0x146)],_0x46a7fe=_0x103be3[_0x5ac6c5(0x1bf)],_0x45a4cd['rows']=_0x3dec4a;}const _0x3e8fee=importValidator['batchValidateRows'](_0x3dec4a,_0x18ecb5||[],_0x5209d2||{});_0x46a7fe['forEach'](_0x2bc5da=>{const _0xaedbd1=_0x5ac6c5,_0x1a1ef7=_0x3e8fee['find'](_0x5124a4=>_0x5124a4[_0xaedbd1(0x185)]===_0x2bc5da[_0xaedbd1(0x185)]);_0x1a1ef7?_0x1a1ef7[_0xaedbd1(0x1bf)]['push'](_0x2bc5da['message']):_0x3e8fee[_0xaedbd1(0x173)]({'rowIndex':_0x2bc5da['rowIndex'],'rowData':_0x3dec4a[_0x2bc5da['rowIndex']],'errors':[_0x2bc5da[_0xaedbd1(0x12e)]]});});const _0x5268ef=importValidator[_0x5ac6c5(0x18c)](_0x3dec4a,_0x43de40);_0x5268ef[_0x5ac6c5(0x169)](_0x332ef2=>{const _0x28af5f=_0x5ac6c5,_0x239ffa=_0x3e8fee['find'](_0x10ba56=>_0x10ba56[_0x28af5f(0x185)]===_0x332ef2[_0x28af5f(0x185)]),_0x270651=_0x43de40[_0x28af5f(0x13f)](_0x312089=>_0x312089[_0x28af5f(0x1ab)]())[_0x28af5f(0x14d)](',\x20'),_0x1bd090=_0x28af5f(0x190)+_0x270651;_0x239ffa?_0x239ffa['errors'][_0x28af5f(0x173)](_0x1bd090):_0x3e8fee[_0x28af5f(0x173)]({'rowIndex':_0x332ef2['rowIndex'],'rowData':_0x3dec4a[_0x332ef2['rowIndex']],'errors':[_0x1bd090]});}),await this[_0x5ac6c5(0x125)](_0x3dec4a,_0x43de40,_0x2b1143,_0x4fb10e,_0x5d8acf,_0x3e8fee),_0x3e8fee['forEach'](_0x84007=>{const _0x4345c4=_0x5ac6c5,_0x1e7ccf=_0x3dec4a[_0x84007[_0x4345c4(0x185)]];_0x1e7ccf&&(_0x1e7ccf['_errors']=_0x84007[_0x4345c4(0x1bf)]);});let _0x1adca5=0x0,_0x3b46f2=0x0,_0x269c52=0x0;_0x3dec4a[_0x5ac6c5(0x169)](_0x5ca909=>{const _0x26385a=_0x5ac6c5;if(_0xa4c2e8[_0x26385a(0x17b)](_0x5ca909[_0x26385a(0x14b)],_0x26385a(0x195)))_0x1adca5++;else{if(_0x5ca909['_action']==='UPDATE')_0x3b46f2++;else _0xa4c2e8['UOrbm'](_0x5ca909[_0x26385a(0x14b)],_0xa4c2e8[_0x26385a(0x1af)])&&_0x269c52++;}});const _0x1e0951={'job_id':_0x4688f7,'upload_id':_0x2f33f9,'status':_0x3e8fee['length']>0x0?_0x5ac6c5(0x142):'preview_ok','progress':0x64,'created_at':_0x45a4cd['created_at'],'completed_at':new Date()[_0x5ac6c5(0x158)](),'preview':{'total_rows':_0x3dec4a['length'],'insert_count':_0x1adca5,'update_count':_0x3b46f2,'skip_count':_0x269c52,'error_count':_0x3e8fee[_0x5ac6c5(0x15d)],'errors':_0x3e8fee,'data':_0x3dec4a,'sample_insert':_0x3dec4a[_0x5ac6c5(0x168)](_0x113f30=>_0x113f30[_0x5ac6c5(0x14b)]==='INSERT')[_0x5ac6c5(0x183)](0x0,0x5),'sample_update':_0x3dec4a[_0x5ac6c5(0x168)](_0x5a2fda=>_0x5a2fda[_0x5ac6c5(0x14b)]==='UPDATE')[_0x5ac6c5(0x183)](0x0,0x5),'sample_skip':_0x3dec4a[_0x5ac6c5(0x168)](_0xd14d25=>_0xd14d25[_0x5ac6c5(0x14b)]==='SKIP')[_0x5ac6c5(0x183)](0x0,0x5)},'params':_0x307703};await redisHelper[_0x5ac6c5(0x140)]('job:'+_0x4688f7,_0x1e0951,0xe10),_0x45a4cd['rows']=_0x3dec4a,await redisHelper[_0x5ac6c5(0x140)]('upload:'+_0x2f33f9,_0x45a4cd,0xe10),logger['info']({'event':_0x5ac6c5(0x14a),'jobId':_0x4688f7,'status':_0x1e0951['status'],'insertCount':_0x1adca5,'updateCount':_0x3b46f2,'skipCount':_0x269c52,'errorCount':_0x3e8fee[_0x5ac6c5(0x15d)]},_0x5ac6c5(0x18a));}catch(_0x5a33a7){_0xa4c2e8['zanwN'](logError,_0x5a33a7,{'event':_0x5ac6c5(0x123),'jobId':_0x4688f7},_0xa4c2e8[_0x5ac6c5(0x186)]),await redisHelper[_0x5ac6c5(0x140)]('job:'+_0x4688f7,{'job_id':_0x4688f7,'upload_id':_0x2f33f9,'status':'failed','progress':0x0,'error':_0x5a33a7['message'],'created_at':new Date()[_0x5ac6c5(0x158)](),'completed_at':new Date()[_0x5ac6c5(0x158)]()},0xe10);}}async[a0_0x5d8b70(0x125)](_0xa3e1d4,_0x3f1cb8,_0x2a8a69,_0x4e4006,_0x3fb730=a0_0x5d8b70(0x135),_0x363406=[]){const _0x28f173=a0_0x5d8b70,_0x65acb1={'vnLrs':function(_0x456039,_0x30c5ef){return _0x456039(_0x30c5ef);},'LezIk':_0x28f173(0x180),'lHZol':_0x28f173(0x1a2),'bIGiV':function(_0x5df4cf,_0x5dc1c1){return _0x5df4cf!==_0x5dc1c1;},'NwlMZ':function(_0x56753e,_0x55a362){return _0x56753e===_0x55a362;},'dolYM':function(_0x47fa58,_0x19ebad){return _0x47fa58===_0x19ebad;},'AiHDM':_0x28f173(0x135),'FtufQ':_0x28f173(0x133),'GTQPN':_0x28f173(0x16c)},_0xd82ad5=upsertBuilder[_0x28f173(0x17d)](_0xa3e1d4,0x64);for(const _0x57ca72 of _0xd82ad5){const _0x5a39b0=_0x57ca72[_0x28f173(0x13f)](_0x333a25=>_0x333a25[_0x3f1cb8[0x0]]),_0xaaad96=_0x5a39b0['map'](_0x54b745=>{if(_0x54b745===null||_0x54b745===undefined)return'NULL';return'\x27'+_0x65acb1['vnLrs'](String,_0x54b745)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x5c583d='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x4e4006+',\x20'+_0x3f1cb8[_0x28f173(0x14d)](',\x20')+_0x28f173(0x196)+_0x2a8a69+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x3f1cb8[0x0]+'\x20IN\x20('+_0xaaad96[_0x28f173(0x14d)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x608ff8=await executeQuery(_0x5c583d);_0x65acb1[_0x28f173(0x1a5)](dbType,_0x65acb1[_0x28f173(0x13a)])&&_0x608ff8&&_0x608ff8['length']>0x0&&(_0x608ff8=_0x608ff8['map'](_0x14afba=>{const _0xd41caa={};for(const [_0x9e6164,_0xfc6c33]of Object['entries'](_0x14afba)){_0xd41caa[_0x9e6164['toLowerCase']()]=_0xfc6c33;}return _0xd41caa;}));const _0x5e2386=new Map();_0x608ff8['forEach'](_0x377b72=>{const _0x8d18c5=_0x28f173,_0x522c6b=_0x377b72[_0x3f1cb8[0x0]];_0x5e2386[_0x8d18c5(0x131)](_0x522c6b,_0x377b72);}),_0x57ca72[_0x28f173(0x169)]((_0x25ff31,_0x3934ca)=>{const _0x54f519=_0x28f173,_0x58b9b9=_0x25ff31[_0x3f1cb8[0x0]],_0x237c00=_0x5e2386[_0x54f519(0x1c6)](_0x58b9b9);if(_0x237c00){if(_0x3fb730==='update_existing')_0x25ff31['_action']=_0x65acb1[_0x54f519(0x15f)],_0x25ff31['_existingId']=_0x237c00[_0x4e4006];else{if(_0x3fb730===_0x65acb1[_0x54f519(0x19a)]){_0x25ff31[_0x54f519(0x14b)]=_0x54f519(0x150),_0x25ff31['_errors']=_0x25ff31[_0x54f519(0x12f)]||[],_0x25ff31['_errors']['push'](_0x54f519(0x1b0));const _0x2c12fc=_0xa3e1d4[_0x54f519(0x1b1)](_0x25ff31);_0x65acb1[_0x54f519(0x161)](_0x2c12fc,-0x1)&&_0x363406['push']({'rowIndex':_0x2c12fc,'rowData':_0x25ff31,'errors':[_0x54f519(0x1b0)]});}else _0x65acb1['NwlMZ'](_0x3fb730,'skip_existing')&&(_0x25ff31['_action']=_0x54f519(0x150));}}else{if(_0x65acb1[_0x54f519(0x1a5)](_0x3fb730,_0x65acb1['AiHDM']))_0x25ff31['_action']=_0x54f519(0x195);else(_0x65acb1['NwlMZ'](_0x3fb730,_0x54f519(0x1a2))||_0x65acb1[_0x54f519(0x1a5)](_0x3fb730,_0x65acb1['FtufQ']))&&(_0x25ff31[_0x54f519(0x14b)]='INSERT');}});}}async['createCommitJob'](_0x40efd0){const _0xbd36e4=a0_0x5d8b70,_0x53c905={'xNOhn':function(_0x29f9ec,_0x5e44b2,_0x24aead,_0x95987d){return _0x29f9ec(_0x5e44b2,_0x24aead,_0x95987d);},'wIHNV':function(_0x389878,_0x1d9dd4){return _0x389878!==_0x1d9dd4;},'dlaDy':'Commit\x20job\x20created'},_0x4efc4d=this['generateId'](),_0x1e9981=await redisHelper[_0xbd36e4(0x149)](_0xbd36e4(0x159)+_0x40efd0);if(!_0x1e9981)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x53c905['wIHNV'](_0x1e9981[_0xbd36e4(0x18b)],_0xbd36e4(0x160)))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x1e9981[_0xbd36e4(0x18b)]);const _0x30d26f={'job_id':_0x4efc4d,'upload_id':_0x1e9981['upload_id'],'preview_job_id':_0x40efd0,'status':_0xbd36e4(0x19c),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1e9981['params']};return await redisHelper['setJob'](_0xbd36e4(0x159)+_0x4efc4d,_0x30d26f,0xe10),logger[_0xbd36e4(0x120)]({'event':'commit_job_created','jobId':_0x4efc4d,'previewJobId':_0x40efd0},_0x53c905[_0xbd36e4(0x172)]),this[_0xbd36e4(0x139)](_0x4efc4d,_0x1e9981)['catch'](_0x8c8292=>{const _0x1d5a99=_0xbd36e4;_0x53c905[_0x1d5a99(0x1c1)](logError,_0x8c8292,{'event':_0x1d5a99(0x151),'jobId':_0x4efc4d},_0x1d5a99(0x132));}),{'job_id':_0x4efc4d,'status':'processing'};}async[a0_0x5d8b70(0x139)](_0x421d0c,_0x3c75d3){const _0x33ddbb=a0_0x5d8b70,_0x3f32f5={'ecJta':function(_0x17e666,_0x2b4b67){return _0x17e666===_0x2b4b67;},'SrIBo':'insert','hZeiQ':'Upload\x20data\x20not\x20found\x20or\x20expired','uKQPZ':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','pZPuJ':function(_0x4dfd7d,_0x885916){return _0x4dfd7d>_0x885916;},'SnhJW':function(_0x216eb8,_0x43a25b){return _0x216eb8>_0x43a25b;},'Xplcg':function(_0x2da069,_0x336333){return _0x2da069||_0x336333;},'fSbkW':'update','qrvzS':_0x33ddbb(0x193),'bOnZe':_0x33ddbb(0x16d),'OyPQj':'failed'};try{const _0x42235b=await redisHelper[_0x33ddbb(0x149)](_0x33ddbb(0x16a)+_0x3c75d3['upload_id']);if(!_0x42235b)throw new Error(_0x3f32f5['hZeiQ']);const {rows:_0x24a272,params:_0x20ad88}=_0x42235b,{tableName:_0x42f742,fieldName:_0x504d26,primaryKey:_0x476ff0,upsertKeys:_0xa864ca,excludeFromImport:_0x1151a9,lookupFields:_0xef10cc,columnFormats:_0x42a0cb}=_0x20ad88,_0x92513d=_0xef10cc?Object['keys'](_0xef10cc):[],_0x2019f4=new Set([..._0x1151a9||[],..._0x92513d]);let _0xaef785=_0x504d26;_0x2019f4['size']>0x0&&(_0xaef785=_0x504d26[_0x33ddbb(0x168)](_0x5717d3=>!_0x2019f4['has'](_0x5717d3)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x504d26[_0x33ddbb(0x15d)],'filteredCount':_0xaef785[_0x33ddbb(0x15d)],'excludedFields':Array['from'](_0x2019f4),'lookupSourceFields':_0x92513d},_0x3f32f5['uKQPZ']));const _0x4f48e2=_0x24a272['filter'](_0x391cba=>_0x391cba[_0x33ddbb(0x14b)]==='INSERT'),_0x3ad251=_0x24a272['filter'](_0x1d6af2=>_0x1d6af2[_0x33ddbb(0x14b)]===_0x33ddbb(0x180));let _0x3b3437=0x0,_0x4fc1ea=0x0;const _0xace1c7=[];if(_0x3f32f5['pZPuJ'](_0x4f48e2['length'],0x0)){const _0x21a785=upsertBuilder[_0x33ddbb(0x17d)](_0x4f48e2,0x64);for(const _0x39774d of _0x21a785){const {query:_0x1fdbf4}=upsertBuilder['buildBatchInsert'](_0x39774d,_0x42f742,_0xaef785,_0x42a0cb||{});_0x1fdbf4&&_0xace1c7[_0x33ddbb(0x173)]({'sql':_0x1fdbf4,'count':_0x39774d['length'],'type':_0x33ddbb(0x13c)});}}if(_0x3f32f5['SnhJW'](_0x3ad251['length'],0x0)){const _0x155ce6=upsertBuilder['chunkRows'](_0x3ad251,0x64);for(const _0x2f25dd of _0x155ce6){const {query:_0x4a8089}=upsertBuilder[_0x33ddbb(0x1a9)](_0x2f25dd,_0x42f742,_0xaef785,_0x476ff0,_0xa864ca,_0x3f32f5['Xplcg'](_0x42a0cb,{}));_0x4a8089&&_0xace1c7[_0x33ddbb(0x173)]({'sql':_0x4a8089,'count':_0x2f25dd['length'],'type':_0x3f32f5[_0x33ddbb(0x166)]});}}_0x3f32f5[_0x33ddbb(0x16e)](_0xace1c7['length'],0x0)&&await executeTransaction(_0xace1c7[_0x33ddbb(0x13f)](_0x2d8458=>({'sql':_0x2d8458['sql'],'params':[]})));_0xace1c7[_0x33ddbb(0x169)](_0x3ea5f5=>{if(_0x3f32f5['ecJta'](_0x3ea5f5['type'],_0x3f32f5['SrIBo']))_0x3b3437+=_0x3ea5f5['count'];else _0x4fc1ea+=_0x3ea5f5['count'];});const _0x3f0824={'job_id':_0x421d0c,'upload_id':_0x3c75d3[_0x33ddbb(0x1ba)],'preview_job_id':_0x3c75d3[_0x33ddbb(0x130)],'status':_0x3f32f5['qrvzS'],'progress':0x64,'created_at':_0x3c75d3[_0x33ddbb(0x17a)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x33ddbb(0x158)](),'result':{'total_rows':_0x24a272[_0x33ddbb(0x15d)],'inserted_rows':_0x3b3437,'updated_rows':_0x4fc1ea,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x20ad88};await redisHelper[_0x33ddbb(0x140)]('job:'+_0x421d0c,_0x3f0824,0xe10),logger['info']({'event':_0x33ddbb(0x175),'jobId':_0x421d0c,'insertedCount':_0x3b3437,'updatedCount':_0x4fc1ea},'Commit\x20job\x20completed');}catch(_0x481944){logError(_0x481944,{'event':_0x3f32f5['bOnZe'],'jobId':_0x421d0c},'Commit\x20job\x20failed'),await redisHelper[_0x33ddbb(0x140)](_0x33ddbb(0x159)+_0x421d0c,{'job_id':_0x421d0c,'upload_id':_0x3c75d3['upload_id'],'preview_job_id':_0x3c75d3[_0x33ddbb(0x130)],'status':_0x3f32f5['OyPQj'],'progress':0x0,'error':_0x481944['message'],'created_at':_0x3c75d3['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x33ddbb(0x158)]()},0xe10);}}async[a0_0x5d8b70(0x128)](_0x5814e3){const _0xd91a93=a0_0x5d8b70,_0x30d3a7=await redisHelper['getJob']('job:'+_0x5814e3);if(!_0x30d3a7)return{'success':![],'error':_0xd91a93(0x14c)};return{'success':!![],'data':_0x30d3a7};}}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x12b2bd=a0_0xe4ca;(function(_0x27a11d,_0x229829){const _0x4bdb9d=a0_0xe4ca,_0x123af8=_0x27a11d();while(!![]){try{const _0x3adcc8=parseInt(_0x4bdb9d(0x165))/0x1+parseInt(_0x4bdb9d(0xd0))/0x2*(parseInt(_0x4bdb9d(0xc6))/0x3)+parseInt(_0x4bdb9d(0x102))/0x4*(parseInt(_0x4bdb9d(0xc0))/0x5)+parseInt(_0x4bdb9d(0x15f))/0x6*(parseInt(_0x4bdb9d(0x113))/0x7)+parseInt(_0x4bdb9d(0x12a))/0x8*(parseInt(_0x4bdb9d(0x111))/0x9)+parseInt(_0x4bdb9d(0xe3))/0xa*(-parseInt(_0x4bdb9d(0x160))/0xb)+-parseInt(_0x4bdb9d(0xc4))/0xc;if(_0x3adcc8===_0x229829)break;else _0x123af8['push'](_0x123af8['shift']());}catch(_0x55393d){_0x123af8['push'](_0x123af8['shift']());}}}(a0_0x221b,0xf2d83));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x12b2bd(0x14d)],redisHelper=require(a0_0x12b2bd(0xe8)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x12b2bd(0xea)]||a0_0x12b2bd(0x161))[a0_0x12b2bd(0xe7)]();function a0_0x221b(){const _0x472e3b=['CgfYyw1Z','y29TBwL0x3bYB2nLC3nFzxjYB3i','uhjLDMLLDYbQB2iGy29TCgXLDgvK','u2PgEue','mti0mJa2mdnduvHnDeq','zxjYB3jZ','ndLxz3vTuwq','r0ncwMm','yxbWBhLdB2X1Bw5gB3jTyxrZ','y291BNq','lI4VDxrPBhmVzgiTB3jHy2XL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','s3rwEKS','su5trvju','BgvUz3rO','tg9qEvm','ChjLDMLLD19LCNjVCG','vvbeqvrf','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChjVy2vZC2vKuM93CW','zMLUza','AM9IoG','B3jHy2XL','AM9PBG','Aw5MBW','ChjVy2vZC2LUzW','C2TPCf9LEgLZDgLUzW','y3HRrwW','q29TBwL0igPVyIbJCMvHDgvK','ognlrwj2sG','DxbKyxrLx2v4Axn0Aw5N','ChjVy2vZC0XVB2T1CezPzwXKCW','zgf0zq','y29TBwL0x2PVyL9JB21WBgv0zwq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','Bg9VA3vWrMLLBgrZ','x3vWBg9HzerPCG','rwrXDMu','x2v4Axn0Aw5Nswq','CM93sw5KzxG','wxjmswy','vNzZB0y','ChvZAa','zMLSzv9JBgvHBNvWx2vYCM9Y','ChjVy2vZC0nVBw1PDePVyG','rg9iD1i','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','uKLcu2e','ChjLDMLLD19VAW','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','q29TBwL0igPVyIbJB21WBgv0zwq','DNbUvxq','lI4VlI4VDgvTCc91CgXVywrZlW','uhjLDMLLDYbQB2iGzMfPBgvK','DMfSAwrHDgLUzW','Axf0wuO','x2DLBMvYyxrLzf91DwLK','sgrdAfG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','C2v0sM9I','DxvPzf9HDxrVx2DLBMvYyxrLza','zwfrwxG','DMvLBfa','DMfSAwq','ChjVBwLZzxm','BwfW','wLf1ruq','qLv5Cw0','C3vIC3rYAw5N','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','yNvPBgrcyxrJAfvWzgf0zq','C2v0','zNjVBq','y2vVtKi','y0fHrgS','EKzxueS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjLDMLLD19QB2jFy3jLyxrLza','Dg9ju09tDhjPBMC','r2DVrLG','zw50CMLLCW','z2v0sM9I','mtaYmJC5nNnXwLnKzW','mJa4odq5m0jJvLj6vW','Cg9ZDgDYzxnXBa','z2v0','CLrcufu','Aw5Zzxj0','mtq5nZi5nuXwwNHmCa','zgvMyxvSDa','u0Tjua','y29SDw1UrM9YBwf0CW','C2nVCgvpDMvYCMLKzq','q0nuwKK','DxbSB2fKrMLSzq','BNvTyMvY','z2v0tw9UDgG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMfPBgvK','shnqu0O','x2vYCM9YCW','y29TBwL0x2PVyL9JCMvHDgvK','cIaGicaGicaGv0HfuKuG','BxLZCwW','uufXwxe','r0vivvq','uhjLDMLLDYbQB2iGy3jLyxrLza','s2DkuLG','z2vUzxjHDgvjza','zxHLy3v0zvf1zxj5','Aw5JBhvKzxm','DhLWzq','mta1D1fssvvk','DgvZDa','DgfYz2v0rMLLBgq','AgfZ','ntG2mZu4nJrADe55twG','ieLoicG','nK9esKjqsW','BeLbCe8','C2XPy2u','y1bHuNq','DxbSB2fKx2LK','zgDSywy','qxHzu3O','zMLSDgvY','rhnAyu0','A2v5CW','mtC3nti2mK52DKXosq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','ENvPsM8','Dhj1zq','Dg9tDhjPBMC','AMLWEvu','yM9VBgvHBG','r29ArMm','DMXYCva','C3rHDhvZ','x2fJDgLVBG','Dg9vChbLCKnHC2u','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zw52','C3rYAw5N','EwvZ','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','DhjPBq','mZbwquvXs2y','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','ChjLDMLLD19QB2jFzMfPBgvK','u2nUzvG','Dg9mB3DLCKnHC2u','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','yNvPBgrmywjLBfrVrMLLBgrnyxa','rejFvfLqrq','tNPvqMu','y2H1BMTsB3DZ','rKH5wfu','CuLmANm','vxLZy1C','zgvIDwC','CMvWBgfJzq','DMfSDwvZ','yMf0y2HwywXPzgf0zvjVD3m','vuLSBgS','CgfYC2vfEgnLBezPBgu','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','B3jPz2LUywXUyw1L','Dw5SAw5R','y3jLyxrLq29TBwL0sM9I','zgTrueS','CM93CW','zM9YrwfJAa','BwvZC2fNzq','Cgf0Aa','CgfKu3rHCNq','zMLLBgrmywjLBhm','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','mte1mtG0BwnbAwPT','EK1RAuK','Aw5Zzxj0x29UBhK','wfbWzKy','zxHLy3v0zvrYyw5Zywn0Aw9U','sxz2qMq','DxbSB2fKoG','BwLZC2LUz0zPzwXKCW','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','y29SDw1U','ChjVy2vZC1bYzxzPzxDkB2i'];a0_0x221b=function(){return _0x472e3b;};return a0_0x221b();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x12b2bd(0x117)),executeQuery=(_0xce79f1,_0x3fd45c)=>oracleDb[a0_0x12b2bd(0xbd)](_0xce79f1,_0x3fd45c),executeTransaction=_0x25245f=>oracleDb[a0_0x12b2bd(0x106)](_0x25245f);else{if(dbType===a0_0x12b2bd(0xb7)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x574eac,_0xcf0294)=>mysqlDb['executeQuery'](_0x574eac,_0xcf0294),executeTransaction=_0x3389fe=>mysqlDb['executeTransaction'](_0x3389fe);}else{const db=require('../utils/db');executeQuery=db[a0_0x12b2bd(0xbd)],executeTransaction=db[a0_0x12b2bd(0x106)];}}const excelParser=require(a0_0x12b2bd(0xd1)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x12b2bd(0xf6)),lookupResolver=require(a0_0x12b2bd(0x13b));function a0_0xe4ca(_0x5382a3,_0x3d63ed){_0x5382a3=_0x5382a3-0xaf;const _0x221b95=a0_0x221b();let _0xe4caa1=_0x221b95[_0x5382a3];if(a0_0xe4ca['vRclek']===undefined){var _0x44a5cc=function(_0x5e7e1e){const _0x2bd466='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x366399='',_0x327d8f='';for(let _0x50629a=0x0,_0x374e31,_0x4b7986,_0x4b0dae=0x0;_0x4b7986=_0x5e7e1e['charAt'](_0x4b0dae++);~_0x4b7986&&(_0x374e31=_0x50629a%0x4?_0x374e31*0x40+_0x4b7986:_0x4b7986,_0x50629a++%0x4)?_0x366399+=String['fromCharCode'](0xff&_0x374e31>>(-0x2*_0x50629a&0x6)):0x0){_0x4b7986=_0x2bd466['indexOf'](_0x4b7986);}for(let _0x3da4e6=0x0,_0x3b8f94=_0x366399['length'];_0x3da4e6<_0x3b8f94;_0x3da4e6++){_0x327d8f+='%'+('00'+_0x366399['charCodeAt'](_0x3da4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x327d8f);};a0_0xe4ca['ElZLTj']=_0x44a5cc,a0_0xe4ca['DdvRni']={},a0_0xe4ca['vRclek']=!![];}const _0x222fa7=_0x221b95[0x0],_0x485a6d=_0x5382a3+_0x222fa7,_0x2a4a06=a0_0xe4ca['DdvRni'][_0x485a6d];return!_0x2a4a06?(_0xe4caa1=a0_0xe4ca['ElZLTj'](_0xe4caa1),a0_0xe4ca['DdvRni'][_0x485a6d]=_0xe4caa1):_0xe4caa1=_0x2a4a06,_0xe4caa1;}class ImportService{constructor(){const _0x132b1a=a0_0x12b2bd;this[_0x132b1a(0x131)]=null;}get['uploadDir'](){const _0x1a20fc=a0_0x12b2bd;if(!this[_0x1a20fc(0x131)]){const _0x26f695=process[_0x1a20fc(0xde)][_0x1a20fc(0x159)]||_0x1a20fc(0x166);this['_uploadDir']=process[_0x1a20fc(0xde)]['UPLOAD_DIR']||path[_0x1a20fc(0x124)](__dirname,_0x1a20fc(0x141)+_0x26f695);}return this['_uploadDir'];}[a0_0x12b2bd(0xbc)](){const _0xf717eb=a0_0x12b2bd,_0x18ea14={'mfOSv':function(_0x387a40){return _0x387a40();},'Edqve':function(_0x35404d,_0x3435fb){return _0x35404d-_0x3435fb;},'dkQPK':function(_0x24f97e,_0x3b0053){return _0x24f97e<_0x3b0053;}},_0x45aeed='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0xc2acaf=Date['now']()[_0xf717eb(0xd5)](0x24),_0xb642d6=_0x18ea14['mfOSv'](uuidv7)['replace'](/-/g,'')[_0xf717eb(0x151)](0x0,_0x18ea14[_0xf717eb(0x132)](0xc,_0xc2acaf[_0xf717eb(0x11b)])),_0x1d185b=(_0xc2acaf+_0xb642d6)[_0xf717eb(0x151)](0x0,0xc);let _0x216199='';for(let _0x30bc7a=0x0;_0x18ea14[_0xf717eb(0xfa)](_0x30bc7a,0xc);_0x30bc7a++){_0x1d185b[_0x30bc7a]?_0x216199+=_0x1d185b[_0x30bc7a]:_0x216199+=_0x45aeed['charAt'](Math['floor'](Math['random']()*_0x45aeed[_0xf717eb(0x11b)]));}return _0x216199;}[a0_0x12b2bd(0xe9)](_0x5d3b3d){const _0x494f7e=a0_0x12b2bd,_0x543b05={'tGyRZ':function(_0x2ffecb,_0x59d557){return _0x2ffecb(_0x59d557);},'xMQHz':'label_to_field_map_built','veelP':_0x494f7e(0xe4)},_0x8a75ac=new Map();if(!_0x5d3b3d)return _0x8a75ac;return Object['entries'](_0x5d3b3d)['forEach'](([_0x265222,_0x257ac0])=>{const _0x2ce697=_0x494f7e,_0x560d18=_0x543b05['tGyRZ'](String,_0x257ac0)['trim']()[_0x2ce697(0xf1)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x8a75ac[_0x2ce697(0x154)](_0x560d18,_0x265222);}),logger['debug']({'event':_0x543b05['xMQHz'],'mappingCount':_0x8a75ac['size']},_0x543b05[_0x494f7e(0x14b)]),_0x8a75ac;}[a0_0x12b2bd(0x115)](_0x123e83,_0x8d6096){const _0x20644a=a0_0x12b2bd,_0x214161={'fuXHN':function(_0x2ce883,_0x2e615c){return _0x2ce883===_0x2e615c;},'cxkEl':_0x20644a(0xaf),'eaQYx':'boolean','gzStz':'text','QAqYq':function(_0x416df3,_0x457f69){return _0x416df3===_0x457f69;}};if(!_0x8d6096||_0x214161[_0x20644a(0xb8)](Object['keys'](_0x8d6096)['length'],0x0))return _0x123e83;return _0x123e83['map'](_0x4314c0=>{const _0x72bc4d=_0x20644a,_0x225e10={..._0x4314c0};for(const [_0x43164b,_0x38f586]of Object[_0x72bc4d(0x15d)](_0x8d6096)){const _0x1c3173=_0x225e10[_0x43164b];if(_0x1c3173===null||_0x1c3173===undefined||_0x214161['fuXHN'](_0x1c3173,'')){_0x225e10[_0x43164b]=null;continue;}switch(_0x38f586[_0x72bc4d(0xbf)]){case _0x72bc4d(0x12d):_0x225e10[_0x43164b]=this['formatDateForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x128)]:_0x225e10[_0x43164b]=this['formatNumberForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x14a)]:_0x225e10[_0x43164b]=this['formatBooleanForDatabase'](_0x1c3173);break;case _0x214161['gzStz']:_0x225e10[_0x43164b]=String(_0x1c3173);break;default:break;}}return _0x225e10;});}[a0_0x12b2bd(0x118)](_0x3479d6){const _0x55dbb7=a0_0x12b2bd,_0x3d5346={'AGTTQ':function(_0x2cc723,_0x5d43a1){return _0x2cc723===_0x5d43a1;},'zFWPK':function(_0x31002b,_0x2240ac){return _0x31002b(_0x2240ac);},'SjFyA':function(_0x2e192d,_0x2ad827){return _0x2e192d(_0x2ad827);},'NNjPR':function(_0x2f9a52,_0x4302fa){return _0x2f9a52+_0x4302fa;},'jipyU':function(_0x3eeb28,_0x564acb){return _0x3eeb28(_0x564acb);},'DlQUr':function(_0x427bad,_0x23f30e){return _0x427bad===_0x23f30e;},'cAaDk':'string','NzUBe':function(_0x560028,_0x451674){return _0x560028(_0x451674);},'XEVEc':function(_0x55a301,_0x4b8116){return _0x55a301(_0x4b8116);}};if(_0x3479d6===null||_0x3d5346['AGTTQ'](_0x3479d6,undefined)||_0x3479d6==='')return null;if(typeof _0x3479d6==='string'&&/^\d{4}-\d{2}-\d{2}$/[_0x55dbb7(0xc1)](_0x3479d6))return _0x3479d6;if(_0x3479d6 instanceof Date){if(_0x3d5346[_0x55dbb7(0x158)](isNaN,_0x3479d6['getTime']()))return null;const _0x3519be=_0x3479d6['getFullYear'](),_0x3e373a=_0x3d5346[_0x55dbb7(0x110)](String,_0x3d5346['NNjPR'](_0x3479d6[_0x55dbb7(0xb0)](),0x1))['padStart'](0x2,'0'),_0x27134b=_0x3d5346[_0x55dbb7(0xd6)](String,_0x3479d6['getDate']())['padStart'](0x2,'0');return _0x3519be+'-'+_0x3e373a+'-'+_0x27134b;}if(_0x3d5346['DlQUr'](typeof _0x3479d6,_0x3d5346[_0x55dbb7(0x157)])){const _0x5a3e15=_0x3479d6['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5a3e15){const _0x11d995=String(_0x5a3e15[0x1])['padStart'](0x2,'0'),_0x1c18b0=_0x3d5346[_0x55dbb7(0xeb)](String,_0x5a3e15[0x2])[_0x55dbb7(0xff)](0x2,'0'),_0x5f5951=_0x5a3e15[0x3];return _0x5f5951+'-'+_0x1c18b0+'-'+_0x11d995;}const _0x5630ac=_0x3479d6['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5630ac){const _0xeb312c=_0x5630ac[0x1],_0x432a48=_0x3d5346['XEVEc'](String,_0x5630ac[0x2])['padStart'](0x2,'0'),_0x44a474=_0x3d5346['SjFyA'](String,_0x5630ac[0x3])[_0x55dbb7(0xff)](0x2,'0');return _0xeb312c+'-'+_0x432a48+'-'+_0x44a474;}}return _0x3479d6;}['formatNumberForDatabase'](_0x34e2d0){const _0x5eb27a=a0_0x12b2bd,_0x3c7295={'lCFOO':function(_0x52ff76,_0x27cebd){return _0x52ff76===_0x27cebd;},'LqyBp':_0x5eb27a(0xaf),'GoZFc':function(_0x4abfdf,_0xdc49cd){return _0x4abfdf(_0xdc49cd);},'DoHwR':_0x5eb27a(0xdf)};if(_0x34e2d0===null||_0x34e2d0===undefined||_0x3c7295['lCFOO'](_0x34e2d0,''))return null;if(typeof _0x34e2d0===_0x3c7295['LqyBp'])return _0x3c7295[_0x5eb27a(0xd8)](isNaN,_0x34e2d0)?null:_0x34e2d0;if(_0x3c7295['lCFOO'](typeof _0x34e2d0,_0x3c7295[_0x5eb27a(0x13a)])){let _0x5a7e53=_0x34e2d0['trim']();const _0x2726f2=/,\d{1,2}$/['test'](_0x5a7e53)&&!/,\d{3}/[_0x5eb27a(0xc1)](_0x5a7e53);_0x2726f2?_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/\./g,'')[_0x5eb27a(0xf1)](',','.'):_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/,/g,'');const _0x44e24a=parseFloat(_0x5a7e53);return _0x3c7295['GoZFc'](isNaN,_0x44e24a)?null:_0x44e24a;}return null;}['formatBooleanForDatabase'](_0x456715){const _0x341764=a0_0x12b2bd,_0x46fb2c={'BnOBH':function(_0x5e0db9,_0x515dd0){return _0x5e0db9===_0x515dd0;},'HdChX':function(_0x51bdb0,_0x2e9839){return _0x51bdb0===_0x2e9839;},'GgoFX':_0x341764(0xd4),'UyscW':'false','GEHUT':function(_0x483704,_0xe31a50){return _0x483704===_0xe31a50;},'RIBSa':'string'};if(_0x456715===null||_0x46fb2c['BnOBH'](_0x456715,undefined)||_0x46fb2c[_0x341764(0x146)](_0x456715,''))return null;if(typeof _0x456715===_0x341764(0xd7))return _0x456715?_0x46fb2c['GgoFX']:_0x46fb2c['UyscW'];if(_0x46fb2c[_0x341764(0xb9)](typeof _0x456715,_0x46fb2c[_0x341764(0x13c)])){const _0x2ce037=_0x456715[_0x341764(0xe2)]()['toLowerCase']();if([_0x46fb2c[_0x341764(0x15c)],_0x341764(0xe0),'y','1'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c['GgoFX'];if(['false','no','n','0'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c[_0x341764(0xef)];return null;}if(typeof _0x456715===_0x341764(0xaf))return _0x456715?'true':_0x46fb2c[_0x341764(0xef)];return null;}async[a0_0x12b2bd(0x16b)](_0x4f279e,_0x12b0a6){const _0x433d78=a0_0x12b2bd,_0x40b649={'KtVzK':'headers_mapped','IvvBd':_0x433d78(0x147),'UPReQ':function(_0x28e774,_0x28cd37){return _0x28e774>_0x28cd37;},'VvsoF':'Column\x20formats\x20applied\x20to\x20rows','hxZoy':function(_0x19b595,_0x4d3198,_0x3c1be0,_0x1e21c1){return _0x19b595(_0x4d3198,_0x3c1be0,_0x1e21c1);},'ceoNB':'Failed\x20to\x20cleanup\x20file'},_0x442dc8=this['generateId']();try{let {headers:_0x9d3bc3,rows:_0x555f66,totalRows:_0x2c5f2c}=await excelParser[_0x433d78(0xf5)](_0x4f279e[_0x433d78(0xfe)]);const _0x5dc030=this[_0x433d78(0xe9)](_0x12b0a6[_0x433d78(0x100)]),_0x5efb02=_0x9d3bc3[_0x433d78(0x14e)](_0x5b0837=>{const _0x33794e=_0x433d78,_0x508137=_0x5dc030[_0x33794e(0x162)](_0x5b0837);return _0x508137||_0x5b0837;});_0x555f66=_0x555f66['map'](_0x324543=>{const _0x4e0fbd=_0x433d78,_0x1efd65={};return _0x9d3bc3[_0x4e0fbd(0xfc)]((_0x101070,_0x14dfaa)=>{const _0x5cbaba=_0x5efb02[_0x14dfaa];_0x1efd65[_0x5cbaba]=_0x324543[_0x101070];}),_0x1efd65;}),_0x9d3bc3=_0x5efb02,logger['debug']({'event':_0x40b649[_0x433d78(0x119)],'original':_0x9d3bc3[_0x433d78(0x11b)],'mapped':_0x5efb02['filter']((_0x15bbf1,_0x4f3d02)=>_0x15bbf1!==_0x9d3bc3[_0x4f3d02])['length']},_0x40b649[_0x433d78(0x107)]);_0x12b0a6['columnFormats']&&_0x40b649['UPReQ'](Object['keys'](_0x12b0a6['columnFormats'])['length'],0x0)&&(_0x555f66=this[_0x433d78(0x115)](_0x555f66,_0x12b0a6[_0x433d78(0x168)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x12b0a6['columnFormats'])[_0x433d78(0x11b)],'formats':Object[_0x433d78(0xcf)](_0x12b0a6['columnFormats'])},_0x40b649[_0x433d78(0x136)]));if(_0x12b0a6[_0x433d78(0x169)]&&_0x12b0a6['scopeOverride'][_0x433d78(0x10b)]){const {column:_0x2af418,value:_0x3c9d36}=_0x12b0a6['scopeOverride'];_0x555f66=_0x555f66['map'](_0x42d2c4=>({..._0x42d2c4,[_0x2af418]:_0x3c9d36})),logger[_0x433d78(0xf0)]({'event':'request_scope_applied','column':_0x2af418,'rowCount':_0x555f66[_0x433d78(0x11b)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2bb2f4=_0x12b0a6[_0x433d78(0x130)]?Object[_0x433d78(0xf2)](_0x12b0a6['lookupFields'])[_0x433d78(0x14e)](_0xe36acf=>_0xe36acf[_0x433d78(0xc2)]):[],_0x46344c=_0x12b0a6['fieldName']['filter'](_0x45eeb2=>!_0x2bb2f4['includes'](_0x45eeb2)),_0x48fbc1=excelParser['validateExcelStructure'](_0x9d3bc3,_0x46344c);if(!_0x48fbc1[_0x433d78(0x14c)]){await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);throw new Error(_0x433d78(0xe1)+_0x48fbc1[_0x433d78(0x109)][_0x433d78(0x124)](',\x20'));}const _0x12e3ae={'upload_id':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'total_rows':_0x2c5f2c,'headers':_0x9d3bc3,'rows':_0x555f66,'params':_0x12b0a6,'created_at':new Date()['toISOString']()};return await redisHelper['setJob'](_0x433d78(0x108)+_0x442dc8,_0x12e3ae,0xe10),await fs[_0x433d78(0xf8)](_0x4f279e['path']),logger[_0x433d78(0x125)]({'event':_0x433d78(0x12f),'uploadId':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'totalRows':_0x2c5f2c},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x442dc8,'total_rows':_0x2c5f2c,'preview':_0x555f66['slice'](0x0,0xa)};}catch(_0x86d175){try{await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);}catch(_0x209f10){_0x40b649['hxZoy'](logError,_0x209f10,{'event':_0x433d78(0x138)},_0x40b649[_0x433d78(0x156)]);}throw _0x86d175;}}async['createPreviewJob'](_0x23f5ec){const _0x8b66fe=a0_0x12b2bd,_0x39849f={'wcNiI':'Upload\x20data\x20not\x20found\x20or\x20expired','jaJMi':_0x8b66fe(0x143),'WGfAe':_0x8b66fe(0xba)},_0x2a160c=this['generateId'](),_0x57e785=await redisHelper['getJob']('upload:'+_0x23f5ec);if(!_0x57e785)throw new Error(_0x39849f['wcNiI']);const _0xf41dce={'job_id':_0x2a160c,'upload_id':_0x23f5ec,'status':_0x39849f['jaJMi'],'progress':0x0,'created_at':new Date()[_0x8b66fe(0x15b)](),'params':_0x57e785[_0x8b66fe(0x10d)]};return await redisHelper['setJob'](_0x8b66fe(0x122)+_0x2a160c,_0xf41dce,0xe10),logger['info']({'event':_0x8b66fe(0x15a),'jobId':_0x2a160c,'uploadId':_0x23f5ec},_0x39849f['WGfAe']),this[_0x8b66fe(0x10c)](_0x2a160c,_0x23f5ec,_0x57e785)['catch'](_0x4abcb6=>{const _0x235853=_0x8b66fe;logError(_0x4abcb6,{'event':_0x235853(0xdd),'jobId':_0x2a160c},_0x235853(0x152));}),{'job_id':_0x2a160c,'status':_0x39849f['jaJMi']};}['autoGenerateUpsertKeys'](_0x1dff18,_0x5148d5){const _0x5d8c98={'YrLIf':function(_0xad6404,_0x847b48){return _0xad6404===_0x847b48;},'ZQuED':function(_0x425252,_0x323a76){return _0x425252(_0x323a76);},'sbPzF':function(_0x239711){return _0x239711();}};_0x1dff18['forEach']((_0xb3c0d9,_0x41aa5f)=>{const _0x34c57d=a0_0xe4ca,_0x54335b={'hthIl':function(_0x3bf9fa,_0xa9ee8c){const _0x5d4c25=a0_0xe4ca;return _0x5d8c98[_0x5d4c25(0x135)](_0x3bf9fa,_0xa9ee8c);},'TTNRN':function(_0x18d697,_0x1e7163){const _0x57795f=a0_0xe4ca;return _0x5d8c98[_0x57795f(0x14f)](_0x18d697,_0x1e7163);},'UAxUi':function(_0x7d28b8){return _0x5d8c98['sbPzF'](_0x7d28b8);},'SPkXi':_0x34c57d(0x149),'KgJRX':function(_0x116134,_0x257e25){return _0x116134+_0x257e25;}};_0x5148d5[_0x34c57d(0xfc)](_0x5c6403=>{const _0x3993f4=_0x34c57d,_0x3d477b=_0xb3c0d9[_0x5c6403];if(_0x3d477b===null||_0x3d477b===undefined||_0x3d477b===''||_0x54335b['hthIl'](_0x54335b['TTNRN'](String,_0x3d477b)[_0x3993f4(0xe2)](),'-')){const _0x5e5797=_0x54335b['UAxUi'](uuidv7);_0xb3c0d9[_0x5c6403]=_0x5e5797,_0xb3c0d9[_0x3993f4(0x145)]=_0xb3c0d9[_0x3993f4(0x145)]||{},_0xb3c0d9[_0x3993f4(0x145)][_0x5c6403]=_0x5e5797,logger['debug']({'event':_0x54335b['SPkXi'],'rowIndex':_0x41aa5f,'field':_0x5c6403,'uuid':_0x5e5797},_0x3993f4(0x13e)+_0x5c6403+'\x20at\x20row\x20'+_0x54335b[_0x3993f4(0xbb)](_0x41aa5f,0x2));}});});}async[a0_0x12b2bd(0x10c)](_0x413e66,_0x56bd90,_0x1839e4){const _0x331159=a0_0x12b2bd,_0x64fbbf={'iqtYJ':function(_0x1c32cd,_0x3030be){return _0x1c32cd===_0x3030be;},'tFPPz':function(_0x18a2d6,_0x4298be){return _0x18a2d6>_0x4298be;},'XPpfF':'processing_lookup_fields','LoPyS':'Processing\x20lookup\x20fields','CCTZI':_0x331159(0x11d),'DsZaM':function(_0x4cd8ee,_0x3c1e19,_0x2e361c,_0xa3fea9){return _0x4cd8ee(_0x3c1e19,_0x2e361c,_0xa3fea9);},'TRVzL':_0x331159(0xe5),'RgkZh':_0x331159(0x142),'vlrqP':_0x331159(0xb2)};try{let {rows:_0x4bd655,params:_0x2dedc7}=_0x1839e4;const {requiredFields:_0x14b3cc,validations:_0x173f98,upsertKeys:_0xa9d28,tableName:_0x5064fe,primaryKey:_0x3f22d2,fieldName:_0x1cd274,upsertStrategy:_0x5b9706,lookupFields:_0x178d27}=_0x2dedc7;this[_0x331159(0xb1)](_0x4bd655,_0xa9d28);let _0x32b20d=[];if(_0x178d27&&_0x64fbbf['tFPPz'](Object['keys'](_0x178d27)[_0x331159(0x11b)],0x0)){logger[_0x331159(0x125)]({'event':_0x64fbbf[_0x331159(0x105)],'jobId':_0x413e66,'lookupFieldCount':Object['keys'](_0x178d27)[_0x331159(0x11b)]},_0x64fbbf[_0x331159(0x11c)]);const _0x95d034=await lookupResolver[_0x331159(0x12c)](_0x4bd655,_0x178d27);_0x4bd655=_0x95d034[_0x331159(0x120)],_0x32b20d=_0x95d034['errors'],_0x1839e4[_0x331159(0xfb)]=_0x4bd655;}const _0x152879=importValidator[_0x331159(0xf3)](_0x4bd655,_0x14b3cc||[],_0x173f98||{});_0x32b20d[_0x331159(0xfc)](_0x5c8620=>{const _0xef62bd=_0x331159,_0x1e4061=_0x152879[_0xef62bd(0x121)](_0x458cd2=>_0x458cd2['rowIndex']===_0x5c8620['rowIndex']);_0x1e4061?_0x1e4061[_0xef62bd(0x112)]['push'](_0x5c8620[_0xef62bd(0xfd)]):_0x152879[_0xef62bd(0x137)]({'rowIndex':_0x5c8620[_0xef62bd(0x134)],'rowData':_0x4bd655[_0x5c8620['rowIndex']],'errors':[_0x5c8620[_0xef62bd(0xfd)]]});});const _0x4b1d6f=importValidator[_0x331159(0x101)](_0x4bd655,_0xa9d28);_0x4b1d6f['forEach'](_0x1e9463=>{const _0xabe551=_0x331159,_0xa5f2bc=_0x152879[_0xabe551(0x121)](_0x394d41=>_0x394d41[_0xabe551(0x134)]===_0x1e9463[_0xabe551(0x134)]),_0x5c77ee=_0xa9d28[_0xabe551(0x14e)](_0x1303a7=>_0x1303a7[_0xabe551(0xdc)]())[_0xabe551(0x124)](',\x20'),_0x525e6c='Duplicate\x20value\x20for\x20'+_0x5c77ee;_0xa5f2bc?_0xa5f2bc[_0xabe551(0x112)]['push'](_0x525e6c):_0x152879[_0xabe551(0x137)]({'rowIndex':_0x1e9463['rowIndex'],'rowData':_0x4bd655[_0x1e9463['rowIndex']],'errors':[_0x525e6c]});}),await this[_0x331159(0x10a)](_0x4bd655,_0xa9d28,_0x5064fe,_0x3f22d2,_0x5b9706,_0x152879),_0x152879['forEach'](_0x46adb0=>{const _0x1093b2=_0x331159,_0x30008f=_0x4bd655[_0x46adb0['rowIndex']];_0x30008f&&(_0x30008f[_0x1093b2(0xb4)]=_0x46adb0['errors']);});let _0x2c1a3f=0x0,_0x322f2f=0x0,_0xdd33e1=0x0;_0x4bd655['forEach'](_0x93f62b=>{const _0x255473=_0x331159;if(_0x64fbbf[_0x255473(0x144)](_0x93f62b['_action'],'INSERT'))_0x2c1a3f++;else{if(_0x93f62b['_action']===_0x255473(0x11e))_0x322f2f++;else _0x93f62b['_action']==='SKIP'&&_0xdd33e1++;}});const _0x208cfa={'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x152879[_0x331159(0x11b)]>0x0?_0x64fbbf[_0x331159(0x16a)]:_0x331159(0x13d),'progress':0x64,'created_at':_0x1839e4['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x4bd655['length'],'insert_count':_0x2c1a3f,'update_count':_0x322f2f,'skip_count':_0xdd33e1,'error_count':_0x152879['length'],'errors':_0x152879,'data':_0x4bd655,'sample_insert':_0x4bd655['filter'](_0x4840b9=>_0x4840b9[_0x331159(0xdb)]===_0x331159(0x11a))[_0x331159(0xc8)](0x0,0x5),'sample_update':_0x4bd655['filter'](_0x869644=>_0x869644['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x4bd655['filter'](_0x4f468d=>_0x4f468d['_action']===_0x331159(0x167))[_0x331159(0xc8)](0x0,0x5)},'params':_0x2dedc7};await redisHelper['setJob'](_0x331159(0x122)+_0x413e66,_0x208cfa,0xe10),_0x1839e4[_0x331159(0xfb)]=_0x4bd655,await redisHelper[_0x331159(0x148)](_0x331159(0x108)+_0x56bd90,_0x1839e4,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x413e66,'status':_0x208cfa['status'],'insertCount':_0x2c1a3f,'updateCount':_0x322f2f,'skipCount':_0xdd33e1,'errorCount':_0x152879['length']},_0x331159(0x10f));}catch(_0x4446c8){_0x64fbbf[_0x331159(0xce)](logError,_0x4446c8,{'event':_0x64fbbf['TRVzL'],'jobId':_0x413e66},_0x64fbbf['RgkZh']),await redisHelper['setJob']('job:'+_0x413e66,{'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x64fbbf[_0x331159(0xd9)],'progress':0x0,'error':_0x4446c8['message'],'created_at':new Date()[_0x331159(0x15b)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x12b2bd(0x10a)](_0x2e7836,_0x423a76,_0x32f0b3,_0x900bde,_0x32996f='update_existing',_0x5a76d2=[]){const _0x491948=a0_0x12b2bd,_0x3daf95={'ScneX':function(_0xc63666,_0x1762a4){return _0xc63666===_0x1762a4;},'UIllk':'UPDATE','rTBPU':_0x491948(0x104),'Umioa':_0x491948(0x167),'lIApO':function(_0x2e8ec6,_0x525080){return _0x2e8ec6===_0x525080;},'bqadi':'INSERT','KnKMC':_0x491948(0x123)},_0x222cd7=upsertBuilder['chunkRows'](_0x2e7836,0x64);for(const _0x4ccdd6 of _0x222cd7){const _0x33b7da=_0x4ccdd6['map'](_0x5886ab=>_0x5886ab[_0x423a76[0x0]]),_0x2fd71c=_0x33b7da['map'](_0x403e0f=>{const _0x3eb0f6=_0x491948;if(_0x3daf95[_0x3eb0f6(0xe6)](_0x403e0f,null)||_0x403e0f===undefined)return'NULL';return'\x27'+String(_0x403e0f)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x2d57ee='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x900bde+',\x20'+_0x423a76[_0x491948(0x124)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x32f0b3+_0x491948(0xb6)+_0x423a76[0x0]+_0x491948(0xc5)+_0x2fd71c[_0x491948(0x124)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x265bde=await executeQuery(_0x2d57ee);_0x3daf95[_0x491948(0xc7)](dbType,_0x3daf95['KnKMC'])&&_0x265bde&&_0x265bde['length']>0x0&&(_0x265bde=_0x265bde['map'](_0x40e611=>{const _0x1bedee=_0x491948,_0x4c6c79={};for(const [_0x5cf04e,_0x1ba151]of Object[_0x1bedee(0x15d)](_0x40e611)){_0x4c6c79[_0x5cf04e[_0x1bedee(0xe7)]()]=_0x1ba151;}return _0x4c6c79;}));const _0x479f23=new Map();_0x265bde['forEach'](_0x19e44a=>{const _0x282050=_0x19e44a[_0x423a76[0x0]];_0x479f23['set'](_0x282050,_0x19e44a);}),_0x4ccdd6['forEach']((_0x44111b,_0x5c91f4)=>{const _0x209129=_0x491948,_0xe090d=_0x44111b[_0x423a76[0x0]],_0xca69b4=_0x479f23[_0x209129(0x162)](_0xe090d);if(_0xca69b4){if(_0x3daf95[_0x209129(0xe6)](_0x32996f,'update_existing'))_0x44111b[_0x209129(0xdb)]=_0x3daf95[_0x209129(0xf4)],_0x44111b[_0x209129(0x133)]=_0xca69b4[_0x900bde];else{if(_0x32996f===_0x3daf95[_0x209129(0x163)]){_0x44111b['_action']=_0x3daf95['Umioa'],_0x44111b['_errors']=_0x44111b[_0x209129(0xb4)]||[],_0x44111b['_errors']['push'](_0x209129(0x11f));const _0x304b54=_0x2e7836['indexOf'](_0x44111b);_0x304b54!==-0x1&&_0x5a76d2['push']({'rowIndex':_0x304b54,'rowData':_0x44111b,'errors':[_0x209129(0x11f)]});}else _0x3daf95[_0x209129(0xc7)](_0x32996f,_0x209129(0x127))&&(_0x44111b['_action']='SKIP');}}else{if(_0x32996f===_0x209129(0x12b))_0x44111b[_0x209129(0xdb)]=_0x3daf95['bqadi'];else(_0x32996f===_0x209129(0x104)||_0x32996f==='skip_existing')&&(_0x44111b['_action']=_0x209129(0x11a));}});}}async[a0_0x12b2bd(0xf9)](_0x25e48d){const _0x265348=a0_0x12b2bd,_0x19983b={'HsPSJ':_0x265348(0x10e),'cPaRt':'Commit\x20processing\x20failed','zuiJo':'preview_ok','vpnUt':_0x265348(0x129),'gmNbI':_0x265348(0x126)},_0x8b56d7=this['generateId'](),_0x1cfaf1=await redisHelper['getJob'](_0x265348(0x122)+_0x25e48d);if(!_0x1cfaf1)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x1cfaf1[_0x265348(0xda)]!==_0x19983b[_0x265348(0xd3)])throw new Error(_0x265348(0xd2)+_0x1cfaf1['status']);const _0xdf6628={'job_id':_0x8b56d7,'upload_id':_0x1cfaf1['upload_id'],'preview_job_id':_0x25e48d,'status':_0x265348(0x126),'progress':0x0,'created_at':new Date()[_0x265348(0x15b)](),'params':_0x1cfaf1[_0x265348(0x10d)]};return await redisHelper[_0x265348(0x148)]('job:'+_0x8b56d7,_0xdf6628,0xe10),logger[_0x265348(0x125)]({'event':_0x265348(0xb5),'jobId':_0x8b56d7,'previewJobId':_0x25e48d},_0x19983b[_0x265348(0x140)]),this[_0x265348(0x139)](_0x8b56d7,_0x1cfaf1)['catch'](_0x4afdff=>{const _0x50e44c=_0x265348;logError(_0x4afdff,{'event':_0x19983b[_0x50e44c(0xb3)],'jobId':_0x8b56d7},_0x19983b[_0x50e44c(0xc9)]);}),{'job_id':_0x8b56d7,'status':_0x19983b['gmNbI']};}async[a0_0x12b2bd(0x139)](_0x207162,_0x461bd4){const _0x393f6f=a0_0x12b2bd,_0x4bc1ae={'HlLXl':function(_0x4cdfa1,_0x5b14e1){return _0x4cdfa1===_0x5b14e1;},'BXprG':'Upload\x20data\x20not\x20found\x20or\x20expired','qILjs':function(_0x4d90f2,_0xb38c6){return _0x4d90f2>_0xb38c6;},'zMkiI':'import_fields_filtered','AxYSz':function(_0x427cb5,_0x41d2e4){return _0x427cb5>_0x41d2e4;},'uhqKk':_0x393f6f(0x164),'FHyXU':'update','GEMKv':'completed','GCBZc':_0x393f6f(0x12e),'BUyqm':'commit_job_failed','aEHeT':'failed'};try{const _0x1d59f3=await redisHelper['getJob']('upload:'+_0x461bd4['upload_id']);if(!_0x1d59f3)throw new Error(_0x4bc1ae['BXprG']);const {rows:_0x5e4e60,params:_0x16dc10}=_0x1d59f3,{tableName:_0x30cb64,fieldName:_0x2ffc94,primaryKey:_0xbce9ed,upsertKeys:_0x2da0af,excludeFromImport:_0x59b048,lookupFields:_0x5b280d,columnFormats:_0x32a8f9}=_0x16dc10,_0x330462=_0x5b280d?Object[_0x393f6f(0xcf)](_0x5b280d):[],_0x1eb988=new Set([..._0x59b048||[],..._0x330462]);let _0x30750f=_0x2ffc94;_0x4bc1ae[_0x393f6f(0xee)](_0x1eb988['size'],0x0)&&(_0x30750f=_0x2ffc94['filter'](_0x423c4a=>!_0x1eb988[_0x393f6f(0xc3)](_0x423c4a)),logger['debug']({'event':_0x4bc1ae[_0x393f6f(0x103)],'originalCount':_0x2ffc94[_0x393f6f(0x11b)],'filteredCount':_0x30750f[_0x393f6f(0x11b)],'excludedFields':Array[_0x393f6f(0x155)](_0x1eb988),'lookupSourceFields':_0x330462},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x20902e=_0x5e4e60[_0x393f6f(0xcd)](_0x5ecc0a=>_0x5ecc0a['_action']==='INSERT'),_0x2be9e0=_0x5e4e60['filter'](_0x547fd7=>_0x547fd7['_action']==='UPDATE');let _0xe4111=0x0,_0x3db914=0x0;const _0x2e9d7b=[];if(_0x4bc1ae[_0x393f6f(0xcc)](_0x20902e['length'],0x0)){const _0x47f124=upsertBuilder[_0x393f6f(0xec)](_0x20902e,0x64);for(const _0x26fccf of _0x47f124){const {query:_0x556ba3}=upsertBuilder['buildBatchInsert'](_0x26fccf,_0x30cb64,_0x30750f,_0x32a8f9||{});_0x556ba3&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x556ba3,'count':_0x26fccf[_0x393f6f(0x11b)],'type':_0x4bc1ae['uhqKk']});}}if(_0x4bc1ae['AxYSz'](_0x2be9e0[_0x393f6f(0x11b)],0x0)){const _0xdbd293=upsertBuilder[_0x393f6f(0xec)](_0x2be9e0,0x64);for(const _0x5071f3 of _0xdbd293){const {query:_0x537cfb}=upsertBuilder[_0x393f6f(0x153)](_0x5071f3,_0x30cb64,_0x30750f,_0xbce9ed,_0x2da0af,_0x32a8f9||{});_0x537cfb&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x537cfb,'count':_0x5071f3[_0x393f6f(0x11b)],'type':_0x4bc1ae[_0x393f6f(0xed)]});}}_0x2e9d7b[_0x393f6f(0x11b)]>0x0&&await executeTransaction(_0x2e9d7b['map'](_0xbe6585=>({'sql':_0xbe6585['sql'],'params':[]})));_0x2e9d7b['forEach'](_0x59016e=>{const _0x4c52fb=_0x393f6f;if(_0x4bc1ae['HlLXl'](_0x59016e['type'],'insert'))_0xe4111+=_0x59016e[_0x4c52fb(0x116)];else _0x3db914+=_0x59016e[_0x4c52fb(0x116)];});const _0x39e857={'job_id':_0x207162,'upload_id':_0x461bd4[_0x393f6f(0xca)],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['GEMKv'],'progress':0x64,'created_at':_0x461bd4['created_at'],'started_at':new Date()[_0x393f6f(0x15b)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x5e4e60[_0x393f6f(0x11b)],'inserted_rows':_0xe4111,'updated_rows':_0x3db914,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x16dc10};await redisHelper[_0x393f6f(0x148)]('job:'+_0x207162,_0x39e857,0xe10),logger[_0x393f6f(0x125)]({'event':_0x4bc1ae[_0x393f6f(0x114)],'jobId':_0x207162,'insertedCount':_0xe4111,'updatedCount':_0x3db914},_0x393f6f(0x13f));}catch(_0x100833){logError(_0x100833,{'event':_0x4bc1ae[_0x393f6f(0x150)],'jobId':_0x207162},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x393f6f(0x122)+_0x207162,{'job_id':_0x207162,'upload_id':_0x461bd4['upload_id'],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['aEHeT'],'progress':0x0,'error':_0x100833['message'],'created_at':_0x461bd4['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x393f6f(0x15b)]()},0xe10);}}async['getJobStatus'](_0x49e8af){const _0x3ddeab=a0_0x12b2bd,_0x42f6c9={'dglaf':'Job\x20not\x20found\x20or\x20expired'},_0x407d1f=await redisHelper[_0x3ddeab(0x15e)]('job:'+_0x49e8af);if(!_0x407d1f)return{'success':![],'error':_0x42f6c9[_0x3ddeab(0xcb)]};return{'success':!![],'data':_0x407d1f};}}module['exports']=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x276a3c=a0_0x2d77;(function(_0x315e60,_0x2013a8){const _0x3bdb39=a0_0x2d77,_0x3fd919=_0x315e60();while(!![]){try{const _0x11dd5c=parseInt(_0x3bdb39(0x1c3))/0x1+-parseInt(_0x3bdb39(0x1e3))/0x2*(-parseInt(_0x3bdb39(0x1e4))/0x3)+parseInt(_0x3bdb39(0x1a4))/0x4+parseInt(_0x3bdb39(0x194))/0x5+parseInt(_0x3bdb39(0x1ac))/0x6*(parseInt(_0x3bdb39(0x1af))/0x7)+parseInt(_0x3bdb39(0x1aa))/0x8*(-parseInt(_0x3bdb39(0x188))/0x9)+-parseInt(_0x3bdb39(0x1d4))/0xa;if(_0x11dd5c===_0x2013a8)break;else _0x3fd919['push'](_0x3fd919['shift']());}catch(_0x27366d){_0x3fd919['push'](_0x3fd919['shift']());}}}(a0_0x381c,0x8d0b2));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x4e8c3b=a0_0x2d77;this['kafka']=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this[_0x4e8c3b(0x1ca)]=![],this[_0x4e8c3b(0x196)]=![],this[_0x4e8c3b(0x18b)]=null,this[_0x4e8c3b(0x1b0)]=[],this['groupId']=null,this[_0x4e8c3b(0x1ba)]=null,this[_0x4e8c3b(0x1d1)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x276a3c(0x1c0)](){const _0x14c752=a0_0x276a3c,_0x39ce3d={'RkEVr':_0x14c752(0x1e8),'zeZyy':_0x14c752(0x19e),'BayAL':'25000','JkhCU':function(_0x22a97d,_0x5da080){return _0x22a97d(_0x5da080);},'NOkev':'5000','dWBWy':'warn'};return{'enabled':process[_0x14c752(0x1dd)]['KAFKA_ENABLED']===_0x14c752(0x1a3),'brokers':(process[_0x14c752(0x1dd)]['KAFKA_BROKERS']||_0x39ce3d['RkEVr'])[_0x14c752(0x1d8)](','),'clientId':process[_0x14c752(0x1dd)]['KAFKA_CLIENT_ID']||_0x14c752(0x195)+(process[_0x14c752(0x1dd)]['RESTFORGE_PROJECT_NAME']||_0x39ce3d['zeZyy'])+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x14c752(0x1ad)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x39ce3d['BayAL']),'sessionTimeout':_0x39ce3d[_0x14c752(0x1b4)](parseInt,process['env'][_0x14c752(0x1df)]||_0x14c752(0x1b7)),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||'1048576'),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x14c752(0x1a3),'autoCommitInterval':parseInt(process['env'][_0x14c752(0x18e)]||_0x39ce3d['NOkev']),'retryAttempts':parseInt(process[_0x14c752(0x1dd)][_0x14c752(0x1c7)]||'3'),'retryDelay':parseInt(process['env'][_0x14c752(0x1ce)]||_0x14c752(0x1bb)),'retryMaxDelay':_0x39ce3d['JkhCU'](parseInt,process[_0x14c752(0x1dd)]['KAFKA_RETRY_MAX_DELAY']||_0x14c752(0x1b7)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x39ce3d[_0x14c752(0x1ee)]};}[a0_0x276a3c(0x18c)](_0x183a8b){const _0x59666b=a0_0x276a3c,_0x4b8623={'nothing':logLevel[_0x59666b(0x197)],'error':logLevel[_0x59666b(0x180)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x59666b(0x19f)]};return _0x4b8623[_0x183a8b[_0x59666b(0x1e1)]()]||logLevel[_0x59666b(0x1d2)];}async[a0_0x276a3c(0x1bd)](_0x18a1c3={}){const _0x22b819=a0_0x276a3c,_0x1e94fb={'CPqAJ':'default','mMzFe':function(_0x439171,_0xd53edb){return _0x439171(_0xd53edb);},'RAaxb':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x2622b6=this['getConfig']();if(!_0x2622b6['enabled'])return console['log'](_0x1e94fb['RAaxb']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x22b819(0x18b)])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x22b819(0x18b)]=new Promise(async _0x268cde=>{const _0x2fdeae=_0x22b819;try{let _0x5f6065=undefined;process[_0x2fdeae(0x1dd)]['KAFKA_SSL']===_0x2fdeae(0x1a3)&&(_0x5f6065=!![]);let _0x53cb8a=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x53cb8a={'mechanism':process[_0x2fdeae(0x1dd)][_0x2fdeae(0x1d0)],'username':process['env'][_0x2fdeae(0x1da)]||'','password':process[_0x2fdeae(0x1dd)][_0x2fdeae(0x1d9)]||''}),this['kafka']=new Kafka({'clientId':_0x18a1c3['clientId']||_0x2622b6[_0x2fdeae(0x1c1)],'brokers':_0x2622b6['brokers'],'connectionTimeout':_0x2622b6[_0x2fdeae(0x1bf)],'requestTimeout':_0x2622b6[_0x2fdeae(0x1a9)],'logLevel':this['getLogLevel'](_0x2622b6['logLevel']),'ssl':_0x5f6065,'sasl':_0x53cb8a,'retry':{'initialRetryTime':_0x2622b6[_0x2fdeae(0x1cf)],'retries':_0x2622b6['retryAttempts'],'maxRetryTime':_0x2622b6[_0x2fdeae(0x1a2)]}}),this['groupId']=_0x18a1c3['groupId']||_0x2fdeae(0x195)+(process[_0x2fdeae(0x1dd)][_0x2fdeae(0x1ab)]||_0x1e94fb['CPqAJ'])+_0x2fdeae(0x1a0),this[_0x2fdeae(0x1db)]=this[_0x2fdeae(0x17c)][_0x2fdeae(0x1db)]({'groupId':this[_0x2fdeae(0x1c8)],'sessionTimeout':_0x2622b6['sessionTimeout'],'heartbeatInterval':_0x2622b6[_0x2fdeae(0x1a7)],'maxBytesPerPartition':_0x2622b6['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x2fdeae(0x1db)]['connect'](),this[_0x2fdeae(0x1bc)]=!![],console['log'](_0x2fdeae(0x1a8)+_0x2622b6[_0x2fdeae(0x190)][_0x2fdeae(0x1b1)](',\x20')+_0x2fdeae(0x1c2)+this['groupId']+')'),this['setupEventHandlers'](),_0x268cde(!![]);}catch(_0x3554ff){console[_0x2fdeae(0x18d)](_0x2fdeae(0x189)+_0x3554ff['message']),this[_0x2fdeae(0x1bc)]=![],_0x1e94fb['mMzFe'](_0x268cde,![]);}finally{this['isInitializing']=![];}}),this[_0x22b819(0x18b)];}[a0_0x276a3c(0x178)](){const _0x43487a=a0_0x276a3c,_0x5a2408={'HcQhQ':_0x43487a(0x176),'Sqpuo':'[KafkaConsumer]\x20Consumer\x20rebalancing...','yyyEU':'consumer.stop','hUzSn':'consumer.rebalancing'};if(!this[_0x43487a(0x1db)])return;this['consumer']['on'](_0x43487a(0x1cc),()=>{const _0x6e5237=_0x43487a;console[_0x6e5237(0x1c5)](_0x6e5237(0x186)),this[_0x6e5237(0x1bc)]=![],this['isRunning']=![];}),this[_0x43487a(0x1db)]['on'](_0x5a2408['yyyEU'],()=>{const _0x261865=_0x43487a;console[_0x261865(0x1c5)](_0x5a2408['HcQhQ']),this['isRunning']=![];}),this['consumer']['on'](_0x43487a(0x1d3),_0x542e3d=>{const _0x2708ae=_0x43487a;console[_0x2708ae(0x18d)](_0x2708ae(0x1de)+_0x542e3d[_0x2708ae(0x1b2)][_0x2708ae(0x18d)]['message']),this['isRunning']=![];}),this[_0x43487a(0x1db)]['on'](_0x5a2408['hUzSn'],()=>{const _0x16b037=_0x43487a;console[_0x16b037(0x1c5)](_0x5a2408[_0x16b037(0x1b6)]);});}async['subscribe'](_0xf484ef,_0x56df10=![]){const _0x4d2730=a0_0x276a3c,_0x4027fc={'rlQVC':_0x4d2730(0x193)};if(!this[_0x4d2730(0x1bc)])return console[_0x4d2730(0x18d)](_0x4027fc['rlQVC']),![];try{const _0x454932=Array[_0x4d2730(0x177)](_0xf484ef)?_0xf484ef:[_0xf484ef];for(const _0x481000 of _0x454932){await this['consumer']['subscribe']({'topic':_0x481000,'fromBeginning':_0x56df10}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x481000+_0x4d2730(0x1a5)+_0x56df10+')');}return this['subscribedTopics']=[...new Set([...this[_0x4d2730(0x1b0)],..._0x454932])],!![];}catch(_0x577242){return console[_0x4d2730(0x18d)](_0x4d2730(0x19a)+_0x577242[_0x4d2730(0x1e7)]),![];}}async['startConsuming'](_0x366148,_0x558b33={}){const _0x8f588d=a0_0x276a3c,_0x41301e={'rlJQa':function(_0x6bc27f,_0x32b6ff){return _0x6bc27f(_0x32b6ff);},'OKSFQ':function(_0xe294e,_0x2ce0c2){return _0xe294e>_0x2ce0c2;},'BUxYn':function(_0x417abe){return _0x417abe();},'oCwCN':function(_0x1d099d,_0x375c68){return _0x1d099d!==_0x375c68;}};if(!this['isConnected'])return console[_0x8f588d(0x18d)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x8f588d(0x1ca)])return console['log'](_0x8f588d(0x1b9)),!![];const _0x954237=this[_0x8f588d(0x1c0)]();this[_0x8f588d(0x1ba)]=_0x366148;try{return this[_0x8f588d(0x1d1)]['startTime']=new Date(),await this[_0x8f588d(0x1db)][_0x8f588d(0x1cd)]({'autoCommit':_0x41301e[_0x8f588d(0x1e2)](_0x558b33['autoCommit'],undefined)?_0x558b33['autoCommit']:_0x954237[_0x8f588d(0x191)],'autoCommitInterval':_0x954237[_0x8f588d(0x1a1)],'eachMessage':async({topic:_0x1ab2a9,partition:_0x1f400e,message:_0x1fa171,heartbeat:_0x229711})=>{const _0x3a2f9c=_0x8f588d,_0x459775=Date[_0x3a2f9c(0x17a)]();this['metrics']['messagesReceived']++,this['metrics'][_0x3a2f9c(0x1be)]=new Date();try{const _0x4570c9=_0x1fa171[_0x3a2f9c(0x19b)]?_0x1fa171[_0x3a2f9c(0x19b)][_0x3a2f9c(0x1dc)]():null;let _0x12d743=null;try{_0x12d743=_0x4570c9?JSON[_0x3a2f9c(0x1d6)](_0x4570c9):null;}catch(_0x55f3bd){_0x12d743=_0x4570c9;}const _0x53addf={'topic':_0x1ab2a9,'partition':_0x1f400e,'offset':_0x1fa171[_0x3a2f9c(0x1ea)],'key':_0x1fa171[_0x3a2f9c(0x187)]?_0x1fa171['key']['toString']():null,'headers':this[_0x3a2f9c(0x1e5)](_0x1fa171['headers']),'timestamp':_0x1fa171['timestamp'],'value':_0x12d743,'raw':_0x4570c9};this[_0x3a2f9c(0x1ba)]&&await this['messageHandler'](_0x53addf);!_0x954237[_0x3a2f9c(0x191)]&&await this['consumer']['commitOffsets']([{'topic':_0x1ab2a9,'partition':_0x1f400e,'offset':(_0x41301e[_0x3a2f9c(0x1a6)](parseInt,_0x1fa171[_0x3a2f9c(0x1ea)])+0x1)['toString']()}]);this[_0x3a2f9c(0x1d1)]['messagesProcessed']++;const _0x19cc98=Date['now']()-_0x459775;this[_0x3a2f9c(0x1d1)]['processingTimes']['push'](_0x19cc98),_0x41301e['OKSFQ'](this[_0x3a2f9c(0x1d1)]['processingTimes'][_0x3a2f9c(0x198)],0x64)&&this['metrics']['processingTimes']['shift'](),await _0x41301e[_0x3a2f9c(0x18f)](_0x229711);}catch(_0x49820b){this[_0x3a2f9c(0x1d1)][_0x3a2f9c(0x1e6)]++,console[_0x3a2f9c(0x18d)](_0x3a2f9c(0x1b5)+_0x49820b[_0x3a2f9c(0x1e7)]);throw _0x49820b;}}}),this['isRunning']=!![],console[_0x8f588d(0x1c5)](_0x8f588d(0x199)+this[_0x8f588d(0x1b0)][_0x8f588d(0x1b1)](',\x20')),!![];}catch(_0x5c1e4f){return console['error'](_0x8f588d(0x181)+_0x5c1e4f['message']),![];}}[a0_0x276a3c(0x1e5)](_0x19691f){const _0x116021=a0_0x276a3c;if(!_0x19691f)return{};const _0x431248={};for(const [_0x3817ac,_0x4fef23]of Object[_0x116021(0x1c9)](_0x19691f)){_0x431248[_0x3817ac]=_0x4fef23?_0x4fef23['toString']():null;}return _0x431248;}async['pause'](){const _0x382d3a=a0_0x276a3c,_0x44a7f6={'JTpJn':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this[_0x382d3a(0x1bc)]||!this[_0x382d3a(0x1ca)])return console[_0x382d3a(0x1c5)](_0x382d3a(0x1ed)),![];if(this[_0x382d3a(0x196)])return console[_0x382d3a(0x1c5)](_0x44a7f6[_0x382d3a(0x185)]),!![];try{const _0xb2ed54=this['subscribedTopics'][_0x382d3a(0x184)](_0x576651=>({'topic':_0x576651}));return this['consumer'][_0x382d3a(0x19c)](_0xb2ed54),this[_0x382d3a(0x196)]=!![],console['log'](_0x382d3a(0x1cb)),!![];}catch(_0x347194){return console[_0x382d3a(0x18d)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x347194[_0x382d3a(0x1e7)]),![];}}async['resume'](){const _0x42f3ad=a0_0x276a3c,_0x3b1070={'swSnW':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this[_0x42f3ad(0x1bc)]||!this[_0x42f3ad(0x1ca)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0x42f3ad(0x1c5)](_0x3b1070[_0x42f3ad(0x173)]),!![];try{const _0x40950e=this['subscribedTopics']['map'](_0x5acb12=>({'topic':_0x5acb12}));return this[_0x42f3ad(0x1db)][_0x42f3ad(0x1d5)](_0x40950e),this[_0x42f3ad(0x196)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x23b28d){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x23b28d[_0x42f3ad(0x1e7)]),![];}}async[a0_0x276a3c(0x19d)](){const _0x2d0e37=a0_0x276a3c,_0x9bf8fe={'KXfjc':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x2d0e37(0x1db)]&&(await this[_0x2d0e37(0x1db)]['stop'](),await this[_0x2d0e37(0x1db)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x9bf8fe[_0x2d0e37(0x1b3)]),!![];}catch(_0x36761f){return console['error'](_0x2d0e37(0x179)+_0x36761f['message']),![];}}async['seekToOffset'](_0x5e8a58,_0x469a79,_0x8ec3fb){const _0x1f62c0=a0_0x276a3c,_0x418d65={'Ndnfo':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x418d65['Ndnfo']),![];try{return this['consumer'][_0x1f62c0(0x18a)]({'topic':_0x5e8a58,'partition':_0x469a79,'offset':_0x8ec3fb[_0x1f62c0(0x1dc)]()}),console[_0x1f62c0(0x1c5)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x8ec3fb+_0x1f62c0(0x1ec)+_0x5e8a58+':'+_0x469a79),!![];}catch(_0x51eeda){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x51eeda[_0x1f62c0(0x1e7)]),![];}}['getStatus'](){const _0x5ccc07=a0_0x276a3c,_0x3dff7b=this['getConfig']();return{'enabled':_0x3dff7b[_0x5ccc07(0x1b8)],'connected':this['isConnected'],'running':this[_0x5ccc07(0x1ca)],'paused':this[_0x5ccc07(0x196)],'brokers':_0x3dff7b['brokers'],'clientId':_0x3dff7b[_0x5ccc07(0x1c1)],'groupId':this[_0x5ccc07(0x1c8)],'subscribedTopics':this['subscribedTopics']};}[a0_0x276a3c(0x1e0)](){const _0x3b7a6c=a0_0x276a3c,_0x392f7b={'FudZO':function(_0x4e98aa,_0x46fb95){return _0x4e98aa/_0x46fb95;},'zLkCO':function(_0x4eda69,_0x576c04){return _0x4eda69>_0x576c04;},'HWbTL':function(_0x33037a,_0x2e6412){return _0x33037a>_0x2e6412;},'AtwAB':function(_0x477919,_0x53e73a){return _0x477919+_0x53e73a;},'aYrOV':function(_0x324c53,_0x20ff30){return _0x324c53*_0x20ff30;},'AvTsy':function(_0x4a9453,_0x5bd593){return _0x4a9453+_0x5bd593;},'LzeXt':function(_0x20558b,_0x1bffbb){return _0x20558b+_0x1bffbb;},'WliFW':function(_0x4d3cff,_0x36e8e8){return _0x4d3cff+_0x36e8e8;}},_0x3da5e5=this['metrics']['processingTimes'][_0x3b7a6c(0x198)]>0x0?_0x392f7b[_0x3b7a6c(0x174)](this['metrics']['processingTimes']['reduce']((_0x4dbdcd,_0x28a5b1)=>_0x4dbdcd+_0x28a5b1,0x0),this['metrics'][_0x3b7a6c(0x17b)][_0x3b7a6c(0x198)]):0x0,_0x3cc662=this[_0x3b7a6c(0x1d1)][_0x3b7a6c(0x17b)]['length']>0x0?Math['min'](...this['metrics'][_0x3b7a6c(0x17b)]):0x0,_0x585993=_0x392f7b[_0x3b7a6c(0x175)](this['metrics'][_0x3b7a6c(0x17b)][_0x3b7a6c(0x198)],0x0)?Math[_0x3b7a6c(0x17e)](...this[_0x3b7a6c(0x1d1)][_0x3b7a6c(0x17b)]):0x0;return{'messagesReceived':this[_0x3b7a6c(0x1d1)][_0x3b7a6c(0x17d)],'messagesProcessed':this[_0x3b7a6c(0x1d1)][_0x3b7a6c(0x1d7)],'messagesFailed':this[_0x3b7a6c(0x1d1)]['messagesFailed'],'successRate':_0x392f7b[_0x3b7a6c(0x17f)](this['metrics']['messagesReceived'],0x0)?_0x392f7b[_0x3b7a6c(0x1e9)](_0x392f7b['aYrOV'](this['metrics']['messagesProcessed']/this[_0x3b7a6c(0x1d1)][_0x3b7a6c(0x17d)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x3b7a6c(0x1be)],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0x392f7b[_0x3b7a6c(0x1ae)](Math['floor']((Date[_0x3b7a6c(0x17a)]()-this[_0x3b7a6c(0x1d1)]['startTime'][_0x3b7a6c(0x192)]())/0x3e8),'s'):'0s','processingTime':{'avg':_0x392f7b[_0x3b7a6c(0x1c6)](Math[_0x3b7a6c(0x182)](_0x3da5e5),'ms'),'min':_0x392f7b['LzeXt'](_0x3cc662,'ms'),'max':_0x392f7b['WliFW'](_0x585993,'ms')}};}['resetMetrics'](){const _0x212a90=a0_0x276a3c,_0x5538e8={'IWHjL':_0x212a90(0x1c4)};this[_0x212a90(0x1d1)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x5538e8['IWHjL']);}async[a0_0x276a3c(0x183)](){const _0xdc94b5=a0_0x276a3c;await this[_0xdc94b5(0x19d)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x15d8c3=a0_0x276a3c;instance&&(instance[_0x15d8c3(0x183)](),instance=null);}function a0_0x2d77(_0x2f7431,_0x198274){_0x2f7431=_0x2f7431-0x173;const _0x381cd7=a0_0x381c();let _0x2d771e=_0x381cd7[_0x2f7431];if(a0_0x2d77['cvqukO']===undefined){var _0x337cb3=function(_0x3f718e){const _0x12dc37='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ff8d8='',_0x14c8f6='';for(let _0x59c7ae=0x0,_0x4a2796,_0x16fefd,_0x301201=0x0;_0x16fefd=_0x3f718e['charAt'](_0x301201++);~_0x16fefd&&(_0x4a2796=_0x59c7ae%0x4?_0x4a2796*0x40+_0x16fefd:_0x16fefd,_0x59c7ae++%0x4)?_0x3ff8d8+=String['fromCharCode'](0xff&_0x4a2796>>(-0x2*_0x59c7ae&0x6)):0x0){_0x16fefd=_0x12dc37['indexOf'](_0x16fefd);}for(let _0x2aa0f0=0x0,_0x27b068=_0x3ff8d8['length'];_0x2aa0f0<_0x27b068;_0x2aa0f0++){_0x14c8f6+='%'+('00'+_0x3ff8d8['charCodeAt'](_0x2aa0f0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14c8f6);};a0_0x2d77['eaUVQP']=_0x337cb3,a0_0x2d77['BfVTfd']={},a0_0x2d77['cvqukO']=!![];}const _0x197c72=_0x381cd7[0x0],_0x308223=_0x2f7431+_0x197c72,_0x3033f0=a0_0x2d77['BfVTfd'][_0x308223];return!_0x3033f0?(_0x2d771e=a0_0x2d77['eaUVQP'](_0x2d771e),a0_0x2d77['BfVTfd'][_0x308223]=_0x2d771e):_0x2d771e=_0x3033f0,_0x2d771e;}function a0_0x381c(){const _0x3d9962=['s0fgs0fFu0fttf9vu0vstKfnrq','y29UC3vTzxi','Dg9tDhjPBMC','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFu0vtu0LptL9usu1ft1vu','z2v0twv0CMLJCW','Dg9mB3DLCKnHC2u','B0n3q04','mtCXmJG2DfvfugXd','m2TdvhvPEq','CgfYC2vizwfKzxjZ','BwvZC2fNzxngywLSzwq','BwvZC2fNzq','Bg9JywXOB3n0oJKWoti','qxr3qui','B2zMC2v0','zxHWB3j0CW','ig9Uia','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','zfDcv3K','C3DtBLC','rNvKwK8','EKXRq08','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','AxnbCNjHEq','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','BM93','ChjVy2vZC2LUz1rPBwvZ','A2fMA2e','BwvZC2fNzxnszwnLAxzLza','Bwf4','sfDIveW','rvjst1i','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','CM91BMq','y2XVC2u','BwfW','sLrWsM4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','A2v5','ndK1ENfIAerR','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','C2vLAW','y29UBMvJDgLVBLbYB21PC2u','z2v0tg9Ntgv2zwW','zxjYB3i','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','qLv4ww4','yNjVA2vYCW','yxv0B0nVBw1PDa','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','nteWnJK1mfnLAKj2wa','CMvZDgzVCMDLlq','AxnqyxvZzwq','tK9useLorW','BgvUz3rO','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','DMfSDwu','Cgf1C2u','C3rVCa','zgvMyxvSDa','revcvuC','lwnVBNn1BwvYlwDYB3vW','yxv0B0nVBw1PDeLUDgvYDMfS','CMv0CNLnyxHezwXHEq','Dhj1zq','mJmXnJiWvg9MuLvK','icHMCM9TqMvNAw5UAw5NoIa','CMXkuwe','AgvHCNrIzwf0sw50zxj2ywW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','CMvXDwvZDfrPBwvVDxq','mtK5mJHoBKnZvu4','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ndGWntrPDLrIu2e','mZaWma','qxzuC3K','ndK3wvLSsu5I','C3vIC2nYAwjLzfrVCgLJCW','AM9PBG','Cgf5Bg9Hza','s1HMAMm','sMTOq1u','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','u3fWDw8','mZaWmda','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzuHHBMrSzxi','mtaWma','AxndB25Uzwn0zwq','Aw5PDgLHBgL6zq','BgfZDe1LC3nHz2vuAw1L','y29UBMvJDgLVBLrPBwvVDxq','z2v0q29UzMLN','y2XPzw50swq','icHNCM91CeLKoIa','mteYotu2mNnMyKHIDa','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','Bg9N','thPLwhq','s0fgs0fFuKvuuLLFqvruru1qvfm','z3jVDxbjza','zw50CMLLCW','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','y29UC3vTzxiUzgLZy29UBMvJDa','CNvU','s0fgs0fFuKvuuLLFrevmqvK','CMv0CNLezwXHEq','s0fgs0fFu0fttf9nruniqu5ju00','Bwv0CMLJCW','v0fstG','y29UC3vTzxiUy3jHC2G','mJe0odqYmdbeEw5Ps3C','CMvZDw1L','CgfYC2u','BwvZC2fNzxnqCM9JzxnZzwq','C3bSAxq','s0fgs0fFu0fttf9qqvntv09sra'];a0_0x381c=function(){return _0x3d9962;};return a0_0x381c();}function createInstance(){return new KafkaConsumerService();}module[a0_0x276a3c(0x1eb)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x2efdae=a0_0x581a;(function(_0x4118e9,_0x3cccee){const _0x2dbb5f=a0_0x581a,_0x2d8ae6=_0x4118e9();while(!![]){try{const _0x36b99c=parseInt(_0x2dbb5f(0x20a))/0x1+parseInt(_0x2dbb5f(0x218))/0x2*(-parseInt(_0x2dbb5f(0x21f))/0x3)+-parseInt(_0x2dbb5f(0x214))/0x4+-parseInt(_0x2dbb5f(0x216))/0x5*(-parseInt(_0x2dbb5f(0x22d))/0x6)+parseInt(_0x2dbb5f(0x221))/0x7*(-parseInt(_0x2dbb5f(0x1e4))/0x8)+parseInt(_0x2dbb5f(0x231))/0x9*(parseInt(_0x2dbb5f(0x1ec))/0xa)+parseInt(_0x2dbb5f(0x1f5))/0xb*(parseInt(_0x2dbb5f(0x1e7))/0xc);if(_0x36b99c===_0x3cccee)break;else _0x2d8ae6['push'](_0x2d8ae6['shift']());}catch(_0x2247a7){_0x2d8ae6['push'](_0x2d8ae6['shift']());}}}(a0_0x5c44,0xb806d));const {Kafka,logLevel}=require(a0_0x2efdae(0x1e9)),{v7:uuidv7}=require(a0_0x2efdae(0x236));class KafkaConsumerService{constructor(){const _0x3d2cc9=a0_0x2efdae;this[_0x3d2cc9(0x210)]=null,this['consumer']=null,this['isConnected']=![],this[_0x3d2cc9(0x22f)]=![],this['isRunning']=![],this['isPaused']=![],this[_0x3d2cc9(0x235)]=null,this['subscribedTopics']=[],this[_0x3d2cc9(0x225)]=null,this['messageHandler']=null,this[_0x3d2cc9(0x22a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x34d2a2=a0_0x2efdae,_0x5d9e23={'sIgcN':function(_0x3e6d97,_0x2a4bfd){return _0x3e6d97===_0x2a4bfd;},'rGPki':'3000','VGCic':function(_0x3f6dd0,_0x58eb61){return _0x3f6dd0(_0x58eb61);},'nFOtB':function(_0x3ce226,_0x4059dd){return _0x3ce226(_0x4059dd);},'LJpVx':function(_0x99b4ff,_0x909d93){return _0x99b4ff(_0x909d93);},'mnrEc':_0x34d2a2(0x202)};return{'enabled':_0x5d9e23['sIgcN'](process['env']['KAFKA_ENABLED'],'true'),'brokers':(process[_0x34d2a2(0x201)][_0x34d2a2(0x237)]||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x34d2a2(0x201)][_0x34d2a2(0x242)]||_0x34d2a2(0x1d7))+'-consumer','connectionTimeout':parseInt(process[_0x34d2a2(0x201)]['KAFKA_CONNECTION_TIMEOUT']||_0x5d9e23['rGPki']),'requestTimeout':parseInt(process['env'][_0x34d2a2(0x1da)]||'25000'),'sessionTimeout':_0x5d9e23[_0x34d2a2(0x204)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env'][_0x34d2a2(0x1ee)]||_0x34d2a2(0x1e1)),'maxBytesPerPartition':_0x5d9e23[_0x34d2a2(0x209)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x34d2a2(0x220)),'autoCommit':_0x5d9e23[_0x34d2a2(0x1dd)](process[_0x34d2a2(0x201)][_0x34d2a2(0x207)],'true'),'autoCommitInterval':_0x5d9e23['LJpVx'](parseInt,process[_0x34d2a2(0x201)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x34d2a2(0x20b)),'retryAttempts':parseInt(process[_0x34d2a2(0x201)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x5d9e23['mnrEc']),'retryMaxDelay':parseInt(process['env'][_0x34d2a2(0x1f6)]||_0x34d2a2(0x206)),'logLevel':process[_0x34d2a2(0x201)][_0x34d2a2(0x1ea)]||_0x34d2a2(0x226)};}[a0_0x2efdae(0x1f9)](_0x2173ef){const _0x17d7f7=a0_0x2efdae,_0xd35f95={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x17d7f7(0x1f1)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xd35f95[_0x2173ef[_0x17d7f7(0x229)]()]||logLevel[_0x17d7f7(0x1f1)];}async['initialize'](_0x3eb4bc={}){const _0x15bdf0=a0_0x2efdae,_0x2e5b09={'ipIkC':function(_0x51c7c8,_0x51493e){return _0x51c7c8===_0x51493e;},'GqefB':'default','tMhdI':_0x15bdf0(0x1df)},_0x244259=this['getConfig']();if(!_0x244259['enabled'])return console['log'](_0x2e5b09[_0x15bdf0(0x1d5)]),![];if(this[_0x15bdf0(0x23e)])return!![];if(this[_0x15bdf0(0x22f)]&&this[_0x15bdf0(0x235)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x601ea2=>{const _0xff3d05=_0x15bdf0;try{let _0x435428=undefined;_0x2e5b09['ipIkC'](process[_0xff3d05(0x201)]['KAFKA_SSL'],'true')&&(_0x435428=!![]);let _0x5a08c9=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5a08c9={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0xff3d05(0x201)]['KAFKA_SASL_USERNAME']||'','password':process[_0xff3d05(0x201)]['KAFKA_SASL_PASSWORD']||''}),this[_0xff3d05(0x210)]=new Kafka({'clientId':_0x3eb4bc['clientId']||_0x244259[_0xff3d05(0x23f)],'brokers':_0x244259['brokers'],'connectionTimeout':_0x244259[_0xff3d05(0x1de)],'requestTimeout':_0x244259['requestTimeout'],'logLevel':this[_0xff3d05(0x1f9)](_0x244259['logLevel']),'ssl':_0x435428,'sasl':_0x5a08c9,'retry':{'initialRetryTime':_0x244259[_0xff3d05(0x20c)],'retries':_0x244259[_0xff3d05(0x222)],'maxRetryTime':_0x244259['retryMaxDelay']}}),this[_0xff3d05(0x225)]=_0x3eb4bc[_0xff3d05(0x225)]||_0xff3d05(0x215)+(process[_0xff3d05(0x201)][_0xff3d05(0x242)]||_0x2e5b09['GqefB'])+'-consumer-group',this[_0xff3d05(0x1d9)]=this[_0xff3d05(0x210)][_0xff3d05(0x1d9)]({'groupId':this[_0xff3d05(0x225)],'sessionTimeout':_0x244259['sessionTimeout'],'heartbeatInterval':_0x244259['heartbeatInterval'],'maxBytesPerPartition':_0x244259[_0xff3d05(0x20f)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console[_0xff3d05(0x1f3)](_0xff3d05(0x219)+_0x244259[_0xff3d05(0x240)][_0xff3d05(0x23d)](',\x20')+_0xff3d05(0x1fe)+this['groupId']+')'),this[_0xff3d05(0x21c)](),_0x601ea2(!![]);}catch(_0x1ccbd9){console[_0xff3d05(0x21d)](_0xff3d05(0x1ff)+_0x1ccbd9[_0xff3d05(0x1e6)]),this['isConnected']=![],_0x601ea2(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x1162f5=a0_0x2efdae,_0x57d830={'vCvGr':_0x1162f5(0x203),'auYqV':_0x1162f5(0x1f4),'WmWMg':'consumer.disconnect','ftAtN':_0x1162f5(0x228),'fWuXk':_0x1162f5(0x238)};if(!this['consumer'])return;this['consumer']['on'](_0x57d830[_0x1162f5(0x241)],()=>{const _0x498646=_0x1162f5;console[_0x498646(0x1f3)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x498646(0x23e)]=![],this[_0x498646(0x243)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log'](_0x57d830['vCvGr']),this['isRunning']=![];}),this['consumer']['on'](_0x57d830[_0x1162f5(0x239)],_0x36ce78=>{const _0x203dfc=_0x1162f5;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x36ce78[_0x203dfc(0x1e0)]['error'][_0x203dfc(0x1e6)]),this['isRunning']=![];}),this[_0x1162f5(0x1d9)]['on'](_0x57d830[_0x1162f5(0x1dc)],()=>{const _0xa1fde3=_0x1162f5;console[_0xa1fde3(0x1f3)](_0x57d830['auYqV']);});}async['subscribe'](_0x3acf33,_0x597e0f=![]){const _0x1b6817=a0_0x2efdae,_0x2c9639={'aQFbG':_0x1b6817(0x23b)};if(!this[_0x1b6817(0x23e)])return console['error'](_0x2c9639['aQFbG']),![];try{const _0x4bf125=Array[_0x1b6817(0x1f2)](_0x3acf33)?_0x3acf33:[_0x3acf33];for(const _0x59c7c8 of _0x4bf125){await this['consumer']['subscribe']({'topic':_0x59c7c8,'fromBeginning':_0x597e0f}),console[_0x1b6817(0x1f3)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x59c7c8+_0x1b6817(0x1eb)+_0x597e0f+')');}return this[_0x1b6817(0x21a)]=[...new Set([...this[_0x1b6817(0x21a)],..._0x4bf125])],!![];}catch(_0x1ad2b1){return console[_0x1b6817(0x21d)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1ad2b1['message']),![];}}async[a0_0x2efdae(0x224)](_0x1e96f8,_0x8459b8={}){const _0x43aabb=a0_0x2efdae,_0x2a6908={'UTtsr':function(_0x32758a,_0x171cd8){return _0x32758a(_0x171cd8);},'aLJsC':function(_0x294ef8,_0x459346){return _0x294ef8>_0x459346;},'Kymvt':'[KafkaConsumer]\x20Consumer\x20already\x20running','qRyjL':function(_0x37a1b6,_0x4e8e7d){return _0x37a1b6!==_0x4e8e7d;}};if(!this[_0x43aabb(0x23e)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x2a6908[_0x43aabb(0x244)]),!![];const _0x376916=this['getConfig']();this['messageHandler']=_0x1e96f8;try{return this[_0x43aabb(0x22a)][_0x43aabb(0x22e)]=new Date(),await this[_0x43aabb(0x1d9)]['run']({'autoCommit':_0x2a6908[_0x43aabb(0x1d8)](_0x8459b8[_0x43aabb(0x211)],undefined)?_0x8459b8[_0x43aabb(0x211)]:_0x376916['autoCommit'],'autoCommitInterval':_0x376916['autoCommitInterval'],'eachMessage':async({topic:_0x260888,partition:_0x76eed3,message:_0x4debe4,heartbeat:_0x4cf28d})=>{const _0x15bd72=_0x43aabb,_0x4232b0=Date['now']();this['metrics'][_0x15bd72(0x234)]++,this[_0x15bd72(0x22a)][_0x15bd72(0x1ef)]=new Date();try{const _0x4dd625=_0x4debe4[_0x15bd72(0x230)]?_0x4debe4[_0x15bd72(0x230)][_0x15bd72(0x227)]():null;let _0x1b6c09=null;try{_0x1b6c09=_0x4dd625?JSON['parse'](_0x4dd625):null;}catch(_0x1b82ee){_0x1b6c09=_0x4dd625;}const _0xa9cc={'topic':_0x260888,'partition':_0x76eed3,'offset':_0x4debe4['offset'],'key':_0x4debe4[_0x15bd72(0x1ed)]?_0x4debe4[_0x15bd72(0x1ed)][_0x15bd72(0x227)]():null,'headers':this['parseHeaders'](_0x4debe4[_0x15bd72(0x23c)]),'timestamp':_0x4debe4['timestamp'],'value':_0x1b6c09,'raw':_0x4dd625};this[_0x15bd72(0x1fd)]&&await this[_0x15bd72(0x1fd)](_0xa9cc);!_0x376916['autoCommit']&&await this[_0x15bd72(0x1d9)]['commitOffsets']([{'topic':_0x260888,'partition':_0x76eed3,'offset':(_0x2a6908[_0x15bd72(0x1db)](parseInt,_0x4debe4['offset'])+0x1)['toString']()}]);this[_0x15bd72(0x22a)]['messagesProcessed']++;const _0x330998=Date['now']()-_0x4232b0;this['metrics']['processingTimes']['push'](_0x330998),_0x2a6908['aLJsC'](this[_0x15bd72(0x22a)]['processingTimes']['length'],0x64)&&this['metrics']['processingTimes'][_0x15bd72(0x232)](),await _0x4cf28d();}catch(_0x25f66b){this['metrics'][_0x15bd72(0x205)]++,console[_0x15bd72(0x21d)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x25f66b['message']);throw _0x25f66b;}}}),this[_0x43aabb(0x243)]=!![],console[_0x43aabb(0x1f3)](_0x43aabb(0x208)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x3e43b3){return console['error'](_0x43aabb(0x1e2)+_0x3e43b3[_0x43aabb(0x1e6)]),![];}}[a0_0x2efdae(0x1f8)](_0x56f76d){if(!_0x56f76d)return{};const _0x43c242={};for(const [_0x4cb7a7,_0x158514]of Object['entries'](_0x56f76d)){_0x43c242[_0x4cb7a7]=_0x158514?_0x158514['toString']():null;}return _0x43c242;}async[a0_0x2efdae(0x233)](){const _0x7884fc=a0_0x2efdae,_0x3731e9={'dZJpa':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','cYgNk':_0x7884fc(0x217)};if(!this[_0x7884fc(0x23e)]||!this[_0x7884fc(0x243)])return console['log'](_0x3731e9['dZJpa']),![];if(this[_0x7884fc(0x1e3)])return console['log'](_0x3731e9['cYgNk']),!![];try{const _0x481bc5=this[_0x7884fc(0x21a)][_0x7884fc(0x1f7)](_0x3c7bb4=>({'topic':_0x3c7bb4}));return this['consumer'][_0x7884fc(0x233)](_0x481bc5),this[_0x7884fc(0x1e3)]=!![],console[_0x7884fc(0x1f3)](_0x7884fc(0x22c)),!![];}catch(_0x35433c){return console[_0x7884fc(0x21d)](_0x7884fc(0x223)+_0x35433c['message']),![];}}async['resume'](){const _0x5e2d0c=a0_0x2efdae,_0x249973={'qGlWh':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x5e2d0c(0x1f3)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x5e2d0c(0x1e3)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x462946=this[_0x5e2d0c(0x21a)][_0x5e2d0c(0x1f7)](_0x29d293=>({'topic':_0x29d293}));return this['consumer']['resume'](_0x462946),this[_0x5e2d0c(0x1e3)]=![],console['log'](_0x249973[_0x5e2d0c(0x21e)]),!![];}catch(_0x4feb42){return console[_0x5e2d0c(0x21d)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x4feb42['message']),![];}}async['stop'](){const _0x389c0d=a0_0x2efdae;if(!this['isConnected'])return console[_0x389c0d(0x1f3)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x389c0d(0x1d9)]&&(await this['consumer'][_0x389c0d(0x1fa)](),await this[_0x389c0d(0x1d9)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console[_0x389c0d(0x1f3)](_0x389c0d(0x212)),!![];}catch(_0x5ab49a){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x5ab49a[_0x389c0d(0x1e6)]),![];}}async['seekToOffset'](_0x3559d8,_0x17c4fd,_0x19bbda){const _0x2975f9=a0_0x2efdae,_0x85b556={'OHVZZ':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x2975f9(0x23e)])return console['error'](_0x85b556[_0x2975f9(0x1fb)]),![];try{return this['consumer']['seek']({'topic':_0x3559d8,'partition':_0x17c4fd,'offset':_0x19bbda[_0x2975f9(0x227)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x19bbda+'\x20on\x20'+_0x3559d8+':'+_0x17c4fd),!![];}catch(_0x319554){return console['error'](_0x2975f9(0x200)+_0x319554[_0x2975f9(0x1e6)]),![];}}[a0_0x2efdae(0x23a)](){const _0x352b6a=a0_0x2efdae,_0x4fec12=this[_0x352b6a(0x22b)]();return{'enabled':_0x4fec12[_0x352b6a(0x20e)],'connected':this[_0x352b6a(0x23e)],'running':this[_0x352b6a(0x243)],'paused':this[_0x352b6a(0x1e3)],'brokers':_0x4fec12[_0x352b6a(0x240)],'clientId':_0x4fec12[_0x352b6a(0x23f)],'groupId':this[_0x352b6a(0x225)],'subscribedTopics':this[_0x352b6a(0x21a)]};}['getMetrics'](){const _0x43be3f=a0_0x2efdae,_0x474b99={'GFvhV':function(_0x2d0fa3,_0x14b45d){return _0x2d0fa3>_0x14b45d;},'VtZYi':function(_0x27deda,_0x119f30){return _0x27deda*_0x119f30;},'aJVPq':function(_0x1a7a6d,_0x26b673){return _0x1a7a6d/_0x26b673;},'YaqUK':function(_0x829946,_0x2abc90){return _0x829946-_0x2abc90;},'kpsUu':function(_0x1bccb8,_0x5da80c){return _0x1bccb8+_0x5da80c;}},_0x598e9f=_0x474b99['GFvhV'](this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)]['length'],0x0)?this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x20d)]((_0x2e73b2,_0x2fc073)=>_0x2e73b2+_0x2fc073,0x0)/this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]:0x0,_0x1e9c58=this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math[_0x43be3f(0x213)](...this[_0x43be3f(0x22a)]['processingTimes']):0x0,_0x1db8c9=this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x43be3f(0x22a)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x43be3f(0x205)],'successRate':this[_0x43be3f(0x22a)]['messagesReceived']>0x0?_0x474b99['VtZYi'](_0x474b99['aJVPq'](this['metrics']['messagesProcessed'],this[_0x43be3f(0x22a)]['messagesReceived']),0x64)[_0x43be3f(0x21b)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x43be3f(0x1ef)],'startTime':this['metrics'][_0x43be3f(0x22e)],'uptime':this['metrics'][_0x43be3f(0x22e)]?Math[_0x43be3f(0x1e5)](_0x474b99['YaqUK'](Date['now'](),this[_0x43be3f(0x22a)][_0x43be3f(0x22e)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x474b99[_0x43be3f(0x1e8)](Math['round'](_0x598e9f),'ms'),'min':_0x1e9c58+'ms','max':_0x1db8c9+'ms'}};}['resetMetrics'](){this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x2efdae(0x1f0)](){const _0x3a962f=a0_0x2efdae;await this[_0x3a962f(0x1fa)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x581a(_0x263cad,_0x49f298){_0x263cad=_0x263cad-0x1d5;const _0x5c44e8=a0_0x5c44();let _0x581a7e=_0x5c44e8[_0x263cad];if(a0_0x581a['iYphpj']===undefined){var _0xae1df1=function(_0x1830ba){const _0x455c39='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48a14b='',_0x2d2e63='';for(let _0x2f6f5d=0x0,_0x4d16f2,_0x45dd99,_0x5c90b5=0x0;_0x45dd99=_0x1830ba['charAt'](_0x5c90b5++);~_0x45dd99&&(_0x4d16f2=_0x2f6f5d%0x4?_0x4d16f2*0x40+_0x45dd99:_0x45dd99,_0x2f6f5d++%0x4)?_0x48a14b+=String['fromCharCode'](0xff&_0x4d16f2>>(-0x2*_0x2f6f5d&0x6)):0x0){_0x45dd99=_0x455c39['indexOf'](_0x45dd99);}for(let _0x13d3a4=0x0,_0x4a4dd9=_0x48a14b['length'];_0x13d3a4<_0x4a4dd9;_0x13d3a4++){_0x2d2e63+='%'+('00'+_0x48a14b['charCodeAt'](_0x13d3a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d2e63);};a0_0x581a['mglqju']=_0xae1df1,a0_0x581a['DwiriI']={},a0_0x581a['iYphpj']=!![];}const _0x2dd74a=_0x5c44e8[0x0],_0xaf052d=_0x263cad+_0x2dd74a,_0x3e4e77=a0_0x581a['DwiriI'][_0xaf052d];return!_0x3e4e77?(_0x581a7e=a0_0x581a['mglqju'](_0x581a7e),a0_0x581a['DwiriI'][_0xaf052d]=_0x581a7e):_0x581a7e=_0x3e4e77,_0x581a7e;}function resetInstance(){const _0x5cd53d=a0_0x2efdae;instance&&(instance[_0x5cd53d(0x1f0)](),instance=null);}function a0_0x5c44(){const _0x5f349f=['mJG0mJK5oengs1DkqW','C3rHCNruAw1L','AxnjBML0AwfSAxPPBMC','DMfSDwu','ndq2mteXmuTcsu1VAG','C2HPzNq','Cgf1C2u','BwvZC2fNzxnszwnLAxzLza','y29UBMvJDgLVBLbYB21PC2u','DxvPza','s0fgs0fFqLjps0vsuW','y29UC3vTzxiUCMvIywXHBMnPBMC','zNrbDe4','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','AgvHzgvYCW','AM9PBG','AxndB25Uzwn0zwq','y2XPzw50swq','yNjVA2vYCW','v21xtwC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxnsDw5UAw5N','s3LTDNq','De1OzeK','BgvUz3rO','zgvMyxvSDa','Cvj5AKW','y29UC3vTzxi','s0fgs0fFuKvrvuvtvf9usu1ft1vu','vvr0C3i','zLD1wgS','C0LNy04','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','Cgf5Bg9Hza','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','nZC2ntzvzKzfwg8','zMXVB3i','BwvZC2fNzq','nZjdrfPmAKK','A3bZvxu','A2fMA2fQCW','s0fgs0fFte9hx0XfvKvm','icHMCM9TqMvNAw5UAw5NoIa','mJbouxzgwK8','A2v5','s0fgs0fFsevbuLrcrufux0LovevsvKfm','BgfZDe1LC3nHz2vuAw1L','y2XVC2u','v0fstG','AxnbCNjHEq','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mJq3mdyWuw1TB0j6','s0fgs0fFuKvuuLLFtufyx0rftefz','BwfW','CgfYC2vizwfKzxjZ','z2v0tg9Ntgv2zwW','C3rVCa','t0HwwLO','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzuHHBMrSzxi','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zw52','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','vKDdAwm','BwvZC2fNzxngywLSzwq','mZaWmda','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BKzpDei','ode0nJeZy0HNDxvW','ntaWma','CMv0CNLezwXHEq','CMvKDwnL','zw5HyMXLza','Bwf4qNL0zxnqzxjqyxj0AxrPB24','A2fMA2e','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwLU','mtG2nJq3mLPMCefTDW','CMvZDgzVCMDLlq','mtvvsu1duNm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mJa1mta2ognhrhv1yW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3vIC2nYAwjLzfrVCgLJCW','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','zxjYB3i','CuDSv2G','m0DyyxbzBW','mta0odu3nG','oda1CK9KBg9i','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','C3rHCNrdB25ZDw1PBMC','z3jVDxbjza','D2fYBG','Dg9tDhjPBMC','y29UC3vTzxiUy3jHC2G','Dg9mB3DLCKnHC2u','Bwv0CMLJCW','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza'];a0_0x5c44=function(){return _0x5f349f;};return a0_0x5c44();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|