@restforgejs/platform 5.1.21 → 5.2.4

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 (214) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +2 -2
  3. package/cli/consumer.js +2 -2
  4. package/generators/cli/catalog/dashboard.js +1 -1
  5. package/generators/cli/catalog/dbschema.js +3 -3
  6. package/generators/cli/catalog/field-validation.js +1 -1
  7. package/generators/cli/catalog/query-declarative.js +1 -1
  8. package/generators/cli/config/clear-default.js +1 -1
  9. package/generators/cli/config/get-default.js +1 -1
  10. package/generators/cli/config/list.js +1 -1
  11. package/generators/cli/config/schema.js +1 -1
  12. package/generators/cli/config/set-default.js +2 -2
  13. package/generators/cli/config/template.js +1 -1
  14. package/generators/cli/dashboard/create.js +7 -7
  15. package/generators/cli/data/pull.js +12 -12
  16. package/generators/cli/data/push.js +9 -9
  17. package/generators/cli/endpoint/create.js +11 -11
  18. package/generators/cli/endpoint/list.js +3 -3
  19. package/generators/cli/fast-track.js +65 -12
  20. package/generators/cli/init.js +2 -2
  21. package/generators/cli/kafka/consumer-create.js +5 -5
  22. package/generators/cli/key/generate.js +3 -3
  23. package/generators/cli/key/list.js +2 -2
  24. package/generators/cli/key/revoke.js +3 -3
  25. package/generators/cli/payload/diff.js +3 -3
  26. package/generators/cli/payload/generate.js +5 -5
  27. package/generators/cli/payload/sync.js +5 -5
  28. package/generators/cli/payload/validate.js +3 -3
  29. package/generators/cli/processor/create.js +7 -7
  30. package/generators/cli/processor/list.js +3 -3
  31. package/generators/cli/project/delete.js +2 -2
  32. package/generators/cli/project/list.js +1 -1
  33. package/generators/cli/query/validate.js +3 -3
  34. package/generators/cli/schema/apply.js +13 -13
  35. package/generators/cli/schema/describe.js +6 -6
  36. package/generators/cli/schema/diff.js +10 -10
  37. package/generators/cli/schema/generate-ddl.js +11 -11
  38. package/generators/cli/schema/init.js +95 -95
  39. package/generators/cli/schema/introspect.js +8 -8
  40. package/generators/cli/schema/list.js +6 -6
  41. package/generators/cli/schema/migrate.js +91 -13
  42. package/generators/cli/schema/models.js +6 -6
  43. package/generators/cli/schema/template.js +223 -222
  44. package/generators/cli/schema/validate.js +6 -6
  45. package/generators/cli/test/generate.js +6 -6
  46. package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
  47. package/generators/lib/migrate/migrate-runner.js +12 -2
  48. package/generators/lib/migrate/sql-parser.js +5 -3
  49. package/generators/lib/payload/payload-runner.js +31 -5
  50. package/generators/lib/templates/dashboard-catalog.js +1 -1
  51. package/generators/lib/templates/db-connection-env.js +1 -1
  52. package/generators/lib/templates/dbschema-catalog.js +1 -1
  53. package/generators/lib/templates/field-validation-catalog.js +1 -1
  54. package/generators/lib/templates/mysql-template.js +1 -1
  55. package/generators/lib/templates/oracle-template.js +1 -1
  56. package/generators/lib/templates/postgres-template.js +1 -1
  57. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  58. package/generators/lib/templates/sqlite-template.js +1 -1
  59. package/integrity-manifest.json +18 -18
  60. package/package.json +1 -1
  61. package/scripts/verify-integrity.js +1 -1
  62. package/server.js +2 -2
  63. package/src/components/handlers/adjust_handler.js +1 -1
  64. package/src/components/handlers/audit_handler.js +1 -1
  65. package/src/components/handlers/delete_handler.js +1 -1
  66. package/src/components/handlers/export_handler.js +1 -1
  67. package/src/components/handlers/import_handler.js +1 -1
  68. package/src/components/handlers/insert_handler.js +1 -1
  69. package/src/components/handlers/update_handler.js +1 -1
  70. package/src/components/handlers/upload_handler.js +1 -1
  71. package/src/components/handlers/workflow_handler.js +1 -1
  72. package/src/components/integrations/webhook.js +1 -1
  73. package/src/consumers/baseConsumer.js +1 -1
  74. package/src/consumers/declarativeMapper.js +1 -1
  75. package/src/consumers/handlers/apiHandler.js +1 -1
  76. package/src/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/consumers/handlers/index.js +1 -1
  79. package/src/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/consumers/index.js +1 -1
  81. package/src/consumers/messageTransformer.js +1 -1
  82. package/src/consumers/validator.js +1 -1
  83. package/src/core/db/dialect/base-dialect.js +1 -1
  84. package/src/core/db/dialect/index.js +1 -1
  85. package/src/core/db/dialect/mysql-dialect.js +1 -1
  86. package/src/core/db/dialect/oracle-dialect.js +1 -1
  87. package/src/core/db/dialect/postgres-dialect.js +1 -1
  88. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  89. package/src/core/db/flatten-helper.js +1 -1
  90. package/src/core/db/query-builder-error.js +1 -1
  91. package/src/core/db/query-builder.js +1 -1
  92. package/src/core/db/relation-helper.js +1 -1
  93. package/src/core/handlers/delete_handler.js +1 -1
  94. package/src/core/handlers/insert_handler.js +1 -1
  95. package/src/core/handlers/update_handler.js +1 -1
  96. package/src/core/models/base-model.js +1 -1
  97. package/src/core/utils/cache-manager.js +1 -1
  98. package/src/core/utils/component-engine.js +1 -1
  99. package/src/core/utils/context-builder.js +1 -1
  100. package/src/core/utils/datetime-formatter.js +1 -1
  101. package/src/core/utils/datetime-parser.js +1 -1
  102. package/src/core/utils/db.js +1 -1
  103. package/src/core/utils/logger.js +1 -1
  104. package/src/core/utils/payload-loader.js +1 -1
  105. package/src/core/utils/security-checks.js +1 -1
  106. package/src/middleware/body-options.js +1 -1
  107. package/src/middleware/cors.js +1 -1
  108. package/src/middleware/idempotency.js +1 -1
  109. package/src/middleware/rate-limiter.js +1 -1
  110. package/src/middleware/request-logger.js +1 -1
  111. package/src/middleware/security-headers.js +1 -1
  112. package/src/models/base-model-mysql.js +1 -1
  113. package/src/models/base-model-oracle.js +1 -1
  114. package/src/models/base-model-sqlite.js +1 -1
  115. package/src/models/base-model.js +1 -1
  116. package/src/pro/caching/redis-client.js +1 -1
  117. package/src/pro/caching/redis-helper.js +1 -1
  118. package/src/pro/consumers/baseConsumer.js +1 -1
  119. package/src/pro/consumers/declarativeMapper.js +1 -1
  120. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  121. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  122. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  123. package/src/pro/consumers/handlers/index.js +1 -1
  124. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  125. package/src/pro/consumers/index.js +1 -1
  126. package/src/pro/consumers/messageTransformer.js +1 -1
  127. package/src/pro/consumers/validator.js +1 -1
  128. package/src/pro/database/base-model-mysql.js +1 -1
  129. package/src/pro/database/base-model-oracle.js +1 -1
  130. package/src/pro/database/base-model-sqlite.js +1 -1
  131. package/src/pro/database/db-mysql.js +1 -1
  132. package/src/pro/database/db-oracle.js +1 -1
  133. package/src/pro/database/db-sqlite.js +1 -1
  134. package/src/pro/excel/excel-generator.js +1 -1
  135. package/src/pro/excel/excel-parser.js +1 -1
  136. package/src/pro/excel/export-service.js +1 -1
  137. package/src/pro/excel/export_handler.js +1 -1
  138. package/src/pro/excel/import-service.js +1 -1
  139. package/src/pro/excel/import-validator.js +1 -1
  140. package/src/pro/excel/import_handler.js +1 -1
  141. package/src/pro/excel/upsert-builder.js +1 -1
  142. package/src/pro/idgen/idgen-routes.js +1 -1
  143. package/src/pro/integrations/lookup-resolver.js +1 -1
  144. package/src/pro/integrations/upload-handler-v2.js +1 -1
  145. package/src/pro/integrations/upload-handler.js +1 -1
  146. package/src/pro/integrations/webhook.js +1 -1
  147. package/src/pro/locking/lock-routes.js +1 -1
  148. package/src/pro/locking/resource-lock-manager.js +1 -1
  149. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  150. package/src/pro/messaging/kafkaService.js +1 -1
  151. package/src/pro/messaging/messagehubService.js +1 -1
  152. package/src/pro/messaging/rabbitmqService.js +1 -1
  153. package/src/pro/scheduler/job-manager.js +1 -1
  154. package/src/pro/scheduler/job-routes.js +1 -1
  155. package/src/pro/scheduler/job-validator.js +1 -1
  156. package/src/pro/storage/base-storage-provider.js +1 -1
  157. package/src/pro/storage/file-metadata-helper.js +1 -1
  158. package/src/pro/storage/index.js +1 -1
  159. package/src/pro/storage/local-storage-provider.js +1 -1
  160. package/src/pro/storage/s3-storage-provider.js +1 -1
  161. package/src/pro/storage/upload-cleanup-job.js +1 -1
  162. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  163. package/src/pro/storage/upload-pending-tracker.js +1 -1
  164. package/src/pro/websocket/broadcast-helper.js +1 -1
  165. package/src/pro/websocket/index.js +1 -1
  166. package/src/pro/websocket/livesync-server.js +1 -1
  167. package/src/pro/websocket/ws-broadcaster.js +1 -1
  168. package/src/services/export-service.js +1 -1
  169. package/src/services/import-service.js +1 -1
  170. package/src/services/kafkaConsumerService.js +1 -1
  171. package/src/services/kafkaService.js +1 -1
  172. package/src/services/messagehubService.js +1 -1
  173. package/src/services/rabbitmqService.js +1 -1
  174. package/src/utils/cache-invalidation-registry.js +1 -1
  175. package/src/utils/cache-manager.js +1 -1
  176. package/src/utils/component-engine.js +1 -1
  177. package/src/utils/config-extractor.js +1 -1
  178. package/src/utils/consumerLogger.js +1 -1
  179. package/src/utils/context-builder.js +1 -1
  180. package/src/utils/dashboard-helpers.js +1 -1
  181. package/src/utils/dateHelper.js +1 -1
  182. package/src/utils/datetime-formatter.js +1 -1
  183. package/src/utils/datetime-parser.js +1 -1
  184. package/src/utils/db-bootstrap.js +1 -1
  185. package/src/utils/db-mysql.js +1 -1
  186. package/src/utils/db-oracle.js +1 -1
  187. package/src/utils/db-sqlite.js +1 -1
  188. package/src/utils/db.js +1 -1
  189. package/src/utils/demo-generator.js +1 -1
  190. package/src/utils/excel-generator.js +1 -1
  191. package/src/utils/excel-parser.js +1 -1
  192. package/src/utils/file-watcher.js +1 -1
  193. package/src/utils/id-generator.js +1 -1
  194. package/src/utils/idempotency-manager.js +1 -1
  195. package/src/utils/import-validator.js +1 -1
  196. package/src/utils/license-client.js +1 -1
  197. package/src/utils/lock-manager.js +1 -1
  198. package/src/utils/logger.js +1 -1
  199. package/src/utils/lookup-resolver.js +1 -1
  200. package/src/utils/payload-loader.js +1 -1
  201. package/src/utils/processor-response.js +1 -1
  202. package/src/utils/rabbitmq.js +1 -1
  203. package/src/utils/redis-client.js +1 -1
  204. package/src/utils/redis-helper.js +1 -1
  205. package/src/utils/request-scope.js +1 -1
  206. package/src/utils/security-checks.js +1 -1
  207. package/src/utils/service-resolver.js +1 -1
  208. package/src/utils/shutdown-coordinator.js +1 -1
  209. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  210. package/src/utils/sql-table-extractor.js +1 -1
  211. package/src/utils/trusted-keys.js +1 -1
  212. package/src/utils/upload-handler.js +1 -1
  213. package/src/utils/upsert-builder.js +1 -1
  214. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0xbf7392=a0_0x4ee2;function a0_0x4ee2(_0x1c5b00,_0x4a360b){_0x1c5b00=_0x1c5b00-0x18e;const _0x405ea7=a0_0x405e();let _0x4ee235=_0x405ea7[_0x1c5b00];if(a0_0x4ee2['iGzlJw']===undefined){var _0x59b7e5=function(_0x2868d7){const _0x53daf1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f2af2='',_0x2c05a9='';for(let _0x26063b=0x0,_0x5e2191,_0x4f252f,_0x3a7fe0=0x0;_0x4f252f=_0x2868d7['charAt'](_0x3a7fe0++);~_0x4f252f&&(_0x5e2191=_0x26063b%0x4?_0x5e2191*0x40+_0x4f252f:_0x4f252f,_0x26063b++%0x4)?_0x2f2af2+=String['fromCharCode'](0xff&_0x5e2191>>(-0x2*_0x26063b&0x6)):0x0){_0x4f252f=_0x53daf1['indexOf'](_0x4f252f);}for(let _0x3345a0=0x0,_0x35d61f=_0x2f2af2['length'];_0x3345a0<_0x35d61f;_0x3345a0++){_0x2c05a9+='%'+('00'+_0x2f2af2['charCodeAt'](_0x3345a0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c05a9);};a0_0x4ee2['vFLhEs']=_0x59b7e5,a0_0x4ee2['tkOnmf']={},a0_0x4ee2['iGzlJw']=!![];}const _0x38a6d6=_0x405ea7[0x0],_0x19b349=_0x1c5b00+_0x38a6d6,_0x3fc235=a0_0x4ee2['tkOnmf'][_0x19b349];return!_0x3fc235?(_0x4ee235=a0_0x4ee2['vFLhEs'](_0x4ee235),a0_0x4ee2['tkOnmf'][_0x19b349]=_0x4ee235):_0x4ee235=_0x3fc235,_0x4ee235;}(function(_0x30a1db,_0x9ebada){const _0x2f24f4=a0_0x4ee2,_0x5e60c0=_0x30a1db();while(!![]){try{const _0x326cd6=-parseInt(_0x2f24f4(0x1e6))/0x1+-parseInt(_0x2f24f4(0x191))/0x2*(parseInt(_0x2f24f4(0x1b5))/0x3)+-parseInt(_0x2f24f4(0x1b1))/0x4*(-parseInt(_0x2f24f4(0x1c8))/0x5)+parseInt(_0x2f24f4(0x1a7))/0x6*(parseInt(_0x2f24f4(0x19d))/0x7)+-parseInt(_0x2f24f4(0x1a2))/0x8+-parseInt(_0x2f24f4(0x1b8))/0x9*(parseInt(_0x2f24f4(0x1c9))/0xa)+parseInt(_0x2f24f4(0x19e))/0xb;if(_0x326cd6===_0x9ebada)break;else _0x5e60c0['push'](_0x5e60c0['shift']());}catch(_0x52228f){_0x5e60c0['push'](_0x5e60c0['shift']());}}}(a0_0x405e,0x44343));const oracledb=require(a0_0xbf7392(0x1a9)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0xbf7392(0x1bb));oracledb[a0_0xbf7392(0x1aa)]=[oracledb['CLOB'],oracledb['NCLOB']],oracledb[a0_0xbf7392(0x196)]=[oracledb['BLOB']];function a0_0x405e(){const _0x40876c=['mtiZnK5IvMvXBW','u0vmrunuifnzu0rbveuGyxmGy3vYCMvUDf9KyxrLlcbvu0vsigfZign1CNjLBNrFDxnLCIbguK9niervquW','ug9VBcbUB3qGAw5PDgLHBgL6zwq','BgvUz3rO','mta1mJDpuenfrKm','zxHPDa','ihf1zxjPzxmP','mta4mdLIq1fyC00','qwn0AxzL','CM93CW','lI9SB2DNzxi','u0Lhsu5u','mhWXFdj8m3W0','C3bSAxq','veXiB2i','BgfZDfjVD2LK','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','ueLhBNa','BxmSia','wMTABu4','z2v0ug9VBfn0yxrPC3rPy3m','uhnyweG','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','nZu0mhrdsLvqwa','mJa1mefcswnwuG','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','Cg9VBe1PBG','BwvZC2fNzq','uMLKB2u','ywHrD0G','B3jHy2XLx3bVB2XFy2XVC2LUzW','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','tKnmt0i','te1ithC','B3jHy2XL','C3vIC3rYAw5N','Bg9JywXOB3n0','t3jHy2XLifnrtcbfCNjVCJOG','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','s29juwm','CM93C0fMzMvJDgvK','Cg9VBfrPBwvVDxq','CgfYyw1Z','yLPbr0q','zxHLy3v0zq','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','y2XVC2vqB29S','rejFue9ptf9jtKnsru1ftLq','zw52','A2nqu2C','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','ELLAzNa','y29UBMvJDgLVBNnjBLvZzq','mZGXoti4BKXlzgXM','rejFue9ptf9usu1ft1vu','B3jHy2XLx3bVB2XFzxHPC3rZ','Aw5MBW','z2v0q29UBMvJDgLVBG','yxv0B0nVBw1PDa','B3jHy2XLx3bVB2XFy3jLyxrLza','A0TmAuC','t3jHy2XLihrYyw5Zywn0Aw9UigzHAwXLzdOG','DgvZDenVBM5Ly3rPB24','x25SC1jLywr5','mZHlsuzhAwC','u0Lhvevstq','rejFse9tva','q3f0y1q','rejFue9sva','zMv0y2HbC0j1zMzLCG','Aw5PDgLHBgL6zvbVB2W','t1vux0zpuK1bvf9pqKPfq1q','zgvIDwC','y29TBwL0','CwfgtNu','CM9SBgjHy2TFzxjYB3i','n1rKwM5zuq','ntCWmJiZnwTvwezyyq','tuX4t0m','qKHTweG','qKLnDKu','mJG2nJq3mKvuz3vPBG','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','rejFtKfnrq','zxjYB3joDw0','ENPUr2m','mJa4odCXngndr0Dqwq','mhWZFdr8mxWY','B3jHy2XLzgi','zMv0y2HbC1n0CMLUzW','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','uLHTwwi','Cg9VBe1HEa','Cg9VBa','y29UzMLN','mtuYmq'];a0_0x405e=function(){return _0x40876c;};return a0_0x405e();}async function ensureNlsReady(_0x3891d8){const _0x2ca747=a0_0xbf7392,_0xeb1404=_0x2ca747(0x1a8)['split']('|');let _0x141aa8=0x0;while(!![]){switch(_0xeb1404[_0x141aa8++]){case'0':if(_0x3891d8[_0x2ca747(0x190)])return;continue;case'1':await _0x3891d8[_0x2ca747(0x1dd)](_0x2ca747(0x1c1));continue;case'2':_0x3891d8[_0x2ca747(0x190)]=!![];continue;case'3':await _0x3891d8['execute']('ALTER\x20SESSION\x20SET\x20NLS_DATE_FORMAT\x20=\x20\x27YYYY-MM-DD\x27');continue;case'4':await _0x3891d8[_0x2ca747(0x1dd)](_0x2ca747(0x1d0));continue;}break;}}class OracleDatabase{constructor(){const _0x5cfdac=a0_0xbf7392,_0x27096f={'ahQwH':function(_0x305511,_0x426af5){return _0x305511(_0x426af5);},'zznGc':'1521'};this[_0x5cfdac(0x1ae)]=null,this[_0x5cfdac(0x1af)]={'user':process['env']['DB_USER']||'hr','password':process[_0x5cfdac(0x1e1)]['DB_PASSWORD']||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process[_0x5cfdac(0x1e1)]['DB_POOL_MIN'])||0x2,'poolMax':parseInt(process['env']['DB_POOL_MAX'])||0xa,'poolIncrement':_0x27096f[_0x5cfdac(0x1ce)](parseInt,process['env'][_0x5cfdac(0x1e0)])||0x1,'poolTimeout':_0x27096f['ahQwH'](parseInt,process[_0x5cfdac(0x1e1)][_0x5cfdac(0x1e7)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x5cfdac(0x1d1)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process[_0x5cfdac(0x1e1)][_0x5cfdac(0x193)]||_0x5cfdac(0x1d5),'port':process['env'][_0x5cfdac(0x195)]||_0x27096f[_0x5cfdac(0x1a6)],'database':process['env'][_0x5cfdac(0x1a4)]||'XE','type':_0x5cfdac(0x1d3),'user':this[_0x5cfdac(0x1af)]['user'],'poolMin':this['config'][_0x5cfdac(0x1cb)],'poolMax':this['config']['poolMax']});}[a0_0xbf7392(0x1a3)](){const _0x91399=a0_0xbf7392,_0x37d7e8=process[_0x91399(0x1e1)][_0x91399(0x193)]||'localhost',_0x59f09c=process['env'][_0x91399(0x195)]||_0x91399(0x1b0),_0x24eb13=process[_0x91399(0x1e1)]['DB_NAME']||'XE',_0x3f018a='//'+_0x37d7e8+':'+_0x59f09c+'/'+_0x24eb13;return logger[_0x91399(0x199)]({'event':'oracle_connection_string','connectionString':_0x3f018a},_0x91399(0x1de)+_0x3f018a),_0x3f018a;}async['initializePool'](){const _0x3dd47d=a0_0xbf7392,_0x4fa0ac={'KPxNT':_0x3dd47d(0x1bd),'BQYAe':_0x3dd47d(0x1e8),'Yehrc':'Oracle\x20connection\x20pool\x20sudah\x20ada','ZzOBo':'oracle_pool_creating','kcPSg':'Creating\x20Oracle\x20connection\x20pool...','FslTo':_0x3dd47d(0x1ec),'xJBco':'Oracle\x20connection\x20pool\x20created\x20successfully'};try{const _0x1fac9c=_0x4fa0ac['KPxNT'][_0x3dd47d(0x1be)]('|');let _0x1aacfc=0x0;while(!![]){switch(_0x1fac9c[_0x1aacfc++]){case'0':if(this['pool']){logger[_0x3dd47d(0x199)]({'event':_0x4fa0ac['BQYAe']},_0x4fa0ac['Yehrc']);return;}continue;case'1':logger[_0x3dd47d(0x1e9)]({'event':_0x4fa0ac['ZzOBo']},_0x4fa0ac[_0x3dd47d(0x1e2)]);continue;case'2':this['pool']=await oracledb['createPool'](this['config']);continue;case'3':logger['info']({'event':_0x4fa0ac['FslTo']},_0x4fa0ac['xJBco']);continue;case'4':await this[_0x3dd47d(0x18f)]();continue;}break;}}catch(_0xf41d9a){logError(_0xf41d9a,{'event':'oracle_pool_error'},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0xf41d9a[_0x3dd47d(0x1cc)]);throw _0xf41d9a;}}async['testConnection'](){const _0x40c687=a0_0xbf7392,_0x4ad401={'GWGzl':function(_0x52a887,_0x9b924b){return _0x52a887(_0x9b924b);},'GRSOy':_0x40c687(0x1b2),'zYZfp':function(_0x32f789,_0x5cb390,_0x4a9d1d,_0x628d9b){return _0x32f789(_0x5cb390,_0x4a9d1d,_0x628d9b);},'nCNFO':_0x40c687(0x1ab)};let _0x385645;try{logger[_0x40c687(0x199)]({'event':_0x40c687(0x1ca)},'Testing\x20Oracle\x20database\x20connection...'),_0x385645=await this[_0x40c687(0x1ae)][_0x40c687(0x1ea)](),await _0x4ad401['GWGzl'](ensureNlsReady,_0x385645);const _0x559236=await _0x385645['execute'](_0x4ad401['GRSOy']);logger['info']({'event':'oracle_connection_test_success','currentDate':_0x559236[_0x40c687(0x1ba)][0x0][0x0],'currentUser':_0x559236[_0x40c687(0x1ba)][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x559236['rows'][0x0][0x1]);}catch(_0x9aa97){_0x4ad401['zYZfp'](logError,_0x9aa97,{'event':_0x4ad401['nCNFO']},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x9aa97[_0x40c687(0x1cc)]);throw _0x9aa97;}finally{if(_0x385645)try{await _0x385645['close']();}catch(_0x404e62){_0x4ad401[_0x40c687(0x1e4)](logError,_0x404e62,{'event':_0x40c687(0x1c7)},'Error\x20closing\x20test\x20connection:\x20'+_0x404e62['message']);}}}async['executeQuery'](_0x2faae1,_0xd1294e=[],_0x2ebe49={}){const _0x53207b=a0_0xbf7392,_0x4c8ec5={'PsXXH':function(_0x500cd2,_0x19979e){return _0x500cd2!==_0x19979e;},'KoIQc':function(_0xf1efe0){return _0xf1efe0();},'VPCMX':_0x53207b(0x1d3),'Sczkw':function(_0x58790e,_0x23e6c8,_0x2f5902,_0x4a685f){return _0x58790e(_0x23e6c8,_0x2f5902,_0x4a685f);},'RXmYb':'sql_error','ckBGu':function(_0x5f1e6b,_0xff6f35,_0x38b812,_0x568a7b){return _0x5f1e6b(_0xff6f35,_0x38b812,_0x568a7b);}};let _0x3f2337;const _0x50b77b=startQueryTimer();try{!this['pool']&&await this[_0x53207b(0x197)]();_0x3f2337=await this[_0x53207b(0x1ae)][_0x53207b(0x1ea)](),await ensureNlsReady(_0x3f2337);const _0x152ed8={'outFormat':oracledb[_0x53207b(0x198)],'autoCommit':_0x4c8ec5[_0x53207b(0x1c6)](_0x2ebe49[_0x53207b(0x1eb)],undefined)?_0x2ebe49['autoCommit']:!![],..._0x2ebe49},_0x50bbe7=await _0x3f2337['execute'](_0x2faae1,_0xd1294e,_0x152ed8),_0x52b524=_0x4c8ec5[_0x53207b(0x1d8)](_0x50b77b),_0x1e5245=_0x50bbe7['rows']?_0x50bbe7[_0x53207b(0x1ba)]['length']:_0x50bbe7[_0x53207b(0x1d9)];return logQuery(_0x2faae1,_0xd1294e,{'duration':_0x52b524,'rowsAffected':_0x1e5245,'dbType':_0x4c8ec5['VPCMX']}),_0x50bbe7['rows']?_0x50bbe7['rows']:{'rowsAffected':_0x50bbe7['rowsAffected'],'lastRowid':_0x50bbe7[_0x53207b(0x1c0)]};}catch(_0x2a7b16){const _0x4de4c8=_0x50b77b();_0x4c8ec5['Sczkw'](logError,_0x2a7b16,{'event':_0x4c8ec5[_0x53207b(0x1ac)],'query':_0x2faae1[_0x53207b(0x1d4)](0x0,0x1f4),'paramCount':_0xd1294e[_0x53207b(0x1b4)],'durationMs':_0x4de4c8,'code':_0x2a7b16[_0x53207b(0x1a5)],'dbType':'oracle'},_0x53207b(0x1d6)+_0x2a7b16[_0x53207b(0x1cc)]);throw _0x2a7b16;}finally{if(_0x3f2337)try{await _0x3f2337['close']();}catch(_0x3d5354){_0x4c8ec5['ckBGu'](logError,_0x3d5354,{'event':'oracle_connection_close_error'},_0x53207b(0x1d7)+_0x3d5354['message']);}}}async['executeTransaction'](_0xcc860d){const _0x3522e2=a0_0xbf7392,_0x3e6572={'CqtcT':function(_0x486636,_0x7e0833,_0x50dbea){return _0x486636(_0x7e0833,_0x50dbea);},'lLKom':'start','MLxOC':function(_0x37c45f){return _0x37c45f();},'kKLiG':function(_0x24e6dc){return _0x24e6dc();},'qaFNu':function(_0x45b3d3,_0x27a3dc,_0x51ab1f,_0x8f1ced){return _0x45b3d3(_0x27a3dc,_0x51ab1f,_0x8f1ced);},'BIMvE':_0x3522e2(0x1d3),'bZAGD':function(_0x405b23){return _0x405b23();},'qIaWY':'rollback'};let _0x4462ec;const _0x4c211d=startQueryTimer();try{!this[_0x3522e2(0x1ae)]&&await this[_0x3522e2(0x197)]();_0x4462ec=await this['pool']['getConnection'](),await ensureNlsReady(_0x4462ec),_0x3e6572[_0x3522e2(0x194)](logTransaction,_0x3e6572['lLKom'],_0xcc860d[_0x3522e2(0x1b4)]);const _0x11122a=[];for(const _0x51ab71 of _0xcc860d){const _0x1c656f=_0x3e6572[_0x3522e2(0x19f)](startQueryTimer),_0x51e099=await _0x4462ec['execute'](_0x51ab71['sql'],_0x51ab71[_0x3522e2(0x1db)]||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x2e215a=_0x3e6572[_0x3522e2(0x1ed)](_0x1c656f),_0x16825b=_0x51e099['rows']?_0x51e099[_0x3522e2(0x1ba)][_0x3522e2(0x1b4)]:_0x51e099[_0x3522e2(0x1d9)];_0x3e6572[_0x3522e2(0x19b)](logQuery,_0x51ab71['sql'],_0x51ab71['params']||[],{'duration':_0x2e215a,'rowsAffected':_0x16825b,'dbType':_0x3e6572['BIMvE']}),_0x11122a['push'](_0x51e099);}await _0x4462ec[_0x3522e2(0x19a)]();const _0x521b9a=_0x3e6572[_0x3522e2(0x1dc)](_0x4c211d);return _0x3e6572['CqtcT'](logTransaction,'commit',_0xcc860d['length']),logger['info']({'event':'transaction_complete','queryCount':_0xcc860d['length'],'totalDurationMs':_0x521b9a,'dbType':_0x3522e2(0x1d3)},'Oracle\x20transaction\x20committed\x20('+_0x521b9a+_0x3522e2(0x1c3)+_0xcc860d[_0x3522e2(0x1b4)]+_0x3522e2(0x1b7)),_0x11122a;}catch(_0x32cea6){const _0x256609=_0x4c211d();logError(_0x32cea6,{'event':'transaction_error','queryCount':_0xcc860d[_0x3522e2(0x1b4)],'totalDurationMs':_0x256609,'code':_0x32cea6['errorNum'],'dbType':_0x3e6572['BIMvE']},_0x3522e2(0x18e)+_0x32cea6['message']);if(_0x4462ec)try{await _0x4462ec['rollback'](),logTransaction(_0x3e6572['qIaWY'],_0xcc860d['length']);}catch(_0x46c425){_0x3e6572['qaFNu'](logError,_0x46c425,{'event':_0x3522e2(0x19c),'dbType':_0x3e6572[_0x3522e2(0x1a1)]},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x46c425['message']);}throw _0x32cea6;}finally{if(_0x4462ec)try{await _0x4462ec['close']();}catch(_0x361488){_0x3e6572[_0x3522e2(0x19b)](logError,_0x361488,{'event':'oracle_transaction_connection_close_error'},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x361488[_0x3522e2(0x1cc)]);}}}async[a0_0xbf7392(0x1df)](){const _0x441e10=a0_0xbf7392,_0x20852c={'BHmXH':'Oracle\x20connection\x20pool\x20closed','LMHLw':'oracle_pool_close_error'};try{this[_0x441e10(0x1ae)]&&(logger[_0x441e10(0x1e9)]({'event':_0x441e10(0x1cf)},'Closing\x20Oracle\x20connection\x20pool...'),await this[_0x441e10(0x1ae)]['close'](0xa),this['pool']=null,logger[_0x441e10(0x1e9)]({'event':'oracle_pool_closed'},_0x20852c[_0x441e10(0x1a0)]));}catch(_0x3eb093){logError(_0x3eb093,{'event':_0x20852c[_0x441e10(0x1d2)]},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x3eb093[_0x441e10(0x1cc)]);throw _0x3eb093;}}[a0_0xbf7392(0x1c5)](){const _0xb64a95=a0_0xbf7392,_0x128bcd={'KUMcg':_0xb64a95(0x1b3)};if(!this['pool'])return{'status':_0x128bcd['KUMcg']};return{'connectionsInUse':this[_0xb64a95(0x1ae)][_0xb64a95(0x1e5)],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this['pool']['poolAlias'],'poolMin':this[_0xb64a95(0x1ae)][_0xb64a95(0x1cb)],'poolMax':this[_0xb64a95(0x1ae)][_0xb64a95(0x1ad)],'poolIncrement':this[_0xb64a95(0x1ae)]['poolIncrement'],'poolTimeout':this[_0xb64a95(0x1ae)][_0xb64a95(0x1da)],'status':_0xb64a95(0x1b9)};}}const oracleDb=new OracleDatabase();process['on'](a0_0xbf7392(0x1bc),async()=>{const _0x535f5b=a0_0xbf7392,_0x458e2a={'Ridoe':'oracle_shutdown','PIGnp':_0x535f5b(0x1bc),'HuQhe':'oracle_shutdown_error'};logger[_0x535f5b(0x1e9)]({'event':_0x458e2a[_0x535f5b(0x1cd)],'signal':_0x458e2a[_0x535f5b(0x1c2)]},_0x535f5b(0x1e3));try{await oracleDb[_0x535f5b(0x1df)](),process['exit'](0x0);}catch(_0x1e709c){logError(_0x1e709c,{'event':_0x458e2a['HuQhe'],'signal':_0x535f5b(0x1bc)},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x1e709c['message']),process['exit'](0x1);}}),process['on'](a0_0xbf7392(0x192),async()=>{const _0x4591f=a0_0xbf7392,_0xddb595={'ZkZmN':'SIGTERM','TLHob':'oracle_shutdown_error'};logger[_0x4591f(0x1e9)]({'event':'oracle_shutdown','signal':_0xddb595['ZkZmN']},'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...');try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x18629a){logError(_0x18629a,{'event':_0xddb595[_0x4591f(0x1bf)],'signal':_0xddb595[_0x4591f(0x1c4)]},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x18629a['message']),process[_0x4591f(0x1b6)](0x1);}}),module['exports']=oracleDb;
1
+ const a0_0x29fa38=a0_0x2a67;(function(_0x5d207e,_0x498db8){const _0x576d9c=a0_0x2a67,_0x4da232=_0x5d207e();while(!![]){try{const _0x20acab=-parseInt(_0x576d9c(0x19e))/0x1*(-parseInt(_0x576d9c(0x1c5))/0x2)+parseInt(_0x576d9c(0x19d))/0x3+-parseInt(_0x576d9c(0x1b8))/0x4*(-parseInt(_0x576d9c(0x1cd))/0x5)+-parseInt(_0x576d9c(0x1e3))/0x6+-parseInt(_0x576d9c(0x197))/0x7+-parseInt(_0x576d9c(0x1af))/0x8+parseInt(_0x576d9c(0x1ea))/0x9*(-parseInt(_0x576d9c(0x1a2))/0xa);if(_0x20acab===_0x498db8)break;else _0x4da232['push'](_0x4da232['shift']());}catch(_0x298777){_0x4da232['push'](_0x4da232['shift']());}}}(a0_0x1afc,0x1e2fe));const oracledb=require(a0_0x29fa38(0x1d1)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x29fa38(0x1b0));oracledb['fetchAsString']=[oracledb['CLOB'],oracledb['NCLOB']],oracledb[a0_0x29fa38(0x195)]=[oracledb['BLOB']];async function ensureNlsReady(_0xd5563){const _0x595ee3=a0_0x29fa38,_0x4ebd97='3|0|1|4|2'[_0x595ee3(0x1d2)]('|');let _0x1babc6=0x0;while(!![]){switch(_0x4ebd97[_0x1babc6++]){case'0':await _0xd5563[_0x595ee3(0x1cf)]('ALTER\x20SESSION\x20SET\x20NLS_DATE_FORMAT\x20=\x20\x27YYYY-MM-DD\x27');continue;case'1':await _0xd5563['execute'](_0x595ee3(0x1b4));continue;case'2':_0xd5563['_nlsReady']=!![];continue;case'3':if(_0xd5563[_0x595ee3(0x1ec)])return;continue;case'4':await _0xd5563[_0x595ee3(0x1cf)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27');continue;}break;}}function a0_0x1afc(){const _0x3b2e2a=['BwvZC2fNzq','CgfYyw1Z','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','BgfZDfjVD2LK','zhPQyNm','zxHLy3v0zvf1zxj5','mJu2ngfiuK53ra','Aw9kzgm','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','z2v0ug9VBfn0yxrPC3rPy3m','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','zgvIDwC','A1vAAve','B3jHy2XLx3bVB2XFy3jLyxrLza','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','CM9SBgjHy2S','DePvwfC','mLr0veXYsG','B3jHy2XLx3bVB2XFzxjYB3i','qwn0AxzL','A3rnv3u','DxnLCG','shvNzfi','zxjYB3joDw0','yxv0B0nVBw1PDa','mtiYnwvzt0zzCq','ug9VBcbUB3qGAw5PDgLHBgL6zwq','zxHLy3v0zq','r2Xcz0i','B3jHy2XLzgi','C3bSAxq','ywjhEei','zw52','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJCMvHDgvKihn1y2nLC3nMDwXSEq','EeXWwvi','Cg9VBeLUy3jLBwvUDa','zxHPDa','CM9SBgjHy2TFzxjYB3i','u0Lhsu5u','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','rejFue9ptf9jtKnsru1ftLq','Cg9VBe1HEa','B3jHy2XLx3bVB2XFzxHPC3rZ','Aw5PDgLHBgL6zvbVB2W','zxHLy3v0zvrYyw5Zywn0Aw9U','Cg9VBe1PBG','nda3ntuWBwjiD0DO','whDqAw0','y29UBMvJDgLVBNnjBLvZzq','t1vux0zpuK1bvf9pqKPfq1q','tKnmt0i','CM93C0fMzMvJDgvK','B3jHy2XL','mtm1mZK2DNzvt0Hv','mtuYmq','x25SC1jLywr5','BgvUz3rO','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','C3fS','y29TBwL0','s2zss0y','r2ncBgi','CM93CW','u0Lhvevstq','Aw5MBW','y2XVC2u','zMv0y2HbC0j1zMzLCG','z2v0q29UBMvJDgLVBG','ndu4oty5sercuhfu','B3jHy2XLx3nODxrKB3DU','ChvZAa','DhjHBNnHy3rPB25FzxjYB3i','C3vIC3rYAw5N','rejFse9tva','ntG3nZK2wLL5t1ri','mJmYnde2tfHcCu5T','y0jfyKC','u0vmrunuifnzu0rbveuGyxmGy3vYCMvUDf9KyxrLlcbvu0vsigfZign1CNjLBNrFDxnLCIbguK9niervquW','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','mtCWy0r0yMnN','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','Cg9VBa','rejFue9sva','Bg9JywXOB3n0','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','rejFue9ptf9nqvG','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','y2XVC2vqB29S','B3jHy2XLx3bVB2XFy2XVC2LUzW','qunYDwG','y29UzMLN','ntGWmdu2s3LuChnr','lI9SB2DNzxi'];a0_0x1afc=function(){return _0x3b2e2a;};return a0_0x1afc();}class OracleDatabase{constructor(){const _0x469db7=a0_0x29fa38,_0x1c7f87={'XwPim':function(_0xed40fe,_0x1f2541){return _0xed40fe(_0x1f2541);},'oeOuW':_0x469db7(0x1a7),'iYeTs':_0x469db7(0x1eb),'nTPDa':'oracle'};this['pool']=null,this[_0x469db7(0x1ae)]={'user':process[_0x469db7(0x1d4)]['DB_USER']||'hr','password':process['env']['DB_PASSWORD']||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process['env']['DB_POOL_MIN'])||0x2,'poolMax':_0x1c7f87['XwPim'](parseInt,process['env'][_0x469db7(0x1a9)])||0xa,'poolIncrement':_0x1c7f87[_0x469db7(0x1e4)](parseInt,process['env'][_0x469db7(0x1dd)])||0x1,'poolTimeout':_0x1c7f87['XwPim'](parseInt,process[_0x469db7(0x1d4)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x469db7(0x1e7)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process['env'][_0x469db7(0x19c)]||_0x1c7f87['oeOuW'],'port':process['env'][_0x469db7(0x1a6)]||_0x1c7f87['iYeTs'],'database':process[_0x469db7(0x1d4)]['DB_NAME']||'XE','type':_0x1c7f87['nTPDa'],'user':this[_0x469db7(0x1ae)][_0x469db7(0x1c9)],'poolMin':this['config'][_0x469db7(0x1e2)],'poolMax':this['config'][_0x469db7(0x1de)]});}['buildConnectionString'](){const _0x377f03=a0_0x29fa38,_0x50d0f8={'fuGnl':_0x377f03(0x1eb)},_0x50fff3=process[_0x377f03(0x1d4)]['DB_HOST']||'localhost',_0x4dc7d5=process[_0x377f03(0x1d4)]['DB_PORT']||_0x50d0f8['fuGnl'],_0x292e09=process['env']['DB_NAME']||'XE',_0x5b0a8a='//'+_0x50fff3+':'+_0x4dc7d5+'/'+_0x292e09;return logger['debug']({'event':'oracle_connection_string','connectionString':_0x5b0a8a},'Oracle\x20Connection\x20String:\x20'+_0x5b0a8a),_0x5b0a8a;}async['initializePool'](){const _0x5029e2=a0_0x29fa38,_0x2a40f4={'OWDuc':_0x5029e2(0x1a1),'DARUH':_0x5029e2(0x1bf),'beOuk':_0x5029e2(0x1d5),'KfRKF':function(_0x19e857,_0x3da0dc,_0x4ae0c6,_0x1247a3){return _0x19e857(_0x3da0dc,_0x4ae0c6,_0x1247a3);}};try{if(this['pool']){logger[_0x5029e2(0x1bd)]({'event':_0x5029e2(0x1df)},_0x2a40f4['OWDuc']);return;}logger['info']({'event':'oracle_pool_creating'},_0x5029e2(0x1ee)),this['pool']=await oracledb['createPool'](this['config']),logger['info']({'event':_0x2a40f4['DARUH']},_0x2a40f4['beOuk']),await this['testConnection']();}catch(_0x205d8a){_0x2a40f4[_0x5029e2(0x1f1)](logError,_0x205d8a,{'event':_0x5029e2(0x1c6)},_0x5029e2(0x1ba)+_0x205d8a[_0x5029e2(0x1b1)]);throw _0x205d8a;}}async['testConnection'](){const _0x4ac44e=a0_0x29fa38,_0x39f5eb={'ktMWu':_0x4ac44e(0x1c1),'dklmK':function(_0x496777,_0x4dbc05){return _0x496777(_0x4dbc05);},'hPqqS':_0x4ac44e(0x1a0),'wzddu':'oracle_connection_test_success','GcBlb':function(_0x43142c,_0x5ee495,_0x4e308d,_0x2cf802){return _0x43142c(_0x5ee495,_0x4e308d,_0x2cf802);},'IeYmw':'oracle_connection_test_failed','EghHg':function(_0xc18cf2,_0x288f10,_0x334431,_0x3afeef){return _0xc18cf2(_0x288f10,_0x334431,_0x3afeef);}};let _0xd7946f;try{logger[_0x4ac44e(0x1bd)]({'event':'oracle_connection_test_start'},_0x39f5eb[_0x4ac44e(0x1c8)]),_0xd7946f=await this['pool'][_0x4ac44e(0x196)](),await _0x39f5eb['dklmK'](ensureNlsReady,_0xd7946f);const _0x403127=await _0xd7946f['execute'](_0x39f5eb['hPqqS']);logger['info']({'event':_0x39f5eb['wzddu'],'currentDate':_0x403127[_0x4ac44e(0x1f3)][0x0][0x0],'currentUser':_0x403127['rows'][0x0][0x1]},_0x4ac44e(0x1bc)+_0x403127[_0x4ac44e(0x1f3)][0x0][0x1]);}catch(_0x330610){_0x39f5eb[_0x4ac44e(0x1f2)](logError,_0x330610,{'event':_0x39f5eb['IeYmw']},_0x4ac44e(0x1a8)+_0x330610['message']);throw _0x330610;}finally{if(_0xd7946f)try{await _0xd7946f['close']();}catch(_0x224acf){_0x39f5eb['EghHg'](logError,_0x224acf,{'event':'oracle_test_connection_close_error'},'Error\x20closing\x20test\x20connection:\x20'+_0x224acf[_0x4ac44e(0x1b1)]);}}}async[a0_0x29fa38(0x1b7)](_0x78bb6f,_0x6236ea=[],_0x5c57c3={}){const _0x8374e2=a0_0x29fa38,_0x500d03={'pZBSo':function(_0x4dac07,_0x56ee9a){return _0x4dac07(_0x56ee9a);},'ioJdc':function(_0x364e98){return _0x364e98();},'OnfWB':function(_0x19ec56,_0x30aa11,_0x3d4c9c,_0x334259){return _0x19ec56(_0x30aa11,_0x3d4c9c,_0x334259);},'yoRAm':function(_0x1f837f,_0x262b05,_0x58e5b9,_0x4ae8d8){return _0x1f837f(_0x262b05,_0x58e5b9,_0x4ae8d8);},'HugdR':_0x8374e2(0x1aa)};let _0x15ebdb;const _0xec8c1=startQueryTimer();try{!this[_0x8374e2(0x1a5)]&&await this['initializePool']();_0x15ebdb=await this['pool'][_0x8374e2(0x196)](),await _0x500d03['pZBSo'](ensureNlsReady,_0x15ebdb);const _0x17a016={'outFormat':oracledb[_0x8374e2(0x1e6)],'autoCommit':_0x5c57c3[_0x8374e2(0x1cc)]!==undefined?_0x5c57c3['autoCommit']:!![],..._0x5c57c3},_0x1a08a6=await _0x15ebdb['execute'](_0x78bb6f,_0x6236ea,_0x17a016),_0x2f667d=_0x500d03[_0x8374e2(0x1b9)](_0xec8c1),_0x1c2f83=_0x1a08a6['rows']?_0x1a08a6['rows'][_0x8374e2(0x1ed)]:_0x1a08a6[_0x8374e2(0x1e8)];return _0x500d03['OnfWB'](logQuery,_0x78bb6f,_0x6236ea,{'duration':_0x2f667d,'rowsAffected':_0x1c2f83,'dbType':'oracle'}),_0x1a08a6['rows']?_0x1a08a6[_0x8374e2(0x1f3)]:{'rowsAffected':_0x1a08a6[_0x8374e2(0x1e8)],'lastRowid':_0x1a08a6[_0x8374e2(0x1b5)]};}catch(_0x16d008){const _0x7f2669=_0x500d03[_0x8374e2(0x1b9)](_0xec8c1);_0x500d03['yoRAm'](logError,_0x16d008,{'event':'sql_error','query':_0x78bb6f[_0x8374e2(0x19b)](0x0,0x1f4),'paramCount':_0x6236ea['length'],'durationMs':_0x7f2669,'code':_0x16d008[_0x8374e2(0x1cb)],'dbType':'oracle'},'Oracle\x20SQL\x20Error:\x20'+_0x16d008['message']);throw _0x16d008;}finally{if(_0x15ebdb)try{await _0x15ebdb[_0x8374e2(0x194)]();}catch(_0x177ad6){logError(_0x177ad6,{'event':_0x500d03[_0x8374e2(0x1ca)]},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x177ad6['message']);}}}async[a0_0x29fa38(0x1e1)](_0x54878f){const _0x781864=a0_0x29fa38,_0xbc0042={'ACruh':function(_0x583ce0){return _0x583ce0();},'BVLzL':function(_0x32b7f2,_0x3ed56b){return _0x32b7f2(_0x3ed56b);},'fvlHv':function(_0x2b1c77,_0xd10f05,_0x13ee2f){return _0x2b1c77(_0xd10f05,_0x13ee2f);},'sAxby':'start','abGxB':function(_0x221075){return _0x221075();},'xLpYR':function(_0x50dbde,_0x4d71cf,_0x5612f4,_0x5028dd){return _0x50dbde(_0x4d71cf,_0x5612f4,_0x5028dd);},'Pqmya':_0x781864(0x1f0),'GlBgB':_0x781864(0x19a),'lKiRh':'oracle','SCnMl':'rollback','VisVc':function(_0x3d715a,_0x3e5247,_0x3e1858,_0x2a75b2){return _0x3d715a(_0x3e5247,_0x3e1858,_0x2a75b2);},'YNJtj':'oracle_transaction_connection_close_error'};let _0xcf755b;const _0x363029=_0xbc0042['ACruh'](startQueryTimer);try{!this[_0x781864(0x1a5)]&&await this[_0x781864(0x1e0)]();_0xcf755b=await this[_0x781864(0x1a5)][_0x781864(0x196)](),await _0xbc0042['BVLzL'](ensureNlsReady,_0xcf755b),_0xbc0042['fvlHv'](logTransaction,_0xbc0042['sAxby'],_0x54878f[_0x781864(0x1ed)]);const _0x2fb53b=[];for(const _0x3d0a42 of _0x54878f){const _0x1ba6c6=_0xbc0042[_0x781864(0x1d3)](startQueryTimer),_0xdc19e2=await _0xcf755b[_0x781864(0x1cf)](_0x3d0a42['sql'],_0x3d0a42[_0x781864(0x1b2)]||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x1c20b9=_0xbc0042['abGxB'](_0x1ba6c6),_0x2cd388=_0xdc19e2['rows']?_0xdc19e2[_0x781864(0x1f3)]['length']:_0xdc19e2[_0x781864(0x1e8)];_0xbc0042['xLpYR'](logQuery,_0x3d0a42[_0x781864(0x1ef)],_0x3d0a42[_0x781864(0x1b2)]||[],{'duration':_0x1c20b9,'rowsAffected':_0x2cd388,'dbType':_0x781864(0x1e9)}),_0x2fb53b[_0x781864(0x199)](_0xdc19e2);}await _0xcf755b['commit']();const _0x59edde=_0x363029();return _0xbc0042['fvlHv'](logTransaction,_0xbc0042['Pqmya'],_0x54878f[_0x781864(0x1ed)]),logger['info']({'event':'transaction_complete','queryCount':_0x54878f['length'],'totalDurationMs':_0x59edde,'dbType':_0x781864(0x1e9)},_0x781864(0x1b3)+_0x59edde+'ms,\x20'+_0x54878f['length']+'\x20queries)'),_0x2fb53b;}catch(_0x260923){const _0x26f4a6=_0xbc0042[_0x781864(0x1ad)](_0x363029);_0xbc0042[_0x781864(0x1d6)](logError,_0x260923,{'event':_0xbc0042[_0x781864(0x1d0)],'queryCount':_0x54878f['length'],'totalDurationMs':_0x26f4a6,'code':_0x260923[_0x781864(0x1cb)],'dbType':_0xbc0042['lKiRh']},'Oracle\x20transaction\x20failed:\x20'+_0x260923[_0x781864(0x1b1)]);if(_0xcf755b)try{await _0xcf755b[_0x781864(0x1c3)](),logTransaction(_0xbc0042['SCnMl'],_0x54878f[_0x781864(0x1ed)]);}catch(_0x581f85){logError(_0x581f85,{'event':_0x781864(0x1d9),'dbType':_0xbc0042['lKiRh']},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x581f85['message']);}throw _0x260923;}finally{if(_0xcf755b)try{await _0xcf755b[_0x781864(0x194)]();}catch(_0x55c734){_0xbc0042['VisVc'](logError,_0x55c734,{'event':_0xbc0042['YNJtj']},_0x781864(0x1c0)+_0x55c734['message']);}}}async[a0_0x29fa38(0x1ab)](){const _0x1e85b3=a0_0x29fa38,_0x494d7a={'tJUXW':_0x1e85b3(0x1ac),'ZfxYC':_0x1e85b3(0x1dc),'dzjbs':'oracle_pool_closed','zQBSH':_0x1e85b3(0x1c2)};try{this[_0x1e85b3(0x1a5)]&&(logger[_0x1e85b3(0x193)]({'event':_0x494d7a[_0x1e85b3(0x1c4)]},_0x494d7a['ZfxYC']),await this[_0x1e85b3(0x1a5)]['close'](0xa),this['pool']=null,logger[_0x1e85b3(0x193)]({'event':_0x494d7a[_0x1e85b3(0x1b6)]},_0x1e85b3(0x1a4)));}catch(_0x49370b){logError(_0x49370b,{'event':_0x494d7a['zQBSH']},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x49370b[_0x1e85b3(0x1b1)]);throw _0x49370b;}}[a0_0x29fa38(0x1bb)](){const _0xf6941f=a0_0x29fa38;if(!this[_0xf6941f(0x1a5)])return{'status':_0xf6941f(0x1ce)};return{'connectionsInUse':this[_0xf6941f(0x1a5)][_0xf6941f(0x1e5)],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this[_0xf6941f(0x1a5)]['poolAlias'],'poolMin':this['pool'][_0xf6941f(0x1e2)],'poolMax':this[_0xf6941f(0x1a5)][_0xf6941f(0x1de)],'poolIncrement':this[_0xf6941f(0x1a5)][_0xf6941f(0x1d7)],'poolTimeout':this['pool']['poolTimeout'],'status':_0xf6941f(0x1c7)};}}const oracleDb=new OracleDatabase();function a0_0x2a67(_0xbef1cb,_0x4c4722){_0xbef1cb=_0xbef1cb-0x192;const _0x1afc01=a0_0x1afc();let _0x2a6792=_0x1afc01[_0xbef1cb];if(a0_0x2a67['scZRgX']===undefined){var _0x1e2caa=function(_0xf72365){const _0x597b23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b8b94='',_0x3eac18='';for(let _0x68537d=0x0,_0xf8da47,_0x1f49e4,_0x39f3a7=0x0;_0x1f49e4=_0xf72365['charAt'](_0x39f3a7++);~_0x1f49e4&&(_0xf8da47=_0x68537d%0x4?_0xf8da47*0x40+_0x1f49e4:_0x1f49e4,_0x68537d++%0x4)?_0x1b8b94+=String['fromCharCode'](0xff&_0xf8da47>>(-0x2*_0x68537d&0x6)):0x0){_0x1f49e4=_0x597b23['indexOf'](_0x1f49e4);}for(let _0x42f118=0x0,_0x2193e4=_0x1b8b94['length'];_0x42f118<_0x2193e4;_0x42f118++){_0x3eac18+='%'+('00'+_0x1b8b94['charCodeAt'](_0x42f118)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3eac18);};a0_0x2a67['XFpWlg']=_0x1e2caa,a0_0x2a67['LukgEy']={},a0_0x2a67['scZRgX']=!![];}const _0x2166d5=_0x1afc01[0x0],_0x1622dd=_0xbef1cb+_0x2166d5,_0xa459e2=a0_0x2a67['LukgEy'][_0x1622dd];return!_0xa459e2?(_0x2a6792=a0_0x2a67['XFpWlg'](_0x2a6792),a0_0x2a67['LukgEy'][_0x1622dd]=_0x2a6792):_0x2a6792=_0xa459e2,_0x2a6792;}process['on'](a0_0x29fa38(0x1da),async()=>{const _0x459fcc=a0_0x29fa38,_0x1996c7={'cBEbG':_0x459fcc(0x198),'UyNDx':'SIGINT','kUZiQ':'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...'};logger[_0x459fcc(0x193)]({'event':_0x1996c7[_0x459fcc(0x19f)],'signal':_0x1996c7['UyNDx']},_0x1996c7[_0x459fcc(0x1be)]);try{await oracleDb[_0x459fcc(0x1ab)](),process['exit'](0x0);}catch(_0x59b5fd){logError(_0x59b5fd,{'event':'oracle_shutdown_error','signal':_0x459fcc(0x1da)},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x59b5fd[_0x459fcc(0x1b1)]),process[_0x459fcc(0x1d8)](0x1);}}),process['on']('SIGTERM',async()=>{const _0x108d07=a0_0x29fa38,_0x5919c3={'lkMrW':'SIGTERM'};logger['info']({'event':_0x108d07(0x198),'signal':_0x108d07(0x192)},_0x108d07(0x1db));try{await oracleDb['closePool'](),process[_0x108d07(0x1d8)](0x0);}catch(_0x1cb025){logError(_0x1cb025,{'event':'oracle_shutdown_error','signal':_0x5919c3['lkMrW']},_0x108d07(0x1a3)+_0x1cb025['message']),process[_0x108d07(0x1d8)](0x1);}}),module['exports']=oracleDb;
@@ -1 +1 @@
1
- const a0_0x209de5=a0_0x5752;function a0_0x5752(_0x181f1f,_0x2971c8){_0x181f1f=_0x181f1f-0x198;const _0x2f9de3=a0_0x2f9d();let _0x5752c3=_0x2f9de3[_0x181f1f];if(a0_0x5752['jyrVgQ']===undefined){var _0x50fc92=function(_0x498c4c){const _0x5ab736='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53557d='',_0x2632f6='';for(let _0x54e09c=0x0,_0x28654e,_0x15f3e5,_0x4924ac=0x0;_0x15f3e5=_0x498c4c['charAt'](_0x4924ac++);~_0x15f3e5&&(_0x28654e=_0x54e09c%0x4?_0x28654e*0x40+_0x15f3e5:_0x15f3e5,_0x54e09c++%0x4)?_0x53557d+=String['fromCharCode'](0xff&_0x28654e>>(-0x2*_0x54e09c&0x6)):0x0){_0x15f3e5=_0x5ab736['indexOf'](_0x15f3e5);}for(let _0x180615=0x0,_0xfbf885=_0x53557d['length'];_0x180615<_0xfbf885;_0x180615++){_0x2632f6+='%'+('00'+_0x53557d['charCodeAt'](_0x180615)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2632f6);};a0_0x5752['dQEtiZ']=_0x50fc92,a0_0x5752['FUizDL']={},a0_0x5752['jyrVgQ']=!![];}const _0x3b2a8e=_0x2f9de3[0x0],_0x1f7774=_0x181f1f+_0x3b2a8e,_0x58ac56=a0_0x5752['FUizDL'][_0x1f7774];return!_0x58ac56?(_0x5752c3=a0_0x5752['dQEtiZ'](_0x5752c3),a0_0x5752['FUizDL'][_0x1f7774]=_0x5752c3):_0x5752c3=_0x58ac56,_0x5752c3;}function a0_0x2f9d(){const _0x40b2bd=['nduYotDbsfPlzue','mJCWuKLKBe53','y2HHBMDLCW','lI9SB2DNzxi','rejFtKfnrq','BwvZC2fNzq','qNbbu2e','ChjLCgfYzq','DhjHBNnHy3rPB24','DgvZDa','CgfYyw1Z','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','te9Ry0W','yKjjrfa','BxmSia','nJK1mJm3nLrUB1HcyW','y2XVC2u','y29Kzq','otK3otvkzK91y1u','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','mtfSBxjbz3a','r2rPuMC','u0Lhvevstq','CNvU','A3fPreC','u0Lhsu5u','yMv0DgvYlxnXBgL0ztm','C3fSAxrL','u0PHuhu','z2v0','twzUChO','DhjHBNnHy3rPB25FzxjYB3i','C3fSx2vYCM9Y','wM5nDKC','DvPPDLi','zgjhDuC','ChvZAa','BLrpA1q','y2HLy2TdB25Uzwn0Aw9U','sw94qK4','zgvIDwC','C3fSAxrLx2LUAxrFzxjYB3i','ywXS','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','y2XVC2vqB29S','BgfZDeLUC2vYDfjVD2LK','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','mJqYnZq3n1vRvwPfqW','C3fSAxrLx3nODxrKB3DU','DgvZDenVBM5Ly3rPB24','zw52','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','C3fSAxrLx2nSB3nLx2vYCM9Y','Aw5MBW','tg9frfC','Cg1iyuS','r3Pkq3q','uKXRwve','BgvUz3rO','mtq0mJeZmtjhDg1gDxu','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','C3fS','mu5gtejsDW','C3rHCNq','EfjLBgC','yNvZEvrPBwvVDxq','ChjHz21H','y2nsqw8','CM9SBgjHy2S','ntKWvePeD29O','zxHLy3v0zvrYyw5Zywn0Aw9U','sergrMu','Aw5PDgLHBgL6zurHDgfIyxnL','s3LsDwS','C3fSAxrLx2rIx2v4Axn0CW','tNf2Agi','n2TiEgPlvG','mte3mJmXmNf2se5xCq','lI9KyxrHl3jLC3rMB3jNzs5KyG','C3fSAxrLx2nSB3nLza','mtu5mtG0nLvOv2PUsW','ntaWma','AM91CM5HBf9TB2rLid0Gv0fm'];a0_0x2f9d=function(){return _0x40b2bd;};return a0_0x2f9d();}(function(_0x37248e,_0x3d97bf){const _0x40e787=a0_0x5752,_0xf2805f=_0x37248e();while(!![]){try{const _0x764007=-parseInt(_0x40e787(0x1e4))/0x1*(-parseInt(_0x40e787(0x1a3))/0x2)+-parseInt(_0x40e787(0x1d5))/0x3+parseInt(_0x40e787(0x1a0))/0x4+-parseInt(_0x40e787(0x1b8))/0x5*(-parseInt(_0x40e787(0x1a7))/0x6)+-parseInt(_0x40e787(0x19f))/0x7*(-parseInt(_0x40e787(0x1b5))/0x8)+-parseInt(_0x40e787(0x1a6))/0x9*(parseInt(_0x40e787(0x198))/0xa)+parseInt(_0x40e787(0x1ba))/0xb*(-parseInt(_0x40e787(0x1e1))/0xc);if(_0x764007===_0x3d97bf)break;else _0xf2805f['push'](_0xf2805f['shift']());}catch(_0x22f870){_0xf2805f['push'](_0xf2805f['shift']());}}}(a0_0x2f9d,0x85de1));const Database=require(a0_0x209de5(0x1c0)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x209de5(0x1a9));class SqliteDatabase{constructor(){const _0x3fcf28=a0_0x209de5,_0x5c74eb={'SizIJ':function(_0x42eece,_0x1285f6){return _0x42eece(_0x1285f6);},'RZmvp':_0x3fcf28(0x1a4),'uZivR':function(_0x173c43,_0x5e3262){return _0x173c43(_0x5e3262);}};this['db']=null,this['dbPath']=process[_0x3fcf28(0x1d8)][_0x3fcf28(0x1aa)]||_0x3fcf28(0x1a1),this[_0x3fcf28(0x1e7)]=_0x5c74eb['SizIJ'](parseInt,process['env']['DB_BUSY_TIMEOUT']||_0x5c74eb['RZmvp']),_0x5c74eb[_0x3fcf28(0x1c8)](logDatabaseConfig,{'database':this['dbPath'],'type':_0x3fcf28(0x1c1),'busyTimeout':this['busyTimeout']});}['initializeDatabase'](){const _0xfb71cc=a0_0x209de5,_0x283948={'Nqvhb':_0xfb71cc(0x19d),'YNYSC':_0xfb71cc(0x1a5),'nTOkT':function(_0x58110c,_0x658a71,_0x31f563,_0x29775f){return _0x58110c(_0x658a71,_0x31f563,_0x29775f);},'bBIDP':_0xfb71cc(0x1cf)};try{if(this['db']){logger[_0xfb71cc(0x1ce)]({'event':_0x283948[_0xfb71cc(0x19e)]},_0xfb71cc(0x1e2));return;}this['db']=new Database(this['dbPath'],{'timeout':this['busyTimeout']}),this['db']['pragma'](_0x283948['YNYSC']),this['db'][_0xfb71cc(0x1e8)]('foreign_keys\x20=\x20ON'),this[_0xfb71cc(0x1d7)]();}catch(_0x889b0f){_0x283948[_0xfb71cc(0x1cb)](logError,_0x889b0f,{'event':_0x283948[_0xfb71cc(0x1b3)]},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x889b0f[_0xfb71cc(0x1ab)]);throw _0x889b0f;}}['testConnection'](){const _0x28553f=a0_0x209de5,_0x4d4a8c={'DNzSW':'sqlite_connection_test_start','dYYfq':function(_0x4e1171,_0x1ab912,_0x5ce6b2,_0x3a2b9a){return _0x4e1171(_0x1ab912,_0x5ce6b2,_0x3a2b9a);},'LIFmO':_0x28553f(0x1d1)};try{logger[_0x28553f(0x1ce)]({'event':_0x4d4a8c['DNzSW']},_0x28553f(0x1d9)),this['db'][_0x28553f(0x1ad)]('SELECT\x201\x20as\x20test_connection')[_0x28553f(0x1c3)]();}catch(_0x4c92c9){_0x4d4a8c['dYYfq'](logError,_0x4c92c9,{'event':_0x4d4a8c['LIFmO']},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x4c92c9[_0x28553f(0x1ab)]);throw _0x4c92c9;}}async['executeQuery'](_0x3f7a56,_0x47474d=[]){const _0x248c59=a0_0x209de5,_0x4f27e2={'IoxBN':function(_0xe5649e){return _0xe5649e();},'HDFFe':function(_0x88457c){return _0x88457c();},'ccRAo':_0x248c59(0x1c1),'kqiDG':function(_0x1283ca){return _0x1283ca();},'Mfnpz':function(_0x30cfb8,_0x51bbe8,_0x29a1df,_0x14182f){return _0x30cfb8(_0x51bbe8,_0x29a1df,_0x14182f);},'GdiRg':function(_0x22db4f,_0x30e376,_0x59d9b0,_0x58c8a1){return _0x22db4f(_0x30e376,_0x59d9b0,_0x58c8a1);}},_0x5b37b8=_0x4f27e2[_0x248c59(0x1cd)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x4c41bc=this['db'][_0x248c59(0x1ad)](_0x3f7a56),_0x14f51d=/\bRETURNING\b/i[_0x248c59(0x1af)](_0x3f7a56),_0x26df0c=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x3f7a56);let _0x110aee,_0x4d0a52;if(_0x26df0c||_0x14f51d){const _0x2542bf=_0x4c41bc[_0x248c59(0x1d0)](..._0x47474d),_0x531623=_0x4f27e2[_0x248c59(0x19a)](_0x5b37b8);return logQuery(_0x3f7a56,_0x47474d,{'duration':_0x531623,'rowsAffected':_0x2542bf[_0x248c59(0x1e0)],'dbType':_0x4f27e2[_0x248c59(0x1e9)]}),_0x2542bf;}else{const _0x1bb389=_0x4c41bc['run'](..._0x47474d),_0x18c822=_0x4f27e2[_0x248c59(0x1be)](_0x5b37b8);return _0x110aee={'rowsAffected':_0x1bb389[_0x248c59(0x1a8)],'insertId':_0x1bb389['lastInsertRowid']},_0x4f27e2[_0x248c59(0x1c4)](logQuery,_0x3f7a56,_0x47474d,{'duration':_0x18c822,'rowsAffected':_0x1bb389['changes'],'dbType':'sqlite'}),_0x110aee;}}catch(_0x3654ae){const _0x4f7361=_0x5b37b8();_0x4f27e2[_0x248c59(0x1bb)](logError,_0x3654ae,{'event':_0x248c59(0x1c6),'query':_0x3f7a56['substring'](0x0,0x1f4),'paramCount':_0x47474d['length'],'durationMs':_0x4f7361,'code':_0x3654ae[_0x248c59(0x1b7)],'dbType':_0x4f27e2['ccRAo']},'SQLite\x20SQL\x20Error:\x20'+_0x3654ae[_0x248c59(0x1ab)]);throw _0x3654ae;}}async[a0_0x209de5(0x199)](_0x4f1b8b){const _0xb0f2b3=a0_0x209de5,_0x35e39={'ZnMvG':'sqlite','LOkcL':function(_0x563b0b){return _0x563b0b();},'ntXXU':function(_0x29379e,_0x2a533f,_0x3ff522){return _0x29379e(_0x2a533f,_0x3ff522);},'goWkc':function(_0x380435,_0x1fab69){return _0x380435(_0x1fab69);},'PlWQJ':function(_0x24ec0c){return _0x24ec0c();},'BpASa':'transaction_complete','LoEDW':function(_0x15a691,_0x11b9c0,_0x5e5a85){return _0x15a691(_0x11b9c0,_0x5e5a85);},'KyRuk':function(_0xfd8e48,_0xe01290,_0x1c0c13,_0xaf630f){return _0xfd8e48(_0xe01290,_0x1c0c13,_0xaf630f);},'VAEWe':_0xb0f2b3(0x1c5)},_0x187712=startQueryTimer();try{!this['db']&&this['initializeDatabase']();_0x35e39['ntXXU'](logTransaction,_0xb0f2b3(0x1e5),_0x4f1b8b['length']);const _0x40242f=this['db'][_0xb0f2b3(0x1ae)](_0x433abf=>{const _0x3b1af0=_0xb0f2b3,_0xf8fde5=[];for(const _0xabc777 of _0x433abf){const _0x29f637=startQueryTimer(),_0x67ff8e=_0xabc777[_0x3b1af0(0x1b0)]||[],_0x5322b3=this['db']['prepare'](_0xabc777['sql']),_0x329cc2=/\bRETURNING\b/i[_0x3b1af0(0x1af)](_0xabc777['sql']),_0x324983=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0xabc777['sql']);if(_0x324983||_0x329cc2){const _0x498cca=_0x5322b3[_0x3b1af0(0x1d0)](..._0x67ff8e),_0x319d6a=_0x29f637();logQuery(_0xabc777['sql'],_0x67ff8e,{'duration':_0x319d6a,'rowsAffected':_0x498cca['length'],'dbType':_0x35e39['ZnMvG']}),_0xf8fde5[_0x3b1af0(0x1ca)](_0x498cca);}else{const _0x19614b=_0x5322b3[_0x3b1af0(0x1bd)](..._0x67ff8e),_0x2b24aa=_0x35e39[_0x3b1af0(0x1b2)](_0x29f637);logQuery(_0xabc777[_0x3b1af0(0x1e3)],_0x67ff8e,{'duration':_0x2b24aa,'rowsAffected':_0x19614b[_0x3b1af0(0x1a8)],'dbType':_0x35e39['ZnMvG']}),_0xf8fde5[_0x3b1af0(0x1ca)]({'rowsAffected':_0x19614b[_0x3b1af0(0x1a8)],'insertId':_0x19614b[_0x3b1af0(0x1d3)]});}}return _0xf8fde5;}),_0x2dd3e8=_0x35e39['goWkc'](_0x40242f,_0x4f1b8b),_0x3dca39=_0x35e39['PlWQJ'](_0x187712);return logTransaction('commit',_0x4f1b8b['length']),logger[_0xb0f2b3(0x1db)]({'event':_0x35e39[_0xb0f2b3(0x1ac)],'queryCount':_0x4f1b8b[_0xb0f2b3(0x1e0)],'totalDurationMs':_0x3dca39,'dbType':_0x35e39[_0xb0f2b3(0x1c7)]},'Transaction\x20committed\x20('+_0x3dca39+_0xb0f2b3(0x1b4)+_0x4f1b8b[_0xb0f2b3(0x1e0)]+'\x20queries)'),_0x2dd3e8;}catch(_0x4d054c){const _0x528844=_0x187712();_0x35e39[_0xb0f2b3(0x1dc)](logTransaction,_0xb0f2b3(0x1ea),_0x4f1b8b[_0xb0f2b3(0x1e0)]),_0x35e39[_0xb0f2b3(0x19c)](logError,_0x4d054c,{'event':_0x35e39['VAEWe'],'queryCount':_0x4f1b8b[_0xb0f2b3(0x1e0)],'totalDurationMs':_0x528844,'code':_0x4d054c['code'],'dbType':'sqlite'},'Transaction\x20failed:\x20'+_0x4d054c['message']);throw _0x4d054c;}}['getPool'](){const _0x3a63e0=a0_0x209de5;return!this['db']&&this[_0x3a63e0(0x19b)](),this['db'];}[a0_0x209de5(0x1d2)](){const _0x57ffc6=a0_0x209de5,_0x91ffa8={'RLkYQ':'sqlite_closing','dbGuG':_0x57ffc6(0x1a2),'IKRDy':_0x57ffc6(0x1da)};try{this['db']&&(logger[_0x57ffc6(0x1db)]({'event':_0x91ffa8[_0x57ffc6(0x1df)]},'Closing\x20SQLite\x20database\x20connection...'),this['db'][_0x57ffc6(0x1b6)](),this['db']=null,logger['info']({'event':_0x91ffa8[_0x57ffc6(0x1c9)]},_0x57ffc6(0x1b1)));}catch(_0x5affa2){logError(_0x5affa2,{'event':_0x91ffa8['IKRDy']},'Error\x20closing\x20SQLite\x20database:\x20'+_0x5affa2['message']);throw _0x5affa2;}}async[a0_0x209de5(0x1cc)](){try{return!this['db']&&this['initializeDatabase'](),this['db']['prepare']('SELECT\x201')['get'](),!![];}catch(_0x17dcbc){return logError(_0x17dcbc,{'event':'sqlite_connection_check_error'},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x17dcbc['message']),![];}}}const sqliteDb=new SqliteDatabase();process['on'](a0_0x209de5(0x1bf),()=>{const _0x3e245c=a0_0x209de5,_0x204e4a={'pmHaK':'sqlite_shutdown','YmTIv':'Received\x20SIGINT,\x20closing\x20SQLite\x20database...','xRelg':function(_0x46eaea,_0xee2c22,_0x210d38,_0x4088c2){return _0x46eaea(_0xee2c22,_0x210d38,_0x4088c2);},'SJaPu':_0x3e245c(0x1bf)};logger[_0x3e245c(0x1db)]({'event':_0x204e4a[_0x3e245c(0x1dd)],'signal':_0x3e245c(0x1bf)},_0x204e4a['YmTIv']);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x2f323e){_0x204e4a[_0x3e245c(0x1e6)](logError,_0x2f323e,{'event':_0x3e245c(0x1b9),'signal':_0x204e4a[_0x3e245c(0x1c2)]},_0x3e245c(0x1d4)+_0x2f323e[_0x3e245c(0x1ab)]),process['exit'](0x1);}}),process['on'](a0_0x209de5(0x1bc),()=>{const _0x45fca6=a0_0x209de5,_0x1fe58={'GzJCt':_0x45fca6(0x1d6),'dnnSc':'SIGTERM','MNuMA':function(_0x40cffd,_0x3eaff0,_0x269ac7,_0x5c106e){return _0x40cffd(_0x3eaff0,_0x269ac7,_0x5c106e);}};logger[_0x45fca6(0x1db)]({'event':_0x1fe58[_0x45fca6(0x1de)],'signal':_0x1fe58['dnnSc']},'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...');try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x3e121c){_0x1fe58['MNuMA'](logError,_0x3e121c,{'event':'sqlite_shutdown_error','signal':_0x1fe58['dnnSc']},_0x45fca6(0x1d4)+_0x3e121c[_0x45fca6(0x1ab)]),process['exit'](0x1);}}),module['exports']=sqliteDb;
1
+ function a0_0x407b(_0x8e3d3e,_0x16f258){_0x8e3d3e=_0x8e3d3e-0x162;const _0x2d0d98=a0_0x2d0d();let _0x407b3=_0x2d0d98[_0x8e3d3e];if(a0_0x407b['FvlCsJ']===undefined){var _0x544039=function(_0x2ffbfb){const _0xa6f1ae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2db413='',_0x3b7d63='';for(let _0x5a3cac=0x0,_0x450e14,_0x584288,_0x544423=0x0;_0x584288=_0x2ffbfb['charAt'](_0x544423++);~_0x584288&&(_0x450e14=_0x5a3cac%0x4?_0x450e14*0x40+_0x584288:_0x584288,_0x5a3cac++%0x4)?_0x2db413+=String['fromCharCode'](0xff&_0x450e14>>(-0x2*_0x5a3cac&0x6)):0x0){_0x584288=_0xa6f1ae['indexOf'](_0x584288);}for(let _0xd899d1=0x0,_0x8c5179=_0x2db413['length'];_0xd899d1<_0x8c5179;_0xd899d1++){_0x3b7d63+='%'+('00'+_0x2db413['charCodeAt'](_0xd899d1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b7d63);};a0_0x407b['aKCEkr']=_0x544039,a0_0x407b['qpuCYV']={},a0_0x407b['FvlCsJ']=!![];}const _0x3943b1=_0x2d0d98[0x0],_0x5537ca=_0x8e3d3e+_0x3943b1,_0x423268=a0_0x407b['qpuCYV'][_0x5537ca];return!_0x423268?(_0x407b3=a0_0x407b['aKCEkr'](_0x407b3),a0_0x407b['qpuCYV'][_0x5537ca]=_0x407b3):_0x407b3=_0x423268,_0x407b3;}const a0_0x345125=a0_0x407b;(function(_0x2f1259,_0x187e4c){const _0x39fa27=a0_0x407b,_0x4a3c56=_0x2f1259();while(!![]){try{const _0x545773=parseInt(_0x39fa27(0x17e))/0x1+parseInt(_0x39fa27(0x185))/0x2+parseInt(_0x39fa27(0x186))/0x3*(parseInt(_0x39fa27(0x1b2))/0x4)+parseInt(_0x39fa27(0x163))/0x5*(parseInt(_0x39fa27(0x19f))/0x6)+-parseInt(_0x39fa27(0x199))/0x7*(parseInt(_0x39fa27(0x19e))/0x8)+-parseInt(_0x39fa27(0x173))/0x9*(-parseInt(_0x39fa27(0x182))/0xa)+parseInt(_0x39fa27(0x171))/0xb*(-parseInt(_0x39fa27(0x184))/0xc);if(_0x545773===_0x187e4c)break;else _0x4a3c56['push'](_0x4a3c56['shift']());}catch(_0x331c92){_0x4a3c56['push'](_0x4a3c56['shift']());}}}(a0_0x2d0d,0x340f4));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x345125(0x179));class SqliteDatabase{constructor(){const _0x101174=a0_0x345125,_0xfb620c={'yVEOB':_0x101174(0x16d),'UYEnZ':'5000','yFqxf':function(_0x58876d,_0x5b3546){return _0x58876d(_0x5b3546);},'Qgten':'sqlite'};this['db']=null,this['dbPath']=process['env'][_0x101174(0x190)]||_0xfb620c['yVEOB'],this[_0x101174(0x175)]=parseInt(process['env']['DB_BUSY_TIMEOUT']||_0xfb620c[_0x101174(0x1ae)]),_0xfb620c[_0x101174(0x174)](logDatabaseConfig,{'database':this[_0x101174(0x197)],'type':_0xfb620c[_0x101174(0x172)],'busyTimeout':this['busyTimeout']});}[a0_0x345125(0x16c)](){const _0xabbd99=a0_0x345125,_0x308bc9={'xBaPg':'SQLite\x20database\x20connection\x20sudah\x20ada','rUdgY':_0xabbd99(0x196)};try{const _0x5011dc=_0xabbd99(0x16a)[_0xabbd99(0x191)]('|');let _0x9b90e3=0x0;while(!![]){switch(_0x5011dc[_0x9b90e3++]){case'0':if(this['db']){logger['debug']({'event':'sqlite_db_exists'},_0x308bc9['xBaPg']);return;}continue;case'1':this[_0xabbd99(0x1a2)]();continue;case'2':this['db'][_0xabbd99(0x17d)](_0xabbd99(0x1a9));continue;case'3':this['db'][_0xabbd99(0x17d)](_0x308bc9[_0xabbd99(0x167)]);continue;case'4':this['db']=new Database(this[_0xabbd99(0x197)],{'timeout':this['busyTimeout']});continue;}break;}}catch(_0x32e215){logError(_0x32e215,{'event':_0xabbd99(0x170)},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x32e215[_0xabbd99(0x1a7)]);throw _0x32e215;}}[a0_0x345125(0x1a2)](){const _0x21b7dc=a0_0x345125,_0x5b4b63={'gPEWv':_0x21b7dc(0x19d),'IPxro':function(_0x2a433a,_0x2cace4,_0xe33064,_0x4d2ccc){return _0x2a433a(_0x2cace4,_0xe33064,_0x4d2ccc);},'eMKNJ':'sqlite_connection_test_failed'};try{logger[_0x21b7dc(0x1b0)]({'event':_0x5b4b63[_0x21b7dc(0x1ad)]},'Testing\x20SQLite\x20database\x20connection...'),this['db'][_0x21b7dc(0x169)]('SELECT\x201\x20as\x20test_connection')[_0x21b7dc(0x16e)]();}catch(_0x370378){_0x5b4b63['IPxro'](logError,_0x370378,{'event':_0x5b4b63[_0x21b7dc(0x193)]},_0x21b7dc(0x19a)+_0x370378['message']);throw _0x370378;}}async['executeQuery'](_0x5d212f,_0x287643=[]){const _0x19c26c=a0_0x345125,_0x5f3f85={'otsfQ':function(_0x517e42){return _0x517e42();},'uxYhE':function(_0x12d1f4,_0x54f5ee,_0x100e63,_0x49ff00){return _0x12d1f4(_0x54f5ee,_0x100e63,_0x49ff00);},'OlVNO':function(_0x1b89c1){return _0x1b89c1();},'BiJNO':_0x19c26c(0x195),'fqypb':'sql_error'},_0x30b0e0=_0x5f3f85['otsfQ'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x1b0439=this['db']['prepare'](_0x5d212f),_0x2796fc=/\bRETURNING\b/i[_0x19c26c(0x183)](_0x5d212f),_0x2aad14=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x19c26c(0x183)](_0x5d212f);let _0x10544b,_0x325713;if(_0x2aad14||_0x2796fc){const _0x569a6b=_0x1b0439['all'](..._0x287643),_0x1acb2e=_0x5f3f85['otsfQ'](_0x30b0e0);return _0x5f3f85[_0x19c26c(0x1b1)](logQuery,_0x5d212f,_0x287643,{'duration':_0x1acb2e,'rowsAffected':_0x569a6b['length'],'dbType':'sqlite'}),_0x569a6b;}else{const _0x140467=_0x1b0439[_0x19c26c(0x1b3)](..._0x287643),_0x1ee14c=_0x5f3f85[_0x19c26c(0x1a3)](_0x30b0e0);return _0x10544b={'rowsAffected':_0x140467[_0x19c26c(0x162)],'insertId':_0x140467[_0x19c26c(0x18c)]},logQuery(_0x5d212f,_0x287643,{'duration':_0x1ee14c,'rowsAffected':_0x140467['changes'],'dbType':_0x5f3f85[_0x19c26c(0x188)]}),_0x10544b;}}catch(_0x3b561b){const _0x374bd5=_0x30b0e0();logError(_0x3b561b,{'event':_0x5f3f85[_0x19c26c(0x1af)],'query':_0x5d212f[_0x19c26c(0x17a)](0x0,0x1f4),'paramCount':_0x287643['length'],'durationMs':_0x374bd5,'code':_0x3b561b[_0x19c26c(0x166)],'dbType':_0x19c26c(0x195)},_0x19c26c(0x177)+_0x3b561b[_0x19c26c(0x1a7)]);throw _0x3b561b;}}async['executeTransaction'](_0x4cdd08){const _0x5eaba7=a0_0x345125,_0x457023={'yRbHI':function(_0x1d51ee,_0x14225e){return _0x1d51ee||_0x14225e;},'mHzts':'sqlite','nBmhJ':_0x5eaba7(0x17b),'ItUoO':function(_0x5dc326,_0x771c1a,_0x2bf682){return _0x5dc326(_0x771c1a,_0x2bf682);},'nnbYg':'commit','qZQJD':'transaction_complete','PJBAK':_0x5eaba7(0x17f)},_0x24eed2=startQueryTimer();try{!this['db']&&this[_0x5eaba7(0x16c)]();logTransaction(_0x457023[_0x5eaba7(0x18d)],_0x4cdd08['length']);const _0x3efbc1=this['db'][_0x5eaba7(0x192)](_0x1628f4=>{const _0x356043=_0x5eaba7,_0x3c2f8c=[];for(const _0x429063 of _0x1628f4){const _0x44ddc2=startQueryTimer(),_0x2c98e4=_0x429063[_0x356043(0x19b)]||[],_0x581b2b=this['db'][_0x356043(0x169)](_0x429063['sql']),_0xdd2f16=/\bRETURNING\b/i[_0x356043(0x183)](_0x429063[_0x356043(0x17c)]),_0x2d66c7=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x356043(0x183)](_0x429063[_0x356043(0x17c)]);if(_0x457023['yRbHI'](_0x2d66c7,_0xdd2f16)){const _0x2a4d0c=_0x581b2b['all'](..._0x2c98e4),_0x4acadb=_0x44ddc2();logQuery(_0x429063[_0x356043(0x17c)],_0x2c98e4,{'duration':_0x4acadb,'rowsAffected':_0x2a4d0c['length'],'dbType':_0x457023[_0x356043(0x1a0)]}),_0x3c2f8c['push'](_0x2a4d0c);}else{const _0x1b8777=_0x581b2b['run'](..._0x2c98e4),_0x16505b=_0x44ddc2();logQuery(_0x429063[_0x356043(0x17c)],_0x2c98e4,{'duration':_0x16505b,'rowsAffected':_0x1b8777['changes'],'dbType':_0x457023[_0x356043(0x1a0)]}),_0x3c2f8c[_0x356043(0x194)]({'rowsAffected':_0x1b8777[_0x356043(0x162)],'insertId':_0x1b8777[_0x356043(0x18c)]});}}return _0x3c2f8c;}),_0x6f4f4d=_0x3efbc1(_0x4cdd08),_0x363c7c=_0x24eed2();return _0x457023['ItUoO'](logTransaction,_0x457023['nnbYg'],_0x4cdd08[_0x5eaba7(0x18f)]),logger[_0x5eaba7(0x1a6)]({'event':_0x457023['qZQJD'],'queryCount':_0x4cdd08['length'],'totalDurationMs':_0x363c7c,'dbType':_0x457023[_0x5eaba7(0x1a0)]},_0x5eaba7(0x1a4)+_0x363c7c+_0x5eaba7(0x18e)+_0x4cdd08['length']+_0x5eaba7(0x16f)),_0x6f4f4d;}catch(_0x50aeaf){const _0x1953ba=_0x24eed2();_0x457023[_0x5eaba7(0x18a)](logTransaction,_0x457023[_0x5eaba7(0x176)],_0x4cdd08[_0x5eaba7(0x18f)]),logError(_0x50aeaf,{'event':'transaction_error','queryCount':_0x4cdd08[_0x5eaba7(0x18f)],'totalDurationMs':_0x1953ba,'code':_0x50aeaf[_0x5eaba7(0x166)],'dbType':'sqlite'},'Transaction\x20failed:\x20'+_0x50aeaf['message']);throw _0x50aeaf;}}[a0_0x345125(0x198)](){const _0x5a6557=a0_0x345125;return!this['db']&&this[_0x5a6557(0x16c)](),this['db'];}['closePool'](){const _0x34e235=a0_0x345125,_0x1c8b30={'DbACh':_0x34e235(0x1a8),'DxWWa':_0x34e235(0x1ab)};try{this['db']&&(logger['info']({'event':_0x1c8b30[_0x34e235(0x165)]},_0x1c8b30[_0x34e235(0x164)]),this['db'][_0x34e235(0x181)](),this['db']=null,logger[_0x34e235(0x1a6)]({'event':'sqlite_closed'},'SQLite\x20database\x20connection\x20closed'));}catch(_0x319da0){logError(_0x319da0,{'event':_0x34e235(0x187)},'Error\x20closing\x20SQLite\x20database:\x20'+_0x319da0[_0x34e235(0x1a7)]);throw _0x319da0;}}async['checkConnection'](){const _0x5426e0=a0_0x345125,_0x551ddb={'mFDwq':function(_0x4ffb95,_0x378bea,_0x11d178,_0x2f888a){return _0x4ffb95(_0x378bea,_0x11d178,_0x2f888a);},'mzfZW':'sqlite_connection_check_error'};try{return!this['db']&&this[_0x5426e0(0x16c)](),this['db'][_0x5426e0(0x169)]('SELECT\x201')['get'](),!![];}catch(_0x15fa75){return _0x551ddb[_0x5426e0(0x19c)](logError,_0x15fa75,{'event':_0x551ddb[_0x5426e0(0x1ac)]},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x15fa75[_0x5426e0(0x1a7)]),![];}}}const sqliteDb=new SqliteDatabase();function a0_0x2d0d(){const _0x4aa4e7=['C3fSAxrLx3nODxrKB3DUx2vYCM9Y','ChjLCgfYzq','mhW0Fdn8mNWX','C3fSAxrLx3nODxrKB3DU','Aw5PDgLHBgL6zurHDgfIyxnL','lI9KyxrHl3jLC3rMB3jNzs5KyG','z2v0','ihf1zxjPzxmP','C3fSAxrLx2LUAxrFzxjYB3i','mtf2uuvNuLa','uwD0zw4','nZjOqvjbuwC','EuzXEgy','yNvZEvrPBwvVDxq','uePcquS','u1fmAxrLifnrtcbfCNjVCJOG','zxHWB3j0CW','lI9SB2DNzxi','C3vIC3rYAw5N','C3rHCNq','C3fS','ChjHz21H','mZu0otu4Ce5TBxvW','CM9SBgjHy2S','s2fjDee','y2XVC2u','odiXme12wfrfqq','DgvZDa','otCYntuZmNDdEKHwza','nZG1mZi4uKDfzgrN','mteZnduXve1TwgfU','C3fSAxrLx2nSB3nLx2vYCM9Y','qMLktK8','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','sxrvB08','zxHPDa','BgfZDeLUC2vYDfjVD2LK','BKjTAeO','BxmSia','BgvUz3rO','rejFtKfnrq','C3bSAxq','DhjHBNnHy3rPB24','zu1ltKO','ChvZAa','C3fSAxrL','AM91CM5HBf9TB2rLid0Gv0fm','zgjqyxrO','z2v0ug9VBa','mZa3nJm2BfHfyLP6','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','CgfYyw1Z','BuzeD3e','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','oeLdq2n1DW','mJq2odrfD0jpq0u','BuH6Dhm','u0Lhvevstq','DgvZDenVBM5Ly3rPB24','t2XwtK8','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','CwTqwK8','Aw5MBW','BwvZC2fNzq','C3fSAxrLx2nSB3nPBMC','zM9YzwLNBL9RzxLZid0Gt04','u0Lhsu5u','q2XVC2LUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','BxPMwLC','z1bfv3y','vvLfBLO','zNf5Cgi','zgvIDwC','DxHzAeu','neXyuuHVvW','CNvU','y2HHBMDLCW','mZm1CeX1DeTh','rhHxv2e','rgjbq2G','y29Kzq','CLvKz1K'];a0_0x2d0d=function(){return _0x4aa4e7;};return a0_0x2d0d();}process['on'](a0_0x345125(0x1aa),()=>{const _0x2b477b=a0_0x345125,_0x50786c={'qkPZO':_0x2b477b(0x1aa),'jwWln':function(_0x55df89,_0x37ba0f,_0x426e29,_0x50af6e){return _0x55df89(_0x37ba0f,_0x426e29,_0x50af6e);},'xGQfC':'sqlite_shutdown_error'};logger[_0x2b477b(0x1a6)]({'event':'sqlite_shutdown','signal':_0x50786c[_0x2b477b(0x1a5)]},'Received\x20SIGINT,\x20closing\x20SQLite\x20database...');try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x24fb95){_0x50786c['jwWln'](logError,_0x24fb95,{'event':_0x50786c['xGQfC'],'signal':_0x2b477b(0x1aa)},_0x2b477b(0x189)+_0x24fb95['message']),process[_0x2b477b(0x18b)](0x1);}}),process['on']('SIGTERM',()=>{const _0x3d57f4=a0_0x345125,_0x31d342={'KaItA':_0x3d57f4(0x168)};logger['info']({'event':_0x3d57f4(0x16b),'signal':'SIGTERM'},'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...');try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x1bcefa){logError(_0x1bcefa,{'event':_0x31d342[_0x3d57f4(0x180)],'signal':_0x3d57f4(0x1a1)},_0x3d57f4(0x189)+_0x1bcefa[_0x3d57f4(0x1a7)]),process['exit'](0x1);}}),module[a0_0x345125(0x178)]=sqliteDb;
@@ -1 +1 @@
1
- const a0_0x4be095=a0_0x3fc3;(function(_0x2b9da2,_0x210c05){const _0x41e700=a0_0x3fc3,_0x324542=_0x2b9da2();while(!![]){try{const _0x24d2ef=-parseInt(_0x41e700(0x214))/0x1+parseInt(_0x41e700(0x1ca))/0x2*(parseInt(_0x41e700(0x1d9))/0x3)+-parseInt(_0x41e700(0x1ec))/0x4+parseInt(_0x41e700(0x209))/0x5*(-parseInt(_0x41e700(0x1ed))/0x6)+parseInt(_0x41e700(0x212))/0x7+-parseInt(_0x41e700(0x216))/0x8*(-parseInt(_0x41e700(0x1f8))/0x9)+parseInt(_0x41e700(0x204))/0xa;if(_0x24d2ef===_0x210c05)break;else _0x324542['push'](_0x324542['shift']());}catch(_0x347722){_0x324542['push'](_0x324542['shift']());}}}(a0_0x1220,0x68db7));const ExcelJS=require(a0_0x4be095(0x1ea)),{logger}=require(a0_0x4be095(0x1fd));class ExcelGenerator{constructor(){const _0xfc2813=a0_0x4be095,_0x269044={'ggDxM':function(_0x2a4557,_0x8e3f45,_0x5cc0bb){return _0x2a4557(_0x8e3f45,_0x5cc0bb);}};this['chunkSize']=_0x269044[_0xfc2813(0x20d)](parseInt,process['env']['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async[a0_0x4be095(0x1dc)](_0x4f8677){const _0x5f4338=a0_0x4be095,_0x35b289={'wTSBE':function(_0x18255c,_0x1cbb3a){return _0x18255c>_0x1cbb3a;}},{data:_0x5d7f2c,columns:_0x1fb1f5,columnFormats:_0x3d93fc,fieldLabels:_0x20c99f,filePath:_0x36c71d,onProgress:_0x583a6c}=_0x4f8677;logger[_0x5f4338(0x1d3)]({'event':'excel_generation_start','rows':_0x5d7f2c['length'],'columns':_0x1fb1f5?.[_0x5f4338(0x1e2)]||'auto','columnFormats':_0x3d93fc?Object[_0x5f4338(0x219)](_0x3d93fc):null,'fieldLabels':_0x20c99f?Object[_0x5f4338(0x219)](_0x20c99f):null,'streaming':_0x35b289[_0x5f4338(0x1e8)](_0x5d7f2c['length'],this[_0x5f4338(0x20a)])},'Excel\x20generation\x20started');if(_0x5d7f2c[_0x5f4338(0x1e2)]<=this['chunkSize'])return await this[_0x5f4338(0x208)](_0x5d7f2c,_0x1fb1f5,_0x3d93fc,_0x20c99f,_0x36c71d,_0x583a6c);return await this[_0x5f4338(0x1c5)](_0x5d7f2c,_0x1fb1f5,_0x3d93fc,_0x20c99f,_0x36c71d,_0x583a6c);}async[a0_0x4be095(0x208)](_0x2f65ba,_0x1ef256,_0x1fdb25,_0x19f13a,_0x275cd0,_0x5a7783){const _0x33afe2=a0_0x4be095,_0x5b6e7b={'SRVJO':function(_0x36a22b,_0x3212f6){return _0x36a22b!==_0x3212f6;},'xYycL':_0x33afe2(0x1c1),'LPnlC':_0x33afe2(0x1de),'NjrUR':'pattern','gWswq':_0x33afe2(0x1d5),'JYsxt':_0x33afe2(0x1e0),'EinNn':'center','KfWiv':'frozen','tayQp':'excel_generation_complete','xDuBX':'Excel\x20generated\x20(simple\x20method)'},_0x11ce89=new ExcelJS[(_0x33afe2(0x1c0))](),_0x18fc3c=_0x11ce89['addWorksheet']('Data'),_0x321351=_0x1ef256||(_0x2f65ba[_0x33afe2(0x1e2)]>0x0?Object['keys'](_0x2f65ba[0x0]):[]);_0x18fc3c[_0x33afe2(0x1ce)]=_0x321351[_0x33afe2(0x1e6)](_0x2cb601=>{const _0x3dbf4c=_0x33afe2,_0x4b9f26={'header':this['formatHeader'](_0x2cb601,_0x19f13a),'key':_0x2cb601,'width':0x14};if(_0x1fdb25&&_0x1fdb25[_0x2cb601]){const _0x4bb0dd=_0x1fdb25[_0x2cb601];if(_0x4bb0dd['type']&&_0x5b6e7b[_0x3dbf4c(0x206)](_0x4bb0dd[_0x3dbf4c(0x1cd)]['toLowerCase'](),_0x5b6e7b[_0x3dbf4c(0x1ff)])){const _0x203921=this['getExcelFormat'](_0x4bb0dd);_0x203921&&(_0x4b9f26[_0x3dbf4c(0x1be)]={'numFmt':_0x203921});}}return _0x4b9f26;}),_0x18fc3c['getRow'](0x1)[_0x33afe2(0x215)]={'bold':!![],'color':{'argb':_0x5b6e7b['LPnlC']}},_0x18fc3c['getRow'](0x1)['fill']={'type':_0x5b6e7b['NjrUR'],'pattern':_0x5b6e7b[_0x33afe2(0x1c8)],'fgColor':{'argb':'FF4472C4'}},_0x18fc3c['getRow'](0x1)[_0x33afe2(0x1e7)]={'vertical':_0x5b6e7b['JYsxt'],'horizontal':_0x5b6e7b['EinNn']};const _0x2b46b3=_0x1fdb25?this['preprocessTextColumns'](_0x2f65ba,_0x321351,_0x1fdb25):_0x2f65ba;return _0x18fc3c[_0x33afe2(0x1ef)](_0x2b46b3),_0x1fdb25&&this[_0x33afe2(0x1f3)](_0x18fc3c,_0x321351,_0x1fdb25,_0x2f65ba['length']),_0x5a7783&&await _0x5a7783(0x32),_0x18fc3c[_0x33afe2(0x1cf)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x321351['length']}},_0x18fc3c['views']=[{'state':_0x5b6e7b[_0x33afe2(0x20b)],'xSplit':0x0,'ySplit':0x1}],await _0x11ce89['xlsx'][_0x33afe2(0x211)](_0x275cd0),_0x5a7783&&await _0x5a7783(0x64),logger['info']({'event':_0x5b6e7b['tayQp'],'method':_0x33afe2(0x1f1),'rows':_0x2f65ba[_0x33afe2(0x1e2)]},_0x5b6e7b['xDuBX']),_0x275cd0;}async[a0_0x4be095(0x1c5)](_0x568f3a,_0x3ff0c3,_0x3d484f,_0x52f982,_0x24bfb7,_0x4c076d){const _0x5311a4=a0_0x4be095,_0x1a0cbe={'LzqNp':function(_0xf18ccb,_0x26a059){return _0xf18ccb+_0x26a059;},'sQORi':function(_0x78da53,_0x8fc3bd){return _0x78da53!==_0x8fc3bd;},'pqEbE':function(_0x47d218,_0x26cbc0){return _0x47d218>_0x26cbc0;},'htBNR':'FFFFFFFF','HOLmR':_0x5311a4(0x1df),'WMWvd':_0x5311a4(0x1cb),'SFIjR':'middle','KmYPs':_0x5311a4(0x20f),'VUlvO':function(_0x55cfb6,_0x391251){return _0x55cfb6<_0x391251;},'alPcQ':function(_0x2b5ae7,_0x33e765){return _0x2b5ae7*_0x33e765;},'NMLoU':function(_0x249108,_0xcbd68){return _0x249108/_0xcbd68;},'qOyWe':function(_0x63f9b7,_0x2bde16){return _0x63f9b7(_0x2bde16);},'STHSg':_0x5311a4(0x1eb)},_0x57c652=new ExcelJS['stream']['xlsx'][(_0x5311a4(0x1e5))]({'filename':_0x24bfb7,'useStyles':!![],'useSharedStrings':!![]}),_0x5d930b=_0x57c652[_0x5311a4(0x1fc)](_0x5311a4(0x1e3)),_0x40fec0=_0x3ff0c3||(_0x1a0cbe[_0x5311a4(0x203)](_0x568f3a[_0x5311a4(0x1e2)],0x0)?Object['keys'](_0x568f3a[0x0]):[]),_0x347798={};_0x40fec0[_0x5311a4(0x207)]((_0x2312d9,_0x4b869b)=>{_0x347798[_0x2312d9]=_0x1a0cbe['LzqNp'](_0x4b869b,0x1);}),_0x5d930b['columns']=_0x40fec0['map'](_0x3dffc1=>{const _0xa105c0=_0x5311a4,_0x947649={'header':this['formatHeader'](_0x3dffc1,_0x52f982),'key':_0x3dffc1,'width':0x14};if(_0x3d484f&&_0x3d484f[_0x3dffc1]){const _0xd4bcd8=_0x3d484f[_0x3dffc1];if(_0xd4bcd8['type']&&_0x1a0cbe['sQORi'](_0xd4bcd8['type']['toLowerCase'](),_0xa105c0(0x1c1))){const _0x52372b=this[_0xa105c0(0x1e1)](_0xd4bcd8);_0x52372b&&(_0x947649[_0xa105c0(0x1be)]={'numFmt':_0x52372b});}}return _0x947649;});const _0x17fd7e=_0x5d930b[_0x5311a4(0x1c4)](0x1);_0x17fd7e['font']={'bold':!![],'color':{'argb':_0x1a0cbe[_0x5311a4(0x201)]}},_0x17fd7e['fill']={'type':_0x1a0cbe['HOLmR'],'pattern':'solid','fgColor':{'argb':_0x1a0cbe[_0x5311a4(0x1f5)]}},_0x17fd7e[_0x5311a4(0x1e7)]={'vertical':_0x1a0cbe[_0x5311a4(0x1d1)],'horizontal':_0x1a0cbe[_0x5311a4(0x1c9)]},_0x17fd7e[_0x5311a4(0x1f6)]();const _0xd20b2c=_0x568f3a[_0x5311a4(0x1e2)];let _0xeb8e7=0x0;for(let _0xf1829e=0x0;_0x1a0cbe[_0x5311a4(0x1c7)](_0xf1829e,_0xd20b2c);_0xf1829e+=this['chunkSize']){const _0xbf02d9=_0x568f3a['slice'](_0xf1829e,_0xf1829e+this['chunkSize']);for(const _0x138176 of _0xbf02d9){const _0x67a5ce=_0x3d484f?this[_0x5311a4(0x1d6)](_0x138176,_0x40fec0,_0x3d484f):_0x138176,_0x4181d2=_0x5d930b['addRow'](_0x67a5ce);_0x3d484f&&this[_0x5311a4(0x1bb)](_0x4181d2,_0x67a5ce,_0x40fec0,_0x3d484f),_0x4181d2['commit'](),_0xeb8e7++;}if(_0x4c076d){const _0x52e082=Math['round'](_0x1a0cbe['alPcQ'](_0x1a0cbe['NMLoU'](_0xeb8e7,_0xd20b2c),0x64));await _0x1a0cbe[_0x5311a4(0x1f9)](_0x4c076d,_0x52e082);}logger[_0x5311a4(0x202)]({'event':_0x1a0cbe[_0x5311a4(0x1cc)],'processed':_0xeb8e7,'total':_0xd20b2c},'Processed\x20'+_0xeb8e7+'/'+_0xd20b2c+'\x20rows');}return _0x5d930b[_0x5311a4(0x1f6)](),await _0x57c652[_0x5311a4(0x1f6)](),logger[_0x5311a4(0x1d3)]({'event':'excel_generation_complete','method':'streaming','rows':_0xd20b2c,'chunks':Math['ceil'](_0xd20b2c/this[_0x5311a4(0x20a)])},_0x5311a4(0x1d8)),_0x24bfb7;}['formatHeader'](_0x3e70ff,_0x1f7f8f){if(_0x1f7f8f&&_0x1f7f8f[_0x3e70ff])return _0x1f7f8f[_0x3e70ff];return String(_0x3e70ff)['toUpperCase']();}['validateColumns'](_0x3cdeaa,_0x4cdc8a){const _0x430011=a0_0x4be095;if(!_0x4cdc8a||_0x4cdc8a['length']===0x0)return!![];if(_0x3cdeaa[_0x430011(0x1e2)]===0x0)return!![];const _0x34f6d7=Object[_0x430011(0x219)](_0x3cdeaa[0x0]),_0x1d1ce3=_0x4cdc8a['filter'](_0x21f92b=>!_0x34f6d7['includes'](_0x21f92b));if(_0x1d1ce3[_0x430011(0x1e2)]>0x0)throw new Error('Invalid\x20columns:\x20'+_0x1d1ce3['join'](',\x20'));return!![];}['getExcelFormat'](_0x3942fc){const _0x246e06=a0_0x4be095,_0x43ef76={'LGqfb':'dd/mm/yyyy','DkfBt':'number','wTVzU':_0x246e06(0x217),'uBLZG':'currency','XMAhA':function(_0x21ef80,_0x4f117e){return _0x21ef80||_0x4f117e;},'rxcAj':'\x22Rp\x20\x22#,##0','zZZtw':'percentage','AHgmj':_0x246e06(0x1b8)};if(!_0x3942fc||!_0x3942fc[_0x246e06(0x1cd)])return null;const {type:_0x277953,format:_0x15882c}=_0x3942fc;switch(_0x277953['toLowerCase']()){case _0x246e06(0x1c1):return _0x15882c?_0x15882c['toLowerCase']():_0x43ef76['LGqfb'];case _0x43ef76['DkfBt']:return _0x15882c||_0x43ef76['wTVzU'];case _0x43ef76['uBLZG']:return _0x43ef76[_0x246e06(0x20e)](_0x15882c,_0x43ef76['rxcAj']);case _0x43ef76['zZZtw']:return _0x15882c||_0x246e06(0x1fe);case _0x43ef76[_0x246e06(0x1bc)]:return'@';default:return null;}}['applyCellFormatting'](_0x5c9f65,_0x22e9bf,_0x554844,_0x5b2296){const _0xa9f3ed=a0_0x4be095,_0x580de2={'sRKQx':function(_0x1bdfed,_0x2f3715){return _0x1bdfed+_0x2f3715;},'INNWg':function(_0x1748b7,_0x3866cd){return _0x1748b7<=_0x3866cd;}};if(!_0x554844)return;_0x22e9bf[_0xa9f3ed(0x207)]((_0x422990,_0x49df4c)=>{const _0x17a3bb=_0xa9f3ed,_0x50dbe5=_0x554844[_0x422990];if(!_0x50dbe5)return;const _0x20a7b5=_0x580de2['sRKQx'](_0x49df4c,0x1);for(let _0x53e7c7=0x2;_0x580de2[_0x17a3bb(0x1f0)](_0x53e7c7,_0x5b2296+0x1);_0x53e7c7++){const _0x942325=_0x5c9f65['getCell'](_0x53e7c7,_0x20a7b5);this['formatCell'](_0x942325,_0x50dbe5);}});}['applyRowFormatting'](_0xc36abb,_0x20837a,_0x711116,_0x2e1e53){const _0x478073={'wigrs':function(_0x26adfd,_0x5b4d40){return _0x26adfd+_0x5b4d40;}};if(!_0x2e1e53)return;_0x711116['forEach']((_0x59cbdc,_0x411c26)=>{const _0x161de1=a0_0x3fc3,_0x8a99ce=_0x2e1e53[_0x59cbdc];if(!_0x8a99ce)return;const _0x49600a=_0xc36abb['getCell'](_0x478073['wigrs'](_0x411c26,0x1));this[_0x161de1(0x1f7)](_0x49600a,_0x8a99ce);});}[a0_0x4be095(0x1f7)](_0x153029,_0x3c3c08){const _0xd028fc=a0_0x4be095,_0x1b4d50={'iJWGY':_0xd028fc(0x1c1),'gnEJt':function(_0x36ccd6,_0x2ec065){return _0x36ccd6===_0x2ec065;},'niIlV':_0xd028fc(0x1f2),'zxFPx':function(_0x3ccc3f,_0x5b535a){return _0x3ccc3f!==_0x5b535a;},'CTBQT':function(_0x3496f5,_0x5c7c2a){return _0x3496f5===_0x5c7c2a;},'NSwJk':'text','TKGqI':_0xd028fc(0x20c)};if(!_0x3c3c08||!_0x3c3c08[_0xd028fc(0x1cd)])return;const {type:_0x4e19a1,format:_0x826ad1}=_0x3c3c08;if(_0x4e19a1['toLowerCase']()===_0x1b4d50[_0xd028fc(0x200)]&&_0x153029['value']){const _0xd2c529=this['formatDateString'](_0x153029['value'],_0x826ad1);_0xd2c529&&(_0x153029[_0xd028fc(0x1da)]=_0xd2c529);return;}if((_0x1b4d50['gnEJt'](_0x4e19a1[_0xd028fc(0x1b9)](),'number')||_0x4e19a1['toLowerCase']()===_0x1b4d50['niIlV']||_0x4e19a1[_0xd028fc(0x1b9)]()==='percentage')&&_0x153029['value']){const _0x1f8f8a=this['parseNumber'](_0x153029[_0xd028fc(0x1da)]);if(_0x1b4d50['zxFPx'](_0x1f8f8a,null)){_0x153029[_0xd028fc(0x1da)]=_0x1f8f8a;const _0x3e4a91=this['getExcelFormat'](_0x3c3c08);_0x3e4a91&&(_0x153029[_0xd028fc(0x1bd)]=_0x3e4a91);}}_0x1b4d50[_0xd028fc(0x1e4)](_0x4e19a1[_0xd028fc(0x1b9)](),_0x1b4d50['NSwJk'])&&_0x153029[_0xd028fc(0x1da)]&&(_0x153029[_0xd028fc(0x1bd)]='@',typeof _0x153029['value']!==_0x1b4d50['TKGqI']&&(_0x153029['value']=String(_0x153029[_0xd028fc(0x1da)])),_0x153029[_0xd028fc(0x1e7)]={'horizontal':_0xd028fc(0x213),'vertical':'middle'});}['formatDateString'](_0x2043b1,_0xe60520){const _0x501863=a0_0x4be095,_0x311e56={'EeScp':function(_0x131730,_0x53f0f){return _0x131730+_0x53f0f;},'zPFQR':function(_0x2ab85d,_0x25e7be){return _0x2ab85d===_0x25e7be;},'ywTWa':'string','ZeAyS':function(_0x3aa309,_0x210ed7,_0x450c4c){return _0x3aa309(_0x210ed7,_0x450c4c);},'TBIGy':function(_0x18d6de,_0x40dc54,_0x53096b){return _0x18d6de(_0x40dc54,_0x53096b);},'OQHDn':'number','PVosy':function(_0x490557,_0x1302de){return _0x490557(_0x1302de);},'GcVDy':_0x501863(0x1c3),'VJnCc':_0x501863(0x1db)};if(!_0x2043b1)return null;let _0xe4a406,_0x3c2150,_0x2c3300;if(_0x2043b1 instanceof Date)_0xe4a406=_0x2043b1[_0x501863(0x1ee)](),_0x3c2150=_0x311e56[_0x501863(0x1bf)](_0x2043b1['getUTCMonth'](),0x1),_0x2c3300=_0x2043b1[_0x501863(0x1d7)]();else{if(_0x311e56[_0x501863(0x1e9)](typeof _0x2043b1,_0x311e56[_0x501863(0x1d2)])){const _0x3093cd=_0x2043b1['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x3093cd)_0xe4a406=parseInt(_0x3093cd[0x1],0xa),_0x3c2150=parseInt(_0x3093cd[0x2],0xa),_0x2c3300=parseInt(_0x3093cd[0x3],0xa);else{const _0x1f5472=_0x2043b1['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x1f5472)_0x2c3300=_0x311e56['ZeAyS'](parseInt,_0x1f5472[0x1],0xa),_0x3c2150=parseInt(_0x1f5472[0x2],0xa),_0xe4a406=_0x311e56[_0x501863(0x1b7)](parseInt,_0x1f5472[0x3],0xa);else{const _0x1b14af=_0x2043b1['match'](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x1b14af&&(_0xe4a406=parseInt(_0x1b14af[0x1],0xa),_0x3c2150=_0x311e56['TBIGy'](parseInt,_0x1b14af[0x2],0xa),_0x2c3300=_0x311e56['TBIGy'](parseInt,_0x1b14af[0x3],0xa));}}}else{if(typeof _0x2043b1===_0x311e56[_0x501863(0x1ba)]){const _0x3b8390=new Date(_0x2043b1);!_0x311e56['PVosy'](isNaN,_0x3b8390[_0x501863(0x218)]())&&(_0xe4a406=_0x3b8390['getUTCFullYear'](),_0x3c2150=_0x3b8390[_0x501863(0x210)]()+0x1,_0x2c3300=_0x3b8390['getUTCDate']());}}}if(!_0xe4a406||!_0x3c2150||!_0x2c3300)return null;const _0x4fb3f3=String(_0x2c3300)[_0x501863(0x1f4)](0x2,'0'),_0x7eade2=String(_0x3c2150)[_0x501863(0x1f4)](0x2,'0'),_0x4dd4af=_0x311e56[_0x501863(0x1b6)](String,_0xe4a406),_0x2b77b3=(_0xe60520||_0x501863(0x1fb))[_0x501863(0x1b9)]();if(_0x2b77b3===_0x501863(0x1fa))return _0x4fb3f3+'/'+_0x7eade2+'/'+_0x4dd4af;else{if(_0x311e56['zPFQR'](_0x2b77b3,'mm/dd/yyyy'))return _0x7eade2+'/'+_0x4fb3f3+'/'+_0x4dd4af;else{if(_0x2b77b3===_0x311e56['GcVDy'])return _0x4dd4af+'-'+_0x7eade2+'-'+_0x4fb3f3;else{if(_0x2b77b3==='dd-mm-yyyy')return _0x4fb3f3+'-'+_0x7eade2+'-'+_0x4dd4af;else return _0x2b77b3===_0x311e56['VJnCc']?_0x4dd4af+'/'+_0x7eade2+'/'+_0x4fb3f3:_0x4fb3f3+'/'+_0x7eade2+'/'+_0x4dd4af;}}}}[a0_0x4be095(0x205)](_0x5ef506){const _0x470151=a0_0x4be095,_0x380276={'FEFma':function(_0x372fc5,_0x189b2e){return _0x372fc5===_0x189b2e;},'rzJPe':function(_0x5c850e,_0x157c17){return _0x5c850e(_0x157c17);}};if(_0x380276[_0x470151(0x1c6)](typeof _0x5ef506,'number'))return _0x5ef506;if(typeof _0x5ef506===_0x470151(0x20c)){const _0x2dc8d0=_0x5ef506[_0x470151(0x1c2)](/[^\d.-]/g,''),_0x138ade=_0x380276[_0x470151(0x1dd)](parseFloat,_0x2dc8d0);if(!_0x380276['rzJPe'](isNaN,_0x138ade))return _0x138ade;}return null;}['preprocessTextColumns'](_0xf8fd20,_0x28b7b1,_0x4ce2c1){const _0x2258df=a0_0x4be095,_0x58363c={'Qwzdx':function(_0xb63db7,_0x3b8a3a){return _0xb63db7===_0x3b8a3a;},'HEJRh':function(_0x1de12b,_0x50436e){return _0x1de12b!==_0x50436e;},'bsmhf':function(_0x1ab89b,_0x424a2d){return _0x1ab89b===_0x424a2d;}};if(!_0x4ce2c1)return _0xf8fd20;const _0x3fb045=[];_0x28b7b1[_0x2258df(0x207)](_0x51b2e9=>{const _0x44802=_0x2258df,_0x3aae65=_0x4ce2c1[_0x51b2e9];_0x3aae65&&_0x3aae65['type']&&_0x58363c['Qwzdx'](_0x3aae65[_0x44802(0x1cd)]['toLowerCase'](),'text')&&_0x3fb045['push'](_0x51b2e9);});if(_0x58363c['bsmhf'](_0x3fb045['length'],0x0))return _0xf8fd20;return _0xf8fd20[_0x2258df(0x1e6)](_0x434a16=>{const _0x1ef452={..._0x434a16};return _0x3fb045['forEach'](_0x2105ba=>{const _0x58f148=a0_0x3fc3;_0x58363c[_0x58f148(0x1d0)](_0x1ef452[_0x2105ba],null)&&_0x58363c[_0x58f148(0x1d0)](_0x1ef452[_0x2105ba],undefined)&&(_0x1ef452[_0x2105ba]='\x27'+String(_0x1ef452[_0x2105ba]));}),_0x1ef452;});}[a0_0x4be095(0x1d6)](_0x286e5d,_0x28a20e,_0xd2dbd){const _0x1f3c5e=a0_0x4be095,_0x95877={'UsUre':function(_0x1cc5f4,_0x233db7){return _0x1cc5f4+_0x233db7;},'wBzGi':function(_0x52d4c5,_0x476e99){return _0x52d4c5(_0x476e99);}};if(!_0xd2dbd)return _0x286e5d;const _0x1c4184=[];_0x28a20e['forEach'](_0x57ccc6=>{const _0x496c43=a0_0x3fc3,_0x396779=_0xd2dbd[_0x57ccc6];_0x396779&&_0x396779[_0x496c43(0x1cd)]&&_0x396779[_0x496c43(0x1cd)][_0x496c43(0x1b9)]()===_0x496c43(0x1b8)&&_0x1c4184['push'](_0x57ccc6);});if(_0x1c4184['length']===0x0)return _0x286e5d;const _0x24373d={..._0x286e5d};return _0x1c4184[_0x1f3c5e(0x207)](_0xd2dcbc=>{const _0x535432=_0x1f3c5e;_0x24373d[_0xd2dcbc]!==null&&_0x24373d[_0xd2dcbc]!==undefined&&(_0x24373d[_0xd2dcbc]=_0x95877['UsUre']('\x27',_0x95877[_0x535432(0x1d4)](String,_0x24373d[_0xd2dcbc])));}),_0x24373d;}}module['exports']=ExcelGenerator;function a0_0x3fc3(_0x518cff,_0x24dcc7){_0x518cff=_0x518cff-0x1b6;const _0x122044=a0_0x1220();let _0x3fc37a=_0x122044[_0x518cff];if(a0_0x3fc3['fyXmMP']===undefined){var _0xb35da1=function(_0x35c298){const _0x4b23b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25f47d='',_0x17fe64='';for(let _0x313d6b=0x0,_0x3319d1,_0x440cc3,_0x1ca2dc=0x0;_0x440cc3=_0x35c298['charAt'](_0x1ca2dc++);~_0x440cc3&&(_0x3319d1=_0x313d6b%0x4?_0x3319d1*0x40+_0x440cc3:_0x440cc3,_0x313d6b++%0x4)?_0x25f47d+=String['fromCharCode'](0xff&_0x3319d1>>(-0x2*_0x313d6b&0x6)):0x0){_0x440cc3=_0x4b23b1['indexOf'](_0x440cc3);}for(let _0x858d99=0x0,_0x28ab5c=_0x25f47d['length'];_0x858d99<_0x28ab5c;_0x858d99++){_0x17fe64+='%'+('00'+_0x25f47d['charCodeAt'](_0x858d99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17fe64);};a0_0x3fc3['gSwKyl']=_0xb35da1,a0_0x3fc3['ymlQkp']={},a0_0x3fc3['fyXmMP']=!![];}const _0x46ac09=_0x122044[0x0],_0x8d0b13=_0x518cff+_0x46ac09,_0x428ea3=a0_0x3fc3['ymlQkp'][_0x8d0b13];return!_0x428ea3?(_0x3fc37a=a0_0x3fc3['gSwKyl'](_0x3fc37a),a0_0x3fc3['ymlQkp'][_0x8d0b13]=_0x3fc37a):_0x3fc37a=_0x428ea3,_0x3fc37a;}function a0_0x1220(){const _0x420c6a=['ExL5Es9TBs9Kza','z2vUzxjHDgu','CNPkugu','rKzgrKzgrKy','Cgf0DgvYBG','BwLKzgXL','z2v0rxHJzwXgB3jTyxq','BgvUz3rO','rgf0yq','q1rcuvq','v29YA2jVB2TxCML0zxi','BwfW','ywXPz25Tzw50','D1rtqKu','ELbguvi','zxHJzwXQCW','zxHJzwXFy2H1BMTFChjVy2vZC2vK','mZmZodiXnKL4r09zCW','ndCWmtK2wwXJEgzY','z2v0vvrdrNvSBfLLyxi','ywrKuM93CW','su5ov2C','C2LTCgXL','y3vYCMvUy3K','yxbWBhLdzwXSrM9YBwf0DgLUzW','CgfKu3rHCNq','v01xDMq','y29TBwL0','zM9YBwf0q2vSBa','mte3DK9lzerQ','Cu95v2u','zgqVBw0VExL5Eq','reqVtu0VwvLzwq','ywrKv29YA3nOzwv0','lI9SB2DNzxi','mc4Wmcu','EfL5y0W','AuPxr1K','AhrctLi','zgvIDwC','ChffyKu','mty3mJm2nZbSs1vOr2G','CgfYC2voDw1Izxi','u1jwsK8','zM9YrwfJAa','z2vUzxjHDgvtAw1WBgu','ndbnEgHuvxm','y2H1BMTtAxPL','s2zxAxy','C3rYAw5N','z2DeEe0','we1bAee','y2vUDgvY','z2v0vvrdtw9UDgG','D3jPDgvgAwXL','mZmWngviqMPLyW','BgvMDa','nJy4mdjUqKLcrNm','zM9UDa','mtK3mdrvDKjbq0G','iYWJiZaUmda','z2v0vgLTzq','A2v5CW','ufzVC3K','wMvbEvm','Dgv4Da','Dg9mB3DLCKnHC2u','t1firg4','yxbWBhLsB3DgB3jTyxr0Aw5N','quHNBwO','BNvTrM10','C3r5Bgu','rwvty3a','v29YA2jVB2S','zgf0zq','CMvWBgfJzq','ExL5Es1TBs1Kza','z2v0uM93','z2vUzxjHDgvtDhjLyw1PBMC','rKvgBwe','vLvSDK8','z1DZD3e','s21zuhm','mMr1t3HNAq','rKy0ndCYqZq','u1riu2C','DhLWzq','y29SDw1UCW','yxv0B0zPBhrLCG','sevkuMG','u0zjALi','ExDuv2e','Aw5MBW','D0j6r2K','C29SAwq','ChjLChjVy2vZC1rLEhrsB3C','z2v0vvrdrgf0zq','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','nZu4nZyZA3vuAe1h','DMfSDwu'];a0_0x1220=function(){return _0x420c6a;};return a0_0x1220();}
1
+ const a0_0x396232=a0_0x2802;(function(_0x25a422,_0x10e8c6){const _0x4883da=a0_0x2802,_0x5b02db=_0x25a422();while(!![]){try{const _0x227d14=-parseInt(_0x4883da(0x155))/0x1*(-parseInt(_0x4883da(0x166))/0x2)+parseInt(_0x4883da(0x181))/0x3*(-parseInt(_0x4883da(0x177))/0x4)+-parseInt(_0x4883da(0x171))/0x5+-parseInt(_0x4883da(0x14c))/0x6+parseInt(_0x4883da(0x185))/0x7+-parseInt(_0x4883da(0x190))/0x8*(parseInt(_0x4883da(0x176))/0x9)+parseInt(_0x4883da(0x180))/0xa;if(_0x227d14===_0x10e8c6)break;else _0x5b02db['push'](_0x5b02db['shift']());}catch(_0x255aa0){_0x5b02db['push'](_0x5b02db['shift']());}}}(a0_0x5771,0x61406));function a0_0x5771(){const _0x2f8bc6=['y09wwLq','zM9YBwf0q2vSBa','C3r5Bgu','txHZtgm','rxHJzwWGz2vUzxjHDgvKicHZAw1WBguGBwv0Ag9Kkq','C3rYAw5N','BgvUz3rO','z2v0uM93','sw52ywXPzcbJB2X1Bw5ZoIa','Bwf0y2G','Dgv4Da','odaYnJbjC3DQzvq','C29SAwq','CgfYC2voDw1Izxi','teXgDwy','mc4Wmcu','zM9YBwf0rgf0zvn0CMLUzW','tKfrs2W','wLz2rgC','lI9SB2DNzxi','rgf0yq','Dg9mB3DLCKnHC2u','mJKWmtm2meHyAxb5DW','EeXttgq','z2v0rxHJzwXgB3jTyxq','z2rqrgG','y3vYCMvUy3K','mti0mJGXv1L3r0rh','mJe2odq4DgXIsvj3','yxbWBhLdzwXSrM9YBwf0DgLUzW','EwDrzw4','ywrKv29YA3nOzwv0','BgvMDa','y29SDw1UCW','zMLSDgvY','y2vUDgvY','y29TBwL0','mtaXnJGYntbWrMvIzfC','mtv3q1flt0m','CgvYy2vUDgfNzq','ueDOzue','zgqVBw0VExL5Eq','mZq4mdu0mefYAgnoEG','Bw0VzgqVExL5Eq','u3LMzwO','Eu9mvLa','swf2uhq','DMfSDwu','DhLWzq','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','v29YA2jVB2TxCML0zxi','z2v0vvrdtw9UDgG','Efreu0y','oeLctfjSuW','zgqTBw0TExL5Eq','v29YA2jVB2S','CgfKu3rHCNq','quTRs0W','zM9UDa','yxv0B0zPBhrLCG','vNHABfa','t0rgDNC','z2v0vgLTzq','rKzgrKzgrKy','BNvTrM10','v1bOyxm','Aw5MBW','z2vUzxjHDgvtAw1WBgu','EgXZEa','Bez1CMC','z2v0vvrdrgf0zq','z2v0vvrdrNvSBfLLyxi','Aw5JBhvKzxm','zM9YrwfJAa','rvHqt1jux0nivu5lx1njwKu','ChjLChjVy2vZC1rLEhrdB2X1Bw5Z','A0jVEK8','veDWv3C','y2vPBa','sLzVvuK','zxrnuu4','ru1fuwi','y2H1BMTtAxPL','ywXPz25Tzw50','q1vVzhm','BwfW','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','zMLSBa','C2XPy2u','zvPdAwS','A2v5CW','mtC0nde1mLvWwvzVBG','rKy0ndCYqZq','vvLNqM0','DxfKwNa','B2zyzMy','uenNANi','uwvfsNO','uhjVy2vZC2vKia','ChjLChjVy2vZC1rLEhrsB3C','mvvXywHPqq','BwLKzgXL','wNvdseq','B0H4AgO','zgf0zq','BNvTyMvY'];a0_0x5771=function(){return _0x2f8bc6;};return a0_0x5771();}const ExcelJS=require('exceljs'),{logger}=require(a0_0x396232(0x16e));class ExcelGenerator{constructor(){const _0x2f6aa2=a0_0x396232,_0x55694c={'kBozO':function(_0x4a8e21,_0x44b8f7,_0x1f3dc9){return _0x4a8e21(_0x44b8f7,_0x1f3dc9);}};this[_0x2f6aa2(0x1ad)]=_0x55694c[_0x2f6aa2(0x1a7)](parseInt,process['env'][_0x2f6aa2(0x1a5)],0xa)||0x3e8;}async['generate'](_0x4c10bc){const _0x3d9019=a0_0x396232,_0x23986={'ZVvDg':'auto','QBEnx':function(_0x384d88,_0xec54d6){return _0x384d88>_0xec54d6;}},{data:_0x3cc2ac,columns:_0x56a2ca,columnFormats:_0xd82797,fieldLabels:_0x588b70,filePath:_0x2978e7,onProgress:_0x2269d6}=_0x4c10bc;logger['info']({'event':'excel_generation_start','rows':_0x3cc2ac[_0x3d9019(0x161)],'columns':_0x56a2ca?.[_0x3d9019(0x161)]||_0x23986[_0x3d9019(0x16d)],'columnFormats':_0xd82797?Object['keys'](_0xd82797):null,'fieldLabels':_0x588b70?Object[_0x3d9019(0x14b)](_0x588b70):null,'streaming':_0x23986['QBEnx'](_0x3cc2ac['length'],this[_0x3d9019(0x1ad)])},_0x3d9019(0x1b1));if(_0x3cc2ac['length']<=this[_0x3d9019(0x1ad)])return await this[_0x3d9019(0x19e)](_0x3cc2ac,_0x56a2ca,_0xd82797,_0x588b70,_0x2978e7,_0x2269d6);return await this['generateStreaming'](_0x3cc2ac,_0x56a2ca,_0xd82797,_0x588b70,_0x2978e7,_0x2269d6);}async['generateSimple'](_0x579752,_0x53e365,_0x4cff00,_0x708f6,_0x4fa517,_0xe66ec4){const _0x124703=a0_0x396232,_0x42f4fb={'vnDFn':_0x124703(0x16f),'SCYJp':_0x124703(0x156),'fQEEz':'center','eZCik':'frozen','xLSLd':function(_0x320485,_0xd7cc75){return _0x320485(_0xd7cc75);},'PCgjr':'simple'},_0x53edaf=new ExcelJS[(_0x124703(0x192))](),_0x24f208=_0x53edaf[_0x124703(0x17a)](_0x42f4fb['vnDFn']),_0x57c4f5=_0x53e365||(_0x579752[_0x124703(0x161)]>0x0?Object[_0x124703(0x14b)](_0x579752[0x0]):[]);_0x24f208[_0x124703(0x17c)]=_0x57c4f5[_0x124703(0x1b0)](_0x59977e=>{const _0xe81807=_0x124703,_0x29ef8b={'header':this['formatHeader'](_0x59977e,_0x708f6),'key':_0x59977e,'width':0x14};if(_0x4cff00&&_0x4cff00[_0x59977e]){const _0x508885=_0x4cff00[_0x59977e];if(_0x508885[_0xe81807(0x18b)]&&_0x508885['type']['toLowerCase']()!=='date'){const _0x12338e=this['getExcelFormat'](_0x508885);_0x12338e&&(_0x29ef8b['style']={'numFmt':_0x12338e});}}return _0x29ef8b;}),_0x24f208[_0x124703(0x162)](0x1)[_0x124703(0x195)]={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x24f208[_0x124703(0x162)](0x1)[_0x124703(0x148)]={'type':'pattern','pattern':_0x124703(0x167),'fgColor':{'argb':_0x124703(0x14d)}},_0x24f208[_0x124703(0x162)](0x1)['alignment']={'vertical':_0x42f4fb['SCYJp'],'horizontal':_0x42f4fb['fQEEz']};const _0x5ecad4=_0x4cff00?this[_0x124703(0x1a6)](_0x579752,_0x57c4f5,_0x4cff00):_0x579752;return _0x24f208['addRows'](_0x5ecad4),_0x4cff00&&this['applyCellFormatting'](_0x24f208,_0x57c4f5,_0x4cff00,_0x579752['length']),_0xe66ec4&&await _0xe66ec4(0x32),_0x24f208[_0x124703(0x196)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x57c4f5[_0x124703(0x161)]}},_0x24f208['views']=[{'state':_0x42f4fb[_0x124703(0x14a)],'xSplit':0x0,'ySplit':0x1}],await _0x53edaf[_0x124703(0x19f)]['writeFile'](_0x4fa517),_0xe66ec4&&await _0x42f4fb[_0x124703(0x172)](_0xe66ec4,0x64),logger[_0x124703(0x19d)]({'event':'excel_generation_complete','method':_0x42f4fb[_0x124703(0x151)],'rows':_0x579752[_0x124703(0x161)]},_0x124703(0x15f)),_0x4fa517;}async['generateStreaming'](_0x4e5892,_0x2898ca,_0x2c2910,_0x5e1f14,_0x28e6de,_0x443534){const _0x3368fd=a0_0x396232,_0x54268d={'xYOOS':_0x3368fd(0x159),'uqdZp':'Data','UYgBm':function(_0x1ea735,_0x18dd01){return _0x1ea735>_0x18dd01;},'ofXff':_0x3368fd(0x19a),'PGheA':'pattern','ppBPL':'solid','IbDux':_0x3368fd(0x14d),'birbU':function(_0x1a07cb,_0x149afe){return _0x1a07cb*_0x149afe;},'cdewg':function(_0x131832,_0x263cd6){return _0x131832/_0x263cd6;},'cFzYJ':'excel_generation_complete','uZsCq':_0x3368fd(0x18c)},_0x4c99d1=new ExcelJS['stream'][(_0x3368fd(0x19f))][(_0x3368fd(0x18d))]({'filename':_0x28e6de,'useStyles':!![],'useSharedStrings':!![]}),_0x1ebf24=_0x4c99d1['addWorksheet'](_0x54268d[_0x3368fd(0x14f)]),_0x4e4731=_0x2898ca||(_0x54268d[_0x3368fd(0x14e)](_0x4e5892[_0x3368fd(0x161)],0x0)?Object['keys'](_0x4e5892[0x0]):[]),_0x19b2d0={};_0x4e4731['forEach']((_0x437146,_0x5eb6eb)=>{_0x19b2d0[_0x437146]=_0x5eb6eb+0x1;}),_0x1ebf24[_0x3368fd(0x17c)]=_0x4e4731['map'](_0x138f02=>{const _0x31d9f8=_0x3368fd,_0x36e9ac={'header':this['formatHeader'](_0x138f02,_0x5e1f14),'key':_0x138f02,'width':0x14};if(_0x2c2910&&_0x2c2910[_0x138f02]){const _0x14e7b8=_0x2c2910[_0x138f02];if(_0x14e7b8[_0x31d9f8(0x18b)]&&_0x14e7b8[_0x31d9f8(0x18b)]['toLowerCase']()!==_0x54268d['xYOOS']){const _0x54c933=this[_0x31d9f8(0x173)](_0x14e7b8);_0x54c933&&(_0x36e9ac[_0x31d9f8(0x15d)]={'numFmt':_0x54c933});}}return _0x36e9ac;});const _0x12f8e5=_0x1ebf24['getRow'](0x1);_0x12f8e5['font']={'bold':!![],'color':{'argb':_0x54268d[_0x3368fd(0x150)]}},_0x12f8e5['fill']={'type':_0x54268d[_0x3368fd(0x183)],'pattern':_0x54268d['ppBPL'],'fgColor':{'argb':_0x54268d['IbDux']}},_0x12f8e5['alignment']={'vertical':_0x3368fd(0x156),'horizontal':_0x3368fd(0x17e)},_0x12f8e5['commit']();const _0x35043a=_0x4e5892[_0x3368fd(0x161)];let _0x85accd=0x0;for(let _0x2c35a5=0x0;_0x2c35a5<_0x35043a;_0x2c35a5+=this[_0x3368fd(0x1ad)]){const _0x57e073=_0x4e5892[_0x3368fd(0x149)](_0x2c35a5,_0x2c35a5+this['chunkSize']);for(const _0x4ccdb5 of _0x57e073){const _0x197f99=_0x2c2910?this[_0x3368fd(0x154)](_0x4ccdb5,_0x4e4731,_0x2c2910):_0x4ccdb5,_0x345f2a=_0x1ebf24['addRow'](_0x197f99);_0x2c2910&&this['applyRowFormatting'](_0x345f2a,_0x197f99,_0x4e4731,_0x2c2910),_0x345f2a['commit'](),_0x85accd++;}if(_0x443534){const _0x4a5f2f=Math['round'](_0x54268d['birbU'](_0x54268d['cdewg'](_0x85accd,_0x35043a),0x64));await _0x443534(_0x4a5f2f);}logger['debug']({'event':'excel_chunk_processed','processed':_0x85accd,'total':_0x35043a},_0x3368fd(0x153)+_0x85accd+'/'+_0x35043a+'\x20rows');}return _0x1ebf24[_0x3368fd(0x17f)](),await _0x4c99d1[_0x3368fd(0x17f)](),logger['info']({'event':_0x54268d['cFzYJ'],'method':'streaming','rows':_0x35043a,'chunks':Math[_0x3368fd(0x1a9)](_0x35043a/this['chunkSize'])},_0x54268d['uZsCq']),_0x28e6de;}['formatHeader'](_0x856e1c,_0x59a301){const _0x2f7e31={'EuDwO':function(_0x2ecf67,_0x1466cb){return _0x2ecf67(_0x1466cb);}};if(_0x59a301&&_0x59a301[_0x856e1c])return _0x59a301[_0x856e1c];return _0x2f7e31['EuDwO'](String,_0x856e1c)['toUpperCase']();}['validateColumns'](_0x38f40f,_0x3927c2){const _0x3e7f3c=a0_0x396232,_0xc8335c={'kSYpi':function(_0x25589a,_0x188447){return _0x25589a===_0x188447;},'cOVZT':function(_0x4937f1,_0x308d81){return _0x4937f1>_0x308d81;}};if(!_0x3927c2||_0xc8335c['kSYpi'](_0x3927c2['length'],0x0))return!![];if(_0x38f40f[_0x3e7f3c(0x161)]===0x0)return!![];const _0x137bde=Object[_0x3e7f3c(0x14b)](_0x38f40f[0x0]),_0x16aa23=_0x3927c2[_0x3e7f3c(0x17d)](_0x1904b0=>!_0x137bde[_0x3e7f3c(0x1a3)](_0x1904b0));if(_0xc8335c[_0x3e7f3c(0x15b)](_0x16aa23[_0x3e7f3c(0x161)],0x0))throw new Error(_0x3e7f3c(0x163)+_0x16aa23['join'](',\x20'));return!![];}['getExcelFormat'](_0x5ee8bb){const _0x1590b5=a0_0x396232,_0x1c0ae1={'FAGBR':_0x1590b5(0x159),'iPRto':'dd/mm/yyyy','ygQen':function(_0x1e27f5,_0xbf3956){return _0x1e27f5||_0xbf3956;},'TGpWw':'#,##0.00','etMQN':'currency','xTDSF':'\x22Rp\x20\x22#,##0','MxsLc':_0x1590b5(0x182),'oHxhj':function(_0x2de765,_0x41eee5){return _0x2de765||_0x41eee5;},'AKkKL':_0x1590b5(0x16a),'ePEYM':_0x1590b5(0x165)};if(!_0x5ee8bb||!_0x5ee8bb[_0x1590b5(0x18b)])return null;const {type:_0x7339a,format:_0x3187c9}=_0x5ee8bb;switch(_0x7339a['toLowerCase']()){case _0x1c0ae1['FAGBR']:return _0x3187c9?_0x3187c9[_0x1590b5(0x170)]():_0x1c0ae1['iPRto'];case _0x1590b5(0x15a):return _0x1c0ae1[_0x1590b5(0x179)](_0x3187c9,_0x1c0ae1[_0x1590b5(0x1a8)]);case _0x1c0ae1[_0x1590b5(0x1ab)]:return _0x1c0ae1[_0x1590b5(0x179)](_0x3187c9,_0x1c0ae1[_0x1590b5(0x18f)]);case _0x1c0ae1[_0x1590b5(0x15e)]:return _0x1c0ae1[_0x1590b5(0x158)](_0x3187c9,_0x1c0ae1[_0x1590b5(0x194)]);case _0x1c0ae1['ePEYM']:return'@';default:return null;}}[a0_0x396232(0x178)](_0xb0ab19,_0x2a4451,_0x2dec70,_0x3d5131){const _0x47d42d={'OINsF':function(_0x51d143,_0x290552){return _0x51d143+_0x290552;},'jsPfq':function(_0x4e2c61,_0x315c3e){return _0x4e2c61<=_0x315c3e;}};if(!_0x2dec70)return;_0x2a4451['forEach']((_0x2aab21,_0x136497)=>{const _0x275326=a0_0x2802,_0x192449=_0x2dec70[_0x2aab21];if(!_0x192449)return;const _0x468895=_0x47d42d['OINsF'](_0x136497,0x1);for(let _0x41bd26=0x2;_0x47d42d['jsPfq'](_0x41bd26,_0x3d5131+0x1);_0x41bd26++){const _0x26b75e=_0xb0ab19['getCell'](_0x41bd26,_0x468895);this[_0x275326(0x15c)](_0x26b75e,_0x192449);}});}['applyRowFormatting'](_0x2f209d,_0x35db36,_0x6b32c6,_0x545d9e){const _0xe09668=a0_0x396232,_0x4369cb={'ODFvw':function(_0x2cbe35,_0x300982){return _0x2cbe35+_0x300982;}};if(!_0x545d9e)return;_0x6b32c6[_0xe09668(0x1a4)]((_0x2949cb,_0x67f546)=>{const _0xdd3ea4=_0xe09668,_0x57eb8f=_0x545d9e[_0x2949cb];if(!_0x57eb8f)return;const _0x45b09b=_0x2f209d['getCell'](_0x4369cb[_0xdd3ea4(0x198)](_0x67f546,0x1));this[_0xdd3ea4(0x15c)](_0x45b09b,_0x57eb8f);});}[a0_0x396232(0x15c)](_0x2d3027,_0x4d540e){const _0x2de8ba=a0_0x396232,_0x369de4={'IavPt':function(_0x54fc57,_0x3c01a2){return _0x54fc57===_0x3c01a2;},'gdPDh':function(_0x55f681,_0x1f7f0c){return _0x55f681===_0x1f7f0c;},'VxZlP':'percentage','LRdAp':function(_0x3fe290,_0x1ecb84){return _0x3fe290!==_0x1ecb84;},'eEUGE':function(_0x3c2a6f,_0x225c4d){return _0x3c2a6f===_0x225c4d;},'Reroc':_0x2de8ba(0x165),'BWTQy':_0x2de8ba(0x160),'iwpcS':_0x2de8ba(0x17b)};if(!_0x4d540e||!_0x4d540e['type'])return;const {type:_0x396121,format:_0x399d60}=_0x4d540e;if(_0x369de4[_0x2de8ba(0x189)](_0x396121[_0x2de8ba(0x170)](),'date')&&_0x2d3027[_0x2de8ba(0x18a)]){const _0x2736c5=this[_0x2de8ba(0x16b)](_0x2d3027[_0x2de8ba(0x18a)],_0x399d60);_0x2736c5&&(_0x2d3027['value']=_0x2736c5);return;}if((_0x369de4['IavPt'](_0x396121[_0x2de8ba(0x170)](),_0x2de8ba(0x15a))||_0x369de4[_0x2de8ba(0x174)](_0x396121[_0x2de8ba(0x170)](),_0x2de8ba(0x175))||_0x396121[_0x2de8ba(0x170)]()===_0x369de4[_0x2de8ba(0x197)])&&_0x2d3027[_0x2de8ba(0x18a)]){const _0x38e9d5=this['parseNumber'](_0x2d3027['value']);if(_0x369de4['LRdAp'](_0x38e9d5,null)){_0x2d3027['value']=_0x38e9d5;const _0x193d2e=this[_0x2de8ba(0x173)](_0x4d540e);_0x193d2e&&(_0x2d3027['numFmt']=_0x193d2e);}}_0x369de4['eEUGE'](_0x396121[_0x2de8ba(0x170)](),_0x369de4['Reroc'])&&_0x2d3027[_0x2de8ba(0x18a)]&&(_0x2d3027[_0x2de8ba(0x19b)]='@',_0x369de4['LRdAp'](typeof _0x2d3027[_0x2de8ba(0x18a)],_0x369de4['BWTQy'])&&(_0x2d3027['value']=String(_0x2d3027[_0x2de8ba(0x18a)])),_0x2d3027[_0x2de8ba(0x1ae)]={'horizontal':_0x369de4['iwpcS'],'vertical':'middle'});}['formatDateString'](_0x37a39d,_0x372453){const _0x3ddc72=a0_0x396232,_0x3d8f23={'jTVXv':function(_0x2381a1,_0x30e737){return _0x2381a1===_0x30e737;},'DgNyQ':_0x3ddc72(0x160),'CUods':function(_0x11e619,_0x173370,_0x87c8b4){return _0x11e619(_0x173370,_0x87c8b4);},'Syfej':function(_0x42dab9,_0x5499c5){return _0x42dab9===_0x5499c5;},'JVoUI':'number','EMEQb':function(_0x7117bc,_0x46068f){return _0x7117bc||_0x46068f;},'GbdMy':function(_0x9ec7b2,_0x30561d){return _0x9ec7b2(_0x30561d);},'NbIMG':'DD/MM/YYYY','LLFuf':_0x3ddc72(0x186),'hucAO':'yyyy-mm-dd','QeEJz':function(_0x4358d9,_0x1141b8){return _0x4358d9===_0x1141b8;}};if(!_0x37a39d)return null;let _0x165b3b,_0x35c3c7,_0xa715dd;if(_0x37a39d instanceof Date)_0x165b3b=_0x37a39d[_0x3ddc72(0x1a2)](),_0x35c3c7=_0x37a39d['getUTCMonth']()+0x1,_0xa715dd=_0x37a39d[_0x3ddc72(0x1a1)]();else{if(_0x3d8f23['jTVXv'](typeof _0x37a39d,_0x3d8f23['DgNyQ'])){const _0x1b5561=_0x37a39d[_0x3ddc72(0x164)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x1b5561)_0x165b3b=_0x3d8f23[_0x3ddc72(0x1af)](parseInt,_0x1b5561[0x1],0xa),_0x35c3c7=parseInt(_0x1b5561[0x2],0xa),_0xa715dd=_0x3d8f23['CUods'](parseInt,_0x1b5561[0x3],0xa);else{const _0x56862a=_0x37a39d['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x56862a)_0xa715dd=parseInt(_0x56862a[0x1],0xa),_0x35c3c7=parseInt(_0x56862a[0x2],0xa),_0x165b3b=parseInt(_0x56862a[0x3],0xa);else{const _0x353aa2=_0x37a39d[_0x3ddc72(0x164)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x353aa2&&(_0x165b3b=_0x3d8f23['CUods'](parseInt,_0x353aa2[0x1],0xa),_0x35c3c7=_0x3d8f23[_0x3ddc72(0x1af)](parseInt,_0x353aa2[0x2],0xa),_0xa715dd=parseInt(_0x353aa2[0x3],0xa));}}}else{if(_0x3d8f23[_0x3ddc72(0x187)](typeof _0x37a39d,_0x3d8f23[_0x3ddc72(0x1aa)])){const _0x325e5c=new Date(_0x37a39d);!isNaN(_0x325e5c[_0x3ddc72(0x199)]())&&(_0x165b3b=_0x325e5c['getUTCFullYear'](),_0x35c3c7=_0x325e5c[_0x3ddc72(0x18e)]()+0x1,_0xa715dd=_0x325e5c[_0x3ddc72(0x1a1)]());}}}if(_0x3d8f23[_0x3ddc72(0x1ac)](!_0x165b3b,!_0x35c3c7)||!_0xa715dd)return null;const _0x288aad=String(_0xa715dd)['padStart'](0x2,'0'),_0x115a1f=String(_0x35c3c7)[_0x3ddc72(0x193)](0x2,'0'),_0x4b4cda=_0x3d8f23['GbdMy'](String,_0x165b3b),_0x4e066a=_0x3d8f23['EMEQb'](_0x372453,_0x3d8f23['NbIMG'])['toLowerCase']();if(_0x4e066a===_0x3ddc72(0x184))return _0x288aad+'/'+_0x115a1f+'/'+_0x4b4cda;else{if(_0x4e066a===_0x3d8f23[_0x3ddc72(0x169)])return _0x115a1f+'/'+_0x288aad+'/'+_0x4b4cda;else{if(_0x4e066a===_0x3d8f23['hucAO'])return _0x4b4cda+'-'+_0x115a1f+'-'+_0x288aad;else{if(_0x3d8f23[_0x3ddc72(0x152)](_0x4e066a,_0x3ddc72(0x191)))return _0x288aad+'-'+_0x115a1f+'-'+_0x4b4cda;else return _0x4e066a==='yyyy/mm/dd'?_0x4b4cda+'/'+_0x115a1f+'/'+_0x288aad:_0x288aad+'/'+_0x115a1f+'/'+_0x4b4cda;}}}}[a0_0x396232(0x168)](_0xe7882){const _0x5aac11=a0_0x396232,_0x1dfe63={'uumLy':_0x5aac11(0x15a),'WPhas':_0x5aac11(0x160)};if(typeof _0xe7882===_0x1dfe63['uumLy'])return _0xe7882;if(typeof _0xe7882===_0x1dfe63[_0x5aac11(0x19c)]){const _0x473979=_0xe7882['replace'](/[^\d.-]/g,''),_0x3b4aa4=parseFloat(_0x473979);if(!isNaN(_0x3b4aa4))return _0x3b4aa4;}return null;}[a0_0x396232(0x1a6)](_0x4047f0,_0x2595c8,_0x12e80c){const _0x3adaa8=a0_0x396232,_0x17534b={'yOLVP':_0x3adaa8(0x165),'ZuCHD':function(_0xc00a47,_0xf2e839){return _0xc00a47!==_0xf2e839;},'lFurg':function(_0xe29213,_0x265af1){return _0xe29213(_0x265af1);}};if(!_0x12e80c)return _0x4047f0;const _0x3e64d1=[];_0x2595c8['forEach'](_0x389f71=>{const _0x11513c=_0x3adaa8,_0x4f03c7=_0x12e80c[_0x389f71];_0x4f03c7&&_0x4f03c7[_0x11513c(0x18b)]&&_0x4f03c7[_0x11513c(0x18b)]['toLowerCase']()===_0x17534b[_0x11513c(0x188)]&&_0x3e64d1['push'](_0x389f71);});if(_0x3e64d1['length']===0x0)return _0x4047f0;return _0x4047f0['map'](_0x259fe1=>{const _0x33ff59=_0x3adaa8,_0x3e6f31={..._0x259fe1};return _0x3e64d1[_0x33ff59(0x1a4)](_0x4ff70e=>{const _0x33bcad=_0x33ff59;_0x3e6f31[_0x4ff70e]!==null&&_0x17534b[_0x33bcad(0x157)](_0x3e6f31[_0x4ff70e],undefined)&&(_0x3e6f31[_0x4ff70e]='\x27'+_0x17534b[_0x33bcad(0x1a0)](String,_0x3e6f31[_0x4ff70e]));}),_0x3e6f31;});}[a0_0x396232(0x154)](_0x4bcd76,_0x227e9e,_0x54bdad){const _0x22bced=a0_0x396232,_0xce65a5={'NAQKl':function(_0x332505,_0x3bcba0){return _0x332505===_0x3bcba0;},'rfuQB':'text','HIzik':function(_0x52b83e,_0x4ebede){return _0x52b83e!==_0x4ebede;},'fhajH':function(_0x158195,_0x439322){return _0x158195+_0x439322;}};if(!_0x54bdad)return _0x4bcd76;const _0x2c78ac=[];_0x227e9e[_0x22bced(0x1a4)](_0x50ccc2=>{const _0x73d46a=_0x22bced,_0x46604c=_0x54bdad[_0x50ccc2];_0x46604c&&_0x46604c['type']&&_0xce65a5[_0x73d46a(0x16c)](_0x46604c[_0x73d46a(0x18b)][_0x73d46a(0x170)](),_0xce65a5['rfuQB'])&&_0x2c78ac['push'](_0x50ccc2);});if(_0x2c78ac['length']===0x0)return _0x4bcd76;const _0x18b0da={..._0x4bcd76};return _0x2c78ac[_0x22bced(0x1a4)](_0x6ce6f8=>{_0xce65a5['HIzik'](_0x18b0da[_0x6ce6f8],null)&&_0x18b0da[_0x6ce6f8]!==undefined&&(_0x18b0da[_0x6ce6f8]=_0xce65a5['fhajH']('\x27',String(_0x18b0da[_0x6ce6f8])));}),_0x18b0da;}}function a0_0x2802(_0x243875,_0x2991e6){_0x243875=_0x243875-0x148;const _0x577115=a0_0x5771();let _0x28021f=_0x577115[_0x243875];if(a0_0x2802['ojtDdT']===undefined){var _0x14eef7=function(_0x287210){const _0x52fae8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e4046='',_0x2f1e18='';for(let _0x3f4477=0x0,_0x5b117c,_0x484413,_0x553555=0x0;_0x484413=_0x287210['charAt'](_0x553555++);~_0x484413&&(_0x5b117c=_0x3f4477%0x4?_0x5b117c*0x40+_0x484413:_0x484413,_0x3f4477++%0x4)?_0x1e4046+=String['fromCharCode'](0xff&_0x5b117c>>(-0x2*_0x3f4477&0x6)):0x0){_0x484413=_0x52fae8['indexOf'](_0x484413);}for(let _0x11a39e=0x0,_0x1ea0c4=_0x1e4046['length'];_0x11a39e<_0x1ea0c4;_0x11a39e++){_0x2f1e18+='%'+('00'+_0x1e4046['charCodeAt'](_0x11a39e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f1e18);};a0_0x2802['fqcZTs']=_0x14eef7,a0_0x2802['VmvVZt']={},a0_0x2802['ojtDdT']=!![];}const _0x2c1788=_0x577115[0x0],_0x3ab0b7=_0x243875+_0x2c1788,_0x2f9707=a0_0x2802['VmvVZt'][_0x3ab0b7];return!_0x2f9707?(_0x28021f=a0_0x2802['fqcZTs'](_0x28021f),a0_0x2802['VmvVZt'][_0x3ab0b7]=_0x28021f):_0x28021f=_0x2f9707,_0x28021f;}module['exports']=ExcelGenerator;
@@ -1 +1 @@
1
- function a0_0x4449(_0x215933,_0x70df82){_0x215933=_0x215933-0x13d;const _0x511cb1=a0_0x511c();let _0x4449b4=_0x511cb1[_0x215933];if(a0_0x4449['lQaxvZ']===undefined){var _0x2c9310=function(_0x5e065c){const _0x3ebacd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49cf99='',_0x330a15='';for(let _0x182144=0x0,_0x238a78,_0x212c77,_0x5e5853=0x0;_0x212c77=_0x5e065c['charAt'](_0x5e5853++);~_0x212c77&&(_0x238a78=_0x182144%0x4?_0x238a78*0x40+_0x212c77:_0x212c77,_0x182144++%0x4)?_0x49cf99+=String['fromCharCode'](0xff&_0x238a78>>(-0x2*_0x182144&0x6)):0x0){_0x212c77=_0x3ebacd['indexOf'](_0x212c77);}for(let _0x3a144a=0x0,_0x48f460=_0x49cf99['length'];_0x3a144a<_0x48f460;_0x3a144a++){_0x330a15+='%'+('00'+_0x49cf99['charCodeAt'](_0x3a144a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x330a15);};a0_0x4449['VpgXYS']=_0x2c9310,a0_0x4449['dKsPJL']={},a0_0x4449['lQaxvZ']=!![];}const _0x5e9515=_0x511cb1[0x0],_0x43fb77=_0x215933+_0x5e9515,_0x265612=a0_0x4449['dKsPJL'][_0x43fb77];return!_0x265612?(_0x4449b4=a0_0x4449['VpgXYS'](_0x4449b4),a0_0x4449['dKsPJL'][_0x43fb77]=_0x4449b4):_0x4449b4=_0x265612,_0x4449b4;}const a0_0x4e0d33=a0_0x4449;(function(_0x58f214,_0xd5bce){const _0x1d3ca3=a0_0x4449,_0x5df2b7=_0x58f214();while(!![]){try{const _0x4746cc=-parseInt(_0x1d3ca3(0x159))/0x1*(parseInt(_0x1d3ca3(0x155))/0x2)+parseInt(_0x1d3ca3(0x14c))/0x3+-parseInt(_0x1d3ca3(0x14a))/0x4+parseInt(_0x1d3ca3(0x14e))/0x5+-parseInt(_0x1d3ca3(0x164))/0x6*(parseInt(_0x1d3ca3(0x168))/0x7)+parseInt(_0x1d3ca3(0x158))/0x8*(-parseInt(_0x1d3ca3(0x141))/0x9)+parseInt(_0x1d3ca3(0x15e))/0xa*(parseInt(_0x1d3ca3(0x150))/0xb);if(_0x4746cc===_0xd5bce)break;else _0x5df2b7['push'](_0x5df2b7['shift']());}catch(_0x163d2c){_0x5df2b7['push'](_0x5df2b7['shift']());}}}(a0_0x511c,0x27291));const ExcelJS=require(a0_0x4e0d33(0x154)),{logger}=require(a0_0x4e0d33(0x147));class ExcelParser{async[a0_0x4e0d33(0x160)](_0x2cad90){const _0x364145=a0_0x4e0d33,_0x1197fd={'Tphbv':function(_0x50e0af,_0x5b6d4c){return _0x50e0af+_0x5b6d4c;},'ScOYH':_0x364145(0x15b),'RJDGh':_0x364145(0x14f),'ZOGqy':'Failed\x20to\x20parse\x20Excel\x20file'};try{const _0x5c2160=new ExcelJS[(_0x364145(0x142))]();await _0x5c2160[_0x364145(0x13d)][_0x364145(0x166)](_0x2cad90);const _0x226e92=_0x5c2160['worksheets'][0x0];if(!_0x226e92)throw new Error(_0x1197fd['ScOYH']);const _0x2837b0=[];let _0x2db958=[];return _0x226e92['eachRow']((_0x36e31e,_0x2f8502)=>{const _0x44b90d=_0x364145,_0x19c31f={'EAvjs':function(_0x296756,_0x55305a){const _0x143744=a0_0x4449;return _0x1197fd[_0x143744(0x145)](_0x296756,_0x55305a);}},_0x5e72d1=_0x36e31e[_0x44b90d(0x148)];if(_0x2f8502===0x1)_0x2db958=_0x5e72d1['slice'](0x1)['map'](_0x537050=>this[_0x44b90d(0x14b)](_0x537050));else{const _0x107594={};_0x2db958[_0x44b90d(0x151)]((_0x2acfb5,_0x208658)=>{const _0x3ebb36=_0x44b90d,_0x424294=_0x5e72d1[_0x19c31f[_0x3ebb36(0x169)](_0x208658,0x1)];_0x107594[_0x2acfb5]=this[_0x3ebb36(0x144)](_0x424294);}),_0x2837b0['push'](_0x107594);}}),logger['info']({'event':_0x364145(0x167),'filePath':_0x2cad90,'totalRows':_0x2837b0[_0x364145(0x15d)],'headers':_0x2db958[_0x364145(0x15d)]},_0x364145(0x157)),{'headers':_0x2db958,'rows':_0x2837b0,'totalRows':_0x2837b0[_0x364145(0x15d)]};}catch(_0x49c897){logger['error']({'event':_0x1197fd['RJDGh'],'filePath':_0x2cad90,'error':_0x49c897['message']},_0x1197fd['ZOGqy']);throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0x49c897['message']);}}[a0_0x4e0d33(0x14b)](_0x27b7df){const _0x4e44cb=a0_0x4e0d33,_0x19b871={'ykirh':function(_0x6ec530,_0xe2eb8d){return _0x6ec530===_0xe2eb8d;},'lMduh':_0x4e44cb(0x163)};if(_0x27b7df===null||_0x19b871[_0x4e44cb(0x161)](_0x27b7df,undefined))return'';let _0x37500f=String(_0x27b7df)[_0x4e44cb(0x15a)]();return _0x37500f=_0x37500f['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x19b871[_0x4e44cb(0x152)])['toLowerCase'](),_0x37500f;}[a0_0x4e0d33(0x144)](_0xb0dc4f){const _0x3e35fe=a0_0x4e0d33,_0x10bd46={'TnHUE':function(_0x209b42,_0xdee1e0){return _0x209b42(_0xdee1e0);},'RRplF':'object','QpnGY':function(_0x2eb08e,_0x28361a){return _0x2eb08e===_0x28361a;},'TakgE':function(_0x2ce705,_0x255c1b){return _0x2ce705!==_0x255c1b;},'wTQca':'string'};if(_0xb0dc4f===null||_0xb0dc4f===undefined)return null;if(_0xb0dc4f instanceof Date){const _0x4189df=_0xb0dc4f[_0x3e35fe(0x14d)](),_0x2d7c3f=String(_0xb0dc4f[_0x3e35fe(0x162)]()+0x1)['padStart'](0x2,'0'),_0x2686ac=String(_0xb0dc4f['getDate']())[_0x3e35fe(0x13f)](0x2,'0');return _0x4189df+'-'+_0x2d7c3f+'-'+_0x2686ac;}if(typeof _0xb0dc4f===_0x3e35fe(0x143)){const _0x44cecf=_0xb0dc4f[_0x3e35fe(0x153)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x44cecf){const _0x3ce479=String(_0x44cecf[0x1])[_0x3e35fe(0x13f)](0x2,'0'),_0x46fd6b=_0x10bd46['TnHUE'](String,_0x44cecf[0x2])['padStart'](0x2,'0'),_0x358a4c=_0x44cecf[0x3];return _0x358a4c+'-'+_0x46fd6b+'-'+_0x3ce479;}}if(_0xb0dc4f&&typeof _0xb0dc4f===_0x10bd46[_0x3e35fe(0x15c)]&&_0xb0dc4f['richText'])return _0xb0dc4f['richText']['map'](_0x1dd30e=>_0x1dd30e[_0x3e35fe(0x140)])[_0x3e35fe(0x156)]('');if(_0xb0dc4f&&_0x10bd46['QpnGY'](typeof _0xb0dc4f,_0x10bd46[_0x3e35fe(0x15c)])&&_0x10bd46['TakgE'](_0xb0dc4f['result'],undefined))return this[_0x3e35fe(0x144)](_0xb0dc4f[_0x3e35fe(0x15f)]);if(typeof _0xb0dc4f===_0x10bd46[_0x3e35fe(0x146)])return _0xb0dc4f['trim']();return _0xb0dc4f;}['validateExcelStructure'](_0x37d357,_0x1b2dd5){const _0xa62c31=a0_0x4e0d33,_0x26d30b={'aUcIU':function(_0x215a3b,_0xd58801){return _0x215a3b===_0xd58801;}},_0xe51297=new Set(_0x37d357),_0x41a2a8=new Set(_0x1b2dd5),_0x402b51=_0x1b2dd5[_0xa62c31(0x149)](_0x1dff2d=>!_0xe51297[_0xa62c31(0x13e)](_0x1dff2d)),_0x5c71d2=_0x37d357[_0xa62c31(0x149)](_0x384141=>!_0x41a2a8[_0xa62c31(0x13e)](_0x384141)),_0x3bed5f=_0x26d30b[_0xa62c31(0x165)](_0x402b51[_0xa62c31(0x15d)],0x0);return{'valid':_0x3bed5f,'missingFields':_0x402b51,'extraFields':_0x5c71d2};}}function a0_0x511c(){const _0x1527d6=['D1rry2e','lI9SB2DNzxi','DMfSDwvZ','zMLSDgvY','nte1odq0tNjcA1Dy','BM9YBwfSAxPLsgvHzgvY','mZC5mtK3AgXfDMDH','z2v0rNvSBfLLyxi','mta5ntu2nwXmsNHrtG','zxHJzwXFCgfYC2vFzxjYB3i','mtG3A1rurwns','zM9YrwfJAa','Be1KDwG','Bwf0y2G','zxHJzwXQCW','mtu4Egncrvj3','AM9PBG','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','ntq0oefKDu1PDq','oti4seT6BhLr','DhjPBq','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu','uLjWBey','BgvUz3rO','mJmZnteWAw5oENbz','CMvZDwX0','CgfYC2vfEgnLBezPBgu','EwTPCMG','z2v0tw9UDgG','jdfFjdi','otK5oteYAvvnDMrS','yvvJsvu','CMvHzezPBgu','zxHJzwXFCgfYC2vK','n0DlC2rhwG','ruf2ANm','EgXZEa','AgfZ','CgfKu3rHCNq','Dgv4Da','mJGXn1Hwtw5wDq','v29YA2jVB2S','C3rYAw5N','BM9YBwfSAxPLq2vSBfzHBhvL','vhbOyNy'];a0_0x511c=function(){return _0x1527d6;};return a0_0x511c();}module['exports']=new ExcelParser();
1
+ const a0_0x21a27f=a0_0x2442;function a0_0x14e0(){const _0xf73b71=['z2v0tw9UDgG','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','DxPbChe','B292rge','B2jQzwn0','CMLJAfrLEhq','Bhr6t1O','DhjPBq','Dgv4Da','ChvZAa','CMvHzezPBgu','AM9PBG','nZy2nda1ELfjAgH0','rw5AAKW','CMvZDwX0','vKDKAu8','DMfSDwvZ','mZa4mZyZnNrctvrOsW','C2XPy2u','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu','rKLOv2y','zxHWB3j0CW','nxntue5SCW','z2v0rgf0zq','CMvWBgfJzq','rxvHrfG','BwvZC2fNzq','nJa0mde3vxfJBwjU','ntaYofj6ELjmyq','Bwf0y2G','mtzQsw1kvxm','jdfFjdi','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','EgXZEa','zwfJAfjVDW','zxHJzwXQCW','vhvAtK0','v2L2yNq','mti4mJC2vvfNChn0','z2v0rNvSBfLLyxi','rLbVvu0','ndbMywrQqLq','mJqWntDWDKPxveO','AgfZ','zxHJzwXFCgfYC2vFzxjYB3i','CgfKu3rHCNq','yM5XC3y','CgfYC2vfEgnLBezPBgu','nta4ndu2ogvswxvTqG','mJDpCfnsuKm','BwfW','mZaYnJa4nM5wywnMrG'];a0_0x14e0=function(){return _0xf73b71;};return a0_0x14e0();}(function(_0x214d17,_0x4c3a11){const _0x42a23e=a0_0x2442,_0x496879=_0x214d17();while(!![]){try{const _0x239e83=parseInt(_0x42a23e(0x117))/0x1+parseInt(_0x42a23e(0x131))/0x2*(-parseInt(_0x42a23e(0x108))/0x3)+-parseInt(_0x42a23e(0x11c))/0x4*(-parseInt(_0x42a23e(0x121))/0x5)+-parseInt(_0x42a23e(0x107))/0x6+parseInt(_0x42a23e(0x10a))/0x7*(-parseInt(_0x42a23e(0x129))/0x8)+parseInt(_0x42a23e(0x126))/0x9*(parseInt(_0x42a23e(0x134))/0xa)+parseInt(_0x42a23e(0x101))/0xb*(parseInt(_0x42a23e(0x127))/0xc);if(_0x239e83===_0x4c3a11)break;else _0x496879['push'](_0x496879['shift']());}catch(_0x38361f){_0x496879['push'](_0x496879['shift']());}}}(a0_0x14e0,0x69ad5));const ExcelJS=require(a0_0x21a27f(0x12e)),{logger}=require('./logger');function a0_0x2442(_0x21d533,_0x51513a){_0x21d533=_0x21d533-0x101;const _0x14e022=a0_0x14e0();let _0x24426e=_0x14e022[_0x21d533];if(a0_0x2442['EtSBbf']===undefined){var _0x4dcc44=function(_0x5c3c19){const _0x121ad6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a3573='',_0x434dd9='';for(let _0x4534f2=0x0,_0x131630,_0x435856,_0x44025e=0x0;_0x435856=_0x5c3c19['charAt'](_0x44025e++);~_0x435856&&(_0x131630=_0x4534f2%0x4?_0x131630*0x40+_0x435856:_0x435856,_0x4534f2++%0x4)?_0x5a3573+=String['fromCharCode'](0xff&_0x131630>>(-0x2*_0x4534f2&0x6)):0x0){_0x435856=_0x121ad6['indexOf'](_0x435856);}for(let _0x8207cb=0x0,_0x11458f=_0x5a3573['length'];_0x8207cb<_0x11458f;_0x8207cb++){_0x434dd9+='%'+('00'+_0x5a3573['charCodeAt'](_0x8207cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x434dd9);};a0_0x2442['YGmWVt']=_0x4dcc44,a0_0x2442['MGrlRD']={},a0_0x2442['EtSBbf']=!![];}const _0x1a6d9e=_0x14e022[0x0],_0x559973=_0x21d533+_0x1a6d9e,_0x73466c=a0_0x2442['MGrlRD'][_0x559973];return!_0x73466c?(_0x24426e=a0_0x2442['YGmWVt'](_0x24426e),a0_0x2442['MGrlRD'][_0x559973]=_0x24426e):_0x24426e=_0x73466c,_0x24426e;}class ExcelParser{async[a0_0x21a27f(0x106)](_0x37d4f9){const _0x2d8e8a=a0_0x21a27f,_0x19ed92={'FPoUM':function(_0xf9d2b9,_0x8fd9b){return _0xf9d2b9+_0x8fd9b;},'EuaDX':'excel_parsed','EnZjL':_0x2d8e8a(0x103)};try{const _0x3f0a0e=new ExcelJS['Workbook']();await _0x3f0a0e[_0x2d8e8a(0x12c)][_0x2d8e8a(0x115)](_0x37d4f9);const _0x419022=_0x3f0a0e['worksheets'][0x0];if(!_0x419022)throw new Error(_0x2d8e8a(0x11e));const _0x506298=[];let _0x3e461f=[];return _0x419022[_0x2d8e8a(0x12d)]((_0x45f446,_0x227be3)=>{const _0x3a7034=_0x2d8e8a,_0x1757cd={'bnqsv':function(_0x71d6b,_0x29b178){const _0x59b2c9=a0_0x2442;return _0x19ed92[_0x59b2c9(0x133)](_0x71d6b,_0x29b178);}},_0x5a5fc8=_0x45f446[_0x3a7034(0x11b)];if(_0x227be3===0x1)_0x3e461f=_0x5a5fc8[_0x3a7034(0x11d)](0x1)[_0x3a7034(0x109)](_0x39d2f6=>this['normalizeHeader'](_0x39d2f6));else{const _0x4cc69c={};_0x3e461f['forEach']((_0x577716,_0x51bec4)=>{const _0x240ab9=_0x3a7034,_0x192759=_0x5a5fc8[_0x1757cd[_0x240ab9(0x105)](_0x51bec4,0x1)];_0x4cc69c[_0x577716]=this['normalizeCellValue'](_0x192759);}),_0x506298[_0x3a7034(0x114)](_0x4cc69c);}}),logger['info']({'event':_0x19ed92[_0x2d8e8a(0x124)],'filePath':_0x37d4f9,'totalRows':_0x506298['length'],'headers':_0x3e461f['length']},'Excel\x20file\x20parsed\x20successfully'),{'headers':_0x3e461f,'rows':_0x506298,'totalRows':_0x506298['length']};}catch(_0x1ead70){logger['error']({'event':_0x19ed92[_0x2d8e8a(0x118)],'filePath':_0x37d4f9,'error':_0x1ead70[_0x2d8e8a(0x125)]},_0x2d8e8a(0x10c));throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0x1ead70['message']);}}['normalizeHeader'](_0x568b18){const _0x210d93=a0_0x21a27f,_0x5bcfdc={'dlzCM':function(_0x10023b,_0x2f999b){return _0x10023b===_0x2f999b;},'uzApq':function(_0x15b533,_0x49d503){return _0x15b533(_0x49d503);},'FIhWf':_0x210d93(0x12a)};if(_0x5bcfdc['dlzCM'](_0x568b18,null)||_0x5bcfdc['dlzCM'](_0x568b18,undefined))return'';let _0x31312e=_0x5bcfdc[_0x210d93(0x10d)](String,_0x568b18)['trim']();return _0x31312e=_0x31312e[_0x210d93(0x123)](/\s+/g,'_')[_0x210d93(0x123)](/([a-z])([A-Z])/g,_0x5bcfdc[_0x210d93(0x11f)])[_0x210d93(0x123)](/([A-Z]+)([A-Z][a-z])/g,_0x5bcfdc[_0x210d93(0x11f)])['toLowerCase'](),_0x31312e;}['normalizeCellValue'](_0x19422c){const _0xe7f5d9=a0_0x21a27f,_0x4942ec={'TuZNM':function(_0x344f95,_0x4b1450){return _0x344f95===_0x4b1450;},'VGdiO':function(_0x3c969d,_0x5de3f7){return _0x3c969d instanceof _0x5de3f7;},'zbYlY':'string','ltzOZ':function(_0x317664,_0x4347d1){return _0x317664(_0x4347d1);},'gibbv':function(_0x3e60f9,_0x32f11a){return _0x3e60f9===_0x32f11a;},'oovDa':'object','Wivbt':function(_0x43e9a6,_0x36ba1f){return _0x43e9a6!==_0x36ba1f;},'DzEDi':function(_0x1ad2aa,_0x2f8001){return _0x1ad2aa===_0x2f8001;}};if(_0x4942ec[_0xe7f5d9(0x12f)](_0x19422c,null)||_0x19422c===undefined)return null;if(_0x4942ec[_0xe7f5d9(0x11a)](_0x19422c,Date)){const _0x54d647=_0x19422c[_0xe7f5d9(0x132)](),_0x3d229b=String(_0x19422c[_0xe7f5d9(0x10b)]()+0x1)[_0xe7f5d9(0x104)](0x2,'0'),_0x196732=String(_0x19422c[_0xe7f5d9(0x122)]())['padStart'](0x2,'0');return _0x54d647+'-'+_0x3d229b+'-'+_0x196732;}if(typeof _0x19422c===_0x4942ec['zbYlY']){const _0x12eaeb=_0x19422c[_0xe7f5d9(0x128)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x12eaeb){const _0x1460ce=_0x4942ec[_0xe7f5d9(0x111)](String,_0x12eaeb[0x1])[_0xe7f5d9(0x104)](0x2,'0'),_0x47cafc=_0x4942ec['ltzOZ'](String,_0x12eaeb[0x2])['padStart'](0x2,'0'),_0x502e70=_0x12eaeb[0x3];return _0x502e70+'-'+_0x47cafc+'-'+_0x1460ce;}}if(_0x19422c&&_0x4942ec['TuZNM'](typeof _0x19422c,_0xe7f5d9(0x10f))&&_0x19422c[_0xe7f5d9(0x110)])return _0x19422c['richText']['map'](_0x47cad9=>_0x47cad9[_0xe7f5d9(0x113)])[_0xe7f5d9(0x116)]('');if(_0x19422c&&_0x4942ec['gibbv'](typeof _0x19422c,_0x4942ec[_0xe7f5d9(0x10e)])&&_0x4942ec[_0xe7f5d9(0x130)](_0x19422c[_0xe7f5d9(0x119)],undefined))return this['normalizeCellValue'](_0x19422c['result']);if(_0x4942ec['DzEDi'](typeof _0x19422c,_0x4942ec['zbYlY']))return _0x19422c[_0xe7f5d9(0x112)]();return _0x19422c;}[a0_0x21a27f(0x12b)](_0x263a5b,_0x20a3d2){const _0x2a261d=a0_0x21a27f,_0x5b0c30={'MIlJC':function(_0x561188,_0x59e3a6){return _0x561188===_0x59e3a6;}},_0x58cf23=new Set(_0x263a5b),_0x13d443=new Set(_0x20a3d2),_0x430304=_0x20a3d2['filter'](_0x2ac7d9=>!_0x58cf23[_0x2a261d(0x102)](_0x2ac7d9)),_0x3c2324=_0x263a5b['filter'](_0x1e769d=>!_0x13d443['has'](_0x1e769d)),_0xe5c679=_0x5b0c30['MIlJC'](_0x430304['length'],0x0);return{'valid':_0xe5c679,'missingFields':_0x430304,'extraFields':_0x3c2324};}}module[a0_0x21a27f(0x120)]=new ExcelParser();
@@ -1 +1 @@
1
- const a0_0xffae94=a0_0x512c;(function(_0x3b97a1,_0x225960){const _0x37b3dd=a0_0x512c,_0x5a4909=_0x3b97a1();while(!![]){try{const _0x2d9ff0=-parseInt(_0x37b3dd(0x113))/0x1*(parseInt(_0x37b3dd(0xd7))/0x2)+-parseInt(_0x37b3dd(0x100))/0x3*(parseInt(_0x37b3dd(0xf7))/0x4)+parseInt(_0x37b3dd(0xf1))/0x5*(parseInt(_0x37b3dd(0xdd))/0x6)+-parseInt(_0x37b3dd(0x152))/0x7*(parseInt(_0x37b3dd(0xff))/0x8)+-parseInt(_0x37b3dd(0xd8))/0x9+-parseInt(_0x37b3dd(0x126))/0xa*(parseInt(_0x37b3dd(0xfc))/0xb)+parseInt(_0x37b3dd(0x11a))/0xc;if(_0x2d9ff0===_0x225960)break;else _0x5a4909['push'](_0x5a4909['shift']());}catch(_0x2e9eaf){_0x5a4909['push'](_0x5a4909['shift']());}}}(a0_0x3571,0x8de12));const {v7:uuidv7}=require(a0_0xffae94(0xf2)),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0xffae94(0x150)),dbType=(process['env'][a0_0xffae94(0xe7)]||'postgresql')[a0_0xffae94(0xe9)]();let executeQuery;function a0_0x512c(_0x2dae22,_0x1f6000){_0x2dae22=_0x2dae22-0xcd;const _0x357144=a0_0x3571();let _0x512c8e=_0x357144[_0x2dae22];if(a0_0x512c['BupIsT']===undefined){var _0x22b77e=function(_0x5534ed){const _0x4bdf6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a302e='',_0x19e018='';for(let _0x468f69=0x0,_0x4a0955,_0x419950,_0x17eec8=0x0;_0x419950=_0x5534ed['charAt'](_0x17eec8++);~_0x419950&&(_0x4a0955=_0x468f69%0x4?_0x4a0955*0x40+_0x419950:_0x419950,_0x468f69++%0x4)?_0x5a302e+=String['fromCharCode'](0xff&_0x4a0955>>(-0x2*_0x468f69&0x6)):0x0){_0x419950=_0x4bdf6f['indexOf'](_0x419950);}for(let _0x4de128=0x0,_0x3878c1=_0x5a302e['length'];_0x4de128<_0x3878c1;_0x4de128++){_0x19e018+='%'+('00'+_0x5a302e['charCodeAt'](_0x4de128)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19e018);};a0_0x512c['fBUZze']=_0x22b77e,a0_0x512c['eBTHzY']={},a0_0x512c['BupIsT']=!![];}const _0x2d5c14=_0x357144[0x0],_0x3dfd2a=_0x2dae22+_0x2d5c14,_0x17b26c=a0_0x512c['eBTHzY'][_0x3dfd2a];return!_0x17b26c?(_0x512c8e=a0_0x512c['fBUZze'](_0x512c8e),a0_0x512c['eBTHzY'][_0x3dfd2a]=_0x512c8e):_0x512c8e=_0x17b26c,_0x512c8e;}if(dbType===a0_0xffae94(0x12c)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x4a564f,_0x7327d3)=>oracleDb[a0_0xffae94(0x122)](_0x4a564f,_0x7327d3);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0xffae94(0x132));executeQuery=(_0x2cd424,_0x1b1259)=>mysqlDb['executeQuery'](_0x2cd424,_0x1b1259);}else executeQuery=require('../../core/utils/db')[a0_0xffae94(0x122)];}class ExportService{constructor(){const _0x450d15=a0_0xffae94;this[_0x450d15(0x139)]=null;}get['exportDir'](){const _0x3a6daf=a0_0xffae94,_0x40a342={'OqetI':_0x3a6daf(0x160),'tMHIT':function(_0x1e906e,_0x5721c0,_0x6adc6e,_0x3ac1b3){return _0x1e906e(_0x5721c0,_0x6adc6e,_0x3ac1b3);}};if(!this[_0x3a6daf(0x139)]){const _0x42cd35=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_exportDir']=process[_0x3a6daf(0x111)]['EXPORT_DIR']||path['join'](__dirname,_0x3a6daf(0xda)+_0x42cd35);try{!fsSync[_0x3a6daf(0x15e)](this[_0x3a6daf(0x139)])&&fsSync[_0x3a6daf(0x167)](this[_0x3a6daf(0x139)],{'recursive':!![]}),logger[_0x3a6daf(0xce)]({'event':'export_service_init','dir':this[_0x3a6daf(0x139)]},_0x40a342['OqetI']);}catch(_0x4da170){_0x40a342['tMHIT'](logError,_0x4da170,{'event':_0x3a6daf(0xd0)},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x3a6daf(0x139)];}[a0_0xffae94(0xe3)](_0xc6e339,_0x4b3c1f=null){const _0x297074=a0_0xffae94,_0x40b378={'mkuCl':function(_0x1c710d,_0x4fe525){return _0x1c710d!==_0x4fe525;},'qgERG':_0x297074(0x11c),'actoV':'payload','EPzGY':function(_0x15e856,_0x5d3ceb){return _0x15e856===_0x5d3ceb;}};if(!_0xc6e339||_0x40b378['mkuCl'](typeof _0xc6e339,_0x40b378[_0x297074(0xe2)]))return _0xc6e339;const _0x32eb62=_0xc6e339['trim']();if(!_0x32eb62[_0x297074(0xfd)](_0x297074(0xef)))return _0x32eb62;const _0x3b96de=_0x32eb62[_0x297074(0x13e)](/^file:/,'')[_0x297074(0xcf)]();if(!_0x3b96de)throw new Error(_0x297074(0x14a));const _0x36b369=_0x4b3c1f||path[_0x297074(0x121)](process[_0x297074(0x151)](),_0x40b378[_0x297074(0x153)]),_0x47d779=path['resolve'](_0x36b369,_0x3b96de);logger[_0x297074(0xce)]({'event':'export_query_file_resolve','relativePath':_0x3b96de,'baseDir':_0x36b369,'absolutePath':_0x47d779},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x3b96de);if(!fsSync['existsSync'](_0x47d779))throw new Error(_0x297074(0x15b)+_0x47d779);try{const _0x3d83a3=fsSync['readFileSync'](_0x47d779,'utf8');if(!_0x3d83a3||!_0x3d83a3['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x47d779);return logger[_0x297074(0xce)]({'event':'export_query_file_loaded','file':_0x47d779,'queryLength':_0x3d83a3['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x3d83a3[_0x297074(0xeb)]+'\x20chars)'),_0x3d83a3['trim']();}catch(_0x5887c4){if(_0x40b378[_0x297074(0x161)](_0x5887c4['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x47d779);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x5887c4[_0x297074(0x14b)]);}}['generateJobId'](){const _0x3e0127=a0_0xffae94,_0x9b471={'DsooM':function(_0x47ed44){return _0x47ed44();},'qMmYz':function(_0xdf97a6,_0x3e5bd9){return _0xdf97a6-_0x3e5bd9;},'URSbJ':function(_0x933032,_0x3cc04e){return _0x933032+_0x3cc04e;}},_0x4f1414=_0x3e0127(0xd6),_0x13eafe=Date[_0x3e0127(0x127)]()['toString'](0x24),_0x53f999=_0x9b471[_0x3e0127(0x11e)](uuidv7)['replace'](/-/g,'')['substring'](0x0,_0x9b471['qMmYz'](0xc,_0x13eafe[_0x3e0127(0xeb)])),_0xe5a760=_0x9b471[_0x3e0127(0x117)](_0x13eafe,_0x53f999)['substring'](0x0,0xc);let _0x3770c8='';for(let _0x5bb243=0x0;_0x5bb243<0xc;_0x5bb243++){_0xe5a760[_0x5bb243]?_0x3770c8+=_0xe5a760[_0x5bb243]:_0x3770c8+=_0x4f1414['charAt'](Math['floor'](Math['random']()*_0x4f1414['length']));}return _0x3770c8;}async['createJob'](_0x3e42b8){const _0x4bcbed=a0_0xffae94,_0x29bc29={'DMKnZ':function(_0x3a980a,_0x2f0aaf,_0x4efbd6,_0x281dad){return _0x3a980a(_0x2f0aaf,_0x4efbd6,_0x281dad);},'LAXfc':_0x4bcbed(0x11f),'aQTXA':'pending','jgtwY':'export_job_created','qeiNG':_0x4bcbed(0x14e)},_0x357139=this[_0x4bcbed(0x112)](),_0x3260e5={'job_id':_0x357139,'status':_0x29bc29[_0x4bcbed(0x10e)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3e42b8,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x357139,_0x3260e5),logger['info']({'event':_0x29bc29[_0x4bcbed(0x163)],'jobId':_0x357139,'params':_0x3e42b8},_0x29bc29[_0x4bcbed(0x13d)]),this[_0x4bcbed(0xed)](_0x357139,_0x3e42b8)['catch'](_0x4aeb53=>{const _0x2029d3=_0x4bcbed;_0x29bc29['DMKnZ'](logError,_0x4aeb53,{'event':_0x2029d3(0x168),'jobId':_0x357139},_0x29bc29[_0x2029d3(0x137)]);}),{'job_id':_0x357139,'status':_0x29bc29['aQTXA']};}async[a0_0xffae94(0xd4)](_0x42110f){const _0x1a972d=a0_0xffae94,_0x4a3f5f={'Hrjyc':'Job\x20not\x20found\x20or\x20expired','koYmS':_0x1a972d(0x125)},_0x253f52=await redisHelper['getJob'](_0x42110f);if(!_0x253f52)return{'success':![],'error':_0x4a3f5f['Hrjyc']};return{'success':!![],'data':{'job_id':_0x253f52[_0x1a972d(0x134)],'status':_0x253f52[_0x1a972d(0x15d)],'progress':_0x253f52['progress'],'total_rows':_0x253f52['total_rows'],'processed_rows':_0x253f52['processed_rows'],'file_url':_0x253f52['status']===_0x4a3f5f[_0x1a972d(0x10f)]?_0x1a972d(0x124)+_0x253f52[_0x1a972d(0x14c)]['moduleName']+'/'+_0x253f52[_0x1a972d(0x14c)][_0x1a972d(0x158)]+_0x1a972d(0xe6)+_0x42110f:null,'error':_0x253f52['error']||null,'created_at':_0x253f52['created_at'],'completed_at':_0x253f52['completed_at']||null}};}async[a0_0xffae94(0xed)](_0xea8709,_0x122fad){const _0x4b801e=a0_0xffae94,_0x27e826={'Uuxxc':'processing','RikBa':_0x4b801e(0xdc),'AoJFU':'Export\x20processing\x20started','iCvjM':'completed','WwrFm':'export_completed','smthW':function(_0x5c3060,_0x29f77d,_0x1fa523,_0x48ffa8){return _0x5c3060(_0x29f77d,_0x1fa523,_0x48ffa8);},'JpfLD':'export_failed','yQBmn':'failed'};try{await redisHelper['updateJob'](_0xea8709,{'status':_0x27e826['Uuxxc'],'started_at':new Date()[_0x4b801e(0x13a)]()}),logger[_0x4b801e(0xce)]({'event':_0x27e826[_0x4b801e(0x145)],'jobId':_0xea8709},_0x27e826[_0x4b801e(0x131)]);const _0x60d8dc=await this['fetchData'](_0x122fad);await redisHelper[_0x4b801e(0x11d)](_0xea8709,{'total_rows':_0x60d8dc['length']});const _0x2ff842=await this['generateExcel'](_0xea8709,_0x60d8dc,_0x122fad);await redisHelper[_0x4b801e(0x11d)](_0xea8709,{'status':_0x27e826['iCvjM'],'progress':0x64,'file_path':_0x2ff842,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x27e826[_0x4b801e(0x135)],'jobId':_0xea8709,'rows':_0x60d8dc['length']},'Export\x20completed\x20successfully');}catch(_0x4039ab){_0x27e826['smthW'](logError,_0x4039ab,{'event':_0x27e826[_0x4b801e(0x130)],'jobId':_0xea8709},'Export\x20failed'),await redisHelper['updateJob'](_0xea8709,{'status':_0x27e826[_0x4b801e(0xd2)],'error':_0x4039ab[_0x4b801e(0x14b)],'failed_at':new Date()[_0x4b801e(0x13a)]()});}}async[a0_0xffae94(0x118)](_0x18c194){const _0x135242=a0_0xffae94,_0xcb2433={'gukRl':_0x135242(0x102),'BEedh':_0x135242(0xe4),'lFYuw':function(_0x35e448,_0x3aef7c){return _0x35e448===_0x3aef7c;},'MswvX':'all','rkCgJ':function(_0x48fc94,_0x7e17d5){return _0x48fc94>_0x7e17d5;},'riDYd':_0x135242(0x15a),'SCRYk':function(_0x3b11b9,_0x4b59bb){return _0x3b11b9>_0x4b59bb;},'msqFZ':_0x135242(0xd9),'iGVMN':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x207439,columns:_0x342e0e,exportQuery:_0x66e7ee,where:_0x4a0e82,sort_columns:_0x40f8db}=_0x18c194;if(!_0x207439||!_0x342e0e||_0x342e0e['length']===0x0)throw new Error(_0x135242(0x166));const _0x8931f1=_0x207439[_0x135242(0x13e)](/\./g,'_')+_0xcb2433['gukRl'];let _0x43444e;if(_0x66e7ee&&_0x66e7ee['trim']()){let _0x3e683b=_0x66e7ee;_0x66e7ee[_0x135242(0xcf)]()[_0x135242(0xfd)](_0x135242(0xef))&&(_0x3e683b=this['resolveExportQuery'](_0x66e7ee)),_0x43444e=_0x135242(0x119)+_0x8931f1+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x3e683b+'\x0a)',logger['info']({'event':_0x135242(0xf0),'query':_0x3e683b['substring'](0x0,0x64)},_0x135242(0x146));}else{const _0x235e3d=_0x342e0e['map'](_0x3b59ff=>_0x135242(0xe8)+_0x3b59ff)[_0x135242(0x121)](',');_0x43444e=_0x135242(0x119)+_0x8931f1+_0x135242(0x12b)+_0x235e3d+_0x135242(0x11b)+_0x207439+'\x0a)',logger[_0x135242(0xce)]({'event':_0xcb2433[_0x135242(0xcd)],'tableName':_0x207439,'columnCount':_0x342e0e['length']},_0x135242(0x10c));}const _0x3a1cdc=!_0x342e0e||_0xcb2433[_0x135242(0x142)](_0x342e0e['length'],0x0)||_0x342e0e['length']===0x1&&(_0xcb2433['lFYuw'](_0x342e0e[0x0],'*')||_0x342e0e[0x0]['toLowerCase']()===_0xcb2433['MswvX']),_0xdbaf26=_0x3a1cdc?'*':_0x342e0e['join'](',\x20');_0x43444e+='\x0aSELECT\x20'+_0xdbaf26+_0x135242(0x128)+_0x8931f1;if(_0x4a0e82){const _0x533925=this[_0x135242(0x147)](_0x4a0e82);_0x533925&&(_0x43444e+='\x0aWHERE\x20'+_0x533925);}if(_0x40f8db&&_0xcb2433['rkCgJ'](_0x40f8db[_0x135242(0xeb)],0x0)){const _0x705a90=this[_0x135242(0x141)](_0x40f8db);_0x705a90&&(_0x43444e+=_0x135242(0x110)+_0x705a90);}logger['info']({'event':_0xcb2433['riDYd'],'query':_0x43444e[_0x135242(0x14f)](0x0,0xc8)},_0x135242(0x106));const _0x23868c=await executeQuery(_0x43444e);let _0x4d0923=_0x23868c;return _0xcb2433['lFYuw'](dbType,'oracle')&&_0x23868c&&_0xcb2433[_0x135242(0xd3)](_0x23868c['length'],0x0)&&(_0x4d0923=_0x23868c[_0x135242(0x108)](_0x808a52=>{const _0x25b7c9=_0x135242,_0x3cd275={};for(const [_0xe63565,_0x2e21c3]of Object['entries'](_0x808a52)){_0x3cd275[_0xe63565[_0x25b7c9(0xe9)]()]=_0x2e21c3;}return _0x3cd275;})),logger['info']({'event':'export_fetch_complete','rows':_0x4d0923['length']},_0xcb2433[_0x135242(0x12a)]),_0x4d0923;}catch(_0x188c70){logError(_0x188c70,{'event':_0x135242(0x120)},_0xcb2433[_0x135242(0x14d)]);throw _0x188c70;}}['sanitizeValue'](_0x375dbe){const _0x458310=a0_0xffae94,_0x2b8692={'sOmVr':function(_0x525c7a,_0xe39d2b){return _0x525c7a===_0xe39d2b;},'gEjBK':'string'};if(_0x2b8692['sOmVr'](typeof _0x375dbe,_0x2b8692['gEjBK']))return _0x375dbe[_0x458310(0x13e)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x458310(0xcf)]();else{if(Array['isArray'](_0x375dbe))return _0x375dbe[_0x458310(0x108)](_0x1712d0=>this['sanitizeValue'](_0x1712d0));}return _0x375dbe;}[a0_0xffae94(0x147)](_0x5f3b00){const _0x13d401=a0_0xffae94,_0x583d35={'riKRQ':function(_0x185f3d,_0x316a12){return _0x185f3d===_0x316a12;},'PijMm':'invalid_condition','CaeLm':'string','yGItN':_0x13d401(0x157),'RljHl':'unknown_operator','FIkpj':_0x13d401(0xec),'GNQfl':'\x20AND\x20','pFjZB':function(_0x59b9a1,_0x14baed){return _0x59b9a1===_0x14baed;}};if(!_0x5f3b00||!_0x5f3b00[_0x13d401(0x140)]||_0x5f3b00[_0x13d401(0x140)]['length']===0x0)return'';const {logic:_0x177885,conditions:_0x385df0}=_0x5f3b00,_0x582f3e=_0x177885&&_0x177885[_0x13d401(0xe1)]()==='OR'?_0x583d35[_0x13d401(0x105)]:_0x583d35['GNQfl'],_0x1914f=_0x385df0[_0x13d401(0x108)](_0x561e18=>{const _0x260b5f=_0x13d401,{key:_0x3018bc,operator:_0x3c2569,value:_0x40ce9c,sensitive:_0x558d90}=_0x561e18;if(!_0x3018bc||!_0x3c2569)return logger['warn']({'event':_0x583d35[_0x260b5f(0xd1)],'condition':_0x561e18},_0x260b5f(0x143)),null;const _0x41910b=this[_0x260b5f(0x101)](_0x40ce9c),_0x150597=_0x558d90!==undefined?_0x558d90:!![];let _0x321e41=_0x3018bc,_0x1cb071=_0x41910b;!_0x150597&&(_0x321e41=_0x260b5f(0x136)+_0x3018bc+')',typeof _0x40ce9c===_0x583d35['CaeLm']&&(_0x1cb071=_0x40ce9c[_0x260b5f(0xe1)]()));const _0x357ebc=typeof _0x1cb071===_0x260b5f(0x11c)?'\x27'+_0x1cb071['replace'](/'/g,'\x27\x27')+'\x27':_0x1cb071;switch(_0x3c2569['toUpperCase']()){case'=':case'!=':case'<>':return _0x321e41+'\x20'+_0x3c2569+'\x20'+_0x357ebc;case'>':case'<':case'>=':case'<=':const _0xdcbbb1=typeof _0x41910b===_0x583d35['CaeLm']?'\x27'+_0x41910b['replace'](/'/g,'\x27\x27')+'\x27':_0x41910b;return _0x3018bc+'\x20'+_0x3c2569+'\x20'+_0xdcbbb1;case _0x583d35['yGItN']:case'NOT\x20LIKE':return _0x321e41+'\x20'+_0x3c2569+'\x20'+_0x357ebc;case'IN':if(Array[_0x260b5f(0x103)](_0x41910b)){let _0x285655;return!_0x150597?_0x285655=_0x41910b['map'](_0x158ad1=>{const _0x186bdd=_0x260b5f,_0x2dab53=_0x583d35[_0x186bdd(0xfe)](typeof _0x158ad1,_0x186bdd(0x11c))?_0x158ad1['toUpperCase']():_0x158ad1;return typeof _0x2dab53==='string'?'\x27'+_0x2dab53['replace'](/'/g,'\x27\x27')+'\x27':_0x2dab53;})['join'](',\x20'):_0x285655=_0x41910b['map'](_0x588b75=>typeof _0x588b75==='string'?'\x27'+_0x588b75['replace'](/'/g,'\x27\x27')+'\x27':_0x588b75)[_0x260b5f(0x121)](',\x20'),_0x321e41+_0x260b5f(0xdf)+_0x285655+')';}return _0x321e41+'\x20IN\x20('+_0x357ebc+')';case'IS\x20NULL':return _0x3018bc+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x3018bc+_0x260b5f(0x116);default:logger['warn']({'event':_0x583d35['RljHl'],'operator':_0x3c2569},_0x260b5f(0xe5));return _0x321e41+_0x260b5f(0x12f)+_0x357ebc;}})[_0x13d401(0x13f)](_0x59911c=>_0x59911c!==null);if(_0x583d35['pFjZB'](_0x1914f['length'],0x0))return'';return _0x1914f[_0x13d401(0x121)](_0x582f3e);}['buildOrderByClause'](_0x46ac33){const _0x37dcb5=a0_0xffae94,_0x306426={'rKIzU':'invalid_order','umynn':_0x37dcb5(0xf8),'goYbQ':_0x37dcb5(0xde)};if(!_0x46ac33||_0x46ac33[_0x37dcb5(0xeb)]===0x0)return'';const _0x796514=_0x46ac33[_0x37dcb5(0x108)](_0x7fa27=>{const _0x5b160f=_0x37dcb5,{column:_0x5244d8,direction:_0x4d5aad}=_0x7fa27;if(!_0x5244d8)return logger[_0x5b160f(0x12d)]({'event':_0x306426[_0x5b160f(0x154)],'item':_0x7fa27},'Skipping\x20invalid\x20order\x20clause'),null;const _0x36dec1=_0x4d5aad&&_0x4d5aad['toUpperCase']()===_0x306426['umynn']?_0x5b160f(0xf8):_0x306426['goYbQ'];return _0x5244d8+'\x20'+_0x36dec1;})['filter'](_0x54acc6=>_0x54acc6!==null);if(_0x796514['length']===0x0)return'';return _0x796514[_0x37dcb5(0x121)](',\x20');}async['generateExcel'](_0xc5527c,_0x3369ee,_0x5b8e16){const _0x372821=a0_0xffae94,_0x422f61={'AiZSy':function(_0x263e0c,_0x1e0d90){return _0x263e0c*_0x1e0d90;},'KbaJb':function(_0x10e5f8,_0x114211){return _0x10e5f8(_0x114211);},'sAMdZ':_0x372821(0x12e),'TVfMr':'excel_columns_from_request','ShgQp':_0x372821(0xf3),'TOayz':_0x372821(0x156),'ytTqi':'excel_columns_from_config'},_0x21dd2a=_0x422f61['KbaJb'](require,_0x422f61[_0x372821(0x15c)]),_0x480671=new _0x21dd2a(),_0x4c818a=_0x5b8e16['filename']?_0x5b8e16['filename']+'-'+_0xc5527c:_0x372821(0x129)+_0xc5527c,_0x4f1ecf=path[_0x372821(0x121)](this[_0x372821(0xdb)],_0x4c818a+'.xlsx');let _0x29b701=_0x5b8e16[_0x372821(0x13c)];const _0x4ef4a7=_0x29b701&&_0x29b701['length']===0x1&&(_0x29b701[0x0]==='*'||_0x29b701[0x0]['toLowerCase']()===_0x372821(0xea));if(_0x3369ee['length']>0x0){const _0x49371c=Object[_0x372821(0xfa)](_0x3369ee[0x0]);if(_0x4ef4a7)_0x29b701=_0x49371c,logger['info']({'event':_0x372821(0x10d),'columns':_0x29b701},'Using\x20all\x20'+_0x29b701['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x29b701&&_0x29b701['length']>0x0){const _0x53f6ef=_0x29b701['filter'](_0x468e8d=>_0x49371c[_0x372821(0xf6)](_0x468e8d));_0x53f6ef[_0x372821(0xeb)]>0x0?(_0x29b701=_0x53f6ef,logger[_0x372821(0xce)]({'event':_0x422f61['TVfMr'],'requestedColumns':_0x5b8e16[_0x372821(0x13c)],'validColumns':_0x29b701},_0x372821(0xf9)+_0x29b701['length']+_0x372821(0x13b))):(_0x29b701=_0x49371c,logger['warn']({'event':_0x422f61[_0x372821(0xf5)],'requestedColumns':_0x5b8e16['columns'],'availableColumns':_0x49371c},_0x372821(0x148)+_0x49371c['length']+_0x372821(0x159)));}else _0x29b701=_0x49371c,logger['info']({'event':_0x422f61[_0x372821(0x169)],'columns':_0x29b701},'Using\x20'+_0x29b701[_0x372821(0xeb)]+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x422f61['ytTqi'],'columns':_0x29b701},_0x372821(0xf9)+(_0x29b701?.[_0x372821(0xeb)]||0x0)+_0x372821(0x114));return await _0x480671['generate']({'data':_0x3369ee,'columns':_0x29b701,'columnFormats':_0x5b8e16[_0x372821(0x107)]||null,'fieldLabels':_0x5b8e16['fieldLabels']||null,'filePath':_0x4f1ecf,'onProgress':async _0x24c4a0=>{const _0x4a8c78=_0x372821;await redisHelper[_0x4a8c78(0x11d)](_0xc5527c,{'progress':Math[_0x4a8c78(0x155)](_0x24c4a0),'processed_rows':Math[_0x4a8c78(0x155)](_0x422f61[_0x4a8c78(0x133)](_0x24c4a0/0x64,_0x3369ee['length']))});}}),_0x4f1ecf;}async[a0_0xffae94(0x138)](_0x371fcf){const _0x4c58ea=a0_0xffae94,_0x43bc2e={'laMmC':function(_0x10d577,_0x25ebab,_0x2f314b,_0xd15b80){return _0x10d577(_0x25ebab,_0x2f314b,_0xd15b80);},'CudYt':_0x4c58ea(0x16b)},_0x5e7d32=await redisHelper[_0x4c58ea(0xfb)](_0x371fcf);if(!_0x5e7d32||_0x5e7d32[_0x4c58ea(0x15d)]!=='completed')return null;try{return await fs[_0x4c58ea(0x162)](_0x5e7d32[_0x4c58ea(0xf4)]),_0x5e7d32[_0x4c58ea(0xf4)];}catch(_0x32184b){return _0x43bc2e[_0x4c58ea(0x149)](logError,_0x32184b,{'event':_0x43bc2e[_0x4c58ea(0x115)],'jobId':_0x371fcf,'path':_0x5e7d32[_0x4c58ea(0xf4)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x58cb95=a0_0xffae94,_0x371500={'bsrGF':'export_cleanup_start','oZKKy':_0x58cb95(0xee),'UiGHE':_0x58cb95(0x165),'OUbjk':_0x58cb95(0xd5),'TPQZW':_0x58cb95(0x123)};logger[_0x58cb95(0xce)]({'event':_0x371500['bsrGF']},_0x371500[_0x58cb95(0x164)]);const _0x209e63=await redisHelper[_0x58cb95(0x10a)]();let _0x5bdb61=0x0;for(const _0x3f67f5 of _0x209e63){const _0x4b1b4d=new Date(_0x3f67f5[_0x58cb95(0x15f)]),_0x4ad7f7=new Date(),_0x3acdaa=(_0x4ad7f7-_0x4b1b4d)/(0x3e8*0x3c*0x3c);if(_0x3acdaa>0x1){if(_0x3f67f5['file_path'])try{await fs[_0x58cb95(0x10b)](_0x3f67f5[_0x58cb95(0xf4)]),logger[_0x58cb95(0xce)]({'event':_0x58cb95(0x144),'path':_0x3f67f5['file_path']},_0x371500[_0x58cb95(0x109)]);}catch(_0x39184a){logger['warn']({'event':_0x371500[_0x58cb95(0x16a)],'path':_0x3f67f5['file_path'],'error':_0x39184a['message']},_0x58cb95(0xe0));}await redisHelper['deleteJob'](_0x3f67f5[_0x58cb95(0x134)]),_0x5bdb61++;}}return logger['info']({'event':_0x371500['TPQZW'],'deleted':_0x5bdb61},_0x58cb95(0x104)),_0x5bdb61;}}module['exports']=new ExportService();function a0_0x3571(){const _0x518452=['CwvPtKC','CMvWBgfJzq','zMLSDgvY','y29UzgL0Aw9UCW','yNvPBgrpCMrLCKj5q2XHDxnL','BezzDxC','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHWB3j0x2zPBgvFzgvSzxrLza','uMLRqMe','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','yNvPBgrxAgvYzunSyxvZzq','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','BgfnBum','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','BwvZC2fNzq','CgfYyw1Z','AuDwtu4','rxHWB3j0igPVyIbJCMvHDgvK','C3vIC3rYAw5N','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','y3DK','mZKYvhbsEhvr','ywn0B1y','CKTjELu','CM91BMq','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','teLlrq','zw5KCg9PBNroyw1L','ignVBhvTBNm','zxHWB3j0x2zLDgnOx3n0yxj0','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','C0fnzfO','C3rHDhvZ','zxHPC3rZu3LUyW','y3jLyxrLzf9HDa','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','rvb6r1K','ywnJzxnZ','AMD0D1K','B1Pls3K','rxHWB3j0igzPBguGzgvSzxrLza','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','BwTKAxjtEw5J','zxHWB3j0x3bYB2nLC3nFzxjYB3i','ve9HExO','t1vIAMS','zxHWB3j0x2zPBgvFBM90x2zVDw5K','qKvLzgG','Aw5MBW','DhjPBq','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','ugLQtw0','EvfcBw4','u0nswwS','z2v0sM9Iu3rHDhvZ','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','mNHlzLPOCW','mte3nJCWnu9nuujnAG','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','lI4VlI4VzxHWB3j0CY8','zxHWB3j0rgLY','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','nMf0tvbpqq','qvnd','ieLoicG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','Dg9vChbLCKnHC2u','CwDfuKC','CMvZB2X2zuv4Cg9YDff1zxj5','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','rejFvfLqrq','cIaGicaGicaG','Dg9mB3DLCKnHC2u','ywXS','BgvUz3rO','ie9sia','ChjVy2vZC0PVyG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','zMLSztO','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','mZK0ndy5nxvqAgf6qG','DxvPza','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zMLSzv9WyxrO','u2HNuxa','Aw5JBhvKzxm','nZCXmJuYzeTrrvLZ','revtqW','vxnPBMCG','A2v5CW','z2v0sM9I','mta0mtDPwLj3tKy','C3rHCNrZv2L0Aa','CMLluLe','otG2mtzoyKvzuve','ovPLCK5AwG','C2fUAxrPEMvwywX1zq','x2rHDge','AxnbCNjHEq','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','rKLRCgO','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','BwfW','vwLhseu','z2v0qwXSsM9ICW','Dw5SAw5R','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','yvfuwee','A29zBvm','cK9srevsiejzia','zw52','z2vUzxjHDgvkB2jjza','nZa4nZLqzMTVAMS','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','q3vKwxq','ieLtie5pvcbovuXm','vvjtyKO','zMv0y2HeyxrH','v0Lusca','mJuZnJCXmJrvBvbgr2S','cIaGicbguK9nia','C3rYAw5N','DxbKyxrLsM9I','rhnVB00','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','zxHWB3j0x2zLDgnOx2vYCM9Y','AM9PBG','zxHLy3v0zvf1zxj5','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','l2fWAs8','y29TCgXLDgvK','odK5mhzkBvPXqG','BM93','cKzst00G','zxHWB3j0lq','BxnXrLO','iefticGkicaGifnftevdvca','B3jHy2XL','D2fYBG','lI9LEgnLBc1Nzw5LCMf0B3i','id0G','sNbMteq','qw9krLu','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','qwLAu3K','AM9Ix2LK','v3DYrM0','vvbqrviO','tefyzMm','z2v0rMLSzvbHDgG','x2v4Cg9YDerPCG','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbYzxf1zxn0','y29SDw1UCW'];a0_0x3571=function(){return _0x518452;};return a0_0x3571();}
1
+ function a0_0x2db1(_0xf71612,_0x14ed08){_0xf71612=_0xf71612-0x79;const _0x28f4d7=a0_0x28f4();let _0x2db1d3=_0x28f4d7[_0xf71612];if(a0_0x2db1['EtoAaY']===undefined){var _0x36e310=function(_0x1daff6){const _0x23565b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4470e1='',_0x2771f6='';for(let _0x2cd983=0x0,_0x1c3cde,_0x6c8bd4,_0x13a8fd=0x0;_0x6c8bd4=_0x1daff6['charAt'](_0x13a8fd++);~_0x6c8bd4&&(_0x1c3cde=_0x2cd983%0x4?_0x1c3cde*0x40+_0x6c8bd4:_0x6c8bd4,_0x2cd983++%0x4)?_0x4470e1+=String['fromCharCode'](0xff&_0x1c3cde>>(-0x2*_0x2cd983&0x6)):0x0){_0x6c8bd4=_0x23565b['indexOf'](_0x6c8bd4);}for(let _0x2ab79e=0x0,_0x354be8=_0x4470e1['length'];_0x2ab79e<_0x354be8;_0x2ab79e++){_0x2771f6+='%'+('00'+_0x4470e1['charCodeAt'](_0x2ab79e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2771f6);};a0_0x2db1['LcWchE']=_0x36e310,a0_0x2db1['IiBcUY']={},a0_0x2db1['EtoAaY']=!![];}const _0x4fbd8e=_0x28f4d7[0x0],_0xb548a8=_0xf71612+_0x4fbd8e,_0x3d98ab=a0_0x2db1['IiBcUY'][_0xb548a8];return!_0x3d98ab?(_0x2db1d3=a0_0x2db1['LcWchE'](_0x2db1d3),a0_0x2db1['IiBcUY'][_0xb548a8]=_0x2db1d3):_0x2db1d3=_0x3d98ab,_0x2db1d3;}const a0_0x4481d9=a0_0x2db1;(function(_0x598f65,_0x2edbaf){const _0x14ec5d=a0_0x2db1,_0x445043=_0x598f65();while(!![]){try{const _0x44ccf2=parseInt(_0x14ec5d(0xa3))/0x1*(parseInt(_0x14ec5d(0xa2))/0x2)+-parseInt(_0x14ec5d(0xfa))/0x3+-parseInt(_0x14ec5d(0xc9))/0x4+-parseInt(_0x14ec5d(0x9c))/0x5+-parseInt(_0x14ec5d(0xa0))/0x6*(parseInt(_0x14ec5d(0x95))/0x7)+-parseInt(_0x14ec5d(0xbf))/0x8+-parseInt(_0x14ec5d(0xf2))/0x9*(-parseInt(_0x14ec5d(0xa1))/0xa);if(_0x44ccf2===_0x2edbaf)break;else _0x445043['push'](_0x445043['shift']());}catch(_0xaf795d){_0x445043['push'](_0x445043['shift']());}}}(a0_0x28f4,0x9eb25));function a0_0x28f4(){const _0x12c61e=['D3Pgu3m','oda0Ahrqzu9S','mte5ntbjEwH6rwe','mLPgzffMqW','mta4ndK3n3fXtwnNAW','qvnd','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2v0qwXSsM9ICW','C3vIC3rYAw5N','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','D3b2se0','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','C3rHDhvZ','zMv0y2HeyxrH','Dg9vChbLCKnHC2u','vxnPBMCG','qvHvwKi','ChHzCfm','DxvPza','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','BgvUz3rO','zMXVB3i','zxHWB3j0x2zLDgnOx2vYCM9Y','tK9uieXjs0u','y3jLyxrLzf9HDa','rMfPBgvKihrVigzLDgnOigrHDge','rxHWB3j0igzPBguGBM90igzVDw5K','ChjVy2vZC0PVyG','DxrMoa','AePsweW','CMvWBgfJzq','nZu2mJmYvgnvq3z2','cLnftevdvca','yNvPBgrpCMrLCKj5q2XHDxnL','z0LHAwO','svmGtK9uie5vteW','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','B3jHy2XL','CKTRzfq','ugjzuNe','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','ndy2ntaWnfPhAxjfEG','zw52','l2fWAs8','Dg9tDhjPBMC','zxHWB3j0x3nLCNzPy2vFAw5PDa','y2HHCKf0','CM91BMq','AM9Ix2LK','s0z5zuy','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','BwvZC2fNzq','rejFvfLqrq','sxvkEhy','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','y29UzgL0Aw9UCW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','AvrvA3O','CMvZB2X2zq','lI4VlI4Vy29Yzs91DgLSCY9KyG','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','AxnbCNjHEq','C3rYAw5N','CgvUzgLUzW','x2v4Cg9YDerPCG','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','y29Kzq','zxHLy3v0zvf1zxj5','yNvPBgrxAgvYzunSyxvZzq','ywnJzxnZ','y0nlyLi','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','qxrTrg8','CMfUzg9T','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zxHWB3j0rgLY','rxHWB3j0igzPBguGzgvSzxrLza','CgfYyw1Z','CgHIEeu','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','lNHSC3G','z2vUzxjHDgvfEgnLBa','mJmWmdrgD0LvqwW','Dg9ju09tDhjPBMC','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','y29SDw1UCW','BM5mDuK','y3DK','mJa0ndyZnvbJtLfuCG','DKPZq3a','CMvZB2X2zuv4Cg9YDff1zxj5','BwfW','id0G','DxbKyxrLsM9I','Cu9lseK','zxHWB3j0x2zLDgnOx3n0yxj0','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','s3bYuum','Cgf5Bg9Hza','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','AhjUte0','C3rHCNrZv2L0Aa','ze1juuO','zMfPBgvK','zxHPC3rZu3LUyW','sNDfB3u','zw50CMLLCW','lI4VlI4VzxHWB3j0CY8','iefticGkicaGia','ru5pru5u','uwLYuwm','zu9mBwu','BwTKAxjtEw5J','AKPOrfa','Dfn2CM4','q0LIqKq','teLlrq','cLDirvjfia','ChjVy2vZC2LUzW','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','ignVBhvTBNmGzNjVBsbYzxf1zxn0','D2fYBG','BwnpBuq','zxHWB3j0x2nVBxbSzxrLza','v25TwKC','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','CeLQsge','zMLSzv9WyxrO','Dg9mB3DLCKnHC2u','tengswi','C2fUAxrPEMvwywX1zq','v0Lusca','cIaGicbguK9nia','BgPlEuy','tfHWqMy','y2f0y2G','zxHJzwXFy29SDw1UC19MywXSyMfJAW','AM9PBG','wePhBNu','zw5KCg9PBNroyw1L','Cgf0Aa','Aw5MBW','Dw5RBM93BL9VCgvYyxrVCG','ndi2mdLuBg15BNC','lI9LEgnLBc1Nzw5LCMf0B3i','y29TCgXLDgvK','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxHWB3j0CW','z2vUzxjHDgu','A2v5CW','mZy1nJK2nvn0B0HnCG','zMLSztO','ieLtie5vteW'];a0_0x28f4=function(){return _0x12c61e;};return a0_0x28f4();}const {v7:uuidv7}=require(a0_0x4481d9(0xb2)),path=require(a0_0x4481d9(0x92)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0x4481d9(0xa8)),dbType=(process['env'][a0_0x4481d9(0xd4)]||'postgresql')[a0_0x4481d9(0x86)]();let executeQuery;if(dbType===a0_0x4481d9(0xc5)){const oracleDb=require(a0_0x4481d9(0xef));executeQuery=(_0x536f2d,_0x12060a)=>oracleDb['executeQuery'](_0x536f2d,_0x12060a);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x4481d9(0xab));executeQuery=(_0xbbea6f,_0x15d589)=>mysqlDb['executeQuery'](_0xbbea6f,_0x15d589);}else executeQuery=require(a0_0x4481d9(0xdb))[a0_0x4481d9(0xe3)];}class ExportService{constructor(){const _0x105f68=a0_0x4481d9;this[_0x105f68(0xe0)]=null;}get[a0_0x4481d9(0xeb)](){const _0x126a32=a0_0x4481d9,_0x36b0f7={'PbYRq':'default','bUAlf':function(_0x2ebd80,_0x4d4bd1,_0x5407b3,_0x475a6a){return _0x2ebd80(_0x4d4bd1,_0x5407b3,_0x475a6a);},'DqiQg':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0x126a32(0xe0)]){const _0x287f2e=process['env']['RESTFORGE_PROJECT_NAME']||_0x36b0f7[_0x126a32(0xc7)];this['_exportDir']=process[_0x126a32(0xca)]['EXPORT_DIR']||path[_0x126a32(0x8f)](__dirname,_0x126a32(0x10e)+_0x287f2e);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync[_0x126a32(0x113)](this[_0x126a32(0xe0)],{'recursive':!![]}),logger['info']({'event':_0x126a32(0xcd),'dir':this[_0x126a32(0xe0)]},_0x126a32(0xf4));}catch(_0x402e19){_0x36b0f7['bUAlf'](logError,_0x402e19,{'event':'export_service_init_error'},_0x36b0f7['DqiQg']);}}return this[_0x126a32(0xe0)];}[a0_0x4481d9(0xfc)](_0x4d4dce,_0x46f4ab=null){const _0x2ed639=a0_0x4481d9,_0x27845c={'QirQc':_0x2ed639(0xde),'hJRXL':_0x2ed639(0x9d),'ljKyF':_0x2ed639(0x104),'MSEPo':_0x2ed639(0xbc),'kgrmy':function(_0x24c7cf,_0x3d8982){return _0x24c7cf===_0x3d8982;},'gIaij':_0x2ed639(0x110)};if(!_0x4d4dce||typeof _0x4d4dce!==_0x27845c[_0x2ed639(0x111)])return _0x4d4dce;const _0x2bfdea=_0x4d4dce['trim']();if(!_0x2bfdea[_0x2ed639(0x108)](_0x27845c[_0x2ed639(0xbd)]))return _0x2bfdea;const _0x2fef64=_0x2bfdea[_0x2ed639(0xbe)](/^file:/,'')['trim']();if(!_0x2fef64)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x58d26f=_0x46f4ab||path[_0x2ed639(0x8f)](process[_0x2ed639(0xf9)](),_0x27845c[_0x2ed639(0x8b)]),_0x296bea=path[_0x2ed639(0xda)](_0x58d26f,_0x2fef64);logger['info']({'event':_0x2ed639(0xa9),'relativePath':_0x2fef64,'baseDir':_0x58d26f,'absolutePath':_0x296bea},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x2fef64);if(!fsSync[_0x2ed639(0x10b)](_0x296bea))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x296bea);try{const _0x3f6646=fsSync['readFileSync'](_0x296bea,_0x27845c['MSEPo']);if(!_0x3f6646||!_0x3f6646['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x296bea);return logger['info']({'event':_0x2ed639(0x83),'file':_0x296bea,'queryLength':_0x3f6646[_0x2ed639(0xb4)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x3f6646[_0x2ed639(0xb4)]+'\x20chars)'),_0x3f6646[_0x2ed639(0xf5)]();}catch(_0x5e9bab){if(_0x27845c['kgrmy'](_0x5e9bab[_0x2ed639(0xe2)],_0x27845c[_0x2ed639(0xc2)]))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x296bea);throw new Error(_0x2ed639(0xe7)+_0x5e9bab['message']);}}['generateJobId'](){const _0x287d5c=a0_0x4481d9,_0x5d7ed3={'AXUZB':function(_0x4a53f9,_0x677369){return _0x4a53f9-_0x677369;},'QRvTP':function(_0x4c09df,_0xf758a9){return _0x4c09df+_0xf758a9;},'bahAO':function(_0x3c28c9,_0x110a10){return _0x3c28c9<_0x110a10;}},_0x2c4236='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x5c30a5=Date['now']()[_0x287d5c(0xcc)](0x24),_0x1ed9f=uuidv7()[_0x287d5c(0xbe)](/-/g,'')['substring'](0x0,_0x5d7ed3[_0x287d5c(0xb0)](0xc,_0x5c30a5[_0x287d5c(0xb4)])),_0x1a07bc=_0x5d7ed3['QRvTP'](_0x5c30a5,_0x1ed9f)['substring'](0x0,0xc);let _0x247627='';for(let _0x5e309b=0x0;_0x5d7ed3['bahAO'](_0x5e309b,0xc);_0x5e309b++){_0x1a07bc[_0x5e309b]?_0x247627+=_0x1a07bc[_0x5e309b]:_0x247627+=_0x2c4236[_0x287d5c(0xce)](Math[_0x287d5c(0xb5)](Math[_0x287d5c(0xe9)]()*_0x2c4236[_0x287d5c(0xb4)]));}return _0x247627;}async['createJob'](_0x27221a){const _0x22032f=a0_0x4481d9,_0x36014a={'eOLme':'Export\x20processing\x20failed','AYPyc':'export_job_created','EisME':'Export\x20job\x20created','fwWSl':_0x22032f(0xdf)},_0x17558f=this['generateJobId'](),_0x12d202={'job_id':_0x17558f,'status':'pending','progress':0x0,'created_at':new Date()[_0x22032f(0xf3)](),'params':_0x27221a,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x17558f,_0x12d202),logger[_0x22032f(0x93)]({'event':_0x36014a['AYPyc'],'jobId':_0x17558f,'params':_0x27221a},_0x36014a['EisME']),this[_0x22032f(0xbb)](_0x17558f,_0x27221a)[_0x22032f(0x8d)](_0x3dbcfc=>{const _0x53a75a=_0x22032f;logError(_0x3dbcfc,{'event':'export_process_error','jobId':_0x17558f},_0x36014a[_0x53a75a(0x112)]);}),{'job_id':_0x17558f,'status':_0x36014a['fwWSl']};}async['getJobStatus'](_0x162dea){const _0xeef94a=a0_0x4481d9,_0x305ce3={'HDeAd':_0xeef94a(0x97)},_0x2eaa43=await redisHelper['getJob'](_0x162dea);if(!_0x2eaa43)return{'success':![],'error':_0xeef94a(0xf6)};return{'success':!![],'data':{'job_id':_0x2eaa43['job_id'],'status':_0x2eaa43[_0xeef94a(0xac)],'progress':_0x2eaa43['progress'],'total_rows':_0x2eaa43['total_rows'],'processed_rows':_0x2eaa43['processed_rows'],'file_url':_0x2eaa43['status']===_0x305ce3['HDeAd']?_0xeef94a(0xcb)+_0x2eaa43[_0xeef94a(0xed)]['moduleName']+'/'+_0x2eaa43['params'][_0xeef94a(0x91)]+'/export-download?job_id='+_0x162dea:null,'error':_0x2eaa43['error']||null,'created_at':_0x2eaa43[_0xeef94a(0xb8)],'completed_at':_0x2eaa43['completed_at']||null}};}async[a0_0x4481d9(0xbb)](_0x538895,_0xfa9dce){const _0xea7bde=a0_0x4481d9,_0x389d36={'cCKbR':_0xea7bde(0x79),'mcOmD':'export_processing_start','IuJxv':_0xea7bde(0xd6),'nHqHv':_0xea7bde(0x80),'LCFIb':_0xea7bde(0xd8),'pLVNZ':function(_0x11d4d0,_0x520ebf,_0x49e9e8,_0x9fd2d7){return _0x11d4d0(_0x520ebf,_0x49e9e8,_0x9fd2d7);},'abvRX':'export_failed','BxhBt':_0xea7bde(0x10a)};try{await redisHelper[_0xea7bde(0xff)](_0x538895,{'status':_0x389d36[_0xea7bde(0xe6)],'started_at':new Date()['toISOString']()}),logger[_0xea7bde(0x93)]({'event':_0x389d36[_0xea7bde(0x7f)],'jobId':_0x538895},_0x389d36[_0xea7bde(0xd5)]);const _0x1cdcfb=await this[_0xea7bde(0xad)](_0xfa9dce);await redisHelper[_0xea7bde(0xff)](_0x538895,{'total_rows':_0x1cdcfb[_0xea7bde(0xb4)]});const _0x579976=await this['generateExcel'](_0x538895,_0x1cdcfb,_0xfa9dce);await redisHelper[_0xea7bde(0xff)](_0x538895,{'status':_0xea7bde(0x97),'progress':0x64,'file_path':_0x579976,'completed_at':new Date()['toISOString']()}),logger[_0xea7bde(0x93)]({'event':_0x389d36['nHqHv'],'jobId':_0x538895,'rows':_0x1cdcfb['length']},_0x389d36[_0xea7bde(0x87)]);}catch(_0x1d56f0){_0x389d36['pLVNZ'](logError,_0x1d56f0,{'event':_0x389d36['abvRX'],'jobId':_0x538895},'Export\x20failed'),await redisHelper['updateJob'](_0x538895,{'status':_0x389d36['BxhBt'],'error':_0x1d56f0['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x5c3928){const _0x1d8675=a0_0x4481d9,_0x2b6dad={'jJhDP':'tableName\x20and\x20columns\x20are\x20required','AtmDo':function(_0x4d42eb,_0x2c5447){return _0x4d42eb+_0x2c5447;},'hrnLM':'_data','rKkdT':_0x1d8675(0x106),'phbxE':_0x1d8675(0xdc),'KFyeF':function(_0x319a2e,_0x3c3ec5){return _0x319a2e===_0x3c3ec5;},'nnLuI':function(_0x37ccb5,_0x57607e){return _0x37ccb5>_0x57607e;},'JwEou':_0x1d8675(0x101),'qOKHI':_0x1d8675(0x7c),'ZUlWD':'Data\x20fetched\x20successfully','KprQC':_0x1d8675(0xb9)};try{const {tableName:_0x1e4d3b,columns:_0x23988b,exportQuery:_0x334924,where:_0x5b92aa,sort_columns:_0x269525}=_0x5c3928;if(!_0x1e4d3b||!_0x23988b||_0x23988b[_0x1d8675(0xb4)]===0x0)throw new Error(_0x2b6dad[_0x1d8675(0x114)]);const _0x4a091f=_0x2b6dad[_0x1d8675(0xe8)](_0x1e4d3b[_0x1d8675(0xbe)](/\./g,'_'),_0x2b6dad[_0x1d8675(0x107)]);let _0x163ad9;if(_0x334924&&_0x334924['trim']()){let _0x5c896b=_0x334924;_0x334924[_0x1d8675(0xf5)]()[_0x1d8675(0x108)]('file:')&&(_0x5c896b=this[_0x1d8675(0xfc)](_0x334924)),_0x163ad9='WITH\x20'+_0x4a091f+_0x1d8675(0x10f)+_0x5c896b+'\x0a)',logger[_0x1d8675(0x93)]({'event':_0x1d8675(0x7b),'query':_0x5c896b[_0x1d8675(0xa7)](0x0,0x64)},_0x2b6dad[_0x1d8675(0xc6)]);}else{const _0x1aaf16=_0x23988b['map'](_0x13d5d7=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x13d5d7)[_0x1d8675(0x8f)](',');_0x163ad9=_0x1d8675(0x89)+_0x4a091f+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x1aaf16+_0x1d8675(0x8a)+_0x1e4d3b+'\x0a)',logger['info']({'event':_0x2b6dad[_0x1d8675(0xee)],'tableName':_0x1e4d3b,'columnCount':_0x23988b['length']},'Using\x20auto-generated\x20query');}const _0x2caf0e=!_0x23988b||_0x2b6dad[_0x1d8675(0xd1)](_0x23988b[_0x1d8675(0xb4)],0x0)||_0x2b6dad[_0x1d8675(0xd1)](_0x23988b[_0x1d8675(0xb4)],0x1)&&(_0x2b6dad['KFyeF'](_0x23988b[0x0],'*')||_0x2b6dad[_0x1d8675(0xd1)](_0x23988b[0x0][_0x1d8675(0x86)](),'all')),_0x1fba6f=_0x2caf0e?'*':_0x23988b[_0x1d8675(0x8f)](',\x20');_0x163ad9+=_0x1d8675(0xc0)+_0x1fba6f+'\x0aFROM\x20'+_0x4a091f;if(_0x5b92aa){const _0x3f155b=this[_0x1d8675(0xe4)](_0x5b92aa);_0x3f155b&&(_0x163ad9+=_0x1d8675(0x118)+_0x3f155b);}if(_0x269525&&_0x2b6dad[_0x1d8675(0xf8)](_0x269525['length'],0x0)){const _0xb7b907=this[_0x1d8675(0xc1)](_0x269525);_0xb7b907&&(_0x163ad9+='\x0aORDER\x20BY\x20'+_0xb7b907);}logger['info']({'event':_0x2b6dad[_0x1d8675(0x10c)],'query':_0x163ad9[_0x1d8675(0xa7)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x5ca9c7=await executeQuery(_0x163ad9);let _0x2486d2=_0x5ca9c7;return dbType===_0x1d8675(0xc5)&&_0x5ca9c7&&_0x5ca9c7[_0x1d8675(0xb4)]>0x0&&(_0x2486d2=_0x5ca9c7['map'](_0x85ee08=>{const _0x9fcb86=_0x1d8675,_0x5ba8f7={};for(const [_0xb9436d,_0x2ab83b]of Object[_0x9fcb86(0x10d)](_0x85ee08)){_0x5ba8f7[_0xb9436d['toLowerCase']()]=_0x2ab83b;}return _0x5ba8f7;})),logger[_0x1d8675(0x93)]({'event':_0x2b6dad[_0x1d8675(0x100)],'rows':_0x2486d2['length']},_0x2b6dad['ZUlWD']),_0x2486d2;}catch(_0x12a6bb){logError(_0x12a6bb,{'event':_0x1d8675(0xb6)},_0x2b6dad[_0x1d8675(0x103)]);throw _0x12a6bb;}}[a0_0x4481d9(0x88)](_0x5f2bec){const _0x23ce1f=a0_0x4481d9,_0x1c8f65={'pxYpS':function(_0x2fc76d,_0x24b016){return _0x2fc76d===_0x24b016;}};if(_0x1c8f65[_0x23ce1f(0xb1)](typeof _0x5f2bec,'string'))return _0x5f2bec[_0x23ce1f(0xbe)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x5f2bec))return _0x5f2bec[_0x23ce1f(0xfd)](_0x1bd207=>this[_0x23ce1f(0x88)](_0x1bd207));}return _0x5f2bec;}['buildWhereClause'](_0x5c4cff){const _0x4837e0=a0_0x4481d9,_0x1e997d={'pIjHa':function(_0x38df07,_0x1a977a){return _0x38df07===_0x1a977a;},'vJsCp':function(_0x56dad5,_0x53c2f6){return _0x56dad5||_0x53c2f6;},'bSWTf':'invalid_condition','tSvrn':function(_0x3a47f4,_0x9a9299){return _0x3a47f4===_0x9a9299;},'WnmZG':_0x4837e0(0xde),'fswZO':_0x4837e0(0x117),'XJGnu':_0x4837e0(0xb7),'Umrjd':'IS\x20NULL','GFahg':_0x4837e0(0xea)};if(!_0x5c4cff||!_0x5c4cff[_0x4837e0(0xd7)]||_0x5c4cff['conditions'][_0x4837e0(0xb4)]===0x0)return'';const {logic:_0x2bccdf,conditions:_0x9aa4a9}=_0x5c4cff,_0x1f1058=_0x2bccdf&&_0x1e997d[_0x4837e0(0x115)](_0x2bccdf[_0x4837e0(0xae)](),'OR')?'\x20OR\x20':'\x20AND\x20',_0xd97152=_0x9aa4a9[_0x4837e0(0xfd)](_0x3558a1=>{const _0x4127ad=_0x4837e0,{key:_0x30e04e,operator:_0x48b4e7,value:_0x4c9e11,sensitive:_0x57a0a2}=_0x3558a1;if(_0x1e997d[_0x4127ad(0xfb)](!_0x30e04e,!_0x48b4e7))return logger['warn']({'event':_0x1e997d['bSWTf'],'condition':_0x3558a1},_0x4127ad(0xd2)),null;const _0x90d95c=this[_0x4127ad(0x88)](_0x4c9e11),_0x56a453=_0x57a0a2!==undefined?_0x57a0a2:!![];let _0x2d9479=_0x30e04e,_0x2d5ec7=_0x90d95c;!_0x56a453&&(_0x2d9479='UPPER('+_0x30e04e+')',_0x1e997d['tSvrn'](typeof _0x4c9e11,_0x4127ad(0xde))&&(_0x2d5ec7=_0x4c9e11['toUpperCase']()));const _0x5a46d3=_0x1e997d[_0x4127ad(0x84)](typeof _0x2d5ec7,_0x1e997d[_0x4127ad(0x81)])?'\x27'+_0x2d5ec7[_0x4127ad(0xbe)](/'/g,'\x27\x27')+'\x27':_0x2d5ec7;switch(_0x48b4e7['toUpperCase']()){case'=':case'!=':case'<>':return _0x2d9479+'\x20'+_0x48b4e7+'\x20'+_0x5a46d3;case'>':case'<':case'>=':case'<=':const _0x21ec33=typeof _0x90d95c==='string'?'\x27'+_0x90d95c[_0x4127ad(0xbe)](/'/g,'\x27\x27')+'\x27':_0x90d95c;return _0x30e04e+'\x20'+_0x48b4e7+'\x20'+_0x21ec33;case _0x1e997d['fswZO']:case _0x1e997d[_0x4127ad(0x90)]:return _0x2d9479+'\x20'+_0x48b4e7+'\x20'+_0x5a46d3;case'IN':if(Array[_0x4127ad(0xdd)](_0x90d95c)){let _0x4e7200;return!_0x56a453?_0x4e7200=_0x90d95c[_0x4127ad(0xfd)](_0x5bac7a=>{const _0x242d6e=_0x4127ad,_0x558857=_0x1e997d['pIjHa'](typeof _0x5bac7a,'string')?_0x5bac7a[_0x242d6e(0xae)]():_0x5bac7a;return typeof _0x558857===_0x242d6e(0xde)?'\x27'+_0x558857[_0x242d6e(0xbe)](/'/g,'\x27\x27')+'\x27':_0x558857;})[_0x4127ad(0x8f)](',\x20'):_0x4e7200=_0x90d95c[_0x4127ad(0xfd)](_0x583a6b=>typeof _0x583a6b===_0x4127ad(0xde)?'\x27'+_0x583a6b['replace'](/'/g,'\x27\x27')+'\x27':_0x583a6b)['join'](',\x20'),_0x2d9479+'\x20IN\x20('+_0x4e7200+')';}return _0x2d9479+'\x20IN\x20('+_0x5a46d3+')';case _0x1e997d['Umrjd']:return _0x30e04e+_0x4127ad(0x9e);case _0x4127ad(0xc3):return _0x30e04e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4127ad(0x94),'operator':_0x48b4e7},_0x1e997d['GFahg']);return _0x2d9479+_0x4127ad(0xfe)+_0x5a46d3;}})['filter'](_0xc9ebf8=>_0xc9ebf8!==null);if(_0xd97152[_0x4837e0(0xb4)]===0x0)return'';return _0xd97152['join'](_0x1f1058);}[a0_0x4481d9(0xc1)](_0x535ffa){const _0x50b492=a0_0x4481d9,_0x5b6ea0={'wzFSs':'invalid_order','TdXDg':'DESC','dMIQJ':function(_0x37d0ec,_0x1f0851){return _0x37d0ec===_0x1f0851;}};if(!_0x535ffa||_0x5b6ea0[_0x50b492(0x109)](_0x535ffa['length'],0x0))return'';const _0x5ed432=_0x535ffa[_0x50b492(0xfd)](_0x322dd1=>{const _0x238e1e=_0x50b492,{column:_0x342df3,direction:_0x2d9712}=_0x322dd1;if(!_0x342df3)return logger['warn']({'event':_0x5b6ea0[_0x238e1e(0x9f)],'item':_0x322dd1},_0x238e1e(0xc8)),null;const _0xa50523=_0x2d9712&&_0x2d9712['toUpperCase']()==='DESC'?_0x5b6ea0['TdXDg']:_0x238e1e(0xa4);return _0x342df3+'\x20'+_0xa50523;})['filter'](_0x476bd1=>_0x476bd1!==null);if(_0x5ed432['length']===0x0)return'';return _0x5ed432[_0x50b492(0x8f)](',\x20');}async[a0_0x4481d9(0xf1)](_0x2079cd,_0x43e75e,_0x423c16){const _0x514d3a=a0_0x4481d9,_0x56f1e4={'GsjeF':function(_0x287273,_0x4f3268){return _0x287273(_0x4f3268);},'lcpOK':_0x514d3a(0x96),'LXpBf':'all','wpvHM':function(_0x369a40,_0x10b68c){return _0x369a40>_0x10b68c;},'qSCji':_0x514d3a(0x102),'aBmps':_0x514d3a(0xe1),'apVsf':_0x514d3a(0x7a)},_0x57b665=_0x56f1e4['GsjeF'](require,_0x56f1e4['lcpOK']),_0x3c6f05=new _0x57b665(),_0x34bb7c=_0x423c16['filename']?_0x423c16['filename']+'-'+_0x2079cd:'export-'+_0x2079cd,_0x469b6b=path['join'](this[_0x514d3a(0xeb)],_0x34bb7c+_0x514d3a(0xf0));let _0x52e24f=_0x423c16['columns'];const _0x281d9b=_0x52e24f&&_0x52e24f['length']===0x1&&(_0x52e24f[0x0]==='*'||_0x52e24f[0x0]['toLowerCase']()===_0x56f1e4[_0x514d3a(0x8c)]);if(_0x56f1e4[_0x514d3a(0xaa)](_0x43e75e['length'],0x0)){const _0x38c7e6=Object[_0x514d3a(0x9b)](_0x43e75e[0x0]);if(_0x281d9b)_0x52e24f=_0x38c7e6,logger['info']({'event':_0x56f1e4['qSCji'],'columns':_0x52e24f},'Using\x20all\x20'+_0x52e24f['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x52e24f&&_0x56f1e4['wpvHM'](_0x52e24f['length'],0x0)){const _0x71698a=_0x52e24f['filter'](_0x2b8e3a=>_0x38c7e6['includes'](_0x2b8e3a));_0x71698a[_0x514d3a(0xb4)]>0x0?(_0x52e24f=_0x71698a,logger[_0x514d3a(0x93)]({'event':_0x514d3a(0x82),'requestedColumns':_0x423c16[_0x514d3a(0xf7)],'validColumns':_0x52e24f},'Using\x20'+_0x52e24f[_0x514d3a(0xb4)]+_0x514d3a(0x7d))):(_0x52e24f=_0x38c7e6,logger[_0x514d3a(0x7e)]({'event':_0x514d3a(0x8e),'requestedColumns':_0x423c16[_0x514d3a(0xf7)],'availableColumns':_0x38c7e6},_0x514d3a(0x105)+_0x38c7e6['length']+'\x20columns'));}else _0x52e24f=_0x38c7e6,logger['info']({'event':_0x56f1e4['aBmps'],'columns':_0x52e24f},_0x514d3a(0xaf)+_0x52e24f[_0x514d3a(0xb4)]+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x56f1e4['apVsf'],'columns':_0x52e24f},'Using\x20'+(_0x52e24f?.[_0x514d3a(0xb4)]||0x0)+_0x514d3a(0xa5));return await _0x3c6f05[_0x514d3a(0x9a)]({'data':_0x43e75e,'columns':_0x52e24f,'columnFormats':_0x423c16['columnFormats']||null,'fieldLabels':_0x423c16['fieldLabels']||null,'filePath':_0x469b6b,'onProgress':async _0xbe6e63=>{const _0xd2d7ce=_0x514d3a;await redisHelper['updateJob'](_0x2079cd,{'progress':Math['round'](_0xbe6e63),'processed_rows':Math[_0xd2d7ce(0xcf)](_0xbe6e63/0x64*_0x43e75e[_0xd2d7ce(0xb4)])});}}),_0x469b6b;}async['getFilePath'](_0x52105d){const _0xa346ef=a0_0x4481d9,_0x31f4d7={'iTUkz':function(_0xf44238,_0x2ba1d7,_0x310a63,_0x174107){return _0xf44238(_0x2ba1d7,_0x310a63,_0x174107);}},_0x1b7b52=await redisHelper['getJob'](_0x52105d);if(!_0x1b7b52||_0x1b7b52['status']!=='completed')return null;try{return await fs[_0xa346ef(0xe5)](_0x1b7b52[_0xa346ef(0x85)]),_0x1b7b52['file_path'];}catch(_0x10fcb9){return _0x31f4d7[_0xa346ef(0xd9)](logError,_0x10fcb9,{'event':'export_file_not_found','jobId':_0x52105d,'path':_0x1b7b52[_0xa346ef(0x85)]},_0xa346ef(0xba)),null;}}async['cleanup'](){const _0x1b902c=a0_0x4481d9,_0x4c541e={'IUukr':function(_0x43b4fe,_0x32956b){return _0x43b4fe-_0x32956b;},'CIbBD':function(_0x215ead,_0x354e52){return _0x215ead>_0x354e52;},'cJWFt':_0x1b902c(0xc4),'MqGQr':'Export\x20cleanup\x20completed'};logger['info']({'event':_0x1b902c(0x98)},'Starting\x20export\x20cleanup');const _0x130710=await redisHelper[_0x1b902c(0xa6)]();let _0x3608de=0x0;for(const _0x23f965 of _0x130710){const _0x36cfb4=new Date(_0x23f965[_0x1b902c(0xb8)]),_0x2188ca=new Date(),_0x477784=_0x4c541e['IUukr'](_0x2188ca,_0x36cfb4)/(0x3e8*0x3c*0x3c);if(_0x4c541e[_0x1b902c(0x116)](_0x477784,0x1)){if(_0x23f965[_0x1b902c(0x85)])try{await fs['unlink'](_0x23f965['file_path']),logger['info']({'event':'export_file_deleted','path':_0x23f965['file_path']},_0x1b902c(0xec));}catch(_0x4375bd){logger['warn']({'event':_0x1b902c(0xb3),'path':_0x23f965[_0x1b902c(0x85)],'error':_0x4375bd[_0x1b902c(0xd3)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x23f965[_0x1b902c(0xd0)]),_0x3608de++;}}return logger[_0x1b902c(0x93)]({'event':_0x4c541e['cJWFt'],'deleted':_0x3608de},_0x4c541e['MqGQr']),_0x3608de;}}module[a0_0x4481d9(0x99)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x1df9ed=a0_0x5c41;(function(_0x1c4b7c,_0x394c4e){const _0x60fc1c=a0_0x5c41,_0x5eac84=_0x1c4b7c();while(!![]){try{const _0xc842e4=parseInt(_0x60fc1c(0x191))/0x1*(parseInt(_0x60fc1c(0x1a3))/0x2)+-parseInt(_0x60fc1c(0x197))/0x3*(-parseInt(_0x60fc1c(0x1c6))/0x4)+-parseInt(_0x60fc1c(0x198))/0x5*(-parseInt(_0x60fc1c(0x1a9))/0x6)+parseInt(_0x60fc1c(0x1b5))/0x7+parseInt(_0x60fc1c(0x1b1))/0x8*(parseInt(_0x60fc1c(0x1ac))/0x9)+parseInt(_0x60fc1c(0x1bd))/0xa+parseInt(_0x60fc1c(0x18d))/0xb*(-parseInt(_0x60fc1c(0x199))/0xc);if(_0xc842e4===_0x394c4e)break;else _0x5eac84['push'](_0x5eac84['shift']());}catch(_0x4d1b62){_0x5eac84['push'](_0x5eac84['shift']());}}}(a0_0x5cd1,0xdb0ed));function a0_0x5c41(_0x3d157d,_0x88b22f){_0x3d157d=_0x3d157d-0x18a;const _0x5cd1b8=a0_0x5cd1();let _0x5c41c4=_0x5cd1b8[_0x3d157d];if(a0_0x5c41['QaHItD']===undefined){var _0x712ea8=function(_0x291a36){const _0x492410='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x472da2='',_0x409bd9='';for(let _0x1a2ce0=0x0,_0x3712a2,_0x57993f,_0x2c0d1b=0x0;_0x57993f=_0x291a36['charAt'](_0x2c0d1b++);~_0x57993f&&(_0x3712a2=_0x1a2ce0%0x4?_0x3712a2*0x40+_0x57993f:_0x57993f,_0x1a2ce0++%0x4)?_0x472da2+=String['fromCharCode'](0xff&_0x3712a2>>(-0x2*_0x1a2ce0&0x6)):0x0){_0x57993f=_0x492410['indexOf'](_0x57993f);}for(let _0x577d19=0x0,_0x330d91=_0x472da2['length'];_0x577d19<_0x330d91;_0x577d19++){_0x409bd9+='%'+('00'+_0x472da2['charCodeAt'](_0x577d19)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x409bd9);};a0_0x5c41['mANHid']=_0x712ea8,a0_0x5c41['tJNWag']={},a0_0x5c41['QaHItD']=!![];}const _0x4a9d51=_0x5cd1b8[0x0],_0x1f8798=_0x3d157d+_0x4a9d51,_0x4fd2e5=a0_0x5c41['tJNWag'][_0x1f8798];return!_0x4fd2e5?(_0x5c41c4=a0_0x5c41['mANHid'](_0x5c41c4),a0_0x5c41['tJNWag'][_0x1f8798]=_0x5c41c4):_0x5c41c4=_0x4fd2e5,_0x5c41c4;}const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require('path');function a0_0x5cd1(){const _0x57557c=['zMLLBgrmywjLBhm','mZjAyxLzvve','A2v5','BhHKCwe','zxHWB3j0x3rYAwDNzxjFzxjYB3i','AgfUzgXLrxHWB3j0rg93BMXVywq','rxHWB3j0igzPBguGzg93BMXVywrLzcbZDwnJzxnZzNvSBhK','mte0A3rpEhfT','l2v4Cg9YDc1KB3DUBg9Hza','EfDYtNi','mZG4ndr5s01NqM0','C3rHDhvZ','iIbPCYbUB3qGywXSB3DLza','sKreyNK','yM9KEq','mJKYohbbvhbtAa','Evzzv04','CMvWBgfJzq','z2v0','nZC0nJC2BM1trLvH','qMD0rLG','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','BwvZC2fNzq','sw52ywXPzcb3AgvYzsbMAwvSza','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','AxnbCNjHEq','y2XLyw51Ca','mtaYndG3mejdyLjVrG','Bg9NAwm','yu1eBxG','y29SDw1U','rMfPBgvKihrVigDLDcbLEhbVCNqGC3rHDhvZ','Cg9ZDa','EgXZEa','l2fWAs8','Aw5JBhvKzxm','mtG0mdq4nfPuuhnfzW','CxvLCNK','ANnVBG','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','mta2odu2ntnXv29RyKK','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','AgfUzgXLrxHWB3j0u3rHDhvZ','z2v0rMLSzvbHDgG','otmWnZDjwe9nALO','AgvHzgvYC1nLBNq','y2XLyw51Cf9LCNjVCG','zxHWB3j0uxvLCNK','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','Aw5MBW','nNf2tuPIEG','nda4ndq1y2rAqxPA','nJbPzwDZvLu','AgfUzgXLrxHWB3j0vhjPz2DLCG','sw52ywXPzcbZB3j0ignVBhvTBG','y29SDw1UCW','BxPSBvK','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza','l2fWAs9Hzg1PBI9LEhbVCNqTy2XLyw51Ca','l2v4Cg9YDc1ZDgf0Dxm','zxHWB3j0x2rVD25SB2fKzwq'];a0_0x5cd1=function(){return _0x57557c;};return a0_0x5cd1();}class ExportHandler{static['registerRoutes'](_0x1829cd,_0x52a563,_0x26d1c5,_0x101d47){const _0x571976=a0_0x5c41,_0x1f046c={'ywuKl':function(_0x365e6d,_0x140499,_0x3e9676,_0x260dac){return _0x365e6d(_0x140499,_0x3e9676,_0x260dac);},'MdNjP':_0x571976(0x1a6)},_0x256382=_0x571976(0x1c4)+_0x52a563+'/'+_0x26d1c5;_0x1829cd[_0x571976(0x1c2)](_0x256382+'/export',async(_0x4eb9d3,_0x276e89)=>{const _0x396ce2=_0x571976;try{await this[_0x396ce2(0x19a)](_0x4eb9d3,_0x276e89,_0x101d47,_0x52a563,_0x26d1c5);}catch(_0x40d267){_0x1f046c['ywuKl'](logError,_0x40d267,{'event':_0x1f046c['MdNjP']},_0x396ce2(0x195)),_0x276e89['status'](0x1f4)[_0x396ce2(0x18b)]({'success':![],'error':_0x40d267[_0x396ce2(0x1b8)]});}}),_0x1829cd['get'](_0x256382+_0x571976(0x1a0),async(_0x769111,_0x575dfe)=>{const _0x3adca1=_0x571976;try{await this[_0x3adca1(0x18f)](_0x769111,_0x575dfe);}catch(_0x4f995){logError(_0x4f995,{'event':'export_status_error'},_0x3adca1(0x1c1)),_0x575dfe['status'](0x1f4)[_0x3adca1(0x18b)]({'success':![],'error':_0x4f995['message']});}}),_0x1829cd[_0x571976(0x1b4)](_0x256382+_0x571976(0x1aa),async(_0x4ba05f,_0x116daf)=>{const _0x2dee73=_0x571976;try{await this['handleExportDownload'](_0x4ba05f,_0x116daf);}catch(_0x178e95){logError(_0x178e95,{'event':'export_download_error'},_0x2dee73(0x1ba)),!_0x116daf[_0x2dee73(0x192)]&&_0x116daf[_0x2dee73(0x1ad)](0x1f4)['json']({'success':![],'error':_0x178e95[_0x2dee73(0x1b8)]});}});}static async['handleExportTrigger'](_0x2760ee,_0x4affae,_0x442a29,_0x4746ab,_0x4f0a05){const _0x35d27c=a0_0x5c41,_0x22207b={'GvRic':function(_0x27eb54,_0x1543c4){return _0x27eb54!==_0x1543c4;},'JDDby':_0x35d27c(0x1c3),'UWPPF':'Invalid\x20sort_columns\x20structure.\x20Expected:\x20[{\x20column:\x20\x22col\x22,\x20direction:\x20\x22ASC|DESC\x22\x20}]','pwitD':_0x35d27c(0x1b9),'dPAAu':_0x35d27c(0x19b),'xWrNr':'-export','yVYWN':function(_0x4349e6,_0x24d542){return _0x4349e6||_0x24d542;}},{format:_0x170a95,filename:_0x5ba4c8,columns:_0x5f12f4,where:_0x11eb56,sort_columns:_0x2bcfc9}=_0x2760ee[_0x35d27c(0x1b0)];if(_0x170a95&&_0x22207b['GvRic'](_0x170a95,_0x22207b[_0x35d27c(0x1af)]))return _0x4affae[_0x35d27c(0x1ad)](0x190)['json']({'success':![],'error':_0x35d27c(0x18e)});if(_0x11eb56){if(!_0x11eb56[_0x35d27c(0x1be)]||!_0x11eb56['conditions']||!Array[_0x35d27c(0x1bb)](_0x11eb56['conditions']))return _0x4affae['status'](0x190)['json']({'success':![],'error':_0x35d27c(0x1b7)});}if(_0x2bcfc9){if(!Array['isArray'](_0x2bcfc9))return _0x4affae[_0x35d27c(0x1ad)](0x190)[_0x35d27c(0x18b)]({'success':![],'error':_0x22207b['UWPPF']});}const _0x4b961c=_0x442a29[_0x35d27c(0x19c)]||[];if(_0x11eb56&&Array['isArray'](_0x11eb56['conditions']))for(const _0x1ce0f9 of _0x11eb56['conditions']){if(_0x1ce0f9['key']&&!_0x4b961c[_0x35d27c(0x1c5)](_0x1ce0f9[_0x35d27c(0x1a4)]))return _0x4affae[_0x35d27c(0x1ad)](0x190)['json']({'success':![],'error':_0x22207b['pwitD'],'message':'Field\x20\x22'+_0x1ce0f9['key']+_0x35d27c(0x1ae),'validFields':_0x4b961c});}if(Array['isArray'](_0x2bcfc9))for(const _0x5e6961 of _0x2bcfc9){if(_0x5e6961[_0x35d27c(0x1c0)]&&!_0x4b961c[_0x35d27c(0x1c5)](_0x5e6961['column']))return _0x4affae['status'](0x190)['json']({'success':![],'error':_0x22207b['dPAAu'],'message':'Column\x20\x22'+_0x5e6961['column']+'\x22\x20is\x20not\x20allowed','validFields':_0x4b961c});}const _0xe5004a=_0x442a29['tableName'][_0x35d27c(0x1b3)]('.','-')+_0x22207b[_0x35d27c(0x1ab)],_0x3aa211=await exportService['createJob']({'moduleName':_0x4746ab,'endpointName':_0x4f0a05,'tableName':_0x442a29['tableName'],'format':_0x170a95||_0x35d27c(0x1c3),'filename':_0x5ba4c8||_0xe5004a,'columns':_0x5f12f4||_0x442a29['columns'],'exportQuery':_0x442a29[_0x35d27c(0x194)]||null,'columnFormats':_0x442a29['columnFormats']||null,'fieldLabels':_0x442a29[_0x35d27c(0x1a2)]||null,'where':_0x22207b[_0x35d27c(0x1b2)](_0x11eb56,null),'sort_columns':_0x2bcfc9||null});_0x4affae['json']({'success':!![],'data':_0x3aa211});}static async[a0_0x1df9ed(0x18f)](_0x19c21e,_0xf5c83e){const _0x16f81c=a0_0x1df9ed,_0x19b59a={'SUsvi':_0x16f81c(0x19e)},{job_id:_0x387d6d}=_0x19c21e['query'];if(!_0x387d6d)return _0xf5c83e['status'](0x190)['json']({'success':![],'error':_0x19b59a['SUsvi']});const _0x2242d9=await exportService['getJobStatus'](_0x387d6d);if(!_0x2242d9['success'])return _0xf5c83e[_0x16f81c(0x1ad)](0x194)[_0x16f81c(0x18b)](_0x2242d9);_0xf5c83e[_0x16f81c(0x18b)](_0x2242d9);}static async[a0_0x1df9ed(0x1a7)](_0x342b4b,_0x44c9f8){const _0x4d9a42=a0_0x1df9ed,_0x5a73eb={'lxdqa':_0x4d9a42(0x18c),'VuweH':'Failed\x20to\x20download\x20export\x20file','dZljB':'Failed\x20to\x20download\x20file','mzlmY':_0x4d9a42(0x1a1),'KzfJm':_0x4d9a42(0x1a8),'CMlMq':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'},{job_id:_0xba414c}=_0x342b4b[_0x4d9a42(0x18a)];if(!_0xba414c)return _0x44c9f8['status'](0x190)[_0x4d9a42(0x18b)]({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x145181=await exportService[_0x4d9a42(0x190)](_0xba414c);if(!_0x145181)return _0x44c9f8['status'](0x194)[_0x4d9a42(0x18b)]({'success':![],'error':_0x5a73eb['CMlMq']});_0x44c9f8['download'](_0x145181,''+path['basename'](_0x145181),_0x558da2=>{const _0xb253aa=_0x4d9a42;_0x558da2?(logError(_0x558da2,{'event':_0x5a73eb[_0xb253aa(0x1a5)],'jobId':_0xba414c},_0x5a73eb['VuweH']),!_0x44c9f8[_0xb253aa(0x192)]&&_0x44c9f8[_0xb253aa(0x1ad)](0x1f4)['json']({'success':![],'error':_0x5a73eb['dZljB']})):logger[_0xb253aa(0x196)]({'event':_0x5a73eb[_0xb253aa(0x19d)],'jobId':_0xba414c},_0x5a73eb['KzfJm']);});}static['registerCleanupRoute'](_0x2a930d){const _0x4397c9=a0_0x1df9ed,_0x5bfdd4={'BgtFX':function(_0x3c1354,_0x5a248e,_0x40efc6,_0x58c373){return _0x3c1354(_0x5a248e,_0x40efc6,_0x58c373);},'aMDmx':_0x4397c9(0x19f)};_0x2a930d[_0x4397c9(0x1b4)](_0x5bfdd4[_0x4397c9(0x1bf)],async(_0x16bc6a,_0x1cdfaa)=>{const _0x5de83e=_0x4397c9;try{const _0x1277cd=await exportService[_0x5de83e(0x1bc)]();_0x1cdfaa[_0x5de83e(0x18b)]({'success':!![],'data':{'deleted':_0x1277cd,'message':'Cleanup\x20completed'}});}catch(_0x372c68){_0x5bfdd4[_0x5de83e(0x1b6)](logError,_0x372c68,{'event':_0x5de83e(0x193)},'Cleanup\x20failed'),_0x1cdfaa[_0x5de83e(0x1ad)](0x1f4)['json']({'success':![],'error':_0x372c68['message']});}});}}module['exports']=ExportHandler;
1
+ function a0_0x5c41(_0x240af7,_0x4f4383){_0x240af7=_0x240af7-0x13c;const _0x509e2c=a0_0x509e();let _0x5c4192=_0x509e2c[_0x240af7];if(a0_0x5c41['OtLUEf']===undefined){var _0x116f4e=function(_0x24b33f){const _0xa954ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54567c='',_0x49a9a1='';for(let _0xae8ad1=0x0,_0x2020b5,_0x3825b8,_0x210d8a=0x0;_0x3825b8=_0x24b33f['charAt'](_0x210d8a++);~_0x3825b8&&(_0x2020b5=_0xae8ad1%0x4?_0x2020b5*0x40+_0x3825b8:_0x3825b8,_0xae8ad1++%0x4)?_0x54567c+=String['fromCharCode'](0xff&_0x2020b5>>(-0x2*_0xae8ad1&0x6)):0x0){_0x3825b8=_0xa954ce['indexOf'](_0x3825b8);}for(let _0x1bf975=0x0,_0xa39172=_0x54567c['length'];_0x1bf975<_0xa39172;_0x1bf975++){_0x49a9a1+='%'+('00'+_0x54567c['charCodeAt'](_0x1bf975)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a9a1);};a0_0x5c41['FXpQOX']=_0x116f4e,a0_0x5c41['gQPCqf']={},a0_0x5c41['OtLUEf']=!![];}const _0x13f72d=_0x509e2c[0x0],_0x32d6d6=_0x240af7+_0x13f72d,_0x2aabcb=a0_0x5c41['gQPCqf'][_0x32d6d6];return!_0x2aabcb?(_0x5c4192=a0_0x5c41['FXpQOX'](_0x5c4192),a0_0x5c41['gQPCqf'][_0x32d6d6]=_0x5c4192):_0x5c4192=_0x2aabcb,_0x5c4192;}const a0_0x7bcbcf=a0_0x5c41;(function(_0x2e498f,_0xf9aa5b){const _0x235253=a0_0x5c41,_0x4607de=_0x2e498f();while(!![]){try{const _0x45ff3e=parseInt(_0x235253(0x179))/0x1*(parseInt(_0x235253(0x14b))/0x2)+-parseInt(_0x235253(0x14a))/0x3+parseInt(_0x235253(0x168))/0x4+-parseInt(_0x235253(0x169))/0x5*(-parseInt(_0x235253(0x162))/0x6)+parseInt(_0x235253(0x149))/0x7*(parseInt(_0x235253(0x13e))/0x8)+-parseInt(_0x235253(0x155))/0x9*(parseInt(_0x235253(0x175))/0xa)+-parseInt(_0x235253(0x154))/0xb;if(_0x45ff3e===_0xf9aa5b)break;else _0x4607de['push'](_0x4607de['shift']());}catch(_0x38eb9a){_0x4607de['push'](_0x4607de['shift']());}}}(a0_0x509e,0x874eb));const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require(a0_0x7bcbcf(0x144));function a0_0x509e(){const _0xa39647=['y29UzgL0Aw9UCW','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','q2XLyw51CcbMywLSzwq','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','zxHWB3j0x3n0yxr1C19LCNjVCG','yM9KEq','sw52ywXPzcb3AgvYzsbMAwvSza','mtm4nta1odrgy2TluMW','ou1sCgzvuG','A05treG','vKXrvfm','wNbxDNy','CwvWzNy','y29SDw1UCW','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','yMfZzw5HBwu','z2v0','l2v4Cg9YDc1ZDgf0Dxm','svDzC0S','CMvNAxn0zxjsB3v0zxm','AgfUzgXLrxHWB3j0rg93BMXVywq','mJyYnJKZmLndC09cyG','uwP4ruC','Cg9ZDa','rMvrBKW','tw9Oqxy','rxHWB3j0igzPBguGzg93BMXVywrLzcbZDwnJzxnZzNvSBhK','ndqYmte1nKDMAhHXzq','mtb2sePut3m','CMvNAxn0zxjdBgvHBNvWuM91Dgu','y2XLyw51Cf9LCNjVCG','ufn5ufG','C3vJy2vZCW','rMfPBgvKihrVigrVD25SB2fKigzPBgu','A2v5','zgLor3K','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza','rMLSzsbUB3qGCMvHzhKGB3iGBM90igzVDw5KlIbdAgvJAYbQB2iGC3rHDhvZigzPCNn0lG','AgfUzgXLrxHWB3j0u3rHDhvZ','y29SDw1UrM9YBwf0CW','nJC1mJm4meD0DurUtW','lwv4Cg9YDa','DgfIBgvoyw1L','zxHWB3j0uxvLCNK','mZi1mJG1uMHNBxvl','AgvHzgvYC1nLBNq','C3rHDhvZ','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','mJe4nduZnKT3su9eDq','y2XLyw51Ca','BwvZC2fNzq','ANnVBG','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','z2v0rMLSzvbHDgG','Cgf0Aa','q2XLyw51CcbJB21WBgv0zwq','zxHWB3j0CW','AxnbCNjHEq','EgXZEa','mJfOExnoy3q','mtKXmdq1ngTyzMLmrG','mKT2uhPSBa','l2fWAs9Hzg1PBI9LEhbVCNqTy2XLyw51Ca'];a0_0x509e=function(){return _0xa39647;};return a0_0x509e();}class ExportHandler{static[a0_0x7bcbcf(0x160)](_0x36cba9,_0x1b0fe1,_0x4e2d46,_0x1ad210){const _0x223f18=a0_0x7bcbcf,_0x3fb2a1={'diNGy':function(_0x14cae6,_0xe138e2,_0xbbac23,_0x812ed9){return _0x14cae6(_0xe138e2,_0xbbac23,_0x812ed9);},'KvGYp':_0x223f18(0x151),'ixPHH':_0x223f18(0x150)},_0x21163f='/api/'+_0x1b0fe1+'/'+_0x4e2d46;_0x36cba9[_0x223f18(0x164)](_0x21163f+'/export',async(_0x4d71d5,_0x1f25e7)=>{const _0x10b42f=_0x223f18;try{await this['handleExportTrigger'](_0x4d71d5,_0x1f25e7,_0x1ad210,_0x1b0fe1,_0x4e2d46);}catch(_0x487b6f){logError(_0x487b6f,{'event':'export_trigger_error'},'Failed\x20to\x20trigger\x20export'),_0x1f25e7[_0x10b42f(0x13c)](0x1f4)['json']({'success':![],'error':_0x487b6f[_0x10b42f(0x140)]});}}),_0x36cba9['get'](_0x21163f+_0x223f18(0x15e),async(_0x3146bf,_0x1ab4f2)=>{const _0x35e47f=_0x223f18;try{await this[_0x35e47f(0x173)](_0x3146bf,_0x1ab4f2);}catch(_0x3a0cd8){_0x3fb2a1[_0x35e47f(0x170)](logError,_0x3a0cd8,{'event':_0x3fb2a1['KvGYp']},'Failed\x20to\x20get\x20export\x20status'),_0x1ab4f2['status'](0x1f4)[_0x35e47f(0x141)]({'success':![],'error':_0x3a0cd8['message']});}}),_0x36cba9['get'](_0x21163f+'/export-download',async(_0x35fbb5,_0xa3eb7a)=>{const _0x20f18a=_0x223f18;try{await this['handleExportDownload'](_0x35fbb5,_0xa3eb7a);}catch(_0x46eac7){logError(_0x46eac7,{'event':'export_download_error'},_0x3fb2a1['ixPHH']),!_0xa3eb7a[_0x20f18a(0x17a)]&&_0xa3eb7a[_0x20f18a(0x13c)](0x1f4)['json']({'success':![],'error':_0x46eac7['message']});}});}static async['handleExportTrigger'](_0x19e09a,_0x104e2f,_0x373b4d,_0x2fa60b,_0x5e7613){const _0x35b95b=a0_0x7bcbcf,_0x2425cd={'kaLTF':function(_0x7c679,_0x573056){return _0x7c679!==_0x573056;},'ZpWvv':_0x35b95b(0x148),'kUohK':_0x35b95b(0x15b),'MohAv':'Invalid\x20sort\x20column','QjxEG':function(_0xfa82d6,_0x5acf90){return _0xfa82d6+_0x5acf90;},'plomO':_0x35b95b(0x176),'PSyPX':function(_0x41ae89,_0x297982){return _0x41ae89||_0x297982;},'kNSDH':function(_0x3346ac,_0x27e70b){return _0x3346ac||_0x27e70b;},'ZMRcD':function(_0x24c4ac,_0x2fced0){return _0x24c4ac||_0x2fced0;}},{format:_0x2c4159,filename:_0x2638ac,columns:_0x102644,where:_0x3a988d,sort_columns:_0xbe93f}=_0x19e09a[_0x35b95b(0x152)];if(_0x2c4159&&_0x2425cd['kaLTF'](_0x2c4159,_0x2425cd[_0x35b95b(0x158)]))return _0x104e2f[_0x35b95b(0x13c)](0x190)['json']({'success':![],'error':_0x2425cd['kUohK']});if(_0x3a988d){if(!_0x3a988d['logic']||!_0x3a988d['conditions']||!Array[_0x35b95b(0x147)](_0x3a988d[_0x35b95b(0x14d)]))return _0x104e2f[_0x35b95b(0x13c)](0x190)['json']({'success':![],'error':_0x35b95b(0x14e)});}if(_0xbe93f){if(!Array['isArray'](_0xbe93f))return _0x104e2f[_0x35b95b(0x13c)](0x190)['json']({'success':![],'error':'Invalid\x20sort_columns\x20structure.\x20Expected:\x20[{\x20column:\x20\x22col\x22,\x20direction:\x20\x22ASC|DESC\x22\x20}]'});}const _0x3e6c20=_0x373b4d[_0x35b95b(0x15a)]||[];if(_0x3a988d&&Array['isArray'](_0x3a988d[_0x35b95b(0x14d)]))for(const _0x2a5385 of _0x3a988d[_0x35b95b(0x14d)]){if(_0x2a5385[_0x35b95b(0x16f)]&&!_0x3e6c20['includes'](_0x2a5385['key']))return _0x104e2f['status'](0x190)['json']({'success':![],'error':_0x35b95b(0x153),'message':'Field\x20\x22'+_0x2a5385['key']+'\x22\x20is\x20not\x20allowed','validFields':_0x3e6c20});}if(Array['isArray'](_0xbe93f))for(const _0x2b5830 of _0xbe93f){if(_0x2b5830['column']&&!_0x3e6c20['includes'](_0x2b5830['column']))return _0x104e2f['status'](0x190)[_0x35b95b(0x141)]({'success':![],'error':_0x2425cd[_0x35b95b(0x166)],'message':'Column\x20\x22'+_0x2b5830['column']+'\x22\x20is\x20not\x20allowed','validFields':_0x3e6c20});}const _0x5012e5=_0x2425cd[_0x35b95b(0x163)](_0x373b4d[_0x35b95b(0x177)]['replace']('.','-'),_0x2425cd['plomO']),_0x5b0775=await exportService['createJob']({'moduleName':_0x2fa60b,'endpointName':_0x5e7613,'tableName':_0x373b4d[_0x35b95b(0x177)],'format':_0x2425cd[_0x35b95b(0x16c)](_0x2c4159,_0x2425cd[_0x35b95b(0x158)]),'filename':_0x2425cd[_0x35b95b(0x156)](_0x2638ac,_0x5012e5),'columns':_0x102644||_0x373b4d['columns'],'exportQuery':_0x373b4d[_0x35b95b(0x178)]||null,'columnFormats':_0x373b4d[_0x35b95b(0x174)]||null,'fieldLabels':_0x373b4d['fieldLabels']||null,'where':_0x3a988d||null,'sort_columns':_0x2425cd['ZMRcD'](_0xbe93f,null)});_0x104e2f[_0x35b95b(0x141)]({'success':!![],'data':_0x5b0775});}static async[a0_0x7bcbcf(0x173)](_0x5cd8ba,_0x526ef3){const _0x2adb56=a0_0x7bcbcf,_0x1eead2={'CZmWj':_0x2adb56(0x171)},{job_id:_0x412b7c}=_0x5cd8ba['query'];if(!_0x412b7c)return _0x526ef3['status'](0x190)[_0x2adb56(0x141)]({'success':![],'error':_0x1eead2['CZmWj']});const _0x21f614=await exportService['getJobStatus'](_0x412b7c);if(!_0x21f614[_0x2adb56(0x16d)])return _0x526ef3['status'](0x194)['json'](_0x21f614);_0x526ef3['json'](_0x21f614);}static async[a0_0x7bcbcf(0x161)](_0x306b06,_0x2be4a2){const _0x40228a=a0_0x7bcbcf,_0x4a47b1={'VLQTS':function(_0x5584ff,_0x5beb7b,_0x1bbc0f,_0x1265ce){return _0x5584ff(_0x5beb7b,_0x1bbc0f,_0x1265ce);},'PBJyG':_0x40228a(0x16e),'qepfv':'export_downloaded','JDaXV':_0x40228a(0x167),'qbkFJ':_0x40228a(0x172)},{job_id:_0x514f92}=_0x306b06['query'];if(!_0x514f92)return _0x2be4a2['status'](0x190)['json']({'success':![],'error':_0x40228a(0x171)});const _0x14dbec=await exportService[_0x40228a(0x143)](_0x514f92);if(!_0x14dbec)return _0x2be4a2['status'](0x194)[_0x40228a(0x141)]({'success':![],'error':_0x4a47b1['qbkFJ']});_0x2be4a2['download'](_0x14dbec,''+path[_0x40228a(0x15c)](_0x14dbec),_0x103843=>{const _0xfb5966=_0x40228a;_0x103843?(_0x4a47b1[_0xfb5966(0x157)](logError,_0x103843,{'event':_0xfb5966(0x13d),'jobId':_0x514f92},_0xfb5966(0x142)),!_0x2be4a2[_0xfb5966(0x17a)]&&_0x2be4a2[_0xfb5966(0x13c)](0x1f4)['json']({'success':![],'error':_0x4a47b1['PBJyG']})):logger['info']({'event':_0x4a47b1[_0xfb5966(0x159)],'jobId':_0x514f92},_0x4a47b1['JDaXV']);});}static[a0_0x7bcbcf(0x16a)](_0x427290){const _0x43b969=a0_0x7bcbcf,_0x3f8a58={'FeQnL':_0x43b969(0x145),'IWYsK':_0x43b969(0x14c)};_0x427290[_0x43b969(0x15d)](_0x3f8a58[_0x43b969(0x15f)],async(_0x469713,_0x45f428)=>{const _0x4efd37=_0x43b969;try{const _0xffd607=await exportService[_0x4efd37(0x13f)]();_0x45f428[_0x4efd37(0x141)]({'success':!![],'data':{'deleted':_0xffd607,'message':_0x3f8a58[_0x4efd37(0x165)]}});}catch(_0x12ab65){logError(_0x12ab65,{'event':_0x4efd37(0x16b)},_0x4efd37(0x14f)),_0x45f428[_0x4efd37(0x13c)](0x1f4)['json']({'success':![],'error':_0x12ab65['message']});}});}}module[a0_0x7bcbcf(0x146)]=ExportHandler;