@restforgejs/platform 5.2.0 → 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 (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +2 -2
  3. package/cli/consumer.js +2 -2
  4. package/generators/cli/fast-track.js +293 -35
  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/migrate/migrate-runner.js +12 -2
  8. package/generators/lib/migrate/sql-parser.js +5 -3
  9. package/generators/lib/payload/payload-runner.js +103 -11
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/integrity-manifest.json +18 -18
  20. package/package.json +1 -1
  21. package/scripts/verify-integrity.js +1 -1
  22. package/server.js +2 -2
  23. package/src/components/handlers/adjust_handler.js +1 -1
  24. package/src/components/handlers/audit_handler.js +1 -1
  25. package/src/components/handlers/delete_handler.js +1 -1
  26. package/src/components/handlers/export_handler.js +1 -1
  27. package/src/components/handlers/import_handler.js +1 -1
  28. package/src/components/handlers/insert_handler.js +1 -1
  29. package/src/components/handlers/update_handler.js +1 -1
  30. package/src/components/handlers/upload_handler.js +1 -1
  31. package/src/components/handlers/workflow_handler.js +1 -1
  32. package/src/components/integrations/webhook.js +1 -1
  33. package/src/consumers/baseConsumer.js +1 -1
  34. package/src/consumers/declarativeMapper.js +1 -1
  35. package/src/consumers/handlers/apiHandler.js +1 -1
  36. package/src/consumers/handlers/consoleHandler.js +1 -1
  37. package/src/consumers/handlers/databaseHandler.js +1 -1
  38. package/src/consumers/handlers/index.js +1 -1
  39. package/src/consumers/handlers/kafkaHandler.js +1 -1
  40. package/src/consumers/index.js +1 -1
  41. package/src/consumers/messageTransformer.js +1 -1
  42. package/src/consumers/validator.js +1 -1
  43. package/src/core/db/dialect/base-dialect.js +1 -1
  44. package/src/core/db/dialect/index.js +1 -1
  45. package/src/core/db/dialect/mysql-dialect.js +1 -1
  46. package/src/core/db/dialect/oracle-dialect.js +1 -1
  47. package/src/core/db/dialect/postgres-dialect.js +1 -1
  48. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  49. package/src/core/db/flatten-helper.js +1 -1
  50. package/src/core/db/query-builder-error.js +1 -1
  51. package/src/core/db/query-builder.js +1 -1
  52. package/src/core/db/relation-helper.js +1 -1
  53. package/src/core/handlers/delete_handler.js +1 -1
  54. package/src/core/handlers/insert_handler.js +1 -1
  55. package/src/core/handlers/update_handler.js +1 -1
  56. package/src/core/models/base-model.js +1 -1
  57. package/src/core/utils/cache-manager.js +1 -1
  58. package/src/core/utils/component-engine.js +1 -1
  59. package/src/core/utils/context-builder.js +1 -1
  60. package/src/core/utils/datetime-formatter.js +1 -1
  61. package/src/core/utils/datetime-parser.js +1 -1
  62. package/src/core/utils/db.js +1 -1
  63. package/src/core/utils/logger.js +1 -1
  64. package/src/core/utils/payload-loader.js +1 -1
  65. package/src/core/utils/security-checks.js +1 -1
  66. package/src/middleware/body-options.js +1 -1
  67. package/src/middleware/cors.js +1 -1
  68. package/src/middleware/idempotency.js +1 -1
  69. package/src/middleware/rate-limiter.js +1 -1
  70. package/src/middleware/request-logger.js +1 -1
  71. package/src/middleware/security-headers.js +1 -1
  72. package/src/models/base-model-mysql.js +1 -1
  73. package/src/models/base-model-oracle.js +1 -1
  74. package/src/models/base-model-sqlite.js +1 -1
  75. package/src/models/base-model.js +1 -1
  76. package/src/pro/caching/redis-client.js +1 -1
  77. package/src/pro/caching/redis-helper.js +1 -1
  78. package/src/pro/consumers/baseConsumer.js +1 -1
  79. package/src/pro/consumers/declarativeMapper.js +1 -1
  80. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  81. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  82. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  83. package/src/pro/consumers/handlers/index.js +1 -1
  84. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  85. package/src/pro/consumers/index.js +1 -1
  86. package/src/pro/consumers/messageTransformer.js +1 -1
  87. package/src/pro/consumers/validator.js +1 -1
  88. package/src/pro/database/base-model-mysql.js +1 -1
  89. package/src/pro/database/base-model-oracle.js +1 -1
  90. package/src/pro/database/base-model-sqlite.js +1 -1
  91. package/src/pro/database/db-mysql.js +1 -1
  92. package/src/pro/database/db-oracle.js +1 -1
  93. package/src/pro/database/db-sqlite.js +1 -1
  94. package/src/pro/excel/excel-generator.js +1 -1
  95. package/src/pro/excel/excel-parser.js +1 -1
  96. package/src/pro/excel/export-service.js +1 -1
  97. package/src/pro/excel/export_handler.js +1 -1
  98. package/src/pro/excel/import-service.js +1 -1
  99. package/src/pro/excel/import-validator.js +1 -1
  100. package/src/pro/excel/import_handler.js +1 -1
  101. package/src/pro/excel/upsert-builder.js +1 -1
  102. package/src/pro/idgen/idgen-routes.js +1 -1
  103. package/src/pro/integrations/lookup-resolver.js +1 -1
  104. package/src/pro/integrations/upload-handler-v2.js +1 -1
  105. package/src/pro/integrations/upload-handler.js +1 -1
  106. package/src/pro/integrations/webhook.js +1 -1
  107. package/src/pro/locking/lock-routes.js +1 -1
  108. package/src/pro/locking/resource-lock-manager.js +1 -1
  109. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  110. package/src/pro/messaging/kafkaService.js +1 -1
  111. package/src/pro/messaging/messagehubService.js +1 -1
  112. package/src/pro/messaging/rabbitmqService.js +1 -1
  113. package/src/pro/scheduler/job-manager.js +1 -1
  114. package/src/pro/scheduler/job-routes.js +1 -1
  115. package/src/pro/scheduler/job-validator.js +1 -1
  116. package/src/pro/storage/base-storage-provider.js +1 -1
  117. package/src/pro/storage/file-metadata-helper.js +1 -1
  118. package/src/pro/storage/index.js +1 -1
  119. package/src/pro/storage/local-storage-provider.js +1 -1
  120. package/src/pro/storage/s3-storage-provider.js +1 -1
  121. package/src/pro/storage/upload-cleanup-job.js +1 -1
  122. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  123. package/src/pro/storage/upload-pending-tracker.js +1 -1
  124. package/src/pro/websocket/broadcast-helper.js +1 -1
  125. package/src/pro/websocket/index.js +1 -1
  126. package/src/pro/websocket/livesync-server.js +1 -1
  127. package/src/pro/websocket/ws-broadcaster.js +1 -1
  128. package/src/services/export-service.js +1 -1
  129. package/src/services/import-service.js +1 -1
  130. package/src/services/kafkaConsumerService.js +1 -1
  131. package/src/services/kafkaService.js +1 -1
  132. package/src/services/messagehubService.js +1 -1
  133. package/src/services/rabbitmqService.js +1 -1
  134. package/src/utils/cache-invalidation-registry.js +1 -1
  135. package/src/utils/cache-manager.js +1 -1
  136. package/src/utils/component-engine.js +1 -1
  137. package/src/utils/config-extractor.js +1 -1
  138. package/src/utils/consumerLogger.js +1 -1
  139. package/src/utils/context-builder.js +1 -1
  140. package/src/utils/dashboard-helpers.js +1 -1
  141. package/src/utils/dateHelper.js +1 -1
  142. package/src/utils/datetime-formatter.js +1 -1
  143. package/src/utils/datetime-parser.js +1 -1
  144. package/src/utils/db-bootstrap.js +1 -1
  145. package/src/utils/db-mysql.js +1 -1
  146. package/src/utils/db-oracle.js +1 -1
  147. package/src/utils/db-sqlite.js +1 -1
  148. package/src/utils/db.js +1 -1
  149. package/src/utils/demo-generator.js +1 -1
  150. package/src/utils/excel-generator.js +1 -1
  151. package/src/utils/excel-parser.js +1 -1
  152. package/src/utils/file-watcher.js +1 -1
  153. package/src/utils/id-generator.js +1 -1
  154. package/src/utils/idempotency-manager.js +1 -1
  155. package/src/utils/import-validator.js +1 -1
  156. package/src/utils/license-client.js +1 -1
  157. package/src/utils/lock-manager.js +1 -1
  158. package/src/utils/logger.js +1 -1
  159. package/src/utils/lookup-resolver.js +1 -1
  160. package/src/utils/payload-loader.js +1 -1
  161. package/src/utils/processor-response.js +1 -1
  162. package/src/utils/rabbitmq.js +1 -1
  163. package/src/utils/redis-client.js +1 -1
  164. package/src/utils/redis-helper.js +1 -1
  165. package/src/utils/request-scope.js +1 -1
  166. package/src/utils/security-checks.js +1 -1
  167. package/src/utils/service-resolver.js +1 -1
  168. package/src/utils/shutdown-coordinator.js +1 -1
  169. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  170. package/src/utils/sql-table-extractor.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x372f5e=a0_0x23f3;function a0_0x23f3(_0x31038b,_0x2e11e8){_0x31038b=_0x31038b-0xfc;const _0x22ca9b=a0_0x22ca();let _0x23f38b=_0x22ca9b[_0x31038b];if(a0_0x23f3['gLlujm']===undefined){var _0x123266=function(_0x40a193){const _0x595f1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bd3da='',_0x200f1b='';for(let _0xe884a5=0x0,_0x25c1d6,_0x41b8ca,_0x384871=0x0;_0x41b8ca=_0x40a193['charAt'](_0x384871++);~_0x41b8ca&&(_0x25c1d6=_0xe884a5%0x4?_0x25c1d6*0x40+_0x41b8ca:_0x41b8ca,_0xe884a5++%0x4)?_0x2bd3da+=String['fromCharCode'](0xff&_0x25c1d6>>(-0x2*_0xe884a5&0x6)):0x0){_0x41b8ca=_0x595f1a['indexOf'](_0x41b8ca);}for(let _0x7fd0ae=0x0,_0x3b52f9=_0x2bd3da['length'];_0x7fd0ae<_0x3b52f9;_0x7fd0ae++){_0x200f1b+='%'+('00'+_0x2bd3da['charCodeAt'](_0x7fd0ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200f1b);};a0_0x23f3['hfDxME']=_0x123266,a0_0x23f3['eapntQ']={},a0_0x23f3['gLlujm']=!![];}const _0x37b37b=_0x22ca9b[0x0],_0x4d25d9=_0x31038b+_0x37b37b,_0x38a45d=a0_0x23f3['eapntQ'][_0x4d25d9];return!_0x38a45d?(_0x23f38b=a0_0x23f3['hfDxME'](_0x23f38b),a0_0x23f3['eapntQ'][_0x4d25d9]=_0x23f38b):_0x23f38b=_0x38a45d,_0x23f38b;}(function(_0x5d72bd,_0x461963){const _0x2a8ffd=a0_0x23f3,_0x145ed9=_0x5d72bd();while(!![]){try{const _0xdc1526=parseInt(_0x2a8ffd(0x13d))/0x1*(parseInt(_0x2a8ffd(0x117))/0x2)+parseInt(_0x2a8ffd(0x131))/0x3+-parseInt(_0x2a8ffd(0x151))/0x4+-parseInt(_0x2a8ffd(0x13e))/0x5*(parseInt(_0x2a8ffd(0x10d))/0x6)+-parseInt(_0x2a8ffd(0x120))/0x7*(parseInt(_0x2a8ffd(0x139))/0x8)+parseInt(_0x2a8ffd(0x167))/0x9*(parseInt(_0x2a8ffd(0x141))/0xa)+parseInt(_0x2a8ffd(0x10b))/0xb*(-parseInt(_0x2a8ffd(0x181))/0xc);if(_0xdc1526===_0x461963)break;else _0x145ed9['push'](_0x145ed9['shift']());}catch(_0x41b221){_0x145ed9['push'](_0x145ed9['shift']());}}}(a0_0x22ca,0x5143a));function a0_0x22ca(){const _0x1b6d88=['C2H1DgrVD24','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvTB3zLqwXStgLZDgvUzxjZ','ChvIBgLZAgvY','x3b1yMXPC2HuB1jLzgLZ','EvH5zvO','AgvHzgvYCW','x2HHBMrSzvvUC3vIC2nYAwjL','Bg9JywXOB3n0','uKvesvnFue9sva','nhW4Fdn8oxW2Fdj8mxW1Fdb8nW','t3PfwwS','Bg9Nz2vY','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','Dg9ju09tDhjPBMC','C2vUza','y29UBMvJDgLVBG','y2f0y2G','CwPyuK8','DxjS','nJa3mdC2nfvXCwL6Aq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','BgL2zxn5BMnFyNjVywrJyxn0','Dg9Osha','y2XLyxi','uKvesvnFrei','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','vLPzwu4','x293BLb1yMXPC2HLCG','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x3n0yxj0sgvHCNrIzwf0','Aw9YzwrPCW','z2v0q2XPzw50','AKrbDLC','tgL2zsbtEw5Jia','zgf0yq','Dg9tDhjPBMC','Cg9UzW','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','x2XVz2DLCG','x3nLDhvWuMvKAxm','D3jPDgu','ChvZAa','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mtf3CwDJweS','BwvZC2fNzq','mtj5wxzgA0G','D2fYBG','z2v0','x21Vzgu','z2rnsM4','lI4VlI4VDxrPBhmVBg9Nz2vY','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','C3rYAw5N','ywn0Aw9U','zgvSzxrL','nKPtv1vAtq','x3nLBMruB0nSAwvUDa','DNzfEvm','zgvIDwC','zxjYB3i','C3vIC2nYAwjLzenOyw5UzwXZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2XVC2u','x2LUAxrPywXPEMvK','mtrIyKv3AMq','CgLUzW','yxbPs2v5','AgfZ','CxvPDa','tejoqMu','DM9HD3a','x2HHBMrSzunVBM5Ly3rPB24','v2v5whO','x2HHBMrSzvn1yNnJCMLIzq','y2XPzw50CW','AxnbCNjHEq','rNzyz2y','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','yNvkwxm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','CMvTB3rLqwrKCMvZCW','mtm3mtm2ouzUtKHVzW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','ueDuzLe','x3DVCMTLCKLK','ihrVia','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x29WDgLVBNm','mZeZmtKYtxPnt015','l3DZ','wxztBgS','AxnbBgL2zq','mtuYndu1B1zpC0Hc','nta5mJu1Dfj1BwP1','C3bSAxq','AMfNDKq','otuYmJbWEg9XvK8','Aw5PDgLHBgL6zq','y2HHBM5LBhm','Aw5MBW','C2vHCMnOugfYyw1Z','x3jLzgLZuhvIBgLZAgvY','zw52','AgfUzgXLvxbNCMfKzq','Ec1MB3j3yxjKzwqTzM9Y','Aw5JBhvKzxm','y29UBMvJDa','uxDNsMS','C2L6zq','zw1PDa','D29YA2vYswq','x2HLyxj0yMvHDfrPBwvY','mty1mdy1mLb5u01gEa','x3DZCW','x3n1yNnJCMLWDgLVBNm','BgvUz3rO','s3DPAKS','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgvZDhjVEq','AM9PBG','rgLnu2O','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3jLzgLZu3vIC2nYAwjLCG','zgf0yv9JAgfUz2u','C3rYAw5NAwz5','yNjVywrJyxn0','x3nLDhvWvxbNCMfKzuf1DgG','sw52ywXPzcbku09oig1LC3nHz2u','CMvHzhLtDgf0zq','Dw5ZDwjZy3jPyMvK','C3PfqNC','vvPXvNK','mxWYFdr8m3W1Fdz8ma','ntG1sKfuDwXp','vvvyuxi','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','rMzxDLa','DxbNCMfKzq'];a0_0x22ca=function(){return _0x1b6d88;};return a0_0x22ca();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x372f5e(0x180)),REDIS_CHANNEL_PREFIX=a0_0x372f5e(0x16d);class WebSocketBroadcaster{constructor(){const _0x2eacf8=a0_0x372f5e,_0x307427=_0x2eacf8(0x176)[_0x2eacf8(0x13f)]('|');let _0x57c5d0=0x0;while(!![]){switch(_0x307427[_0x57c5d0++]){case'0':this[_0x2eacf8(0x15c)]=null;continue;case'1':this[_0x2eacf8(0x150)]=null;continue;case'2':this['_subscriptions']=new Map();continue;case'3':this[_0x2eacf8(0x110)]=null;continue;case'4':this[_0x2eacf8(0x152)]=null;continue;case'5':this[_0x2eacf8(0x146)]=null;continue;case'6':this[_0x2eacf8(0x106)]=console;continue;case'7':this[_0x2eacf8(0x135)]=process['pid'];continue;case'8':this[_0x2eacf8(0x11f)]=![];continue;case'9':this[_0x2eacf8(0x138)]={};continue;}break;}}[a0_0x372f5e(0x142)](_0xab9ad,_0x1bcaab={}){const _0xb48989=a0_0x372f5e,_0x33c80a={'mODFv':'livesync_wss_error','vESil':'full','cRbUX':function(_0x3cc4d6,_0x359477){return _0x3cc4d6(_0x359477);},'KwijK':_0xb48989(0x112),'IeHNg':function(_0x23c743,_0x55b581,_0x574a0d){return _0x23c743(_0x55b581,_0x574a0d);},'UswLz':_0xb48989(0x13a),'rpmIq':'error','QwgJk':'livesync_initialized'};if(this['_initialized'])return;this[_0xb48989(0x138)]=_0x1bcaab,this[_0xb48989(0x110)]=_0x33c80a['vESil'];try{this['_logger']=_0x33c80a['cRbUX'](require,_0x33c80a[_0xb48989(0x155)])[_0xb48989(0x178)]||console;}catch(_0x378c3f){this[_0xb48989(0x106)]=console;}const _0x44ca13=_0x33c80a['IeHNg'](parseInt,process['env'][_0xb48989(0x169)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0xab9ad,'path':_0x33c80a['UswLz']}),this[_0xb48989(0x160)](_0xab9ad),this[_0xb48989(0x152)]['on'](_0xb48989(0x17d),(_0x554b64,_0x3e8020)=>this['_handleConnection'](_0x554b64,_0x3e8020)),this['_wss']['on'](_0x33c80a['rpmIq'],_0x55a804=>{const _0x5c11d7=_0xb48989;this['_logger'][_0x5c11d7(0x11b)]({'event':_0x33c80a['mODFv'],'error':_0x55a804[_0x5c11d7(0x10c)]},_0x5c11d7(0x182)+_0x55a804['message']);}),this['_startHeartbeat'](_0x44ca13),this[_0xb48989(0x107)](),this[_0xb48989(0x11f)]=!![],this[_0xb48989(0x106)]['info']({'event':_0x33c80a[_0xb48989(0x14c)],'mode':'full','path':_0x33c80a['UswLz'],'heartbeat':_0x44ca13+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x44ca13+'s)');}['initializeAsPublisher'](_0x3a8933={}){const _0x831b24=a0_0x372f5e,_0x246272={'LZSpR':_0x831b24(0x113),'jsnTy':'publisher'},_0x523df0=_0x831b24(0x166)['split']('|');let _0x1029c8=0x0;while(!![]){switch(_0x523df0[_0x1029c8++]){case'0':this['_logger']['info']({'event':_0x246272['LZSpR'],'mode':_0x246272['jsnTy']},_0x831b24(0x12f));continue;case'1':if(this['_initialized'])return;continue;case'2':this['_options']=_0x3a8933;continue;case'3':try{this['_logger']=require(_0x831b24(0x112))[_0x831b24(0x178)]||console;}catch(_0x593bfb){this['_logger']=console;}continue;case'4':this[_0x831b24(0x110)]=_0x831b24(0x16f);continue;case'5':this['_setupRedisPublisher']();continue;case'6':this[_0x831b24(0x11f)]=!![];continue;}break;}}[a0_0x372f5e(0x132)](){return this['_initialized'];}['broadcast'](_0x1200d0,_0x2ded82){const _0x182024=a0_0x372f5e,_0x1bc5f9={'VZYYN':'publisher','sxyRZ':_0x182024(0x15d),'jagvD':function(_0x5322e5,_0x1d4ba9){return _0x5322e5===_0x1d4ba9;},'PGTfQ':function(_0x3d102f,_0xde4285){return _0x3d102f===_0xde4285;}};if(!this['_initialized'])return;if(this[_0x182024(0x110)]===_0x1bc5f9[_0x182024(0x188)]){this[_0x182024(0x170)](_0x1200d0,_0x2ded82);return;}const _0x196d9b=JSON[_0x182024(0x15e)]({'type':_0x1bc5f9['sxyRZ'],'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'data':_0x2ded82[_0x182024(0x102)],'requestId':_0x2ded82['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x4961e6]=_0x1200d0['split'](':');let _0x250abd=0x0;for(const [_0x5a94e8,_0x470869]of this[_0x182024(0x153)]){const _0x3aea0c=_0x1bc5f9[_0x182024(0x140)](_0x5a94e8,_0x1200d0),_0x14419d=_0x1bc5f9[_0x182024(0x134)](_0x5a94e8,_0x4961e6+':*');if(_0x3aea0c||_0x14419d)for(const _0x20f206 of _0x470869){if(_0x20f206['readyState']===0x1)try{_0x20f206['send'](_0x196d9b),_0x250abd++;}catch(_0x2fc231){}}}_0x250abd>0x0&&this[_0x182024(0x106)]['debug']({'event':_0x182024(0x183),'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'clients':_0x250abd},'Broadcast\x20'+_0x2ded82['action']+'\x20on\x20'+_0x1200d0+_0x182024(0x136)+_0x250abd+'\x20client(s)');}[a0_0x372f5e(0x170)](_0x421db4,_0x38100b){const _0x443d76=a0_0x372f5e;if(!this['_redisPublisher'])return;const _0x583a97=JSON['stringify']({'channel':_0x421db4,'message':_0x38100b,'workerId':this[_0x443d76(0x135)]});this[_0x443d76(0x146)]['publish'](REDIS_CHANNEL_PREFIX+_0x443d76(0x15f),_0x583a97)['catch'](()=>{});}[a0_0x372f5e(0x16c)](){const _0x446d4d=a0_0x372f5e,_0x4e4a46={'gdMJn':function(_0x583e08,_0x28cd0c){return _0x583e08(_0x28cd0c);},'iNxZS':'livesync_shutdown'};if(!this[_0x446d4d(0x11f)])return;this[_0x446d4d(0x150)]&&(_0x4e4a46[_0x446d4d(0x111)](clearInterval,this[_0x446d4d(0x150)]),this[_0x446d4d(0x150)]=null);if(this['_wss']){for(const _0x124f80 of this['_wss']['clients']){try{_0x124f80['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x1be8a4){}}this['_wss'][_0x446d4d(0x11e)]();}if(this[_0x446d4d(0x15c)])try{this['_redisSubscriber']['unsubscribe'](),this[_0x446d4d(0x15c)]['quit']();}catch(_0x3916ec){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x446d4d(0x146)][_0x446d4d(0x124)]();}catch(_0x23f4a2){}this[_0x446d4d(0x153)]['clear'](),this[_0x446d4d(0x11f)]=![],this['_logger'][_0x446d4d(0x144)]({'event':_0x4e4a46['iNxZS'],'mode':this[_0x446d4d(0x110)]},_0x446d4d(0x101)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x39f191){const _0x57de52=a0_0x372f5e,_0x1ad51d={'YCVKW':function(_0x289b67,_0xee3ed2){return _0x289b67!==_0xee3ed2;},'qjXRO':'upgrade'},_0x1cab2f=_0x39f191['listeners'](_0x1ad51d[_0x57de52(0x17f)])['slice']();_0x39f191[_0x57de52(0x16e)](_0x57de52(0x16b)),_0x39f191['on'](_0x1ad51d[_0x57de52(0x17f)],(_0x3b1054,_0x2df1a5,_0x149738)=>{const _0x5c1a69=_0x57de52;if(!_0x3b1054['url']||!_0x3b1054[_0x5c1a69(0x180)]['startsWith']('/ws')){for(const _0x53f7e5 of _0x1cab2f){_0x53f7e5['call'](_0x39f191,_0x3b1054,_0x2df1a5,_0x149738);}return;}if(this[_0x5c1a69(0x138)]['apiKey']){const _0x528fef=new URL(_0x3b1054['url'],'http://'+(_0x3b1054[_0x5c1a69(0x172)]['host']||_0x5c1a69(0x174))),_0x5f035a=_0x528fef[_0x5c1a69(0x145)][_0x5c1a69(0x10f)]('x-api-key')||_0x3b1054[_0x5c1a69(0x172)]['x-api-key'];if(!_0x5f035a||_0x1ad51d['YCVKW'](_0x5f035a,this[_0x5c1a69(0x138)][_0x5c1a69(0x122)])){_0x2df1a5[_0x5c1a69(0x108)](_0x5c1a69(0x105)),_0x2df1a5[_0x5c1a69(0x158)]();return;}}this['_wss'][_0x5c1a69(0x148)](_0x3b1054,_0x2df1a5,_0x149738,_0x8bd5a2=>{const _0x2ce7ec=_0x5c1a69;this['_wss'][_0x2ce7ec(0x14e)]('connection',_0x8bd5a2,_0x3b1054);});});}[a0_0x372f5e(0x127)](_0x416d16,_0x492cf1){const _0x176d71=a0_0x372f5e,_0x177152={'voawp':'error','xkGcM':_0x176d71(0xfc),'YWPUC':'message','OzEYk':_0x176d71(0x11e)};_0x416d16['isAlive']=!![],_0x416d16[_0x176d71(0x11c)]=new Set();const _0x910abf=_0x492cf1['headers'][_0x176d71(0x149)]||_0x492cf1['socket'][_0x176d71(0x130)];this['_logger'][_0x176d71(0x144)]({'event':_0x176d71(0x15b),'ip':_0x910abf},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x910abf),_0x416d16['on'](_0x176d71(0x104),()=>{_0x416d16['isAlive']=!![];}),_0x416d16['on'](_0x177152['YWPUC'],_0xbaf3a7=>{const _0xf2cc17=_0x176d71;try{const _0x1ae148=JSON['parse'](_0xbaf3a7[_0xf2cc17(0x103)]());this['_handleClientMessage'](_0x416d16,_0x1ae148);}catch(_0x32b23d){this[_0xf2cc17(0x118)](_0x416d16,{'type':_0x177152[_0xf2cc17(0x126)],'message':_0xf2cc17(0x161)});}}),_0x416d16['on'](_0x177152[_0x176d71(0x177)],()=>{const _0x30935d=_0x176d71;this['_removeClientFromAllChannels'](_0x416d16),this['_logger'][_0x30935d(0x11a)]({'event':'livesync_client_disconnected','ip':_0x910abf},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x910abf);}),_0x416d16['on'](_0x177152['voawp'],_0x4bf295=>{const _0x42849f=_0x176d71;this['_logger'][_0x42849f(0x10e)]({'event':_0x177152['xkGcM'],'error':_0x4bf295['message']},'WebSocket\x20client\x20error:\x20'+_0x4bf295['message']),this[_0x42849f(0x187)](_0x416d16);});}[a0_0x372f5e(0x157)](_0x4734a9,_0x4f9e64){const _0x198162=a0_0x372f5e,_0x1ca489={'hScjj':'subscribe','DiMSj':'unsubscribe','UkiSa':'pong','sGBqx':_0x198162(0x11b)};switch(_0x4f9e64['type']){case _0x1ca489['hScjj']:this[_0x198162(0x129)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489[_0x198162(0x15a)]:this[_0x198162(0x173)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489['UkiSa']:_0x4734a9['isAlive']=!![];break;default:this[_0x198162(0x118)](_0x4734a9,{'type':_0x1ca489['sGBqx'],'message':'Unknown\x20message\x20type:\x20'+_0x4f9e64['type']});}}['_handleSubscribe'](_0x57d6cd,_0x26dcd3){const _0x5e2fdc=a0_0x372f5e,_0xab6644={'buJYs':function(_0x5eb06c,_0x477ffe){return _0x5eb06c===_0x477ffe;},'OYNmN':'channels\x20must\x20be\x20a\x20non-empty\x20array','szEBw':_0x5e2fdc(0x114),'yXyeZ':function(_0x57f385,_0xab3609){return _0x57f385>_0xab3609;},'Xkqlz':'subscribed','QoXnT':'livesync_subscribe'};if(!Array['isArray'](_0x26dcd3)||_0xab6644[_0x5e2fdc(0x12e)](_0x26dcd3[_0x5e2fdc(0x154)],0x0)){this[_0x5e2fdc(0x118)](_0x57d6cd,{'type':'error','message':_0xab6644['OYNmN']});return;}const _0x534193=[];for(const _0x2e8db9 of _0x26dcd3){if(typeof _0x2e8db9!==_0xab6644[_0x5e2fdc(0x164)]||!_0x2e8db9[_0x5e2fdc(0x14a)](':'))continue;!this['_subscriptions'][_0x5e2fdc(0x123)](_0x2e8db9)&&this['_subscriptions']['set'](_0x2e8db9,new Set()),this[_0x5e2fdc(0x153)][_0x5e2fdc(0x10f)](_0x2e8db9)['add'](_0x57d6cd),_0x57d6cd['subscribedChannels']['add'](_0x2e8db9),_0x534193[_0x5e2fdc(0x109)](_0x2e8db9);}_0xab6644[_0x5e2fdc(0x171)](_0x534193[_0x5e2fdc(0x154)],0x0)&&(this['_sendToClient'](_0x57d6cd,{'type':_0xab6644['Xkqlz'],'channels':_0x534193,'timestamp':new Date()[_0x5e2fdc(0x17b)]()}),this['_logger']['debug']({'event':_0xab6644['QoXnT'],'channels':_0x534193},_0x5e2fdc(0x156)+_0x534193[_0x5e2fdc(0x159)](',\x20')));}[a0_0x372f5e(0x173)](_0x35a56c,_0x1a2ba0){const _0x9ccc5=a0_0x372f5e;if(!Array[_0x9ccc5(0x12b)](_0x1a2ba0))return;const _0x2913c5=[];for(const _0x47c71c of _0x1a2ba0){this[_0x9ccc5(0x153)][_0x9ccc5(0x123)](_0x47c71c)&&(this['_subscriptions']['get'](_0x47c71c)[_0x9ccc5(0x116)](_0x35a56c),this['_subscriptions'][_0x9ccc5(0x10f)](_0x47c71c)['size']===0x0&&this[_0x9ccc5(0x153)][_0x9ccc5(0x116)](_0x47c71c)),_0x35a56c[_0x9ccc5(0x11c)][_0x9ccc5(0x116)](_0x47c71c),_0x2913c5[_0x9ccc5(0x109)](_0x47c71c);}_0x2913c5[_0x9ccc5(0x154)]>0x0&&this['_sendToClient'](_0x35a56c,{'type':_0x9ccc5(0x163),'channels':_0x2913c5,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x4edcd1){const _0x418cdf=a0_0x372f5e,_0x2df7a8={'YvSlk':function(_0x341038,_0x3d2da7){return _0x341038===_0x3d2da7;}};if(!_0x4edcd1[_0x418cdf(0x11c)])return;for(const _0x565952 of _0x4edcd1['subscribedChannels']){this['_subscriptions'][_0x418cdf(0x123)](_0x565952)&&(this[_0x418cdf(0x153)][_0x418cdf(0x10f)](_0x565952)['delete'](_0x4edcd1),_0x2df7a8[_0x418cdf(0x13b)](this['_subscriptions']['get'](_0x565952)[_0x418cdf(0x14d)],0x0)&&this[_0x418cdf(0x153)]['delete'](_0x565952));}_0x4edcd1[_0x418cdf(0x11c)][_0x418cdf(0x185)]();}['_sendToClient'](_0x3142fb,_0x562403){const _0x554fdc=a0_0x372f5e;if(_0x3142fb['readyState']===0x1)try{_0x3142fb[_0x554fdc(0x17c)](JSON[_0x554fdc(0x15e)](_0x562403));}catch(_0x38c932){}}[a0_0x372f5e(0xfd)](_0x551840){const _0x151689=a0_0x372f5e,_0x18f579={'msGCz':_0x151689(0x121),'FvXgf':function(_0x1b4cb7,_0x2e3887,_0x13724a){return _0x1b4cb7(_0x2e3887,_0x13724a);}};this[_0x151689(0x150)]=_0x18f579[_0x151689(0x12c)](setInterval,()=>{const _0x30cbc4=_0x151689;if(!this['_wss'])return;for(const _0x54ef0f of this[_0x30cbc4(0x152)][_0x30cbc4(0x12a)]){if(!_0x54ef0f[_0x30cbc4(0x13c)]){this[_0x30cbc4(0x187)](_0x54ef0f),_0x54ef0f['terminate']();continue;}_0x54ef0f['isAlive']=![],this['_sendToClient'](_0x54ef0f,{'type':_0x18f579['msGCz'],'timestamp':new Date()[_0x30cbc4(0x17b)]()});try{_0x54ef0f[_0x30cbc4(0x121)]();}catch(_0x5b6462){}}},_0x551840*0x3e8);}['_setupRedisPublisher'](){const _0x24dd25=a0_0x372f5e,_0xbcaf5c={'WeyXz':function(_0x355ac0,_0x34e700){return _0x355ac0(_0x34e700);},'yhnUf':'ioredis','LBNBe':_0x24dd25(0x179)};this[_0x24dd25(0x189)]=![];try{try{const _0x389ca1=_0xbcaf5c[_0x24dd25(0x128)](require,_0x24dd25(0x10a));this['_redisPublisher']=_0x389ca1[_0x24dd25(0xff)]?_0x389ca1['getClient']():null;}catch(_0x201a61){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x352b73=require(_0xbcaf5c['yhnUf']),_0x40ed43={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x24dd25(0x147)][_0x24dd25(0x175)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x24dd25(0x186)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x352b73(_0x40ed43),this['_ownPublisher']=!![],this[_0x24dd25(0x146)][_0x24dd25(0x14b)]()[_0x24dd25(0x17e)](()=>{const _0x127fea=_0x24dd25;this[_0x127fea(0x106)]['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x422127){this['_logger'][_0x24dd25(0x10e)]({'event':_0xbcaf5c[_0x24dd25(0x125)],'error':_0x422127['message']},_0x24dd25(0x137)+_0x422127[_0x24dd25(0x10c)]);}}['_setupRedis'](){const _0x138b6e=a0_0x372f5e,_0x16466a={'qgOvR':'livesync_redis_publisher_failed','vvEyS':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','FfWvP':function(_0x17e423,_0x45416a){return _0x17e423===_0x45416a;},'UUXQr':function(_0x50f65a,_0x33340c){return _0x50f65a(_0x33340c);},'Nfipr':_0x138b6e(0xfe),'geVwM':function(_0x1c8f1a,_0x2dba0c,_0x3eb95a){return _0x1c8f1a(_0x2dba0c,_0x3eb95a);},'wIMSN':function(_0xad4225,_0x1c09e3,_0x23fc9f){return _0xad4225(_0x1c09e3,_0x23fc9f);},'HjrIz':function(_0x11d7ee,_0x5c1176){return _0x11d7ee(_0x5c1176);},'YwfcU':_0x138b6e(0x10a),'UZqVy':_0x138b6e(0x179)};this[_0x138b6e(0x189)]=![];try{const _0x121f4b=_0x16466a[_0x138b6e(0x168)](require,_0x16466a['Nfipr']),_0x374078={'host':process[_0x138b6e(0x147)]['REDIS_HOST']||_0x138b6e(0x133),'port':_0x16466a['geVwM'](parseInt,process[_0x138b6e(0x147)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x16466a['wIMSN'](parseInt,process[_0x138b6e(0x147)][_0x138b6e(0x186)],0xa)||0x0,'lazyConnect':!![]};try{const _0x16f94c=_0x16466a['HjrIz'](require,_0x16466a['YwfcU']);this[_0x138b6e(0x146)]=_0x16f94c[_0x138b6e(0xff)]?_0x16f94c[_0x138b6e(0xff)]():null;}catch(_0x5c140d){this['_redisPublisher']=null;}!this[_0x138b6e(0x146)]&&(this[_0x138b6e(0x146)]=new _0x121f4b(_0x374078),this['_ownPublisher']=!![],this[_0x138b6e(0x146)]['connect']()['catch'](()=>{const _0x1952d6=_0x138b6e;this['_logger']['warn']({'event':_0x16466a['qgOvR']},_0x16466a[_0x1952d6(0x119)]),this[_0x1952d6(0x146)]=null;})),this['_redisSubscriber']=new _0x121f4b(_0x374078),this[_0x138b6e(0x15c)]['connect']()['then'](()=>{this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2de2da=>{const _0x1a9f09=a0_0x23f3;if(_0x2de2da){this[_0x1a9f09(0x106)]['error']({'event':'livesync_redis_subscribe_error','error':_0x2de2da['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x2de2da['message']);return;}this[_0x1a9f09(0x106)][_0x1a9f09(0x144)]({'event':_0x1a9f09(0x17a)},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on']('message',(_0x3b0662,_0x50b08e)=>{const _0x589e9c=a0_0x23f3;try{const _0x2496e5=JSON['parse'](_0x50b08e);if(_0x16466a[_0x589e9c(0x16a)](_0x2496e5[_0x589e9c(0x14f)],this[_0x589e9c(0x135)]))return;this['_broadcastLocal'](_0x2496e5['channel'],_0x2496e5['message']);}catch(_0x318863){}});})['catch'](()=>{const _0xa67d2a=_0x138b6e;this['_logger'][_0xa67d2a(0x10e)]({'event':'livesync_redis_subscriber_failed'},_0xa67d2a(0x12d)),this[_0xa67d2a(0x15c)]=null;});}catch(_0x5581f9){this[_0x138b6e(0x106)][_0x138b6e(0x10e)]({'event':_0x16466a[_0x138b6e(0x165)],'error':_0x5581f9['message']},_0x138b6e(0x11d)+_0x5581f9['message']);}}['_broadcastLocal'](_0x466a3d,_0x1c35d6){const _0x48b69f=a0_0x372f5e,_0x4e97fd={'tohHp':function(_0x47e604,_0x4eea46){return _0x47e604===_0x4eea46;},'jDAvW':function(_0x5de882,_0x122378){return _0x5de882||_0x122378;}};if(!this['_wss'])return;const _0x343979=JSON[_0x48b69f(0x15e)]({'type':'data_change','channel':_0x466a3d,'action':_0x1c35d6['action'],'data':_0x1c35d6[_0x48b69f(0x102)],'requestId':_0x1c35d6['requestId']||null,'timestamp':new Date()[_0x48b69f(0x17b)]()}),[_0x4806a6]=_0x466a3d['split'](':');for(const [_0x101f40,_0x4b1644]of this[_0x48b69f(0x153)]){const _0x57229f=_0x4e97fd[_0x48b69f(0x184)](_0x101f40,_0x466a3d),_0x19cb09=_0x101f40===_0x4806a6+':*';if(_0x4e97fd[_0x48b69f(0x100)](_0x57229f,_0x19cb09))for(const _0x1d7a69 of _0x4b1644){if(_0x4e97fd['tohHp'](_0x1d7a69[_0x48b69f(0x162)],0x1))try{_0x1d7a69[_0x48b69f(0x17c)](_0x343979);}catch(_0x4bff84){}}}}}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_0x39d910=a0_0xf492;(function(_0x2bc0c6,_0x3c78f7){const _0x2ec56f=a0_0xf492,_0x53cd5e=_0x2bc0c6();while(!![]){try{const _0x2d6347=parseInt(_0x2ec56f(0x1e2))/0x1*(parseInt(_0x2ec56f(0x16c))/0x2)+parseInt(_0x2ec56f(0x1e9))/0x3*(parseInt(_0x2ec56f(0x1ad))/0x4)+-parseInt(_0x2ec56f(0x1e7))/0x5*(-parseInt(_0x2ec56f(0x18e))/0x6)+-parseInt(_0x2ec56f(0x150))/0x7+parseInt(_0x2ec56f(0x1d3))/0x8*(-parseInt(_0x2ec56f(0x158))/0x9)+-parseInt(_0x2ec56f(0x18a))/0xa+parseInt(_0x2ec56f(0x159))/0xb;if(_0x2d6347===_0x3c78f7)break;else _0x53cd5e['push'](_0x53cd5e['shift']());}catch(_0x3ce6a1){_0x53cd5e['push'](_0x53cd5e['shift']());}}}(a0_0x3481,0x44751));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x39d910(0x15c)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x39d910(0x154)]||a0_0x39d910(0x166))[a0_0x39d910(0x1a5)]();function a0_0xf492(_0x4ae943,_0x2e44e1){_0x4ae943=_0x4ae943-0x150;const _0x34812d=a0_0x3481();let _0xf492f=_0x34812d[_0x4ae943];if(a0_0xf492['AIktWl']===undefined){var _0x40b5e8=function(_0x2bb1a7){const _0x37f5f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394bbc='',_0x13c233='';for(let _0xd947a9=0x0,_0x604ebf,_0x23f848,_0x2ab4a3=0x0;_0x23f848=_0x2bb1a7['charAt'](_0x2ab4a3++);~_0x23f848&&(_0x604ebf=_0xd947a9%0x4?_0x604ebf*0x40+_0x23f848:_0x23f848,_0xd947a9++%0x4)?_0x394bbc+=String['fromCharCode'](0xff&_0x604ebf>>(-0x2*_0xd947a9&0x6)):0x0){_0x23f848=_0x37f5f2['indexOf'](_0x23f848);}for(let _0x3228a9=0x0,_0x46477a=_0x394bbc['length'];_0x3228a9<_0x46477a;_0x3228a9++){_0x13c233+='%'+('00'+_0x394bbc['charCodeAt'](_0x3228a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c233);};a0_0xf492['UNCnKG']=_0x40b5e8,a0_0xf492['gWbrdQ']={},a0_0xf492['AIktWl']=!![];}const _0x1927b0=_0x34812d[0x0],_0x486f6d=_0x4ae943+_0x1927b0,_0x4966cc=a0_0xf492['gWbrdQ'][_0x486f6d];return!_0x4966cc?(_0xf492f=a0_0xf492['UNCnKG'](_0xf492f),a0_0xf492['gWbrdQ'][_0x486f6d]=_0xf492f):_0xf492f=_0x4966cc,_0xf492f;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x39d910(0x1c8));executeQuery=(_0x2388b8,_0x50d0aa)=>oracleDb[a0_0x39d910(0x195)](_0x2388b8,_0x50d0aa);}else{if(dbType===a0_0x39d910(0x152)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x26a0e3,_0x1f0aa9)=>mysqlDb['executeQuery'](_0x26a0e3,_0x1f0aa9);}else executeQuery=require(a0_0x39d910(0x1c4))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x452eae=a0_0x39d910,_0x1d4e81={'xrdKG':_0x452eae(0x177),'CFOis':'export_service_init_error'};if(!this['_exportDir']){const _0x2d1481=process['env'][_0x452eae(0x1c2)]||_0x452eae(0x1b2);this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x452eae(0x16d)+_0x2d1481);try{!fsSync[_0x452eae(0x1f1)](this[_0x452eae(0x1bc)])&&fsSync['mkdirSync'](this[_0x452eae(0x1bc)],{'recursive':!![]}),logger[_0x452eae(0x19b)]({'event':'export_service_init','dir':this[_0x452eae(0x1bc)]},_0x1d4e81[_0x452eae(0x151)]);}catch(_0x17382f){logError(_0x17382f,{'event':_0x1d4e81['CFOis']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x39d910(0x194)](_0x4a6687,_0x3aa706=null){const _0x56c255=a0_0x39d910;if(!_0x4a6687||typeof _0x4a6687!==_0x56c255(0x19c))return _0x4a6687;const _0x31cb17=_0x4a6687[_0x56c255(0x182)]();if(!_0x31cb17['startsWith'](_0x56c255(0x1dc)))return _0x31cb17;const _0x57f118=_0x31cb17[_0x56c255(0x1c9)](/^file:/,'')['trim']();if(!_0x57f118)throw new Error(_0x56c255(0x192));const _0x5b71d9=_0x3aa706||path[_0x56c255(0x1af)](process[_0x56c255(0x1c3)](),_0x56c255(0x15f)),_0x3821fb=path[_0x56c255(0x1b5)](_0x5b71d9,_0x57f118);logger['info']({'event':_0x56c255(0x183),'relativePath':_0x57f118,'baseDir':_0x5b71d9,'absolutePath':_0x3821fb},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x57f118);if(!fsSync['existsSync'](_0x3821fb))throw new Error(_0x56c255(0x1a8)+_0x3821fb);try{const _0x2ffaaf=fsSync['readFileSync'](_0x3821fb,'utf8');if(!_0x2ffaaf||!_0x2ffaaf[_0x56c255(0x182)]())throw new Error(_0x56c255(0x1e3)+_0x3821fb);return logger['info']({'event':'export_query_file_loaded','file':_0x3821fb,'queryLength':_0x2ffaaf[_0x56c255(0x1a4)]},_0x56c255(0x171)+_0x2ffaaf['length']+'\x20chars)'),_0x2ffaaf['trim']();}catch(_0x5481d4){if(_0x5481d4['code']===_0x56c255(0x1b7))throw new Error(_0x56c255(0x1a8)+_0x3821fb);throw new Error(_0x56c255(0x164)+_0x5481d4[_0x56c255(0x1e5)]);}}[a0_0x39d910(0x156)](){const _0x54f927=a0_0x39d910,_0x10ad05={'gHIqv':function(_0x3f59bc,_0xf568d9){return _0x3f59bc<_0xf568d9;},'tSyDS':function(_0x1541b4,_0x37f4a9){return _0x1541b4*_0x37f4a9;}},_0x108132='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e6fc8=Date['now']()['toString'](0x24),_0x4a0949=uuidv7()['replace'](/-/g,'')[_0x54f927(0x1cd)](0x0,0xc-_0x1e6fc8['length']),_0x3ec224=(_0x1e6fc8+_0x4a0949)[_0x54f927(0x1cd)](0x0,0xc);let _0x56e2a1='';for(let _0x70c38=0x0;_0x10ad05[_0x54f927(0x1bb)](_0x70c38,0xc);_0x70c38++){_0x3ec224[_0x70c38]?_0x56e2a1+=_0x3ec224[_0x70c38]:_0x56e2a1+=_0x108132['charAt'](Math[_0x54f927(0x16e)](_0x10ad05[_0x54f927(0x1da)](Math[_0x54f927(0x1b1)](),_0x108132[_0x54f927(0x1a4)])));}return _0x56e2a1;}async[a0_0x39d910(0x1a1)](_0x2bf721){const _0x391285=a0_0x39d910,_0x254256={'YfbMC':_0x391285(0x1ca),'vGtYA':_0x391285(0x1ce)},_0x103182=this['generateJobId'](),_0x5741bd={'job_id':_0x103182,'status':'pending','progress':0x0,'created_at':new Date()[_0x391285(0x1e4)](),'params':_0x2bf721,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x391285(0x188)](_0x103182,_0x5741bd),logger['info']({'event':'export_job_created','jobId':_0x103182,'params':_0x2bf721},_0x254256['YfbMC']),this['processJob'](_0x103182,_0x2bf721)[_0x391285(0x163)](_0x3c03ab=>{const _0x45f0a4=_0x391285;logError(_0x3c03ab,{'event':_0x45f0a4(0x1b8),'jobId':_0x103182},_0x45f0a4(0x19e));}),{'job_id':_0x103182,'status':_0x254256[_0x391285(0x19d)]};}async['getJobStatus'](_0x799e8c){const _0x5dbbe2=a0_0x39d910,_0x335cb4={'Dbeme':function(_0xcc2999,_0x234f31){return _0xcc2999===_0x234f31;}},_0x53bf60=await redisHelper['getJob'](_0x799e8c);if(!_0x53bf60)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x53bf60['job_id'],'status':_0x53bf60['status'],'progress':_0x53bf60[_0x5dbbe2(0x1de)],'total_rows':_0x53bf60['total_rows'],'processed_rows':_0x53bf60[_0x5dbbe2(0x1a2)],'file_url':_0x335cb4[_0x5dbbe2(0x17d)](_0x53bf60[_0x5dbbe2(0x174)],'completed')?'/api/'+_0x53bf60[_0x5dbbe2(0x178)]['moduleName']+'/'+_0x53bf60['params'][_0x5dbbe2(0x162)]+'/export-download?job_id='+_0x799e8c:null,'error':_0x53bf60[_0x5dbbe2(0x17c)]||null,'created_at':_0x53bf60[_0x5dbbe2(0x17b)],'completed_at':_0x53bf60['completed_at']||null}};}async['processJob'](_0x185e78,_0x30f5a8){const _0x510d69=a0_0x39d910,_0x4306ce={'Qumjr':_0x510d69(0x1b3),'pXXGN':'completed','RVNKo':_0x510d69(0x1a0)};try{await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x191),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1f3)]);const _0x190029=await this[_0x510d69(0x1c5)](_0x30f5a8);await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'total_rows':_0x190029[_0x510d69(0x1a4)]});const _0x3d4dad=await this[_0x510d69(0x1d2)](_0x185e78,_0x190029,_0x30f5a8);await redisHelper['updateJob'](_0x185e78,{'status':_0x4306ce['pXXGN'],'progress':0x64,'file_path':_0x3d4dad,'completed_at':new Date()[_0x510d69(0x1e4)]()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x1d7),'jobId':_0x185e78,'rows':_0x190029['length']},_0x510d69(0x198));}catch(_0x588344){logError(_0x588344,{'event':_0x510d69(0x169),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1d0)]),await redisHelper['updateJob'](_0x185e78,{'status':'failed','error':_0x588344['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x136bb8){const _0x479e81=a0_0x39d910,_0x3fbb37={'ksSLE':function(_0xf0a1d7,_0x39ad7e){return _0xf0a1d7===_0x39ad7e;},'ktamh':_0x479e81(0x19f),'yePwe':function(_0x45f699,_0x5252c1){return _0x45f699+_0x5252c1;},'kaSPg':'file:','PQteJ':'export_using_custom_query','FLSpv':'Using\x20custom\x20exportQuery','dSMVx':_0x479e81(0x1e0),'FoQYb':'Fetching\x20data\x20from\x20database','IcwxX':function(_0x579fb6,_0x2275ef){return _0x579fb6>_0x2275ef;},'FFRSh':_0x479e81(0x181),'pSzyY':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x400031,columns:_0x6b8fac,exportQuery:_0x1b494e,where:_0x1b3eaa,sort_columns:_0x84eba8}=_0x136bb8;if(!_0x400031||!_0x6b8fac||_0x3fbb37['ksSLE'](_0x6b8fac[_0x479e81(0x1a4)],0x0))throw new Error(_0x3fbb37['ktamh']);const _0x1bb45a=_0x3fbb37[_0x479e81(0x187)](_0x400031['replace'](/\./g,'_'),_0x479e81(0x1cc));let _0xd23b45;if(_0x1b494e&&_0x1b494e['trim']()){let _0x41606d=_0x1b494e;_0x1b494e[_0x479e81(0x182)]()[_0x479e81(0x184)](_0x3fbb37['kaSPg'])&&(_0x41606d=this['resolveExportQuery'](_0x1b494e)),_0xd23b45='WITH\x20'+_0x1bb45a+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x41606d+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger['info']({'event':_0x3fbb37['PQteJ'],'query':_0x41606d[_0x479e81(0x1cd)](0x0,0x64)},_0x3fbb37[_0x479e81(0x17a)]);}else{const _0x2453f9=_0x6b8fac['map'](_0x1c73dc=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c73dc)[_0x479e81(0x1af)](',');_0xd23b45=_0x479e81(0x153)+_0x1bb45a+_0x479e81(0x1a7)+_0x2453f9+_0x479e81(0x168)+_0x400031+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger[_0x479e81(0x19b)]({'event':_0x479e81(0x1b9),'tableName':_0x400031,'columnCount':_0x6b8fac['length']},_0x479e81(0x1b6));}if(_0x1b3eaa){const _0x5997bd=this[_0x479e81(0x186)](_0x1b3eaa);_0x5997bd&&(_0xd23b45+='\x0aWHERE\x20'+_0x5997bd);}if(_0x84eba8&&_0x84eba8[_0x479e81(0x1a4)]>0x0){const _0x23546c=this[_0x479e81(0x180)](_0x84eba8);_0x23546c&&(_0xd23b45+='\x0aORDER\x20BY\x20'+_0x23546c);}logger[_0x479e81(0x19b)]({'event':_0x3fbb37['dSMVx'],'query':_0xd23b45[_0x479e81(0x1cd)](0x0,0xc8)},_0x3fbb37['FoQYb']);const _0x23731d=await executeQuery(_0xd23b45);let _0x4f08da=_0x23731d;return dbType==='oracle'&&_0x23731d&&_0x3fbb37['IcwxX'](_0x23731d['length'],0x0)&&(_0x4f08da=_0x23731d['map'](_0x33b3f5=>{const _0x120545=_0x479e81,_0x3d14af={};for(const [_0x355b91,_0x5d168d]of Object[_0x120545(0x1c0)](_0x33b3f5)){_0x3d14af[_0x355b91['toLowerCase']()]=_0x5d168d;}return _0x3d14af;})),logger[_0x479e81(0x19b)]({'event':_0x3fbb37['FFRSh'],'rows':_0x4f08da['length']},_0x479e81(0x1a6)),_0x4f08da;}catch(_0x16652b){logError(_0x16652b,{'event':_0x479e81(0x17f)},_0x3fbb37[_0x479e81(0x16f)]);throw _0x16652b;}}['sanitizeValue'](_0x1a67bd){const _0x7fd81f=a0_0x39d910,_0x48af15={'ldUfz':function(_0x3a8823,_0x941f21){return _0x3a8823===_0x941f21;}};if(_0x48af15[_0x7fd81f(0x1be)](typeof _0x1a67bd,_0x7fd81f(0x19c)))return _0x1a67bd[_0x7fd81f(0x1c9)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x7fd81f(0x182)]();else{if(Array['isArray'](_0x1a67bd))return _0x1a67bd['map'](_0x268a05=>this[_0x7fd81f(0x18d)](_0x268a05));}return _0x1a67bd;}[a0_0x39d910(0x186)](_0x2c24fe){const _0x4d2684=a0_0x39d910,_0x9bb658={'FRCVt':function(_0x3b9248,_0x1fbdb2){return _0x3b9248||_0x1fbdb2;},'FxpoG':_0x4d2684(0x189),'NrSyT':function(_0x2ad1cd,_0x3fbfef){return _0x2ad1cd===_0x3fbfef;},'nIDLC':function(_0x41921a,_0x1acdfd){return _0x41921a===_0x1acdfd;},'MbKPo':_0x4d2684(0x19c),'wcdRM':'LIKE','JpvYX':_0x4d2684(0x179),'pagZz':_0x4d2684(0x1cf),'swXNE':_0x4d2684(0x18f)};if(!_0x2c24fe||!_0x2c24fe['conditions']||_0x2c24fe[_0x4d2684(0x1f0)]['length']===0x0)return'';const {logic:_0x5e9587,conditions:_0x118439}=_0x2c24fe,_0x30908d=_0x5e9587&&_0x5e9587['toUpperCase']()==='OR'?_0x9bb658[_0x4d2684(0x18c)]:_0x4d2684(0x1d5),_0x2cbc5a=_0x118439[_0x4d2684(0x197)](_0x5430ab=>{const _0x5bf0aa=_0x4d2684,_0x52a4d0={'lGuwF':_0x5bf0aa(0x19c),'kBcvq':function(_0x3c40a0,_0x3b413d){return _0x3c40a0===_0x3b413d;}},{key:_0x4f9894,operator:_0x3181e7,value:_0x3c92b2,sensitive:_0x175a3a}=_0x5430ab;if(_0x9bb658[_0x5bf0aa(0x1d9)](!_0x4f9894,!_0x3181e7))return logger['warn']({'event':_0x9bb658['FxpoG'],'condition':_0x5430ab},'Skipping\x20invalid\x20condition'),null;const _0x51617b=this['sanitizeValue'](_0x3c92b2),_0x2c66c1=_0x175a3a!==undefined?_0x175a3a:!![];let _0x571c0a=_0x4f9894,_0x39596e=_0x51617b;!_0x2c66c1&&(_0x571c0a=_0x5bf0aa(0x199)+_0x4f9894+')',_0x9bb658['NrSyT'](typeof _0x3c92b2,_0x5bf0aa(0x19c))&&(_0x39596e=_0x3c92b2['toUpperCase']()));const _0x5f2973=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x39596e,_0x9bb658['MbKPo'])?'\x27'+_0x39596e['replace'](/'/g,'\x27\x27')+'\x27':_0x39596e;switch(_0x3181e7['toUpperCase']()){case'=':case'!=':case'<>':return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'>':case'<':case'>=':case'<=':const _0x5e1266=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x51617b,_0x9bb658['MbKPo'])?'\x27'+_0x51617b[_0x5bf0aa(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x51617b;return _0x4f9894+'\x20'+_0x3181e7+'\x20'+_0x5e1266;case _0x9bb658[_0x5bf0aa(0x16b)]:case _0x9bb658['JpvYX']:return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'IN':if(Array[_0x5bf0aa(0x1c6)](_0x51617b)){let _0x5af330;return!_0x2c66c1?_0x5af330=_0x51617b['map'](_0x5298c1=>{const _0x395a1e=_0x5bf0aa,_0x149696=typeof _0x5298c1===_0x52a4d0['lGuwF']?_0x5298c1[_0x395a1e(0x1b0)]():_0x5298c1;return _0x52a4d0['kBcvq'](typeof _0x149696,'string')?'\x27'+_0x149696[_0x395a1e(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x149696;})[_0x5bf0aa(0x1af)](',\x20'):_0x5af330=_0x51617b['map'](_0x8936d9=>typeof _0x8936d9===_0x5bf0aa(0x19c)?'\x27'+_0x8936d9['replace'](/'/g,'\x27\x27')+'\x27':_0x8936d9)[_0x5bf0aa(0x1af)](',\x20'),_0x571c0a+'\x20IN\x20('+_0x5af330+')';}return _0x571c0a+_0x5bf0aa(0x1d6)+_0x5f2973+')';case _0x9bb658['pagZz']:return _0x4f9894+'\x20IS\x20NULL';case _0x5bf0aa(0x18b):return _0x4f9894+_0x5bf0aa(0x1df);default:logger[_0x5bf0aa(0x19a)]({'event':_0x5bf0aa(0x1ab),'operator':_0x3181e7},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x571c0a+_0x5bf0aa(0x1d4)+_0x5f2973;}})[_0x4d2684(0x1ef)](_0x702cfa=>_0x702cfa!==null);if(_0x9bb658['nIDLC'](_0x2cbc5a['length'],0x0))return'';return _0x2cbc5a['join'](_0x30908d);}[a0_0x39d910(0x180)](_0x2933c3){const _0x526195=a0_0x39d910,_0x75b002={'IKpIU':_0x526195(0x175),'YLTXy':_0x526195(0x173),'UNKRr':_0x526195(0x1c1),'LDDlq':'ASC','JKlxS':function(_0x1dd3df,_0x2f09ba){return _0x1dd3df===_0x2f09ba;},'kzYNY':function(_0x2dbd23,_0x331547){return _0x2dbd23===_0x331547;}};if(!_0x2933c3||_0x75b002[_0x526195(0x1a3)](_0x2933c3['length'],0x0))return'';const _0x2522bc=_0x2933c3[_0x526195(0x197)](_0x1e3675=>{const _0x523035=_0x526195,{column:_0x5593ad,direction:_0x1f8238}=_0x1e3675;if(!_0x5593ad)return logger['warn']({'event':_0x75b002['IKpIU'],'item':_0x1e3675},_0x75b002['YLTXy']),null;const _0x37cae6=_0x1f8238&&_0x1f8238[_0x523035(0x1b0)]()===_0x75b002['UNKRr']?'DESC':_0x75b002[_0x523035(0x1aa)];return _0x5593ad+'\x20'+_0x37cae6;})[_0x526195(0x1ef)](_0x28c714=>_0x28c714!==null);if(_0x75b002[_0x526195(0x1cb)](_0x2522bc['length'],0x0))return'';return _0x2522bc['join'](',\x20');}async['generateExcel'](_0x28bf48,_0x2ad04f,_0x35da00){const _0x36573e=a0_0x39d910,_0x5728c4={'ryDve':function(_0x5ad3ad,_0xc7483a){return _0x5ad3ad*_0xc7483a;},'JCaqB':function(_0x250ac8,_0x52baf8){return _0x250ac8(_0x52baf8);},'wSBWU':function(_0x417d88,_0xd58022){return _0x417d88===_0xd58022;},'XRhkW':function(_0x415798,_0x2cf7c4){return _0x415798===_0x2cf7c4;},'ssvOw':'all','csaPq':function(_0xcfe247,_0x383079){return _0xcfe247>_0x383079;},'dsFHV':_0x36573e(0x1ac),'PGrxu':_0x36573e(0x16a),'cngZf':function(_0x2d29de,_0x18610f){return _0x2d29de>_0x18610f;},'GMmce':'excel_columns_from_request','pjpgA':_0x36573e(0x15a),'XrdzA':_0x36573e(0x1e8),'qOpzj':_0x36573e(0x161)},_0xe11c94=_0x5728c4[_0x36573e(0x170)](require,'../utils/excel-generator'),_0x4cc74d=new _0xe11c94(),_0x220a68=_0x35da00['filename']?_0x35da00['filename']+'-'+_0x28bf48:'export-'+_0x28bf48,_0x15b0a4=path[_0x36573e(0x1af)](this['exportDir'],_0x220a68+'.xlsx');let _0x3a8276=_0x35da00['columns'];const _0x1d372a=_0x35da00[_0x36573e(0x1ee)]&&_0x35da00['exportQuery']['trim'](),_0xdb6467=_0x3a8276&&_0x5728c4[_0x36573e(0x1ed)](_0x3a8276[_0x36573e(0x1a4)],0x1)&&(_0x5728c4['wSBWU'](_0x3a8276[0x0],'*')||_0x5728c4[_0x36573e(0x1ec)](_0x3a8276[0x0]['toLowerCase'](),_0x5728c4['ssvOw']));if(_0x5728c4[_0x36573e(0x1ea)](_0x2ad04f['length'],0x0)){const _0x38828a=Object['keys'](_0x2ad04f[0x0]);if(_0x1d372a)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['dsFHV'],'columns':_0x3a8276},_0x36573e(0x1db)+_0x3a8276['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0xdb6467)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['PGrxu'],'columns':_0x3a8276},_0x36573e(0x1a9)+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x157));else{if(_0x3a8276&&_0x5728c4[_0x36573e(0x1ea)](_0x3a8276['length'],0x0)){const _0x5682d9=_0x3a8276[_0x36573e(0x1ef)](_0x55a168=>_0x38828a['includes'](_0x55a168));_0x5728c4[_0x36573e(0x190)](_0x5682d9[_0x36573e(0x1a4)],0x0)?(_0x3a8276=_0x5682d9,logger[_0x36573e(0x19b)]({'event':_0x5728c4['GMmce'],'requestedColumns':_0x35da00[_0x36573e(0x172)],'validColumns':_0x3a8276},'Using\x20'+_0x3a8276['length']+'\x20columns\x20from\x20request')):(_0x3a8276=_0x38828a,logger['warn']({'event':_0x5728c4[_0x36573e(0x1ba)],'requestedColumns':_0x35da00['columns'],'availableColumns':_0x38828a},_0x36573e(0x1bf)+_0x38828a[_0x36573e(0x1a4)]+'\x20columns'));}else _0x3a8276=_0x38828a,logger['info']({'event':_0x5728c4['XrdzA'],'columns':_0x3a8276},'Using\x20'+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x165));}}}else logger[_0x36573e(0x19b)]({'event':_0x5728c4[_0x36573e(0x1e6)],'columns':_0x3a8276},'Using\x20'+(_0x3a8276?.['length']||0x0)+_0x36573e(0x1d8));return await _0x4cc74d['generate']({'data':_0x2ad04f,'columns':_0x3a8276,'columnFormats':_0x35da00[_0x36573e(0x1f2)]||null,'fieldLabels':_0x35da00[_0x36573e(0x176)]||null,'filePath':_0x15b0a4,'onProgress':async _0x2605f8=>{const _0x295b3b=_0x36573e;await redisHelper['updateJob'](_0x28bf48,{'progress':Math['round'](_0x2605f8),'processed_rows':Math['round'](_0x5728c4[_0x295b3b(0x1dd)](_0x2605f8/0x64,_0x2ad04f['length']))});}}),_0x15b0a4;}async[a0_0x39d910(0x160)](_0x5a7216){const _0x2482f8=a0_0x39d910,_0x173c4f={'jkdBQ':function(_0x44a554,_0x58063e){return _0x44a554!==_0x58063e;},'IeWog':'export_file_not_found','NyeNU':'Export\x20file\x20not\x20found'},_0x23767b=await redisHelper['getJob'](_0x5a7216);if(!_0x23767b||_0x173c4f[_0x2482f8(0x155)](_0x23767b[_0x2482f8(0x174)],_0x2482f8(0x1bd)))return null;try{return await fs['access'](_0x23767b[_0x2482f8(0x17e)]),_0x23767b[_0x2482f8(0x17e)];}catch(_0x361168){return logError(_0x361168,{'event':_0x173c4f['IeWog'],'jobId':_0x5a7216,'path':_0x23767b['file_path']},_0x173c4f['NyeNU']),null;}}async['cleanup'](){const _0x2215cb=a0_0x39d910,_0x10b479={'SLrfG':'export_cleanup_start','IuTHY':function(_0x542a85,_0x596ccf){return _0x542a85-_0x596ccf;},'vXnzY':function(_0x189e67,_0x3d86f5){return _0x189e67*_0x3d86f5;},'ajaUH':_0x2215cb(0x167),'Iwizh':_0x2215cb(0x185),'bUMeC':_0x2215cb(0x1b4)};logger['info']({'event':_0x10b479[_0x2215cb(0x15b)]},'Starting\x20export\x20cleanup');const _0x55c5dd=await redisHelper['getAllJobs']();let _0x4f633f=0x0;for(const _0x2a3c80 of _0x55c5dd){const _0x5550c6=new Date(_0x2a3c80[_0x2215cb(0x17b)]),_0xd09d9d=new Date(),_0x408b74=_0x10b479['IuTHY'](_0xd09d9d,_0x5550c6)/(_0x10b479[_0x2215cb(0x1e1)](0x3e8,0x3c)*0x3c);if(_0x408b74>0x1){if(_0x2a3c80[_0x2215cb(0x17e)])try{await fs['unlink'](_0x2a3c80['file_path']),logger['info']({'event':_0x10b479[_0x2215cb(0x15e)],'path':_0x2a3c80[_0x2215cb(0x17e)]},_0x10b479[_0x2215cb(0x1c7)]);}catch(_0x3cdf12){logger['warn']({'event':_0x10b479[_0x2215cb(0x193)],'path':_0x2a3c80[_0x2215cb(0x17e)],'error':_0x3cdf12['message']},_0x2215cb(0x1ae));}await redisHelper[_0x2215cb(0x1eb)](_0x2a3c80['job_id']),_0x4f633f++;}}return logger[_0x2215cb(0x19b)]({'event':_0x2215cb(0x15d),'deleted':_0x4f633f},'Export\x20cleanup\x20completed'),_0x4f633f;}}function a0_0x3481(){const _0x3fa23d=['DKD0wue','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','y3jLyxrLsM9I','ChjVy2vZC2vKx3jVD3m','sKTSEfm','BgvUz3rO','Dg9mB3DLCKnHC2u','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','iefticGkicaGifnftevdvca','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','vxnPBMCGywXSia','tereBhe','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','mJyZnZj6z1LSEei','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','Dg9vChbLCKnHC2u','CMfUzg9T','zgvMyxvSDa','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','CMvZB2X2zq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ru5pru5u','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','CgPWz0e','z0HjCxy','x2v4Cg9YDerPCG','y29TCgXLDgvK','BgrvzNO','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','zw50CMLLCW','revtqW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y3DK','lI4VDxrPBhmVzgi','zMv0y2HeyxrH','AxnbCNjHEq','sxDPEMG','lI4VDxrPBhmVzgiTB3jHy2XL','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','A3PztLK','x2rHDge','C3vIC3rYAw5N','CgvUzgLUzW','svmGtLvmta','uLzos28','DxbKyxrLsM9I','z2vUzxjHDgvfEgnLBa','mZGYngTKww1gEq','id0G','ieforca','ieLoicG','zxHWB3j0x2nVBxbSzxrLza','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','rLjdvNq','Dfn5rfm','vxnPBMCG','zMLSztO','CNLeDMu','ChjVz3jLC3m','ieLtie5pvcbovuXm','zxHWB3j0x2zLDgnOx3n0yxj0','DLHUELK','mZa1otyYsMvVsuPo','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','Dg9ju09tDhjPBMC','BwvZC2fNzq','Cu9WEMO','nZi5mJu1zurWvfbf','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','odDfAevjreO','y3nHuhe','zgvSzxrLsM9I','wfjOA1C','D1ncv1u','zxHWB3j0uxvLCNK','zMLSDgvY','y29UzgL0Aw9UCW','zxHPC3rZu3LUyW','y29SDw1UrM9YBwf0CW','uxvTANi','mJeXndq1nvv1s1bMta','EhjKs0C','BxLZCwW','v0Lusca','rejFvfLqrq','AMTKqLe','z2vUzxjHDgvkB2jjza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3BMHbqwzy','mZe3ntyWmxvOuKz4rW','zxHJzwXFy29SDw1UC19MywXSyMfJAW','u0XYzKC','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ywPHvuG','Cgf5Bg9Hza','z2v0rMLSzvbHDgG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','y2f0y2G','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Cg9ZDgDYzxnXBa','zxHWB3j0x2zPBgvFzgvSzxrLza','cIaGicbguK9nia','zxHWB3j0x2zHAwXLza','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','D2nKuK0','mNbpBKDvyq','lI4VlI4VzxHWB3j0CY8','zMXVB3i','Cfn6EvK','sKnHCui','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','y29SDw1UCW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','C3rHDhvZ','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zMLLBgrmywjLBhm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','CgfYyw1Z','tK9uieXjs0u','rKXtChy','y3jLyxrLzf9HDa','zxjYB3i','rgjLBwu','zMLSzv9WyxrO','zxHWB3j0x2zLDgnOx2vYCM9Y','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','DhjPBq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','C3rHCNrZv2L0Aa','rxHWB3j0igzPBguGzgvSzxrLza','yNvPBgrxAgvYzunSyxvZzq','EwvqD2u','C2v0sM9I','Aw52ywXPzf9JB25KAxrPB24','mZmZndyXmeXxuurLyG','svmGtK9uie5vteW','C3DytKu','C2fUAxrPEMvwywX1zq','nLDwwgTxDq','ie9sia','y25NwMy','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','yLvnzum','CMvZB2X2zuv4Cg9YDff1zxj5','zxHLy3v0zvf1zxj5','BKLetem','BwfW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','vvbqrviO','D2fYBG','Aw5MBW','C3rYAw5N'];a0_0x3481=function(){return _0x3fa23d;};return a0_0x3481();}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_0x44a0=a0_0x4aa4;function a0_0x3ce7(){const _0x2d3e11=['ChjVy2vZC1bYzxzPzxDkB2i','cIaGicaGicaGrLjptsa','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DvDqEg0','ntmYBwjhz09H','y29TBwL0x2PVyL9MywLSzwq','ndy5mtK1AhHSBuTL','C2v0','tvjbB1q','y3jLyxrLq29TBwL0sM9I','C2XPy2u','wvrNEMu','y29SDw1U','u0Tjua','DMfSAwq','y3jLyxrLzf9HDa','zM9YrwfJAa','zMLUza','B3jHy2XL','DuXYqwS','zMfPBgvK','zxHWB3j0CW','ndK5ntnREgnqtMG','C1bWvM0','Aw5Zzxj0x29UBhK','wvbUCeq','C2nVCgvpDMvYCMLKzq','DxvPzf9HDxrVx2DLBMvYyxrLza','BwvZC2fNzq','nJbcu3DYAvO','CgfKu3rHCNq','vvbeqvrf','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','ue1uwKG','z2v0vgLTzq','ChjVy2vZC0nVBw1PDePVyG','q29jvgi','ChjVy2vZC0XVB2T1CezPzwXKCW','DxbKyxrLx2v4Axn0Aw5N','EwvZ','z2v0rNvSBfLLyxi','CM93CW','uhjLDMLLDYbQB2iGzMfPBgvK','BgvUz3rO','Aw5KzxHpzG','tLvmta','CgfYyw1Z','CM93sw5KzxG','vMXdsva','lI4VDxrPBhmVzgi','AM9PBG','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y3jLyxrLuhjLDMLLD0PVyG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','DhjPBq','x2DLBMvYyxrLzf91DwLK','t2rjvha','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','Dg9mB3DLCKnHC2u','zMLSDgvY','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','z2vUzxjHDgvjza','Aw5Zzxj0','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','DhLWzq','mte5otG0z0vQwez1','EujOEwi','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','D0Tzwhe','y29SDw1UrM9YBwf0CW','qwvzsxy','Aw5MBW','CgHmqLi','ChjVy2vZC2LUzW','zMLLBgrmywjLBhm','uhjLDMLLDYbQB2iGy29TCgXLDgvK','BNLXte0','ChjVBwLZzxm','C2v0sM9I','zxHLy3v0zvrYyw5Zywn0Aw9U','C3rHDhvZ','Dg9vChbLCKnHC2u','wffNBfi','ue1uuuq','ChjLDMLLD19QB2jFy29TCgXLDgvK','x2fJDgLVBG','A2DMAKq','Dhj1zq','ChjVy2vZC2vKuM93CW','Dw5SAw5R','DKTetha','ChjLDMLLD19VAW','y291BNq','y2H1BMTsB3DZ','zgvMyxvSDa','qxz3ANi','otKWnta0wufAt0vU','B2POvNu','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','cIaGicaGicaGu0vmrunuia','vvfJBLC','C2L6zq','DgvZDa','DxbSB2fKx2LK','DxbSB2fKoG','C3rYAw5N','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','CgfYC2vfEgnLBezPBgu','ChvZAa','zgvIDwC','y2f0y2G','AM9IoG','jdfFjdi','x3vWBg9HzerPCG','zMfSC2u','ogvZC0vQza','C0rSwhi','Cgf0Aa','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','mJeZndKXnhzfu1nsqq','A2v5CW','z2v0sM9I','qLzfqNq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mtm3otyWqND4ueLh','BffzBe8','yMTjyMK','zw50CMLLCW','AgfZ','BwLZC2LUz0zPzwXKCW','te5pC08','Cg9ZDgDYzxnXBa','t3jgv3e','tMjjDuO','kqOGicaGica','su5trvju','sM9lExG','zxjYB3jZ','nZi5ndKYB0Xeten5','CMvWBgfJzq','zxHLy3v0zvf1zxj5','x2vYCM9YCW','uhjLDMLLDYbQB2iGy3jLyxrLza','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','Aw5JBhvKzxm','BwfW','yMf0y2HwywXPzgf0zvjVD3m','zgLNz1e','sfn3zvq','yM9VBgvHBG'];a0_0x3ce7=function(){return _0x2d3e11;};return a0_0x3ce7();}(function(_0x24536d,_0x4bfa0d){const _0x29cae0=a0_0x4aa4,_0x542be7=_0x24536d();while(!![]){try{const _0x5637ba=-parseInt(_0x29cae0(0x1c0))/0x1+-parseInt(_0x29cae0(0x18f))/0x2+-parseInt(_0x29cae0(0x18a))/0x3+parseInt(_0x29cae0(0x185))/0x4*(-parseInt(_0x29cae0(0x1b0))/0x5)+parseInt(_0x29cae0(0x19d))/0x6+-parseInt(_0x29cae0(0x1ae))/0x7*(-parseInt(_0x29cae0(0x151))/0x8)+parseInt(_0x29cae0(0x171))/0x9*(parseInt(_0x29cae0(0x12b))/0xa);if(_0x5637ba===_0x4bfa0d)break;else _0x542be7['push'](_0x542be7['shift']());}catch(_0x5c80f7){_0x542be7['push'](_0x542be7['shift']());}}}(a0_0x3ce7,0xdc95d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x44a0(0x187)),fs=require('fs')[a0_0x44a0(0x15e)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x44a0(0x196))['toLowerCase']();function a0_0x4aa4(_0x3b3f03,_0x672b42){_0x3b3f03=_0x3b3f03-0x12b;const _0x3ce776=a0_0x3ce7();let _0x4aa49d=_0x3ce776[_0x3b3f03];if(a0_0x4aa4['ihTpLY']===undefined){var _0xe76fc6=function(_0x33837d){const _0x41a944='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x124b0f='',_0x119e2f='';for(let _0x17d6a7=0x0,_0x51ced1,_0x3fcd7a,_0x353da1=0x0;_0x3fcd7a=_0x33837d['charAt'](_0x353da1++);~_0x3fcd7a&&(_0x51ced1=_0x17d6a7%0x4?_0x51ced1*0x40+_0x3fcd7a:_0x3fcd7a,_0x17d6a7++%0x4)?_0x124b0f+=String['fromCharCode'](0xff&_0x51ced1>>(-0x2*_0x17d6a7&0x6)):0x0){_0x3fcd7a=_0x41a944['indexOf'](_0x3fcd7a);}for(let _0x8dc161=0x0,_0x8dee77=_0x124b0f['length'];_0x8dc161<_0x8dee77;_0x8dc161++){_0x119e2f+='%'+('00'+_0x124b0f['charCodeAt'](_0x8dc161)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x119e2f);};a0_0x4aa4['lkOrTD']=_0xe76fc6,a0_0x4aa4['wCSclZ']={},a0_0x4aa4['ihTpLY']=!![];}const _0x31a8e0=_0x3ce776[0x0],_0x2f7606=_0x3b3f03+_0x31a8e0,_0x245328=a0_0x4aa4['wCSclZ'][_0x2f7606];return!_0x245328?(_0x4aa49d=a0_0x4aa4['lkOrTD'](_0x4aa49d),a0_0x4aa4['wCSclZ'][_0x2f7606]=_0x4aa49d):_0x4aa49d=_0x245328,_0x4aa49d;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x44a0(0x1bc))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x432b94,_0x12ff9c)=>oracleDb[a0_0x44a0(0x19f)](_0x432b94,_0x12ff9c),executeTransaction=_0x58d0ea=>oracleDb[a0_0x44a0(0x160)](_0x58d0ea);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x481d64,_0x1e3d2d)=>mysqlDb[a0_0x44a0(0x19f)](_0x481d64,_0x1e3d2d),executeTransaction=_0x45d559=>mysqlDb[a0_0x44a0(0x160)](_0x45d559);}else{const db=require(a0_0x44a0(0x141));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x44a0(0x1ac)),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x44a0(0x149));class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x52d34d=a0_0x44a0;if(!this['_uploadDir']){const _0x5dd7da=process['env']['RESTFORGE_PROJECT_NAME']||_0x52d34d(0x16f);this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x52d34d(0x142)](__dirname,'../../temp/uploads/'+_0x5dd7da);}return this[_0x52d34d(0x183)];}[a0_0x44a0(0x14d)](){const _0x2c2b44=a0_0x44a0,_0x2e3698={'gTYkF':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','AeYIv':function(_0x5c19ee,_0x4e8398){return _0x5c19ee-_0x4e8398;},'orWsI':function(_0x1a3785,_0x1322c6){return _0x1a3785*_0x1322c6;}},_0x1fd46f=_0x2e3698['gTYkF'],_0xa86c69=Date['now']()['toString'](0x24),_0x265797=uuidv7()[_0x2c2b44(0x19e)](/-/g,'')['substring'](0x0,_0x2e3698[_0x2c2b44(0x157)](0xc,_0xa86c69[_0x2c2b44(0x13b)])),_0x235a62=(_0xa86c69+_0x265797)['substring'](0x0,0xc);let _0xe0af55='';for(let _0x1688c3=0x0;_0x1688c3<0xc;_0x1688c3++){_0x235a62[_0x1688c3]?_0xe0af55+=_0x235a62[_0x1688c3]:_0xe0af55+=_0x1fd46f['charAt'](Math['floor'](_0x2e3698['orWsI'](Math['random'](),_0x1fd46f['length'])));}return _0xe0af55;}['buildLabelToFieldMap'](_0x112529){const _0x4cd98b=a0_0x44a0,_0x184c91={'hZXIg':_0x4cd98b(0x182)},_0x320963=new Map();if(!_0x112529)return _0x320963;return Object['entries'](_0x112529)[_0x4cd98b(0x1ba)](([_0x1fb647,_0x469ed2])=>{const _0x3ad674=_0x4cd98b,_0x3f4b05=String(_0x469ed2)[_0x3ad674(0x146)]()['replace'](/\s+/g,'_')[_0x3ad674(0x19e)](/([a-z])([A-Z])/g,_0x3ad674(0x182))[_0x3ad674(0x19e)](/([A-Z]+)([A-Z][a-z])/g,_0x184c91['hZXIg'])[_0x3ad674(0x14a)]();_0x320963[_0x3ad674(0x1b1)](_0x3f4b05,_0x1fb647);}),logger[_0x4cd98b(0x17f)]({'event':_0x4cd98b(0x17c),'mappingCount':_0x320963[_0x4cd98b(0x176)]},'Label\x20to\x20field\x20mapping\x20built'),_0x320963;}['applyColumnFormats'](_0x10b8ef,_0x9ca36e){const _0x5687dd=a0_0x44a0,_0x3b2ec9={'PMTQD':function(_0x34f652,_0x402cc9){return _0x34f652===_0x402cc9;},'HSweT':'date','ojhVu':'number','MRAoT':function(_0x457a90,_0xccbc05){return _0x457a90(_0xccbc05);},'URZsn':function(_0x2d86cd,_0x496d45){return _0x2d86cd===_0x496d45;}};if(!_0x9ca36e||_0x3b2ec9['URZsn'](Object[_0x5687dd(0x18b)](_0x9ca36e)['length'],0x0))return _0x10b8ef;return _0x10b8ef[_0x5687dd(0x1a4)](_0x32df2b=>{const _0xb0e129=_0x5687dd,_0x4aa76b={..._0x32df2b};for(const [_0x2e8723,_0x3c70ab]of Object['entries'](_0x9ca36e)){const _0x5a402e=_0x4aa76b[_0x2e8723];if(_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,null)||_0x5a402e===undefined||_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,'')){_0x4aa76b[_0x2e8723]=null;continue;}switch(_0x3c70ab[_0xb0e129(0x150)]){case _0x3b2ec9[_0xb0e129(0x1a7)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x143)](_0x5a402e);break;case _0x3b2ec9[_0xb0e129(0x172)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x153)](_0x5a402e);break;case _0xb0e129(0x1a8):_0x4aa76b[_0x2e8723]=this['formatBooleanForDatabase'](_0x5a402e);break;case'text':_0x4aa76b[_0x2e8723]=_0x3b2ec9[_0xb0e129(0x1b2)](String,_0x5a402e);break;default:break;}}return _0x4aa76b;});}['formatDateForDatabase'](_0x22cee0){const _0x2ef5d2=a0_0x44a0,_0x12f389={'VlCIP':function(_0x596937,_0x6f85f5){return _0x596937===_0x6f85f5;},'XQglR':_0x2ef5d2(0x17a),'hHuYl':function(_0x4a2c74,_0xd06319){return _0x4a2c74 instanceof _0xd06319;},'rOdJx':function(_0x345c7c,_0x24dab4){return _0x345c7c(_0x24dab4);},'YTgze':function(_0x24e0ee,_0x55efa5){return _0x24e0ee(_0x55efa5);},'JoKyx':function(_0x38449e,_0x2e088c){return _0x38449e+_0x2e088c;},'DyPjM':function(_0x37934e,_0x390c57){return _0x37934e(_0x390c57);},'rNcCJ':function(_0x4e9ded,_0x506842){return _0x4e9ded===_0x506842;},'yZNbP':function(_0x17248d,_0x847579){return _0x17248d(_0x847579);}};if(_0x22cee0===null||_0x22cee0===undefined||_0x12f389[_0x2ef5d2(0x140)](_0x22cee0,''))return null;if(typeof _0x22cee0===_0x12f389['XQglR']&&/^\d{4}-\d{2}-\d{2}$/[_0x2ef5d2(0x177)](_0x22cee0))return _0x22cee0;if(_0x12f389['hHuYl'](_0x22cee0,Date)){if(_0x12f389['rOdJx'](isNaN,_0x22cee0[_0x2ef5d2(0x132)]()))return null;const _0x37d986=_0x22cee0[_0x2ef5d2(0x138)](),_0x2c579d=_0x12f389[_0x2ef5d2(0x1b5)](String,_0x12f389[_0x2ef5d2(0x19b)](_0x22cee0['getMonth'](),0x1))[_0x2ef5d2(0x12c)](0x2,'0'),_0x530bf6=_0x12f389['DyPjM'](String,_0x22cee0['getDate']())[_0x2ef5d2(0x12c)](0x2,'0');return _0x37d986+'-'+_0x2c579d+'-'+_0x530bf6;}if(_0x12f389['rNcCJ'](typeof _0x22cee0,_0x12f389[_0x2ef5d2(0x163)])){const _0x39bb0f=_0x22cee0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x39bb0f){const _0x1d0ae4=String(_0x39bb0f[0x1])['padStart'](0x2,'0'),_0x462d62=_0x12f389['YTgze'](String,_0x39bb0f[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x2e964a=_0x39bb0f[0x3];return _0x2e964a+'-'+_0x462d62+'-'+_0x1d0ae4;}const _0x11b008=_0x22cee0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x11b008){const _0x5570e4=_0x11b008[0x1],_0x428bfd=_0x12f389['yZNbP'](String,_0x11b008[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x321a92=_0x12f389['DyPjM'](String,_0x11b008[0x3])['padStart'](0x2,'0');return _0x5570e4+'-'+_0x428bfd+'-'+_0x321a92;}}return _0x22cee0;}[a0_0x44a0(0x153)](_0x1e37bd){const _0x3b2fa4=a0_0x44a0,_0x371467={'YPnpD':function(_0x40cba0,_0x5698f1){return _0x40cba0===_0x5698f1;},'hXNdV':'number'};if(_0x1e37bd===null||_0x1e37bd===undefined||_0x371467['YPnpD'](_0x1e37bd,''))return null;if(_0x371467[_0x3b2fa4(0x1c3)](typeof _0x1e37bd,_0x371467['hXNdV']))return isNaN(_0x1e37bd)?null:_0x1e37bd;if(_0x371467['YPnpD'](typeof _0x1e37bd,'string')){let _0x4ee0ff=_0x1e37bd['trim']();const _0x14f9a6=/,\d{1,2}$/['test'](_0x4ee0ff)&&!/,\d{3}/['test'](_0x4ee0ff);_0x14f9a6?_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/\./g,'')[_0x3b2fa4(0x19e)](',','.'):_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/,/g,'');const _0x35eec2=parseFloat(_0x4ee0ff);return isNaN(_0x35eec2)?null:_0x35eec2;}return null;}['formatBooleanForDatabase'](_0x1a0271){const _0x171e8b=a0_0x44a0,_0x55c671={'vKDLp':function(_0x38704a,_0xdcdf9e){return _0x38704a===_0xdcdf9e;},'sDlXr':function(_0x4e65c3,_0x10c249){return _0x4e65c3===_0x10c249;},'yBhyb':'boolean','zEWnH':_0x171e8b(0x168),'AtzZP':'false','RYtob':'number'};if(_0x1a0271===null||_0x55c671[_0x171e8b(0x16b)](_0x1a0271,undefined)||_0x1a0271==='')return null;if(_0x55c671[_0x171e8b(0x186)](typeof _0x1a0271,_0x55c671[_0x171e8b(0x152)]))return _0x1a0271?_0x55c671['zEWnH']:_0x55c671['AtzZP'];if(typeof _0x1a0271===_0x171e8b(0x17a)){const _0x4e4d6c=_0x1a0271[_0x171e8b(0x146)]()['toLowerCase']();if([_0x171e8b(0x168),_0x171e8b(0x137),'y','1']['includes'](_0x4e4d6c))return _0x55c671['zEWnH'];if([_0x171e8b(0x184),'no','n','0']['includes'](_0x4e4d6c))return _0x171e8b(0x184);return null;}if(_0x55c671[_0x171e8b(0x16b)](typeof _0x1a0271,_0x55c671['RYtob']))return _0x1a0271?'true':'false';return null;}async['uploadFile'](_0x7ef09c,_0x1282e0){const _0x4097b1=a0_0x44a0,_0x4ef435={'OdDNF':_0x4097b1(0x1a2),'gbXxs':_0x4097b1(0x18e),'laOWE':_0x4097b1(0x173),'Avwjr':'request_scope_applied','LAIDf':_0x4097b1(0x14f)},_0x3ca52e=this['generateId']();try{let {headers:_0x5ec752,rows:_0x192e15,totalRows:_0x2fb8b2}=await excelParser[_0x4097b1(0x17d)](_0x7ef09c[_0x4097b1(0x187)]);const _0x153b5e=this['buildLabelToFieldMap'](_0x1282e0[_0x4097b1(0x15b)]),_0x37e0a4=_0x5ec752[_0x4097b1(0x1a4)](_0x341095=>{const _0x24f2c5=_0x153b5e['get'](_0x341095);return _0x24f2c5||_0x341095;});_0x192e15=_0x192e15[_0x4097b1(0x1a4)](_0x2876f3=>{const _0x336d4b={};return _0x5ec752['forEach']((_0x1dd47f,_0x4387c1)=>{const _0x433a48=_0x37e0a4[_0x4387c1];_0x336d4b[_0x433a48]=_0x2876f3[_0x1dd47f];}),_0x336d4b;}),_0x5ec752=_0x37e0a4,logger[_0x4097b1(0x17f)]({'event':'headers_mapped','original':_0x5ec752[_0x4097b1(0x13b)],'mapped':_0x37e0a4[_0x4097b1(0x14b)]((_0x1ba3b4,_0x3af38d)=>_0x1ba3b4!==_0x5ec752[_0x3af38d])[_0x4097b1(0x13b)]},_0x4ef435['OdDNF']);_0x1282e0['columnFormats']&&Object['keys'](_0x1282e0[_0x4097b1(0x156)])[_0x4097b1(0x13b)]>0x0&&(_0x192e15=this['applyColumnFormats'](_0x192e15,_0x1282e0[_0x4097b1(0x156)]),logger[_0x4097b1(0x17f)]({'event':_0x4ef435['gbXxs'],'formatCount':Object['keys'](_0x1282e0[_0x4097b1(0x156)])['length'],'formats':Object[_0x4097b1(0x18b)](_0x1282e0[_0x4097b1(0x156)])},_0x4ef435['laOWE']));if(_0x1282e0[_0x4097b1(0x1c4)]&&_0x1282e0[_0x4097b1(0x1c4)][_0x4097b1(0x1b6)]){const {column:_0x464fd2,value:_0x393c04}=_0x1282e0[_0x4097b1(0x1c4)];_0x192e15=_0x192e15['map'](_0x482643=>({..._0x482643,[_0x464fd2]:_0x393c04})),logger[_0x4097b1(0x17f)]({'event':_0x4ef435[_0x4097b1(0x170)],'column':_0x464fd2,'rowCount':_0x192e15['length']},_0x4ef435['LAIDf']);}const _0x38786e=_0x1282e0['lookupFields']?Object['values'](_0x1282e0['lookupFields'])['map'](_0x3f508b=>_0x3f508b['targetField']):[],_0x49b637=_0x1282e0['fieldName'][_0x4097b1(0x14b)](_0x10da00=>!_0x38786e[_0x4097b1(0x1a3)](_0x10da00)),_0x2110e0=excelParser[_0x4097b1(0x154)](_0x5ec752,_0x49b637);if(!_0x2110e0[_0x4097b1(0x1b8)]){await fs[_0x4097b1(0x16a)](_0x7ef09c['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2110e0[_0x4097b1(0x194)][_0x4097b1(0x142)](',\x20'));}const _0x1cb927={'upload_id':_0x3ca52e,'filename':_0x7ef09c['originalname'],'total_rows':_0x2fb8b2,'headers':_0x5ec752,'rows':_0x192e15,'params':_0x1282e0,'created_at':new Date()[_0x4097b1(0x189)]()};return await redisHelper['setJob'](_0x4097b1(0x179)+_0x3ca52e,_0x1cb927,0xe10),await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]),logger[_0x4097b1(0x158)]({'event':'import_file_uploaded','uploadId':_0x3ca52e,'filename':_0x7ef09c['originalname'],'totalRows':_0x2fb8b2},_0x4097b1(0x14c)),{'upload_id':_0x3ca52e,'total_rows':_0x2fb8b2,'preview':_0x192e15['slice'](0x0,0xa)};}catch(_0x1f496e){try{await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]);}catch(_0x133aef){logError(_0x133aef,{'event':'file_cleanup_error'},'Failed\x20to\x20cleanup\x20file');}throw _0x1f496e;}}async[a0_0x44a0(0x144)](_0x5ab9f6){const _0x911c23=a0_0x44a0,_0x128cbd={'xoYOY':function(_0xf7fe99,_0x1f22b,_0x34fb01,_0x31d81e){return _0xf7fe99(_0x1f22b,_0x34fb01,_0x31d81e);},'wYgLS':'validating','ZClMy':_0x911c23(0x1a1)},_0x252149=this[_0x911c23(0x14d)](),_0x5df572=await redisHelper['getJob'](_0x911c23(0x179)+_0x5ab9f6);if(!_0x5df572)throw new Error(_0x911c23(0x130));const _0x5313e8={'job_id':_0x252149,'upload_id':_0x5ab9f6,'status':_0x128cbd['wYgLS'],'progress':0x0,'created_at':new Date()[_0x911c23(0x189)](),'params':_0x5df572['params']};return await redisHelper[_0x911c23(0x15f)]('job:'+_0x252149,_0x5313e8,0xe10),logger[_0x911c23(0x158)]({'event':'preview_job_created','jobId':_0x252149,'uploadId':_0x5ab9f6},_0x128cbd['ZClMy']),this[_0x911c23(0x1a9)](_0x252149,_0x5ab9f6,_0x5df572)[_0x911c23(0x180)](_0x11250c=>{const _0x56baeb=_0x911c23;_0x128cbd['xoYOY'](logError,_0x11250c,{'event':'preview_process_error','jobId':_0x252149},_0x56baeb(0x145));}),{'job_id':_0x252149,'status':_0x128cbd['wYgLS']};}['autoGenerateUpsertKeys'](_0x5a7b97,_0x18167c){const _0x587d46=a0_0x44a0,_0xcbd435={'kgfjD':function(_0x451602,_0x40ed5e){return _0x451602(_0x40ed5e);},'TqiWv':_0x587d46(0x1c5)};_0x5a7b97['forEach']((_0x3d7e98,_0x571d96)=>{const _0x5b6c45={'phLBR':function(_0x63cdbc,_0x3b4661){const _0x5ad23c=a0_0x4aa4;return _0xcbd435[_0x5ad23c(0x167)](_0x63cdbc,_0x3b4661);},'lQYlO':_0xcbd435['TqiWv'],'sttio':function(_0x234267,_0x575ac5){return _0x234267+_0x575ac5;}};_0x18167c['forEach'](_0x7bf2c9=>{const _0x56ffe4=a0_0x4aa4,_0x4ff008=_0x3d7e98[_0x7bf2c9];if(_0x4ff008===null||_0x4ff008===undefined||_0x4ff008===''||_0x5b6c45[_0x56ffe4(0x159)](String,_0x4ff008)[_0x56ffe4(0x146)]()==='-'){const _0x561653=uuidv7();_0x3d7e98[_0x7bf2c9]=_0x561653,_0x3d7e98[_0x56ffe4(0x147)]=_0x3d7e98[_0x56ffe4(0x147)]||{},_0x3d7e98[_0x56ffe4(0x147)][_0x7bf2c9]=_0x561653,logger[_0x56ffe4(0x17f)]({'event':_0x5b6c45[_0x56ffe4(0x190)],'rowIndex':_0x571d96,'field':_0x7bf2c9,'uuid':_0x561653},_0x56ffe4(0x1ab)+_0x7bf2c9+'\x20at\x20row\x20'+_0x5b6c45['sttio'](_0x571d96,0x2));}});});}async[a0_0x44a0(0x1a9)](_0x179bc5,_0xdf5d02,_0x5db87){const _0x246d59=a0_0x44a0,_0x238a47={'MlWLr':function(_0x442184,_0x518a00){return _0x442184===_0x518a00;},'uWPxm':'SKIP','XGWtI':function(_0x5db15f,_0x474fa8){return _0x5db15f>_0x474fa8;},'LNOsO':_0x246d59(0x17b),'QADwO':'preview_error','uLrAk':_0x246d59(0x16c),'XYZrd':_0x246d59(0x165),'OdITp':_0x246d59(0x15c)};try{let {rows:_0x2ce52d,params:_0x307555}=_0x5db87;const {requiredFields:_0x31a613,validations:_0x4b28a0,upsertKeys:_0x3364da,tableName:_0x4553cc,primaryKey:_0x2c88c8,fieldName:_0x2aad45,upsertStrategy:_0x2a85e3,lookupFields:_0x3147a4}=_0x307555;this[_0x246d59(0x12f)](_0x2ce52d,_0x3364da);let _0x1e490f=[];if(_0x3147a4&&_0x238a47['XGWtI'](Object[_0x246d59(0x18b)](_0x3147a4)['length'],0x0)){logger[_0x246d59(0x158)]({'event':_0x238a47[_0x246d59(0x195)],'jobId':_0x179bc5,'lookupFieldCount':Object['keys'](_0x3147a4)[_0x246d59(0x13b)]},'Processing\x20lookup\x20fields');const _0x412c1a=await lookupResolver[_0x246d59(0x135)](_0x2ce52d,_0x3147a4);_0x2ce52d=_0x412c1a[_0x246d59(0x169)],_0x1e490f=_0x412c1a[_0x246d59(0x19c)],_0x5db87[_0x246d59(0x139)]=_0x2ce52d;}const _0x3fda86=importValidator[_0x246d59(0x1a5)](_0x2ce52d,_0x31a613||[],_0x4b28a0||{});_0x1e490f['forEach'](_0x25e5c6=>{const _0x1e35f4=_0x246d59,_0x2b5afe=_0x3fda86[_0x1e35f4(0x1bb)](_0x4699a8=>_0x4699a8['rowIndex']===_0x25e5c6['rowIndex']);_0x2b5afe?_0x2b5afe['errors'][_0x1e35f4(0x17e)](_0x25e5c6[_0x1e35f4(0x1c6)]):_0x3fda86['push']({'rowIndex':_0x25e5c6[_0x1e35f4(0x13f)],'rowData':_0x2ce52d[_0x25e5c6['rowIndex']],'errors':[_0x25e5c6[_0x1e35f4(0x1c6)]]});});const _0x249dbc=importValidator['detectDuplicatesInFile'](_0x2ce52d,_0x3364da);_0x249dbc[_0x246d59(0x1ba)](_0x7727c5=>{const _0x44b067=_0x246d59,_0xc910bd=_0x3fda86['find'](_0x280545=>_0x280545[_0x44b067(0x13f)]===_0x7727c5['rowIndex']),_0x4559a7=_0x3364da[_0x44b067(0x1a4)](_0x2f1d61=>_0x2f1d61[_0x44b067(0x162)]())['join'](',\x20'),_0x288ca5='Duplicate\x20value\x20for\x20'+_0x4559a7;_0xc910bd?_0xc910bd['errors']['push'](_0x288ca5):_0x3fda86[_0x44b067(0x17e)]({'rowIndex':_0x7727c5[_0x44b067(0x13f)],'rowData':_0x2ce52d[_0x7727c5[_0x44b067(0x13f)]],'errors':[_0x288ca5]});}),await this['detectDatabaseDuplicates'](_0x2ce52d,_0x3364da,_0x4553cc,_0x2c88c8,_0x2a85e3,_0x3fda86),_0x3fda86['forEach'](_0x482d73=>{const _0x2cab68=_0x246d59,_0x528103=_0x2ce52d[_0x482d73[_0x2cab68(0x13f)]];_0x528103&&(_0x528103[_0x2cab68(0x1a0)]=_0x482d73[_0x2cab68(0x19c)]);});let _0x7c8477=0x0,_0x4421c4=0x0,_0x2e28d6=0x0;_0x2ce52d['forEach'](_0x7d23a9=>{const _0x1d23ed=_0x246d59;if(_0x7d23a9['_action']===_0x1d23ed(0x19a))_0x7c8477++;else{if(_0x238a47['MlWLr'](_0x7d23a9[_0x1d23ed(0x166)],'UPDATE'))_0x4421c4++;else _0x7d23a9[_0x1d23ed(0x166)]===_0x238a47[_0x1d23ed(0x1ad)]&&_0x2e28d6++;}});const _0x2b6002={'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x238a47['XGWtI'](_0x3fda86[_0x246d59(0x13b)],0x0)?_0x238a47['QADwO']:_0x238a47[_0x246d59(0x1bd)],'progress':0x64,'created_at':_0x5db87[_0x246d59(0x1b9)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x2ce52d['length'],'insert_count':_0x7c8477,'update_count':_0x4421c4,'skip_count':_0x2e28d6,'error_count':_0x3fda86[_0x246d59(0x13b)],'errors':_0x3fda86,'data':_0x2ce52d,'sample_insert':_0x2ce52d['filter'](_0x3b6ebc=>_0x3b6ebc['_action']==='INSERT')[_0x246d59(0x1b4)](0x0,0x5),'sample_update':_0x2ce52d[_0x246d59(0x14b)](_0x44a860=>_0x44a860['_action']===_0x246d59(0x12d))[_0x246d59(0x1b4)](0x0,0x5),'sample_skip':_0x2ce52d[_0x246d59(0x14b)](_0x1a7928=>_0x1a7928[_0x246d59(0x166)]===_0x246d59(0x1b7))['slice'](0x0,0x5)},'params':_0x307555};await redisHelper['setJob'](_0x246d59(0x181)+_0x179bc5,_0x2b6002,0xe10),_0x5db87['rows']=_0x2ce52d,await redisHelper['setJob']('upload:'+_0xdf5d02,_0x5db87,0xe10),logger[_0x246d59(0x158)]({'event':_0x238a47['XYZrd'],'jobId':_0x179bc5,'status':_0x2b6002['status'],'insertCount':_0x7c8477,'updateCount':_0x4421c4,'skipCount':_0x2e28d6,'errorCount':_0x3fda86[_0x246d59(0x13b)]},_0x238a47[_0x246d59(0x148)]);}catch(_0x6e56b1){logError(_0x6e56b1,{'event':'preview_job_failed','jobId':_0x179bc5},_0x246d59(0x13a)),await redisHelper['setJob']('job:'+_0x179bc5,{'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x246d59(0x1be),'progress':0x0,'error':_0x6e56b1['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x363d71,_0x379d09,_0x985891,_0x34cf2b,_0xdc5d12='update_existing',_0x288563=[]){const _0x504154=a0_0x44a0,_0x28a51b={'bftAo':function(_0x1ffd45,_0x29722e){return _0x1ffd45===_0x29722e;},'Fnrpk':_0x504154(0x13d),'wkOVn':_0x504154(0x136),'aTLRu':_0x504154(0x1c2),'rQnGS':function(_0x19724d,_0xb7503e){return _0x19724d===_0xb7503e;},'nyqLM':'skip_existing','ijEdM':function(_0x4f0d10,_0x1044b6){return _0x4f0d10===_0x1044b6;},'CoITb':_0x504154(0x19a),'SwBqu':function(_0x551c57,_0x44967b){return _0x551c57===_0x44967b;},'cDnkN':_0x504154(0x1bc),'uhkcs':function(_0x1caf2d,_0xfdaba6){return _0x1caf2d>_0xfdaba6;}},_0x591b04=upsertBuilder['chunkRows'](_0x363d71,0x64);for(const _0x99dfde of _0x591b04){const _0x572d7e=_0x99dfde['map'](_0x562328=>_0x562328[_0x379d09[0x0]]),_0x20c9a5=_0x572d7e['map'](_0x754093=>{if(_0x28a51b['bftAo'](_0x754093,null)||_0x754093===undefined)return _0x28a51b['Fnrpk'];return'\x27'+String(_0x754093)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x42bb71=_0x504154(0x174)+_0x34cf2b+',\x20'+_0x379d09[_0x504154(0x142)](',\x20')+_0x504154(0x1aa)+_0x985891+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x379d09[0x0]+'\x20IN\x20('+_0x20c9a5[_0x504154(0x142)](',\x20')+_0x504154(0x199);let _0x4e6374=await executeQuery(_0x42bb71);dbType===_0x28a51b['cDnkN']&&_0x4e6374&&_0x28a51b['uhkcs'](_0x4e6374['length'],0x0)&&(_0x4e6374=_0x4e6374['map'](_0x14f971=>{const _0xc3c77d=_0x504154,_0x5522dd={};for(const [_0x149eac,_0x32b436]of Object[_0xc3c77d(0x192)](_0x14f971)){_0x5522dd[_0x149eac['toLowerCase']()]=_0x32b436;}return _0x5522dd;}));const _0x1e2a01=new Map();_0x4e6374[_0x504154(0x1ba)](_0x4b4b0e=>{const _0x6c9b52=_0x504154,_0x4aceea=_0x4b4b0e[_0x379d09[0x0]];_0x1e2a01[_0x6c9b52(0x1b1)](_0x4aceea,_0x4b4b0e);}),_0x99dfde[_0x504154(0x1ba)]((_0x4d706f,_0x28acb8)=>{const _0x1140df=_0x504154,_0x18c8ee=_0x4d706f[_0x379d09[0x0]],_0x4cf044=_0x1e2a01['get'](_0x18c8ee);if(_0x4cf044){if(_0xdc5d12===_0x28a51b['wkOVn'])_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x12d),_0x4d706f['_existingId']=_0x4cf044[_0x34cf2b];else{if(_0xdc5d12===_0x28a51b['aTLRu']){_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7),_0x4d706f['_errors']=_0x4d706f[_0x1140df(0x1a0)]||[],_0x4d706f[_0x1140df(0x1a0)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x240228=_0x363d71[_0x1140df(0x13c)](_0x4d706f);_0x240228!==-0x1&&_0x288563['push']({'rowIndex':_0x240228,'rowData':_0x4d706f,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x28a51b['rQnGS'](_0xdc5d12,_0x28a51b['nyqLM'])&&(_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7));}}else{if(_0x28a51b['ijEdM'](_0xdc5d12,'update_existing'))_0x4d706f[_0x1140df(0x166)]=_0x28a51b[_0x1140df(0x134)];else(_0x28a51b['SwBqu'](_0xdc5d12,_0x1140df(0x1c2))||_0xdc5d12===_0x28a51b[_0x1140df(0x15d)])&&(_0x4d706f['_action']='INSERT');}});}}async[a0_0x44a0(0x1b3)](_0x491f46){const _0x271bc7=a0_0x44a0,_0xaa79a2={'bkIbi':'commit_process_error','dmPdX':function(_0x1378f7,_0xd2534){return _0x1378f7!==_0xd2534;},'wKYXq':_0x271bc7(0x16c),'PMTZH':_0x271bc7(0x15a),'UjiIE':'Commit\x20job\x20created'},_0x575ddf=this[_0x271bc7(0x14d)](),_0x4564ac=await redisHelper['getJob'](_0x271bc7(0x181)+_0x491f46);if(!_0x4564ac)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xaa79a2['dmPdX'](_0x4564ac['status'],_0xaa79a2[_0x271bc7(0x155)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4564ac[_0x271bc7(0x161)]);const _0x1f05b8={'job_id':_0x575ddf,'upload_id':_0x4564ac['upload_id'],'preview_job_id':_0x491f46,'status':_0xaa79a2[_0x271bc7(0x131)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4564ac[_0x271bc7(0x13e)]};return await redisHelper[_0x271bc7(0x15f)](_0x271bc7(0x181)+_0x575ddf,_0x1f05b8,0xe10),logger[_0x271bc7(0x158)]({'event':_0x271bc7(0x188),'jobId':_0x575ddf,'previewJobId':_0x491f46},_0xaa79a2['UjiIE']),this[_0x271bc7(0x133)](_0x575ddf,_0x4564ac)[_0x271bc7(0x180)](_0x5c106d=>{const _0x2be4ed=_0x271bc7;logError(_0x5c106d,{'event':_0xaa79a2[_0x2be4ed(0x191)],'jobId':_0x575ddf},'Commit\x20processing\x20failed');}),{'job_id':_0x575ddf,'status':_0x271bc7(0x15a)};}async['processCommitJob'](_0x10be84,_0x3d0078){const _0x57e973=a0_0x44a0,_0x49f9d5={'NbIuJ':function(_0x264bc3,_0x3280b8){return _0x264bc3===_0x3280b8;},'OrFWq':_0x57e973(0x130),'BVEBt':function(_0xbae953,_0x2e2dd4){return _0xbae953>_0x2e2dd4;},'diggQ':'import_fields_filtered','uKLNl':_0x57e973(0x12e),'UQcnW':function(_0x1b5ec6,_0x21b313){return _0x1b5ec6||_0x21b313;},'yirce':function(_0x4d249f,_0xb0616){return _0x4d249f(_0xb0616);},'sPpVm':function(_0x327593,_0x34abe8,_0x28d86a,_0x65a16b){return _0x327593(_0x34abe8,_0x28d86a,_0x65a16b);}};try{const _0x3bb95f=await redisHelper[_0x57e973(0x18c)](_0x57e973(0x179)+_0x3d0078[_0x57e973(0x178)]);if(!_0x3bb95f)throw new Error(_0x49f9d5[_0x57e973(0x197)]);const {rows:_0x6ce31f,params:_0x3b50c8}=_0x3bb95f,{tableName:_0x42331c,fieldName:_0x2550ac,primaryKey:_0x3337a8,upsertKeys:_0x2bc6fe,excludeFromImport:_0x31fa46,lookupFields:_0x4b0694,columnFormats:_0x10f1c8}=_0x3b50c8,_0xb8e365=_0x4b0694?Object[_0x57e973(0x18b)](_0x4b0694):[],_0x2ec7f3=new Set([..._0x31fa46||[],..._0xb8e365]);let _0x5ed4bc=_0x2550ac;_0x49f9d5[_0x57e973(0x18d)](_0x2ec7f3[_0x57e973(0x176)],0x0)&&(_0x5ed4bc=_0x2550ac['filter'](_0x4d243b=>!_0x2ec7f3[_0x57e973(0x193)](_0x4d243b)),logger[_0x57e973(0x17f)]({'event':_0x49f9d5[_0x57e973(0x1a6)],'originalCount':_0x2550ac[_0x57e973(0x13b)],'filteredCount':_0x5ed4bc['length'],'excludedFields':Array['from'](_0x2ec7f3),'lookupSourceFields':_0xb8e365},_0x49f9d5['uKLNl']));const _0x3ae187=_0x6ce31f[_0x57e973(0x14b)](_0x4ff074=>_0x4ff074[_0x57e973(0x166)]==='INSERT'),_0x2a7fec=_0x6ce31f[_0x57e973(0x14b)](_0x5b240d=>_0x5b240d[_0x57e973(0x166)]===_0x57e973(0x12d));let _0x4af946=0x0,_0x21755c=0x0;const _0x2433a9=[];if(_0x49f9d5['BVEBt'](_0x3ae187[_0x57e973(0x13b)],0x0)){const _0xcac4fd=upsertBuilder['chunkRows'](_0x3ae187,0x64);for(const _0xce4b93 of _0xcac4fd){const {query:_0xe576a0}=upsertBuilder['buildBatchInsert'](_0xce4b93,_0x42331c,_0x5ed4bc,_0x49f9d5[_0x57e973(0x175)](_0x10f1c8,{}));_0xe576a0&&_0x2433a9[_0x57e973(0x17e)]({'sql':_0xe576a0,'count':_0xce4b93[_0x57e973(0x13b)],'type':'insert'});}}if(_0x2a7fec['length']>0x0){const _0x13ba52=upsertBuilder[_0x57e973(0x16e)](_0x2a7fec,0x64);for(const _0x5a10f9 of _0x13ba52){const {query:_0x2571df}=upsertBuilder['buildBatchUpdate'](_0x5a10f9,_0x42331c,_0x5ed4bc,_0x3337a8,_0x2bc6fe,_0x10f1c8||{});_0x2571df&&_0x2433a9['push']({'sql':_0x2571df,'count':_0x5a10f9[_0x57e973(0x13b)],'type':'update'});}}_0x2433a9['length']>0x0&&await _0x49f9d5['yirce'](executeTransaction,_0x2433a9[_0x57e973(0x1a4)](_0x88a067=>({'sql':_0x88a067['sql'],'params':[]})));_0x2433a9[_0x57e973(0x1ba)](_0x5d2a66=>{const _0x1582e1=_0x57e973;if(_0x49f9d5[_0x1582e1(0x198)](_0x5d2a66['type'],_0x1582e1(0x14e)))_0x4af946+=_0x5d2a66[_0x1582e1(0x16d)];else _0x21755c+=_0x5d2a66['count'];});const _0x5c8f69={'job_id':_0x10be84,'upload_id':_0x3d0078[_0x57e973(0x178)],'preview_job_id':_0x3d0078['job_id'],'status':'completed','progress':0x64,'created_at':_0x3d0078[_0x57e973(0x1b9)],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x6ce31f['length'],'inserted_rows':_0x4af946,'updated_rows':_0x21755c,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3b50c8};await redisHelper['setJob']('job:'+_0x10be84,_0x5c8f69,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x10be84,'insertedCount':_0x4af946,'updatedCount':_0x21755c},'Commit\x20job\x20completed');}catch(_0x1bb479){_0x49f9d5[_0x57e973(0x1c1)](logError,_0x1bb479,{'event':_0x57e973(0x1af),'jobId':_0x10be84},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x57e973(0x181)+_0x10be84,{'job_id':_0x10be84,'upload_id':_0x3d0078['upload_id'],'preview_job_id':_0x3d0078['job_id'],'status':'failed','progress':0x0,'error':_0x1bb479[_0x57e973(0x1c6)],'created_at':_0x3d0078['created_at'],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x515b49){const _0x1e9f74=a0_0x44a0,_0x396742=await redisHelper[_0x1e9f74(0x18c)](_0x1e9f74(0x181)+_0x515b49);if(!_0x396742)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x396742};}}module[a0_0x44a0(0x1bf)]=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_0x177484=a0_0x37eb;function a0_0x37eb(_0x1146c1,_0x3dc228){_0x1146c1=_0x1146c1-0x135;const _0x589016=a0_0x5890();let _0x37eb27=_0x589016[_0x1146c1];if(a0_0x37eb['FFwOyS']===undefined){var _0x437a1c=function(_0x1cec29){const _0x525e79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54cfd7='',_0x298cf5='';for(let _0x4c01ff=0x0,_0x4cb7d6,_0x2c2813,_0x4e5150=0x0;_0x2c2813=_0x1cec29['charAt'](_0x4e5150++);~_0x2c2813&&(_0x4cb7d6=_0x4c01ff%0x4?_0x4cb7d6*0x40+_0x2c2813:_0x2c2813,_0x4c01ff++%0x4)?_0x54cfd7+=String['fromCharCode'](0xff&_0x4cb7d6>>(-0x2*_0x4c01ff&0x6)):0x0){_0x2c2813=_0x525e79['indexOf'](_0x2c2813);}for(let _0x6e4cf3=0x0,_0x9860bc=_0x54cfd7['length'];_0x6e4cf3<_0x9860bc;_0x6e4cf3++){_0x298cf5+='%'+('00'+_0x54cfd7['charCodeAt'](_0x6e4cf3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x298cf5);};a0_0x37eb['frXefw']=_0x437a1c,a0_0x37eb['lQaYve']={},a0_0x37eb['FFwOyS']=!![];}const _0x4cd851=_0x589016[0x0],_0x309a0e=_0x1146c1+_0x4cd851,_0x2607ee=a0_0x37eb['lQaYve'][_0x309a0e];return!_0x2607ee?(_0x37eb27=a0_0x37eb['frXefw'](_0x37eb27),a0_0x37eb['lQaYve'][_0x309a0e]=_0x37eb27):_0x37eb27=_0x2607ee,_0x37eb27;}(function(_0x4783b7,_0x5d709e){const _0x38d12d=a0_0x37eb,_0x498dfd=_0x4783b7();while(!![]){try{const _0x50e288=parseInt(_0x38d12d(0x194))/0x1+parseInt(_0x38d12d(0x148))/0x2*(parseInt(_0x38d12d(0x18b))/0x3)+parseInt(_0x38d12d(0x139))/0x4*(-parseInt(_0x38d12d(0x1a7))/0x5)+parseInt(_0x38d12d(0x1a9))/0x6*(-parseInt(_0x38d12d(0x18e))/0x7)+parseInt(_0x38d12d(0x15b))/0x8+parseInt(_0x38d12d(0x164))/0x9+-parseInt(_0x38d12d(0x17d))/0xa;if(_0x50e288===_0x5d709e)break;else _0x498dfd['push'](_0x498dfd['shift']());}catch(_0x2d14dc){_0x498dfd['push'](_0x498dfd['shift']());}}}(a0_0x5890,0x36fc2));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x177484(0x159));class KafkaConsumerService{constructor(){const _0x4f6911=a0_0x177484;this['kafka']=null,this['consumer']=null,this[_0x4f6911(0x18a)]=![],this['isInitializing']=![],this['isRunning']=![],this['isPaused']=![],this[_0x4f6911(0x19f)]=null,this[_0x4f6911(0x184)]=[],this['groupId']=null,this[_0x4f6911(0x153)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x177484(0x16e)](){const _0x30af1d=a0_0x177484,_0x1ab14b={'pPxen':'localhost:9092','FJLGu':function(_0x2fb0f8,_0x24327b){return _0x2fb0f8(_0x24327b);},'QfCWh':_0x30af1d(0x14f),'lwgdx':'3000','dWlrJ':function(_0x51fe73,_0x6b613a){return _0x51fe73(_0x6b613a);},'MFfAN':function(_0x2992d1,_0x22a115){return _0x2992d1===_0x22a115;},'KTYCp':'warn'};return{'enabled':process['env']['KAFKA_ENABLED']===_0x30af1d(0x199),'brokers':(process[_0x30af1d(0x171)]['KAFKA_BROKERS']||_0x1ab14b[_0x30af1d(0x17b)])['split'](','),'clientId':process[_0x30af1d(0x171)][_0x30af1d(0x18f)]||'restforge-'+(process[_0x30af1d(0x171)]['RESTFORGE_PROJECT_NAME']||_0x30af1d(0x14e))+'-consumer','connectionTimeout':parseInt(process[_0x30af1d(0x171)][_0x30af1d(0x135)]||_0x30af1d(0x142)),'requestTimeout':parseInt(process[_0x30af1d(0x171)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0x1ab14b[_0x30af1d(0x156)]),'heartbeatInterval':parseInt(process['env'][_0x30af1d(0x196)]||_0x1ab14b[_0x30af1d(0x15a)]),'maxBytesPerPartition':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x30af1d(0x19b)),'autoCommit':_0x1ab14b['MFfAN'](process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT'],_0x30af1d(0x199)),'autoCommitInterval':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x30af1d(0x176)),'retryAttempts':parseInt(process['env'][_0x30af1d(0x138)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x30af1d(0x193)),'retryMaxDelay':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env'][_0x30af1d(0x18d)]||_0x1ab14b[_0x30af1d(0x156)]),'logLevel':process[_0x30af1d(0x171)]['KAFKA_LOG_LEVEL']||_0x1ab14b[_0x30af1d(0x16b)]};}['getLogLevel'](_0x51c328){const _0x273d93=a0_0x177484,_0x98a838={'nothing':logLevel[_0x273d93(0x13b)],'error':logLevel[_0x273d93(0x152)],'warn':logLevel['WARN'],'info':logLevel[_0x273d93(0x15f)],'debug':logLevel['DEBUG']};return _0x98a838[_0x51c328[_0x273d93(0x161)]()]||logLevel['WARN'];}async['initialize'](_0xde769d={}){const _0x1a2b2a=a0_0x177484,_0x9014bf={'BJsXA':function(_0x598b69,_0x2eb27e){return _0x598b69===_0x2eb27e;},'ZXKkt':'default','zvhjx':function(_0x3dfdd1,_0xdacd44){return _0x3dfdd1(_0xdacd44);}},_0x4cd422=this[_0x1a2b2a(0x16e)]();if(!_0x4cd422['enabled'])return console[_0x1a2b2a(0x186)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x1a2b2a(0x19f)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4c9e58=>{const _0x1330b1=_0x1a2b2a;try{let _0x46bc0c=undefined;_0x9014bf['BJsXA'](process['env'][_0x1330b1(0x16d)],_0x1330b1(0x199))&&(_0x46bc0c=!![]);let _0x1257f2=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1257f2={'mechanism':process['env'][_0x1330b1(0x1a4)],'username':process[_0x1330b1(0x171)]['KAFKA_SASL_USERNAME']||'','password':process[_0x1330b1(0x171)][_0x1330b1(0x14d)]||''}),this[_0x1330b1(0x19d)]=new Kafka({'clientId':_0xde769d[_0x1330b1(0x183)]||_0x4cd422['clientId'],'brokers':_0x4cd422['brokers'],'connectionTimeout':_0x4cd422[_0x1330b1(0x158)],'requestTimeout':_0x4cd422['requestTimeout'],'logLevel':this['getLogLevel'](_0x4cd422['logLevel']),'ssl':_0x46bc0c,'sasl':_0x1257f2,'retry':{'initialRetryTime':_0x4cd422['retryDelay'],'retries':_0x4cd422['retryAttempts'],'maxRetryTime':_0x4cd422[_0x1330b1(0x174)]}}),this[_0x1330b1(0x13c)]=_0xde769d[_0x1330b1(0x13c)]||_0x1330b1(0x172)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x9014bf['ZXKkt'])+_0x1330b1(0x144),this[_0x1330b1(0x189)]=this['kafka'][_0x1330b1(0x189)]({'groupId':this['groupId'],'sessionTimeout':_0x4cd422[_0x1330b1(0x191)],'heartbeatInterval':_0x4cd422[_0x1330b1(0x1a2)],'maxBytesPerPartition':_0x4cd422['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1330b1(0x189)][_0x1330b1(0x13f)](),this[_0x1330b1(0x18a)]=!![],console['log'](_0x1330b1(0x157)+_0x4cd422[_0x1330b1(0x192)][_0x1330b1(0x190)](',\x20')+'\x20(groupId:\x20'+this[_0x1330b1(0x13c)]+')'),this[_0x1330b1(0x14c)](),_0x4c9e58(!![]);}catch(_0xefd625){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0xefd625[_0x1330b1(0x167)]),this[_0x1330b1(0x18a)]=![],_0x9014bf['zvhjx'](_0x4c9e58,![]);}finally{this[_0x1330b1(0x17e)]=![];}}),this[_0x1a2b2a(0x19f)];}[a0_0x177484(0x14c)](){const _0x3d7143=a0_0x177484,_0x158093={'LKbOp':_0x3d7143(0x185),'PLBuG':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x3d7143(0x189)]['on']('consumer.disconnect',()=>{const _0x3b9a66=_0x3d7143;console[_0x3b9a66(0x186)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x3b9a66(0x18a)]=![],this[_0x3b9a66(0x165)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this['consumer']['on'](_0x3d7143(0x15c),_0x31afbf=>{console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x31afbf['payload']['error']['message']),this['isRunning']=![];}),this['consumer']['on'](_0x158093[_0x3d7143(0x178)],()=>{const _0xb48ca2=_0x3d7143;console['log'](_0x158093[_0xb48ca2(0x141)]);});}async[a0_0x177484(0x179)](_0x4acbc0,_0x2ac2d9=![]){const _0xee670f=a0_0x177484;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x50501b=Array[_0xee670f(0x140)](_0x4acbc0)?_0x4acbc0:[_0x4acbc0];for(const _0x42d7bf of _0x50501b){await this[_0xee670f(0x189)][_0xee670f(0x179)]({'topic':_0x42d7bf,'fromBeginning':_0x2ac2d9}),console['log'](_0xee670f(0x15e)+_0x42d7bf+_0xee670f(0x175)+_0x2ac2d9+')');}return this[_0xee670f(0x184)]=[...new Set([...this['subscribedTopics'],..._0x50501b])],!![];}catch(_0x1cdfb3){return console['error'](_0xee670f(0x16a)+_0x1cdfb3[_0xee670f(0x167)]),![];}}async['startConsuming'](_0x4afa0f,_0xd558f9={}){const _0x4502b0=a0_0x177484,_0x21ee10={'ecKdt':function(_0x1b4d1f){return _0x1b4d1f();}};if(!this['isConnected'])return console[_0x4502b0(0x14b)](_0x4502b0(0x1a1)),![];if(this[_0x4502b0(0x165)])return console[_0x4502b0(0x186)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x9f6658=this['getConfig']();this['messageHandler']=_0x4afa0f;try{return this['metrics'][_0x4502b0(0x19c)]=new Date(),await this['consumer'][_0x4502b0(0x137)]({'autoCommit':_0xd558f9['autoCommit']!==undefined?_0xd558f9[_0x4502b0(0x16f)]:_0x9f6658['autoCommit'],'autoCommitInterval':_0x9f6658['autoCommitInterval'],'eachMessage':async({topic:_0x2b96dd,partition:_0x2015fe,message:_0x505c1a,heartbeat:_0x3cc2b6})=>{const _0x230f79=_0x4502b0,_0x41f1fd=Date[_0x230f79(0x14a)]();this[_0x230f79(0x17f)]['messagesReceived']++,this['metrics'][_0x230f79(0x151)]=new Date();try{const _0x33d15e=_0x505c1a['value']?_0x505c1a[_0x230f79(0x177)]['toString']():null;let _0x374b40=null;try{_0x374b40=_0x33d15e?JSON[_0x230f79(0x188)](_0x33d15e):null;}catch(_0x2ad749){_0x374b40=_0x33d15e;}const _0x40aed3={'topic':_0x2b96dd,'partition':_0x2015fe,'offset':_0x505c1a['offset'],'key':_0x505c1a['key']?_0x505c1a['key'][_0x230f79(0x16c)]():null,'headers':this['parseHeaders'](_0x505c1a['headers']),'timestamp':_0x505c1a['timestamp'],'value':_0x374b40,'raw':_0x33d15e};this[_0x230f79(0x153)]&&await this[_0x230f79(0x153)](_0x40aed3);!_0x9f6658['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x2b96dd,'partition':_0x2015fe,'offset':(parseInt(_0x505c1a['offset'])+0x1)[_0x230f79(0x16c)]()}]);this['metrics'][_0x230f79(0x1a0)]++;const _0x5c66ba=Date['now']()-_0x41f1fd;this[_0x230f79(0x17f)]['processingTimes'][_0x230f79(0x168)](_0x5c66ba),this['metrics']['processingTimes'][_0x230f79(0x170)]>0x64&&this[_0x230f79(0x17f)]['processingTimes']['shift'](),await _0x21ee10['ecKdt'](_0x3cc2b6);}catch(_0x4ab464){this[_0x230f79(0x17f)][_0x230f79(0x136)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4ab464['message']);throw _0x4ab464;}}}),this['isRunning']=!![],console[_0x4502b0(0x186)](_0x4502b0(0x198)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x4d617a){return console[_0x4502b0(0x14b)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4d617a['message']),![];}}[a0_0x177484(0x146)](_0x5c1ab5){if(!_0x5c1ab5)return{};const _0x2151bc={};for(const [_0x42f8e1,_0x4545e5]of Object['entries'](_0x5c1ab5)){_0x2151bc[_0x42f8e1]=_0x4545e5?_0x4545e5['toString']():null;}return _0x2151bc;}async[a0_0x177484(0x150)](){const _0x178030=a0_0x177484,_0x57a3cc={'dUxMV':_0x178030(0x145),'HRcAf':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this[_0x178030(0x165)])return console[_0x178030(0x186)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x57a3cc[_0x178030(0x19e)]),!![];try{const _0x32921e=this[_0x178030(0x184)]['map'](_0x55c5f7=>({'topic':_0x55c5f7}));return this['consumer'][_0x178030(0x150)](_0x32921e),this[_0x178030(0x182)]=!![],console['log'](_0x57a3cc[_0x178030(0x149)]),!![];}catch(_0x584b85){return console[_0x178030(0x14b)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x584b85['message']),![];}}async['resume'](){const _0xd87497=a0_0x177484,_0xc8e4d={'xgzmj':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0xd87497(0x165)])return console[_0xd87497(0x186)](_0xc8e4d['xgzmj']),![];if(!this[_0xd87497(0x182)])return console[_0xd87497(0x186)](_0xd87497(0x180)),!![];try{const _0x3c3e35=this[_0xd87497(0x184)]['map'](_0x5109aa=>({'topic':_0x5109aa}));return this[_0xd87497(0x189)][_0xd87497(0x1a8)](_0x3c3e35),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x3fbe7d){return console['error'](_0xd87497(0x143)+_0x3fbe7d[_0xd87497(0x167)]),![];}}async[a0_0x177484(0x17a)](){const _0x4a7604=a0_0x177484,_0x966058={'NMhfI':_0x4a7604(0x1aa),'EdfYG':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console[_0x4a7604(0x186)](_0x966058['NMhfI']),!![];try{const _0x4bee7e=_0x4a7604(0x17c)['split']('|');let _0x1ff399=0x0;while(!![]){switch(_0x4bee7e[_0x1ff399++]){case'0':return!![];case'1':this[_0x4a7604(0x165)]=![];continue;case'2':this[_0x4a7604(0x18a)]=![];continue;case'3':this[_0x4a7604(0x182)]=![];continue;case'4':this[_0x4a7604(0x189)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;case'5':console['log'](_0x966058['EdfYG']);continue;}break;}}catch(_0x100872){return console[_0x4a7604(0x14b)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x100872['message']),![];}}async[a0_0x177484(0x147)](_0x251d46,_0x4c8cde,_0x20b34f){const _0x77e75c=a0_0x177484;if(!this[_0x77e75c(0x18a)])return console[_0x77e75c(0x14b)](_0x77e75c(0x155)),![];try{return this[_0x77e75c(0x189)]['seek']({'topic':_0x251d46,'partition':_0x4c8cde,'offset':_0x20b34f['toString']()}),console['log'](_0x77e75c(0x154)+_0x20b34f+'\x20on\x20'+_0x251d46+':'+_0x4c8cde),!![];}catch(_0x44b69c){return console[_0x77e75c(0x14b)](_0x77e75c(0x195)+_0x44b69c[_0x77e75c(0x167)]),![];}}[a0_0x177484(0x1a3)](){const _0x2526ac=a0_0x177484,_0x18f90e=this[_0x2526ac(0x16e)]();return{'enabled':_0x18f90e[_0x2526ac(0x13e)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x2526ac(0x182)],'brokers':_0x18f90e['brokers'],'clientId':_0x18f90e['clientId'],'groupId':this[_0x2526ac(0x13c)],'subscribedTopics':this['subscribedTopics']};}[a0_0x177484(0x19a)](){const _0x50cf80=a0_0x177484,_0x58a2c8={'ZblIJ':function(_0x593a5a,_0x4f703f){return _0x593a5a>_0x4f703f;},'AFPDd':function(_0x52bdf2,_0x5bba40){return _0x52bdf2>_0x5bba40;},'Bqsux':function(_0x4ca00e,_0x1e39e8){return _0x4ca00e>_0x1e39e8;},'htdnE':function(_0x45b2db,_0x20f7a1){return _0x45b2db/_0x20f7a1;},'KPsie':function(_0x3f7c71,_0x138c9c){return _0x3f7c71+_0x138c9c;},'pkkSC':function(_0x1ae612,_0x32f712){return _0x1ae612-_0x32f712;}},_0x55e116=_0x58a2c8[_0x50cf80(0x163)](this[_0x50cf80(0x17f)][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]['reduce']((_0x2f17c6,_0x87f646)=>_0x2f17c6+_0x87f646,0x0)/this[_0x50cf80(0x17f)]['processingTimes']['length']:0x0,_0xbfc4e4=_0x58a2c8['AFPDd'](this['metrics'][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?Math[_0x50cf80(0x162)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0,_0x46bb3f=_0x58a2c8[_0x50cf80(0x197)](this[_0x50cf80(0x17f)]['processingTimes']['length'],0x0)?Math[_0x50cf80(0x18c)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0;return{'messagesReceived':this['metrics'][_0x50cf80(0x169)],'messagesProcessed':this[_0x50cf80(0x17f)][_0x50cf80(0x1a0)],'messagesFailed':this[_0x50cf80(0x17f)]['messagesFailed'],'successRate':this['metrics'][_0x50cf80(0x169)]>0x0?(_0x58a2c8[_0x50cf80(0x166)](this[_0x50cf80(0x17f)]['messagesProcessed'],this['metrics']['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x50cf80(0x17f)][_0x50cf80(0x19c)],'uptime':this[_0x50cf80(0x17f)]['startTime']?_0x58a2c8['KPsie'](Math[_0x50cf80(0x160)](_0x58a2c8[_0x50cf80(0x181)](Date['now'](),this[_0x50cf80(0x17f)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math[_0x50cf80(0x173)](_0x55e116)+'ms','min':_0xbfc4e4+'ms','max':_0x58a2c8[_0x50cf80(0x15d)](_0x46bb3f,'ms')}};}['resetMetrics'](){const _0x1b8dd6=a0_0x177484,_0x39da94={'HZhzn':_0x1b8dd6(0x13a)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1b8dd6(0x165)]?new Date():null,'processingTimes':[]},console[_0x1b8dd6(0x186)](_0x39da94['HZhzn']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5badd6=a0_0x177484;instance&&(instance[_0x5badd6(0x1a5)](),instance=null);}function a0_0x5890(){const _0x3a7a89=['s0fgs0fFuKvuuLLFqvruru1qvfm','mJHzvNvyvNC','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','tK9useLorW','z3jVDxbjza','ChjVy2vZC2LUz1rPBwvZ','zw5HyMXLza','y29UBMvJDa','AxnbCNjHEq','teTIt3a','mZaWma','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','CgfYC2vizwfKzxjZ','C2vLA1rVt2zMC2v0','ndu1nLHJruvIrq','sfjJqwy','BM93','zxjYB3i','C2v0DxbfDMvUDeHHBMrSzxjZ','s0fgs0fFu0fttf9qqvntv09sra','zgvMyxvSDa','mZaWmda','Cgf1C2u','BgfZDe1LC3nHz2vuAw1L','rvjst1i','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','uwzdv2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y29UBMvJDgLVBLrPBwvVDxq','DxvPza','BhDNzhG','mtCWmdy2nhP5CMr2Eq','y29UC3vTzxiUy3jHC2G','s1bZAwu','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','su5gtW','zMXVB3i','Dg9mB3DLCKnHC2u','BwLU','wMjSsuO','mJy0nZGYn2D6yxfgAa','AxnsDw5UAw5N','AhrKBKu','BwvZC2fNzq','ChvZAa','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','s1rzq3a','Dg9tDhjPBMC','s0fgs0fFu1nm','z2v0q29UzMLN','yxv0B0nVBw1PDa','BgvUz3rO','zw52','CMvZDgzVCMDLlq','CM91BMq','CMv0CNLnyxHezwXHEq','icHMCM9TqMvNAw5UAw5NoIa','ntaWma','DMfSDwu','ueXcDuC','C3vIC2nYAwjL','C3rVCa','Cfb4zw4','nhWYFdf8m3W1Fda','mJu2mJu3menIvxjIDW','AxnjBML0AwfSAxPPBMC','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CgTRu0m','AxnqyxvZzwq','y2XPzw50swq','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Bg9N','zfDSCKO','CgfYC2u','y29UC3vTzxi','AxndB25Uzwn0zwq','mtu2wMTVquvQ','Bwf4','s0fgs0fFuKvuuLLFtufyx0rftefz','mtG0odG1ngXzA1HrEq','s0fgs0fFq0Xjru5ux0Le','AM9PBG','C2vZC2LVBLrPBwvVDxq','yNjVA2vYCW','mtaWma','mJa1ndyXtuHXsNDZ','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFsevbuLrcrufux0LovevsvKfm','qNfZDxG','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','Dhj1zq','z2v0twv0CMLJCW','mta0odu3nG','C3rHCNruAw1L','A2fMA2e','zfv4tvy','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','AgvHCNrIzwf0sw50zxj2ywW','z2v0u3rHDhvZ','s0fgs0fFu0fttf9nruniqu5ju00','y2XVC2u','rKPmr3u','nJa3otbxAwXlzNe','CMvZDw1L','nM9jELPMDG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwvZC2fNzxngywLSzwq','CNvU'];a0_0x5890=function(){return _0x3a7a89;};return a0_0x5890();}function createInstance(){return new KafkaConsumerService();}module['exports']={'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};