@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.
Files changed (172) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +235 -30
  5. package/generators/lib/migrate/backend-payload-migrator.js +39 -17
  6. package/generators/lib/migrate/field-type-resolver.js +64 -7
  7. package/generators/lib/payload/payload-runner.js +72 -6
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. 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};