@restforgejs/platform 5.2.13 → 5.3.5

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 (212) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/bin/sdf-tools.exe +0 -0
  4. package/build-info.json +2 -2
  5. package/cli/consumer-deploy.js +1 -1
  6. package/cli/consumer.js +1 -1
  7. package/generators/cli/endpoint/create.js +69 -6
  8. package/generators/cli/fast-track.js +4 -2
  9. package/generators/cli/payload/sync.js +16 -6
  10. package/generators/cli/project/auth.js +209 -0
  11. package/generators/cli/project/sdk.js +112 -0
  12. package/generators/lib/arg-parser.js +6 -0
  13. package/generators/lib/auth/component-generator.js +58 -0
  14. package/generators/lib/auth/dependency-checker.js +102 -0
  15. package/generators/lib/auth/env-injector.js +81 -0
  16. package/generators/lib/auth/migrate-runner.js +111 -0
  17. package/generators/lib/auth/prefix.js +22 -0
  18. package/generators/lib/auth/processor-generator.js +57 -0
  19. package/generators/lib/auth/sdf-generator.js +102 -0
  20. package/generators/lib/auth/template-renderer.js +29 -0
  21. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  22. package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
  23. package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
  24. package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
  25. package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
  26. package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
  27. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
  28. package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
  29. package/generators/lib/auth/templates/rfx_auth.js.tmpl +107 -0
  30. package/generators/lib/dbschema-kit/schema-printer.js +10 -1
  31. package/generators/lib/generators/model-generator.js +46 -59
  32. package/generators/lib/help-generator.js +41 -3
  33. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  34. package/generators/lib/payload/field-projections.js +116 -0
  35. package/generators/lib/payload/payload-runner.js +164 -48
  36. package/generators/lib/payload/schema-diff.js +108 -0
  37. package/generators/lib/sdk/generator.js +719 -0
  38. package/generators/lib/sdk/naming.js +48 -0
  39. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  40. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  41. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  42. package/generators/lib/sdk/runtime/http-client.js +81 -0
  43. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  44. package/generators/lib/sdk/runtime/storage.js +31 -0
  45. package/generators/lib/templates/dashboard-catalog.js +1 -1
  46. package/generators/lib/templates/db-connection-env.js +1 -1
  47. package/generators/lib/templates/dbschema-catalog.js +1 -1
  48. package/generators/lib/templates/field-validation-catalog.js +1 -1
  49. package/generators/lib/templates/mysql-template.js +1 -1
  50. package/generators/lib/templates/oracle-template.js +1 -1
  51. package/generators/lib/templates/postgres-template.js +1 -1
  52. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  53. package/generators/lib/templates/sqlite-template.js +1 -1
  54. package/generators/lib/utils/cli-output.js +40 -0
  55. package/generators/lib/utils/config-resolver.js +61 -0
  56. package/generators/lib/utils/database-introspector.js +28 -5
  57. package/integrity-manifest.json +18 -18
  58. package/package.json +1 -1
  59. package/scripts/verify-integrity.js +1 -1
  60. package/server.js +1 -1
  61. package/src/components/handlers/adjust_handler.js +1 -1
  62. package/src/components/handlers/audit_handler.js +1 -1
  63. package/src/components/handlers/delete_handler.js +1 -1
  64. package/src/components/handlers/export_handler.js +1 -1
  65. package/src/components/handlers/import_handler.js +1 -1
  66. package/src/components/handlers/insert_handler.js +1 -1
  67. package/src/components/handlers/update_handler.js +1 -1
  68. package/src/components/handlers/upload_handler.js +1 -1
  69. package/src/components/handlers/workflow_handler.js +1 -1
  70. package/src/components/integrations/webhook.js +1 -1
  71. package/src/consumers/baseConsumer.js +1 -1
  72. package/src/consumers/declarativeMapper.js +1 -1
  73. package/src/consumers/handlers/apiHandler.js +1 -1
  74. package/src/consumers/handlers/consoleHandler.js +1 -1
  75. package/src/consumers/handlers/databaseHandler.js +1 -1
  76. package/src/consumers/handlers/index.js +1 -1
  77. package/src/consumers/handlers/kafkaHandler.js +1 -1
  78. package/src/consumers/index.js +1 -1
  79. package/src/consumers/messageTransformer.js +1 -1
  80. package/src/consumers/validator.js +1 -1
  81. package/src/core/db/dialect/base-dialect.js +1 -1
  82. package/src/core/db/dialect/index.js +1 -1
  83. package/src/core/db/dialect/mysql-dialect.js +1 -1
  84. package/src/core/db/dialect/oracle-dialect.js +1 -1
  85. package/src/core/db/dialect/postgres-dialect.js +1 -1
  86. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  87. package/src/core/db/flatten-helper.js +1 -1
  88. package/src/core/db/query-builder-error.js +1 -1
  89. package/src/core/db/query-builder.js +1 -1
  90. package/src/core/db/relation-helper.js +1 -1
  91. package/src/core/handlers/delete_handler.js +1 -1
  92. package/src/core/handlers/insert_handler.js +1 -1
  93. package/src/core/handlers/update_handler.js +1 -1
  94. package/src/core/models/base-model.js +1 -1
  95. package/src/core/utils/cache-manager.js +1 -1
  96. package/src/core/utils/component-engine.js +1 -1
  97. package/src/core/utils/context-builder.js +1 -1
  98. package/src/core/utils/datetime-formatter.js +1 -1
  99. package/src/core/utils/datetime-parser.js +1 -1
  100. package/src/core/utils/db.js +1 -1
  101. package/src/core/utils/logger.js +1 -1
  102. package/src/core/utils/payload-loader.js +1 -1
  103. package/src/core/utils/security-checks.js +1 -1
  104. package/src/middleware/body-options.js +1 -1
  105. package/src/middleware/cors.js +1 -1
  106. package/src/middleware/idempotency.js +1 -1
  107. package/src/middleware/rate-limiter.js +1 -1
  108. package/src/middleware/request-logger.js +1 -1
  109. package/src/middleware/security-headers.js +1 -1
  110. package/src/models/base-model-mysql.js +1 -1
  111. package/src/models/base-model-oracle.js +1 -1
  112. package/src/models/base-model-sqlite.js +1 -1
  113. package/src/models/base-model.js +1 -1
  114. package/src/pro/caching/redis-client.js +1 -1
  115. package/src/pro/caching/redis-helper.js +1 -1
  116. package/src/pro/consumers/baseConsumer.js +1 -1
  117. package/src/pro/consumers/declarativeMapper.js +1 -1
  118. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  119. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  120. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  121. package/src/pro/consumers/handlers/index.js +1 -1
  122. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  123. package/src/pro/consumers/index.js +1 -1
  124. package/src/pro/consumers/messageTransformer.js +1 -1
  125. package/src/pro/consumers/validator.js +1 -1
  126. package/src/pro/database/base-model-mysql.js +1 -1
  127. package/src/pro/database/base-model-oracle.js +1 -1
  128. package/src/pro/database/base-model-sqlite.js +1 -1
  129. package/src/pro/database/db-mysql.js +1 -1
  130. package/src/pro/database/db-oracle.js +1 -1
  131. package/src/pro/database/db-sqlite.js +1 -1
  132. package/src/pro/excel/excel-generator.js +1 -1
  133. package/src/pro/excel/excel-parser.js +1 -1
  134. package/src/pro/excel/export-service.js +1 -1
  135. package/src/pro/excel/export_handler.js +1 -1
  136. package/src/pro/excel/import-service.js +1 -1
  137. package/src/pro/excel/import-validator.js +1 -1
  138. package/src/pro/excel/import_handler.js +1 -1
  139. package/src/pro/excel/upsert-builder.js +1 -1
  140. package/src/pro/idgen/idgen-routes.js +1 -1
  141. package/src/pro/integrations/lookup-resolver.js +1 -1
  142. package/src/pro/integrations/upload-handler-v2.js +1 -1
  143. package/src/pro/integrations/upload-handler.js +1 -1
  144. package/src/pro/integrations/webhook.js +1 -1
  145. package/src/pro/locking/lock-routes.js +1 -1
  146. package/src/pro/locking/resource-lock-manager.js +1 -1
  147. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  148. package/src/pro/messaging/kafkaService.js +1 -1
  149. package/src/pro/messaging/messagehubService.js +1 -1
  150. package/src/pro/messaging/rabbitmqService.js +1 -1
  151. package/src/pro/scheduler/job-manager.js +1 -1
  152. package/src/pro/scheduler/job-routes.js +1 -1
  153. package/src/pro/scheduler/job-validator.js +1 -1
  154. package/src/pro/storage/base-storage-provider.js +1 -1
  155. package/src/pro/storage/file-metadata-helper.js +1 -1
  156. package/src/pro/storage/index.js +1 -1
  157. package/src/pro/storage/local-storage-provider.js +1 -1
  158. package/src/pro/storage/s3-storage-provider.js +1 -1
  159. package/src/pro/storage/upload-cleanup-job.js +1 -1
  160. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  161. package/src/pro/storage/upload-pending-tracker.js +1 -1
  162. package/src/pro/websocket/broadcast-helper.js +1 -1
  163. package/src/pro/websocket/index.js +1 -1
  164. package/src/pro/websocket/livesync-server.js +1 -1
  165. package/src/pro/websocket/ws-broadcaster.js +1 -1
  166. package/src/services/export-service.js +1 -1
  167. package/src/services/import-service.js +1 -1
  168. package/src/services/kafkaConsumerService.js +1 -1
  169. package/src/services/kafkaService.js +1 -1
  170. package/src/services/messagehubService.js +1 -1
  171. package/src/services/rabbitmqService.js +1 -1
  172. package/src/utils/cache-invalidation-registry.js +1 -1
  173. package/src/utils/cache-manager.js +1 -1
  174. package/src/utils/component-engine.js +1 -1
  175. package/src/utils/config-extractor.js +1 -1
  176. package/src/utils/consumerLogger.js +1 -1
  177. package/src/utils/context-builder.js +1 -1
  178. package/src/utils/dashboard-helpers.js +1 -1
  179. package/src/utils/dateHelper.js +1 -1
  180. package/src/utils/datetime-formatter.js +1 -1
  181. package/src/utils/datetime-parser.js +1 -1
  182. package/src/utils/db-bootstrap.js +1 -1
  183. package/src/utils/db-mysql.js +1 -1
  184. package/src/utils/db-oracle.js +1 -1
  185. package/src/utils/db-sqlite.js +1 -1
  186. package/src/utils/db.js +1 -1
  187. package/src/utils/demo-generator.js +1 -1
  188. package/src/utils/excel-generator.js +1 -1
  189. package/src/utils/excel-parser.js +1 -1
  190. package/src/utils/file-watcher.js +1 -1
  191. package/src/utils/id-generator.js +1 -1
  192. package/src/utils/idempotency-manager.js +1 -1
  193. package/src/utils/import-validator.js +1 -1
  194. package/src/utils/license-client.js +1 -1
  195. package/src/utils/lock-manager.js +1 -1
  196. package/src/utils/logger.js +1 -1
  197. package/src/utils/lookup-resolver.js +1 -1
  198. package/src/utils/payload-loader.js +1 -1
  199. package/src/utils/processor-response.js +1 -1
  200. package/src/utils/rabbitmq.js +1 -1
  201. package/src/utils/redis-client.js +1 -1
  202. package/src/utils/redis-helper.js +1 -1
  203. package/src/utils/request-scope.js +1 -1
  204. package/src/utils/security-checks.js +1 -1
  205. package/src/utils/service-resolver.js +1 -1
  206. package/src/utils/shutdown-coordinator.js +1 -1
  207. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  208. package/src/utils/sql-table-extractor.js +1 -1
  209. package/src/utils/trusted-keys.js +1 -1
  210. package/src/utils/upload-handler.js +1 -1
  211. package/src/utils/upsert-builder.js +1 -1
  212. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x52b64c=a0_0x3a91;(function(_0x4d7e80,_0x50ea7d){const _0xd2e88a=a0_0x3a91,_0x1cc772=_0x4d7e80();while(!![]){try{const _0x12bd5a=parseInt(_0xd2e88a(0x171))/0x1*(-parseInt(_0xd2e88a(0x183))/0x2)+-parseInt(_0xd2e88a(0x12a))/0x3*(parseInt(_0xd2e88a(0x162))/0x4)+parseInt(_0xd2e88a(0x152))/0x5+parseInt(_0xd2e88a(0x18f))/0x6+parseInt(_0xd2e88a(0x148))/0x7*(parseInt(_0xd2e88a(0x1aa))/0x8)+-parseInt(_0xd2e88a(0x184))/0x9*(parseInt(_0xd2e88a(0x158))/0xa)+parseInt(_0xd2e88a(0x199))/0xb*(parseInt(_0xd2e88a(0x13d))/0xc);if(_0x12bd5a===_0x50ea7d)break;else _0x1cc772['push'](_0x1cc772['shift']());}catch(_0x5516ca){_0x1cc772['push'](_0x1cc772['shift']());}}}(a0_0x25a1,0x3df0f));function a0_0x25a1(){const _0x5be011=['DhLWzq','tfzPuvy','ChvZAa','y2HHBM5LBhm','ywn0Aw9U','mtyXmZzKtNzUsxK','Aw5MBW','C3vIC2nYAwjLzenOyw5UzwXZ','ChvIBgLZAgvY','zgf0yv9JAgfUz2u','AMvbz0m','zxjYB3i','CMvXDwvZDeLK','u2vYDMvYihnODxr0Aw5NigrVD24','yKzuAhm','AxnbCNjHEq','z0X3Bg0','C3rHCNrZv2L0Aa','zw52','AxnbBgL2zq','nJG0owD2sM55sa','x3nLDhvWvxbNCMfKzuf1DgG','Ec1MB3j3yxjKzwqTzM9Y','C2L6zq','Ahr0CdOVlW','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLBMruB0nSAwvUDa','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','C3rYAw5N','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mti3lJaUmc4X','uKvesvnFrei','uKvesvnFse9tva','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','BgLZDgvUzxjZ','y29UBMvJDa','x2HHBMrSzvn1yNnJCMLIzq','y29UBMvJDgLVBG','BLrWBgW','mJq0mJbptgTsree','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','s1veuK0','CxvPDa','x2HHBMrSzunVBM5Ly3rPB24','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','ignSAwvUDcHZkq','zNvSBa','zw1PDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','y2f0y2G','nZyZs3zhsxfr','zgvZDhjVEq','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','z2HwthO','x2LUAxrPywXPEMvK','yxbPs2v5','z2v0q2XPzw50','x2HHBMrSzvvUC3vIC2nYAwjL','AgfZ','C01Ktgm','mtqXmdC1nuPtwLzrsG','DgvYBwLUyxrL','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','uMjzEwK','zejVEfq','x3DVCMTLCKLK','mZqYnduWzxbWuxHN','x3jLzgLZu3vIC2nYAwjLCG','BwvZC2fNzq','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgf0yq','DxjS','x3nLDhvWuMvKAxm','C3bSAxq','y2XLyxi','CMvZDgzVCMDLoMXPDMvZEw5JoG','ntjHs3DKtfe','u09HAMu','DgHLBG','x2HLyxj0yMvHDfrPBwvY','sw52ywXPzcbku09oig1LC3nHz2u','z2v0','x2XVz2DLCG','wej3qNe','Dg9ju09tDhjPBMC','x3n0yxj0sgvHCNrIzwf0','ig9Uia','ihrVia','y2XVC2u','BgvUz3rO','Ag9ZDa','mZu1nZGZD0zMwvvu','BgL2zxn5BMnFD3nZx2vYCM9Y','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','z1zXEuC','Axz2A3y','BgL2zxn5BMnFC2H1DgrVD24','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','C29JA2v0','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3n1yNnJCMLWDgLVBNm','y2XPzw50CW','x29WDgLVBNm','z2juz0e','D09wz2G','CgfYC2u','zxHWB3j0CW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgLUzW','mKn6DevoDG','mte3Cg5rvgju','lI4VlI4VDxrPBhmVBg9Nz2vY','zgvIDwC','zKjrvxG','uKvesvnFueftu1DpuKq','zgvSzxrL','C3rYAw5NAwz5','Dg9tDhjPBMC','yNjVywrJyxn0','x3DZCW','AgvHzgvYCW','ndi5nde0u3Hprgnu','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','C3vIC2nYAwjL','C2vHCMnOugfYyw1Z','y1z6vNm','x3jLzgLZuhvIBgLZAgvY','quX5zxa','ywrK','Cgn2vvO','CMvHzhLtDgf0zq','mJC2muXVC1DitG','vvPuEeK','mxW0Fdb8nxWYFdz8mW','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','swf2DMy','AeHUAgu','Bg9Nz2vY','vfbHs2C','EeTcCei','Aw9YzwrPCW'];a0_0x25a1=function(){return _0x5be011;};return a0_0x25a1();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x52b64c(0x15d)),REDIS_CHANNEL_PREFIX=a0_0x52b64c(0x161);function a0_0x3a91(_0x546486,_0x19fda2){_0x546486=_0x546486-0x129;const _0x25a1c5=a0_0x25a1();let _0x3a91a9=_0x25a1c5[_0x546486];if(a0_0x3a91['YaUiMw']===undefined){var _0x5ca1f8=function(_0x879448){const _0x2dee06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46f30f='',_0x5bdf7e='';for(let _0x57a350=0x0,_0x2e50fd,_0x2036ce,_0x34a55e=0x0;_0x2036ce=_0x879448['charAt'](_0x34a55e++);~_0x2036ce&&(_0x2e50fd=_0x57a350%0x4?_0x2e50fd*0x40+_0x2036ce:_0x2036ce,_0x57a350++%0x4)?_0x46f30f+=String['fromCharCode'](0xff&_0x2e50fd>>(-0x2*_0x57a350&0x6)):0x0){_0x2036ce=_0x2dee06['indexOf'](_0x2036ce);}for(let _0xc9de81=0x0,_0x223e97=_0x46f30f['length'];_0xc9de81<_0x223e97;_0xc9de81++){_0x5bdf7e+='%'+('00'+_0x46f30f['charCodeAt'](_0xc9de81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bdf7e);};a0_0x3a91['Thzmjy']=_0x5ca1f8,a0_0x3a91['TlCzHl']={},a0_0x3a91['YaUiMw']=!![];}const _0x4fbf4a=_0x25a1c5[0x0],_0x1e7e2d=_0x546486+_0x4fbf4a,_0x155130=a0_0x3a91['TlCzHl'][_0x1e7e2d];return!_0x155130?(_0x3a91a9=a0_0x3a91['Thzmjy'](_0x3a91a9),a0_0x3a91['TlCzHl'][_0x1e7e2d]=_0x3a91a9):_0x3a91a9=_0x155130,_0x3a91a9;}class WebSocketBroadcaster{constructor(){const _0x37aac2=a0_0x52b64c;this[_0x37aac2(0x18d)]=null,this[_0x37aac2(0x14c)]=![],this[_0x37aac2(0x19d)]=null,this['_options']={},this[_0x37aac2(0x168)]=console,this['_subscriptions']=new Map(),this[_0x37aac2(0x165)]=null,this[_0x37aac2(0x194)]=null,this['_redisSubscriber']=null,this[_0x37aac2(0x157)]=process['pid'];}['initialize'](_0x462963,_0x110037={}){const _0x2ee10b=a0_0x52b64c,_0x2d85b1={'Iavvf':_0x2ee10b(0x172),'ZFTGD':function(_0x5a7af6,_0xca864f){return _0x5a7af6(_0xca864f);},'RqIsr':function(_0x10c270,_0x1dd012,_0x39a248){return _0x10c270(_0x1dd012,_0x39a248);},'xKBpB':'/ws','ERLAl':_0x2ee10b(0x13b),'gnyhq':'livesync_initialized','XBwBq':_0x2ee10b(0x144)};if(this['_initialized'])return;this['_options']=_0x110037,this[_0x2ee10b(0x19d)]=_0x2ee10b(0x144);try{this[_0x2ee10b(0x168)]=_0x2d85b1['ZFTGD'](require,'../../utils/logger')[_0x2ee10b(0x1a1)]||console;}catch(_0x53bba2){this['_logger']=console;}const _0x20d7f5=_0x2d85b1['RqIsr'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x2ee10b(0x18d)]=new WebSocketServer({'server':_0x462963,'path':_0x2d85b1['xKBpB']}),this[_0x2ee10b(0x12b)](_0x462963),this[_0x2ee10b(0x18d)]['on'](_0x2d85b1['ERLAl'],(_0x280485,_0xe02acc)=>this[_0x2ee10b(0x141)](_0x280485,_0xe02acc)),this[_0x2ee10b(0x18d)]['on']('error',_0x2d76f3=>{const _0x5c6375=_0x2ee10b;this[_0x5c6375(0x168)][_0x5c6375(0x1b0)]({'event':_0x2d85b1[_0x5c6375(0x19f)],'error':_0x2d76f3['message']},'WebSocket\x20server\x20error:\x20'+_0x2d76f3['message']);}),this[_0x2ee10b(0x16b)](_0x20d7f5),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x2d85b1['gnyhq'],'mode':_0x2d85b1[_0x2ee10b(0x169)],'path':_0x2d85b1[_0x2ee10b(0x1a3)],'heartbeat':_0x20d7f5+'s'},_0x2ee10b(0x137)+_0x20d7f5+'s)');}[a0_0x52b64c(0x13e)](_0xb1f404={}){const _0x43111f=a0_0x52b64c,_0x4e85cb={'gbTgA':_0x43111f(0x19b),'YZjjz':'publisher','SaYnM':_0x43111f(0x185)},_0x11ef2c=_0x4e85cb[_0x43111f(0x17d)]['split']('|');let _0x9a9c75=0x0;while(!![]){switch(_0x11ef2c[_0x9a9c75++]){case'0':this['_mode']=_0x4e85cb['YZjjz'];continue;case'1':if(this[_0x43111f(0x14c)])return;continue;case'2':this['_setupRedisPublisher']();continue;case'3':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x43111f(0x1ad)},_0x43111f(0x19e));continue;case'4':this['_options']=_0xb1f404;continue;case'5':try{this['_logger']=require(_0x4e85cb['SaYnM'])[_0x43111f(0x1a1)]||console;}catch(_0x4e5552){this['_logger']=console;}continue;case'6':this[_0x43111f(0x14c)]=!![];continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0xa9de0a,_0x249cfb){const _0x54607c=a0_0x52b64c,_0x40b2b8={'cVzVs':'publisher','TPaKg':function(_0x208f5d,_0x29a2c9){return _0x208f5d===_0x29a2c9;},'NDfZc':function(_0x134f3a,_0xf21ee){return _0x134f3a||_0xf21ee;}};if(!this[_0x54607c(0x14c)])return;if(this['_mode']===_0x40b2b8[_0x54607c(0x193)]){this['_publishToRedis'](_0xa9de0a,_0x249cfb);return;}const _0x1dcd97=JSON[_0x54607c(0x18a)]({'type':'data_change','channel':_0xa9de0a,'action':_0x249cfb['action'],'data':_0x249cfb[_0x54607c(0x15c)],'requestId':_0x249cfb[_0x54607c(0x1b1)]||null,'timestamp':new Date()[_0x54607c(0x16a)]()}),[_0x2ec684]=_0xa9de0a[_0x54607c(0x15f)](':');let _0x4105fc=0x0;for(const [_0x9e8251,_0x24a97d]of this['_subscriptions']){const _0x4aedee=_0x40b2b8[_0x54607c(0x1a2)](_0x9e8251,_0xa9de0a),_0x2c5e2e=_0x9e8251===_0x2ec684+':*';if(_0x40b2b8['NDfZc'](_0x4aedee,_0x2c5e2e))for(const _0x45571f of _0x24a97d){if(_0x45571f['readyState']===0x1)try{_0x45571f['send'](_0x1dcd97),_0x4105fc++;}catch(_0x1d0ca8){}}}_0x4105fc>0x0&&this['_logger'][_0x54607c(0x186)]({'event':'livesync_broadcast','channel':_0xa9de0a,'action':_0x249cfb[_0x54607c(0x1a9)],'clients':_0x4105fc},'Broadcast\x20'+_0x249cfb[_0x54607c(0x1a9)]+_0x54607c(0x16c)+_0xa9de0a+_0x54607c(0x16d)+_0x4105fc+_0x54607c(0x143));}['_publishToRedis'](_0x483625,_0x3e376f){const _0x5615b1=a0_0x52b64c;if(!this[_0x5615b1(0x194)])return;const _0x4dbabf=JSON['stringify']({'channel':_0x483625,'message':_0x3e376f,'workerId':this['_workerId']});this[_0x5615b1(0x194)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x4dbabf)['catch'](()=>{});}['shutdown'](){const _0x2bdd03=a0_0x52b64c,_0x1350ed={'lAlYT':_0x2bdd03(0x1b2)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(clearInterval(this[_0x2bdd03(0x165)]),this[_0x2bdd03(0x165)]=null);if(this[_0x2bdd03(0x18d)]){for(const _0x156ec0 of this['_wss']['clients']){try{_0x156ec0[_0x2bdd03(0x16e)](0x3e9,_0x1350ed['lAlYT']);}catch(_0x6c25c){}}this[_0x2bdd03(0x18d)][_0x2bdd03(0x16e)]();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this[_0x2bdd03(0x159)]['quit']();}catch(_0x590ac0){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x2bdd03(0x194)][_0x2bdd03(0x140)]();}catch(_0x4498cb){}this['_subscriptions'][_0x2bdd03(0x160)](),this['_initialized']=![],this['_logger']['info']({'event':_0x2bdd03(0x176),'mode':this['_mode']},'Live\x20Sync\x20'+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x14e2a2){const _0x12cb68=a0_0x52b64c,_0x7951f2={'SZMeE':'/ws','JwCAJ':'localhost','gLwlm':'x-api-key','nQPOs':function(_0x2c67db,_0x260e17){return _0x2c67db!==_0x260e17;},'GaIOP':_0x12cb68(0x14a),'NchjK':'upgrade'},_0x3697fe=_0x14e2a2[_0x12cb68(0x138)](_0x7951f2['NchjK'])['slice']();_0x14e2a2['removeAllListeners']('upgrade'),_0x14e2a2['on']('upgrade',(_0x5446b7,_0x3f703d,_0x12832e)=>{const _0x43d25c=_0x12cb68;if(!_0x5446b7[_0x43d25c(0x15d)]||!_0x5446b7['url'][_0x43d25c(0x1b6)](_0x7951f2['SZMeE'])){for(const _0x5b0987 of _0x3697fe){_0x5b0987['call'](_0x14e2a2,_0x5446b7,_0x3f703d,_0x12832e);}return;}if(this[_0x43d25c(0x17c)]['apiKey']){const _0x782548=new URL(_0x5446b7[_0x43d25c(0x15d)],_0x43d25c(0x12e)+(_0x5446b7[_0x43d25c(0x18e)][_0x43d25c(0x170)]||_0x7951f2['JwCAJ'])),_0x2757c8=_0x782548[_0x43d25c(0x192)]['get'](_0x7951f2[_0x43d25c(0x1b5)])||_0x5446b7['headers']['x-api-key'];if(!_0x2757c8||_0x7951f2['nQPOs'](_0x2757c8,this[_0x43d25c(0x17c)][_0x43d25c(0x14d)])){_0x3f703d['write'](_0x7951f2['GaIOP']),_0x3f703d[_0x43d25c(0x149)]();return;}}this['_wss']['handleUpgrade'](_0x5446b7,_0x3f703d,_0x12832e,_0x4f26c4=>{const _0xf87218=_0x43d25c;this[_0xf87218(0x18d)][_0xf87218(0x145)]('connection',_0x4f26c4,_0x5446b7);});});}['_handleConnection'](_0x588d9a,_0x2f4b16){const _0x1bfafd=a0_0x52b64c,_0x48c444={'fBQUx':_0x1bfafd(0x1b0),'LViQV':_0x1bfafd(0x166),'FCenS':'livesync_client_disconnected','ayenn':'livesync_client_error','sMdLc':'message'};_0x588d9a['isAlive']=!![],_0x588d9a['subscribedChannels']=new Set();const _0x93577f=_0x2f4b16[_0x1bfafd(0x18e)][_0x1bfafd(0x12c)]||_0x2f4b16[_0x1bfafd(0x178)]['remoteAddress'];this[_0x1bfafd(0x168)][_0x1bfafd(0x1ab)]({'event':_0x1bfafd(0x12f),'ip':_0x93577f},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x93577f),_0x588d9a['on']('pong',()=>{const _0x516783=_0x1bfafd;_0x588d9a[_0x516783(0x129)]=!![];}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x151)],_0x2ae0e2=>{const _0x37fba4=_0x1bfafd;try{const _0x53b517=JSON['parse'](_0x2ae0e2[_0x37fba4(0x18b)]());this[_0x37fba4(0x15b)](_0x588d9a,_0x53b517);}catch(_0x557544){this[_0x37fba4(0x130)](_0x588d9a,{'type':_0x48c444['fBQUx'],'message':_0x48c444[_0x37fba4(0x1a6)]});}}),_0x588d9a['on']('close',()=>{const _0x25904d=_0x1bfafd;this[_0x25904d(0x179)](_0x588d9a),this[_0x25904d(0x168)][_0x25904d(0x186)]({'event':_0x48c444['FCenS'],'ip':_0x93577f},_0x25904d(0x181)+_0x93577f);}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x187)],_0x2d6be5=>{const _0x4ee22d=_0x1bfafd;this[_0x4ee22d(0x168)]['warn']({'event':_0x48c444['ayenn'],'error':_0x2d6be5[_0x4ee22d(0x15a)]},_0x4ee22d(0x177)+_0x2d6be5['message']),this['_removeClientFromAllChannels'](_0x588d9a);});}['_handleClientMessage'](_0x4361eb,_0x42c2b8){const _0x50ff58=a0_0x52b64c,_0xef6614={'dBoxT':'unsubscribe','ivvkv':'pong','CVhJw':'error'};switch(_0x42c2b8[_0x50ff58(0x1a5)]){case _0x50ff58(0x191):this[_0x50ff58(0x13a)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x156)]:this[_0x50ff58(0x14f)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x175)]:_0x4361eb['isAlive']=!![];break;default:this['_sendToClient'](_0x4361eb,{'type':_0xef6614['CVhJw'],'message':'Unknown\x20message\x20type:\x20'+_0x42c2b8['type']});}}['_handleSubscribe'](_0x315f23,_0x59d1f5){const _0x338474=a0_0x52b64c,_0x5d26aa={'SOaje':'error','fybOe':'channels\x20must\x20be\x20a\x20non-empty\x20array','ZlgAf':function(_0xf6e4cd,_0x1264a7){return _0xf6e4cd!==_0x1264a7;},'hHnhe':_0x338474(0x132),'JLsKM':function(_0x2f3da6,_0x1b6a00){return _0x2f3da6>_0x1b6a00;},'LdQBm':'subscribed','kiSno':'livesync_subscribe'};if(!Array[_0x338474(0x1b4)](_0x59d1f5)||_0x59d1f5[_0x338474(0x16f)]===0x0){this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa[_0x338474(0x163)],'message':_0x5d26aa['fybOe']});return;}const _0x502af5=[];for(const _0x4b64ea of _0x59d1f5){if(_0x5d26aa['ZlgAf'](typeof _0x4b64ea,_0x5d26aa[_0x338474(0x1a0)])||!_0x4b64ea['includes'](':'))continue;!this[_0x338474(0x17a)][_0x338474(0x150)](_0x4b64ea)&&this[_0x338474(0x17a)]['set'](_0x4b64ea,new Set()),this[_0x338474(0x17a)]['get'](_0x4b64ea)['add'](_0x315f23),_0x315f23[_0x338474(0x1ac)][_0x338474(0x196)](_0x4b64ea),_0x502af5['push'](_0x4b64ea);}_0x5d26aa['JLsKM'](_0x502af5[_0x338474(0x16f)],0x0)&&(this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa['LdQBm'],'channels':_0x502af5,'timestamp':new Date()[_0x338474(0x16a)]()}),this['_logger'][_0x338474(0x186)]({'event':_0x5d26aa['kiSno'],'channels':_0x502af5},_0x338474(0x131)+_0x502af5['join'](',\x20')));}['_handleUnsubscribe'](_0x338f2c,_0x5976a9){const _0x2a4b06=a0_0x52b64c;if(!Array[_0x2a4b06(0x1b4)](_0x5976a9))return;const _0x155d0b=[];for(const _0x2dbccb of _0x5976a9){this[_0x2a4b06(0x17a)]['has'](_0x2dbccb)&&(this['_subscriptions'][_0x2a4b06(0x167)](_0x2dbccb)[_0x2a4b06(0x189)](_0x338f2c),this[_0x2a4b06(0x17a)]['get'](_0x2dbccb)['size']===0x0&&this[_0x2a4b06(0x17a)][_0x2a4b06(0x189)](_0x2dbccb)),_0x338f2c[_0x2a4b06(0x1ac)][_0x2a4b06(0x189)](_0x2dbccb),_0x155d0b[_0x2a4b06(0x1a7)](_0x2dbccb);}_0x155d0b[_0x2a4b06(0x16f)]>0x0&&this['_sendToClient'](_0x338f2c,{'type':'unsubscribed','channels':_0x155d0b,'timestamp':new Date()[_0x2a4b06(0x16a)]()});}[a0_0x52b64c(0x179)](_0x428cb8){const _0x14612d=a0_0x52b64c,_0x4bd481={'wOVgh':function(_0x4d893e,_0x4027a1){return _0x4d893e===_0x4027a1;}};if(!_0x428cb8['subscribedChannels'])return;for(const _0x5c35a2 of _0x428cb8['subscribedChannels']){this['_subscriptions'][_0x14612d(0x150)](_0x5c35a2)&&(this[_0x14612d(0x17a)]['get'](_0x5c35a2)['delete'](_0x428cb8),_0x4bd481[_0x14612d(0x17e)](this[_0x14612d(0x17a)]['get'](_0x5c35a2)[_0x14612d(0x12d)],0x0)&&this['_subscriptions']['delete'](_0x5c35a2));}_0x428cb8[_0x14612d(0x1ac)]['clear']();}[a0_0x52b64c(0x130)](_0x4d4ecd,_0x1dd5d6){const _0x68e2={'xNmuR':function(_0x156ac9,_0x3421fe){return _0x156ac9===_0x3421fe;}};if(_0x68e2['xNmuR'](_0x4d4ecd['readyState'],0x1))try{_0x4d4ecd['send'](JSON['stringify'](_0x1dd5d6));}catch(_0x5ed2d0){}}['_startHeartbeat'](_0x4fc822){const _0x4ff437=a0_0x52b64c,_0x2c2199={'RbYyi':function(_0x3642f8,_0x7535ed,_0x5e107e){return _0x3642f8(_0x7535ed,_0x5e107e);},'IVbGh':function(_0x510488,_0x5f2438){return _0x510488*_0x5f2438;}};this['_heartbeatTimer']=_0x2c2199[_0x4ff437(0x155)](setInterval,()=>{const _0x1d6791=_0x4ff437;if(!this['_wss'])return;for(const _0x2fdb75 of this[_0x1d6791(0x18d)][_0x1d6791(0x17b)]){if(!_0x2fdb75['isAlive']){this['_removeClientFromAllChannels'](_0x2fdb75),_0x2fdb75[_0x1d6791(0x153)]();continue;}_0x2fdb75['isAlive']=![],this['_sendToClient'](_0x2fdb75,{'type':_0x1d6791(0x182),'timestamp':new Date()[_0x1d6791(0x16a)]()});try{_0x2fdb75['ping']();}catch(_0x52f6f1){}}},_0x2c2199['IVbGh'](_0x4fc822,0x3e8));}[a0_0x52b64c(0x19c)](){const _0x368180=a0_0x52b64c,_0x2e29a2={'wPDkU':function(_0x10f068,_0x8deb16){return _0x10f068(_0x8deb16);},'LSgCr':_0x368180(0x173),'meKdj':function(_0x296273,_0x3dc9d9){return _0x296273(_0x3dc9d9);},'srSXs':_0x368180(0x134),'qYZvc':function(_0x103cba,_0x3121a6,_0xd2de1d){return _0x103cba(_0x3121a6,_0xd2de1d);},'UZTxI':_0x368180(0x154)};this['_ownPublisher']=![];try{try{const _0x83bb04=_0x2e29a2['wPDkU'](require,_0x2e29a2['LSgCr']);this['_redisPublisher']=_0x83bb04[_0x368180(0x14e)]?_0x83bb04['getClient']():null;}catch(_0x3be351){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x290f1b=_0x2e29a2['meKdj'](require,_0x368180(0x1a4)),_0x84eeaf={'host':process['env'][_0x368180(0x136)]||_0x2e29a2['srSXs'],'port':_0x2e29a2['qYZvc'](parseInt,process[_0x368180(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x368180(0x1b7)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x368180(0x1b7)][_0x368180(0x135)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x290f1b(_0x84eeaf),this['_ownPublisher']=!![],this[_0x368180(0x194)][_0x368180(0x139)]()[_0x368180(0x147)](()=>{this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x7fc08e){this['_logger']['warn']({'event':_0x2e29a2[_0x368180(0x19a)],'error':_0x7fc08e[_0x368180(0x15a)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7fc08e[_0x368180(0x15a)]);}}[a0_0x52b64c(0x15e)](){const _0xd6bb3c=a0_0x52b64c,_0x204069={'bFThs':_0xd6bb3c(0x146),'FEbql':'livesync_redis_subscribe_error','xczHN':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','fwxvz':function(_0x349d29,_0x17767e){return _0x349d29(_0x17767e);},'nTpll':'ioredis'};this['_ownPublisher']=![];try{const _0x4f2793=_0x204069['fwxvz'](require,_0x204069[_0xd6bb3c(0x13c)]),_0x18eba7={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0xd6bb3c(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0xd6bb3c(0x188)]||undefined,'db':parseInt(process['env'][_0xd6bb3c(0x135)],0xa)||0x0,'lazyConnect':!![]};try{const _0x3f7329=require(_0xd6bb3c(0x173));this['_redisPublisher']=_0x3f7329[_0xd6bb3c(0x14e)]?_0x3f7329['getClient']():null;}catch(_0x37f3fe){this['_redisPublisher']=null;}!this[_0xd6bb3c(0x194)]&&(this[_0xd6bb3c(0x194)]=new _0x4f2793(_0x18eba7),this['_ownPublisher']=!![],this['_redisPublisher'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x147)](()=>{const _0x4b0feb=_0xd6bb3c;this[_0x4b0feb(0x168)]['warn']({'event':'livesync_redis_publisher_failed'},_0x204069[_0x4b0feb(0x1b3)]),this['_redisPublisher']=null;})),this[_0xd6bb3c(0x159)]=new _0x4f2793(_0x18eba7),this['_redisSubscriber'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x164)](()=>{const _0x1b28f0=_0xd6bb3c,_0x26c2a1={'jeAgC':_0x204069['FEbql'],'ALyep':_0x1b28f0(0x190),'gVqyG':function(_0x226a28,_0x43e925){return _0x226a28===_0x43e925;}};this['_redisSubscriber'][_0x1b28f0(0x191)](REDIS_CHANNEL_PREFIX+_0x1b28f0(0x18c),_0x1b2bb1=>{const _0x503ef9=_0x1b28f0;if(_0x1b2bb1){this[_0x503ef9(0x168)][_0x503ef9(0x1b0)]({'event':_0x26c2a1[_0x503ef9(0x1af)],'error':_0x1b2bb1[_0x503ef9(0x15a)]},_0x503ef9(0x133)+_0x1b2bb1[_0x503ef9(0x15a)]);return;}this[_0x503ef9(0x168)][_0x503ef9(0x1ab)]({'event':'livesync_redis_subscribed'},_0x26c2a1[_0x503ef9(0x195)]);}),this[_0x1b28f0(0x159)]['on']('message',(_0x573245,_0x1e1734)=>{const _0x506635=_0x1b28f0;try{const _0x1c1fdd=JSON[_0x506635(0x17f)](_0x1e1734);if(_0x26c2a1[_0x506635(0x174)](_0x1c1fdd['workerId'],this[_0x506635(0x157)]))return;this['_broadcastLocal'](_0x1c1fdd['channel'],_0x1c1fdd['message']);}catch(_0x581de1){}});})['catch'](()=>{const _0x4c7a0=_0xd6bb3c;this['_logger']['warn']({'event':_0x4c7a0(0x142)},_0x204069['xczHN']),this['_redisSubscriber']=null;});}catch(_0xa45fbb){this['_logger']['warn']({'event':_0xd6bb3c(0x154),'error':_0xa45fbb['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0xa45fbb['message']);}}['_broadcastLocal'](_0x5f15fa,_0x200e06){const _0xec47fc=a0_0x52b64c,_0x29d4e5={'ghVLz':function(_0x34c34f,_0x369190){return _0x34c34f===_0x369190;},'KUDRM':function(_0x2e820b,_0x5e6802){return _0x2e820b===_0x5e6802;},'pcvUZ':function(_0x144a5d,_0x1c41ae){return _0x144a5d===_0x1c41ae;}};if(!this['_wss'])return;const _0x423337=JSON['stringify']({'type':_0xec47fc(0x1ae),'channel':_0x5f15fa,'action':_0x200e06[_0xec47fc(0x1a9)],'data':_0x200e06[_0xec47fc(0x15c)],'requestId':_0x200e06[_0xec47fc(0x1b1)]||null,'timestamp':new Date()['toISOString']()}),[_0x5d65d4]=_0x5f15fa['split'](':');for(const [_0x5721bf,_0x24da5e]of this['_subscriptions']){const _0x2ae333=_0x29d4e5[_0xec47fc(0x14b)](_0x5721bf,_0x5f15fa),_0x3d3a1a=_0x29d4e5[_0xec47fc(0x13f)](_0x5721bf,_0x5d65d4+':*');if(_0x2ae333||_0x3d3a1a)for(const _0x211ca6 of _0x24da5e){if(_0x29d4e5[_0xec47fc(0x197)](_0x211ca6[_0xec47fc(0x198)],0x1))try{_0x211ca6['send'](_0x423337);}catch(_0x421a87){}}}}}module[a0_0x52b64c(0x180)]=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x128667=a0_0x3a24;(function(_0x253bf2,_0x2f9421){const _0x378b9a=a0_0x3a24,_0x1bf76f=_0x253bf2();while(!![]){try{const _0x3ec8a8=parseInt(_0x378b9a(0x1bd))/0x1+parseInt(_0x378b9a(0x21c))/0x2+-parseInt(_0x378b9a(0x20a))/0x3*(-parseInt(_0x378b9a(0x1f6))/0x4)+-parseInt(_0x378b9a(0x1b5))/0x5+parseInt(_0x378b9a(0x1eb))/0x6+-parseInt(_0x378b9a(0x212))/0x7+-parseInt(_0x378b9a(0x238))/0x8;if(_0x3ec8a8===_0x2f9421)break;else _0x1bf76f['push'](_0x1bf76f['shift']());}catch(_0x5a18b9){_0x1bf76f['push'](_0x1bf76f['shift']());}}}(a0_0x8c42,0xd219a));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x128667(0x1dd)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x192961=a0_0x128667;this['_wss']=null,this[_0x192961(0x1c1)]=![],this['_mode']=null,this[_0x192961(0x1de)]={},this[_0x192961(0x208)]=console,this[_0x192961(0x1ee)]=new Map(),this[_0x192961(0x200)]=null,this['_redisPublisher']=null,this['_redisSubscriber']=null,this['_workerId']=process['pid'];}['initialize'](_0x4e8735,_0x5cfb5c={}){const _0x311618=a0_0x128667,_0x4aa37e={'iMeas':_0x311618(0x1d5),'HGYPU':_0x311618(0x1d9)};if(this['_initialized'])return;this[_0x311618(0x1de)]=_0x5cfb5c,this['_mode']=_0x311618(0x22b);try{this['_logger']=require(_0x4aa37e[_0x311618(0x1d1)])[_0x311618(0x1f2)]||console;}catch(_0x2b96bf){this[_0x311618(0x208)]=console;}const _0x2549c0=parseInt(process[_0x311618(0x207)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x311618(0x22a)]=new WebSocketServer({'server':_0x4e8735,'path':_0x4aa37e['HGYPU']}),this[_0x311618(0x227)](_0x4e8735),this['_wss']['on'](_0x311618(0x1b6),(_0x13b12b,_0x4e2c0d)=>this['_handleConnection'](_0x13b12b,_0x4e2c0d)),this['_wss']['on'](_0x311618(0x1a7),_0x319365=>{const _0x1a01bd=_0x311618;this['_logger']['error']({'event':'livesync_wss_error','error':_0x319365['message']},_0x1a01bd(0x235)+_0x319365['message']);}),this[_0x311618(0x228)](_0x2549c0),this[_0x311618(0x215)](),this['_initialized']=!![],this[_0x311618(0x208)][_0x311618(0x202)]({'event':'livesync_initialized','mode':_0x311618(0x22b),'path':_0x311618(0x1d9),'heartbeat':_0x2549c0+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x2549c0+'s)');}['initializeAsPublisher'](_0x37c764={}){const _0x416446=a0_0x128667,_0x4c09fc={'tBTel':'publisher','wvLvF':function(_0x231432,_0x15411a){return _0x231432(_0x15411a);},'ZmWaK':'livesync_publisher_initialized'};if(this['_initialized'])return;this['_options']=_0x37c764,this['_mode']=_0x4c09fc['tBTel'];try{this[_0x416446(0x208)]=_0x4c09fc['wvLvF'](require,'../../utils/logger')['logger']||console;}catch(_0x3f757c){this[_0x416446(0x208)]=console;}this[_0x416446(0x1c7)](),this['_initialized']=!![],this['_logger']['info']({'event':_0x4c09fc[_0x416446(0x21a)],'mode':_0x416446(0x1c9)},_0x416446(0x22e));}[a0_0x128667(0x1f4)](){return this['_initialized'];}[a0_0x128667(0x1fb)](_0x55dbf3,_0x46df1e){const _0x1d12af=a0_0x128667,_0x5744bb={'TuPWD':function(_0x209b24,_0x3e729e){return _0x209b24===_0x3e729e;},'Nwscz':_0x1d12af(0x1c9),'oesWe':function(_0x546d39,_0x74bd78){return _0x546d39===_0x74bd78;},'YuVQE':function(_0x4f0047,_0x5ae484){return _0x4f0047===_0x5ae484;},'Junsj':function(_0xd2a75b,_0x350ac0){return _0xd2a75b||_0x350ac0;},'QxoGR':function(_0x53c26b,_0x23c204){return _0x53c26b>_0x23c204;}};if(!this[_0x1d12af(0x1c1)])return;if(_0x5744bb[_0x1d12af(0x201)](this['_mode'],_0x5744bb[_0x1d12af(0x1e9)])){this[_0x1d12af(0x226)](_0x55dbf3,_0x46df1e);return;}const _0x14d670=JSON['stringify']({'type':_0x1d12af(0x1f5),'channel':_0x55dbf3,'action':_0x46df1e['action'],'data':_0x46df1e[_0x1d12af(0x225)],'requestId':_0x46df1e['requestId']||null,'timestamp':new Date()[_0x1d12af(0x1e5)]()}),[_0x47d098]=_0x55dbf3[_0x1d12af(0x1aa)](':');let _0x2e5ab2=0x0;for(const [_0x477971,_0x22a5d0]of this[_0x1d12af(0x1ee)]){const _0x4ba4df=_0x5744bb['oesWe'](_0x477971,_0x55dbf3),_0x3f40ca=_0x5744bb['YuVQE'](_0x477971,_0x47d098+':*');if(_0x5744bb[_0x1d12af(0x1dc)](_0x4ba4df,_0x3f40ca))for(const _0xff70b4 of _0x22a5d0){if(_0xff70b4[_0x1d12af(0x1c6)]===0x1)try{_0xff70b4['send'](_0x14d670),_0x2e5ab2++;}catch(_0x58d44b){}}}_0x5744bb[_0x1d12af(0x1d2)](_0x2e5ab2,0x0)&&this['_logger'][_0x1d12af(0x1e1)]({'event':_0x1d12af(0x1f1),'channel':_0x55dbf3,'action':_0x46df1e['action'],'clients':_0x2e5ab2},_0x1d12af(0x216)+_0x46df1e[_0x1d12af(0x232)]+_0x1d12af(0x1d6)+_0x55dbf3+'\x20to\x20'+_0x2e5ab2+_0x1d12af(0x217));}[a0_0x128667(0x226)](_0x5b09f3,_0x128635){const _0x5f1596=a0_0x128667;if(!this[_0x5f1596(0x1df)])return;const _0x514cba=JSON['stringify']({'channel':_0x5b09f3,'message':_0x128635,'workerId':this[_0x5f1596(0x1fd)]});this[_0x5f1596(0x1df)][_0x5f1596(0x1fc)](REDIS_CHANNEL_PREFIX+'broadcast',_0x514cba)[_0x5f1596(0x239)](()=>{});}[a0_0x128667(0x1c0)](){const _0x40b8b8=a0_0x128667,_0x3ed4c1={'VTAKu':function(_0x1cc0a7,_0x27e815){return _0x1cc0a7(_0x27e815);},'aiusf':'livesync_shutdown'};if(!this[_0x40b8b8(0x1c1)])return;this['_heartbeatTimer']&&(_0x3ed4c1['VTAKu'](clearInterval,this[_0x40b8b8(0x200)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x4b7f53 of this[_0x40b8b8(0x22a)][_0x40b8b8(0x218)]){try{_0x4b7f53[_0x40b8b8(0x1d0)](0x3e9,'Server\x20shutting\x20down');}catch(_0xd416c9){}}this[_0x40b8b8(0x22a)][_0x40b8b8(0x1d0)]();}if(this[_0x40b8b8(0x229)])try{this[_0x40b8b8(0x229)]['unsubscribe'](),this['_redisSubscriber'][_0x40b8b8(0x21b)]();}catch(_0x31675a){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x40b8b8(0x1df)]['quit']();}catch(_0x15185c){}this['_subscriptions'][_0x40b8b8(0x1b7)](),this['_initialized']=![],this[_0x40b8b8(0x208)][_0x40b8b8(0x202)]({'event':_0x3ed4c1['aiusf'],'mode':this[_0x40b8b8(0x20c)]},_0x40b8b8(0x1ad)+this[_0x40b8b8(0x20c)]+_0x40b8b8(0x210));}[a0_0x128667(0x227)](_0x32bfdd){const _0x1da714=a0_0x128667,_0x1ed71a={'sxppT':'connection','bfTLZ':'/ws','hkDXt':_0x1da714(0x1be),'CZudz':'x-api-key','jDSjS':_0x1da714(0x1c8)},_0x488600=_0x32bfdd['listeners'](_0x1ed71a[_0x1da714(0x20f)])[_0x1da714(0x1ca)]();_0x32bfdd[_0x1da714(0x209)](_0x1da714(0x1c8)),_0x32bfdd['on'](_0x1ed71a[_0x1da714(0x20f)],(_0x74da31,_0x2a13a8,_0x55f96d)=>{const _0x52cc43=_0x1da714;if(!_0x74da31[_0x52cc43(0x1dd)]||!_0x74da31['url']['startsWith'](_0x1ed71a[_0x52cc43(0x1a8)])){for(const _0x5e65a5 of _0x488600){_0x5e65a5[_0x52cc43(0x1fa)](_0x32bfdd,_0x74da31,_0x2a13a8,_0x55f96d);}return;}if(this['_options'][_0x52cc43(0x204)]){const _0x2525e5=new URL(_0x74da31[_0x52cc43(0x1dd)],'http://'+(_0x74da31[_0x52cc43(0x1ff)][_0x52cc43(0x1db)]||_0x1ed71a['hkDXt'])),_0x59c189=_0x2525e5['searchParams']['get'](_0x1ed71a[_0x52cc43(0x224)])||_0x74da31[_0x52cc43(0x1ff)][_0x1ed71a['CZudz']];if(!_0x59c189||_0x59c189!==this['_options'][_0x52cc43(0x204)]){_0x2a13a8['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x2a13a8[_0x52cc43(0x1ce)]();return;}}this[_0x52cc43(0x22a)]['handleUpgrade'](_0x74da31,_0x2a13a8,_0x55f96d,_0x4f0313=>{const _0x5680df=_0x52cc43;this['_wss'][_0x5680df(0x1b2)](_0x1ed71a['sxppT'],_0x4f0313,_0x74da31);});});}['_handleConnection'](_0x1a0b99,_0x4a925d){const _0x217d79=a0_0x128667,_0x4d24e2={'XVoYv':'error','FNpZA':'livesync_client_disconnected','sserM':_0x217d79(0x1ac),'rPuQJ':_0x217d79(0x1ec),'LwxRv':_0x217d79(0x1af),'rgyTT':_0x217d79(0x1f7)};_0x1a0b99[_0x217d79(0x1c2)]=!![],_0x1a0b99[_0x217d79(0x211)]=new Set();const _0x551a56=_0x4a925d['headers'][_0x4d24e2[_0x217d79(0x1c3)]]||_0x4a925d['socket']['remoteAddress'];this[_0x217d79(0x208)][_0x217d79(0x202)]({'event':_0x217d79(0x231),'ip':_0x551a56},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x551a56),_0x1a0b99['on'](_0x4d24e2[_0x217d79(0x1b1)],()=>{_0x1a0b99['isAlive']=!![];}),_0x1a0b99['on'](_0x4d24e2['rgyTT'],_0x3710eb=>{const _0x42d0c0=_0x217d79;try{const _0x259729=JSON[_0x42d0c0(0x21d)](_0x3710eb['toString']());this['_handleClientMessage'](_0x1a0b99,_0x259729);}catch(_0x49e676){this['_sendToClient'](_0x1a0b99,{'type':_0x4d24e2[_0x42d0c0(0x1f9)],'message':'Invalid\x20JSON\x20message'});}}),_0x1a0b99['on']('close',()=>{const _0xd96418=_0x217d79;this['_removeClientFromAllChannels'](_0x1a0b99),this['_logger']['debug']({'event':_0x4d24e2[_0xd96418(0x1cf)],'ip':_0x551a56},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x551a56);}),_0x1a0b99['on'](_0x4d24e2['XVoYv'],_0x5012a8=>{const _0x520ece=_0x217d79;this[_0x520ece(0x208)][_0x520ece(0x1b3)]({'event':_0x4d24e2[_0x520ece(0x234)],'error':_0x5012a8['message']},'WebSocket\x20client\x20error:\x20'+_0x5012a8['message']),this[_0x520ece(0x1d8)](_0x1a0b99);});}[a0_0x128667(0x20e)](_0x83b9c1,_0x37bf40){const _0x47cb17=a0_0x128667,_0x44e668={'amcQX':'subscribe','YRITQ':_0x47cb17(0x1f0),'uajFp':_0x47cb17(0x1af),'TosuU':'error'};switch(_0x37bf40[_0x47cb17(0x1b4)]){case _0x44e668[_0x47cb17(0x1a6)]:this[_0x47cb17(0x230)](_0x83b9c1,_0x37bf40[_0x47cb17(0x1e3)]);break;case _0x44e668[_0x47cb17(0x1bc)]:this[_0x47cb17(0x1da)](_0x83b9c1,_0x37bf40['channels']);break;case _0x44e668['uajFp']:_0x83b9c1[_0x47cb17(0x1c2)]=!![];break;default:this['_sendToClient'](_0x83b9c1,{'type':_0x44e668[_0x47cb17(0x1cb)],'message':_0x47cb17(0x1b9)+_0x37bf40[_0x47cb17(0x1b4)]});}}['_handleSubscribe'](_0xe4f9f0,_0x34ee62){const _0x53ce22=a0_0x128667,_0x390160={'WFRdT':function(_0x941c02,_0x33ec9){return _0x941c02===_0x33ec9;},'FfMSW':'error','jWSEl':function(_0x11986d,_0x5858f6){return _0x11986d!==_0x5858f6;},'bhWeq':_0x53ce22(0x1e4),'FJqJL':'livesync_subscribe'};if(!Array[_0x53ce22(0x1b0)](_0x34ee62)||_0x390160['WFRdT'](_0x34ee62[_0x53ce22(0x21f)],0x0)){this[_0x53ce22(0x236)](_0xe4f9f0,{'type':_0x390160['FfMSW'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x1bffd1=[];for(const _0x279d43 of _0x34ee62){if(_0x390160['jWSEl'](typeof _0x279d43,_0x390160['bhWeq'])||!_0x279d43[_0x53ce22(0x1cc)](':'))continue;!this[_0x53ce22(0x1ee)][_0x53ce22(0x1bf)](_0x279d43)&&this['_subscriptions'][_0x53ce22(0x1fe)](_0x279d43,new Set()),this['_subscriptions']['get'](_0x279d43)[_0x53ce22(0x1cd)](_0xe4f9f0),_0xe4f9f0[_0x53ce22(0x211)]['add'](_0x279d43),_0x1bffd1[_0x53ce22(0x1ed)](_0x279d43);}_0x1bffd1['length']>0x0&&(this[_0x53ce22(0x236)](_0xe4f9f0,{'type':'subscribed','channels':_0x1bffd1,'timestamp':new Date()[_0x53ce22(0x1e5)]()}),this['_logger']['debug']({'event':_0x390160['FJqJL'],'channels':_0x1bffd1},_0x53ce22(0x1ba)+_0x1bffd1[_0x53ce22(0x20b)](',\x20')));}['_handleUnsubscribe'](_0x4fb6cc,_0x4ed212){const _0x38eb90=a0_0x128667,_0x1d8730={'fDigE':function(_0x5e2ba3,_0x168639){return _0x5e2ba3===_0x168639;}};if(!Array[_0x38eb90(0x1b0)](_0x4ed212))return;const _0x41310a=[];for(const _0x4e6df3 of _0x4ed212){this[_0x38eb90(0x1ee)][_0x38eb90(0x1bf)](_0x4e6df3)&&(this[_0x38eb90(0x1ee)]['get'](_0x4e6df3)['delete'](_0x4fb6cc),_0x1d8730['fDigE'](this['_subscriptions']['get'](_0x4e6df3)['size'],0x0)&&this[_0x38eb90(0x1ee)]['delete'](_0x4e6df3)),_0x4fb6cc[_0x38eb90(0x211)][_0x38eb90(0x219)](_0x4e6df3),_0x41310a[_0x38eb90(0x1ed)](_0x4e6df3);}_0x41310a[_0x38eb90(0x21f)]>0x0&&this[_0x38eb90(0x236)](_0x4fb6cc,{'type':'unsubscribed','channels':_0x41310a,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x2e07d5){const _0x4ec274=a0_0x128667;if(!_0x2e07d5['subscribedChannels'])return;for(const _0xca4fbb of _0x2e07d5['subscribedChannels']){this[_0x4ec274(0x1ee)]['has'](_0xca4fbb)&&(this[_0x4ec274(0x1ee)]['get'](_0xca4fbb)[_0x4ec274(0x219)](_0x2e07d5),this[_0x4ec274(0x1ee)]['get'](_0xca4fbb)['size']===0x0&&this['_subscriptions'][_0x4ec274(0x219)](_0xca4fbb));}_0x2e07d5[_0x4ec274(0x211)]['clear']();}[a0_0x128667(0x236)](_0x15a427,_0x5ca3d5){const _0x1d7176=a0_0x128667,_0x5d6367={'xtDxw':function(_0x35631e,_0x4eaf10){return _0x35631e===_0x4eaf10;}};if(_0x5d6367[_0x1d7176(0x223)](_0x15a427[_0x1d7176(0x1c6)],0x1))try{_0x15a427[_0x1d7176(0x1b8)](JSON[_0x1d7176(0x22d)](_0x5ca3d5));}catch(_0x520427){}}[a0_0x128667(0x228)](_0x1b919d){const _0x27d43b=a0_0x128667,_0x5b9c49={'GCYWf':_0x27d43b(0x203),'yGktX':function(_0xdcc606,_0x47302c){return _0xdcc606*_0x47302c;}};this['_heartbeatTimer']=setInterval(()=>{const _0x1325c1=_0x27d43b;if(!this[_0x1325c1(0x22a)])return;for(const _0x27813b of this['_wss'][_0x1325c1(0x218)]){if(!_0x27813b[_0x1325c1(0x1c2)]){this[_0x1325c1(0x1d8)](_0x27813b),_0x27813b[_0x1325c1(0x237)]();continue;}_0x27813b[_0x1325c1(0x1c2)]=![],this['_sendToClient'](_0x27813b,{'type':_0x5b9c49['GCYWf'],'timestamp':new Date()[_0x1325c1(0x1e5)]()});try{_0x27813b['ping']();}catch(_0x15ff32){}}},_0x5b9c49[_0x27d43b(0x214)](_0x1b919d,0x3e8));}['_setupRedisPublisher'](){const _0x30d523=a0_0x128667,_0x5ab794={'LRbaW':function(_0x5c34d0,_0x747e60){return _0x5c34d0(_0x747e60);},'wFvcr':'ioredis','SsEtF':_0x30d523(0x213),'AwcJD':function(_0x311a2a,_0x4eb290,_0xbcdba6){return _0x311a2a(_0x4eb290,_0xbcdba6);},'ZdBHB':function(_0xd439a4,_0x8a38b6,_0x11930e){return _0xd439a4(_0x8a38b6,_0x11930e);},'LlYAc':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x82057c=_0x5ab794[_0x30d523(0x221)](require,_0x30d523(0x1f3));this[_0x30d523(0x1df)]=_0x82057c['getClient']?_0x82057c['getClient']():null;}catch(_0x47063c){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1a5cf2=_0x5ab794[_0x30d523(0x221)](require,_0x5ab794[_0x30d523(0x1bb)]),_0x46a5a0={'host':process[_0x30d523(0x207)][_0x30d523(0x1e0)]||_0x5ab794[_0x30d523(0x222)],'port':_0x5ab794[_0x30d523(0x233)](parseInt,process[_0x30d523(0x207)][_0x30d523(0x1ab)],0xa)||0x18eb,'password':process[_0x30d523(0x207)][_0x30d523(0x1f8)]||undefined,'db':_0x5ab794['ZdBHB'](parseInt,process[_0x30d523(0x207)][_0x30d523(0x1e6)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x1a5cf2(_0x46a5a0),this['_ownPublisher']=!![],this['_redisPublisher'][_0x30d523(0x1e2)]()['catch'](()=>{const _0xd954e6=_0x30d523;this[_0xd954e6(0x208)][_0xd954e6(0x1b3)]({'event':_0xd954e6(0x1ea)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0xd954e6(0x1df)]=null;});}}catch(_0x17877f){this['_logger']['warn']({'event':_0x5ab794[_0x30d523(0x1d7)],'error':_0x17877f['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x17877f['message']);}}[a0_0x128667(0x215)](){const _0x519fb5=a0_0x128667,_0x18ccef={'lslJe':_0x519fb5(0x1ea),'SwMvA':'livesync_redis_subscribe_error','ojNoj':'livesync_redis_subscribed','pbZTY':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode','KcqXU':'message','VlCbi':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','BJLDZ':function(_0x160683,_0x19cf5e){return _0x160683(_0x19cf5e);},'basOf':_0x519fb5(0x1f3),'lTqSC':'livesync_redis_unavailable'};this[_0x519fb5(0x1ef)]=![];try{const _0x7df686=_0x18ccef[_0x519fb5(0x22c)](require,_0x519fb5(0x220)),_0x3cf6e7={'host':process['env'][_0x519fb5(0x1e0)]||_0x519fb5(0x213),'port':parseInt(process[_0x519fb5(0x207)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x519fb5(0x207)][_0x519fb5(0x1e6)],0xa)||0x0,'lazyConnect':!![]};try{const _0x514c3c=_0x18ccef[_0x519fb5(0x22c)](require,_0x18ccef['basOf']);this[_0x519fb5(0x1df)]=_0x514c3c[_0x519fb5(0x21e)]?_0x514c3c[_0x519fb5(0x21e)]():null;}catch(_0x47efbc){this[_0x519fb5(0x1df)]=null;}!this['_redisPublisher']&&(this[_0x519fb5(0x1df)]=new _0x7df686(_0x3cf6e7),this['_ownPublisher']=!![],this[_0x519fb5(0x1df)]['connect']()['catch'](()=>{const _0x4eca0e=_0x519fb5;this[_0x4eca0e(0x208)][_0x4eca0e(0x1b3)]({'event':_0x18ccef['lslJe']},_0x4eca0e(0x1a9)),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x7df686(_0x3cf6e7),this[_0x519fb5(0x229)][_0x519fb5(0x1e2)]()['then'](()=>{const _0x436975=_0x519fb5;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x1b168a=>{const _0xb95566=a0_0x3a24;if(_0x1b168a){this['_logger']['error']({'event':_0x18ccef[_0xb95566(0x1d4)],'error':_0x1b168a['message']},_0xb95566(0x1e8)+_0x1b168a['message']);return;}this['_logger']['info']({'event':_0x18ccef['ojNoj']},_0x18ccef[_0xb95566(0x206)]);}),this['_redisSubscriber']['on'](_0x18ccef[_0x436975(0x1c5)],(_0xba8e1,_0x5495b8)=>{const _0x3dd099=_0x436975;try{const _0x387201=JSON[_0x3dd099(0x21d)](_0x5495b8);if(_0x387201[_0x3dd099(0x22f)]===this['_workerId'])return;this[_0x3dd099(0x1c4)](_0x387201['channel'],_0x387201['message']);}catch(_0x257919){}});})[_0x519fb5(0x239)](()=>{const _0x5eba14=_0x519fb5;this[_0x5eba14(0x208)][_0x5eba14(0x1b3)]({'event':'livesync_redis_subscriber_failed'},_0x18ccef[_0x5eba14(0x20d)]),this[_0x5eba14(0x229)]=null;});}catch(_0x4beb6e){this['_logger']['warn']({'event':_0x18ccef[_0x519fb5(0x1d3)],'error':_0x4beb6e['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x4beb6e[_0x519fb5(0x1f7)]);}}['_broadcastLocal'](_0x50fb4d,_0x51f373){const _0x2b2b2d=a0_0x128667,_0x41013a={'WxNMY':_0x2b2b2d(0x1f5),'UPjOO':function(_0xe2f719,_0xbfe4ca){return _0xe2f719||_0xbfe4ca;},'oshRP':function(_0x1c9e81,_0x1fec5c){return _0x1c9e81===_0x1fec5c;}};if(!this[_0x2b2b2d(0x22a)])return;const _0x309b97=JSON[_0x2b2b2d(0x22d)]({'type':_0x41013a[_0x2b2b2d(0x205)],'channel':_0x50fb4d,'action':_0x51f373['action'],'data':_0x51f373[_0x2b2b2d(0x225)],'requestId':_0x51f373[_0x2b2b2d(0x1ae)]||null,'timestamp':new Date()[_0x2b2b2d(0x1e5)]()}),[_0x514f2e]=_0x50fb4d['split'](':');for(const [_0x1e722f,_0x2d9f0c]of this[_0x2b2b2d(0x1ee)]){const _0x105f7e=_0x1e722f===_0x50fb4d,_0x39098e=_0x1e722f===_0x514f2e+':*';if(_0x41013a[_0x2b2b2d(0x1e7)](_0x105f7e,_0x39098e))for(const _0x34a418 of _0x2d9f0c){if(_0x41013a['oshRP'](_0x34a418['readyState'],0x1))try{_0x34a418['send'](_0x309b97);}catch(_0x3035a1){}}}}}function a0_0x3a24(_0x13242b,_0x3186f8){_0x13242b=_0x13242b-0x1a6;const _0x8c4270=a0_0x8c42();let _0x3a245a=_0x8c4270[_0x13242b];if(a0_0x3a24['ShPHpY']===undefined){var _0x28fee9=function(_0x561b17){const _0x3b362a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476525='',_0x3ba57b='';for(let _0x4e031b=0x0,_0x44263f,_0x382acd,_0x1c4e21=0x0;_0x382acd=_0x561b17['charAt'](_0x1c4e21++);~_0x382acd&&(_0x44263f=_0x4e031b%0x4?_0x44263f*0x40+_0x382acd:_0x382acd,_0x4e031b++%0x4)?_0x476525+=String['fromCharCode'](0xff&_0x44263f>>(-0x2*_0x4e031b&0x6)):0x0){_0x382acd=_0x3b362a['indexOf'](_0x382acd);}for(let _0x3b00d3=0x0,_0x32b6a7=_0x476525['length'];_0x3b00d3<_0x32b6a7;_0x3b00d3++){_0x3ba57b+='%'+('00'+_0x476525['charCodeAt'](_0x3b00d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ba57b);};a0_0x3a24['usbygt']=_0x28fee9,a0_0x3a24['EdVTJC']={},a0_0x3a24['ShPHpY']=!![];}const _0x578dbd=_0x8c4270[0x0],_0x1cf1f6=_0x13242b+_0x578dbd,_0x19a0c6=a0_0x3a24['EdVTJC'][_0x1cf1f6];return!_0x19a0c6?(_0x3a245a=a0_0x3a24['usbygt'](_0x3a245a),a0_0x3a24['EdVTJC'][_0x1cf1f6]=_0x3a245a):_0x3a245a=_0x19a0c6,_0x3a245a;}module['exports']=WebSocketBroadcaster;function a0_0x8c42(){const _0x1aa8d5=['x2HHBMrSzvvUC3vIC2nYAwjL','Ag9ZDa','sNvUC2O','DxjS','x29WDgLVBNm','x3jLzgLZuhvIBgLZAgvY','uKvesvnFse9tva','zgvIDwC','y29UBMvJDa','y2HHBM5LBhm','C3rYAw5N','Dg9ju09tDhjPBMC','uKvesvnFrei','vvbQt08','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','tNDZy3O','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','odGZmdiZnNzRALjbqq','Ec1MB3j3yxjKzwqTzM9Y','ChvZAa','x3n1yNnJCMLWDgLVBNm','x293BLb1yMXPC2HLCG','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFyNjVywrJyxn0','Bg9Nz2vY','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AxnjBML0AwfSAxPLza','zgf0yv9JAgfUz2u','mJCZnZu3nLDsDwvStG','BwvZC2fNzq','uKvesvnFueftu1DpuKq','wfzVwxy','y2fSBa','yNjVywrJyxn0','ChvIBgLZAa','x3DVCMTLCKLK','C2v0','AgvHzgvYCW','x2HLyxj0yMvHDfrPBwvY','vhvqv0q','Aw5MBW','CgLUzW','yxbPs2v5','v3HotvK','CgjAvfK','zw52','x2XVz2DLCG','CMvTB3zLqwXStgLZDgvUzxjZ','m2L4tw1HvW','AM9PBG','x21Vzgu','vMXdyMK','x2HHBMrSzunSAwvUDe1LC3nHz2u','AKrtALm','ihnODxqGzg93BG','C3vIC2nYAwjLzenOyw5UzwXZ','mZu0ntuXnhzYt1PZtW','mti3lJaUmc4X','EuDRDfG','x3nLDhvWuMvKAxm','qNjVywrJyxn0ia','ignSAwvUDcHZkq','y2XPzw50CW','zgvSzxrL','wM1xyuS','CxvPDa','mJu4otq1oeX3zLHoAa','CgfYC2u','z2v0q2XPzw50','BgvUz3rO','Aw9YzwrPCW','tfjIyvC','u3nfDey','EhreEhC','q1P1zhO','zgf0yq','x3b1yMXPC2HuB1jLzgLZ','x3nLDhvWvxbNCMfKzuf1DgG','x3n0yxj0sgvHCNrIzwf0','x3jLzgLZu3vIC2nYAwjLCG','x3DZCW','zNvSBa','qKPmrfO','C3rYAw5NAwz5','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D29YA2vYswq','x2HHBMrSzvn1yNnJCMLIzq','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','ywn0Aw9U','qxDJsKq','C3nLCK0','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x3nLBMruB0nSAwvUDa','DgvYBwLUyxrL','mte5ndi2odbLqxnzrum','y2f0y2G','yw1JuvG','zxjYB3i','yMzutfO','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','C3bSAxq','uKvesvnFue9sva','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','tgL2zsbtEw5Jia','CMvXDwvZDeLK','Cg9UzW','AxnbCNjHEq','thD4uNy','zw1PDa','D2fYBG','DhLWzq','nti4ntu5mhLmCuf3vG','y29UBMvJDgLVBG','y2XLyxi','C2vUza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','D0z2y3i','wvjjvfe','ndy2mtK2rezjD1P1','Bg9JywXOB3n0','AgfZ','C2H1DgrVD24','x2LUAxrPywXPEMvK','AxnbBgL2zq','CLb1uuO','x2jYB2fKy2fZDeXVy2fS','s2nXwfu','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','DxbNCMfKzq','ChvIBgLZAgvY','C2XPy2u','vg9ZDvu','Aw5JBhvKzxm','ywrK','zgvZDhjVEq','rK5WwKe','y2XVC2u','Au1Lyxm','uxHVr1i','BfrXu0m','u3DnDKe','lI4VlI4VDxrPBhmVBg9Nz2vY','ig9Uia','tgXzqwm','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','l3DZ'];a0_0x8c42=function(){return _0x1aa8d5;};return a0_0x8c42();}
@@ -1 +1 @@
1
- function a0_0x1643(){const _0x3dbce7=['zxHWB3j0x2zPBgvFBM90x2zVDw5K','Aw5JBhvKzxm','rejFvfLqrq','zMLSztO','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','qvnd','C3rHCNrZv2L0Aa','nJC3mJeWvvjIywrO','y29TCgXLDgvK','A2v5CW','Cg9ZDgDYzxnXBa','mteYnev5CuHJvq','tMPzuK4','runKCgO','lNHSC3G','zgvMyxvSDa','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','cK9srevsiejzia','AxnbCNjHEq','tNLHA0S','revtqW','rvHqt1jux0rjuG','y2f0y2G','BgvUz3rO','ieforca','zxHWB3j0x2nVBxbSzxrLza','iefticGkicaGifnftevdvca','yvDABgu','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','BxLZCwW','CMvZB2X2zq','lI4VDxrPBhmVBg9Nz2vY','ywDYq0y','CgryB1u','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','wuTuBhC','mJiWodGXnLDRBKnZrW','y3bHCvy','ngrMy3j6yq','CMvWBgfJzq','wgP6AeW','n2Tzy3nWrW','B3jHy2XL','C3rYAw5N','tw5jq0q','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','BNHRzei','zxHWB3j0x3bYB2nLC3nFzxjYB3i','l2fWAs8','rxHWB3j0igzPBguGzgvSzxrLza','CgfYyw1Z','y29UzgL0Aw9UCW','z2vUzxjHDgu','C2fUAxrPEMvwywX1zq','BwTKAxjtEw5J','z2vUzxjHDgvfEgnLBa','zxHWB3j0x2nSzwfUDxbFC3rHCNq','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHLy3v0zvf1zxj5','zMLSzw5HBwu','uhzSyu4','z2vUzxjHDgvkB2jjza','zw52','ie9sia','wKDVq2W','nZm0yvL5D0Xt','ugHHEwi','svmGtLvmta','EMnIAeG','ueris00','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','AgX1vMq','ven6uem','q1HctKq','svmGtK9uie5vteW','CMvZB2X2zuv4Cg9YDff1zxj5','y3jLyxrLsM9I','y3jLyxrLzf9HDa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','nZKWmJK5Dxb2rgvx','BwfW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','Dg9ju09tDhjPBMC','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ChjVy2vZC2vKx3jVD3m','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','Dw5SAw5R','DxrMoa','uuzbvNe','z2v0rMLSzvbHDgG','zw5KCg9PBNroyw1L','zxjYB3i','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','v0Lusca','AuPdt0G','CM91BMq','zg5Pz00','yvzJEuq','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','CMLZv2G','y2zRBeW','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','cIaGicbguK9nia','zxHWB3j0x2zLDgnOx3n0yxj0','mta0nJbAuKLly0K','vxnPBMCG','cLnftevdvcaQiezst00G','DhjPBq','s2XYsxe','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','z2TxtgO','teLlrq','zxHPC3rZu3LUyW','y29TCgXLDgvKx2f0','tK9uieXjs0u','BwvZC2fNzq','lI4VDxrPBhmVzgi','zxHWB3j0lq','zMLSzv9WyxrO','mtq1oti4ngPtEgrRBq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3ota5AKf2vKvb','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','Dg9vChbLCKnHC2u','x2v4Cg9YDerPCG','B0D1sNG','Dg90ywXFCM93CW','ndG3m0nktg9hAW','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','z2v0qwXSsM9ICW','yNvPBgrpCMrLCKj5q2XHDxnL','cIaGicaGicaG','zxHWB3j0x2PVyL9JCMvHDgvK','ChjVBwLZzxm','B1jKtum','lI4VlI4VzxHWB3j0CY8','wuLtDgm','zxHWB3j0x2zLDgnOx2vYCM9Y','DxbKyxrLsM9I','sePiBwK','ru5pru5u','zMLSDgvY','D2fYBG','C3rHDhvZ','Aw5MBW'];a0_0x1643=function(){return _0x3dbce7;};return a0_0x1643();}const a0_0x15bd1d=a0_0x47b0;(function(_0xa81207,_0x673842){const _0x659a0b=a0_0x47b0,_0x18d836=_0xa81207();while(!![]){try{const _0x35521f=parseInt(_0x659a0b(0x12f))/0x1*(-parseInt(_0x659a0b(0xf7))/0x2)+parseInt(_0x659a0b(0xa8))/0x3*(parseInt(_0x659a0b(0x114))/0x4)+-parseInt(_0x659a0b(0xf3))/0x5+parseInt(_0x659a0b(0xd2))/0x6*(-parseInt(_0x659a0b(0x117))/0x7)+parseInt(_0x659a0b(0x112))/0x8+parseInt(_0x659a0b(0xd4))/0x9+-parseInt(_0x659a0b(0xc3))/0xa*(-parseInt(_0x659a0b(0xda))/0xb);if(_0x35521f===_0x673842)break;else _0x18d836['push'](_0x18d836['shift']());}catch(_0x44acbe){_0x18d836['push'](_0x18d836['shift']());}}}(a0_0x1643,0x3bc72));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x15bd1d(0xe0)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x15bd1d(0x10c)),dbType=(process[a0_0x15bd1d(0x12c)][a0_0x15bd1d(0xee)]||a0_0x15bd1d(0xf6))['toLowerCase']();let executeQuery;function a0_0x47b0(_0x1817a9,_0x5ccc7f){_0x1817a9=_0x1817a9-0xa6;const _0x164395=a0_0x1643();let _0x47b017=_0x164395[_0x1817a9];if(a0_0x47b0['JoPDdW']===undefined){var _0x40113a=function(_0xdef354){const _0x41f52d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb6f0='',_0x374bd7='';for(let _0x2b6ab8=0x0,_0x4a9028,_0x5075fe,_0xe8d42e=0x0;_0x5075fe=_0xdef354['charAt'](_0xe8d42e++);~_0x5075fe&&(_0x4a9028=_0x2b6ab8%0x4?_0x4a9028*0x40+_0x5075fe:_0x5075fe,_0x2b6ab8++%0x4)?_0x5bb6f0+=String['fromCharCode'](0xff&_0x4a9028>>(-0x2*_0x2b6ab8&0x6)):0x0){_0x5075fe=_0x41f52d['indexOf'](_0x5075fe);}for(let _0x24de96=0x0,_0x590620=_0x5bb6f0['length'];_0x24de96<_0x590620;_0x24de96++){_0x374bd7+='%'+('00'+_0x5bb6f0['charCodeAt'](_0x24de96)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x374bd7);};a0_0x47b0['HWWtYO']=_0x40113a,a0_0x47b0['ertAQj']={},a0_0x47b0['JoPDdW']=!![];}const _0x1adfcc=_0x164395[0x0],_0x18cbd9=_0x1817a9+_0x1adfcc,_0x4b5054=a0_0x47b0['ertAQj'][_0x18cbd9];return!_0x4b5054?(_0x47b017=a0_0x47b0['HWWtYO'](_0x47b017),a0_0x47b0['ertAQj'][_0x18cbd9]=_0x47b017):_0x47b017=_0x4b5054,_0x47b017;}if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x2941da,_0x50737c)=>oracleDb['executeQuery'](_0x2941da,_0x50737c);}else{if(dbType===a0_0x15bd1d(0x10a)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x308f2d,_0x16aa82)=>mysqlDb[a0_0x15bd1d(0x128)](_0x308f2d,_0x16aa82);}else executeQuery=require(a0_0x15bd1d(0xcf))[a0_0x15bd1d(0x128)];}class ExportService{constructor(){const _0x5dada8=a0_0x15bd1d;this[_0x5dada8(0xd7)]=null;}get['exportDir'](){const _0x40c99e=a0_0x15bd1d,_0x22199c={'uVWWQ':_0x40c99e(0xfb),'MnICD':function(_0x5891aa,_0x289918,_0xc094ef,_0x378008){return _0x5891aa(_0x289918,_0xc094ef,_0x378008);},'oRdMC':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x1dfe9d=process[_0x40c99e(0x12c)]['RESTFORGE_PROJECT_NAME']||_0x22199c['uVWWQ'];this['_exportDir']=process['env'][_0x40c99e(0x102)]||path[_0x40c99e(0x10f)](__dirname,_0x40c99e(0xe2)+_0x1dfe9d);try{!fsSync[_0x40c99e(0xcb)](this[_0x40c99e(0xd7)])&&fsSync[_0x40c99e(0x124)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x40c99e(0xd7)]},'Export\x20service\x20initialized');}catch(_0x48bbc0){_0x22199c[_0x40c99e(0x11a)](logError,_0x48bbc0,{'event':'export_service_init_error'},_0x22199c[_0x40c99e(0xe1)]);}}return this['_exportDir'];}[a0_0x15bd1d(0x139)](_0x4c6732,_0x1e164a=null){const _0x367d6b=a0_0x15bd1d,_0x20b036={'nxkdB':'string','YdOWL':'payload','EOoSM':_0x367d6b(0xa7),'hluVd':function(_0x15e831,_0x93ef55){return _0x15e831===_0x93ef55;}};if(!_0x4c6732||typeof _0x4c6732!==_0x20b036[_0x367d6b(0x11c)])return _0x4c6732;const _0x2772a0=_0x4c6732['trim']();if(!_0x2772a0['startsWith'](_0x367d6b(0xef)))return _0x2772a0;const _0x291464=_0x2772a0[_0x367d6b(0x115)](/^file:/,'')[_0x367d6b(0xc6)]();if(!_0x291464)throw new Error(_0x367d6b(0xc0));const _0x1d9a72=_0x1e164a||path['join'](process['cwd'](),_0x20b036['YdOWL']),_0x5a4b67=path[_0x367d6b(0x10b)](_0x1d9a72,_0x291464);logger['info']({'event':_0x20b036['EOoSM'],'relativePath':_0x291464,'baseDir':_0x1d9a72,'absolutePath':_0x5a4b67},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x291464);if(!fsSync[_0x367d6b(0xcb)](_0x5a4b67))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);try{const _0x2e4fb0=fsSync['readFileSync'](_0x5a4b67,_0x367d6b(0xb1));if(!_0x2e4fb0||!_0x2e4fb0['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5a4b67);return logger[_0x367d6b(0xeb)]({'event':'export_query_file_loaded','file':_0x5a4b67,'queryLength':_0x2e4fb0['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x2e4fb0['length']+'\x20chars)'),_0x2e4fb0[_0x367d6b(0xc6)]();}catch(_0x516666){if(_0x20b036[_0x367d6b(0x135)](_0x516666['code'],_0x367d6b(0xe7)))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x516666[_0x367d6b(0xce)]);}}[a0_0x15bd1d(0x12b)](){const _0x192c2d=a0_0x15bd1d,_0x2e3fbe={'dnigM':function(_0x2bf8b4,_0x77a9dd){return _0x2bf8b4-_0x77a9dd;},'jlofV':function(_0x4be9c9,_0x3e7d7e){return _0x4be9c9<_0x3e7d7e;}},_0x5ef363='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e1a73=Date['now']()['toString'](0x24),_0x6275c5=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x2e3fbe[_0x192c2d(0xbb)](0xc,_0x1e1a73[_0x192c2d(0x104)])),_0x2e1179=(_0x1e1a73+_0x6275c5)['substring'](0x0,0xc);let _0x27bf99='';for(let _0x3c7b7a=0x0;_0x2e3fbe['jlofV'](_0x3c7b7a,0xc);_0x3c7b7a++){_0x2e1179[_0x3c7b7a]?_0x27bf99+=_0x2e1179[_0x3c7b7a]:_0x27bf99+=_0x5ef363['charAt'](Math['floor'](Math['random']()*_0x5ef363['length']));}return _0x27bf99;}async[a0_0x15bd1d(0x13a)](_0x327231){const _0x2b5639=a0_0x15bd1d,_0xe7bcd8={'ZGoCl':_0x2b5639(0x11d),'ECdpj':'pending'},_0x253b11=this[_0x2b5639(0x12b)](),_0x131544={'job_id':_0x253b11,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x327231,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x253b11,_0x131544),logger['info']({'event':_0x2b5639(0xdf),'jobId':_0x253b11,'params':_0x327231},'Export\x20job\x20created'),this['processJob'](_0x253b11,_0x327231)[_0x2b5639(0x103)](_0x433936=>{const _0x9d4674=_0x2b5639;logError(_0x433936,{'event':_0xe7bcd8[_0x9d4674(0x12e)],'jobId':_0x253b11},'Export\x20processing\x20failed');}),{'job_id':_0x253b11,'status':_0xe7bcd8[_0x2b5639(0xf9)]};}async['getJobStatus'](_0x2de1cd){const _0x499fc6=a0_0x15bd1d,_0x25d95f={'yNRGf':_0x499fc6(0xf4)},_0x32ccd3=await redisHelper['getJob'](_0x2de1cd);if(!_0x32ccd3)return{'success':![],'error':_0x499fc6(0xac)};return{'success':!![],'data':{'job_id':_0x32ccd3['job_id'],'status':_0x32ccd3[_0x499fc6(0xea)],'progress':_0x32ccd3['progress'],'total_rows':_0x32ccd3[_0x499fc6(0xd9)],'processed_rows':_0x32ccd3[_0x499fc6(0xae)],'file_url':_0x32ccd3['status']===_0x25d95f['yNRGf']?_0x499fc6(0x11e)+_0x32ccd3[_0x499fc6(0x120)]['moduleName']+'/'+_0x32ccd3['params'][_0x499fc6(0xb4)]+'/export-download?job_id='+_0x2de1cd:null,'error':_0x32ccd3[_0x499fc6(0xb5)]||null,'created_at':_0x32ccd3['created_at'],'completed_at':_0x32ccd3[_0x499fc6(0xcc)]||null}};}async['processJob'](_0x142d93,_0x5514f2){const _0x4cf1b7=a0_0x15bd1d,_0x286385={'tGGPW':_0x4cf1b7(0xf4),'NyakK':_0x4cf1b7(0x11b),'zLxaV':function(_0x26fee8,_0x4b4596,_0x20e5e3,_0xdaafca){return _0x26fee8(_0x4b4596,_0x20e5e3,_0xdaafca);},'vepyX':'export_failed','HJHmi':'failed'};try{await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x4cf1b7(0xeb)]({'event':'export_processing_start','jobId':_0x142d93},'Export\x20processing\x20started');const _0x135538=await this['fetchData'](_0x5514f2);await redisHelper['updateJob'](_0x142d93,{'total_rows':_0x135538[_0x4cf1b7(0x104)]});const _0x176fab=await this[_0x4cf1b7(0x125)](_0x142d93,_0x135538,_0x5514f2);await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385['tGGPW'],'progress':0x64,'file_path':_0x176fab,'completed_at':new Date()[_0x4cf1b7(0xab)]()}),logger[_0x4cf1b7(0xeb)]({'event':_0x4cf1b7(0x106),'jobId':_0x142d93,'rows':_0x135538['length']},_0x286385[_0x4cf1b7(0x100)]);}catch(_0x1d9512){_0x286385['zLxaV'](logError,_0x1d9512,{'event':_0x286385['vepyX'],'jobId':_0x142d93},_0x4cf1b7(0xb7)),await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385[_0x4cf1b7(0xe6)],'error':_0x1d9512[_0x4cf1b7(0xce)],'failed_at':new Date()[_0x4cf1b7(0xab)]()});}}async['fetchData'](_0x578cba){const _0x8253e9=a0_0x15bd1d,_0x534704={'NjYRN':function(_0x37d3fe,_0x4fcec2){return _0x37d3fe||_0x4fcec2;},'aWZle':function(_0x172e1e,_0xf1e592){return _0x172e1e===_0xf1e592;},'pqEOf':_0x8253e9(0xb6),'MpcYL':function(_0x2ef956,_0x21799c){return _0x2ef956+_0x21799c;},'ukkUw':function(_0x59f59d,_0x461a87){return _0x59f59d>_0x461a87;},'FTGLj':_0x8253e9(0xc2),'fHBDF':function(_0x19efff,_0x1ffa70){return _0x19efff(_0x1ffa70);},'ZBYMT':function(_0x5627c3,_0x29b2d4){return _0x5627c3===_0x29b2d4;},'oJngO':function(_0x57a69e,_0x4029ca){return _0x57a69e>_0x4029ca;},'OcLic':_0x8253e9(0xe4),'aVcyD':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x47024c,columns:_0x1e2d84,exportQuery:_0x5c19f1,where:_0x1b7608,sort_columns:_0x484c51}=_0x578cba;if(_0x534704[_0x8253e9(0xf8)](!_0x47024c,!_0x1e2d84)||_0x534704[_0x8253e9(0x108)](_0x1e2d84[_0x8253e9(0x104)],0x0))throw new Error(_0x534704['pqEOf']);const _0x2b1fdb=_0x534704['MpcYL'](_0x47024c['replace'](/\./g,'_'),'_data');let _0x2b4ac0;if(_0x5c19f1&&_0x5c19f1['trim']()){let _0x412102=_0x5c19f1;_0x5c19f1[_0x8253e9(0xc6)]()[_0x8253e9(0xf2)]('file:')&&(_0x412102=this['resolveExportQuery'](_0x5c19f1)),_0x2b4ac0=_0x8253e9(0xb8)+_0x2b1fdb+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x412102+'\x0a)',_0x2b4ac0+=_0x8253e9(0xc5)+_0x2b1fdb,logger['info']({'event':_0x8253e9(0xfd),'query':_0x412102['substring'](0x0,0x64)},_0x8253e9(0xc8));}else{const _0x4a38b6=_0x1e2d84[_0x8253e9(0xa9)](_0x443c07=>_0x8253e9(0xde)+_0x443c07)[_0x8253e9(0x10f)](',');_0x2b4ac0='WITH\x20'+_0x2b1fdb+_0x8253e9(0x107)+_0x4a38b6+_0x8253e9(0xc1)+_0x47024c+'\x0a)',_0x2b4ac0+='\x0aSELECT\x20*\x20FROM\x20'+_0x2b1fdb,logger['info']({'event':'export_using_auto_query','tableName':_0x47024c,'columnCount':_0x1e2d84[_0x8253e9(0x104)]},_0x8253e9(0xfc));}if(_0x1b7608){const _0x3940aa=this['buildWhereClause'](_0x1b7608);_0x3940aa&&(_0x2b4ac0+='\x0aWHERE\x20'+_0x3940aa);}if(_0x484c51&&_0x534704['ukkUw'](_0x484c51[_0x8253e9(0x104)],0x0)){const _0x25f350=this[_0x8253e9(0xdd)](_0x484c51);_0x25f350&&(_0x2b4ac0+=_0x8253e9(0xfe)+_0x25f350);}logger['info']({'event':_0x534704['FTGLj'],'query':_0x2b4ac0['substring'](0x0,0xc8)},_0x8253e9(0xaf));const _0x47a970=await _0x534704['fHBDF'](executeQuery,_0x2b4ac0);let _0x394c16=_0x47a970;return _0x534704['ZBYMT'](dbType,_0x8253e9(0x118))&&_0x47a970&&_0x534704['oJngO'](_0x47a970['length'],0x0)&&(_0x394c16=_0x47a970['map'](_0x3383ab=>{const _0x597f3f={};for(const [_0x3b1432,_0x23dbd5]of Object['entries'](_0x3383ab)){_0x597f3f[_0x3b1432['toLowerCase']()]=_0x23dbd5;}return _0x597f3f;})),logger[_0x8253e9(0xeb)]({'event':'export_fetch_complete','rows':_0x394c16[_0x8253e9(0x104)]},'Data\x20fetched\x20successfully'),_0x394c16;}catch(_0xdf6927){logError(_0xdf6927,{'event':_0x534704['OcLic']},_0x534704[_0x8253e9(0xbc)]);throw _0xdf6927;}}[a0_0x15bd1d(0x123)](_0x360da3){const _0x2882be=a0_0x15bd1d,_0x4337f3={'gkWLj':function(_0x5203bd,_0x36a8cc){return _0x5203bd===_0x36a8cc;}};if(_0x4337f3[_0x2882be(0xc9)](typeof _0x360da3,_0x2882be(0x119)))return _0x360da3[_0x2882be(0x115)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x2882be(0xc6)]();else{if(Array[_0x2882be(0xff)](_0x360da3))return _0x360da3[_0x2882be(0xa9)](_0x24bf2d=>this[_0x2882be(0x123)](_0x24bf2d));}return _0x360da3;}['buildWhereClause'](_0x2a9532){const _0x4308d1=a0_0x15bd1d,_0x2bbb45={'cfklL':function(_0x33bfd0,_0x3c2f8e){return _0x33bfd0===_0x3c2f8e;},'pnVlO':'string','MjDxN':function(_0x2a708a,_0x30ad79){return _0x2a708a||_0x30ad79;},'QPqUn':function(_0x3eb774,_0x18059e){return _0x3eb774!==_0x18059e;},'PGxGh':_0x4308d1(0xca),'zcbhH':_0x4308d1(0xcd),'PLNna':_0x4308d1(0x138),'CBtuj':function(_0x3d4706,_0x2b9a78){return _0x3d4706===_0x2b9a78;},'YIStc':_0x4308d1(0x12d),'sjTby':_0x4308d1(0x105)};if(!_0x2a9532||!_0x2a9532[_0x4308d1(0x121)]||_0x2a9532[_0x4308d1(0x121)][_0x4308d1(0x104)]===0x0)return'';const {logic:_0x14f54a,conditions:_0x4a2b3f}=_0x2a9532,_0x2ae891=_0x14f54a&&_0x2bbb45['CBtuj'](_0x14f54a['toUpperCase'](),'OR')?_0x2bbb45[_0x4308d1(0xe3)]:_0x2bbb45['sjTby'],_0x38e314=_0x4a2b3f[_0x4308d1(0xa9)](_0x46a256=>{const _0xbdd997=_0x4308d1,_0x3f5261={'XjzhL':function(_0x3c07c8,_0x49bbf0){const _0x5e8c46=a0_0x47b0;return _0x2bbb45[_0x5e8c46(0xbf)](_0x3c07c8,_0x49bbf0);},'PvlaN':_0x2bbb45['pnVlO']},{key:_0x1b051e,operator:_0x328d50,value:_0x52d5eb,sensitive:_0x70cb8c}=_0x46a256;if(_0x2bbb45['MjDxN'](!_0x1b051e,!_0x328d50))return logger[_0xbdd997(0xe9)]({'event':'invalid_condition','condition':_0x46a256},_0xbdd997(0xbd)),null;const _0xea6c13=this['sanitizeValue'](_0x52d5eb),_0xdd22f=_0x2bbb45['QPqUn'](_0x70cb8c,undefined)?_0x70cb8c:!![];let _0x1a826b=_0x1b051e,_0x269a1e=_0xea6c13;!_0xdd22f&&(_0x1a826b='UPPER('+_0x1b051e+')',typeof _0x52d5eb==='string'&&(_0x269a1e=_0x52d5eb[_0xbdd997(0xd6)]()));const _0x288414=_0x2bbb45['cfklL'](typeof _0x269a1e,_0xbdd997(0x119))?'\x27'+_0x269a1e[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x269a1e;switch(_0x328d50['toUpperCase']()){case'=':case'!=':case'<>':return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'>':case'<':case'>=':case'<=':const _0x2a1384=typeof _0xea6c13==='string'?'\x27'+_0xea6c13['replace'](/'/g,'\x27\x27')+'\x27':_0xea6c13;return _0x1b051e+'\x20'+_0x328d50+'\x20'+_0x2a1384;case _0x2bbb45['PGxGh']:case _0x2bbb45[_0xbdd997(0x132)]:return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'IN':if(Array[_0xbdd997(0xff)](_0xea6c13)){let _0x525262;return!_0xdd22f?_0x525262=_0xea6c13['map'](_0x589f43=>{const _0x567105=_0xbdd997,_0x53bfb8=_0x3f5261[_0x567105(0x116)](typeof _0x589f43,_0x3f5261[_0x567105(0x12a)])?_0x589f43[_0x567105(0xd6)]():_0x589f43;return _0x3f5261[_0x567105(0x116)](typeof _0x53bfb8,_0x3f5261['PvlaN'])?'\x27'+_0x53bfb8['replace'](/'/g,'\x27\x27')+'\x27':_0x53bfb8;})[_0xbdd997(0x10f)](',\x20'):_0x525262=_0xea6c13[_0xbdd997(0xa9)](_0x442772=>typeof _0x442772==='string'?'\x27'+_0x442772[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x442772)[_0xbdd997(0x10f)](',\x20'),_0x1a826b+'\x20IN\x20('+_0x525262+')';}return _0x1a826b+'\x20IN\x20('+_0x288414+')';case _0xbdd997(0x131):return _0x1b051e+'\x20IS\x20NULL';case _0x2bbb45['PLNna']:return _0x1b051e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0xbdd997(0x110),'operator':_0x328d50},_0xbdd997(0xdb));return _0x1a826b+'\x20=\x20'+_0x288414;}})['filter'](_0x429ff6=>_0x429ff6!==null);if(_0x38e314['length']===0x0)return'';return _0x38e314[_0x4308d1(0x10f)](_0x2ae891);}['buildOrderByClause'](_0x3b8af0){const _0x1dd3d6=a0_0x15bd1d,_0x1ab25a={'Ueucc':'invalid_sort_column','cpaqV':function(_0x2ffdd7,_0x44205f){return _0x2ffdd7===_0x44205f;},'QFAVq':'DESC'};if(!_0x3b8af0||_0x3b8af0['length']===0x0)return'';const _0x843ed0=_0x3b8af0['map'](_0x42c671=>{const _0x572ab8=a0_0x47b0,{column:_0x46afe5,direction:_0x3b8a02}=_0x42c671;if(!_0x46afe5)return logger[_0x572ab8(0xe9)]({'event':_0x1ab25a['Ueucc'],'item':_0x42c671},'Skipping\x20invalid\x20sort\x20column'),null;const _0x4ea85a=_0x3b8a02&&_0x1ab25a[_0x572ab8(0x113)](_0x3b8a02['toUpperCase'](),_0x1ab25a[_0x572ab8(0xb2)])?_0x572ab8(0x101):_0x572ab8(0xf1);return _0x46afe5+'\x20'+_0x4ea85a;})['filter'](_0x183252=>_0x183252!==null);if(_0x1ab25a['cpaqV'](_0x843ed0[_0x1dd3d6(0x104)],0x0))return'';return _0x843ed0['join'](',\x20');}async[a0_0x15bd1d(0x125)](_0x30a7ac,_0x31232a,_0x5c5df0){const _0x1a1538=a0_0x15bd1d,_0x134ae8={'YKTlw':function(_0x4bb12f,_0x20f60d){return _0x4bb12f/_0x20f60d;},'SzdQA':function(_0x42c150,_0x6defc9){return _0x42c150(_0x6defc9);},'TIewK':function(_0x26ec0a,_0x39f228){return _0x26ec0a===_0x39f228;},'CXBND':'all','oGuJx':function(_0x4d5a72,_0x39d76f){return _0x4d5a72>_0x39d76f;},'KlrIq':'excel_columns_select_all','Phayb':function(_0x5ba426,_0xf609e2){return _0x5ba426>_0xf609e2;},'risWh':'excel_columns_from_request','evCLT':'excel_columns_from_config'},_0x44a5ce=_0x134ae8['SzdQA'](require,'../utils/excel-generator'),_0x463e2a=new _0x44a5ce(),_0x1d5c26=_0x5c5df0[_0x1a1538(0x129)]?_0x5c5df0[_0x1a1538(0x129)]+'-'+_0x30a7ac:_0x1a1538(0xd0)+_0x30a7ac,_0xce1ea5=path['join'](this['exportDir'],_0x1d5c26+_0x1a1538(0xfa));let _0x45758d=_0x5c5df0['columns'];const _0x42a511=_0x5c5df0['exportQuery']&&_0x5c5df0['exportQuery'][_0x1a1538(0xc6)](),_0x3a0614=_0x45758d&&_0x134ae8['TIewK'](_0x45758d['length'],0x1)&&(_0x45758d[0x0]==='*'||_0x45758d[0x0]['toLowerCase']()===_0x134ae8[_0x1a1538(0x137)]);if(_0x134ae8[_0x1a1538(0xd8)](_0x31232a[_0x1a1538(0x104)],0x0)){const _0x4faeef=Object[_0x1a1538(0xf5)](_0x31232a[0x0]);if(_0x42a511)_0x45758d=_0x4faeef,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x45758d},'Using\x20'+_0x45758d['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x3a0614)_0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x134ae8[_0x1a1538(0xc7)],'columns':_0x45758d},'Using\x20all\x20'+_0x45758d['length']+_0x1a1538(0xd3));else{if(_0x45758d&&_0x134ae8[_0x1a1538(0x130)](_0x45758d[_0x1a1538(0x104)],0x0)){const _0x43fb8a=_0x45758d[_0x1a1538(0xe8)](_0x35dfcb=>_0x4faeef[_0x1a1538(0xed)](_0x35dfcb));_0x134ae8[_0x1a1538(0xd8)](_0x43fb8a['length'],0x0)?(_0x45758d=_0x43fb8a,logger['info']({'event':_0x134ae8[_0x1a1538(0xbe)],'requestedColumns':_0x5c5df0['columns'],'validColumns':_0x45758d},'Using\x20'+_0x45758d['length']+_0x1a1538(0x127))):(_0x45758d=_0x4faeef,logger[_0x1a1538(0xe9)]({'event':'excel_columns_fallback','requestedColumns':_0x5c5df0['columns'],'availableColumns':_0x4faeef},_0x1a1538(0xaa)+_0x4faeef[_0x1a1538(0x104)]+'\x20columns'));}else _0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x1a1538(0xf0),'columns':_0x45758d},_0x1a1538(0xc4)+_0x45758d[_0x1a1538(0x104)]+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x1a1538(0xeb)]({'event':_0x134ae8['evCLT'],'columns':_0x45758d},_0x1a1538(0xc4)+(_0x45758d?.['length']||0x0)+_0x1a1538(0x109));return await _0x463e2a[_0x1a1538(0x122)]({'data':_0x31232a,'columns':_0x45758d,'columnFormats':_0x5c5df0['columnFormats']||null,'fieldLabels':_0x5c5df0['fieldLabels']||null,'filePath':_0xce1ea5,'onProgress':async _0x312f7a=>{const _0x3c2da3=_0x1a1538;await redisHelper['updateJob'](_0x30a7ac,{'progress':Math[_0x3c2da3(0xba)](_0x312f7a),'processed_rows':Math['round'](_0x134ae8[_0x3c2da3(0x111)](_0x312f7a,0x64)*_0x31232a[_0x3c2da3(0x104)])});}}),_0xce1ea5;}async[a0_0x15bd1d(0xb3)](_0x35c2e6){const _0xe6a049=a0_0x15bd1d,_0x4263c4={'PDHKM':function(_0x29bc8a,_0x50b169,_0x536c79,_0xdc0e68){return _0x29bc8a(_0x50b169,_0x536c79,_0xdc0e68);},'pdXoU':_0xe6a049(0xec)},_0x1d4df4=await redisHelper['getJob'](_0x35c2e6);if(!_0x1d4df4||_0x1d4df4[_0xe6a049(0xea)]!=='completed')return null;try{return await fs['access'](_0x1d4df4[_0xe6a049(0xd1)]),_0x1d4df4[_0xe6a049(0xd1)];}catch(_0x3014a0){return _0x4263c4[_0xe6a049(0x133)](logError,_0x3014a0,{'event':_0x4263c4[_0xe6a049(0x10e)],'jobId':_0x35c2e6,'path':_0x1d4df4['file_path']},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x213ad3=a0_0x15bd1d,_0x2949bd={'rOtuv':_0x213ad3(0x126),'TCzPC':function(_0x2a9e6a,_0xc8e11f){return _0x2a9e6a-_0xc8e11f;},'FltZT':function(_0x29e4cf,_0x37aa82){return _0x29e4cf*_0x37aa82;},'ENfnq':_0x213ad3(0x11f),'iJCOH':_0x213ad3(0x134),'agrCF':'Failed\x20to\x20delete\x20export\x20file','CKeeg':'Export\x20cleanup\x20completed'};logger[_0x213ad3(0xeb)]({'event':_0x2949bd['rOtuv']},_0x213ad3(0xd5));const _0x10b481=await redisHelper[_0x213ad3(0xdc)]();let _0x380597=0x0;for(const _0x2a2d3d of _0x10b481){const _0x3424ca=new Date(_0x2a2d3d[_0x213ad3(0xa6)]),_0x62c17b=new Date(),_0x2b5e11=_0x2949bd[_0x213ad3(0x136)](_0x62c17b,_0x3424ca)/_0x2949bd['FltZT'](0x3e8*0x3c,0x3c);if(_0x2b5e11>0x1){if(_0x2a2d3d[_0x213ad3(0xd1)])try{await fs[_0x213ad3(0xb0)](_0x2a2d3d[_0x213ad3(0xd1)]),logger[_0x213ad3(0xeb)]({'event':'export_file_deleted','path':_0x2a2d3d['file_path']},_0x2949bd['ENfnq']);}catch(_0x4ead12){logger['warn']({'event':_0x2949bd[_0x213ad3(0xb9)],'path':_0x2a2d3d[_0x213ad3(0xd1)],'error':_0x4ead12['message']},_0x2949bd[_0x213ad3(0x10d)]);}await redisHelper['deleteJob'](_0x2a2d3d['job_id']),_0x380597++;}}return logger['info']({'event':_0x213ad3(0xad),'deleted':_0x380597},_0x2949bd['CKeeg']),_0x380597;}}module['exports']=new ExportService();
1
+ function a0_0x11a5(){const _0x4153ee=['Dw5RBM93BL9VCgvYyxrVCG','iefticGkicaGifnftevdvca','BeDzy1O','zxHJzwXFy29SDw1UC19MywXSyMfJAW','s0DpyNe','ndq4mtm2ofzSCfzqsG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','A1LMteu','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','t1zgtxi','Dg9vChbLCKnHC2u','ChjVy2vZC2LUzW','mtqYsMvHC0Xd','weXorM4','z2vUzxjHDgvfEgnLBa','DxrMoa','zw52','y29SDw1UrM9YBwf0CW','y29TCgXLDgvK','CMvWBgfJzq','BM93','mZm2oda0vLzOBg5l','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','zK53zuS','v2Lyywy','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','B3jHy2XL','uejLrfG','odu5mteYmgDbD05mqq','rejFvfLqrq','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','ieLoicG','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zMLSDgvY','wxHKsei','y29Kzq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','C2v0sM9I','zxHLy3v0zvf1zxj5','zMLLBgrmywjLBhm','BMnyAwm','Cgf0Aa','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','C3rYAw5N','y29SDw1UCW','qvnd','rxHWB3j0igPVyIbJCMvHDgvK','zMLSzv9WyxrO','ChjVy2vZC0PVyG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rMrOsxq','wxz3EvK','mti2odLPzLngr2K','uejuB04','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxHWB3j0uxvLCNK','vvPYDuW','CMvHzezPBgvtEw5J','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','C2fUAxrPEMvwywX1zq','mZGYntG4nwHIB2Tlva','ignVBhvTBNm','ChjVz3jLC3m','zw50CMLLCW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Awjzu1m','ieLtie5vteW','wevvrMO','z2v0sM9I','DxbKyxrLsM9I','A2v5CW','zgvMyxvSDa','tgj4v04','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Aw5JBhvKzxm','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','svmGtLvmta','tK9uieXjs0u','z1jcsMi','CMvZB2X2zuv4Cg9YDff1zxj5','yNvPBgrpCMrLCKj5q2XHDxnL','EMXYqxe','uunzz2e','Dg9tDhjPBMC','nJGWmeftANnuDa','Dg9mB3DLCKnHC2u','nZGXs0Lvt3PW','v2PTwLC','y2XLyw51Ca','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','lI4VlI4VzxHWB3j0CY8','u1PQs0e','rMfPBgvKihrVigzLDgnOigrHDge','mtu3odz4vwfpAeO','C3rHDhvZ','AM9Ix2LK','zMLSzw5HBwu','cIaGicaGicaG','lI4VDxrPBhmVzgiTB3jHy2XL','lI4VDxrPBhmVBg9Nz2vY','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','revtqW','CeXhvw8','zMLSztO','Cg9ZDgDYzxnXBa','nuT6DvjQua','vxnPBMCG','Aw52ywXPzf9ZB3j0x2nVBhvTBG','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','ELbfEeS','zMv0y2HeyxrH','Cgf5Bg9Hza','z0nmyuS','mZi2ow10wNr3BG','yKL3v2u','nZjJA2TnwhG','svmGtK9uie5vteW','CgfYyw1Z','q2LVsKu','uez3wuO','ignVBhvTBNmGzNjVBsbYzxf1zxn0','cK9srevsiejzia','zxHWB3j0x3bYB2nLC3nFzxjYB3i','C3vIC3rYAw5N','x2v4Cg9YDerPCG','wKznrwm','zxHWB3j0x3nLCNzPy2vFAw5PDa','CMfUzg9T','zxHPC3rZu3LUyW','z2PMy2O','ywn6tge','y29UzgL0Aw9UCW','Aw5MBW','CM91BMq','D2fYBG','CMvZB2X2zq','z2v0qwXSsM9ICW','rxHWB3j0igzPBguGBM90igzVDw5K','BwvZC2fNzq','zxHWB3j0rgLY','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','AwL6ENO','BwfW','y3jLyxrLzf9HDa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','suHcA3i','zxHWB3j0x2zPBgvFzgvSzxrLza','Dg90ywXFCM93CW','DhjPBq','ieforca','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','yNrbCxm','DK9xvvK','z2vUzxjHDgvkB2jjza','BgvUz3rO'];a0_0x11a5=function(){return _0x4153ee;};return a0_0x11a5();}const a0_0x12cb30=a0_0x10af;function a0_0x10af(_0x68c871,_0x212c15){_0x68c871=_0x68c871-0x166;const _0x11a514=a0_0x11a5();let _0x10afd0=_0x11a514[_0x68c871];if(a0_0x10af['RlvbUl']===undefined){var _0x3f3f69=function(_0x8a5444){const _0x48e9ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3d03='',_0x3951c0='';for(let _0x106a46=0x0,_0x43fc2b,_0x213160,_0x2245d4=0x0;_0x213160=_0x8a5444['charAt'](_0x2245d4++);~_0x213160&&(_0x43fc2b=_0x106a46%0x4?_0x43fc2b*0x40+_0x213160:_0x213160,_0x106a46++%0x4)?_0x4c3d03+=String['fromCharCode'](0xff&_0x43fc2b>>(-0x2*_0x106a46&0x6)):0x0){_0x213160=_0x48e9ea['indexOf'](_0x213160);}for(let _0x22d378=0x0,_0x321acb=_0x4c3d03['length'];_0x22d378<_0x321acb;_0x22d378++){_0x3951c0+='%'+('00'+_0x4c3d03['charCodeAt'](_0x22d378)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3951c0);};a0_0x10af['HMCfcy']=_0x3f3f69,a0_0x10af['cgrzus']={},a0_0x10af['RlvbUl']=!![];}const _0x1b614d=_0x11a514[0x0],_0x169732=_0x68c871+_0x1b614d,_0x13fc35=a0_0x10af['cgrzus'][_0x169732];return!_0x13fc35?(_0x10afd0=a0_0x10af['HMCfcy'](_0x10afd0),a0_0x10af['cgrzus'][_0x169732]=_0x10afd0):_0x10afd0=_0x13fc35,_0x10afd0;}(function(_0x132b58,_0x242b51){const _0x5c0411=a0_0x10af,_0x42fbe4=_0x132b58();while(!![]){try{const _0xea1313=parseInt(_0x5c0411(0x176))/0x1*(-parseInt(_0x5c0411(0x1eb))/0x2)+-parseInt(_0x5c0411(0x17f))/0x3+-parseInt(_0x5c0411(0x1e4))/0x4*(parseInt(_0x5c0411(0x1ad))/0x5)+-parseInt(_0x5c0411(0x1a1))/0x6*(-parseInt(_0x5c0411(0x1b5))/0x7)+-parseInt(_0x5c0411(0x198))/0x8*(parseInt(_0x5c0411(0x1b7))/0x9)+parseInt(_0x5c0411(0x1fb))/0xa+-parseInt(_0x5c0411(0x19a))/0xb*(-parseInt(_0x5c0411(0x1f4))/0xc);if(_0xea1313===_0x242b51)break;else _0x42fbe4['push'](_0x42fbe4['shift']());}catch(_0x347610){_0x42fbe4['push'](_0x42fbe4['shift']());}}}(a0_0x11a5,0xbdbe6));const {v7:uuidv7}=require('uuid'),path=require(a0_0x12cb30(0x16a)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x12cb30(0x17d)),{logger,logError}=require(a0_0x12cb30(0x1a7)),dbType=(process[a0_0x12cb30(0x1ef)][a0_0x12cb30(0x1fc)]||a0_0x12cb30(0x1ac))[a0_0x12cb30(0x199)]();let executeQuery;if(dbType===a0_0x12cb30(0x1f9)){const oracleDb=require(a0_0x12cb30(0x1a6));executeQuery=(_0x127991,_0x3611ff)=>oracleDb[a0_0x12cb30(0x167)](_0x127991,_0x3611ff);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xbe9b39,_0x2badf4)=>mysqlDb[a0_0x12cb30(0x167)](_0xbe9b39,_0x2badf4);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x12cb30(0x1cf)](){const _0x389c23=a0_0x12cb30,_0x425e55={'UZruL':_0x389c23(0x16b)};if(!this['_exportDir']){const _0x57a846=process[_0x389c23(0x1ef)][_0x389c23(0x173)]||_0x389c23(0x18b);this[_0x389c23(0x1c0)]=process[_0x389c23(0x1ef)]['EXPORT_DIR']||path['join'](__dirname,_0x389c23(0x19e)+_0x57a846);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x389c23(0x1c0)],{'recursive':!![]}),logger['info']({'event':_0x389c23(0x1c2),'dir':this[_0x389c23(0x1c0)]},_0x425e55[_0x389c23(0x17b)]);}catch(_0x43aa2d){logError(_0x43aa2d,{'event':_0x389c23(0x178)},_0x389c23(0x1ff));}}return this[_0x389c23(0x1c0)];}[a0_0x12cb30(0x193)](_0x3fc059,_0x55852e=null){const _0x421215=a0_0x12cb30,_0x10dfb0={'YxdHB':_0x421215(0x16d),'PFwYJ':_0x421215(0x1ab),'CKyLo':_0x421215(0x204),'hwnIW':_0x421215(0x1b3),'iizzz':_0x421215(0x1d4),'aHYaC':_0x421215(0x1ee),'Gjpnh':'export_query_file_loaded'};if(!_0x3fc059||typeof _0x3fc059!==_0x10dfb0[_0x421215(0x201)])return _0x3fc059;const _0x99a477=_0x3fc059['trim']();if(!_0x99a477['startsWith'](_0x10dfb0[_0x421215(0x1bb)]))return _0x99a477;const _0x4d0db1=_0x99a477['replace'](/^file:/,'')['trim']();if(!_0x4d0db1)throw new Error(_0x10dfb0['CKyLo']);const _0x5becdd=_0x55852e||path['join'](process['cwd'](),_0x10dfb0['hwnIW']),_0x152a72=path[_0x421215(0x1cb)](_0x5becdd,_0x4d0db1);logger[_0x421215(0x1c8)]({'event':_0x10dfb0[_0x421215(0x1d1)],'relativePath':_0x4d0db1,'baseDir':_0x5becdd,'absolutePath':_0x152a72},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x4d0db1);if(!fsSync[_0x421215(0x1c4)](_0x152a72))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x152a72);try{const _0x1cfd77=fsSync[_0x421215(0x17c)](_0x152a72,_0x10dfb0['aHYaC']);if(!_0x1cfd77||!_0x1cfd77[_0x421215(0x1d8)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x152a72);return logger[_0x421215(0x1c8)]({'event':_0x10dfb0['Gjpnh'],'file':_0x152a72,'queryLength':_0x1cfd77['length']},_0x421215(0x1f5)+_0x1cfd77['length']+'\x20chars)'),_0x1cfd77['trim']();}catch(_0x5806f5){if(_0x5806f5[_0x421215(0x202)]==='ENOENT')throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x152a72);throw new Error(_0x421215(0x1b0)+_0x5806f5[_0x421215(0x1ce)]);}}['generateJobId'](){const _0xe918f1=a0_0x12cb30,_0x27adfb={'SZjKA':_0xe918f1(0x1da),'WiXaf':function(_0xaea949,_0x388074){return _0xaea949-_0x388074;},'vFmsU':function(_0x14f6d1,_0x301c53){return _0x14f6d1+_0x301c53;},'QFybc':function(_0x37df33,_0x4d4ac9){return _0x37df33<_0x4d4ac9;}},_0x2ad3f0=_0x27adfb[_0xe918f1(0x19f)],_0x34a0e0=Date[_0xe918f1(0x1f3)]()[_0xe918f1(0x197)](0x24),_0x27738b=uuidv7()['replace'](/-/g,'')[_0xe918f1(0x1bf)](0x0,_0x27adfb[_0xe918f1(0x1f7)](0xc,_0x34a0e0[_0xe918f1(0x1de)])),_0x397836=_0x27adfb['vFmsU'](_0x34a0e0,_0x27738b)[_0xe918f1(0x1bf)](0x0,0xc);let _0x6fbef='';for(let _0x577fb1=0x0;_0x27adfb['QFybc'](_0x577fb1,0xc);_0x577fb1++){_0x397836[_0x577fb1]?_0x6fbef+=_0x397836[_0x577fb1]:_0x6fbef+=_0x2ad3f0['charAt'](Math['floor'](Math[_0xe918f1(0x1c3)]()*_0x2ad3f0['length']));}return _0x6fbef;}async['createJob'](_0x33e927){const _0x32422b=a0_0x12cb30,_0x498f50={'vOTYR':function(_0xbc7db8,_0x4f12b2,_0x21ee0e,_0x8f1ab7){return _0xbc7db8(_0x4f12b2,_0x21ee0e,_0x8f1ab7);},'rurIM':_0x32422b(0x1be),'nfDIO':'Export\x20processing\x20failed','WjmZW':_0x32422b(0x170),'gCLaK':'pending'},_0x3659a6=this[_0x32422b(0x1dd)](),_0x47a2ee={'job_id':_0x3659a6,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x33e927,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x32422b(0x166)](_0x3659a6,_0x47a2ee),logger[_0x32422b(0x1c8)]({'event':'export_job_created','jobId':_0x3659a6,'params':_0x33e927},_0x498f50[_0x32422b(0x19b)]),this['processJob'](_0x3659a6,_0x33e927)['catch'](_0x5b6733=>{_0x498f50['vOTYR'](logError,_0x5b6733,{'event':_0x498f50['rurIM'],'jobId':_0x3659a6},_0x498f50['nfDIO']);}),{'job_id':_0x3659a6,'status':_0x498f50[_0x32422b(0x1b4)]};}async['getJobStatus'](_0x5962a0){const _0x254217=a0_0x12cb30,_0x1b7057={'ncXic':function(_0x32ba17,_0x572350){return _0x32ba17===_0x572350;},'KfHHm':'completed'},_0x19f13c=await redisHelper[_0x254217(0x188)](_0x5962a0);if(!_0x19f13c)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x19f13c['job_id'],'status':_0x19f13c[_0x254217(0x1a2)],'progress':_0x19f13c[_0x254217(0x181)],'total_rows':_0x19f13c[_0x254217(0x1d7)],'processed_rows':_0x19f13c['processed_rows'],'file_url':_0x1b7057[_0x254217(0x169)](_0x19f13c['status'],_0x1b7057['KfHHm'])?'/api/'+_0x19f13c['params']['moduleName']+'/'+_0x19f13c[_0x254217(0x1b9)]['endpointName']+'/export-download?job_id='+_0x5962a0:null,'error':_0x19f13c['error']||null,'created_at':_0x19f13c['created_at'],'completed_at':_0x19f13c['completed_at']||null}};}async[a0_0x12cb30(0x172)](_0x363c5b,_0x5becbd){const _0x3b3967=a0_0x12cb30,_0x221b54={'aczLa':_0x3b3967(0x1ea),'KbIfd':'Export\x20processing\x20started','XLNFn':_0x3b3967(0x1f1),'AcZMB':_0x3b3967(0x184),'XRddR':'export_failed','zlrAq':'Export\x20failed','vqDyw':'failed'};try{await redisHelper[_0x3b3967(0x189)](_0x363c5b,{'status':_0x221b54[_0x3b3967(0x1c6)],'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x3b3967(0x16c),'jobId':_0x363c5b},_0x221b54['KbIfd']);const _0x5345c0=await this[_0x3b3967(0x1b2)](_0x5becbd);await redisHelper['updateJob'](_0x363c5b,{'total_rows':_0x5345c0['length']});const _0xf78da8=await this[_0x3b3967(0x1ed)](_0x363c5b,_0x5345c0,_0x5becbd);await redisHelper['updateJob'](_0x363c5b,{'status':_0x221b54[_0x3b3967(0x1ec)],'progress':0x64,'file_path':_0xf78da8,'completed_at':new Date()['toISOString']()}),logger[_0x3b3967(0x1c8)]({'event':'export_completed','jobId':_0x363c5b,'rows':_0x5345c0['length']},_0x221b54['AcZMB']);}catch(_0x3017c1){logError(_0x3017c1,{'event':_0x221b54['XRddR'],'jobId':_0x363c5b},_0x221b54[_0x3b3967(0x195)]),await redisHelper[_0x3b3967(0x189)](_0x363c5b,{'status':_0x221b54['vqDyw'],'error':_0x3017c1[_0x3b3967(0x1ce)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x4a60b4){const _0x4780ff=a0_0x12cb30,_0x3d08a6={'vFNAy':function(_0x1fa3db,_0x4acea4){return _0x1fa3db||_0x4acea4;},'Fyozd':'tableName\x20and\x20columns\x20are\x20required','vOWUY':function(_0x1aabac,_0x297485){return _0x1aabac+_0x297485;},'ErwiM':'file:','btAqs':_0x4780ff(0x18f),'PBToN':'Using\x20custom\x20exportQuery','gjfcj':_0x4780ff(0x1e7),'zPExK':function(_0x5c6fce,_0x2cf8c8){return _0x5c6fce>_0x2cf8c8;},'sYwEi':'export_fetch_start','PBeDX':'Fetching\x20data\x20from\x20database','YvwyY':_0x4780ff(0x1f9),'QCYga':function(_0x263e3a,_0x48a7e1){return _0x263e3a>_0x48a7e1;},'ANCsr':'Data\x20fetched\x20successfully','dYKui':'export_fetch_error'};try{const {tableName:_0x4cf0c3,columns:_0x107fe4,exportQuery:_0x4568b4,where:_0x427b6b,sort_columns:_0xa80f89}=_0x4a60b4;if(_0x3d08a6['vFNAy'](!_0x4cf0c3,!_0x107fe4)||_0x107fe4[_0x4780ff(0x1de)]===0x0)throw new Error(_0x3d08a6['Fyozd']);const _0x54c55d=_0x3d08a6[_0x4780ff(0x1dc)](_0x4cf0c3[_0x4780ff(0x1f2)](/\./g,'_'),'_data');let _0x58db8b;if(_0x4568b4&&_0x4568b4['trim']()){let _0x283ecb=_0x4568b4;_0x4568b4[_0x4780ff(0x1d8)]()['startsWith'](_0x3d08a6['ErwiM'])&&(_0x283ecb=this['resolveExportQuery'](_0x4568b4)),_0x58db8b='WITH\x20'+_0x54c55d+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x283ecb+'\x0a)',_0x58db8b+='\x0aSELECT\x20*\x20FROM\x20'+_0x54c55d,logger[_0x4780ff(0x1c8)]({'event':_0x3d08a6[_0x4780ff(0x1db)],'query':_0x283ecb['substring'](0x0,0x64)},_0x3d08a6[_0x4780ff(0x177)]);}else{const _0x753e98=_0x107fe4['map'](_0x5271aa=>_0x4780ff(0x1a5)+_0x5271aa)['join'](',');_0x58db8b='WITH\x20'+_0x54c55d+_0x4780ff(0x1e0)+_0x753e98+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4cf0c3+'\x0a)',_0x58db8b+='\x0aSELECT\x20*\x20FROM\x20'+_0x54c55d,logger['info']({'event':_0x3d08a6[_0x4780ff(0x1c5)],'tableName':_0x4cf0c3,'columnCount':_0x107fe4['length']},'Using\x20auto-generated\x20query');}if(_0x427b6b){const _0x10f2dc=this['buildWhereClause'](_0x427b6b);_0x10f2dc&&(_0x58db8b+='\x0aWHERE\x20'+_0x10f2dc);}if(_0xa80f89&&_0x3d08a6[_0x4780ff(0x1b1)](_0xa80f89[_0x4780ff(0x1de)],0x0)){const _0x666a8d=this[_0x4780ff(0x194)](_0xa80f89);_0x666a8d&&(_0x58db8b+=_0x4780ff(0x1bd)+_0x666a8d);}logger[_0x4780ff(0x1c8)]({'event':_0x3d08a6['sYwEi'],'query':_0x58db8b['substring'](0x0,0xc8)},_0x3d08a6[_0x4780ff(0x1fa)]);const _0x5f1bcd=await executeQuery(_0x58db8b);let _0x588dd5=_0x5f1bcd;return dbType===_0x3d08a6[_0x4780ff(0x175)]&&_0x5f1bcd&&_0x3d08a6[_0x4780ff(0x196)](_0x5f1bcd[_0x4780ff(0x1de)],0x0)&&(_0x588dd5=_0x5f1bcd[_0x4780ff(0x1d2)](_0x234c05=>{const _0x368fe3=_0x4780ff,_0x8c119a={};for(const [_0x40d517,_0x47e926]of Object[_0x368fe3(0x182)](_0x234c05)){_0x8c119a[_0x40d517['toLowerCase']()]=_0x47e926;}return _0x8c119a;})),logger['info']({'event':_0x4780ff(0x1f8),'rows':_0x588dd5[_0x4780ff(0x1de)]},_0x3d08a6['ANCsr']),_0x588dd5;}catch(_0x473dee){logError(_0x473dee,{'event':_0x3d08a6['dYKui']},_0x4780ff(0x1a0));throw _0x473dee;}}[a0_0x12cb30(0x17e)](_0x51f05e){const _0x3674ca=a0_0x12cb30,_0x3140e0={'CioJE':function(_0x337d80,_0x5e509a){return _0x337d80===_0x5e509a;},'IHBkr':_0x3674ca(0x16d)};if(_0x3140e0[_0x3674ca(0x1ba)](typeof _0x51f05e,_0x3140e0[_0x3674ca(0x1d5)]))return _0x51f05e['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x51f05e))return _0x51f05e[_0x3674ca(0x1d2)](_0x201ec1=>this[_0x3674ca(0x17e)](_0x201ec1));}return _0x51f05e;}['buildWhereClause'](_0x5355d7){const _0x3bcecb=a0_0x12cb30,_0x1e7170={'pLGUo':'string','kYfLE':'Skipping\x20invalid\x20condition','NuHYr':function(_0xa583ad,_0x4de319){return _0xa583ad!==_0x4de319;},'KGObq':function(_0x4edaab,_0x36323b){return _0x4edaab===_0x36323b;},'Yicui':'LIKE','oiooA':_0x3bcecb(0x190),'JJwpE':_0x3bcecb(0x1df),'XLAJN':_0x3bcecb(0x1fd),'PXfQg':'\x20OR\x20'};if(!_0x5355d7||!_0x5355d7[_0x3bcecb(0x1c7)]||_0x5355d7[_0x3bcecb(0x1c7)][_0x3bcecb(0x1de)]===0x0)return'';const {logic:_0x3a0f7c,conditions:_0x12737d}=_0x5355d7,_0x501354=_0x3a0f7c&&_0x1e7170[_0x3bcecb(0x1e3)](_0x3a0f7c[_0x3bcecb(0x1e9)](),'OR')?_0x1e7170['PXfQg']:_0x3bcecb(0x1d9),_0x24d581=_0x12737d[_0x3bcecb(0x1d2)](_0x2f5ac0=>{const _0x47c4e5=_0x3bcecb,{key:_0x2a9bea,operator:_0x2ed8a4,value:_0xc1bc0d,sensitive:_0x3a341d}=_0x2f5ac0;if(!_0x2a9bea||!_0x2ed8a4)return logger['warn']({'event':'invalid_condition','condition':_0x2f5ac0},_0x1e7170[_0x47c4e5(0x1e6)]),null;const _0xa9fb3=this[_0x47c4e5(0x17e)](_0xc1bc0d),_0x12be91=_0x1e7170['NuHYr'](_0x3a341d,undefined)?_0x3a341d:!![];let _0x322d47=_0x2a9bea,_0x5b1322=_0xa9fb3;!_0x12be91&&(_0x322d47='UPPER('+_0x2a9bea+')',typeof _0xc1bc0d==='string'&&(_0x5b1322=_0xc1bc0d[_0x47c4e5(0x1e9)]()));const _0x466825=typeof _0x5b1322==='string'?'\x27'+_0x5b1322['replace'](/'/g,'\x27\x27')+'\x27':_0x5b1322;switch(_0x2ed8a4['toUpperCase']()){case'=':case'!=':case'<>':return _0x322d47+'\x20'+_0x2ed8a4+'\x20'+_0x466825;case'>':case'<':case'>=':case'<=':const _0x473b0b=_0x1e7170[_0x47c4e5(0x1e3)](typeof _0xa9fb3,_0x1e7170[_0x47c4e5(0x1aa)])?'\x27'+_0xa9fb3['replace'](/'/g,'\x27\x27')+'\x27':_0xa9fb3;return _0x2a9bea+'\x20'+_0x2ed8a4+'\x20'+_0x473b0b;case _0x1e7170['Yicui']:case _0x47c4e5(0x191):return _0x322d47+'\x20'+_0x2ed8a4+'\x20'+_0x466825;case'IN':if(Array['isArray'](_0xa9fb3)){let _0xa34338;return!_0x12be91?_0xa34338=_0xa9fb3['map'](_0x48be73=>{const _0x126eba=_0x47c4e5,_0x2d978e=typeof _0x48be73==='string'?_0x48be73[_0x126eba(0x1e9)]():_0x48be73;return typeof _0x2d978e===_0x1e7170[_0x126eba(0x1aa)]?'\x27'+_0x2d978e[_0x126eba(0x1f2)](/'/g,'\x27\x27')+'\x27':_0x2d978e;})['join'](',\x20'):_0xa34338=_0xa9fb3['map'](_0x337aef=>typeof _0x337aef==='string'?'\x27'+_0x337aef[_0x47c4e5(0x1f2)](/'/g,'\x27\x27')+'\x27':_0x337aef)['join'](',\x20'),_0x322d47+_0x47c4e5(0x1fe)+_0xa34338+')';}return _0x322d47+_0x47c4e5(0x1fe)+_0x466825+')';case _0x1e7170['oiooA']:return _0x2a9bea+_0x47c4e5(0x186);case _0x47c4e5(0x1b8):return _0x2a9bea+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x1e7170['JJwpE'],'operator':_0x2ed8a4},_0x1e7170['XLAJN']);return _0x322d47+'\x20=\x20'+_0x466825;}})[_0x3bcecb(0x200)](_0x5b1e51=>_0x5b1e51!==null);if(_0x24d581['length']===0x0)return'';return _0x24d581['join'](_0x501354);}[a0_0x12cb30(0x194)](_0x1ee10e){const _0xa36ad3=a0_0x12cb30;if(!_0x1ee10e||_0x1ee10e[_0xa36ad3(0x1de)]===0x0)return'';const _0x334d02=_0x1ee10e['map'](_0x4296ff=>{const _0x3954fd=_0xa36ad3,{column:_0x4bb869,direction:_0x28d429}=_0x4296ff;if(!_0x4bb869)return logger['warn']({'event':_0x3954fd(0x1af),'item':_0x4296ff},'Skipping\x20invalid\x20sort\x20column'),null;const _0x3f8e95=_0x28d429&&_0x28d429[_0x3954fd(0x1e9)]()===_0x3954fd(0x1a9)?_0x3954fd(0x1a9):_0x3954fd(0x16f);return _0x4bb869+'\x20'+_0x3f8e95;})[_0xa36ad3(0x200)](_0x383164=>_0x383164!==null);if(_0x334d02[_0xa36ad3(0x1de)]===0x0)return'';return _0x334d02['join'](',\x20');}async[a0_0x12cb30(0x1ed)](_0x4aa22e,_0x411bb4,_0x122107){const _0x2fe948=a0_0x12cb30,_0x427ab9={'RWDCs':function(_0x3c36b0,_0x496852){return _0x3c36b0*_0x496852;},'LbxWN':function(_0x1b2f70,_0xa2bbe6){return _0x1b2f70/_0xa2bbe6;},'JLlUz':_0x2fe948(0x1d0),'dTgpB':function(_0x373dbd,_0x229e10){return _0x373dbd===_0x229e10;},'fNweK':function(_0x23072f,_0x2c115a){return _0x23072f===_0x2c115a;},'ibYSS':'all','OBvOq':_0x2fe948(0x19d),'OVFMr':'excel_columns_select_all','bIwWe':function(_0x1a81b3,_0x7817cb){return _0x1a81b3>_0x7817cb;},'FdhIt':'excel_columns_from_request','BQrVa':'excel_columns_from_config'},_0x214066=require(_0x427ab9['JLlUz']),_0x5066ab=new _0x214066(),_0x17b58f=_0x122107[_0x2fe948(0x1a4)]?_0x122107['filename']+'-'+_0x4aa22e:'export-'+_0x4aa22e,_0x52927f=path['join'](this[_0x2fe948(0x1cf)],_0x17b58f+'.xlsx');let _0xa63415=_0x122107[_0x2fe948(0x16e)];const _0x2abbc7=_0x122107[_0x2fe948(0x17a)]&&_0x122107[_0x2fe948(0x17a)]['trim'](),_0x50ac7a=_0xa63415&&_0x427ab9['dTgpB'](_0xa63415[_0x2fe948(0x1de)],0x1)&&(_0x427ab9[_0x2fe948(0x1f6)](_0xa63415[0x0],'*')||_0xa63415[0x0][_0x2fe948(0x199)]()===_0x427ab9[_0x2fe948(0x185)]);if(_0x411bb4[_0x2fe948(0x1de)]>0x0){const _0xba629f=Object[_0x2fe948(0x18a)](_0x411bb4[0x0]);if(_0x2abbc7)_0xa63415=_0xba629f,logger[_0x2fe948(0x1c8)]({'event':_0x427ab9['OBvOq'],'columns':_0xa63415},'Using\x20'+_0xa63415[_0x2fe948(0x1de)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x50ac7a)_0xa63415=_0xba629f,logger['info']({'event':_0x427ab9[_0x2fe948(0x1e8)],'columns':_0xa63415},'Using\x20all\x20'+_0xa63415[_0x2fe948(0x1de)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0xa63415&&_0x427ab9[_0x2fe948(0x1b6)](_0xa63415['length'],0x0)){const _0x4692cd=_0xa63415[_0x2fe948(0x200)](_0x1b99d1=>_0xba629f[_0x2fe948(0x18e)](_0x1b99d1));_0x427ab9['bIwWe'](_0x4692cd[_0x2fe948(0x1de)],0x0)?(_0xa63415=_0x4692cd,logger[_0x2fe948(0x1c8)]({'event':_0x427ab9[_0x2fe948(0x174)],'requestedColumns':_0x122107['columns'],'validColumns':_0xa63415},_0x2fe948(0x1ae)+_0xa63415['length']+_0x2fe948(0x1bc))):(_0xa63415=_0xba629f,logger['warn']({'event':_0x2fe948(0x1e2),'requestedColumns':_0x122107['columns'],'availableColumns':_0xba629f},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xba629f['length']+_0x2fe948(0x180)));}else _0xa63415=_0xba629f,logger['info']({'event':'excel_columns_from_query_result','columns':_0xa63415},'Using\x20'+_0xa63415[_0x2fe948(0x1de)]+_0x2fe948(0x203));}}}else logger[_0x2fe948(0x1c8)]({'event':_0x427ab9['BQrVa'],'columns':_0xa63415},'Using\x20'+(_0xa63415?.[_0x2fe948(0x1de)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x5066ab['generate']({'data':_0x411bb4,'columns':_0xa63415,'columnFormats':_0x122107[_0x2fe948(0x1f0)]||null,'fieldLabels':_0x122107[_0x2fe948(0x168)]||null,'filePath':_0x52927f,'onProgress':async _0x1ab38d=>{const _0x2ee016=_0x2fe948;await redisHelper['updateJob'](_0x4aa22e,{'progress':Math['round'](_0x1ab38d),'processed_rows':Math[_0x2ee016(0x1c9)](_0x427ab9['RWDCs'](_0x427ab9[_0x2ee016(0x18c)](_0x1ab38d,0x64),_0x411bb4[_0x2ee016(0x1de)]))});}}),_0x52927f;}async['getFilePath'](_0x11b61d){const _0x420151=a0_0x12cb30,_0x12255b={'XEUFj':function(_0x251692,_0x161439){return _0x251692!==_0x161439;},'lGYcZ':_0x420151(0x1cd)},_0x3e345a=await redisHelper[_0x420151(0x188)](_0x11b61d);if(!_0x3e345a||_0x12255b[_0x420151(0x187)](_0x3e345a[_0x420151(0x1a2)],_0x420151(0x1f1)))return null;try{return await fs['access'](_0x3e345a['file_path']),_0x3e345a[_0x420151(0x171)];}catch(_0x1882f3){return logError(_0x1882f3,{'event':_0x420151(0x183),'jobId':_0x11b61d,'path':_0x3e345a['file_path']},_0x12255b[_0x420151(0x1e1)]),null;}}async[a0_0x12cb30(0x19c)](){const _0x305ed4=a0_0x12cb30,_0x1504b3={'gRBJb':_0x305ed4(0x179),'ZFMEc':'Starting\x20export\x20cleanup','qCfDm':function(_0x3788de,_0x559ce5){return _0x3788de/_0x559ce5;},'kijMf':_0x305ed4(0x1d6),'oUZEJ':'Export\x20file\x20deleted','nHQky':_0x305ed4(0x1e5),'SUWXX':_0x305ed4(0x18d)};logger['info']({'event':_0x1504b3[_0x305ed4(0x192)]},_0x1504b3[_0x305ed4(0x1c1)]);const _0x3ae6f3=await redisHelper[_0x305ed4(0x1cc)]();let _0x2c873f=0x0;for(const _0x4cef0f of _0x3ae6f3){const _0x44f6ed=new Date(_0x4cef0f[_0x305ed4(0x1d3)]),_0x46a29d=new Date(),_0x3e0613=_0x1504b3['qCfDm'](_0x46a29d-_0x44f6ed,0x3e8*0x3c*0x3c);if(_0x3e0613>0x1){if(_0x4cef0f[_0x305ed4(0x171)])try{await fs['unlink'](_0x4cef0f[_0x305ed4(0x171)]),logger[_0x305ed4(0x1c8)]({'event':_0x1504b3['kijMf'],'path':_0x4cef0f[_0x305ed4(0x171)]},_0x1504b3['oUZEJ']);}catch(_0x2b1493){logger[_0x305ed4(0x1ca)]({'event':_0x305ed4(0x1a8),'path':_0x4cef0f[_0x305ed4(0x171)],'error':_0x2b1493[_0x305ed4(0x1ce)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x4cef0f[_0x305ed4(0x1a3)]),_0x2c873f++;}}return logger['info']({'event':_0x1504b3['nHQky'],'deleted':_0x2c873f},_0x1504b3['SUWXX']),_0x2c873f;}}module['exports']=new ExportService();
@@ -1 +1 @@
1
- const a0_0x1de924=a0_0x3baf;(function(_0x3b20e8,_0x2cd5f5){const _0x3e209b=a0_0x3baf,_0x5cbede=_0x3b20e8();while(!![]){try{const _0x12f615=parseInt(_0x3e209b(0x214))/0x1*(parseInt(_0x3e209b(0x1d8))/0x2)+parseInt(_0x3e209b(0x1bb))/0x3+-parseInt(_0x3e209b(0x177))/0x4+parseInt(_0x3e209b(0x1c1))/0x5*(-parseInt(_0x3e209b(0x1b4))/0x6)+parseInt(_0x3e209b(0x183))/0x7+-parseInt(_0x3e209b(0x1b9))/0x8+parseInt(_0x3e209b(0x1f5))/0x9;if(_0x12f615===_0x2cd5f5)break;else _0x5cbede['push'](_0x5cbede['shift']());}catch(_0x1a7b87){_0x5cbede['push'](_0x5cbede['shift']());}}}(a0_0x20c8,0x5c24c));const {v7:uuidv7}=require(a0_0x1de924(0x175)),path=require('path'),fs=require('fs')[a0_0x1de924(0x16b)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x1de924(0x1a7)]['DB_TYPE']||'postgresql')[a0_0x1de924(0x1aa)]();function a0_0x20c8(){const _0x46ada8=['DgvZDa','CgfYC2vfEgnLBezPBgu','zMLUza','z2vUzxjHDgvjza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Bwf0y2G','C3rHDhvZ','lI4VDxrPBhmVzgi','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','DhLWzq','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','ieLoicG','zgvIDwC','nZK5mZyYmgfuA3Ptta','uhjLDMLLDYbQB2iGy3jLyxrLza','AM9PBG','cIaGicaGicaGv0HfuKuG','ChjLDMLLD19LCNjVCG','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','t09QzM0','yNvPBgrcyxrJAfvWzgf0zq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','CuLxrK4','B2Hfr1K','vvbeqvrf','ChjVy2vZC2LUzW','AxrJyK4','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','DMfSAwq','txjAEKO','C2v0','Aw5Zzxj0x29UBhK','DMfSAwrHDgLUzW','tKzNAe8','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zMLLBgrmywjLBhm','lI4VDxrPBhmVzgiTBxLZCwW','Dg9vChbLCKnHC2u','jdfFjdi','Cfjlvhq','CM93sw5KzxG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dhj1zq','zxHLy3v0zvf1zxj5','mZeXndiYAefqzePp','ChjVBwLZzxm','x3vWBg9HzerPCG','q29TBwL0igPVyIbMywLSzwq','vhjPq3a','z2v0tw9UDgG','x2v4Axn0Aw5Nswq','Aw5JBhvKzxm','DhjPBq','sfPRsKS','DxbKyxrLx2v4Axn0Aw5N','DxvPza','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','mJaXnJmYmgzZBMntuG','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','A0XPD1m','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','y29TBwL0x2PVyL9JCMvHDgvK','DxbSB2fKx2LK','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','yNvPBgrmywjLBfrVrMLLBgrnyxa','A01Pt2S','zMLSzv9JBgvHBNvWx2vYCM9Y','B3jPz2LUywXUyw1L','Aw5MBW','nda5mta1mKvXD3b2zG','zMfPBgvK','su5trvju','ChvZAa','C2L6zq','uMnqsu8','CwnUCvq','zxjYB3jZ','x2vYCM9YCW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','y3jLyxrLzf9HDa','r1zrAw8','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','AwjZDfG','ChjLDMLLD19QB2jFy29TCgXLDgvK','vhD3EMS','BwvZC2fNzq','AMnorue','Bg9VA3vWrMLLBgrZ','ChjLDMLLD19VAW','y2H1BMTsB3DZ','zxHLy3v0zvrYyw5Zywn0Aw9U','A2v5CW','C2v0sM9I','zMLSDgvY','EgXcz1i','B3jHy2XL','vKLitNO','BwfW','y3jLyxrLuhjLDMLLD0PVyG','ChjVy2vZC0nVBw1PDePVyG','CMvWBgfJzq','sgLIsgu','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','zw52','zNjVBq','z2v0sM9I','Dg9mB3DLCKnHC2u','r09uzxu','BgvUz3rO','z2v0','DgfYz2v0rMLLBgq','yM9VBgvHBG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','u0Tjua','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','Cgf0Aa','mti1nJK0uMvvq213','AgfZ','sxrpuK0','CgfYyw1Z','CfvRwgq','ntKYmdq2nfrpyLD3sG','y3jLyxrLq29TBwL0sM9I','mtq2mdGXn0PPALHIAW','C2XPy2u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uK92Afq','Aw5Zzxj0','A1LOr3q','mtu1vxb5zgLz','zM9YrwfJAa','CfDyDuC','ChjVy2vZC2vKuM93CW','C3fS','wwjpzNO','wNjIrhK','yK5ZvM0','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','BxLZCwW','z1vZBwi','x2DLBMvYyxrLzf91DwLK','vufyt28','y29SDw1UrM9YBwf0CW','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','DxbSB2fKrMLSzq','y29TBwL0x2PVyL9JB21WBgv0zwq','Dg9ju09tDhjPBMC','swvMwLa','C3vIC3rYAw5N','zMLLBgroyw1L','CgfKu3rHCNq','mKjSvKnsza','rhvWBgLJyxrLihzHBhvLigzVCIa','y291BNq','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','BgzTDwK','C3rYAw5N','x2fJDgLVBG','kqOGicaGica','CMHfzhy','zLrnr3K','sKvVwgC','BfPKteq','EfbtzM8','shfOCNq','DLHAAuG','AM9IoG'];a0_0x20c8=function(){return _0x46ada8;};return a0_0x20c8();}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x1de924(0x19f))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x27fc6a,_0x17a455)=>oracleDb['executeQuery'](_0x27fc6a,_0x17a455),executeTransaction=_0x3c3216=>oracleDb[a0_0x1de924(0x19a)](_0x3c3216);else{if(dbType===a0_0x1de924(0x1cb)){const mysqlDb=require(a0_0x1de924(0x20c));executeQuery=(_0x2f6f0f,_0x36771c)=>mysqlDb[a0_0x1de924(0x213)](_0x2f6f0f,_0x36771c),executeTransaction=_0x11a6c6=>mysqlDb['executeTransaction'](_0x11a6c6);}else{const db=require(a0_0x1de924(0x1ef));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x1de924(0x19a)];}}const excelParser=require(a0_0x1de924(0x191)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x1de924(0x1d0)),lookupResolver=require('../utils/lookup-resolver');function a0_0x3baf(_0x5a122e,_0x3b297d){_0x5a122e=_0x5a122e-0x16b;const _0x20c8b4=a0_0x20c8();let _0x3baf81=_0x20c8b4[_0x5a122e];if(a0_0x3baf['QXExpN']===undefined){var _0x45d333=function(_0x4deb2d){const _0x4f7818='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x594e9e='',_0x1c4bee='';for(let _0x2a10a6=0x0,_0x30bf70,_0x1351f5,_0x2624bb=0x0;_0x1351f5=_0x4deb2d['charAt'](_0x2624bb++);~_0x1351f5&&(_0x30bf70=_0x2a10a6%0x4?_0x30bf70*0x40+_0x1351f5:_0x1351f5,_0x2a10a6++%0x4)?_0x594e9e+=String['fromCharCode'](0xff&_0x30bf70>>(-0x2*_0x2a10a6&0x6)):0x0){_0x1351f5=_0x4f7818['indexOf'](_0x1351f5);}for(let _0x4f16c3=0x0,_0x2c3b85=_0x594e9e['length'];_0x4f16c3<_0x2c3b85;_0x4f16c3++){_0x1c4bee+='%'+('00'+_0x594e9e['charCodeAt'](_0x4f16c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c4bee);};a0_0x3baf['krQlBc']=_0x45d333,a0_0x3baf['uMoZoE']={},a0_0x3baf['QXExpN']=!![];}const _0x1b4d8c=_0x20c8b4[0x0],_0x17f35b=_0x5a122e+_0x1b4d8c,_0x678655=a0_0x3baf['uMoZoE'][_0x17f35b];return!_0x678655?(_0x3baf81=a0_0x3baf['krQlBc'](_0x3baf81),a0_0x3baf['uMoZoE'][_0x17f35b]=_0x3baf81):_0x3baf81=_0x678655,_0x3baf81;}class ImportService{constructor(){const _0x52de56=a0_0x1de924;this[_0x52de56(0x16c)]=null;}get['uploadDir'](){const _0x63d5b7=a0_0x1de924;if(!this['_uploadDir']){const _0x5c83cf=process['env'][_0x63d5b7(0x1bd)]||'default';this[_0x63d5b7(0x16c)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x5c83cf);}return this[_0x63d5b7(0x16c)];}[a0_0x1de924(0x1eb)](){const _0x28a920=a0_0x1de924,_0x30c708={'qqJyy':function(_0x3c228c){return _0x3c228c();}},_0x4c4322=_0x28a920(0x211),_0x4ec6cb=Date['now']()['toString'](0x24),_0x2aee1f=_0x30c708['qqJyy'](uuidv7)[_0x28a920(0x1a4)](/-/g,'')[_0x28a920(0x1d5)](0x0,0xc-_0x4ec6cb['length']),_0x3b246b=(_0x4ec6cb+_0x2aee1f)['substring'](0x0,0xc);let _0x752f8b='';for(let _0x3e1b3d=0x0;_0x3e1b3d<0xc;_0x3e1b3d++){_0x3b246b[_0x3e1b3d]?_0x752f8b+=_0x3b246b[_0x3e1b3d]:_0x752f8b+=_0x4c4322['charAt'](Math['floor'](Math['random']()*_0x4c4322[_0x28a920(0x1ac)]));}return _0x752f8b;}[a0_0x1de924(0x17e)](_0x3d57b5){const _0x508161=a0_0x1de924,_0x7f7f11={'DEqPT':_0x508161(0x20e)},_0x283503=new Map();if(!_0x3d57b5)return _0x283503;return Object['entries'](_0x3d57b5)[_0x508161(0x1c2)](([_0x39b799,_0x297ebe])=>{const _0x418202=_0x508161,_0x188609=String(_0x297ebe)[_0x418202(0x172)]()[_0x418202(0x1a4)](/\s+/g,'_')[_0x418202(0x1a4)](/([a-z])([A-Z])/g,'$1_$2')[_0x418202(0x1a4)](/([A-Z]+)([A-Z][a-z])/g,_0x7f7f11['DEqPT'])[_0x418202(0x1aa)]();_0x283503['set'](_0x188609,_0x39b799);}),logger[_0x508161(0x1f4)]({'event':_0x508161(0x18c),'mappingCount':_0x283503['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x283503;}['applyColumnFormats'](_0x25e60e,_0x33415e){const _0x7cbb15=a0_0x1de924,_0x501ab0={'xlBgR':function(_0x346bdc,_0x2824cd){return _0x346bdc===_0x2824cd;},'ceeUf':'date','dsaZA':_0x7cbb15(0x1af),'qvTym':function(_0x1213c9,_0x269132){return _0x1213c9(_0x269132);}};if(!_0x33415e||Object[_0x7cbb15(0x19b)](_0x33415e)[_0x7cbb15(0x1ac)]===0x0)return _0x25e60e;return _0x25e60e[_0x7cbb15(0x1a1)](_0xd13857=>{const _0x3697dd=_0x7cbb15,_0xe715c3={..._0xd13857};for(const [_0x3c8ebf,_0x1dbed1]of Object['entries'](_0x33415e)){const _0x40ce8e=_0xe715c3[_0x3c8ebf];if(_0x501ab0['xlBgR'](_0x40ce8e,null)||_0x501ab0[_0x3697dd(0x19e)](_0x40ce8e,undefined)||_0x40ce8e===''){_0xe715c3[_0x3c8ebf]=null;continue;}switch(_0x1dbed1['type']){case _0x501ab0['ceeUf']:_0xe715c3[_0x3c8ebf]=this[_0x3697dd(0x1f0)](_0x40ce8e);break;case'number':_0xe715c3[_0x3c8ebf]=this['formatNumberForDatabase'](_0x40ce8e);break;case _0x501ab0['dsaZA']:_0xe715c3[_0x3c8ebf]=this['formatBooleanForDatabase'](_0x40ce8e);break;case'text':_0xe715c3[_0x3c8ebf]=_0x501ab0['qvTym'](String,_0x40ce8e);break;default:break;}}return _0xe715c3;});}['formatDateForDatabase'](_0x4d6c0f){const _0x3bac87=a0_0x1de924,_0x3a8dce={'fhgBL':function(_0x244dd4,_0x195af2){return _0x244dd4===_0x195af2;},'HZkJK':function(_0x381fe7,_0x2b0308){return _0x381fe7===_0x2b0308;},'kmfRZ':function(_0x412025,_0x56fb1b){return _0x412025 instanceof _0x56fb1b;},'sPvRe':function(_0xef4ca2,_0x63a626){return _0xef4ca2+_0x63a626;},'Zffpn':'string','rhEdv':function(_0x494d42,_0x2dee5a){return _0x494d42(_0x2dee5a);}};if(_0x3a8dce['fhgBL'](_0x4d6c0f,null)||_0x4d6c0f===undefined||_0x3a8dce[_0x3bac87(0x173)](_0x4d6c0f,''))return null;if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,'string')&&/^\d{4}-\d{2}-\d{2}$/[_0x3bac87(0x1e8)](_0x4d6c0f))return _0x4d6c0f;if(_0x3a8dce['kmfRZ'](_0x4d6c0f,Date)){if(isNaN(_0x4d6c0f['getTime']()))return null;const _0x2ffe1f=_0x4d6c0f['getFullYear'](),_0x47bdac=String(_0x3a8dce['sPvRe'](_0x4d6c0f[_0x3bac87(0x16f)](),0x1))[_0x3bac87(0x1d7)](0x2,'0'),_0x4a0c29=String(_0x4d6c0f['getDate']())[_0x3bac87(0x1d7)](0x2,'0');return _0x2ffe1f+'-'+_0x47bdac+'-'+_0x4a0c29;}if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,_0x3a8dce['Zffpn'])){const _0x49e5c3=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x49e5c3){const _0x5d7a20=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x49e5c3[0x1])[_0x3bac87(0x1d7)](0x2,'0'),_0x1262b6=String(_0x49e5c3[0x2])[_0x3bac87(0x1d7)](0x2,'0'),_0x3da3ff=_0x49e5c3[0x3];return _0x3da3ff+'-'+_0x1262b6+'-'+_0x5d7a20;}const _0x1349bc=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x1349bc){const _0x4b3c3e=_0x1349bc[0x1],_0x4994d5=_0x3a8dce['rhEdv'](String,_0x1349bc[0x2])['padStart'](0x2,'0'),_0x4b7ba7=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x1349bc[0x3])['padStart'](0x2,'0');return _0x4b3c3e+'-'+_0x4994d5+'-'+_0x4b7ba7;}}return _0x4d6c0f;}[a0_0x1de924(0x1b2)](_0x117131){const _0x34b5d9=a0_0x1de924,_0x288478={'RcPIO':function(_0x2ed2ed,_0x4f95d4){return _0x2ed2ed===_0x4f95d4;},'umNnm':function(_0x3e0da4,_0x41d05e){return _0x3e0da4===_0x41d05e;}};if(_0x288478[_0x34b5d9(0x188)](_0x117131,null)||_0x288478['RcPIO'](_0x117131,undefined)||_0x117131==='')return null;if(_0x288478['umNnm'](typeof _0x117131,'number'))return isNaN(_0x117131)?null:_0x117131;if(typeof _0x117131==='string'){let _0x47d2cb=_0x117131[_0x34b5d9(0x172)]();const _0xad965f=/,\d{1,2}$/[_0x34b5d9(0x1e8)](_0x47d2cb)&&!/,\d{3}/['test'](_0x47d2cb);_0xad965f?_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/\./g,'')[_0x34b5d9(0x1a4)](',','.'):_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/,/g,'');const _0x220228=parseFloat(_0x47d2cb);return isNaN(_0x220228)?null:_0x220228;}return null;}[a0_0x1de924(0x1db)](_0x1e3c49){const _0x48174e=a0_0x1de924,_0x2f4b20={'lxpnp':'true','pUkXd':'false'};if(_0x1e3c49===null||_0x1e3c49===undefined||_0x1e3c49==='')return null;if(typeof _0x1e3c49==='boolean')return _0x1e3c49?_0x2f4b20['lxpnp']:_0x2f4b20[_0x48174e(0x1b8)];if(typeof _0x1e3c49===_0x48174e(0x1dd)){const _0x54b8a9=_0x1e3c49['trim']()['toLowerCase']();if([_0x48174e(0x212),'yes','y','1']['includes'](_0x54b8a9))return _0x2f4b20['lxpnp'];if(['false','no','n','0'][_0x48174e(0x171)](_0x54b8a9))return _0x2f4b20['pUkXd'];return null;}if(typeof _0x1e3c49==='number')return _0x1e3c49?_0x2f4b20['lxpnp']:'false';return null;}async[a0_0x1de924(0x1d1)](_0xa7f3fe,_0x343240){const _0x54da35=a0_0x1de924,_0x10b67f={'tivzM':'headers_mapped','qIWFN':'Excel\x20headers\x20mapped\x20to\x20field\x20names','oqkhc':'column_formats_applied','MrZzJ':'Column\x20formats\x20applied\x20to\x20rows','irgsP':'request_scope_applied','UAXOo':_0x54da35(0x1c9),'YWHlY':_0x54da35(0x180),'kLiwS':'Failed\x20to\x20cleanup\x20file'},_0x147d82=this[_0x54da35(0x1eb)]();try{let {headers:_0x573f14,rows:_0xa5f754,totalRows:_0x2cb968}=await excelParser[_0x54da35(0x1e9)](_0xa7f3fe[_0x54da35(0x1b3)]);const _0x228010=this[_0x54da35(0x17e)](_0x343240[_0x54da35(0x20b)]),_0x3842c5=_0x573f14[_0x54da35(0x1a1)](_0x541d64=>{const _0x299b32=_0x228010['get'](_0x541d64);return _0x299b32||_0x541d64;});_0xa5f754=_0xa5f754['map'](_0x3bcdbf=>{const _0x2b2ab4=_0x54da35,_0xb41999={};return _0x573f14[_0x2b2ab4(0x1c2)]((_0xeb6876,_0x453b55)=>{const _0x959366=_0x3842c5[_0x453b55];_0xb41999[_0x959366]=_0x3bcdbf[_0xeb6876];}),_0xb41999;}),_0x573f14=_0x3842c5,logger['debug']({'event':_0x10b67f['tivzM'],'original':_0x573f14['length'],'mapped':_0x3842c5[_0x54da35(0x19d)]((_0x511b62,_0x14668d)=>_0x511b62!==_0x573f14[_0x14668d])[_0x54da35(0x1ac)]},_0x10b67f[_0x54da35(0x1fe)]);_0x343240['columnFormats']&&Object['keys'](_0x343240['columnFormats'])[_0x54da35(0x1ac)]>0x0&&(_0xa5f754=this['applyColumnFormats'](_0xa5f754,_0x343240['columnFormats']),logger[_0x54da35(0x1f4)]({'event':_0x10b67f['oqkhc'],'formatCount':Object[_0x54da35(0x19b)](_0x343240[_0x54da35(0x1cf)])[_0x54da35(0x1ac)],'formats':Object['keys'](_0x343240[_0x54da35(0x1cf)])},_0x10b67f[_0x54da35(0x205)]));if(_0x343240['scopeOverride']&&_0x343240['scopeOverride']['column']){const {column:_0x28e127,value:_0x3aa879}=_0x343240['scopeOverride'];_0xa5f754=_0xa5f754[_0x54da35(0x1a1)](_0x579fe2=>({..._0x579fe2,[_0x28e127]:_0x3aa879})),logger['debug']({'event':_0x10b67f['irgsP'],'column':_0x28e127,'rowCount':_0xa5f754['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x249594=_0x343240['lookupFields']?Object['values'](_0x343240[_0x54da35(0x197)])['map'](_0x423f5c=>_0x423f5c[_0x54da35(0x1ae)]):[],_0x42ed7d=_0x343240[_0x54da35(0x1d6)]['filter'](_0x296857=>!_0x249594['includes'](_0x296857)),_0xee0a05=excelParser[_0x54da35(0x1ca)](_0x573f14,_0x42ed7d);if(!_0xee0a05[_0x54da35(0x204)]){await fs['unlink'](_0xa7f3fe[_0x54da35(0x1b3)]);throw new Error(_0x54da35(0x17a)+_0xee0a05['missingFields']['join'](',\x20'));}const _0x5ce136={'upload_id':_0x147d82,'filename':_0xa7f3fe[_0x54da35(0x181)],'total_rows':_0x2cb968,'headers':_0x573f14,'rows':_0xa5f754,'params':_0x343240,'created_at':new Date()[_0x54da35(0x1d3)]()};return await redisHelper['setJob']('upload:'+_0x147d82,_0x5ce136,0xe10),await fs[_0x54da35(0x18e)](_0xa7f3fe[_0x54da35(0x1b3)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x147d82,'filename':_0xa7f3fe['originalname'],'totalRows':_0x2cb968},_0x10b67f[_0x54da35(0x1ce)]),{'upload_id':_0x147d82,'total_rows':_0x2cb968,'preview':_0xa5f754[_0x54da35(0x1bc)](0x0,0xa)};}catch(_0x44fb9f){try{await fs[_0x54da35(0x18e)](_0xa7f3fe['path']);}catch(_0x2d320b){logError(_0x2d320b,{'event':_0x10b67f['YWHlY']},_0x10b67f[_0x54da35(0x179)]);}throw _0x44fb9f;}}async[a0_0x1de924(0x1a2)](_0x53103d){const _0x2e00bc=a0_0x1de924,_0x376505={'VIHNz':function(_0x20476a,_0x4fa7d3,_0x20a985,_0x278123){return _0x20476a(_0x4fa7d3,_0x20a985,_0x278123);},'ZrbDy':'Upload\x20data\x20not\x20found\x20or\x20expired','ohEGY':_0x2e00bc(0x18d),'FppBW':_0x2e00bc(0x1f6)},_0xaecdf2=this[_0x2e00bc(0x1eb)](),_0x1b4e33=await redisHelper['getJob']('upload:'+_0x53103d);if(!_0x1b4e33)throw new Error(_0x376505[_0x2e00bc(0x1c7)]);const _0x36d0df={'job_id':_0xaecdf2,'upload_id':_0x53103d,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1b4e33[_0x2e00bc(0x1b7)]};return await redisHelper[_0x2e00bc(0x19c)](_0x2e00bc(0x1e7)+_0xaecdf2,_0x36d0df,0xe10),logger[_0x2e00bc(0x182)]({'event':_0x376505[_0x2e00bc(0x1ff)],'jobId':_0xaecdf2,'uploadId':_0x53103d},_0x376505['FppBW']),this['processPreviewJob'](_0xaecdf2,_0x53103d,_0x1b4e33)['catch'](_0x57ce40=>{const _0x20c56c=_0x2e00bc;_0x376505[_0x20c56c(0x1a0)](logError,_0x57ce40,{'event':_0x20c56c(0x20a),'jobId':_0xaecdf2},_0x20c56c(0x1b0));}),{'job_id':_0xaecdf2,'status':_0x2e00bc(0x208)};}['autoGenerateUpsertKeys'](_0x3395a5,_0x395c3c){const _0xee63a8=a0_0x1de924,_0x3a5074={'HkRXp':function(_0xb3e815,_0x476ddb){return _0xb3e815===_0x476ddb;},'OOjfm':function(_0x53809a,_0x88a12f){return _0x53809a===_0x88a12f;},'GvUPr':function(_0x5bdb61){return _0x5bdb61();},'IefZP':function(_0x3d7b32,_0x31eea2){return _0x3d7b32+_0x31eea2;}};_0x3395a5[_0xee63a8(0x1c2)]((_0x358fd2,_0x1c98c2)=>{const _0x4bcd17=_0xee63a8,_0xf51418={'mmvUo':function(_0x38adee,_0x123455){return _0x3a5074['HkRXp'](_0x38adee,_0x123455);},'lfmui':function(_0x29862a,_0x5d585d){const _0x31a4ff=a0_0x3baf;return _0x3a5074[_0x31a4ff(0x1fb)](_0x29862a,_0x5d585d);},'ROvhT':function(_0x235545,_0x28ea0f){return _0x235545(_0x28ea0f);},'QyARD':function(_0x28eb0d){return _0x3a5074['GvUPr'](_0x28eb0d);},'SrnPH':function(_0x19fe0a,_0x23cc8d){const _0x37d6f4=a0_0x3baf;return _0x3a5074[_0x37d6f4(0x1d4)](_0x19fe0a,_0x23cc8d);}};_0x395c3c[_0x4bcd17(0x1c2)](_0x1557b6=>{const _0x13e955=_0x4bcd17,_0x4b1c87=_0x358fd2[_0x1557b6];if(_0x4b1c87===null||_0xf51418['mmvUo'](_0x4b1c87,undefined)||_0x4b1c87===''||_0xf51418[_0x13e955(0x1dc)](_0xf51418[_0x13e955(0x1be)](String,_0x4b1c87)[_0x13e955(0x172)](),'-')){const _0x21d169=_0xf51418['QyARD'](uuidv7);_0x358fd2[_0x1557b6]=_0x21d169,_0x358fd2['_generated_uuid']=_0x358fd2[_0x13e955(0x1cd)]||{},_0x358fd2['_generated_uuid'][_0x1557b6]=_0x21d169,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x1c98c2,'field':_0x1557b6,'uuid':_0x21d169},'Auto-generated\x20UUID\x20for\x20'+_0x1557b6+'\x20at\x20row\x20'+_0xf51418['SrnPH'](_0x1c98c2,0x2));}});});}async['processPreviewJob'](_0x30a87a,_0x3e256f,_0x385351){const _0x5b2010=a0_0x1de924,_0x36bf5c={'GSTRb':function(_0x1ae5ef,_0xb2defb){return _0x1ae5ef===_0xb2defb;},'vXZiH':function(_0x536c60,_0xbc2eab){return _0x536c60===_0xbc2eab;},'fTMGy':'UPDATE','bNsVm':_0x5b2010(0x1b1),'itcbN':function(_0x36af79,_0x22f2c6){return _0x36af79>_0x22f2c6;},'qcnqT':_0x5b2010(0x1f9),'VYQDS':_0x5b2010(0x193),'NHlJA':function(_0x2286fb,_0x2d21e3,_0x3726fc,_0x283ccb){return _0x2286fb(_0x2d21e3,_0x3726fc,_0x283ccb);},'YbOfz':'Preview\x20job\x20failed','HibHe':'failed'};try{let {rows:_0x20ffe4,params:_0x39a443}=_0x385351;const {requiredFields:_0xbe32e6,validations:_0x3557e6,upsertKeys:_0x5ef989,tableName:_0x74451b,primaryKey:_0x272021,fieldName:_0x359b47,upsertStrategy:_0x1e1ad3,lookupFields:_0x214be7}=_0x39a443;this[_0x5b2010(0x203)](_0x20ffe4,_0x5ef989);let _0x127f15=[];if(_0x214be7&&Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0x30a87a,'lookupFieldCount':Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]},_0x5b2010(0x178));const _0xfc7c0=await lookupResolver['processLookupFields'](_0x20ffe4,_0x214be7);_0x20ffe4=_0xfc7c0[_0x5b2010(0x1c4)],_0x127f15=_0xfc7c0[_0x5b2010(0x18a)],_0x385351['rows']=_0x20ffe4;}const _0x50eec6=importValidator['batchValidateRows'](_0x20ffe4,_0xbe32e6||[],_0x3557e6||{});_0x127f15['forEach'](_0x3f0e98=>{const _0xd3e04e=_0x5b2010,_0x18bad4=_0x50eec6[_0xd3e04e(0x1ea)](_0x1c3ecf=>_0x1c3ecf['rowIndex']===_0x3f0e98['rowIndex']);_0x18bad4?_0x18bad4['errors']['push'](_0x3f0e98['message']):_0x50eec6['push']({'rowIndex':_0x3f0e98[_0xd3e04e(0x210)],'rowData':_0x20ffe4[_0x3f0e98['rowIndex']],'errors':[_0x3f0e98[_0xd3e04e(0x195)]]});});const _0x4088cb=importValidator['detectDuplicatesInFile'](_0x20ffe4,_0x5ef989);_0x4088cb[_0x5b2010(0x1c2)](_0x1712cd=>{const _0x9b64c=_0x5b2010,_0x4f757d=_0x50eec6['find'](_0x40a6af=>_0x40a6af[_0x9b64c(0x210)]===_0x1712cd['rowIndex']),_0x33d03d=_0x5ef989[_0x9b64c(0x1a1)](_0x1743df=>_0x1743df[_0x9b64c(0x20d)]())['join'](',\x20'),_0x5738ab=_0x9b64c(0x1d9)+_0x33d03d;_0x4f757d?_0x4f757d[_0x9b64c(0x18a)][_0x9b64c(0x186)](_0x5738ab):_0x50eec6['push']({'rowIndex':_0x1712cd[_0x9b64c(0x210)],'rowData':_0x20ffe4[_0x1712cd['rowIndex']],'errors':[_0x5738ab]});}),await this['detectDatabaseDuplicates'](_0x20ffe4,_0x5ef989,_0x74451b,_0x272021,_0x1e1ad3,_0x50eec6),_0x50eec6[_0x5b2010(0x1c2)](_0x26be44=>{const _0x420903=_0x5b2010,_0x3a54ac=_0x20ffe4[_0x26be44[_0x420903(0x210)]];_0x3a54ac&&(_0x3a54ac['_errors']=_0x26be44['errors']);});let _0x5a3752=0x0,_0xadee31=0x0,_0x3c99c5=0x0;_0x20ffe4['forEach'](_0xccc98c=>{const _0x5b6e64=_0x5b2010;if(_0x36bf5c['GSTRb'](_0xccc98c[_0x5b6e64(0x1de)],_0x5b6e64(0x185)))_0x5a3752++;else{if(_0x36bf5c[_0x5b6e64(0x1e6)](_0xccc98c['_action'],_0x36bf5c[_0x5b6e64(0x1e1)]))_0xadee31++;else _0xccc98c['_action']===_0x36bf5c[_0x5b6e64(0x1c8)]&&_0x3c99c5++;}});const _0x3dc4a4={'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x202)](_0x50eec6[_0x5b2010(0x1ac)],0x0)?_0x36bf5c[_0x5b2010(0x189)]:_0x5b2010(0x198),'progress':0x64,'created_at':_0x385351['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x20ffe4['length'],'insert_count':_0x5a3752,'update_count':_0xadee31,'skip_count':_0x3c99c5,'error_count':_0x50eec6['length'],'errors':_0x50eec6,'data':_0x20ffe4,'sample_insert':_0x20ffe4[_0x5b2010(0x19d)](_0xffc3d8=>_0xffc3d8['_action']===_0x5b2010(0x185))[_0x5b2010(0x1bc)](0x0,0x5),'sample_update':_0x20ffe4[_0x5b2010(0x19d)](_0x290fda=>_0x290fda[_0x5b2010(0x1de)]==='UPDATE')[_0x5b2010(0x1bc)](0x0,0x5),'sample_skip':_0x20ffe4['filter'](_0x40bc9a=>_0x40bc9a[_0x5b2010(0x1de)]===_0x5b2010(0x1b1))['slice'](0x0,0x5)},'params':_0x39a443};await redisHelper[_0x5b2010(0x19c)]('job:'+_0x30a87a,_0x3dc4a4,0xe10),_0x385351['rows']=_0x20ffe4,await redisHelper[_0x5b2010(0x19c)]('upload:'+_0x3e256f,_0x385351,0xe10),logger[_0x5b2010(0x182)]({'event':_0x36bf5c['VYQDS'],'jobId':_0x30a87a,'status':_0x3dc4a4[_0x5b2010(0x1ee)],'insertCount':_0x5a3752,'updateCount':_0xadee31,'skipCount':_0x3c99c5,'errorCount':_0x50eec6[_0x5b2010(0x1ac)]},_0x5b2010(0x1fd));}catch(_0x53b67f){_0x36bf5c['NHlJA'](logError,_0x53b67f,{'event':'preview_job_failed','jobId':_0x30a87a},_0x36bf5c[_0x5b2010(0x1c6)]),await redisHelper['setJob']('job:'+_0x30a87a,{'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x1a5)],'progress':0x0,'error':_0x53b67f[_0x5b2010(0x195)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x203ff4,_0xd6832e,_0xb7f01e,_0x2165a3,_0x4c5612=a0_0x1de924(0x174),_0x4f7665=[]){const _0x2aff7c=a0_0x1de924,_0x2d916c={'NFghO':function(_0xb16237,_0x325db4){return _0xb16237===_0x325db4;},'srKBj':'NULL','Twwzk':'update_existing','WIFZU':function(_0x19c3b3,_0x11f239){return _0x19c3b3===_0x11f239;},'Hqhrt':_0x2aff7c(0x207),'ibstX':_0x2aff7c(0x1b1),'poJjO':function(_0x51329e,_0xca8359){return _0x51329e!==_0xca8359;},'TriCp':'skip_existing','GVQio':function(_0x2f1bdd,_0x58e9bb){return _0x2f1bdd===_0x58e9bb;},'PiXwk':function(_0xe3e068,_0x134be2){return _0xe3e068===_0x134be2;},'EvEOY':_0x2aff7c(0x185),'pWXuG':_0x2aff7c(0x19f),'kYhGt':function(_0x527846,_0x350ac1){return _0x527846>_0x350ac1;}},_0x5b34b8=upsertBuilder['chunkRows'](_0x203ff4,0x64);for(const _0x57d73d of _0x5b34b8){const _0x4192e9=_0x57d73d['map'](_0x14f8ef=>_0x14f8ef[_0xd6832e[0x0]]),_0x45577a=_0x4192e9['map'](_0x3e1f12=>{const _0x3a7d70=_0x2aff7c;if(_0x2d916c[_0x3a7d70(0x209)](_0x3e1f12,null)||_0x3e1f12===undefined)return _0x2d916c['srKBj'];return'\x27'+String(_0x3e1f12)[_0x3a7d70(0x1a4)](/'/g,'\x27\x27')+'\x27';}),_0x224fa5='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x2165a3+',\x20'+_0xd6832e[_0x2aff7c(0x1f7)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xb7f01e+_0x2aff7c(0x1f8)+_0xd6832e[0x0]+_0x2aff7c(0x1f3)+_0x45577a[_0x2aff7c(0x1f7)](',\x20')+_0x2aff7c(0x1df);let _0x73f0b2=await executeQuery(_0x224fa5);dbType===_0x2d916c[_0x2aff7c(0x1c3)]&&_0x73f0b2&&_0x2d916c[_0x2aff7c(0x1c0)](_0x73f0b2['length'],0x0)&&(_0x73f0b2=_0x73f0b2['map'](_0x26b2fd=>{const _0x5eb8df={};for(const [_0x38a433,_0x1b7c03]of Object['entries'](_0x26b2fd)){_0x5eb8df[_0x38a433['toLowerCase']()]=_0x1b7c03;}return _0x5eb8df;}));const _0x1f2736=new Map();_0x73f0b2['forEach'](_0x3f6539=>{const _0x46e31f=_0x2aff7c,_0x18aab9=_0x3f6539[_0xd6832e[0x0]];_0x1f2736[_0x46e31f(0x206)](_0x18aab9,_0x3f6539);}),_0x57d73d['forEach']((_0x5daa15,_0x2f165c)=>{const _0x49cb0e=_0x2aff7c,_0x2eb110=_0x5daa15[_0xd6832e[0x0]],_0x56f3ad=_0x1f2736[_0x49cb0e(0x1ad)](_0x2eb110);if(_0x56f3ad){if(_0x4c5612===_0x2d916c[_0x49cb0e(0x194)])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x200),_0x5daa15[_0x49cb0e(0x170)]=_0x56f3ad[_0x2165a3];else{if(_0x2d916c['WIFZU'](_0x4c5612,_0x2d916c[_0x49cb0e(0x1e5)])){_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c[_0x49cb0e(0x192)],_0x5daa15['_errors']=_0x5daa15[_0x49cb0e(0x18b)]||[],_0x5daa15['_errors'][_0x49cb0e(0x186)]('Record\x20exists\x20(insert_only\x20mode)');const _0x171947=_0x203ff4['indexOf'](_0x5daa15);_0x2d916c['poJjO'](_0x171947,-0x1)&&_0x4f7665['push']({'rowIndex':_0x171947,'rowData':_0x5daa15,'errors':[_0x49cb0e(0x176)]});}else _0x2d916c['NFghO'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)])&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['ibstX']);}}else{if(_0x4c5612===_0x2d916c['Twwzk'])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x185);else(_0x2d916c[_0x49cb0e(0x190)](_0x4c5612,_0x49cb0e(0x207))||_0x2d916c['PiXwk'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)]))&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['EvEOY']);}});}}async[a0_0x1de924(0x1ba)](_0x1c97da){const _0x5d7124=a0_0x1de924,_0x65f5ed={'lZdLD':function(_0x4cf28c,_0xaa586f,_0x24e5ef,_0x541eee){return _0x4cf28c(_0xaa586f,_0x24e5ef,_0x541eee);},'ONjoW':'commit_process_error','gWxNm':'Commit\x20processing\x20failed','ItORM':_0x5d7124(0x1f2),'LhNDY':_0x5d7124(0x17b),'pRKTt':'Commit\x20job\x20created','GOTeu':'processing'},_0xd6f25f=this[_0x5d7124(0x1eb)](),_0x4b12b0=await redisHelper[_0x5d7124(0x1a9)](_0x5d7124(0x1e7)+_0x1c97da);if(!_0x4b12b0)throw new Error(_0x65f5ed[_0x5d7124(0x1b6)]);if(_0x4b12b0['status']!==_0x5d7124(0x198))throw new Error(_0x5d7124(0x1fa)+_0x4b12b0['status']);const _0x274375={'job_id':_0xd6f25f,'upload_id':_0x4b12b0[_0x5d7124(0x17c)],'preview_job_id':_0x1c97da,'status':_0x5d7124(0x201),'progress':0x0,'created_at':new Date()[_0x5d7124(0x1d3)](),'params':_0x4b12b0['params']};return await redisHelper['setJob'](_0x5d7124(0x1e7)+_0xd6f25f,_0x274375,0xe10),logger['info']({'event':_0x65f5ed['LhNDY'],'jobId':_0xd6f25f,'previewJobId':_0x1c97da},_0x65f5ed[_0x5d7124(0x20f)]),this[_0x5d7124(0x1a3)](_0xd6f25f,_0x4b12b0)['catch'](_0x1ab9bc=>{const _0x3b9a32=_0x5d7124;_0x65f5ed[_0x3b9a32(0x1e3)](logError,_0x1ab9bc,{'event':_0x65f5ed['ONjoW'],'jobId':_0xd6f25f},_0x65f5ed['gWxNm']);}),{'job_id':_0xd6f25f,'status':_0x65f5ed[_0x5d7124(0x1ab)]};}async['processCommitJob'](_0x13088f,_0x4d42ab){const _0x582222=a0_0x1de924,_0x3507ff={'QcXsC':function(_0x1b8565,_0x3b2e19){return _0x1b8565===_0x3b2e19;},'Sstvy':_0x582222(0x1a6),'xPSfo':function(_0x5e6491,_0x5aab20){return _0x5e6491>_0x5aab20;},'qbMcG':_0x582222(0x1bf),'kMiOk':function(_0x1762ab,_0x273994){return _0x1762ab>_0x273994;},'XjmKg':function(_0x41ca3f,_0x46c0de){return _0x41ca3f(_0x46c0de);},'gUsmb':'completed','JEoXg':_0x582222(0x16d),'jcNEA':_0x582222(0x184)};try{const _0x307579=await redisHelper[_0x582222(0x1a9)]('upload:'+_0x4d42ab[_0x582222(0x17c)]);if(!_0x307579)throw new Error(_0x582222(0x1ec));const {rows:_0x33b6e2,params:_0x2811b0}=_0x307579,{tableName:_0x41056b,fieldName:_0x2baab0,primaryKey:_0x385851,upsertKeys:_0x2b4d51,excludeFromImport:_0x178088,lookupFields:_0x192d9e,columnFormats:_0x463d01}=_0x2811b0,_0x4cee49=_0x192d9e?Object[_0x582222(0x19b)](_0x192d9e):[],_0x3ab29b=new Set([..._0x178088||[],..._0x4cee49]);let _0x3befcb=_0x2baab0;_0x3ab29b[_0x582222(0x187)]>0x0&&(_0x3befcb=_0x2baab0['filter'](_0x508e8e=>!_0x3ab29b[_0x582222(0x1b5)](_0x508e8e)),logger[_0x582222(0x1f4)]({'event':_0x3507ff['Sstvy'],'originalCount':_0x2baab0[_0x582222(0x1ac)],'filteredCount':_0x3befcb[_0x582222(0x1ac)],'excludedFields':Array[_0x582222(0x1a8)](_0x3ab29b),'lookupSourceFields':_0x4cee49},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x11680d=_0x33b6e2[_0x582222(0x19d)](_0x2602a3=>_0x2602a3['_action']===_0x582222(0x185)),_0x285a3c=_0x33b6e2[_0x582222(0x19d)](_0x103482=>_0x103482[_0x582222(0x1de)]==='UPDATE');let _0x55abbb=0x0,_0xcf6595=0x0;const _0xdce90e=[];if(_0x3507ff[_0x582222(0x1e4)](_0x11680d[_0x582222(0x1ac)],0x0)){const _0x2fe957=upsertBuilder['chunkRows'](_0x11680d,0x64);for(const _0x429e6f of _0x2fe957){const {query:_0x4fd73c}=upsertBuilder['buildBatchInsert'](_0x429e6f,_0x41056b,_0x3befcb,_0x463d01||{});_0x4fd73c&&_0xdce90e[_0x582222(0x186)]({'sql':_0x4fd73c,'count':_0x429e6f['length'],'type':_0x3507ff['qbMcG']});}}if(_0x285a3c['length']>0x0){const _0x51d05f=upsertBuilder[_0x582222(0x199)](_0x285a3c,0x64);for(const _0x2ca962 of _0x51d05f){const {query:_0x1621ae}=upsertBuilder[_0x582222(0x1fc)](_0x2ca962,_0x41056b,_0x3befcb,_0x385851,_0x2b4d51,_0x463d01||{});_0x1621ae&&_0xdce90e['push']({'sql':_0x1621ae,'count':_0x2ca962['length'],'type':'update'});}}_0x3507ff[_0x582222(0x17f)](_0xdce90e[_0x582222(0x1ac)],0x0)&&await _0x3507ff['XjmKg'](executeTransaction,_0xdce90e[_0x582222(0x1a1)](_0x6b1ed0=>({'sql':_0x6b1ed0[_0x582222(0x1c5)],'params':[]})));_0xdce90e['forEach'](_0x328de7=>{const _0x1aa010=_0x582222;if(_0x3507ff['QcXsC'](_0x328de7[_0x1aa010(0x1f1)],_0x1aa010(0x1bf)))_0x55abbb+=_0x328de7[_0x1aa010(0x1da)];else _0xcf6595+=_0x328de7['count'];});const _0x3830f8={'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x1cc)],'progress':0x64,'created_at':_0x4d42ab[_0x582222(0x18f)],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x33b6e2['length'],'inserted_rows':_0x55abbb,'updated_rows':_0xcf6595,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2811b0};await redisHelper[_0x582222(0x19c)]('job:'+_0x13088f,_0x3830f8,0xe10),logger[_0x582222(0x182)]({'event':_0x582222(0x1d2),'jobId':_0x13088f,'insertedCount':_0x55abbb,'updatedCount':_0xcf6595},'Commit\x20job\x20completed');}catch(_0x4a40f8){logError(_0x4a40f8,{'event':'commit_job_failed','jobId':_0x13088f},_0x3507ff[_0x582222(0x1e2)]),await redisHelper['setJob'](_0x582222(0x1e7)+_0x13088f,{'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x196)],'progress':0x0,'error':_0x4a40f8['message'],'created_at':_0x4d42ab['created_at'],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x5c6e8b){const _0x5ca2f6=a0_0x1de924,_0x3891eb=await redisHelper[_0x5ca2f6(0x1a9)](_0x5ca2f6(0x1e7)+_0x5c6e8b);if(!_0x3891eb)return{'success':![],'error':_0x5ca2f6(0x17d)};return{'success':!![],'data':_0x3891eb};}}module['exports']=new ImportService();
1
+ const a0_0x5d0364=a0_0x4628;(function(_0x3b32b6,_0x42c5a7){const _0x3f520a=a0_0x4628,_0xa8e0c2=_0x3b32b6();while(!![]){try{const _0x375f64=parseInt(_0x3f520a(0x179))/0x1*(parseInt(_0x3f520a(0x101))/0x2)+parseInt(_0x3f520a(0xfb))/0x3+parseInt(_0x3f520a(0x160))/0x4+parseInt(_0x3f520a(0x12a))/0x5+parseInt(_0x3f520a(0x109))/0x6*(parseInt(_0x3f520a(0x140))/0x7)+-parseInt(_0x3f520a(0x154))/0x8*(parseInt(_0x3f520a(0x105))/0x9)+-parseInt(_0x3f520a(0xfd))/0xa;if(_0x375f64===_0x42c5a7)break;else _0xa8e0c2['push'](_0xa8e0c2['shift']());}catch(_0x39a473){_0xa8e0c2['push'](_0xa8e0c2['shift']());}}}(a0_0x5918,0xaed1a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x5d0364(0x13e)],redisHelper=require(a0_0x5d0364(0x15b)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x5d0364(0x14a)]||'postgresql')[a0_0x5d0364(0x102)]();function a0_0x4628(_0x2e5d60,_0x553fa0){_0x2e5d60=_0x2e5d60-0xf9;const _0x59180b=a0_0x5918();let _0x46280f=_0x59180b[_0x2e5d60];if(a0_0x4628['bVEFLu']===undefined){var _0x3708b4=function(_0xa13576){const _0x40806f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eaae1='',_0x36ad57='';for(let _0x885028=0x0,_0x480273,_0xfbe4c3,_0x49fc0b=0x0;_0xfbe4c3=_0xa13576['charAt'](_0x49fc0b++);~_0xfbe4c3&&(_0x480273=_0x885028%0x4?_0x480273*0x40+_0xfbe4c3:_0xfbe4c3,_0x885028++%0x4)?_0x5eaae1+=String['fromCharCode'](0xff&_0x480273>>(-0x2*_0x885028&0x6)):0x0){_0xfbe4c3=_0x40806f['indexOf'](_0xfbe4c3);}for(let _0xa973ce=0x0,_0x4dc5e9=_0x5eaae1['length'];_0xa973ce<_0x4dc5e9;_0xa973ce++){_0x36ad57+='%'+('00'+_0x5eaae1['charCodeAt'](_0xa973ce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36ad57);};a0_0x4628['dNBZCB']=_0x3708b4,a0_0x4628['wSIwJw']={},a0_0x4628['bVEFLu']=!![];}const _0xd60af0=_0x59180b[0x0],_0x4f8c81=_0x2e5d60+_0xd60af0,_0x4d6856=a0_0x4628['wSIwJw'][_0x4f8c81];return!_0x4d6856?(_0x46280f=a0_0x4628['dNBZCB'](_0x46280f),a0_0x4628['wSIwJw'][_0x4f8c81]=_0x46280f):_0x46280f=_0x4d6856,_0x46280f;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x5d0364(0x18f))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x419193,_0x4fcf86)=>oracleDb[a0_0x5d0364(0x111)](_0x419193,_0x4fcf86),executeTransaction=_0x565039=>oracleDb['executeTransaction'](_0x565039);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x5d0364(0x170));executeQuery=(_0x42bc0f,_0x570930)=>mysqlDb[a0_0x5d0364(0x111)](_0x42bc0f,_0x570930),executeTransaction=_0x4ef3b4=>mysqlDb['executeTransaction'](_0x4ef3b4);}else{const db=require('../utils/db');executeQuery=db[a0_0x5d0364(0x111)],executeTransaction=db[a0_0x5d0364(0x194)];}}const excelParser=require(a0_0x5d0364(0x16c)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x5d0364(0xff)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x4d88ac=a0_0x5d0364;this[_0x4d88ac(0x171)]=null;}get['uploadDir'](){const _0x45c05b=a0_0x5d0364;if(!this[_0x45c05b(0x171)]){const _0x2edc18=process[_0x45c05b(0x14e)]['RESTFORGE_PROJECT_NAME']||_0x45c05b(0x163);this['_uploadDir']=process[_0x45c05b(0x14e)]['UPLOAD_DIR']||path[_0x45c05b(0x153)](__dirname,'../../temp/uploads/'+_0x2edc18);}return this['_uploadDir'];}['generateId'](){const _0x320258=a0_0x5d0364,_0x3359bb={'SYwYt':function(_0x5b438d){return _0x5b438d();},'HouwT':function(_0x3ccfc4,_0x4b1dbd){return _0x3ccfc4-_0x4b1dbd;},'qmfCq':function(_0x31b28e,_0x5b976b){return _0x31b28e<_0x5b976b;}},_0xfe2a82='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1cf643=Date['now']()[_0x320258(0x17c)](0x24),_0x3789d8=_0x3359bb['SYwYt'](uuidv7)[_0x320258(0x178)](/-/g,'')['substring'](0x0,_0x3359bb['HouwT'](0xc,_0x1cf643['length'])),_0x2a74a2=(_0x1cf643+_0x3789d8)[_0x320258(0x100)](0x0,0xc);let _0x24a9bd='';for(let _0x245ec3=0x0;_0x3359bb['qmfCq'](_0x245ec3,0xc);_0x245ec3++){_0x2a74a2[_0x245ec3]?_0x24a9bd+=_0x2a74a2[_0x245ec3]:_0x24a9bd+=_0xfe2a82['charAt'](Math['floor'](Math['random']()*_0xfe2a82[_0x320258(0x18d)]));}return _0x24a9bd;}['buildLabelToFieldMap'](_0xc9bf52){const _0x50d345=a0_0x5d0364,_0x269c91={'rEupg':'$1_$2','YpRAe':_0x50d345(0x184)},_0x5306cd=new Map();if(!_0xc9bf52)return _0x5306cd;return Object['entries'](_0xc9bf52)['forEach'](([_0x1f3371,_0x37640f])=>{const _0x3cb267=_0x50d345,_0x31e3fc=String(_0x37640f)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x269c91[_0x3cb267(0x10a)])['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x5306cd['set'](_0x31e3fc,_0x1f3371);}),logger['debug']({'event':_0x269c91['YpRAe'],'mappingCount':_0x5306cd[_0x50d345(0x11e)]},_0x50d345(0x143)),_0x5306cd;}[a0_0x5d0364(0x167)](_0x36b502,_0x4c2e61){const _0xc943c8=a0_0x5d0364,_0x1d827f={'VhdfB':function(_0xc6d58c,_0x13256b){return _0xc6d58c===_0x13256b;},'ugCgt':'number','eTQgw':function(_0x4aa5ec,_0xaabd33){return _0x4aa5ec(_0xaabd33);},'dFRgG':function(_0x29e815,_0x9aa955){return _0x29e815===_0x9aa955;}};if(!_0x4c2e61||_0x1d827f[_0xc943c8(0x155)](Object['keys'](_0x4c2e61)[_0xc943c8(0x18d)],0x0))return _0x36b502;return _0x36b502[_0xc943c8(0x147)](_0x4ae5f7=>{const _0x520139=_0xc943c8,_0x424a22={..._0x4ae5f7};for(const [_0xa9cee7,_0x53e871]of Object[_0x520139(0x14f)](_0x4c2e61)){const _0x44d008=_0x424a22[_0xa9cee7];if(_0x44d008===null||_0x44d008===undefined||_0x1d827f['VhdfB'](_0x44d008,'')){_0x424a22[_0xa9cee7]=null;continue;}switch(_0x53e871['type']){case'date':_0x424a22[_0xa9cee7]=this['formatDateForDatabase'](_0x44d008);break;case _0x1d827f[_0x520139(0x11a)]:_0x424a22[_0xa9cee7]=this[_0x520139(0xf9)](_0x44d008);break;case'boolean':_0x424a22[_0xa9cee7]=this[_0x520139(0x144)](_0x44d008);break;case _0x520139(0x14b):_0x424a22[_0xa9cee7]=_0x1d827f['eTQgw'](String,_0x44d008);break;default:break;}}return _0x424a22;});}[a0_0x5d0364(0x15f)](_0x588098){const _0x3a4039=a0_0x5d0364,_0x535143={'SNaTn':function(_0x471137,_0x587eca){return _0x471137===_0x587eca;},'BWKsQ':function(_0x56826e,_0x26153e){return _0x56826e instanceof _0x26153e;},'CKiLt':function(_0x4f3e96,_0x3a5477){return _0x4f3e96===_0x3a5477;},'dEQaS':_0x3a4039(0x10e),'yBNzH':function(_0x5163eb,_0x56a851){return _0x5163eb(_0x56a851);}};if(_0x535143[_0x3a4039(0x106)](_0x588098,null)||_0x535143[_0x3a4039(0x106)](_0x588098,undefined)||_0x588098==='')return null;if(typeof _0x588098===_0x3a4039(0x10e)&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x588098))return _0x588098;if(_0x535143['BWKsQ'](_0x588098,Date)){if(isNaN(_0x588098[_0x3a4039(0x190)]()))return null;const _0x3dced9=_0x588098[_0x3a4039(0x12c)](),_0x1f5008=String(_0x588098['getMonth']()+0x1)[_0x3a4039(0x134)](0x2,'0'),_0x1ad8a0=String(_0x588098[_0x3a4039(0x103)]())[_0x3a4039(0x134)](0x2,'0');return _0x3dced9+'-'+_0x1f5008+'-'+_0x1ad8a0;}if(_0x535143['CKiLt'](typeof _0x588098,_0x535143['dEQaS'])){const _0x2315aa=_0x588098['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x2315aa){const _0x2ea257=_0x535143[_0x3a4039(0x11c)](String,_0x2315aa[0x1])[_0x3a4039(0x134)](0x2,'0'),_0x1b9498=_0x535143['yBNzH'](String,_0x2315aa[0x2])['padStart'](0x2,'0'),_0x25f593=_0x2315aa[0x3];return _0x25f593+'-'+_0x1b9498+'-'+_0x2ea257;}const _0x12ee17=_0x588098[_0x3a4039(0x151)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x12ee17){const _0x207af9=_0x12ee17[0x1],_0x35f0d4=String(_0x12ee17[0x2])['padStart'](0x2,'0'),_0x43a995=String(_0x12ee17[0x3])[_0x3a4039(0x134)](0x2,'0');return _0x207af9+'-'+_0x35f0d4+'-'+_0x43a995;}}return _0x588098;}['formatNumberForDatabase'](_0x53fb6f){const _0x9b8584=a0_0x5d0364,_0x26d878={'OyVul':function(_0x5e58f8,_0x52468b){return _0x5e58f8===_0x52468b;},'kbJpc':function(_0x18edf2,_0x42414d){return _0x18edf2(_0x42414d);},'EkCTH':function(_0x2cdeee,_0xa3f60a){return _0x2cdeee(_0xa3f60a);}};if(_0x26d878[_0x9b8584(0x187)](_0x53fb6f,null)||_0x53fb6f===undefined||_0x53fb6f==='')return null;if(typeof _0x53fb6f==='number')return _0x26d878[_0x9b8584(0x180)](isNaN,_0x53fb6f)?null:_0x53fb6f;if(typeof _0x53fb6f==='string'){let _0x44b2d5=_0x53fb6f['trim']();const _0x2bf38f=/,\d{1,2}$/['test'](_0x44b2d5)&&!/,\d{3}/[_0x9b8584(0x17b)](_0x44b2d5);_0x2bf38f?_0x44b2d5=_0x44b2d5[_0x9b8584(0x178)](/\./g,'')[_0x9b8584(0x178)](',','.'):_0x44b2d5=_0x44b2d5['replace'](/,/g,'');const _0x4df023=_0x26d878['EkCTH'](parseFloat,_0x44b2d5);return isNaN(_0x4df023)?null:_0x4df023;}return null;}['formatBooleanForDatabase'](_0x3459f4){const _0x198ea2=a0_0x5d0364,_0xe3269a={'mqjFR':function(_0x33ac00,_0x4ddd8f){return _0x33ac00===_0x4ddd8f;},'DoQfY':function(_0x25ed61,_0x183989){return _0x25ed61===_0x183989;},'DhgWc':_0x198ea2(0x165),'AkaMS':'true','qQtnP':'false','oqkJS':'number'};if(_0x3459f4===null||_0xe3269a['mqjFR'](_0x3459f4,undefined)||_0x3459f4==='')return null;if(_0xe3269a[_0x198ea2(0x12d)](typeof _0x3459f4,_0xe3269a['DhgWc']))return _0x3459f4?_0xe3269a[_0x198ea2(0x193)]:_0xe3269a[_0x198ea2(0xfe)];if(typeof _0x3459f4===_0x198ea2(0x10e)){const _0xd4a1ac=_0x3459f4[_0x198ea2(0xfc)]()['toLowerCase']();if(['true','yes','y','1']['includes'](_0xd4a1ac))return'true';if([_0xe3269a[_0x198ea2(0xfe)],'no','n','0']['includes'](_0xd4a1ac))return _0xe3269a[_0x198ea2(0xfe)];return null;}if(_0xe3269a['DoQfY'](typeof _0x3459f4,_0xe3269a['oqkJS']))return _0x3459f4?'true':_0xe3269a['qQtnP'];return null;}async['uploadFile'](_0x443def,_0xf972ed){const _0x8ee9cd=a0_0x5d0364,_0x3883f2={'GmdoE':function(_0x40e01b,_0x2fff09){return _0x40e01b||_0x2fff09;},'xnOAJ':_0x8ee9cd(0x177),'RHrjd':'Column\x20formats\x20applied\x20to\x20rows','TKRir':'import_file_uploaded','MykDh':'file_cleanup_error','MLIdO':'Failed\x20to\x20cleanup\x20file'},_0x4aad53=this['generateId']();try{let {headers:_0x29ad85,rows:_0x47e792,totalRows:_0x2119f6}=await excelParser[_0x8ee9cd(0x16a)](_0x443def[_0x8ee9cd(0x124)]);const _0x20283c=this['buildLabelToFieldMap'](_0xf972ed[_0x8ee9cd(0x152)]),_0x56eafa=_0x29ad85['map'](_0x5487e0=>{const _0x894374=_0x20283c['get'](_0x5487e0);return _0x3883f2['GmdoE'](_0x894374,_0x5487e0);});_0x47e792=_0x47e792[_0x8ee9cd(0x147)](_0x5f1172=>{const _0x53ea97={};return _0x29ad85['forEach']((_0x52e11f,_0x5aad1c)=>{const _0x13d927=_0x56eafa[_0x5aad1c];_0x53ea97[_0x13d927]=_0x5f1172[_0x52e11f];}),_0x53ea97;}),_0x29ad85=_0x56eafa,logger['debug']({'event':_0x3883f2['xnOAJ'],'original':_0x29ad85[_0x8ee9cd(0x18d)],'mapped':_0x56eafa['filter']((_0x561c10,_0x504b73)=>_0x561c10!==_0x29ad85[_0x504b73])['length']},_0x8ee9cd(0x110));_0xf972ed['columnFormats']&&Object[_0x8ee9cd(0x137)](_0xf972ed[_0x8ee9cd(0x142)])[_0x8ee9cd(0x18d)]>0x0&&(_0x47e792=this[_0x8ee9cd(0x167)](_0x47e792,_0xf972ed['columnFormats']),logger[_0x8ee9cd(0x175)]({'event':_0x8ee9cd(0x138),'formatCount':Object[_0x8ee9cd(0x137)](_0xf972ed['columnFormats'])[_0x8ee9cd(0x18d)],'formats':Object[_0x8ee9cd(0x137)](_0xf972ed[_0x8ee9cd(0x142)])},_0x3883f2['RHrjd']));if(_0xf972ed[_0x8ee9cd(0x121)]&&_0xf972ed[_0x8ee9cd(0x121)]['column']){const {column:_0x16c16c,value:_0x922fdd}=_0xf972ed[_0x8ee9cd(0x121)];_0x47e792=_0x47e792['map'](_0x3a9334=>({..._0x3a9334,[_0x16c16c]:_0x922fdd})),logger[_0x8ee9cd(0x175)]({'event':'request_scope_applied','column':_0x16c16c,'rowCount':_0x47e792['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5279e7=_0xf972ed['lookupFields']?Object[_0x8ee9cd(0x198)](_0xf972ed['lookupFields'])['map'](_0x17173c=>_0x17173c['targetField']):[],_0x3d0a44=_0xf972ed[_0x8ee9cd(0x197)]['filter'](_0x1cde05=>!_0x5279e7[_0x8ee9cd(0x128)](_0x1cde05)),_0x2558c3=excelParser[_0x8ee9cd(0x18e)](_0x29ad85,_0x3d0a44);if(!_0x2558c3['valid']){await fs['unlink'](_0x443def[_0x8ee9cd(0x124)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2558c3[_0x8ee9cd(0x10c)][_0x8ee9cd(0x153)](',\x20'));}const _0x3fddc7={'upload_id':_0x4aad53,'filename':_0x443def[_0x8ee9cd(0x13b)],'total_rows':_0x2119f6,'headers':_0x29ad85,'rows':_0x47e792,'params':_0xf972ed,'created_at':new Date()[_0x8ee9cd(0x136)]()};return await redisHelper[_0x8ee9cd(0x130)](_0x8ee9cd(0x14c)+_0x4aad53,_0x3fddc7,0xe10),await fs[_0x8ee9cd(0x199)](_0x443def[_0x8ee9cd(0x124)]),logger['info']({'event':_0x3883f2['TKRir'],'uploadId':_0x4aad53,'filename':_0x443def['originalname'],'totalRows':_0x2119f6},_0x8ee9cd(0x182)),{'upload_id':_0x4aad53,'total_rows':_0x2119f6,'preview':_0x47e792[_0x8ee9cd(0x104)](0x0,0xa)};}catch(_0x20a25a){try{await fs['unlink'](_0x443def[_0x8ee9cd(0x124)]);}catch(_0x41e479){logError(_0x41e479,{'event':_0x3883f2['MykDh']},_0x3883f2['MLIdO']);}throw _0x20a25a;}}async['createPreviewJob'](_0x1484eb){const _0x723018=a0_0x5d0364,_0x279be0={'BzZjw':_0x723018(0x174),'nHGvR':'Preview\x20processing\x20failed','ChNUP':'Upload\x20data\x20not\x20found\x20or\x20expired','LgRMO':'validating'},_0x6dc6db=this['generateId'](),_0x3d366f=await redisHelper['getJob']('upload:'+_0x1484eb);if(!_0x3d366f)throw new Error(_0x279be0['ChNUP']);const _0x4ab563={'job_id':_0x6dc6db,'upload_id':_0x1484eb,'status':_0x723018(0x16d),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3d366f[_0x723018(0x159)]};return await redisHelper[_0x723018(0x130)]('job:'+_0x6dc6db,_0x4ab563,0xe10),logger[_0x723018(0x17e)]({'event':_0x723018(0x192),'jobId':_0x6dc6db,'uploadId':_0x1484eb},'Preview\x20job\x20created'),this['processPreviewJob'](_0x6dc6db,_0x1484eb,_0x3d366f)[_0x723018(0x117)](_0x3caf0b=>{const _0x1749ee=_0x723018;logError(_0x3caf0b,{'event':_0x279be0[_0x1749ee(0x188)],'jobId':_0x6dc6db},_0x279be0[_0x1749ee(0x181)]);}),{'job_id':_0x6dc6db,'status':_0x279be0[_0x723018(0x123)]};}['autoGenerateUpsertKeys'](_0xcf3209,_0x374ff2){const _0x15670a=a0_0x5d0364,_0x5162bc={'BORlL':function(_0x580dd7,_0x1ae294){return _0x580dd7===_0x1ae294;},'TbnMo':function(_0x38e212,_0x1e259b){return _0x38e212(_0x1e259b);},'womzy':function(_0x521141){return _0x521141();}};_0xcf3209[_0x15670a(0x15d)]((_0x187787,_0x31a783)=>{const _0xb7c3b=_0x15670a;_0x374ff2[_0xb7c3b(0x15d)](_0x44210b=>{const _0x1a5bfc=_0xb7c3b,_0x55ff87=_0x187787[_0x44210b];if(_0x55ff87===null||_0x55ff87===undefined||_0x5162bc['BORlL'](_0x55ff87,'')||_0x5162bc['TbnMo'](String,_0x55ff87)[_0x1a5bfc(0xfc)]()==='-'){const _0x34bfdf=_0x5162bc['womzy'](uuidv7);_0x187787[_0x44210b]=_0x34bfdf,_0x187787['_generated_uuid']=_0x187787['_generated_uuid']||{},_0x187787['_generated_uuid'][_0x44210b]=_0x34bfdf,logger[_0x1a5bfc(0x175)]({'event':_0x1a5bfc(0x113),'rowIndex':_0x31a783,'field':_0x44210b,'uuid':_0x34bfdf},_0x1a5bfc(0x162)+_0x44210b+'\x20at\x20row\x20'+(_0x31a783+0x2));}});});}async['processPreviewJob'](_0x1529d8,_0x47eaea,_0x25c0bc){const _0x3af8b9=a0_0x5d0364,_0x1328d6={'AcwEy':_0x3af8b9(0x10f),'yJzcM':function(_0x2ca18b,_0xb5bb8e){return _0x2ca18b===_0xb5bb8e;},'eYDMI':'UPDATE','DKKcl':'SKIP','hoSvE':function(_0x41a35d,_0x4a9cd9){return _0x41a35d>_0x4a9cd9;},'iUzeJ':_0x3af8b9(0x127),'fyeRJ':'Processing\x20lookup\x20fields','maNAu':function(_0x1af130,_0x5a0c99){return _0x1af130||_0x5a0c99;},'eiYtN':_0x3af8b9(0x196),'xMEQs':'preview_job_completed','eATyQ':_0x3af8b9(0x18b),'eNirP':function(_0x36fd99,_0x10d0d4,_0x595744,_0x934dcd){return _0x36fd99(_0x10d0d4,_0x595744,_0x934dcd);}};try{let {rows:_0x5960a5,params:_0x32d418}=_0x25c0bc;const {requiredFields:_0xdc988e,validations:_0x2245c6,upsertKeys:_0x58bae4,tableName:_0x48d21c,primaryKey:_0x4f66f2,fieldName:_0x39a960,upsertStrategy:_0x20065e,lookupFields:_0x1854f3}=_0x32d418;this[_0x3af8b9(0x13d)](_0x5960a5,_0x58bae4);let _0x1f40a2=[];if(_0x1854f3&&_0x1328d6['hoSvE'](Object[_0x3af8b9(0x137)](_0x1854f3)['length'],0x0)){logger['info']({'event':_0x1328d6['iUzeJ'],'jobId':_0x1529d8,'lookupFieldCount':Object[_0x3af8b9(0x137)](_0x1854f3)[_0x3af8b9(0x18d)]},_0x1328d6[_0x3af8b9(0x129)]);const _0x3538cc=await lookupResolver['processLookupFields'](_0x5960a5,_0x1854f3);_0x5960a5=_0x3538cc[_0x3af8b9(0x122)],_0x1f40a2=_0x3538cc[_0x3af8b9(0x132)],_0x25c0bc[_0x3af8b9(0x112)]=_0x5960a5;}const _0x43632c=importValidator['batchValidateRows'](_0x5960a5,_0xdc988e||[],_0x1328d6['maNAu'](_0x2245c6,{}));_0x1f40a2['forEach'](_0x30cfac=>{const _0x1db722=_0x3af8b9,_0x15ddbd=_0x43632c['find'](_0x29e537=>_0x29e537[_0x1db722(0x114)]===_0x30cfac[_0x1db722(0x114)]);_0x15ddbd?_0x15ddbd[_0x1db722(0x132)]['push'](_0x30cfac[_0x1db722(0x13f)]):_0x43632c['push']({'rowIndex':_0x30cfac['rowIndex'],'rowData':_0x5960a5[_0x30cfac['rowIndex']],'errors':[_0x30cfac['message']]});});const _0x5ea795=importValidator[_0x3af8b9(0x115)](_0x5960a5,_0x58bae4);_0x5ea795['forEach'](_0x171114=>{const _0x3d4fae=_0x3af8b9,_0x1ef074=_0x43632c['find'](_0x5392c5=>_0x5392c5['rowIndex']===_0x171114['rowIndex']),_0x138496=_0x58bae4['map'](_0x11cd76=>_0x11cd76['toUpperCase']())['join'](',\x20'),_0x526525='Duplicate\x20value\x20for\x20'+_0x138496;_0x1ef074?_0x1ef074['errors'][_0x3d4fae(0x15a)](_0x526525):_0x43632c['push']({'rowIndex':_0x171114['rowIndex'],'rowData':_0x5960a5[_0x171114['rowIndex']],'errors':[_0x526525]});}),await this['detectDatabaseDuplicates'](_0x5960a5,_0x58bae4,_0x48d21c,_0x4f66f2,_0x20065e,_0x43632c),_0x43632c['forEach'](_0x3ad3ce=>{const _0x1bbc85=_0x3af8b9,_0x4692b8=_0x5960a5[_0x3ad3ce['rowIndex']];_0x4692b8&&(_0x4692b8['_errors']=_0x3ad3ce[_0x1bbc85(0x132)]);});let _0x363cd2=0x0,_0x249acf=0x0,_0x3ef360=0x0;_0x5960a5[_0x3af8b9(0x15d)](_0x1d5df2=>{const _0x8f0c4c=_0x3af8b9;if(_0x1d5df2[_0x8f0c4c(0x169)]===_0x1328d6[_0x8f0c4c(0x166)])_0x363cd2++;else{if(_0x1328d6[_0x8f0c4c(0x120)](_0x1d5df2['_action'],_0x1328d6[_0x8f0c4c(0x17d)]))_0x249acf++;else _0x1d5df2[_0x8f0c4c(0x169)]===_0x1328d6['DKKcl']&&_0x3ef360++;}});const _0x10f2ab={'job_id':_0x1529d8,'upload_id':_0x47eaea,'status':_0x43632c[_0x3af8b9(0x18d)]>0x0?_0x3af8b9(0x10b):_0x1328d6['eiYtN'],'progress':0x64,'created_at':_0x25c0bc['created_at'],'completed_at':new Date()[_0x3af8b9(0x136)](),'preview':{'total_rows':_0x5960a5['length'],'insert_count':_0x363cd2,'update_count':_0x249acf,'skip_count':_0x3ef360,'error_count':_0x43632c['length'],'errors':_0x43632c,'data':_0x5960a5,'sample_insert':_0x5960a5[_0x3af8b9(0x161)](_0xe21389=>_0xe21389[_0x3af8b9(0x169)]==='INSERT')[_0x3af8b9(0x104)](0x0,0x5),'sample_update':_0x5960a5['filter'](_0x485da5=>_0x485da5[_0x3af8b9(0x169)]==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x5960a5[_0x3af8b9(0x161)](_0x12e875=>_0x12e875[_0x3af8b9(0x169)]===_0x3af8b9(0x108))['slice'](0x0,0x5)},'params':_0x32d418};await redisHelper[_0x3af8b9(0x130)]('job:'+_0x1529d8,_0x10f2ab,0xe10),_0x25c0bc['rows']=_0x5960a5,await redisHelper[_0x3af8b9(0x130)]('upload:'+_0x47eaea,_0x25c0bc,0xe10),logger[_0x3af8b9(0x17e)]({'event':_0x1328d6['xMEQs'],'jobId':_0x1529d8,'status':_0x10f2ab[_0x3af8b9(0x13a)],'insertCount':_0x363cd2,'updateCount':_0x249acf,'skipCount':_0x3ef360,'errorCount':_0x43632c['length']},_0x1328d6['eATyQ']);}catch(_0x51f414){_0x1328d6['eNirP'](logError,_0x51f414,{'event':'preview_job_failed','jobId':_0x1529d8},_0x3af8b9(0x133)),await redisHelper[_0x3af8b9(0x130)](_0x3af8b9(0x145)+_0x1529d8,{'job_id':_0x1529d8,'upload_id':_0x47eaea,'status':_0x3af8b9(0x116),'progress':0x0,'error':_0x51f414[_0x3af8b9(0x13f)],'created_at':new Date()[_0x3af8b9(0x136)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5d0364(0x11b)](_0x1f9882,_0x1e4ea3,_0x31abc5,_0x50e71b,_0x33481c=a0_0x5d0364(0x125),_0x20546e=[]){const _0x17b0fb=a0_0x5d0364,_0x15df45={'CigMI':function(_0x3bd689,_0x4fb5a4){return _0x3bd689===_0x4fb5a4;},'OPEBq':_0x17b0fb(0x146),'KMzFo':function(_0x5520f6,_0x3e4362){return _0x5520f6(_0x3e4362);},'IYDob':_0x17b0fb(0x126),'YAwYU':'insert_only','LrXCr':'SKIP','DrpvO':function(_0x1f672e,_0x5b49ce){return _0x1f672e!==_0x5b49ce;},'VZNzR':_0x17b0fb(0x12b),'uvEjN':function(_0xb10c9a,_0x4f42c3){return _0xb10c9a===_0x4f42c3;},'LYkVk':'update_existing','YWmhS':function(_0x50a38e,_0x4e5806){return _0x50a38e===_0x4e5806;},'GXasQ':function(_0x5262a1,_0x32a02){return _0x5262a1===_0x32a02;},'PRKcH':'oracle'},_0xecc56e=upsertBuilder['chunkRows'](_0x1f9882,0x64);for(const _0x172b7a of _0xecc56e){const _0x360ce6=_0x172b7a[_0x17b0fb(0x147)](_0x1c38bc=>_0x1c38bc[_0x1e4ea3[0x0]]),_0x163a11=_0x360ce6[_0x17b0fb(0x147)](_0x6966aa=>{const _0x1dae39=_0x17b0fb;if(_0x15df45['CigMI'](_0x6966aa,null)||_0x6966aa===undefined)return _0x15df45[_0x1dae39(0x13c)];return'\x27'+_0x15df45[_0x1dae39(0x158)](String,_0x6966aa)[_0x1dae39(0x178)](/'/g,'\x27\x27')+'\x27';}),_0x3cd804='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x50e71b+',\x20'+_0x1e4ea3[_0x17b0fb(0x153)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x31abc5+_0x17b0fb(0x139)+_0x1e4ea3[0x0]+_0x17b0fb(0x183)+_0x163a11[_0x17b0fb(0x153)](',\x20')+_0x17b0fb(0x17f);let _0x43ca79=await executeQuery(_0x3cd804);_0x15df45['GXasQ'](dbType,_0x15df45[_0x17b0fb(0x16b)])&&_0x43ca79&&_0x43ca79['length']>0x0&&(_0x43ca79=_0x43ca79[_0x17b0fb(0x147)](_0x2f3a15=>{const _0x17f88b=_0x17b0fb,_0xa33fdd={};for(const [_0x3568dc,_0x3b28b2]of Object[_0x17f88b(0x14f)](_0x2f3a15)){_0xa33fdd[_0x3568dc[_0x17f88b(0x102)]()]=_0x3b28b2;}return _0xa33fdd;}));const _0x54af0d=new Map();_0x43ca79['forEach'](_0x404e6c=>{const _0x2e494f=_0x17b0fb,_0x25fa8b=_0x404e6c[_0x1e4ea3[0x0]];_0x54af0d[_0x2e494f(0x150)](_0x25fa8b,_0x404e6c);}),_0x172b7a['forEach']((_0xe6d8f2,_0x58ecc8)=>{const _0x2d652f=_0x17b0fb,_0x2ac989=_0xe6d8f2[_0x1e4ea3[0x0]],_0x1e2e6e=_0x54af0d[_0x2d652f(0x185)](_0x2ac989);if(_0x1e2e6e){if(_0x15df45['CigMI'](_0x33481c,_0x2d652f(0x125)))_0xe6d8f2['_action']=_0x15df45['IYDob'],_0xe6d8f2['_existingId']=_0x1e2e6e[_0x50e71b];else{if(_0x33481c===_0x15df45['YAwYU']){_0xe6d8f2[_0x2d652f(0x169)]=_0x15df45[_0x2d652f(0x189)],_0xe6d8f2[_0x2d652f(0x157)]=_0xe6d8f2['_errors']||[],_0xe6d8f2[_0x2d652f(0x157)]['push'](_0x2d652f(0x191));const _0x51cbb7=_0x1f9882[_0x2d652f(0x156)](_0xe6d8f2);_0x15df45[_0x2d652f(0x173)](_0x51cbb7,-0x1)&&_0x20546e[_0x2d652f(0x15a)]({'rowIndex':_0x51cbb7,'rowData':_0xe6d8f2,'errors':[_0x2d652f(0x191)]});}else _0x33481c===_0x15df45[_0x2d652f(0x18a)]&&(_0xe6d8f2['_action']=_0x15df45['LrXCr']);}}else{if(_0x15df45[_0x2d652f(0x168)](_0x33481c,_0x15df45['LYkVk']))_0xe6d8f2['_action']='INSERT';else(_0x15df45[_0x2d652f(0x18c)](_0x33481c,_0x15df45[_0x2d652f(0x119)])||_0x33481c===_0x15df45['VZNzR'])&&(_0xe6d8f2[_0x2d652f(0x169)]='INSERT');}});}}async['createCommitJob'](_0x57c831){const _0x380a6a=a0_0x5d0364,_0x2b3f5a={'WGvFe':_0x380a6a(0x16f),'BTCGy':'preview_ok','qOybe':'processing','ApihR':_0x380a6a(0xfa)},_0x82b67b=this['generateId'](),_0x22de85=await redisHelper['getJob']('job:'+_0x57c831);if(!_0x22de85)throw new Error(_0x2b3f5a['WGvFe']);if(_0x22de85['status']!==_0x2b3f5a['BTCGy'])throw new Error(_0x380a6a(0x15c)+_0x22de85['status']);const _0x51f9bf={'job_id':_0x82b67b,'upload_id':_0x22de85['upload_id'],'preview_job_id':_0x57c831,'status':_0x2b3f5a[_0x380a6a(0x164)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x22de85[_0x380a6a(0x159)]};return await redisHelper[_0x380a6a(0x130)](_0x380a6a(0x145)+_0x82b67b,_0x51f9bf,0xe10),logger[_0x380a6a(0x17e)]({'event':'commit_job_created','jobId':_0x82b67b,'previewJobId':_0x57c831},_0x2b3f5a['ApihR']),this['processCommitJob'](_0x82b67b,_0x22de85)[_0x380a6a(0x117)](_0x4a0322=>{logError(_0x4a0322,{'event':'commit_process_error','jobId':_0x82b67b},'Commit\x20processing\x20failed');}),{'job_id':_0x82b67b,'status':_0x380a6a(0x195)};}async['processCommitJob'](_0x1cc5c1,_0x6ca14f){const _0x1f0766=a0_0x5d0364,_0x3cece6={'jGWYt':'insert','uATyS':'Upload\x20data\x20not\x20found\x20or\x20expired','lvkia':function(_0x154be8,_0x47fde8){return _0x154be8>_0x47fde8;},'QaDNn':function(_0x560b22,_0x492865){return _0x560b22||_0x492865;},'gUpIx':function(_0x420b91,_0x456813){return _0x420b91>_0x456813;},'mrHKn':_0x1f0766(0x148),'KDLaO':function(_0xcba06a,_0x4a3f6d){return _0xcba06a(_0x4a3f6d);},'nrNec':'commit_job_completed','USMYx':function(_0x5080b3,_0x3e9481,_0x5311f8,_0x42e697){return _0x5080b3(_0x3e9481,_0x5311f8,_0x42e697);}};try{const _0x2b272a=await redisHelper['getJob']('upload:'+_0x6ca14f[_0x1f0766(0x11f)]);if(!_0x2b272a)throw new Error(_0x3cece6[_0x1f0766(0x118)]);const {rows:_0x40de66,params:_0x33b272}=_0x2b272a,{tableName:_0x44b978,fieldName:_0x3b08f7,primaryKey:_0x2b4623,upsertKeys:_0x381843,excludeFromImport:_0x4dc450,lookupFields:_0x221196,columnFormats:_0x1adba6}=_0x33b272,_0x17e2af=_0x221196?Object['keys'](_0x221196):[],_0x527e86=new Set([..._0x4dc450||[],..._0x17e2af]);let _0x2e7191=_0x3b08f7;_0x3cece6[_0x1f0766(0x135)](_0x527e86['size'],0x0)&&(_0x2e7191=_0x3b08f7['filter'](_0xb4a7fd=>!_0x527e86['has'](_0xb4a7fd)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x3b08f7[_0x1f0766(0x18d)],'filteredCount':_0x2e7191['length'],'excludedFields':Array[_0x1f0766(0x107)](_0x527e86),'lookupSourceFields':_0x17e2af},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x584f9a=_0x40de66['filter'](_0x244cea=>_0x244cea[_0x1f0766(0x169)]===_0x1f0766(0x10f)),_0x480f60=_0x40de66['filter'](_0xec8048=>_0xec8048[_0x1f0766(0x169)]==='UPDATE');let _0x5a033e=0x0,_0x530e17=0x0;const _0x32619b=[];if(_0x584f9a[_0x1f0766(0x18d)]>0x0){const _0x18bdb3=upsertBuilder[_0x1f0766(0x149)](_0x584f9a,0x64);for(const _0x5299df of _0x18bdb3){const {query:_0x48fcfe}=upsertBuilder[_0x1f0766(0x11d)](_0x5299df,_0x44b978,_0x2e7191,_0x3cece6[_0x1f0766(0x186)](_0x1adba6,{}));_0x48fcfe&&_0x32619b['push']({'sql':_0x48fcfe,'count':_0x5299df[_0x1f0766(0x18d)],'type':'insert'});}}if(_0x3cece6[_0x1f0766(0x176)](_0x480f60['length'],0x0)){const _0x58f0d3=upsertBuilder['chunkRows'](_0x480f60,0x64);for(const _0x524a0e of _0x58f0d3){const {query:_0x5309e0}=upsertBuilder['buildBatchUpdate'](_0x524a0e,_0x44b978,_0x2e7191,_0x2b4623,_0x381843,_0x1adba6||{});_0x5309e0&&_0x32619b[_0x1f0766(0x15a)]({'sql':_0x5309e0,'count':_0x524a0e['length'],'type':_0x3cece6['mrHKn']});}}_0x32619b[_0x1f0766(0x18d)]>0x0&&await _0x3cece6[_0x1f0766(0x12f)](executeTransaction,_0x32619b['map'](_0x51d085=>({'sql':_0x51d085[_0x1f0766(0x131)],'params':[]})));_0x32619b[_0x1f0766(0x15d)](_0x31136d=>{const _0x556145=_0x1f0766;if(_0x31136d['type']===_0x3cece6[_0x556145(0x172)])_0x5a033e+=_0x31136d[_0x556145(0x12e)];else _0x530e17+=_0x31136d['count'];});const _0x181dc4={'job_id':_0x1cc5c1,'upload_id':_0x6ca14f['upload_id'],'preview_job_id':_0x6ca14f[_0x1f0766(0x14d)],'status':_0x1f0766(0x16e),'progress':0x64,'created_at':_0x6ca14f[_0x1f0766(0x15e)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1f0766(0x136)](),'result':{'total_rows':_0x40de66[_0x1f0766(0x18d)],'inserted_rows':_0x5a033e,'updated_rows':_0x530e17,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x33b272};await redisHelper['setJob'](_0x1f0766(0x145)+_0x1cc5c1,_0x181dc4,0xe10),logger[_0x1f0766(0x17e)]({'event':_0x3cece6[_0x1f0766(0x141)],'jobId':_0x1cc5c1,'insertedCount':_0x5a033e,'updatedCount':_0x530e17},'Commit\x20job\x20completed');}catch(_0x4b12a1){_0x3cece6[_0x1f0766(0x10d)](logError,_0x4b12a1,{'event':'commit_job_failed','jobId':_0x1cc5c1},'Commit\x20job\x20failed'),await redisHelper[_0x1f0766(0x130)]('job:'+_0x1cc5c1,{'job_id':_0x1cc5c1,'upload_id':_0x6ca14f[_0x1f0766(0x11f)],'preview_job_id':_0x6ca14f[_0x1f0766(0x14d)],'status':_0x1f0766(0x116),'progress':0x0,'error':_0x4b12a1[_0x1f0766(0x13f)],'created_at':_0x6ca14f[_0x1f0766(0x15e)],'started_at':new Date()[_0x1f0766(0x136)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5d0364(0x17a)](_0x5bd036){const _0x270c19=await redisHelper['getJob']('job:'+_0x5bd036);if(!_0x270c19)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x270c19};}}function a0_0x5918(){const _0xf6ab24=['vLPoELi','uhjLDMLLDYbQB2iGy29TCgXLDgvK','wvDTAfm','BgvUz3rO','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','B3jHy2XL','z2v0vgLTzq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChjLDMLLD19QB2jFy3jLyxrLza','qwTHtvm','zxHLy3v0zvrYyw5Zywn0Aw9U','ChjVy2vZC2LUzW','ChjLDMLLD19VAW','zMLLBgroyw1L','DMfSDwvZ','Dw5SAw5R','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','q29TBwL0igPVyIbJCMvHDgvK','mJuXmJm5mM9Yr3HTtq','DhjPBq','oty4otGWmejWBvzTAG','Cvf0BLa','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','C3vIC3rYAw5N','mteWohr0vvfOzq','Dg9mB3DLCKnHC2u','z2v0rgf0zq','C2XPy2u','mtiYmdq5mdLPugvZywG','u05Hvg4','zNjVBq','u0Tjua','mte4mtiYr0Xgz25Y','CKv1CgC','ChjLDMLLD19LCNjVCG','BwLZC2LUz0zPzwXKCW','vvnnwxG','C3rYAw5N','su5trvju','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','zxHLy3v0zvf1zxj5','CM93CW','DxvPzf9HDxrVx2DLBMvYyxrLza','CM93sw5KzxG','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zMfPBgvK','y2f0y2G','DufuEvm','wuf3wvu','DwDdz3q','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','EujoEKG','yNvPBgrcyxrJAeLUC2vYDa','C2L6zq','DxbSB2fKx2LK','EuP6y00','C2nVCgvpDMvYCMLKzq','ChjVy2vZC2vKuM93CW','tgDstu8','Cgf0Aa','DxbKyxrLx2v4Axn0Aw5N','vvbeqvrf','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Aw5JBhvKzxm','zNLLuKO','nduXmtu4nunstvvLBG','C2TPCf9LEgLZDgLUzW','z2v0rNvSBfLLyxi','rg9rzLK','y291BNq','s0rmyu8','C2v0sM9I','C3fS','zxjYB3jZ','uhjLDMLLDYbQB2iGzMfPBgvK','CgfKu3rHCNq','BhzRAwe','Dg9ju09tDhjPBMC','A2v5CW','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','cIaGicaGicaGv0HfuKuG','C3rHDhvZ','B3jPz2LUywXUyw1L','t1bfqNe','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','ChjVBwLZzxm','BwvZC2fNzq','ndjoCwXYDwu','BNjozwm','y29SDw1UrM9YBwf0CW','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','AM9IoG','tLvmta','BwfW','DxbKyxrL','y2H1BMTsB3DZ','rejFvfLqrq','Dgv4Da','DxbSB2fKoG','AM9Ix2LK','zw52','zw50CMLLCW','C2v0','Bwf0y2G','zMLLBgrmywjLBhm','AM9PBG','ogvczLfbAq','zezsz0C','Aw5KzxHpzG','x2vYCM9YCW','s016rM8','CgfYyw1Z','ChvZAa','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zM9YrwfJAa','y3jLyxrLzf9HDa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','mJq5otiXnLz2wK95Aa','zMLSDgvY','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','zgvMyxvSDa','Cu95yMu','yM9VBgvHBG','qwn3rxK','yxbWBhLdB2X1Bw5gB3jTyxrZ','DxzfAK4','x2fJDgLVBG','CgfYC2vfEgnLBezPBgu','ufjly0G','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMfSAwrHDgLUzW','y29TCgXLDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgiTBxLZCwW','x3vWBg9HzerPCG','AKDxwxq','rhjWDK8','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zgvIDwC','z1vWsxG','AgvHzgvYC19TyxbWzwq','CMvWBgfJzq','mtaWoe91A1LRta','z2v0sM9Iu3rHDhvZ','DgvZDa','Dg9tDhjPBMC','zvLetuK','Aw5MBW','kqOGicaGica','A2jkCgm','BKHhDLi','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ieLoicG','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','z2v0','uwfetM4','t3LwDwW','qNPAANC','thjyq3i'];a0_0x5918=function(){return _0xf6ab24;};return a0_0x5918();}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x20a05b=a0_0x5d4f;(function(_0x324dde,_0x2674d8){const _0x7cfe87=a0_0x5d4f,_0x460134=_0x324dde();while(!![]){try{const _0x42474e=parseInt(_0x7cfe87(0x1eb))/0x1+-parseInt(_0x7cfe87(0x206))/0x2*(-parseInt(_0x7cfe87(0x1e9))/0x3)+parseInt(_0x7cfe87(0x233))/0x4+parseInt(_0x7cfe87(0x215))/0x5+-parseInt(_0x7cfe87(0x1f3))/0x6*(parseInt(_0x7cfe87(0x23c))/0x7)+parseInt(_0x7cfe87(0x22a))/0x8+-parseInt(_0x7cfe87(0x1da))/0x9*(parseInt(_0x7cfe87(0x205))/0xa);if(_0x42474e===_0x2674d8)break;else _0x460134['push'](_0x460134['shift']());}catch(_0x4bbe29){_0x460134['push'](_0x460134['shift']());}}}(a0_0x85b6,0x951a4));function a0_0x5d4f(_0x36ca9f,_0x2b1598){_0x36ca9f=_0x36ca9f-0x1cf;const _0x85b68a=a0_0x85b6();let _0x5d4fc8=_0x85b68a[_0x36ca9f];if(a0_0x5d4f['ofiZyX']===undefined){var _0x4ed59d=function(_0xddaa7a){const _0x410483='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x90816f='',_0x10851f='';for(let _0x4fbdb4=0x0,_0x5da195,_0x517018,_0x161fb8=0x0;_0x517018=_0xddaa7a['charAt'](_0x161fb8++);~_0x517018&&(_0x5da195=_0x4fbdb4%0x4?_0x5da195*0x40+_0x517018:_0x517018,_0x4fbdb4++%0x4)?_0x90816f+=String['fromCharCode'](0xff&_0x5da195>>(-0x2*_0x4fbdb4&0x6)):0x0){_0x517018=_0x410483['indexOf'](_0x517018);}for(let _0x1c92ea=0x0,_0x2d495a=_0x90816f['length'];_0x1c92ea<_0x2d495a;_0x1c92ea++){_0x10851f+='%'+('00'+_0x90816f['charCodeAt'](_0x1c92ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10851f);};a0_0x5d4f['nSRuJe']=_0x4ed59d,a0_0x5d4f['oQSOoU']={},a0_0x5d4f['ofiZyX']=!![];}const _0x3594be=_0x85b68a[0x0],_0x28f2a4=_0x36ca9f+_0x3594be,_0x27726b=a0_0x5d4f['oQSOoU'][_0x28f2a4];return!_0x27726b?(_0x5d4fc8=a0_0x5d4f['nSRuJe'](_0x5d4fc8),a0_0x5d4f['oQSOoU'][_0x28f2a4]=_0x5d4fc8):_0x5d4fc8=_0x27726b,_0x5d4fc8;}const {Kafka,logLevel}=require(a0_0x20a05b(0x209)),{v7:uuidv7}=require(a0_0x20a05b(0x1e2));class KafkaConsumerService{constructor(){const _0x55eef7=a0_0x20a05b,_0x10c883='8|10|4|0|3|1|7|5|9|2|6'['split']('|');let _0x1ab5d5=0x0;while(!![]){switch(_0x10c883[_0x1ab5d5++]){case'0':this['isInitializing']=![];continue;case'1':this[_0x55eef7(0x235)]=![];continue;case'2':this[_0x55eef7(0x1ee)]=null;continue;case'3':this['isRunning']=![];continue;case'4':this['isConnected']=![];continue;case'5':this[_0x55eef7(0x23e)]=[];continue;case'6':this[_0x55eef7(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this['connectionPromise']=null;continue;case'8':this['kafka']=null;continue;case'9':this['groupId']=null;continue;case'10':this[_0x55eef7(0x1d8)]=null;continue;}break;}}[a0_0x20a05b(0x208)](){const _0x7e1929=a0_0x20a05b,_0x191a74={'sTfOe':_0x7e1929(0x1f4),'IOxPX':_0x7e1929(0x1f2),'bAegD':'default','HuBcG':function(_0x1384db,_0x129e4f){return _0x1384db(_0x129e4f);},'pOLNl':function(_0x1c079e,_0x289a4e){return _0x1c079e(_0x289a4e);},'rrRdC':'25000','FpAMw':'3000','BoSJK':'5000','HVYJE':_0x7e1929(0x211)};return{'enabled':process['env'][_0x7e1929(0x1f6)]===_0x191a74['sTfOe'],'brokers':(process['env']['KAFKA_BROKERS']||_0x191a74['IOxPX'])['split'](','),'clientId':process[_0x7e1929(0x1f9)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x7e1929(0x1f9)][_0x7e1929(0x22f)]||_0x191a74[_0x7e1929(0x21c)])+_0x7e1929(0x241),'connectionTimeout':_0x191a74['HuBcG'](parseInt,process[_0x7e1929(0x1f9)]['KAFKA_CONNECTION_TIMEOUT']||_0x7e1929(0x228)),'requestTimeout':_0x191a74[_0x7e1929(0x1e1)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x204)]||_0x191a74[_0x7e1929(0x21d)]),'sessionTimeout':parseInt(process['env'][_0x7e1929(0x219)]||'30000'),'heartbeatInterval':_0x191a74['HuBcG'](parseInt,process['env'][_0x7e1929(0x1dc)]||_0x191a74['FpAMw']),'maxBytesPerPartition':_0x191a74[_0x7e1929(0x1db)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x20a)]||_0x7e1929(0x21b)),'autoCommit':process[_0x7e1929(0x1f9)][_0x7e1929(0x1ff)]==='true','autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x191a74[_0x7e1929(0x1d9)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x7e1929(0x1f9)][_0x7e1929(0x230)]||'1000'),'retryMaxDelay':_0x191a74['pOLNl'](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x191a74[_0x7e1929(0x216)]),'logLevel':process[_0x7e1929(0x1f9)][_0x7e1929(0x200)]||'warn'};}['getLogLevel'](_0x23612a){const _0x1ef573=a0_0x20a05b,_0x4dba87={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1ef573(0x242)],'warn':logLevel[_0x1ef573(0x1d4)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x4dba87[_0x23612a['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x296727={}){const _0x5250a1=a0_0x20a05b,_0x1a1f6b={'OcPHB':function(_0x264fd4,_0x9b9368){return _0x264fd4===_0x9b9368;},'NlEbR':function(_0x6e3d26,_0x2841c8){return _0x6e3d26(_0x2841c8);}},_0x21e116=this['getConfig']();if(!_0x21e116[_0x5250a1(0x20b)])return console[_0x5250a1(0x214)](_0x5250a1(0x210)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x5250a1(0x1df)])return this[_0x5250a1(0x1df)];return this[_0x5250a1(0x1de)]=!![],this[_0x5250a1(0x1df)]=new Promise(async _0x2f0765=>{const _0xdfbd90=_0x5250a1;try{let _0x9cc3c2=undefined;_0x1a1f6b[_0xdfbd90(0x223)](process['env'][_0xdfbd90(0x225)],'true')&&(_0x9cc3c2=!![]);let _0x3f9af7=undefined;process[_0xdfbd90(0x1f9)]['KAFKA_SASL_MECHANISM']&&(_0x3f9af7={'mechanism':process['env'][_0xdfbd90(0x220)],'username':process[_0xdfbd90(0x1f9)]['KAFKA_SASL_USERNAME']||'','password':process['env'][_0xdfbd90(0x227)]||''}),this['kafka']=new Kafka({'clientId':_0x296727[_0xdfbd90(0x1f1)]||_0x21e116['clientId'],'brokers':_0x21e116['brokers'],'connectionTimeout':_0x21e116['connectionTimeout'],'requestTimeout':_0x21e116['requestTimeout'],'logLevel':this['getLogLevel'](_0x21e116['logLevel']),'ssl':_0x9cc3c2,'sasl':_0x3f9af7,'retry':{'initialRetryTime':_0x21e116[_0xdfbd90(0x243)],'retries':_0x21e116[_0xdfbd90(0x22c)],'maxRetryTime':_0x21e116[_0xdfbd90(0x1d5)]}}),this['groupId']=_0x296727[_0xdfbd90(0x21a)]||'restforge-'+(process[_0xdfbd90(0x1f9)][_0xdfbd90(0x22f)]||_0xdfbd90(0x21f))+'-consumer-group',this[_0xdfbd90(0x1d8)]=this[_0xdfbd90(0x1d1)][_0xdfbd90(0x1d8)]({'groupId':this['groupId'],'sessionTimeout':_0x21e116['sessionTimeout'],'heartbeatInterval':_0x21e116['heartbeatInterval'],'maxBytesPerPartition':_0x21e116['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0xdfbd90(0x212)](),this['isConnected']=!![],console[_0xdfbd90(0x214)](_0xdfbd90(0x202)+_0x21e116['brokers'][_0xdfbd90(0x1f8)](',\x20')+_0xdfbd90(0x1d0)+this['groupId']+')'),this[_0xdfbd90(0x1e5)](),_0x1a1f6b[_0xdfbd90(0x1d3)](_0x2f0765,!![]);}catch(_0x11c022){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x11c022['message']),this['isConnected']=![],_0x1a1f6b['NlEbR'](_0x2f0765,![]);}finally{this[_0xdfbd90(0x1de)]=![];}}),this[_0x5250a1(0x1df)];}['setupEventHandlers'](){const _0x165c6c=a0_0x20a05b,_0x58b1ce={'HKJtU':_0x165c6c(0x1d7)},_0x41e858=_0x58b1ce['HKJtU']['split']('|');let _0x370f09=0x0;while(!![]){switch(_0x41e858[_0x370f09++]){case'0':this[_0x165c6c(0x1d8)]['on']('consumer.disconnect',()=>{const _0x355056=_0x165c6c;console[_0x355056(0x214)](_0x355056(0x1cf)),this[_0x355056(0x23d)]=![],this[_0x355056(0x1dd)]=![];});continue;case'1':this['consumer']['on']('consumer.stop',()=>{const _0x441b95=_0x165c6c;console[_0x441b95(0x214)](_0x441b95(0x217)),this[_0x441b95(0x1dd)]=![];});continue;case'2':this['consumer']['on'](_0x165c6c(0x23b),()=>{const _0x2daae8=_0x165c6c;console[_0x2daae8(0x214)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':if(!this['consumer'])return;continue;case'4':this[_0x165c6c(0x1d8)]['on']('consumer.crash',_0x35d260=>{const _0x5929ac=_0x165c6c;console[_0x5929ac(0x1f5)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x35d260['payload'][_0x5929ac(0x1f5)]['message']),this[_0x5929ac(0x1dd)]=![];});continue;}break;}}async['subscribe'](_0x408088,_0x58b9a2=![]){const _0x1d75f9=a0_0x20a05b;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2921d9=Array[_0x1d75f9(0x239)](_0x408088)?_0x408088:[_0x408088];for(const _0x13d9a8 of _0x2921d9){await this[_0x1d75f9(0x1d8)]['subscribe']({'topic':_0x13d9a8,'fromBeginning':_0x58b9a2}),console[_0x1d75f9(0x214)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x13d9a8+'\x20(fromBeginning:\x20'+_0x58b9a2+')');}return this[_0x1d75f9(0x23e)]=[...new Set([...this[_0x1d75f9(0x23e)],..._0x2921d9])],!![];}catch(_0x235b36){return console[_0x1d75f9(0x1f5)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x235b36['message']),![];}}async['startConsuming'](_0x53b726,_0x331c69={}){const _0x40d734=a0_0x20a05b,_0x1b107a={'ljBui':function(_0x5d2d28,_0x3cec5c){return _0x5d2d28>_0x3cec5c;},'nUoYE':function(_0x55719d){return _0x55719d();},'YLKWd':_0x40d734(0x1ed),'LFbYR':function(_0x38d8c0,_0x3dd8ca){return _0x38d8c0!==_0x3dd8ca;}};if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x1b107a['YLKWd']),!![];const _0x506861=this['getConfig']();this[_0x40d734(0x1ee)]=_0x53b726;try{return this['metrics'][_0x40d734(0x234)]=new Date(),await this['consumer']['run']({'autoCommit':_0x1b107a['LFbYR'](_0x331c69['autoCommit'],undefined)?_0x331c69[_0x40d734(0x1fc)]:_0x506861['autoCommit'],'autoCommitInterval':_0x506861['autoCommitInterval'],'eachMessage':async({topic:_0x26b0c9,partition:_0x29177a,message:_0x4a155e,heartbeat:_0x5bd3fd})=>{const _0x1b612a=_0x40d734,_0x5833d0=Date[_0x1b612a(0x207)]();this[_0x1b612a(0x1d6)][_0x1b612a(0x231)]++,this['metrics'][_0x1b612a(0x244)]=new Date();try{const _0x5ed882=_0x4a155e['value']?_0x4a155e[_0x1b612a(0x22e)]['toString']():null;let _0x43d073=null;try{_0x43d073=_0x5ed882?JSON['parse'](_0x5ed882):null;}catch(_0x23355d){_0x43d073=_0x5ed882;}const _0x391827={'topic':_0x26b0c9,'partition':_0x29177a,'offset':_0x4a155e[_0x1b612a(0x1e4)],'key':_0x4a155e[_0x1b612a(0x232)]?_0x4a155e['key'][_0x1b612a(0x226)]():null,'headers':this['parseHeaders'](_0x4a155e[_0x1b612a(0x224)]),'timestamp':_0x4a155e[_0x1b612a(0x1f7)],'value':_0x43d073,'raw':_0x5ed882};this[_0x1b612a(0x1ee)]&&await this[_0x1b612a(0x1ee)](_0x391827);!_0x506861[_0x1b612a(0x1fc)]&&await this[_0x1b612a(0x1d8)]['commitOffsets']([{'topic':_0x26b0c9,'partition':_0x29177a,'offset':(parseInt(_0x4a155e[_0x1b612a(0x1e4)])+0x1)[_0x1b612a(0x226)]()}]);this[_0x1b612a(0x1d6)][_0x1b612a(0x1fe)]++;const _0x558178=Date[_0x1b612a(0x207)]()-_0x5833d0;this['metrics'][_0x1b612a(0x23a)]['push'](_0x558178),_0x1b107a[_0x1b612a(0x1e7)](this[_0x1b612a(0x1d6)]['processingTimes']['length'],0x64)&&this['metrics'][_0x1b612a(0x23a)][_0x1b612a(0x1fa)](),await _0x1b107a['nUoYE'](_0x5bd3fd);}catch(_0x3f94fd){this[_0x1b612a(0x1d6)]['messagesFailed']++,console[_0x1b612a(0x1f5)](_0x1b612a(0x1fd)+_0x3f94fd['message']);throw _0x3f94fd;}}}),this['isRunning']=!![],console['log'](_0x40d734(0x229)+this[_0x40d734(0x23e)]['join'](',\x20')),!![];}catch(_0x1aade6){return console[_0x40d734(0x1f5)](_0x40d734(0x236)+_0x1aade6['message']),![];}}[a0_0x20a05b(0x1f0)](_0x69aa5f){const _0x1d5834=a0_0x20a05b;if(!_0x69aa5f)return{};const _0x1bb76c={};for(const [_0x57e8ae,_0xbac20]of Object['entries'](_0x69aa5f)){_0x1bb76c[_0x57e8ae]=_0xbac20?_0xbac20[_0x1d5834(0x226)]():null;}return _0x1bb76c;}async['pause'](){const _0x3dceea=a0_0x20a05b,_0x2a4641={'fFZKz':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wuZxd':'[KafkaConsumer]\x20Consumer\x20already\x20paused','iPgTm':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3dceea(0x23d)]||!this['isRunning'])return console[_0x3dceea(0x214)](_0x2a4641[_0x3dceea(0x20c)]),![];if(this[_0x3dceea(0x235)])return console['log'](_0x2a4641['wuZxd']),!![];try{const _0x11edb7=this['subscribedTopics']['map'](_0x41edf2=>({'topic':_0x41edf2}));return this['consumer'][_0x3dceea(0x1fb)](_0x11edb7),this['isPaused']=!![],console['log'](_0x2a4641['iPgTm']),!![];}catch(_0x254b55){return console[_0x3dceea(0x1f5)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x254b55[_0x3dceea(0x20d)]),![];}}async[a0_0x20a05b(0x201)](){const _0x777cd5=a0_0x20a05b,_0x170cdd={'lntah':'[KafkaConsumer]\x20Consumer\x20not\x20paused','VBMne':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this[_0x777cd5(0x1dd)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0x777cd5(0x214)](_0x170cdd['lntah']),!![];try{const _0x140f9c=this['subscribedTopics'][_0x777cd5(0x1ec)](_0x4fe8f6=>({'topic':_0x4fe8f6}));return this['consumer']['resume'](_0x140f9c),this[_0x777cd5(0x235)]=![],console[_0x777cd5(0x214)](_0x170cdd[_0x777cd5(0x1e0)]),!![];}catch(_0x148f6e){return console[_0x777cd5(0x1f5)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x148f6e['message']),![];}}async['stop'](){const _0x15390a=a0_0x20a05b,_0x1472cb={'PipUc':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this['isConnected'])return console[_0x15390a(0x214)](_0x1472cb['PipUc']),!![];try{const _0x26915f='0|4|2|5|3|1'['split']('|');let _0x2573e2=0x0;while(!![]){switch(_0x26915f[_0x2573e2++]){case'0':this['consumer']&&(await this['consumer']['stop'](),await this[_0x15390a(0x1d8)][_0x15390a(0x23f)]());continue;case'1':return!![];case'2':this['isRunning']=![];continue;case'3':console[_0x15390a(0x214)](_0x15390a(0x240));continue;case'4':this[_0x15390a(0x23d)]=![];continue;case'5':this[_0x15390a(0x235)]=![];continue;}break;}}catch(_0x193d41){return console['error'](_0x15390a(0x21e)+_0x193d41['message']),![];}}async[a0_0x20a05b(0x218)](_0x1b58d3,_0x3986fe,_0x30df56){const _0x56941b=a0_0x20a05b;if(!this['isConnected'])return console['error'](_0x56941b(0x1e8)),![];try{return this[_0x56941b(0x1d8)]['seek']({'topic':_0x1b58d3,'partition':_0x3986fe,'offset':_0x30df56[_0x56941b(0x226)]()}),console[_0x56941b(0x214)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x30df56+'\x20on\x20'+_0x1b58d3+':'+_0x3986fe),!![];}catch(_0x313bff){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x313bff['message']),![];}}['getStatus'](){const _0x180d31=a0_0x20a05b,_0xfda539=this['getConfig']();return{'enabled':_0xfda539['enabled'],'connected':this[_0x180d31(0x23d)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0xfda539[_0x180d31(0x20e)],'clientId':_0xfda539['clientId'],'groupId':this[_0x180d31(0x21a)],'subscribedTopics':this[_0x180d31(0x23e)]};}[a0_0x20a05b(0x1e3)](){const _0x442bfe=a0_0x20a05b,_0x35e363={'FIsPP':function(_0x32a530,_0x456a65){return _0x32a530/_0x456a65;},'buSQv':function(_0x2f9bd5,_0x2d8aab){return _0x2f9bd5>_0x2d8aab;},'UpmAt':function(_0x56dbbc,_0x41a48d){return _0x56dbbc+_0x41a48d;},'UsKYA':function(_0x99d2ea,_0x1db40b){return _0x99d2ea/_0x1db40b;},'uJkDw':function(_0x2d4b6d,_0x1797ec){return _0x2d4b6d+_0x1797ec;},'FddhV':function(_0x4c4bbf,_0x68c96b){return _0x4c4bbf-_0x68c96b;},'jalol':function(_0x446161,_0x483c59){return _0x446161+_0x483c59;}},_0x53c406=this['metrics'][_0x442bfe(0x23a)][_0x442bfe(0x22d)]>0x0?_0x35e363[_0x442bfe(0x237)](this['metrics']['processingTimes'][_0x442bfe(0x222)]((_0x5c4d83,_0x1c59e9)=>_0x5c4d83+_0x1c59e9,0x0),this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]['length']):0x0,_0x4fb7b0=this[_0x442bfe(0x1d6)]['processingTimes']['length']>0x0?Math['min'](...this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]):0x0,_0x9ed6dd=_0x35e363['buSQv'](this['metrics'][_0x442bfe(0x23a)]['length'],0x0)?Math[_0x442bfe(0x1ea)](...this[_0x442bfe(0x1d6)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x442bfe(0x231)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x442bfe(0x1d6)]['messagesFailed'],'successRate':this['metrics'][_0x442bfe(0x231)]>0x0?_0x35e363['UpmAt']((_0x35e363['UsKYA'](this[_0x442bfe(0x1d6)]['messagesProcessed'],this[_0x442bfe(0x1d6)][_0x442bfe(0x231)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x442bfe(0x244)],'startTime':this['metrics'][_0x442bfe(0x234)],'uptime':this[_0x442bfe(0x1d6)][_0x442bfe(0x234)]?_0x35e363['uJkDw'](Math[_0x442bfe(0x22b)](_0x35e363[_0x442bfe(0x213)](_0x35e363[_0x442bfe(0x20f)](Date['now'](),this[_0x442bfe(0x1d6)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x53c406)+'ms','min':_0x35e363[_0x442bfe(0x1d2)](_0x4fb7b0,'ms'),'max':_0x35e363[_0x442bfe(0x1ef)](_0x9ed6dd,'ms')}};}[a0_0x20a05b(0x238)](){const _0x12d65d=a0_0x20a05b;this[_0x12d65d(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x50354f=a0_0x20a05b;await this[_0x50354f(0x1e6)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x49521b=a0_0x20a05b;instance&&(instance[_0x49521b(0x203)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x85b6(){const _0x478391=['zw52','C2HPzNq','Cgf1C2u','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFte9hx0XfvKvm','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','mJq3otCWA3j4rNbM','nJyXmeLxzuvqtG','BM93','z2v0q29UzMLN','A2fMA2fQCW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','zw5HyMXLza','zKzAs3O','BwvZC2fNzq','yNjVA2vYCW','rMrKAfy','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','mZaWmda','y29UBMvJDa','vxnlwue','Bg9N','ndeXmde0mfryAuXnDq','sfzzsKu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','C2vLA1rVt2zMC2v0','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','mta0odu3nG','yKfLz0q','CNjszem','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zgvMyxvSDa','s0fgs0fFu0fttf9nruniqu5ju00','zxHWB3j0CW','CMvKDwnL','t2nqsei','AgvHzgvYCW','s0fgs0fFu1nm','Dg9tDhjPBMC','s0fgs0fFu0fttf9qqvntv09sra','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','odG5mJq2nefuzejztq','zMXVB3i','CMv0CNLbDhrLBxb0CW','BgvUz3rO','DMfSDwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFuKvuuLLFrevmqvK','BwvZC2fNzxnszwnLAxzLza','A2v5','mJG3nJGXmNzms2fVta','C3rHCNruAw1L','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','rKLZufa','CMvZzxrnzxrYAwnZ','AxnbCNjHEq','ChjVy2vZC2LUz1rPBwvZ','y29UC3vTzxiUCMvIywXHBMnPBMC','mJuXndy1ouHnD0LJta','AxndB25Uzwn0zwq','C3vIC2nYAwjLzfrVCgLJCW','zgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','lwnVBNn1BwvY','rvjst1i','CMv0CNLezwXHEq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','icHNCM91CeLKoIa','A2fMA2e','DuPRrhC','tMXfyLi','v0fstG','CMv0CNLnyxHezwXHEq','Bwv0CMLJCW','m3WWFdf8nhWY','y29UC3vTzxi','qM9tsKS','ode5yxvTrMzj','shvcy0C','s0fgs0fFsevbuLrcrufux0LovevsvKfm','AxnsDw5UAw5N','AxnjBML0AwfSAxPPBMC','y29UBMvJDgLVBLbYB21PC2u','vKjnBMu','Ce9mtMW','DxvPza','z2v0twv0CMLJCW','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','C3rVCa','BgPcDwK','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mtiZseTqz2ff','Bwf4','nZK3ndmXvuzPvhz0','BwfW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzuHHBMrSzxi','AMfSB2W','CgfYC2vizwfKzxjZ','y2XPzw50swq','Bg9JywXOB3n0oJKWoti','mtjNDvLes2q','Dhj1zq','zxjYB3i','s0fgs0fFru5bqKXfra','DgLTzxn0yw1W','AM9PBG'];a0_0x85b6=function(){return _0x478391;};return a0_0x85b6();}module[a0_0x20a05b(0x221)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x2fa848=a0_0x423a;(function(_0x224da2,_0x1a45b7){const _0x37db70=a0_0x423a,_0x3fdd50=_0x224da2();while(!![]){try{const _0x5e7626=-parseInt(_0x37db70(0x139))/0x1+parseInt(_0x37db70(0x15d))/0x2+parseInt(_0x37db70(0x178))/0x3*(-parseInt(_0x37db70(0x149))/0x4)+parseInt(_0x37db70(0x18e))/0x5*(-parseInt(_0x37db70(0x17d))/0x6)+parseInt(_0x37db70(0x191))/0x7*(-parseInt(_0x37db70(0x19b))/0x8)+parseInt(_0x37db70(0x13b))/0x9+-parseInt(_0x37db70(0x138))/0xa*(-parseInt(_0x37db70(0x190))/0xb);if(_0x5e7626===_0x1a45b7)break;else _0x3fdd50['push'](_0x3fdd50['shift']());}catch(_0x230836){_0x3fdd50['push'](_0x3fdd50['shift']());}}}(a0_0x447a,0xc069d));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x3859ba=a0_0x423a,_0x19ad9b={'tGUSz':'4|10|7|3|8|5|0|2|9|1|6'},_0x588795=_0x19ad9b[_0x3859ba(0x196)]['split']('|');let _0x14d8eb=0x0;while(!![]){switch(_0x588795[_0x14d8eb++]){case'0':this['connectionPromise']=null;continue;case'1':this['messageHandler']=null;continue;case'2':this['subscribedTopics']=[];continue;case'3':this['isInitializing']=![];continue;case'4':this['kafka']=null;continue;case'5':this['isPaused']=![];continue;case'6':this[_0x3859ba(0x150)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this['isConnected']=![];continue;case'8':this[_0x3859ba(0x15e)]=![];continue;case'9':this['groupId']=null;continue;case'10':this[_0x3859ba(0x18b)]=null;continue;}break;}}['getConfig'](){const _0x59a15b=a0_0x423a,_0x48bc26={'FRcUt':function(_0x598491,_0x31dfe7){return _0x598491===_0x31dfe7;},'DwJvh':_0x59a15b(0x181),'nXikW':_0x59a15b(0x188),'yvoUV':function(_0x500b44,_0xdc1fdb){return _0x500b44(_0xdc1fdb);},'LTBuT':function(_0x4d6865,_0x296ccc){return _0x4d6865(_0x296ccc);},'pxPTj':_0x59a15b(0x160),'qZmUj':_0x59a15b(0x14c)};return{'enabled':_0x48bc26['FRcUt'](process['env'][_0x59a15b(0x130)],_0x48bc26[_0x59a15b(0x19f)]),'brokers':(process[_0x59a15b(0x137)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x59a15b(0x136)+(process['env'][_0x59a15b(0x129)]||'default')+_0x59a15b(0x197),'connectionTimeout':parseInt(process[_0x59a15b(0x137)][_0x59a15b(0x146)]||_0x59a15b(0x172)),'requestTimeout':parseInt(process[_0x59a15b(0x137)][_0x59a15b(0x19d)]||_0x48bc26['nXikW']),'sessionTimeout':_0x48bc26['yvoUV'](parseInt,process['env'][_0x59a15b(0x159)]||'30000'),'heartbeatInterval':_0x48bc26['yvoUV'](parseInt,process[_0x59a15b(0x137)]['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x48bc26['LTBuT'](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x48bc26['pxPTj']),'autoCommit':process[_0x59a15b(0x137)][_0x59a15b(0x175)]===_0x48bc26[_0x59a15b(0x19f)],'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||'5000'),'retryAttempts':_0x48bc26['yvoUV'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x48bc26[_0x59a15b(0x184)](parseInt,process[_0x59a15b(0x137)]['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':parseInt(process[_0x59a15b(0x137)]['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x59a15b(0x137)]['KAFKA_LOG_LEVEL']||_0x48bc26['qZmUj']};}['getLogLevel'](_0xaf4a93){const _0x2ee13c=a0_0x423a,_0xbb7387={'nothing':logLevel['NOTHING'],'error':logLevel[_0x2ee13c(0x162)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xbb7387[_0xaf4a93['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x4e2f3c={}){const _0x294a64=a0_0x423a,_0x1954ed={'wgeep':_0x294a64(0x181),'OvoXe':'default'},_0x3bd094=this[_0x294a64(0x198)]();if(!_0x3bd094[_0x294a64(0x17f)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x294a64(0x173)])return!![];if(this[_0x294a64(0x17e)]&&this['connectionPromise'])return this[_0x294a64(0x186)];return this['isInitializing']=!![],this[_0x294a64(0x186)]=new Promise(async _0xce0989=>{const _0x215a97=_0x294a64;try{let _0x4f8409=undefined;process[_0x215a97(0x137)]['KAFKA_SSL']===_0x1954ed[_0x215a97(0x14f)]&&(_0x4f8409=!![]);let _0x5a0a0b=undefined;process[_0x215a97(0x137)][_0x215a97(0x161)]&&(_0x5a0a0b={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x215a97(0x137)][_0x215a97(0x19a)]||''}),this['kafka']=new Kafka({'clientId':_0x4e2f3c['clientId']||_0x3bd094[_0x215a97(0x177)],'brokers':_0x3bd094[_0x215a97(0x171)],'connectionTimeout':_0x3bd094['connectionTimeout'],'requestTimeout':_0x3bd094['requestTimeout'],'logLevel':this['getLogLevel'](_0x3bd094[_0x215a97(0x12a)]),'ssl':_0x4f8409,'sasl':_0x5a0a0b,'retry':{'initialRetryTime':_0x3bd094['retryDelay'],'retries':_0x3bd094['retryAttempts'],'maxRetryTime':_0x3bd094[_0x215a97(0x16d)]}}),this[_0x215a97(0x164)]=_0x4e2f3c['groupId']||'restforge-'+(process[_0x215a97(0x137)]['RESTFORGE_PROJECT_NAME']||_0x1954ed[_0x215a97(0x12d)])+_0x215a97(0x180),this['consumer']=this[_0x215a97(0x163)][_0x215a97(0x18b)]({'groupId':this[_0x215a97(0x164)],'sessionTimeout':_0x3bd094['sessionTimeout'],'heartbeatInterval':_0x3bd094[_0x215a97(0x18c)],'maxBytesPerPartition':_0x3bd094['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x215a97(0x18b)]['connect'](),this[_0x215a97(0x173)]=!![],console[_0x215a97(0x147)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3bd094[_0x215a97(0x171)]['join'](',\x20')+'\x20(groupId:\x20'+this[_0x215a97(0x164)]+')'),this[_0x215a97(0x142)](),_0xce0989(!![]);}catch(_0x19b0fc){console[_0x215a97(0x166)](_0x215a97(0x127)+_0x19b0fc[_0x215a97(0x13a)]),this['isConnected']=![],_0xce0989(![]);}finally{this[_0x215a97(0x17e)]=![];}}),this[_0x294a64(0x186)];}[a0_0x2fa848(0x142)](){const _0x11651a=a0_0x2fa848,_0x382e04={'tGKqw':'[KafkaConsumer]\x20Consumer\x20disconnected','iXaGM':_0x11651a(0x167),'jDPuJ':'consumer.crash','gYUzT':_0x11651a(0x15f)};if(!this[_0x11651a(0x18b)])return;this['consumer']['on'](_0x382e04[_0x11651a(0x12c)],()=>{const _0x2fd5a3=_0x11651a;console[_0x2fd5a3(0x147)](_0x382e04['tGKqw']),this[_0x2fd5a3(0x173)]=![],this['isRunning']=![];}),this[_0x11651a(0x18b)]['on'](_0x11651a(0x18a),()=>{const _0x55cd6b=_0x11651a;console[_0x55cd6b(0x147)](_0x55cd6b(0x170)),this[_0x55cd6b(0x15e)]=![];}),this['consumer']['on'](_0x382e04[_0x11651a(0x189)],_0x387be2=>{const _0x2bc7a7=_0x11651a;console[_0x2bc7a7(0x166)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x387be2['payload']['error'][_0x2bc7a7(0x13a)]),this[_0x2bc7a7(0x15e)]=![];}),this[_0x11651a(0x18b)]['on'](_0x382e04['gYUzT'],()=>{const _0x5ab5f4=_0x11651a;console['log'](_0x5ab5f4(0x19c));});}async[a0_0x2fa848(0x16b)](_0x8ad08f,_0x21e1df=![]){const _0x42d64a=a0_0x2fa848,_0x2c5290={'jWKdA':_0x42d64a(0x157)};if(!this[_0x42d64a(0x173)])return console['error'](_0x2c5290[_0x42d64a(0x176)]),![];try{const _0x1062c5=Array[_0x42d64a(0x148)](_0x8ad08f)?_0x8ad08f:[_0x8ad08f];for(const _0x57b6d9 of _0x1062c5){await this[_0x42d64a(0x18b)][_0x42d64a(0x16b)]({'topic':_0x57b6d9,'fromBeginning':_0x21e1df}),console['log'](_0x42d64a(0x14d)+_0x57b6d9+_0x42d64a(0x192)+_0x21e1df+')');}return this[_0x42d64a(0x154)]=[...new Set([...this['subscribedTopics'],..._0x1062c5])],!![];}catch(_0x47c6c6){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x47c6c6['message']),![];}}async['startConsuming'](_0x333071,_0x303516={}){const _0xe39ec1=a0_0x2fa848,_0x323bd6={'iultk':function(_0x55f035,_0x5ba279){return _0x55f035-_0x5ba279;},'ioPzl':function(_0x14c090,_0x355a77){return _0x14c090>_0x355a77;},'EZaVn':_0xe39ec1(0x194),'ageRB':_0xe39ec1(0x169),'UBcHK':function(_0x55a588,_0xa3da50){return _0x55a588!==_0xa3da50;}};if(!this['isConnected'])return console['error'](_0x323bd6[_0xe39ec1(0x155)]),![];if(this[_0xe39ec1(0x15e)])return console['log'](_0x323bd6['ageRB']),!![];const _0x4157c2=this['getConfig']();this['messageHandler']=_0x333071;try{return this['metrics']['startTime']=new Date(),await this[_0xe39ec1(0x18b)][_0xe39ec1(0x143)]({'autoCommit':_0x323bd6[_0xe39ec1(0x185)](_0x303516[_0xe39ec1(0x15a)],undefined)?_0x303516['autoCommit']:_0x4157c2[_0xe39ec1(0x15a)],'autoCommitInterval':_0x4157c2[_0xe39ec1(0x158)],'eachMessage':async({topic:_0x43fe57,partition:_0x1ea6d9,message:_0x2cf990,heartbeat:_0x2545a1})=>{const _0xc75f0d=_0xe39ec1,_0xf5560=Date['now']();this[_0xc75f0d(0x150)][_0xc75f0d(0x145)]++,this['metrics'][_0xc75f0d(0x17c)]=new Date();try{const _0x109218=_0x2cf990[_0xc75f0d(0x12b)]?_0x2cf990['value'][_0xc75f0d(0x14e)]():null;let _0x3c1101=null;try{_0x3c1101=_0x109218?JSON['parse'](_0x109218):null;}catch(_0xc02b71){_0x3c1101=_0x109218;}const _0x501528={'topic':_0x43fe57,'partition':_0x1ea6d9,'offset':_0x2cf990[_0xc75f0d(0x17a)],'key':_0x2cf990['key']?_0x2cf990[_0xc75f0d(0x13e)][_0xc75f0d(0x14e)]():null,'headers':this[_0xc75f0d(0x19e)](_0x2cf990['headers']),'timestamp':_0x2cf990[_0xc75f0d(0x153)],'value':_0x3c1101,'raw':_0x109218};this[_0xc75f0d(0x12e)]&&await this['messageHandler'](_0x501528);!_0x4157c2['autoCommit']&&await this[_0xc75f0d(0x18b)][_0xc75f0d(0x144)]([{'topic':_0x43fe57,'partition':_0x1ea6d9,'offset':(parseInt(_0x2cf990[_0xc75f0d(0x17a)])+0x1)['toString']()}]);this[_0xc75f0d(0x150)][_0xc75f0d(0x18d)]++;const _0x4b1be7=_0x323bd6['iultk'](Date['now'](),_0xf5560);this[_0xc75f0d(0x150)]['processingTimes'][_0xc75f0d(0x14a)](_0x4b1be7),_0x323bd6['ioPzl'](this[_0xc75f0d(0x150)]['processingTimes']['length'],0x64)&&this['metrics']['processingTimes']['shift'](),await _0x2545a1();}catch(_0x542635){this['metrics']['messagesFailed']++,console[_0xc75f0d(0x166)](_0xc75f0d(0x199)+_0x542635['message']);throw _0x542635;}}}),this['isRunning']=!![],console[_0xe39ec1(0x147)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0xe39ec1(0x128)](',\x20')),!![];}catch(_0x41be89){return console['error'](_0xe39ec1(0x13d)+_0x41be89['message']),![];}}[a0_0x2fa848(0x19e)](_0x1a2208){const _0x4fe50d=a0_0x2fa848;if(!_0x1a2208)return{};const _0x27d6f7={};for(const [_0x65dd09,_0x18b10c]of Object[_0x4fe50d(0x18f)](_0x1a2208)){_0x27d6f7[_0x65dd09]=_0x18b10c?_0x18b10c['toString']():null;}return _0x27d6f7;}async[a0_0x2fa848(0x13c)](){const _0x4e3ffd=a0_0x2fa848,_0x415590={'vbWTf':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x4e3ffd(0x173)]||!this[_0x4e3ffd(0x15e)])return console['log'](_0x4e3ffd(0x182)),![];if(this[_0x4e3ffd(0x152)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x3f94f8=this[_0x4e3ffd(0x154)][_0x4e3ffd(0x165)](_0x46b476=>({'topic':_0x46b476}));return this['consumer']['pause'](_0x3f94f8),this['isPaused']=!![],console['log'](_0x415590[_0x4e3ffd(0x15b)]),!![];}catch(_0x290ed9){return console[_0x4e3ffd(0x166)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x290ed9['message']),![];}}async['resume'](){const _0x4a66cd=a0_0x2fa848,_0x498674={'gjmUE':_0x4a66cd(0x179)};if(!this['isConnected']||!this[_0x4a66cd(0x15e)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4a66cd(0x152)])return console['log'](_0x498674['gjmUE']),!![];try{const _0x141f28=this[_0x4a66cd(0x154)]['map'](_0x5627e6=>({'topic':_0x5627e6}));return this[_0x4a66cd(0x18b)][_0x4a66cd(0x16c)](_0x141f28),this[_0x4a66cd(0x152)]=![],console[_0x4a66cd(0x147)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x2d47bc){return console[_0x4a66cd(0x166)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2d47bc['message']),![];}}async[a0_0x2fa848(0x151)](){const _0x2d8b92=a0_0x2fa848,_0x225802={'pqwPG':_0x2d8b92(0x140)};if(!this['isConnected'])return console['log'](_0x225802['pqwPG']),!![];try{return this[_0x2d8b92(0x18b)]&&(await this['consumer'][_0x2d8b92(0x151)](),await this[_0x2d8b92(0x18b)][_0x2d8b92(0x14b)]()),this[_0x2d8b92(0x173)]=![],this[_0x2d8b92(0x15e)]=![],this['isPaused']=![],console[_0x2d8b92(0x147)](_0x2d8b92(0x17b)),!![];}catch(_0x2f3a89){return console['error'](_0x2d8b92(0x131)+_0x2f3a89[_0x2d8b92(0x13a)]),![];}}async[a0_0x2fa848(0x141)](_0x589e52,_0x7000c3,_0x2bd845){const _0xc98169=a0_0x2fa848,_0x5a5621={'ITXKM':_0xc98169(0x13f)};if(!this[_0xc98169(0x173)])return console[_0xc98169(0x166)](_0x5a5621[_0xc98169(0x16e)]),![];try{return this[_0xc98169(0x18b)]['seek']({'topic':_0x589e52,'partition':_0x7000c3,'offset':_0x2bd845['toString']()}),console[_0xc98169(0x147)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2bd845+_0xc98169(0x15c)+_0x589e52+':'+_0x7000c3),!![];}catch(_0x2c3da6){return console['error'](_0xc98169(0x12f)+_0x2c3da6['message']),![];}}[a0_0x2fa848(0x183)](){const _0x1d9af7=a0_0x2fa848,_0x10260b=this['getConfig']();return{'enabled':_0x10260b[_0x1d9af7(0x17f)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x1d9af7(0x152)],'brokers':_0x10260b[_0x1d9af7(0x171)],'clientId':_0x10260b[_0x1d9af7(0x177)],'groupId':this['groupId'],'subscribedTopics':this[_0x1d9af7(0x154)]};}[a0_0x2fa848(0x193)](){const _0x290a94=a0_0x2fa848,_0x1d57d7={'OWAXk':function(_0x8e0053,_0x5e51e5){return _0x8e0053>_0x5e51e5;},'NnaZN':function(_0x38ff89,_0x1fc417){return _0x38ff89/_0x1fc417;},'stCAQ':function(_0x5e8be4,_0x21861b){return _0x5e8be4+_0x21861b;},'WkYUo':function(_0x38136f,_0x5972db){return _0x38136f+_0x5972db;}},_0x22f2ca=this[_0x290a94(0x150)]['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0x290a94(0x195)]((_0x5a41c9,_0x2a8dcb)=>_0x5a41c9+_0x2a8dcb,0x0)/this[_0x290a94(0x150)]['processingTimes']['length']:0x0,_0x1c67e7=_0x1d57d7['OWAXk'](this['metrics'][_0x290a94(0x174)][_0x290a94(0x168)],0x0)?Math[_0x290a94(0x133)](...this['metrics']['processingTimes']):0x0,_0x34d22b=this[_0x290a94(0x150)]['processingTimes'][_0x290a94(0x168)]>0x0?Math['max'](...this['metrics'][_0x290a94(0x174)]):0x0;return{'messagesReceived':this[_0x290a94(0x150)]['messagesReceived'],'messagesProcessed':this['metrics'][_0x290a94(0x18d)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x290a94(0x150)]['messagesReceived']>0x0?(this[_0x290a94(0x150)]['messagesProcessed']/this['metrics']['messagesReceived']*0x64)[_0x290a94(0x16a)](0x2)+'%':'0%','lastMessageTime':this[_0x290a94(0x150)]['lastMessageTime'],'startTime':this[_0x290a94(0x150)]['startTime'],'uptime':this[_0x290a94(0x150)][_0x290a94(0x135)]?Math[_0x290a94(0x132)](_0x1d57d7['NnaZN'](Date['now']()-this['metrics']['startTime']['getTime'](),0x3e8))+'s':'0s','processingTime':{'avg':_0x1d57d7['stCAQ'](Math['round'](_0x22f2ca),'ms'),'min':_0x1c67e7+'ms','max':_0x1d57d7[_0x290a94(0x134)](_0x34d22b,'ms')}};}[a0_0x2fa848(0x187)](){const _0x46b53f=a0_0x2fa848;this[_0x46b53f(0x150)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x46b53f(0x15e)]?new Date():null,'processingTimes':[]},console[_0x46b53f(0x147)](_0x46b53f(0x16f));}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x19fa29=a0_0x2fa848;instance&&(instance[_0x19fa29(0x156)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x447a(){const _0x53e1bf=['CNvU','y29TBwL0t2zMC2v0CW','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Bg9N','AxnbCNjHEq','mtjdsu13Euq','ChvZAa','zgLZy29UBMvJDa','D2fYBG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','Dg9tDhjPBMC','D2DLzxa','Bwv0CMLJCW','C3rVCa','AxnqyxvZzwq','DgLTzxn0yw1W','C3vIC2nYAwjLzfrVCgLJCW','rvPHvM4','y2XVC2u','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','yxv0B0nVBw1PDeLUDgvYDMfS','s0fgs0fFu0vtu0LptL9usu1ft1vu','yxv0B0nVBw1PDa','DMjxvgy','ig9Uia','ntyZnJmWDgjrvefe','AxnsDw5UAw5N','y29UC3vTzxiUCMvIywXHBMnPBMC','mta0odu3nG','s0fgs0fFu0fttf9nruniqu5ju00','rvjst1i','A2fMA2e','z3jVDxbjza','BwfW','zxjYB3i','y29UC3vTzxiUzgLZy29UBMvJDa','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Dg9gAxHLza','C3vIC2nYAwjL','CMvZDw1L','CMv0CNLnyxHezwXHEq','svrys00','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','yNjVA2vYCW','mZaWma','AxndB25Uzwn0zwq','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFqvvut19dt01nsvq','ALDlzee','y2XPzw50swq','ntCXode1vKXrtKXO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','B2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BgfZDe1LC3nHz2vuAw1L','odr6rezXAxy','AxnjBML0AwfSAxPPBMC','zw5HyMXLza','lwnVBNn1BwvYlwDYB3vW','Dhj1zq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','z2v0u3rHDhvZ','ExzVvvy','vujJseS','y29UBMvJDgLVBLbYB21PC2u','CMvZzxrnzxrYAwnZ','mJuWmda','AKrqDuO','y29UC3vTzxiUC3rVCa','y29UC3vTzxi','AgvHCNrIzwf0sw50zxj2ywW','BwvZC2fNzxnqCM9JzxnZzwq','nti1mJGWugXfC09l','zw50CMLLCW','nJm5mwn6wu52Dq','n1DOC0PjrW','icHMCM9TqMvNAw5UAw5NoIa','z2v0twv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CMvKDwnL','DeDvu3O','lwnVBNn1BwvY','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','s0fgs0fFu0fttf9qqvntv09sra','mtqYmJu0ngzNse1oCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CgfYC2vizwfKzxjZ','rhDkDMG','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','AM9PBG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9Ntgv2zwW','DMfSDwu','AvHHr00','t3zVwgu','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zMXVB3i','BwLU','v2Tzvw8','C3rHCNruAw1L','CMvZDgzVCMDLlq','zw52','mZa1nZbjA2njCM4','mJK0odLozKDpyLG','BwvZC2fNzq','odGYmdG5mwnPquLera','Cgf1C2u','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C2vLA1rVt2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ'];a0_0x447a=function(){return _0x53e1bf;};return a0_0x447a();}function a0_0x423a(_0x3b0f32,_0x24c024){_0x3b0f32=_0x3b0f32-0x127;const _0x447af4=a0_0x447a();let _0x423a2d=_0x447af4[_0x3b0f32];if(a0_0x423a['donNvj']===undefined){var _0x53fcc6=function(_0x163aac){const _0x4d9306='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33e390='',_0xc47bf6='';for(let _0x51fcb2=0x0,_0x2f0f88,_0x185999,_0xe1b713=0x0;_0x185999=_0x163aac['charAt'](_0xe1b713++);~_0x185999&&(_0x2f0f88=_0x51fcb2%0x4?_0x2f0f88*0x40+_0x185999:_0x185999,_0x51fcb2++%0x4)?_0x33e390+=String['fromCharCode'](0xff&_0x2f0f88>>(-0x2*_0x51fcb2&0x6)):0x0){_0x185999=_0x4d9306['indexOf'](_0x185999);}for(let _0x596212=0x0,_0xe4da21=_0x33e390['length'];_0x596212<_0xe4da21;_0x596212++){_0xc47bf6+='%'+('00'+_0x33e390['charCodeAt'](_0x596212)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc47bf6);};a0_0x423a['aXJGYQ']=_0x53fcc6,a0_0x423a['SIvLnq']={},a0_0x423a['donNvj']=!![];}const _0x1b428e=_0x447af4[0x0],_0x5976af=_0x3b0f32+_0x1b428e,_0x15ca19=a0_0x423a['SIvLnq'][_0x5976af];return!_0x15ca19?(_0x423a2d=a0_0x423a['aXJGYQ'](_0x423a2d),a0_0x423a['SIvLnq'][_0x5976af]=_0x423a2d):_0x423a2d=_0x15ca19,_0x423a2d;}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};