@restforgejs/platform 5.2.12 → 5.2.16

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 (190) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/bin/sdf-tools.exe +0 -0
  4. package/build-info.json +2 -2
  5. package/cli/consumer-deploy.js +1 -1
  6. package/cli/consumer.js +1 -1
  7. package/generators/cli/fast-track.js +8 -9
  8. package/generators/cli/project/auth.js +209 -0
  9. package/generators/lib/auth/component-generator.js +58 -0
  10. package/generators/lib/auth/dependency-checker.js +102 -0
  11. package/generators/lib/auth/env-injector.js +81 -0
  12. package/generators/lib/auth/migrate-runner.js +111 -0
  13. package/generators/lib/auth/prefix.js +22 -0
  14. package/generators/lib/auth/processor-generator.js +55 -0
  15. package/generators/lib/auth/sdf-generator.js +102 -0
  16. package/generators/lib/auth/template-renderer.js +29 -0
  17. package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
  18. package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
  19. package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
  20. package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
  21. package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
  22. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
  23. package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
  24. package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
  25. package/generators/lib/dbschema-kit/schema-printer.js +10 -1
  26. package/generators/lib/templates/dashboard-catalog.js +1 -1
  27. package/generators/lib/templates/db-connection-env.js +1 -1
  28. package/generators/lib/templates/dbschema-catalog.js +1 -1
  29. package/generators/lib/templates/field-validation-catalog.js +1 -1
  30. package/generators/lib/templates/mysql-template.js +1 -1
  31. package/generators/lib/templates/oracle-template.js +1 -1
  32. package/generators/lib/templates/postgres-template.js +1 -1
  33. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  34. package/generators/lib/templates/sqlite-template.js +1 -1
  35. package/integrity-manifest.json +18 -18
  36. package/package.json +1 -1
  37. package/scripts/verify-integrity.js +1 -1
  38. package/server.js +1 -1
  39. package/src/components/handlers/adjust_handler.js +1 -1
  40. package/src/components/handlers/audit_handler.js +1 -1
  41. package/src/components/handlers/delete_handler.js +1 -1
  42. package/src/components/handlers/export_handler.js +1 -1
  43. package/src/components/handlers/import_handler.js +1 -1
  44. package/src/components/handlers/insert_handler.js +1 -1
  45. package/src/components/handlers/update_handler.js +1 -1
  46. package/src/components/handlers/upload_handler.js +1 -1
  47. package/src/components/handlers/workflow_handler.js +1 -1
  48. package/src/components/integrations/webhook.js +1 -1
  49. package/src/consumers/baseConsumer.js +1 -1
  50. package/src/consumers/declarativeMapper.js +1 -1
  51. package/src/consumers/handlers/apiHandler.js +1 -1
  52. package/src/consumers/handlers/consoleHandler.js +1 -1
  53. package/src/consumers/handlers/databaseHandler.js +1 -1
  54. package/src/consumers/handlers/index.js +1 -1
  55. package/src/consumers/handlers/kafkaHandler.js +1 -1
  56. package/src/consumers/index.js +1 -1
  57. package/src/consumers/messageTransformer.js +1 -1
  58. package/src/consumers/validator.js +1 -1
  59. package/src/core/db/dialect/base-dialect.js +1 -1
  60. package/src/core/db/dialect/index.js +1 -1
  61. package/src/core/db/dialect/mysql-dialect.js +1 -1
  62. package/src/core/db/dialect/oracle-dialect.js +1 -1
  63. package/src/core/db/dialect/postgres-dialect.js +1 -1
  64. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  65. package/src/core/db/flatten-helper.js +1 -1
  66. package/src/core/db/query-builder-error.js +1 -1
  67. package/src/core/db/query-builder.js +1 -1
  68. package/src/core/db/relation-helper.js +1 -1
  69. package/src/core/handlers/delete_handler.js +1 -1
  70. package/src/core/handlers/insert_handler.js +1 -1
  71. package/src/core/handlers/update_handler.js +1 -1
  72. package/src/core/models/base-model.js +1 -1
  73. package/src/core/utils/cache-manager.js +1 -1
  74. package/src/core/utils/component-engine.js +1 -1
  75. package/src/core/utils/context-builder.js +1 -1
  76. package/src/core/utils/datetime-formatter.js +1 -1
  77. package/src/core/utils/datetime-parser.js +1 -1
  78. package/src/core/utils/db.js +1 -1
  79. package/src/core/utils/logger.js +1 -1
  80. package/src/core/utils/payload-loader.js +1 -1
  81. package/src/core/utils/security-checks.js +1 -1
  82. package/src/middleware/body-options.js +1 -1
  83. package/src/middleware/cors.js +1 -1
  84. package/src/middleware/idempotency.js +1 -1
  85. package/src/middleware/rate-limiter.js +1 -1
  86. package/src/middleware/request-logger.js +1 -1
  87. package/src/middleware/security-headers.js +1 -1
  88. package/src/models/base-model-mysql.js +1 -1
  89. package/src/models/base-model-oracle.js +1 -1
  90. package/src/models/base-model-sqlite.js +1 -1
  91. package/src/models/base-model.js +1 -1
  92. package/src/pro/caching/redis-client.js +1 -1
  93. package/src/pro/caching/redis-helper.js +1 -1
  94. package/src/pro/consumers/baseConsumer.js +1 -1
  95. package/src/pro/consumers/declarativeMapper.js +1 -1
  96. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  97. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  98. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  99. package/src/pro/consumers/handlers/index.js +1 -1
  100. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  101. package/src/pro/consumers/index.js +1 -1
  102. package/src/pro/consumers/messageTransformer.js +1 -1
  103. package/src/pro/consumers/validator.js +1 -1
  104. package/src/pro/database/base-model-mysql.js +1 -1
  105. package/src/pro/database/base-model-oracle.js +1 -1
  106. package/src/pro/database/base-model-sqlite.js +1 -1
  107. package/src/pro/database/db-mysql.js +1 -1
  108. package/src/pro/database/db-oracle.js +1 -1
  109. package/src/pro/database/db-sqlite.js +1 -1
  110. package/src/pro/excel/excel-generator.js +1 -1
  111. package/src/pro/excel/excel-parser.js +1 -1
  112. package/src/pro/excel/export-service.js +1 -1
  113. package/src/pro/excel/export_handler.js +1 -1
  114. package/src/pro/excel/import-service.js +1 -1
  115. package/src/pro/excel/import-validator.js +1 -1
  116. package/src/pro/excel/import_handler.js +1 -1
  117. package/src/pro/excel/upsert-builder.js +1 -1
  118. package/src/pro/idgen/idgen-routes.js +1 -1
  119. package/src/pro/integrations/lookup-resolver.js +1 -1
  120. package/src/pro/integrations/upload-handler-v2.js +1 -1
  121. package/src/pro/integrations/upload-handler.js +1 -1
  122. package/src/pro/integrations/webhook.js +1 -1
  123. package/src/pro/locking/lock-routes.js +1 -1
  124. package/src/pro/locking/resource-lock-manager.js +1 -1
  125. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  126. package/src/pro/messaging/kafkaService.js +1 -1
  127. package/src/pro/messaging/messagehubService.js +1 -1
  128. package/src/pro/messaging/rabbitmqService.js +1 -1
  129. package/src/pro/scheduler/job-manager.js +1 -1
  130. package/src/pro/scheduler/job-routes.js +1 -1
  131. package/src/pro/scheduler/job-validator.js +1 -1
  132. package/src/pro/storage/base-storage-provider.js +1 -1
  133. package/src/pro/storage/file-metadata-helper.js +1 -1
  134. package/src/pro/storage/index.js +1 -1
  135. package/src/pro/storage/local-storage-provider.js +1 -1
  136. package/src/pro/storage/s3-storage-provider.js +1 -1
  137. package/src/pro/storage/upload-cleanup-job.js +1 -1
  138. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  139. package/src/pro/storage/upload-pending-tracker.js +1 -1
  140. package/src/pro/websocket/broadcast-helper.js +1 -1
  141. package/src/pro/websocket/index.js +1 -1
  142. package/src/pro/websocket/livesync-server.js +1 -1
  143. package/src/pro/websocket/ws-broadcaster.js +1 -1
  144. package/src/services/export-service.js +1 -1
  145. package/src/services/import-service.js +1 -1
  146. package/src/services/kafkaConsumerService.js +1 -1
  147. package/src/services/kafkaService.js +1 -1
  148. package/src/services/messagehubService.js +1 -1
  149. package/src/services/rabbitmqService.js +1 -1
  150. package/src/utils/cache-invalidation-registry.js +1 -1
  151. package/src/utils/cache-manager.js +1 -1
  152. package/src/utils/component-engine.js +1 -1
  153. package/src/utils/config-extractor.js +1 -1
  154. package/src/utils/consumerLogger.js +1 -1
  155. package/src/utils/context-builder.js +1 -1
  156. package/src/utils/dashboard-helpers.js +1 -1
  157. package/src/utils/dateHelper.js +1 -1
  158. package/src/utils/datetime-formatter.js +1 -1
  159. package/src/utils/datetime-parser.js +1 -1
  160. package/src/utils/db-bootstrap.js +1 -1
  161. package/src/utils/db-mysql.js +1 -1
  162. package/src/utils/db-oracle.js +1 -1
  163. package/src/utils/db-sqlite.js +1 -1
  164. package/src/utils/db.js +1 -1
  165. package/src/utils/demo-generator.js +1 -1
  166. package/src/utils/excel-generator.js +1 -1
  167. package/src/utils/excel-parser.js +1 -1
  168. package/src/utils/file-watcher.js +1 -1
  169. package/src/utils/id-generator.js +1 -1
  170. package/src/utils/idempotency-manager.js +1 -1
  171. package/src/utils/import-validator.js +1 -1
  172. package/src/utils/license-client.js +1 -1
  173. package/src/utils/lock-manager.js +1 -1
  174. package/src/utils/logger.js +1 -1
  175. package/src/utils/lookup-resolver.js +1 -1
  176. package/src/utils/payload-loader.js +1 -1
  177. package/src/utils/processor-response.js +1 -1
  178. package/src/utils/rabbitmq.js +1 -1
  179. package/src/utils/redis-client.js +1 -1
  180. package/src/utils/redis-helper.js +1 -1
  181. package/src/utils/request-scope.js +1 -1
  182. package/src/utils/security-checks.js +1 -1
  183. package/src/utils/service-resolver.js +1 -1
  184. package/src/utils/shutdown-coordinator.js +1 -1
  185. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  186. package/src/utils/sql-table-extractor.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x44230f=a0_0x447b;(function(_0x399bb1,_0x2b4749){const _0x548112=a0_0x447b,_0x32deba=_0x399bb1();while(!![]){try{const _0x27ff72=parseInt(_0x548112(0xba))/0x1+parseInt(_0x548112(0xcf))/0x2*(-parseInt(_0x548112(0xb1))/0x3)+-parseInt(_0x548112(0x111))/0x4*(parseInt(_0x548112(0x112))/0x5)+parseInt(_0x548112(0xc3))/0x6+-parseInt(_0x548112(0xee))/0x7+parseInt(_0x548112(0xe5))/0x8*(-parseInt(_0x548112(0xc4))/0x9)+parseInt(_0x548112(0xec))/0xa;if(_0x27ff72===_0x2b4749)break;else _0x32deba['push'](_0x32deba['shift']());}catch(_0x36d840){_0x32deba['push'](_0x32deba['shift']());}}}(a0_0x698b,0x71600));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x44230f(0xf5));oracledb['fetchAsString']=[oracledb['CLOB'],oracledb[a0_0x44230f(0xf7)]],oracledb[a0_0x44230f(0xde)]=[oracledb['BLOB']];async function ensureNlsReady(_0x1641cb){const _0x4b52de=a0_0x44230f;if(_0x1641cb['_nlsReady'])return;await _0x1641cb[_0x4b52de(0x10e)]('ALTER\x20SESSION\x20SET\x20NLS_DATE_FORMAT\x20=\x20\x27YYYY-MM-DD\x27'),await _0x1641cb['execute'](_0x4b52de(0xed)),await _0x1641cb[_0x4b52de(0x10e)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27'),_0x1641cb['_nlsReady']=!![];}function a0_0x698b(){const _0x4a465b=['CNPPzgW','EKLREfG','z2v0q29UBMvJDgLVBG','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','tuHJAMK','B3jHy2XLx3bVB2XFy2XVC2LUzW','rejFtKfnrq','mZeYntm1ohrswKnrsG','oxLoEMPnAG','DhjHBNnHy3rPB25Fy29TCgXLDgu','y0DRv3e','B3jHy2XL','C3fSx2vYCM9Y','t2TzBxy','DxnLCG','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','Aw5MBW','r09Zrxu','txr2DKS','ntuWmtq2EvLrDMvN','BhbJC1C','DKnqvNu','wvHYrMC','y29UzMLN','CM93C0fMzMvJDgvK','sxjOvLi','CgfYyw1Z','z2v0ug9VBfn0yxrPC3rPy3m','tMzduhq','Bg9JywXOB3n0','Cg9VBeLUy3jLBwvUDa','Aw5PDgLHBgL6zvbVB2W','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','B3jHy2XLx3bVB2XFy2XVC2vK','zMv0y2HbC0j1zMzLCG','AwT0BMi','zvHnC3e','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','DhjHBNnHy3rPB25FzxjYB3i','CM9SBgjHy2TFzxjYB3i','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','mtq2nJG0ogXMsw1fvG','C3fS','zgvIDwC','Cg9VBe1PBG','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','DgvZDenVBM5Ly3rPB24','B3jHy2XLx3bVB2XFzxHPC3rZ','odKZotaXmgPJAwTuAG','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','mtm3odeXofvmu1jZDa','BxmSia','rejFvvnfuG','rejFse9tva','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','B3jHy2XLx2nVBM5Ly3rPB25FC3rYAw5N','Cg9VBa','lI9SB2DNzxi','ChvZAa','tKnmt0i','y2XVC2u','vwnzDvG','B3jHy2XLx3bVB2XFy3jLyxrPBMC','y29UBMvJDgLVBNnjBLvZzq','C3vIC3rYAw5N','q0XpqG','BvvlwuW','rejFueftu1DpuKq','uuzVqwG','BgvUz3rO','BgfZDfjVD2LK','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','Cg9VBfrPBwvVDxq','y2XVC2vqB29S','u0vmrunuifnzu0rbveuGyxmGy3vYCMvUDf9KyxrLlcbvu0vsigfZign1CNjLBNrFDxnLCIbguK9niervquW','zxHLy3v0zvf1zxj5','y3jLyxrLug9VBa','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','zxHLy3v0zvrYyw5Zywn0Aw9U','zxHPDa','CM93CW','zxjYB3joDw0','zxHLy3v0zq','Cg9VBe1HEa','y29UBMvJDgLVBNnpCgvU','ndy1mZe2vwnSEun1','mJvoDMX2uLe','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','zw52','qwn0AxzL','t1vux0zpuK1bvf9pqKPfq1q','ou5SsvDdCq','rejFue9sva','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','B3jHy2XLx3bVB2XFy3jLyxrLza','u0Lhvevstq','thLls2e','rejFue9ptf9usu1ft1vu','Be9xsM8','odm2nJG0uw9uyM5e','BwvZC2fNzq'];a0_0x698b=function(){return _0x4a465b;};return a0_0x698b();}class OracleDatabase{constructor(){const _0xdda9d2=a0_0x44230f,_0x815fe5={'vCPVu':function(_0x29ae89,_0x20d1df){return _0x29ae89(_0x20d1df);},'KPfDx':_0xdda9d2(0xd9),'cGkWq':'1521'};this[_0xdda9d2(0xf4)]=null,this[_0xdda9d2(0xd3)]={'user':process['env'][_0xdda9d2(0xf0)]||'hr','password':process[_0xdda9d2(0xae)][_0xdda9d2(0xff)]||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process[_0xdda9d2(0xae)]['DB_POOL_MIN'])||0x2,'poolMax':parseInt(process['env']['DB_POOL_MAX'])||0xa,'poolIncrement':_0x815fe5[_0xdda9d2(0xd1)](parseInt,process[_0xdda9d2(0xae)]['DB_POOL_INCREMENT'])||0x1,'poolTimeout':parseInt(process['env'][_0xdda9d2(0xb8)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0xdda9d2(0xfd)],oracledb[_0xdda9d2(0xf7)]],'fetchAsBuffer':[oracledb['BLOB']]},_0x815fe5[_0xdda9d2(0xd1)](logDatabaseConfig,{'host':process['env'][_0xdda9d2(0xf1)]||_0x815fe5['KPfDx'],'port':process['env']['DB_PORT']||_0x815fe5[_0xdda9d2(0xc6)],'database':process[_0xdda9d2(0xae)][_0xdda9d2(0xc2)]||'XE','type':_0xdda9d2(0xc7),'user':this[_0xdda9d2(0xd3)][_0xdda9d2(0xca)],'poolMin':this['config'][_0xdda9d2(0xe8)],'poolMax':this['config'][_0xdda9d2(0x10f)]});}['buildConnectionString'](){const _0x55dfa1=a0_0x44230f,_0x14dd93={'QvZSI':_0x55dfa1(0xd9),'PjRZo':_0x55dfa1(0xf3)},_0x2b9a9a=process[_0x55dfa1(0xae)]['DB_HOST']||_0x14dd93['QvZSI'],_0x5c1ec3=process['env'][_0x55dfa1(0xb2)]||'1521',_0x3ccd3f=process['env'][_0x55dfa1(0xc2)]||'XE',_0x1c3a0d='//'+_0x2b9a9a+':'+_0x5c1ec3+'/'+_0x3ccd3f;return logger['debug']({'event':_0x14dd93['PjRZo'],'connectionString':_0x1c3a0d},'Oracle\x20Connection\x20String:\x20'+_0x1c3a0d),_0x1c3a0d;}async['initializePool'](){const _0x540075=a0_0x44230f,_0x3cf7da={'uqLEs':_0x540075(0xeb),'YXrFg':'Oracle\x20connection\x20pool\x20created\x20successfully','lOWJo':function(_0x30f43a,_0x2081f8,_0x472339,_0x27b5b8){return _0x30f43a(_0x2081f8,_0x472339,_0x27b5b8);},'ygXZy':'oracle_pool_error'};try{if(this[_0x540075(0xf4)]){logger['debug']({'event':_0x3cf7da['uqLEs']},'Oracle\x20connection\x20pool\x20sudah\x20ada');return;}logger[_0x540075(0xcc)]({'event':_0x540075(0xfa)},'Creating\x20Oracle\x20connection\x20pool...'),this['pool']=await oracledb[_0x540075(0x108)](this['config']),logger[_0x540075(0xcc)]({'event':_0x540075(0xb5)},_0x3cf7da[_0x540075(0xd2)]),await this[_0x540075(0xea)]();}catch(_0x216b4e){_0x3cf7da[_0x540075(0xb9)](logError,_0x216b4e,{'event':_0x3cf7da['ygXZy']},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x216b4e[_0x540075(0xbb)]);throw _0x216b4e;}}async['testConnection'](){const _0x2b6125=a0_0x44230f,_0x49f177={'pjMkJ':'Testing\x20Oracle\x20database\x20connection...','orncl':'oracle_connection_test_success','tVkKi':'oracle_connection_test_failed','xXqBA':function(_0x2c61a6,_0x223c58,_0x5b76df,_0x59f85f){return _0x2c61a6(_0x223c58,_0x5b76df,_0x59f85f);}};let _0x16d62c;try{logger[_0x2b6125(0xe7)]({'event':_0x2b6125(0xf2)},_0x49f177['pjMkJ']),_0x16d62c=await this['pool'][_0x2b6125(0xbe)](),await ensureNlsReady(_0x16d62c);const _0x1a764e=await _0x16d62c['execute'](_0x2b6125(0x106));logger[_0x2b6125(0xcc)]({'event':_0x49f177['orncl'],'currentDate':_0x1a764e['rows'][0x0][0x0],'currentUser':_0x1a764e['rows'][0x0][0x1]},_0x2b6125(0xe1)+_0x1a764e['rows'][0x0][0x1]);}catch(_0x1cae2c){logError(_0x1cae2c,{'event':_0x49f177['tVkKi']},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x1cae2c[_0x2b6125(0xbb)]);throw _0x1cae2c;}finally{if(_0x16d62c)try{await _0x16d62c[_0x2b6125(0xf8)]();}catch(_0x45fa1e){_0x49f177['xXqBA'](logError,_0x45fa1e,{'event':_0x2b6125(0xe4)},_0x2b6125(0xb3)+_0x45fa1e[_0x2b6125(0xbb)]);}}}async[a0_0x44230f(0x107)](_0x490b36,_0x3e50=[],_0x364530={}){const _0x23ed10=a0_0x44230f,_0x234441={'FdQws':function(_0x385105){return _0x385105();},'MHcji':function(_0x1fc7df,_0x47c9eb){return _0x1fc7df!==_0x47c9eb;},'NfCPt':function(_0x39fa66,_0x17ea51,_0x59e48c,_0x1753b7){return _0x39fa66(_0x17ea51,_0x59e48c,_0x1753b7);},'QFoAh':function(_0x38f792,_0x3233a9,_0x42ded8,_0x3da8b2){return _0x38f792(_0x3233a9,_0x42ded8,_0x3da8b2);},'EfPYD':_0x23ed10(0xc7)};let _0x321674;const _0x3720c2=_0x234441['FdQws'](startQueryTimer);try{!this[_0x23ed10(0xf4)]&&await this[_0x23ed10(0xdb)]();_0x321674=await this[_0x23ed10(0xf4)][_0x23ed10(0xbe)](),await ensureNlsReady(_0x321674);const _0x10eb9e={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x234441[_0x23ed10(0xc0)](_0x364530['autoCommit'],undefined)?_0x364530['autoCommit']:!![],..._0x364530},_0x17caae=await _0x321674['execute'](_0x490b36,_0x3e50,_0x10eb9e),_0x5f3c1b=_0x3720c2(),_0x3ec7f0=_0x17caae['rows']?_0x17caae['rows']['length']:_0x17caae[_0x23ed10(0xd4)];return _0x234441[_0x23ed10(0xd8)](logQuery,_0x490b36,_0x3e50,{'duration':_0x5f3c1b,'rowsAffected':_0x3ec7f0,'dbType':'oracle'}),_0x17caae['rows']?_0x17caae[_0x23ed10(0x10c)]:{'rowsAffected':_0x17caae['rowsAffected'],'lastRowid':_0x17caae[_0x23ed10(0x102)]};}catch(_0x143035){const _0x3b4ba1=_0x3720c2();_0x234441[_0x23ed10(0x100)](logError,_0x143035,{'event':_0x23ed10(0xc8),'query':_0x490b36[_0x23ed10(0xfc)](0x0,0x1f4),'paramCount':_0x3e50['length'],'durationMs':_0x3b4ba1,'code':_0x143035[_0x23ed10(0x10d)],'dbType':_0x234441['EfPYD']},'Oracle\x20SQL\x20Error:\x20'+_0x143035[_0x23ed10(0xbb)]);throw _0x143035;}finally{if(_0x321674)try{await _0x321674['close']();}catch(_0x4952ad){logError(_0x4952ad,{'event':'oracle_connection_close_error'},_0x23ed10(0xbf)+_0x4952ad['message']);}}}async[a0_0x44230f(0x10a)](_0x40692d){const _0x23082a=a0_0x44230f,_0x995e63={'rzidl':function(_0x40dacc){return _0x40dacc();},'eXMsq':function(_0x4529e4,_0x5f15e6){return _0x4529e4(_0x5f15e6);},'yMboZ':function(_0x467740,_0x1b10d0,_0x2f8fee){return _0x467740(_0x1b10d0,_0x2f8fee);},'rJFJi':'start','MtvvK':function(_0x144e15,_0x50549e,_0x925da1,_0xa21be2){return _0x144e15(_0x50549e,_0x925da1,_0xa21be2);},'IrhVR':'commit','LyKKa':_0x23082a(0xc5),'UcYuX':'oracle'};let _0x4751b2;const _0x3a76ba=_0x995e63[_0x23082a(0xbc)](startQueryTimer);try{!this['pool']&&await this[_0x23082a(0xdb)]();_0x4751b2=await this[_0x23082a(0xf4)]['getConnection'](),await _0x995e63[_0x23082a(0xe0)](ensureNlsReady,_0x4751b2),_0x995e63['yMboZ'](logTransaction,_0x995e63['rJFJi'],_0x40692d[_0x23082a(0x101)]);const _0x1e26db=[];for(const _0x540fa9 of _0x40692d){const _0x5f1635=startQueryTimer(),_0x1ecccb=await _0x4751b2['execute'](_0x540fa9[_0x23082a(0xe6)],_0x540fa9[_0x23082a(0xd6)]||[],{'autoCommit':![],'outFormat':oracledb[_0x23082a(0xb0)]}),_0x4f5893=_0x995e63[_0x23082a(0xbc)](_0x5f1635),_0x2de682=_0x1ecccb['rows']?_0x1ecccb['rows']['length']:_0x1ecccb['rowsAffected'];_0x995e63[_0x23082a(0xce)](logQuery,_0x540fa9[_0x23082a(0xe6)],_0x540fa9[_0x23082a(0xd6)]||[],{'duration':_0x4f5893,'rowsAffected':_0x2de682,'dbType':'oracle'}),_0x1e26db[_0x23082a(0xf6)](_0x1ecccb);}await _0x4751b2['commit']();const _0x316918=_0x995e63[_0x23082a(0xbc)](_0x3a76ba);return logTransaction(_0x995e63[_0x23082a(0xd5)],_0x40692d['length']),logger['info']({'event':_0x995e63[_0x23082a(0xb7)],'queryCount':_0x40692d['length'],'totalDurationMs':_0x316918,'dbType':'oracle'},_0x23082a(0xe9)+_0x316918+_0x23082a(0xef)+_0x40692d['length']+'\x20queries)'),_0x1e26db;}catch(_0xc2112a){const _0x3903d7=_0x995e63['rzidl'](_0x3a76ba);logError(_0xc2112a,{'event':_0x23082a(0xe2),'queryCount':_0x40692d['length'],'totalDurationMs':_0x3903d7,'code':_0xc2112a[_0x23082a(0x10d)],'dbType':_0x995e63[_0x23082a(0xf9)]},'Oracle\x20transaction\x20failed:\x20'+_0xc2112a['message']);if(_0x4751b2)try{await _0x4751b2['rollback'](),_0x995e63['yMboZ'](logTransaction,'rollback',_0x40692d['length']);}catch(_0x11e39b){logError(_0x11e39b,{'event':_0x23082a(0xe3),'dbType':'oracle'},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x11e39b['message']);}throw _0xc2112a;}finally{if(_0x4751b2)try{await _0x4751b2[_0x23082a(0xf8)]();}catch(_0x259b40){logError(_0x259b40,{'event':'oracle_transaction_connection_close_error'},_0x23082a(0x109)+_0x259b40[_0x23082a(0xbb)]);}}}async['closePool'](){const _0x2cc81b=a0_0x44230f,_0x4cb5ec={'bfcWw':_0x2cc81b(0xb4),'YXsbS':_0x2cc81b(0xdd),'GOsEu':'Oracle\x20connection\x20pool\x20closed'};try{this['pool']&&(logger['info']({'event':_0x2cc81b(0xc1)},_0x4cb5ec['bfcWw']),await this[_0x2cc81b(0xf4)]['close'](0xa),this[_0x2cc81b(0xf4)]=null,logger['info']({'event':_0x4cb5ec['YXsbS']},_0x4cb5ec[_0x2cc81b(0xcd)]));}catch(_0x20e7c7){logError(_0x20e7c7,{'event':_0x2cc81b(0x113)},_0x2cc81b(0xcb)+_0x20e7c7['message']);throw _0x20e7c7;}}[a0_0x44230f(0xd7)](){const _0xe988e3=a0_0x44230f,_0x30d7f4={'cwdkL':'Pool\x20not\x20initialized'};if(!this[_0xe988e3(0xf4)])return{'status':_0x30d7f4['cwdkL']};return{'connectionsInUse':this[_0xe988e3(0xf4)][_0xe988e3(0xfb)],'connectionsOpen':this['pool'][_0xe988e3(0x110)],'poolAlias':this['pool']['poolAlias'],'poolMin':this[_0xe988e3(0xf4)][_0xe988e3(0xe8)],'poolMax':this[_0xe988e3(0xf4)]['poolMax'],'poolIncrement':this['pool'][_0xe988e3(0xda)],'poolTimeout':this['pool'][_0xe988e3(0x104)],'status':_0xe988e3(0xaf)};}}function a0_0x447b(_0xa18c8e,_0x2f70df){_0xa18c8e=_0xa18c8e-0xae;const _0x698b94=a0_0x698b();let _0x447ba9=_0x698b94[_0xa18c8e];if(a0_0x447b['idCbxZ']===undefined){var _0x217a5e=function(_0x4ebbc8){const _0x481009='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d0117='',_0xb6429b='';for(let _0x245a86=0x0,_0x1b63b4,_0x31e6fe,_0x570dbd=0x0;_0x31e6fe=_0x4ebbc8['charAt'](_0x570dbd++);~_0x31e6fe&&(_0x1b63b4=_0x245a86%0x4?_0x1b63b4*0x40+_0x31e6fe:_0x31e6fe,_0x245a86++%0x4)?_0x4d0117+=String['fromCharCode'](0xff&_0x1b63b4>>(-0x2*_0x245a86&0x6)):0x0){_0x31e6fe=_0x481009['indexOf'](_0x31e6fe);}for(let _0x559b3a=0x0,_0x494fbe=_0x4d0117['length'];_0x559b3a<_0x494fbe;_0x559b3a++){_0xb6429b+='%'+('00'+_0x4d0117['charCodeAt'](_0x559b3a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb6429b);};a0_0x447b['bBEaNB']=_0x217a5e,a0_0x447b['cKBUEY']={},a0_0x447b['idCbxZ']=!![];}const _0x30f4d2=_0x698b94[0x0],_0x5c700c=_0xa18c8e+_0x30f4d2,_0x478723=a0_0x447b['cKBUEY'][_0x5c700c];return!_0x478723?(_0x447ba9=a0_0x447b['bBEaNB'](_0x447ba9),a0_0x447b['cKBUEY'][_0x5c700c]=_0x447ba9):_0x447ba9=_0x478723,_0x447ba9;}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x3bb76b=a0_0x44230f,_0x257b02={'OkYmv':'oracle_shutdown','mUKYL':'SIGINT','lpcsW':function(_0x566691,_0x1f3fd2,_0x46b77e,_0x3fa6af){return _0x566691(_0x1f3fd2,_0x46b77e,_0x3fa6af);},'ZTRnH':_0x3bb76b(0x103)};logger[_0x3bb76b(0xcc)]({'event':_0x257b02[_0x3bb76b(0xc9)],'signal':_0x257b02['mUKYL']},_0x3bb76b(0xdc));try{await oracleDb[_0x3bb76b(0x105)](),process[_0x3bb76b(0x10b)](0x0);}catch(_0x2c7e03){_0x257b02[_0x3bb76b(0xd0)](logError,_0x2c7e03,{'event':_0x257b02['ZTRnH'],'signal':_0x257b02[_0x3bb76b(0xfe)]},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x2c7e03['message']),process[_0x3bb76b(0x10b)](0x1);}}),process['on'](a0_0x44230f(0xb6),async()=>{const _0x36af4e=a0_0x44230f,_0x3d6d9b={'iktnb':'oracle_shutdown','zIkxX':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','zRNjp':function(_0x100d5a,_0xf8f4f8,_0x469664,_0x4187b9){return _0x100d5a(_0xf8f4f8,_0x469664,_0x4187b9);},'sUtgP':'SIGTERM'};logger[_0x36af4e(0xcc)]({'event':_0x3d6d9b[_0x36af4e(0xdf)],'signal':_0x36af4e(0xb6)},_0x3d6d9b[_0x36af4e(0xbd)]);try{await oracleDb[_0x36af4e(0x105)](),process[_0x36af4e(0x10b)](0x0);}catch(_0x3092c1){_0x3d6d9b['zRNjp'](logError,_0x3092c1,{'event':'oracle_shutdown_error','signal':_0x3d6d9b['sUtgP']},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x3092c1[_0x36af4e(0xbb)]),process['exit'](0x1);}}),module['exports']=oracleDb;
1
+ const a0_0x2e3789=a0_0x3e1d;(function(_0xfb138a,_0x3148e2){const _0xe04c7e=a0_0x3e1d,_0x2e4d90=_0xfb138a();while(!![]){try{const _0x9d08cd=-parseInt(_0xe04c7e(0x195))/0x1*(parseInt(_0xe04c7e(0x19f))/0x2)+parseInt(_0xe04c7e(0x178))/0x3+-parseInt(_0xe04c7e(0x16f))/0x4+parseInt(_0xe04c7e(0x187))/0x5*(parseInt(_0xe04c7e(0x18f))/0x6)+parseInt(_0xe04c7e(0x188))/0x7+-parseInt(_0xe04c7e(0x199))/0x8*(parseInt(_0xe04c7e(0x1ae))/0x9)+parseInt(_0xe04c7e(0x192))/0xa*(parseInt(_0xe04c7e(0x19c))/0xb);if(_0x9d08cd===_0x3148e2)break;else _0x2e4d90['push'](_0x2e4d90['shift']());}catch(_0x6e4a8c){_0x2e4d90['push'](_0x2e4d90['shift']());}}}(a0_0x5a8b,0x83bf8));function a0_0x3e1d(_0x42c841,_0x4104cd){_0x42c841=_0x42c841-0x15f;const _0x5a8bd0=a0_0x5a8b();let _0x3e1de1=_0x5a8bd0[_0x42c841];if(a0_0x3e1d['DXLaVx']===undefined){var _0x4600bf=function(_0x4dcac9){const _0x15b5de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x513118='',_0x2e2e2e='';for(let _0x13cdcc=0x0,_0x349ebe,_0x59751c,_0x13e327=0x0;_0x59751c=_0x4dcac9['charAt'](_0x13e327++);~_0x59751c&&(_0x349ebe=_0x13cdcc%0x4?_0x349ebe*0x40+_0x59751c:_0x59751c,_0x13cdcc++%0x4)?_0x513118+=String['fromCharCode'](0xff&_0x349ebe>>(-0x2*_0x13cdcc&0x6)):0x0){_0x59751c=_0x15b5de['indexOf'](_0x59751c);}for(let _0x12da57=0x0,_0x1b2382=_0x513118['length'];_0x12da57<_0x1b2382;_0x12da57++){_0x2e2e2e+='%'+('00'+_0x513118['charCodeAt'](_0x12da57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e2e2e);};a0_0x3e1d['DMCaqZ']=_0x4600bf,a0_0x3e1d['fQLTaL']={},a0_0x3e1d['DXLaVx']=!![];}const _0x182c28=_0x5a8bd0[0x0],_0x4444b9=_0x42c841+_0x182c28,_0x338d60=a0_0x3e1d['fQLTaL'][_0x4444b9];return!_0x338d60?(_0x3e1de1=a0_0x3e1d['DMCaqZ'](_0x3e1de1),a0_0x3e1d['fQLTaL'][_0x4444b9]=_0x3e1de1):_0x3e1de1=_0x338d60,_0x3e1de1;}const oracledb=require(a0_0x2e3789(0x170)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x2e3789(0x190));oracledb['fetchAsString']=[oracledb['CLOB'],oracledb[a0_0x2e3789(0x184)]],oracledb[a0_0x2e3789(0x183)]=[oracledb['BLOB']];async function ensureNlsReady(_0x455145){const _0x4c963f=a0_0x2e3789;if(_0x455145['_nlsReady'])return;await _0x455145[_0x4c963f(0x1b1)](_0x4c963f(0x1ab)),await _0x455145[_0x4c963f(0x1b1)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27'),await _0x455145[_0x4c963f(0x1b1)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27'),_0x455145[_0x4c963f(0x185)]=!![];}function a0_0x5a8b(){const _0x12f122=['y29UBMvJDgLVBNnpCgvU','Cg9VBe1HEa','zMv0y2HbC0j1zMzLCG','tKnmt0i','x25SC1jLywr5','rejFtKfnrq','otK3nuPSDw52zq','nJy4ntK1mK9mtwPmBa','Du9isNq','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','yuDkCwG','AKXjs2u','rejFue9sva','ndu2sfPgr1Ll','lI9SB2DNzxi','v0rRAwe','nZqYnZyWyKjKyKTI','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','rwjjvw0','mJa5nZrttwzYte8','u0Lhsu5u','zw52','svLeD3C','ntCWmJaWCKzeCuPx','CLjutgi','BgfZDfjVD2LK','odHfv09hB3m','Bg9JywXOB3n0','zxHWB3j0CW','odzyCwrZC2O','zg12Bve','AhDvt3C','BwvZC2fNzq','B3jHy2XLx3bVB2XFy2XVC2LUzW','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','sfHJCKq','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','BxmSia','C3fS','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','CKDoCfC','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','Cg9VBefSAwfZ','B3jHy2XLx3nODxrKB3DU','mJDzsMXdvKq','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','C3vIC3rYAw5N','zxHLy3v0zq','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','qwn0AxzL','wgvMvNy','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','B3jHy2XLx3bVB2XFy2XVC2vK','rejFueftu1DpuKq','zgvIDwC','Cg9VBa','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','rejFue9ptf9nsu4','y29UzMLN','zxjYB3joDw0','zu9kwe0','Cxb4C1O','rejFue9ptf9usu1ft1vu','z0nIsxC','B3jHy2XLx3bVB2XFzxjYB3i','zxHPDa','t1vux0zpuK1bvf9pqKPfq1q','y2XVC2vqB29S','sfr5y2e','C3bSAxq','Cg9VBe1PBG','D29IvLK','zxHLy3v0zvf1zxj5','rejFse9tva','mtuYmq','Cg9VBeLUy3jLBwvUDa','z2v0ug9VBfn0yxrPC3rPy3m','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','DgvZDenVBM5Ly3rPB24','mJiXnty0q1HcrNbR','B3jHy2XLzgi','CM93CW','ihf1zxjPzxmP','B3jHy2XL','rejFue9ptf9jtKnsru1ftLq','Cg9VBfrPBwvVDxq','Aw5MBW','y2XVC2u','mJKZmJjqAhLqAvK','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','BgvUz3rO','z2v0q29UBMvJDgLVBG','wgHIvMK','ru1rAvK','CM93C0fMzMvJDgvK','u0Lhvevstq','Aw5PDgLHBgL6zvbVB2W'];a0_0x5a8b=function(){return _0x12f122;};return a0_0x5a8b();}class OracleDatabase{constructor(){const _0x86bc42=a0_0x2e3789,_0xf443b0={'WDkia':function(_0x5181c3,_0x43ff39){return _0x5181c3(_0x43ff39);},'gCbIw':function(_0x15198a,_0xe92da2){return _0x15198a(_0xe92da2);},'KEeBf':_0x86bc42(0x19d),'hwUOw':_0x86bc42(0x169)};this[_0x86bc42(0x1ba)]=null,this[_0x86bc42(0x1bd)]={'user':process[_0x86bc42(0x197)]['DB_USER']||'hr','password':process['env'][_0x86bc42(0x1b8)]||'hr','connectString':this[_0x86bc42(0x193)](),'poolMin':_0xf443b0[_0x86bc42(0x191)](parseInt,process['env'][_0x86bc42(0x1bc)])||0x2,'poolMax':_0xf443b0['gCbIw'](parseInt,process[_0x86bc42(0x197)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0xf443b0[_0x86bc42(0x1c2)](parseInt,process[_0x86bc42(0x197)][_0x86bc42(0x174)])||0x1,'poolTimeout':parseInt(process['env'][_0x86bc42(0x1c1)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x86bc42(0x184)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process['env'][_0x86bc42(0x168)]||_0xf443b0['KEeBf'],'port':process[_0x86bc42(0x197)]['DB_PORT']||_0xf443b0[_0x86bc42(0x1a1)],'database':process[_0x86bc42(0x197)][_0x86bc42(0x186)]||'XE','type':_0x86bc42(0x173),'user':this['config']['user'],'poolMin':this[_0x86bc42(0x1bd)]['poolMin'],'poolMax':this[_0x86bc42(0x1bd)]['poolMax']});}[a0_0x2e3789(0x193)](){const _0x5b8896=a0_0x2e3789,_0xf5c620={'LpSGk':'localhost'},_0x265a67=process['env']['DB_HOST']||_0xf5c620['LpSGk'],_0x26ec00=process[_0x5b8896(0x197)][_0x5b8896(0x18e)]||'1521',_0x3a1088=process[_0x5b8896(0x197)]['DB_NAME']||'XE',_0x3796d4='//'+_0x265a67+':'+_0x26ec00+'/'+_0x3a1088;return logger[_0x5b8896(0x1b9)]({'event':'oracle_connection_string','connectionString':_0x3796d4},'Oracle\x20Connection\x20String:\x20'+_0x3796d4),_0x3796d4;}async[a0_0x2e3789(0x180)](){const _0x540cd4=a0_0x2e3789,_0xa14b1a={'bVREI':'oracle_pool_exists','EMQiY':'oracle_pool_created'};try{const _0x294541='0|3|2|4|1'[_0x540cd4(0x164)]('|');let _0x359738=0x0;while(!![]){switch(_0x294541[_0x359738++]){case'0':if(this['pool']){logger['debug']({'event':_0xa14b1a['bVREI']},_0x540cd4(0x1af));return;}continue;case'1':await this[_0x540cd4(0x16e)]();continue;case'2':this[_0x540cd4(0x1ba)]=await oracledb['createPool'](this['config']);continue;case'3':logger['info']({'event':'oracle_pool_creating'},_0x540cd4(0x1b5));continue;case'4':logger[_0x540cd4(0x176)]({'event':_0xa14b1a[_0x540cd4(0x17d)]},'Oracle\x20connection\x20pool\x20created\x20successfully');continue;}break;}}catch(_0x597dda){logError(_0x597dda,{'event':_0x540cd4(0x15f)},_0x540cd4(0x1a9)+_0x597dda[_0x540cd4(0x1a2)]);throw _0x597dda;}}async[a0_0x2e3789(0x16e)](){const _0x43afa0=a0_0x2e3789,_0x20e0e0={'dJbjL':'oracle_connection_test_start','wobVY':'Testing\x20Oracle\x20database\x20connection...','tkYLD':function(_0x2a6efd,_0x150dcf){return _0x2a6efd(_0x150dcf);},'XefVv':'SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL','aGJqh':_0x43afa0(0x16d),'LdEdZ':function(_0x91a0b7,_0x2a6674,_0x25d52a,_0x272cbd){return _0x91a0b7(_0x2a6674,_0x25d52a,_0x272cbd);}};let _0x59575a;try{logger[_0x43afa0(0x1b9)]({'event':_0x20e0e0['dJbjL']},_0x20e0e0[_0x43afa0(0x166)]),_0x59575a=await this['pool'][_0x43afa0(0x17b)](),await _0x20e0e0['tkYLD'](ensureNlsReady,_0x59575a);const _0x29f9c3=await _0x59575a[_0x43afa0(0x1b1)](_0x20e0e0[_0x43afa0(0x1b4)]);logger['info']({'event':'oracle_connection_test_success','currentDate':_0x29f9c3[_0x43afa0(0x171)][0x0][0x0],'currentUser':_0x29f9c3[_0x43afa0(0x171)][0x0][0x1]},_0x43afa0(0x1a6)+_0x29f9c3['rows'][0x0][0x1]);}catch(_0x2610f2){logError(_0x2610f2,{'event':_0x20e0e0[_0x43afa0(0x18c)]},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x2610f2['message']);throw _0x2610f2;}finally{if(_0x59575a)try{await _0x59575a[_0x43afa0(0x177)]();}catch(_0x3203c3){_0x20e0e0['LdEdZ'](logError,_0x3203c3,{'event':'oracle_test_connection_close_error'},'Error\x20closing\x20test\x20connection:\x20'+_0x3203c3['message']);}}}async[a0_0x2e3789(0x167)](_0x36b686,_0xc1017f=[],_0x480c31={}){const _0x4ea9d2=a0_0x2e3789,_0x34759c={'HXcrD':function(_0x2f2cab){return _0x2f2cab();},'UdTmr':function(_0x3166de,_0x2053b1){return _0x3166de(_0x2053b1);},'jLIKe':function(_0x569b10){return _0x569b10();},'HTyca':'sql_error','vihNj':function(_0x525255,_0x5947cf,_0x5c6fdb,_0xed2a2){return _0x525255(_0x5947cf,_0x5c6fdb,_0xed2a2);},'tPVXY':_0x4ea9d2(0x1b6)};let _0x16d253;const _0x49dc8c=_0x34759c[_0x4ea9d2(0x1a5)](startQueryTimer);try{!this[_0x4ea9d2(0x1ba)]&&await this['initializePool']();_0x16d253=await this[_0x4ea9d2(0x1ba)]['getConnection'](),await _0x34759c['UdTmr'](ensureNlsReady,_0x16d253);const _0x3cbf53={'outFormat':oracledb[_0x4ea9d2(0x161)],'autoCommit':_0x480c31['autoCommit']!==undefined?_0x480c31['autoCommit']:!![],..._0x480c31},_0x20b3e3=await _0x16d253[_0x4ea9d2(0x1b1)](_0x36b686,_0xc1017f,_0x3cbf53),_0x44cc6e=_0x49dc8c(),_0x31a779=_0x20b3e3['rows']?_0x20b3e3[_0x4ea9d2(0x171)]['length']:_0x20b3e3[_0x4ea9d2(0x17e)];return logQuery(_0x36b686,_0xc1017f,{'duration':_0x44cc6e,'rowsAffected':_0x31a779,'dbType':_0x4ea9d2(0x173)}),_0x20b3e3[_0x4ea9d2(0x171)]?_0x20b3e3[_0x4ea9d2(0x171)]:{'rowsAffected':_0x20b3e3['rowsAffected'],'lastRowid':_0x20b3e3[_0x4ea9d2(0x19b)]};}catch(_0x279868){const _0x4ff01a=_0x34759c[_0x4ea9d2(0x18d)](_0x49dc8c);logError(_0x279868,{'event':_0x34759c[_0x4ea9d2(0x163)],'query':_0x36b686[_0x4ea9d2(0x1b0)](0x0,0x1f4),'paramCount':_0xc1017f[_0x4ea9d2(0x17a)],'durationMs':_0x4ff01a,'code':_0x279868['errorNum'],'dbType':'oracle'},'Oracle\x20SQL\x20Error:\x20'+_0x279868[_0x4ea9d2(0x1a2)]);throw _0x279868;}finally{if(_0x16d253)try{await _0x16d253[_0x4ea9d2(0x177)]();}catch(_0x493b00){_0x34759c['vihNj'](logError,_0x493b00,{'event':_0x34759c['tPVXY']},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x493b00['message']);}}}async['executeTransaction'](_0x5337e4){const _0x407a88=a0_0x2e3789,_0x441553={'eOJXM':function(_0x57d08b,_0x2e86c8){return _0x57d08b(_0x2e86c8);},'XhbVi':function(_0x3d0e41,_0x2ec0bf,_0x5b0555){return _0x3d0e41(_0x2ec0bf,_0x5b0555);},'yhfPA':function(_0x469108){return _0x469108();},'rGNpW':function(_0x49f6ae,_0x53c889,_0x355e65,_0x119712){return _0x49f6ae(_0x53c889,_0x355e65,_0x119712);},'qpxsZ':_0x407a88(0x173),'uOHJt':function(_0xc3edae,_0x33ddf3,_0x49cabe,_0x5cae12){return _0xc3edae(_0x33ddf3,_0x49cabe,_0x5cae12);},'IYDww':_0x407a88(0x179)};let _0x26c980;const _0x5361fa=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x26c980=await this['pool'][_0x407a88(0x17b)](),await _0x441553[_0x407a88(0x1bf)](ensureNlsReady,_0x26c980),_0x441553[_0x407a88(0x17c)](logTransaction,'start',_0x5337e4['length']);const _0x4faf30=[];for(const _0x1173f7 of _0x5337e4){const _0x67cbcb=startQueryTimer(),_0x46163f=await _0x26c980[_0x407a88(0x1b1)](_0x1173f7['sql'],_0x1173f7['params']||[],{'autoCommit':![],'outFormat':oracledb[_0x407a88(0x161)]}),_0x51cfcc=_0x441553['yhfPA'](_0x67cbcb),_0x1f4fd8=_0x46163f[_0x407a88(0x171)]?_0x46163f[_0x407a88(0x171)][_0x407a88(0x17a)]:_0x46163f[_0x407a88(0x17e)];_0x441553[_0x407a88(0x1aa)](logQuery,_0x1173f7[_0x407a88(0x1a8)],_0x1173f7['params']||[],{'duration':_0x51cfcc,'rowsAffected':_0x1f4fd8,'dbType':_0x441553[_0x407a88(0x1c0)]}),_0x4faf30['push'](_0x46163f);}await _0x26c980['commit']();const _0x53cde9=_0x5361fa();return logTransaction('commit',_0x5337e4[_0x407a88(0x17a)]),logger[_0x407a88(0x176)]({'event':'transaction_complete','queryCount':_0x5337e4['length'],'totalDurationMs':_0x53cde9,'dbType':_0x441553[_0x407a88(0x1c0)]},_0x407a88(0x1bb)+_0x53cde9+_0x407a88(0x1a7)+_0x5337e4['length']+_0x407a88(0x172)),_0x4faf30;}catch(_0x2d8c5a){const _0x500893=_0x5361fa();_0x441553[_0x407a88(0x189)](logError,_0x2d8c5a,{'event':'transaction_error','queryCount':_0x5337e4['length'],'totalDurationMs':_0x500893,'code':_0x2d8c5a[_0x407a88(0x1be)],'dbType':_0x407a88(0x173)},'Oracle\x20transaction\x20failed:\x20'+_0x2d8c5a['message']);if(_0x26c980)try{await _0x26c980['rollback'](),logTransaction('rollback',_0x5337e4[_0x407a88(0x17a)]);}catch(_0x4abb24){logError(_0x4abb24,{'event':'rollback_error','dbType':'oracle'},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x4abb24[_0x407a88(0x1a2)]);}throw _0x2d8c5a;}finally{if(_0x26c980)try{await _0x26c980['close']();}catch(_0x4593b1){logError(_0x4593b1,{'event':_0x441553[_0x407a88(0x198)]},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x4593b1['message']);}}}async['closePool'](){const _0x176392=a0_0x2e3789,_0x4737d7={'EbIUm':_0x176392(0x16c),'rRTLb':_0x176392(0x1a4)};try{this['pool']&&(logger[_0x176392(0x176)]({'event':_0x176392(0x1a3)},_0x176392(0x1b2)),await this['pool'][_0x176392(0x177)](0xa),this[_0x176392(0x1ba)]=null,logger[_0x176392(0x176)]({'event':_0x176392(0x1b7)},_0x4737d7[_0x176392(0x194)]));}catch(_0x3e113d){logError(_0x3e113d,{'event':_0x4737d7[_0x176392(0x19a)]},_0x176392(0x18a)+_0x3e113d[_0x176392(0x1a2)]);throw _0x3e113d;}}[a0_0x2e3789(0x16b)](){const _0x123696=a0_0x2e3789;if(!this['pool'])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this['pool']['connectionsInUse'],'connectionsOpen':this['pool'][_0x123696(0x181)],'poolAlias':this['pool'][_0x123696(0x1ac)],'poolMin':this[_0x123696(0x1ba)][_0x123696(0x165)],'poolMax':this[_0x123696(0x1ba)][_0x123696(0x182)],'poolIncrement':this['pool'][_0x123696(0x16a)],'poolTimeout':this['pool'][_0x123696(0x175)],'status':_0x123696(0x1b3)};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x22dfa7=a0_0x2e3789,_0x400898={'dmvmQ':function(_0x376432,_0x37af96,_0x557667,_0x3185f0){return _0x376432(_0x37af96,_0x557667,_0x3185f0);},'ewGlI':'SIGINT'};logger[_0x22dfa7(0x176)]({'event':_0x22dfa7(0x1ad),'signal':_0x22dfa7(0x196)},'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...');try{await oracleDb['closePool'](),process[_0x22dfa7(0x160)](0x0);}catch(_0x39ad35){_0x400898[_0x22dfa7(0x1a0)](logError,_0x39ad35,{'event':_0x22dfa7(0x18b),'signal':_0x400898['ewGlI']},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x39ad35['message']),process[_0x22dfa7(0x160)](0x1);}}),process['on']('SIGTERM',async()=>{const _0x282917=a0_0x2e3789,_0x144c60={'nNYog':'oracle_shutdown','fEgSJ':_0x282917(0x17f),'ZSEqp':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','jopTu':'oracle_shutdown_error'};logger[_0x282917(0x176)]({'event':_0x144c60['nNYog'],'signal':_0x144c60['fEgSJ']},_0x144c60['ZSEqp']);try{await oracleDb[_0x282917(0x162)](),process['exit'](0x0);}catch(_0x1ade5f){logError(_0x1ade5f,{'event':_0x144c60['jopTu'],'signal':_0x282917(0x17f)},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x1ade5f[_0x282917(0x1a2)]),process['exit'](0x1);}}),module[a0_0x2e3789(0x19e)]=oracleDb;
@@ -1 +1 @@
1
- const a0_0x3d25b5=a0_0x3627;(function(_0x283bd4,_0x4661da){const _0x3c664a=a0_0x3627,_0x4cfe72=_0x283bd4();while(!![]){try{const _0x3668f4=parseInt(_0x3c664a(0x101))/0x1*(-parseInt(_0x3c664a(0xc3))/0x2)+-parseInt(_0x3c664a(0xdf))/0x3+-parseInt(_0x3c664a(0xf4))/0x4+-parseInt(_0x3c664a(0xfa))/0x5*(parseInt(_0x3c664a(0xf7))/0x6)+-parseInt(_0x3c664a(0xce))/0x7+-parseInt(_0x3c664a(0xd4))/0x8*(-parseInt(_0x3c664a(0xec))/0x9)+parseInt(_0x3c664a(0xde))/0xa;if(_0x3668f4===_0x4661da)break;else _0x4cfe72['push'](_0x4cfe72['shift']());}catch(_0x1fdc5b){_0x4cfe72['push'](_0x4cfe72['shift']());}}}(a0_0x5d7a,0x437a2));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');function a0_0x3627(_0x3ccfe3,_0x5312c8){_0x3ccfe3=_0x3ccfe3-0xc2;const _0x5d7a30=a0_0x5d7a();let _0x362790=_0x5d7a30[_0x3ccfe3];if(a0_0x3627['sHHDOr']===undefined){var _0x36d99d=function(_0x50b85e){const _0x41d3ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59d99c='',_0x1e8cf1='';for(let _0x51f8e3=0x0,_0x56fc27,_0x3bb844,_0x19ffe7=0x0;_0x3bb844=_0x50b85e['charAt'](_0x19ffe7++);~_0x3bb844&&(_0x56fc27=_0x51f8e3%0x4?_0x56fc27*0x40+_0x3bb844:_0x3bb844,_0x51f8e3++%0x4)?_0x59d99c+=String['fromCharCode'](0xff&_0x56fc27>>(-0x2*_0x51f8e3&0x6)):0x0){_0x3bb844=_0x41d3ad['indexOf'](_0x3bb844);}for(let _0x155aa9=0x0,_0x4cc5f1=_0x59d99c['length'];_0x155aa9<_0x4cc5f1;_0x155aa9++){_0x1e8cf1+='%'+('00'+_0x59d99c['charCodeAt'](_0x155aa9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e8cf1);};a0_0x3627['xUYjBa']=_0x36d99d,a0_0x3627['UCuTZt']={},a0_0x3627['sHHDOr']=!![];}const _0x400150=_0x5d7a30[0x0],_0x230a8c=_0x3ccfe3+_0x400150,_0x1d7e15=a0_0x3627['UCuTZt'][_0x230a8c];return!_0x1d7e15?(_0x362790=a0_0x3627['xUYjBa'](_0x362790),a0_0x3627['UCuTZt'][_0x230a8c]=_0x362790):_0x362790=_0x1d7e15,_0x362790;}function a0_0x5d7a(){const _0x1d956f=['yxPLANu','y2HHBMDLCW','BM1Uvxe','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','ywXS','vhjHBNnHy3rPB24GzMfPBgvKoIa','t1b1DgO','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','CgfYyw1Z','ntq0nxbOy0XksG','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','ChjLCgfYzq','C3fSAxrLx2rIx2v4Axn0CW','ihf1zxjPzxmP','BwvZC2fNzq','ntaWma','Aw5PDgLHBgL6zurHDgfIyxnL','mtu0ntmXnKvKy1rksW','y2XVC2vqB29S','ChjHz21H','nda0otrYCMrtAg4','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','qxjZy3q','mJmWEfHrAur6','CNvU','u0XODeO','z2v0','BxmSia','C3fSAxrLx2nSB3nPBMC','DhjHBNnHy3rPB24','mJu2s0nwvg5Z','z2v0ug9VBa','vwrSCLG','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','zxHPDa','C3fSAxrLx2nSB3nLx2vYCM9Y','mtCYnKDlzgvbwG','DgvZDa','Aw5MBW','zgjqyxrO','uxbpCgG','yNvZEvrPBwvVDxq','y29TBwL0','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','rxHiEuy','vNnYDK4','ENjSzue','mJG3nZq4m3PQCKHKDa','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','txzhz1y','BgvUz3rO','z0roCw4','u0Lhsu5u','nJCXmMTVweXHuq','rKzXCMW','zxHLy3v0zvf1zxj5','zw52','zgvIDwC','C3fSAxrLx3nODxrKB3DU','C3fSAxrL','C3rHCNq','ENnsDgi','DhjHBNnHy3rPB25Fy29TCgXLDgu','mtuWnJe3ntbQDxnPAwy','mtiYntGXmLvbvhH3Aq','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','u0Lhvevstq','C3fS'];a0_0x5d7a=function(){return _0x1d956f;};return a0_0x5d7a();}class SqliteDatabase{constructor(){const _0x1846e2=a0_0x3627,_0x2f796b={'VsrvN':'./data/restforge.db','DVkob':function(_0xf4efec,_0x1d0e3b){return _0xf4efec(_0x1d0e3b);},'WXIwd':_0x1846e2(0xf2)};this['db']=null,this[_0x1846e2(0xc6)]=process[_0x1846e2(0xd7)]['DB_NAME']||_0x2f796b[_0x1846e2(0xcc)],this['busyTimeout']=_0x2f796b['DVkob'](parseInt,process['env']['DB_BUSY_TIMEOUT']||_0x2f796b['WXIwd']),_0x2f796b['DVkob'](logDatabaseConfig,{'database':this[_0x1846e2(0xc6)],'type':'sqlite','busyTimeout':this[_0x1846e2(0xc8)]});}['initializeDatabase'](){const _0x125b8c=a0_0x3627,_0x1cc2f5={'azeju':'2|1|0|4|3','HlNyY':'foreign_keys\x20=\x20ON','gDNqn':function(_0x202173,_0x741aa1,_0x4d39ef,_0x358f3e){return _0x202173(_0x741aa1,_0x4d39ef,_0x358f3e);},'TkfSO':'sqlite_init_error'};try{const _0x1fe8b4=_0x1cc2f5[_0x125b8c(0xe3)]['split']('|');let _0x432e16=0x0;while(!![]){switch(_0x1fe8b4[_0x432e16++]){case'0':this['db'][_0x125b8c(0xf6)]('journal_mode\x20=\x20WAL');continue;case'1':this['db']=new Database(this['dbPath'],{'timeout':this['busyTimeout']});continue;case'2':if(this['db']){logger[_0x125b8c(0xd8)]({'event':_0x125b8c(0xef)},'SQLite\x20database\x20connection\x20sudah\x20ada');return;}continue;case'3':this['testConnection']();continue;case'4':this['db']['pragma'](_0x1cc2f5['HlNyY']);continue;}break;}}catch(_0x3c43ac){_0x1cc2f5[_0x125b8c(0xd2)](logError,_0x3c43ac,{'event':_0x1cc2f5['TkfSO']},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x3c43ac['message']);throw _0x3c43ac;}}['testConnection'](){const _0x21c79c=a0_0x3627,_0x14a06b={'ZaMDc':_0x21c79c(0xe0),'MkkUQ':'SELECT\x201\x20as\x20test_connection','pXyGj':function(_0xf90387,_0x4c4f21,_0x55080a,_0x3f9ebd){return _0xf90387(_0x4c4f21,_0x55080a,_0x3f9ebd);}};try{logger[_0x21c79c(0xd8)]({'event':_0x14a06b['ZaMDc']},'Testing\x20SQLite\x20database\x20connection...'),this['db'][_0x21c79c(0xee)](_0x14a06b['MkkUQ'])['get']();}catch(_0x12bdac){_0x14a06b['pXyGj'](logError,_0x12bdac,{'event':_0x21c79c(0xea)},_0x21c79c(0xed)+_0x12bdac[_0x21c79c(0xf1)]);throw _0x12bdac;}}async[a0_0x3d25b5(0xd6)](_0x45b6f6,_0x3f01ce=[]){const _0x426e42=a0_0x3d25b5,_0x2c6c45={'JVSeF':function(_0x2d90b0){return _0x2d90b0();},'kOMzb':function(_0x1dcc2b,_0x3d8393){return _0x1dcc2b||_0x3d8393;},'QpOph':'sqlite','IpQuw':function(_0xe3c8c1,_0x25216b,_0x46c44d,_0x59e5a1){return _0xe3c8c1(_0x25216b,_0x46c44d,_0x59e5a1);},'Rojem':function(_0x54c84d,_0x32ca8e,_0xc5028f,_0x7810ec){return _0x54c84d(_0x32ca8e,_0xc5028f,_0x7810ec);},'esfSr':'sql_error'},_0x3cad3a=_0x2c6c45['JVSeF'](startQueryTimer);try{!this['db']&&this[_0x426e42(0xf3)]();const _0xd24f4f=this['db'][_0x426e42(0xee)](_0x45b6f6),_0x3e4913=/\bRETURNING\b/i['test'](_0x45b6f6),_0x38a840=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x45b6f6);let _0x515f42,_0x4c6738;if(_0x2c6c45['kOMzb'](_0x38a840,_0x3e4913)){const _0x38e2c6=_0xd24f4f[_0x426e42(0xe7)](..._0x3f01ce),_0x10565f=_0x2c6c45['JVSeF'](_0x3cad3a);return logQuery(_0x45b6f6,_0x3f01ce,{'duration':_0x10565f,'rowsAffected':_0x38e2c6[_0x426e42(0xd1)],'dbType':_0x2c6c45[_0x426e42(0xc7)]}),_0x38e2c6;}else{const _0x3c2b97=_0xd24f4f[_0x426e42(0xfb)](..._0x3f01ce),_0x1a6403=_0x3cad3a();return _0x515f42={'rowsAffected':_0x3c2b97['changes'],'insertId':_0x3c2b97['lastInsertRowid']},_0x2c6c45['IpQuw'](logQuery,_0x45b6f6,_0x3f01ce,{'duration':_0x1a6403,'rowsAffected':_0x3c2b97[_0x426e42(0xe4)],'dbType':_0x2c6c45[_0x426e42(0xc7)]}),_0x515f42;}}catch(_0x82f1ca){const _0x14cfca=_0x3cad3a();_0x2c6c45['Rojem'](logError,_0x82f1ca,{'event':_0x2c6c45['esfSr'],'query':_0x45b6f6['substring'](0x0,0x1f4),'paramCount':_0x3f01ce['length'],'durationMs':_0x14cfca,'code':_0x82f1ca['code'],'dbType':_0x426e42(0xda)},'SQLite\x20SQL\x20Error:\x20'+_0x82f1ca[_0x426e42(0xf1)]);throw _0x82f1ca;}}async['executeTransaction'](_0xf81859){const _0x378375=a0_0x3d25b5,_0x4ef98b={'Arsct':function(_0x2bc9b2){return _0x2bc9b2();},'SLhtJ':function(_0x2112ea,_0x22e246,_0x2ca8be,_0x4097eb){return _0x2112ea(_0x22e246,_0x2ca8be,_0x4097eb);},'MvGgV':_0x378375(0xda),'UNkdk':function(_0xd909e2){return _0xd909e2();},'UdlrX':function(_0x4b197e,_0x5b7c40,_0x15e93f,_0x5742fc){return _0x4b197e(_0x5b7c40,_0x15e93f,_0x5742fc);},'UtpTD':function(_0x4daee2,_0x5a8197){return _0x4daee2(_0x5a8197);},'FFqrl':_0x378375(0xdd)},_0x3e10b6=_0x4ef98b['UNkdk'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();logTransaction(_0x378375(0xdb),_0xf81859['length']);const _0x21d888=this['db'][_0x378375(0x100)](_0x3dd072=>{const _0x15ee64=_0x378375,_0x4857d7=[];for(const _0x2ab68d of _0x3dd072){const _0x185beb=startQueryTimer(),_0x7f09e0=_0x2ab68d[_0x15ee64(0xeb)]||[],_0x1cfe01=this['db']['prepare'](_0x2ab68d[_0x15ee64(0xe2)]),_0x5a68bb=/\bRETURNING\b/i['test'](_0x2ab68d[_0x15ee64(0xe2)]),_0x26e869=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x15ee64(0xc4)](_0x2ab68d[_0x15ee64(0xe2)]);if(_0x26e869||_0x5a68bb){const _0x23c81e=_0x1cfe01['all'](..._0x7f09e0),_0x57a5f6=_0x4ef98b[_0x15ee64(0xf9)](_0x185beb);_0x4ef98b[_0x15ee64(0xfc)](logQuery,_0x2ab68d[_0x15ee64(0xe2)],_0x7f09e0,{'duration':_0x57a5f6,'rowsAffected':_0x23c81e[_0x15ee64(0xd1)],'dbType':_0x4ef98b[_0x15ee64(0xd0)]}),_0x4857d7['push'](_0x23c81e);}else{const _0x20ca2c=_0x1cfe01[_0x15ee64(0xfb)](..._0x7f09e0),_0x2f1c4d=_0x4ef98b['UNkdk'](_0x185beb);_0x4ef98b[_0x15ee64(0x103)](logQuery,_0x2ab68d[_0x15ee64(0xe2)],_0x7f09e0,{'duration':_0x2f1c4d,'rowsAffected':_0x20ca2c['changes'],'dbType':_0x15ee64(0xda)}),_0x4857d7['push']({'rowsAffected':_0x20ca2c[_0x15ee64(0xe4)],'insertId':_0x20ca2c['lastInsertRowid']});}}return _0x4857d7;}),_0x240c7e=_0x4ef98b['UtpTD'](_0x21d888,_0xf81859),_0x588c4e=_0x3e10b6();return logTransaction(_0x378375(0xc9),_0xf81859['length']),logger['info']({'event':_0x4ef98b[_0x378375(0xd5)],'queryCount':_0xf81859['length'],'totalDurationMs':_0x588c4e,'dbType':_0x4ef98b['MvGgV']},'Transaction\x20committed\x20('+_0x588c4e+_0x378375(0xfe)+_0xf81859['length']+_0x378375(0xf0)),_0x240c7e;}catch(_0xce470c){const _0x4e9aa0=_0x3e10b6();logTransaction('rollback',_0xf81859['length']),logError(_0xce470c,{'event':'transaction_error','queryCount':_0xf81859[_0x378375(0xd1)],'totalDurationMs':_0x4e9aa0,'code':_0xce470c['code'],'dbType':_0x4ef98b['MvGgV']},_0x378375(0xe8)+_0xce470c[_0x378375(0xf1)]);throw _0xce470c;}}[a0_0x3d25b5(0x102)](){const _0x3811fa=a0_0x3d25b5;return!this['db']&&this[_0x3811fa(0xf3)](),this['db'];}['closePool'](){const _0x6db5d4=a0_0x3d25b5,_0x26d2ff={'zrleA':'sqlite_closed','dujHZ':function(_0x5a9b72,_0x22945a,_0x27ac9c,_0xf20b39){return _0x5a9b72(_0x22945a,_0x27ac9c,_0xf20b39);}};try{this['db']&&(logger[_0x6db5d4(0xc5)]({'event':_0x6db5d4(0xff)},'Closing\x20SQLite\x20database\x20connection...'),this['db']['close'](),this['db']=null,logger['info']({'event':_0x26d2ff[_0x6db5d4(0xcd)]},_0x6db5d4(0xca)));}catch(_0x374b15){_0x26d2ff['dujHZ'](logError,_0x374b15,{'event':_0x6db5d4(0xc2)},_0x6db5d4(0xf8)+_0x374b15['message']);throw _0x374b15;}}async['checkConnection'](){const _0x1b7cd1=a0_0x3d25b5,_0x471a7d={'sEFkI':function(_0x2074be,_0x1a4d64,_0x215c4c,_0x2ebc44){return _0x2074be(_0x1a4d64,_0x215c4c,_0x2ebc44);}};try{return!this['db']&&this['initializeDatabase'](),this['db'][_0x1b7cd1(0xee)]('SELECT\x201')[_0x1b7cd1(0xfd)](),!![];}catch(_0xb527e){return _0x471a7d['sEFkI'](logError,_0xb527e,{'event':'sqlite_connection_check_error'},_0x1b7cd1(0xcf)+_0xb527e['message']),![];}}}const sqliteDb=new SqliteDatabase();process['on'](a0_0x3d25b5(0xd3),()=>{const _0x1afec4=a0_0x3d25b5,_0x3b6e16={'yqnum':'Received\x20SIGINT,\x20closing\x20SQLite\x20database...','ExHyF':function(_0x133570,_0x145d9c,_0xb51924,_0x17c377){return _0x133570(_0x145d9c,_0xb51924,_0x17c377);},'nmnUq':'SIGINT'};logger['info']({'event':_0x1afec4(0xd9),'signal':_0x1afec4(0xd3)},_0x3b6e16['yqnum']);try{sqliteDb[_0x1afec4(0xf5)](),process[_0x1afec4(0x105)](0x0);}catch(_0xa54216){_0x3b6e16[_0x1afec4(0xcb)](logError,_0xa54216,{'event':_0x1afec4(0xe6),'signal':_0x3b6e16[_0x1afec4(0xe5)]},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0xa54216['message']),process[_0x1afec4(0x105)](0x1);}}),process['on']('SIGTERM',()=>{const _0x149b34=a0_0x3d25b5,_0x5210c7={'zsRtb':_0x149b34(0xe1),'OPutj':'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...'};logger['info']({'event':_0x149b34(0xd9),'signal':_0x5210c7[_0x149b34(0xdc)]},_0x5210c7[_0x149b34(0xe9)]);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x5bad87){logError(_0x5bad87,{'event':'sqlite_shutdown_error','signal':_0x149b34(0xe1)},_0x149b34(0x104)+_0x5bad87[_0x149b34(0xf1)]),process['exit'](0x1);}}),module['exports']=sqliteDb;
1
+ const a0_0x4056a1=a0_0x2b95;function a0_0x924e(){const _0x39fad0=['zgvIDwC','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','y2HLy2TdB25Uzwn0Aw9U','uMTMvKG','zxHPDa','BgvUz3rO','DLz3qLm','mZuWmxD3CxbAzq','y2HHBMDLCW','sef5tue','tg1wuKu','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','lI9KyxrHl3jLC3rMB3jNzs5KyG','DhjHBNnHy3rPB25FzxjYB3i','DvvQyLO','mtq0ndu3mKTlzhLhzW','te1jC2W','u1fmAxrLifnrtcbfCNjVCJOG','yNvZEvrPBwvVDxq','ChvZAa','t3PJwKS','z3bJq0W','zxHLy3v0zvrYyw5Zywn0Aw9U','DhjHBNnHy3rPB25Fy29TCgXLDgu','u0Lhvevstq','C3fSAxrL','Aw5MBW','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','zxHWB3j0CW','nvrcDwLHDG','mtKYAMvuDgft','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','q2XVC2LUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','z09TueC','CNvU','C3fS','C3fSAxrLx2nSB3nPBMC','vvDmtgO','mta1ody5mLH0zwLkEq','AM91CM5HBf9TB2rLid0Gv0fm','C3rHCNq','wxDTBLG','C3fSAxrLx3nODxrKB3DU','Cg9Rzhu','ihf1zxjPzxmP','yMv0DgvYlxnXBgL0ztm','ywXS','nZK3nZf1t1PNzfC','nty2yKnZsfnP','y29Kzq','z2v0','ChjHz21H','mtiWmtzLvfvyAMi','nJeYnJeWyNnuD01H','y2XVC2vqB29S','u0Lhsu5u','ChjLCgfYzq','vvj1rK4','zgjqyxrO','DgvZDa','C3fSAxrLx2rIx2v4Axn0CW','BxmSia','C3fSAxrLx2nSB3nLza','Aw5PDgLHBgL6zurHDgfIyxnL','swXUzuu','BgH4z0m','DhjHBNnHy3rPB24','C3fSAxrLx2LUAxrFzxjYB3i','BwvZC2fNzq','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','y2XVC2u','ndCZmJa5tLfzz2LM','DgvZDenVBM5Ly3rPB24','ntaWma','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','lI9SB2DNzxi','mte2ovPdzgDvCG','mJDtv1PIu3y','u0vmrunuideGyxmGDgvZDf9JB25Uzwn0Aw9U','vxPcAxy','s3HosNe'];a0_0x924e=function(){return _0x39fad0;};return a0_0x924e();}(function(_0x155b41,_0x5510c8){const _0x40f23c=a0_0x2b95,_0x26d725=_0x155b41();while(!![]){try{const _0xc86939=-parseInt(_0x40f23c(0x202))/0x1+-parseInt(_0x40f23c(0x203))/0x2*(parseInt(_0x40f23c(0x1d9))/0x3)+parseInt(_0x40f23c(0x1f9))/0x4*(-parseInt(_0x40f23c(0x1f0))/0x5)+-parseInt(_0x40f23c(0x1e2))/0x6+parseInt(_0x40f23c(0x220))/0x7*(parseInt(_0x40f23c(0x207))/0x8)+parseInt(_0x40f23c(0x221))/0x9*(parseInt(_0x40f23c(0x208))/0xa)+parseInt(_0x40f23c(0x21b))/0xb*(parseInt(_0x40f23c(0x1f1))/0xc);if(_0xc86939===_0x5510c8)break;else _0x26d725['push'](_0x26d725['shift']());}catch(_0x3dd28c){_0x26d725['push'](_0x26d725['shift']());}}}(a0_0x924e,0x32a5e));const Database=require(a0_0x4056a1(0x200)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4056a1(0x21f));class SqliteDatabase{constructor(){const _0x5a233a=a0_0x4056a1,_0x12fa2e={'LMIsl':_0x5a233a(0x1df),'lhxgC':_0x5a233a(0x21d),'ABNTg':function(_0xae6880,_0x7f947d){return _0xae6880(_0x7f947d);},'UzBiv':_0x5a233a(0x1ec)};this['db']=null,this[_0x5a233a(0x20d)]=process['env']['DB_NAME']||_0x12fa2e[_0x5a233a(0x1e3)],this[_0x5a233a(0x1e5)]=parseInt(process['env']['DB_BUSY_TIMEOUT']||_0x12fa2e[_0x5a233a(0x214)]),_0x12fa2e['ABNTg'](logDatabaseConfig,{'database':this['dbPath'],'type':_0x12fa2e[_0x5a233a(0x1d0)],'busyTimeout':this[_0x5a233a(0x1e5)]});}[a0_0x4056a1(0x212)](){const _0x38932d=a0_0x4056a1,_0xf559a4={'HAyMA':_0x38932d(0x20f),'tgGBE':_0x38932d(0x1fa),'znzRN':'foreign_keys\x20=\x20ON','kHQBY':function(_0x71840c,_0x2a844b,_0x2ba380,_0x541c32){return _0x71840c(_0x2a844b,_0x2ba380,_0x541c32);},'GexrK':_0x38932d(0x216)};try{if(this['db']){logger[_0x38932d(0x1d2)]({'event':_0xf559a4[_0x38932d(0x1db)]},_0x38932d(0x1f2));return;}this['db']=new Database(this[_0x38932d(0x20d)],{'timeout':this['busyTimeout']}),this['db'][_0x38932d(0x206)](_0xf559a4['tgGBE']),this['db'][_0x38932d(0x206)](_0xf559a4['znzRN']),this[_0x38932d(0x21c)]();}catch(_0x15587c){_0xf559a4['kHQBY'](logError,_0x15587c,{'event':_0xf559a4['GexrK']},_0x38932d(0x1dd)+_0x15587c[_0x38932d(0x217)]);throw _0x15587c;}}['testConnection'](){const _0x401c48=a0_0x4056a1,_0x385f5d={'OzcZK':_0x401c48(0x1ee),'vwkiM':'Testing\x20SQLite\x20database\x20connection...','UWLLj':_0x401c48(0x1cf),'RiXPf':'sqlite_connection_test_failed'};try{logger['debug']({'event':_0x385f5d[_0x401c48(0x1e7)]},_0x385f5d['vwkiM']),this['db'][_0x401c48(0x20b)](_0x385f5d[_0x401c48(0x1f8)])[_0x401c48(0x205)]();}catch(_0x5cca3a){logError(_0x5cca3a,{'event':_0x385f5d['RiXPf']},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x5cca3a[_0x401c48(0x217)]);throw _0x5cca3a;}}async['executeQuery'](_0x18bf90,_0x36e3b0=[]){const _0x14904a=a0_0x4056a1,_0x1ca072={'xjyXm':function(_0x3ee943,_0xc1accf){return _0x3ee943||_0xc1accf;},'sqljP':function(_0x211074){return _0x211074();},'IlneE':function(_0x41f7d9,_0x2496c0,_0x5db92d,_0x38bca4){return _0x41f7d9(_0x2496c0,_0x5db92d,_0x38bca4);},'gOmPG':function(_0x205eb1,_0x4b5c10,_0x2f04f9,_0x274c15){return _0x205eb1(_0x4b5c10,_0x2f04f9,_0x274c15);},'LmVRE':'sql_error'},_0x440e56=startQueryTimer();try{!this['db']&&this['initializeDatabase']();const _0xa73691=this['db'][_0x14904a(0x20b)](_0x18bf90),_0x4858a3=/\bRETURNING\b/i[_0x14904a(0x20e)](_0x18bf90),_0x356665=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x14904a(0x20e)](_0x18bf90);let _0x3e1684,_0x4c5231;if(_0x1ca072['xjyXm'](_0x356665,_0x4858a3)){const _0x1b3be9=_0xa73691[_0x14904a(0x201)](..._0x36e3b0),_0x8e0bc4=_0x1ca072['sqljP'](_0x440e56);return _0x1ca072[_0x14904a(0x213)](logQuery,_0x18bf90,_0x36e3b0,{'duration':_0x8e0bc4,'rowsAffected':_0x1b3be9[_0x14904a(0x1d7)],'dbType':_0x14904a(0x1ec)}),_0x1b3be9;}else{const _0x2af794=_0xa73691['run'](..._0x36e3b0),_0x4d683f=_0x440e56();return _0x3e1684={'rowsAffected':_0x2af794[_0x14904a(0x1da)],'insertId':_0x2af794['lastInsertRowid']},logQuery(_0x18bf90,_0x36e3b0,{'duration':_0x4d683f,'rowsAffected':_0x2af794[_0x14904a(0x1da)],'dbType':_0x14904a(0x1ec)}),_0x3e1684;}}catch(_0x1c4bf5){const _0x149852=_0x440e56();_0x1ca072[_0x14904a(0x1f4)](logError,_0x1c4bf5,{'event':_0x1ca072[_0x14904a(0x1dc)],'query':_0x18bf90['substring'](0x0,0x1f4),'paramCount':_0x36e3b0[_0x14904a(0x1d7)],'durationMs':_0x149852,'code':_0x1c4bf5['code'],'dbType':'sqlite'},_0x14904a(0x1e4)+_0x1c4bf5[_0x14904a(0x217)]);throw _0x1c4bf5;}}async[a0_0x4056a1(0x1e9)](_0x5e5fa4){const _0x5ba792=a0_0x4056a1,_0x1da7a7={'mprXr':function(_0x4426c2,_0x1c8a58){return _0x4426c2||_0x1c8a58;},'wBHWm':function(_0x15eb51){return _0x15eb51();},'pokdu':_0x5ba792(0x1ec),'gpcCL':_0x5ba792(0x1fb),'hjUUV':function(_0x16ef8c,_0x4c5cee){return _0x16ef8c(_0x4c5cee);},'vVwBS':function(_0x20e924){return _0x20e924();},'DdIAY':function(_0x54bce3,_0x5a7315,_0x164853){return _0x54bce3(_0x5a7315,_0x164853);},'ASCrg':'commit','RYemE':'rollback','URuFN':_0x5ba792(0x1e0)},_0x15fbd7=startQueryTimer();try{!this['db']&&this[_0x5ba792(0x212)]();logTransaction(_0x1da7a7[_0x5ba792(0x1e8)],_0x5e5fa4[_0x5ba792(0x1d7)]);const _0xe0f843=this['db'][_0x5ba792(0x215)](_0x44275d=>{const _0x389846=_0x5ba792,_0x554a4c=[];for(const _0x29d7d3 of _0x44275d){const _0x40cc3b=startQueryTimer(),_0xd5d1b3=_0x29d7d3['params']||[],_0x3190b9=this['db'][_0x389846(0x20b)](_0x29d7d3[_0x389846(0x1f6)]),_0x2ead74=/\bRETURNING\b/i['test'](_0x29d7d3['sql']),_0x449a75=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x389846(0x20e)](_0x29d7d3['sql']);if(_0x1da7a7['mprXr'](_0x449a75,_0x2ead74)){const _0x7d5c1f=_0x3190b9['all'](..._0xd5d1b3),_0x4debef=_0x1da7a7['wBHWm'](_0x40cc3b);logQuery(_0x29d7d3[_0x389846(0x1f6)],_0xd5d1b3,{'duration':_0x4debef,'rowsAffected':_0x7d5c1f[_0x389846(0x1d7)],'dbType':_0x1da7a7['pokdu']}),_0x554a4c[_0x389846(0x1e6)](_0x7d5c1f);}else{const _0x37bfee=_0x3190b9[_0x389846(0x1f5)](..._0xd5d1b3),_0x241023=_0x40cc3b();logQuery(_0x29d7d3['sql'],_0xd5d1b3,{'duration':_0x241023,'rowsAffected':_0x37bfee[_0x389846(0x1da)],'dbType':_0x1da7a7[_0x389846(0x1fe)]}),_0x554a4c[_0x389846(0x1e6)]({'rowsAffected':_0x37bfee[_0x389846(0x1da)],'insertId':_0x37bfee['lastInsertRowid']});}}return _0x554a4c;}),_0x1085c6=_0x1da7a7['hjUUV'](_0xe0f843,_0x5e5fa4),_0x5eae83=_0x1da7a7[_0x5ba792(0x1d8)](_0x15fbd7);return _0x1da7a7['DdIAY'](logTransaction,_0x1da7a7['ASCrg'],_0x5e5fa4[_0x5ba792(0x1d7)]),logger[_0x5ba792(0x1ed)]({'event':_0x5ba792(0x1ea),'queryCount':_0x5e5fa4[_0x5ba792(0x1d7)],'totalDurationMs':_0x5eae83,'dbType':_0x1da7a7[_0x5ba792(0x1fe)]},'Transaction\x20committed\x20('+_0x5eae83+_0x5ba792(0x210)+_0x5e5fa4[_0x5ba792(0x1d7)]+_0x5ba792(0x1ff)),_0x1085c6;}catch(_0x530bcb){const _0x82a17a=_0x15fbd7();logTransaction(_0x1da7a7['RYemE'],_0x5e5fa4[_0x5ba792(0x1d7)]),logError(_0x530bcb,{'event':_0x1da7a7[_0x5ba792(0x20c)],'queryCount':_0x5e5fa4['length'],'totalDurationMs':_0x82a17a,'code':_0x530bcb[_0x5ba792(0x204)],'dbType':'sqlite'},'Transaction\x20failed:\x20'+_0x530bcb['message']);throw _0x530bcb;}}['getPool'](){const _0x502f1e=a0_0x4056a1;return!this['db']&&this[_0x502f1e(0x212)](),this['db'];}[a0_0x4056a1(0x209)](){const _0x3ab107=a0_0x4056a1,_0x3d037c={'KxNJq':_0x3ab107(0x1f7),'YwmnX':_0x3ab107(0x1d3)};try{this['db']&&(logger[_0x3ab107(0x1ed)]({'event':_0x3d037c[_0x3ab107(0x1d1)]},_0x3ab107(0x1f3)),this['db'][_0x3ab107(0x21a)](),this['db']=null,logger[_0x3ab107(0x1ed)]({'event':_0x3ab107(0x211)},_0x3d037c[_0x3ab107(0x1fc)]));}catch(_0x2b3e7b){logError(_0x2b3e7b,{'event':'sqlite_close_error'},_0x3ab107(0x1de)+_0x2b3e7b['message']);throw _0x2b3e7b;}}async[a0_0x4056a1(0x1d4)](){const _0x30e27b=a0_0x4056a1,_0x1529b8={'EDnWd':'SELECT\x201'};try{return!this['db']&&this[_0x30e27b(0x212)](),this['db']['prepare'](_0x1529b8['EDnWd'])['get'](),!![];}catch(_0x19dbc9){return logError(_0x19dbc9,{'event':'sqlite_connection_check_error'},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x19dbc9[_0x30e27b(0x217)]),![];}}}const sqliteDb=new SqliteDatabase();function a0_0x2b95(_0x8fa07f,_0x4e966f){_0x8fa07f=_0x8fa07f-0x1cf;const _0x924e88=a0_0x924e();let _0x2b9526=_0x924e88[_0x8fa07f];if(a0_0x2b95['efDIJy']===undefined){var _0x3a9c87=function(_0x1f4647){const _0x13c499='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x169960='',_0x49dbd8='';for(let _0x570b12=0x0,_0x411b56,_0x53222a,_0x2e0f2d=0x0;_0x53222a=_0x1f4647['charAt'](_0x2e0f2d++);~_0x53222a&&(_0x411b56=_0x570b12%0x4?_0x411b56*0x40+_0x53222a:_0x53222a,_0x570b12++%0x4)?_0x169960+=String['fromCharCode'](0xff&_0x411b56>>(-0x2*_0x570b12&0x6)):0x0){_0x53222a=_0x13c499['indexOf'](_0x53222a);}for(let _0x13ceb5=0x0,_0x393ab1=_0x169960['length'];_0x13ceb5<_0x393ab1;_0x13ceb5++){_0x49dbd8+='%'+('00'+_0x169960['charCodeAt'](_0x13ceb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49dbd8);};a0_0x2b95['ajPjMz']=_0x3a9c87,a0_0x2b95['WIhpBG']={},a0_0x2b95['efDIJy']=!![];}const _0x479799=_0x924e88[0x0],_0x47f4ff=_0x8fa07f+_0x479799,_0x49543f=a0_0x2b95['WIhpBG'][_0x47f4ff];return!_0x49543f?(_0x2b9526=a0_0x2b95['ajPjMz'](_0x2b9526),a0_0x2b95['WIhpBG'][_0x47f4ff]=_0x2b9526):_0x2b9526=_0x49543f,_0x2b9526;}process['on'](a0_0x4056a1(0x20a),()=>{const _0x36bb27=a0_0x4056a1,_0x508343={'yFFle':_0x36bb27(0x1fd),'jwWCA':'SIGINT','pLSjU':function(_0x1f493e,_0xa22a1b,_0x251d84,_0x155aa4){return _0x1f493e(_0xa22a1b,_0x251d84,_0x155aa4);},'RkfVH':_0x36bb27(0x21e)};logger[_0x36bb27(0x1ed)]({'event':_0x508343['yFFle'],'signal':_0x508343['jwWCA']},_0x36bb27(0x219));try{sqliteDb[_0x36bb27(0x209)](),process[_0x36bb27(0x1d6)](0x0);}catch(_0x44323a){_0x508343['pLSjU'](logError,_0x44323a,{'event':_0x508343[_0x36bb27(0x1d5)],'signal':_0x508343['jwWCA']},_0x36bb27(0x218)+_0x44323a[_0x36bb27(0x217)]),process['exit'](0x1);}}),process['on'](a0_0x4056a1(0x1eb),()=>{const _0x50c84e=a0_0x4056a1,_0x1e8a0f={'rRrNx':'sqlite_shutdown','uUjbZ':'SIGTERM'};logger['info']({'event':_0x1e8a0f['rRrNx'],'signal':_0x1e8a0f[_0x50c84e(0x1e1)]},'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...');try{sqliteDb[_0x50c84e(0x209)](),process['exit'](0x0);}catch(_0x415dfe){logError(_0x415dfe,{'event':'sqlite_shutdown_error','signal':_0x1e8a0f[_0x50c84e(0x1e1)]},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x415dfe['message']),process[_0x50c84e(0x1d6)](0x1);}}),module[a0_0x4056a1(0x1ef)]=sqliteDb;
@@ -1 +1 @@
1
- const a0_0x281f54=a0_0x4238;(function(_0x1bbb18,_0x1d74a1){const _0x36bf0c=a0_0x4238,_0x5ee305=_0x1bbb18();while(!![]){try{const _0xde523f=parseInt(_0x36bf0c(0xa0))/0x1*(-parseInt(_0x36bf0c(0xd5))/0x2)+-parseInt(_0x36bf0c(0xda))/0x3+parseInt(_0x36bf0c(0xb8))/0x4*(-parseInt(_0x36bf0c(0xa9))/0x5)+parseInt(_0x36bf0c(0xc2))/0x6+parseInt(_0x36bf0c(0x98))/0x7*(-parseInt(_0x36bf0c(0x8e))/0x8)+parseInt(_0x36bf0c(0x92))/0x9*(-parseInt(_0x36bf0c(0xae))/0xa)+-parseInt(_0x36bf0c(0x88))/0xb*(-parseInt(_0x36bf0c(0xce))/0xc);if(_0xde523f===_0x1d74a1)break;else _0x5ee305['push'](_0x5ee305['shift']());}catch(_0x4f2fa1){_0x5ee305['push'](_0x5ee305['shift']());}}}(a0_0x5d28,0x89d95));function a0_0x5d28(){const _0x779469=['CMvWBgfJzq','Bwf0y2G','mtrIt2XNqxq','tK9qAhi','BKTyDui','BwfW','z2v0vvrdrgf0zq','BNvTrM10','yxbWBhLsB3DgB3jTyxr0Aw5N','Dhfxzxi','zMLSDgvY','ndCYmtu0mg5etNPnBW','Cxnfzxu','iYWJiZaUmda','vLDytxq','rxHJzwWGz2vUzxjHDgvKicHZAw1WBguGBwv0Ag9Kkq','mtiWCurMz2Lo','ENjrzve','A2v5CW','C2XPy2u','mc4Wmcu','ywXPz25Tzw50','C3r5Bgu','AxvMrwC','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','C29SAwq','nhzyA0L1EG','lI9SB2DNzxi','v0XIt1u','ExL5Es9TBs9Kza','wwj3svy','ywrKv29YA3nOzwv0','C3rYAw5N','Cgf0DgvYBG','DhLWzq','z2v0vgLTzq','nJuZnZG1mLvdve9osq','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','DMLLD3m','rgf0yq','sw52ywXPzcbJB2X1Bw5ZoIa','y2H1BMTtAxPL','zMLSBa','rKy0ndCYqZq','ywrKuM93','ihjVD3m','Dg9mB3DLCKnHC2u','C2Pfr0S','mZqXnZK0nJHpqxfHrxi','DMfSDwu','z2v0uM93','CuLXs20','zM9YBwf0sgvHzgvY','t0nzDvC','zgf0zq','mti1nZHSy1bwr3m','rKzgrKzgrKy','ExL5Es1TBs1Kza','zM9YBwf0q2vSBa','tLf5vuK','mJCWmdq5ogDrAMvZEG','z2vUzxjHDgu','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','yxv0B0zPBhrLCG','ChvZAa','z2vUzxjHDgvtAw1WBgu','BgvUz3rO','wwrOvMS','uuLuENe','C3rYzwfTAw5N','z2v0q2vSBa','z2v0rxHJzwXgB3jTyxq','zM9YBwf0rgf0zvn0CMLUzW','CgfKu3rHCNq','y2vUDgvY','CgvYy2vUDgfNzq','ChjLChjVy2vZC1rLEhrsB3C','mtfNzNb0vuC','Dgv4Da','B0LKwLC','Aw5JBhvKzxm','zM9YrwfJAa','y2vPBa','mtC2CujfBu1K','EgXZEa','zM9UDa','z2nmqNG','nJqXmtqYqMHJvM9i','CgfYC2voDw1Izxi','ALHMrxq','z2v0vvrdrNvSBfLLyxi','y29SDw1UCW','BNvTyMvY','mtG2ndmXAuLkwhf6','zgqTBw0TExL5Eq','y29TBwL0','z2vUzxjHDgvtDhjLyw1PBMC','BwLKzgXL','zgqVBw0VExL5Eq'];a0_0x5d28=function(){return _0x779469;};return a0_0x5d28();}const ExcelJS=require('exceljs'),{logger}=require(a0_0x281f54(0xb9));function a0_0x4238(_0x179964,_0x524296){_0x179964=_0x179964-0x86;const _0x5d2822=a0_0x5d28();let _0x42383e=_0x5d2822[_0x179964];if(a0_0x4238['ZYEHmN']===undefined){var _0x403c8e=function(_0x256530){const _0x254e36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xeea69a='',_0x5dbd00='';for(let _0x3aba69=0x0,_0x3e5e1,_0x245c67,_0x2751b3=0x0;_0x245c67=_0x256530['charAt'](_0x2751b3++);~_0x245c67&&(_0x3e5e1=_0x3aba69%0x4?_0x3e5e1*0x40+_0x245c67:_0x245c67,_0x3aba69++%0x4)?_0xeea69a+=String['fromCharCode'](0xff&_0x3e5e1>>(-0x2*_0x3aba69&0x6)):0x0){_0x245c67=_0x254e36['indexOf'](_0x245c67);}for(let _0x597214=0x0,_0x23a783=_0xeea69a['length'];_0x597214<_0x23a783;_0x597214++){_0x5dbd00+='%'+('00'+_0xeea69a['charCodeAt'](_0x597214)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dbd00);};a0_0x4238['mzjzRo']=_0x403c8e,a0_0x4238['HsurEH']={},a0_0x4238['ZYEHmN']=!![];}const _0x18eb87=_0x5d2822[0x0],_0x5dbd14=_0x179964+_0x18eb87,_0x2b2ba1=a0_0x4238['HsurEH'][_0x5dbd14];return!_0x2b2ba1?(_0x42383e=a0_0x4238['mzjzRo'](_0x42383e),a0_0x4238['HsurEH'][_0x5dbd14]=_0x42383e):_0x42383e=_0x2b2ba1,_0x42383e;}class ExcelGenerator{constructor(){const _0x4ed53d=a0_0x281f54,_0x1d27b4={'zrQeQ':function(_0x46281a,_0x2c0c4f,_0x2234bd){return _0x46281a(_0x2c0c4f,_0x2234bd);}};this[_0x4ed53d(0xc7)]=_0x1d27b4[_0x4ed53d(0xaf)](parseInt,process['env']['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async[a0_0x281f54(0xdb)](_0x4b6918){const _0x441df9=a0_0x281f54,_0x4b141f={'gcLBx':_0x441df9(0xb6),'qMPtE':function(_0x243887,_0x1f913b){return _0x243887<=_0x1f913b;}},{data:_0x4d5ec5,columns:_0x1113ec,columnFormats:_0x24f1ef,fieldLabels:_0x35a052,filePath:_0x34b502,onProgress:_0x1ee42f}=_0x4b6918;logger['info']({'event':'excel_generation_start','rows':_0x4d5ec5['length'],'columns':_0x1113ec?.[_0x441df9(0xe0)]||'auto','columnFormats':_0x24f1ef?Object[_0x441df9(0xb0)](_0x24f1ef):null,'fieldLabels':_0x35a052?Object[_0x441df9(0xb0)](_0x35a052):null,'streaming':_0x4d5ec5[_0x441df9(0xe0)]>this['chunkSize']},_0x4b141f[_0x441df9(0x91)]);if(_0x4b141f['qMPtE'](_0x4d5ec5['length'],this['chunkSize']))return await this[_0x441df9(0xdf)](_0x4d5ec5,_0x1113ec,_0x24f1ef,_0x35a052,_0x34b502,_0x1ee42f);return await this[_0x441df9(0x9b)](_0x4d5ec5,_0x1113ec,_0x24f1ef,_0x35a052,_0x34b502,_0x1ee42f);}async['generateSimple'](_0x53bcc2,_0x468e08,_0x3968f1,_0x2a5fed,_0x26599c,_0x164a82){const _0x589dcc=a0_0x281f54,_0x5eb26d={'hFDmP':function(_0x44ebd7,_0x2fcd88){return _0x44ebd7!==_0x2fcd88;},'PAgbv':_0x589dcc(0xc5),'qIqKm':function(_0x1f41ec,_0x52dfd8){return _0x1f41ec>_0x52dfd8;},'VZQEZ':_0x589dcc(0xe8),'HeNim':function(_0x5e3924,_0x405a70){return _0x5e3924(_0x405a70);},'XHpro':_0x589dcc(0xad)},_0x3b3c9b=new ExcelJS['Workbook'](),_0x3224bd=_0x3b3c9b['addWorksheet'](_0x5eb26d['PAgbv']),_0x1b306f=_0x468e08||(_0x5eb26d[_0x589dcc(0xd1)](_0x53bcc2[_0x589dcc(0xe0)],0x0)?Object[_0x589dcc(0xb0)](_0x53bcc2[0x0]):[]);_0x3224bd[_0x589dcc(0x96)]=_0x1b306f[_0x589dcc(0xa3)](_0x3d9d1b=>{const _0x28f21d=_0x589dcc,_0x450193={'header':this['formatHeader'](_0x3d9d1b,_0x2a5fed),'key':_0x3d9d1b,'width':0x14};if(_0x3968f1&&_0x3968f1[_0x3d9d1b]){const _0xc70ae6=_0x3968f1[_0x3d9d1b];if(_0xc70ae6['type']&&_0x5eb26d['hFDmP'](_0xc70ae6[_0x28f21d(0xc0)][_0x28f21d(0xcc)](),'date')){const _0x12f6d3=this['getExcelFormat'](_0xc70ae6);_0x12f6d3&&(_0x450193[_0x28f21d(0xb4)]={'numFmt':_0x12f6d3});}}return _0x450193;}),_0x3224bd[_0x589dcc(0xd0)](0x1)[_0x589dcc(0x90)]={'bold':!![],'color':{'argb':_0x589dcc(0xd6)}},_0x3224bd[_0x589dcc(0xd0)](0x1)[_0x589dcc(0xc8)]={'type':'pattern','pattern':_0x589dcc(0xb7),'fgColor':{'argb':'FF4472C4'}},_0x3224bd[_0x589dcc(0xd0)](0x1)[_0x589dcc(0xb3)]={'vertical':_0x589dcc(0x9c),'horizontal':_0x5eb26d['VZQEZ']};const _0x189cdb=_0x3968f1?this['preprocessTextColumns'](_0x53bcc2,_0x1b306f,_0x3968f1):_0x53bcc2;return _0x3224bd['addRows'](_0x189cdb),_0x3968f1&&this['applyCellFormatting'](_0x3224bd,_0x1b306f,_0x3968f1,_0x53bcc2['length']),_0x164a82&&await _0x164a82(0x32),_0x3224bd[_0x589dcc(0xdd)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x1b306f[_0x589dcc(0xe0)]}},_0x3224bd[_0x589dcc(0xc4)]=[{'state':'frozen','xSplit':0x0,'ySplit':0x1}],await _0x3b3c9b['xlsx']['writeFile'](_0x26599c),_0x164a82&&await _0x5eb26d['HeNim'](_0x164a82,0x64),logger['info']({'event':'excel_generation_complete','method':'simple','rows':_0x53bcc2['length']},_0x5eb26d['XHpro']),_0x26599c;}async['generateStreaming'](_0x6b74d2,_0x1418de,_0x4d70be,_0x2032d3,_0x4466dd,_0x253a46){const _0x548b9b=a0_0x281f54,_0x92005f={'sjEGK':function(_0x42b035,_0x42eb78){return _0x42b035!==_0x42eb78;},'QITzq':_0x548b9b(0xbf),'WdcYA':_0x548b9b(0xc9),'NCkWx':function(_0x21c057,_0x373820){return _0x21c057*_0x373820;},'SrJHV':function(_0x9d780c,_0x2b5d09){return _0x9d780c/_0x2b5d09;},'jXfEt':function(_0xd326ea,_0x467fd3){return _0xd326ea(_0x467fd3);},'easco':_0x548b9b(0xdc),'ldApB':_0x548b9b(0xc3)},_0x34ab6d=new ExcelJS['stream'][(_0x548b9b(0x8f))]['WorkbookWriter']({'filename':_0x4466dd,'useStyles':!![],'useSharedStrings':!![]}),_0x421fb9=_0x34ab6d[_0x548b9b(0xbd)]('Data'),_0x2e17b3=_0x1418de||(_0x6b74d2[_0x548b9b(0xe0)]>0x0?Object['keys'](_0x6b74d2[0x0]):[]),_0xc57de1={};_0x2e17b3['forEach']((_0x294421,_0x201b1d)=>{_0xc57de1[_0x294421]=_0x201b1d+0x1;}),_0x421fb9[_0x548b9b(0x96)]=_0x2e17b3[_0x548b9b(0xa3)](_0x402e9e=>{const _0x38bae5=_0x548b9b,_0x439fe5={'header':this[_0x38bae5(0xd2)](_0x402e9e,_0x2032d3),'key':_0x402e9e,'width':0x14};if(_0x4d70be&&_0x4d70be[_0x402e9e]){const _0x4d64aa=_0x4d70be[_0x402e9e];if(_0x4d64aa[_0x38bae5(0xc0)]&&_0x92005f[_0x38bae5(0xcd)](_0x4d64aa['type']['toLowerCase'](),'date')){const _0x37dbcd=this['getExcelFormat'](_0x4d64aa);_0x37dbcd&&(_0x439fe5['style']={'numFmt':_0x37dbcd});}}return _0x439fe5;});const _0x192ec5=_0x421fb9['getRow'](0x1);_0x192ec5['font']={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x192ec5['fill']={'type':_0x92005f[_0x548b9b(0xe2)],'pattern':'solid','fgColor':{'argb':_0x92005f['WdcYA']}},_0x192ec5[_0x548b9b(0xb3)]={'vertical':_0x548b9b(0x9c),'horizontal':_0x548b9b(0xe8)},_0x192ec5[_0x548b9b(0x9a)]();const _0x577335=_0x6b74d2['length'];let _0x49c133=0x0;for(let _0x25e575=0x0;_0x25e575<_0x577335;_0x25e575+=this['chunkSize']){const _0x21e2f2=_0x6b74d2[_0x548b9b(0xb1)](_0x25e575,_0x25e575+this['chunkSize']);for(const _0x4a6193 of _0x21e2f2){const _0x3e5b95=_0x4d70be?this['preprocessTextRow'](_0x4a6193,_0x2e17b3,_0x4d70be):_0x4a6193,_0x184348=_0x421fb9[_0x548b9b(0xca)](_0x3e5b95);_0x4d70be&&this[_0x548b9b(0xa6)](_0x184348,_0x3e5b95,_0x2e17b3,_0x4d70be),_0x184348[_0x548b9b(0x9a)](),_0x49c133++;}if(_0x253a46){const _0x100fcc=Math['round'](_0x92005f['NCkWx'](_0x92005f['SrJHV'](_0x49c133,_0x577335),0x64));await _0x92005f[_0x548b9b(0x94)](_0x253a46,_0x100fcc);}logger['debug']({'event':'excel_chunk_processed','processed':_0x49c133,'total':_0x577335},'Processed\x20'+_0x49c133+'/'+_0x577335+_0x548b9b(0xcb));}return _0x421fb9['commit'](),await _0x34ab6d[_0x548b9b(0x9a)](),logger['info']({'event':_0x92005f['easco'],'method':_0x548b9b(0xe3),'rows':_0x577335,'chunks':Math[_0x548b9b(0x8d)](_0x92005f['SrJHV'](_0x577335,this['chunkSize']))},_0x92005f['ldApB']),_0x4466dd;}['formatHeader'](_0x1a3242,_0x124897){const _0x1c2432=a0_0x281f54,_0x2c33ed={'WLbOU':function(_0x1ae5e2,_0x3fc8cc){return _0x1ae5e2(_0x3fc8cc);}};if(_0x124897&&_0x124897[_0x1a3242])return _0x124897[_0x1a3242];return _0x2c33ed[_0x1c2432(0xba)](String,_0x1a3242)['toUpperCase']();}['validateColumns'](_0x1add4b,_0x564b02){const _0x5155a6=a0_0x281f54,_0x93b44c={'NQyUI':function(_0x143cb6,_0x17dc7a){return _0x143cb6>_0x17dc7a;}};if(!_0x564b02||_0x564b02['length']===0x0)return!![];if(_0x1add4b['length']===0x0)return!![];const _0x361680=Object[_0x5155a6(0xb0)](_0x1add4b[0x0]),_0x21ab3e=_0x564b02[_0x5155a6(0xa8)](_0x258b31=>!_0x361680[_0x5155a6(0x8b)](_0x258b31));if(_0x93b44c[_0x5155a6(0xd9)](_0x21ab3e['length'],0x0))throw new Error(_0x5155a6(0xc6)+_0x21ab3e['join'](',\x20'));return!![];}[a0_0x281f54(0xe5)](_0x8d2148){const _0x369f0b=a0_0x281f54,_0xa284f5={'fkMwN':_0x369f0b(0x9d),'iufEg':_0x369f0b(0x86),'evgzO':_0x369f0b(0xb2),'OXmPO':_0x369f0b(0x89)};if(!_0x8d2148||!_0x8d2148[_0x369f0b(0xc0)])return null;const {type:_0x4ae7d1,format:_0x3af29a}=_0x8d2148;switch(_0x4ae7d1['toLowerCase']()){case _0x369f0b(0xd4):return _0x3af29a?_0x3af29a['toLowerCase']():_0xa284f5['fkMwN'];case _0x369f0b(0x97):return _0x3af29a||_0x369f0b(0xab);case'currency':return _0x3af29a||'\x22Rp\x20\x22#,##0';case _0xa284f5[_0x369f0b(0xb5)]:return _0x3af29a||_0xa284f5['evgzO'];case _0xa284f5['OXmPO']:return'@';default:return null;}}['applyCellFormatting'](_0x12cf6d,_0x1f1201,_0x54cdc7,_0x33bc47){const _0xba201=a0_0x281f54,_0x566297={'OOqZg':function(_0x488f52,_0xfecc50){return _0x488f52+_0xfecc50;}};if(!_0x54cdc7)return;_0x1f1201[_0xba201(0x8c)]((_0x190dc8,_0xe48887)=>{const _0x56c4f5=_0xba201,_0xb86d31=_0x54cdc7[_0x190dc8];if(!_0xb86d31)return;const _0x2ee7e2=_0xe48887+0x1;for(let _0x242a00=0x2;_0x242a00<=_0x566297['OOqZg'](_0x33bc47,0x1);_0x242a00++){const _0x405934=_0x12cf6d[_0x56c4f5(0xe4)](_0x242a00,_0x2ee7e2);this['formatCell'](_0x405934,_0xb86d31);}});}[a0_0x281f54(0xa6)](_0x85894e,_0x56029b,_0x3a268f,_0xbd64be){const _0x48f6d5=a0_0x281f54;if(!_0xbd64be)return;_0x3a268f[_0x48f6d5(0x8c)]((_0x171189,_0xd63f63)=>{const _0x4f027f=_0x48f6d5,_0x5e54e7=_0xbd64be[_0x171189];if(!_0x5e54e7)return;const _0xe5903e=_0x85894e['getCell'](_0xd63f63+0x1);this[_0x4f027f(0xd8)](_0xe5903e,_0x5e54e7);});}['formatCell'](_0x560090,_0x54ac9d){const _0x59daa1=a0_0x281f54,_0x3370bd={'jfLBE':_0x59daa1(0xd4),'YdhVk':'percentage','nFDry':_0x59daa1(0x89),'VWXMt':'string'};if(!_0x54ac9d||!_0x54ac9d['type'])return;const {type:_0x572287,format:_0xcdde13}=_0x54ac9d;if(_0x572287['toLowerCase']()===_0x3370bd['jfLBE']&&_0x560090['value']){const _0x3e6d7a=this['formatDateString'](_0x560090[_0x59daa1(0xcf)],_0xcdde13);_0x3e6d7a&&(_0x560090[_0x59daa1(0xcf)]=_0x3e6d7a);return;}if((_0x572287[_0x59daa1(0xcc)]()==='number'||_0x572287[_0x59daa1(0xcc)]()==='currency'||_0x572287[_0x59daa1(0xcc)]()===_0x3370bd[_0x59daa1(0xe1)])&&_0x560090[_0x59daa1(0xcf)]){const _0x399d6e=this['parseNumber'](_0x560090[_0x59daa1(0xcf)]);if(_0x399d6e!==null){_0x560090[_0x59daa1(0xcf)]=_0x399d6e;const _0x9dba43=this['getExcelFormat'](_0x54ac9d);_0x9dba43&&(_0x560090['numFmt']=_0x9dba43);}}_0x572287['toLowerCase']()===_0x3370bd['nFDry']&&_0x560090[_0x59daa1(0xcf)]&&(_0x560090[_0x59daa1(0xa5)]='@',typeof _0x560090[_0x59daa1(0xcf)]!==_0x3370bd[_0x59daa1(0xac)]&&(_0x560090[_0x59daa1(0xcf)]=String(_0x560090['value'])),_0x560090['alignment']={'horizontal':'left','vertical':_0x59daa1(0x9c)});}[a0_0x281f54(0xe6)](_0x584255,_0x5c9aa8){const _0xd7b1f8=a0_0x281f54,_0x1ac8c6={'YbwIV':function(_0x2692f1,_0x29a75d){return _0x2692f1+_0x29a75d;},'oIdZW':function(_0x5f0d4e,_0x16377a){return _0x5f0d4e===_0x16377a;},'OCYuW':function(_0x38c996,_0x5914e0,_0x42cc7a){return _0x38c996(_0x5914e0,_0x42cc7a);},'mxsDU':function(_0xf6f0e9,_0x2ca811,_0x487fb9){return _0xf6f0e9(_0x2ca811,_0x487fb9);},'nKXuB':function(_0x5870c7,_0x2b2717,_0x317d4b){return _0x5870c7(_0x2b2717,_0x317d4b);},'YzPVU':function(_0x22ceb3,_0x2a1a50){return _0x22ceb3(_0x2a1a50);},'tqWer':function(_0x351c84,_0x379091){return _0x351c84(_0x379091);},'VCJnT':_0xd7b1f8(0x9d),'wysUC':function(_0x40ff97,_0x4f284a){return _0x40ff97===_0x4f284a;},'DdSeB':_0xd7b1f8(0x99),'wGGea':function(_0x19cd98,_0x330ae2){return _0x19cd98===_0x330ae2;}};if(!_0x584255)return null;let _0x2a7a0d,_0x1f04f4,_0x10b5cf;if(_0x584255 instanceof Date)_0x2a7a0d=_0x584255[_0xd7b1f8(0x95)](),_0x1f04f4=_0x1ac8c6[_0xd7b1f8(0xbc)](_0x584255['getUTCMonth'](),0x1),_0x10b5cf=_0x584255['getUTCDate']();else{if(_0x1ac8c6[_0xd7b1f8(0x8a)](typeof _0x584255,_0xd7b1f8(0xbe))){const _0x24667e=_0x584255['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x24667e)_0x2a7a0d=_0x1ac8c6[_0xd7b1f8(0xd3)](parseInt,_0x24667e[0x1],0xa),_0x1f04f4=_0x1ac8c6[_0xd7b1f8(0xd3)](parseInt,_0x24667e[0x2],0xa),_0x10b5cf=parseInt(_0x24667e[0x3],0xa);else{const _0x1ad3b6=_0x584255[_0xd7b1f8(0x9f)](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x1ad3b6)_0x10b5cf=parseInt(_0x1ad3b6[0x1],0xa),_0x1f04f4=parseInt(_0x1ad3b6[0x2],0xa),_0x2a7a0d=_0x1ac8c6['mxsDU'](parseInt,_0x1ad3b6[0x3],0xa);else{const _0x3640be=_0x584255[_0xd7b1f8(0x9f)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x3640be&&(_0x2a7a0d=_0x1ac8c6['mxsDU'](parseInt,_0x3640be[0x1],0xa),_0x1f04f4=_0x1ac8c6[_0xd7b1f8(0xa2)](parseInt,_0x3640be[0x2],0xa),_0x10b5cf=parseInt(_0x3640be[0x3],0xa));}}}else{if(typeof _0x584255==='number'){const _0x4af8d3=new Date(_0x584255);!isNaN(_0x4af8d3[_0xd7b1f8(0xc1)]())&&(_0x2a7a0d=_0x4af8d3['getUTCFullYear'](),_0x1f04f4=_0x4af8d3['getUTCMonth']()+0x1,_0x10b5cf=_0x4af8d3[_0xd7b1f8(0xa4)]());}}}if(!_0x2a7a0d||!_0x1f04f4||!_0x10b5cf)return null;const _0x54db1c=String(_0x10b5cf)['padStart'](0x2,'0'),_0x45b69e=_0x1ac8c6['YzPVU'](String,_0x1f04f4)[_0xd7b1f8(0xe7)](0x2,'0'),_0x547b0f=_0x1ac8c6[_0xd7b1f8(0xa7)](String,_0x2a7a0d),_0x3699a3=(_0x5c9aa8||'DD/MM/YYYY')['toLowerCase']();if(_0x3699a3===_0x1ac8c6['VCJnT'])return _0x54db1c+'/'+_0x45b69e+'/'+_0x547b0f;else{if(_0x1ac8c6['oIdZW'](_0x3699a3,'mm/dd/yyyy'))return _0x45b69e+'/'+_0x54db1c+'/'+_0x547b0f;else{if(_0x1ac8c6['wysUC'](_0x3699a3,_0xd7b1f8(0xd7)))return _0x547b0f+'-'+_0x45b69e+'-'+_0x54db1c;else{if(_0x3699a3===_0x1ac8c6['DdSeB'])return _0x54db1c+'-'+_0x45b69e+'-'+_0x547b0f;else return _0x1ac8c6['wGGea'](_0x3699a3,_0xd7b1f8(0xbb))?_0x547b0f+'/'+_0x45b69e+'/'+_0x54db1c:_0x54db1c+'/'+_0x45b69e+'/'+_0x547b0f;}}}}[a0_0x281f54(0x93)](_0x1f7116){const _0x4f1ae7=a0_0x281f54,_0x542a49={'NOPhr':'string'};if(typeof _0x1f7116===_0x4f1ae7(0x97))return _0x1f7116;if(typeof _0x1f7116===_0x542a49[_0x4f1ae7(0xa1)]){const _0x5b285d=_0x1f7116[_0x4f1ae7(0x9e)](/[^\d.-]/g,''),_0x5926ca=parseFloat(_0x5b285d);if(!isNaN(_0x5926ca))return _0x5926ca;}return null;}['preprocessTextColumns'](_0x1e5ac2,_0x4ed58d,_0x5d9c83){const _0xb94dae=a0_0x281f54,_0x466397={'aGpcB':function(_0x4d32e2,_0x53ad7d){return _0x4d32e2!==_0x53ad7d;},'ZeCAU':function(_0x12efe5,_0x231b06){return _0x12efe5(_0x231b06);}};if(!_0x5d9c83)return _0x1e5ac2;const _0x3fb29e=[];_0x4ed58d[_0xb94dae(0x8c)](_0x2abfa5=>{const _0x23ca4a=_0xb94dae,_0x12befc=_0x5d9c83[_0x2abfa5];_0x12befc&&_0x12befc['type']&&_0x12befc[_0x23ca4a(0xc0)]['toLowerCase']()==='text'&&_0x3fb29e[_0x23ca4a(0xde)](_0x2abfa5);});if(_0x3fb29e['length']===0x0)return _0x1e5ac2;return _0x1e5ac2['map'](_0x19f03d=>{const _0x2add0b=_0xb94dae,_0x264abd={..._0x19f03d};return _0x3fb29e[_0x2add0b(0x8c)](_0x8c8c2d=>{_0x264abd[_0x8c8c2d]!==null&&_0x466397['aGpcB'](_0x264abd[_0x8c8c2d],undefined)&&(_0x264abd[_0x8c8c2d]='\x27'+_0x466397['ZeCAU'](String,_0x264abd[_0x8c8c2d]));}),_0x264abd;});}[a0_0x281f54(0x87)](_0xc68f5a,_0xe50eee,_0xad73c7){const _0x4397a3=a0_0x281f54,_0x49eac6={'qsEeu':function(_0x465bb7,_0x50260b){return _0x465bb7===_0x50260b;}};if(!_0xad73c7)return _0xc68f5a;const _0xcd9e5=[];_0xe50eee['forEach'](_0x5e2b51=>{const _0x57d522=a0_0x4238,_0x97a672=_0xad73c7[_0x5e2b51];_0x97a672&&_0x97a672[_0x57d522(0xc0)]&&_0x97a672[_0x57d522(0xc0)][_0x57d522(0xcc)]()===_0x57d522(0x89)&&_0xcd9e5[_0x57d522(0xde)](_0x5e2b51);});if(_0x49eac6[_0x4397a3(0xaa)](_0xcd9e5[_0x4397a3(0xe0)],0x0))return _0xc68f5a;const _0x2deb43={..._0xc68f5a};return _0xcd9e5[_0x4397a3(0x8c)](_0x349c2c=>{_0x2deb43[_0x349c2c]!==null&&_0x2deb43[_0x349c2c]!==undefined&&(_0x2deb43[_0x349c2c]='\x27'+String(_0x2deb43[_0x349c2c]));}),_0x2deb43;}}module['exports']=ExcelGenerator;
1
+ const a0_0x2c1c1e=a0_0x2a5e;(function(_0x2331b5,_0x303a4a){const _0x5209fc=a0_0x2a5e,_0x42ca82=_0x2331b5();while(!![]){try{const _0x45eeb9=-parseInt(_0x5209fc(0x16c))/0x1*(-parseInt(_0x5209fc(0x1a3))/0x2)+-parseInt(_0x5209fc(0x199))/0x3*(parseInt(_0x5209fc(0x1a1))/0x4)+-parseInt(_0x5209fc(0x15d))/0x5*(parseInt(_0x5209fc(0x154))/0x6)+parseInt(_0x5209fc(0x1ad))/0x7*(parseInt(_0x5209fc(0x18e))/0x8)+parseInt(_0x5209fc(0x185))/0x9*(parseInt(_0x5209fc(0x192))/0xa)+-parseInt(_0x5209fc(0x187))/0xb+parseInt(_0x5209fc(0x1ab))/0xc*(-parseInt(_0x5209fc(0x163))/0xd);if(_0x45eeb9===_0x303a4a)break;else _0x42ca82['push'](_0x42ca82['shift']());}catch(_0x350e37){_0x42ca82['push'](_0x42ca82['shift']());}}}(a0_0x4161,0xa3b04));function a0_0x2a5e(_0x558463,_0x3e8345){_0x558463=_0x558463-0x152;const _0x41618b=a0_0x4161();let _0x2a5ee2=_0x41618b[_0x558463];if(a0_0x2a5e['RJNOnf']===undefined){var _0x42595b=function(_0x1781ea){const _0x1b2d91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b0b83='',_0xd53479='';for(let _0x5c57fd=0x0,_0x3f3d9c,_0x548a8f,_0x4e61dd=0x0;_0x548a8f=_0x1781ea['charAt'](_0x4e61dd++);~_0x548a8f&&(_0x3f3d9c=_0x5c57fd%0x4?_0x3f3d9c*0x40+_0x548a8f:_0x548a8f,_0x5c57fd++%0x4)?_0x3b0b83+=String['fromCharCode'](0xff&_0x3f3d9c>>(-0x2*_0x5c57fd&0x6)):0x0){_0x548a8f=_0x1b2d91['indexOf'](_0x548a8f);}for(let _0x7e26e1=0x0,_0x474fb0=_0x3b0b83['length'];_0x7e26e1<_0x474fb0;_0x7e26e1++){_0xd53479+='%'+('00'+_0x3b0b83['charCodeAt'](_0x7e26e1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd53479);};a0_0x2a5e['KyBIcM']=_0x42595b,a0_0x2a5e['rSVWiF']={},a0_0x2a5e['RJNOnf']=!![];}const _0x50dd4d=_0x41618b[0x0],_0x397301=_0x558463+_0x50dd4d,_0x3434eb=a0_0x2a5e['rSVWiF'][_0x397301];return!_0x3434eb?(_0x2a5ee2=a0_0x2a5e['KyBIcM'](_0x2a5ee2),a0_0x2a5e['rSVWiF'][_0x397301]=_0x2a5ee2):_0x2a5ee2=_0x3434eb,_0x2a5ee2;}function a0_0x4161(){const _0x304cd0=['t1f4yNi','mti2nJG2ohjMAvbUtW','yxv0BW','D1rdDNG','zxHWB3j0CW','y2H1BMTtAxPL','tK51BwK','y29TBwL0','Dgv4Da','ndyZntzPt0zdyw4','zw5bveu','otffChvQywq','ywrKuM93CW','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','ueLLELO','rgf0yq','wxzHtw4','Aw5JBhvKzxm','vxHNwLi','zMLSDgvY','rffUD3e','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','s1jbAKq','z2v0uM93','z2vUzxjHDgvtDhjLyw1PBMC','CMvWBgfJzq','ywrKv29YA3nOzwv0','zgf0zq','CgfYC2voDw1Izxi','zM9YBwf0q2vSBa','CgfKu3rHCNq','Dg9mB3DLCKnHC2u','qK9oqvu','BwLKzgXL','mtm5ohrTAvPyDG','zMLSBa','C3r5Bgu','EgXZEa','qLnvv3e','z2v0q2vSBa','C3rYzwfTAw5N','z2v0vvrdrgf0zq','zfjny3y','ntmWnwvnDwniAq','v29YA2jVB2TxCML0zxi','DMLLD3m','y29SDw1UCW','DMrXu3K','zxHJzwXQCW','mJq1n3r2EePbAW','t3D0sw0','zM9UDa','BuHkr0m','BwfW','vKn0Bxi','reqVtu0VwvLzwq','zvrwDvG','rxzUr3y','mun6se1RDG','ihjVD3m','A3rzDhC','ve1sywe','DhLWzq','ywXPz25Tzw50','BNvTrM10','AhrXB00','z2v0vgLTzq','rvD1Ae0','yxbWBhLdzwXSrM9YBwf0DgLUzW','BNvTyMvY','iYWJiZaUmda','zM9YBwf0rgf0zvn0CMLUzW','C3rYzwfT','zxHJzwXFy2H1BMTFChjVy2vZC2vK','ExL5Es9TBs9Kza','C3fNse0','t1Duy0u','EKfKBw4','q2r0teC','C3rYAw5N','uhjVy2vZC2vKia','t3HwB3i','CLvfqwy','odqZodmXowzbu2zvAa','u21qDhC','mteXmZK1oxbfwvHXta','CM91BMq','Bwf0y2G','BgvUz3rO','ChjLChjVy2vZC1rLEhrsB3C','zM9YrwfJAa','Cgf0DgvYBG','nde1ntuYsvLJtMDO','teTUAKS','zM9YBwf0sgvHzgvY','Aw5MBW','mtb3rgLjAve','rvHqt1jux0nivu5lx1njwKu','zgqVBw0VExL5Eq','ChjLChjVy2vZC1rLEhrdB2X1Bw5Z','y2vUDgvY','Bw0VzgqVExL5Eq','zNjVEMvU','mZCYmgXqtvvvEa','u3L3Ae8','A2v5CW','vur0Duy','zfDoCLe','DMfSDwu','ENPosw4','C2XPy2u','mtyWnhL6CgvyAa'];a0_0x4161=function(){return _0x304cd0;};return a0_0x4161();}const ExcelJS=require(a0_0x2c1c1e(0x162)),{logger}=require('./logger');class ExcelGenerator{constructor(){const _0x3f82d2=a0_0x2c1c1e;this['chunkSize']=parseInt(process['env'][_0x3f82d2(0x193)],0xa)||0x3e8;}async['generate'](_0x2d7f73){const _0x3446f6=a0_0x2c1c1e,_0x17ebf4={'OxVor':_0x3446f6(0x1a4),'vqYMT':'Excel\x20generation\x20started'},{data:_0x47105b,columns:_0x33513e,columnFormats:_0x5a10b6,fieldLabels:_0x248b71,filePath:_0x472b99,onProgress:_0x218967}=_0x2d7f73;logger[_0x3446f6(0x191)]({'event':'excel_generation_start','rows':_0x47105b[_0x3446f6(0x18a)],'columns':_0x33513e?.[_0x3446f6(0x18a)]||_0x17ebf4[_0x3446f6(0x183)],'columnFormats':_0x5a10b6?Object['keys'](_0x5a10b6):null,'fieldLabels':_0x248b71?Object['keys'](_0x248b71):null,'streaming':_0x47105b[_0x3446f6(0x18a)]>this['chunkSize']},_0x17ebf4['vqYMT']);if(_0x47105b['length']<=this[_0x3446f6(0x1a7)])return await this['generateSimple'](_0x47105b,_0x33513e,_0x5a10b6,_0x248b71,_0x472b99,_0x218967);return await this[_0x3446f6(0x1ba)](_0x47105b,_0x33513e,_0x5a10b6,_0x248b71,_0x472b99,_0x218967);}async['generateSimple'](_0x16ea6c,_0x3abd8e,_0x5057f6,_0x38a99a,_0x239ea4,_0x497029){const _0x5b2793=a0_0x2c1c1e,_0x202bbd={'mUBIg':function(_0x4e7981,_0x15b2e1){return _0x4e7981>_0x15b2e1;},'LDBbv':'pattern','rUEAf':function(_0x5c3518,_0x45139e){return _0x5c3518(_0x45139e);},'mHwYA':'simple','JjROn':'Excel\x20generated\x20(simple\x20method)'},_0x1ae8d6=new ExcelJS['Workbook'](),_0x5629bf=_0x1ae8d6[_0x5b2793(0x1bc)]('Data'),_0x208f8b=_0x3abd8e||(_0x202bbd['mUBIg'](_0x16ea6c['length'],0x0)?Object[_0x5b2793(0x19b)](_0x16ea6c[0x0]):[]);_0x5629bf[_0x5b2793(0x160)]=_0x208f8b['map'](_0x333cc1=>{const _0x598519=_0x5b2793,_0x1c3639={'header':this[_0x598519(0x190)](_0x333cc1,_0x38a99a),'key':_0x333cc1,'width':0x14};if(_0x5057f6&&_0x5057f6[_0x333cc1]){const _0x30553f=_0x5057f6[_0x333cc1];if(_0x30553f[_0x598519(0x170)]&&_0x30553f['type'][_0x598519(0x1c1)]()!=='date'){const _0xf1fbb0=this['getExcelFormat'](_0x30553f);_0xf1fbb0&&(_0x1c3639[_0x598519(0x156)]={'numFmt':_0xf1fbb0});}}return _0x1c3639;}),_0x5629bf[_0x5b2793(0x1b9)](0x1)[_0x5b2793(0x165)]={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x5629bf[_0x5b2793(0x1b9)](0x1)['fill']={'type':_0x202bbd['LDBbv'],'pattern':'solid','fgColor':{'argb':'FF4472C4'}},_0x5629bf['getRow'](0x1)['alignment']={'vertical':'middle','horizontal':'center'};const _0xf0170e=_0x5057f6?this[_0x5b2793(0x195)](_0x16ea6c,_0x208f8b,_0x5057f6):_0x16ea6c;return _0x5629bf[_0x5b2793(0x1ae)](_0xf0170e),_0x5057f6&&this[_0x5b2793(0x176)](_0x5629bf,_0x208f8b,_0x5057f6,_0x16ea6c['length']),_0x497029&&await _0x202bbd[_0x5b2793(0x184)](_0x497029,0x32),_0x5629bf['autoFilter']={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x208f8b['length']}},_0x5629bf[_0x5b2793(0x15f)]=[{'state':_0x5b2793(0x198),'xSplit':0x0,'ySplit':0x1}],await _0x1ae8d6['xlsx']['writeFile'](_0x239ea4),_0x497029&&await _0x497029(0x64),logger['info']({'event':_0x5b2793(0x1b7),'method':_0x202bbd['mHwYA'],'rows':_0x16ea6c['length']},_0x202bbd['JjROn']),_0x239ea4;}async[a0_0x2c1c1e(0x1ba)](_0x244d7a,_0x5e0fb7,_0x1ae5dd,_0x13165c,_0x248fd6,_0x35422f){const _0x1bdbcf=a0_0x2c1c1e,_0x140f76={'OwtIm':function(_0xfa2db9,_0x446e7a){return _0xfa2db9!==_0x446e7a;},'vyyYl':_0x1bdbcf(0x1bd),'BONAU':function(_0x5a74bb,_0xe02995){return _0x5a74bb>_0xe02995;},'hyRgP':'FFFFFFFF','eTVuX':_0x1bdbcf(0x18d),'sqgHM':'solid','CdtLG':'middle','OUqgT':function(_0x353690,_0x3d9454){return _0x353690+_0x3d9454;},'ISJGy':function(_0x1577f9,_0x3b945){return _0x1577f9*_0x3b945;},'zzNIn':_0x1bdbcf(0x17b),'vdqSy':_0x1bdbcf(0x1b7),'VCtmr':_0x1bdbcf(0x15a),'OxyFD':function(_0x4a7d94,_0x6b67f){return _0x4a7d94/_0x6b67f;},'gJYlx':_0x1bdbcf(0x1af)},_0x3f6b3d=new ExcelJS[(_0x1bdbcf(0x17a))][(_0x1bdbcf(0x157))][(_0x1bdbcf(0x15e))]({'filename':_0x248fd6,'useStyles':!![],'useSharedStrings':!![]}),_0x20331d=_0x3f6b3d['addWorksheet'](_0x1bdbcf(0x1b1)),_0x417085=_0x5e0fb7||(_0x140f76[_0x1bdbcf(0x152)](_0x244d7a['length'],0x0)?Object[_0x1bdbcf(0x19b)](_0x244d7a[0x0]):[]),_0x14af93={};_0x417085['forEach']((_0x2cda0a,_0x922f56)=>{_0x14af93[_0x2cda0a]=_0x922f56+0x1;}),_0x20331d[_0x1bdbcf(0x160)]=_0x417085[_0x1bdbcf(0x167)](_0x532b51=>{const _0x29286b=_0x1bdbcf,_0x1e4dfd={'header':this[_0x29286b(0x190)](_0x532b51,_0x13165c),'key':_0x532b51,'width':0x14};if(_0x1ae5dd&&_0x1ae5dd[_0x532b51]){const _0x2af7d1=_0x1ae5dd[_0x532b51];if(_0x2af7d1['type']&&_0x140f76[_0x29286b(0x164)](_0x2af7d1['type'][_0x29286b(0x1c1)](),_0x140f76['vyyYl'])){const _0x19882a=this['getExcelFormat'](_0x2af7d1);_0x19882a&&(_0x1e4dfd[_0x29286b(0x156)]={'numFmt':_0x19882a});}}return _0x1e4dfd;});const _0x12251d=_0x20331d['getRow'](0x1);_0x12251d['font']={'bold':!![],'color':{'argb':_0x140f76['hyRgP']}},_0x12251d[_0x1bdbcf(0x155)]={'type':_0x140f76[_0x1bdbcf(0x16a)],'pattern':_0x140f76[_0x1bdbcf(0x17d)],'fgColor':{'argb':'FF4472C4'}},_0x12251d[_0x1bdbcf(0x171)]={'vertical':_0x140f76[_0x1bdbcf(0x180)],'horizontal':_0x1bdbcf(0x196)},_0x12251d[_0x1bdbcf(0x1a9)]();const _0x15ab43=_0x244d7a['length'];let _0x1ffbd0=0x0;for(let _0x2b38e2=0x0;_0x2b38e2<_0x15ab43;_0x2b38e2+=this[_0x1bdbcf(0x1a7)]){const _0x1754d6=_0x244d7a[_0x1bdbcf(0x1a0)](_0x2b38e2,_0x140f76['OUqgT'](_0x2b38e2,this[_0x1bdbcf(0x1a7)]));for(const _0x15a847 of _0x1754d6){const _0x1a0871=_0x1ae5dd?this[_0x1bdbcf(0x18b)](_0x15a847,_0x417085,_0x1ae5dd):_0x15a847,_0x46aaa1=_0x20331d['addRow'](_0x1a0871);_0x1ae5dd&&this['applyRowFormatting'](_0x46aaa1,_0x1a0871,_0x417085,_0x1ae5dd),_0x46aaa1['commit'](),_0x1ffbd0++;}if(_0x35422f){const _0x1234a7=Math[_0x1bdbcf(0x188)](_0x140f76['ISJGy'](_0x1ffbd0/_0x15ab43,0x64));await _0x35422f(_0x1234a7);}logger['debug']({'event':_0x140f76[_0x1bdbcf(0x19f)],'processed':_0x1ffbd0,'total':_0x15ab43},_0x1bdbcf(0x182)+_0x1ffbd0+'/'+_0x15ab43+_0x1bdbcf(0x16d));}return _0x20331d['commit'](),await _0x3f6b3d['commit'](),logger['info']({'event':_0x140f76[_0x1bdbcf(0x161)],'method':_0x140f76[_0x1bdbcf(0x168)],'rows':_0x15ab43,'chunks':Math['ceil'](_0x140f76['OxyFD'](_0x15ab43,this[_0x1bdbcf(0x1a7)]))},_0x140f76['gJYlx']),_0x248fd6;}[a0_0x2c1c1e(0x190)](_0xe5d855,_0x3f5597){const _0x22dc99=a0_0x2c1c1e,_0xf31b10={'htqoM':function(_0x43be73,_0x2bd428){return _0x43be73(_0x2bd428);}};if(_0x3f5597&&_0x3f5597[_0xe5d855])return _0x3f5597[_0xe5d855];return _0xf31b10[_0x22dc99(0x173)](String,_0xe5d855)['toUpperCase']();}['validateColumns'](_0x1a92e5,_0x5e5c52){const _0x6c3019=a0_0x2c1c1e;if(!_0x5e5c52||_0x5e5c52['length']===0x0)return!![];if(_0x1a92e5['length']===0x0)return!![];const _0x4c8ce3=Object[_0x6c3019(0x19b)](_0x1a92e5[0x0]),_0x388772=_0x5e5c52[_0x6c3019(0x1b5)](_0xbe39c3=>!_0x4c8ce3[_0x6c3019(0x1b3)](_0xbe39c3));if(_0x388772['length']>0x0)throw new Error('Invalid\x20columns:\x20'+_0x388772['join'](',\x20'));return!![];}['getExcelFormat'](_0x11eeaa){const _0x38e812=a0_0x2c1c1e,_0x3311e3={'efKlA':'number','LKnjK':function(_0x34ecd8,_0x4e038f){return _0x34ecd8||_0x4e038f;},'ZNNRi':'currency','cAsPg':'\x22Rp\x20\x22#,##0','SqkFN':'percentage','DQnwq':function(_0x223812,_0x2756df){return _0x223812||_0x2756df;},'SywhO':'0.00%','gvdBx':'text'};if(!_0x11eeaa||!_0x11eeaa['type'])return null;const {type:_0x199200,format:_0x54d66e}=_0x11eeaa;switch(_0x199200[_0x38e812(0x1c1)]()){case'date':return _0x54d66e?_0x54d66e[_0x38e812(0x1c1)]():_0x38e812(0x194);case _0x3311e3['efKlA']:return _0x3311e3[_0x38e812(0x18f)](_0x54d66e,_0x38e812(0x178));case _0x3311e3['ZNNRi']:return _0x54d66e||_0x3311e3['cAsPg'];case _0x3311e3['SqkFN']:return _0x3311e3[_0x38e812(0x1b6)](_0x54d66e,_0x3311e3[_0x38e812(0x19a)]);case _0x3311e3['gvdBx']:return'@';default:return null;}}['applyCellFormatting'](_0x138e43,_0x4327d4,_0xc43e44,_0x676ae8){const _0x281429=a0_0x2c1c1e,_0xc71c7a={'BSUWq':function(_0x3267d0,_0x5bd50c){return _0x3267d0+_0x5bd50c;},'wTCvx':function(_0x19e090,_0x16088d){return _0x19e090<=_0x16088d;}};if(!_0xc43e44)return;_0x4327d4[_0x281429(0x18c)]((_0x2f7fb2,_0x187fde)=>{const _0x5ef311=_0x281429,_0x2ca997=_0xc43e44[_0x2f7fb2];if(!_0x2ca997)return;const _0x5927aa=_0xc71c7a[_0x5ef311(0x158)](_0x187fde,0x1);for(let _0xeebd4d=0x2;_0xc71c7a[_0x5ef311(0x1a5)](_0xeebd4d,_0x676ae8+0x1);_0xeebd4d++){const _0x3c1a48=_0x138e43['getCell'](_0xeebd4d,_0x5927aa);this['formatCell'](_0x3c1a48,_0x2ca997);}});}['applyRowFormatting'](_0x3d4695,_0x2ac3c4,_0x2bcfbc,_0x45db71){const _0x425741={'auWjJ':function(_0x5543d8,_0x225086){return _0x5543d8+_0x225086;}};if(!_0x45db71)return;_0x2bcfbc['forEach']((_0x3d3d2c,_0x5af19f)=>{const _0x283845=a0_0x2a5e,_0xea796b=_0x45db71[_0x3d3d2c];if(!_0xea796b)return;const _0x7a3bed=_0x3d4695[_0x283845(0x159)](_0x425741['auWjJ'](_0x5af19f,0x1));this[_0x283845(0x1bf)](_0x7a3bed,_0xea796b);});}['formatCell'](_0x2761d7,_0x89db0e){const _0x3b0ba3=a0_0x2c1c1e,_0x522757={'Dojjo':function(_0x1f2e53,_0x3f64d1){return _0x1f2e53===_0x3f64d1;},'OaFjl':'number','ERhJt':function(_0x371b22,_0x547217){return _0x371b22===_0x547217;},'ktYtw':'percentage','XsIgt':function(_0xc02c0a,_0x14f45e){return _0xc02c0a!==_0x14f45e;},'TMRaa':_0x3b0ba3(0x181),'enATE':function(_0x18a800,_0x50b1a4){return _0x18a800(_0x50b1a4);}};if(!_0x89db0e||!_0x89db0e[_0x3b0ba3(0x170)])return;const {type:_0x5f4ab0,format:_0x119ed8}=_0x89db0e;if(_0x5f4ab0[_0x3b0ba3(0x1c1)]()===_0x3b0ba3(0x1bd)&&_0x2761d7['value']){const _0x3dedda=this['formatDateString'](_0x2761d7[_0x3b0ba3(0x19e)],_0x119ed8);_0x3dedda&&(_0x2761d7['value']=_0x3dedda);return;}if((_0x522757['Dojjo'](_0x5f4ab0[_0x3b0ba3(0x1c1)](),_0x522757['OaFjl'])||_0x5f4ab0['toLowerCase']()==='currency'||_0x522757['ERhJt'](_0x5f4ab0[_0x3b0ba3(0x1c1)](),_0x522757[_0x3b0ba3(0x16e)]))&&_0x2761d7[_0x3b0ba3(0x19e)]){const _0x4f169b=this[_0x3b0ba3(0x1be)](_0x2761d7['value']);if(_0x522757['XsIgt'](_0x4f169b,null)){_0x2761d7['value']=_0x4f169b;const _0x36254d=this['getExcelFormat'](_0x89db0e);_0x36254d&&(_0x2761d7[_0x3b0ba3(0x172)]=_0x36254d);}}_0x5f4ab0[_0x3b0ba3(0x1c1)]()===_0x3b0ba3(0x1aa)&&_0x2761d7[_0x3b0ba3(0x19e)]&&(_0x2761d7['numFmt']='@',typeof _0x2761d7['value']!==_0x522757[_0x3b0ba3(0x16f)]&&(_0x2761d7['value']=_0x522757[_0x3b0ba3(0x1ac)](String,_0x2761d7['value'])),_0x2761d7['alignment']={'horizontal':'left','vertical':_0x3b0ba3(0x153)});}[a0_0x2c1c1e(0x179)](_0x1b8c26,_0x32a707){const _0xe6d8b6=a0_0x2c1c1e,_0x177bf4={'CuaYT':function(_0x4a7859,_0x105b06){return _0x4a7859 instanceof _0x105b06;},'NNumi':function(_0x199c81,_0xbc087c){return _0x199c81+_0xbc087c;},'zVBil':function(_0x498b36,_0x36aba1){return _0x498b36===_0x36aba1;},'huAcO':_0xe6d8b6(0x181),'KRAjD':function(_0x71b909,_0x239165,_0x5d8d71){return _0x71b909(_0x239165,_0x5d8d71);},'AAtRh':function(_0x4bd280,_0x7997bc,_0x1d047c){return _0x4bd280(_0x7997bc,_0x1d047c);},'ikYaj':function(_0x5f35e7,_0x4ced72,_0x316bf4){return _0x5f35e7(_0x4ced72,_0x316bf4);},'zAdmn':function(_0x4c9058,_0x5dc449){return _0x4c9058||_0x5dc449;},'UxgZR':function(_0x50c433,_0x365f07){return _0x50c433(_0x365f07);},'Hzqtn':function(_0x426c53,_0x51ddf0){return _0x426c53(_0x51ddf0);},'dWNrQ':function(_0x36869a,_0xe87b87){return _0x36869a===_0xe87b87;},'eTdjH':_0xe6d8b6(0x197),'EWuhM':function(_0x22bdbb,_0x10d2ff){return _0x22bdbb===_0x10d2ff;},'mHJGC':'dd-mm-yyyy'};if(!_0x1b8c26)return null;let _0x65f276,_0x63eda4,_0x579b5f;if(_0x177bf4['CuaYT'](_0x1b8c26,Date))_0x65f276=_0x1b8c26['getUTCFullYear'](),_0x63eda4=_0x177bf4[_0xe6d8b6(0x1a8)](_0x1b8c26['getUTCMonth'](),0x1),_0x579b5f=_0x1b8c26[_0xe6d8b6(0x15b)]();else{if(_0x177bf4['zVBil'](typeof _0x1b8c26,_0x177bf4['huAcO'])){const _0x614eaf=_0x1b8c26[_0xe6d8b6(0x189)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x614eaf)_0x65f276=parseInt(_0x614eaf[0x1],0xa),_0x63eda4=_0x177bf4['KRAjD'](parseInt,_0x614eaf[0x2],0xa),_0x579b5f=_0x177bf4[_0xe6d8b6(0x1b8)](parseInt,_0x614eaf[0x3],0xa);else{const _0x794452=_0x1b8c26['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x794452)_0x579b5f=parseInt(_0x794452[0x1],0xa),_0x63eda4=_0x177bf4['KRAjD'](parseInt,_0x794452[0x2],0xa),_0x65f276=parseInt(_0x794452[0x3],0xa);else{const _0x172fe2=_0x1b8c26['match'](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x172fe2&&(_0x65f276=_0x177bf4['AAtRh'](parseInt,_0x172fe2[0x1],0xa),_0x63eda4=parseInt(_0x172fe2[0x2],0xa),_0x579b5f=_0x177bf4['ikYaj'](parseInt,_0x172fe2[0x3],0xa));}}}else{if(typeof _0x1b8c26===_0xe6d8b6(0x177)){const _0x5e8b0b=new Date(_0x1b8c26);!isNaN(_0x5e8b0b[_0xe6d8b6(0x174)]())&&(_0x65f276=_0x5e8b0b['getUTCFullYear'](),_0x63eda4=_0x5e8b0b['getUTCMonth']()+0x1,_0x579b5f=_0x5e8b0b[_0xe6d8b6(0x15b)]());}}}if(_0x177bf4[_0xe6d8b6(0x17f)](!_0x65f276,!_0x63eda4)||!_0x579b5f)return null;const _0x51e4d2=_0x177bf4[_0xe6d8b6(0x1b4)](String,_0x579b5f)['padStart'](0x2,'0'),_0x3aba1c=_0x177bf4['Hzqtn'](String,_0x63eda4)[_0xe6d8b6(0x1c0)](0x2,'0'),_0x28360e=String(_0x65f276),_0x1bc4cc=(_0x32a707||_0xe6d8b6(0x169))[_0xe6d8b6(0x1c1)]();if(_0x177bf4[_0xe6d8b6(0x19d)](_0x1bc4cc,'dd/mm/yyyy'))return _0x51e4d2+'/'+_0x3aba1c+'/'+_0x28360e;else{if(_0x1bc4cc===_0x177bf4['eTdjH'])return _0x3aba1c+'/'+_0x51e4d2+'/'+_0x28360e;else{if(_0x177bf4[_0xe6d8b6(0x175)](_0x1bc4cc,'yyyy-mm-dd'))return _0x28360e+'-'+_0x3aba1c+'-'+_0x51e4d2;else{if(_0x177bf4['zVBil'](_0x1bc4cc,_0x177bf4[_0xe6d8b6(0x166)]))return _0x51e4d2+'-'+_0x3aba1c+'-'+_0x28360e;else return _0x1bc4cc===_0xe6d8b6(0x17c)?_0x28360e+'/'+_0x3aba1c+'/'+_0x51e4d2:_0x51e4d2+'/'+_0x3aba1c+'/'+_0x28360e;}}}}[a0_0x2c1c1e(0x1be)](_0x4a0e59){const _0x5b37b3=a0_0x2c1c1e,_0x3797d2={'UDtuF':function(_0x478d17,_0x3bf78c){return _0x478d17===_0x3bf78c;},'VexUk':'string','OWTcE':function(_0x402ccd,_0x19ffa0){return _0x402ccd(_0x19ffa0);}};if(typeof _0x4a0e59===_0x5b37b3(0x177))return _0x4a0e59;if(_0x3797d2[_0x5b37b3(0x19c)](typeof _0x4a0e59,_0x3797d2['VexUk'])){const _0x5e397e=_0x4a0e59[_0x5b37b3(0x1bb)](/[^\d.-]/g,''),_0x166516=_0x3797d2[_0x5b37b3(0x17e)](parseFloat,_0x5e397e);if(!_0x3797d2['OWTcE'](isNaN,_0x166516))return _0x166516;}return null;}['preprocessTextColumns'](_0x4ddf7a,_0x3007bd,_0x1088fd){const _0x338e0d=a0_0x2c1c1e,_0x13454d={'YvaMn':function(_0xf17882,_0x12c9b5){return _0xf17882===_0x12c9b5;},'scrDl':'text','dRMcv':function(_0x167049,_0x339d8e){return _0x167049!==_0x339d8e;},'IvugS':function(_0x16e1a6,_0x1f4ff1){return _0x16e1a6+_0x1f4ff1;},'OQxbr':function(_0x55e73f,_0x7f36d4){return _0x55e73f(_0x7f36d4);}};if(!_0x1088fd)return _0x4ddf7a;const _0x3bea72=[];_0x3007bd[_0x338e0d(0x18c)](_0x4c3db5=>{const _0x5775da=_0x338e0d,_0x19df4e=_0x1088fd[_0x4c3db5];_0x19df4e&&_0x19df4e['type']&&_0x13454d[_0x5775da(0x1b2)](_0x19df4e['type'][_0x5775da(0x1c1)](),_0x13454d['scrDl'])&&_0x3bea72['push'](_0x4c3db5);});if(_0x3bea72['length']===0x0)return _0x4ddf7a;return _0x4ddf7a[_0x338e0d(0x167)](_0x2f5c61=>{const _0xa29f84={..._0x2f5c61};return _0x3bea72['forEach'](_0x5a8797=>{const _0x353daf=a0_0x2a5e;_0x13454d['dRMcv'](_0xa29f84[_0x5a8797],null)&&_0x13454d[_0x353daf(0x15c)](_0xa29f84[_0x5a8797],undefined)&&(_0xa29f84[_0x5a8797]=_0x13454d['IvugS']('\x27',_0x13454d[_0x353daf(0x1a2)](String,_0xa29f84[_0x5a8797])));}),_0xa29f84;});}['preprocessTextRow'](_0x2fe9d9,_0x3ed0cd,_0x38ec32){const _0x4ead76=a0_0x2c1c1e,_0x278dd4={'LzDRE':function(_0x2075b4,_0x4ab862){return _0x2075b4===_0x4ab862;},'EvnGv':function(_0x46bf5e,_0x569360){return _0x46bf5e!==_0x569360;},'PIezZ':function(_0x318693,_0x3047ca){return _0x318693+_0x3047ca;},'SmPtw':function(_0x327bd3,_0x539266){return _0x327bd3===_0x539266;}};if(!_0x38ec32)return _0x2fe9d9;const _0x4cf04=[];_0x3ed0cd['forEach'](_0xccec41=>{const _0x20d798=_0x38ec32[_0xccec41];_0x20d798&&_0x20d798['type']&&_0x278dd4['LzDRE'](_0x20d798['type']['toLowerCase'](),'text')&&_0x4cf04['push'](_0xccec41);});if(_0x278dd4[_0x4ead76(0x186)](_0x4cf04['length'],0x0))return _0x2fe9d9;const _0xe54cd0={..._0x2fe9d9};return _0x4cf04['forEach'](_0x4074f2=>{const _0x5af546=_0x4ead76;_0x278dd4[_0x5af546(0x16b)](_0xe54cd0[_0x4074f2],null)&&_0x278dd4['EvnGv'](_0xe54cd0[_0x4074f2],undefined)&&(_0xe54cd0[_0x4074f2]=_0x278dd4[_0x5af546(0x1b0)]('\x27',String(_0xe54cd0[_0x4074f2])));}),_0xe54cd0;}}module[a0_0x2c1c1e(0x1a6)]=ExcelGenerator;
@@ -1 +1 @@
1
- const a0_0x2b27f6=a0_0x4554;function a0_0x360f(){const _0x5a0104=['ntG4mdiWmefwAuDovq','CMLJAfrLEhq','zxHJzwXFCgfYC2vFzxjYB3i','zxHJzwXQCW','v3zVrfi','DhjPBq','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','rxrvCKS','s2rYDKK','Bwf0y2G','A3L3D3y','vML6zge','Dgv4Da','jdfFjdi','zwfJAfjVDW','BgvUz3rO','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','mZq0nZm5nwXxv1HvCG','CMvHzezPBgu','CMvZDwX0','ChvZAa','Cxfrwhq','owrHqNnxuW','mJK3ntmWmhjswerbEq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','v29YA2jVB2S','mJa3BuvSvezK','ntC3nhnms0nnDW','C2XPy2u','CMvWBgfJzq','BwfW','mZKYmti4ofvtAeD3yW','AgfZ','EeLIBwK','lI9SB2DNzxi','ndqYmdy3zhjItfLP','zMLSDgvY','n21xsgPxrq','BM9YBwfSAxPLq2vSBfzHBhvL','mty5ota1nZbJs0LgBee','t1L3zu4'];a0_0x360f=function(){return _0x5a0104;};return a0_0x360f();}function a0_0x4554(_0x7dcf19,_0x29a6e4){_0x7dcf19=_0x7dcf19-0x124;const _0x360fa1=a0_0x360f();let _0x455406=_0x360fa1[_0x7dcf19];if(a0_0x4554['Vaiywz']===undefined){var _0x24d91b=function(_0x388a87){const _0x1a1fb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x226ebb='',_0x4b0232='';for(let _0x14c693=0x0,_0x156998,_0x911982,_0x190a1c=0x0;_0x911982=_0x388a87['charAt'](_0x190a1c++);~_0x911982&&(_0x156998=_0x14c693%0x4?_0x156998*0x40+_0x911982:_0x911982,_0x14c693++%0x4)?_0x226ebb+=String['fromCharCode'](0xff&_0x156998>>(-0x2*_0x14c693&0x6)):0x0){_0x911982=_0x1a1fb8['indexOf'](_0x911982);}for(let _0x26bc6f=0x0,_0x5b2fc0=_0x226ebb['length'];_0x26bc6f<_0x5b2fc0;_0x26bc6f++){_0x4b0232+='%'+('00'+_0x226ebb['charCodeAt'](_0x26bc6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b0232);};a0_0x4554['VFYrmo']=_0x24d91b,a0_0x4554['lWoVVG']={},a0_0x4554['Vaiywz']=!![];}const _0x418145=_0x360fa1[0x0],_0x2a5157=_0x7dcf19+_0x418145,_0x109142=a0_0x4554['lWoVVG'][_0x2a5157];return!_0x109142?(_0x455406=a0_0x4554['VFYrmo'](_0x455406),a0_0x4554['lWoVVG'][_0x2a5157]=_0x455406):_0x455406=_0x109142,_0x455406;}(function(_0x123110,_0x2d8a72){const _0x95c7cb=a0_0x4554,_0x5eda25=_0x123110();while(!![]){try{const _0x24f506=parseInt(_0x95c7cb(0x145))/0x1+-parseInt(_0x95c7cb(0x13d))/0x2*(-parseInt(_0x95c7cb(0x13c))/0x3)+parseInt(_0x95c7cb(0x139))/0x4+-parseInt(_0x95c7cb(0x133))/0x5+parseInt(_0x95c7cb(0x141))/0x6+-parseInt(_0x95c7cb(0x147))/0x7*(-parseInt(_0x95c7cb(0x14b))/0x8)+-parseInt(_0x95c7cb(0x138))/0x9*(parseInt(_0x95c7cb(0x149))/0xa);if(_0x24f506===_0x2d8a72)break;else _0x5eda25['push'](_0x5eda25['shift']());}catch(_0x104f97){_0x5eda25['push'](_0x5eda25['shift']());}}}(a0_0x360f,0x5e06c));const ExcelJS=require(a0_0x2b27f6(0x125)),{logger}=require(a0_0x2b27f6(0x144));class ExcelParser{async['parseExcelFile'](_0x19e34d){const _0x2bc50c=a0_0x2b27f6,_0x21aec3={'kywwv':function(_0x4ce640,_0x53ed97){return _0x4ce640+_0x53ed97;},'qqQXt':'excel_parsed','Vizda':_0x2bc50c(0x132)};try{const _0x6e393b=new ExcelJS[(_0x2bc50c(0x13b))]();await _0x6e393b['xlsx'][_0x2bc50c(0x134)](_0x19e34d);const _0xaee8dd=_0x6e393b['worksheets'][0x0];if(!_0xaee8dd)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x5beda3=[];let _0x32881b=[];return _0xaee8dd[_0x2bc50c(0x130)]((_0x988810,_0x350bcc)=>{const _0x596496=_0x2bc50c,_0x59b926={'OYweN':function(_0xff5046,_0x1a52ce){const _0x488efa=a0_0x4554;return _0x21aec3[_0x488efa(0x12c)](_0xff5046,_0x1a52ce);}},_0x54ac96=_0x988810['values'];if(_0x350bcc===0x1)_0x32881b=_0x54ac96[_0x596496(0x13e)](0x1)['map'](_0xdd1d7d=>this['normalizeHeader'](_0xdd1d7d));else{const _0x535390={};_0x32881b['forEach']((_0x650c61,_0x1b59bd)=>{const _0x38c0d6=_0x596496,_0x233b1d=_0x54ac96[_0x59b926[_0x38c0d6(0x14a)](_0x1b59bd,0x1)];_0x535390[_0x650c61]=this['normalizeCellValue'](_0x233b1d);}),_0x5beda3[_0x596496(0x136)](_0x535390);}}),logger['info']({'event':_0x21aec3[_0x2bc50c(0x137)],'filePath':_0x19e34d,'totalRows':_0x5beda3[_0x2bc50c(0x131)],'headers':_0x32881b[_0x2bc50c(0x131)]},_0x2bc50c(0x128)),{'headers':_0x32881b,'rows':_0x5beda3,'totalRows':_0x5beda3[_0x2bc50c(0x131)]};}catch(_0x224fc2){logger['error']({'event':_0x2bc50c(0x124),'filePath':_0x19e34d,'error':_0x224fc2['message']},_0x21aec3[_0x2bc50c(0x12d)]);throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0x224fc2['message']);}}['normalizeHeader'](_0x381e95){const _0x22c98a=a0_0x2b27f6,_0x5c74a4={'EydmO':function(_0x1fe001,_0xf33542){return _0x1fe001===_0xf33542;},'WvoDR':function(_0x4d8975,_0x33b4af){return _0x4d8975(_0x33b4af);},'xIbmi':_0x22c98a(0x12f)};if(_0x381e95===null||_0x5c74a4['EydmO'](_0x381e95,undefined))return'';let _0x9ca789=_0x5c74a4[_0x22c98a(0x126)](String,_0x381e95)[_0x22c98a(0x127)]();return _0x9ca789=_0x9ca789[_0x22c98a(0x13f)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x5c74a4[_0x22c98a(0x143)])[_0x22c98a(0x13f)](/([A-Z]+)([A-Z][a-z])/g,_0x22c98a(0x12f))['toLowerCase'](),_0x9ca789;}[a0_0x2b27f6(0x148)](_0x4ae79e){const _0x23ef06=a0_0x2b27f6,_0x3116e8={'EtUrK':function(_0x1f2496,_0x58d184){return _0x1f2496(_0x58d184);},'bJuQR':'string','KdrvI':'object','mFWTT':function(_0x1f9b0e,_0xecad8a){return _0x1f9b0e===_0xecad8a;}};if(_0x4ae79e===null||_0x4ae79e===undefined)return null;if(_0x4ae79e instanceof Date){const _0x5fc113=_0x4ae79e['getFullYear'](),_0x212d4f=String(_0x4ae79e['getMonth']()+0x1)['padStart'](0x2,'0'),_0x16745a=_0x3116e8[_0x23ef06(0x129)](String,_0x4ae79e['getDate']())['padStart'](0x2,'0');return _0x5fc113+'-'+_0x212d4f+'-'+_0x16745a;}if(typeof _0x4ae79e===_0x3116e8['bJuQR']){const _0x1c9a1b=_0x4ae79e[_0x23ef06(0x12b)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1c9a1b){const _0x3b5b4=String(_0x1c9a1b[0x1])['padStart'](0x2,'0'),_0x152b8a=_0x3116e8[_0x23ef06(0x129)](String,_0x1c9a1b[0x2])['padStart'](0x2,'0'),_0x4e6852=_0x1c9a1b[0x3];return _0x4e6852+'-'+_0x152b8a+'-'+_0x3b5b4;}}if(_0x4ae79e&&typeof _0x4ae79e===_0x3116e8['KdrvI']&&_0x4ae79e[_0x23ef06(0x14c)])return _0x4ae79e[_0x23ef06(0x14c)][_0x23ef06(0x140)](_0x63fe42=>_0x63fe42[_0x23ef06(0x12e)])['join']('');if(_0x4ae79e&&typeof _0x4ae79e===_0x3116e8[_0x23ef06(0x12a)]&&_0x4ae79e['result']!==undefined)return this['normalizeCellValue'](_0x4ae79e[_0x23ef06(0x135)]);if(_0x3116e8['mFWTT'](typeof _0x4ae79e,_0x3116e8['bJuQR']))return _0x4ae79e[_0x23ef06(0x127)]();return _0x4ae79e;}[a0_0x2b27f6(0x13a)](_0x14b1dd,_0x231cb5){const _0x3ebcea=a0_0x2b27f6,_0x19a324={'KpTEb':function(_0x25afc3,_0x1371e1){return _0x25afc3===_0x1371e1;}},_0x59b96c=new Set(_0x14b1dd),_0x32aede=new Set(_0x231cb5),_0x3b3401=_0x231cb5[_0x3ebcea(0x146)](_0x1b0c73=>!_0x59b96c[_0x3ebcea(0x142)](_0x1b0c73)),_0x5de9d2=_0x14b1dd['filter'](_0x39182b=>!_0x32aede['has'](_0x39182b)),_0x577a39=_0x19a324['KpTEb'](_0x3b3401['length'],0x0);return{'valid':_0x577a39,'missingFields':_0x3b3401,'extraFields':_0x5de9d2};}}module['exports']=new ExcelParser();
1
+ function a0_0xab52(){const _0x92fdf4=['y2HNsxK','mtC3mtCYmeTsrxzpyW','zgjvt2e','mJG4odmXnJjbtfjQDeG','D29YA3nOzwv0CW','wezzAvu','BgvUz3rO','lI9SB2DNzxi','mtq1mteXnLblvuPuCa','qMfWt2q','Bwf0y2G','mtHlyw9Is1i','nM91DurdsW','BM9YBwfSAxPLsgvHzgvY','CMvHzezPBgu','CgfKu3rHCNq','EgXZEa','z2v0rNvSBfLLyxi','nJe1ntrQt29fAgW','Aw5MBW','Dgv4Da','BwfW','mwn5AxfSEq','BwvZC2fNzq','mZC4mdCWmgPlA3f0tq','CMvZDwX0','oda4mtGZmKHsBNbtrW','CMvWBgfJzq','C2XPy2u','zMLSDgvY','mtq5mdC2meD5B3vVrq','C3rYAw5N','uxzerwu','AgfZ','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','BM9YBwfSAxPLq2vSBfzHBhvL','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu','q2PfD1C','n01bwNnYrW','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','ChvZAa','zM9YrwfJAa','DhjPBq'];a0_0xab52=function(){return _0x92fdf4;};return a0_0xab52();}const a0_0x118b3c=a0_0x5c17;(function(_0x1e1278,_0x9fabd6){const _0x337ef5=a0_0x5c17,_0x407437=_0x1e1278();while(!![]){try{const _0x15edc5=parseInt(_0x337ef5(0x81))/0x1*(-parseInt(_0x337ef5(0x9e))/0x2)+-parseInt(_0x337ef5(0xa2))/0x3*(parseInt(_0x337ef5(0x89))/0x4)+parseInt(_0x337ef5(0x83))/0x5+-parseInt(_0x337ef5(0xa8))/0x6*(-parseInt(_0x337ef5(0x91))/0x7)+-parseInt(_0x337ef5(0x85))/0x8+-parseInt(_0x337ef5(0xa1))/0x9*(parseInt(_0x337ef5(0x97))/0xa)+parseInt(_0x337ef5(0x99))/0xb;if(_0x15edc5===_0x9fabd6)break;else _0x407437['push'](_0x407437['shift']());}catch(_0x44fc6d){_0x407437['push'](_0x407437['shift']());}}}(a0_0xab52,0x87e56));function a0_0x5c17(_0x756b3e,_0x599f22){_0x756b3e=_0x756b3e-0x81;const _0xab5294=a0_0xab52();let _0x5c177f=_0xab5294[_0x756b3e];if(a0_0x5c17['icjCLL']===undefined){var _0x4fba00=function(_0x719318){const _0x451dc0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c5299='',_0x37e5c7='';for(let _0x5344ba=0x0,_0x3db932,_0x3cbd44,_0x185b2a=0x0;_0x3cbd44=_0x719318['charAt'](_0x185b2a++);~_0x3cbd44&&(_0x3db932=_0x5344ba%0x4?_0x3db932*0x40+_0x3cbd44:_0x3cbd44,_0x5344ba++%0x4)?_0x1c5299+=String['fromCharCode'](0xff&_0x3db932>>(-0x2*_0x5344ba&0x6)):0x0){_0x3cbd44=_0x451dc0['indexOf'](_0x3cbd44);}for(let _0x4cb9cd=0x0,_0x5d9ec1=_0x1c5299['length'];_0x4cb9cd<_0x5d9ec1;_0x4cb9cd++){_0x37e5c7+='%'+('00'+_0x1c5299['charCodeAt'](_0x4cb9cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37e5c7);};a0_0x5c17['cKMyOi']=_0x4fba00,a0_0x5c17['yhcpnh']={},a0_0x5c17['icjCLL']=!![];}const _0x315cd7=_0xab5294[0x0],_0x1eaa14=_0x756b3e+_0x315cd7,_0x1d4bcd=a0_0x5c17['yhcpnh'][_0x1eaa14];return!_0x1d4bcd?(_0x5c177f=a0_0x5c17['cKMyOi'](_0x5c177f),a0_0x5c17['yhcpnh'][_0x1eaa14]=_0x5c177f):_0x5c177f=_0x1d4bcd,_0x5c177f;}const ExcelJS=require('exceljs'),{logger}=require(a0_0x118b3c(0x9d));class ExcelParser{async['parseExcelFile'](_0x183f52){const _0x4cb9fb=a0_0x118b3c,_0xd48778={'CjEwW':'Excel\x20file\x20parsed\x20successfully','vYIfQ':_0x4cb9fb(0x8d)};try{const _0x59292e=new ExcelJS['Workbook']();await _0x59292e[_0x4cb9fb(0xa6)][_0x4cb9fb(0xa4)](_0x183f52);const _0xdd58ef=_0x59292e[_0x4cb9fb(0x9a)][0x0];if(!_0xdd58ef)throw new Error(_0x4cb9fb(0x8f));const _0x4d9bfa=[];let _0x53e406=[];return _0xdd58ef['eachRow']((_0xa6f3af,_0x2596c5)=>{const _0x4b788b=_0x4cb9fb,_0x4d0ea2=_0xa6f3af['values'];if(_0x2596c5===0x1)_0x53e406=_0x4d0ea2[_0x4b788b(0x87)](0x1)[_0x4b788b(0xab)](_0x11e0c3=>this[_0x4b788b(0xa3)](_0x11e0c3));else{const _0xa687d7={};_0x53e406[_0x4b788b(0x94)]((_0x27ca92,_0x4536bc)=>{const _0x58e08e=_0x4d0ea2[_0x4536bc+0x1];_0xa687d7[_0x27ca92]=this['normalizeCellValue'](_0x58e08e);}),_0x4d9bfa[_0x4b788b(0x93)](_0xa687d7);}}),logger[_0x4cb9fb(0xa9)]({'event':'excel_parsed','filePath':_0x183f52,'totalRows':_0x4d9bfa['length'],'headers':_0x53e406[_0x4cb9fb(0x9c)]},_0xd48778[_0x4cb9fb(0x90)]),{'headers':_0x53e406,'rows':_0x4d9bfa,'totalRows':_0x4d9bfa['length']};}catch(_0xab95fe){logger['error']({'event':'excel_parse_error','filePath':_0x183f52,'error':_0xab95fe['message']},_0xd48778['vYIfQ']);throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0xab95fe[_0x4cb9fb(0x82)]);}}['normalizeHeader'](_0x243469){const _0x5e30a7=a0_0x118b3c,_0x18fa61={'chgIy':function(_0x2e6ed4,_0x20b832){return _0x2e6ed4===_0x20b832;},'nNTsh':function(_0x54b7a6,_0x1ba01c){return _0x54b7a6(_0x1ba01c);},'AGRKG':'$1_$2'};if(_0x18fa61[_0x5e30a7(0x96)](_0x243469,null)||_0x243469===undefined)return'';let _0x1d06cc=_0x18fa61['nNTsh'](String,_0x243469)[_0x5e30a7(0x95)]();return _0x1d06cc=_0x1d06cc[_0x5e30a7(0x86)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x18fa61['AGRKG'])['toLowerCase'](),_0x1d06cc;}[a0_0x118b3c(0x8e)](_0x59f111){const _0x2bc416=a0_0x118b3c,_0xf9b1b={'QvDEe':function(_0x4a2305,_0x4a4225){return _0x4a2305===_0x4a4225;},'BfBxp':function(_0xf3ce49,_0x284d7c){return _0xf3ce49+_0x284d7c;},'XFYiU':function(_0x19434e,_0x25e871){return _0x19434e(_0x25e871);},'dbUOa':_0x2bc416(0x8a),'BapOd':function(_0x561cad,_0x4c7409){return _0x561cad===_0x4c7409;},'iJlVh':function(_0x46d725,_0x298639){return _0x46d725!==_0x298639;}};if(_0xf9b1b['QvDEe'](_0x59f111,null)||_0xf9b1b[_0x2bc416(0x8b)](_0x59f111,undefined))return null;if(_0x59f111 instanceof Date){const _0x275b15=_0x59f111[_0x2bc416(0xa7)](),_0x4f3c8b=String(_0xf9b1b['BfBxp'](_0x59f111['getMonth'](),0x1))[_0x2bc416(0xa5)](0x2,'0'),_0x1c4d57=_0xf9b1b[_0x2bc416(0x9b)](String,_0x59f111['getDate']())[_0x2bc416(0xa5)](0x2,'0');return _0x275b15+'-'+_0x4f3c8b+'-'+_0x1c4d57;}if(typeof _0x59f111===_0xf9b1b['dbUOa']){const _0x3d66cf=_0x59f111[_0x2bc416(0xa0)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3d66cf){const _0x1e717b=_0xf9b1b['XFYiU'](String,_0x3d66cf[0x1])['padStart'](0x2,'0'),_0x111e37=String(_0x3d66cf[0x2])[_0x2bc416(0xa5)](0x2,'0'),_0x5d243a=_0x3d66cf[0x3];return _0x5d243a+'-'+_0x111e37+'-'+_0x1e717b;}}if(_0x59f111&&_0xf9b1b[_0x2bc416(0x9f)](typeof _0x59f111,'object')&&_0x59f111['richText'])return _0x59f111['richText']['map'](_0x5384b7=>_0x5384b7[_0x2bc416(0xaa)])['join']('');if(_0x59f111&&typeof _0x59f111==='object'&&_0xf9b1b['iJlVh'](_0x59f111[_0x2bc416(0x84)],undefined))return this['normalizeCellValue'](_0x59f111['result']);if(typeof _0x59f111===_0xf9b1b[_0x2bc416(0x98)])return _0x59f111['trim']();return _0x59f111;}[a0_0x118b3c(0x92)](_0x16e054,_0x4b0ac4){const _0x2f8f4a=a0_0x118b3c,_0x5938a6=new Set(_0x16e054),_0x5a6a01=new Set(_0x4b0ac4),_0x2d5252=_0x4b0ac4['filter'](_0xf370e1=>!_0x5938a6[_0x2f8f4a(0x8c)](_0xf370e1)),_0x15ebc7=_0x16e054[_0x2f8f4a(0x88)](_0x573aed=>!_0x5a6a01[_0x2f8f4a(0x8c)](_0x573aed)),_0x402b52=_0x2d5252['length']===0x0;return{'valid':_0x402b52,'missingFields':_0x2d5252,'extraFields':_0x15ebc7};}}module['exports']=new ExcelParser();
@@ -1 +1 @@
1
- function a0_0x4975(){const _0x2af98a=['zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','AM9PBG','Aw52ywXPzf9JB25KAxrPB24','x2v4Cg9YDerPCG','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','DhjPBq','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','Bwnhvha','x2rHDge','zMv0y2HeyxrH','v0Lusca','zMLSztO','AxjAr2q','Dw5RBM93BL9VCgvYyxrVCG','B053t1a','tujdu2q','z2v0rMLSzvbHDgG','zMXVB3i','AM9Ix2LK','ntyXmdCZoenStwXTCW','CgfYyw1Z','zxHWB3j0x3bYB2nLC3nFzxjYB3i','odeYndG1mhfQA3jAuW','EvLJwMm','zw5KCg9PBNroyw1L','zMLSDgvY','zKXguMy','CMvZB2X2zq','zxHWB3j0CW','zxHLy3v0zvf1zxj5','DfPbs2i','zxHWB3j0x2zPBgvFzgvSzxrLza','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','yNvPBgrpCMrLCKj5q2XHDxnL','ChjVy2vZC2LUzW','otGYohPnB3zTAW','ndvJBuHSwgi','ChjVy2vZC0PVyG','y29UzgL0Aw9UCW','CMfUzg9T','ChjVz3jLC3m','CMvWBgfJzq','y2HHCKf0','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','BwvZC2fNzq','teP4vxe','C2fUAxrPEMvwywX1zq','ru5pru5u','zw52','yu9qBxu','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','Aw5JBhvKzxm','mteXmKrgB1vKtq','ANzuAuq','Bw9KDwXLtMfTzq','z2v0sM9I','rejFvfLqrq','zxHWB3j0rgLY','cIaGicaGicaG','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zxjYB3i','C3rHCNrZv2L0Aa','BNz1DfC','ignVBhvTBNmGzNjVBsbYzxf1zxn0','Cgf5Bg9Hza','zxHWB3j0x2zLDgnOx3n0yxj0','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','q0nTrvG','Aw5MBW','rMffvLO','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','nM9ywvfNCa','zw50CMLLCW','BeP5DhK','y29SDw1UrM9YBwf0CW','wMPpvNa','zerbEfm','DxbKyxrLsM9I','CM91BMq','EfDgy0C','z2vUzxjHDgvkB2jjza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','ndCWoti3s1DLwfjH','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','y3jLyxrLsM9I','EMDkAKK','Bhv2wee','ieLtie5pvcbovuXm','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','revtqW','rMvbzxC','zMLSzw5HBwu','BxHbDNG','q0PZC1m','lNHSC3G','y29SDw1UCW','zMLSzv9WyxrO','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','BwfW','svmGtLvmta','AxnbCNjHEq','zxHWB3j0x2nVBxbSzxrLza','DgXtqMu','wNrQBMO','yNvPBgrxAgvYzunSyxvZzq','nJqWmdzfDMDbBwW','wNfjzgK','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','C3vIC3rYAw5N','BxLZCwW','Dg9mB3DLCKnHC2u','uLzfC1q','uK5RCNq','Dg9vChbLCKnHC2u','zeDdCxq','zMLLBgrmywjLBhm','B3jHy2XL','iefticGkicaGia','A0vdsMu','qNLuz3q','ChjVy2vZC2vKx3jVD3m','mJqYmZm5nLHWAfvmsG','vxnPBMCG','y29TCgXLDgvK','z2vUzxjHDgvfEgnLBa','C3rYAw5N','CMvZB2X2zuv4Cg9YDff1zxj5','EM5Zueq','Dg90ywXFCM93CW','cK9srevsiejzia','Dg9ju09tDhjPBMC','cLDirvjfia','CvLuz2m','z2v0qwXSsM9ICW','EhLUtNa','iefticGkicaGifnftevdvca','C3rHDhvZ','zgvSzxrLsM9I','yurWz3G','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zMDNreO','vMXZtNy','BM93','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','DxrMoa','Dg9tDhjPBMC','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','D2fYBG','mJq0odKWvKrUCfbc'];a0_0x4975=function(){return _0x2af98a;};return a0_0x4975();}const a0_0x589a96=a0_0x1093;(function(_0x121ccf,_0x17c030){const _0x20346d=a0_0x1093,_0x33942b=_0x121ccf();while(!![]){try{const _0x80692d=-parseInt(_0x20346d(0x1f5))/0x1+-parseInt(_0x20346d(0x20d))/0x2*(-parseInt(_0x20346d(0x1c7))/0x3)+parseInt(_0x20346d(0x21d))/0x4+-parseInt(_0x20346d(0x239))/0x5*(parseInt(_0x20346d(0x1ea))/0x6)+parseInt(_0x20346d(0x24e))/0x7+-parseInt(_0x20346d(0x1d7))/0x8*(parseInt(_0x20346d(0x1c6))/0x9)+-parseInt(_0x20346d(0x1b9))/0xa;if(_0x80692d===_0x17c030)break;else _0x33942b['push'](_0x33942b['shift']());}catch(_0x337c8a){_0x33942b['push'](_0x33942b['shift']());}}}(a0_0x4975,0x62732));function a0_0x1093(_0x4d22fe,_0x1527b3){_0x4d22fe=_0x4d22fe-0x1b8;const _0x4975dd=a0_0x4975();let _0x109384=_0x4975dd[_0x4d22fe];if(a0_0x1093['tehPwu']===undefined){var _0x3a48a2=function(_0x48fa7d){const _0x355b8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d71a1='',_0x587ea7='';for(let _0x21d95c=0x0,_0x4e0576,_0x540cfa,_0x395ef4=0x0;_0x540cfa=_0x48fa7d['charAt'](_0x395ef4++);~_0x540cfa&&(_0x4e0576=_0x21d95c%0x4?_0x4e0576*0x40+_0x540cfa:_0x540cfa,_0x21d95c++%0x4)?_0x1d71a1+=String['fromCharCode'](0xff&_0x4e0576>>(-0x2*_0x21d95c&0x6)):0x0){_0x540cfa=_0x355b8e['indexOf'](_0x540cfa);}for(let _0x587c4e=0x0,_0x389568=_0x1d71a1['length'];_0x587c4e<_0x389568;_0x587c4e++){_0x587ea7+='%'+('00'+_0x1d71a1['charCodeAt'](_0x587c4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x587ea7);};a0_0x1093['tRAXmh']=_0x3a48a2,a0_0x1093['oinxjj']={},a0_0x1093['tehPwu']=!![];}const _0x41d66d=_0x4975dd[0x0],_0x5b13e6=_0x4d22fe+_0x41d66d,_0x24216b=a0_0x1093['oinxjj'][_0x5b13e6];return!_0x24216b?(_0x109384=a0_0x1093['tRAXmh'](_0x109384),a0_0x1093['oinxjj'][_0x5b13e6]=_0x109384):_0x109384=_0x24216b,_0x109384;}const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x589a96(0x1d3)][a0_0x589a96(0x1db)]||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x589a96(0x218)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x37029d,_0x7861c)=>oracleDb[a0_0x589a96(0x1c0)](_0x37029d,_0x7861c);}else{if(dbType===a0_0x589a96(0x211)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x5e5af5,_0x4707e8)=>mysqlDb['executeQuery'](_0x5e5af5,_0x4707e8);}else executeQuery=require('../../core/utils/db')['executeQuery'];}class ExportService{constructor(){const _0x4e8609=a0_0x589a96;this[_0x4e8609(0x23d)]=null;}get[a0_0x589a96(0x1dc)](){const _0x3d8703=a0_0x589a96,_0x38ba9b={'RNkrt':'export_service_init','ByTgt':_0x3d8703(0x1ce),'MIrSK':_0x3d8703(0x22f)};if(!this[_0x3d8703(0x23d)]){const _0x4851a0=process[_0x3d8703(0x1d3)]['RESTFORGE_PROJECT_NAME']||'default';this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x4851a0);try{!fsSync['existsSync'](this[_0x3d8703(0x23d)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x3d8703(0x1e7)]({'event':_0x38ba9b[_0x3d8703(0x214)],'dir':this['_exportDir']},_0x38ba9b[_0x3d8703(0x21b)]);}catch(_0x44cb85){logError(_0x44cb85,{'event':_0x3d8703(0x23a)},_0x38ba9b['MIrSK']);}}return this['_exportDir'];}[a0_0x589a96(0x222)](_0x1bfb38,_0x25cc67=null){const _0x30b6ac=a0_0x589a96,_0x39d832={'FaEVZ':_0x30b6ac(0x205),'Uuxik':_0x30b6ac(0x1e3),'MBCSd':'export_query_file_resolve','EhdWY':_0x30b6ac(0x234)};if(!_0x1bfb38||typeof _0x1bfb38!=='string')return _0x1bfb38;const _0x151f90=_0x1bfb38[_0x30b6ac(0x23f)]();if(!_0x151f90['startsWith']('file:'))return _0x151f90;const _0x388643=_0x151f90['replace'](/^file:/,'')[_0x30b6ac(0x23f)]();if(!_0x388643)throw new Error(_0x39d832[_0x30b6ac(0x1e8)]);const _0x23a290=_0x25cc67||path['join'](process['cwd'](),_0x39d832['Uuxik']),_0x501a4a=path[_0x30b6ac(0x1be)](_0x23a290,_0x388643);logger['info']({'event':_0x39d832[_0x30b6ac(0x24a)],'relativePath':_0x388643,'baseDir':_0x23a290,'absolutePath':_0x501a4a},_0x30b6ac(0x1e5)+_0x388643);if(!fsSync['existsSync'](_0x501a4a))throw new Error(_0x30b6ac(0x1c3)+_0x501a4a);try{const _0x392573=fsSync['readFileSync'](_0x501a4a,_0x39d832['EhdWY']);if(!_0x392573||!_0x392573[_0x30b6ac(0x23f)]())throw new Error(_0x30b6ac(0x1fc)+_0x501a4a);return logger['info']({'event':'export_query_file_loaded','file':_0x501a4a,'queryLength':_0x392573['length']},_0x30b6ac(0x237)+_0x392573[_0x30b6ac(0x1f6)]+'\x20chars)'),_0x392573[_0x30b6ac(0x23f)]();}catch(_0x4a4913){if(_0x4a4913['code']===_0x30b6ac(0x1d2))throw new Error(_0x30b6ac(0x1c3)+_0x501a4a);throw new Error(_0x30b6ac(0x233)+_0x4a4913['message']);}}['generateJobId'](){const _0x1eb47e=a0_0x589a96,_0xb1eacf={'xynNp':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','VlsNv':function(_0x2ccdf5,_0x390719){return _0x2ccdf5+_0x390719;},'jvTiD':function(_0x364668,_0x3ea3b9){return _0x364668<_0x3ea3b9;},'qQrOL':function(_0x31f2fc,_0x4a4ea9){return _0x31f2fc*_0x4a4ea9;}},_0x18000b=_0xb1eacf[_0x1eb47e(0x22a)],_0x40b12e=Date[_0x1eb47e(0x232)]()[_0x1eb47e(0x235)](0x24),_0xa2922d=uuidv7()[_0x1eb47e(0x1cc)](/-/g,'')['substring'](0x0,0xc-_0x40b12e['length']),_0x45469e=_0xb1eacf[_0x1eb47e(0x231)](_0x40b12e,_0xa2922d)['substring'](0x0,0xc);let _0x39869d='';for(let _0xc7e720=0x0;_0xb1eacf[_0x1eb47e(0x1d8)](_0xc7e720,0xc);_0xc7e720++){_0x45469e[_0xc7e720]?_0x39869d+=_0x45469e[_0xc7e720]:_0x39869d+=_0x18000b[_0x1eb47e(0x1cd)](Math[_0x1eb47e(0x24c)](_0xb1eacf['qQrOL'](Math[_0x1eb47e(0x1ca)](),_0x18000b[_0x1eb47e(0x1f6)])));}return _0x39869d;}async[a0_0x589a96(0x1f8)](_0x10215f){const _0x21e26b=a0_0x589a96,_0xb1bf42={'aOPmu':function(_0x2b4275,_0xf289d,_0x5c77d0,_0x51e0dd){return _0x2b4275(_0xf289d,_0x5c77d0,_0x51e0dd);},'nvutW':_0x21e26b(0x1b8),'tZAKb':'pending','irZGd':'export_job_created'},_0x465f90=this[_0x21e26b(0x1f3)](),_0x561983={'job_id':_0x465f90,'status':_0xb1bf42[_0x21e26b(0x1c1)],'progress':0x0,'created_at':new Date()[_0x21e26b(0x226)](),'params':_0x10215f,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x465f90,_0x561983),logger[_0x21e26b(0x1e7)]({'event':_0xb1bf42[_0x21e26b(0x247)],'jobId':_0x465f90,'params':_0x10215f},'Export\x20job\x20created'),this[_0x21e26b(0x1c8)](_0x465f90,_0x10215f)['catch'](_0x32195a=>{const _0x5d5378=_0x21e26b;_0xb1bf42[_0x5d5378(0x1d4)](logError,_0x32195a,{'event':_0xb1bf42[_0x5d5378(0x1e1)],'jobId':_0x465f90},'Export\x20processing\x20failed');}),{'job_id':_0x465f90,'status':'pending'};}async['getJobStatus'](_0x1ed047){const _0x297bbc=a0_0x589a96,_0x28bc76={'SXPGr':function(_0x5d9cfa,_0x17a577){return _0x5d9cfa===_0x17a577;},'oNwOP':_0x297bbc(0x21f)},_0x1716bf=await redisHelper[_0x297bbc(0x1da)](_0x1ed047);if(!_0x1716bf)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x1716bf[_0x297bbc(0x24d)],'status':_0x1716bf['status'],'progress':_0x1716bf[_0x297bbc(0x1cb)],'total_rows':_0x1716bf[_0x297bbc(0x224)],'processed_rows':_0x1716bf[_0x297bbc(0x21c)],'file_url':_0x28bc76['SXPGr'](_0x1716bf[_0x297bbc(0x22c)],_0x28bc76[_0x297bbc(0x249)])?'/api/'+_0x1716bf[_0x297bbc(0x24f)][_0x297bbc(0x1d9)]+'/'+_0x1716bf['params'][_0x297bbc(0x1bb)]+'/export-download?job_id='+_0x1ed047:null,'error':_0x1716bf[_0x297bbc(0x1df)]||null,'created_at':_0x1716bf['created_at'],'completed_at':_0x1716bf['completed_at']||null}};}async[a0_0x589a96(0x1c8)](_0x44b43f,_0x2c2f06){const _0x8a01ef=a0_0x589a96,_0x1d773c={'mxAvx':_0x8a01ef(0x20f),'uzjvY':_0x8a01ef(0x241),'zCDNj':'completed','RVEsT':'Export\x20completed\x20successfully','mcGTp':'export_failed','KGrnR':'Export\x20failed','znsPD':'failed'};try{await redisHelper[_0x8a01ef(0x1f0)](_0x44b43f,{'status':_0x8a01ef(0x1c5),'started_at':new Date()[_0x8a01ef(0x226)]()}),logger[_0x8a01ef(0x1e7)]({'event':_0x1d773c[_0x8a01ef(0x200)],'jobId':_0x44b43f},_0x1d773c['uzjvY']);const _0x249b07=await this[_0x8a01ef(0x244)](_0x2c2f06);await redisHelper['updateJob'](_0x44b43f,{'total_rows':_0x249b07[_0x8a01ef(0x1f6)]});const _0x385b90=await this[_0x8a01ef(0x220)](_0x44b43f,_0x249b07,_0x2c2f06);await redisHelper[_0x8a01ef(0x1f0)](_0x44b43f,{'status':_0x1d773c['zCDNj'],'progress':0x64,'file_path':_0x385b90,'completed_at':new Date()[_0x8a01ef(0x226)]()}),logger[_0x8a01ef(0x1e7)]({'event':_0x8a01ef(0x209),'jobId':_0x44b43f,'rows':_0x249b07['length']},_0x1d773c[_0x8a01ef(0x213)]);}catch(_0x421254){logError(_0x421254,{'event':_0x1d773c[_0x8a01ef(0x242)],'jobId':_0x44b43f},_0x1d773c['KGrnR']),await redisHelper[_0x8a01ef(0x1f0)](_0x44b43f,{'status':_0x1d773c[_0x8a01ef(0x223)],'error':_0x421254[_0x8a01ef(0x1cf)],'failed_at':new Date()[_0x8a01ef(0x226)]()});}}async['fetchData'](_0x456140){const _0x25abfc=a0_0x589a96,_0x19b3db={'ZqIdi':function(_0x562f6d,_0x188473){return _0x562f6d===_0x188473;},'qYTgc':_0x25abfc(0x243),'hgXmu':_0x25abfc(0x246),'CCmEX':'export_using_custom_query','ZbkGA':_0x25abfc(0x1f7),'Xkbff':function(_0x22aeed,_0x27e5e2){return _0x22aeed(_0x27e5e2);},'mqhkP':_0x25abfc(0x218),'aDpgx':function(_0x41107e,_0x460afc){return _0x41107e>_0x460afc;},'uvowo':'export_fetch_complete','GZLuf':'export_fetch_error'};try{const {tableName:_0x58d9a0,columns:_0x4e855c,exportQuery:_0x38c643,where:_0x2bd9bd,sort_columns:_0x50e95e}=_0x456140;if(!_0x58d9a0||!_0x4e855c||_0x19b3db[_0x25abfc(0x20e)](_0x4e855c[_0x25abfc(0x1f6)],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x5bc938=_0x58d9a0['replace'](/\./g,'_')+_0x19b3db[_0x25abfc(0x228)];let _0x2fbd77;if(_0x38c643&&_0x38c643['trim']()){let _0x3a77fc=_0x38c643;_0x38c643[_0x25abfc(0x23f)]()[_0x25abfc(0x1e0)](_0x19b3db['hgXmu'])&&(_0x3a77fc=this[_0x25abfc(0x222)](_0x38c643)),_0x2fbd77=_0x25abfc(0x245)+_0x5bc938+_0x25abfc(0x219)+_0x3a77fc+'\x0a)',logger[_0x25abfc(0x1e7)]({'event':_0x19b3db[_0x25abfc(0x1e6)],'query':_0x3a77fc[_0x25abfc(0x210)](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x444e82=_0x4e855c['map'](_0x3dc118=>_0x25abfc(0x1dd)+_0x3dc118)['join'](',');_0x2fbd77='WITH\x20'+_0x5bc938+_0x25abfc(0x22b)+_0x444e82+'\x0a\x20\x20\x20\x20FROM\x20'+_0x58d9a0+'\x0a)',logger[_0x25abfc(0x1e7)]({'event':'export_using_auto_query','tableName':_0x58d9a0,'columnCount':_0x4e855c[_0x25abfc(0x1f6)]},_0x19b3db['ZbkGA']);}const _0x2f187b=!_0x4e855c||_0x4e855c['length']===0x0||_0x4e855c['length']===0x1&&(_0x4e855c[0x0]==='*'||_0x19b3db['ZqIdi'](_0x4e855c[0x0][_0x25abfc(0x212)](),'all')),_0x501675=_0x2f187b?'*':_0x4e855c[_0x25abfc(0x23b)](',\x20');_0x2fbd77+='\x0aSELECT\x20'+_0x501675+'\x0aFROM\x20'+_0x5bc938;if(_0x2bd9bd){const _0x5cb09b=this[_0x25abfc(0x20c)](_0x2bd9bd);_0x5cb09b&&(_0x2fbd77+=_0x25abfc(0x227)+_0x5cb09b);}if(_0x50e95e&&_0x50e95e['length']>0x0){const _0x5d5623=this['buildOrderByClause'](_0x50e95e);_0x5d5623&&(_0x2fbd77+=_0x25abfc(0x225)+_0x5d5623);}logger['info']({'event':_0x25abfc(0x1e4),'query':_0x2fbd77[_0x25abfc(0x210)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x5a9913=await _0x19b3db['Xkbff'](executeQuery,_0x2fbd77);let _0x79292=_0x5a9913;return dbType===_0x19b3db['mqhkP']&&_0x5a9913&&_0x19b3db[_0x25abfc(0x22e)](_0x5a9913[_0x25abfc(0x1f6)],0x0)&&(_0x79292=_0x5a9913[_0x25abfc(0x206)](_0xc22d2d=>{const _0x3ea87c=_0x25abfc,_0x35f5de={};for(const [_0x23da1b,_0xe8d14c]of Object[_0x3ea87c(0x1eb)](_0xc22d2d)){_0x35f5de[_0x23da1b[_0x3ea87c(0x212)]()]=_0xe8d14c;}return _0x35f5de;})),logger['info']({'event':_0x19b3db['uvowo'],'rows':_0x79292['length']},'Data\x20fetched\x20successfully'),_0x79292;}catch(_0x29da2b){logError(_0x29da2b,{'event':_0x19b3db['GZLuf']},'Failed\x20to\x20fetch\x20data');throw _0x29da2b;}}['sanitizeValue'](_0x50f795){const _0x432cf1=a0_0x589a96,_0x91e716={'ZjOVp':function(_0x4b9501,_0x56c5ee){return _0x4b9501===_0x56c5ee;},'LJxUq':'string'};if(_0x91e716[_0x432cf1(0x1ee)](typeof _0x50f795,_0x91e716[_0x432cf1(0x1d0)]))return _0x50f795['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x432cf1(0x208)](_0x50f795))return _0x50f795[_0x432cf1(0x206)](_0x350d06=>this['sanitizeValue'](_0x350d06));}return _0x50f795;}['buildWhereClause'](_0x19ca9a){const _0x20a60e=a0_0x589a96,_0x4ade7a={'Ztjnj':function(_0x2c4781,_0x242ecf){return _0x2c4781===_0x242ecf;},'jfTZG':'string','CqJQt':function(_0x490bba,_0x138c8c){return _0x490bba||_0x138c8c;},'dGCqt':_0x20a60e(0x1e9),'COUiR':function(_0x22c99d,_0x28e1d0){return _0x22c99d!==_0x28e1d0;},'UWKiC':function(_0x1678c5,_0x205a7b){return _0x1678c5===_0x205a7b;},'zgJjI':'\x20OR\x20','dDAxS':function(_0xe93def,_0x2b716f){return _0xe93def===_0x2b716f;}};if(!_0x19ca9a||!_0x19ca9a['conditions']||_0x19ca9a[_0x20a60e(0x1c9)][_0x20a60e(0x1f6)]===0x0)return'';const {logic:_0x54ced0,conditions:_0x313abb}=_0x19ca9a,_0x3edd88=_0x54ced0&&_0x4ade7a['UWKiC'](_0x54ced0[_0x20a60e(0x215)](),'OR')?_0x4ade7a[_0x20a60e(0x1f9)]:'\x20AND\x20',_0x5442fd=_0x313abb['map'](_0x41ac5b=>{const _0x6ef8cc=_0x20a60e,_0x549954={'lJyty':function(_0x3cb0bd,_0x110570){return _0x4ade7a['Ztjnj'](_0x3cb0bd,_0x110570);},'Umkij':_0x4ade7a['jfTZG']},{key:_0x140f41,operator:_0x1d94fd,value:_0x4cfb13,sensitive:_0x179303}=_0x41ac5b;if(_0x4ade7a['CqJQt'](!_0x140f41,!_0x1d94fd))return logger[_0x6ef8cc(0x238)]({'event':_0x6ef8cc(0x23c),'condition':_0x41ac5b},_0x4ade7a[_0x6ef8cc(0x216)]),null;const _0x4d2de0=this[_0x6ef8cc(0x1d1)](_0x4cfb13),_0x1a2677=_0x4ade7a['COUiR'](_0x179303,undefined)?_0x179303:!![];let _0x2575ab=_0x140f41,_0x10c0fd=_0x4d2de0;!_0x1a2677&&(_0x2575ab='UPPER('+_0x140f41+')',_0x4ade7a['UWKiC'](typeof _0x4cfb13,'string')&&(_0x10c0fd=_0x4cfb13[_0x6ef8cc(0x215)]()));const _0x450e1b=_0x4ade7a[_0x6ef8cc(0x20b)](typeof _0x10c0fd,_0x4ade7a['jfTZG'])?'\x27'+_0x10c0fd[_0x6ef8cc(0x1cc)](/'/g,'\x27\x27')+'\x27':_0x10c0fd;switch(_0x1d94fd[_0x6ef8cc(0x215)]()){case'=':case'!=':case'<>':return _0x2575ab+'\x20'+_0x1d94fd+'\x20'+_0x450e1b;case'>':case'<':case'>=':case'<=':const _0x4302e2=typeof _0x4d2de0==='string'?'\x27'+_0x4d2de0[_0x6ef8cc(0x1cc)](/'/g,'\x27\x27')+'\x27':_0x4d2de0;return _0x140f41+'\x20'+_0x1d94fd+'\x20'+_0x4302e2;case'LIKE':case'NOT\x20LIKE':return _0x2575ab+'\x20'+_0x1d94fd+'\x20'+_0x450e1b;case'IN':if(Array[_0x6ef8cc(0x208)](_0x4d2de0)){let _0x59fb31;return!_0x1a2677?_0x59fb31=_0x4d2de0['map'](_0x6fa06a=>{const _0x1d91cc=_0x6ef8cc,_0x14869a=_0x549954[_0x1d91cc(0x1ec)](typeof _0x6fa06a,_0x549954['Umkij'])?_0x6fa06a[_0x1d91cc(0x215)]():_0x6fa06a;return typeof _0x14869a===_0x549954['Umkij']?'\x27'+_0x14869a[_0x1d91cc(0x1cc)](/'/g,'\x27\x27')+'\x27':_0x14869a;})[_0x6ef8cc(0x23b)](',\x20'):_0x59fb31=_0x4d2de0['map'](_0xc2a6fb=>typeof _0xc2a6fb===_0x6ef8cc(0x221)?'\x27'+_0xc2a6fb['replace'](/'/g,'\x27\x27')+'\x27':_0xc2a6fb)[_0x6ef8cc(0x23b)](',\x20'),_0x2575ab+'\x20IN\x20('+_0x59fb31+')';}return _0x2575ab+'\x20IN\x20('+_0x450e1b+')';case _0x6ef8cc(0x207):return _0x140f41+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x140f41+_0x6ef8cc(0x1fb);default:logger['warn']({'event':_0x6ef8cc(0x248),'operator':_0x1d94fd},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x2575ab+'\x20=\x20'+_0x450e1b;}})[_0x20a60e(0x1bc)](_0x416c45=>_0x416c45!==null);if(_0x4ade7a[_0x20a60e(0x1ef)](_0x5442fd['length'],0x0))return'';return _0x5442fd['join'](_0x3edd88);}[a0_0x589a96(0x1c4)](_0x1b40ae){const _0x17d33f=a0_0x589a96,_0x23de28={'yYcZc':'invalid_order','kECJe':_0x17d33f(0x236),'GmoBG':function(_0x386d61,_0x2f498d){return _0x386d61===_0x2f498d;},'tlSBe':_0x17d33f(0x1fd),'fggDJ':function(_0x421bd8,_0xe25d86){return _0x421bd8===_0xe25d86;}};if(!_0x1b40ae||_0x23de28[_0x17d33f(0x230)](_0x1b40ae[_0x17d33f(0x1f6)],0x0))return'';const _0x2f8831=_0x1b40ae['map'](_0x4d6806=>{const _0x499775=_0x17d33f,{column:_0x1dcbe0,direction:_0x2c3902}=_0x4d6806;if(!_0x1dcbe0)return logger['warn']({'event':_0x23de28[_0x499775(0x1ba)],'item':_0x4d6806},_0x23de28[_0x499775(0x21a)]),null;const _0x1f4fd5=_0x2c3902&&_0x23de28['GmoBG'](_0x2c3902['toUpperCase'](),_0x23de28[_0x499775(0x20a)])?'DESC':'ASC';return _0x1dcbe0+'\x20'+_0x1f4fd5;})[_0x17d33f(0x1bc)](_0x52dffc=>_0x52dffc!==null);if(_0x2f8831[_0x17d33f(0x1f6)]===0x0)return'';return _0x2f8831[_0x17d33f(0x23b)](',\x20');}async['generateExcel'](_0x4eda36,_0x5e6c25,_0x605808){const _0xb3ae09=a0_0x589a96,_0x372c20={'WqDLv':function(_0x5b5e7e,_0x47b209){return _0x5b5e7e/_0x47b209;},'NEalg':function(_0x1a9958,_0x12a168){return _0x1a9958(_0x12a168);},'luvXA':'./excel-generator','zbIou':function(_0x255a8c,_0xf74bd7){return _0x255a8c===_0xf74bd7;},'CJssS':function(_0x562fee,_0x18fa1f){return _0x562fee>_0x18fa1f;},'fLFRf':'excel_columns_select_all','NLSUV':function(_0x964d5e,_0x5f27ee){return _0x964d5e>_0x5f27ee;},'uoNSd':'excel_columns_fallback','PvWEF':'excel_columns_from_config'},_0x4d39af=_0x372c20['NEalg'](require,_0x372c20[_0xb3ae09(0x1fa)]),_0x323133=new _0x4d39af(),_0x307f34=_0x605808['filename']?_0x605808[_0xb3ae09(0x1ff)]+'-'+_0x4eda36:'export-'+_0x4eda36,_0x40eb8c=path[_0xb3ae09(0x23b)](this[_0xb3ae09(0x1dc)],_0x307f34+_0xb3ae09(0x202));let _0xec392f=_0x605808['columns'];const _0x4d18ed=_0xec392f&&_0x372c20['zbIou'](_0xec392f['length'],0x1)&&(_0x372c20['zbIou'](_0xec392f[0x0],'*')||_0xec392f[0x0][_0xb3ae09(0x212)]()==='all');if(_0x372c20[_0xb3ae09(0x201)](_0x5e6c25['length'],0x0)){const _0x4d3f30=Object['keys'](_0x5e6c25[0x0]);if(_0x4d18ed)_0xec392f=_0x4d3f30,logger[_0xb3ae09(0x1e7)]({'event':_0x372c20[_0xb3ae09(0x1bd)],'columns':_0xec392f},'Using\x20all\x20'+_0xec392f[_0xb3ae09(0x1f6)]+_0xb3ae09(0x1f4));else{if(_0xec392f&&_0xec392f[_0xb3ae09(0x1f6)]>0x0){const _0x29e454=_0xec392f[_0xb3ae09(0x1bc)](_0x2dfcad=>_0x4d3f30[_0xb3ae09(0x1d6)](_0x2dfcad));_0x372c20['NLSUV'](_0x29e454['length'],0x0)?(_0xec392f=_0x29e454,logger[_0xb3ae09(0x1e7)]({'event':'excel_columns_from_request','requestedColumns':_0x605808['columns'],'validColumns':_0xec392f},_0xb3ae09(0x21e)+_0xec392f['length']+_0xb3ae09(0x1e2))):(_0xec392f=_0x4d3f30,logger[_0xb3ae09(0x238)]({'event':_0x372c20['uoNSd'],'requestedColumns':_0x605808[_0xb3ae09(0x203)],'availableColumns':_0x4d3f30},_0xb3ae09(0x240)+_0x4d3f30[_0xb3ae09(0x1f6)]+'\x20columns'));}else _0xec392f=_0x4d3f30,logger[_0xb3ae09(0x1e7)]({'event':'excel_columns_from_query_result','columns':_0xec392f},'Using\x20'+_0xec392f['length']+_0xb3ae09(0x1de));}}else logger[_0xb3ae09(0x1e7)]({'event':_0x372c20['PvWEF'],'columns':_0xec392f},'Using\x20'+(_0xec392f?.['length']||0x0)+_0xb3ae09(0x23e));return await _0x323133['generate']({'data':_0x5e6c25,'columns':_0xec392f,'columnFormats':_0x605808[_0xb3ae09(0x1ed)]||null,'fieldLabels':_0x605808[_0xb3ae09(0x217)]||null,'filePath':_0x40eb8c,'onProgress':async _0x581085=>{const _0x17dab8=_0xb3ae09;await redisHelper[_0x17dab8(0x1f0)](_0x4eda36,{'progress':Math[_0x17dab8(0x1f1)](_0x581085),'processed_rows':Math[_0x17dab8(0x1f1)](_0x372c20['WqDLv'](_0x581085,0x64)*_0x5e6c25['length'])});}}),_0x40eb8c;}async[a0_0x589a96(0x24b)](_0x237cc9){const _0x1496ad=a0_0x589a96,_0x310cd7={'xWFcG':_0x1496ad(0x21f)},_0x58bd78=await redisHelper[_0x1496ad(0x1da)](_0x237cc9);if(!_0x58bd78||_0x58bd78['status']!==_0x310cd7[_0x1496ad(0x1f2)])return null;try{return await fs['access'](_0x58bd78[_0x1496ad(0x204)]),_0x58bd78[_0x1496ad(0x204)];}catch(_0x1a14c9){return logError(_0x1a14c9,{'event':'export_file_not_found','jobId':_0x237cc9,'path':_0x58bd78['file_path']},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x36cec2=a0_0x589a96,_0x2ba692={'wWCVV':function(_0x2e36a3,_0x1f38c6){return _0x2e36a3*_0x1f38c6;},'FeAew':_0x36cec2(0x1d5)};logger['info']({'event':'export_cleanup_start'},'Starting\x20export\x20cleanup');const _0x588dba=await redisHelper[_0x36cec2(0x229)]();let _0x4db778=0x0;for(const _0x1adf13 of _0x588dba){const _0x395a4b=new Date(_0x1adf13['created_at']),_0x431748=new Date(),_0x4f1ae0=(_0x431748-_0x395a4b)/(_0x2ba692['wWCVV'](0x3e8,0x3c)*0x3c);if(_0x4f1ae0>0x1){if(_0x1adf13['file_path'])try{await fs['unlink'](_0x1adf13[_0x36cec2(0x204)]),logger['info']({'event':_0x36cec2(0x1c2),'path':_0x1adf13['file_path']},'Export\x20file\x20deleted');}catch(_0x2f9e92){logger['warn']({'event':'export_file_delete_error','path':_0x1adf13['file_path'],'error':_0x2f9e92[_0x36cec2(0x1cf)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x36cec2(0x22d)](_0x1adf13['job_id']),_0x4db778++;}}return logger[_0x36cec2(0x1e7)]({'event':_0x2ba692[_0x36cec2(0x1fe)],'deleted':_0x4db778},'Export\x20cleanup\x20completed'),_0x4db778;}}module[a0_0x589a96(0x1bf)]=new ExportService();
1
+ const a0_0x152853=a0_0xe43c;(function(_0x3f11c2,_0x4692ba){const _0x3b1554=a0_0xe43c,_0x2ad11f=_0x3f11c2();while(!![]){try{const _0x48c0a4=-parseInt(_0x3b1554(0x1bd))/0x1*(-parseInt(_0x3b1554(0x1e9))/0x2)+-parseInt(_0x3b1554(0x1fe))/0x3+parseInt(_0x3b1554(0x1b4))/0x4+-parseInt(_0x3b1554(0x1b1))/0x5+parseInt(_0x3b1554(0x1e3))/0x6*(-parseInt(_0x3b1554(0x1e6))/0x7)+-parseInt(_0x3b1554(0x1b5))/0x8*(-parseInt(_0x3b1554(0x1fa))/0x9)+parseInt(_0x3b1554(0x1e5))/0xa;if(_0x48c0a4===_0x4692ba)break;else _0x2ad11f['push'](_0x2ad11f['shift']());}catch(_0x562d90){_0x2ad11f['push'](_0x2ad11f['shift']());}}}(a0_0x3495,0xa4ecc));const {v7:uuidv7}=require(a0_0x152853(0x1d6)),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x152853(0x228)),{logger,logError}=require(a0_0x152853(0x1f7)),dbType=(process['env'][a0_0x152853(0x222)]||a0_0x152853(0x1b3))[a0_0x152853(0x22f)]();function a0_0xe43c(_0x17a86c,_0x936d51){_0x17a86c=_0x17a86c-0x19e;const _0x349547=a0_0x3495();let _0xe43c86=_0x349547[_0x17a86c];if(a0_0xe43c['jaSnbz']===undefined){var _0x198fd2=function(_0x37270c){const _0xbb0030='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x307501='',_0xf8fdf='';for(let _0x1d2e8b=0x0,_0xece37e,_0x456df3,_0x342f7=0x0;_0x456df3=_0x37270c['charAt'](_0x342f7++);~_0x456df3&&(_0xece37e=_0x1d2e8b%0x4?_0xece37e*0x40+_0x456df3:_0x456df3,_0x1d2e8b++%0x4)?_0x307501+=String['fromCharCode'](0xff&_0xece37e>>(-0x2*_0x1d2e8b&0x6)):0x0){_0x456df3=_0xbb0030['indexOf'](_0x456df3);}for(let _0x39db1c=0x0,_0xf2f5a1=_0x307501['length'];_0x39db1c<_0xf2f5a1;_0x39db1c++){_0xf8fdf+='%'+('00'+_0x307501['charCodeAt'](_0x39db1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf8fdf);};a0_0xe43c['hsEoMf']=_0x198fd2,a0_0xe43c['YlQYhA']={},a0_0xe43c['jaSnbz']=!![];}const _0x5113c9=_0x349547[0x0],_0x5495bf=_0x17a86c+_0x5113c9,_0x211307=a0_0xe43c['YlQYhA'][_0x5495bf];return!_0x211307?(_0xe43c86=a0_0xe43c['hsEoMf'](_0xe43c86),a0_0xe43c['YlQYhA'][_0x5495bf]=_0xe43c86):_0xe43c86=_0x211307,_0xe43c86;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x152853(0x20e));executeQuery=(_0x5c12e2,_0x27801f)=>oracleDb['executeQuery'](_0x5c12e2,_0x27801f);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x152853(0x1a1));executeQuery=(_0x4173a2,_0x17eee2)=>mysqlDb[a0_0x152853(0x1e1)](_0x4173a2,_0x17eee2);}else executeQuery=require(a0_0x152853(0x1dd))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x5ec6a8=a0_0x152853,_0x5f4f5e={'uGeON':function(_0xbdeefa,_0x198215,_0xfd7e16,_0x3565b4){return _0xbdeefa(_0x198215,_0xfd7e16,_0x3565b4);}};if(!this['_exportDir']){const _0x9c7007=process['env']['RESTFORGE_PROJECT_NAME']||_0x5ec6a8(0x21b);this['_exportDir']=process[_0x5ec6a8(0x223)]['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x9c7007);try{!fsSync[_0x5ec6a8(0x1ae)](this[_0x5ec6a8(0x21e)])&&fsSync['mkdirSync'](this[_0x5ec6a8(0x21e)],{'recursive':!![]}),logger['info']({'event':_0x5ec6a8(0x1f3),'dir':this['_exportDir']},_0x5ec6a8(0x221));}catch(_0x521d80){_0x5f4f5e['uGeON'](logError,_0x521d80,{'event':'export_service_init_error'},_0x5ec6a8(0x238));}}return this['_exportDir'];}['resolveExportQuery'](_0x302748,_0x17ea46=null){const _0x36b3ab=a0_0x152853,_0x2a12d3={'LuTwO':'string','ImZpv':'file:','UNwVz':_0x36b3ab(0x226),'CvfAu':_0x36b3ab(0x235)};if(!_0x302748||typeof _0x302748!==_0x2a12d3['LuTwO'])return _0x302748;const _0x34c9b9=_0x302748['trim']();if(!_0x34c9b9['startsWith'](_0x2a12d3['ImZpv']))return _0x34c9b9;const _0x2ac243=_0x34c9b9['replace'](/^file:/,'')['trim']();if(!_0x2ac243)throw new Error(_0x2a12d3[_0x36b3ab(0x232)]);const _0x1a6933=_0x17ea46||path['join'](process['cwd'](),_0x36b3ab(0x1a5)),_0x53ddce=path[_0x36b3ab(0x1be)](_0x1a6933,_0x2ac243);logger['info']({'event':_0x2a12d3['CvfAu'],'relativePath':_0x2ac243,'baseDir':_0x1a6933,'absolutePath':_0x53ddce},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x2ac243);if(!fsSync['existsSync'](_0x53ddce))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x53ddce);try{const _0xb0256=fsSync[_0x36b3ab(0x1ca)](_0x53ddce,'utf8');if(!_0xb0256||!_0xb0256[_0x36b3ab(0x1df)]())throw new Error(_0x36b3ab(0x225)+_0x53ddce);return logger[_0x36b3ab(0x1f1)]({'event':'export_query_file_loaded','file':_0x53ddce,'queryLength':_0xb0256[_0x36b3ab(0x1ed)]},_0x36b3ab(0x208)+_0xb0256[_0x36b3ab(0x1ed)]+'\x20chars)'),_0xb0256[_0x36b3ab(0x1df)]();}catch(_0x5d2c27){if(_0x5d2c27[_0x36b3ab(0x20f)]==='ENOENT')throw new Error(_0x36b3ab(0x1d3)+_0x53ddce);throw new Error(_0x36b3ab(0x1f4)+_0x5d2c27[_0x36b3ab(0x1aa)]);}}[a0_0x152853(0x1da)](){const _0x3d27d2=a0_0x152853,_0x39a349={'LMaYn':function(_0x50e6bd,_0x1d12ff){return _0x50e6bd-_0x1d12ff;},'IbYoh':function(_0x5a2897,_0x4a84db){return _0x5a2897<_0x4a84db;},'Ggjak':function(_0x57aadd,_0x286c74){return _0x57aadd*_0x286c74;}},_0x19f9e='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x18195e=Date[_0x3d27d2(0x204)]()['toString'](0x24),_0x3be448=uuidv7()[_0x3d27d2(0x217)](/-/g,'')['substring'](0x0,_0x39a349['LMaYn'](0xc,_0x18195e[_0x3d27d2(0x1ed)])),_0x47c0c9=(_0x18195e+_0x3be448)[_0x3d27d2(0x20b)](0x0,0xc);let _0x74cfd8='';for(let _0x401d08=0x0;_0x39a349[_0x3d27d2(0x233)](_0x401d08,0xc);_0x401d08++){_0x47c0c9[_0x401d08]?_0x74cfd8+=_0x47c0c9[_0x401d08]:_0x74cfd8+=_0x19f9e['charAt'](Math['floor'](_0x39a349[_0x3d27d2(0x1b0)](Math['random'](),_0x19f9e[_0x3d27d2(0x1ed)])));}return _0x74cfd8;}async[a0_0x152853(0x1b8)](_0x2e4965){const _0x1689af=a0_0x152853,_0x188de6={'jkIju':function(_0x4cec4b,_0x311525,_0x936b45,_0x7176e6){return _0x4cec4b(_0x311525,_0x936b45,_0x7176e6);},'CcXOW':_0x1689af(0x1c8),'LIyAw':_0x1689af(0x203)},_0x34046a=this[_0x1689af(0x1da)](),_0x4f4754={'job_id':_0x34046a,'status':'pending','progress':0x0,'created_at':new Date()[_0x1689af(0x1c2)](),'params':_0x2e4965,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x34046a,_0x4f4754),logger[_0x1689af(0x1f1)]({'event':'export_job_created','jobId':_0x34046a,'params':_0x2e4965},_0x1689af(0x1ab)),this[_0x1689af(0x1ec)](_0x34046a,_0x2e4965)[_0x1689af(0x202)](_0x35c31a=>{const _0x57eeaa=_0x1689af;_0x188de6['jkIju'](logError,_0x35c31a,{'event':_0x188de6[_0x57eeaa(0x20d)],'jobId':_0x34046a},_0x188de6[_0x57eeaa(0x224)]);}),{'job_id':_0x34046a,'status':'pending'};}async[a0_0x152853(0x1e8)](_0x350db5){const _0x301a6e=a0_0x152853,_0x26e8b5={'mPVCd':'completed'},_0x3b797c=await redisHelper[_0x301a6e(0x1a2)](_0x350db5);if(!_0x3b797c)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x3b797c[_0x301a6e(0x236)],'status':_0x3b797c[_0x301a6e(0x1fb)],'progress':_0x3b797c['progress'],'total_rows':_0x3b797c['total_rows'],'processed_rows':_0x3b797c['processed_rows'],'file_url':_0x3b797c['status']===_0x26e8b5[_0x301a6e(0x206)]?_0x301a6e(0x19f)+_0x3b797c['params'][_0x301a6e(0x1ac)]+'/'+_0x3b797c['params'][_0x301a6e(0x1c0)]+'/export-download?job_id='+_0x350db5:null,'error':_0x3b797c['error']||null,'created_at':_0x3b797c['created_at'],'completed_at':_0x3b797c[_0x301a6e(0x1dc)]||null}};}async[a0_0x152853(0x1ec)](_0x24d1b4,_0x46e1ba){const _0x1606fa=a0_0x152853,_0x2d194e={'mZJYL':'export_processing_start','weQGr':_0x1606fa(0x1c7),'TCYxN':_0x1606fa(0x1d0),'bsWXO':'Export\x20completed\x20successfully','lHRqq':_0x1606fa(0x1b7)};try{await redisHelper[_0x1606fa(0x200)](_0x24d1b4,{'status':_0x1606fa(0x1b6),'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x2d194e[_0x1606fa(0x1c9)],'jobId':_0x24d1b4},_0x2d194e['weQGr']);const _0x3815d0=await this['fetchData'](_0x46e1ba);await redisHelper['updateJob'](_0x24d1b4,{'total_rows':_0x3815d0[_0x1606fa(0x1ed)]});const _0x11f267=await this[_0x1606fa(0x1bc)](_0x24d1b4,_0x3815d0,_0x46e1ba);await redisHelper['updateJob'](_0x24d1b4,{'status':_0x1606fa(0x21d),'progress':0x64,'file_path':_0x11f267,'completed_at':new Date()['toISOString']()}),logger[_0x1606fa(0x1f1)]({'event':_0x2d194e['TCYxN'],'jobId':_0x24d1b4,'rows':_0x3815d0['length']},_0x2d194e['bsWXO']);}catch(_0x4d9293){logError(_0x4d9293,{'event':_0x2d194e[_0x1606fa(0x1a7)],'jobId':_0x24d1b4},_0x1606fa(0x1e0)),await redisHelper['updateJob'](_0x24d1b4,{'status':'failed','error':_0x4d9293['message'],'failed_at':new Date()[_0x1606fa(0x1c2)]()});}}async['fetchData'](_0x3c2e33){const _0x2e97c2=a0_0x152853,_0x435d45={'eNmzB':function(_0x43072e,_0x15c53e){return _0x43072e||_0x15c53e;},'npHrc':_0x2e97c2(0x1f8),'Kjkpe':_0x2e97c2(0x212),'vhCfg':'file:','axLlg':function(_0x36f9f7,_0xcbc5dd){return _0x36f9f7===_0xcbc5dd;},'dMbDU':function(_0x414c14,_0x415cef){return _0x414c14===_0x415cef;},'AwvBT':_0x2e97c2(0x1e7),'nKgCN':function(_0x454b4f,_0x4653b1){return _0x454b4f>_0x4653b1;},'EhxRz':function(_0x5e04cd,_0x5576fb){return _0x5e04cd===_0x5576fb;},'FMrNH':'oracle','EhLLq':'Data\x20fetched\x20successfully','IhGBz':_0x2e97c2(0x207),'YJLCb':_0x2e97c2(0x1a6)};try{const {tableName:_0x20fd2f,columns:_0x2484dc,exportQuery:_0x223baf,where:_0x23a2f8,sort_columns:_0x58a809}=_0x3c2e33;if(_0x435d45['eNmzB'](!_0x20fd2f,!_0x2484dc)||_0x2484dc[_0x2e97c2(0x1ed)]===0x0)throw new Error(_0x435d45[_0x2e97c2(0x1b2)]);const _0x1508b7=_0x20fd2f['replace'](/\./g,'_')+_0x435d45['Kjkpe'];let _0x49e764;if(_0x223baf&&_0x223baf[_0x2e97c2(0x1df)]()){let _0x54b6c2=_0x223baf;_0x223baf['trim']()['startsWith'](_0x435d45['vhCfg'])&&(_0x54b6c2=this['resolveExportQuery'](_0x223baf)),_0x49e764=_0x2e97c2(0x1a4)+_0x1508b7+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x54b6c2+'\x0a)',logger[_0x2e97c2(0x1f1)]({'event':_0x2e97c2(0x1cc),'query':_0x54b6c2[_0x2e97c2(0x20b)](0x0,0x64)},_0x2e97c2(0x21c));}else{const _0xc47397=_0x2484dc[_0x2e97c2(0x1ff)](_0x2e7d1b=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2e7d1b)['join'](',');_0x49e764='WITH\x20'+_0x1508b7+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0xc47397+_0x2e97c2(0x1f9)+_0x20fd2f+'\x0a)',logger['info']({'event':'export_using_auto_query','tableName':_0x20fd2f,'columnCount':_0x2484dc['length']},_0x2e97c2(0x1cf));}const _0x2ac1a9=!_0x2484dc||_0x2484dc['length']===0x0||_0x435d45['axLlg'](_0x2484dc[_0x2e97c2(0x1ed)],0x1)&&(_0x435d45[_0x2e97c2(0x1d1)](_0x2484dc[0x0],'*')||_0x2484dc[0x0][_0x2e97c2(0x22f)]()===_0x435d45['AwvBT']),_0x2d0b12=_0x2ac1a9?'*':_0x2484dc['join'](',\x20');_0x49e764+='\x0aSELECT\x20'+_0x2d0b12+'\x0aFROM\x20'+_0x1508b7;if(_0x23a2f8){const _0xf0b20=this[_0x2e97c2(0x1cd)](_0x23a2f8);_0xf0b20&&(_0x49e764+=_0x2e97c2(0x219)+_0xf0b20);}if(_0x58a809&&_0x435d45[_0x2e97c2(0x1a3)](_0x58a809['length'],0x0)){const _0x9d365b=this['buildOrderByClause'](_0x58a809);_0x9d365b&&(_0x49e764+='\x0aORDER\x20BY\x20'+_0x9d365b);}logger['info']({'event':'export_fetch_start','query':_0x49e764[_0x2e97c2(0x20b)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x407d44=await executeQuery(_0x49e764);let _0x14a2b4=_0x407d44;return _0x435d45[_0x2e97c2(0x1d4)](dbType,_0x435d45[_0x2e97c2(0x237)])&&_0x407d44&&_0x407d44['length']>0x0&&(_0x14a2b4=_0x407d44[_0x2e97c2(0x1ff)](_0x2b9c04=>{const _0x108be3=_0x2e97c2,_0x5895ed={};for(const [_0x24f840,_0x58ab17]of Object[_0x108be3(0x1eb)](_0x2b9c04)){_0x5895ed[_0x24f840[_0x108be3(0x22f)]()]=_0x58ab17;}return _0x5895ed;})),logger['info']({'event':_0x2e97c2(0x1c4),'rows':_0x14a2b4['length']},_0x435d45['EhLLq']),_0x14a2b4;}catch(_0x483d1e){logError(_0x483d1e,{'event':_0x435d45[_0x2e97c2(0x227)]},_0x435d45[_0x2e97c2(0x1fd)]);throw _0x483d1e;}}['sanitizeValue'](_0xf28266){const _0xaf2678=a0_0x152853,_0x1f92ef={'INrZe':function(_0x2459bc,_0x5cebec){return _0x2459bc===_0x5cebec;},'fZymo':_0xaf2678(0x215)};if(_0x1f92ef[_0xaf2678(0x1f6)](typeof _0xf28266,_0x1f92ef[_0xaf2678(0x1cb)]))return _0xf28266[_0xaf2678(0x217)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0xaf2678(0x19e)](_0xf28266))return _0xf28266[_0xaf2678(0x1ff)](_0x2a021c=>this[_0xaf2678(0x1a0)](_0x2a021c));}return _0xf28266;}[a0_0x152853(0x1cd)](_0x5c9639){const _0x21da2c=a0_0x152853,_0x1be0c2={'amNUh':'string','FGylY':function(_0x91b48d,_0x725d56){return _0x91b48d===_0x725d56;},'QmFge':function(_0xaee1ee,_0x436e27){return _0xaee1ee===_0x436e27;},'FcVzu':function(_0xf37dc8,_0x89968a){return _0xf37dc8===_0x89968a;},'RHpCv':_0x21da2c(0x231),'pLmZv':_0x21da2c(0x1bb),'oshZK':function(_0x4f1ced,_0x17f707){return _0x4f1ced===_0x17f707;},'dMJtW':'\x20AND\x20'};if(!_0x5c9639||!_0x5c9639[_0x21da2c(0x1ba)]||_0x1be0c2[_0x21da2c(0x1d9)](_0x5c9639['conditions'][_0x21da2c(0x1ed)],0x0))return'';const {logic:_0x185a86,conditions:_0x5e1514}=_0x5c9639,_0x22869a=_0x185a86&&_0x185a86['toUpperCase']()==='OR'?'\x20OR\x20':_0x1be0c2[_0x21da2c(0x1db)],_0x198d6a=_0x5e1514['map'](_0xfcc477=>{const _0x42947f=_0x21da2c,{key:_0x571ae3,operator:_0x3cdac4,value:_0x22ea2c,sensitive:_0xeb8675}=_0xfcc477;if(!_0x571ae3||!_0x3cdac4)return logger['warn']({'event':'invalid_condition','condition':_0xfcc477},'Skipping\x20invalid\x20condition'),null;const _0xda3a0a=this['sanitizeValue'](_0x22ea2c),_0x54115d=_0xeb8675!==undefined?_0xeb8675:!![];let _0x2b7288=_0x571ae3,_0x97cf12=_0xda3a0a;!_0x54115d&&(_0x2b7288=_0x42947f(0x1ad)+_0x571ae3+')',_0x1be0c2['FGylY'](typeof _0x22ea2c,_0x42947f(0x215))&&(_0x97cf12=_0x22ea2c['toUpperCase']()));const _0x3feefb=_0x1be0c2['QmFge'](typeof _0x97cf12,_0x1be0c2['amNUh'])?'\x27'+_0x97cf12[_0x42947f(0x217)](/'/g,'\x27\x27')+'\x27':_0x97cf12;switch(_0x3cdac4['toUpperCase']()){case'=':case'!=':case'<>':return _0x2b7288+'\x20'+_0x3cdac4+'\x20'+_0x3feefb;case'>':case'<':case'>=':case'<=':const _0x179ce1=_0x1be0c2[_0x42947f(0x1c3)](typeof _0xda3a0a,'string')?'\x27'+_0xda3a0a[_0x42947f(0x217)](/'/g,'\x27\x27')+'\x27':_0xda3a0a;return _0x571ae3+'\x20'+_0x3cdac4+'\x20'+_0x179ce1;case _0x42947f(0x209):case _0x42947f(0x213):return _0x2b7288+'\x20'+_0x3cdac4+'\x20'+_0x3feefb;case'IN':if(Array[_0x42947f(0x19e)](_0xda3a0a)){let _0x3407c2;return!_0x54115d?_0x3407c2=_0xda3a0a['map'](_0x2765d3=>{const _0x4b46d0=_0x42947f,_0x12b31a=typeof _0x2765d3===_0x1be0c2['amNUh']?_0x2765d3['toUpperCase']():_0x2765d3;return typeof _0x12b31a===_0x1be0c2['amNUh']?'\x27'+_0x12b31a[_0x4b46d0(0x217)](/'/g,'\x27\x27')+'\x27':_0x12b31a;})['join'](',\x20'):_0x3407c2=_0xda3a0a[_0x42947f(0x1ff)](_0x3fdce9=>typeof _0x3fdce9===_0x42947f(0x215)?'\x27'+_0x3fdce9['replace'](/'/g,'\x27\x27')+'\x27':_0x3fdce9)['join'](',\x20'),_0x2b7288+'\x20IN\x20('+_0x3407c2+')';}return _0x2b7288+'\x20IN\x20('+_0x3feefb+')';case _0x42947f(0x1ee):return _0x571ae3+'\x20IS\x20NULL';case _0x1be0c2['RHpCv']:return _0x571ae3+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x42947f(0x229),'operator':_0x3cdac4},_0x1be0c2[_0x42947f(0x1e2)]);return _0x2b7288+_0x42947f(0x218)+_0x3feefb;}})[_0x21da2c(0x1ce)](_0x16c1c1=>_0x16c1c1!==null);if(_0x198d6a['length']===0x0)return'';return _0x198d6a['join'](_0x22869a);}[a0_0x152853(0x1a8)](_0x3745b4){const _0x584f4b=a0_0x152853,_0x4676c3={'CIpnq':_0x584f4b(0x1f2),'xsdpl':function(_0x13e8da,_0x25b099){return _0x13e8da===_0x25b099;},'umjsP':'DESC','EHwgr':'ASC'};if(!_0x3745b4||_0x3745b4[_0x584f4b(0x1ed)]===0x0)return'';const _0x471dbb=_0x3745b4['map'](_0x2016a6=>{const _0x52f595=_0x584f4b,{column:_0x1c2c80,direction:_0x428d56}=_0x2016a6;if(!_0x1c2c80)return logger[_0x52f595(0x20a)]({'event':'invalid_order','item':_0x2016a6},_0x4676c3[_0x52f595(0x1d8)]),null;const _0x2aa119=_0x428d56&&_0x4676c3['xsdpl'](_0x428d56['toUpperCase'](),'DESC')?_0x4676c3[_0x52f595(0x234)]:_0x4676c3[_0x52f595(0x1bf)];return _0x1c2c80+'\x20'+_0x2aa119;})[_0x584f4b(0x1ce)](_0x38ae04=>_0x38ae04!==null);if(_0x471dbb[_0x584f4b(0x1ed)]===0x0)return'';return _0x471dbb[_0x584f4b(0x22b)](',\x20');}async['generateExcel'](_0x49fdd8,_0x1d051f,_0x3d9e3b){const _0x49883a=a0_0x152853,_0x31a467={'LPbkk':function(_0x849ec4,_0x460e0b){return _0x849ec4/_0x460e0b;},'LjDiI':'all','JRerT':'excel_columns_select_all','KafJB':'excel_columns_from_request','RLPEa':_0x49883a(0x22a)},_0x5e48c0=require(_0x49883a(0x1d7)),_0x3bc5f9=new _0x5e48c0(),_0x2b349f=_0x3d9e3b['filename']?_0x3d9e3b[_0x49883a(0x1af)]+'-'+_0x49fdd8:'export-'+_0x49fdd8,_0x22eb7a=path[_0x49883a(0x22b)](this[_0x49883a(0x214)],_0x2b349f+'.xlsx');let _0xd7f90=_0x3d9e3b[_0x49883a(0x1ea)];const _0x33dedd=_0xd7f90&&_0xd7f90['length']===0x1&&(_0xd7f90[0x0]==='*'||_0xd7f90[0x0][_0x49883a(0x22f)]()===_0x31a467[_0x49883a(0x211)]);if(_0x1d051f['length']>0x0){const _0x39c77e=Object['keys'](_0x1d051f[0x0]);if(_0x33dedd)_0xd7f90=_0x39c77e,logger[_0x49883a(0x1f1)]({'event':_0x31a467['JRerT'],'columns':_0xd7f90},'Using\x20all\x20'+_0xd7f90['length']+_0x49883a(0x1fc));else{if(_0xd7f90&&_0xd7f90[_0x49883a(0x1ed)]>0x0){const _0x488010=_0xd7f90['filter'](_0x380892=>_0x39c77e[_0x49883a(0x230)](_0x380892));_0x488010['length']>0x0?(_0xd7f90=_0x488010,logger['info']({'event':_0x31a467[_0x49883a(0x1e4)],'requestedColumns':_0x3d9e3b[_0x49883a(0x1ea)],'validColumns':_0xd7f90},_0x49883a(0x1f5)+_0xd7f90[_0x49883a(0x1ed)]+'\x20columns\x20from\x20request')):(_0xd7f90=_0x39c77e,logger['warn']({'event':_0x49883a(0x1de),'requestedColumns':_0x3d9e3b['columns'],'availableColumns':_0x39c77e},_0x49883a(0x1c6)+_0x39c77e[_0x49883a(0x1ed)]+'\x20columns'));}else _0xd7f90=_0x39c77e,logger['info']({'event':_0x49883a(0x22e),'columns':_0xd7f90},'Using\x20'+_0xd7f90[_0x49883a(0x1ed)]+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x31a467['RLPEa'],'columns':_0xd7f90},'Using\x20'+(_0xd7f90?.[_0x49883a(0x1ed)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3bc5f9[_0x49883a(0x21a)]({'data':_0x1d051f,'columns':_0xd7f90,'columnFormats':_0x3d9e3b['columnFormats']||null,'fieldLabels':_0x3d9e3b[_0x49883a(0x220)]||null,'filePath':_0x22eb7a,'onProgress':async _0x47d722=>{const _0x43b2f4=_0x49883a;await redisHelper[_0x43b2f4(0x200)](_0x49fdd8,{'progress':Math[_0x43b2f4(0x1c5)](_0x47d722),'processed_rows':Math[_0x43b2f4(0x1c5)](_0x31a467[_0x43b2f4(0x22c)](_0x47d722,0x64)*_0x1d051f[_0x43b2f4(0x1ed)])});}}),_0x22eb7a;}async['getFilePath'](_0x3214c6){const _0x28e992=a0_0x152853,_0x407fcd={'uxlpJ':function(_0x2170f9,_0x40939f){return _0x2170f9!==_0x40939f;},'OESrB':'completed','gTIZx':function(_0x556c2c,_0x1481e2,_0x23e234,_0x5e7a02){return _0x556c2c(_0x1481e2,_0x23e234,_0x5e7a02);},'GiDjG':_0x28e992(0x20c)},_0x721195=await redisHelper['getJob'](_0x3214c6);if(!_0x721195||_0x407fcd['uxlpJ'](_0x721195[_0x28e992(0x1fb)],_0x407fcd['OESrB']))return null;try{return await fs[_0x28e992(0x21f)](_0x721195['file_path']),_0x721195[_0x28e992(0x1ef)];}catch(_0xfbc94){return _0x407fcd['gTIZx'](logError,_0xfbc94,{'event':'export_file_not_found','jobId':_0x3214c6,'path':_0x721195['file_path']},_0x407fcd[_0x28e992(0x1d2)]),null;}}async['cleanup'](){const _0x49e548=a0_0x152853,_0xf125dd={'xxZYL':'Starting\x20export\x20cleanup','gfagp':function(_0x48ece2,_0x5cb57e){return _0x48ece2-_0x5cb57e;},'fJfaK':function(_0x179214,_0x78ec77){return _0x179214*_0x78ec77;},'pxzAo':function(_0x201837,_0x3f2762){return _0x201837>_0x3f2762;}};logger['info']({'event':'export_cleanup_start'},_0xf125dd[_0x49e548(0x1a9)]);const _0x580b2b=await redisHelper[_0x49e548(0x22d)]();let _0x289246=0x0;for(const _0x309ca1 of _0x580b2b){const _0x34ec88=new Date(_0x309ca1[_0x49e548(0x1c1)]),_0x4576c1=new Date(),_0x484472=_0xf125dd['gfagp'](_0x4576c1,_0x34ec88)/_0xf125dd['fJfaK'](_0xf125dd['fJfaK'](0x3e8,0x3c),0x3c);if(_0xf125dd[_0x49e548(0x1b9)](_0x484472,0x1)){if(_0x309ca1[_0x49e548(0x1ef)])try{await fs['unlink'](_0x309ca1['file_path']),logger[_0x49e548(0x1f1)]({'event':_0x49e548(0x1d5),'path':_0x309ca1[_0x49e548(0x1ef)]},_0x49e548(0x210));}catch(_0x5e76a5){logger['warn']({'event':_0x49e548(0x1f0),'path':_0x309ca1[_0x49e548(0x1ef)],'error':_0x5e76a5[_0x49e548(0x1aa)]},_0x49e548(0x201));}await redisHelper[_0x49e548(0x216)](_0x309ca1['job_id']),_0x289246++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x289246},'Export\x20cleanup\x20completed'),_0x289246;}}function a0_0x3495(){const _0x239047=['mZi2mZyXv0fyCwz2','ywXS','z2v0sM9Iu3rHDhvZ','mJm1mZruEwHtz2K','y29SDw1UCW','zw50CMLLCW','ChjVy2vZC0PVyG','BgvUz3rO','svmGtLvmta','zMLSzv9WyxrO','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','Aw5MBW','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','zxHWB3j0x3nLCNzPy2vFAw5PDa','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','vxnPBMCG','su5YwMu','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','cIaGicbguK9nia','nZeWmwHfvevVqq','C3rHDhvZ','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','wuPmq2i','mtiYnZiXme54ANPTwa','BwfW','DxbKyxrLsM9I','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','y2f0y2G','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','BM93','zxHWB3j0CW','Bvbwq2q','zxHWB3j0x2zLDgnOx2vYCM9Y','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','teLlrq','D2fYBG','C3vIC3rYAw5N','rxHWB3j0igzPBguGBM90igzVDw5K','q2nyt1C','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','y29Kzq','rxHWB3j0igzPBguGzgvSzxrLza','tgPeAuK','x2rHDge','tK9uieXjs0u','zxHWB3j0rgLY','C3rYAw5N','zgvSzxrLsM9I','CMvWBgfJzq','id0G','cLDirvjfia','z2vUzxjHDgu','zgvMyxvSDa','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','y29TCgXLDgvK','x2v4Cg9YDerPCG','ywnJzxnZ','zMLLBgrmywjLBhm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','rejFvfLqrq','zw52','teL5qxC','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','swHhqNO','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','AM9PBG','tfbIA2S','z2v0qwXSsM9ICW','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','Dg9mB3DLCKnHC2u','Aw5JBhvKzxm','svmGtK9uie5vteW','vu53vNO','swjzB2G','Dw1QC1a','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','AM9Ix2LK','rK1YtKG','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','AxnbCNjHEq','l2fWAs8','C2fUAxrPEMvwywX1zq','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','z2v0sM9I','BKTNq04','v0Lusca','Cgf5Bg9Hza','rMfPBgvKihrVigzLDgnOigrHDge','BeHsCxe','yNvPBgrpCMrLCKj5q2XHDxnL','EhHAwuW','BwvZC2fNzq','rxHWB3j0igPVyIbJCMvHDgvK','Bw9KDwXLtMfTzq','vvbqrviO','zxHPC3rZu3LUyW','zMLSzw5HBwu','r2DQywS','ntuYmtiXmgT5uxfxsq','BNbiCMm','Cg9ZDgDYzxnXBa','ndK5ntmXnNDcuwTYzG','ndmXmM1NuwnfrW','ChjVy2vZC2LUzW','zxHWB3j0x2zHAwXLza','y3jLyxrLsM9I','ChH6qw8','y29UzgL0Aw9UCW','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','z2vUzxjHDgvfEgnLBa','mJf1yMfWDhK','CMvZB2X2zq','ruH3z3i','zw5KCg9PBNroyw1L','y3jLyxrLzf9HDa','Dg9ju09tDhjPBMC','rMnwENu','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','CM91BMq','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','zxHWB3j0x3bYB2nLC3nFzxjYB3i','BvPkwuW','CMvHzezPBgvtEw5J','zLP5Bw8','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','yNvPBgrxAgvYzunSyxvZzq','zMLSDgvY','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHWB3j0x2nVBxbSzxrLza','ze1Irfu','r2LeAKC','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','rwH4uNO','zxHWB3j0x2zPBgvFzgvSzxrLza','DxvPza','lI9LEgnLBc1Nzw5LCMf0B3i','q0LWBNe','B3nOwKS','z2vUzxjHDgvkB2jjza','ze1kDfC','y29TCgXLDgvKx2f0','lI4VlI4Vy29Yzs91DgLSCY9KyG','zxHJzwXFy29SDw1UC19MywXSyMfJAW','DhjPBq','rxHWB3j0igzHAwXLza','zxHLy3v0zvf1zxj5','CeXTwNy','mtaYAgnus1zy','s2fMsKi','mta2mdiYodbks2Lusw8'];a0_0x3495=function(){return _0x239047;};return a0_0x3495();}module[a0_0x152853(0x205)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x3875da=a0_0x341c;(function(_0x4b0ba6,_0x534956){const _0x5873b6=a0_0x341c,_0x9487f3=_0x4b0ba6();while(!![]){try{const _0x20468a=parseInt(_0x5873b6(0x113))/0x1*(-parseInt(_0x5873b6(0x127))/0x2)+-parseInt(_0x5873b6(0xf3))/0x3*(parseInt(_0x5873b6(0xf4))/0x4)+parseInt(_0x5873b6(0x124))/0x5+parseInt(_0x5873b6(0xf8))/0x6*(parseInt(_0x5873b6(0x10f))/0x7)+parseInt(_0x5873b6(0x111))/0x8+-parseInt(_0x5873b6(0x125))/0x9*(-parseInt(_0x5873b6(0x106))/0xa)+-parseInt(_0x5873b6(0xfc))/0xb;if(_0x20468a===_0x534956)break;else _0x9487f3['push'](_0x9487f3['shift']());}catch(_0x34442a){_0x9487f3['push'](_0x9487f3['shift']());}}}(a0_0x1f4e,0x2f2a0));const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require(a0_0x3875da(0x10e));function a0_0x341c(_0x4348b0,_0x5efed2){_0x4348b0=_0x4348b0-0xf2;const _0x1f4e7d=a0_0x1f4e();let _0x341c11=_0x1f4e7d[_0x4348b0];if(a0_0x341c['MuMYdn']===undefined){var _0x2c6024=function(_0x3e11e1){const _0x2ebaa5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x76e6ef='',_0x362034='';for(let _0x3d2753=0x0,_0x558a3b,_0x4e3505,_0x4c4211=0x0;_0x4e3505=_0x3e11e1['charAt'](_0x4c4211++);~_0x4e3505&&(_0x558a3b=_0x3d2753%0x4?_0x558a3b*0x40+_0x4e3505:_0x4e3505,_0x3d2753++%0x4)?_0x76e6ef+=String['fromCharCode'](0xff&_0x558a3b>>(-0x2*_0x3d2753&0x6)):0x0){_0x4e3505=_0x2ebaa5['indexOf'](_0x4e3505);}for(let _0x4332a9=0x0,_0x43c11b=_0x76e6ef['length'];_0x4332a9<_0x43c11b;_0x4332a9++){_0x362034+='%'+('00'+_0x76e6ef['charCodeAt'](_0x4332a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x362034);};a0_0x341c['txxwQK']=_0x2c6024,a0_0x341c['yeyBNi']={},a0_0x341c['MuMYdn']=!![];}const _0x418907=_0x1f4e7d[0x0],_0x3906b7=_0x4348b0+_0x418907,_0x4541d0=a0_0x341c['yeyBNi'][_0x3906b7];return!_0x4541d0?(_0x341c11=a0_0x341c['txxwQK'](_0x341c11),a0_0x341c['yeyBNi'][_0x3906b7]=_0x341c11):_0x341c11=_0x4541d0,_0x341c11;}class ExportHandler{static['registerRoutes'](_0x3dff7b,_0x1c3e92,_0x42b893,_0x537dd2){const _0x1dcd7c=a0_0x3875da,_0x525d31={'SLucD':_0x1dcd7c(0x12e),'BfeMT':_0x1dcd7c(0x118),'HasXa':_0x1dcd7c(0x10b)},_0x4cfc2d=_0x1dcd7c(0x103)+_0x1c3e92+'/'+_0x42b893;_0x3dff7b[_0x1dcd7c(0x11a)](_0x4cfc2d+_0x1dcd7c(0xf5),async(_0x275628,_0x2d58c9)=>{const _0x4f8e2f=_0x1dcd7c;try{await this[_0x4f8e2f(0x107)](_0x275628,_0x2d58c9,_0x537dd2,_0x1c3e92,_0x42b893);}catch(_0x15c22d){logError(_0x15c22d,{'event':_0x4f8e2f(0x121)},_0x525d31[_0x4f8e2f(0x12d)]),_0x2d58c9[_0x4f8e2f(0x102)](0x1f4)['json']({'success':![],'error':_0x15c22d[_0x4f8e2f(0xfa)]});}}),_0x3dff7b['get'](_0x4cfc2d+_0x1dcd7c(0xf9),async(_0xed8195,_0x95e8f4)=>{const _0x48ede0=_0x1dcd7c;try{await this['handleExportStatus'](_0xed8195,_0x95e8f4);}catch(_0x4e3885){logError(_0x4e3885,{'event':_0x525d31[_0x48ede0(0x12b)]},'Failed\x20to\x20get\x20export\x20status'),_0x95e8f4['status'](0x1f4)['json']({'success':![],'error':_0x4e3885['message']});}}),_0x3dff7b[_0x1dcd7c(0xf7)](_0x4cfc2d+_0x1dcd7c(0x12c),async(_0xbf4239,_0x326fdd)=>{const _0x1f93ac=_0x1dcd7c;try{await this['handleExportDownload'](_0xbf4239,_0x326fdd);}catch(_0x41fc09){logError(_0x41fc09,{'event':'export_download_error'},_0x525d31['HasXa']),!_0x326fdd[_0x1f93ac(0xff)]&&_0x326fdd[_0x1f93ac(0x102)](0x1f4)[_0x1f93ac(0x116)]({'success':![],'error':_0x41fc09['message']});}});}static async['handleExportTrigger'](_0x5ed376,_0x599b30,_0x211ac6,_0x3949b3,_0x335ce7){const _0x45771f=a0_0x3875da,_0x59fad3={'xaYxI':function(_0x1c9417,_0x46dfd4){return _0x1c9417!==_0x46dfd4;},'IxTup':_0x45771f(0x108),'WTPIC':'Only\x20xlsx\x20format\x20is\x20supported','WTJNN':_0x45771f(0x114),'FFKBT':'Invalid\x20where\x20field','TdwWI':_0x45771f(0x104),'XNnsM':'-export','OUntY':function(_0x2b0a90,_0x63098f){return _0x2b0a90||_0x63098f;}},{format:_0xef963b,filename:_0x17bfa4,columns:_0x4a69e9,where:_0x33ea68,sort_columns:_0x2b4850}=_0x5ed376[_0x45771f(0x131)];if(_0xef963b&&_0x59fad3['xaYxI'](_0xef963b,_0x59fad3[_0x45771f(0x109)]))return _0x599b30[_0x45771f(0x102)](0x190)[_0x45771f(0x116)]({'success':![],'error':_0x59fad3['WTPIC']});if(_0x33ea68){if(!_0x33ea68['logic']||!_0x33ea68['conditions']||!Array[_0x45771f(0x126)](_0x33ea68[_0x45771f(0x11e)]))return _0x599b30[_0x45771f(0x102)](0x190)['json']({'success':![],'error':_0x45771f(0x129)});}if(_0x2b4850){if(!Array[_0x45771f(0x126)](_0x2b4850))return _0x599b30['status'](0x190)['json']({'success':![],'error':_0x59fad3['WTJNN']});}const _0x38b053=_0x211ac6[_0x45771f(0x117)]||[];if(_0x33ea68&&Array['isArray'](_0x33ea68['conditions']))for(const _0x52cf0a of _0x33ea68[_0x45771f(0x11e)]){if(_0x52cf0a[_0x45771f(0x10a)]&&!_0x38b053[_0x45771f(0x128)](_0x52cf0a[_0x45771f(0x10a)]))return _0x599b30[_0x45771f(0x102)](0x190)[_0x45771f(0x116)]({'success':![],'error':_0x59fad3['FFKBT'],'message':_0x45771f(0x130)+_0x52cf0a[_0x45771f(0x10a)]+_0x45771f(0x10c),'validFields':_0x38b053});}if(Array['isArray'](_0x2b4850))for(const _0x2011ab of _0x2b4850){if(_0x2011ab[_0x45771f(0xf2)]&&!_0x38b053['includes'](_0x2011ab[_0x45771f(0xf2)]))return _0x599b30['status'](0x190)[_0x45771f(0x116)]({'success':![],'error':_0x59fad3['TdwWI'],'message':'Column\x20\x22'+_0x2011ab[_0x45771f(0xf2)]+'\x22\x20is\x20not\x20allowed','validFields':_0x38b053});}const _0x2c72f4=_0x211ac6['tableName']['replace']('.','-')+_0x59fad3[_0x45771f(0x110)],_0x2ca90a=await exportService[_0x45771f(0x123)]({'moduleName':_0x3949b3,'endpointName':_0x335ce7,'tableName':_0x211ac6[_0x45771f(0x122)],'format':_0x59fad3[_0x45771f(0xfd)](_0xef963b,'xlsx'),'filename':_0x59fad3['OUntY'](_0x17bfa4,_0x2c72f4),'columns':_0x4a69e9||_0x211ac6['columns'],'exportQuery':_0x211ac6[_0x45771f(0x120)]||null,'columnFormats':_0x211ac6[_0x45771f(0x100)]||null,'fieldLabels':_0x211ac6[_0x45771f(0x119)]||null,'where':_0x33ea68||null,'sort_columns':_0x2b4850||null});_0x599b30[_0x45771f(0x116)]({'success':!![],'data':_0x2ca90a});}static async['handleExportStatus'](_0x4109f3,_0x2e2413){const _0x141ba6=a0_0x3875da,_0xe12c98={'QJhjx':'job_id\x20parameter\x20is\x20required'},{job_id:_0x12e8c0}=_0x4109f3[_0x141ba6(0x11c)];if(!_0x12e8c0)return _0x2e2413['status'](0x190)['json']({'success':![],'error':_0xe12c98['QJhjx']});const _0x50416a=await exportService['getJobStatus'](_0x12e8c0);if(!_0x50416a['success'])return _0x2e2413[_0x141ba6(0x102)](0x194)['json'](_0x50416a);_0x2e2413[_0x141ba6(0x116)](_0x50416a);}static async[a0_0x3875da(0x11b)](_0x175b81,_0x11328e){const _0x35e82b=a0_0x3875da,_0x28a4d9={'mxnbE':_0x35e82b(0xfb),'ochYB':'export_downloaded','Nvbbh':_0x35e82b(0xf6),'HzcOL':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'},{job_id:_0x5b1baf}=_0x175b81[_0x35e82b(0x11c)];if(!_0x5b1baf)return _0x11328e['status'](0x190)[_0x35e82b(0x116)]({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x5d572e=await exportService[_0x35e82b(0x101)](_0x5b1baf);if(!_0x5d572e)return _0x11328e[_0x35e82b(0x102)](0x194)['json']({'success':![],'error':_0x28a4d9[_0x35e82b(0x112)]});_0x11328e[_0x35e82b(0x11f)](_0x5d572e,''+path[_0x35e82b(0x115)](_0x5d572e),_0x54ce6d=>{const _0x563d24=_0x35e82b;_0x54ce6d?(logError(_0x54ce6d,{'event':_0x28a4d9['mxnbE'],'jobId':_0x5b1baf},_0x563d24(0x10d)),!_0x11328e['headersSent']&&_0x11328e[_0x563d24(0x102)](0x1f4)[_0x563d24(0x116)]({'success':![],'error':_0x563d24(0xfe)})):logger['info']({'event':_0x28a4d9[_0x563d24(0x11d)],'jobId':_0x5b1baf},_0x28a4d9['Nvbbh']);});}static[a0_0x3875da(0x12f)](_0x142750){const _0x21f0cf=a0_0x3875da,_0x44daf3={'flHQy':_0x21f0cf(0x12a)};_0x142750['get']('/api/admin/export-cleanup',async(_0x3dc4c7,_0x346900)=>{const _0x3af45c=_0x21f0cf;try{const _0x35b5f5=await exportService['cleanup']();_0x346900[_0x3af45c(0x116)]({'success':!![],'data':{'deleted':_0x35b5f5,'message':_0x44daf3[_0x3af45c(0x105)]}});}catch(_0x21a7c8){logError(_0x21a7c8,{'event':'cleanup_error'},'Cleanup\x20failed'),_0x346900['status'](0x1f4)[_0x3af45c(0x116)]({'success':![],'error':_0x21a7c8[_0x3af45c(0xfa)]});}});}}function a0_0x1f4e(){const _0x382deb=['mJbXwLndvNO','AgfUzgXLrxHWB3j0vhjPz2DLCG','EgXZEa','sxHuDxa','A2v5','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','iIbPCYbUB3qGywXSB3DLza','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','Cgf0Aa','mJi4odu4n2XkzMHrEG','we5UC00','mJC3otK0nfLNBM5Uqq','shPJt0W','oduZA2Lntgvx','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','yMfZzw5HBwu','ANnVBG','y29SDw1UCW','zxHWB3j0x3n0yxr1C19LCNjVCG','zMLLBgrmywjLBhm','Cg9ZDa','AgfUzgXLrxHWB3j0rg93BMXVywq','CxvLCNK','B2nOwui','y29UzgL0Aw9UCW','zg93BMXVywq','zxHWB3j0uxvLCNK','zxHWB3j0x3rYAwDNzxjFzxjYB3i','DgfIBgvoyw1L','y3jLyxrLsM9I','mtm5nJy1mefkvvLzAq','otm3mZqXEgzMq3zY','AxnbCNjHEq','nZy0EeLjqKHX','Aw5JBhvKzxm','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','q2XLyw51CcbJB21WBgv0zwq','qMzLtvq','l2v4Cg9YDc1KB3DUBg9Hza','u0X1y0q','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','CMvNAxn0zxjdBgvHBNvWuM91Dgu','rMLLBgqGiG','yM9KEq','y29SDw1U','mZiZn3bjq3fQqq','mJG0vvn0vejK','l2v4Cg9YDa','rxHWB3j0igzPBguGzg93BMXVywrLzcbZDwnJzxnZzNvSBhK','z2v0','nNvOEKDkwG','l2v4Cg9YDc1ZDgf0Dxm','BwvZC2fNzq','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','nJiZmdy1m3nhB1josG','t1vUDfK','rMfPBgvKihrVigrVD25SB2fKigzPBgu','AgvHzgvYC1nLBNq','y29SDw1UrM9YBwf0CW','z2v0rMLSzvbHDgG','C3rHDhvZ','l2fWAs8','sw52ywXPzcbZB3j0ignVBhvTBG','zMXiuxK'];a0_0x1f4e=function(){return _0x382deb;};return a0_0x1f4e();}module['exports']=ExportHandler;
1
+ const a0_0x59ed66=a0_0x52fa;(function(_0x308134,_0x17f3a1){const _0x3551be=a0_0x52fa,_0x41f22a=_0x308134();while(!![]){try{const _0x79c810=-parseInt(_0x3551be(0x11b))/0x1+-parseInt(_0x3551be(0x11a))/0x2+-parseInt(_0x3551be(0x130))/0x3*(parseInt(_0x3551be(0x145))/0x4)+parseInt(_0x3551be(0x129))/0x5+-parseInt(_0x3551be(0x124))/0x6+parseInt(_0x3551be(0x131))/0x7+parseInt(_0x3551be(0x113))/0x8;if(_0x79c810===_0x17f3a1)break;else _0x41f22a['push'](_0x41f22a['shift']());}catch(_0x520bae){_0x41f22a['push'](_0x41f22a['shift']());}}}(a0_0x2aad,0x2427d));const exportService=require(a0_0x59ed66(0x143)),{logger,logError}=require('../../utils/logger'),path=require(a0_0x59ed66(0x137));function a0_0x2aad(){const _0x3bfcfa=['Axj0Axy','z2v0sM9Iu3rHDhvZ','l2fWAs8','Cgf0Aa','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','y3jLyxrLsM9I','C3rHDhvZ','y2XLyw51Ca','rezftNO','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza','sw52ywXPzcbZB3j0ignVBhvTBG','y29UzgL0Aw9UCW','l2fWAs9Hzg1PBI9LEhbVCNqTy2XLyw51Ca','z2v0','lI4VlI4VC2vYDMLJzxmVzxHWB3j0lxnLCNzPy2u','zxHWB3j0x3rYAwDNzxjFzxjYB3i','mtjVrgz3ueu','q29SDw1Uici','B0LPrNm','EgXZEa','zg93BMXVywq','zxHWB3j0x2rVD25SB2fKzwq','Bgzkvw0','AgfUzgXLrxHWB3j0u3rHDhvZ','q2XLyw51CcbJB21WBgv0zwq','iIbPCYbUB3qGywXSB3DLza','A2v5','mZi3odu0nePrreHruG','l2v4Cg9YDc1ZDgf0Dxm','rxHWB3j0igzPBguGzg93BMXVywrLzcbZDwnJzxnZzNvSBhK','wu1MCLa','AgvHzgvYC1nLBNq','AgfUzgXLrxHWB3j0rg93BMXVywq','yKjbD1y','mJi3mJKYuuXvs3vV','mtq4mZe4B21fEhn6','ANnVBG','Cg9ZDa','CMvNAxn0zxjdBgvHBNvWuM91Dgu','DgfIBgvoyw1L','svbZs1G','y29SDw1U','EgTeqK0','rMLLBgqGiG','mtK5mZmYEeruwxjY','rhLTruS','BwvZC2fNzq','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','y29SDw1UCW','mJK1otC1rM12s0PU','sw52ywXPzcb3AgvYzsbMAwvSza','AxnbCNjHEq','Aw5JBhvKzxm','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','EfDSAMy','mtu1nJuYDNvIzuvh','ota5ndi2vej5vLDf','z2PLC0m','y2XLyw51Cf9LCNjVCG'];a0_0x2aad=function(){return _0x3bfcfa;};return a0_0x2aad();}class ExportHandler{static['registerRoutes'](_0x344c99,_0xed03fb,_0x168bfb,_0x531bc6){const _0x2b5c96=a0_0x59ed66,_0x208219={'gjesC':function(_0x221d5e,_0x58e0f6,_0x2e1a8a,_0x26a01f){return _0x221d5e(_0x58e0f6,_0x2e1a8a,_0x26a01f);},'oAGFk':'export_status_error','iGjeB':'Failed\x20to\x20get\x20export\x20status','xkDBM':function(_0x440454,_0x3cd8f4,_0x540cdb,_0x286c00){return _0x440454(_0x3cd8f4,_0x540cdb,_0x286c00);},'irtiv':'Failed\x20to\x20download\x20export'},_0x1220f7=_0x2b5c96(0x136)+_0xed03fb+'/'+_0x168bfb;_0x344c99[_0x2b5c96(0x11d)](_0x1220f7+'/export',async(_0x30416e,_0x3c2225)=>{const _0x4db97d=_0x2b5c96;try{await this['handleExportTrigger'](_0x30416e,_0x3c2225,_0x531bc6,_0xed03fb,_0x168bfb);}catch(_0x5c390b){_0x208219[_0x4db97d(0x132)](logError,_0x5c390b,{'event':_0x4db97d(0x144)},_0x4db97d(0x12d)),_0x3c2225['status'](0x1f4)['json']({'success':![],'error':_0x5c390b['message']});}}),_0x344c99[_0x2b5c96(0x142)](_0x1220f7+_0x2b5c96(0x114),async(_0x588310,_0x125f0b)=>{const _0x4ce3aa=_0x2b5c96;try{await this[_0x4ce3aa(0x10f)](_0x588310,_0x125f0b);}catch(_0x211212){logError(_0x211212,{'event':_0x208219['oAGFk']},_0x208219['iGjeB']),_0x125f0b['status'](0x1f4)['json']({'success':![],'error':_0x211212[_0x4ce3aa(0x126)]});}}),_0x344c99['get'](_0x1220f7+'/export-download',async(_0x40b5fd,_0xc0162f)=>{const _0x3051bf=_0x2b5c96;try{await this[_0x3051bf(0x118)](_0x40b5fd,_0xc0162f);}catch(_0x57bd6a){_0x208219[_0x3051bf(0x122)](logError,_0x57bd6a,{'event':_0x3051bf(0x127)},_0x208219[_0x3051bf(0x134)]),!_0xc0162f['headersSent']&&_0xc0162f['status'](0x1f4)['json']({'success':![],'error':_0x57bd6a['message']});}});}static async['handleExportTrigger'](_0x33d2c9,_0x1155fb,_0x18f0e0,_0x8ebe9c,_0x5861ea){const _0x2db796=a0_0x59ed66,_0x13c624={'DFENz':_0x2db796(0x10b),'BktnK':'Invalid\x20where\x20structure.\x20Expected:\x20{\x20logic:\x20\x22AND|OR\x22,\x20conditions:\x20[...]\x20}','IPsKX':_0x2db796(0x12e),'oIiFs':_0x2db796(0x12a),'bBAwV':function(_0x339574,_0x210de6){return _0x339574+_0x210de6;},'YMfrP':function(_0x4e4df2,_0x313bc6){return _0x4e4df2||_0x313bc6;}},{format:_0x3701c8,filename:_0x1b6a70,columns:_0x2a2bfb,where:_0x4ea689,sort_columns:_0x130d11}=_0x33d2c9['body'];if(_0x3701c8&&_0x3701c8!==_0x13c624[_0x2db796(0x13d)])return _0x1155fb['status'](0x190)['json']({'success':![],'error':_0x2db796(0x138)});if(_0x4ea689){if(!_0x4ea689['logic']||!_0x4ea689['conditions']||!Array[_0x2db796(0x12b)](_0x4ea689[_0x2db796(0x140)]))return _0x1155fb[_0x2db796(0x13b)](0x190)[_0x2db796(0x11c)]({'success':![],'error':_0x13c624['BktnK']});}if(_0x130d11){if(!Array[_0x2db796(0x12b)](_0x130d11))return _0x1155fb['status'](0x190)[_0x2db796(0x11c)]({'success':![],'error':_0x13c624[_0x2db796(0x120)]});}const _0x405e4b=_0x18f0e0[_0x2db796(0x128)]||[];if(_0x4ea689&&Array['isArray'](_0x4ea689[_0x2db796(0x140)]))for(const _0x46abeb of _0x4ea689['conditions']){if(_0x46abeb['key']&&!_0x405e4b[_0x2db796(0x12c)](_0x46abeb['key']))return _0x1155fb['status'](0x190)['json']({'success':![],'error':_0x13c624[_0x2db796(0x10a)],'message':_0x2db796(0x123)+_0x46abeb[_0x2db796(0x112)]+'\x22\x20is\x20not\x20allowed','validFields':_0x405e4b});}if(Array['isArray'](_0x130d11))for(const _0x2be38e of _0x130d11){if(_0x2be38e[_0x2db796(0x121)]&&!_0x405e4b[_0x2db796(0x12c)](_0x2be38e['column']))return _0x1155fb[_0x2db796(0x13b)](0x190)[_0x2db796(0x11c)]({'success':![],'error':_0x2db796(0x13f),'message':_0x2db796(0x109)+_0x2be38e[_0x2db796(0x121)]+_0x2db796(0x111),'validFields':_0x405e4b});}const _0x50d29a=_0x13c624[_0x2db796(0x119)](_0x18f0e0['tableName']['replace']('.','-'),'-export'),_0x1405e5=await exportService[_0x2db796(0x13a)]({'moduleName':_0x8ebe9c,'endpointName':_0x5861ea,'tableName':_0x18f0e0[_0x2db796(0x11f)],'format':_0x13c624[_0x2db796(0x116)](_0x3701c8,_0x13c624['DFENz']),'filename':_0x1b6a70||_0x50d29a,'columns':_0x2a2bfb||_0x18f0e0[_0x2db796(0x128)],'exportQuery':_0x18f0e0['exportQuery']||null,'columnFormats':_0x18f0e0['columnFormats']||null,'fieldLabels':_0x18f0e0['fieldLabels']||null,'where':_0x4ea689||null,'sort_columns':_0x130d11||null});_0x1155fb['json']({'success':!![],'data':_0x1405e5});}static async['handleExportStatus'](_0x27e518,_0x480329){const _0x252c97=a0_0x59ed66,_0x151dd1={'Ljuto':_0x252c97(0x13e)},{job_id:_0x58b5ca}=_0x27e518['query'];if(!_0x58b5ca)return _0x480329['status'](0x190)['json']({'success':![],'error':_0x151dd1['Ljuto']});const _0x33db36=await exportService[_0x252c97(0x135)](_0x58b5ca);if(!_0x33db36['success'])return _0x480329['status'](0x194)['json'](_0x33db36);_0x480329[_0x252c97(0x11c)](_0x33db36);}static async['handleExportDownload'](_0x4db2a0,_0x4efcc0){const _0x28ea00=a0_0x59ed66,_0x21fbad={'MbYUB':'Failed\x20to\x20download\x20file','NMlSi':_0x28ea00(0x10d),'xWljf':'job_id\x20parameter\x20is\x20required'},{job_id:_0x286ce7}=_0x4db2a0['query'];if(!_0x286ce7)return _0x4efcc0[_0x28ea00(0x13b)](0x190)['json']({'success':![],'error':_0x21fbad[_0x28ea00(0x12f)]});const _0x4400a8=await exportService['getFilePath'](_0x286ce7);if(!_0x4400a8)return _0x4efcc0['status'](0x194)[_0x28ea00(0x11c)]({'success':![],'error':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'});_0x4efcc0[_0x28ea00(0x10c)](_0x4400a8,''+path['basename'](_0x4400a8),_0x52b728=>{const _0x4bed0b=_0x28ea00;_0x52b728?(logError(_0x52b728,{'event':_0x4bed0b(0x127),'jobId':_0x286ce7},_0x4bed0b(0x139)),!_0x4efcc0[_0x4bed0b(0x117)]&&_0x4efcc0[_0x4bed0b(0x13b)](0x1f4)['json']({'success':![],'error':_0x21fbad['MbYUB']})):logger['info']({'event':_0x21fbad['NMlSi'],'jobId':_0x286ce7},_0x4bed0b(0x115));});}static[a0_0x59ed66(0x11e)](_0x248100){const _0x33cd60=a0_0x59ed66,_0x2dd3ff={'DymEK':_0x33cd60(0x110),'lfJUm':_0x33cd60(0x133)};_0x248100['get'](_0x33cd60(0x141),async(_0x16ebbc,_0x4a584e)=>{const _0x1772fe=_0x33cd60;try{const _0x2b8351=await exportService[_0x1772fe(0x13c)]();_0x4a584e['json']({'success':!![],'data':{'deleted':_0x2b8351,'message':_0x2dd3ff[_0x1772fe(0x125)]}});}catch(_0x345626){logError(_0x345626,{'event':_0x2dd3ff[_0x1772fe(0x10e)]},'Cleanup\x20failed'),_0x4a584e['status'](0x1f4)[_0x1772fe(0x11c)]({'success':![],'error':_0x345626[_0x1772fe(0x126)]});}});}}function a0_0x52fa(_0x1ffe1b,_0x40ccae){_0x1ffe1b=_0x1ffe1b-0x109;const _0x2aade9=a0_0x2aad();let _0x52fa80=_0x2aade9[_0x1ffe1b];if(a0_0x52fa['aHmMqb']===undefined){var _0x15227e=function(_0x17ee15){const _0x3fb9e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a66f9='',_0x3c8115='';for(let _0x4cdf24=0x0,_0x16be61,_0x50209b,_0x1bc397=0x0;_0x50209b=_0x17ee15['charAt'](_0x1bc397++);~_0x50209b&&(_0x16be61=_0x4cdf24%0x4?_0x16be61*0x40+_0x50209b:_0x50209b,_0x4cdf24++%0x4)?_0x2a66f9+=String['fromCharCode'](0xff&_0x16be61>>(-0x2*_0x4cdf24&0x6)):0x0){_0x50209b=_0x3fb9e9['indexOf'](_0x50209b);}for(let _0x245a50=0x0,_0x14cd8a=_0x2a66f9['length'];_0x245a50<_0x14cd8a;_0x245a50++){_0x3c8115+='%'+('00'+_0x2a66f9['charCodeAt'](_0x245a50)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c8115);};a0_0x52fa['stJGpt']=_0x15227e,a0_0x52fa['JzHZNi']={},a0_0x52fa['aHmMqb']=!![];}const _0x95849d=_0x2aade9[0x0],_0x2dccc3=_0x1ffe1b+_0x95849d,_0xe3be33=a0_0x52fa['JzHZNi'][_0x2dccc3];return!_0xe3be33?(_0x52fa80=a0_0x52fa['stJGpt'](_0x52fa80),a0_0x52fa['JzHZNi'][_0x2dccc3]=_0x52fa80):_0x52fa80=_0xe3be33,_0x52fa80;}module['exports']=ExportHandler;