@restforgejs/platform 5.0.3 → 5.0.9

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 (182) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +1 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/cli/processor/create.js +1 -1
  7. package/generators/lib/dbschema-kit/apply-executor.js +15 -1
  8. package/generators/lib/dbschema-kit/connection.js +17 -2
  9. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  10. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  11. package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
  12. package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
  13. package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
  14. package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
  15. package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
  16. package/generators/lib/payload/payload-runner.js +44 -2
  17. package/generators/lib/payload/schema-diff.js +31 -1
  18. package/generators/lib/templates/dashboard-catalog.js +1 -1
  19. package/generators/lib/templates/db-connection-env.js +1 -1
  20. package/generators/lib/templates/dbschema-catalog.js +1 -1
  21. package/generators/lib/templates/field-validation-catalog.js +1 -1
  22. package/generators/lib/templates/mysql-template.js +1 -1
  23. package/generators/lib/templates/oracle-template.js +1 -1
  24. package/generators/lib/templates/postgres-template.js +1 -1
  25. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  26. package/generators/lib/templates/sqlite-template.js +1 -1
  27. package/generators/lib/utils/database-introspector.js +421 -7
  28. package/generators/lib/validators/argument-validator.js +2 -2
  29. package/integrity-manifest.json +18 -18
  30. package/package.json +4 -2
  31. package/scripts/verify-integrity.js +1 -1
  32. package/server.js +1 -1
  33. package/src/components/handlers/adjust_handler.js +1 -1
  34. package/src/components/handlers/audit_handler.js +1 -1
  35. package/src/components/handlers/delete_handler.js +1 -1
  36. package/src/components/handlers/export_handler.js +1 -1
  37. package/src/components/handlers/import_handler.js +1 -1
  38. package/src/components/handlers/insert_handler.js +1 -1
  39. package/src/components/handlers/update_handler.js +1 -1
  40. package/src/components/handlers/upload_handler.js +1 -1
  41. package/src/components/handlers/workflow_handler.js +1 -1
  42. package/src/components/integrations/webhook.js +1 -1
  43. package/src/consumers/baseConsumer.js +1 -1
  44. package/src/consumers/declarativeMapper.js +1 -1
  45. package/src/consumers/handlers/apiHandler.js +1 -1
  46. package/src/consumers/handlers/consoleHandler.js +1 -1
  47. package/src/consumers/handlers/databaseHandler.js +1 -1
  48. package/src/consumers/handlers/index.js +1 -1
  49. package/src/consumers/handlers/kafkaHandler.js +1 -1
  50. package/src/consumers/index.js +1 -1
  51. package/src/consumers/messageTransformer.js +1 -1
  52. package/src/consumers/validator.js +1 -1
  53. package/src/core/db/dialect/base-dialect.js +1 -1
  54. package/src/core/db/dialect/index.js +1 -1
  55. package/src/core/db/dialect/mysql-dialect.js +1 -1
  56. package/src/core/db/dialect/oracle-dialect.js +1 -1
  57. package/src/core/db/dialect/postgres-dialect.js +1 -1
  58. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  59. package/src/core/db/flatten-helper.js +1 -1
  60. package/src/core/db/query-builder-error.js +1 -1
  61. package/src/core/db/query-builder.js +1 -1
  62. package/src/core/db/relation-helper.js +1 -1
  63. package/src/core/handlers/delete_handler.js +1 -1
  64. package/src/core/handlers/insert_handler.js +1 -1
  65. package/src/core/handlers/update_handler.js +1 -1
  66. package/src/core/models/base-model.js +1 -1
  67. package/src/core/utils/cache-manager.js +1 -1
  68. package/src/core/utils/component-engine.js +1 -1
  69. package/src/core/utils/context-builder.js +1 -1
  70. package/src/core/utils/datetime-formatter.js +1 -1
  71. package/src/core/utils/datetime-parser.js +1 -1
  72. package/src/core/utils/db.js +1 -1
  73. package/src/core/utils/logger.js +1 -1
  74. package/src/core/utils/payload-loader.js +1 -1
  75. package/src/core/utils/security-checks.js +1 -1
  76. package/src/middleware/body-options.js +1 -1
  77. package/src/middleware/cors.js +1 -1
  78. package/src/middleware/idempotency.js +1 -1
  79. package/src/middleware/rate-limiter.js +1 -1
  80. package/src/middleware/request-logger.js +1 -1
  81. package/src/middleware/security-headers.js +1 -1
  82. package/src/models/base-model-mysql.js +1 -1
  83. package/src/models/base-model-oracle.js +1 -1
  84. package/src/models/base-model-sqlite.js +1 -1
  85. package/src/models/base-model.js +1 -1
  86. package/src/pro/caching/redis-client.js +1 -1
  87. package/src/pro/caching/redis-helper.js +1 -1
  88. package/src/pro/consumers/baseConsumer.js +1 -1
  89. package/src/pro/consumers/declarativeMapper.js +1 -1
  90. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  91. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  92. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  93. package/src/pro/consumers/handlers/index.js +1 -1
  94. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  95. package/src/pro/consumers/index.js +1 -1
  96. package/src/pro/consumers/messageTransformer.js +1 -1
  97. package/src/pro/consumers/validator.js +1 -1
  98. package/src/pro/database/base-model-mysql.js +1 -1
  99. package/src/pro/database/base-model-oracle.js +1 -1
  100. package/src/pro/database/base-model-sqlite.js +1 -1
  101. package/src/pro/database/db-mysql.js +1 -1
  102. package/src/pro/database/db-oracle.js +1 -1
  103. package/src/pro/database/db-sqlite.js +1 -1
  104. package/src/pro/excel/excel-generator.js +1 -1
  105. package/src/pro/excel/excel-parser.js +1 -1
  106. package/src/pro/excel/export-service.js +1 -1
  107. package/src/pro/excel/export_handler.js +1 -1
  108. package/src/pro/excel/import-service.js +1 -1
  109. package/src/pro/excel/import-validator.js +1 -1
  110. package/src/pro/excel/import_handler.js +1 -1
  111. package/src/pro/excel/upsert-builder.js +1 -1
  112. package/src/pro/idgen/idgen-routes.js +1 -1
  113. package/src/pro/integrations/lookup-resolver.js +1 -1
  114. package/src/pro/integrations/upload-handler-v2.js +1 -1
  115. package/src/pro/integrations/upload-handler.js +1 -1
  116. package/src/pro/integrations/webhook.js +1 -1
  117. package/src/pro/locking/lock-routes.js +1 -1
  118. package/src/pro/locking/resource-lock-manager.js +1 -1
  119. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  120. package/src/pro/messaging/kafkaService.js +1 -1
  121. package/src/pro/messaging/messagehubService.js +1 -1
  122. package/src/pro/messaging/rabbitmqService.js +1 -1
  123. package/src/pro/scheduler/job-manager.js +1 -1
  124. package/src/pro/scheduler/job-routes.js +1 -1
  125. package/src/pro/scheduler/job-validator.js +1 -1
  126. package/src/pro/storage/base-storage-provider.js +1 -1
  127. package/src/pro/storage/file-metadata-helper.js +1 -1
  128. package/src/pro/storage/index.js +1 -1
  129. package/src/pro/storage/local-storage-provider.js +1 -1
  130. package/src/pro/storage/s3-storage-provider.js +1 -1
  131. package/src/pro/storage/upload-cleanup-job.js +1 -1
  132. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  133. package/src/pro/storage/upload-pending-tracker.js +1 -1
  134. package/src/pro/websocket/broadcast-helper.js +1 -1
  135. package/src/pro/websocket/index.js +1 -1
  136. package/src/pro/websocket/livesync-server.js +1 -1
  137. package/src/pro/websocket/ws-broadcaster.js +1 -1
  138. package/src/services/export-service.js +1 -1
  139. package/src/services/import-service.js +1 -1
  140. package/src/services/kafkaConsumerService.js +1 -1
  141. package/src/services/kafkaService.js +1 -1
  142. package/src/services/messagehubService.js +1 -1
  143. package/src/services/rabbitmqService.js +1 -1
  144. package/src/utils/cache-invalidation-registry.js +1 -1
  145. package/src/utils/cache-manager.js +1 -1
  146. package/src/utils/component-engine.js +1 -1
  147. package/src/utils/config-extractor.js +1 -1
  148. package/src/utils/consumerLogger.js +1 -1
  149. package/src/utils/context-builder.js +1 -1
  150. package/src/utils/dashboard-helpers.js +1 -1
  151. package/src/utils/dateHelper.js +1 -1
  152. package/src/utils/datetime-formatter.js +1 -1
  153. package/src/utils/datetime-parser.js +1 -1
  154. package/src/utils/db-bootstrap.js +1 -1
  155. package/src/utils/db-mysql.js +1 -1
  156. package/src/utils/db-oracle.js +1 -1
  157. package/src/utils/db-sqlite.js +1 -1
  158. package/src/utils/db.js +1 -1
  159. package/src/utils/demo-generator.js +1 -1
  160. package/src/utils/excel-generator.js +1 -1
  161. package/src/utils/excel-parser.js +1 -1
  162. package/src/utils/file-watcher.js +1 -1
  163. package/src/utils/id-generator.js +1 -1
  164. package/src/utils/idempotency-manager.js +1 -1
  165. package/src/utils/import-validator.js +1 -1
  166. package/src/utils/license-client.js +1 -1
  167. package/src/utils/lock-manager.js +1 -1
  168. package/src/utils/logger.js +1 -1
  169. package/src/utils/lookup-resolver.js +1 -1
  170. package/src/utils/payload-loader.js +1 -1
  171. package/src/utils/processor-response.js +1 -1
  172. package/src/utils/rabbitmq.js +1 -1
  173. package/src/utils/redis-client.js +1 -1
  174. package/src/utils/redis-helper.js +1 -1
  175. package/src/utils/request-scope.js +1 -1
  176. package/src/utils/security-checks.js +1 -1
  177. package/src/utils/service-resolver.js +1 -1
  178. package/src/utils/shutdown-coordinator.js +1 -1
  179. package/src/utils/trusted-keys.js +1 -1
  180. package/src/utils/upload-handler.js +1 -1
  181. package/src/utils/upsert-builder.js +1 -1
  182. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x2fab23=a0_0xe40c;function a0_0xe40c(_0xb43f7d,_0x2492e8){_0xb43f7d=_0xb43f7d-0xed;const _0x19b31e=a0_0x19b3();let _0xe40cec=_0x19b31e[_0xb43f7d];if(a0_0xe40c['StMAwP']===undefined){var _0x470d16=function(_0x39b6bd){const _0x1da470='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f865='',_0x5e3a82='';for(let _0x8dda4f=0x0,_0x380f8f,_0x1d22c9,_0x3cb268=0x0;_0x1d22c9=_0x39b6bd['charAt'](_0x3cb268++);~_0x1d22c9&&(_0x380f8f=_0x8dda4f%0x4?_0x380f8f*0x40+_0x1d22c9:_0x1d22c9,_0x8dda4f++%0x4)?_0x36f865+=String['fromCharCode'](0xff&_0x380f8f>>(-0x2*_0x8dda4f&0x6)):0x0){_0x1d22c9=_0x1da470['indexOf'](_0x1d22c9);}for(let _0x5bf705=0x0,_0x8adc01=_0x36f865['length'];_0x5bf705<_0x8adc01;_0x5bf705++){_0x5e3a82+='%'+('00'+_0x36f865['charCodeAt'](_0x5bf705)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e3a82);};a0_0xe40c['FpJWUI']=_0x470d16,a0_0xe40c['xLWtsk']={},a0_0xe40c['StMAwP']=!![];}const _0x164543=_0x19b31e[0x0],_0x3a4e73=_0xb43f7d+_0x164543,_0x4478d=a0_0xe40c['xLWtsk'][_0x3a4e73];return!_0x4478d?(_0xe40cec=a0_0xe40c['FpJWUI'](_0xe40cec),a0_0xe40c['xLWtsk'][_0x3a4e73]=_0xe40cec):_0xe40cec=_0x4478d,_0xe40cec;}(function(_0x38eaad,_0x47f759){const _0x14c100=a0_0xe40c,_0x21ea4c=_0x38eaad();while(!![]){try{const _0x583f0b=parseInt(_0x14c100(0x108))/0x1+-parseInt(_0x14c100(0x126))/0x2+parseInt(_0x14c100(0x13a))/0x3*(parseInt(_0x14c100(0x12b))/0x4)+-parseInt(_0x14c100(0x120))/0x5+parseInt(_0x14c100(0x114))/0x6*(-parseInt(_0x14c100(0x14f))/0x7)+parseInt(_0x14c100(0x10d))/0x8*(-parseInt(_0x14c100(0x11c))/0x9)+parseInt(_0x14c100(0x12f))/0xa;if(_0x583f0b===_0x47f759)break;else _0x21ea4c['push'](_0x21ea4c['shift']());}catch(_0x1abd51){_0x21ea4c['push'](_0x21ea4c['shift']());}}}(a0_0x19b3,0x235bb));const oracledb=require(a0_0x2fab23(0x10e)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');oracledb[a0_0x2fab23(0xef)]=[oracledb['CLOB'],oracledb[a0_0x2fab23(0x14e)]],oracledb[a0_0x2fab23(0xf3)]=[oracledb['BLOB']];async function ensureNlsReady(_0x416c69){const _0x4077e2=a0_0x2fab23;if(_0x416c69['_nlsReady'])return;await _0x416c69['execute'](_0x4077e2(0x112)),await _0x416c69[_0x4077e2(0x13d)](_0x4077e2(0x111)),await _0x416c69[_0x4077e2(0x13d)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27'),_0x416c69[_0x4077e2(0x11a)]=!![];}function a0_0x19b3(){const _0x23132d=['z2v0q29UBMvJDgLVBG','mJm0mhL6vLDNCa','ruziyKW','y2XVC2vqB29S','rejFtKfnrq','ndC0nZy1vvvIAeHj','t1vux0zpuK1bvf9pqKPfq1q','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJCMvHDgvKihn1y2nLC3nMDwXSEq','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','vK5ez0C','mtu2nJbqwMHxzwy','r0zZv3a','rejFueftu1DpuKq','qKXpqG','CM93C0fMzMvJDgvK','ndbbCxbQCxy','Aw5MBW','zxHLy3v0zvrYyw5Zywn0Aw9U','y2XVC2u','ndyZnJK0meDYvNbewq','s0LOq0y','y29UzMLN','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','ihf1zxjPzxmP','DhjHBNnHy3rPB25Fy29TCgXLDgu','BwvZC2fNzq','s3D1Cu8','zKnMDg0','t3jHy2XLifnrtcbfCNjVCJOG','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','nJeYm25LwensrW','t2LyuuK','C0PtuK8','zxHLy3v0zq','vKzZBvy','rejFse9tva','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','Cg9VBe1PBG','zfrQDe0','wgvtsKC','zxHWB3j0CW','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','DMj0wuC','Cg9VBa','B3jHy2XLx3bVB2XFzxHPC3rZ','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','C3vIC3rYAw5N','Aw5PDgLHBgL6zvbVB2W','sgTrBg4','tKnmt0i','ndu1CfvOtejK','C3fSx2vYCM9Y','ChrNsuO','zgvIDwC','CgXxqLK','rvnWt0m','rejFue9sva','u3H0qvi','zMv0y2HbC1n0CMLUzW','zw52','rejFue9ptf9nqvG','B3jHy2XLx3bVB2XFy2XVC2LUzW','zMv0y2HbC0j1zMzLCG','mtuYmq','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','rhP1u3O','z2v0ug9VBfn0yxrPC3rPy3m','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','B3jHy2XLx3nODxrKB3DU','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','ChvZAa','BgvUz3rO','DgvZDenVBM5Ly3rPB24','Cg9VBefSAwfZ','tNzJAeC','DhjHBNnHy3rPB25FzxjYB3i','t2jxDfi','qwn0AxzL','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','zxHPDa','y29UBMvJDgLVBNnjBLvZzq','Cg9VBe1HEa','CM9SBgjHy2S','mJuZntqXtgP3qwXk','u0Lhsu5u','B3jHy2XL','rMH2rfu','Bg9JywXOB3n0','oda4ofHlt2PSzq','B3jHy2XLzgi','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','CM93CW','mJa5nZbRB2XxBgi','wejHDem','rejFue9ptf9usu1ft1vu','BxmSia','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','y29TBwL0','x25SC1jLywr5'];a0_0x19b3=function(){return _0x23132d;};return a0_0x19b3();}class OracleDatabase{constructor(){const _0x3cef3b=a0_0x2fab23,_0x3dc0ca={'ESpOC':function(_0x3209b6,_0x3f4fb6){return _0x3209b6(_0x3f4fb6);},'ObWtR':function(_0x555d19,_0x53669b){return _0x555d19(_0x53669b);},'XBatC':function(_0x1630a8,_0x1c6749){return _0x1630a8(_0x1c6749);}};this['pool']=null,this[_0x3cef3b(0x131)]={'user':process['env']['DB_USER']||'hr','password':process['env'][_0x3cef3b(0x128)]||'hr','connectString':this['buildConnectionString'](),'poolMin':_0x3dc0ca[_0x3cef3b(0x154)](parseInt,process[_0x3cef3b(0xf0)]['DB_POOL_MIN'])||0x2,'poolMax':_0x3dc0ca['ESpOC'](parseInt,process['env'][_0x3cef3b(0xf1)])||0xa,'poolIncrement':_0x3dc0ca[_0x3cef3b(0x101)](parseInt,process['env']['DB_POOL_INCREMENT'])||0x1,'poolTimeout':_0x3dc0ca[_0x3cef3b(0x115)](parseInt,process['env'][_0x3cef3b(0x116)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x3cef3b(0x14e)]],'fetchAsBuffer':[oracledb[_0x3cef3b(0x129)]]},_0x3dc0ca[_0x3cef3b(0x154)](logDatabaseConfig,{'host':process['env'][_0x3cef3b(0x13f)]||'localhost','port':process[_0x3cef3b(0xf0)]['DB_PORT']||'1521','database':process[_0x3cef3b(0xf0)][_0x3cef3b(0x11f)]||'XE','type':'oracle','user':this[_0x3cef3b(0x131)]['user'],'poolMin':this[_0x3cef3b(0x131)][_0x3cef3b(0x141)],'poolMax':this['config'][_0x3cef3b(0x106)]});}[a0_0x2fab23(0x118)](){const _0x16c2db=a0_0x2fab23,_0x142651={'wzCcs':_0x16c2db(0x10c),'ptgIJ':'oracle_connection_string'},_0x168eee=process[_0x16c2db(0xf0)]['DB_HOST']||_0x142651['wzCcs'],_0x2a1ccf=process[_0x16c2db(0xf0)][_0x16c2db(0xed)]||_0x16c2db(0xf4),_0x4a8afb=process['env']['DB_NAME']||'XE',_0x45a76c='//'+_0x168eee+':'+_0x2a1ccf+'/'+_0x4a8afb;return logger['debug']({'event':_0x142651[_0x16c2db(0x151)],'connectionString':_0x45a76c},'Oracle\x20Connection\x20String:\x20'+_0x45a76c),_0x45a76c;}async[a0_0x2fab23(0x14c)](){const _0x4da0a7=a0_0x2fab23,_0x538e08={'oLzaF':'1|3|0|2|4','VFsmV':_0x4da0a7(0x10f),'kXHDR':'oracle_pool_creating','KIhCF':'Creating\x20Oracle\x20connection\x20pool...','VNDgG':function(_0x69c92b,_0x3643ea,_0x8b03a,_0x2dba22){return _0x69c92b(_0x3643ea,_0x8b03a,_0x2dba22);},'XeSJG':'oracle_pool_error'};try{const _0x4eaa99=_0x538e08['oLzaF']['split']('|');let _0x5d68f4=0x0;while(!![]){switch(_0x4eaa99[_0x5d68f4++]){case'0':this['pool']=await oracledb['createPool'](this['config']);continue;case'1':if(this['pool']){logger['debug']({'event':_0x4da0a7(0x148)},_0x538e08[_0x4da0a7(0x13e)]);return;}continue;case'2':logger[_0x4da0a7(0x12c)]({'event':'oracle_pool_created'},_0x4da0a7(0x122));continue;case'3':logger[_0x4da0a7(0x12c)]({'event':_0x538e08['kXHDR']},_0x538e08[_0x4da0a7(0x130)]);continue;case'4':await this[_0x4da0a7(0xfd)]();continue;}break;}}catch(_0x3cb83a){_0x538e08[_0x4da0a7(0x125)](logError,_0x3cb83a,{'event':_0x538e08[_0x4da0a7(0x143)]},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x3cb83a[_0x4da0a7(0x135)]);throw _0x3cb83a;}}async[a0_0x2fab23(0xfd)](){const _0x4eb635=a0_0x2fab23,_0x545895={'OiXQI':_0x4eb635(0x110),'wGCtj':'SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL','auWWf':_0x4eb635(0x140),'GFsWp':function(_0x426e79,_0x1a4564,_0x8de056,_0x2eada5){return _0x426e79(_0x1a4564,_0x8de056,_0x2eada5);},'WmGgE':_0x4eb635(0x124)};let _0xdb8549;try{logger[_0x4eb635(0x152)]({'event':_0x4eb635(0xf5)},_0x545895[_0x4eb635(0x13b)]),_0xdb8549=await this['pool'][_0x4eb635(0x11b)](),await ensureNlsReady(_0xdb8549);const _0x167805=await _0xdb8549['execute'](_0x545895['wGCtj']);logger['info']({'event':_0x545895['auWWf'],'currentDate':_0x167805[_0x4eb635(0x113)][0x0][0x0],'currentUser':_0x167805['rows'][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x167805['rows'][0x0][0x1]);}catch(_0x508783){logError(_0x508783,{'event':'oracle_connection_test_failed'},_0x4eb635(0x149)+_0x508783['message']);throw _0x508783;}finally{if(_0xdb8549)try{await _0xdb8549['close']();}catch(_0x471e89){_0x545895[_0x4eb635(0x127)](logError,_0x471e89,{'event':_0x545895['WmGgE']},_0x4eb635(0x132)+_0x471e89['message']);}}}async['executeQuery'](_0x58c4b9,_0x5aa082=[],_0x5a08ec={}){const _0x31fbbe=a0_0x2fab23,_0x259009={'dTjtM':function(_0x1c0e7b){return _0x1c0e7b();},'SxtAR':function(_0x1efd98,_0x1e9a05){return _0x1efd98!==_0x1e9a05;},'EFHbL':function(_0x59776c,_0x5af9bc,_0x20fc34,_0xff01a9){return _0x59776c(_0x5af9bc,_0x20fc34,_0xff01a9);},'DzuSz':'oracle','HLdPE':function(_0x30cb8d,_0x11dcf5,_0x1a3ef2,_0x1d56d5){return _0x30cb8d(_0x11dcf5,_0x1a3ef2,_0x1d56d5);},'fCftm':_0x31fbbe(0x150),'vbtYG':function(_0x417770,_0x19f85b,_0x22c07c,_0x35d042){return _0x417770(_0x19f85b,_0x22c07c,_0x35d042);}};let _0x4a0cdb;const _0x2fe70b=_0x259009['dTjtM'](startQueryTimer);try{!this[_0x31fbbe(0x147)]&&await this[_0x31fbbe(0x14c)]();_0x4a0cdb=await this['pool']['getConnection'](),await ensureNlsReady(_0x4a0cdb);const _0x23f53e={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x259009[_0x31fbbe(0xee)](_0x5a08ec['autoCommit'],undefined)?_0x5a08ec['autoCommit']:!![],..._0x5a08ec},_0x10ef51=await _0x4a0cdb['execute'](_0x58c4b9,_0x5aa082,_0x23f53e),_0x349814=_0x259009['dTjtM'](_0x2fe70b),_0x2457c7=_0x10ef51[_0x31fbbe(0x113)]?_0x10ef51['rows']['length']:_0x10ef51[_0x31fbbe(0x12a)];return _0x259009[_0x31fbbe(0x11d)](logQuery,_0x58c4b9,_0x5aa082,{'duration':_0x349814,'rowsAffected':_0x2457c7,'dbType':_0x259009[_0x31fbbe(0xf6)]}),_0x10ef51[_0x31fbbe(0x113)]?_0x10ef51[_0x31fbbe(0x113)]:{'rowsAffected':_0x10ef51['rowsAffected'],'lastRowid':_0x10ef51['lastRowid']};}catch(_0x5b712b){const _0x353bbf=_0x259009[_0x31fbbe(0x142)](_0x2fe70b);_0x259009['HLdPE'](logError,_0x5b712b,{'event':_0x259009[_0x31fbbe(0x137)],'query':_0x58c4b9[_0x31fbbe(0x14b)](0x0,0x1f4),'paramCount':_0x5aa082[_0x31fbbe(0xfc)],'durationMs':_0x353bbf,'code':_0x5b712b['errorNum'],'dbType':'oracle'},_0x31fbbe(0x138)+_0x5b712b[_0x31fbbe(0x135)]);throw _0x5b712b;}finally{if(_0x4a0cdb)try{await _0x4a0cdb[_0x31fbbe(0x12e)]();}catch(_0x3a1e05){_0x259009[_0x31fbbe(0x146)](logError,_0x3a1e05,{'event':_0x31fbbe(0x123)},_0x31fbbe(0x145)+_0x3a1e05['message']);}}}async[a0_0x2fab23(0x12d)](_0x2f3484){const _0x54ac16=a0_0x2fab23,_0x2a5239={'sJSRO':function(_0x49c111,_0x49a080){return _0x49c111(_0x49a080);},'CSXZo':function(_0x4680b8,_0x2d71c4,_0x4aaa1b){return _0x4680b8(_0x2d71c4,_0x4aaa1b);},'FhvDU':function(_0x1a19e0){return _0x1a19e0();},'AeoFw':function(_0x76352d,_0x3a3fd7,_0x45479d,_0x5379b8){return _0x76352d(_0x3a3fd7,_0x45479d,_0x5379b8);},'HkQln':_0x54ac16(0x10a),'rdSGc':_0x54ac16(0x119),'SodFp':_0x54ac16(0x107),'plWBY':'rollback_error','sTNuA':_0x54ac16(0x139)};let _0x49d144;const _0x245587=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x49d144=await this['pool'][_0x54ac16(0x11b)](),await _0x2a5239[_0x54ac16(0x13c)](ensureNlsReady,_0x49d144),_0x2a5239['CSXZo'](logTransaction,'start',_0x2f3484['length']);const _0x5a8542=[];for(const _0x42115c of _0x2f3484){const _0x58745f=_0x2a5239[_0x54ac16(0x10b)](startQueryTimer),_0x2816ed=await _0x49d144[_0x54ac16(0x13d)](_0x42115c['sql'],_0x42115c['params']||[],{'autoCommit':![],'outFormat':oracledb[_0x54ac16(0x121)]}),_0x1b1ea7=_0x2a5239[_0x54ac16(0x10b)](_0x58745f),_0x378ad1=_0x2816ed['rows']?_0x2816ed[_0x54ac16(0x113)][_0x54ac16(0xfc)]:_0x2816ed['rowsAffected'];_0x2a5239['AeoFw'](logQuery,_0x42115c['sql'],_0x42115c['params']||[],{'duration':_0x1b1ea7,'rowsAffected':_0x378ad1,'dbType':_0x2a5239[_0x54ac16(0x14d)]}),_0x5a8542[_0x54ac16(0xfb)](_0x2816ed);}await _0x49d144['commit']();const _0x48f30b=_0x245587();return logTransaction(_0x2a5239['rdSGc'],_0x2f3484['length']),logger[_0x54ac16(0x12c)]({'event':_0x54ac16(0x134),'queryCount':_0x2f3484['length'],'totalDurationMs':_0x48f30b,'dbType':'oracle'},'Oracle\x20transaction\x20committed\x20('+_0x48f30b+_0x54ac16(0x117)+_0x2f3484[_0x54ac16(0xfc)]+_0x54ac16(0x133)),_0x5a8542;}catch(_0x4e030b){const _0x334e58=_0x2a5239[_0x54ac16(0x10b)](_0x245587);logError(_0x4e030b,{'event':_0x54ac16(0x100),'queryCount':_0x2f3484['length'],'totalDurationMs':_0x334e58,'code':_0x4e030b['errorNum'],'dbType':'oracle'},'Oracle\x20transaction\x20failed:\x20'+_0x4e030b[_0x54ac16(0x135)]);if(_0x49d144)try{await _0x49d144[_0x54ac16(0x107)](),logTransaction(_0x2a5239['SodFp'],_0x2f3484[_0x54ac16(0xfc)]);}catch(_0x3b7bc1){_0x2a5239['AeoFw'](logError,_0x3b7bc1,{'event':_0x2a5239[_0x54ac16(0x153)],'dbType':_0x54ac16(0x10a)},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x3b7bc1[_0x54ac16(0x135)]);}throw _0x4e030b;}finally{if(_0x49d144)try{await _0x49d144['close']();}catch(_0x2dba4c){logError(_0x2dba4c,{'event':_0x2a5239['sTNuA']},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x2dba4c['message']);}}}async[a0_0x2fab23(0x11e)](){const _0xc310ac=a0_0x2fab23,_0x5b8947={'thDES':_0xc310ac(0x103),'KwuqO':'oracle_pool_closed','dvDWQ':_0xc310ac(0xf8),'TNLWJ':_0xc310ac(0x14a)};try{this['pool']&&(logger['info']({'event':_0xc310ac(0xf2)},_0x5b8947['thDES']),await this['pool']['close'](0xa),this[_0xc310ac(0x147)]=null,logger['info']({'event':_0x5b8947[_0xc310ac(0x136)]},_0x5b8947['dvDWQ']));}catch(_0x59b115){logError(_0x59b115,{'event':_0x5b8947['TNLWJ']},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x59b115[_0xc310ac(0x135)]);throw _0x59b115;}}[a0_0x2fab23(0xf7)](){const _0x4ec776=a0_0x2fab23,_0x5ce83b={'DhAHV':'Pool\x20not\x20initialized'};if(!this['pool'])return{'status':_0x5ce83b['DhAHV']};return{'connectionsInUse':this['pool'][_0x4ec776(0x105)],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this[_0x4ec776(0x147)][_0x4ec776(0xfe)],'poolMin':this['pool']['poolMin'],'poolMax':this['pool'][_0x4ec776(0x106)],'poolIncrement':this[_0x4ec776(0x147)]['poolIncrement'],'poolTimeout':this['pool']['poolTimeout'],'status':_0x4ec776(0x102)};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x376b19=a0_0x2fab23,_0x1718b9={'NaZuK':'oracle_shutdown'};logger[_0x376b19(0x12c)]({'event':_0x1718b9['NaZuK'],'signal':_0x376b19(0x109)},'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...');try{await oracleDb[_0x376b19(0x11e)](),process['exit'](0x0);}catch(_0xf475da){logError(_0xf475da,{'event':'oracle_shutdown_error','signal':_0x376b19(0x109)},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0xf475da['message']),process[_0x376b19(0x104)](0x1);}}),process['on']('SIGTERM',async()=>{const _0x43e67a=a0_0x2fab23,_0x24138f={'Erpbf':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','NvchG':'oracle_shutdown_error','IRpGc':'SIGTERM'};logger[_0x43e67a(0x12c)]({'event':_0x43e67a(0xf9),'signal':'SIGTERM'},_0x24138f['Erpbf']);try{await oracleDb[_0x43e67a(0x11e)](),process[_0x43e67a(0x104)](0x0);}catch(_0x18a6f6){logError(_0x18a6f6,{'event':_0x24138f[_0x43e67a(0xff)],'signal':_0x24138f['IRpGc']},_0x43e67a(0xfa)+_0x18a6f6[_0x43e67a(0x135)]),process[_0x43e67a(0x104)](0x1);}}),module[a0_0x2fab23(0x144)]=oracleDb;
1
+ const a0_0x3aa27e=a0_0x5023;(function(_0x20838b,_0x4f3c86){const _0x20bf8e=a0_0x5023,_0x19abb4=_0x20838b();while(!![]){try{const _0x19bfc5=parseInt(_0x20bf8e(0xa0))/0x1*(parseInt(_0x20bf8e(0xe5))/0x2)+parseInt(_0x20bf8e(0xa2))/0x3+parseInt(_0x20bf8e(0xa9))/0x4+-parseInt(_0x20bf8e(0xbd))/0x5+-parseInt(_0x20bf8e(0xaf))/0x6*(parseInt(_0x20bf8e(0x9a))/0x7)+-parseInt(_0x20bf8e(0xbf))/0x8+parseInt(_0x20bf8e(0x9c))/0x9*(-parseInt(_0x20bf8e(0xdf))/0xa);if(_0x19bfc5===_0x4f3c86)break;else _0x19abb4['push'](_0x19abb4['shift']());}catch(_0x302dbf){_0x19abb4['push'](_0x19abb4['shift']());}}}(a0_0x1cfe,0x38e59));const oracledb=require(a0_0x3aa27e(0xc9)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');oracledb[a0_0x3aa27e(0xdb)]=[oracledb['CLOB'],oracledb['NCLOB']],oracledb[a0_0x3aa27e(0xc6)]=[oracledb[a0_0x3aa27e(0x8f)]];function a0_0x5023(_0x3588ec,_0x3c21d1){_0x3588ec=_0x3588ec-0x8b;const _0x1cfe21=a0_0x1cfe();let _0x50238=_0x1cfe21[_0x3588ec];if(a0_0x5023['dijNTJ']===undefined){var _0x37612a=function(_0x129616){const _0x4e31ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24d7a6='',_0x3021e2='';for(let _0x4b17db=0x0,_0x236d78,_0x210dc7,_0x939023=0x0;_0x210dc7=_0x129616['charAt'](_0x939023++);~_0x210dc7&&(_0x236d78=_0x4b17db%0x4?_0x236d78*0x40+_0x210dc7:_0x210dc7,_0x4b17db++%0x4)?_0x24d7a6+=String['fromCharCode'](0xff&_0x236d78>>(-0x2*_0x4b17db&0x6)):0x0){_0x210dc7=_0x4e31ac['indexOf'](_0x210dc7);}for(let _0x14f12c=0x0,_0x59e059=_0x24d7a6['length'];_0x14f12c<_0x59e059;_0x14f12c++){_0x3021e2+='%'+('00'+_0x24d7a6['charCodeAt'](_0x14f12c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3021e2);};a0_0x5023['rIMQVO']=_0x37612a,a0_0x5023['hjCJBt']={},a0_0x5023['dijNTJ']=!![];}const _0x36d2d1=_0x1cfe21[0x0],_0x38e152=_0x3588ec+_0x36d2d1,_0x3d9c17=a0_0x5023['hjCJBt'][_0x38e152];return!_0x3d9c17?(_0x50238=a0_0x5023['rIMQVO'](_0x50238),a0_0x5023['hjCJBt'][_0x38e152]=_0x50238):_0x50238=_0x3d9c17,_0x50238;}async function ensureNlsReady(_0x2fb07d){const _0x43cec6=a0_0x3aa27e,_0x427152=_0x43cec6(0xe0)['split']('|');let _0x21d277=0x0;while(!![]){switch(_0x427152[_0x21d277++]){case'0':_0x2fb07d[_0x43cec6(0xda)]=!![];continue;case'1':if(_0x2fb07d[_0x43cec6(0xda)])return;continue;case'2':await _0x2fb07d[_0x43cec6(0xae)]('ALTER\x20SESSION\x20SET\x20NLS_DATE_FORMAT\x20=\x20\x27YYYY-MM-DD\x27');continue;case'3':await _0x2fb07d[_0x43cec6(0xae)](_0x43cec6(0x94));continue;case'4':await _0x2fb07d['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27');continue;}break;}}class OracleDatabase{constructor(){const _0x230fd5=a0_0x3aa27e,_0x485306={'KwtJq':function(_0x38be71,_0xb08b0f){return _0x38be71(_0xb08b0f);},'zkZUg':_0x230fd5(0x93),'DlSrO':_0x230fd5(0xe4),'WeaEU':'oracle'};this[_0x230fd5(0xbe)]=null,this[_0x230fd5(0xc7)]={'user':process[_0x230fd5(0x97)][_0x230fd5(0xce)]||'hr','password':process['env'][_0x230fd5(0xb4)]||'hr','connectString':this['buildConnectionString'](),'poolMin':_0x485306[_0x230fd5(0xc5)](parseInt,process[_0x230fd5(0x97)][_0x230fd5(0xcf)])||0x2,'poolMax':parseInt(process[_0x230fd5(0x97)][_0x230fd5(0xc1)])||0xa,'poolIncrement':_0x485306[_0x230fd5(0xc5)](parseInt,process[_0x230fd5(0x97)][_0x230fd5(0xe6)])||0x1,'poolTimeout':parseInt(process[_0x230fd5(0x97)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb['NCLOB']],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process[_0x230fd5(0x97)][_0x230fd5(0xd8)]||_0x485306['zkZUg'],'port':process[_0x230fd5(0x97)][_0x230fd5(0xcd)]||_0x485306[_0x230fd5(0xb8)],'database':process['env'][_0x230fd5(0xac)]||'XE','type':_0x485306['WeaEU'],'user':this[_0x230fd5(0xc7)]['user'],'poolMin':this[_0x230fd5(0xc7)][_0x230fd5(0xd2)],'poolMax':this[_0x230fd5(0xc7)][_0x230fd5(0x8c)]});}[a0_0x3aa27e(0x9d)](){const _0x448343=a0_0x3aa27e,_0x3d8538={'dXLlo':'1521'},_0x2bcaf2=process[_0x448343(0x97)]['DB_HOST']||'localhost',_0x66dfb3=process[_0x448343(0x97)]['DB_PORT']||_0x3d8538['dXLlo'],_0x3e8752=process[_0x448343(0x97)][_0x448343(0xac)]||'XE',_0xe7d301='//'+_0x2bcaf2+':'+_0x66dfb3+'/'+_0x3e8752;return logger['debug']({'event':_0x448343(0xd0),'connectionString':_0xe7d301},'Oracle\x20Connection\x20String:\x20'+_0xe7d301),_0xe7d301;}async['initializePool'](){const _0x12b71b=a0_0x3aa27e,_0x1f6a0e={'TBDYb':'Oracle\x20connection\x20pool\x20sudah\x20ada','tqsSl':'Oracle\x20connection\x20pool\x20created\x20successfully','Knpya':function(_0xaaede6,_0xd7dfab,_0x194372,_0x74896b){return _0xaaede6(_0xd7dfab,_0x194372,_0x74896b);}};try{if(this['pool']){logger['debug']({'event':_0x12b71b(0xbb)},_0x1f6a0e['TBDYb']);return;}logger[_0x12b71b(0xd5)]({'event':'oracle_pool_creating'},_0x12b71b(0xb9)),this[_0x12b71b(0xbe)]=await oracledb[_0x12b71b(0xb2)](this[_0x12b71b(0xc7)]),logger['info']({'event':'oracle_pool_created'},_0x1f6a0e[_0x12b71b(0x95)]),await this[_0x12b71b(0xde)]();}catch(_0x2b9a85){_0x1f6a0e['Knpya'](logError,_0x2b9a85,{'event':_0x12b71b(0xbc)},_0x12b71b(0xe3)+_0x2b9a85[_0x12b71b(0xd4)]);throw _0x2b9a85;}}async[a0_0x3aa27e(0xde)](){const _0x1845ef=a0_0x3aa27e,_0xdaa4ba={'XOMqu':'Testing\x20Oracle\x20database\x20connection...','BxATN':function(_0x91679f,_0x4d513d){return _0x91679f(_0x4d513d);},'bnRVW':'SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL','iECSr':function(_0x5db195,_0x5ea11e,_0x3df40a,_0x2a3864){return _0x5db195(_0x5ea11e,_0x3df40a,_0x2a3864);}};let _0x424972;try{logger[_0x1845ef(0x91)]({'event':_0x1845ef(0xcb)},_0xdaa4ba[_0x1845ef(0xcc)]),_0x424972=await this[_0x1845ef(0xbe)][_0x1845ef(0xdc)](),await _0xdaa4ba['BxATN'](ensureNlsReady,_0x424972);const _0x3c7fca=await _0x424972['execute'](_0xdaa4ba['bnRVW']);logger[_0x1845ef(0xd5)]({'event':_0x1845ef(0x8d),'currentDate':_0x3c7fca[_0x1845ef(0x96)][0x0][0x0],'currentUser':_0x3c7fca[_0x1845ef(0x96)][0x0][0x1]},_0x1845ef(0xca)+_0x3c7fca[_0x1845ef(0x96)][0x0][0x1]);}catch(_0x3e48eb){logError(_0x3e48eb,{'event':'oracle_connection_test_failed'},_0x1845ef(0xc0)+_0x3e48eb['message']);throw _0x3e48eb;}finally{if(_0x424972)try{await _0x424972['close']();}catch(_0x2f76ff){_0xdaa4ba[_0x1845ef(0xd3)](logError,_0x2f76ff,{'event':'oracle_test_connection_close_error'},'Error\x20closing\x20test\x20connection:\x20'+_0x2f76ff['message']);}}}async['executeQuery'](_0x1b34e1,_0x28106b=[],_0x172904={}){const _0x8b9748=a0_0x3aa27e,_0x173698={'lEujg':function(_0x4d691a,_0x2ad6b6){return _0x4d691a(_0x2ad6b6);},'WrFYG':'sql_error'};let _0x1a2dd2;const _0x1978a6=startQueryTimer();try{!this[_0x8b9748(0xbe)]&&await this['initializePool']();_0x1a2dd2=await this[_0x8b9748(0xbe)]['getConnection'](),await _0x173698[_0x8b9748(0xb3)](ensureNlsReady,_0x1a2dd2);const _0x50a8de={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x172904['autoCommit']!==undefined?_0x172904[_0x8b9748(0xe1)]:!![],..._0x172904},_0x4c3b84=await _0x1a2dd2[_0x8b9748(0xae)](_0x1b34e1,_0x28106b,_0x50a8de),_0x307e39=_0x1978a6(),_0x3f76f7=_0x4c3b84['rows']?_0x4c3b84[_0x8b9748(0x96)][_0x8b9748(0x90)]:_0x4c3b84[_0x8b9748(0xd6)];return logQuery(_0x1b34e1,_0x28106b,{'duration':_0x307e39,'rowsAffected':_0x3f76f7,'dbType':'oracle'}),_0x4c3b84['rows']?_0x4c3b84[_0x8b9748(0x96)]:{'rowsAffected':_0x4c3b84[_0x8b9748(0xd6)],'lastRowid':_0x4c3b84['lastRowid']};}catch(_0x120e74){const _0x1e2606=_0x1978a6();logError(_0x120e74,{'event':_0x173698['WrFYG'],'query':_0x1b34e1['substring'](0x0,0x1f4),'paramCount':_0x28106b[_0x8b9748(0x90)],'durationMs':_0x1e2606,'code':_0x120e74['errorNum'],'dbType':_0x8b9748(0x98)},_0x8b9748(0xe7)+_0x120e74[_0x8b9748(0xd4)]);throw _0x120e74;}finally{if(_0x1a2dd2)try{await _0x1a2dd2['close']();}catch(_0x157ad4){logError(_0x157ad4,{'event':_0x8b9748(0xc8)},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x157ad4['message']);}}}async[a0_0x3aa27e(0xb5)](_0x2800af){const _0x55d93b=a0_0x3aa27e,_0x4ee104={'mAvxv':function(_0x284cf7,_0x3e92f3){return _0x284cf7(_0x3e92f3);},'oAPlR':function(_0x43a421,_0x3759a8,_0x2aaac2){return _0x43a421(_0x3759a8,_0x2aaac2);},'xyfza':function(_0x4fd396){return _0x4fd396();},'dgfFn':function(_0x138c98,_0xc420f8,_0x35e2e5,_0x35b3ea){return _0x138c98(_0xc420f8,_0x35e2e5,_0x35b3ea);},'grnfi':_0x55d93b(0x98),'qmoVd':function(_0x4c5199,_0x44c9f7,_0x12fb2e){return _0x4c5199(_0x44c9f7,_0x12fb2e);},'pRphb':_0x55d93b(0xa3)};let _0xdafb75;const _0x722804=startQueryTimer();try{!this[_0x55d93b(0xbe)]&&await this['initializePool']();_0xdafb75=await this[_0x55d93b(0xbe)][_0x55d93b(0xdc)](),await _0x4ee104[_0x55d93b(0x9f)](ensureNlsReady,_0xdafb75),_0x4ee104[_0x55d93b(0xb1)](logTransaction,_0x55d93b(0xa4),_0x2800af[_0x55d93b(0x90)]);const _0x13feac=[];for(const _0x18d7be of _0x2800af){const _0x460fd6=_0x4ee104['xyfza'](startQueryTimer),_0x58386b=await _0xdafb75['execute'](_0x18d7be[_0x55d93b(0xe2)],_0x18d7be[_0x55d93b(0x9b)]||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x30f140=_0x460fd6(),_0xd3842=_0x58386b['rows']?_0x58386b[_0x55d93b(0x96)]['length']:_0x58386b[_0x55d93b(0xd6)];_0x4ee104['dgfFn'](logQuery,_0x18d7be['sql'],_0x18d7be['params']||[],{'duration':_0x30f140,'rowsAffected':_0xd3842,'dbType':'oracle'}),_0x13feac['push'](_0x58386b);}await _0xdafb75['commit']();const _0x4cea2c=_0x4ee104['xyfza'](_0x722804);return _0x4ee104['oAPlR'](logTransaction,_0x55d93b(0xc3),_0x2800af[_0x55d93b(0x90)]),logger['info']({'event':'transaction_complete','queryCount':_0x2800af['length'],'totalDurationMs':_0x4cea2c,'dbType':'oracle'},_0x55d93b(0xaa)+_0x4cea2c+'ms,\x20'+_0x2800af['length']+'\x20queries)'),_0x13feac;}catch(_0x54253d){const _0xa182ce=_0x722804();_0x4ee104[_0x55d93b(0xb7)](logError,_0x54253d,{'event':'transaction_error','queryCount':_0x2800af['length'],'totalDurationMs':_0xa182ce,'code':_0x54253d['errorNum'],'dbType':_0x4ee104['grnfi']},_0x55d93b(0xa8)+_0x54253d[_0x55d93b(0xd4)]);if(_0xdafb75)try{await _0xdafb75['rollback'](),_0x4ee104[_0x55d93b(0xd9)](logTransaction,_0x55d93b(0xdd),_0x2800af['length']);}catch(_0x45ecbc){logError(_0x45ecbc,{'event':_0x4ee104['pRphb'],'dbType':'oracle'},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x45ecbc['message']);}throw _0x54253d;}finally{if(_0xdafb75)try{await _0xdafb75['close']();}catch(_0x3ed425){_0x4ee104['dgfFn'](logError,_0x3ed425,{'event':'oracle_transaction_connection_close_error'},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x3ed425['message']);}}}async['closePool'](){const _0x3bb57f=a0_0x3aa27e,_0x234b1d={'inFoZ':_0x3bb57f(0xa6),'Ifoxd':'Closing\x20Oracle\x20connection\x20pool...','fOpMv':'oracle_pool_closed'};try{this[_0x3bb57f(0xbe)]&&(logger[_0x3bb57f(0xd5)]({'event':_0x234b1d[_0x3bb57f(0xad)]},_0x234b1d['Ifoxd']),await this[_0x3bb57f(0xbe)][_0x3bb57f(0x8b)](0xa),this['pool']=null,logger[_0x3bb57f(0xd5)]({'event':_0x234b1d[_0x3bb57f(0xe8)]},_0x3bb57f(0x92)));}catch(_0x29da7d){logError(_0x29da7d,{'event':'oracle_pool_close_error'},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x29da7d[_0x3bb57f(0xd4)]);throw _0x29da7d;}}[a0_0x3aa27e(0xa7)](){const _0x2e9afa=a0_0x3aa27e,_0x5d8636={'FnxkN':_0x2e9afa(0xab)};if(!this['pool'])return{'status':_0x5d8636[_0x2e9afa(0xb6)]};return{'connectionsInUse':this['pool'][_0x2e9afa(0x99)],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this['pool']['poolAlias'],'poolMin':this['pool']['poolMin'],'poolMax':this['pool'][_0x2e9afa(0x8c)],'poolIncrement':this['pool'][_0x2e9afa(0xa5)],'poolTimeout':this[_0x2e9afa(0xbe)][_0x2e9afa(0xd1)],'status':'Active'};}}const oracleDb=new OracleDatabase();function a0_0x1cfe(){const _0x1bc97b=['zxHLy3v0zvrYyw5Zywn0Aw9U','rM54A04','zgDMrM4','rgXtCK8','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','B3jHy2XLx3bVB2XFzxHPC3rZ','B3jHy2XLx3bVB2XFzxjYB3i','mJu5ntm1rgDsyxjr','Cg9VBa','mtqWndyZmLbnyuHfva','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','rejFue9ptf9nqvG','B3jHy2XLx3nODxrKB3DU','y29TBwL0','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','s3D0sNe','zMv0y2HbC0j1zMzLCG','y29UzMLN','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','B3jHy2XLzgi','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','we9nCxu','rejFue9sva','rejFvvnfuG','rejFue9ptf9nsu4','B3jHy2XLx2nVBM5Ly3rPB25FC3rYAw5N','Cg9VBfrPBwvVDxq','Cg9VBe1PBG','Auvdu3i','BwvZC2fNzq','Aw5MBW','CM93C0fMzMvJDgvK','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','rejFse9tva','Cw1VvMq','x25SC1jLywr5','zMv0y2HbC1n0CMLUzW','z2v0q29UBMvJDgLVBG','CM9SBgjHy2S','DgvZDenVBM5Ly3rPB24','mZG3oduZmhrtv3b6sG','mxWYFdr8m3WW','yxv0B0nVBw1PDa','C3fS','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','mtuYmq','odm2mZi4qNjoAuLj','rejFue9ptf9jtKnsru1ftLq','t3jHy2XLifnrtcbfCNjVCJOG','zK9Wtxy','y2XVC2u','Cg9VBe1HEa','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','rLjzqMm','qKXpqG','BgvUz3rO','zgvIDwC','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','Bg9JywXOB3n0','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','DhfZu2W','CM93CW','zw52','B3jHy2XL','y29UBMvJDgLVBNnjBLvZzq','mJCWotm1vxbyt0jU','CgfYyw1Z','oxjMsvzRtq','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','zxHPDa','Buf2Ehy','murytfzUsW','u0Lhsu5u','mtaXody2mLjtDuDwuW','CM9SBgjHy2TFzxjYB3i','C3rHCNq','Cg9VBeLUy3jLBwvUDa','B3jHy2XLx3bVB2XFy2XVC2LUzW','z2v0ug9VBfn0yxrPC3rPy3m','t3jHy2XLihrYyw5Zywn0Aw9UigzHAwXLzdOG','otGXotyWs2fnEK1n','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','ug9VBcbUB3qGAw5PDgLHBgL6zwq','rejFtKfnrq','Aw5gB1O','zxHLy3v0zq','mJrRD0v4zNO','u0Lhvevstq','B0fqBfi','y3jLyxrLug9VBa','Bev1AMC','rejFueftu1DpuKq'];a0_0x1cfe=function(){return _0x1bc97b;};return a0_0x1cfe();}process['on'](a0_0x3aa27e(0xa1),async()=>{const _0x21e35b=a0_0x3aa27e,_0x120773={'aEORD':'oracle_shutdown','Vtgde':'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...','SNRSS':_0x21e35b(0xa1)};logger[_0x21e35b(0xd5)]({'event':_0x120773['aEORD'],'signal':_0x21e35b(0xa1)},_0x120773['Vtgde']);try{await oracleDb['closePool'](),process[_0x21e35b(0x9e)](0x0);}catch(_0x5b6f4c){logError(_0x5b6f4c,{'event':_0x21e35b(0xd7),'signal':_0x120773['SNRSS']},_0x21e35b(0xc4)+_0x5b6f4c['message']),process['exit'](0x1);}}),process['on'](a0_0x3aa27e(0xb0),async()=>{const _0x154191=a0_0x3aa27e,_0x82d3ec={'FRYBc':_0x154191(0xc2),'YmZfj':'SIGTERM'};logger[_0x154191(0xd5)]({'event':_0x82d3ec[_0x154191(0x8e)],'signal':_0x154191(0xb0)},_0x154191(0xba));try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x7027ff){logError(_0x7027ff,{'event':'oracle_shutdown_error','signal':_0x82d3ec['YmZfj']},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x7027ff[_0x154191(0xd4)]),process[_0x154191(0x9e)](0x1);}}),module['exports']=oracleDb;
@@ -1 +1 @@
1
- const a0_0x4356e8=a0_0x298a;(function(_0x29efd3,_0x262e83){const _0x2b0eb8=a0_0x298a,_0x3ba496=_0x29efd3();while(!![]){try{const _0x490cd6=-parseInt(_0x2b0eb8(0x11e))/0x1*(-parseInt(_0x2b0eb8(0xe5))/0x2)+parseInt(_0x2b0eb8(0x106))/0x3*(parseInt(_0x2b0eb8(0xf0))/0x4)+parseInt(_0x2b0eb8(0x10b))/0x5+-parseInt(_0x2b0eb8(0xec))/0x6+-parseInt(_0x2b0eb8(0x105))/0x7*(parseInt(_0x2b0eb8(0xf9))/0x8)+parseInt(_0x2b0eb8(0x113))/0x9*(parseInt(_0x2b0eb8(0xf6))/0xa)+-parseInt(_0x2b0eb8(0x11b))/0xb;if(_0x490cd6===_0x262e83)break;else _0x3ba496['push'](_0x3ba496['shift']());}catch(_0x23c7ef){_0x3ba496['push'](_0x3ba496['shift']());}}}(a0_0x56af,0x50694));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4356e8(0x119));class SqliteDatabase{constructor(){const _0xeee1e2=a0_0x4356e8,_0x177fe4={'mZjhM':_0xeee1e2(0x11f),'YCLFK':function(_0x28c9f9,_0x367eb5){return _0x28c9f9(_0x367eb5);}};this['db']=null,this[_0xeee1e2(0x10d)]=process[_0xeee1e2(0xe6)]['DB_NAME']||_0x177fe4[_0xeee1e2(0xfe)],this['busyTimeout']=_0x177fe4[_0xeee1e2(0x108)](parseInt,process[_0xeee1e2(0xe6)][_0xeee1e2(0x117)]||'5000'),logDatabaseConfig({'database':this[_0xeee1e2(0x10d)],'type':'sqlite','busyTimeout':this[_0xeee1e2(0xde)]});}[a0_0x4356e8(0xe1)](){const _0x1407c8=a0_0x4356e8,_0x401eca={'yIkPS':'sqlite_db_exists','sZEen':_0x1407c8(0x100)};try{const _0x45936b='2|4|1|3|0'[_0x1407c8(0x11c)]('|');let _0x3e7f89=0x0;while(!![]){switch(_0x45936b[_0x3e7f89++]){case'0':this['testConnection']();continue;case'1':this['db']['pragma']('journal_mode\x20=\x20WAL');continue;case'2':if(this['db']){logger[_0x1407c8(0xf4)]({'event':_0x401eca['yIkPS']},_0x401eca['sZEen']);return;}continue;case'3':this['db'][_0x1407c8(0x120)]('foreign_keys\x20=\x20ON');continue;case'4':this['db']=new Database(this['dbPath'],{'timeout':this['busyTimeout']});continue;}break;}}catch(_0x1858d0){logError(_0x1858d0,{'event':'sqlite_init_error'},_0x1407c8(0x104)+_0x1858d0['message']);throw _0x1858d0;}}[a0_0x4356e8(0xff)](){const _0x395f05=a0_0x4356e8,_0x244255={'yKvWT':_0x395f05(0xdd),'MSDIW':'Testing\x20SQLite\x20database\x20connection...','QlXPY':_0x395f05(0xea),'sDlCA':function(_0x9bb34a,_0x411274,_0x38ee8c,_0x20f779){return _0x9bb34a(_0x411274,_0x38ee8c,_0x20f779);},'SejQm':_0x395f05(0xe0)};try{logger[_0x395f05(0xf4)]({'event':_0x244255['yKvWT']},_0x244255['MSDIW']),this['db']['prepare'](_0x244255['QlXPY'])['get']();}catch(_0x9d033c){_0x244255[_0x395f05(0x121)](logError,_0x9d033c,{'event':_0x244255['SejQm']},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x9d033c[_0x395f05(0xfb)]);throw _0x9d033c;}}async['executeQuery'](_0x4900c2,_0x1af97c=[]){const _0x23f117=a0_0x4356e8,_0x4f4d01={'YcMos':function(_0x505abd){return _0x505abd();},'NsetO':function(_0x484723,_0x398441){return _0x484723||_0x398441;},'CcllR':function(_0x46e3b0,_0x538dd9,_0x5cd35e,_0x26ef3f){return _0x46e3b0(_0x538dd9,_0x5cd35e,_0x26ef3f);},'uGYaM':function(_0x57bf13){return _0x57bf13();},'hgDja':_0x23f117(0xdf),'jGCDM':function(_0x3ab4d0,_0x372664,_0x215a2,_0x12fbeb){return _0x3ab4d0(_0x372664,_0x215a2,_0x12fbeb);}},_0x45b87e=_0x4f4d01[_0x23f117(0xeb)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x230d0a=this['db']['prepare'](_0x4900c2),_0x244830=/\bRETURNING\b/i['test'](_0x4900c2),_0x3265f5=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x4900c2);let _0x5a47fb,_0x46ab65;if(_0x4f4d01[_0x23f117(0xfd)](_0x3265f5,_0x244830)){const _0x59b1db=_0x230d0a[_0x23f117(0xef)](..._0x1af97c),_0x392091=_0x4f4d01['YcMos'](_0x45b87e);return _0x4f4d01['CcllR'](logQuery,_0x4900c2,_0x1af97c,{'duration':_0x392091,'rowsAffected':_0x59b1db['length'],'dbType':_0x23f117(0xdf)}),_0x59b1db;}else{const _0x547bc5=_0x230d0a['run'](..._0x1af97c),_0x47d543=_0x4f4d01[_0x23f117(0xfa)](_0x45b87e);return _0x5a47fb={'rowsAffected':_0x547bc5['changes'],'insertId':_0x547bc5['lastInsertRowid']},_0x4f4d01[_0x23f117(0xfc)](logQuery,_0x4900c2,_0x1af97c,{'duration':_0x47d543,'rowsAffected':_0x547bc5['changes'],'dbType':_0x4f4d01[_0x23f117(0x11a)]}),_0x5a47fb;}}catch(_0x5ac6be){const _0x481e4c=_0x45b87e();_0x4f4d01['jGCDM'](logError,_0x5ac6be,{'event':'sql_error','query':_0x4900c2[_0x23f117(0x102)](0x0,0x1f4),'paramCount':_0x1af97c['length'],'durationMs':_0x481e4c,'code':_0x5ac6be['code'],'dbType':_0x4f4d01[_0x23f117(0x11a)]},'SQLite\x20SQL\x20Error:\x20'+_0x5ac6be['message']);throw _0x5ac6be;}}async[a0_0x4356e8(0x10a)](_0x38b007){const _0x375a2e=a0_0x4356e8,_0x2bd687={'VfCYg':function(_0x5d6b13,_0x2cff09,_0x348d2e,_0x188d21){return _0x5d6b13(_0x2cff09,_0x348d2e,_0x188d21);},'ELykm':function(_0x55c917){return _0x55c917();},'zzAIw':function(_0x44aa95,_0x2d8d02,_0x1ca3ea){return _0x44aa95(_0x2d8d02,_0x1ca3ea);},'WbGwX':'start','ZyjAR':function(_0x3a31eb){return _0x3a31eb();},'AsvMI':'sqlite','HiGdH':'rollback','CVIXc':'transaction_error'},_0xd2299=_0x2bd687[_0x375a2e(0xf1)](startQueryTimer);try{!this['db']&&this[_0x375a2e(0xe1)]();_0x2bd687[_0x375a2e(0x10c)](logTransaction,_0x2bd687['WbGwX'],_0x38b007['length']);const _0x5d668c=this['db'][_0x375a2e(0x118)](_0x342cf6=>{const _0x826865=_0x375a2e,_0x2e2389=[];for(const _0x2268f2 of _0x342cf6){const _0x3d4920=startQueryTimer(),_0x5a32c2=_0x2268f2['params']||[],_0x1badf4=this['db'][_0x826865(0xe3)](_0x2268f2['sql']),_0x16ee1c=/\bRETURNING\b/i['test'](_0x2268f2[_0x826865(0xf5)]),_0x5463a0=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x826865(0xf8)](_0x2268f2[_0x826865(0xf5)]);if(_0x5463a0||_0x16ee1c){const _0x55f6f4=_0x1badf4['all'](..._0x5a32c2),_0x5e7a2b=_0x3d4920();_0x2bd687['VfCYg'](logQuery,_0x2268f2[_0x826865(0xf5)],_0x5a32c2,{'duration':_0x5e7a2b,'rowsAffected':_0x55f6f4[_0x826865(0x110)],'dbType':'sqlite'}),_0x2e2389['push'](_0x55f6f4);}else{const _0x3624e5=_0x1badf4[_0x826865(0xe8)](..._0x5a32c2),_0xad5dd=_0x3d4920();_0x2bd687[_0x826865(0xf2)](logQuery,_0x2268f2['sql'],_0x5a32c2,{'duration':_0xad5dd,'rowsAffected':_0x3624e5['changes'],'dbType':'sqlite'}),_0x2e2389['push']({'rowsAffected':_0x3624e5['changes'],'insertId':_0x3624e5['lastInsertRowid']});}}return _0x2e2389;}),_0x3a5131=_0x5d668c(_0x38b007),_0x46835e=_0x2bd687['ZyjAR'](_0xd2299);return logTransaction(_0x375a2e(0xee),_0x38b007['length']),logger[_0x375a2e(0xe7)]({'event':_0x375a2e(0x101),'queryCount':_0x38b007[_0x375a2e(0x110)],'totalDurationMs':_0x46835e,'dbType':_0x2bd687['AsvMI']},'Transaction\x20committed\x20('+_0x46835e+_0x375a2e(0xf7)+_0x38b007['length']+'\x20queries)'),_0x3a5131;}catch(_0x2e2f38){const _0x3c5c7e=_0xd2299();logTransaction(_0x2bd687['HiGdH'],_0x38b007[_0x375a2e(0x110)]),logError(_0x2e2f38,{'event':_0x2bd687['CVIXc'],'queryCount':_0x38b007['length'],'totalDurationMs':_0x3c5c7e,'code':_0x2e2f38[_0x375a2e(0x103)],'dbType':_0x375a2e(0xdf)},'Transaction\x20failed:\x20'+_0x2e2f38['message']);throw _0x2e2f38;}}[a0_0x4356e8(0xf3)](){return!this['db']&&this['initializeDatabase'](),this['db'];}[a0_0x4356e8(0x109)](){const _0x5931a9=a0_0x4356e8,_0x3ba7c8={'iuzOA':'Closing\x20SQLite\x20database\x20connection...'};try{this['db']&&(logger[_0x5931a9(0xe7)]({'event':_0x5931a9(0x112)},_0x3ba7c8['iuzOA']),this['db'][_0x5931a9(0x122)](),this['db']=null,logger['info']({'event':'sqlite_closed'},'SQLite\x20database\x20connection\x20closed'));}catch(_0x4c91d9){logError(_0x4c91d9,{'event':'sqlite_close_error'},'Error\x20closing\x20SQLite\x20database:\x20'+_0x4c91d9['message']);throw _0x4c91d9;}}async['checkConnection'](){const _0x154e33=a0_0x4356e8,_0x84e945={'gWHCH':_0x154e33(0x116),'kJZFw':function(_0x4e1f04,_0x393515,_0x2a714a,_0x1fa40d){return _0x4e1f04(_0x393515,_0x2a714a,_0x1fa40d);},'SJUOv':'sqlite_connection_check_error'};try{return!this['db']&&this[_0x154e33(0xe1)](),this['db'][_0x154e33(0xe3)](_0x84e945[_0x154e33(0x111)])['get'](),!![];}catch(_0xd15f0d){return _0x84e945['kJZFw'](logError,_0xd15f0d,{'event':_0x84e945['SJUOv']},'Error\x20checking\x20SQLite\x20connection:\x20'+_0xd15f0d['message']),![];}}}function a0_0x56af(){const _0x559d25=['mtC2mJyXmeztvgPvEq','BxmSia','DgvZDa','mtK1mtKYvK9Ir2Hk','DuDzyu0','BwvZC2fNzq','q2nSBfi','tNnLDe8','BvPQAe0','DgvZDenVBM5Ly3rPB24','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3vIC3rYAw5N','y29Kzq','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','nZDtvLDNBxe','m0zUAMnlyG','A0reCxq','wunmrKS','y2XVC2vqB29S','zxHLy3v0zvrYyw5Zywn0Aw9U','odG1ndy1q3L6ALLA','ENPbsxC','zgjqyxrO','zxHWB3j0CW','u0Lhvevstq','BgvUz3rO','z1Diq0G','C3fSAxrLx2nSB3nPBMC','mJDzuuv3zLC','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','BMHyAKq','u0vmrunuide','rejFqLvtwv9usu1ft1vu','DhjHBNnHy3rPB24','lI9SB2DNzxi','AgDeAMe','nJq2ndu5mgLeA3burq','C3bSAxq','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','m3fTB2fRBq','lI9KyxrHl3jLC3rMB3jNzs5KyG','ChjHz21H','C0rSq0e','y2XVC2u','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','yNvZEvrPBwvVDxq','C3fSAxrL','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','Aw5PDgLHBgL6zurHDgfIyxnL','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','ChjLCgfYzq','zxHPDa','nda3mtu4s21wvuTP','zw52','Aw5MBW','CNvU','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','u0vmrunuideGyxmGDgvZDf9JB25Uzwn0Aw9U','wwnnB3m','mta3nZeXneXWB3zKqq','u0Lhsu5u','y29TBwL0','ywXS','mtKZmZK2EurPuuz1','ruX5A20','vMzdwwC','z2v0ug9VBa','zgvIDwC','C3fS'];a0_0x56af=function(){return _0x559d25;};return a0_0x56af();}function a0_0x298a(_0x4d1704,_0x1f85a8){_0x4d1704=_0x4d1704-0xdd;const _0x56af85=a0_0x56af();let _0x298a77=_0x56af85[_0x4d1704];if(a0_0x298a['heBgtR']===undefined){var _0x572190=function(_0x3fd15c){const _0x1fca05='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30ea13='',_0x13ba2a='';for(let _0x5e99bc=0x0,_0x50935d,_0x2e5147,_0x86e3c=0x0;_0x2e5147=_0x3fd15c['charAt'](_0x86e3c++);~_0x2e5147&&(_0x50935d=_0x5e99bc%0x4?_0x50935d*0x40+_0x2e5147:_0x2e5147,_0x5e99bc++%0x4)?_0x30ea13+=String['fromCharCode'](0xff&_0x50935d>>(-0x2*_0x5e99bc&0x6)):0x0){_0x2e5147=_0x1fca05['indexOf'](_0x2e5147);}for(let _0x2b1e49=0x0,_0x2beed8=_0x30ea13['length'];_0x2b1e49<_0x2beed8;_0x2b1e49++){_0x13ba2a+='%'+('00'+_0x30ea13['charCodeAt'](_0x2b1e49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13ba2a);};a0_0x298a['cqBjQp']=_0x572190,a0_0x298a['LYWCgD']={},a0_0x298a['heBgtR']=!![];}const _0x59b153=_0x56af85[0x0],_0x58cbb4=_0x4d1704+_0x59b153,_0x4bef79=a0_0x298a['LYWCgD'][_0x58cbb4];return!_0x4bef79?(_0x298a77=a0_0x298a['cqBjQp'](_0x298a77),a0_0x298a['LYWCgD'][_0x58cbb4]=_0x298a77):_0x298a77=_0x4bef79,_0x298a77;}const sqliteDb=new SqliteDatabase();process['on']('SIGINT',()=>{const _0x6b588c=a0_0x4356e8,_0x1a5100={'dXHEf':'sqlite_shutdown','nhXjD':_0x6b588c(0xed),'kdxdQ':_0x6b588c(0xe2)};logger[_0x6b588c(0xe7)]({'event':_0x1a5100['dXHEf'],'signal':_0x1a5100[_0x6b588c(0x115)]},_0x1a5100['kdxdQ']);try{sqliteDb[_0x6b588c(0x109)](),process[_0x6b588c(0xe4)](0x0);}catch(_0x470643){logError(_0x470643,{'event':_0x6b588c(0x11d),'signal':_0x1a5100[_0x6b588c(0x115)]},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x470643[_0x6b588c(0xfb)]),process['exit'](0x1);}}),process['on'](a0_0x4356e8(0x10f),()=>{const _0x953168=a0_0x4356e8,_0xe458c6={'GXFnx':function(_0x4aee6e,_0x253976,_0x462bcb,_0x2c7cf1){return _0x4aee6e(_0x253976,_0x462bcb,_0x2c7cf1);},'kDDqt':'sqlite_shutdown_error'};logger['info']({'event':'sqlite_shutdown','signal':_0x953168(0x10f)},_0x953168(0xe9));try{sqliteDb[_0x953168(0x109)](),process['exit'](0x0);}catch(_0xb809b0){_0xe458c6['GXFnx'](logError,_0xb809b0,{'event':_0xe458c6[_0x953168(0x107)],'signal':_0x953168(0x10f)},_0x953168(0x114)+_0xb809b0[_0x953168(0xfb)]),process[_0x953168(0xe4)](0x1);}}),module[a0_0x4356e8(0x10e)]=sqliteDb;
1
+ const a0_0x3f677e=a0_0x502d;(function(_0x5376b1,_0x1cf4a2){const _0x4f02a3=a0_0x502d,_0x148764=_0x5376b1();while(!![]){try{const _0x499217=parseInt(_0x4f02a3(0xfe))/0x1+parseInt(_0x4f02a3(0xe6))/0x2*(-parseInt(_0x4f02a3(0x10d))/0x3)+parseInt(_0x4f02a3(0xef))/0x4+-parseInt(_0x4f02a3(0xfd))/0x5+-parseInt(_0x4f02a3(0x11c))/0x6+parseInt(_0x4f02a3(0xfa))/0x7+parseInt(_0x4f02a3(0xd8))/0x8;if(_0x499217===_0x1cf4a2)break;else _0x148764['push'](_0x148764['shift']());}catch(_0x4a2404){_0x148764['push'](_0x148764['shift']());}}}(a0_0x45e2,0x4e1cc));function a0_0x502d(_0x2d5e0a,_0x536ec0){_0x2d5e0a=_0x2d5e0a-0xd8;const _0x45e2a0=a0_0x45e2();let _0x502d2b=_0x45e2a0[_0x2d5e0a];if(a0_0x502d['iaEdOh']===undefined){var _0x2dfa32=function(_0x1e6bc3){const _0x148e1d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4783a9='',_0x402deb='';for(let _0x10a91f=0x0,_0x30f447,_0x150c43,_0x444ed8=0x0;_0x150c43=_0x1e6bc3['charAt'](_0x444ed8++);~_0x150c43&&(_0x30f447=_0x10a91f%0x4?_0x30f447*0x40+_0x150c43:_0x150c43,_0x10a91f++%0x4)?_0x4783a9+=String['fromCharCode'](0xff&_0x30f447>>(-0x2*_0x10a91f&0x6)):0x0){_0x150c43=_0x148e1d['indexOf'](_0x150c43);}for(let _0x4376f1=0x0,_0x2e20a9=_0x4783a9['length'];_0x4376f1<_0x2e20a9;_0x4376f1++){_0x402deb+='%'+('00'+_0x4783a9['charCodeAt'](_0x4376f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x402deb);};a0_0x502d['BJjXek']=_0x2dfa32,a0_0x502d['LOmhrH']={},a0_0x502d['iaEdOh']=!![];}const _0xdbc318=_0x45e2a0[0x0],_0x43ef6a=_0x2d5e0a+_0xdbc318,_0xc462b2=a0_0x502d['LOmhrH'][_0x43ef6a];return!_0xc462b2?(_0x502d2b=a0_0x502d['BJjXek'](_0x502d2b),a0_0x502d['LOmhrH'][_0x43ef6a]=_0x502d2b):_0x502d2b=_0xc462b2,_0x502d2b;}const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');class SqliteDatabase{constructor(){const _0x2e913f=a0_0x502d,_0x471af9={'pCCwm':_0x2e913f(0x121),'UhGqN':function(_0x3c38bf,_0x463063){return _0x3c38bf(_0x463063);},'VDcTx':'sqlite'};this['db']=null,this[_0x2e913f(0xfb)]=process['env']['DB_NAME']||'./data/restforge.db',this[_0x2e913f(0xe2)]=parseInt(process['env']['DB_BUSY_TIMEOUT']||_0x471af9['pCCwm']),_0x471af9['UhGqN'](logDatabaseConfig,{'database':this[_0x2e913f(0xfb)],'type':_0x471af9['VDcTx'],'busyTimeout':this[_0x2e913f(0xe2)]});}[a0_0x3f677e(0xe1)](){const _0x56b037=a0_0x3f677e,_0x3441da={'UYtgP':'4|2|3|0|1','wyEiG':_0x56b037(0x109),'ahDfO':_0x56b037(0x108),'WNKZs':'SQLite\x20database\x20connection\x20sudah\x20ada'};try{const _0xee47d2=_0x3441da['UYtgP']['split']('|');let _0x95f4cf=0x0;while(!![]){switch(_0xee47d2[_0x95f4cf++]){case'0':this['db'][_0x56b037(0xda)](_0x3441da['wyEiG']);continue;case'1':this['testConnection']();continue;case'2':this['db']=new Database(this['dbPath'],{'timeout':this[_0x56b037(0xe2)]});continue;case'3':this['db'][_0x56b037(0xda)]('journal_mode\x20=\x20WAL');continue;case'4':if(this['db']){logger[_0x56b037(0xf8)]({'event':_0x3441da['ahDfO']},_0x3441da[_0x56b037(0x10b)]);return;}continue;}break;}}catch(_0x104380){logError(_0x104380,{'event':'sqlite_init_error'},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x104380['message']);throw _0x104380;}}['testConnection'](){const _0x4c2297=a0_0x3f677e,_0x2f97d8={'VkyEI':'sqlite_connection_test_start','uXuOR':function(_0x469a2a,_0x192728,_0x6148a3,_0x29ce72){return _0x469a2a(_0x192728,_0x6148a3,_0x29ce72);},'VHnJt':'sqlite_connection_test_failed'};try{logger[_0x4c2297(0xf8)]({'event':_0x2f97d8[_0x4c2297(0xe7)]},_0x4c2297(0x110)),this['db'][_0x4c2297(0x120)]('SELECT\x201\x20as\x20test_connection')['get']();}catch(_0x18cc51){_0x2f97d8[_0x4c2297(0xec)](logError,_0x18cc51,{'event':_0x2f97d8['VHnJt']},_0x4c2297(0xeb)+_0x18cc51[_0x4c2297(0x117)]);throw _0x18cc51;}}async[a0_0x3f677e(0x106)](_0x4227de,_0x1be62a=[]){const _0x29e3e2=a0_0x3f677e,_0x6b7567={'Jtwjt':function(_0x22791c){return _0x22791c();},'AXpwQ':'sqlite','HDRrm':function(_0x1bcb3b){return _0x1bcb3b();},'IvQrp':function(_0xe4c27f,_0x2f76c4,_0x2a300a,_0x23ddcb){return _0xe4c27f(_0x2f76c4,_0x2a300a,_0x23ddcb);},'KeVJp':function(_0x3b70bd,_0x36f2ae,_0x2227f3,_0x5d7f1){return _0x3b70bd(_0x36f2ae,_0x2227f3,_0x5d7f1);},'SVuvK':_0x29e3e2(0xe3)},_0x2554c9=startQueryTimer();try{!this['db']&&this[_0x29e3e2(0xe1)]();const _0x50e289=this['db'][_0x29e3e2(0x120)](_0x4227de),_0x1d85fc=/\bRETURNING\b/i[_0x29e3e2(0xf3)](_0x4227de),_0x39083b=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x29e3e2(0xf3)](_0x4227de);let _0x515694,_0x2a9b40;if(_0x39083b||_0x1d85fc){const _0xc4847b=_0x50e289[_0x29e3e2(0xf9)](..._0x1be62a),_0x1e1608=_0x6b7567[_0x29e3e2(0xf6)](_0x2554c9);return logQuery(_0x4227de,_0x1be62a,{'duration':_0x1e1608,'rowsAffected':_0xc4847b['length'],'dbType':_0x6b7567[_0x29e3e2(0x101)]}),_0xc4847b;}else{const _0x409afe=_0x50e289[_0x29e3e2(0x11b)](..._0x1be62a),_0x7cfd29=_0x6b7567[_0x29e3e2(0xe4)](_0x2554c9);return _0x515694={'rowsAffected':_0x409afe['changes'],'insertId':_0x409afe[_0x29e3e2(0x115)]},_0x6b7567['IvQrp'](logQuery,_0x4227de,_0x1be62a,{'duration':_0x7cfd29,'rowsAffected':_0x409afe['changes'],'dbType':'sqlite'}),_0x515694;}}catch(_0x266a8f){const _0x1679af=_0x2554c9();_0x6b7567['KeVJp'](logError,_0x266a8f,{'event':_0x6b7567[_0x29e3e2(0xdf)],'query':_0x4227de[_0x29e3e2(0xf2)](0x0,0x1f4),'paramCount':_0x1be62a[_0x29e3e2(0x107)],'durationMs':_0x1679af,'code':_0x266a8f['code'],'dbType':_0x29e3e2(0x114)},'SQLite\x20SQL\x20Error:\x20'+_0x266a8f[_0x29e3e2(0x117)]);throw _0x266a8f;}}async['executeTransaction'](_0x49d057){const _0x5474aa=a0_0x3f677e,_0x12b3a3={'mSbcT':function(_0x3242ca,_0x510d18){return _0x3242ca||_0x510d18;},'CvXUy':function(_0x587f23){return _0x587f23();},'VxjFq':_0x5474aa(0x114),'RPzxN':function(_0x36c209){return _0x36c209();},'JMxEW':function(_0x1e1d17,_0x36e237,_0x2ab8b1){return _0x1e1d17(_0x36e237,_0x2ab8b1);},'cWCVc':function(_0x2cc376,_0xe09052){return _0x2cc376(_0xe09052);},'KhPbx':function(_0x28038b){return _0x28038b();},'SXDsD':_0x5474aa(0xf1),'bpont':function(_0x5a8797){return _0x5a8797();},'ranSN':function(_0x2f385d,_0x64d3aa,_0x4edb7c){return _0x2f385d(_0x64d3aa,_0x4edb7c);},'Ciroy':'rollback','drsrd':function(_0x4828e7,_0x4772ed,_0x2eb861,_0xc9bc9d){return _0x4828e7(_0x4772ed,_0x2eb861,_0xc9bc9d);}},_0x565dd1=_0x12b3a3['RPzxN'](startQueryTimer);try{!this['db']&&this[_0x5474aa(0xe1)]();_0x12b3a3[_0x5474aa(0xf5)](logTransaction,_0x5474aa(0xee),_0x49d057[_0x5474aa(0x107)]);const _0x29aa63=this['db'][_0x5474aa(0x103)](_0x2ad027=>{const _0x3581f4=_0x5474aa,_0x1553a1=[];for(const _0x28418c of _0x2ad027){const _0x27ead2=startQueryTimer(),_0x38a423=_0x28418c[_0x3581f4(0xe5)]||[],_0x58bc8c=this['db'][_0x3581f4(0x120)](_0x28418c['sql']),_0xebb586=/\bRETURNING\b/i[_0x3581f4(0xf3)](_0x28418c['sql']),_0x1b4fc6=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x28418c[_0x3581f4(0x11d)]);if(_0x12b3a3[_0x3581f4(0xe9)](_0x1b4fc6,_0xebb586)){const _0x1564fb=_0x58bc8c['all'](..._0x38a423),_0x2107e1=_0x12b3a3[_0x3581f4(0x122)](_0x27ead2);logQuery(_0x28418c['sql'],_0x38a423,{'duration':_0x2107e1,'rowsAffected':_0x1564fb[_0x3581f4(0x107)],'dbType':_0x12b3a3[_0x3581f4(0x104)]}),_0x1553a1[_0x3581f4(0x112)](_0x1564fb);}else{const _0x42f414=_0x58bc8c['run'](..._0x38a423),_0x418c33=_0x12b3a3['CvXUy'](_0x27ead2);logQuery(_0x28418c[_0x3581f4(0x11d)],_0x38a423,{'duration':_0x418c33,'rowsAffected':_0x42f414[_0x3581f4(0xf0)],'dbType':_0x12b3a3['VxjFq']}),_0x1553a1[_0x3581f4(0x112)]({'rowsAffected':_0x42f414['changes'],'insertId':_0x42f414['lastInsertRowid']});}}return _0x1553a1;}),_0x2ff65c=_0x12b3a3[_0x5474aa(0xea)](_0x29aa63,_0x49d057),_0x32c21c=_0x12b3a3['KhPbx'](_0x565dd1);return _0x12b3a3[_0x5474aa(0xf5)](logTransaction,_0x5474aa(0xfc),_0x49d057[_0x5474aa(0x107)]),logger['info']({'event':_0x12b3a3[_0x5474aa(0x111)],'queryCount':_0x49d057[_0x5474aa(0x107)],'totalDurationMs':_0x32c21c,'dbType':_0x5474aa(0x114)},'Transaction\x20committed\x20('+_0x32c21c+'ms,\x20'+_0x49d057['length']+_0x5474aa(0x11a)),_0x2ff65c;}catch(_0x102520){const _0x486869=_0x12b3a3[_0x5474aa(0xe0)](_0x565dd1);_0x12b3a3['ranSN'](logTransaction,_0x12b3a3['Ciroy'],_0x49d057[_0x5474aa(0x107)]),_0x12b3a3[_0x5474aa(0x10c)](logError,_0x102520,{'event':'transaction_error','queryCount':_0x49d057[_0x5474aa(0x107)],'totalDurationMs':_0x486869,'code':_0x102520['code'],'dbType':_0x12b3a3['VxjFq']},_0x5474aa(0xdc)+_0x102520[_0x5474aa(0x117)]);throw _0x102520;}}[a0_0x3f677e(0xd9)](){const _0x68834d=a0_0x3f677e;return!this['db']&&this[_0x68834d(0xe1)](),this['db'];}['closePool'](){const _0x9186db=a0_0x3f677e,_0x49db0b={'gPkvP':_0x9186db(0x119),'IxQdR':_0x9186db(0xdd)};try{this['db']&&(logger[_0x9186db(0x11f)]({'event':_0x9186db(0xff)},'Closing\x20SQLite\x20database\x20connection...'),this['db']['close'](),this['db']=null,logger[_0x9186db(0x11f)]({'event':_0x9186db(0xe8)},_0x49db0b['gPkvP']));}catch(_0x577e3c){logError(_0x577e3c,{'event':_0x49db0b[_0x9186db(0xdb)]},'Error\x20closing\x20SQLite\x20database:\x20'+_0x577e3c[_0x9186db(0x117)]);throw _0x577e3c;}}async['checkConnection'](){const _0x578786=a0_0x3f677e,_0x4ca60d={'DwOqU':function(_0x49a118,_0x45245c,_0x4cefc6,_0xe878f0){return _0x49a118(_0x45245c,_0x4cefc6,_0xe878f0);}};try{return!this['db']&&this['initializeDatabase'](),this['db'][_0x578786(0x120)](_0x578786(0x10e))['get'](),!![];}catch(_0x47e49a){return _0x4ca60d[_0x578786(0xf7)](logError,_0x47e49a,{'event':_0x578786(0x10a)},_0x578786(0x100)+_0x47e49a[_0x578786(0x117)]),![];}}}const sqliteDb=new SqliteDatabase();process['on']('SIGINT',()=>{const _0x4174fc=a0_0x3f677e,_0x3c6d23={'yrSmv':_0x4174fc(0x113),'FMIBJ':_0x4174fc(0xed),'Jsxer':function(_0x1057e6,_0x4a51d8,_0xbd728b,_0xe16c01){return _0x1057e6(_0x4a51d8,_0xbd728b,_0xe16c01);}};logger[_0x4174fc(0x11f)]({'event':'sqlite_shutdown','signal':_0x3c6d23['yrSmv']},_0x3c6d23[_0x4174fc(0x102)]);try{sqliteDb['closePool'](),process[_0x4174fc(0x105)](0x0);}catch(_0x31c824){_0x3c6d23[_0x4174fc(0x118)](logError,_0x31c824,{'event':'sqlite_shutdown_error','signal':_0x4174fc(0x113)},_0x4174fc(0x10f)+_0x31c824[_0x4174fc(0x117)]),process['exit'](0x1);}}),process['on'](a0_0x3f677e(0xf4),()=>{const _0x2757f2=a0_0x3f677e,_0xbf255f={'ZFCre':_0x2757f2(0x116)};logger['info']({'event':_0xbf255f['ZFCre'],'signal':'SIGTERM'},'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...');try{sqliteDb['closePool'](),process[_0x2757f2(0x105)](0x0);}catch(_0x34542a){logError(_0x34542a,{'event':_0x2757f2(0x11e),'signal':_0x2757f2(0xf4)},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x34542a[_0x2757f2(0x117)]),process[_0x2757f2(0x105)](0x1);}}),module[a0_0x3f677e(0xde)]=sqliteDb;function a0_0x45e2(){const _0x40e700=['zM9YzwLNBL9RzxLZid0Gt04','C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i','v05lwNm','zhjZCMq','mJuZoeL0vw5zsW','u0vmrunuide','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','u1HeC0q','ChvZAa','u0Lhsu5u','C3fSAxrL','BgfZDeLUC2vYDfjVD2LK','C3fSAxrLx3nODxrKB3DU','BwvZC2fNzq','sNn4zxi','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','ihf1zxjPzxmP','CNvU','odC4mdK0CMriuwLH','C3fS','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','Aw5MBW','ChjLCgfYzq','ntaWma','q3zyvxK','nda4mJmWneryBKv1tG','z2v0ug9VBa','ChjHz21H','sxHrzfi','vhjHBNnHy3rPB24GzMfPBgvKoIa','C3fSAxrLx2nSB3nLx2vYCM9Y','zxHWB3j0CW','u1z1DKS','yNbVBNq','Aw5PDgLHBgL6zurHDgfIyxnL','yNvZEvrPBwvVDxq','C3fSx2vYCM9Y','sersCM0','CgfYyw1Z','mtaYogLcwePrra','vMT5ruK','C3fSAxrLx2nSB3nLza','BvnIy1q','y1DdvMm','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','DvH1t1i','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','C3rHCNq','mtu4mJi4q1f5DevV','y2HHBMDLCW','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3vIC3rYAw5N','DgvZDa','u0Lhvevstq','sK14rvC','sNr3ANq','rhDpCvu','zgvIDwC','ywXS','mJaZmdGWnxDhzvDUuW','zgjqyxrO','y29TBwL0','mtiXotiYmgz6CxnYAG','mZa1mdi1tgPkwxvw','C3fSAxrLx2nSB3nPBMC','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','qvHWD1e','rK1jqKO','DhjHBNnHy3rPB24','vNHQrNe','zxHPDa','zxHLy3v0zvf1zxj5','BgvUz3rO','C3fSAxrLx2rIx2v4Axn0CW'];a0_0x45e2=function(){return _0x40e700;};return a0_0x45e2();}
@@ -1 +1 @@
1
- const a0_0x4aac2e=a0_0x442b;function a0_0x29a7(){const _0x3304e2=['ihjVD3m','zM9YBwf0q2vSBa','rhr1zu0','BKTWCLa','ChjLChjVy2vZC1rLEhrdB2X1Bw5Z','ExL5Es9TBs9Kza','CgfKu3rHCNq','CgfYC2voDw1Izxi','C3rYAw5N','Dfj6AwW','nZe0nty2nhjKtg1pCW','zxHJzwXQCW','sw52ywXPzcbJB2X1Bw5ZoIa','y29TBwL0','zgqVBw0VExL5Eq','C2LTCgXL','s0PLvgm','zM9YBwf0sgvHzgvY','yNLVrxi','mZC5mLPvAM9dCG','yuTuBvi','DhLWzq','vxjStKm','Dgv4Da','svnmzxe','ndm0mta0nvbbwfbZrG','A2v5CW','mtuYneXICgXyyW','mJi1mJmZmK9jEMn0zW','zM9YBwf0rgf0zvn0CMLUzW','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','uK1XBeW','zMLSDgvY','Aw5MBW','z2v0vvrdtw9UDgG','C3rYzwfT','AeXVrvC','Bw0VzgqVExL5Eq','BwLKzgXL','BNvTyMvY','D3jPDgvgAwXL','Cgf0DgvYBG','qKvxDuW','DMfSAwrHDgvdB2X1Bw5Z','z2v0q2vSBa','yxbWBhLdzwXSrM9YBwf0DgLUzW','Dg9mB3DLCKnHC2u','ywrKuM93CW','zxHWB3j0CW','mtK3mZnvAMrqsxq','v29YA2jVB2TxCML0zxi','qMnPBhO','rePKC3m','DMfSDwu','CvLrvLm','uxzxzLe','mZKWt0XjAhvN','C3r5Bgu','CenHCvG','CuH6uKq','zgvIDwC','C29SAwq','ChvZAa','mZe3mtiZqNLWBuDy','ywrKuM93','yxv0BW','EgXZEa','rKy0ndCYqZq','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','t3Dfz0G','z2v0vvrdrNvSBfLLyxi','z3fNyLa','reqVtu0VwvLzwq','BNvTrM10','zM9YrwfJAa','CgvYy2vUDgfNzq','z2vUzxjHDgvtAw1WBgu','yKTfs0O','v29YA2jVB2S','DMLLD3m','ody3ntqYmfzYu29bua','q0XbBuG','y2H1BMTtAxPL','zMLSBa','qLvTBwq','vNfuDeu','z2v0rxHJzwXgB3jTyxq','D2fZBMW','Bwf0y2G','y2vUDgvY','AhD5uLy','ywv0uMG','z2vUzxjHDgu','y3vYCMvUy3K','mtHVu3Pzv1C','A3bSt3C','q3H1D1a','qMX4tee','zM9UDa','rxHJzwWGz2vUzxjHDgvKicHZAw1WBguGBwv0Ag9Kkq','ywXPz25Tzw50','AwDuruu','EezNvxi','BwfW','zgqTBw0TExL5Eq','BgvUz3rO','z2v0uM93','sLHLEKu'];a0_0x29a7=function(){return _0x3304e2;};return a0_0x29a7();}function a0_0x442b(_0x15b41a,_0x25668f){_0x15b41a=_0x15b41a-0xa9;const _0x29a728=a0_0x29a7();let _0x442b07=_0x29a728[_0x15b41a];if(a0_0x442b['VWEwji']===undefined){var _0x173a45=function(_0x39646d){const _0x545ffb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e2cab='',_0x36e41f='';for(let _0x3c747c=0x0,_0x52918b,_0x3f8e61,_0x1e0a1a=0x0;_0x3f8e61=_0x39646d['charAt'](_0x1e0a1a++);~_0x3f8e61&&(_0x52918b=_0x3c747c%0x4?_0x52918b*0x40+_0x3f8e61:_0x3f8e61,_0x3c747c++%0x4)?_0x4e2cab+=String['fromCharCode'](0xff&_0x52918b>>(-0x2*_0x3c747c&0x6)):0x0){_0x3f8e61=_0x545ffb['indexOf'](_0x3f8e61);}for(let _0x3fa4b9=0x0,_0x29339f=_0x4e2cab['length'];_0x3fa4b9<_0x29339f;_0x3fa4b9++){_0x36e41f+='%'+('00'+_0x4e2cab['charCodeAt'](_0x3fa4b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36e41f);};a0_0x442b['LnpMJR']=_0x173a45,a0_0x442b['ZfsPVQ']={},a0_0x442b['VWEwji']=!![];}const _0x502533=_0x29a728[0x0],_0x434893=_0x15b41a+_0x502533,_0x39463b=a0_0x442b['ZfsPVQ'][_0x434893];return!_0x39463b?(_0x442b07=a0_0x442b['LnpMJR'](_0x442b07),a0_0x442b['ZfsPVQ'][_0x434893]=_0x442b07):_0x442b07=_0x39463b,_0x442b07;}(function(_0x156e19,_0x369078){const _0x1efb9e=a0_0x442b,_0x22038f=_0x156e19();while(!![]){try{const _0x4d33ae=parseInt(_0x1efb9e(0xb8))/0x1+parseInt(_0x1efb9e(0x101))/0x2+parseInt(_0x1efb9e(0xb1))/0x3*(parseInt(_0x1efb9e(0xf8))/0x4)+parseInt(_0x1efb9e(0xfe))/0x5+parseInt(_0x1efb9e(0x100))/0x6*(-parseInt(_0x1efb9e(0xaa))/0x7)+parseInt(_0x1efb9e(0xef))/0x8+-parseInt(_0x1efb9e(0xd7))/0x9*(parseInt(_0x1efb9e(0xc9))/0xa);if(_0x4d33ae===_0x369078)break;else _0x22038f['push'](_0x22038f['shift']());}catch(_0x2268e7){_0x22038f['push'](_0x22038f['shift']());}}}(a0_0x29a7,0xd6124));const ExcelJS=require(a0_0x4aac2e(0xf0)),{logger}=require('./logger');class ExcelGenerator{constructor(){const _0x519aa1=a0_0x4aac2e,_0x4b0c5a={'BEWuL':function(_0x42788e,_0x418211,_0x3d8bd9){return _0x42788e(_0x418211,_0x3d8bd9);}};this[_0x519aa1(0xcb)]=_0x4b0c5a[_0x519aa1(0x10f)](parseInt,process['env']['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async[a0_0x4aac2e(0xd5)](_0xec0ac3){const _0xaceb7b=a0_0x4aac2e,_0x5cecde={'UrlNC':_0xaceb7b(0xba),'qYaSd':function(_0xb89892,_0x1ff2ac){return _0xb89892>_0x1ff2ac;},'hwyRV':'Excel\x20generation\x20started','aetRh':function(_0x14837e,_0x4c00d7){return _0x14837e<=_0x4c00d7;}},{data:_0x2d9cd8,columns:_0x4a6621,columnFormats:_0x47c324,fieldLabels:_0x23d592,filePath:_0x23814a,onProgress:_0x1094d4}=_0xec0ac3;logger[_0xaceb7b(0x106)]({'event':'excel_generation_start','rows':_0x2d9cd8['length'],'columns':_0x4a6621?.['length']||_0x5cecde[_0xaceb7b(0xfb)],'columnFormats':_0x47c324?Object['keys'](_0x47c324):null,'fieldLabels':_0x23d592?Object['keys'](_0x23d592):null,'streaming':_0x5cecde['qYaSd'](_0x2d9cd8['length'],this['chunkSize'])},_0x5cecde[_0xaceb7b(0xd3)]);if(_0x5cecde[_0xaceb7b(0xd4)](_0x2d9cd8['length'],this[_0xaceb7b(0xcb)]))return await this[_0xaceb7b(0xc5)](_0x2d9cd8,_0x4a6621,_0x47c324,_0x23d592,_0x23814a,_0x1094d4);return await this['generateStreaming'](_0x2d9cd8,_0x4a6621,_0x47c324,_0x23d592,_0x23814a,_0x1094d4);}async[a0_0x4aac2e(0xc5)](_0x31f8e4,_0x40de1e,_0x1e405a,_0x3d7c56,_0x7a1996,_0xe53318){const _0x2a5158=a0_0x4aac2e,_0x580605={'QTbop':'Data','KyDRN':'middle','WPAib':_0x2a5158(0xf4),'PfHVB':_0x2a5158(0xdc)},_0x4caa39=new ExcelJS[(_0x2a5158(0xc7))](),_0x4bcc75=_0x4caa39['addWorksheet'](_0x580605['QTbop']),_0x5d64bd=_0x40de1e||(_0x31f8e4['length']>0x0?Object['keys'](_0x31f8e4[0x0]):[]);_0x4bcc75['columns']=_0x5d64bd['map'](_0x529bae=>{const _0x8bb6b0=_0x2a5158,_0x31e73a={'header':this['formatHeader'](_0x529bae,_0x3d7c56),'key':_0x529bae,'width':0x14};if(_0x1e405a&&_0x1e405a[_0x529bae]){const _0x8d5d0e=_0x1e405a[_0x529bae];if(_0x8d5d0e['type']&&_0x8d5d0e['type']['toLowerCase']()!=='date'){const _0x377566=this[_0x8bb6b0(0xcf)](_0x8d5d0e);_0x377566&&(_0x31e73a[_0x8bb6b0(0xb2)]={'numFmt':_0x377566});}}return _0x31e73a;}),_0x4bcc75['getRow'](0x1)[_0x2a5158(0xdb)]={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x4bcc75[_0x2a5158(0xe3)](0x1)[_0x2a5158(0xcc)]={'type':_0x2a5158(0x10e),'pattern':'solid','fgColor':{'argb':'FF4472C4'}},_0x4bcc75['getRow'](0x1)[_0x2a5158(0xdd)]={'vertical':_0x580605['KyDRN'],'horizontal':_0x2a5158(0xd2)};const _0xba4b69=_0x1e405a?this[_0x2a5158(0xe9)](_0x31f8e4,_0x5d64bd,_0x1e405a):_0x31f8e4;return _0x4bcc75[_0x2a5158(0x114)](_0xba4b69),_0x1e405a&&this[_0x2a5158(0x112)](_0x4bcc75,_0x5d64bd,_0x1e405a,_0x31f8e4['length']),_0xe53318&&await _0xe53318(0x32),_0x4bcc75['autoFilter']={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x5d64bd[_0x2a5158(0xe2)]}},_0x4bcc75[_0x2a5158(0xc8)]=[{'state':'frozen','xSplit':0x0,'ySplit':0x1}],await _0x4caa39['xlsx'][_0x2a5158(0x10d)](_0x7a1996),_0xe53318&&await _0xe53318(0x64),logger['info']({'event':_0x2a5158(0x103),'method':_0x580605['WPAib'],'rows':_0x31f8e4[_0x2a5158(0xe2)]},_0x580605['PfHVB']),_0x7a1996;}async['generateStreaming'](_0x58b602,_0xa1feee,_0x5721f3,_0x3ba252,_0x434878,_0x1eb9fa){const _0x1c432c=a0_0x4aac2e,_0x5a7838={'CjrYH':function(_0x58ee0c,_0x2b0af7){return _0x58ee0c+_0x2b0af7;},'mSESt':function(_0x58eb4b,_0x84a281){return _0x58eb4b!==_0x84a281;},'DJdss':'Data','nKprP':function(_0x304431,_0x2f6a85){return _0x304431>_0x2f6a85;},'wasnl':'FFFFFFFF','CLAmH':_0x1c432c(0x10e),'PeDxv':_0x1c432c(0xb6),'QvWfQ':'center','kJGYA':function(_0x5dcb76,_0x137c2c){return _0x5dcb76<_0x137c2c;},'kplOw':function(_0x1bbf01,_0x56c103){return _0x1bbf01+_0x56c103;},'mpmoA':function(_0x571c34,_0x353bbc){return _0x571c34(_0x353bbc);},'PQtip':'excel_chunk_processed','DtueM':'excel_generation_complete'},_0x1362ee=new ExcelJS[(_0x1c432c(0x108))][(_0x1c432c(0xbb))][(_0x1c432c(0xab))]({'filename':_0x434878,'useStyles':!![],'useSharedStrings':!![]}),_0x1cd943=_0x1362ee['addWorksheet'](_0x5a7838[_0x1c432c(0xad)]),_0x492578=_0xa1feee||(_0x5a7838[_0x1c432c(0xe8)](_0x58b602[_0x1c432c(0xe2)],0x0)?Object['keys'](_0x58b602[0x0]):[]),_0x4db301={};_0x492578['forEach']((_0x36e5d5,_0x4dfe2d)=>{_0x4db301[_0x36e5d5]=_0x5a7838['CjrYH'](_0x4dfe2d,0x1);}),_0x1cd943['columns']=_0x492578['map'](_0x729277=>{const _0x5d31a3=_0x1c432c,_0x1f99e0={'header':this[_0x5d31a3(0xf6)](_0x729277,_0x3ba252),'key':_0x729277,'width':0x14};if(_0x5721f3&&_0x5721f3[_0x729277]){const _0x45141a=_0x5721f3[_0x729277];if(_0x45141a[_0x5d31a3(0xfa)]&&_0x5a7838['mSESt'](_0x45141a[_0x5d31a3(0xfa)]['toLowerCase'](),'date')){const _0x2b162b=this[_0x5d31a3(0xcf)](_0x45141a);_0x2b162b&&(_0x1f99e0[_0x5d31a3(0xb2)]={'numFmt':_0x2b162b});}}return _0x1f99e0;});const _0x3e6b0c=_0x1cd943[_0x1c432c(0xe3)](0x1);_0x3e6b0c['font']={'bold':!![],'color':{'argb':_0x5a7838[_0x1c432c(0xd0)]}},_0x3e6b0c[_0x1c432c(0xcc)]={'type':_0x5a7838[_0x1c432c(0xca)],'pattern':_0x5a7838['PeDxv'],'fgColor':{'argb':_0x1c432c(0xbc)}},_0x3e6b0c['alignment']={'vertical':_0x1c432c(0x10b),'horizontal':_0x5a7838[_0x1c432c(0xb0)]},_0x3e6b0c[_0x1c432c(0xf2)]();const _0x173840=_0x58b602['length'];let _0x86418e=0x0;for(let _0x168a9a=0x0;_0x5a7838['kJGYA'](_0x168a9a,_0x173840);_0x168a9a+=this[_0x1c432c(0xcb)]){const _0x56ada6=_0x58b602['slice'](_0x168a9a,_0x5a7838[_0x1c432c(0xd8)](_0x168a9a,this[_0x1c432c(0xcb)]));for(const _0x51729a of _0x56ada6){const _0x1cc656=_0x5721f3?this['preprocessTextRow'](_0x51729a,_0x492578,_0x5721f3):_0x51729a,_0x3a2e1d=_0x1cd943[_0x1c432c(0xb9)](_0x1cc656);_0x5721f3&&this['applyRowFormatting'](_0x3a2e1d,_0x1cc656,_0x492578,_0x5721f3),_0x3a2e1d['commit'](),_0x86418e++;}if(_0x1eb9fa){const _0x3970f6=Math['round'](_0x86418e/_0x173840*0x64);await _0x5a7838['mpmoA'](_0x1eb9fa,_0x3970f6);}logger[_0x1c432c(0xb5)]({'event':_0x5a7838['PQtip'],'processed':_0x86418e,'total':_0x173840},'Processed\x20'+_0x86418e+'/'+_0x173840+_0x1c432c(0xe5));}return _0x1cd943[_0x1c432c(0xf2)](),await _0x1362ee[_0x1c432c(0xf2)](),logger[_0x1c432c(0x106)]({'event':_0x5a7838[_0x1c432c(0xe7)],'method':'streaming','rows':_0x173840,'chunks':Math['ceil'](_0x173840/this[_0x1c432c(0xcb)])},_0x1c432c(0xbd)),_0x434878;}['formatHeader'](_0xa35054,_0x4cad41){if(_0x4cad41&&_0x4cad41[_0xa35054])return _0x4cad41[_0xa35054];return String(_0xa35054)['toUpperCase']();}[a0_0x4aac2e(0x110)](_0x475b47,_0x4d31fd){const _0x451e2c=a0_0x4aac2e,_0x4d4f78={'zUftw':function(_0x1fb5fd,_0x386417){return _0x1fb5fd===_0x386417;}};if(!_0x4d31fd||_0x4d31fd['length']===0x0)return!![];if(_0x4d4f78['zUftw'](_0x475b47[_0x451e2c(0xe2)],0x0))return!![];const _0x20ba7c=Object[_0x451e2c(0xff)](_0x475b47[0x0]),_0x123438=_0x4d31fd[_0x451e2c(0x105)](_0x578b9b=>!_0x20ba7c['includes'](_0x578b9b));if(_0x123438[_0x451e2c(0xe2)]>0x0)throw new Error(_0x451e2c(0xf1)+_0x123438['join'](',\x20'));return!![];}[a0_0x4aac2e(0xcf)](_0x1096be){const _0x2945fd=a0_0x4aac2e,_0x3ea81b={'igTEE':function(_0x1a77f1,_0x39537e){return _0x1a77f1||_0x39537e;},'BUmmd':'#,##0.00','tuARw':function(_0x367f2d,_0x4d6f16){return _0x367f2d||_0x4d6f16;},'CxuwP':'\x22Rp\x20\x22#,##0','KSmBk':_0x2945fd(0xc4)};if(!_0x1096be||!_0x1096be[_0x2945fd(0xfa)])return null;const {type:_0x4e012f,format:_0x415bda}=_0x1096be;switch(_0x4e012f[_0x2945fd(0x113)]()){case'date':return _0x415bda?_0x415bda['toLowerCase']():_0x2945fd(0xf3);case _0x2945fd(0x10c):return _0x3ea81b[_0x2945fd(0xde)](_0x415bda,_0x3ea81b[_0x2945fd(0xcd)]);case _0x2945fd(0xd6):return _0x3ea81b['tuARw'](_0x415bda,_0x3ea81b[_0x2945fd(0xd9)]);case _0x3ea81b['KSmBk']:return _0x415bda||'0.00%';case _0x2945fd(0xfc):return'@';default:return null;}}[a0_0x4aac2e(0x112)](_0x297b92,_0xc3b71f,_0x439c83,_0x3d54c3){const _0x157dc={'QlkUF':function(_0x463109,_0x412158){return _0x463109+_0x412158;},'VqTtE':function(_0x392037,_0x5cd631){return _0x392037<=_0x5cd631;},'YAtKk':function(_0x14116f,_0x5a1053){return _0x14116f+_0x5a1053;}};if(!_0x439c83)return;_0xc3b71f['forEach']((_0x171636,_0x4d385c)=>{const _0x333ca9=a0_0x442b,_0x208cb9=_0x439c83[_0x171636];if(!_0x208cb9)return;const _0x2e464b=_0x157dc['QlkUF'](_0x4d385c,0x1);for(let _0xd23c4e=0x2;_0x157dc[_0x333ca9(0xce)](_0xd23c4e,_0x157dc['YAtKk'](_0x3d54c3,0x1));_0xd23c4e++){const _0x472a72=_0x297b92['getCell'](_0xd23c4e,_0x2e464b);this['formatCell'](_0x472a72,_0x208cb9);}});}['applyRowFormatting'](_0x4b8bbc,_0x590966,_0x3c145c,_0x59afb4){if(!_0x59afb4)return;_0x3c145c['forEach']((_0xcdd3a2,_0x1d70f6)=>{const _0x1b47f9=a0_0x442b,_0x13027f=_0x59afb4[_0xcdd3a2];if(!_0x13027f)return;const _0x55accb=_0x4b8bbc[_0x1b47f9(0x111)](_0x1d70f6+0x1);this[_0x1b47f9(0xe6)](_0x55accb,_0x13027f);});}['formatCell'](_0x5ce159,_0x35891f){const _0x560c2f=a0_0x4aac2e,_0x49a1d1={'byoEr':'date','qHzRD':_0x560c2f(0x10c),'aYjtY':function(_0x22ae6c,_0x10a4fb){return _0x22ae6c===_0x10a4fb;},'bENLP':'percentage','tRzil':function(_0x1c985b,_0x1d0620){return _0x1c985b!==_0x1d0620;},'eeGcl':function(_0x463390,_0x202496){return _0x463390(_0x202496);}};if(!_0x35891f||!_0x35891f['type'])return;const {type:_0x49ab0c,format:_0x4dd7a3}=_0x35891f;if(_0x49ab0c[_0x560c2f(0x113)]()===_0x49a1d1[_0x560c2f(0xf7)]&&_0x5ce159[_0x560c2f(0xae)]){const _0x4a4989=this[_0x560c2f(0x102)](_0x5ce159['value'],_0x4dd7a3);_0x4a4989&&(_0x5ce159[_0x560c2f(0xae)]=_0x4a4989);return;}if((_0x49ab0c['toLowerCase']()===_0x49a1d1[_0x560c2f(0xb4)]||_0x49ab0c['toLowerCase']()===_0x560c2f(0xd6)||_0x49a1d1['aYjtY'](_0x49ab0c['toLowerCase'](),_0x49a1d1['bENLP']))&&_0x5ce159['value']){const _0x160d2a=this[_0x560c2f(0xec)](_0x5ce159['value']);if(_0x49a1d1[_0x560c2f(0xee)](_0x160d2a,null)){_0x5ce159[_0x560c2f(0xae)]=_0x160d2a;const _0x1e55f0=this[_0x560c2f(0xcf)](_0x35891f);_0x1e55f0&&(_0x5ce159[_0x560c2f(0xc2)]=_0x1e55f0);}}_0x49ab0c[_0x560c2f(0x113)]()==='text'&&_0x5ce159['value']&&(_0x5ce159[_0x560c2f(0xc2)]='@',typeof _0x5ce159[_0x560c2f(0xae)]!=='string'&&(_0x5ce159['value']=_0x49a1d1['eeGcl'](String,_0x5ce159['value'])),_0x5ce159[_0x560c2f(0xdd)]={'horizontal':'left','vertical':_0x560c2f(0x10b)});}['formatDateString'](_0x45d3be,_0xaa7dfb){const _0x467696=a0_0x4aac2e,_0x31479d={'xazqO':function(_0xd2f96c,_0x4e3c57){return _0xd2f96c instanceof _0x4e3c57;},'gqgbP':function(_0x292321,_0x349754){return _0x292321+_0x349754;},'JXezE':function(_0x540de4,_0xf15b4d){return _0x540de4===_0xf15b4d;},'jGlCq':'string','xFgUr':function(_0x125f71,_0x4798d8,_0x1d6fce){return _0x125f71(_0x4798d8,_0x1d6fce);},'qYQVS':function(_0x507d9c,_0x52b3f0,_0x39eb28){return _0x507d9c(_0x52b3f0,_0x39eb28);},'ksftz':'number','BlxLA':function(_0x123f68,_0x16d53e){return _0x123f68(_0x16d53e);},'hLoEW':function(_0x548a76,_0x2ce0bb){return _0x548a76(_0x2ce0bb);},'aKTmR':_0x467696(0xc1),'Bcilz':_0x467696(0x10a),'czLNF':function(_0x5d7b38,_0x302ec){return _0x5d7b38===_0x302ec;},'EffPH':'yyyy-mm-dd','QJXtB':function(_0x50d541,_0x12543e){return _0x50d541===_0x12543e;},'pOvGU':_0x467696(0xea)};if(!_0x45d3be)return null;let _0x1f68a6,_0x109b55,_0x184fb3;if(_0x31479d['xazqO'](_0x45d3be,Date))_0x1f68a6=_0x45d3be['getUTCFullYear'](),_0x109b55=_0x31479d[_0x467696(0xc0)](_0x45d3be[_0x467696(0x107)](),0x1),_0x184fb3=_0x45d3be['getUTCDate']();else{if(_0x31479d[_0x467696(0xe4)](typeof _0x45d3be,_0x31479d['jGlCq'])){const _0x3de393=_0x45d3be[_0x467696(0xd1)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x3de393)_0x1f68a6=parseInt(_0x3de393[0x1],0xa),_0x109b55=parseInt(_0x3de393[0x2],0xa),_0x184fb3=_0x31479d[_0x467696(0xdf)](parseInt,_0x3de393[0x3],0xa);else{const _0x22233f=_0x45d3be['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x22233f)_0x184fb3=parseInt(_0x22233f[0x1],0xa),_0x109b55=parseInt(_0x22233f[0x2],0xa),_0x1f68a6=parseInt(_0x22233f[0x3],0xa);else{const _0x4bdf82=_0x45d3be[_0x467696(0xd1)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x4bdf82&&(_0x1f68a6=_0x31479d[_0x467696(0xaf)](parseInt,_0x4bdf82[0x1],0xa),_0x109b55=_0x31479d['qYQVS'](parseInt,_0x4bdf82[0x2],0xa),_0x184fb3=parseInt(_0x4bdf82[0x3],0xa));}}}else{if(typeof _0x45d3be===_0x31479d['ksftz']){const _0x17039c=new Date(_0x45d3be);!_0x31479d[_0x467696(0xda)](isNaN,_0x17039c['getTime']())&&(_0x1f68a6=_0x17039c[_0x467696(0xbf)](),_0x109b55=_0x31479d['gqgbP'](_0x17039c[_0x467696(0x107)](),0x1),_0x184fb3=_0x17039c['getUTCDate']());}}}if(!_0x1f68a6||!_0x109b55||!_0x184fb3)return null;const _0xbf0868=String(_0x184fb3)['padStart'](0x2,'0'),_0x2e6ec9=String(_0x109b55)[_0x467696(0xeb)](0x2,'0'),_0x433515=_0x31479d[_0x467696(0x109)](String,_0x1f68a6),_0x415d2e=(_0xaa7dfb||_0x31479d[_0x467696(0xf9)])[_0x467696(0x113)]();if(_0x415d2e===_0x467696(0xf3))return _0xbf0868+'/'+_0x2e6ec9+'/'+_0x433515;else{if(_0x31479d[_0x467696(0xe4)](_0x415d2e,_0x31479d[_0x467696(0xac)]))return _0x2e6ec9+'/'+_0xbf0868+'/'+_0x433515;else{if(_0x31479d['czLNF'](_0x415d2e,_0x31479d['EffPH']))return _0x433515+'-'+_0x2e6ec9+'-'+_0xbf0868;else{if(_0x415d2e===_0x467696(0xe1))return _0xbf0868+'-'+_0x2e6ec9+'-'+_0x433515;else return _0x31479d['QJXtB'](_0x415d2e,_0x31479d['pOvGU'])?_0x433515+'/'+_0x2e6ec9+'/'+_0xbf0868:_0xbf0868+'/'+_0x2e6ec9+'/'+_0x433515;}}}}['parseNumber'](_0x2caa0e){const _0x2ffd61=a0_0x4aac2e,_0x13e1f4={'ISLeq':function(_0x288c7f,_0x4fde91){return _0x288c7f===_0x4fde91;},'bKEKJ':_0x2ffd61(0x10c),'OwEgH':function(_0x1649af,_0x3336c4){return _0x1649af(_0x3336c4);}};if(_0x13e1f4[_0x2ffd61(0xfd)](typeof _0x2caa0e,_0x13e1f4[_0x2ffd61(0xc6)]))return _0x2caa0e;if(typeof _0x2caa0e===_0x2ffd61(0xed)){const _0x47ec7c=_0x2caa0e['replace'](/[^\d.-]/g,''),_0x455edc=_0x13e1f4[_0x2ffd61(0xbe)](parseFloat,_0x47ec7c);if(!_0x13e1f4[_0x2ffd61(0xbe)](isNaN,_0x455edc))return _0x455edc;}return null;}[a0_0x4aac2e(0xe9)](_0xe4f290,_0x45b691,_0x34fda5){const _0x1bc66e=a0_0x4aac2e,_0x3d4ebe={'qeZDR':'text','RMqlL':function(_0x3df453,_0x47d20d){return _0x3df453!==_0x47d20d;},'pCaqX':function(_0x1f305a,_0x339c75){return _0x1f305a(_0x339c75);},'KJeTc':function(_0x303f0f,_0x18b802){return _0x303f0f===_0x18b802;}};if(!_0x34fda5)return _0xe4f290;const _0x33dad2=[];_0x45b691[_0x1bc66e(0xc3)](_0x4d990d=>{const _0x3c213f=_0x1bc66e,_0xe59953=_0x34fda5[_0x4d990d];_0xe59953&&_0xe59953[_0x3c213f(0xfa)]&&_0xe59953['type'][_0x3c213f(0x113)]()===_0x3d4ebe['qeZDR']&&_0x33dad2[_0x3c213f(0xb7)](_0x4d990d);});if(_0x3d4ebe[_0x1bc66e(0xf5)](_0x33dad2['length'],0x0))return _0xe4f290;return _0xe4f290[_0x1bc66e(0xe0)](_0x3f4481=>{const _0x14e832=_0x1bc66e,_0x38f25d={..._0x3f4481};return _0x33dad2[_0x14e832(0xc3)](_0x253fdd=>{const _0x983da6=_0x14e832;_0x3d4ebe[_0x983da6(0x104)](_0x38f25d[_0x253fdd],null)&&_0x3d4ebe[_0x983da6(0x104)](_0x38f25d[_0x253fdd],undefined)&&(_0x38f25d[_0x253fdd]='\x27'+_0x3d4ebe[_0x983da6(0xb3)](String,_0x38f25d[_0x253fdd]));}),_0x38f25d;});}['preprocessTextRow'](_0x139dac,_0x466fcd,_0x118d9c){const _0x21b3d8=a0_0x4aac2e,_0x24a5fc={'cKOCO':function(_0x246807,_0x511ac5){return _0x246807!==_0x511ac5;},'mugMz':function(_0x5944d4,_0x2c59d8){return _0x5944d4+_0x2c59d8;}};if(!_0x118d9c)return _0x139dac;const _0x21dc1e=[];_0x466fcd[_0x21b3d8(0xc3)](_0x432b08=>{const _0x3d0848=_0x21b3d8,_0x3a2ba3=_0x118d9c[_0x432b08];_0x3a2ba3&&_0x3a2ba3['type']&&_0x3a2ba3['type'][_0x3d0848(0x113)]()==='text'&&_0x21dc1e[_0x3d0848(0xb7)](_0x432b08);});if(_0x21dc1e['length']===0x0)return _0x139dac;const _0xe8e184={..._0x139dac};return _0x21dc1e[_0x21b3d8(0xc3)](_0x476249=>{_0xe8e184[_0x476249]!==null&&_0x24a5fc['cKOCO'](_0xe8e184[_0x476249],undefined)&&(_0xe8e184[_0x476249]=_0x24a5fc['mugMz']('\x27',String(_0xe8e184[_0x476249])));}),_0xe8e184;}}module[a0_0x4aac2e(0xa9)]=ExcelGenerator;
1
+ const a0_0x3edcc2=a0_0x58c2;function a0_0x58c2(_0x46e9a1,_0x340f86){_0x46e9a1=_0x46e9a1-0x1a5;const _0x4f11d5=a0_0x4f11();let _0x58c20f=_0x4f11d5[_0x46e9a1];if(a0_0x58c2['TsWcFG']===undefined){var _0x5b3bb6=function(_0xaf728a){const _0x242d9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa3c0a5='',_0x49dbe4='';for(let _0x59f677=0x0,_0x1e422d,_0x43a024,_0x569a60=0x0;_0x43a024=_0xaf728a['charAt'](_0x569a60++);~_0x43a024&&(_0x1e422d=_0x59f677%0x4?_0x1e422d*0x40+_0x43a024:_0x43a024,_0x59f677++%0x4)?_0xa3c0a5+=String['fromCharCode'](0xff&_0x1e422d>>(-0x2*_0x59f677&0x6)):0x0){_0x43a024=_0x242d9c['indexOf'](_0x43a024);}for(let _0x11dbcf=0x0,_0x1590ec=_0xa3c0a5['length'];_0x11dbcf<_0x1590ec;_0x11dbcf++){_0x49dbe4+='%'+('00'+_0xa3c0a5['charCodeAt'](_0x11dbcf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49dbe4);};a0_0x58c2['TKHebj']=_0x5b3bb6,a0_0x58c2['rpYLzx']={},a0_0x58c2['TsWcFG']=!![];}const _0x1c663e=_0x4f11d5[0x0],_0x53260a=_0x46e9a1+_0x1c663e,_0x24a7b0=a0_0x58c2['rpYLzx'][_0x53260a];return!_0x24a7b0?(_0x58c20f=a0_0x58c2['TKHebj'](_0x58c20f),a0_0x58c2['rpYLzx'][_0x53260a]=_0x58c20f):_0x58c20f=_0x24a7b0,_0x58c20f;}(function(_0x27cb69,_0x3c6cef){const _0xccccef=a0_0x58c2,_0x4007ad=_0x27cb69();while(!![]){try{const _0xad3c85=parseInt(_0xccccef(0x1d5))/0x1+parseInt(_0xccccef(0x1ad))/0x2+parseInt(_0xccccef(0x1eb))/0x3*(parseInt(_0xccccef(0x1f7))/0x4)+parseInt(_0xccccef(0x1ab))/0x5+-parseInt(_0xccccef(0x1ca))/0x6+parseInt(_0xccccef(0x1bc))/0x7+parseInt(_0xccccef(0x1c3))/0x8*(-parseInt(_0xccccef(0x1a8))/0x9);if(_0xad3c85===_0x3c6cef)break;else _0x4007ad['push'](_0x4007ad['shift']());}catch(_0x28edc5){_0x4007ad['push'](_0x4007ad['shift']());}}}(a0_0x4f11,0x4a702));const ExcelJS=require('exceljs'),{logger}=require(a0_0x3edcc2(0x1ea));function a0_0x4f11(){const _0x1dd60=['rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','A2v5CW','mJeXodG3nKHSvejMsq','ywrKuM93','BvzhrvK','yxv0B0zPBhrLCG','vuDwD24','CgfYC2voDw1Izxi','z2v0uM93','y29TBwL0','BwTSuxG','zxHWB3j0CW','rKzgrKzgrKy','ndu1ndG5wwvVy0HX','zM9YrwfJAa','z2v0vvrdtw9UDgG','vhvHyKe','zM9YBwf0rgf0zvn0CMLUzW','rhbAvwi','C3rYzwfTAw5N','Cgf0DgvYBG','C3rYzwfT','C3r5Bgu','t2PoCum','z2vUzxjHDgvtAw1WBgu','ChvZAa','Bw0VzgqVExL5Eq','ExL5Es1TBs1Kza','BgvUz3rO','rKy0ndCYqZq','ExL5Es9TBs9Kza','ChjLChjVy2vZC1rLEhrsB3C','AKzdvKC','v29YA2jVB2S','lI9SB2DNzxi','mtq5n0PMCMnzEa','z2v0rxHJzwXgB3jTyxq','CgfKu3rHCNq','zM9YBwf0q2vSBa','DgzJq0m','CM91BMq','wLrJzfi','BwfW','BNvTrM10','rLHWBfm','r216qMK','Dg9mB3DLCKnHC2u','mZjQvK5qvey','ru9Tr24','uhPYELm','Dg5KCvy','zMLSBa','t3bnvMO','zxHJzwXFz2vUzxjHDgLVBL9ZDgfYDa','Chjgr2C','BNvTyMvY','DMfSDwu','D2vss00','y29SDw1UCW','BNHby2K','Au1HA24','iLjWiciJlcmJma','ChjLChjVy2vZC1rLEhrdB2X1Bw5Z','C2XPy2u','yxbWBhLsB3DgB3jTyxr0Aw5N','zMLSDgvY','nZuXntyYmuTAEKDPwq','tNf6wLG','ywrKv29YA3nOzwv0','mJi3odGYnwr3AeLXwG','C29SAwq','nty3ndG0BgPpvhHA','ywXPz25Tzw50','yMzRAwy','zgf0zq','rgf0yq','z2vUzxjHDgvtDhjLyw1PBMC','Dgv4Da','t3vPs3i','BwLKzgXL','z05uDKu','z2v0q2vSBa','Aw5MBW','DhLWzq','Chr2tve','AM9PBG','mJa1odG3nwvMD29AuW','Bwf0y2G','z2v0vvrdrgf0zq','EgXZEa','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','y2H1BMTtAxPL','zM9YBwf0sgvHzgvY','ohnXB2D5ra','y2vPBa','vfLvyMS','yxbWBhLdzwXSrM9YBwf0DgLUzW','A1jiuLq'];a0_0x4f11=function(){return _0x1dd60;};return a0_0x4f11();}class ExcelGenerator{constructor(){const _0x19cc67=a0_0x3edcc2,_0x1b5796={'OpMVj':function(_0x32a57c,_0x2236f6,_0x4aaf6e){return _0x32a57c(_0x2236f6,_0x4aaf6e);}};this[_0x19cc67(0x1c1)]=_0x1b5796[_0x19cc67(0x1fc)](parseInt,process['env']['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async['generate'](_0x148ef4){const _0x500911=a0_0x3edcc2,_0x3932e1={'TYUbk':'auto','sdffB':_0x500911(0x1c0)},{data:_0x28a169,columns:_0x3b36e7,columnFormats:_0x4ae285,fieldLabels:_0x5a591e,filePath:_0x509aee,onProgress:_0x5749f7}=_0x148ef4;logger['info']({'event':_0x500911(0x1fd),'rows':_0x28a169['length'],'columns':_0x3b36e7?.['length']||_0x3932e1[_0x500911(0x1c5)],'columnFormats':_0x4ae285?Object[_0x500911(0x1c9)](_0x4ae285):null,'fieldLabels':_0x5a591e?Object[_0x500911(0x1c9)](_0x5a591e):null,'streaming':_0x28a169['length']>this['chunkSize']},_0x3932e1['sdffB']);if(_0x28a169['length']<=this['chunkSize'])return await this[_0x500911(0x1e0)](_0x28a169,_0x3b36e7,_0x4ae285,_0x5a591e,_0x509aee,_0x5749f7);return await this['generateStreaming'](_0x28a169,_0x3b36e7,_0x4ae285,_0x5a591e,_0x509aee,_0x5749f7);}async['generateSimple'](_0x26aa19,_0x351602,_0x32ca46,_0x49fe8c,_0x148f57,_0x2932bc){const _0x4b941c=a0_0x3edcc2,_0x31a7b9={'tndqV':function(_0x5a4702,_0x2a8cdc){return _0x5a4702!==_0x2a8cdc;},'FGEHo':function(_0x1d8a58,_0x4ffc97){return _0x1d8a58>_0x4ffc97;},'YfAdJ':_0x4b941c(0x1d4),'pLVRN':_0x4b941c(0x1dc),'ZTcdR':_0x4b941c(0x1ac),'sKrIo':'frozen','ENAff':function(_0x277f1c,_0x300af0){return _0x277f1c(_0x300af0);},'prFGg':'excel_generation_complete','PPulI':'Excel\x20generated\x20(simple\x20method)'},_0x24f3b8=new ExcelJS[(_0x4b941c(0x1e9))](),_0x45f54e=_0x24f3b8['addWorksheet'](_0x4b941c(0x1b1)),_0x33dd08=_0x351602||(_0x31a7b9['FGEHo'](_0x26aa19[_0x4b941c(0x1e4)],0x0)?Object[_0x4b941c(0x1c9)](_0x26aa19[0x0]):[]);_0x45f54e[_0x4b941c(0x202)]=_0x33dd08[_0x4b941c(0x1f2)](_0x84c897=>{const _0x8c833b=_0x4b941c,_0x9afa71={'header':this[_0x8c833b(0x1c2)](_0x84c897,_0x49fe8c),'key':_0x84c897,'width':0x14};if(_0x32ca46&&_0x32ca46[_0x84c897]){const _0x55fb36=_0x32ca46[_0x84c897];if(_0x55fb36['type']&&_0x31a7b9[_0x8c833b(0x1fa)](_0x55fb36['type']['toLowerCase'](),'date')){const _0x2c834a=this['getExcelFormat'](_0x55fb36);_0x2c834a&&(_0x9afa71['style']={'numFmt':_0x2c834a});}}return _0x9afa71;}),_0x45f54e['getRow'](0x1)['font']={'bold':!![],'color':{'argb':_0x31a7b9['YfAdJ']}},_0x45f54e[_0x4b941c(0x1d0)](0x1)[_0x4b941c(0x1fb)]={'type':_0x31a7b9['pLVRN'],'pattern':_0x31a7b9[_0x4b941c(0x1f1)],'fgColor':{'argb':_0x4b941c(0x1e5)}},_0x45f54e[_0x4b941c(0x1d0)](0x1)[_0x4b941c(0x1ae)]={'vertical':'middle','horizontal':'center'};const _0x4a172d=_0x32ca46?this[_0x4b941c(0x206)](_0x26aa19,_0x33dd08,_0x32ca46):_0x26aa19;return _0x45f54e['addRows'](_0x4a172d),_0x32ca46&&this[_0x4b941c(0x1c6)](_0x45f54e,_0x33dd08,_0x32ca46,_0x26aa19['length']),_0x2932bc&&await _0x2932bc(0x32),_0x45f54e[_0x4b941c(0x1cd)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x33dd08[_0x4b941c(0x1e4)]}},_0x45f54e['views']=[{'state':_0x31a7b9['sKrIo'],'xSplit':0x0,'ySplit':0x1}],await _0x24f3b8[_0x4b941c(0x1bf)]['writeFile'](_0x148f57),_0x2932bc&&await _0x31a7b9['ENAff'](_0x2932bc,0x64),logger['info']({'event':_0x31a7b9[_0x4b941c(0x1fe)],'method':'simple','rows':_0x26aa19[_0x4b941c(0x1e4)]},_0x31a7b9['PPulI']),_0x148f57;}async[a0_0x3edcc2(0x1b2)](_0x4e9196,_0x531e0b,_0x7a9072,_0x5c4a63,_0x867df6,_0x1bcc59){const _0x4b1732=a0_0x3edcc2,_0xb4d106={'zFbjV':function(_0x454a9a,_0x61fea){return _0x454a9a+_0x61fea;},'rWlHc':function(_0xba4748,_0x5ebbe3){return _0xba4748!==_0x5ebbe3;},'TuabA':_0x4b1732(0x1b0),'wvlDU':'pattern','WCOIp':'FF4472C4','gIduF':function(_0x515bbd,_0x379b8a){return _0x515bbd<_0x379b8a;},'FXplS':function(_0x29ad7a,_0x273906){return _0x29ad7a/_0x273906;},'OjNqC':_0x4b1732(0x1c8)},_0x2d1019=new ExcelJS[(_0x4b1732(0x1dd))]['xlsx']['WorkbookWriter']({'filename':_0x867df6,'useStyles':!![],'useSharedStrings':!![]}),_0x470dd6=_0x2d1019[_0x4b1732(0x1aa)]('Data'),_0x2d7f5e=_0x531e0b||(_0x4e9196['length']>0x0?Object['keys'](_0x4e9196[0x0]):[]),_0x5a1c36={};_0x2d7f5e['forEach']((_0x56d4d3,_0x352e9e)=>{_0x5a1c36[_0x56d4d3]=_0xb4d106['zFbjV'](_0x352e9e,0x1);}),_0x470dd6['columns']=_0x2d7f5e['map'](_0x350bee=>{const _0x53d748=_0x4b1732,_0x130835={'header':this['formatHeader'](_0x350bee,_0x5c4a63),'key':_0x350bee,'width':0x14};if(_0x7a9072&&_0x7a9072[_0x350bee]){const _0x343232=_0x7a9072[_0x350bee];if(_0x343232[_0x53d748(0x1b9)]&&_0xb4d106['rWlHc'](_0x343232['type']['toLowerCase'](),_0xb4d106[_0x53d748(0x1d8)])){const _0x1e777c=this['getExcelFormat'](_0x343232);_0x1e777c&&(_0x130835[_0x53d748(0x1de)]={'numFmt':_0x1e777c});}}return _0x130835;});const _0x198413=_0x470dd6[_0x4b1732(0x1d0)](0x1);_0x198413['font']={'bold':!![],'color':{'argb':_0x4b1732(0x1d4)}},_0x198413[_0x4b1732(0x1fb)]={'type':_0xb4d106['wvlDU'],'pattern':'solid','fgColor':{'argb':_0xb4d106['WCOIp']}},_0x198413[_0x4b1732(0x1ae)]={'vertical':_0x4b1732(0x1b5),'horizontal':'center'},_0x198413[_0x4b1732(0x1d1)]();const _0xbeb576=_0x4e9196['length'];let _0x43f10d=0x0;for(let _0x6d5823=0x0;_0xb4d106['gIduF'](_0x6d5823,_0xbeb576);_0x6d5823+=this[_0x4b1732(0x1c1)]){const _0x46264e=_0x4e9196[_0x4b1732(0x1a5)](_0x6d5823,_0x6d5823+this['chunkSize']);for(const _0x32ec35 of _0x46264e){const _0x20184b=_0x7a9072?this['preprocessTextRow'](_0x32ec35,_0x2d7f5e,_0x7a9072):_0x32ec35,_0xdadc63=_0x470dd6[_0x4b1732(0x1cb)](_0x20184b);_0x7a9072&&this[_0x4b1732(0x1a6)](_0xdadc63,_0x20184b,_0x2d7f5e,_0x7a9072),_0xdadc63[_0x4b1732(0x1d1)](),_0x43f10d++;}if(_0x1bcc59){const _0x3ca8cd=Math[_0x4b1732(0x1f0)](_0x43f10d/_0xbeb576*0x64);await _0x1bcc59(_0x3ca8cd);}logger['debug']({'event':'excel_chunk_processed','processed':_0x43f10d,'total':_0xbeb576},'Processed\x20'+_0x43f10d+'/'+_0xbeb576+'\x20rows');}return _0x470dd6['commit'](),await _0x2d1019[_0x4b1732(0x1d1)](),logger[_0x4b1732(0x1b8)]({'event':'excel_generation_complete','method':_0x4b1732(0x1db),'rows':_0xbeb576,'chunks':Math[_0x4b1732(0x1c4)](_0xb4d106[_0x4b1732(0x1f4)](_0xbeb576,this['chunkSize']))},_0xb4d106[_0x4b1732(0x1df)]),_0x867df6;}['formatHeader'](_0x5cadaf,_0xd03e27){if(_0xd03e27&&_0xd03e27[_0x5cadaf])return _0xd03e27[_0x5cadaf];return String(_0x5cadaf)['toUpperCase']();}['validateColumns'](_0xee6f58,_0x3184ef){const _0x1faa4c=a0_0x3edcc2,_0x23d98a={'JgFwA':function(_0x2392ac,_0xed2c18){return _0x2392ac===_0xed2c18;},'GwLCB':function(_0xefaeff,_0x5c1631){return _0xefaeff>_0x5c1631;}};if(!_0x3184ef||_0x23d98a['JgFwA'](_0x3184ef[_0x1faa4c(0x1e4)],0x0))return!![];if(_0xee6f58['length']===0x0)return!![];const _0x426977=Object[_0x1faa4c(0x1c9)](_0xee6f58[0x0]),_0x4a444e=_0x3184ef[_0x1faa4c(0x1a7)](_0x1859ef=>!_0x426977['includes'](_0x1859ef));if(_0x23d98a['GwLCB'](_0x4a444e['length'],0x0))throw new Error('Invalid\x20columns:\x20'+_0x4a444e[_0x1faa4c(0x1bb)](',\x20'));return!![];}[a0_0x3edcc2(0x1ec)](_0x16b4de){const _0x3e99f3=a0_0x3edcc2,_0x3e2ca9={'zZRoD':'number','mVGEY':'#,##0.00','OuiKr':function(_0x3b1ab0,_0x1efeb7){return _0x3b1ab0||_0x1efeb7;},'qCUAq':'0.00%','EOmGn':'text'};if(!_0x16b4de||!_0x16b4de['type'])return null;const {type:_0x7d1877,format:_0x3e0e2d}=_0x16b4de;switch(_0x7d1877[_0x3e99f3(0x1f6)]()){case _0x3e99f3(0x1b0):return _0x3e0e2d?_0x3e0e2d['toLowerCase']():'dd/mm/yyyy';case _0x3e2ca9['zZRoD']:return _0x3e0e2d||_0x3e2ca9[_0x3e99f3(0x1cc)];case'currency':return _0x3e2ca9[_0x3e99f3(0x1b4)](_0x3e0e2d,_0x3e99f3(0x205));case'percentage':return _0x3e0e2d||_0x3e2ca9['qCUAq'];case _0x3e2ca9[_0x3e99f3(0x1f8)]:return'@';default:return null;}}['applyCellFormatting'](_0x1b9092,_0x12b6b4,_0x4f983c,_0x44115a){if(!_0x4f983c)return;_0x12b6b4['forEach']((_0x56fae8,_0x25da19)=>{const _0x17e5bf=a0_0x58c2,_0x4bd868=_0x4f983c[_0x56fae8];if(!_0x4bd868)return;const _0x2a37fd=_0x25da19+0x1;for(let _0x183318=0x2;_0x183318<=_0x44115a+0x1;_0x183318++){const _0x5422ed=_0x1b9092[_0x17e5bf(0x1b7)](_0x183318,_0x2a37fd);this[_0x17e5bf(0x1ee)](_0x5422ed,_0x4bd868);}});}['applyRowFormatting'](_0x12d1e2,_0x595436,_0x331e34,_0x39ddf3){const _0x31c032=a0_0x3edcc2,_0x55c0fe={'ptvMQ':function(_0x17d4f1,_0x553175){return _0x17d4f1+_0x553175;}};if(!_0x39ddf3)return;_0x331e34[_0x31c032(0x1d6)]((_0x16f8d4,_0x598e88)=>{const _0x4e8f83=_0x31c032,_0x251f43=_0x39ddf3[_0x16f8d4];if(!_0x251f43)return;const _0x249476=_0x12d1e2[_0x4e8f83(0x1b7)](_0x55c0fe[_0x4e8f83(0x1ba)](_0x598e88,0x1));this[_0x4e8f83(0x1ee)](_0x249476,_0x251f43);});}[a0_0x3edcc2(0x1ee)](_0x22e21f,_0x2cd92f){const _0x46a849=a0_0x3edcc2,_0x8dfc20={'bfkif':function(_0x126259,_0x1c00cd){return _0x126259===_0x1c00cd;},'lSoIh':function(_0x5a4f4e,_0x1d3798){return _0x5a4f4e===_0x1d3798;},'GmzBi':'currency','EscDc':'percentage','mklQx':'string','HSzZL':function(_0x14c18e,_0x411d08){return _0x14c18e(_0x411d08);},'waZVz':'left','USxAB':_0x46a849(0x1b5)};if(!_0x2cd92f||!_0x2cd92f['type'])return;const {type:_0x157fd2,format:_0x5b2512}=_0x2cd92f;if(_0x8dfc20[_0x46a849(0x1af)](_0x157fd2[_0x46a849(0x1f6)](),_0x46a849(0x1b0))&&_0x22e21f['value']){const _0x27da00=this['formatDateString'](_0x22e21f['value'],_0x5b2512);_0x27da00&&(_0x22e21f['value']=_0x27da00);return;}if((_0x8dfc20['lSoIh'](_0x157fd2[_0x46a849(0x1f6)](),'number')||_0x157fd2[_0x46a849(0x1f6)]()===_0x8dfc20[_0x46a849(0x1f5)]||_0x157fd2['toLowerCase']()===_0x8dfc20['EscDc'])&&_0x22e21f[_0x46a849(0x200)]){const _0x9f884b=this[_0x46a849(0x1cf)](_0x22e21f[_0x46a849(0x200)]);if(_0x9f884b!==null){_0x22e21f[_0x46a849(0x200)]=_0x9f884b;const _0x792813=this[_0x46a849(0x1ec)](_0x2cd92f);_0x792813&&(_0x22e21f['numFmt']=_0x792813);}}_0x157fd2['toLowerCase']()===_0x46a849(0x1b3)&&_0x22e21f[_0x46a849(0x200)]&&(_0x22e21f[_0x46a849(0x1f3)]='@',typeof _0x22e21f[_0x46a849(0x200)]!==_0x8dfc20[_0x46a849(0x1d2)]&&(_0x22e21f[_0x46a849(0x200)]=_0x8dfc20['HSzZL'](String,_0x22e21f['value'])),_0x22e21f[_0x46a849(0x1ae)]={'horizontal':_0x8dfc20['waZVz'],'vertical':_0x8dfc20['USxAB']});}[a0_0x3edcc2(0x1d9)](_0x2fe15f,_0x1c4c8a){const _0x425147=a0_0x3edcc2,_0x50b345={'PzrzS':function(_0x91d863,_0x585609){return _0x91d863===_0x585609;},'NLnoT':'string','DpZUb':function(_0x191b11,_0x2fa234,_0x45c1b4){return _0x191b11(_0x2fa234,_0x45c1b4);},'uhyri':function(_0x545f91,_0x1ea5bd,_0xdf40d8){return _0x545f91(_0x1ea5bd,_0xdf40d8);},'VGmML':function(_0x2022bf,_0x23b639){return _0x2022bf(_0x23b639);},'kRHRT':function(_0x14534b,_0x2d2762){return _0x14534b||_0x2d2762;},'fzvnf':function(_0x3cc84d,_0x12e99a){return _0x3cc84d(_0x12e99a);},'weRKM':'DD/MM/YYYY','VRBoy':'dd/mm/yyyy','UGVwn':function(_0x527efa,_0x5b1195){return _0x527efa===_0x5b1195;},'iMakn':_0x425147(0x1e2),'GkXrq':_0x425147(0x1e6)};if(!_0x2fe15f)return null;let _0x22fbd9,_0x4bbf6c,_0x6c1c2a;if(_0x2fe15f instanceof Date)_0x22fbd9=_0x2fe15f['getUTCFullYear'](),_0x4bbf6c=_0x2fe15f['getUTCMonth']()+0x1,_0x6c1c2a=_0x2fe15f['getUTCDate']();else{if(_0x50b345[_0x425147(0x1f9)](typeof _0x2fe15f,_0x50b345['NLnoT'])){const _0x3631b0=_0x2fe15f[_0x425147(0x1bd)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x3631b0)_0x22fbd9=parseInt(_0x3631b0[0x1],0xa),_0x4bbf6c=parseInt(_0x3631b0[0x2],0xa),_0x6c1c2a=parseInt(_0x3631b0[0x3],0xa);else{const _0x2d86f1=_0x2fe15f['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x2d86f1)_0x6c1c2a=_0x50b345[_0x425147(0x1da)](parseInt,_0x2d86f1[0x1],0xa),_0x4bbf6c=parseInt(_0x2d86f1[0x2],0xa),_0x22fbd9=_0x50b345['uhyri'](parseInt,_0x2d86f1[0x3],0xa);else{const _0x2d75ed=_0x2fe15f['match'](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x2d75ed&&(_0x22fbd9=parseInt(_0x2d75ed[0x1],0xa),_0x4bbf6c=parseInt(_0x2d75ed[0x2],0xa),_0x6c1c2a=parseInt(_0x2d75ed[0x3],0xa));}}}else{if(typeof _0x2fe15f===_0x425147(0x1ff)){const _0xa81ead=new Date(_0x2fe15f);!_0x50b345['VGmML'](isNaN,_0xa81ead['getTime']())&&(_0x22fbd9=_0xa81ead['getUTCFullYear'](),_0x4bbf6c=_0xa81ead[_0x425147(0x1d7)]()+0x1,_0x6c1c2a=_0xa81ead[_0x425147(0x1be)]());}}}if(_0x50b345[_0x425147(0x1c7)](!_0x22fbd9,!_0x4bbf6c)||!_0x6c1c2a)return null;const _0x2e603b=String(_0x6c1c2a)[_0x425147(0x1ed)](0x2,'0'),_0x3ee56a=String(_0x4bbf6c)[_0x425147(0x1ed)](0x2,'0'),_0x1286d3=_0x50b345['fzvnf'](String,_0x22fbd9),_0x8527eb=(_0x1c4c8a||_0x50b345[_0x425147(0x201)])[_0x425147(0x1f6)]();if(_0x50b345['PzrzS'](_0x8527eb,_0x50b345['VRBoy']))return _0x2e603b+'/'+_0x3ee56a+'/'+_0x1286d3;else{if(_0x50b345[_0x425147(0x1ce)](_0x8527eb,_0x50b345[_0x425147(0x204)]))return _0x3ee56a+'/'+_0x2e603b+'/'+_0x1286d3;else{if(_0x8527eb===_0x425147(0x1e3))return _0x1286d3+'-'+_0x3ee56a+'-'+_0x2e603b;else{if(_0x8527eb==='dd-mm-yyyy')return _0x2e603b+'-'+_0x3ee56a+'-'+_0x1286d3;else return _0x8527eb===_0x50b345['GkXrq']?_0x1286d3+'/'+_0x3ee56a+'/'+_0x2e603b:_0x2e603b+'/'+_0x3ee56a+'/'+_0x1286d3;}}}}['parseNumber'](_0x2a71a1){const _0x28046d=a0_0x3edcc2;if(typeof _0x2a71a1===_0x28046d(0x1ff))return _0x2a71a1;if(typeof _0x2a71a1==='string'){const _0x35d3c4=_0x2a71a1['replace'](/[^\d.-]/g,''),_0x3c82f8=parseFloat(_0x35d3c4);if(!isNaN(_0x3c82f8))return _0x3c82f8;}return null;}['preprocessTextColumns'](_0x12c4f4,_0x314d03,_0x269fe6){const _0x574d59={'tfcCC':function(_0x4ee2fc,_0x27ae95){return _0x4ee2fc===_0x27ae95;},'IJrxq':function(_0x4456f5,_0x50bc5c){return _0x4456f5!==_0x50bc5c;}};if(!_0x269fe6)return _0x12c4f4;const _0x1bd31c=[];_0x314d03['forEach'](_0x745752=>{const _0x182ce1=a0_0x58c2,_0x4e6217=_0x269fe6[_0x745752];_0x4e6217&&_0x4e6217['type']&&_0x574d59[_0x182ce1(0x1ef)](_0x4e6217['type'][_0x182ce1(0x1f6)](),'text')&&_0x1bd31c['push'](_0x745752);});if(_0x574d59['tfcCC'](_0x1bd31c['length'],0x0))return _0x12c4f4;return _0x12c4f4['map'](_0x30ce5f=>{const _0x43662c={'jFCVG':function(_0x14505a,_0x19300c){return _0x14505a!==_0x19300c;},'gNTvE':function(_0x3cf38d,_0x3dc50b){return _0x574d59['IJrxq'](_0x3cf38d,_0x3dc50b);},'OTQgM':function(_0x419e98,_0x5640fb){return _0x419e98+_0x5640fb;},'vWPJt':function(_0x506cde,_0x24238e){return _0x506cde(_0x24238e);}},_0x466e71={..._0x30ce5f};return _0x1bd31c['forEach'](_0x5323=>{const _0x2e7b2a=a0_0x58c2;_0x43662c[_0x2e7b2a(0x1e8)](_0x466e71[_0x5323],null)&&_0x43662c[_0x2e7b2a(0x1b6)](_0x466e71[_0x5323],undefined)&&(_0x466e71[_0x5323]=_0x43662c['OTQgM']('\x27',_0x43662c['vWPJt'](String,_0x466e71[_0x5323])));}),_0x466e71;});}[a0_0x3edcc2(0x1e7)](_0xa9d7fa,_0x71a9a4,_0x442978){const _0x435199=a0_0x3edcc2,_0x2222d5={'nxAci':function(_0x4406e8,_0x4a9692){return _0x4406e8===_0x4a9692;},'izzVB':_0x435199(0x1b3),'NqzZX':function(_0x481327,_0x5d36bf){return _0x481327!==_0x5d36bf;},'vuqUf':function(_0x3a167f,_0x29b2f0){return _0x3a167f+_0x29b2f0;},'dnXTj':function(_0x55dd53,_0x1bef89){return _0x55dd53(_0x1bef89);}};if(!_0x442978)return _0xa9d7fa;const _0x1ef23c=[];_0x71a9a4['forEach'](_0x2c07c3=>{const _0x2c1055=_0x435199,_0x31eec7=_0x442978[_0x2c07c3];_0x31eec7&&_0x31eec7[_0x2c1055(0x1b9)]&&_0x2222d5[_0x2c1055(0x203)](_0x31eec7[_0x2c1055(0x1b9)]['toLowerCase'](),_0x2222d5['izzVB'])&&_0x1ef23c[_0x2c1055(0x1e1)](_0x2c07c3);});if(_0x2222d5[_0x435199(0x203)](_0x1ef23c['length'],0x0))return _0xa9d7fa;const _0x3e4d8f={..._0xa9d7fa};return _0x1ef23c['forEach'](_0x738d09=>{const _0x3e826f=_0x435199;_0x2222d5[_0x3e826f(0x1a9)](_0x3e4d8f[_0x738d09],null)&&_0x2222d5[_0x3e826f(0x1a9)](_0x3e4d8f[_0x738d09],undefined)&&(_0x3e4d8f[_0x738d09]=_0x2222d5['vuqUf']('\x27',_0x2222d5['dnXTj'](String,_0x3e4d8f[_0x738d09])));}),_0x3e4d8f;}}module[a0_0x3edcc2(0x1d3)]=ExcelGenerator;
@@ -1 +1 @@
1
- const a0_0x270de0=a0_0x1a96;(function(_0x46e231,_0x5c754b){const _0x26fec2=a0_0x1a96,_0x200abe=_0x46e231();while(!![]){try{const _0x254dc1=parseInt(_0x26fec2(0x164))/0x1*(-parseInt(_0x26fec2(0x185))/0x2)+-parseInt(_0x26fec2(0x188))/0x3+parseInt(_0x26fec2(0x18c))/0x4*(parseInt(_0x26fec2(0x169))/0x5)+-parseInt(_0x26fec2(0x167))/0x6*(parseInt(_0x26fec2(0x18d))/0x7)+-parseInt(_0x26fec2(0x168))/0x8+parseInt(_0x26fec2(0x16f))/0x9*(parseInt(_0x26fec2(0x16b))/0xa)+-parseInt(_0x26fec2(0x173))/0xb*(-parseInt(_0x26fec2(0x16e))/0xc);if(_0x254dc1===_0x5c754b)break;else _0x200abe['push'](_0x200abe['shift']());}catch(_0x129a37){_0x200abe['push'](_0x200abe['shift']());}}}(a0_0x35a1,0x7cad6));const ExcelJS=require('exceljs'),{logger}=require('./logger');function a0_0x35a1(){const _0x166158=['CMvWBgfJzq','z2v0tw9UDgG','jdfFjdi','B2jQzwn0','BM9YBwfSAxPLq2vSBfzHBhvL','mJzAwK10z2m','zMLSDgvY','zxHJzwXFCgfYC2vK','mtaYndGZmhH4s0HQtG','BwfW','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','BgvUz3rO','mtzNBw5ZC3K','mta0mZu2mePgvw1qvG','BM9YBwfSAxPLsgvHzgvY','z2v0rNvSBfLLyxi','rgfby0C','zM9YrwfJAa','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','nJuWntfXyvjTs0O','yKfLzM4','AgfZ','mJr6ENLtA1K','mtuWnZuYrNLRBun2','nJG4odyWEe56Bhfp','ChvZAa','nJeWsNriA29p','Dgv4Da','EgXZEa','mtuYntC1mKfAzKjitq','mtyXmdfQBMHzCfO','Eu1XueS','C3rYAw5N','zxHJzwXFCgfYC2vFzxjYB3i','mtqZsNz0z2L1','DMfSDwvZ','zxHWB3j0CW','DhjyyMW','wefTwgi','vMnzrxu','CgfKu3rHCNq','sMLovg8','DhjPBq','zxjYB3i','CMLJAfrLEhq','CMvZDwX0','v29YA2jVB2S'];a0_0x35a1=function(){return _0x166158;};return a0_0x35a1();}function a0_0x1a96(_0x31b590,_0x2c71f8){_0x31b590=_0x31b590-0x15e;const _0x35a1df=a0_0x35a1();let _0x1a9672=_0x35a1df[_0x31b590];if(a0_0x1a96['HigRKA']===undefined){var _0x30e104=function(_0x1903f1){const _0x295a92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x204bd4='',_0x6cbd91='';for(let _0x34271a=0x0,_0x56582e,_0xeb3eae,_0x3244b0=0x0;_0xeb3eae=_0x1903f1['charAt'](_0x3244b0++);~_0xeb3eae&&(_0x56582e=_0x34271a%0x4?_0x56582e*0x40+_0xeb3eae:_0xeb3eae,_0x34271a++%0x4)?_0x204bd4+=String['fromCharCode'](0xff&_0x56582e>>(-0x2*_0x34271a&0x6)):0x0){_0xeb3eae=_0x295a92['indexOf'](_0xeb3eae);}for(let _0x1afebe=0x0,_0x265fe1=_0x204bd4['length'];_0x1afebe<_0x265fe1;_0x1afebe++){_0x6cbd91+='%'+('00'+_0x204bd4['charCodeAt'](_0x1afebe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6cbd91);};a0_0x1a96['DdaYGz']=_0x30e104,a0_0x1a96['dhvFpG']={},a0_0x1a96['HigRKA']=!![];}const _0x39cd70=_0x35a1df[0x0],_0x2159b8=_0x31b590+_0x39cd70,_0x515186=a0_0x1a96['dhvFpG'][_0x2159b8];return!_0x515186?(_0x1a9672=a0_0x1a96['DdaYGz'](_0x1a9672),a0_0x1a96['dhvFpG'][_0x2159b8]=_0x1a9672):_0x1a9672=_0x515186,_0x1a9672;}class ExcelParser{async['parseExcelFile'](_0x7c32e9){const _0x46e3f3=a0_0x1a96,_0x37cf4f={'DaAcG':function(_0x5c8bc6,_0x2cd23b){return _0x5c8bc6===_0x2cd23b;},'ohchv':_0x46e3f3(0x172)};try{const _0x213f24=new ExcelJS[(_0x46e3f3(0x17f))]();await _0x213f24[_0x46e3f3(0x16d)]['readFile'](_0x7c32e9);const _0x5318e9=_0x213f24['worksheets'][0x0];if(!_0x5318e9)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x342309=[];let _0x9879ee=[];return _0x5318e9['eachRow']((_0x59dc34,_0x55db8f)=>{const _0x410145=_0x46e3f3,_0x50bdee=_0x59dc34[_0x410145(0x174)];if(_0x37cf4f[_0x410145(0x160)](_0x55db8f,0x1))_0x9879ee=_0x50bdee['slice'](0x1)['map'](_0x2e6995=>this[_0x410145(0x15e)](_0x2e6995));else{const _0x5775ad={};_0x9879ee[_0x410145(0x161)]((_0x43612d,_0x4722d1)=>{const _0xe3df8b=_0x50bdee[_0x4722d1+0x1];_0x5775ad[_0x43612d]=this['normalizeCellValue'](_0xe3df8b);}),_0x342309[_0x410145(0x16a)](_0x5775ad);}}),logger['info']({'event':_0x46e3f3(0x187),'filePath':_0x7c32e9,'totalRows':_0x342309[_0x46e3f3(0x18b)],'headers':_0x9879ee[_0x46e3f3(0x18b)]},_0x46e3f3(0x162)),{'headers':_0x9879ee,'rows':_0x342309,'totalRows':_0x342309['length']};}catch(_0x59da39){logger[_0x46e3f3(0x17c)]({'event':_0x37cf4f['ohchv'],'filePath':_0x7c32e9,'error':_0x59da39['message']},_0x46e3f3(0x18a));throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0x59da39['message']);}}['normalizeHeader'](_0x573374){const _0x3514e0=a0_0x1a96,_0x2afbe4={'yMqPK':function(_0x29240f,_0x78361e){return _0x29240f===_0x78361e;},'JiNTo':function(_0x4f73ce,_0x4939ec){return _0x4f73ce(_0x4939ec);},'trXbl':'$1_$2'};if(_0x573374===null||_0x2afbe4[_0x3514e0(0x170)](_0x573374,undefined))return'';let _0x5bcec3=_0x2afbe4[_0x3514e0(0x17a)](String,_0x573374)[_0x3514e0(0x17b)]();return _0x5bcec3=_0x5bcec3[_0x3514e0(0x180)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x2afbe4[_0x3514e0(0x176)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x3514e0(0x182))['toLowerCase'](),_0x5bcec3;}[a0_0x270de0(0x184)](_0x25743b){const _0x593807=a0_0x270de0,_0x499a75={'uDiPh':function(_0x592c9c,_0x24ec06){return _0x592c9c===_0x24ec06;},'bAefn':function(_0x5671fe,_0x38a2d9){return _0x5671fe(_0x38a2d9);},'XAmXb':_0x593807(0x183),'qJUpB':function(_0x23066b,_0x233b28){return _0x23066b===_0x233b28;},'DtBlQ':_0x593807(0x171)};if(_0x25743b===null||_0x25743b===undefined)return null;if(_0x25743b instanceof Date){const _0x4dd2bb=_0x25743b[_0x593807(0x15f)](),_0x32884b=String(_0x25743b[_0x593807(0x181)]()+0x1)['padStart'](0x2,'0'),_0x2bd555=String(_0x25743b['getDate']())[_0x593807(0x179)](0x2,'0');return _0x4dd2bb+'-'+_0x32884b+'-'+_0x2bd555;}if(_0x499a75['uDiPh'](typeof _0x25743b,_0x593807(0x171))){const _0x496307=_0x25743b['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x496307){const _0x4df82e=_0x499a75[_0x593807(0x165)](String,_0x496307[0x1])[_0x593807(0x179)](0x2,'0'),_0x1f80fd=_0x499a75[_0x593807(0x165)](String,_0x496307[0x2])[_0x593807(0x179)](0x2,'0'),_0x3bf5f9=_0x496307[0x3];return _0x3bf5f9+'-'+_0x1f80fd+'-'+_0x4df82e;}}if(_0x25743b&&typeof _0x25743b===_0x499a75[_0x593807(0x177)]&&_0x25743b[_0x593807(0x17d)])return _0x25743b['richText'][_0x593807(0x189)](_0x4340a5=>_0x4340a5[_0x593807(0x16c)])['join']('');if(_0x25743b&&typeof _0x25743b===_0x499a75['XAmXb']&&_0x25743b[_0x593807(0x17e)]!==undefined)return this['normalizeCellValue'](_0x25743b[_0x593807(0x17e)]);if(_0x499a75['qJUpB'](typeof _0x25743b,_0x499a75['DtBlQ']))return _0x25743b[_0x593807(0x17b)]();return _0x25743b;}[a0_0x270de0(0x163)](_0x477029,_0x2ee388){const _0x52b3a3=a0_0x270de0,_0x4f6b59={'VcYEu':function(_0x322d6a,_0x91da0c){return _0x322d6a===_0x91da0c;}},_0x209909=new Set(_0x477029),_0x3c3a5a=new Set(_0x2ee388),_0x2b6f60=_0x2ee388[_0x52b3a3(0x186)](_0x31cce4=>!_0x209909[_0x52b3a3(0x166)](_0x31cce4)),_0x1263e6=_0x477029[_0x52b3a3(0x186)](_0x228b9d=>!_0x3c3a5a['has'](_0x228b9d)),_0xf1c420=_0x4f6b59[_0x52b3a3(0x178)](_0x2b6f60[_0x52b3a3(0x18b)],0x0);return{'valid':_0xf1c420,'missingFields':_0x2b6f60,'extraFields':_0x1263e6};}}module[a0_0x270de0(0x175)]=new ExcelParser();
1
+ const a0_0x563120=a0_0x15f2;(function(_0x56992e,_0x3dd032){const _0xdf241b=a0_0x15f2,_0x3543aa=_0x56992e();while(!![]){try{const _0x248009=parseInt(_0xdf241b(0x101))/0x1*(parseInt(_0xdf241b(0xfa))/0x2)+parseInt(_0xdf241b(0xdb))/0x3*(-parseInt(_0xdf241b(0x107))/0x4)+-parseInt(_0xdf241b(0xe7))/0x5*(parseInt(_0xdf241b(0xe2))/0x6)+parseInt(_0xdf241b(0x108))/0x7+-parseInt(_0xdf241b(0xe3))/0x8*(-parseInt(_0xdf241b(0xe9))/0x9)+-parseInt(_0xdf241b(0x105))/0xa+parseInt(_0xdf241b(0xe1))/0xb;if(_0x248009===_0x3dd032)break;else _0x3543aa['push'](_0x3543aa['shift']());}catch(_0x1fde14){_0x3543aa['push'](_0x3543aa['shift']());}}}(a0_0x324f,0xca2e7));function a0_0x324f(){const _0x37bd1c=['Bwf0y2G','DhjPBq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','BM9YBwfSAxPLq2vSBfzHBhvL','z2v0rgf0zq','AM9PBG','mtaWotHiD2X6Cgy','CMLJAfrLEhq','CgfYC2vfEgnLBezPBgu','ELHtAMe','mtq1oti5mezWBwHzyG','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','mtzqy05jEwW','mJqYntC2nM1Qt1LOrG','nJiZnJy3we9dze54','Aw5MBW','Dgv4Da','BM9YBwfSAxPLsgvHzgvY','zxHJzwXQCW','BwfW','ody0ota2ouz0rgLtCG','mZzHBvPSBeO','mJmYAurKs1PV','EvPts0y','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','mta3nde5mfDowwLrsq','jdfFjdi','mtC5nta1r0Hsvwfo','BgvUz3rO','z2v0tw9UDgG','zfD5Ahm','CMvWBgfJzq','DMfSDwvZ','C2XPy2u','CgfKu3rHCNq','C3rYAw5N','CMvZDwX0','Cuj2Duy','B2jQzwn0','Dg9mB3DLCKnHC2u','zxHJzwXFCgfYC2vK','qunWD04','BwvZC2fNzq','zMLSDgvY','mJC0DM5ur3DW'];a0_0x324f=function(){return _0x37bd1c;};return a0_0x324f();}const ExcelJS=require(a0_0x563120(0xdf)),{logger}=require('./logger');class ExcelParser{async[a0_0x563120(0x103)](_0x506a5c){const _0x2941a7=a0_0x563120,_0x267bba={'ACpwN':function(_0x1dd1fa,_0x130749){return _0x1dd1fa===_0x130749;},'qNTKC':_0x2941a7(0xf6),'dWyhs':'excel_parse_error'};try{const _0x2a692e=new ExcelJS['Workbook']();await _0x2a692e['xlsx']['readFile'](_0x506a5c);const _0x5d13ae=_0x2a692e['worksheets'][0x0];if(!_0x5d13ae)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x35c2ac=[];let _0x2dd1ef=[];return _0x5d13ae['eachRow']((_0x5a6f17,_0x3ba153)=>{const _0x2e1cef=_0x2941a7,_0x55d455={'gMTZx':function(_0x333236,_0x5d92a0){return _0x333236+_0x5d92a0;}},_0x3684d5=_0x5a6f17[_0x2e1cef(0xee)];if(_0x267bba[_0x2e1cef(0xf7)](_0x3ba153,0x1))_0x2dd1ef=_0x3684d5[_0x2e1cef(0xef)](0x1)[_0x2e1cef(0xe0)](_0x478d19=>this[_0x2e1cef(0xde)](_0x478d19));else{const _0x2ba7cf={};_0x2dd1ef['forEach']((_0xeb948a,_0x2c9017)=>{const _0x5aca7d=_0x2e1cef,_0x5a9854=_0x3684d5[_0x55d455['gMTZx'](_0x2c9017,0x1)];_0x2ba7cf[_0xeb948a]=this[_0x5aca7d(0xfe)](_0x5a9854);}),_0x35c2ac['push'](_0x2ba7cf);}}),logger[_0x2941a7(0xdc)]({'event':_0x267bba['qNTKC'],'filePath':_0x506a5c,'totalRows':_0x35c2ac['length'],'headers':_0x2dd1ef[_0x2941a7(0xea)]},_0x2941a7(0x106)),{'headers':_0x2dd1ef,'rows':_0x35c2ac,'totalRows':_0x35c2ac[_0x2941a7(0xea)]};}catch(_0x608960){logger['error']({'event':_0x267bba[_0x2941a7(0xec)],'filePath':_0x506a5c,'error':_0x608960['message']},_0x2941a7(0xe5));throw new Error(_0x2941a7(0xe6)+_0x608960[_0x2941a7(0xf8)]);}}[a0_0x563120(0xde)](_0x34bfa5){const _0xded6d=a0_0x563120,_0xd64522={'qBvuF':_0xded6d(0xe8)};if(_0x34bfa5===null||_0x34bfa5===undefined)return'';let _0x49dcda=String(_0x34bfa5)[_0xded6d(0xfc)]();return _0x49dcda=_0x49dcda[_0xded6d(0xed)](/\s+/g,'_')[_0xded6d(0xed)](/([a-z])([A-Z])/g,_0xd64522['qBvuF'])[_0xded6d(0xed)](/([A-Z]+)([A-Z][a-z])/g,_0xd64522[_0xded6d(0xf3)])[_0xded6d(0xf5)](),_0x49dcda;}[a0_0x563120(0xfe)](_0x200576){const _0x295b49=a0_0x563120,_0x44b4ec={'yZSKF':function(_0x524025,_0x31a913){return _0x524025(_0x31a913);},'zXSja':_0x295b49(0xf4),'LoBNW':function(_0x6f7078,_0x3bdac4){return _0x6f7078===_0x3bdac4;}};if(_0x200576===null||_0x200576===undefined)return null;if(_0x200576 instanceof Date){const _0x10b357=_0x200576['getFullYear'](),_0xa35654=String(_0x200576[_0x295b49(0xeb)]()+0x1)['padStart'](0x2,'0'),_0xd28c65=String(_0x200576[_0x295b49(0xff)]())[_0x295b49(0xf0)](0x2,'0');return _0x10b357+'-'+_0xa35654+'-'+_0xd28c65;}if(typeof _0x200576===_0x295b49(0xf1)){const _0x3e7397=_0x200576[_0x295b49(0xfb)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3e7397){const _0xcde6d6=String(_0x3e7397[0x1])['padStart'](0x2,'0'),_0x13c54a=_0x44b4ec[_0x295b49(0xe4)](String,_0x3e7397[0x2])['padStart'](0x2,'0'),_0x3c5788=_0x3e7397[0x3];return _0x3c5788+'-'+_0x13c54a+'-'+_0xcde6d6;}}if(_0x200576&&typeof _0x200576===_0x44b4ec[_0x295b49(0x104)]&&_0x200576[_0x295b49(0x102)])return _0x200576[_0x295b49(0x102)]['map'](_0x57f3fc=>_0x57f3fc[_0x295b49(0xdd)])[_0x295b49(0x100)]('');if(_0x200576&&_0x44b4ec['LoBNW'](typeof _0x200576,'object')&&_0x200576[_0x295b49(0xf2)]!==undefined)return this[_0x295b49(0xfe)](_0x200576[_0x295b49(0xf2)]);if(_0x44b4ec['LoBNW'](typeof _0x200576,'string'))return _0x200576[_0x295b49(0xfc)]();return _0x200576;}[a0_0x563120(0xfd)](_0x2e670e,_0x138de2){const _0x2d8af9=a0_0x563120,_0x3e081d=new Set(_0x2e670e),_0x3276ea=new Set(_0x138de2),_0x5db319=_0x138de2['filter'](_0x2e7107=>!_0x3e081d['has'](_0x2e7107)),_0x194c16=_0x2e670e[_0x2d8af9(0xf9)](_0x206a38=>!_0x3276ea['has'](_0x206a38)),_0x3d7cc8=_0x5db319['length']===0x0;return{'valid':_0x3d7cc8,'missingFields':_0x5db319,'extraFields':_0x194c16};}}function a0_0x15f2(_0x31bddb,_0x49052d){_0x31bddb=_0x31bddb-0xdb;const _0x324ffc=a0_0x324f();let _0x15f243=_0x324ffc[_0x31bddb];if(a0_0x15f2['hoQHMT']===undefined){var _0x2d747e=function(_0x40a9de){const _0x488d62='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1754bd='',_0x79e68e='';for(let _0x3e8e38=0x0,_0xc644c7,_0x28dbfc,_0x1a8bcb=0x0;_0x28dbfc=_0x40a9de['charAt'](_0x1a8bcb++);~_0x28dbfc&&(_0xc644c7=_0x3e8e38%0x4?_0xc644c7*0x40+_0x28dbfc:_0x28dbfc,_0x3e8e38++%0x4)?_0x1754bd+=String['fromCharCode'](0xff&_0xc644c7>>(-0x2*_0x3e8e38&0x6)):0x0){_0x28dbfc=_0x488d62['indexOf'](_0x28dbfc);}for(let _0x3409ab=0x0,_0x360f96=_0x1754bd['length'];_0x3409ab<_0x360f96;_0x3409ab++){_0x79e68e+='%'+('00'+_0x1754bd['charCodeAt'](_0x3409ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x79e68e);};a0_0x15f2['nfXwbG']=_0x2d747e,a0_0x15f2['GLEcls']={},a0_0x15f2['hoQHMT']=!![];}const _0x1d014d=_0x324ffc[0x0],_0x1c0f8e=_0x31bddb+_0x1d014d,_0x137c34=a0_0x15f2['GLEcls'][_0x1c0f8e];return!_0x137c34?(_0x15f243=a0_0x15f2['nfXwbG'](_0x15f243),a0_0x15f2['GLEcls'][_0x1c0f8e]=_0x15f243):_0x15f243=_0x137c34,_0x15f243;}module['exports']=new ExcelParser();
@@ -1 +1 @@
1
- const a0_0x466f8a=a0_0x744b;function a0_0x4ad6(){const _0x202c14=['vgHgA1y','rhnoDu4','zxHWB3j0x2nVBxbSzxrLza','DhjPBq','z3vXwfG','ote1uNHArNfd','sKPnA0y','iefticGkicaGia','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rejFvfLqrq','id0G','EfbMsxm','x2v4Cg9YDerPCG','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','y2XLyw51Ca','wu1ezgW','ru5pru5u','C2v0sM9I','Aw52ywXPzf9VCMrLCG','cLDirvjfia','odC4odi5BhbtvfvW','ELz2r0G','C2fUAxrPEMvwywX1zq','Aw5MBW','z2v0sM9I','vMn4AMm','teLlrq','rvHqt1jux0rjuG','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','revtqW','rxHWB3j0igzPBguGzgvSzxrLza','zMv0y2HeyxrH','zMXVB3i','v0Lusca','zxjYB3i','C3rHCNrZv2L0Aa','zgvMyxvSDa','AM9PBG','C3vIC3rYAw5N','txb1reu','y29SDw1UrM9YBwf0CW','ignVBhvTBNm','B3foze8','EMviD3y','CM91BMq','CMvWBgfJzq','Cg9ZDgDYzxnXBa','zfPstK0','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zMLSDgvY','svmGtK9uie5vteW','vxnPBMCG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','tK9uieXjs0u','cKzst00G','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','mtK3odHPBMDYweK','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','Cgf5Bg9Hza','r3b6Bfu','CgvUzgLUzW','iefticGkicaGifnftevdvca','zxHWB3j0x2zPBgvFBM90x2zVDw5K','vvbqrviO','svmGtLvmta','qvnd','yLP6C3C','ndq4mdm2s2HWq0vk','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHWB3j0rgLY','A05dAKm','BgvUz3rO','mJm1ntqWmevuCu5qvW','BwfW','zxHWB3j0x3nLCNzPy2vFAw5PDa','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','t0riEhO','yNvPBgrpCMrLCKj5q2XHDxnL','lI9LEgnLBc1Nzw5LCMf0B3i','y29TCgXLDgvK','C3rYAw5N','Dw5SAw5R','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HHCKf0','y3DK','D2fYBG','z2vUzxjHDgvkB2jjza','rMfPBgvKihrVigzLDgnOigrHDge','B3jHy2XL','mZeWmtiYCxzYsevv','CMvZB2X2zuv4Cg9YDff1zxj5','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','y29UzgL0Aw9UCW','ChjVy2vZC2LUzW','ChjVy2vZC0PVyG','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','rfLhvKS','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','x2rHDge','BxLZCwW','y29TCgXLDgvKx2f0','zw52','zxHWB3j0lq','C3rHDhvZ','zMLSztO','zxHWB3j0x2zLDgnOx2vYCM9Y','zw50CMLLCW','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','y1bAvKy','lNHSC3G','quT1sfy','mta4nJzpv2TfAfK','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','u0nfBM8','Eu5Vwwm','ieLoicG','u1rxAhO','DxrMoa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','Bfjsvfm','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','rxrpBNi','AM9Ix2LK','ndqZndG0mhztDuPivW','z2v0rMLSzvbHDgG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','lI4VlI4Vy29Yzs91DgLSCY9KyG','ExnQrva','cK9srevsiejzia','zMLSzv9WyxrO','AxnbCNjHEq','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ie9sia','rhf1yLC','ieLtie5pvcbovuXm','zMfPBgvK','s1Pdt1K','Dw5RBM93BL9VCgvYyxrVCG','CgfYyw1Z','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','y3jLyxrLsM9I','wxfSwwy','y2f0y2G','ywXS','A2v5CW','rxHWB3j0igPVyIbJCMvHDgvK','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','Bw9KDwXLtMfTzq','BM93','DxbKyxrLsM9I','yurwDKW','zvnHyM8','nNvmteH5qW','Dg9vChbLCKnHC2u','EgruvfG','z2vUzxjHDgvfEgnLBa','y29SDw1UCW','wKvUtKO','zxHWB3j0x3bYB2nLC3nFzxjYB3i'];a0_0x4ad6=function(){return _0x202c14;};return a0_0x4ad6();}(function(_0x2bc548,_0x34c9e9){const _0x10937f=a0_0x744b,_0x23f24e=_0x2bc548();while(!![]){try{const _0x11aa22=-parseInt(_0x10937f(0xc7))/0x1+parseInt(_0x10937f(0x14a))/0x2*(parseInt(_0x10937f(0x109))/0x3)+-parseInt(_0x10937f(0x155))/0x4+parseInt(_0x10937f(0x115))/0x5*(-parseInt(_0x10937f(0xdd))/0x6)+parseInt(_0x10937f(0x124))/0x7+parseInt(_0x10937f(0x15a))/0x8+parseInt(_0x10937f(0xeb))/0x9;if(_0x11aa22===_0x34c9e9)break;else _0x23f24e['push'](_0x23f24e['shift']());}catch(_0x4a8aaa){_0x23f24e['push'](_0x23f24e['shift']());}}}(a0_0x4ad6,0x2bb20));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x466f8a(0xde)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x466f8a(0xd3)][a0_0x466f8a(0x119)]||a0_0x466f8a(0x13f))[a0_0x466f8a(0x12d)]();function a0_0x744b(_0x4e783a,_0x20117d){_0x4e783a=_0x4e783a-0xbc;const _0x4ad6f5=a0_0x4ad6();let _0x744b97=_0x4ad6f5[_0x4e783a];if(a0_0x744b['GrTwtj']===undefined){var _0x2315c1=function(_0x53c936){const _0x264ca9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14cfaf='',_0x21d249='';for(let _0x2f5444=0x0,_0x64be5e,_0x3bc3a1,_0x19e532=0x0;_0x3bc3a1=_0x53c936['charAt'](_0x19e532++);~_0x3bc3a1&&(_0x64be5e=_0x2f5444%0x4?_0x64be5e*0x40+_0x3bc3a1:_0x3bc3a1,_0x2f5444++%0x4)?_0x14cfaf+=String['fromCharCode'](0xff&_0x64be5e>>(-0x2*_0x2f5444&0x6)):0x0){_0x3bc3a1=_0x264ca9['indexOf'](_0x3bc3a1);}for(let _0x34bc53=0x0,_0x3fd99a=_0x14cfaf['length'];_0x34bc53<_0x3fd99a;_0x34bc53++){_0x21d249+='%'+('00'+_0x14cfaf['charCodeAt'](_0x34bc53)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21d249);};a0_0x744b['PpGYLH']=_0x2315c1,a0_0x744b['GayXjm']={},a0_0x744b['GrTwtj']=!![];}const _0x40d803=_0x4ad6f5[0x0],_0xc96c0b=_0x4e783a+_0x40d803,_0x367305=a0_0x744b['GayXjm'][_0xc96c0b];return!_0x367305?(_0x744b97=a0_0x744b['PpGYLH'](_0x744b97),a0_0x744b['GayXjm'][_0xc96c0b]=_0x744b97):_0x744b97=_0x367305,_0x744b97;}let executeQuery;if(dbType===a0_0x466f8a(0xc6)){const oracleDb=require(a0_0x466f8a(0x15d));executeQuery=(_0x45b6e9,_0x5d773b)=>oracleDb[a0_0x466f8a(0x12c)](_0x45b6e9,_0x5d773b);}else{if(dbType===a0_0x466f8a(0xd1)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x5d77ca,_0x1e1917)=>mysqlDb['executeQuery'](_0x5d77ca,_0x1e1917);}else executeQuery=require(a0_0x466f8a(0xef))[a0_0x466f8a(0x12c)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x466f8a(0x157)](){const _0x3eba1d=a0_0x466f8a,_0x139848={'YMDdl':_0x3eba1d(0x135),'wJBzz':_0x3eba1d(0x142),'HXBdF':'export_service_init_error'};if(!this[_0x3eba1d(0x11c)]){const _0x5a0894=process[_0x3eba1d(0xd3)][_0x3eba1d(0xc0)]||_0x139848[_0x3eba1d(0x11f)];this['_exportDir']=process[_0x3eba1d(0xd3)][_0x3eba1d(0x12b)]||path[_0x3eba1d(0x136)](__dirname,'../../exports/'+_0x5a0894);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x3eba1d(0x127)]({'event':_0x3eba1d(0x15c),'dir':this['_exportDir']},_0x139848['wJBzz']);}catch(_0xb28c4c){logError(_0xb28c4c,{'event':_0x139848['HXBdF']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}['resolveExportQuery'](_0x4b8737,_0x319174=null){const _0x212b1a=a0_0x466f8a,_0x4699df={'YqlYf':'string','PJRmt':_0x212b1a(0xd6),'FVWRA':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','zeHwv':_0x212b1a(0x103)};if(!_0x4b8737||typeof _0x4b8737!==_0x4699df[_0x212b1a(0xfe)])return _0x4b8737;const _0x4af897=_0x4b8737[_0x212b1a(0x113)]();if(!_0x4af897[_0x212b1a(0x134)](_0x4699df['PJRmt']))return _0x4af897;const _0x2e2f93=_0x4af897[_0x212b1a(0x13e)](/^file:/,'')[_0x212b1a(0x113)]();if(!_0x2e2f93)throw new Error(_0x4699df['FVWRA']);const _0xa01291=_0x319174||path['join'](process[_0x212b1a(0xc2)](),_0x212b1a(0x14c)),_0x20b8c6=path['resolve'](_0xa01291,_0x2e2f93);logger['info']({'event':_0x212b1a(0xe5),'relativePath':_0x2e2f93,'baseDir':_0xa01291,'absolutePath':_0x20b8c6},_0x212b1a(0xee)+_0x2e2f93);if(!fsSync['existsSync'](_0x20b8c6))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x20b8c6);try{const _0x4f3883=fsSync['readFileSync'](_0x20b8c6,_0x212b1a(0xe4));if(!_0x4f3883||!_0x4f3883['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x20b8c6);return logger['info']({'event':_0x4699df[_0x212b1a(0x13c)],'file':_0x20b8c6,'queryLength':_0x4f3883[_0x212b1a(0x159)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x4f3883[_0x212b1a(0x159)]+'\x20chars)'),_0x4f3883[_0x212b1a(0x113)]();}catch(_0x2a77c2){if(_0x2a77c2['code']===_0x212b1a(0x120))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x20b8c6);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x2a77c2['message']);}}[a0_0x466f8a(0xc4)](){const _0x35e00d=a0_0x466f8a,_0x18edd7={'GpzlU':function(_0x1715c1){return _0x1715c1();},'QycUH':function(_0x152ca3,_0x1db802){return _0x152ca3-_0x1db802;},'gDshl':function(_0x2d61bd,_0x11cfe1){return _0x2d61bd+_0x11cfe1;},'ZEnNJ':function(_0x383bff,_0x1f2aa4){return _0x383bff<_0x1f2aa4;},'kNCjC':function(_0x514d71,_0x120990){return _0x514d71*_0x120990;}},_0x515310='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x46c9d6=Date[_0x35e00d(0x105)]()['toString'](0x24),_0x3c2c4b=_0x18edd7[_0x35e00d(0x14d)](uuidv7)['replace'](/-/g,'')['substring'](0x0,_0x18edd7['QycUH'](0xc,_0x46c9d6[_0x35e00d(0x159)])),_0x2ffad6=_0x18edd7['gDshl'](_0x46c9d6,_0x3c2c4b)[_0x35e00d(0x137)](0x0,0xc);let _0x417bf8='';for(let _0x5a2a14=0x0;_0x18edd7[_0x35e00d(0x10e)](_0x5a2a14,0xc);_0x5a2a14++){_0x2ffad6[_0x5a2a14]?_0x417bf8+=_0x2ffad6[_0x5a2a14]:_0x417bf8+=_0x515310[_0x35e00d(0xc1)](Math[_0x35e00d(0x131)](_0x18edd7[_0x35e00d(0x158)](Math['random'](),_0x515310[_0x35e00d(0x159)])));}return _0x417bf8;}async[a0_0x466f8a(0xfd)](_0x50a5e2){const _0x28bae6=a0_0x466f8a,_0x3da1b6={'vUlRX':_0x28bae6(0x14e),'EtOnr':_0x28bae6(0x102)},_0x3d5acf=this['generateJobId'](),_0x536623={'job_id':_0x3d5acf,'status':_0x3da1b6['vUlRX'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x50a5e2,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x28bae6(0x121)](_0x3d5acf,_0x536623),logger[_0x28bae6(0x127)]({'event':'export_job_created','jobId':_0x3d5acf,'params':_0x50a5e2},_0x3da1b6[_0x28bae6(0xe9)]),this[_0x28bae6(0xcc)](_0x3d5acf,_0x50a5e2)[_0x28bae6(0xff)](_0x41ce94=>{const _0x51852c=_0x28bae6;logError(_0x41ce94,{'event':_0x51852c(0x10f),'jobId':_0x3d5acf},'Export\x20processing\x20failed');}),{'job_id':_0x3d5acf,'status':_0x3da1b6['vUlRX']};}async['getJobStatus'](_0xc4449){const _0x3a236e=a0_0x466f8a,_0x3b47b3={'DsNuN':'Job\x20not\x20found\x20or\x20expired'},_0x5862f6=await redisHelper[_0x3a236e(0x128)](_0xc4449);if(!_0x5862f6)return{'success':![],'error':_0x3b47b3[_0x3a236e(0x111)]};return{'success':!![],'data':{'job_id':_0x5862f6['job_id'],'status':_0x5862f6[_0x3a236e(0xd5)],'progress':_0x5862f6['progress'],'total_rows':_0x5862f6['total_rows'],'processed_rows':_0x5862f6['processed_rows'],'file_url':_0x5862f6['status']===_0x3a236e(0xbd)?'/api/'+_0x5862f6['params'][_0x3a236e(0x104)]+'/'+_0x5862f6[_0x3a236e(0xfb)]['endpointName']+'/export-download?job_id='+_0xc4449:null,'error':_0x5862f6[_0x3a236e(0x133)]||null,'created_at':_0x5862f6['created_at'],'completed_at':_0x5862f6[_0x3a236e(0xd2)]||null}};}async[a0_0x466f8a(0xcc)](_0x57cbcb,_0x5ef375){const _0x1c54d0=a0_0x466f8a,_0x280767={'oqNdO':_0x1c54d0(0xfc),'SCEno':'completed','zVvGH':function(_0x3ade41,_0x5e5778,_0x53dfac,_0x469ba4){return _0x3ade41(_0x5e5778,_0x53dfac,_0x469ba4);},'xnfSc':'export_failed'};try{await redisHelper[_0x1c54d0(0x106)](_0x57cbcb,{'status':_0x1c54d0(0xcb),'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x280767[_0x1c54d0(0x13b)],'jobId':_0x57cbcb},'Export\x20processing\x20started');const _0x536c64=await this[_0x1c54d0(0x130)](_0x5ef375);await redisHelper['updateJob'](_0x57cbcb,{'total_rows':_0x536c64['length']});const _0xa7234b=await this['generateExcel'](_0x57cbcb,_0x536c64,_0x5ef375);await redisHelper[_0x1c54d0(0x106)](_0x57cbcb,{'status':_0x280767[_0x1c54d0(0xe0)],'progress':0x64,'file_path':_0xa7234b,'completed_at':new Date()['toISOString']()}),logger[_0x1c54d0(0x127)]({'event':_0x1c54d0(0x112),'jobId':_0x57cbcb,'rows':_0x536c64[_0x1c54d0(0x159)]},_0x1c54d0(0xf4));}catch(_0x2124b0){_0x280767[_0x1c54d0(0x125)](logError,_0x2124b0,{'event':_0x280767['xnfSc'],'jobId':_0x57cbcb},'Export\x20failed'),await redisHelper['updateJob'](_0x57cbcb,{'status':_0x1c54d0(0xf8),'error':_0x2124b0['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x466f8a(0x130)](_0x359aa2){const _0x57eb32=a0_0x466f8a,_0x4cab9f={'ZHjTd':function(_0xde9edd,_0x48c6d2){return _0xde9edd||_0x48c6d2;},'fOEJD':function(_0x37c650,_0x1ea15b){return _0x37c650===_0x1ea15b;},'lRRTS':_0x57eb32(0xdf),'AKuHV':'Using\x20custom\x20exportQuery','KZCOY':'export_using_auto_query','bZzsw':'Using\x20auto-generated\x20query','nWPjz':function(_0x4de709,_0x17b2d2){return _0x4de709===_0x17b2d2;},'yNoYc':function(_0x5b899c,_0x2887ae){return _0x5b899c===_0x2887ae;},'FAxPk':function(_0x2a1f4c,_0x357688){return _0x2a1f4c>_0x357688;},'xPfIs':'export_fetch_complete','JJMkF':_0x57eb32(0xd7),'ysjEP':_0x57eb32(0xc5)};try{const {tableName:_0x4832fd,columns:_0x8d6ed0,exportQuery:_0x45c5c9,where:_0xb50bf1,sort_columns:_0x19b355}=_0x359aa2;if(_0x4cab9f['ZHjTd'](!_0x4832fd,!_0x8d6ed0)||_0x4cab9f['fOEJD'](_0x8d6ed0[_0x57eb32(0x159)],0x0))throw new Error(_0x57eb32(0x118));const _0x29ead4=_0x4832fd['replace'](/\./g,'_')+_0x57eb32(0xd0);let _0x44a1bc;if(_0x45c5c9&&_0x45c5c9['trim']()){let _0x5a2d57=_0x45c5c9;_0x45c5c9['trim']()['startsWith'](_0x57eb32(0xd6))&&(_0x5a2d57=this[_0x57eb32(0xc8)](_0x45c5c9)),_0x44a1bc=_0x57eb32(0x132)+_0x29ead4+_0x57eb32(0x117)+_0x5a2d57+'\x0a)',logger[_0x57eb32(0x127)]({'event':_0x4cab9f[_0x57eb32(0xe6)],'query':_0x5a2d57[_0x57eb32(0x137)](0x0,0x64)},_0x4cab9f[_0x57eb32(0xdc)]);}else{const _0x49a51c=_0x8d6ed0['map'](_0x3d2b4f=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3d2b4f)['join'](',');_0x44a1bc=_0x57eb32(0x132)+_0x29ead4+_0x57eb32(0x14f)+_0x49a51c+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4832fd+'\x0a)',logger[_0x57eb32(0x127)]({'event':_0x4cab9f[_0x57eb32(0xf9)],'tableName':_0x4832fd,'columnCount':_0x8d6ed0[_0x57eb32(0x159)]},_0x4cab9f[_0x57eb32(0x154)]);}const _0x2ce8f5=!_0x8d6ed0||_0x4cab9f['nWPjz'](_0x8d6ed0[_0x57eb32(0x159)],0x0)||_0x8d6ed0['length']===0x1&&(_0x8d6ed0[0x0]==='*'||_0x8d6ed0[0x0]['toLowerCase']()===_0x57eb32(0x100)),_0x4b1dcd=_0x2ce8f5?'*':_0x8d6ed0['join'](',\x20');_0x44a1bc+='\x0aSELECT\x20'+_0x4b1dcd+_0x57eb32(0x148)+_0x29ead4;if(_0xb50bf1){const _0x24b2a4=this['buildWhereClause'](_0xb50bf1);_0x24b2a4&&(_0x44a1bc+=_0x57eb32(0x123)+_0x24b2a4);}if(_0x19b355&&_0x19b355[_0x57eb32(0x159)]>0x0){const _0x29070d=this[_0x57eb32(0x15f)](_0x19b355);_0x29070d&&(_0x44a1bc+=_0x57eb32(0xf1)+_0x29070d);}logger['info']({'event':'export_fetch_start','query':_0x44a1bc['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x440c42=await executeQuery(_0x44a1bc);let _0x508d63=_0x440c42;return _0x4cab9f[_0x57eb32(0xe1)](dbType,'oracle')&&_0x440c42&&_0x4cab9f['FAxPk'](_0x440c42[_0x57eb32(0x159)],0x0)&&(_0x508d63=_0x440c42[_0x57eb32(0x15b)](_0x12127b=>{const _0x4e93e2=_0x57eb32,_0x24fa27={};for(const [_0x5caa39,_0x258d02]of Object[_0x4e93e2(0xd8)](_0x12127b)){_0x24fa27[_0x5caa39[_0x4e93e2(0x12d)]()]=_0x258d02;}return _0x24fa27;})),logger['info']({'event':_0x4cab9f[_0x57eb32(0x11b)],'rows':_0x508d63[_0x57eb32(0x159)]},'Data\x20fetched\x20successfully'),_0x508d63;}catch(_0x30cb2a){logError(_0x30cb2a,{'event':_0x4cab9f[_0x57eb32(0x116)]},_0x4cab9f[_0x57eb32(0xf0)]);throw _0x30cb2a;}}[a0_0x466f8a(0x126)](_0x34968c){const _0x587372=a0_0x466f8a,_0x3116ba={'aDVvL':_0x587372(0xbe)};if(typeof _0x34968c===_0x3116ba[_0x587372(0x107)])return _0x34968c['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x587372(0x113)]();else{if(Array[_0x587372(0xf3)](_0x34968c))return _0x34968c[_0x587372(0x15b)](_0x49ad03=>this['sanitizeValue'](_0x49ad03));}return _0x34968c;}['buildWhereClause'](_0x2a8bfc){const _0x6ade7e=a0_0x466f8a,_0x2478fe={'aClqo':function(_0x32c76a,_0x3e9f22){return _0x32c76a===_0x3e9f22;},'fzlUH':function(_0x18138c,_0xc33277){return _0x18138c===_0xc33277;},'MpuDE':_0x6ade7e(0xbe),'WjrXg':_0x6ade7e(0x147),'xzMMq':function(_0x19d24b,_0x34bb25){return _0x19d24b===_0x34bb25;},'NDHym':function(_0x32caf3,_0x5644fb){return _0x32caf3===_0x5644fb;},'xdTTX':_0x6ade7e(0xf5),'uAHao':'\x20AND\x20'};if(!_0x2a8bfc||!_0x2a8bfc[_0x6ade7e(0xca)]||_0x2478fe['xzMMq'](_0x2a8bfc[_0x6ade7e(0xca)]['length'],0x0))return'';const {logic:_0x2f1dee,conditions:_0x27d548}=_0x2a8bfc,_0x34b839=_0x2f1dee&&_0x2478fe['NDHym'](_0x2f1dee[_0x6ade7e(0x10a)](),'OR')?_0x2478fe[_0x6ade7e(0x10b)]:_0x2478fe['uAHao'],_0x416307=_0x27d548['map'](_0x49a848=>{const _0x552e9d=_0x6ade7e,_0x3717b0={'DqubW':function(_0x3a4f3f,_0x438ce2){return _0x3a4f3f===_0x438ce2;}},{key:_0x28e7c1,operator:_0x12358e,value:_0x5395fa,sensitive:_0xf09bda}=_0x49a848;if(!_0x28e7c1||!_0x12358e)return logger['warn']({'event':'invalid_condition','condition':_0x49a848},'Skipping\x20invalid\x20condition'),null;const _0x5cc5eb=this['sanitizeValue'](_0x5395fa),_0x56c2fe=_0xf09bda!==undefined?_0xf09bda:!![];let _0x498944=_0x28e7c1,_0x3d1669=_0x5cc5eb;!_0x56c2fe&&(_0x498944=_0x552e9d(0x151)+_0x28e7c1+')',_0x2478fe['aClqo'](typeof _0x5395fa,_0x552e9d(0xbe))&&(_0x3d1669=_0x5395fa['toUpperCase']()));const _0x55b94e=_0x2478fe['fzlUH'](typeof _0x3d1669,_0x552e9d(0xbe))?'\x27'+_0x3d1669[_0x552e9d(0x13e)](/'/g,'\x27\x27')+'\x27':_0x3d1669;switch(_0x12358e['toUpperCase']()){case'=':case'!=':case'<>':return _0x498944+'\x20'+_0x12358e+'\x20'+_0x55b94e;case'>':case'<':case'>=':case'<=':const _0x41da5f=typeof _0x5cc5eb===_0x2478fe[_0x552e9d(0x138)]?'\x27'+_0x5cc5eb['replace'](/'/g,'\x27\x27')+'\x27':_0x5cc5eb;return _0x28e7c1+'\x20'+_0x12358e+'\x20'+_0x41da5f;case _0x552e9d(0x12a):case _0x2478fe['WjrXg']:return _0x498944+'\x20'+_0x12358e+'\x20'+_0x55b94e;case'IN':if(Array[_0x552e9d(0xf3)](_0x5cc5eb)){let _0x2dcae7;return!_0x56c2fe?_0x2dcae7=_0x5cc5eb[_0x552e9d(0x15b)](_0x315512=>{const _0x322e82=_0x552e9d,_0x54f048=_0x3717b0['DqubW'](typeof _0x315512,'string')?_0x315512['toUpperCase']():_0x315512;return _0x3717b0[_0x322e82(0xf6)](typeof _0x54f048,'string')?'\x27'+_0x54f048[_0x322e82(0x13e)](/'/g,'\x27\x27')+'\x27':_0x54f048;})['join'](',\x20'):_0x2dcae7=_0x5cc5eb[_0x552e9d(0x15b)](_0x2d247b=>typeof _0x2d247b===_0x552e9d(0xbe)?'\x27'+_0x2d247b['replace'](/'/g,'\x27\x27')+'\x27':_0x2d247b)['join'](',\x20'),_0x498944+_0x552e9d(0xe2)+_0x2dcae7+')';}return _0x498944+_0x552e9d(0xe2)+_0x55b94e+')';case _0x552e9d(0x152):return _0x28e7c1+'\x20IS\x20NULL';case _0x552e9d(0x144):return _0x28e7c1+_0x552e9d(0xf7);default:logger['warn']({'event':_0x552e9d(0xfa),'operator':_0x12358e},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x498944+_0x552e9d(0x11a)+_0x55b94e;}})[_0x6ade7e(0x143)](_0x6da198=>_0x6da198!==null);if(_0x416307[_0x6ade7e(0x159)]===0x0)return'';return _0x416307[_0x6ade7e(0x136)](_0x34b839);}[a0_0x466f8a(0x15f)](_0x165250){const _0x15208d=a0_0x466f8a,_0x17c3de={'jppmX':'Skipping\x20invalid\x20order\x20clause','bdriF':_0x15208d(0x12e),'DYGVK':function(_0x36a412,_0x4c4354){return _0x36a412===_0x4c4354;},'guqXX':function(_0x505547,_0xf88005){return _0x505547===_0xf88005;}};if(!_0x165250||_0x17c3de[_0x15208d(0xce)](_0x165250['length'],0x0))return'';const _0x3312f8=_0x165250['map'](_0x5090d0=>{const _0x190611=_0x15208d,{column:_0x261ff5,direction:_0x1eae50}=_0x5090d0;if(!_0x261ff5)return logger[_0x190611(0xc3)]({'event':_0x190611(0x122),'item':_0x5090d0},_0x17c3de['jppmX']),null;const _0x47a619=_0x1eae50&&_0x1eae50['toUpperCase']()===_0x17c3de['bdriF']?'DESC':_0x190611(0x153);return _0x261ff5+'\x20'+_0x47a619;})[_0x15208d(0x143)](_0x2ec81b=>_0x2ec81b!==null);if(_0x17c3de[_0x15208d(0x114)](_0x3312f8['length'],0x0))return'';return _0x3312f8[_0x15208d(0x136)](',\x20');}async[a0_0x466f8a(0x10c)](_0x370a0c,_0x39b582,_0x58e757){const _0x4b2f5e=a0_0x466f8a,_0x30c676={'cPZVF':function(_0x1cd8cf,_0x3e70d6){return _0x1cd8cf*_0x3e70d6;},'dZRNM':function(_0x28c37b,_0x56558c){return _0x28c37b/_0x56558c;},'STWhz':function(_0x2ceb7d,_0x5ee07d){return _0x2ceb7d===_0x5ee07d;},'eSabo':_0x4b2f5e(0xc9),'ThFkV':_0x4b2f5e(0x149),'niiLw':_0x4b2f5e(0xe8),'zBLdX':_0x4b2f5e(0xcf)},_0x293609=require(_0x4b2f5e(0xbc)),_0x19adba=new _0x293609(),_0x81798f=_0x58e757['filename']?_0x58e757['filename']+'-'+_0x370a0c:_0x4b2f5e(0xd4)+_0x370a0c,_0x222d9c=path[_0x4b2f5e(0x136)](this['exportDir'],_0x81798f+_0x4b2f5e(0xdb));let _0x2203c1=_0x58e757['columns'];const _0x4828e3=_0x2203c1&&_0x30c676[_0x4b2f5e(0xe3)](_0x2203c1['length'],0x1)&&(_0x2203c1[0x0]==='*'||_0x2203c1[0x0][_0x4b2f5e(0x12d)]()===_0x4b2f5e(0x100));if(_0x39b582[_0x4b2f5e(0x159)]>0x0){const _0x5655cb=Object[_0x4b2f5e(0x101)](_0x39b582[0x0]);if(_0x4828e3)_0x2203c1=_0x5655cb,logger[_0x4b2f5e(0x127)]({'event':_0x30c676[_0x4b2f5e(0x108)],'columns':_0x2203c1},'Using\x20all\x20'+_0x2203c1[_0x4b2f5e(0x159)]+_0x4b2f5e(0xd9));else{if(_0x2203c1&&_0x2203c1[_0x4b2f5e(0x159)]>0x0){const _0x12538f=_0x2203c1[_0x4b2f5e(0x143)](_0x165e7f=>_0x5655cb['includes'](_0x165e7f));_0x12538f['length']>0x0?(_0x2203c1=_0x12538f,logger['info']({'event':_0x30c676[_0x4b2f5e(0x110)],'requestedColumns':_0x58e757['columns'],'validColumns':_0x2203c1},_0x4b2f5e(0x145)+_0x2203c1[_0x4b2f5e(0x159)]+_0x4b2f5e(0x146))):(_0x2203c1=_0x5655cb,logger[_0x4b2f5e(0xc3)]({'event':_0x30c676['niiLw'],'requestedColumns':_0x58e757[_0x4b2f5e(0x10d)],'availableColumns':_0x5655cb},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x5655cb[_0x4b2f5e(0x159)]+_0x4b2f5e(0x13a)));}else _0x2203c1=_0x5655cb,logger['info']({'event':_0x4b2f5e(0x156),'columns':_0x2203c1},_0x4b2f5e(0x145)+_0x2203c1['length']+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x30c676['zBLdX'],'columns':_0x2203c1},_0x4b2f5e(0x145)+(_0x2203c1?.[_0x4b2f5e(0x159)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x19adba['generate']({'data':_0x39b582,'columns':_0x2203c1,'columnFormats':_0x58e757[_0x4b2f5e(0x139)]||null,'fieldLabels':_0x58e757['fieldLabels']||null,'filePath':_0x222d9c,'onProgress':async _0x5d169f=>{const _0x36ba31=_0x4b2f5e;await redisHelper['updateJob'](_0x370a0c,{'progress':Math[_0x36ba31(0x13d)](_0x5d169f),'processed_rows':Math[_0x36ba31(0x13d)](_0x30c676[_0x36ba31(0xda)](_0x30c676[_0x36ba31(0x140)](_0x5d169f,0x64),_0x39b582[_0x36ba31(0x159)]))});}}),_0x222d9c;}async[a0_0x466f8a(0xec)](_0x567f26){const _0x7ade0=a0_0x466f8a,_0x29ac03=await redisHelper[_0x7ade0(0x128)](_0x567f26);if(!_0x29ac03||_0x29ac03['status']!==_0x7ade0(0xbd))return null;try{return await fs['access'](_0x29ac03['file_path']),_0x29ac03['file_path'];}catch(_0x100eef){return logError(_0x100eef,{'event':_0x7ade0(0x150),'jobId':_0x567f26,'path':_0x29ac03['file_path']},'Export\x20file\x20not\x20found'),null;}}async[a0_0x466f8a(0x11e)](){const _0x72656d=a0_0x466f8a,_0xb359cc={'UsuNh':function(_0x11a888,_0x14cb7b){return _0x11a888-_0x14cb7b;},'Vcxjc':function(_0x2ab984,_0x22658d){return _0x2ab984*_0x22658d;},'TpMQO':function(_0x585da7,_0x189c5d){return _0x585da7*_0x189c5d;},'FQIVg':'export_file_deleted','ODHxz':_0x72656d(0x12f),'bUqyc':_0x72656d(0x141),'KITqz':_0x72656d(0xcd)};logger['info']({'event':_0x72656d(0xe7)},_0x72656d(0x14b));const _0x6631d0=await redisHelper['getAllJobs']();let _0x5dad01=0x0;for(const _0x3910e3 of _0x6631d0){const _0x19c6cd=new Date(_0x3910e3['created_at']),_0x3a84f5=new Date(),_0x43f7a4=_0xb359cc['UsuNh'](_0x3a84f5,_0x19c6cd)/_0xb359cc[_0x72656d(0x129)](_0xb359cc['TpMQO'](0x3e8,0x3c),0x3c);if(_0x43f7a4>0x1){if(_0x3910e3[_0x72656d(0xf2)])try{await fs[_0x72656d(0xbf)](_0x3910e3[_0x72656d(0xf2)]),logger[_0x72656d(0x127)]({'event':_0xb359cc['FQIVg'],'path':_0x3910e3[_0x72656d(0xf2)]},_0xb359cc[_0x72656d(0x15e)]);}catch(_0x2b1d3f){logger['warn']({'event':_0x72656d(0x11d),'path':_0x3910e3['file_path'],'error':_0x2b1d3f['message']},_0xb359cc['bUqyc']);}await redisHelper['deleteJob'](_0x3910e3[_0x72656d(0xea)]),_0x5dad01++;}}return logger['info']({'event':_0x72656d(0xed),'deleted':_0x5dad01},_0xb359cc['KITqz']),_0x5dad01;}}module['exports']=new ExportService();
1
+ const a0_0x21cb03=a0_0x5c2d;(function(_0x41b78e,_0x3553a9){const _0x25dfa9=a0_0x5c2d,_0x67afe5=_0x41b78e();while(!![]){try{const _0x340eea=parseInt(_0x25dfa9(0xdd))/0x1*(parseInt(_0x25dfa9(0xd6))/0x2)+-parseInt(_0x25dfa9(0xee))/0x3*(-parseInt(_0x25dfa9(0xa1))/0x4)+parseInt(_0x25dfa9(0xaf))/0x5*(parseInt(_0x25dfa9(0xd5))/0x6)+parseInt(_0x25dfa9(0x66))/0x7*(-parseInt(_0x25dfa9(0xa7))/0x8)+-parseInt(_0x25dfa9(0xa4))/0x9*(-parseInt(_0x25dfa9(0x6e))/0xa)+parseInt(_0x25dfa9(0xbe))/0xb+-parseInt(_0x25dfa9(0xc7))/0xc;if(_0x340eea===_0x3553a9)break;else _0x67afe5['push'](_0x67afe5['shift']());}catch(_0xc32327){_0x67afe5['push'](_0x67afe5['shift']());}}}(a0_0x2f32,0x6b4d6));const {v7:uuidv7}=require(a0_0x21cb03(0xac)),path=require('path'),fs=require('fs')[a0_0x21cb03(0xf2)],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0x21cb03(0x88)),dbType=(process['env'][a0_0x21cb03(0x92)]||'postgresql')[a0_0x21cb03(0x71)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../database/db-oracle');executeQuery=(_0x599603,_0x5d65e1)=>oracleDb[a0_0x21cb03(0xf1)](_0x599603,_0x5d65e1);}else{if(dbType==='mysql'){const mysqlDb=require('../database/db-mysql');executeQuery=(_0xd44082,_0x30aec2)=>mysqlDb[a0_0x21cb03(0xf1)](_0xd44082,_0x30aec2);}else executeQuery=require('../../core/utils/db')[a0_0x21cb03(0xf1)];}function a0_0x2f32(){const _0xda2e23=['y2HHCKf0','mtyYoduXmwvlvwLKCq','Bw9KDwXLtMfTzq','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHLy3v0zvf1zxj5','ChjVBwLZzxm','y3jLyxrLzf9HDa','lI4VlI4VzxHWB3j0CY8','zxHWB3j0rgLY','z2v0rMLSzvbHDgG','zxHWB3j0x2zPBgvFzgvSzxrLza','A2v5CW','CM91BMq','yNvPBgrxAgvYzunSyxvZzq','ChjVz3jLC3m','lI9LEgnLBc1Nzw5LCMf0B3i','qvnd','Dw5RBM93BL9VCgvYyxrVCG','DgTHvwO','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','nta4mZC5owfvD3vwrq','z0LZwMm','z2jivKu','Dw5SAw5R','sLrcv3u','EMTUqLi','ru5pru5u','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','mtKWsNfJrfDt','Aw5MBW','EefVyvC','Dg9mB3DLCKnHC2u','yNvPBgrpCMrLCKj5q2XHDxnL','C3vIC3rYAw5N','v0Lusca','B3jHy2XL','CMrfr3q','y29UzgL0Aw9UCW','qMn1Cvm','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','Dg9tDhjPBMC','AxnbCNjHEq','z0HZsu0','s2X3svy','y29TCgXLDgvK','Dw5iChq','qK13BfK','zvPoANO','BwfW','yuzivwe','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','CgP3sfm','z2v0sM9Iu3rHDhvZ','CgvUzgLUzW','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','AM9PBG','Dg9ju09tDhjPBMC','zxjYB3i','EhndEfy','zxHWB3j0x3nLCNzPy2vFAw5PDa','cK9srevsiejzia','v1jeyw0','rejFvfLqrq','zxHWB3j0x2zHAwXLza','BwTKAxjtEw5J','CMvWBgfJzq','C3rHDhvZ','qMLdBNu','zMLSzw5HBwu','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','rxHWB3j0igzPBguGzgvSzxrLza','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','yxzqtNa','zw50CMLLCW','B1zuv0q','z2v0sM9I','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','nhnfBKzgrG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','CMvZB2X2zq','nZy2mtDSsu1zrMe','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zMv0y2HeyxrH','oevyAgnVua','DxbKyxrLsM9I','ChjVy2vZC2vKx3jVD3m','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','qxfrr04','DxvPza','z2vUzxjHDgu','zxHWB3j0x2zLDgnOx2vYCM9Y','odi4mtbuCNjLCu8','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','C0jLAKy','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','DhjPBq','ieLtie5vteW','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','vxnPBMCG','BMPJvhe','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','revtqW','Cgf5Bg9Hza','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zxHWB3j0CW','ndiWodiWnePWCKL0tG','zw5KCg9PBNroyw1L','cIaGicaGicaG','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','twDLD0m','C3rYAw5N','ignVBhvTBNmGzNjVBsbYzxf1zxn0','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','mte4mJqXndbcEhrVs3O','tvbhEMW','BwPlA0G','zMLSzv9WyxrO','BgvUz3rO','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','y3jLyxrLsM9I','cLDirvjfia','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','whfdt3e','y29SDw1UCW','zMLSDgvY','tK9uieXjs0u','mtGWwxfwEwDs','mZjWuNL3qvK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ALHzD1C','zxHWB3j0lq','C3rHCNrZv2L0Aa','cKzst00G','mZu0ndrOAe5Jvw0','zxHWB3j0x2zLDgnOx3n0yxj0','ChjVy2vZC2LUzW','Dg9vChbLCKnHC2u','BwvZC2fNzq','zgvMyxvSDa','D2fYBG','CMvHzezPBgvtEw5J','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','tuHdwei','CMfUzg9T','x2v4Cg9YDerPCG','yLjgDhi','y2XLyw51Ca','sgDmCwW','refivgC'];a0_0x2f32=function(){return _0xda2e23;};return a0_0x2f32();}function a0_0x5c2d(_0x581855,_0x2a3405){_0x581855=_0x581855-0x64;const _0x2f3249=a0_0x2f32();let _0x5c2d92=_0x2f3249[_0x581855];if(a0_0x5c2d['KmVkWQ']===undefined){var _0xdce85=function(_0x56a7f8){const _0x53ff98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a6efb='',_0x29f235='';for(let _0x160b71=0x0,_0x42d3f6,_0x272c65,_0x574357=0x0;_0x272c65=_0x56a7f8['charAt'](_0x574357++);~_0x272c65&&(_0x42d3f6=_0x160b71%0x4?_0x42d3f6*0x40+_0x272c65:_0x272c65,_0x160b71++%0x4)?_0x4a6efb+=String['fromCharCode'](0xff&_0x42d3f6>>(-0x2*_0x160b71&0x6)):0x0){_0x272c65=_0x53ff98['indexOf'](_0x272c65);}for(let _0x52875c=0x0,_0x29813d=_0x4a6efb['length'];_0x52875c<_0x29813d;_0x52875c++){_0x29f235+='%'+('00'+_0x4a6efb['charCodeAt'](_0x52875c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29f235);};a0_0x5c2d['CvksHf']=_0xdce85,a0_0x5c2d['ckxBJc']={},a0_0x5c2d['KmVkWQ']=!![];}const _0x1ee601=_0x2f3249[0x0],_0x573350=_0x581855+_0x1ee601,_0xe30f99=a0_0x5c2d['ckxBJc'][_0x573350];return!_0xe30f99?(_0x5c2d92=a0_0x5c2d['CvksHf'](_0x5c2d92),a0_0x5c2d['ckxBJc'][_0x573350]=_0x5c2d92):_0x5c2d92=_0xe30f99,_0x5c2d92;}class ExportService{constructor(){const _0x47d435=a0_0x21cb03;this[_0x47d435(0xe8)]=null;}get[a0_0x21cb03(0xf5)](){const _0x3e5043=a0_0x21cb03,_0x449cd9={'OgKYp':_0x3e5043(0xe2),'DAHTg':_0x3e5043(0x8f)};if(!this[_0x3e5043(0xe8)]){const _0x339e2d=process['env'][_0x3e5043(0xd7)]||_0x449cd9['OgKYp'];this[_0x3e5043(0xe8)]=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x3e5043(0xf4)+_0x339e2d);try{!fsSync['existsSync'](this[_0x3e5043(0xe8)])&&fsSync[_0x3e5043(0x94)](this[_0x3e5043(0xe8)],{'recursive':!![]}),logger['info']({'event':_0x449cd9[_0x3e5043(0xec)],'dir':this[_0x3e5043(0xe8)]},_0x3e5043(0x6d));}catch(_0xa5c784){logError(_0xa5c784,{'event':'export_service_init_error'},_0x3e5043(0xa5));}}return this['_exportDir'];}['resolveExportQuery'](_0x39c676,_0x2dfb6f=null){const _0x4c563d=a0_0x21cb03,_0x25639d={'GQbhF':'file:','byzmd':'utf8','WRDam':'export_query_file_loaded','clrFD':function(_0x17e754,_0x44f397){return _0x17e754===_0x44f397;},'PWdjH':_0x4c563d(0x6c)};if(!_0x39c676||typeof _0x39c676!==_0x4c563d(0xc4))return _0x39c676;const _0x517e8a=_0x39c676[_0x4c563d(0xb4)]();if(!_0x517e8a[_0x4c563d(0xdb)](_0x25639d['GQbhF']))return _0x517e8a;const _0x281573=_0x517e8a['replace'](/^file:/,'')['trim']();if(!_0x281573)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x56fbfc=_0x2dfb6f||path['join'](process['cwd'](),_0x4c563d(0xbb)),_0x5960ed=path[_0x4c563d(0xa3)](_0x56fbfc,_0x281573);logger['info']({'event':'export_query_file_resolve','relativePath':_0x281573,'baseDir':_0x56fbfc,'absolutePath':_0x5960ed},_0x4c563d(0xe5)+_0x281573);if(!fsSync['existsSync'](_0x5960ed))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5960ed);try{const _0x4aa569=fsSync[_0x4c563d(0xe4)](_0x5960ed,_0x25639d['byzmd']);if(!_0x4aa569||!_0x4aa569['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5960ed);return logger[_0x4c563d(0x6f)]({'event':_0x25639d[_0x4c563d(0x91)],'file':_0x5960ed,'queryLength':_0x4aa569['length']},_0x4c563d(0x8a)+_0x4aa569['length']+'\x20chars)'),_0x4aa569[_0x4c563d(0xb4)]();}catch(_0x11a8db){if(_0x25639d['clrFD'](_0x11a8db['code'],_0x25639d['PWdjH']))throw new Error(_0x4c563d(0xaa)+_0x5960ed);throw new Error(_0x4c563d(0xb9)+_0x11a8db[_0x4c563d(0xe1)]);}}['generateJobId'](){const _0x18eac4=a0_0x21cb03,_0x3b86b1={'awvup':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','YIkhZ':function(_0x2c76d4,_0x2905ed){return _0x2c76d4-_0x2905ed;},'NaMMC':function(_0x3ee4f3,_0x1fa97e){return _0x3ee4f3<_0x1fa97e;}},_0x42b0c6=_0x3b86b1['awvup'],_0x1db61f=Date['now']()[_0x18eac4(0x7a)](0x24),_0x37b106=uuidv7()['replace'](/-/g,'')[_0x18eac4(0x73)](0x0,_0x3b86b1['YIkhZ'](0xc,_0x1db61f['length'])),_0x5d6fa3=(_0x1db61f+_0x37b106)[_0x18eac4(0x73)](0x0,0xc);let _0x3a9c9c='';for(let _0x571d2e=0x0;_0x3b86b1['NaMMC'](_0x571d2e,0xc);_0x571d2e++){_0x5d6fa3[_0x571d2e]?_0x3a9c9c+=_0x5d6fa3[_0x571d2e]:_0x3a9c9c+=_0x42b0c6[_0x18eac4(0xed)](Math['floor'](Math[_0x18eac4(0xe7)]()*_0x42b0c6[_0x18eac4(0xcb)]));}return _0x3a9c9c;}async[a0_0x21cb03(0xcd)](_0x4a60f0){const _0x166caf=a0_0x21cb03,_0x57dd49={'utQRy':function(_0x1ed304,_0x4ebb19,_0x290fe9,_0x2559fb){return _0x1ed304(_0x4ebb19,_0x290fe9,_0x2559fb);},'sktQZ':_0x166caf(0x65),'xsCxV':_0x166caf(0xcf),'zknBR':_0x166caf(0x87)},_0x1d725d=this['generateJobId'](),_0x233e51={'job_id':_0x1d725d,'status':_0x166caf(0x87),'progress':0x0,'created_at':new Date()[_0x166caf(0x8c)](),'params':_0x4a60f0,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x1d725d,_0x233e51),logger[_0x166caf(0x6f)]({'event':'export_job_created','jobId':_0x1d725d,'params':_0x4a60f0},_0x57dd49[_0x166caf(0x8e)]),this['processJob'](_0x1d725d,_0x4a60f0)['catch'](_0x550f61=>{const _0x2bfe95=_0x166caf;_0x57dd49['utQRy'](logError,_0x550f61,{'event':_0x2bfe95(0xbc),'jobId':_0x1d725d},_0x57dd49['sktQZ']);}),{'job_id':_0x1d725d,'status':_0x57dd49[_0x166caf(0x6b)]};}async[a0_0x21cb03(0x86)](_0x4a8c09){const _0x4fe3e7=a0_0x21cb03,_0x1fdb7e={'gHsIM':'completed'},_0x401d1d=await redisHelper[_0x4fe3e7(0x9f)](_0x4a8c09);if(!_0x401d1d)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x401d1d['job_id'],'status':_0x401d1d[_0x4fe3e7(0x96)],'progress':_0x401d1d[_0x4fe3e7(0xfb)],'total_rows':_0x401d1d['total_rows'],'processed_rows':_0x401d1d[_0x4fe3e7(0xa9)],'file_url':_0x401d1d[_0x4fe3e7(0x96)]===_0x1fdb7e[_0x4fe3e7(0x7c)]?'/api/'+_0x401d1d['params'][_0x4fe3e7(0xef)]+'/'+_0x401d1d['params'][_0x4fe3e7(0xbf)]+_0x4fe3e7(0x89)+_0x4a8c09:null,'error':_0x401d1d[_0x4fe3e7(0x8d)]||null,'created_at':_0x401d1d[_0x4fe3e7(0xf3)],'completed_at':_0x401d1d['completed_at']||null}};}async['processJob'](_0x1029e4,_0x233092){const _0x4f0e5f=a0_0x21cb03,_0xa56002={'qeUGx':_0x4f0e5f(0xd8),'WYJmK':_0x4f0e5f(0x84),'njcTq':'Export\x20completed\x20successfully','LAZMf':_0x4f0e5f(0x93)};try{await redisHelper[_0x4f0e5f(0xa8)](_0x1029e4,{'status':_0x4f0e5f(0xdf),'started_at':new Date()['toISOString']()}),logger[_0x4f0e5f(0x6f)]({'event':_0xa56002['qeUGx'],'jobId':_0x1029e4},_0xa56002['WYJmK']);const _0x2051a4=await this[_0x4f0e5f(0xa6)](_0x233092);await redisHelper['updateJob'](_0x1029e4,{'total_rows':_0x2051a4[_0x4f0e5f(0xcb)]});const _0x11bfc8=await this['generateExcel'](_0x1029e4,_0x2051a4,_0x233092);await redisHelper['updateJob'](_0x1029e4,{'status':_0x4f0e5f(0x7e),'progress':0x64,'file_path':_0x11bfc8,'completed_at':new Date()[_0x4f0e5f(0x8c)]()}),logger['info']({'event':'export_completed','jobId':_0x1029e4,'rows':_0x2051a4[_0x4f0e5f(0xcb)]},_0xa56002[_0x4f0e5f(0xb8)]);}catch(_0x41b451){logError(_0x41b451,{'event':_0xa56002['LAZMf'],'jobId':_0x1029e4},'Export\x20failed'),await redisHelper['updateJob'](_0x1029e4,{'status':'failed','error':_0x41b451['message'],'failed_at':new Date()[_0x4f0e5f(0x8c)]()});}}async['fetchData'](_0x5c608d){const _0x1107c3=a0_0x21cb03,_0x236beb={'aFHUa':function(_0x59634b,_0x184023){return _0x59634b===_0x184023;},'AqQGN':'_data','mjKkH':'Using\x20custom\x20exportQuery','KMeji':function(_0x320dfd,_0x44e0ab){return _0x320dfd>_0x44e0ab;},'bRFtr':function(_0x351dcf,_0x364391){return _0x351dcf(_0x364391);},'unHpt':_0x1107c3(0x75)};try{const {tableName:_0x5b479f,columns:_0x40cd44,exportQuery:_0x56879e,where:_0x5c6f41,sort_columns:_0x33d051}=_0x5c608d;if(!_0x5b479f||!_0x40cd44||_0x236beb[_0x1107c3(0x83)](_0x40cd44['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x16dc7a=_0x5b479f[_0x1107c3(0x95)](/\./g,'_')+_0x236beb[_0x1107c3(0xab)];let _0x4088dc;if(_0x56879e&&_0x56879e['trim']()){let _0x5809f3=_0x56879e;_0x56879e[_0x1107c3(0xb4)]()[_0x1107c3(0xdb)]('file:')&&(_0x5809f3=this['resolveExportQuery'](_0x56879e)),_0x4088dc=_0x1107c3(0x74)+_0x16dc7a+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x5809f3+'\x0a)',logger[_0x1107c3(0x6f)]({'event':'export_using_custom_query','query':_0x5809f3[_0x1107c3(0x73)](0x0,0x64)},_0x236beb[_0x1107c3(0xc9)]);}else{const _0x24abf3=_0x40cd44['map'](_0x3caeac=>_0x1107c3(0xc0)+_0x3caeac)[_0x1107c3(0x8b)](',');_0x4088dc=_0x1107c3(0x74)+_0x16dc7a+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x24abf3+'\x0a\x20\x20\x20\x20FROM\x20'+_0x5b479f+'\x0a)',logger['info']({'event':'export_using_auto_query','tableName':_0x5b479f,'columnCount':_0x40cd44[_0x1107c3(0xcb)]},_0x1107c3(0x99));}const _0x124d0e=!_0x40cd44||_0x236beb['aFHUa'](_0x40cd44[_0x1107c3(0xcb)],0x0)||_0x40cd44[_0x1107c3(0xcb)]===0x1&&(_0x40cd44[0x0]==='*'||_0x40cd44[0x0][_0x1107c3(0x71)]()==='all'),_0xfbdb2e=_0x124d0e?'*':_0x40cd44[_0x1107c3(0x8b)](',\x20');_0x4088dc+='\x0aSELECT\x20'+_0xfbdb2e+_0x1107c3(0xdc)+_0x16dc7a;if(_0x5c6f41){const _0x3c3b67=this[_0x1107c3(0xfa)](_0x5c6f41);_0x3c3b67&&(_0x4088dc+=_0x1107c3(0xce)+_0x3c3b67);}if(_0x33d051&&_0x236beb['KMeji'](_0x33d051['length'],0x0)){const _0x2c53df=this[_0x1107c3(0x72)](_0x33d051);_0x2c53df&&(_0x4088dc+=_0x1107c3(0x90)+_0x2c53df);}logger[_0x1107c3(0x6f)]({'event':_0x1107c3(0xde),'query':_0x4088dc[_0x1107c3(0x73)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x232d57=await _0x236beb[_0x1107c3(0xe9)](executeQuery,_0x4088dc);let _0x2e2fab=_0x232d57;return dbType===_0x236beb[_0x1107c3(0x7f)]&&_0x232d57&&_0x236beb['KMeji'](_0x232d57[_0x1107c3(0xcb)],0x0)&&(_0x2e2fab=_0x232d57[_0x1107c3(0x82)](_0x27aece=>{const _0x71265e=_0x1107c3,_0x56bb29={};for(const [_0x491212,_0x5e6a6e]of Object[_0x71265e(0x9d)](_0x27aece)){_0x56bb29[_0x491212[_0x71265e(0x71)]()]=_0x5e6a6e;}return _0x56bb29;})),logger['info']({'event':'export_fetch_complete','rows':_0x2e2fab[_0x1107c3(0xcb)]},'Data\x20fetched\x20successfully'),_0x2e2fab;}catch(_0x222017){logError(_0x222017,{'event':_0x1107c3(0xae)},'Failed\x20to\x20fetch\x20data');throw _0x222017;}}['sanitizeValue'](_0x5cb2d6){const _0x41028a=a0_0x21cb03,_0xb58a36={'gbHVE':function(_0xaf2fac,_0x43d36f){return _0xaf2fac===_0x43d36f;}};if(_0xb58a36[_0x41028a(0x68)](typeof _0x5cb2d6,_0x41028a(0xc4)))return _0x5cb2d6['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x41028a(0x7b)](_0x5cb2d6))return _0x5cb2d6[_0x41028a(0x82)](_0x4e487c=>this['sanitizeValue'](_0x4e487c));}return _0x5cb2d6;}[a0_0x21cb03(0xfa)](_0x20f9b4){const _0x419a40=a0_0x21cb03,_0x497344={'mXIzH':function(_0x19460d,_0x5b447c){return _0x19460d===_0x5b447c;},'kYLUg':function(_0x390cfa,_0x246474){return _0x390cfa||_0x246474;},'YjnCb':'invalid_condition','tkaUj':_0x419a40(0x79),'MHCXB':function(_0x18ae0f,_0xb14743){return _0x18ae0f!==_0xb14743;},'JTBWu':function(_0x2234d2,_0x32e05d){return _0x2234d2===_0x32e05d;},'WwssD':_0x419a40(0xc4),'KlwIV':'LIKE','YytPM':_0x419a40(0xd4),'qzHhm':'IS\x20NULL','pjwHS':'IS\x20NOT\x20NULL','XqCOq':_0x419a40(0xfe),'VaIIX':function(_0x27b1cb,_0x4680fe){return _0x27b1cb===_0x4680fe;},'BMwlY':'\x20OR\x20','kUiyA':'\x20AND\x20'};if(!_0x20f9b4||!_0x20f9b4['conditions']||_0x497344['VaIIX'](_0x20f9b4[_0x419a40(0x77)][_0x419a40(0xcb)],0x0))return'';const {logic:_0x3db26f,conditions:_0x22ae85}=_0x20f9b4,_0x2709fb=_0x3db26f&&_0x3db26f['toUpperCase']()==='OR'?_0x497344[_0x419a40(0x80)]:_0x497344['kUiyA'],_0x3c8756=_0x22ae85['map'](_0x17ff39=>{const _0x4511fe=_0x419a40,{key:_0x2171af,operator:_0x211b50,value:_0x50a991,sensitive:_0x16010a}=_0x17ff39;if(_0x497344['kYLUg'](!_0x2171af,!_0x211b50))return logger['warn']({'event':_0x497344['YjnCb'],'condition':_0x17ff39},_0x497344[_0x4511fe(0x64)]),null;const _0x33d087=this['sanitizeValue'](_0x50a991),_0x3a4388=_0x497344[_0x4511fe(0xe6)](_0x16010a,undefined)?_0x16010a:!![];let _0x1445fe=_0x2171af,_0x4a55cb=_0x33d087;!_0x3a4388&&(_0x1445fe='UPPER('+_0x2171af+')',_0x497344['mXIzH'](typeof _0x50a991,'string')&&(_0x4a55cb=_0x50a991['toUpperCase']()));const _0x27ece8=typeof _0x4a55cb==='string'?'\x27'+_0x4a55cb[_0x4511fe(0x95)](/'/g,'\x27\x27')+'\x27':_0x4a55cb;switch(_0x211b50[_0x4511fe(0xe0)]()){case'=':case'!=':case'<>':return _0x1445fe+'\x20'+_0x211b50+'\x20'+_0x27ece8;case'>':case'<':case'>=':case'<=':const _0x27ab67=_0x497344[_0x4511fe(0x6a)](typeof _0x33d087,_0x497344['WwssD'])?'\x27'+_0x33d087[_0x4511fe(0x95)](/'/g,'\x27\x27')+'\x27':_0x33d087;return _0x2171af+'\x20'+_0x211b50+'\x20'+_0x27ab67;case _0x497344[_0x4511fe(0x7d)]:case _0x497344['YytPM']:return _0x1445fe+'\x20'+_0x211b50+'\x20'+_0x27ece8;case'IN':if(Array[_0x4511fe(0x7b)](_0x33d087)){let _0x126834;return!_0x3a4388?_0x126834=_0x33d087['map'](_0x9b8a6c=>{const _0x3044e8=_0x4511fe,_0x423af3=_0x497344['mXIzH'](typeof _0x9b8a6c,'string')?_0x9b8a6c['toUpperCase']():_0x9b8a6c;return typeof _0x423af3==='string'?'\x27'+_0x423af3[_0x3044e8(0x95)](/'/g,'\x27\x27')+'\x27':_0x423af3;})['join'](',\x20'):_0x126834=_0x33d087['map'](_0x20f0dd=>typeof _0x20f0dd==='string'?'\x27'+_0x20f0dd[_0x4511fe(0x95)](/'/g,'\x27\x27')+'\x27':_0x20f0dd)[_0x4511fe(0x8b)](',\x20'),_0x1445fe+'\x20IN\x20('+_0x126834+')';}return _0x1445fe+'\x20IN\x20('+_0x27ece8+')';case _0x497344['qzHhm']:return _0x2171af+_0x4511fe(0xb5);case _0x497344[_0x4511fe(0x85)]:return _0x2171af+'\x20IS\x20NOT\x20NULL';default:logger[_0x4511fe(0xe3)]({'event':_0x497344[_0x4511fe(0xd1)],'operator':_0x211b50},_0x4511fe(0xc6));return _0x1445fe+'\x20=\x20'+_0x27ece8;}})['filter'](_0x49f647=>_0x49f647!==null);if(_0x3c8756[_0x419a40(0xcb)]===0x0)return'';return _0x3c8756[_0x419a40(0x8b)](_0x2709fb);}['buildOrderByClause'](_0x3255d7){const _0x53867c=a0_0x21cb03,_0x46e4f0={'gZEeE':'invalid_order','fmHPZ':_0x53867c(0xba),'BiCnu':function(_0x3d436d,_0x3405c4){return _0x3d436d===_0x3405c4;},'avPNp':function(_0x4f81aa,_0x35b363){return _0x4f81aa===_0x35b363;}};if(!_0x3255d7||_0x46e4f0[_0x53867c(0x97)](_0x3255d7[_0x53867c(0xcb)],0x0))return'';const _0x354c7a=_0x3255d7['map'](_0x3efed8=>{const _0x3b7198=_0x53867c,{column:_0x57e992,direction:_0x22ffc2}=_0x3efed8;if(!_0x57e992)return logger[_0x3b7198(0xe3)]({'event':_0x46e4f0['gZEeE'],'item':_0x3efed8},_0x3b7198(0x9b)),null;const _0x897610=_0x22ffc2&&_0x22ffc2['toUpperCase']()===_0x46e4f0['fmHPZ']?_0x3b7198(0xba):_0x3b7198(0xfd);return _0x57e992+'\x20'+_0x897610;})[_0x53867c(0xd3)](_0x1367af=>_0x1367af!==null);if(_0x46e4f0[_0x53867c(0x9c)](_0x354c7a[_0x53867c(0xcb)],0x0))return'';return _0x354c7a[_0x53867c(0x8b)](',\x20');}async['generateExcel'](_0x4f3553,_0x23298f,_0x18804b){const _0x5eb51c=a0_0x21cb03,_0x3f65b6={'jXYwW':function(_0x476bf1,_0x32a726){return _0x476bf1*_0x32a726;},'rdEGt':function(_0x377b9c,_0x2f18a7){return _0x377b9c/_0x2f18a7;},'eZNjz':function(_0x29aebc,_0x147b03){return _0x29aebc===_0x147b03;},'gIsZc':'all','xAoaW':function(_0x44fada,_0x4418a0){return _0x44fada>_0x4418a0;},'KSxPw':_0x5eb51c(0xc2),'vLSmG':'excel_columns_fallback','HgLql':_0x5eb51c(0xb1)},_0x304bdf=require(_0x5eb51c(0xfc)),_0x3339bf=new _0x304bdf(),_0x558c8e=_0x18804b[_0x5eb51c(0x98)]?_0x18804b['filename']+'-'+_0x4f3553:_0x5eb51c(0xda)+_0x4f3553,_0x317a9c=path[_0x5eb51c(0x8b)](this['exportDir'],_0x558c8e+'.xlsx');let _0x185add=_0x18804b[_0x5eb51c(0xd2)];const _0xa2a254=_0x185add&&_0x185add[_0x5eb51c(0xcb)]===0x1&&(_0x3f65b6[_0x5eb51c(0x81)](_0x185add[0x0],'*')||_0x3f65b6[_0x5eb51c(0x81)](_0x185add[0x0][_0x5eb51c(0x71)](),_0x3f65b6[_0x5eb51c(0x67)]));if(_0x3f65b6[_0x5eb51c(0x70)](_0x23298f['length'],0x0)){const _0x596756=Object[_0x5eb51c(0xf8)](_0x23298f[0x0]);if(_0xa2a254)_0x185add=_0x596756,logger['info']({'event':'excel_columns_select_all','columns':_0x185add},'Using\x20all\x20'+_0x185add[_0x5eb51c(0xcb)]+_0x5eb51c(0xb0));else{if(_0x185add&&_0x185add['length']>0x0){const _0x2c045c=_0x185add[_0x5eb51c(0xd3)](_0x3deb90=>_0x596756['includes'](_0x3deb90));_0x2c045c[_0x5eb51c(0xcb)]>0x0?(_0x185add=_0x2c045c,logger['info']({'event':_0x3f65b6['KSxPw'],'requestedColumns':_0x18804b['columns'],'validColumns':_0x185add},_0x5eb51c(0xb7)+_0x185add['length']+_0x5eb51c(0xc5))):(_0x185add=_0x596756,logger[_0x5eb51c(0xe3)]({'event':_0x3f65b6['vLSmG'],'requestedColumns':_0x18804b[_0x5eb51c(0xd2)],'availableColumns':_0x596756},_0x5eb51c(0xb3)+_0x596756[_0x5eb51c(0xcb)]+'\x20columns'));}else _0x185add=_0x596756,logger['info']({'event':_0x3f65b6[_0x5eb51c(0xeb)],'columns':_0x185add},'Using\x20'+_0x185add[_0x5eb51c(0xcb)]+_0x5eb51c(0xb6));}}else logger[_0x5eb51c(0x6f)]({'event':_0x5eb51c(0xa2),'columns':_0x185add},_0x5eb51c(0xb7)+(_0x185add?.['length']||0x0)+_0x5eb51c(0xa0));return await _0x3339bf[_0x5eb51c(0xad)]({'data':_0x23298f,'columns':_0x185add,'columnFormats':_0x18804b['columnFormats']||null,'fieldLabels':_0x18804b['fieldLabels']||null,'filePath':_0x317a9c,'onProgress':async _0xe0bd05=>{const _0x2169cf=_0x5eb51c;await redisHelper[_0x2169cf(0xa8)](_0x4f3553,{'progress':Math['round'](_0xe0bd05),'processed_rows':Math[_0x2169cf(0xf9)](_0x3f65b6[_0x2169cf(0xd9)](_0x3f65b6[_0x2169cf(0x76)](_0xe0bd05,0x64),_0x23298f[_0x2169cf(0xcb)]))});}}),_0x317a9c;}async[a0_0x21cb03(0xf6)](_0x25d2a9){const _0x3f5be2=a0_0x21cb03,_0x583ce0={'gJpzT':_0x3f5be2(0x7e),'iYcAA':function(_0x11d15e,_0x5da31a,_0x407c79,_0x106b0a){return _0x11d15e(_0x5da31a,_0x407c79,_0x106b0a);},'oVTWD':'export_file_not_found','MgewC':_0x3f5be2(0xd0)},_0x8ba801=await redisHelper[_0x3f5be2(0x9f)](_0x25d2a9);if(!_0x8ba801||_0x8ba801[_0x3f5be2(0x96)]!==_0x583ce0['gJpzT'])return null;try{return await fs['access'](_0x8ba801['file_path']),_0x8ba801['file_path'];}catch(_0x4e18f8){return _0x583ce0['iYcAA'](logError,_0x4e18f8,{'event':_0x583ce0[_0x3f5be2(0x9e)],'jobId':_0x25d2a9,'path':_0x8ba801['file_path']},_0x583ce0[_0x3f5be2(0xc3)]),null;}}async[a0_0x21cb03(0xea)](){const _0x59bf2e=a0_0x21cb03,_0x156885={'sBejF':function(_0x4f1b96,_0x43fc8f){return _0x4f1b96/_0x43fc8f;},'vESUz':function(_0x2aa3a7,_0x2ecbbc){return _0x2aa3a7*_0x2ecbbc;},'MPGzl':function(_0x20d310,_0x430f49){return _0x20d310>_0x430f49;},'LwgHq':_0x59bf2e(0xf7),'Zuhpv':_0x59bf2e(0x9a),'PudIF':'Failed\x20to\x20delete\x20export\x20file','BcuqS':_0x59bf2e(0xf0),'ttWdo':_0x59bf2e(0xc1)};logger[_0x59bf2e(0x6f)]({'event':'export_cleanup_start'},_0x59bf2e(0xcc));const _0x178ead=await redisHelper['getAllJobs']();let _0x1cf725=0x0;for(const _0xf8ee62 of _0x178ead){const _0x1b65cc=new Date(_0xf8ee62[_0x59bf2e(0xf3)]),_0xd86e4b=new Date(),_0x2e8645=_0x156885[_0x59bf2e(0xb2)](_0xd86e4b-_0x1b65cc,_0x156885['vESUz'](0x3e8,0x3c)*0x3c);if(_0x156885[_0x59bf2e(0xc8)](_0x2e8645,0x1)){if(_0xf8ee62['file_path'])try{await fs[_0x59bf2e(0x69)](_0xf8ee62['file_path']),logger['info']({'event':_0x156885['LwgHq'],'path':_0xf8ee62[_0x59bf2e(0xca)]},_0x156885['Zuhpv']);}catch(_0x263421){logger['warn']({'event':'export_file_delete_error','path':_0xf8ee62['file_path'],'error':_0x263421[_0x59bf2e(0xe1)]},_0x156885['PudIF']);}await redisHelper['deleteJob'](_0xf8ee62['job_id']),_0x1cf725++;}}return logger['info']({'event':_0x156885[_0x59bf2e(0x78)],'deleted':_0x1cf725},_0x156885['ttWdo']),_0x1cf725;}}module[a0_0x21cb03(0xbd)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x414069=a0_0xb8e9;function a0_0x5042(){const _0x12b49c=['l2v4Cg9YDa','y29SDw1UrM9YBwf0CW','C3vJy2vZCW','AxnbCNjHEq','ow9gzuDUuq','sw52ywXPzcbZB3j0ignVBhvTBG','mJDuA2PTweK','ELnqDuO','y29UzgL0Aw9UCW','mZzkA3n3ruW','lI4VlI4VC2vYDMLJzxmVzxHWB3j0lxnLCNzPy2u','AgfUzgXLrxHWB3j0u3rHDhvZ','qwvizgW','y2XLyw51Cf9LCNjVCG','BwvZC2fNzq','z2v0','sw52ywXPzcb3AgvYzsbMAwvSza','mtm5ndGWnKjjB3fouq','DMHQu1G','y2XLyw51Ca','zxHWB3j0uxvLCNK','nJmXota4ANDXEwng','rMfPBgvKihrVigDLDcbLEhbVCNqGC3rHDhvZ','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','Aw5JBhvKzxm','DgfIBgvoyw1L','C3rHDhvZ','A2v5','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','q29SDw1Uici','iIbPCYbUB3qGywXSB3DLza','yM9KEq','nJC4ntm3mfDSzLfNCG','rMLLBgqGiG','lwv4Cg9YDa','mtb1wvnjteG','y29SDw1U','z2v0rMLSzvbHDgG','uhfvzuK','sunjExO','Cgf0Aa','zxHWB3j0x3rYAwDNzxjFzxjYB3i','odGZntrjBg1ss2e','nefws0TYsq','AgfUzgXLrxHWB3j0rg93BMXVywq','l2v4Cg9YDc1ZDgf0Dxm','AgfUzgXLrxHWB3j0vhjPz2DLCG','CxvLCNK','zMLLBgrmywjLBhm','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','CMvNAxn0zxjdBgvHBNvWuM91Dgu','ANnVBG','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','y3jLyxrLsM9I','y29SDw1UCW','mtu0ntuXmdbmy3PmC3C','mJu3nZeZnMTctK1Syq','mtqYnZm5m05du2nxBa'];a0_0x5042=function(){return _0x12b49c;};return a0_0x5042();}(function(_0x3c3537,_0x38166f){const _0x4b5f0b=a0_0xb8e9,_0x50a269=_0x3c3537();while(!![]){try{const _0x38bb58=-parseInt(_0x4b5f0b(0x206))/0x1+-parseInt(_0x4b5f0b(0x1e1))/0x2*(-parseInt(_0x4b5f0b(0x1f7))/0x3)+parseInt(_0x4b5f0b(0x1e2))/0x4*(-parseInt(_0x4b5f0b(0x1d7))/0x5)+-parseInt(_0x4b5f0b(0x1fa))/0x6*(-parseInt(_0x4b5f0b(0x202))/0x7)+parseInt(_0x4b5f0b(0x1ef))/0x8*(-parseInt(_0x4b5f0b(0x1f5))/0x9)+-parseInt(_0x4b5f0b(0x1da))/0xa*(-parseInt(_0x4b5f0b(0x1f0))/0xb)+parseInt(_0x4b5f0b(0x1ee))/0xc;if(_0x38bb58===_0x38166f)break;else _0x50a269['push'](_0x50a269['shift']());}catch(_0x2ce874){_0x50a269['push'](_0x50a269['shift']());}}}(a0_0x5042,0xaad39));function a0_0xb8e9(_0x29d005,_0x2468e1){_0x29d005=_0x29d005-0x1cf;const _0x504211=a0_0x5042();let _0xb8e987=_0x504211[_0x29d005];if(a0_0xb8e9['xraBos']===undefined){var _0x3f48e4=function(_0x5aa9c4){const _0xe51516='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10f1ed='',_0x3d9ac7='';for(let _0x445676=0x0,_0x2c3f17,_0x521e9e,_0x15504b=0x0;_0x521e9e=_0x5aa9c4['charAt'](_0x15504b++);~_0x521e9e&&(_0x2c3f17=_0x445676%0x4?_0x2c3f17*0x40+_0x521e9e:_0x521e9e,_0x445676++%0x4)?_0x10f1ed+=String['fromCharCode'](0xff&_0x2c3f17>>(-0x2*_0x445676&0x6)):0x0){_0x521e9e=_0xe51516['indexOf'](_0x521e9e);}for(let _0x371e05=0x0,_0x5e87d0=_0x10f1ed['length'];_0x371e05<_0x5e87d0;_0x371e05++){_0x3d9ac7+='%'+('00'+_0x10f1ed['charCodeAt'](_0x371e05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d9ac7);};a0_0xb8e9['eNjNig']=_0x3f48e4,a0_0xb8e9['kyBObK']={},a0_0xb8e9['xraBos']=!![];}const _0x2a3589=_0x504211[0x0],_0x3ca5bd=_0x29d005+_0x2a3589,_0x3f5713=a0_0xb8e9['kyBObK'][_0x3ca5bd];return!_0x3f5713?(_0xb8e987=a0_0xb8e9['eNjNig'](_0xb8e987),a0_0xb8e9['kyBObK'][_0x3ca5bd]=_0xb8e987):_0xb8e987=_0x3f5713,_0xb8e987;}const exportService=require(a0_0x414069(0x1fb)),{logger,logError}=require('../../utils/logger'),path=require(a0_0x414069(0x1df));class ExportHandler{static['registerRoutes'](_0x1ddd59,_0x58f6a6,_0x544dea,_0x5829db){const _0x3b4623=a0_0x414069,_0x1b00ed={'AeHdl':_0x3b4623(0x209),'NtPAq':_0x3b4623(0x207),'ICIyz':function(_0x3a4df5,_0x1ef0d8,_0xc05d83,_0x58d9ac){return _0x3a4df5(_0x1ef0d8,_0xc05d83,_0x58d9ac);}},_0x10b208='/api/'+_0x58f6a6+'/'+_0x544dea;_0x1ddd59['post'](_0x10b208+_0x3b4623(0x1f1),async(_0x3e4db1,_0x35b3e8)=>{const _0x1088aa=_0x3b4623;try{await this[_0x1088aa(0x1e5)](_0x3e4db1,_0x35b3e8,_0x5829db,_0x58f6a6,_0x544dea);}catch(_0x20ef49){logError(_0x20ef49,{'event':_0x1088aa(0x1e0)},_0x1b00ed[_0x1088aa(0x1fd)]),_0x35b3e8[_0x1088aa(0x1d1)](0x1f4)[_0x1088aa(0x1ea)]({'success':![],'error':_0x20ef49[_0x1088aa(0x1ff)]});}}),_0x1ddd59[_0x3b4623(0x200)](_0x10b208+_0x3b4623(0x1e4),async(_0x4fd5d0,_0xd87d5)=>{const _0x319457=_0x3b4623;try{await this[_0x319457(0x1fc)](_0x4fd5d0,_0xd87d5);}catch(_0x3c9d52){logError(_0x3c9d52,{'event':'export_status_error'},_0x1b00ed['NtPAq']),_0xd87d5[_0x319457(0x1d1)](0x1f4)['json']({'success':![],'error':_0x3c9d52['message']});}}),_0x1ddd59[_0x3b4623(0x200)](_0x10b208+'/export-download',async(_0x41e1b1,_0x663f56)=>{const _0x3b4e2d=_0x3b4623;try{await this['handleExportDownload'](_0x41e1b1,_0x663f56);}catch(_0x2dca86){_0x1b00ed[_0x3b4e2d(0x1de)](logError,_0x2dca86,{'event':'export_download_error'},_0x3b4e2d(0x208)),!_0x663f56['headersSent']&&_0x663f56['status'](0x1f4)['json']({'success':![],'error':_0x2dca86['message']});}});}static async['handleExportTrigger'](_0x463b2a,_0x285a05,_0x450644,_0x2c1e41,_0x6cc8e4){const _0x32b1d1=a0_0x414069,_0x217672={'vhjSX':function(_0x4748fe,_0x3a8b){return _0x4748fe!==_0x3a8b;},'ooyzm':'xlsx','MJtQe':_0x32b1d1(0x1e8),'PqUeI':_0x32b1d1(0x201),'pNRto':_0x32b1d1(0x1f6),'jUDau':function(_0xe94508,_0x53fbe0){return _0xe94508+_0x53fbe0;},'zSPuJ':function(_0x225358,_0x6a4b46){return _0x225358||_0x6a4b46;}},{format:_0x23a3c6,filename:_0x5a41cf,columns:_0x5125ae,where:_0x568c5e,sort_columns:_0x35c541}=_0x463b2a[_0x32b1d1(0x1d6)];if(_0x23a3c6&&_0x217672[_0x32b1d1(0x203)](_0x23a3c6,_0x217672['ooyzm']))return _0x285a05['status'](0x190)['json']({'success':![],'error':_0x32b1d1(0x1eb)});if(_0x568c5e){if(!_0x568c5e['logic']||!_0x568c5e['conditions']||!Array[_0x32b1d1(0x1f4)](_0x568c5e[_0x32b1d1(0x1f9)]))return _0x285a05[_0x32b1d1(0x1d1)](0x190)['json']({'success':![],'error':_0x32b1d1(0x1d3)});}if(_0x35c541){if(!Array['isArray'](_0x35c541))return _0x285a05[_0x32b1d1(0x1d1)](0x190)['json']({'success':![],'error':_0x217672['MJtQe']});}const _0x41aaa7=_0x450644[_0x32b1d1(0x1ed)]||[];if(_0x568c5e&&Array[_0x32b1d1(0x1f4)](_0x568c5e[_0x32b1d1(0x1f9)]))for(const _0x41b77b of _0x568c5e['conditions']){if(_0x41b77b[_0x32b1d1(0x1d2)]&&!_0x41aaa7['includes'](_0x41b77b[_0x32b1d1(0x1d2)]))return _0x285a05['status'](0x190)[_0x32b1d1(0x1ea)]({'success':![],'error':_0x217672[_0x32b1d1(0x1dd)],'message':_0x32b1d1(0x1d8)+_0x41b77b[_0x32b1d1(0x1d2)]+'\x22\x20is\x20not\x20allowed','validFields':_0x41aaa7});}if(Array['isArray'](_0x35c541))for(const _0x3b7bb0 of _0x35c541){if(_0x3b7bb0[_0x32b1d1(0x1db)]&&!_0x41aaa7[_0x32b1d1(0x1cf)](_0x3b7bb0[_0x32b1d1(0x1db)]))return _0x285a05['status'](0x190)['json']({'success':![],'error':_0x217672['pNRto'],'message':_0x32b1d1(0x1d4)+_0x3b7bb0[_0x32b1d1(0x1db)]+_0x32b1d1(0x1d5),'validFields':_0x41aaa7});}const _0x454354=_0x217672['jUDau'](_0x450644[_0x32b1d1(0x1d0)]['replace']('.','-'),_0x32b1d1(0x1d9)),_0x223e59=await exportService[_0x32b1d1(0x1ec)]({'moduleName':_0x2c1e41,'endpointName':_0x6cc8e4,'tableName':_0x450644['tableName'],'format':_0x217672['zSPuJ'](_0x23a3c6,'xlsx'),'filename':_0x5a41cf||_0x454354,'columns':_0x5125ae||_0x450644['columns'],'exportQuery':_0x450644[_0x32b1d1(0x205)]||null,'columnFormats':_0x450644[_0x32b1d1(0x1f2)]||null,'fieldLabels':_0x450644[_0x32b1d1(0x1e7)]||null,'where':_0x568c5e||null,'sort_columns':_0x217672[_0x32b1d1(0x1f8)](_0x35c541,null)});_0x285a05['json']({'success':!![],'data':_0x223e59});}static async['handleExportStatus'](_0x5bb784,_0x79c8e4){const _0x17212e=a0_0x414069,{job_id:_0x5b7610}=_0x5bb784[_0x17212e(0x1e6)];if(!_0x5b7610)return _0x79c8e4['status'](0x190)[_0x17212e(0x1ea)]({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x38183a=await exportService['getJobStatus'](_0x5b7610);if(!_0x38183a[_0x17212e(0x1f3)])return _0x79c8e4['status'](0x194)[_0x17212e(0x1ea)](_0x38183a);_0x79c8e4['json'](_0x38183a);}static async[a0_0x414069(0x1e3)](_0x47e6c9,_0x4ac97a){const _0x2fb92a=a0_0x414069,_0x21fa02={'evbuG':'Failed\x20to\x20download\x20export\x20file','PGyIK':'Export\x20file\x20downloaded\x20successfully','sgZeP':'job_id\x20parameter\x20is\x20required'},{job_id:_0x2d860e}=_0x47e6c9['query'];if(!_0x2d860e)return _0x4ac97a['status'](0x190)['json']({'success':![],'error':_0x21fa02['sgZeP']});const _0x67c513=await exportService[_0x2fb92a(0x1dc)](_0x2d860e);if(!_0x67c513)return _0x4ac97a[_0x2fb92a(0x1d1)](0x194)['json']({'success':![],'error':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'});_0x4ac97a['download'](_0x67c513,''+path['basename'](_0x67c513),_0x4da939=>{const _0x59c379=_0x2fb92a;_0x4da939?(logError(_0x4da939,{'event':'export_download_error','jobId':_0x2d860e},_0x21fa02['evbuG']),!_0x4ac97a['headersSent']&&_0x4ac97a[_0x59c379(0x1d1)](0x1f4)['json']({'success':![],'error':'Failed\x20to\x20download\x20file'})):logger['info']({'event':'export_downloaded','jobId':_0x2d860e},_0x21fa02['PGyIK']);});}static[a0_0x414069(0x1e9)](_0x489054){const _0x10c5ed={'YsYJy':'Cleanup\x20failed'};_0x489054['get']('/api/admin/export-cleanup',async(_0x1554df,_0x4039ce)=>{const _0x5532f1=a0_0xb8e9;try{const _0x408f39=await exportService[_0x5532f1(0x204)]();_0x4039ce[_0x5532f1(0x1ea)]({'success':!![],'data':{'deleted':_0x408f39,'message':'Cleanup\x20completed'}});}catch(_0x25e033){logError(_0x25e033,{'event':_0x5532f1(0x1fe)},_0x10c5ed['YsYJy']),_0x4039ce['status'](0x1f4)['json']({'success':![],'error':_0x25e033['message']});}});}}module['exports']=ExportHandler;
1
+ const a0_0x164c0e=a0_0x2e38;function a0_0x53bf(){const _0x3e42d5=['Aw5JBhvKzxm','iIbPCYbUB3qGywXSB3DLza','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','AxnbCNjHEq','q2XLyw51CcbMywLSzwq','ndK2ndG3neLwCePpBG','ntiZodyYwhrWCMrY','y29SDw1UCW','DgfIBgvoyw1L','yM9KEq','CvPwq0K','mtm1D2vKwMnl','nduZu2rWAe5d','EgXZEa','mtm0ntuWne9Orxv2Aq','DKzVuw8','mtaZodGZndbHuwvXCMW','Bg9NAwm','ANnVBG','C3vJy2vZCW','zMLLBgrmywjLBhm','suDpBNG','AgfUzgXLrxHWB3j0rg93BMXVywq','rMLSzsbUB3qGCMvHzhKGB3iGBM90igzVDw5KlIbdAgvJAYbQB2iGC3rHDhvZigzPCNn0lG','mtf1wxrHBw4','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','yMfZzw5HBwu','l2fWAs9Hzg1PBI9LEhbVCNqTy2XLyw51Ca','y29UzgL0Aw9UCW','mtb4Ae1YBwK','zxHWB3j0x3rYAwDNzxjFzxjYB3i','y3jLyxrLsM9I','nJK1mZi3nw9us0Tcrq','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','q2XLyw51CcbJB21WBgv0zwq','zxHWB3j0uxvLCNK','nJm1mdyWzgDZrhPd','seTwz1K','oeDtqwzWsG','wNDsCfO','CxvLCNK','rMfPBgvKihrVigDLDcbLEhbVCNqGC3rHDhvZ','y2XLyw51Ca','l2v4Cg9YDc1KB3DUBg9Hza','z2v0sM9Iu3rHDhvZ','lI4VlI4VDxrPBhmVBg9Nz2vY','nZCYnK5RCg9ICG','C3rHDhvZ','EKTkqK4','AgfUzgXLrxHWB3j0u3rHDhvZ','z2v0','zxHWB3j0x3n0yxr1C19LCNjVCG','AgvHzgvYC1nLBNq','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','AujcDMq','y2XLyw51Cf9LCNjVCG','y0XRwhm'];a0_0x53bf=function(){return _0x3e42d5;};return a0_0x53bf();}(function(_0x437e59,_0x4bfaa2){const _0x454dfe=a0_0x2e38,_0x2fed67=_0x437e59();while(!![]){try{const _0x546271=parseInt(_0x454dfe(0x7d))/0x1+-parseInt(_0x454dfe(0x6c))/0x2*(-parseInt(_0x454dfe(0x83))/0x3)+parseInt(_0x454dfe(0x85))/0x4*(-parseInt(_0x454dfe(0x94))/0x5)+-parseInt(_0x454dfe(0x7c))/0x6+parseInt(_0x454dfe(0x97))/0x7*(parseInt(_0x454dfe(0x9d))/0x8)+-parseInt(_0x454dfe(0x82))/0x9*(parseInt(_0x454dfe(0x9b))/0xa)+parseInt(_0x454dfe(0x8f))/0xb*(parseInt(_0x454dfe(0x87))/0xc);if(_0x546271===_0x4bfaa2)break;else _0x2fed67['push'](_0x2fed67['shift']());}catch(_0x3500ea){_0x2fed67['push'](_0x2fed67['shift']());}}}(a0_0x53bf,0x7d55e));const exportService=require('../../services/export-service'),{logger,logError}=require(a0_0x164c0e(0xa4)),path=require('path');function a0_0x2e38(_0xf3b5eb,_0x1142aa){_0xf3b5eb=_0xf3b5eb-0x6c;const _0x53bf1c=a0_0x53bf();let _0x2e388f=_0x53bf1c[_0xf3b5eb];if(a0_0x2e38['WqqMAl']===undefined){var _0x43a5e4=function(_0x434b2f){const _0x3f9273='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37a502='',_0x1cda90='';for(let _0x518b84=0x0,_0x45ca59,_0x16a6c,_0x2eb754=0x0;_0x16a6c=_0x434b2f['charAt'](_0x2eb754++);~_0x16a6c&&(_0x45ca59=_0x518b84%0x4?_0x45ca59*0x40+_0x16a6c:_0x16a6c,_0x518b84++%0x4)?_0x37a502+=String['fromCharCode'](0xff&_0x45ca59>>(-0x2*_0x518b84&0x6)):0x0){_0x16a6c=_0x3f9273['indexOf'](_0x16a6c);}for(let _0x4149b9=0x0,_0x557213=_0x37a502['length'];_0x4149b9<_0x557213;_0x4149b9++){_0x1cda90+='%'+('00'+_0x37a502['charCodeAt'](_0x4149b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1cda90);};a0_0x2e38['QllPJJ']=_0x43a5e4,a0_0x2e38['YIVflx']={},a0_0x2e38['WqqMAl']=!![];}const _0x409d61=_0x53bf1c[0x0],_0x491418=_0xf3b5eb+_0x409d61,_0x55c93d=a0_0x2e38['YIVflx'][_0x491418];return!_0x55c93d?(_0x2e388f=a0_0x2e38['QllPJJ'](_0x2e388f),a0_0x2e38['YIVflx'][_0x491418]=_0x2e388f):_0x2e388f=_0x55c93d,_0x2e388f;}class ExportHandler{static['registerRoutes'](_0xe5ff89,_0x2a3b6f,_0x23d63a,_0x469cb8){const _0x3b937a=a0_0x164c0e,_0x52b5c6={'zKJBN':function(_0x59bd37,_0x4621e9,_0x6f915c,_0x504d77){return _0x59bd37(_0x4621e9,_0x6f915c,_0x504d77);},'vFoQo':_0x3b937a(0x95),'iBBvd':function(_0x3884be,_0x3a2d18,_0x302d63,_0x43933f){return _0x3884be(_0x3a2d18,_0x302d63,_0x43933f);},'GTmRX':_0x3b937a(0xa0)},_0x5e11a4='/api/'+_0x2a3b6f+'/'+_0x23d63a;_0xe5ff89['post'](_0x5e11a4+'/export',async(_0x137839,_0x5aa662)=>{const _0x14f1e0=_0x3b937a;try{await this['handleExportTrigger'](_0x137839,_0x5aa662,_0x469cb8,_0x2a3b6f,_0x23d63a);}catch(_0xcf62ac){_0x52b5c6[_0x14f1e0(0x6e)](logError,_0xcf62ac,{'event':_0x52b5c6[_0x14f1e0(0x86)]},_0x14f1e0(0x98)),_0x5aa662['status'](0x1f4)['json']({'success':![],'error':_0xcf62ac['message']});}}),_0xe5ff89['get'](_0x5e11a4+'/export-status',async(_0xd7ef1b,_0x1b9680)=>{const _0x44c7fb=_0x3b937a;try{await this[_0x44c7fb(0x6f)](_0xd7ef1b,_0x1b9680);}catch(_0x56fb40){_0x52b5c6[_0x44c7fb(0x74)](logError,_0x56fb40,{'event':_0x44c7fb(0x71)},_0x52b5c6['GTmRX']),_0x1b9680['status'](0x1f4)[_0x44c7fb(0x89)]({'success':![],'error':_0x56fb40['message']});}}),_0xe5ff89[_0x3b937a(0x70)](_0x5e11a4+_0x3b937a(0xa2),async(_0x2d0e39,_0x2e6428)=>{const _0x20b4f9=_0x3b937a;try{await this[_0x20b4f9(0x8d)](_0x2d0e39,_0x2e6428);}catch(_0x358670){logError(_0x358670,{'event':_0x20b4f9(0x73)},_0x20b4f9(0x90)),!_0x2e6428['headersSent']&&_0x2e6428['status'](0x1f4)[_0x20b4f9(0x89)]({'success':![],'error':_0x358670['message']});}});}static async['handleExportTrigger'](_0x40187f,_0x57eefd,_0x134c2c,_0x3375fd,_0x469ea6){const _0x3cc666=a0_0x164c0e,_0x149232={'qZVCI':function(_0x5ebc05,_0x210e79){return _0x5ebc05!==_0x210e79;},'QbZZK':'xlsx','ZwRpZ':_0x3cc666(0x79),'baaiR':function(_0x44e731,_0x260366){return _0x44e731+_0x260366;},'iPjoE':function(_0x3cc8fd,_0x38288b){return _0x3cc8fd||_0x38288b;},'cLkXs':function(_0x4afbe4,_0x364857){return _0x4afbe4||_0x364857;}},{format:_0x48140a,filename:_0x1cc619,columns:_0x3ea4c8,where:_0x1a3ab5,sort_columns:_0x19dba4}=_0x40187f[_0x3cc666(0x80)];if(_0x48140a&&_0x149232[_0x3cc666(0x81)](_0x48140a,_0x149232['QbZZK']))return _0x57eefd[_0x3cc666(0x6d)](0x190)['json']({'success':![],'error':_0x149232[_0x3cc666(0x9e)]});if(_0x1a3ab5){if(!_0x1a3ab5[_0x3cc666(0x88)]||!_0x1a3ab5[_0x3cc666(0x93)]||!Array[_0x3cc666(0x7a)](_0x1a3ab5[_0x3cc666(0x93)]))return _0x57eefd[_0x3cc666(0x6d)](0x190)[_0x3cc666(0x89)]({'success':![],'error':'Invalid\x20where\x20structure.\x20Expected:\x20{\x20logic:\x20\x22AND|OR\x22,\x20conditions:\x20[...]\x20}'});}if(_0x19dba4){if(!Array[_0x3cc666(0x7a)](_0x19dba4))return _0x57eefd[_0x3cc666(0x6d)](0x190)[_0x3cc666(0x89)]({'success':![],'error':'Invalid\x20sort_columns\x20structure.\x20Expected:\x20[{\x20column:\x20\x22col\x22,\x20direction:\x20\x22ASC|DESC\x22\x20}]'});}const _0x248f40=_0x134c2c[_0x3cc666(0x7e)]||[];if(_0x1a3ab5&&Array[_0x3cc666(0x7a)](_0x1a3ab5[_0x3cc666(0x93)]))for(const _0xd19187 of _0x1a3ab5['conditions']){if(_0xd19187['key']&&!_0x248f40[_0x3cc666(0x77)](_0xd19187['key']))return _0x57eefd['status'](0x190)[_0x3cc666(0x89)]({'success':![],'error':'Invalid\x20where\x20field','message':'Field\x20\x22'+_0xd19187['key']+_0x3cc666(0x78),'validFields':_0x248f40});}if(Array['isArray'](_0x19dba4))for(const _0x4098c7 of _0x19dba4){if(_0x4098c7['column']&&!_0x248f40['includes'](_0x4098c7['column']))return _0x57eefd[_0x3cc666(0x6d)](0x190)['json']({'success':![],'error':'Invalid\x20sort\x20column','message':'Column\x20\x22'+_0x4098c7['column']+'\x22\x20is\x20not\x20allowed','validFields':_0x248f40});}const _0x4973cc=_0x149232['baaiR'](_0x134c2c[_0x3cc666(0x7f)]['replace']('.','-'),'-export'),_0x42ec6f=await exportService[_0x3cc666(0x96)]({'moduleName':_0x3375fd,'endpointName':_0x469ea6,'tableName':_0x134c2c[_0x3cc666(0x7f)],'format':_0x48140a||_0x3cc666(0x84),'filename':_0x149232['iPjoE'](_0x1cc619,_0x4973cc),'columns':_0x3ea4c8||_0x134c2c[_0x3cc666(0x7e)],'exportQuery':_0x134c2c[_0x3cc666(0x9a)]||null,'columnFormats':_0x134c2c['columnFormats']||null,'fieldLabels':_0x134c2c[_0x3cc666(0x8b)]||null,'where':_0x149232['iPjoE'](_0x1a3ab5,null),'sort_columns':_0x149232[_0x3cc666(0x76)](_0x19dba4,null)});_0x57eefd[_0x3cc666(0x89)]({'success':!![],'data':_0x42ec6f});}static async['handleExportStatus'](_0x249780,_0x1b4cc9){const _0x2b8c52=a0_0x164c0e,{job_id:_0x792cfe}=_0x249780[_0x2b8c52(0x9f)];if(!_0x792cfe)return _0x1b4cc9['status'](0x190)[_0x2b8c52(0x89)]({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x59ff94=await exportService[_0x2b8c52(0xa3)](_0x792cfe);if(!_0x59ff94[_0x2b8c52(0x8a)])return _0x1b4cc9[_0x2b8c52(0x6d)](0x194)['json'](_0x59ff94);_0x1b4cc9[_0x2b8c52(0x89)](_0x59ff94);}static async['handleExportDownload'](_0x290a89,_0x52b42f){const _0x2ab577=a0_0x164c0e,_0x16d1b5={'IGOnx':function(_0x196164,_0x37a9a9,_0x1ae27a,_0x54f376){return _0x196164(_0x37a9a9,_0x1ae27a,_0x54f376);},'STipl':'export_downloaded','JygUs':'Export\x20file\x20downloaded\x20successfully','HKVgY':_0x2ab577(0x8e)},{job_id:_0x16d4e1}=_0x290a89['query'];if(!_0x16d4e1)return _0x52b42f[_0x2ab577(0x6d)](0x190)['json']({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x4dbfc0=await exportService['getFilePath'](_0x16d4e1);if(!_0x4dbfc0)return _0x52b42f['status'](0x194)['json']({'success':![],'error':_0x16d1b5[_0x2ab577(0x9c)]});_0x52b42f['download'](_0x4dbfc0,''+path[_0x2ab577(0x91)](_0x4dbfc0),_0x5b463c=>{const _0x18ea29=_0x2ab577;_0x5b463c?(_0x16d1b5[_0x18ea29(0x8c)](logError,_0x5b463c,{'event':'export_download_error','jobId':_0x16d4e1},'Failed\x20to\x20download\x20export\x20file'),!_0x52b42f[_0x18ea29(0x72)]&&_0x52b42f['status'](0x1f4)['json']({'success':![],'error':'Failed\x20to\x20download\x20file'})):logger['info']({'event':_0x16d1b5['STipl'],'jobId':_0x16d4e1},_0x16d1b5['JygUs']);});}static['registerCleanupRoute'](_0x40e4a3){const _0x2e8004=a0_0x164c0e;_0x40e4a3['get'](_0x2e8004(0x92),async(_0x24a8eb,_0x356fb7)=>{const _0x13b3ed=_0x2e8004;try{const _0x14f4ba=await exportService[_0x13b3ed(0xa1)]();_0x356fb7[_0x13b3ed(0x89)]({'success':!![],'data':{'deleted':_0x14f4ba,'message':_0x13b3ed(0x99)}});}catch(_0x199da6){logError(_0x199da6,{'event':_0x13b3ed(0x75)},_0x13b3ed(0x7b)),_0x356fb7[_0x13b3ed(0x6d)](0x1f4)[_0x13b3ed(0x89)]({'success':![],'error':_0x199da6['message']});}});}}module['exports']=ExportHandler;