@restforgejs/platform 4.2.8 → 4.3.1

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 (324) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +1 -1
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/templates/dashboard-catalog.js +1 -437
  25. package/generators/lib/templates/db-connection-env.js +1 -212
  26. package/generators/lib/templates/dbschema-catalog.js +1 -489
  27. package/generators/lib/templates/field-validation-catalog.js +1 -531
  28. package/generators/lib/templates/mysql-template.js +1 -3863
  29. package/generators/lib/templates/oracle-template.js +1 -3915
  30. package/generators/lib/templates/postgres-template.js +1 -5838
  31. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  32. package/generators/lib/templates/sqlite-template.js +1 -3440
  33. package/generators/lib/utils/env-manager.js +6 -0
  34. package/generators/lib/utils/path-validator.js +71 -0
  35. package/generators/lib/validators/payload-validator.js +1 -2
  36. package/integrity-manifest.json +28 -10
  37. package/package.json +11 -3
  38. package/scripts/verify-integrity.js +1 -1
  39. package/server.js +1 -1
  40. package/src/components/handlers/adjust_handler.js +1 -1
  41. package/src/components/handlers/audit_handler.js +1 -1
  42. package/src/components/handlers/delete_handler.js +1 -1
  43. package/src/components/handlers/export_handler.js +1 -1
  44. package/src/components/handlers/import_handler.js +1 -1
  45. package/src/components/handlers/insert_handler.js +1 -1
  46. package/src/components/handlers/update_handler.js +1 -1
  47. package/src/components/handlers/upload_handler.js +1 -1
  48. package/src/components/handlers/workflow_handler.js +1 -1
  49. package/src/components/integrations/webhook.js +1 -1
  50. package/src/consumers/baseConsumer.js +1 -1
  51. package/src/consumers/declarativeMapper.js +1 -1
  52. package/src/consumers/handlers/apiHandler.js +1 -1
  53. package/src/consumers/handlers/consoleHandler.js +1 -1
  54. package/src/consumers/handlers/databaseHandler.js +1 -1
  55. package/src/consumers/handlers/index.js +1 -1
  56. package/src/consumers/handlers/kafkaHandler.js +1 -1
  57. package/src/consumers/index.js +1 -1
  58. package/src/consumers/messageTransformer.js +1 -1
  59. package/src/consumers/validator.js +1 -1
  60. package/src/core/db/dialect/base-dialect.js +1 -1
  61. package/src/core/db/dialect/index.js +1 -1
  62. package/src/core/db/dialect/mysql-dialect.js +1 -1
  63. package/src/core/db/dialect/oracle-dialect.js +1 -1
  64. package/src/core/db/dialect/postgres-dialect.js +1 -1
  65. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  66. package/src/core/db/flatten-helper.js +1 -1
  67. package/src/core/db/query-builder-error.js +1 -1
  68. package/src/core/db/query-builder.js +1 -1
  69. package/src/core/db/relation-helper.js +1 -1
  70. package/src/core/handlers/delete_handler.js +1 -1
  71. package/src/core/handlers/insert_handler.js +1 -1
  72. package/src/core/handlers/update_handler.js +1 -1
  73. package/src/core/models/base-model.js +1 -1
  74. package/src/core/utils/cache-manager.js +1 -1
  75. package/src/core/utils/component-engine.js +1 -1
  76. package/src/core/utils/context-builder.js +1 -1
  77. package/src/core/utils/datetime-formatter.js +1 -1
  78. package/src/core/utils/datetime-parser.js +1 -1
  79. package/src/core/utils/db.js +1 -1
  80. package/src/core/utils/logger.js +1 -1
  81. package/src/core/utils/payload-loader.js +1 -1
  82. package/src/core/utils/security-checks.js +1 -1
  83. package/src/middleware/body-options.js +1 -1
  84. package/src/middleware/cors.js +1 -1
  85. package/src/middleware/idempotency.js +1 -1
  86. package/src/middleware/rate-limiter.js +1 -1
  87. package/src/middleware/request-logger.js +1 -1
  88. package/src/middleware/security-headers.js +1 -1
  89. package/src/models/base-model-mysql.js +1 -1
  90. package/src/models/base-model-oracle.js +1 -1
  91. package/src/models/base-model-sqlite.js +1 -1
  92. package/src/models/base-model.js +1 -1
  93. package/src/pro/caching/redis-client.js +1 -1
  94. package/src/pro/caching/redis-helper.js +1 -1
  95. package/src/pro/consumers/baseConsumer.js +1 -1
  96. package/src/pro/consumers/declarativeMapper.js +1 -1
  97. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  98. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  99. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  100. package/src/pro/consumers/handlers/index.js +1 -1
  101. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  102. package/src/pro/consumers/index.js +1 -1
  103. package/src/pro/consumers/messageTransformer.js +1 -1
  104. package/src/pro/consumers/validator.js +1 -1
  105. package/src/pro/database/base-model-mysql.js +1 -1
  106. package/src/pro/database/base-model-oracle.js +1 -1
  107. package/src/pro/database/base-model-sqlite.js +1 -1
  108. package/src/pro/database/db-mysql.js +1 -1
  109. package/src/pro/database/db-oracle.js +1 -1
  110. package/src/pro/database/db-sqlite.js +1 -1
  111. package/src/pro/excel/excel-generator.js +1 -1
  112. package/src/pro/excel/excel-parser.js +1 -1
  113. package/src/pro/excel/export-service.js +1 -1
  114. package/src/pro/excel/export_handler.js +1 -1
  115. package/src/pro/excel/import-service.js +1 -1
  116. package/src/pro/excel/import-validator.js +1 -1
  117. package/src/pro/excel/import_handler.js +1 -1
  118. package/src/pro/excel/upsert-builder.js +1 -1
  119. package/src/pro/idgen/idgen-routes.js +1 -1
  120. package/src/pro/integrations/lookup-resolver.js +1 -1
  121. package/src/pro/integrations/upload-handler-v2.js +1 -1
  122. package/src/pro/integrations/upload-handler.js +1 -1
  123. package/src/pro/integrations/webhook.js +1 -1
  124. package/src/pro/locking/lock-routes.js +1 -1
  125. package/src/pro/locking/resource-lock-manager.js +1 -1
  126. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  127. package/src/pro/messaging/kafkaService.js +1 -1
  128. package/src/pro/messaging/messagehubService.js +1 -1
  129. package/src/pro/messaging/rabbitmqService.js +1 -1
  130. package/src/pro/scheduler/job-manager.js +1 -1
  131. package/src/pro/scheduler/job-routes.js +1 -1
  132. package/src/pro/scheduler/job-validator.js +1 -1
  133. package/src/pro/storage/base-storage-provider.js +1 -1
  134. package/src/pro/storage/file-metadata-helper.js +1 -1
  135. package/src/pro/storage/index.js +1 -1
  136. package/src/pro/storage/local-storage-provider.js +1 -1
  137. package/src/pro/storage/s3-storage-provider.js +1 -1
  138. package/src/pro/storage/upload-cleanup-job.js +1 -1
  139. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  140. package/src/pro/storage/upload-pending-tracker.js +1 -1
  141. package/src/pro/websocket/broadcast-helper.js +1 -1
  142. package/src/pro/websocket/index.js +1 -1
  143. package/src/pro/websocket/livesync-server.js +1 -1
  144. package/src/pro/websocket/ws-broadcaster.js +1 -1
  145. package/src/services/export-service.js +1 -1
  146. package/src/services/import-service.js +1 -1
  147. package/src/services/kafkaConsumerService.js +1 -1
  148. package/src/services/kafkaService.js +1 -1
  149. package/src/services/messagehubService.js +1 -1
  150. package/src/services/rabbitmqService.js +1 -1
  151. package/src/utils/cache-invalidation-registry.js +1 -1
  152. package/src/utils/cache-manager.js +1 -1
  153. package/src/utils/component-engine.js +1 -1
  154. package/src/utils/config-extractor.js +1 -1
  155. package/src/utils/consumerLogger.js +1 -1
  156. package/src/utils/context-builder.js +1 -1
  157. package/src/utils/dashboard-helpers.js +1 -1
  158. package/src/utils/dateHelper.js +1 -1
  159. package/src/utils/datetime-formatter.js +1 -1
  160. package/src/utils/datetime-parser.js +1 -1
  161. package/src/utils/db-bootstrap.js +1 -1
  162. package/src/utils/db-mysql.js +1 -1
  163. package/src/utils/db-oracle.js +1 -1
  164. package/src/utils/db-sqlite.js +1 -1
  165. package/src/utils/db.js +1 -1
  166. package/src/utils/demo-generator.js +1 -1
  167. package/src/utils/excel-generator.js +1 -1
  168. package/src/utils/excel-parser.js +1 -1
  169. package/src/utils/file-watcher.js +1 -1
  170. package/src/utils/id-generator.js +1 -1
  171. package/src/utils/idempotency-manager.js +1 -1
  172. package/src/utils/import-validator.js +1 -1
  173. package/src/utils/license-client.js +1 -1
  174. package/src/utils/lock-manager.js +1 -1
  175. package/src/utils/logger.js +1 -1
  176. package/src/utils/lookup-resolver.js +1 -1
  177. package/src/utils/payload-loader.js +1 -1
  178. package/src/utils/processor-response.js +1 -1
  179. package/src/utils/rabbitmq.js +1 -1
  180. package/src/utils/redis-client.js +1 -1
  181. package/src/utils/redis-helper.js +1 -1
  182. package/src/utils/request-scope.js +1 -1
  183. package/src/utils/security-checks.js +1 -1
  184. package/src/utils/service-resolver.js +1 -1
  185. package/src/utils/shutdown-coordinator.js +1 -1
  186. package/src/utils/trusted-keys.js +1 -1
  187. package/src/utils/upload-handler.js +1 -1
  188. package/src/utils/upsert-builder.js +1 -1
  189. package/src/utils/workflow-hook-executor.js +1 -1
  190. package/generators/metadata/global.json +0 -58
  191. package/generators/metadata/test-mysql-workbench.json +0 -118
  192. package/generators/metadata/test-mysql.json +0 -56
  193. package/generators/metadata/test-oracle-workbench.json +0 -118
  194. package/generators/metadata/test-oracle.json +0 -56
  195. package/generators/metadata/test-pg-workbench.json +0 -118
  196. package/generators/metadata/test-pg.json +0 -56
  197. package/generators/scripts/obfuscate-source.js +0 -356
  198. package/generators/scripts/validate-catalog.js +0 -430
  199. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  200. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  203. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  206. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  209. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  210. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  211. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  212. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  213. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  214. package/generators/tests/integration-tahap4b/README.md +0 -145
  215. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  216. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  217. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  218. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  219. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  220. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  221. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  222. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  223. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  224. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  231. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  244. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  245. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  246. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  247. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  252. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  253. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  256. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  299. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  300. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  301. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  302. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  303. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  304. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  305. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  306. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  307. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  308. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  309. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  310. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  311. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  312. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  313. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  314. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  315. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  316. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  317. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  318. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  319. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  320. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  321. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  322. package/scripts/generate-integrity-manifest.js +0 -124
  323. package/scripts/snapshot-cli-contracts.js +0 -194
  324. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- const a0_0x236640=a0_0x5c76;(function(_0x56b338,_0x47f6bc){const _0x3e1a10=a0_0x5c76,_0x3a8c5f=_0x56b338();while(!![]){try{const _0x5bd18c=-parseInt(_0x3e1a10(0x117))/0x1+-parseInt(_0x3e1a10(0xdc))/0x2+parseInt(_0x3e1a10(0xfd))/0x3*(-parseInt(_0x3e1a10(0xcc))/0x4)+parseInt(_0x3e1a10(0xf6))/0x5*(-parseInt(_0x3e1a10(0x10a))/0x6)+-parseInt(_0x3e1a10(0x111))/0x7*(parseInt(_0x3e1a10(0xd3))/0x8)+-parseInt(_0x3e1a10(0xd0))/0x9*(-parseInt(_0x3e1a10(0x113))/0xa)+parseInt(_0x3e1a10(0xc5))/0xb;if(_0x5bd18c===_0x47f6bc)break;else _0x3a8c5f['push'](_0x3a8c5f['shift']());}catch(_0x54c3f2){_0x3a8c5f['push'](_0x3a8c5f['shift']());}}}(a0_0x2c37,0xbece9));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x236640(0xee));function a0_0x5c76(_0x382db0,_0x478933){_0x382db0=_0x382db0-0xbe;const _0x2c37e1=a0_0x2c37();let _0x5c7678=_0x2c37e1[_0x382db0];if(a0_0x5c76['YyOVwP']===undefined){var _0x113b73=function(_0x349780){const _0x988071='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56f291='',_0x526400='';for(let _0x15e631=0x0,_0x57a606,_0x47c20c,_0x4d7f84=0x0;_0x47c20c=_0x349780['charAt'](_0x4d7f84++);~_0x47c20c&&(_0x57a606=_0x15e631%0x4?_0x57a606*0x40+_0x47c20c:_0x47c20c,_0x15e631++%0x4)?_0x56f291+=String['fromCharCode'](0xff&_0x57a606>>(-0x2*_0x15e631&0x6)):0x0){_0x47c20c=_0x988071['indexOf'](_0x47c20c);}for(let _0x1b1c8a=0x0,_0x3f279f=_0x56f291['length'];_0x1b1c8a<_0x3f279f;_0x1b1c8a++){_0x526400+='%'+('00'+_0x56f291['charCodeAt'](_0x1b1c8a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x526400);};a0_0x5c76['ADJOjC']=_0x113b73,a0_0x5c76['QHAoOU']={},a0_0x5c76['YyOVwP']=!![];}const _0x4165d9=_0x2c37e1[0x0],_0xd2b406=_0x382db0+_0x4165d9,_0x2d7d38=a0_0x5c76['QHAoOU'][_0xd2b406];return!_0x2d7d38?(_0x5c7678=a0_0x5c76['ADJOjC'](_0x5c7678),a0_0x5c76['QHAoOU'][_0xd2b406]=_0x5c7678):_0x5c7678=_0x2d7d38,_0x5c7678;}oracledb['fetchAsString']=[oracledb[a0_0x236640(0xdf)],oracledb[a0_0x236640(0xd2)]],oracledb['fetchAsBuffer']=[oracledb['BLOB']];function a0_0x2c37(){const _0x555efd=['CgfYyw1Z','Aw5MBW','q29UC2K','rejFue9sva','t3jHy2XLihrYyw5Zywn0Aw9UigzHAwXLzdOG','yxv0B0nVBw1PDa','mZa0neLAseDJEa','zxHLy3v0zq','t3rAAxi','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','mJi4nMngsfLLEq','teL1yxO','tKnmt0i','mti0nta1nMDMuwTPvW','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','B3jHy2XLx3bVB2XFy3jLyxrLza','B3jHy2XLx3bVB2XFy2XVC2vK','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','zxHLy3v0zvrYyw5Zywn0Aw9U','sMPOwwK','ndC5mtm0rKDTAwjz','rejFueftu1DpuKq','BgfZDfjVD2LK','q0XpqG','rejFvvnfuG','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','mtuYmq','BwvZC2fNzq','B3jHy2XLx3bVB2XFzxjYB3i','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','Aw5PDgLHBgL6zvbVB2W','z2v0ug9VBfn0yxrPC3rPy3m','C0XcA3q','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','BgvUz3rO','CM93C0fMzMvJDgvK','CMHKtue','rvn6v1C','lI9SB2DNzxi','DgTptvi','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','y2XVC2vqB29S','B3jHy2XL','ihf1zxjPzxmP','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','DgvZDenVBM5Ly3rPB24','odaZmdK1BwXbuLjX','yxPOA2S','B3jHy2XLx3nODxrKB3DU','z2v0q29UBMvJDgLVBG','B3jHy2XLx3bVB2XFzxHPC3rZ','zxHLy3v0zvf1zxj5','qwLrAvC','mtuWoxLjr013sq','AM1zrxq','Cg9VBe1PBG','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','C3vIC3rYAw5N','EwPZv3m','DxnLCG','CM93CW','y2XVC2u','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','Cg9VBfrPBwvVDxq','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','zxjYB3joDw0','ndjwrMfAqMe','y29UzMLN','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','rejFse9tva','vMrUtK8','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','mtrquu5js24','zuvNufC','nJa4mJb4AMvXyMe','zw52','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','uur1Ewe','nte1mZK5qMnNB3nu','y29TBwL0','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','Cg9VBa','wuHpvvO','zgvIDwC','DMDkqNy','u0Lhvevstq','mtK5mta2otn2DhfwDgK'];a0_0x2c37=function(){return _0x555efd;};return a0_0x2c37();}async function ensureNlsReady(_0x7126c2){const _0x4055b9=a0_0x236640;if(_0x7126c2['_nlsReady'])return;await _0x7126c2[_0x4055b9(0xcd)](_0x4055b9(0xd5)),await _0x7126c2['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27'),await _0x7126c2['execute'](_0x4055b9(0xd4)),_0x7126c2['_nlsReady']=!![];}class OracleDatabase{constructor(){const _0x2ac40b=a0_0x236640,_0x3ead9e={'TieCn':function(_0x348739,_0x33f3a4){return _0x348739(_0x33f3a4);},'tWAVH':function(_0x4081ff,_0x53fc14){return _0x4081ff(_0x53fc14);},'nPXgF':'localhost','zwkrC':_0x2ac40b(0xf2)};this['pool']=null,this[_0x2ac40b(0x10b)]={'user':process['env'][_0x2ac40b(0xe0)]||'hr','password':process['env'][_0x2ac40b(0xdd)]||'hr','connectString':this['buildConnectionString'](),'poolMin':_0x3ead9e['TieCn'](parseInt,process['env']['DB_POOL_MIN'])||0x2,'poolMax':parseInt(process[_0x2ac40b(0x114)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0x3ead9e['tWAVH'](parseInt,process['env']['DB_POOL_INCREMENT'])||0x1,'poolTimeout':parseInt(process[_0x2ac40b(0x114)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0x2ac40b(0xdf)],oracledb[_0x2ac40b(0xd2)]],'fetchAsBuffer':[oracledb['BLOB']]},_0x3ead9e['tWAVH'](logDatabaseConfig,{'host':process['env'][_0x2ac40b(0x10d)]||_0x3ead9e['nPXgF'],'port':process[_0x2ac40b(0x114)]['DB_PORT']||_0x2ac40b(0xe2),'database':process['env']['DB_NAME']||'XE','type':_0x3ead9e['zwkrC'],'user':this['config'][_0x2ac40b(0x103)],'poolMin':this[_0x2ac40b(0x10b)][_0x2ac40b(0xff)],'poolMax':this[_0x2ac40b(0x10b)]['poolMax']});}['buildConnectionString'](){const _0x104261=a0_0x236640,_0x382f90={'uURIq':_0x104261(0xe2)},_0x3905d2=process[_0x104261(0x114)][_0x104261(0x10d)]||'localhost',_0xb51352=process[_0x104261(0x114)][_0x104261(0xc9)]||_0x382f90['uURIq'],_0x1e059e=process[_0x104261(0x114)]['DB_NAME']||'XE',_0x6b4d68='//'+_0x3905d2+':'+_0xb51352+'/'+_0x1e059e;return logger[_0x104261(0xc2)]({'event':'oracle_connection_string','connectionString':_0x6b4d68},_0x104261(0xe9)+_0x6b4d68),_0x6b4d68;}async[a0_0x236640(0xe6)](){const _0x258ed4=a0_0x236640,_0x1d5dd5={'jfyrj':'oracle_pool_creating','LIuaz':_0x258ed4(0xe5),'fJRcK':_0x258ed4(0x110),'PCakZ':function(_0x4df0b2,_0x4ee9b1,_0x1bb863,_0x184855){return _0x4df0b2(_0x4ee9b1,_0x1bb863,_0x184855);},'uHqct':_0x258ed4(0xe4)};try{const _0x4a07bf='2|0|4|1|3'['split']('|');let _0xdc77b2=0x0;while(!![]){switch(_0x4a07bf[_0xdc77b2++]){case'0':logger[_0x258ed4(0xc7)]({'event':_0x1d5dd5['jfyrj']},_0x1d5dd5[_0x258ed4(0xd1)]);continue;case'1':logger[_0x258ed4(0xc7)]({'event':_0x258ed4(0xd7)},'Oracle\x20connection\x20pool\x20created\x20successfully');continue;case'2':if(this[_0x258ed4(0xc0)]){logger['debug']({'event':_0x258ed4(0xfa)},_0x1d5dd5['fJRcK']);return;}continue;case'3':await this['testConnection']();continue;case'4':this['pool']=await oracledb['createPool'](this[_0x258ed4(0x10b)]);continue;}break;}}catch(_0xe3c4a){_0x1d5dd5['PCakZ'](logError,_0xe3c4a,{'event':_0x1d5dd5['uHqct']},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0xe3c4a['message']);throw _0xe3c4a;}}async[a0_0x236640(0xf5)](){const _0x5c3597=a0_0x236640,_0x9442e0={'sLBkt':_0x5c3597(0xbf),'axKkr':_0x5c3597(0xf4),'VdnNO':function(_0x403881,_0x36b28d,_0x288f4f,_0xc6e73f){return _0x403881(_0x36b28d,_0x288f4f,_0xc6e73f);},'eEgPW':function(_0x1d6eb3,_0x58d152,_0xac528a,_0x280413){return _0x1d6eb3(_0x58d152,_0xac528a,_0x280413);}};let _0x37ff10;try{logger['debug']({'event':_0x9442e0[_0x5c3597(0xe8)]},_0x5c3597(0x108)),_0x37ff10=await this[_0x5c3597(0xc0)][_0x5c3597(0xf9)](),await ensureNlsReady(_0x37ff10);const _0x335f55=await _0x37ff10[_0x5c3597(0xcd)]('SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL');logger[_0x5c3597(0xc7)]({'event':_0x9442e0['axKkr'],'currentDate':_0x335f55['rows'][0x0][0x0],'currentUser':_0x335f55[_0x5c3597(0x104)][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x335f55['rows'][0x0][0x1]);}catch(_0x1f1245){_0x9442e0[_0x5c3597(0x10e)](logError,_0x1f1245,{'event':_0x5c3597(0x100)},_0x5c3597(0xe1)+_0x1f1245['message']);throw _0x1f1245;}finally{if(_0x37ff10)try{await _0x37ff10['close']();}catch(_0x49ad1c){_0x9442e0[_0x5c3597(0x112)](logError,_0x49ad1c,{'event':_0x5c3597(0xd9)},'Error\x20closing\x20test\x20connection:\x20'+_0x49ad1c['message']);}}}async[a0_0x236640(0xfb)](_0x43acf0,_0x2c1e0f=[],_0x3447d2={}){const _0x3d27f3=a0_0x236640,_0x5eced5={'ESzWW':function(_0x339b16){return _0x339b16();},'tkOMR':_0x3d27f3(0xf2),'NtjYn':function(_0x31e3f0){return _0x31e3f0();},'Consi':function(_0x8a2c0,_0x2f9dd6,_0xb6c954,_0x4a8688){return _0x8a2c0(_0x2f9dd6,_0xb6c954,_0x4a8688);},'azhkk':'sql_error'};let _0x3f717a;const _0x3b1104=_0x5eced5[_0x3d27f3(0xed)](startQueryTimer);try{!this[_0x3d27f3(0xc0)]&&await this[_0x3d27f3(0xe6)]();_0x3f717a=await this[_0x3d27f3(0xc0)]['getConnection'](),await ensureNlsReady(_0x3f717a);const _0x4942d8={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x3447d2[_0x3d27f3(0xcb)]!==undefined?_0x3447d2[_0x3d27f3(0xcb)]:!![],..._0x3447d2},_0x5dde65=await _0x3f717a[_0x3d27f3(0xcd)](_0x43acf0,_0x2c1e0f,_0x4942d8),_0x3d3732=_0x5eced5['ESzWW'](_0x3b1104),_0x28a11c=_0x5dde65[_0x3d27f3(0x104)]?_0x5dde65[_0x3d27f3(0x104)][_0x3d27f3(0xea)]:_0x5dde65[_0x3d27f3(0xeb)];return logQuery(_0x43acf0,_0x2c1e0f,{'duration':_0x3d3732,'rowsAffected':_0x28a11c,'dbType':_0x5eced5[_0x3d27f3(0xef)]}),_0x5dde65[_0x3d27f3(0x104)]?_0x5dde65[_0x3d27f3(0x104)]:{'rowsAffected':_0x5dde65[_0x3d27f3(0xeb)],'lastRowid':_0x5dde65[_0x3d27f3(0xde)]};}catch(_0x465e18){const _0x22ab62=_0x5eced5['NtjYn'](_0x3b1104);_0x5eced5[_0x3d27f3(0xc8)](logError,_0x465e18,{'event':_0x5eced5[_0x3d27f3(0xf7)],'query':_0x43acf0[_0x3d27f3(0x101)](0x0,0x1f4),'paramCount':_0x2c1e0f['length'],'durationMs':_0x22ab62,'code':_0x465e18['errorNum'],'dbType':_0x5eced5['tkOMR']},'Oracle\x20SQL\x20Error:\x20'+_0x465e18[_0x3d27f3(0xe3)]);throw _0x465e18;}finally{if(_0x3f717a)try{await _0x3f717a[_0x3d27f3(0x105)]();}catch(_0x1898e4){_0x5eced5['Consi'](logError,_0x1898e4,{'event':'oracle_connection_close_error'},_0x3d27f3(0x10f)+_0x1898e4['message']);}}}async[a0_0x236640(0xda)](_0x2a27c0){const _0x38e66b=a0_0x236640,_0x42b6e2={'OtZir':function(_0x40dc0f){return _0x40dc0f();},'griIQ':function(_0x3b0db1,_0x430f87,_0xf11bc9,_0x2067c3){return _0x3b0db1(_0x430f87,_0xf11bc9,_0x2067c3);},'AiQiW':_0x38e66b(0xf2),'JjhYi':'transaction_complete','DvoBu':function(_0x112255,_0x2db84e,_0x29e84c){return _0x112255(_0x2db84e,_0x29e84c);},'vgJBv':'rollback','hZxyC':_0x38e66b(0xf0)};let _0x1d1922;const _0x3c00ac=_0x42b6e2[_0x38e66b(0xce)](startQueryTimer);try{!this[_0x38e66b(0xc0)]&&await this['initializePool']();_0x1d1922=await this['pool'][_0x38e66b(0xf9)](),await ensureNlsReady(_0x1d1922),logTransaction('start',_0x2a27c0['length']);const _0x4601ee=[];for(const _0x238428 of _0x2a27c0){const _0x4a3cbd=_0x42b6e2[_0x38e66b(0xce)](startQueryTimer),_0x1c2675=await _0x1d1922['execute'](_0x238428['sql'],_0x238428['params']||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x45d059=_0x4a3cbd(),_0x4b3923=_0x1c2675['rows']?_0x1c2675[_0x38e66b(0x104)]['length']:_0x1c2675[_0x38e66b(0xeb)];_0x42b6e2['griIQ'](logQuery,_0x238428['sql'],_0x238428[_0x38e66b(0xc6)]||[],{'duration':_0x45d059,'rowsAffected':_0x4b3923,'dbType':_0x42b6e2[_0x38e66b(0xfc)]}),_0x4601ee['push'](_0x1c2675);}await _0x1d1922[_0x38e66b(0xbe)]();const _0x238e41=_0x42b6e2['OtZir'](_0x3c00ac);return logTransaction(_0x38e66b(0xbe),_0x2a27c0[_0x38e66b(0xea)]),logger['info']({'event':_0x42b6e2[_0x38e66b(0xdb)],'queryCount':_0x2a27c0[_0x38e66b(0xea)],'totalDurationMs':_0x238e41,'dbType':_0x42b6e2['AiQiW']},'Oracle\x20transaction\x20committed\x20('+_0x238e41+'ms,\x20'+_0x2a27c0[_0x38e66b(0xea)]+_0x38e66b(0xf3)),_0x4601ee;}catch(_0x8e1336){const _0x572c2a=_0x3c00ac();_0x42b6e2['griIQ'](logError,_0x8e1336,{'event':'transaction_error','queryCount':_0x2a27c0['length'],'totalDurationMs':_0x572c2a,'code':_0x8e1336[_0x38e66b(0x109)],'dbType':_0x42b6e2['AiQiW']},_0x38e66b(0xca)+_0x8e1336[_0x38e66b(0xe3)]);if(_0x1d1922)try{await _0x1d1922['rollback'](),_0x42b6e2['DvoBu'](logTransaction,_0x42b6e2[_0x38e66b(0xc3)],_0x2a27c0['length']);}catch(_0x2286fd){logError(_0x2286fd,{'event':'rollback_error','dbType':_0x42b6e2[_0x38e66b(0xfc)]},_0x38e66b(0x10c)+_0x2286fd[_0x38e66b(0xe3)]);}throw _0x8e1336;}finally{if(_0x1d1922)try{await _0x1d1922[_0x38e66b(0x105)]();}catch(_0x219bd5){logError(_0x219bd5,{'event':_0x42b6e2['hZxyC']},_0x38e66b(0x106)+_0x219bd5['message']);}}}async['closePool'](){const _0x2f30b7=a0_0x236640,_0x1b991f={'YHOUZ':function(_0x37c78a,_0xfde834,_0x13b18c,_0x20f715){return _0x37c78a(_0xfde834,_0x13b18c,_0x20f715);}};try{this['pool']&&(logger[_0x2f30b7(0xc7)]({'event':'oracle_pool_closing'},'Closing\x20Oracle\x20connection\x20pool...'),await this[_0x2f30b7(0xc0)][_0x2f30b7(0x105)](0xa),this[_0x2f30b7(0xc0)]=null,logger['info']({'event':_0x2f30b7(0xd8)},'Oracle\x20connection\x20pool\x20closed'));}catch(_0x557325){_0x1b991f[_0x2f30b7(0xc1)](logError,_0x557325,{'event':'oracle_pool_close_error'},_0x2f30b7(0x115)+_0x557325[_0x2f30b7(0xe3)]);throw _0x557325;}}[a0_0x236640(0xe7)](){const _0x6fdbb7=a0_0x236640;if(!this['pool'])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this['pool']['connectionsInUse'],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this['pool']['poolAlias'],'poolMin':this['pool'][_0x6fdbb7(0xff)],'poolMax':this[_0x6fdbb7(0xc0)]['poolMax'],'poolIncrement':this[_0x6fdbb7(0xc0)]['poolIncrement'],'poolTimeout':this['pool'][_0x6fdbb7(0x107)],'status':'Active'};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x55684f=a0_0x236640,_0x538971={'IIbAk':'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...','rhdMA':function(_0x384a7d,_0x5ddd71,_0x53ed3e,_0x198991){return _0x384a7d(_0x5ddd71,_0x53ed3e,_0x198991);}};logger[_0x55684f(0xc7)]({'event':_0x55684f(0xf8),'signal':'SIGINT'},_0x538971['IIbAk']);try{await oracleDb[_0x55684f(0xf1)](),process['exit'](0x0);}catch(_0x1e9675){_0x538971[_0x55684f(0xec)](logError,_0x1e9675,{'event':_0x55684f(0xcf),'signal':'SIGINT'},_0x55684f(0xd6)+_0x1e9675['message']),process['exit'](0x1);}}),process['on'](a0_0x236640(0xc4),async()=>{const _0x46c6c2=a0_0x236640,_0x437764={'yjsWs':_0x46c6c2(0xf8),'QDuya':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','jmYEt':'SIGTERM'};logger['info']({'event':_0x437764[_0x46c6c2(0x102)],'signal':'SIGTERM'},_0x437764[_0x46c6c2(0x116)]);try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x46251c){logError(_0x46251c,{'event':'oracle_shutdown_error','signal':_0x437764[_0x46c6c2(0xfe)]},_0x46c6c2(0xd6)+_0x46251c['message']),process['exit'](0x1);}}),module['exports']=oracleDb;
1
+ const a0_0x2f7926=a0_0x56fb;(function(_0xe4ad4e,_0x39c84c){const _0x52b1a5=a0_0x56fb,_0x5d6181=_0xe4ad4e();while(!![]){try{const _0x15cab2=parseInt(_0x52b1a5(0x1bd))/0x1+-parseInt(_0x52b1a5(0x1a0))/0x2*(-parseInt(_0x52b1a5(0x1bb))/0x3)+parseInt(_0x52b1a5(0x16b))/0x4*(parseInt(_0x52b1a5(0x1b1))/0x5)+parseInt(_0x52b1a5(0x195))/0x6+-parseInt(_0x52b1a5(0x1a5))/0x7+parseInt(_0x52b1a5(0x1b6))/0x8*(-parseInt(_0x52b1a5(0x19b))/0x9)+parseInt(_0x52b1a5(0x187))/0xa*(-parseInt(_0x52b1a5(0x1c2))/0xb);if(_0x15cab2===_0x39c84c)break;else _0x5d6181['push'](_0x5d6181['shift']());}catch(_0x2f33e9){_0x5d6181['push'](_0x5d6181['shift']());}}}(a0_0x46ab,0xd077a));const oracledb=require(a0_0x2f7926(0x1be)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');function a0_0x46ab(){const _0x57d53f=['zxjYB3joDw0','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','CM93CW','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','DgvZDenVBM5Ly3rPB24','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','ANnduKi','zw52','DNvru1q','nZv4zLbhs1u','BwvZC2fNzq','zMv0y2HbC1n0CMLUzW','B3jHy2XLx3bVB2XFzxHPC3rZ','y29UBMvJDgLVBNnpCgvU','nZy0oeHLvxfMva','CM9SBgjHy2S','u0Lhvevstq','B3jHy2XLx3bVB2XFy2XVC2vK','t1vux0zpuK1bvf9pqKPfq1q','mJeWnJi3r2zrEuzr','zhzsuMq','nZq3mZqWsM1jwgTp','B3jHy2XLzgi','CM93C0fMzMvJDgvK','vuHervq','zgvIDwC','mtfyC2PKrue','C0LoDgS','z2v0q29UBMvJDgLVBG','rejFue9ptf9jtKnsru1ftLq','q0XpqG','rejFueftu1DpuKq','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','BgvUz3rO','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','qMfNDvG','t3jHy2XLihrYyw5Zywn0Aw9UigzHAwXLzdOG','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','tKnmt0i','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','mtK1ntC2vwHzzMfs','vvHvv1K','vMvSvwm','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJCMvHDgvKihn1y2nLC3nMDwXSEq','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','Aw5MBW','wu5lEKO','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','B3jHy2XL','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','rejFue9sva','y2XVC2u','Cg9VBe1PBG','vK5xExi','qKXpqG','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','rejFvvnfuG','uuvfwvy','mtuYmq','rgrdrMq','y29UzMLN','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','v0fVrNG','B3jHy2XLx3nODxrKB3DU','rejFue9ptf9nsu4','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','zxHWB3j0CW','C3fS','mJmWotuXmZbeB1jQsgq','Aw5PDgLHBgL6zvbVB2W','BgfZDfjVD2LK','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','zxHPDa','tNbHCum','u0Lhsu5u','x25SC1jLywr5','y29UBMvJDgLVBNnjBLvZzq','zxHLy3v0zq','BxmSia','z2v0ug9VBfn0yxrPC3rPy3m','rejFtKfnrq','B3jHy2XLx3bVB2XFy2XVC2LUzW','otm3otq4oeTZB1PqvG','t3LHzMW','DxnLCG','CgfYyw1Z','Bg9JywXOB3n0','nhWYFdn8mxWW','nJKYmvrjBfHwrG','y29TBwL0','wgzssfK','wejAtge','Cg9VBa','mZrJtKHLBLO','DhzYuxm','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','s05fr1i','Cg9VBe1HEa','mJm3mJK0nezTsgP0qq','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','tvbHCu0'];a0_0x46ab=function(){return _0x57d53f;};return a0_0x46ab();}function a0_0x56fb(_0x274c99,_0x2897f1){_0x274c99=_0x274c99-0x164;const _0x46ab6c=a0_0x46ab();let _0x56fb24=_0x46ab6c[_0x274c99];if(a0_0x56fb['rKJYkg']===undefined){var _0x1d70a5=function(_0x11eea0){const _0x367303='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b6565='',_0x6f72be='';for(let _0x3472d3=0x0,_0x35fb84,_0x5bd3d2,_0x3ebed2=0x0;_0x5bd3d2=_0x11eea0['charAt'](_0x3ebed2++);~_0x5bd3d2&&(_0x35fb84=_0x3472d3%0x4?_0x35fb84*0x40+_0x5bd3d2:_0x5bd3d2,_0x3472d3++%0x4)?_0x2b6565+=String['fromCharCode'](0xff&_0x35fb84>>(-0x2*_0x3472d3&0x6)):0x0){_0x5bd3d2=_0x367303['indexOf'](_0x5bd3d2);}for(let _0x111b60=0x0,_0x22594b=_0x2b6565['length'];_0x111b60<_0x22594b;_0x111b60++){_0x6f72be+='%'+('00'+_0x2b6565['charCodeAt'](_0x111b60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6f72be);};a0_0x56fb['ntfFLC']=_0x1d70a5,a0_0x56fb['hiYyiY']={},a0_0x56fb['rKJYkg']=!![];}const _0x4e6929=_0x46ab6c[0x0],_0xb1bdfc=_0x274c99+_0x4e6929,_0x35d03=a0_0x56fb['hiYyiY'][_0xb1bdfc];return!_0x35d03?(_0x56fb24=a0_0x56fb['ntfFLC'](_0x56fb24),a0_0x56fb['hiYyiY'][_0xb1bdfc]=_0x56fb24):_0x56fb24=_0x35d03,_0x56fb24;}oracledb[a0_0x2f7926(0x1b3)]=[oracledb[a0_0x2f7926(0x1c6)],oracledb['NCLOB']],oracledb['fetchAsBuffer']=[oracledb['BLOB']];async function ensureNlsReady(_0x2cf632){const _0x4c9b51=a0_0x2f7926,_0x56439c=_0x4c9b51(0x19a)['split']('|');let _0x2153c6=0x0;while(!![]){switch(_0x56439c[_0x2153c6++]){case'0':_0x2cf632[_0x4c9b51(0x18e)]=!![];continue;case'1':await _0x2cf632['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27');continue;case'2':await _0x2cf632[_0x4c9b51(0x190)](_0x4c9b51(0x180));continue;case'3':await _0x2cf632['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27');continue;case'4':if(_0x2cf632['_nlsReady'])return;continue;}break;}}class OracleDatabase{constructor(){const _0x28752f=a0_0x2f7926,_0x2b2aa3={'tvrQs':function(_0x11b6a7,_0x2b203d){return _0x11b6a7(_0x2b203d);},'DsWpT':function(_0x17e1d8,_0x1aba48){return _0x17e1d8(_0x1aba48);},'sINtk':_0x28752f(0x199),'NpaqC':_0x28752f(0x17d),'DdCFd':_0x28752f(0x173)};this[_0x28752f(0x19f)]=null,this[_0x28752f(0x17f)]={'user':process[_0x28752f(0x1af)][_0x28752f(0x17b)]||'hr','password':process['env'][_0x28752f(0x1c7)]||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process[_0x28752f(0x1af)][_0x28752f(0x183)])||0x2,'poolMax':_0x2b2aa3[_0x28752f(0x1a1)](parseInt,process[_0x28752f(0x1af)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0x2b2aa3['DsWpT'](parseInt,process['env'][_0x28752f(0x1c5)])||0x1,'poolTimeout':_0x2b2aa3['DsWpT'](parseInt,process['env']['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x28752f(0x169)]],'fetchAsBuffer':[oracledb[_0x28752f(0x179)]]},_0x2b2aa3['DsWpT'](logDatabaseConfig,{'host':process[_0x28752f(0x1af)]['DB_HOST']||_0x2b2aa3[_0x28752f(0x1c3)],'port':process[_0x28752f(0x1af)][_0x28752f(0x175)]||_0x2b2aa3[_0x28752f(0x18c)],'database':process['env'][_0x28752f(0x193)]||'XE','type':_0x2b2aa3[_0x28752f(0x17e)],'user':this[_0x28752f(0x17f)][_0x28752f(0x197)],'poolMin':this['config'][_0x28752f(0x177)],'poolMax':this['config']['poolMax']});}['buildConnectionString'](){const _0x3c20da=a0_0x2f7926,_0x4e3163={'jsCRB':_0x3c20da(0x17d)},_0x334ef3=process['env']['DB_HOST']||_0x3c20da(0x199),_0x14b88c=process['env']['DB_PORT']||_0x4e3163[_0x3c20da(0x1ae)],_0x4a28f4=process[_0x3c20da(0x1af)]['DB_NAME']||'XE',_0x4394ba='//'+_0x334ef3+':'+_0x14b88c+'/'+_0x4a28f4;return logger[_0x3c20da(0x1c1)]({'event':'oracle_connection_string','connectionString':_0x4394ba},'Oracle\x20Connection\x20String:\x20'+_0x4394ba),_0x4394ba;}async['initializePool'](){const _0x314c8c=a0_0x2f7926,_0x56df2f={'VelUc':'Oracle\x20connection\x20pool\x20sudah\x20ada','mPDTZ':_0x314c8c(0x16f),'MPaqM':_0x314c8c(0x16e),'KNEGR':'oracle_pool_error'};try{if(this[_0x314c8c(0x19f)]){logger['debug']({'event':_0x314c8c(0x1b4)},_0x56df2f[_0x314c8c(0x16d)]);return;}logger['info']({'event':'oracle_pool_creating'},_0x56df2f['mPDTZ']),this['pool']=await oracledb['createPool'](this[_0x314c8c(0x17f)]),logger['info']({'event':'oracle_pool_created'},_0x56df2f[_0x314c8c(0x1a7)]),await this['testConnection']();}catch(_0x56fe31){logError(_0x56fe31,{'event':_0x56df2f[_0x314c8c(0x1a3)]},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x56fe31[_0x314c8c(0x1b2)]);throw _0x56fe31;}}async[a0_0x2f7926(0x1ac)](){const _0x201139=a0_0x2f7926,_0x578230={'XBZLa':'oracle_connection_test_start','Oyafl':_0x201139(0x1c8),'xdbLv':'oracle_connection_test_failed','WAoFx':function(_0x564a78,_0x1fefca,_0x1ef778,_0xb55026){return _0x564a78(_0x1fefca,_0x1ef778,_0xb55026);},'UXUWY':_0x201139(0x184)};let _0x2d7eb7;try{logger['debug']({'event':_0x578230[_0x201139(0x19e)]},'Testing\x20Oracle\x20database\x20connection...'),_0x2d7eb7=await this['pool'][_0x201139(0x1c4)](),await ensureNlsReady(_0x2d7eb7);const _0x18600=await _0x2d7eb7['execute']('SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL');logger['info']({'event':_0x578230[_0x201139(0x196)],'currentDate':_0x18600['rows'][0x0][0x0],'currentUser':_0x18600['rows'][0x0][0x1]},_0x201139(0x1ab)+_0x18600[_0x201139(0x1aa)][0x0][0x1]);}catch(_0x30fa6e){logError(_0x30fa6e,{'event':_0x578230['xdbLv']},_0x201139(0x172)+_0x30fa6e['message']);throw _0x30fa6e;}finally{if(_0x2d7eb7)try{await _0x2d7eb7[_0x201139(0x176)]();}catch(_0x598c5c){_0x578230[_0x201139(0x181)](logError,_0x598c5c,{'event':_0x578230[_0x201139(0x16c)]},_0x201139(0x165)+_0x598c5c[_0x201139(0x1b2)]);}}}async['executeQuery'](_0x3dc063,_0x58258b=[],_0x2199cc={}){const _0xd17c94=a0_0x2f7926,_0x5724f3={'ZqhrG':function(_0x1838c4,_0x36e5d4,_0x1f2b75,_0x4ea929){return _0x1838c4(_0x36e5d4,_0x1f2b75,_0x4ea929);},'qTKTL':function(_0x467e57){return _0x467e57();},'fKsGI':'sql_error','XfRHY':_0xd17c94(0x18a)};let _0x472d7a;const _0x517866=startQueryTimer();try{!this['pool']&&await this[_0xd17c94(0x188)]();_0x472d7a=await this[_0xd17c94(0x19f)][_0xd17c94(0x1c4)](),await ensureNlsReady(_0x472d7a);const _0x552744={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x2199cc['autoCommit']!==undefined?_0x2199cc['autoCommit']:!![],..._0x2199cc},_0x198508=await _0x472d7a['execute'](_0x3dc063,_0x58258b,_0x552744),_0x439038=_0x517866(),_0x213e2f=_0x198508[_0xd17c94(0x1aa)]?_0x198508['rows'][_0xd17c94(0x164)]:_0x198508[_0xd17c94(0x1bf)];return _0x5724f3['ZqhrG'](logQuery,_0x3dc063,_0x58258b,{'duration':_0x439038,'rowsAffected':_0x213e2f,'dbType':'oracle'}),_0x198508[_0xd17c94(0x1aa)]?_0x198508[_0xd17c94(0x1aa)]:{'rowsAffected':_0x198508['rowsAffected'],'lastRowid':_0x198508[_0xd17c94(0x189)]};}catch(_0x7fe770){const _0x45c63b=_0x5724f3['qTKTL'](_0x517866);logError(_0x7fe770,{'event':_0x5724f3['fKsGI'],'query':_0x3dc063['substring'](0x0,0x1f4),'paramCount':_0x58258b['length'],'durationMs':_0x45c63b,'code':_0x7fe770['errorNum'],'dbType':'oracle'},'Oracle\x20SQL\x20Error:\x20'+_0x7fe770['message']);throw _0x7fe770;}finally{if(_0x472d7a)try{await _0x472d7a[_0xd17c94(0x176)]();}catch(_0x67a755){logError(_0x67a755,{'event':_0x5724f3[_0xd17c94(0x19d)]},_0xd17c94(0x1a2)+_0x67a755[_0xd17c94(0x1b2)]);}}}async['executeTransaction'](_0x29203b){const _0x3b78e3=a0_0x2f7926,_0x1905c0={'PhRqd':function(_0x3e742c,_0x1e427d){return _0x3e742c(_0x1e427d);},'vuQST':function(_0x4de743){return _0x4de743();},'uLflE':function(_0x411b4d,_0x2cd885,_0x15da64,_0x50f3b1){return _0x411b4d(_0x2cd885,_0x15da64,_0x50f3b1);},'VNWyr':'oracle','KfOeZ':function(_0x343593,_0x437b21,_0x3bc670){return _0x343593(_0x437b21,_0x3bc670);},'tWVHu':'transaction_complete','QEEYV':'rollback_error'};let _0x326f82;const _0x1e6d14=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x326f82=await this[_0x3b78e3(0x19f)]['getConnection'](),await _0x1905c0['PhRqd'](ensureNlsReady,_0x326f82),logTransaction('start',_0x29203b['length']);const _0x5989fb=[];for(const _0x19da77 of _0x29203b){const _0x5c818b=startQueryTimer(),_0xd61818=await _0x326f82[_0x3b78e3(0x190)](_0x19da77[_0x3b78e3(0x186)],_0x19da77[_0x3b78e3(0x198)]||[],{'autoCommit':![],'outFormat':oracledb[_0x3b78e3(0x1ba)]}),_0xbb163a=_0x1905c0[_0x3b78e3(0x1b0)](_0x5c818b),_0x3ec6f4=_0xd61818[_0x3b78e3(0x1aa)]?_0xd61818['rows'][_0x3b78e3(0x164)]:_0xd61818['rowsAffected'];_0x1905c0['uLflE'](logQuery,_0x19da77[_0x3b78e3(0x186)],_0x19da77['params']||[],{'duration':_0xbb163a,'rowsAffected':_0x3ec6f4,'dbType':_0x1905c0[_0x3b78e3(0x178)]}),_0x5989fb['push'](_0xd61818);}await _0x326f82[_0x3b78e3(0x19c)]();const _0xf132e6=_0x1e6d14();return _0x1905c0['KfOeZ'](logTransaction,'commit',_0x29203b[_0x3b78e3(0x164)]),logger[_0x3b78e3(0x170)]({'event':_0x1905c0['tWVHu'],'queryCount':_0x29203b[_0x3b78e3(0x164)],'totalDurationMs':_0xf132e6,'dbType':_0x1905c0[_0x3b78e3(0x178)]},_0x3b78e3(0x168)+_0xf132e6+_0x3b78e3(0x191)+_0x29203b[_0x3b78e3(0x164)]+'\x20queries)'),_0x5989fb;}catch(_0x151247){const _0x2b1af0=_0x1e6d14();logError(_0x151247,{'event':'transaction_error','queryCount':_0x29203b[_0x3b78e3(0x164)],'totalDurationMs':_0x2b1af0,'code':_0x151247[_0x3b78e3(0x1a8)],'dbType':_0x1905c0[_0x3b78e3(0x178)]},_0x3b78e3(0x167)+_0x151247[_0x3b78e3(0x1b2)]);if(_0x326f82)try{await _0x326f82[_0x3b78e3(0x1b7)](),logTransaction('rollback',_0x29203b[_0x3b78e3(0x164)]);}catch(_0x1cb0a0){_0x1905c0['uLflE'](logError,_0x1cb0a0,{'event':_0x1905c0[_0x3b78e3(0x17c)],'dbType':_0x3b78e3(0x173)},_0x3b78e3(0x1ad)+_0x1cb0a0['message']);}throw _0x151247;}finally{if(_0x326f82)try{await _0x326f82['close']();}catch(_0x2a46dc){logError(_0x2a46dc,{'event':'oracle_transaction_connection_close_error'},_0x3b78e3(0x17a)+_0x2a46dc[_0x3b78e3(0x1b2)]);}}}async['closePool'](){const _0x1c1269=a0_0x2f7926,_0x28ba6b={'ILCYe':_0x1c1269(0x194),'dvRRd':_0x1c1269(0x1b9),'UHDET':_0x1c1269(0x174)};try{this['pool']&&(logger['info']({'event':_0x28ba6b['ILCYe']},'Closing\x20Oracle\x20connection\x20pool...'),await this[_0x1c1269(0x19f)]['close'](0xa),this[_0x1c1269(0x19f)]=null,logger[_0x1c1269(0x170)]({'event':_0x28ba6b[_0x1c1269(0x1bc)]},_0x28ba6b[_0x1c1269(0x1c0)]));}catch(_0x5e70c3){logError(_0x5e70c3,{'event':'oracle_pool_close_error'},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x5e70c3[_0x1c1269(0x1b2)]);throw _0x5e70c3;}}[a0_0x2f7926(0x192)](){const _0x1dc16e=a0_0x2f7926,_0x85edbb={'LxxGY':'Active'};if(!this['pool'])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this['pool'][_0x1dc16e(0x18f)],'connectionsOpen':this['pool'][_0x1dc16e(0x1b5)],'poolAlias':this['pool']['poolAlias'],'poolMin':this[_0x1dc16e(0x19f)]['poolMin'],'poolMax':this['pool'][_0x1dc16e(0x1a4)],'poolIncrement':this[_0x1dc16e(0x19f)]['poolIncrement'],'poolTimeout':this['pool']['poolTimeout'],'status':_0x85edbb['LxxGY']};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x5c75ae=a0_0x2f7926,_0x3c1c20={'YNKzJ':_0x5c75ae(0x182),'BaguX':'SIGINT','ctLaS':_0x5c75ae(0x1a9),'BGNgS':'oracle_shutdown_error'};logger['info']({'event':_0x3c1c20[_0x5c75ae(0x171)],'signal':_0x3c1c20[_0x5c75ae(0x166)]},_0x3c1c20['ctLaS']);try{await oracleDb['closePool'](),process[_0x5c75ae(0x18b)](0x0);}catch(_0x1783c1){logError(_0x1783c1,{'event':_0x3c1c20['BGNgS'],'signal':_0x5c75ae(0x18d)},_0x5c75ae(0x16a)+_0x1783c1['message']),process[_0x5c75ae(0x18b)](0x1);}}),process['on'](a0_0x2f7926(0x1b8),async()=>{const _0x5b0850=a0_0x2f7926,_0xe17cb4={'mDMfo':'SIGTERM','uoFta':'oracle_shutdown_error'};logger['info']({'event':_0x5b0850(0x182),'signal':_0xe17cb4['mDMfo']},_0x5b0850(0x1a6));try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x108d98){logError(_0x108d98,{'event':_0xe17cb4['uoFta'],'signal':_0xe17cb4['mDMfo']},_0x5b0850(0x16a)+_0x108d98[_0x5b0850(0x1b2)]),process[_0x5b0850(0x18b)](0x1);}}),module[a0_0x2f7926(0x185)]=oracleDb;
@@ -1 +1 @@
1
- function a0_0x16bb(){const _0x1dd501=['CLPdCKS','BgfZDeLUC2vYDfjVD2LK','zxHLy3v0zvrYyw5Zywn0Aw9U','zxHWB3j0CW','DhjHBNnHy3rPB25Fy29TCgXLDgu','nezsEuftzW','BwvZC2fNzq','rejFqLvtwv9usu1ft1vu','vhjHBNnHy3rPB24GzMfPBgvKoIa','z2v0','ywXS','oda4mJyZtwjtCNrM','y2XVC2vqB29S','mJGZnti4uLzRtvvQ','lI9SB2DNzxi','u0Lhsu5u','C3fSAxrLx2nSB3nLza','y2HLy2TdB25Uzwn0Aw9U','y29Kzq','DgvZDa','zgvIDwC','zw52','zxHPDa','lI9KyxrHl3jLC3rMB3jNzs5KyG','u2rWqNy','C3fSAxrLx2LUAxrFzxjYB3i','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','C3fSAxrLx2nSB3nPBMC','C3fSAxrL','C3bSAxq','BgvUz3rO','DgvZDenVBM5Ly3rPB24','D3flqKW','DhjHBNnHy3rPB25FzxjYB3i','weHJv00','mZq4nZy0yurfEMTl','mJeZnZuYmhjiAwnWqG','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','ChvZAa','rejFtKfnrq','ndKXnde4mfDRC0H6tW','C3fSAxrLx3nODxrKB3DU','mtaWmMjvy0DdwG','Aw5PDgLHBgL6zurHDgfIyxnL','nZe0n1bstxjjzq','CNvU','ChjHz21H','u0Lhvevstq','BLb1uhi','C3fS','suXbB3O','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','C3rHCNq','y2HHBMDLCW','C3fSx2vYCM9Y','DhjHBNnHy3rPB24','wMTdzNy','zM9YzwLNBL9RzxLZid0Gt04','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','Aw5MBW','u0vmrunuide','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','ChjLCgfYzq','C3vIC3rYAw5N','C0rnt0u','ndqYnta4ofbSC2zOBW','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','suDMuLe','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i'];a0_0x16bb=function(){return _0x1dd501;};return a0_0x16bb();}const a0_0x17957f=a0_0x3234;(function(_0x20558e,_0xb3974d){const _0x1a019b=a0_0x3234,_0x5c4624=_0x20558e();while(!![]){try{const _0x2ce79c=parseInt(_0x1a019b(0x150))/0x1*(parseInt(_0x1a019b(0x158))/0x2)+parseInt(_0x1a019b(0x156))/0x3+-parseInt(_0x1a019b(0x16e))/0x4+-parseInt(_0x1a019b(0x16f))/0x5+-parseInt(_0x1a019b(0x175))/0x6*(-parseInt(_0x1a019b(0x177))/0x7)+parseInt(_0x1a019b(0x146))/0x8+-parseInt(_0x1a019b(0x173))/0x9;if(_0x2ce79c===_0xb3974d)break;else _0x5c4624['push'](_0x5c4624['shift']());}catch(_0x104558){_0x5c4624['push'](_0x5c4624['shift']());}}}(a0_0x16bb,0x79ecd));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x17957f(0x159));class SqliteDatabase{constructor(){const _0x435367=a0_0x17957f,_0x2c3629={'XHcWM':_0x435367(0x162),'SdpBv':'5000','fbdsO':function(_0x4bd31c,_0x11ee62){return _0x4bd31c(_0x11ee62);},'ELoNh':'sqlite'};this['db']=null,this['dbPath']=process[_0x435367(0x160)][_0x435367(0x172)]||_0x2c3629[_0x435367(0x16d)],this['busyTimeout']=parseInt(process['env'][_0x435367(0x152)]||_0x2c3629[_0x435367(0x163)]),_0x2c3629['fbdsO'](logDatabaseConfig,{'database':this['dbPath'],'type':_0x2c3629['ELoNh'],'busyTimeout':this['busyTimeout']});}[a0_0x17957f(0x176)](){const _0x2e847a=a0_0x17957f,_0x332760={'ILAoz':'1|3|4|2|0','sDMOE':'sqlite_db_exists','gGxda':_0x2e847a(0x170),'tKCGu':'journal_mode\x20=\x20WAL','vLoRc':function(_0x35e46b,_0x5dbd30,_0x1ce00d,_0x36a709){return _0x35e46b(_0x5dbd30,_0x1ce00d,_0x36a709);}};try{const _0x47fbe3=_0x332760[_0x2e847a(0x17d)][_0x2e847a(0x168)]('|');let _0x2f0adb=0x0;while(!![]){switch(_0x47fbe3[_0x2f0adb++]){case'0':this[_0x2e847a(0x16a)]();continue;case'1':if(this['db']){logger['debug']({'event':_0x332760[_0x2e847a(0x145)]},_0x332760['gGxda']);return;}continue;case'2':this['db'][_0x2e847a(0x179)](_0x2e847a(0x184));continue;case'3':this['db']=new Database(this['dbPath'],{'timeout':this['busyTimeout']});continue;case'4':this['db']['pragma'](_0x332760['tKCGu']);continue;}break;}}catch(_0x2ede95){_0x332760['vLoRc'](logError,_0x2ede95,{'event':_0x2e847a(0x164)},_0x2e847a(0x147)+_0x2ede95[_0x2e847a(0x151)]);throw _0x2ede95;}}[a0_0x17957f(0x16a)](){const _0x5f042e=a0_0x17957f,_0x2636a9={'aGvLk':'SELECT\x201\x20as\x20test_connection'};try{logger[_0x5f042e(0x15f)]({'event':'sqlite_connection_test_start'},_0x5f042e(0x185)),this['db']['prepare'](_0x2636a9['aGvLk'])[_0x5f042e(0x154)]();}catch(_0x5be4c7){logError(_0x5be4c7,{'event':'sqlite_connection_test_failed'},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x5be4c7['message']);throw _0x5be4c7;}}async['executeQuery'](_0x21707e,_0x51a407=[]){const _0x2811dd=a0_0x17957f,_0x7a1423={'QzPmy':function(_0x57e79c){return _0x57e79c();},'IGfRQ':function(_0x3f5370,_0x5e644e,_0x476582,_0x18294){return _0x3f5370(_0x5e644e,_0x476582,_0x18294);},'RHwOk':'sqlite','lRPcd':function(_0x1bbf1d,_0x340eec,_0x5ca043,_0x951361){return _0x1bbf1d(_0x340eec,_0x5ca043,_0x951361);}},_0x3c4c0a=_0x7a1423['QzPmy'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x399ed6=this['db']['prepare'](_0x21707e),_0x29fe3b=/\bRETURNING\b/i[_0x2811dd(0x15e)](_0x21707e),_0x3d675b=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x2811dd(0x15e)](_0x21707e);let _0x14bb33,_0x5d73c0;if(_0x3d675b||_0x29fe3b){const _0x256e42=_0x399ed6[_0x2811dd(0x155)](..._0x51a407),_0x38acf7=_0x3c4c0a();return _0x7a1423[_0x2811dd(0x148)](logQuery,_0x21707e,_0x51a407,{'duration':_0x38acf7,'rowsAffected':_0x256e42['length'],'dbType':_0x7a1423['RHwOk']}),_0x256e42;}else{const _0x125a13=_0x399ed6[_0x2811dd(0x178)](..._0x51a407),_0x4c364a=_0x3c4c0a();return _0x14bb33={'rowsAffected':_0x125a13['changes'],'insertId':_0x125a13[_0x2811dd(0x14c)]},_0x7a1423[_0x2811dd(0x148)](logQuery,_0x21707e,_0x51a407,{'duration':_0x4c364a,'rowsAffected':_0x125a13['changes'],'dbType':_0x7a1423['RHwOk']}),_0x14bb33;}}catch(_0x2a2f7a){const _0x667491=_0x3c4c0a();_0x7a1423['lRPcd'](logError,_0x2a2f7a,{'event':_0x2811dd(0x181),'query':_0x21707e[_0x2811dd(0x144)](0x0,0x1f4),'paramCount':_0x51a407['length'],'durationMs':_0x667491,'code':_0x2a2f7a['code'],'dbType':_0x7a1423['RHwOk']},'SQLite\x20SQL\x20Error:\x20'+_0x2a2f7a[_0x2811dd(0x151)]);throw _0x2a2f7a;}}async[a0_0x17957f(0x14d)](_0x3e1728){const _0x3bd9e4=a0_0x17957f,_0x406e9e={'rZCrK':function(_0x5649fc){return _0x5649fc();},'wEVsv':function(_0x464649,_0x1a9805,_0x369302,_0x1c0437){return _0x464649(_0x1a9805,_0x369302,_0x1c0437);},'nPuPr':function(_0x57cfae){return _0x57cfae();},'ZkCfv':function(_0x5841a4,_0x4e26fb,_0x261acf){return _0x5841a4(_0x4e26fb,_0x261acf);},'zspNC':function(_0x48f316){return _0x48f316();},'GTJOp':'commit','TBJSv':_0x3bd9e4(0x14f),'MwOoC':function(_0x55e3d9){return _0x55e3d9();},'rxAtG':function(_0x4d2bf2,_0x1dc489,_0x3974e1){return _0x4d2bf2(_0x1dc489,_0x3974e1);},'Vamlp':function(_0x4e807a,_0x4c908f,_0x543de5,_0x3fcaa8){return _0x4e807a(_0x4c908f,_0x543de5,_0x3fcaa8);}},_0x283d75=_0x406e9e[_0x3bd9e4(0x17b)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();_0x406e9e[_0x3bd9e4(0x183)](logTransaction,_0x3bd9e4(0x17f),_0x3e1728['length']);const _0x34847f=this['db'][_0x3bd9e4(0x182)](_0x4096bb=>{const _0x5d830f=_0x3bd9e4,_0x206c33=[];for(const _0x3c3092 of _0x4096bb){const _0x309985=startQueryTimer(),_0x5064ee=_0x3c3092['params']||[],_0x58ab3d=this['db']['prepare'](_0x3c3092['sql']),_0x1f0b7e=/\bRETURNING\b/i['test'](_0x3c3092['sql']),_0x16e6e9=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x5d830f(0x15e)](_0x3c3092['sql']);if(_0x16e6e9||_0x1f0b7e){const _0x1ed7ea=_0x58ab3d['all'](..._0x5064ee),_0x52d5eb=_0x406e9e[_0x5d830f(0x14b)](_0x309985);_0x406e9e['wEVsv'](logQuery,_0x3c3092['sql'],_0x5064ee,{'duration':_0x52d5eb,'rowsAffected':_0x1ed7ea[_0x5d830f(0x169)],'dbType':'sqlite'}),_0x206c33[_0x5d830f(0x171)](_0x1ed7ea);}else{const _0x319c8a=_0x58ab3d['run'](..._0x5064ee),_0x3e97a7=_0x309985();logQuery(_0x3c3092[_0x5d830f(0x17c)],_0x5064ee,{'duration':_0x3e97a7,'rowsAffected':_0x319c8a[_0x5d830f(0x180)],'dbType':_0x5d830f(0x167)}),_0x206c33[_0x5d830f(0x171)]({'rowsAffected':_0x319c8a['changes'],'insertId':_0x319c8a['lastInsertRowid']});}}return _0x206c33;}),_0x46fd20=_0x34847f(_0x3e1728),_0x401e4b=_0x406e9e['zspNC'](_0x283d75);return _0x406e9e['ZkCfv'](logTransaction,_0x406e9e['GTJOp'],_0x3e1728['length']),logger[_0x3bd9e4(0x140)]({'event':_0x406e9e['TBJSv'],'queryCount':_0x3e1728['length'],'totalDurationMs':_0x401e4b,'dbType':'sqlite'},'Transaction\x20committed\x20('+_0x401e4b+'ms,\x20'+_0x3e1728[_0x3bd9e4(0x169)]+'\x20queries)'),_0x46fd20;}catch(_0x17f69b){const _0x543732=_0x406e9e['MwOoC'](_0x283d75);_0x406e9e['rxAtG'](logTransaction,'rollback',_0x3e1728['length']),_0x406e9e['Vamlp'](logError,_0x17f69b,{'event':_0x3bd9e4(0x16c),'queryCount':_0x3e1728['length'],'totalDurationMs':_0x543732,'code':_0x17f69b[_0x3bd9e4(0x15d)],'dbType':_0x3bd9e4(0x167)},_0x3bd9e4(0x153)+_0x17f69b['message']);throw _0x17f69b;}}['getPool'](){const _0x5292f0=a0_0x17957f;return!this['db']&&this[_0x5292f0(0x176)](),this['db'];}[a0_0x17957f(0x157)](){const _0x4416a8=a0_0x17957f,_0x244119={'ZnKVH':function(_0xa02f0a,_0x26edaa,_0x47465b,_0x432ac9){return _0xa02f0a(_0x26edaa,_0x47465b,_0x432ac9);}};try{this['db']&&(logger[_0x4416a8(0x140)]({'event':_0x4416a8(0x166)},'Closing\x20SQLite\x20database\x20connection...'),this['db']['close'](),this['db']=null,logger[_0x4416a8(0x140)]({'event':_0x4416a8(0x15b)},'SQLite\x20database\x20connection\x20closed'));}catch(_0x39e600){_0x244119['ZnKVH'](logError,_0x39e600,{'event':'sqlite_close_error'},_0x4416a8(0x142)+_0x39e600[_0x4416a8(0x151)]);throw _0x39e600;}}async[a0_0x17957f(0x15c)](){const _0x303e84=a0_0x17957f,_0x3cb072={'QXADw':function(_0x4b2612,_0x54d0c4,_0x29026c,_0x148afb){return _0x4b2612(_0x54d0c4,_0x29026c,_0x148afb);},'HPdCV':_0x303e84(0x14a)};try{return!this['db']&&this['initializeDatabase'](),this['db'][_0x303e84(0x143)](_0x303e84(0x141))[_0x303e84(0x154)](),!![];}catch(_0xebae0a){return _0x3cb072['QXADw'](logError,_0xebae0a,{'event':_0x3cb072['HPdCV']},'Error\x20checking\x20SQLite\x20connection:\x20'+_0xebae0a['message']),![];}}}const sqliteDb=new SqliteDatabase();function a0_0x3234(_0x4a69d5,_0xa28aa7){_0x4a69d5=_0x4a69d5-0x140;const _0x16bbf6=a0_0x16bb();let _0x323479=_0x16bbf6[_0x4a69d5];if(a0_0x3234['DfPqew']===undefined){var _0x1f53ef=function(_0x291d92){const _0x339071='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59121c='',_0x5cd644='';for(let _0x4cdc99=0x0,_0x3b5e6f,_0x31eb1c,_0x310858=0x0;_0x31eb1c=_0x291d92['charAt'](_0x310858++);~_0x31eb1c&&(_0x3b5e6f=_0x4cdc99%0x4?_0x3b5e6f*0x40+_0x31eb1c:_0x31eb1c,_0x4cdc99++%0x4)?_0x59121c+=String['fromCharCode'](0xff&_0x3b5e6f>>(-0x2*_0x4cdc99&0x6)):0x0){_0x31eb1c=_0x339071['indexOf'](_0x31eb1c);}for(let _0x8d9f3=0x0,_0x10f24a=_0x59121c['length'];_0x8d9f3<_0x10f24a;_0x8d9f3++){_0x5cd644+='%'+('00'+_0x59121c['charCodeAt'](_0x8d9f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cd644);};a0_0x3234['EiWIOd']=_0x1f53ef,a0_0x3234['FtEnaj']={},a0_0x3234['DfPqew']=!![];}const _0x29251c=_0x16bbf6[0x0],_0x12986c=_0x4a69d5+_0x29251c,_0x566e7c=a0_0x3234['FtEnaj'][_0x12986c];return!_0x566e7c?(_0x323479=a0_0x3234['EiWIOd'](_0x323479),a0_0x3234['FtEnaj'][_0x12986c]=_0x323479):_0x323479=_0x566e7c,_0x323479;}process['on']('SIGINT',()=>{const _0x4723f3=a0_0x17957f,_0xbbc69c={'qFLkE':_0x4723f3(0x15a),'wqKBL':_0x4723f3(0x165),'fjUOY':function(_0x2691a2,_0x414f5a,_0x5ef2a7,_0x966e0b){return _0x2691a2(_0x414f5a,_0x5ef2a7,_0x966e0b);}};logger['info']({'event':_0x4723f3(0x174),'signal':_0xbbc69c['qFLkE']},_0xbbc69c[_0x4723f3(0x16b)]);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x2c76b2){_0xbbc69c['fjUOY'](logError,_0x2c76b2,{'event':'sqlite_shutdown_error','signal':'SIGINT'},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x2c76b2[_0x4723f3(0x151)]),process[_0x4723f3(0x161)](0x1);}}),process['on']('SIGTERM',()=>{const _0x2fdb2c=a0_0x17957f,_0x2db2da={'mUUkb':_0x2fdb2c(0x174),'yuWWD':function(_0x19c885,_0x195f9c,_0x3d716d,_0x59e696){return _0x19c885(_0x195f9c,_0x3d716d,_0x59e696);},'cJiHv':_0x2fdb2c(0x186),'drpcs':'SIGTERM'};logger[_0x2fdb2c(0x140)]({'event':_0x2db2da['mUUkb'],'signal':_0x2fdb2c(0x17a)},_0x2fdb2c(0x149));try{sqliteDb['closePool'](),process[_0x2fdb2c(0x161)](0x0);}catch(_0x253453){_0x2db2da['yuWWD'](logError,_0x253453,{'event':_0x2db2da['cJiHv'],'signal':_0x2db2da['drpcs']},_0x2fdb2c(0x17e)+_0x253453['message']),process['exit'](0x1);}}),module[a0_0x17957f(0x14e)]=sqliteDb;
1
+ function a0_0x3493(_0x405fdd,_0x3c83b1){_0x405fdd=_0x405fdd-0xa7;const _0x342d54=a0_0x342d();let _0x349334=_0x342d54[_0x405fdd];if(a0_0x3493['wsEbVz']===undefined){var _0x23cb1b=function(_0x77cda2){const _0x97a4a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x130bef='',_0x2cfb06='';for(let _0x5162a8=0x0,_0x1ce511,_0x375fb7,_0x4a3ba5=0x0;_0x375fb7=_0x77cda2['charAt'](_0x4a3ba5++);~_0x375fb7&&(_0x1ce511=_0x5162a8%0x4?_0x1ce511*0x40+_0x375fb7:_0x375fb7,_0x5162a8++%0x4)?_0x130bef+=String['fromCharCode'](0xff&_0x1ce511>>(-0x2*_0x5162a8&0x6)):0x0){_0x375fb7=_0x97a4a2['indexOf'](_0x375fb7);}for(let _0x59a7e0=0x0,_0x1dd09e=_0x130bef['length'];_0x59a7e0<_0x1dd09e;_0x59a7e0++){_0x2cfb06+='%'+('00'+_0x130bef['charCodeAt'](_0x59a7e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cfb06);};a0_0x3493['UMPjwq']=_0x23cb1b,a0_0x3493['anSWuc']={},a0_0x3493['wsEbVz']=!![];}const _0x21202b=_0x342d54[0x0],_0x4ed8ec=_0x405fdd+_0x21202b,_0x246fe9=a0_0x3493['anSWuc'][_0x4ed8ec];return!_0x246fe9?(_0x349334=a0_0x3493['UMPjwq'](_0x349334),a0_0x3493['anSWuc'][_0x4ed8ec]=_0x349334):_0x349334=_0x246fe9,_0x349334;}const a0_0x4fe677=a0_0x3493;function a0_0x342d(){const _0x416915=['zwHIDKC','tLDUtem','mtm0mJr2EgPiEva','yNvZEvrPBwvVDxq','mta1nduWmZbYAKDrtwi','ALDSwhu','zxHPDa','nde3zLL4Afjx','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','mZmZmZm5nJbmueDhqMG','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','C3fSAxrLx2nSB3nLx2vYCM9Y','nJy2nJmWmhLuzu5JtW','C3fSAxrLx2LUAxrFzxjYB3i','C3fSAxrL','zgrmChG','zxHLy3v0zvf1zxj5','BvbWwfq','y2HHBMDLCW','ihf1zxjPzxmP','DhjHBNnHy3rPB25FzxjYB3i','r0jswvm','suvzr1C','CM9SBgjHy2S','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','C25eqwm','lI9KyxrHl3jLC3rMB3jNzs5KyG','ChjLCgfYzq','zxHWB3j0CW','yLjYBwy','rMTdsMG','ChjHz21H','mtbJCLDbu0W','DgvZDenVBM5Ly3rPB24','lI9SB2DNzxi','AM91CM5HBf9TB2rLid0Gv0fm','zeLREhG','sfvrDeK','BLnrAKO','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','rejFqLvtwv9usu1ft1vu','CNvU','wNLwv3i','u0Lhsu5u','vhjHBNnHy3rPB24GzMfPBgvKoIa','Aw5MBW','ntLPwvrIz0W','C3fS','n0z1zuHmtW','ww5ezxu','BwvZC2fNzq','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','mte5nJK3mJHkBg9byKq','C3fSAxrLx2nSB3nPBMC','u0Lhvevstq','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','Aw5PDgLHBgL6zurHDgfIyxnL','y2XVC2vqB29S','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','CuzRyLy','DgvZDa','C3fSAxrLx3nODxrKB3DU','vuzmq3K','ywXS','BgvUz3rO','ndmXoty1oezNC0PwDa','mtGYmZrvse53zem','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','t2r3u2e','y29Kzq','zgvIDwC','DhLYugW'];a0_0x342d=function(){return _0x416915;};return a0_0x342d();}(function(_0x36855e,_0x349410){const _0x30864e=a0_0x3493,_0x48a2ec=_0x36855e();while(!![]){try{const _0x42f958=-parseInt(_0x30864e(0xd0))/0x1*(-parseInt(_0x30864e(0xe4))/0x2)+parseInt(_0x30864e(0xa7))/0x3*(parseInt(_0x30864e(0xec))/0x4)+-parseInt(_0x30864e(0xad))/0x5+parseInt(_0x30864e(0xe3))/0x6*(parseInt(_0x30864e(0xd2))/0x7)+-parseInt(_0x30864e(0xd6))/0x8+-parseInt(_0x30864e(0xee))/0x9*(parseInt(_0x30864e(0xc1))/0xa)+parseInt(_0x30864e(0xa9))/0xb;if(_0x42f958===_0x349410)break;else _0x48a2ec['push'](_0x48a2ec['shift']());}catch(_0x344fed){_0x48a2ec['push'](_0x48a2ec['shift']());}}}(a0_0x342d,0xb7f88));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4fe677(0xc3));class SqliteDatabase{constructor(){const _0x155595=a0_0x4fe677;this['db']=null,this['dbPath']=process['env']['DB_NAME']||_0x155595(0xbb),this['busyTimeout']=parseInt(process['env'][_0x155595(0xca)]||'5000'),logDatabaseConfig({'database':this['dbPath'],'type':'sqlite','busyTimeout':this['busyTimeout']});}['initializeDatabase'](){const _0x318a1d=a0_0x4fe677,_0x1a1648={'qoAGG':'SQLite\x20database\x20connection\x20sudah\x20ada','eSsOx':'foreign_keys\x20=\x20ON','nSQjJ':function(_0x3e9d56,_0x13d7c0,_0x50ba25,_0x54e885){return _0x3e9d56(_0x13d7c0,_0x50ba25,_0x54e885);},'bhyky':_0x318a1d(0xae)};try{if(this['db']){logger[_0x318a1d(0xe8)]({'event':'sqlite_db_exists'},_0x1a1648['qoAGG']);return;}this['db']=new Database(this['dbPath'],{'timeout':this[_0x318a1d(0xed)]}),this['db']['pragma'](_0x318a1d(0xc4)),this['db'][_0x318a1d(0xc0)](_0x1a1648['eSsOx']),this[_0x318a1d(0xc2)]();}catch(_0x1da739){_0x1a1648[_0x318a1d(0xc7)](logError,_0x1da739,{'event':_0x1a1648['bhyky']},_0x318a1d(0xdc)+_0x1da739[_0x318a1d(0xd4)]);throw _0x1da739;}}[a0_0x4fe677(0xc2)](){const _0x6da883=a0_0x4fe677,_0x3141e6={'SaXna':_0x6da883(0xd9),'tyrPl':'Testing\x20SQLite\x20database\x20connection...','IEYGW':_0x6da883(0xc8)};try{logger[_0x6da883(0xe8)]({'event':_0x3141e6['SaXna']},_0x3141e6[_0x6da883(0xe9)]),this['db']['prepare']('SELECT\x201\x20as\x20test_connection')['get']();}catch(_0x523e00){logError(_0x523e00,{'event':_0x3141e6[_0x6da883(0xb7)]},_0x6da883(0xc9)+_0x523e00['message']);throw _0x523e00;}}async[a0_0x4fe677(0xb1)](_0x2ffb18,_0x4e2d03=[]){const _0x3c2c3f=a0_0x4fe677,_0xd556c2={'GBRYS':function(_0x117199){return _0x117199();},'ZyVWr':function(_0x3f5ec7,_0x2a8fb6){return _0x3f5ec7||_0x2a8fb6;},'dIkxx':_0x3c2c3f(0xaf),'rxAvx':'sql_error'},_0x5cb3d7=_0xd556c2[_0x3c2c3f(0xb6)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x39a35c=this['db'][_0x3c2c3f(0xbc)](_0x2ffb18),_0x1731fd=/\bRETURNING\b/i[_0x3c2c3f(0xde)](_0x2ffb18),_0x49bfa6=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x2ffb18);let _0x2b957f,_0x432fbf;if(_0xd556c2[_0x3c2c3f(0xcc)](_0x49bfa6,_0x1731fd)){const _0x4b91de=_0x39a35c['all'](..._0x4e2d03),_0x5b6008=_0x5cb3d7();return logQuery(_0x2ffb18,_0x4e2d03,{'duration':_0x5b6008,'rowsAffected':_0x4b91de['length'],'dbType':_0xd556c2[_0x3c2c3f(0xc5)]}),_0x4b91de;}else{const _0x324ec0=_0x39a35c[_0x3c2c3f(0xcb)](..._0x4e2d03),_0x17a6fb=_0xd556c2['GBRYS'](_0x5cb3d7);return _0x2b957f={'rowsAffected':_0x324ec0[_0x3c2c3f(0xb3)],'insertId':_0x324ec0['lastInsertRowid']},logQuery(_0x2ffb18,_0x4e2d03,{'duration':_0x17a6fb,'rowsAffected':_0x324ec0[_0x3c2c3f(0xb3)],'dbType':_0x3c2c3f(0xaf)}),_0x2b957f;}}catch(_0x361b7d){const _0x34ea82=_0x5cb3d7();logError(_0x361b7d,{'event':_0xd556c2['rxAvx'],'query':_0x2ffb18['substring'](0x0,0x1f4),'paramCount':_0x4e2d03['length'],'durationMs':_0x34ea82,'code':_0x361b7d[_0x3c2c3f(0xe7)],'dbType':'sqlite'},'SQLite\x20SQL\x20Error:\x20'+_0x361b7d['message']);throw _0x361b7d;}}async['executeTransaction'](_0x2b499f){const _0x77fcfe=a0_0x4fe677,_0x1cf4d5={'ehbvG':function(_0x24c130){return _0x24c130();},'FkCJh':_0x77fcfe(0xaf),'jWlXu':function(_0x368bcb,_0x324c03,_0x46c2fb,_0xd33d18){return _0x368bcb(_0x324c03,_0x46c2fb,_0xd33d18);},'HUQtI':function(_0x4e0e2f){return _0x4e0e2f();},'bRrmf':'start','UFLCy':function(_0x3cdb86,_0x3035b3){return _0x3cdb86(_0x3035b3);},'qFkbV':function(_0x25a16a,_0xead99f,_0x557e5a){return _0x25a16a(_0xead99f,_0x557e5a);},'mQVvt':_0x77fcfe(0xb5)},_0x2d8a7e=_0x1cf4d5[_0x77fcfe(0xc6)](startQueryTimer);try{!this['db']&&this[_0x77fcfe(0xda)]();logTransaction(_0x1cf4d5[_0x77fcfe(0xbe)],_0x2b499f['length']);const _0x3ab4d7=this['db']['transaction'](_0x2f6572=>{const _0x4aaefd=_0x77fcfe,_0x11f1a0=[];for(const _0x47190d of _0x2f6572){const _0xf225ab=_0x1cf4d5[_0x4aaefd(0xea)](startQueryTimer),_0x539c76=_0x47190d['params']||[],_0x1af3f5=this['db']['prepare'](_0x47190d[_0x4aaefd(0xd1)]),_0x4c63a6=/\bRETURNING\b/i['test'](_0x47190d[_0x4aaefd(0xd1)]),_0x4f13f8=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x4aaefd(0xde)](_0x47190d['sql']);if(_0x4f13f8||_0x4c63a6){const _0x413623=_0x1af3f5[_0x4aaefd(0xe1)](..._0x539c76),_0x161e99=_0xf225ab();logQuery(_0x47190d[_0x4aaefd(0xd1)],_0x539c76,{'duration':_0x161e99,'rowsAffected':_0x413623[_0x4aaefd(0xe2)],'dbType':_0x1cf4d5['FkCJh']}),_0x11f1a0['push'](_0x413623);}else{const _0x15f99f=_0x1af3f5['run'](..._0x539c76),_0x593786=_0xf225ab();_0x1cf4d5[_0x4aaefd(0xef)](logQuery,_0x47190d['sql'],_0x539c76,{'duration':_0x593786,'rowsAffected':_0x15f99f['changes'],'dbType':_0x1cf4d5['FkCJh']}),_0x11f1a0['push']({'rowsAffected':_0x15f99f['changes'],'insertId':_0x15f99f['lastInsertRowid']});}}return _0x11f1a0;}),_0x10be87=_0x1cf4d5[_0x77fcfe(0xe0)](_0x3ab4d7,_0x2b499f),_0x5b0bc3=_0x2d8a7e();return logTransaction('commit',_0x2b499f[_0x77fcfe(0xe2)]),logger[_0x77fcfe(0xcf)]({'event':'transaction_complete','queryCount':_0x2b499f['length'],'totalDurationMs':_0x5b0bc3,'dbType':'sqlite'},_0x77fcfe(0xd5)+_0x5b0bc3+'ms,\x20'+_0x2b499f['length']+_0x77fcfe(0xb4)),_0x10be87;}catch(_0x3766c4){const _0x67d693=_0x2d8a7e();_0x1cf4d5[_0x77fcfe(0xdd)](logTransaction,_0x77fcfe(0xb8),_0x2b499f[_0x77fcfe(0xe2)]),logError(_0x3766c4,{'event':_0x1cf4d5['mQVvt'],'queryCount':_0x2b499f[_0x77fcfe(0xe2)],'totalDurationMs':_0x67d693,'code':_0x3766c4[_0x77fcfe(0xe7)],'dbType':_0x1cf4d5[_0x77fcfe(0xbf)]},_0x77fcfe(0xce)+_0x3766c4[_0x77fcfe(0xd4)]);throw _0x3766c4;}}['getPool'](){const _0x502442=a0_0x4fe677;return!this['db']&&this[_0x502442(0xda)](),this['db'];}['closePool'](){const _0x35afad=a0_0x4fe677,_0x27325c={'snDAc':_0x35afad(0xd7),'OUfQT':'Closing\x20SQLite\x20database\x20connection...','AUnet':'sqlite_closed','ddLpx':_0x35afad(0xa8),'OdwSa':_0x35afad(0xac)};try{this['db']&&(logger['info']({'event':_0x27325c[_0x35afad(0xba)]},_0x27325c['OUfQT']),this['db']['close'](),this['db']=null,logger[_0x35afad(0xcf)]({'event':_0x27325c['AUnet']},_0x27325c[_0x35afad(0xb0)]));}catch(_0x1a36b5){logError(_0x1a36b5,{'event':_0x27325c[_0x35afad(0xe6)]},'Error\x20closing\x20SQLite\x20database:\x20'+_0x1a36b5[_0x35afad(0xd4)]);throw _0x1a36b5;}}async['checkConnection'](){const _0x474da5=a0_0x4fe677;try{return!this['db']&&this['initializeDatabase'](),this['db']['prepare']('SELECT\x201')['get'](),!![];}catch(_0x22f432){return logError(_0x22f432,{'event':'sqlite_connection_check_error'},_0x474da5(0xb9)+_0x22f432[_0x474da5(0xd4)]),![];}}}const sqliteDb=new SqliteDatabase();process['on'](a0_0x4fe677(0xcd),()=>{const _0xfb1c4f=a0_0x4fe677,_0xd6f03b={'bJqhr':_0xfb1c4f(0xdf),'mPpXT':_0xfb1c4f(0xcd),'NWnLC':_0xfb1c4f(0xab),'YnDeu':function(_0x3b536a,_0x43dbaf,_0x2cfe0e,_0x45d09c){return _0x3b536a(_0x43dbaf,_0x2cfe0e,_0x45d09c);}};logger[_0xfb1c4f(0xcf)]({'event':_0xd6f03b['bJqhr'],'signal':_0xd6f03b[_0xfb1c4f(0xb2)]},_0xd6f03b[_0xfb1c4f(0xeb)]);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x4d134c){_0xd6f03b[_0xfb1c4f(0xd3)](logError,_0x4d134c,{'event':'sqlite_shutdown_error','signal':_0xd6f03b[_0xfb1c4f(0xb2)]},_0xfb1c4f(0xe5)+_0x4d134c[_0xfb1c4f(0xd4)]),process['exit'](0x1);}}),process['on'](a0_0x4fe677(0xd8),()=>{const _0x1e02d3=a0_0x4fe677,_0x25aa0f={'NZHFe':'SIGTERM','RWIaP':function(_0x3d94de,_0x4a1aed,_0x199fd5,_0x1d74f4){return _0x3d94de(_0x4a1aed,_0x199fd5,_0x1d74f4);}};logger['info']({'event':_0x1e02d3(0xdf),'signal':_0x25aa0f['NZHFe']},_0x1e02d3(0xaa));try{sqliteDb[_0x1e02d3(0xdb)](),process[_0x1e02d3(0xf0)](0x0);}catch(_0xc16d6b){_0x25aa0f['RWIaP'](logError,_0xc16d6b,{'event':'sqlite_shutdown_error','signal':_0x25aa0f['NZHFe']},_0x1e02d3(0xe5)+_0xc16d6b[_0x1e02d3(0xd4)]),process['exit'](0x1);}}),module[a0_0x4fe677(0xbd)]=sqliteDb;
@@ -1 +1 @@
1
- const a0_0xa5c7a8=a0_0x419f;function a0_0x419f(_0x39e2bb,_0x286b6d){_0x39e2bb=_0x39e2bb-0x18f;const _0x4885c5=a0_0x4885();let _0x419fd2=_0x4885c5[_0x39e2bb];if(a0_0x419f['zReFzZ']===undefined){var _0x29f1d4=function(_0x210aae){const _0x16dd47='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18ada7='',_0x5e8719='';for(let _0x4b34e0=0x0,_0x3738ac,_0x5840c2,_0x225699=0x0;_0x5840c2=_0x210aae['charAt'](_0x225699++);~_0x5840c2&&(_0x3738ac=_0x4b34e0%0x4?_0x3738ac*0x40+_0x5840c2:_0x5840c2,_0x4b34e0++%0x4)?_0x18ada7+=String['fromCharCode'](0xff&_0x3738ac>>(-0x2*_0x4b34e0&0x6)):0x0){_0x5840c2=_0x16dd47['indexOf'](_0x5840c2);}for(let _0x2b4612=0x0,_0x56fdb6=_0x18ada7['length'];_0x2b4612<_0x56fdb6;_0x2b4612++){_0x5e8719+='%'+('00'+_0x18ada7['charCodeAt'](_0x2b4612)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e8719);};a0_0x419f['tJlxOK']=_0x29f1d4,a0_0x419f['cWsMAR']={},a0_0x419f['zReFzZ']=!![];}const _0x42f6da=_0x4885c5[0x0],_0x35ad63=_0x39e2bb+_0x42f6da,_0xd7aa2b=a0_0x419f['cWsMAR'][_0x35ad63];return!_0xd7aa2b?(_0x419fd2=a0_0x419f['tJlxOK'](_0x419fd2),a0_0x419f['cWsMAR'][_0x35ad63]=_0x419fd2):_0x419fd2=_0xd7aa2b,_0x419fd2;}(function(_0x22865c,_0x425144){const _0x39348d=a0_0x419f,_0x4102ac=_0x22865c();while(!![]){try{const _0x55d743=parseInt(_0x39348d(0x1b0))/0x1+-parseInt(_0x39348d(0x1de))/0x2*(-parseInt(_0x39348d(0x1e6))/0x3)+-parseInt(_0x39348d(0x1cd))/0x4+-parseInt(_0x39348d(0x1b7))/0x5*(parseInt(_0x39348d(0x1e3))/0x6)+-parseInt(_0x39348d(0x1b2))/0x7+-parseInt(_0x39348d(0x1df))/0x8+-parseInt(_0x39348d(0x1ee))/0x9*(-parseInt(_0x39348d(0x1bd))/0xa);if(_0x55d743===_0x425144)break;else _0x4102ac['push'](_0x4102ac['shift']());}catch(_0x3fc7bd){_0x4102ac['push'](_0x4102ac['shift']());}}}(a0_0x4885,0x188f1));const ExcelJS=require('exceljs'),{logger}=require('./logger');function a0_0x4885(){const _0x524a60=['BNvTrM10','C3rYzwfTAw5N','z2vUzxjHDgvtAw1WBgu','rxHJzwWGz2vUzxjHDgvKicHZAw1WBguGBwv0Ag9Kkq','Bwf0y2G','zLn5Bu8','yxv0B0zPBhrLCG','u2H5zui','vLLrwxa','ywXPz25Tzw50','rKzgrKzgrKy','A2v5CW','z2vUzxjHDgu','s090qMm','q25wq3i','DMLLD3m','z2v0q2vSBa','DhLWzq','reqVtu0VwvLzwq','sufzAfK','revkz1i','yxbWBhLdzwXSrM9YBwf0DgLUzW','zgf0zq','iLjWiciJlcmJma','sfbzEMi','C2XPy2u','mteWndm4uKPbruDm','svfkwgi','mJu4mtm5suPtsMXv','q3DyExC','CgvYy2vUDgfNzq','z2vUzxjHDgvtDhjLyw1PBMC','zM9YrwfJAa','nZu2ntq1t3jWvNPK','C2LTCgXL','ywrKuM93','BwfW','rwXrrNq','Cgf0DgvYBG','otyXmhzZu3HdBq','z2v0vvrdtw9UDgG','yxbWBhLsB3DgB3jTyxr0Aw5N','sw52ywXPzcbJB2X1Bw5ZoIa','y2vPBa','Dg9vChbLCKnHC2u','Dg9mB3DLCKnHC2u','AuDMwLC','whfIs2S','zNn4u1e','ChvZAa','DMfSDwu','rgf0yq','y2DLtfC','yvP2C3e','Bw0VzgqVExL5Eq','mtu2nJqWqLLHtezq','BgvUz3rO','BwLKzgXL','z2v0vvrdrNvSBfLLyxi','tKDnrMu','CgfKu3rHCNq','y2H1BMTtAxPL','rxfgyNC','q0jKC08','D3jPDgvgAwXL','zNjVEMvU','Aw5MBW','C1rsv1u','Dgv4Da','C3rYAw5N','C3r5Bgu','zMLSDgvY','mtq2ntr1z3LrC2S','mJuWmJa4v29TA2f0','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','zM9UDa','y2vUDgvY','nLvOwvHSta','zM9YBwf0sgvHzgvY','wejHEKq','owvXzxzJCG','BNvTyMvY','zMLSBa','AM9PBG','y29TBwL0','Au13C1a','z2v0uM93','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','mJeYnhDoteDwuW','tM94uLe','AhbdEfG','iYWJiZaUmda','rwvZtg0','rvHqt1jux0nivu5lx1njwKu','zgqVBw0VExL5Eq','y0f1q04','CMvWBgfJzq'];a0_0x4885=function(){return _0x524a60;};return a0_0x4885();}class ExcelGenerator{constructor(){const _0xd6993d=a0_0x419f,_0x2b2613={'iuLfB':function(_0x481b6c,_0x529ee1,_0x4257be){return _0x481b6c(_0x529ee1,_0x4257be);}};this['chunkSize']=_0x2b2613['iuLfB'](parseInt,process['env'][_0xd6993d(0x192)],0xa)||0x3e8;}async[a0_0xa5c7a8(0x1a2)](_0x33a70a){const _0x5ebec7=a0_0xa5c7a8,_0x2f505e={'fSymO':'auto'},{data:_0x179352,columns:_0x123167,columnFormats:_0x318177,fieldLabels:_0x3dc56f,filePath:_0x531e9d,onProgress:_0x20961a}=_0x33a70a;logger[_0x5ebec7(0x1d8)]({'event':'excel_generation_start','rows':_0x179352[_0x5ebec7(0x1ce)],'columns':_0x123167?.[_0x5ebec7(0x1ce)]||_0x2f505e[_0x5ebec7(0x19b)],'columnFormats':_0x318177?Object[_0x5ebec7(0x1a1)](_0x318177):null,'fieldLabels':_0x3dc56f?Object[_0x5ebec7(0x1a1)](_0x3dc56f):null,'streaming':_0x179352[_0x5ebec7(0x1ce)]>this[_0x5ebec7(0x1d3)]},_0x5ebec7(0x1e0));if(_0x179352[_0x5ebec7(0x1ce)]<=this['chunkSize'])return await this['generateSimple'](_0x179352,_0x123167,_0x318177,_0x3dc56f,_0x531e9d,_0x20961a);return await this[_0x5ebec7(0x1b5)](_0x179352,_0x123167,_0x318177,_0x3dc56f,_0x531e9d,_0x20961a);}async[a0_0xa5c7a8(0x198)](_0x482fc2,_0x1f65c2,_0x37e3a2,_0x3dad5f,_0x4d274d,_0x13fb7f){const _0xed42f7=a0_0xa5c7a8,_0x28236d={'dfcDc':_0xed42f7(0x1ac),'CSKZp':'Data','FhPzX':'FFFFFFFF','cXJLN':_0xed42f7(0x1bc),'zaivl':'FF4472C4','hpCxX':_0xed42f7(0x1d7),'FUqOW':'excel_generation_complete','AFgiF':_0xed42f7(0x199)},_0xc37214=new ExcelJS['Workbook'](),_0x44e11a=_0xc37214['addWorksheet'](_0x28236d['CSKZp']),_0x355373=_0x1f65c2||(_0x482fc2[_0xed42f7(0x1ce)]>0x0?Object['keys'](_0x482fc2[0x0]):[]);_0x44e11a['columns']=_0x355373['map'](_0x14a4ef=>{const _0x29c339=_0xed42f7,_0x167abe={'header':this[_0x29c339(0x1e4)](_0x14a4ef,_0x3dad5f),'key':_0x14a4ef,'width':0x14};if(_0x37e3a2&&_0x37e3a2[_0x14a4ef]){const _0x48c8a7=_0x37e3a2[_0x14a4ef];if(_0x48c8a7['type']&&_0x48c8a7['type']['toLowerCase']()!==_0x28236d['dfcDc']){const _0x6afd5=this['getExcelFormat'](_0x48c8a7);_0x6afd5&&(_0x167abe[_0x29c339(0x1dc)]={'numFmt':_0x6afd5});}}return _0x167abe;}),_0x44e11a[_0xed42f7(0x1ec)](0x1)[_0xed42f7(0x1e1)]={'bold':!![],'color':{'argb':_0x28236d['FhPzX']}},_0x44e11a['getRow'](0x1)[_0xed42f7(0x1e8)]={'type':_0x28236d['cXJLN'],'pattern':'solid','fgColor':{'argb':_0x28236d['zaivl']}},_0x44e11a['getRow'](0x1)['alignment']={'vertical':_0xed42f7(0x1cf),'horizontal':_0xed42f7(0x1e2)};const _0x11e32f=_0x37e3a2?this['preprocessTextColumns'](_0x482fc2,_0x355373,_0x37e3a2):_0x482fc2;return _0x44e11a['addRows'](_0x11e32f),_0x37e3a2&&this[_0xed42f7(0x1ab)](_0x44e11a,_0x355373,_0x37e3a2,_0x482fc2[_0xed42f7(0x1ce)]),_0x13fb7f&&await _0x13fb7f(0x32),_0x44e11a[_0xed42f7(0x19c)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x355373['length']}},_0x44e11a[_0xed42f7(0x1a5)]=[{'state':_0x28236d[_0xed42f7(0x18f)],'xSplit':0x0,'ySplit':0x1}],await _0xc37214['xlsx'][_0xed42f7(0x1d6)](_0x4d274d),_0x13fb7f&&await _0x13fb7f(0x64),logger[_0xed42f7(0x1d8)]({'event':_0x28236d['FUqOW'],'method':_0xed42f7(0x1b8),'rows':_0x482fc2['length']},_0x28236d['AFgiF']),_0x4d274d;}async['generateStreaming'](_0x5839f8,_0x58d6a7,_0x1a2340,_0x101db8,_0x2769c0,_0x4d6634){const _0x5c09c0=a0_0xa5c7a8,_0x2886b1={'Bphxw':_0x5c09c0(0x1ac),'qkyyC':_0x5c09c0(0x1a0),'iaBjH':'pattern','iuolR':'solid','BdgTi':'FF4472C4','djlDo':_0x5c09c0(0x1e2),'ShyeB':function(_0x1dcea6,_0x1f0c33){return _0x1dcea6*_0x1f0c33;},'ieWXp':function(_0xaa1101,_0x20c893){return _0xaa1101/_0x20c893;},'sTRWU':function(_0x192903,_0x30112b){return _0x192903(_0x30112b);},'jKoBH':'excel_chunk_processed','NGMFe':_0x5c09c0(0x197),'bXhJZ':function(_0x239f84,_0x25a82f){return _0x239f84/_0x25a82f;},'ElQFt':_0x5c09c0(0x1ed)},_0x8489ec=new ExcelJS['stream']['xlsx']['WorkbookWriter']({'filename':_0x2769c0,'useStyles':!![],'useSharedStrings':!![]}),_0x2af572=_0x8489ec['addWorksheet'](_0x5c09c0(0x1c9)),_0x47cf97=_0x58d6a7||(_0x5839f8[_0x5c09c0(0x1ce)]>0x0?Object[_0x5c09c0(0x1a1)](_0x5839f8[0x0]):[]),_0x3d99d5={};_0x47cf97[_0x5c09c0(0x1b6)]((_0x4d0ef2,_0x25858)=>{_0x3d99d5[_0x4d0ef2]=_0x25858+0x1;}),_0x2af572['columns']=_0x47cf97[_0x5c09c0(0x1ba)](_0x87980c=>{const _0x4aea11=_0x5c09c0,_0x4df13d={'header':this['formatHeader'](_0x87980c,_0x101db8),'key':_0x87980c,'width':0x14};if(_0x1a2340&&_0x1a2340[_0x87980c]){const _0xeb8494=_0x1a2340[_0x87980c];if(_0xeb8494[_0x4aea11(0x1a7)]&&_0xeb8494[_0x4aea11(0x1a7)][_0x4aea11(0x1c3)]()!==_0x2886b1['Bphxw']){const _0x15dfd6=this['getExcelFormat'](_0xeb8494);_0x15dfd6&&(_0x4df13d['style']={'numFmt':_0x15dfd6});}}return _0x4df13d;});const _0x53bbc2=_0x2af572['getRow'](0x1);_0x53bbc2[_0x5c09c0(0x1e1)]={'bold':!![],'color':{'argb':_0x2886b1['qkyyC']}},_0x53bbc2['fill']={'type':_0x2886b1['iaBjH'],'pattern':_0x2886b1['iuolR'],'fgColor':{'argb':_0x2886b1['BdgTi']}},_0x53bbc2[_0x5c09c0(0x19f)]={'vertical':_0x5c09c0(0x1cf),'horizontal':_0x2886b1['djlDo']},_0x53bbc2[_0x5c09c0(0x1ea)]();const _0x27f924=_0x5839f8['length'];let _0x50548c=0x0;for(let _0x131bea=0x0;_0x131bea<_0x27f924;_0x131bea+=this[_0x5c09c0(0x1d3)]){const _0x4aa9e1=_0x5839f8[_0x5c09c0(0x1af)](_0x131bea,_0x131bea+this[_0x5c09c0(0x1d3)]);for(const _0x5e61bb of _0x4aa9e1){const _0x15be9f=_0x1a2340?this['preprocessTextRow'](_0x5e61bb,_0x47cf97,_0x1a2340):_0x5e61bb,_0x835c6=_0x2af572[_0x5c09c0(0x1b9)](_0x15be9f);_0x1a2340&&this[_0x5c09c0(0x1bf)](_0x835c6,_0x15be9f,_0x47cf97,_0x1a2340),_0x835c6['commit'](),_0x50548c++;}if(_0x4d6634){const _0x2cacdb=Math['round'](_0x2886b1[_0x5c09c0(0x19d)](_0x2886b1['ieWXp'](_0x50548c,_0x27f924),0x64));await _0x2886b1[_0x5c09c0(0x1d9)](_0x4d6634,_0x2cacdb);}logger['debug']({'event':_0x2886b1['jKoBH'],'processed':_0x50548c,'total':_0x27f924},'Processed\x20'+_0x50548c+'/'+_0x27f924+'\x20rows');}return _0x2af572[_0x5c09c0(0x1ea)](),await _0x8489ec[_0x5c09c0(0x1ea)](),logger[_0x5c09c0(0x1d8)]({'event':'excel_generation_complete','method':_0x2886b1[_0x5c09c0(0x1d1)],'rows':_0x27f924,'chunks':Math[_0x5c09c0(0x1c1)](_0x2886b1['bXhJZ'](_0x27f924,this[_0x5c09c0(0x1d3)]))},_0x2886b1[_0x5c09c0(0x1bb)]),_0x2769c0;}['formatHeader'](_0x1ae3d8,_0x2399f9){const _0x3fafbf=a0_0xa5c7a8,_0x31b409={'eIIPG':function(_0x55e236,_0x53bb42){return _0x55e236(_0x53bb42);}};if(_0x2399f9&&_0x2399f9[_0x1ae3d8])return _0x2399f9[_0x1ae3d8];return _0x31b409['eIIPG'](String,_0x1ae3d8)[_0x3fafbf(0x1c2)]();}['validateColumns'](_0x36f73e,_0x4e6678){const _0x412d80=a0_0xa5c7a8,_0x542c0a={'CqRAe':function(_0x16cff2,_0x3e4717){return _0x16cff2===_0x3e4717;}};if(!_0x4e6678||_0x4e6678['length']===0x0)return!![];if(_0x542c0a['CqRAe'](_0x36f73e['length'],0x0))return!![];const _0x1ed8fb=Object['keys'](_0x36f73e[0x0]),_0x14adf0=_0x4e6678[_0x412d80(0x1dd)](_0x3de3a2=>!_0x1ed8fb['includes'](_0x3de3a2));if(_0x14adf0[_0x412d80(0x1ce)]>0x0)throw new Error(_0x412d80(0x1c0)+_0x14adf0[_0x412d80(0x1e9)](',\x20'));return!![];}['getExcelFormat'](_0x422e82){const _0x5d1e17=a0_0xa5c7a8,_0x5e1de2={'IAYhY':function(_0x3e1aa8,_0x4267af){return _0x3e1aa8||_0x4267af;},'GAOVb':function(_0x582052,_0x3d7bea){return _0x582052||_0x3d7bea;},'iMwsP':_0x5d1e17(0x1ad),'jGfxl':_0x5d1e17(0x1b4),'cAuCN':'0.00%'};if(!_0x422e82||!_0x422e82[_0x5d1e17(0x1a7)])return null;const {type:_0x2705e6,format:_0x52cb3f}=_0x422e82;switch(_0x2705e6['toLowerCase']()){case _0x5d1e17(0x1ac):return _0x52cb3f?_0x52cb3f[_0x5d1e17(0x1c3)]():_0x5d1e17(0x193);case'number':return _0x5e1de2[_0x5d1e17(0x1a9)](_0x52cb3f,_0x5d1e17(0x190));case'currency':return _0x5e1de2['GAOVb'](_0x52cb3f,_0x5e1de2[_0x5d1e17(0x1eb)]);case _0x5e1de2['jGfxl']:return _0x52cb3f||_0x5e1de2[_0x5d1e17(0x194)];case _0x5d1e17(0x1da):return'@';default:return null;}}['applyCellFormatting'](_0x3be72a,_0x2baa31,_0x4b93c7,_0x4f13d0){const _0x4c06a1=a0_0xa5c7a8,_0x550a0b={'hGLCm':function(_0x2368a2,_0x3f7544){return _0x2368a2+_0x3f7544;},'EesLm':function(_0x3830d8,_0x48c3fe){return _0x3830d8+_0x48c3fe;}};if(!_0x4b93c7)return;_0x2baa31[_0x4c06a1(0x1b6)]((_0x5882f3,_0x50721b)=>{const _0x560bd2=_0x4c06a1,_0x6c9347=_0x4b93c7[_0x5882f3];if(!_0x6c9347)return;const _0x43016c=_0x550a0b['hGLCm'](_0x50721b,0x1);for(let _0x23ec1b=0x2;_0x23ec1b<=_0x550a0b[_0x560bd2(0x191)](_0x4f13d0,0x1);_0x23ec1b++){const _0x29fa4a=_0x3be72a[_0x560bd2(0x1a6)](_0x23ec1b,_0x43016c);this['formatCell'](_0x29fa4a,_0x6c9347);}});}['applyRowFormatting'](_0x2c3f3a,_0x25f4ce,_0x4edbae,_0xa01d4a){const _0x3d5569=a0_0xa5c7a8;if(!_0xa01d4a)return;_0x4edbae[_0x3d5569(0x1b6)]((_0x79666c,_0x59a76a)=>{const _0x51bf2b=_0xa01d4a[_0x79666c];if(!_0x51bf2b)return;const _0x5231b0=_0x2c3f3a['getCell'](_0x59a76a+0x1);this['formatCell'](_0x5231b0,_0x51bf2b);});}['formatCell'](_0x2d2b74,_0x569565){const _0x148da5=a0_0xa5c7a8,_0x59857f={'XqbKk':function(_0x4f1f15,_0x716c69){return _0x4f1f15===_0x716c69;},'KSNre':'date','SeoEm':_0x148da5(0x1e7),'gmrlr':'currency','EqFbw':function(_0x1d4df2,_0x4604bc){return _0x1d4df2===_0x4604bc;},'XBazD':_0x148da5(0x1da),'XiYIG':function(_0x4229e4,_0x16faf1){return _0x4229e4(_0x16faf1);},'cgeLW':_0x148da5(0x1cf)};if(!_0x569565||!_0x569565['type'])return;const {type:_0x2fc0ab,format:_0x4ec05d}=_0x569565;if(_0x59857f[_0x148da5(0x1c5)](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f['KSNre'])&&_0x2d2b74['value']){const _0x5c1bd3=this['formatDateString'](_0x2d2b74[_0x148da5(0x1c8)],_0x4ec05d);_0x5c1bd3&&(_0x2d2b74['value']=_0x5c1bd3);return;}if((_0x59857f['XqbKk'](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f['SeoEm'])||_0x59857f[_0x148da5(0x1c5)](_0x2fc0ab['toLowerCase'](),_0x59857f['gmrlr'])||_0x2fc0ab['toLowerCase']()==='percentage')&&_0x2d2b74[_0x148da5(0x1c8)]){const _0x3f5982=this['parseNumber'](_0x2d2b74['value']);if(_0x3f5982!==null){_0x2d2b74['value']=_0x3f5982;const _0x368325=this['getExcelFormat'](_0x569565);_0x368325&&(_0x2d2b74['numFmt']=_0x368325);}}_0x59857f[_0x148da5(0x1d4)](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f[_0x148da5(0x1e5)])&&_0x2d2b74[_0x148da5(0x1c8)]&&(_0x2d2b74[_0x148da5(0x196)]='@',typeof _0x2d2b74[_0x148da5(0x1c8)]!=='string'&&(_0x2d2b74['value']=_0x59857f['XiYIG'](String,_0x2d2b74['value'])),_0x2d2b74['alignment']={'horizontal':'left','vertical':_0x59857f[_0x148da5(0x1ca)]});}['formatDateString'](_0xcfdd8b,_0x1119d5){const _0x4b85f2=a0_0xa5c7a8,_0x3e223a={'DEJgR':function(_0x413795,_0x13678f){return _0x413795+_0x13678f;},'fsxSQ':function(_0xf9fb12,_0x38afba,_0x1c89ec){return _0xf9fb12(_0x38afba,_0x1c89ec);},'CnVCr':function(_0x1aad68,_0x3bc660,_0x2d7239){return _0x1aad68(_0x3bc660,_0x2d7239);},'KOtBc':function(_0x22a74f,_0x439d4d,_0x4a3451){return _0x22a74f(_0x439d4d,_0x4a3451);},'ALolX':_0x4b85f2(0x1e7),'NoxRQ':function(_0x2b09e3,_0x26eae1){return _0x2b09e3(_0x26eae1);},'eWVRL':function(_0x4f8ea9,_0x3fd602){return _0x4f8ea9||_0x3fd602;},'hSTzk':function(_0x2d908a,_0x1aac6d){return _0x2d908a(_0x1aac6d);},'HPYzb':_0x4b85f2(0x193),'CwXyw':function(_0x4165b9,_0x6a759a){return _0x4165b9===_0x6a759a;},'BWqSs':'yyyy-mm-dd','IQJXb':function(_0x4735f4,_0x1bc55f){return _0x4735f4===_0x1bc55f;}};if(!_0xcfdd8b)return null;let _0x126b1d,_0x1439b3,_0x3354a2;if(_0xcfdd8b instanceof Date)_0x126b1d=_0xcfdd8b[_0x4b85f2(0x1d0)](),_0x1439b3=_0x3e223a[_0x4b85f2(0x1aa)](_0xcfdd8b['getUTCMonth'](),0x1),_0x3354a2=_0xcfdd8b['getUTCDate']();else{if(typeof _0xcfdd8b===_0x4b85f2(0x1db)){const _0xbb6fc5=_0xcfdd8b['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0xbb6fc5)_0x126b1d=parseInt(_0xbb6fc5[0x1],0xa),_0x1439b3=parseInt(_0xbb6fc5[0x2],0xa),_0x3354a2=_0x3e223a[_0x4b85f2(0x1c6)](parseInt,_0xbb6fc5[0x3],0xa);else{const _0x5a74d0=_0xcfdd8b[_0x4b85f2(0x19a)](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x5a74d0)_0x3354a2=parseInt(_0x5a74d0[0x1],0xa),_0x1439b3=parseInt(_0x5a74d0[0x2],0xa),_0x126b1d=_0x3e223a['fsxSQ'](parseInt,_0x5a74d0[0x3],0xa);else{const _0x215b63=_0xcfdd8b[_0x4b85f2(0x19a)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x215b63&&(_0x126b1d=_0x3e223a[_0x4b85f2(0x1a4)](parseInt,_0x215b63[0x1],0xa),_0x1439b3=_0x3e223a['KOtBc'](parseInt,_0x215b63[0x2],0xa),_0x3354a2=_0x3e223a[_0x4b85f2(0x1a3)](parseInt,_0x215b63[0x3],0xa));}}}else{if(typeof _0xcfdd8b===_0x3e223a['ALolX']){const _0x460cae=new Date(_0xcfdd8b);!_0x3e223a[_0x4b85f2(0x1ef)](isNaN,_0x460cae['getTime']())&&(_0x126b1d=_0x460cae[_0x4b85f2(0x1d0)](),_0x1439b3=_0x460cae[_0x4b85f2(0x1be)]()+0x1,_0x3354a2=_0x460cae['getUTCDate']());}}}if(_0x3e223a['eWVRL'](!_0x126b1d,!_0x1439b3)||!_0x3354a2)return null;const _0x5f13c4=String(_0x3354a2)['padStart'](0x2,'0'),_0x37a605=String(_0x1439b3)[_0x4b85f2(0x1d2)](0x2,'0'),_0x1923eb=_0x3e223a['hSTzk'](String,_0x126b1d),_0x5c7483=(_0x1119d5||_0x4b85f2(0x1a8))[_0x4b85f2(0x1c3)]();if(_0x5c7483===_0x3e223a[_0x4b85f2(0x1ae)])return _0x5f13c4+'/'+_0x37a605+'/'+_0x1923eb;else{if(_0x5c7483===_0x4b85f2(0x1cc))return _0x37a605+'/'+_0x5f13c4+'/'+_0x1923eb;else{if(_0x3e223a[_0x4b85f2(0x1b3)](_0x5c7483,_0x3e223a['BWqSs']))return _0x1923eb+'-'+_0x37a605+'-'+_0x5f13c4;else{if(_0x5c7483==='dd-mm-yyyy')return _0x5f13c4+'-'+_0x37a605+'-'+_0x1923eb;else return _0x3e223a[_0x4b85f2(0x1b1)](_0x5c7483,'yyyy/mm/dd')?_0x1923eb+'/'+_0x37a605+'/'+_0x5f13c4:_0x5f13c4+'/'+_0x37a605+'/'+_0x1923eb;}}}}['parseNumber'](_0x4ce05d){const _0x2ff6c2=a0_0xa5c7a8,_0x333e1f={'oSZOM':'number','iGfZW':_0x2ff6c2(0x1db),'oMZOZ':function(_0x563d3b,_0x856b90){return _0x563d3b(_0x856b90);}};if(typeof _0x4ce05d===_0x333e1f['oSZOM'])return _0x4ce05d;if(typeof _0x4ce05d===_0x333e1f[_0x2ff6c2(0x1c4)]){const _0x3945aa=_0x4ce05d[_0x2ff6c2(0x195)](/[^\d.-]/g,''),_0x148d06=parseFloat(_0x3945aa);if(!_0x333e1f['oMZOZ'](isNaN,_0x148d06))return _0x148d06;}return null;}['preprocessTextColumns'](_0x50d0ac,_0x797f43,_0xb2a617){const _0x122b37=a0_0xa5c7a8,_0x3b5015={'aZvsq':function(_0x5baf3b,_0xc131da){return _0x5baf3b===_0xc131da;},'xiKGq':_0x122b37(0x1da),'rcvPw':function(_0x3e83aa,_0x5f29db){return _0x3e83aa+_0x5f29db;},'ZacUB':function(_0x4f8869,_0x26e185){return _0x4f8869(_0x26e185);}};if(!_0xb2a617)return _0x50d0ac;const _0x4f178b=[];_0x797f43['forEach'](_0x2b617c=>{const _0x4bb5c1=_0x122b37,_0x29b2e3=_0xb2a617[_0x2b617c];_0x29b2e3&&_0x29b2e3['type']&&_0x3b5015[_0x4bb5c1(0x1cb)](_0x29b2e3['type'][_0x4bb5c1(0x1c3)](),_0x3b5015['xiKGq'])&&_0x4f178b[_0x4bb5c1(0x1c7)](_0x2b617c);});if(_0x3b5015[_0x122b37(0x1cb)](_0x4f178b[_0x122b37(0x1ce)],0x0))return _0x50d0ac;return _0x50d0ac['map'](_0x5a3797=>{const _0x2d5b4f={'EKTnT':function(_0x41a5fe,_0x1c446a){return _0x3b5015['rcvPw'](_0x41a5fe,_0x1c446a);},'NXvHQ':function(_0x434a29,_0x2d0bf8){return _0x3b5015['ZacUB'](_0x434a29,_0x2d0bf8);}},_0x4d743d={..._0x5a3797};return _0x4f178b['forEach'](_0x31b451=>{_0x4d743d[_0x31b451]!==null&&_0x4d743d[_0x31b451]!==undefined&&(_0x4d743d[_0x31b451]=_0x2d5b4f['EKTnT']('\x27',_0x2d5b4f['NXvHQ'](String,_0x4d743d[_0x31b451])));}),_0x4d743d;});}['preprocessTextRow'](_0x1f12f2,_0x3db912,_0x11c41e){const _0x58068c=a0_0xa5c7a8,_0x3f4512={'CBdsO':function(_0x1dbb11,_0x4dfd3b){return _0x1dbb11===_0x4dfd3b;},'Gijyh':function(_0x1eb8b2,_0x57ee64){return _0x1eb8b2+_0x57ee64;},'VYQYp':function(_0x3ae628,_0x5ca11f){return _0x3ae628(_0x5ca11f);}};if(!_0x11c41e)return _0x1f12f2;const _0x4e6b23=[];_0x3db912['forEach'](_0x4dca46=>{const _0x399287=a0_0x419f,_0x5be924=_0x11c41e[_0x4dca46];_0x5be924&&_0x5be924[_0x399287(0x1a7)]&&_0x3f4512['CBdsO'](_0x5be924[_0x399287(0x1a7)]['toLowerCase'](),_0x399287(0x1da))&&_0x4e6b23[_0x399287(0x1c7)](_0x4dca46);});if(_0x3f4512[_0x58068c(0x1d5)](_0x4e6b23['length'],0x0))return _0x1f12f2;const _0x5c40f0={..._0x1f12f2};return _0x4e6b23[_0x58068c(0x1b6)](_0x2ac73b=>{const _0x239c6c=_0x58068c;_0x5c40f0[_0x2ac73b]!==null&&_0x5c40f0[_0x2ac73b]!==undefined&&(_0x5c40f0[_0x2ac73b]=_0x3f4512['Gijyh']('\x27',_0x3f4512[_0x239c6c(0x19e)](String,_0x5c40f0[_0x2ac73b])));}),_0x5c40f0;}}module['exports']=ExcelGenerator;
1
+ const a0_0x552bd6=a0_0x4eb0;function a0_0x4eb0(_0xc0df7,_0x4d2782){_0xc0df7=_0xc0df7-0xe5;const _0x512ff=a0_0x512f();let _0x4eb0f5=_0x512ff[_0xc0df7];if(a0_0x4eb0['ZnuowH']===undefined){var _0x1050cd=function(_0x35afbc){const _0x309173='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48b10d='',_0xa03abc='';for(let _0x30be10=0x0,_0x4a7587,_0x43231f,_0x1b377e=0x0;_0x43231f=_0x35afbc['charAt'](_0x1b377e++);~_0x43231f&&(_0x4a7587=_0x30be10%0x4?_0x4a7587*0x40+_0x43231f:_0x43231f,_0x30be10++%0x4)?_0x48b10d+=String['fromCharCode'](0xff&_0x4a7587>>(-0x2*_0x30be10&0x6)):0x0){_0x43231f=_0x309173['indexOf'](_0x43231f);}for(let _0xce1faa=0x0,_0x4b387c=_0x48b10d['length'];_0xce1faa<_0x4b387c;_0xce1faa++){_0xa03abc+='%'+('00'+_0x48b10d['charCodeAt'](_0xce1faa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa03abc);};a0_0x4eb0['APTOeD']=_0x1050cd,a0_0x4eb0['skjRyQ']={},a0_0x4eb0['ZnuowH']=!![];}const _0x3ff061=_0x512ff[0x0],_0x9903d0=_0xc0df7+_0x3ff061,_0x8df69f=a0_0x4eb0['skjRyQ'][_0x9903d0];return!_0x8df69f?(_0x4eb0f5=a0_0x4eb0['APTOeD'](_0x4eb0f5),a0_0x4eb0['skjRyQ'][_0x9903d0]=_0x4eb0f5):_0x4eb0f5=_0x8df69f,_0x4eb0f5;}(function(_0x4e6f08,_0x1cc48f){const _0x3fd72b=a0_0x4eb0,_0x1f9a31=_0x4e6f08();while(!![]){try{const _0x22bed7=-parseInt(_0x3fd72b(0x130))/0x1+-parseInt(_0x3fd72b(0xf1))/0x2*(parseInt(_0x3fd72b(0x10c))/0x3)+-parseInt(_0x3fd72b(0x125))/0x4+-parseInt(_0x3fd72b(0x11f))/0x5*(parseInt(_0x3fd72b(0xe5))/0x6)+parseInt(_0x3fd72b(0x131))/0x7+parseInt(_0x3fd72b(0x12e))/0x8*(parseInt(_0x3fd72b(0x118))/0x9)+-parseInt(_0x3fd72b(0x141))/0xa*(-parseInt(_0x3fd72b(0x13f))/0xb);if(_0x22bed7===_0x1cc48f)break;else _0x1f9a31['push'](_0x1f9a31['shift']());}catch(_0x37c098){_0x1f9a31['push'](_0x1f9a31['shift']());}}}(a0_0x512f,0x68635));const ExcelJS=require('exceljs'),{logger}=require(a0_0x552bd6(0x13a));function a0_0x512f(){const _0x49b1c8=['D25Xu3q','C3rYAw5N','ihjVD3m','t0jsy2S','r25kz2i','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','CMfbrxy','ENrMD0G','C2XPy2u','iYWJiZaUmda','Dg9mB3DLCKnHC2u','rKy0ndCYqZq','qwnZy3m','u011C0K','zgqTBw0TExL5Eq','BNvTyMvY','zw52','z2v0rxHJzwXgB3jTyxq','ywrKv29YA3nOzwv0','qLrhyKe','C3rYzwfT','zM9UDa','mtvMB0f1sNu','z2Llzgy','uhjVy2vZC2vKia','zM9YrwfJAa','BNvTrM10','zM9YBwf0sgvHzgvY','zgf0zq','DhLWzq','DKXUCxi','EvDivu4','zMLSDgvY','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','mJDerwfWwKS','z2v0uM93','BwLKzgXL','A2v5CW','CM91BMq','ChvZAa','yxbWBhLdzwXSrM9YBwf0DgLUzW','nun4y3DHDG','ywrKuM93CW','z2v0vvrdtw9UDgG','A2H2uuW','zgqVBw0VExL5Eq','DMfSDwu','mJu5ndi0ohf2zg5Rwq','rvHqt1jux0nivu5lx1njwKu','DMfSAwrHDgvdB2X1Bw5Z','A0rczui','zM9YBwf0rgf0zvn0CMLUzW','y2vPBa','ywrKuM93','EMfts00','CgfYC2voDw1Izxi','mtaYotu2oe9kBurqDG','y29TBwL0','mtG1ndr5EMHpqMK','nti4odK0mxDtEKDMuW','Dgv4Da','qxDqu0K','C3r5Bgu','BKP2yNe','vhHqD24','BgvMDa','CgfdwfK','zgvIDwC','lI9SB2DNzxi','uuTPr3u','D3zuzw0','ExL5Es1TBs1Kza','ywXPz25Tzw50','mte1nJfOEgDdzwq','BgvUz3rO','oteWCxblueDK','EgnLr2O','BwfW','swjyCNK','rKzgrKzgrKy','z2v0vvrdrgf0zq','Bwf0y2G','wKviC08','zurJv3m','BxPtBw4','mtqZndq4vhr6r1nm','y3vYCMvUy3K','z2vUzxjHDgvtDhjLyw1PBMC','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','y2H1BMTtAxPL','wgzHrKm','v29YA2jVB2TxCML0zxi','z2v0q2vSBa','zvLwz28','v29YA2jVB2S','AM9PBG','rgf0yq','ndC0odjjq0njBee','zMvHB0S','Bw0VzgqVExL5Eq','ChjLChjVy2vZC1rLEhrsB3C','y29SDw1UCW'];a0_0x512f=function(){return _0x49b1c8;};return a0_0x512f();}class ExcelGenerator{constructor(){const _0x223009=a0_0x552bd6,_0x3db9ae={'qqYHv':function(_0x24991b,_0x56afde,_0x40a11b){return _0x24991b(_0x56afde,_0x40a11b);}};this[_0x223009(0xe9)]=_0x3db9ae['qqYHv'](parseInt,process[_0x223009(0x106)][_0x223009(0x126)],0xa)||0x3e8;}async['generate'](_0x15d89a){const _0x1b5b46=a0_0x552bd6,_0x41192d={'IfXaX':'excel_generation_start','oMLOv':'auto','BTGbA':function(_0x449410,_0x1397f3){return _0x449410>_0x1397f3;},'raAEv':function(_0x2f6a72,_0x3b5dad){return _0x2f6a72<=_0x3b5dad;}},{data:_0x2f7587,columns:_0x1e2d64,columnFormats:_0x13691f,fieldLabels:_0x40f0a0,filePath:_0x34e304,onProgress:_0x46fe01}=_0x15d89a;logger['info']({'event':_0x41192d['IfXaX'],'rows':_0x2f7587[_0x1b5b46(0x140)],'columns':_0x1e2d64?.[_0x1b5b46(0x140)]||_0x41192d['oMLOv'],'columnFormats':_0x13691f?Object['keys'](_0x13691f):null,'fieldLabels':_0x40f0a0?Object[_0x1b5b46(0x11b)](_0x40f0a0):null,'streaming':_0x41192d[_0x1b5b46(0x109)](_0x2f7587[_0x1b5b46(0x140)],this['chunkSize'])},_0x1b5b46(0x117));if(_0x41192d[_0x1b5b46(0xfc)](_0x2f7587['length'],this[_0x1b5b46(0xe9)]))return await this['generateSimple'](_0x2f7587,_0x1e2d64,_0x13691f,_0x40f0a0,_0x34e304,_0x46fe01);return await this[_0x1b5b46(0xe7)](_0x2f7587,_0x1e2d64,_0x13691f,_0x40f0a0,_0x34e304,_0x46fe01);}async['generateSimple'](_0x44749b,_0x4bb965,_0x3c859b,_0x172ebf,_0x579a06,_0x2822c0){const _0x46fa51=a0_0x552bd6,_0x1c4c38={'nJvbq':function(_0x32322d,_0x24db41){return _0x32322d!==_0x24db41;},'wvTem':_0x46fa51(0x112),'mzSmn':'pattern','khvQL':'solid','iNeSR':'center','vLnqr':_0x46fa51(0xe8),'giKdf':'simple'},_0x42fb3b=new ExcelJS[(_0x46fa51(0xee))](),_0x1a8184=_0x42fb3b[_0x46fa51(0x108)](_0x46fa51(0xf0)),_0x55f117=_0x4bb965||(_0x44749b[_0x46fa51(0x140)]>0x0?Object['keys'](_0x44749b[0x0]):[]);_0x1a8184['columns']=_0x55f117['map'](_0x162326=>{const _0x5b5cc6=_0x46fa51,_0x19b875={'header':this[_0x5b5cc6(0x111)](_0x162326,_0x172ebf),'key':_0x162326,'width':0x14};if(_0x3c859b&&_0x3c859b[_0x162326]){const _0x373619=_0x3c859b[_0x162326];if(_0x373619[_0x5b5cc6(0x113)]&&_0x1c4c38[_0x5b5cc6(0x135)](_0x373619[_0x5b5cc6(0x113)][_0x5b5cc6(0x100)](),_0x1c4c38[_0x5b5cc6(0x13c)])){const _0x154078=this[_0x5b5cc6(0x107)](_0x373619);_0x154078&&(_0x19b875[_0x5b5cc6(0x134)]={'numFmt':_0x154078});}}return _0x19b875;}),_0x1a8184[_0x46fa51(0x119)](0x1)[_0x46fa51(0x10b)]={'bold':!![],'color':{'argb':_0x46fa51(0x145)}},_0x1a8184['getRow'](0x1)['fill']={'type':_0x1c4c38[_0x46fa51(0x14a)],'pattern':_0x1c4c38[_0x46fa51(0x122)],'fgColor':{'argb':'FF4472C4'}},_0x1a8184['getRow'](0x1)['alignment']={'vertical':_0x46fa51(0x11a),'horizontal':_0x1c4c38['iNeSR']};const _0x51e86d=_0x3c859b?this['preprocessTextColumns'](_0x44749b,_0x55f117,_0x3c859b):_0x44749b;return _0x1a8184[_0x46fa51(0x120)](_0x51e86d),_0x3c859b&&this['applyCellFormatting'](_0x1a8184,_0x55f117,_0x3c859b,_0x44749b['length']),_0x2822c0&&await _0x2822c0(0x32),_0x1a8184['autoFilter']={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x55f117[_0x46fa51(0x140)]}},_0x1a8184['views']=[{'state':'frozen','xSplit':0x0,'ySplit':0x1}],await _0x42fb3b['xlsx']['writeFile'](_0x579a06),_0x2822c0&&await _0x2822c0(0x64),logger['info']({'event':_0x1c4c38[_0x46fa51(0x114)],'method':_0x1c4c38[_0x46fa51(0x10d)],'rows':_0x44749b['length']},'Excel\x20generated\x20(simple\x20method)'),_0x579a06;}async[a0_0x552bd6(0xe7)](_0x83c592,_0x547f05,_0xaf051e,_0x566356,_0x4133de,_0x2ffa6b){const _0x5c619f=a0_0x552bd6,_0x25c660={'QKiGu':function(_0x2f4997,_0x195dba){return _0x2f4997+_0x195dba;},'xceGj':'date','hEjJv':_0x5c619f(0xf0),'fRVOm':'pattern','eYVgo':'solid','ahpcv':_0x5c619f(0x101),'ZEHsO':'center','uTxyK':_0x5c619f(0xe8),'ZYKUh':'streaming','tBAgt':function(_0x569497,_0x418460){return _0x569497/_0x418460;}},_0x2e19ab=new ExcelJS[(_0x5c619f(0x10a))]['xlsx'][(_0x5c619f(0xeb))]({'filename':_0x4133de,'useStyles':!![],'useSharedStrings':!![]}),_0x1dc185=_0x2e19ab['addWorksheet'](_0x25c660['hEjJv']),_0x1d0900=_0x547f05||(_0x83c592[_0x5c619f(0x140)]>0x0?Object[_0x5c619f(0x11b)](_0x83c592[0x0]):[]),_0x50eebb={};_0x1d0900[_0x5c619f(0x10f)]((_0x47c91d,_0x1317fa)=>{const _0x116045=_0x5c619f;_0x50eebb[_0x47c91d]=_0x25c660[_0x116045(0x13b)](_0x1317fa,0x1);}),_0x1dc185[_0x5c619f(0xf5)]=_0x1d0900[_0x5c619f(0x143)](_0x2ea64d=>{const _0xa0923f=_0x5c619f,_0x1dc8cd={'header':this['formatHeader'](_0x2ea64d,_0x566356),'key':_0x2ea64d,'width':0x14};if(_0xaf051e&&_0xaf051e[_0x2ea64d]){const _0x48deba=_0xaf051e[_0x2ea64d];if(_0x48deba['type']&&_0x48deba['type']['toLowerCase']()!==_0x25c660[_0xa0923f(0x142)]){const _0x3fb388=this[_0xa0923f(0x107)](_0x48deba);_0x3fb388&&(_0x1dc8cd['style']={'numFmt':_0x3fb388});}}return _0x1dc8cd;});const _0x296978=_0x1dc185[_0x5c619f(0x119)](0x1);_0x296978['font']={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x296978['fill']={'type':_0x25c660['fRVOm'],'pattern':_0x25c660[_0x5c619f(0xed)],'fgColor':{'argb':_0x25c660['ahpcv']}},_0x296978[_0x5c619f(0x13e)]={'vertical':_0x5c619f(0x11a),'horizontal':_0x25c660[_0x5c619f(0x148)]},_0x296978['commit']();const _0x136a2a=_0x83c592['length'];let _0x24eaa5=0x0;for(let _0x2ad19a=0x0;_0x2ad19a<_0x136a2a;_0x2ad19a+=this[_0x5c619f(0xe9)]){const _0x55ee6a=_0x83c592[_0x5c619f(0xfe)](_0x2ad19a,_0x2ad19a+this['chunkSize']);for(const _0x185fab of _0x55ee6a){const _0x342ea9=_0xaf051e?this['preprocessTextRow'](_0x185fab,_0x1d0900,_0xaf051e):_0x185fab,_0x27d55d=_0x1dc185[_0x5c619f(0x12b)](_0x342ea9);_0xaf051e&&this['applyRowFormatting'](_0x27d55d,_0x342ea9,_0x1d0900,_0xaf051e),_0x27d55d['commit'](),_0x24eaa5++;}if(_0x2ffa6b){const _0x45b9c9=Math[_0x5c619f(0x11c)](_0x24eaa5/_0x136a2a*0x64);await _0x2ffa6b(_0x45b9c9);}logger[_0x5c619f(0x139)]({'event':'excel_chunk_processed','processed':_0x24eaa5,'total':_0x136a2a},_0x5c619f(0x10e)+_0x24eaa5+'/'+_0x136a2a+_0x5c619f(0xf8));}return _0x1dc185[_0x5c619f(0x12f)](),await _0x2e19ab[_0x5c619f(0x12f)](),logger['info']({'event':_0x25c660['uTxyK'],'method':_0x25c660['ZYKUh'],'rows':_0x136a2a,'chunks':Math[_0x5c619f(0x12a)](_0x25c660['tBAgt'](_0x136a2a,this['chunkSize']))},_0x5c619f(0xfb)),_0x4133de;}[a0_0x552bd6(0x111)](_0x227d54,_0x4f15bd){const _0x2480b9={'qCzvd':function(_0x14abc9,_0xd1d107){return _0x14abc9(_0xd1d107);}};if(_0x4f15bd&&_0x4f15bd[_0x227d54])return _0x4f15bd[_0x227d54];return _0x2480b9['qCzvd'](String,_0x227d54)['toUpperCase']();}[a0_0x552bd6(0x127)](_0x5ea59d,_0x1518ef){const _0x4b150f=a0_0x552bd6;if(!_0x1518ef||_0x1518ef['length']===0x0)return!![];if(_0x5ea59d['length']===0x0)return!![];const _0xe43043=Object['keys'](_0x5ea59d[0x0]),_0x30852b=_0x1518ef[_0x4b150f(0x116)](_0x543a35=>!_0xe43043['includes'](_0x543a35));if(_0x30852b['length']>0x0)throw new Error('Invalid\x20columns:\x20'+_0x30852b[_0x4b150f(0xef)](',\x20'));return!![];}[a0_0x552bd6(0x107)](_0x5a68a7){const _0x35fcff=a0_0x552bd6,_0x42cad0={'bCzKK':_0x35fcff(0x105),'feaoK':_0x35fcff(0xff),'tOTkX':function(_0x2ae24b,_0xc2329e){return _0x2ae24b||_0xc2329e;},'wnqSt':_0x35fcff(0x132)};if(!_0x5a68a7||!_0x5a68a7['type'])return null;const {type:_0x5ba425,format:_0x2f6af1}=_0x5a68a7;switch(_0x5ba425[_0x35fcff(0x100)]()){case _0x35fcff(0x112):return _0x2f6af1?_0x2f6af1[_0x35fcff(0x100)]():_0x35fcff(0x123);case _0x42cad0['bCzKK']:return _0x2f6af1||_0x42cad0[_0x35fcff(0xf2)];case'currency':return _0x42cad0['tOTkX'](_0x2f6af1,'\x22Rp\x20\x22#,##0');case'percentage':return _0x42cad0['tOTkX'](_0x2f6af1,'0.00%');case _0x42cad0[_0x35fcff(0xf6)]:return'@';default:return null;}}[a0_0x552bd6(0x11e)](_0x18cd67,_0x2c8ac0,_0x790f24,_0x2ad5d3){const _0x2b33ff={'XfaFC':function(_0x30d135,_0x51a7a0){return _0x30d135<=_0x51a7a0;},'dPOaa':function(_0x54b5a7,_0x40d029){return _0x54b5a7+_0x40d029;}};if(!_0x790f24)return;_0x2c8ac0['forEach']((_0x209ea5,_0x338046)=>{const _0x39aa4a=a0_0x4eb0,_0x1484a7=_0x790f24[_0x209ea5];if(!_0x1484a7)return;const _0x588fca=_0x338046+0x1;for(let _0x2df5f3=0x2;_0x2b33ff[_0x39aa4a(0xea)](_0x2df5f3,_0x2b33ff['dPOaa'](_0x2ad5d3,0x1));_0x2df5f3++){const _0x5a9639=_0x18cd67[_0x39aa4a(0xec)](_0x2df5f3,_0x588fca);this['formatCell'](_0x5a9639,_0x1484a7);}});}['applyRowFormatting'](_0x5ac7db,_0x5ba84c,_0x43a1b0,_0x164a9e){const _0x45d079={'duDwS':function(_0x49d270,_0x593dec){return _0x49d270+_0x593dec;}};if(!_0x164a9e)return;_0x43a1b0['forEach']((_0x26ae13,_0x4c2520)=>{const _0x5738fc=_0x164a9e[_0x26ae13];if(!_0x5738fc)return;const _0x1a418b=_0x5ac7db['getCell'](_0x45d079['duDwS'](_0x4c2520,0x1));this['formatCell'](_0x1a418b,_0x5738fc);});}['formatCell'](_0x41106c,_0x4b8cf9){const _0x1490cd=a0_0x552bd6,_0xe3bbb9={'OBRck':function(_0x3394e5,_0x213280){return _0x3394e5===_0x213280;},'jzoiC':_0x1490cd(0x105),'JQoCm':'percentage','GfhhE':function(_0x53f97d,_0x2335ac){return _0x53f97d!==_0x2335ac;},'OpTaK':function(_0x125379,_0x2935d7){return _0x125379!==_0x2935d7;},'jXRUI':_0x1490cd(0xf7),'kDBeB':function(_0x2eae6b,_0x42b853){return _0x2eae6b(_0x42b853);},'ZadWF':_0x1490cd(0x137)};if(!_0x4b8cf9||!_0x4b8cf9['type'])return;const {type:_0x563bd2,format:_0x18c861}=_0x4b8cf9;if(_0xe3bbb9[_0x1490cd(0xf9)](_0x563bd2['toLowerCase'](),_0x1490cd(0x112))&&_0x41106c['value']){const _0x27a091=this[_0x1490cd(0x129)](_0x41106c[_0x1490cd(0x124)],_0x18c861);_0x27a091&&(_0x41106c['value']=_0x27a091);return;}if((_0x563bd2[_0x1490cd(0x100)]()===_0xe3bbb9['jzoiC']||_0x563bd2['toLowerCase']()===_0x1490cd(0xe6)||_0x563bd2['toLowerCase']()===_0xe3bbb9['JQoCm'])&&_0x41106c['value']){const _0x595a74=this['parseNumber'](_0x41106c[_0x1490cd(0x124)]);if(_0xe3bbb9['GfhhE'](_0x595a74,null)){_0x41106c['value']=_0x595a74;const _0x24fea7=this['getExcelFormat'](_0x4b8cf9);_0x24fea7&&(_0x41106c['numFmt']=_0x24fea7);}}_0xe3bbb9['OBRck'](_0x563bd2[_0x1490cd(0x100)](),'text')&&_0x41106c['value']&&(_0x41106c[_0x1490cd(0x110)]='@',_0xe3bbb9['OpTaK'](typeof _0x41106c['value'],_0xe3bbb9['jXRUI'])&&(_0x41106c[_0x1490cd(0x124)]=_0xe3bbb9[_0x1490cd(0x128)](String,_0x41106c[_0x1490cd(0x124)])),_0x41106c['alignment']={'horizontal':_0xe3bbb9['ZadWF'],'vertical':'middle'});}[a0_0x552bd6(0x129)](_0x3e7621,_0x3f7083){const _0x458582=a0_0x552bd6,_0x2000a5={'yevPJ':function(_0xf81834,_0x260447){return _0xf81834===_0x260447;},'Acscs':function(_0x507877,_0x4e4fb6,_0x3280ae){return _0x507877(_0x4e4fb6,_0x3280ae);},'IbXry':function(_0x27f855,_0x45f3cd,_0x37ab27){return _0x27f855(_0x45f3cd,_0x37ab27);},'yJyLu':function(_0xd1813e,_0x1f8ee8,_0x148e90){return _0xd1813e(_0x1f8ee8,_0x148e90);},'eDcWs':function(_0x596c6b,_0x4f4d0d,_0x2048e4){return _0x596c6b(_0x4f4d0d,_0x2048e4);},'UWHoT':_0x458582(0x105),'OORNq':function(_0x54ee3a,_0x271f47){return _0x54ee3a(_0x271f47);},'AwPSI':function(_0x5dfa97,_0x369c35){return _0x5dfa97||_0x369c35;},'lgKDy':function(_0x55be9b,_0x4788b7){return _0x55be9b(_0x4788b7);},'pruwe':'DD/MM/YYYY','ztfwH':function(_0x4293e4,_0xd12194){return _0x4293e4===_0xd12194;},'BDcKb':_0x458582(0x123),'ieYSD':function(_0x5508b2,_0x180314){return _0x5508b2===_0x180314;},'gtlOD':_0x458582(0x104)};if(!_0x3e7621)return null;let _0x4ac98d,_0x4144c0,_0x542bff;if(_0x3e7621 instanceof Date)_0x4ac98d=_0x3e7621['getUTCFullYear'](),_0x4144c0=_0x3e7621[_0x458582(0x121)]()+0x1,_0x542bff=_0x3e7621[_0x458582(0x146)]();else{if(_0x2000a5['yevPJ'](typeof _0x3e7621,'string')){const _0x305aea=_0x3e7621['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x305aea)_0x4ac98d=_0x2000a5['Acscs'](parseInt,_0x305aea[0x1],0xa),_0x4144c0=parseInt(_0x305aea[0x2],0xa),_0x542bff=_0x2000a5[_0x458582(0x144)](parseInt,_0x305aea[0x3],0xa);else{const _0x28df33=_0x3e7621['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x28df33)_0x542bff=_0x2000a5['yJyLu'](parseInt,_0x28df33[0x1],0xa),_0x4144c0=_0x2000a5[_0x458582(0x149)](parseInt,_0x28df33[0x2],0xa),_0x4ac98d=parseInt(_0x28df33[0x3],0xa);else{const _0x3dcad8=_0x3e7621[_0x458582(0x147)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x3dcad8&&(_0x4ac98d=_0x2000a5[_0x458582(0x102)](parseInt,_0x3dcad8[0x1],0xa),_0x4144c0=parseInt(_0x3dcad8[0x2],0xa),_0x542bff=parseInt(_0x3dcad8[0x3],0xa));}}}else{if(typeof _0x3e7621===_0x2000a5['UWHoT']){const _0x26cac4=new Date(_0x3e7621);!_0x2000a5['OORNq'](isNaN,_0x26cac4['getTime']())&&(_0x4ac98d=_0x26cac4['getUTCFullYear'](),_0x4144c0=_0x26cac4['getUTCMonth']()+0x1,_0x542bff=_0x26cac4[_0x458582(0x146)]());}}}if(_0x2000a5[_0x458582(0x133)](!_0x4ac98d,!_0x4144c0)||!_0x542bff)return null;const _0x557f8d=String(_0x542bff)['padStart'](0x2,'0'),_0x14507a=String(_0x4144c0)['padStart'](0x2,'0'),_0x514075=_0x2000a5['lgKDy'](String,_0x4ac98d),_0x2a876e=_0x2000a5[_0x458582(0x133)](_0x3f7083,_0x2000a5['pruwe'])[_0x458582(0x100)]();if(_0x2000a5[_0x458582(0xfd)](_0x2a876e,_0x2000a5['BDcKb']))return _0x557f8d+'/'+_0x14507a+'/'+_0x514075;else{if(_0x2000a5['ieYSD'](_0x2a876e,_0x458582(0xf3)))return _0x14507a+'/'+_0x557f8d+'/'+_0x514075;else{if(_0x2a876e===_0x458582(0x13d))return _0x514075+'-'+_0x14507a+'-'+_0x557f8d;else{if(_0x2a876e===_0x2000a5['gtlOD'])return _0x557f8d+'-'+_0x14507a+'-'+_0x514075;else return _0x2a876e==='yyyy/mm/dd'?_0x514075+'/'+_0x14507a+'/'+_0x557f8d:_0x557f8d+'/'+_0x14507a+'/'+_0x514075;}}}}[a0_0x552bd6(0x12d)](_0x19fc88){const _0x2307ca=a0_0x552bd6,_0x4a6316={'SMusI':function(_0x3e8894,_0x459772){return _0x3e8894(_0x459772);}};if(typeof _0x19fc88===_0x2307ca(0x105))return _0x19fc88;if(typeof _0x19fc88===_0x2307ca(0xf7)){const _0x47b5f5=_0x19fc88['replace'](/[^\d.-]/g,''),_0x5e0dad=parseFloat(_0x47b5f5);if(!_0x4a6316[_0x2307ca(0x103)](isNaN,_0x5e0dad))return _0x5e0dad;}return null;}['preprocessTextColumns'](_0x9e830e,_0xcc47b2,_0x320712){const _0x1e84aa={'yWHUN':function(_0x3c907c,_0x111bc5){return _0x3c907c===_0x111bc5;},'MULot':function(_0x23538f,_0x476af1){return _0x23538f===_0x476af1;}};if(!_0x320712)return _0x9e830e;const _0x5c3d51=[];_0xcc47b2['forEach'](_0x5bb747=>{const _0xc9fdcd=a0_0x4eb0,_0x4c9958=_0x320712[_0x5bb747];_0x4c9958&&_0x4c9958['type']&&_0x1e84aa[_0xc9fdcd(0x115)](_0x4c9958[_0xc9fdcd(0x113)]['toLowerCase'](),_0xc9fdcd(0x132))&&_0x5c3d51[_0xc9fdcd(0x11d)](_0x5bb747);});if(_0x1e84aa['MULot'](_0x5c3d51['length'],0x0))return _0x9e830e;return _0x9e830e['map'](_0x220804=>{const _0x57a105=a0_0x4eb0,_0x51bbca={'TNwAP':function(_0x2cd581,_0x27153d){return _0x2cd581!==_0x27153d;},'paCXY':function(_0x3d948c,_0x2459fd){return _0x3d948c+_0x2459fd;},'GnJgb':function(_0xf1d0bc,_0x18164f){return _0xf1d0bc(_0x18164f);}},_0x22c290={..._0x220804};return _0x5c3d51[_0x57a105(0x10f)](_0x49d161=>{const _0x6d7f88=_0x57a105;_0x51bbca['TNwAP'](_0x22c290[_0x49d161],null)&&_0x22c290[_0x49d161]!==undefined&&(_0x22c290[_0x49d161]=_0x51bbca[_0x6d7f88(0x138)]('\x27',_0x51bbca[_0x6d7f88(0xfa)](String,_0x22c290[_0x49d161])));}),_0x22c290;});}[a0_0x552bd6(0xf4)](_0x34a80c,_0xb81c02,_0x2f5746){const _0x128d6f=a0_0x552bd6,_0x25acdd={'heiNc':function(_0x3e35eb,_0x38e3fb){return _0x3e35eb!==_0x38e3fb;},'ETqpM':function(_0x3fb434,_0xa477cd){return _0x3fb434!==_0xa477cd;},'TxPwn':function(_0x38a688,_0x59c2a0){return _0x38a688(_0x59c2a0);},'zaSKM':function(_0x392757,_0x43f224){return _0x392757===_0x43f224;}};if(!_0x2f5746)return _0x34a80c;const _0x427f05=[];_0xb81c02['forEach'](_0x319bf1=>{const _0x12e6d4=a0_0x4eb0,_0x5cc127=_0x2f5746[_0x319bf1];_0x5cc127&&_0x5cc127['type']&&_0x5cc127['type'][_0x12e6d4(0x100)]()===_0x12e6d4(0x132)&&_0x427f05[_0x12e6d4(0x11d)](_0x319bf1);});if(_0x25acdd[_0x128d6f(0x12c)](_0x427f05['length'],0x0))return _0x34a80c;const _0x3bdfda={..._0x34a80c};return _0x427f05['forEach'](_0x3cc5cf=>{const _0xb44c61=_0x128d6f;_0x25acdd['heiNc'](_0x3bdfda[_0x3cc5cf],null)&&_0x25acdd['ETqpM'](_0x3bdfda[_0x3cc5cf],undefined)&&(_0x3bdfda[_0x3cc5cf]='\x27'+_0x25acdd[_0xb44c61(0x136)](String,_0x3bdfda[_0x3cc5cf]));}),_0x3bdfda;}}module['exports']=ExcelGenerator;
@@ -1 +1 @@
1
- const a0_0x2ac9ba=a0_0x4dce;(function(_0x2bbb39,_0x49d115){const _0x532d71=a0_0x4dce,_0x22b1cd=_0x2bbb39();while(!![]){try{const _0x5928c6=-parseInt(_0x532d71(0x183))/0x1*(parseInt(_0x532d71(0x189))/0x2)+-parseInt(_0x532d71(0x169))/0x3+parseInt(_0x532d71(0x177))/0x4+-parseInt(_0x532d71(0x17e))/0x5*(parseInt(_0x532d71(0x188))/0x6)+-parseInt(_0x532d71(0x173))/0x7+parseInt(_0x532d71(0x17f))/0x8*(parseInt(_0x532d71(0x186))/0x9)+parseInt(_0x532d71(0x160))/0xa*(parseInt(_0x532d71(0x184))/0xb);if(_0x5928c6===_0x49d115)break;else _0x22b1cd['push'](_0x22b1cd['shift']());}catch(_0x231191){_0x22b1cd['push'](_0x22b1cd['shift']());}}}(a0_0xad60,0x791e5));const ExcelJS=require(a0_0x2ac9ba(0x18a)),{logger}=require('./logger');class ExcelParser{async[a0_0x2ac9ba(0x187)](_0x2dac03){const _0x37af84=a0_0x2ac9ba,_0x528495={'UoGxH':function(_0x5ef317,_0x5084c0){return _0x5ef317===_0x5084c0;},'KXJaN':'No\x20worksheet\x20found\x20in\x20Excel\x20file'};try{const _0x2452d6=new ExcelJS['Workbook']();await _0x2452d6[_0x37af84(0x181)]['readFile'](_0x2dac03);const _0x396163=_0x2452d6[_0x37af84(0x17b)][0x0];if(!_0x396163)throw new Error(_0x528495[_0x37af84(0x162)]);const _0x509205=[];let _0x424df3=[];return _0x396163[_0x37af84(0x15a)]((_0x52eca7,_0x15c550)=>{const _0x183ac0=_0x37af84,_0xdeb04e={'CuBHa':function(_0x4ea39b,_0x199f02){return _0x4ea39b+_0x199f02;}},_0x3c4b8c=_0x52eca7['values'];if(_0x528495[_0x183ac0(0x174)](_0x15c550,0x1))_0x424df3=_0x3c4b8c[_0x183ac0(0x182)](0x1)['map'](_0x202aee=>this['normalizeHeader'](_0x202aee));else{const _0x149610={};_0x424df3['forEach']((_0x262b0d,_0x1fb747)=>{const _0x5ee11c=_0x183ac0,_0x3a801a=_0x3c4b8c[_0xdeb04e[_0x5ee11c(0x15d)](_0x1fb747,0x1)];_0x149610[_0x262b0d]=this[_0x5ee11c(0x15c)](_0x3a801a);}),_0x509205[_0x183ac0(0x17c)](_0x149610);}}),logger[_0x37af84(0x16b)]({'event':_0x37af84(0x179),'filePath':_0x2dac03,'totalRows':_0x509205['length'],'headers':_0x424df3[_0x37af84(0x15b)]},_0x37af84(0x164)),{'headers':_0x424df3,'rows':_0x509205,'totalRows':_0x509205['length']};}catch(_0x1dbe30){logger['error']({'event':'excel_parse_error','filePath':_0x2dac03,'error':_0x1dbe30[_0x37af84(0x168)]},'Failed\x20to\x20parse\x20Excel\x20file');throw new Error(_0x37af84(0x165)+_0x1dbe30['message']);}}[a0_0x2ac9ba(0x16d)](_0x236228){const _0x2ca96c=a0_0x2ac9ba,_0x57976f={'ynojf':function(_0x432577,_0x2163ec){return _0x432577===_0x2163ec;},'hEZHy':function(_0x179969,_0x3ba37c){return _0x179969===_0x3ba37c;},'cdbFE':'$1_$2'};if(_0x57976f['ynojf'](_0x236228,null)||_0x57976f['hEZHy'](_0x236228,undefined))return'';let _0x52f205=String(_0x236228)['trim']();return _0x52f205=_0x52f205['replace'](/\s+/g,'_')[_0x2ca96c(0x16e)](/([a-z])([A-Z])/g,_0x57976f[_0x2ca96c(0x18b)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x2ca96c(0x163))['toLowerCase'](),_0x52f205;}[a0_0x2ac9ba(0x15c)](_0x19d77b){const _0x2c4dd7=a0_0x2ac9ba,_0x417bc6={'RrPHw':function(_0x29071d,_0x523b0c){return _0x29071d===_0x523b0c;},'bGrly':function(_0xf03b1b,_0x12c68b){return _0xf03b1b instanceof _0x12c68b;},'WTlPS':function(_0x49424d,_0x537d72){return _0x49424d(_0x537d72);},'FOEdj':function(_0x2ba20d,_0x404224){return _0x2ba20d+_0x404224;},'SJHfo':function(_0x4448e1,_0x390734){return _0x4448e1===_0x390734;},'XUMDB':_0x2c4dd7(0x175),'pBGnj':'object','TvNxD':function(_0xa327a7,_0x16f2fe){return _0xa327a7!==_0x16f2fe;},'HQSYO':function(_0x107d4a,_0x2a716b){return _0x107d4a===_0x2a716b;}};if(_0x417bc6[_0x2c4dd7(0x17a)](_0x19d77b,null)||_0x19d77b===undefined)return null;if(_0x417bc6[_0x2c4dd7(0x16a)](_0x19d77b,Date)){const _0x250f6a=_0x19d77b['getFullYear'](),_0x38dc84=_0x417bc6[_0x2c4dd7(0x172)](String,_0x417bc6['FOEdj'](_0x19d77b['getMonth'](),0x1))[_0x2c4dd7(0x15e)](0x2,'0'),_0x36090a=String(_0x19d77b[_0x2c4dd7(0x16f)]())[_0x2c4dd7(0x15e)](0x2,'0');return _0x250f6a+'-'+_0x38dc84+'-'+_0x36090a;}if(_0x417bc6['SJHfo'](typeof _0x19d77b,_0x417bc6[_0x2c4dd7(0x170)])){const _0x35b75f=_0x19d77b[_0x2c4dd7(0x17d)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x35b75f){const _0x51a15e=String(_0x35b75f[0x1])[_0x2c4dd7(0x15e)](0x2,'0'),_0x2cc15b=_0x417bc6['WTlPS'](String,_0x35b75f[0x2])['padStart'](0x2,'0'),_0x4bb5ae=_0x35b75f[0x3];return _0x4bb5ae+'-'+_0x2cc15b+'-'+_0x51a15e;}}if(_0x19d77b&&_0x417bc6['RrPHw'](typeof _0x19d77b,_0x417bc6['pBGnj'])&&_0x19d77b['richText'])return _0x19d77b['richText'][_0x2c4dd7(0x171)](_0x192f2=>_0x192f2[_0x2c4dd7(0x15f)])[_0x2c4dd7(0x180)]('');if(_0x19d77b&&_0x417bc6[_0x2c4dd7(0x178)](typeof _0x19d77b,_0x417bc6['pBGnj'])&&_0x417bc6[_0x2c4dd7(0x161)](_0x19d77b['result'],undefined))return this['normalizeCellValue'](_0x19d77b['result']);if(_0x417bc6[_0x2c4dd7(0x185)](typeof _0x19d77b,_0x417bc6['XUMDB']))return _0x19d77b['trim']();return _0x19d77b;}[a0_0x2ac9ba(0x176)](_0x5dc5ac,_0x24f4f3){const _0xeca880=a0_0x2ac9ba,_0x538096={'JHtmC':function(_0x5edbac,_0x30b6c2){return _0x5edbac===_0x30b6c2;}},_0x16e851=new Set(_0x5dc5ac),_0x3069b7=new Set(_0x24f4f3),_0x319e42=_0x24f4f3[_0xeca880(0x166)](_0x45140b=>!_0x16e851[_0xeca880(0x16c)](_0x45140b)),_0x263375=_0x5dc5ac['filter'](_0x2f464c=>!_0x3069b7[_0xeca880(0x16c)](_0x2f464c)),_0x39342e=_0x538096[_0xeca880(0x167)](_0x319e42['length'],0x0);return{'valid':_0x39342e,'missingFields':_0x319e42,'extraFields':_0x263375};}}function a0_0x4dce(_0x1fc83f,_0x5dfbcb){_0x1fc83f=_0x1fc83f-0x15a;const _0xad60fb=a0_0xad60();let _0x4dce4d=_0xad60fb[_0x1fc83f];if(a0_0x4dce['xdqxBO']===undefined){var _0xb8838e=function(_0x3e3251){const _0x5b6604='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x118f84='',_0x5bae5d='';for(let _0x471a46=0x0,_0x22aa32,_0x33e6c8,_0x1d5f7b=0x0;_0x33e6c8=_0x3e3251['charAt'](_0x1d5f7b++);~_0x33e6c8&&(_0x22aa32=_0x471a46%0x4?_0x22aa32*0x40+_0x33e6c8:_0x33e6c8,_0x471a46++%0x4)?_0x118f84+=String['fromCharCode'](0xff&_0x22aa32>>(-0x2*_0x471a46&0x6)):0x0){_0x33e6c8=_0x5b6604['indexOf'](_0x33e6c8);}for(let _0x23c75d=0x0,_0x21b78e=_0x118f84['length'];_0x23c75d<_0x21b78e;_0x23c75d++){_0x5bae5d+='%'+('00'+_0x118f84['charCodeAt'](_0x23c75d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bae5d);};a0_0x4dce['OODbnV']=_0xb8838e,a0_0x4dce['eCqtzf']={},a0_0x4dce['xdqxBO']=!![];}const _0x28b854=_0xad60fb[0x0],_0x54d14b=_0x1fc83f+_0x28b854,_0x3bbd06=a0_0x4dce['eCqtzf'][_0x54d14b];return!_0x3bbd06?(_0x4dce4d=a0_0x4dce['OODbnV'](_0x4dce4d),a0_0x4dce['eCqtzf'][_0x54d14b]=_0x4dce4d):_0x4dce4d=_0x3bbd06,_0x4dce4d;}module['exports']=new ExcelParser();function a0_0xad60(){const _0x35f8d7=['mJm1mJC3nKreuLbRvq','u0PizM8','zxHJzwXFCgfYC2vK','uNjqshC','D29YA3nOzwv0CW','ChvZAa','Bwf0y2G','mZm5ndaWt3vhB3rb','mtKZntjAzePvExy','AM9PBG','EgXZEa','C2XPy2u','mKHRyunpEa','ntvIyNzQq0W','sfftwu8','mtuYmxnKB0r2ra','CgfYC2vfEgnLBezPBgu','mtjOAK1HuwC','mZm4mZK2weDIAhfH','zxHJzwXQCW','y2rIrKu','zwfJAfjVDW','BgvUz3rO','BM9YBwfSAxPLq2vSBfzHBhvL','q3vcsge','CgfKu3rHCNq','Dgv4Da','mty0nJC1mgDSC01VrW','vhzoEeq','s1Hkyu4','jdfFjdi','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','zMLSDgvY','sKH0Bum','BwvZC2fNzq','mtu5mJy0oxbIwwDIzG','yKDYBhK','Aw5MBW','AgfZ','BM9YBwfSAxPLsgvHzgvY','CMvWBgfJzq','z2v0rgf0zq','wfvnrei','BwfW','v1rSufm','mJiZndy4mfrIsMzWCW','vw9hEeG','C3rYAw5N','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq'];a0_0xad60=function(){return _0x35f8d7;};return a0_0xad60();}
1
+ const a0_0x444542=a0_0x2728;(function(_0x181d61,_0x3f7bdc){const _0x226403=a0_0x2728,_0x2d0f58=_0x181d61();while(!![]){try{const _0x362aee=parseInt(_0x226403(0xf1))/0x1+-parseInt(_0x226403(0xdc))/0x2*(parseInt(_0x226403(0xf4))/0x3)+-parseInt(_0x226403(0xe5))/0x4+parseInt(_0x226403(0xf0))/0x5+-parseInt(_0x226403(0xe8))/0x6*(-parseInt(_0x226403(0xf6))/0x7)+-parseInt(_0x226403(0xdd))/0x8+-parseInt(_0x226403(0xe4))/0x9*(-parseInt(_0x226403(0xf5))/0xa);if(_0x362aee===_0x3f7bdc)break;else _0x2d0f58['push'](_0x2d0f58['shift']());}catch(_0x3c5922){_0x2d0f58['push'](_0x2d0f58['shift']());}}}(a0_0x2bb5,0xd8972));function a0_0x2728(_0x26f1ac,_0x442df5){_0x26f1ac=_0x26f1ac-0xd7;const _0x2bb541=a0_0x2bb5();let _0x2728ef=_0x2bb541[_0x26f1ac];if(a0_0x2728['vkISEZ']===undefined){var _0x58731a=function(_0x290244){const _0x40e4bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4724eb='',_0x41bd68='';for(let _0x46a685=0x0,_0x31edd5,_0x3f6017,_0x5d68a2=0x0;_0x3f6017=_0x290244['charAt'](_0x5d68a2++);~_0x3f6017&&(_0x31edd5=_0x46a685%0x4?_0x31edd5*0x40+_0x3f6017:_0x3f6017,_0x46a685++%0x4)?_0x4724eb+=String['fromCharCode'](0xff&_0x31edd5>>(-0x2*_0x46a685&0x6)):0x0){_0x3f6017=_0x40e4bc['indexOf'](_0x3f6017);}for(let _0x111b9e=0x0,_0x43fe12=_0x4724eb['length'];_0x111b9e<_0x43fe12;_0x111b9e++){_0x41bd68+='%'+('00'+_0x4724eb['charCodeAt'](_0x111b9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41bd68);};a0_0x2728['pAiZXS']=_0x58731a,a0_0x2728['vQAJUQ']={},a0_0x2728['vkISEZ']=!![];}const _0x2224fd=_0x2bb541[0x0],_0x6cfcb2=_0x26f1ac+_0x2224fd,_0x5490b3=a0_0x2728['vQAJUQ'][_0x6cfcb2];return!_0x5490b3?(_0x2728ef=a0_0x2728['pAiZXS'](_0x2728ef),a0_0x2728['vQAJUQ'][_0x6cfcb2]=_0x2728ef):_0x2728ef=_0x5490b3,_0x2728ef;}const ExcelJS=require('exceljs'),{logger}=require(a0_0x444542(0xec));class ExcelParser{async['parseExcelFile'](_0x1b5096){const _0x442029=a0_0x444542,_0x5c74a6={'bCRUK':function(_0x1e76bc,_0x14a631){return _0x1e76bc===_0x14a631;},'XbixM':_0x442029(0xfb)};try{const _0x4a399f=new ExcelJS[(_0x442029(0xe9))]();await _0x4a399f['xlsx']['readFile'](_0x1b5096);const _0x2610c2=_0x4a399f[_0x442029(0xee)][0x0];if(!_0x2610c2)throw new Error(_0x442029(0xd8));const _0x14ec90=[];let _0x1c9859=[];return _0x2610c2[_0x442029(0xe7)]((_0xb135db,_0x5938c1)=>{const _0x2c875a=_0x442029,_0x51c3e4=_0xb135db[_0x2c875a(0xff)];if(_0x5c74a6[_0x2c875a(0xf7)](_0x5938c1,0x1))_0x1c9859=_0x51c3e4['slice'](0x1)['map'](_0x15bdea=>this['normalizeHeader'](_0x15bdea));else{const _0x1b4925={};_0x1c9859[_0x2c875a(0xe2)]((_0x50b120,_0x633fa2)=>{const _0x1f7fe1=_0x51c3e4[_0x633fa2+0x1];_0x1b4925[_0x50b120]=this['normalizeCellValue'](_0x1f7fe1);}),_0x14ec90['push'](_0x1b4925);}}),logger[_0x442029(0xf3)]({'event':_0x442029(0xe6),'filePath':_0x1b5096,'totalRows':_0x14ec90['length'],'headers':_0x1c9859[_0x442029(0xd7)]},'Excel\x20file\x20parsed\x20successfully'),{'headers':_0x1c9859,'rows':_0x14ec90,'totalRows':_0x14ec90[_0x442029(0xd7)]};}catch(_0x4285d4){logger[_0x442029(0xea)]({'event':_0x442029(0xdb),'filePath':_0x1b5096,'error':_0x4285d4['message']},_0x5c74a6['XbixM']);throw new Error(_0x442029(0xf2)+_0x4285d4['message']);}}['normalizeHeader'](_0x2cf6c6){const _0x1c9c63=a0_0x444542,_0x14e36b={'vxWqt':'$1_$2'};if(_0x2cf6c6===null||_0x2cf6c6===undefined)return'';let _0x2efacb=String(_0x2cf6c6)['trim']();return _0x2efacb=_0x2efacb[_0x1c9c63(0xef)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x14e36b[_0x1c9c63(0xdf)])[_0x1c9c63(0xef)](/([A-Z]+)([A-Z][a-z])/g,_0x14e36b[_0x1c9c63(0xdf)])[_0x1c9c63(0xeb)](),_0x2efacb;}[a0_0x444542(0xfa)](_0x4779ec){const _0x4ab2db=a0_0x444542,_0x1215d4={'ixsYP':function(_0x4c7dc4,_0x3a97d7){return _0x4c7dc4===_0x3a97d7;},'goiMg':function(_0x908333,_0x4324b3){return _0x908333 instanceof _0x4324b3;},'DmMhR':function(_0x38dd8f,_0x151d0c){return _0x38dd8f(_0x151d0c);},'DDSWW':function(_0x554823,_0x5a96b4){return _0x554823(_0x5a96b4);},'VTpUQ':function(_0x5b6717,_0x33b91f){return _0x5b6717===_0x33b91f;},'ONIiT':'string','SaqIy':function(_0x1a2011,_0x1247c6){return _0x1a2011(_0x1247c6);},'ZHwNy':'object','OFBli':function(_0x3e7242,_0x249e61){return _0x3e7242!==_0x249e61;}};if(_0x1215d4['ixsYP'](_0x4779ec,null)||_0x1215d4[_0x4ab2db(0xda)](_0x4779ec,undefined))return null;if(_0x1215d4['goiMg'](_0x4779ec,Date)){const _0x18695f=_0x4779ec['getFullYear'](),_0x455ffe=_0x1215d4[_0x4ab2db(0xfc)](String,_0x4779ec[_0x4ab2db(0x100)]()+0x1)[_0x4ab2db(0xe1)](0x2,'0'),_0x38c906=_0x1215d4['DDSWW'](String,_0x4779ec['getDate']())['padStart'](0x2,'0');return _0x18695f+'-'+_0x455ffe+'-'+_0x38c906;}if(_0x1215d4['VTpUQ'](typeof _0x4779ec,_0x1215d4[_0x4ab2db(0xfd)])){const _0xf5f11f=_0x4779ec[_0x4ab2db(0xf8)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0xf5f11f){const _0x2247da=_0x1215d4[_0x4ab2db(0xfe)](String,_0xf5f11f[0x1])['padStart'](0x2,'0'),_0x3e19b3=String(_0xf5f11f[0x2])['padStart'](0x2,'0'),_0x2f2dcd=_0xf5f11f[0x3];return _0x2f2dcd+'-'+_0x3e19b3+'-'+_0x2247da;}}if(_0x4779ec&&typeof _0x4779ec==='object'&&_0x4779ec['richText'])return _0x4779ec[_0x4ab2db(0xed)][_0x4ab2db(0xd9)](_0x5516fb=>_0x5516fb[_0x4ab2db(0xf9)])['join']('');if(_0x4779ec&&_0x1215d4[_0x4ab2db(0xda)](typeof _0x4779ec,_0x1215d4[_0x4ab2db(0xe3)])&&_0x1215d4['OFBli'](_0x4779ec['result'],undefined))return this['normalizeCellValue'](_0x4779ec['result']);if(typeof _0x4779ec===_0x1215d4[_0x4ab2db(0xfd)])return _0x4779ec['trim']();return _0x4779ec;}['validateExcelStructure'](_0x40275b,_0xa7ad0b){const _0x5a0077=a0_0x444542,_0x38326b={'tSuYC':function(_0x4ae4ce,_0x21e4ba){return _0x4ae4ce===_0x21e4ba;}},_0x3fb08d=new Set(_0x40275b),_0x39a01a=new Set(_0xa7ad0b),_0xe0ea69=_0xa7ad0b[_0x5a0077(0xde)](_0x5520c3=>!_0x3fb08d[_0x5a0077(0xe0)](_0x5520c3)),_0x167898=_0x40275b[_0x5a0077(0xde)](_0x588c6e=>!_0x39a01a[_0x5a0077(0xe0)](_0x588c6e)),_0x51d085=_0x38326b['tSuYC'](_0xe0ea69[_0x5a0077(0xd7)],0x0);return{'valid':_0x51d085,'missingFields':_0xe0ea69,'extraFields':_0x167898};}}function a0_0x2bb5(){const _0x45aba3=['nJGZmKHzEezfvG','ota3mZiZmKDluwLuAW','zMLSDgvY','DNHxCxq','AgfZ','CgfKu3rHCNq','zM9YrwfJAa','wKH3tNK','mJDkB3jgs1a','mZyWndK4mgXRs0vwDa','zxHJzwXFCgfYC2vK','zwfJAfjVDW','nJCWmMPouxzjEa','v29YA2jVB2S','zxjYB3i','Dg9mB3DLCKnHC2u','lI9SB2DNzxi','CMLJAfrLEhq','D29YA3nOzwv0CW','CMvWBgfJzq','ndy1nZeWDvHbvLrw','mtu3mtqXnMToyvDpqq','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','Aw5MBW','mte0m0zQvunjzW','nde0ntu1mfjsAMzfvG','odi0nNrlDxj6tW','yKnsvuS','Bwf0y2G','Dgv4Da','BM9YBwfSAxPLq2vSBfzHBhvL','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','rg1nAfi','t05jAvq','u2fXsxK','DMfSDwvZ','z2v0tw9UDgG','BgvUz3rO','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu','BwfW','AxHZwva','zxHJzwXFCgfYC2vFzxjYB3i'];a0_0x2bb5=function(){return _0x45aba3;};return a0_0x2bb5();}module['exports']=new ExcelParser();
@@ -1 +1 @@
1
- const a0_0x2c5d82=a0_0x1628;(function(_0x5a5f25,_0x60b3d5){const _0x2bc213=a0_0x1628,_0x4499e8=_0x5a5f25();while(!![]){try{const _0x4a6195=-parseInt(_0x2bc213(0xe3))/0x1+parseInt(_0x2bc213(0xe4))/0x2+parseInt(_0x2bc213(0xfe))/0x3*(parseInt(_0x2bc213(0x14f))/0x4)+parseInt(_0x2bc213(0x10a))/0x5*(-parseInt(_0x2bc213(0x110))/0x6)+parseInt(_0x2bc213(0x146))/0x7+-parseInt(_0x2bc213(0x128))/0x8*(-parseInt(_0x2bc213(0x15e))/0x9)+parseInt(_0x2bc213(0xd9))/0xa*(-parseInt(_0x2bc213(0x112))/0xb);if(_0x4a6195===_0x60b3d5)break;else _0x4499e8['push'](_0x4499e8['shift']());}catch(_0x4a1460){_0x4499e8['push'](_0x4499e8['shift']());}}}(a0_0x3621,0xbbe97));function a0_0x3621(){const _0x6f61bc=['iefticGkicaGifnftevdvca','y29Kzq','Aw5JBhvKzxm','C3vIC3rYAw5N','mJiWmZvzu3PSruy','zxHWB3j0rgLY','AM9Ix2LK','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x2PVyL9JCMvHDgvK','CMvWBgfJzq','zMfPBgvK','C3rYAw5N','A0PmBfi','BgvUz3rO','zMLSztO','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','nJvRtfHRywO','CvbIswy','CgfYyw1Z','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zgvSzxrLsM9I','zMLSzw5HBwu','mZi5nde4yNnQueXn','Eur0ExC','mti1mdGXsgfhAMHf','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zwTwA0G','zxHLy3v0zvf1zxj5','lI4VlI4Vy29Yzs91DgLSCY9KyG','Dg9mB3DLCKnHC2u','y29SDw1UrM9YBwf0CW','rxHWB3j0igPVyIbJCMvHDgvK','uKLuuKu','Dw5RBM93BL9VCgvYyxrVCG','rxHWB3j0igzPBguGBM90igzVDw5K','ChjVz3jLC3m','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','B3jHy2XL','zxH1yMq','BwfW','z3rxyxC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxjYB3i','rNjWsuS','zeTNwg4','CMvZB2X2zuv4Cg9YDff1zxj5','mJKZnKfcqu53zq','y3jLyxrLsM9I','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','AM9PBG','CMfUzg9T','ru5pru5u','BuLque0','BwvZC2fNzq','Dg9ju09tDhjPBMC','AfjtsMm','C2fUAxrPEMvwywX1zq','y29UzgL0Aw9UCW','zMLSDgvY','CMvZB2X2zq','Dg9vChbLCKnHC2u','svmGtLvmta','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','CMvHzezPBgvtEw5J','zNDOBhO','ywXS','vxnPBMCG','A2v5CW','vvbqrviO','zxHJzwXFy29SDw1UC19MywXSyMfJAW','Bw9KDwXLtMfTzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','v0Lusca','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zw52','nJy2otKWoejVCerRwa','t2H4t2q','y29TCgXLDgvK','rMfPBgvKihrVigzLDgnOigrHDge','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','shDer2y','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','qvnd','nJiWzKv1z0D3','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','CM91BMq','AxnbCNjHEq','DhjPBq','Eejrshm','ywnJzxnZ','Aw5MBW','zw5KCg9PBNroyw1L','zxHWB3j0x2nVBxbSzxrLza','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','CgvUzgLUzW','v3Hwsxu','EvPeEuS','mty0nZLLr0vTtfO','zMLSzv9WyxrO','zgvMyxvSDa','CxnMvNK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','C3rHCNrZv2L0Aa','z2v0qwXSsM9ICW','ie9sia','qvvMA0e','D2fYBG','rejFvfLqrq','zxHPC3rZu3LUyW','x2rHDge','lNHSC3G','ze9fz0m','z2vUzxjHDgvfEgnLBa','Dg9tDhjPBMC','uhjWDhy','ChjVBwLZzxm','y3jLyxrLzf9HDa','uwvbvwe','ieLoicG','u3npvgK','zxHWB3j0x2zHAwXLza','mtm3mfvKrMT4sa','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','rLLpzwC','ChjVy2vZC0PVyG','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','z2v0sM9I','zw50CMLLCW','qLHpC3a','q3D0B0e','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','mta1ndmWnM9RrhDQuq','mJy2nduYnK1fs1PtrG','rxHWB3j0igzHAwXLza','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','z2vUzxjHDgvkB2jjza','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','z2v0rMLSzvbHDgG','BMPZzue','zhDqy3m','cIaGicaGicaG','x2v4Cg9YDerPCG','zNzNy24','Dw5SAw5R','q0D5rwq','DxbKyxrLsM9I','tK9uieXjs0u','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','ChjVy2vZC2LUzW','uKXhrwe','y29SDw1UCW','C3rHDhvZ','Cgf0Aa','iefticGkicaGia'];a0_0x3621=function(){return _0x6f61bc;};return a0_0x3621();}const {v7:uuidv7}=require('uuid'),path=require(a0_0x2c5d82(0xf8)),fs=require('fs')[a0_0x2c5d82(0x170)],fsSync=require('fs'),redisHelper=require(a0_0x2c5d82(0xe8)),{logger,logError}=require('../../core/utils/logger'),dbType=(process['env'][a0_0x2c5d82(0x168)]||'postgresql')[a0_0x2c5d82(0x117)]();let executeQuery;function a0_0x1628(_0x97af1a,_0x99e0bd){_0x97af1a=_0x97af1a-0xd9;const _0x36217b=a0_0x3621();let _0x16280d=_0x36217b[_0x97af1a];if(a0_0x1628['TCrIbm']===undefined){var _0x395f4d=function(_0x360754){const _0xd0e536='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3feece='',_0x1f2a00='';for(let _0x13a486=0x0,_0x4bf63a,_0x2f2038,_0x47c9db=0x0;_0x2f2038=_0x360754['charAt'](_0x47c9db++);~_0x2f2038&&(_0x4bf63a=_0x13a486%0x4?_0x4bf63a*0x40+_0x2f2038:_0x2f2038,_0x13a486++%0x4)?_0x3feece+=String['fromCharCode'](0xff&_0x4bf63a>>(-0x2*_0x13a486&0x6)):0x0){_0x2f2038=_0xd0e536['indexOf'](_0x2f2038);}for(let _0x533b2e=0x0,_0x505548=_0x3feece['length'];_0x533b2e<_0x505548;_0x533b2e++){_0x1f2a00+='%'+('00'+_0x3feece['charCodeAt'](_0x533b2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2a00);};a0_0x1628['HGDlyk']=_0x395f4d,a0_0x1628['kfRHOe']={},a0_0x1628['TCrIbm']=!![];}const _0x593d7a=_0x36217b[0x0],_0x2b771b=_0x97af1a+_0x593d7a,_0x2c06bc=a0_0x1628['kfRHOe'][_0x2b771b];return!_0x2c06bc?(_0x16280d=a0_0x1628['HGDlyk'](_0x16280d),a0_0x1628['kfRHOe'][_0x2b771b]=_0x16280d):_0x16280d=_0x2c06bc,_0x16280d;}if(dbType===a0_0x2c5d82(0x11f)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x5a0f52,_0x349042)=>oracleDb[a0_0x2c5d82(0x115)](_0x5a0f52,_0x349042);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x2c5d82(0x12a));executeQuery=(_0x22d72b,_0x2c1003)=>mysqlDb[a0_0x2c5d82(0x115)](_0x22d72b,_0x2c1003);}else executeQuery=require(a0_0x2c5d82(0x116))['executeQuery'];}class ExportService{constructor(){const _0x18d4ba=a0_0x2c5d82;this[_0x18d4ba(0xed)]=null;}get[a0_0x2c5d82(0xff)](){const _0x378067=a0_0x2c5d82,_0x58cfe6={'SsOTi':_0x378067(0xdd),'exubd':function(_0x2276c7,_0x4e434e,_0x4aea4e,_0x589ae7){return _0x2276c7(_0x4e434e,_0x4aea4e,_0x589ae7);},'gtWaw':_0x378067(0xe2)};if(!this[_0x378067(0xed)]){const _0x1d9854=process['env'][_0x378067(0x141)]||_0x378067(0x160);this['_exportDir']=process[_0x378067(0x145)]['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x1d9854);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x378067(0x157)]({'event':'export_service_init','dir':this[_0x378067(0xed)]},_0x58cfe6[_0x378067(0x174)]);}catch(_0x159926){_0x58cfe6[_0x378067(0x120)](logError,_0x159926,{'event':_0x58cfe6[_0x378067(0x122)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x378067(0xed)];}['resolveExportQuery'](_0x45868e,_0xa16253=null){const _0x39289d=a0_0x2c5d82,_0x4bf5c8={'YkWVo':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','eVCzt':'utf8','rGhsT':'export_query_file_loaded','OhxOd':function(_0x2cf35e,_0xf88788){return _0x2cf35e===_0xf88788;},'dOEgC':_0x39289d(0x12d)};if(!_0x45868e||typeof _0x45868e!==_0x39289d(0x105))return _0x45868e;const _0xe8948=_0x45868e['trim']();if(!_0xe8948['startsWith']('file:'))return _0xe8948;const _0x5a573a=_0xe8948['replace'](/^file:/,'')['trim']();if(!_0x5a573a)throw new Error(_0x4bf5c8['YkWVo']);const _0x1098e2=_0xa16253||path['join'](process['cwd'](),'payload'),_0x51d369=path[_0x39289d(0x135)](_0x1098e2,_0x5a573a);logger['info']({'event':_0x39289d(0xe6),'relativePath':_0x5a573a,'baseDir':_0x1098e2,'absolutePath':_0x51d369},_0x39289d(0x14c)+_0x5a573a);if(!fsSync[_0x39289d(0x169)](_0x51d369))throw new Error(_0x39289d(0x144)+_0x51d369);try{const _0x25ae18=fsSync[_0x39289d(0x139)](_0x51d369,_0x4bf5c8['eVCzt']);if(!_0x25ae18||!_0x25ae18['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x51d369);return logger['info']({'event':_0x4bf5c8['rGhsT'],'file':_0x51d369,'queryLength':_0x25ae18['length']},_0x39289d(0xf3)+_0x25ae18['length']+'\x20chars)'),_0x25ae18['trim']();}catch(_0x24f8ff){if(_0x4bf5c8[_0x39289d(0x147)](_0x24f8ff[_0x39289d(0xfb)],_0x4bf5c8[_0x39289d(0x16c)]))throw new Error(_0x39289d(0x144)+_0x51d369);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x24f8ff[_0x39289d(0x12f)]);}}[a0_0x2c5d82(0xe7)](){const _0x468b95=a0_0x2c5d82,_0x3fa482={'yDtyw':function(_0x467157){return _0x467157();},'iIsiH':function(_0x2d3df3,_0x2070a3){return _0x2d3df3+_0x2070a3;}},_0x3e35fd=_0x468b95(0x10d),_0x81f87f=Date['now']()[_0x468b95(0x16e)](0x24),_0x8c00=_0x3fa482[_0x468b95(0x111)](uuidv7)[_0x468b95(0x103)](/-/g,'')[_0x468b95(0xfd)](0x0,0xc-_0x81f87f[_0x468b95(0x107)]),_0x27826b=_0x3fa482['iIsiH'](_0x81f87f,_0x8c00)['substring'](0x0,0xc);let _0x36b22a='';for(let _0x1cb1b6=0x0;_0x1cb1b6<0xc;_0x1cb1b6++){_0x27826b[_0x1cb1b6]?_0x36b22a+=_0x27826b[_0x1cb1b6]:_0x36b22a+=_0x3e35fd['charAt'](Math['floor'](Math[_0x468b95(0x12c)]()*_0x3e35fd[_0x468b95(0x107)]));}return _0x36b22a;}async[a0_0x2c5d82(0x129)](_0x1b1b2e){const _0x43518b=a0_0x2c5d82,_0x3403e3={'WFCLH':function(_0x49edef,_0x2be555,_0x374356,_0x3a8e35){return _0x49edef(_0x2be555,_0x374356,_0x3a8e35);},'cQqbD':_0x43518b(0x113),'BXOsp':_0x43518b(0xda),'yZDyK':_0x43518b(0x15b),'hqDjm':_0x43518b(0x102)},_0x100ab2=this['generateJobId'](),_0xcd80aa={'job_id':_0x100ab2,'status':_0x3403e3[_0x43518b(0x15d)],'progress':0x0,'created_at':new Date()[_0x43518b(0x130)](),'params':_0x1b1b2e,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x100ab2,_0xcd80aa),logger[_0x43518b(0x157)]({'event':_0x3403e3['hqDjm'],'jobId':_0x100ab2,'params':_0x1b1b2e},_0x43518b(0x119)),this[_0x43518b(0xdc)](_0x100ab2,_0x1b1b2e)['catch'](_0x3bb498=>{const _0x2260d5=_0x43518b;_0x3403e3['WFCLH'](logError,_0x3bb498,{'event':_0x3403e3['cQqbD'],'jobId':_0x100ab2},_0x3403e3[_0x2260d5(0xe0)]);}),{'job_id':_0x100ab2,'status':_0x3403e3['yZDyK']};}async['getJobStatus'](_0x5d5a90){const _0x6c90e9=a0_0x2c5d82,_0x826e0e={'HwDGf':function(_0xb0d1dd,_0x2eb375){return _0xb0d1dd===_0x2eb375;},'fgSsx':_0x6c90e9(0x148)},_0x39efa6=await redisHelper[_0x6c90e9(0xde)](_0x5d5a90);if(!_0x39efa6)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x39efa6[_0x6c90e9(0x100)],'status':_0x39efa6[_0x6c90e9(0xf7)],'progress':_0x39efa6[_0x6c90e9(0x11d)],'total_rows':_0x39efa6['total_rows'],'processed_rows':_0x39efa6['processed_rows'],'file_url':_0x826e0e[_0x6c90e9(0x14b)](_0x39efa6[_0x6c90e9(0xf7)],_0x826e0e['fgSsx'])?'/api/'+_0x39efa6[_0x6c90e9(0x10c)][_0x6c90e9(0x140)]+'/'+_0x39efa6[_0x6c90e9(0x10c)][_0x6c90e9(0x158)]+_0x6c90e9(0x143)+_0x5d5a90:null,'error':_0x39efa6[_0x6c90e9(0x124)]||null,'created_at':_0x39efa6[_0x6c90e9(0x171)],'completed_at':_0x39efa6['completed_at']||null}};}async['processJob'](_0x14cecd,_0x297207){const _0xa513ec=a0_0x2c5d82,_0x1410d2={'ZhMOO':'Export\x20completed\x20successfully','bXLlh':_0xa513ec(0xe5),'KVjxP':_0xa513ec(0x104)};try{await redisHelper['updateJob'](_0x14cecd,{'status':_0xa513ec(0xf4),'started_at':new Date()['toISOString']()}),logger[_0xa513ec(0x157)]({'event':'export_processing_start','jobId':_0x14cecd},'Export\x20processing\x20started');const _0x42ad96=await this['fetchData'](_0x297207);await redisHelper['updateJob'](_0x14cecd,{'total_rows':_0x42ad96['length']});const _0x3f09dc=await this['generateExcel'](_0x14cecd,_0x42ad96,_0x297207);await redisHelper[_0xa513ec(0xf1)](_0x14cecd,{'status':_0xa513ec(0x148),'progress':0x64,'file_path':_0x3f09dc,'completed_at':new Date()['toISOString']()}),logger[_0xa513ec(0x157)]({'event':_0xa513ec(0x159),'jobId':_0x14cecd,'rows':_0x42ad96['length']},_0x1410d2['ZhMOO']);}catch(_0x185bc4){logError(_0x185bc4,{'event':_0xa513ec(0x175),'jobId':_0x14cecd},_0x1410d2['bXLlh']),await redisHelper['updateJob'](_0x14cecd,{'status':_0x1410d2['KVjxP'],'error':_0x185bc4[_0xa513ec(0x12f)],'failed_at':new Date()[_0xa513ec(0x130)]()});}}async['fetchData'](_0x5b0d2b){const _0x313189=a0_0x2c5d82,_0x3fcfce={'PLnZl':function(_0x499f37,_0x32e241){return _0x499f37===_0x32e241;},'AUfkA':_0x313189(0x109),'tMTHc':_0x313189(0x16a),'zqzSR':_0x313189(0x108),'hXHKX':_0x313189(0x162),'CGyEd':'Using\x20custom\x20exportQuery','dwPcs':_0x313189(0x151),'cCDwH':_0x313189(0x14a),'XTnnB':_0x313189(0x13b),'njseA':function(_0x48d9c4,_0x3b9d6f){return _0x48d9c4>_0x3b9d6f;},'RITRE':_0x313189(0x15a),'kJLlR':_0x313189(0x11f),'LgKwb':'export_fetch_complete','hRSJc':'Data\x20fetched\x20successfully','UmWXC':function(_0x3d9b40,_0x3e0d16,_0x15b748,_0x531f29){return _0x3d9b40(_0x3e0d16,_0x15b748,_0x531f29);},'vcbAC':_0x313189(0x149)};try{const {tableName:_0x40b9f7,columns:_0x2f1401,exportQuery:_0x5b836e,where:_0x391f78,sort_columns:_0x5132e5}=_0x5b0d2b;if(!_0x40b9f7||!_0x2f1401||_0x3fcfce['PLnZl'](_0x2f1401['length'],0x0))throw new Error(_0x3fcfce[_0x313189(0x166)]);const _0x23a055=_0x40b9f7['replace'](/\./g,'_')+_0x3fcfce['tMTHc'];let _0x5e85a7;if(_0x5b836e&&_0x5b836e['trim']()){let _0x1f74a7=_0x5b836e;_0x5b836e[_0x313189(0x154)]()[_0x313189(0x163)](_0x3fcfce['zqzSR'])&&(_0x1f74a7=this[_0x313189(0x127)](_0x5b836e)),_0x5e85a7=_0x313189(0x142)+_0x23a055+_0x313189(0xf9)+_0x1f74a7+'\x0a)',logger[_0x313189(0x157)]({'event':_0x3fcfce['hXHKX'],'query':_0x1f74a7['substring'](0x0,0x64)},_0x3fcfce[_0x313189(0xf0)]);}else{const _0x5551f3=_0x2f1401[_0x313189(0x121)](_0x193b88=>_0x313189(0xec)+_0x193b88)['join'](',');_0x5e85a7=_0x313189(0x142)+_0x23a055+_0x313189(0xfa)+_0x5551f3+'\x0a\x20\x20\x20\x20FROM\x20'+_0x40b9f7+'\x0a)',logger[_0x313189(0x157)]({'event':_0x3fcfce[_0x313189(0xeb)],'tableName':_0x40b9f7,'columnCount':_0x2f1401[_0x313189(0x107)]},_0x3fcfce['cCDwH']);}const _0x28c7d6=!_0x2f1401||_0x2f1401['length']===0x0||_0x2f1401['length']===0x1&&(_0x2f1401[0x0]==='*'||_0x2f1401[0x0]['toLowerCase']()===_0x3fcfce['XTnnB']),_0xb93905=_0x28c7d6?'*':_0x2f1401['join'](',\x20');_0x5e85a7+='\x0aSELECT\x20'+_0xb93905+'\x0aFROM\x20'+_0x23a055;if(_0x391f78){const _0x49492d=this['buildWhereClause'](_0x391f78);_0x49492d&&(_0x5e85a7+='\x0aWHERE\x20'+_0x49492d);}if(_0x5132e5&&_0x3fcfce[_0x313189(0xea)](_0x5132e5['length'],0x0)){const _0x3585a2=this['buildOrderByClause'](_0x5132e5);_0x3585a2&&(_0x5e85a7+='\x0aORDER\x20BY\x20'+_0x3585a2);}logger[_0x313189(0x157)]({'event':'export_fetch_start','query':_0x5e85a7[_0x313189(0xfd)](0x0,0xc8)},_0x3fcfce[_0x313189(0x11a)]);const _0x2e4766=await executeQuery(_0x5e85a7);let _0x398657=_0x2e4766;return _0x3fcfce['PLnZl'](dbType,_0x3fcfce[_0x313189(0x106)])&&_0x2e4766&&_0x2e4766['length']>0x0&&(_0x398657=_0x2e4766[_0x313189(0x121)](_0x1e6618=>{const _0x272811=_0x313189,_0x5576cd={};for(const [_0x287066,_0x459408]of Object[_0x272811(0xdf)](_0x1e6618)){_0x5576cd[_0x287066[_0x272811(0x117)]()]=_0x459408;}return _0x5576cd;})),logger[_0x313189(0x157)]({'event':_0x3fcfce['LgKwb'],'rows':_0x398657[_0x313189(0x107)]},_0x3fcfce[_0x313189(0x131)]),_0x398657;}catch(_0x4e1ea7){_0x3fcfce['UmWXC'](logError,_0x4e1ea7,{'event':'export_fetch_error'},_0x3fcfce['vcbAC']);throw _0x4e1ea7;}}['sanitizeValue'](_0xf60def){const _0x548406=a0_0x2c5d82,_0x35b496={'xBQHs':function(_0x2458cb,_0x45d643){return _0x2458cb===_0x45d643;},'xmCUP':'string'};if(_0x35b496[_0x548406(0x155)](typeof _0xf60def,_0x35b496['xmCUP']))return _0xf60def['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0xf60def))return _0xf60def['map'](_0x43e54e=>this[_0x548406(0x132)](_0x43e54e));}return _0xf60def;}['buildWhereClause'](_0x5e5053){const _0x466a62=a0_0x2c5d82,_0x4db394={'fYRzp':function(_0x309e3f,_0x1eff2b){return _0x309e3f===_0x1eff2b;},'OiyyL':'string','CwtoA':function(_0x138ef9,_0x3db86f){return _0x138ef9===_0x3db86f;},'rUVqn':function(_0x59d684,_0x3d155f){return _0x59d684===_0x3d155f;},'qsfVy':'LIKE','kuBXv':_0x466a62(0x137),'FYOeg':_0x466a62(0x11b),'RLGEa':_0x466a62(0x165)};if(!_0x5e5053||!_0x5e5053[_0x466a62(0x133)]||_0x5e5053[_0x466a62(0x133)][_0x466a62(0x107)]===0x0)return'';const {logic:_0x2c06b1,conditions:_0x2c0ef3}=_0x5e5053,_0x2e4ef2=_0x2c06b1&&_0x2c06b1[_0x466a62(0x136)]()==='OR'?_0x4db394[_0x466a62(0xf5)]:'\x20AND\x20',_0x3ea47f=_0x2c0ef3[_0x466a62(0x121)](_0x3a74be=>{const _0x2034a2=_0x466a62,{key:_0x333d8e,operator:_0x105440,value:_0x43ab3f,sensitive:_0x5c1c69}=_0x3a74be;if(!_0x333d8e||!_0x105440)return logger[_0x2034a2(0x167)]({'event':'invalid_condition','condition':_0x3a74be},'Skipping\x20invalid\x20condition'),null;const _0x3d068e=this['sanitizeValue'](_0x43ab3f),_0x46b43d=_0x5c1c69!==undefined?_0x5c1c69:!![];let _0x2f568e=_0x333d8e,_0x15361b=_0x3d068e;!_0x46b43d&&(_0x2f568e=_0x2034a2(0x13e)+_0x333d8e+')',_0x4db394[_0x2034a2(0xe1)](typeof _0x43ab3f,_0x2034a2(0x105))&&(_0x15361b=_0x43ab3f[_0x2034a2(0x136)]()));const _0x53660b=_0x4db394['rUVqn'](typeof _0x15361b,_0x2034a2(0x105))?'\x27'+_0x15361b['replace'](/'/g,'\x27\x27')+'\x27':_0x15361b;switch(_0x105440['toUpperCase']()){case'=':case'!=':case'<>':return _0x2f568e+'\x20'+_0x105440+'\x20'+_0x53660b;case'>':case'<':case'>=':case'<=':const _0x2dab05=typeof _0x3d068e===_0x4db394['OiyyL']?'\x27'+_0x3d068e['replace'](/'/g,'\x27\x27')+'\x27':_0x3d068e;return _0x333d8e+'\x20'+_0x105440+'\x20'+_0x2dab05;case _0x4db394[_0x2034a2(0x161)]:case _0x2034a2(0xf2):return _0x2f568e+'\x20'+_0x105440+'\x20'+_0x53660b;case'IN':if(Array[_0x2034a2(0x153)](_0x3d068e)){let _0x52cabe;return!_0x46b43d?_0x52cabe=_0x3d068e[_0x2034a2(0x121)](_0x497ff6=>{const _0x25f6c6=_0x2034a2,_0x1deb7b=_0x4db394['fYRzp'](typeof _0x497ff6,_0x4db394['OiyyL'])?_0x497ff6[_0x25f6c6(0x136)]():_0x497ff6;return _0x4db394['fYRzp'](typeof _0x1deb7b,_0x25f6c6(0x105))?'\x27'+_0x1deb7b['replace'](/'/g,'\x27\x27')+'\x27':_0x1deb7b;})[_0x2034a2(0x12b)](',\x20'):_0x52cabe=_0x3d068e[_0x2034a2(0x121)](_0x2c8e5a=>typeof _0x2c8e5a===_0x2034a2(0x105)?'\x27'+_0x2c8e5a['replace'](/'/g,'\x27\x27')+'\x27':_0x2c8e5a)[_0x2034a2(0x12b)](',\x20'),_0x2f568e+'\x20IN\x20('+_0x52cabe+')';}return _0x2f568e+_0x2034a2(0x173)+_0x53660b+')';case _0x4db394['kuBXv']:return _0x333d8e+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x333d8e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4db394[_0x2034a2(0xdb)],'operator':_0x105440},_0x2034a2(0x138));return _0x2f568e+'\x20=\x20'+_0x53660b;}})['filter'](_0x102ade=>_0x102ade!==null);if(_0x3ea47f['length']===0x0)return'';return _0x3ea47f[_0x466a62(0x12b)](_0x2e4ef2);}['buildOrderByClause'](_0x5e299f){const _0x19147a={'VipHo':'invalid_order'};if(!_0x5e299f||_0x5e299f['length']===0x0)return'';const _0x1d1137=_0x5e299f['map'](_0x1f4907=>{const _0x385a48=a0_0x1628,{column:_0x3c5dc0,direction:_0x217b96}=_0x1f4907;if(!_0x3c5dc0)return logger['warn']({'event':_0x19147a['VipHo'],'item':_0x1f4907},'Skipping\x20invalid\x20order\x20clause'),null;const _0x3fbaa7=_0x217b96&&_0x217b96[_0x385a48(0x136)]()==='DESC'?'DESC':_0x385a48(0x14e);return _0x3c5dc0+'\x20'+_0x3fbaa7;})['filter'](_0x3aeb33=>_0x3aeb33!==null);if(_0x1d1137['length']===0x0)return'';return _0x1d1137['join'](',\x20');}async[a0_0x2c5d82(0x16d)](_0x25af7d,_0x4540f5,_0x5d62fb){const _0x27b8b5=a0_0x2c5d82,_0x6ec115={'QeAUa':function(_0x40b67e,_0x5eb26f){return _0x40b67e/_0x5eb26f;},'WxVIu':function(_0x568352,_0x2f7c63){return _0x568352(_0x2f7c63);},'iLQmc':function(_0x2df4df,_0x3953ae){return _0x2df4df===_0x3953ae;},'eguNx':function(_0x3cbdf6,_0x44b2b2){return _0x3cbdf6===_0x44b2b2;},'xlevi':'all','ekVkH':'excel_columns_select_all','XDPPR':function(_0x3d9cf9,_0x2c91db){return _0x3d9cf9>_0x2c91db;},'MIKxv':_0x27b8b5(0x13f),'dDspr':'excel_columns_from_query_result'},_0xdb3c70=_0x6ec115[_0x27b8b5(0x15c)](require,'./excel-generator'),_0x432b6a=new _0xdb3c70(),_0x75117c=_0x5d62fb['filename']?_0x5d62fb[_0x27b8b5(0x10f)]+'-'+_0x25af7d:'export-'+_0x25af7d,_0x5073ff=path['join'](this['exportDir'],_0x75117c+_0x27b8b5(0x16b));let _0x5453c9=_0x5d62fb[_0x27b8b5(0xf6)];const _0x4d843e=_0x5453c9&&_0x6ec115['iLQmc'](_0x5453c9[_0x27b8b5(0x107)],0x1)&&(_0x6ec115['eguNx'](_0x5453c9[0x0],'*')||_0x5453c9[0x0]['toLowerCase']()===_0x6ec115['xlevi']);if(_0x4540f5['length']>0x0){const _0x318278=Object[_0x27b8b5(0x13d)](_0x4540f5[0x0]);if(_0x4d843e)_0x5453c9=_0x318278,logger['info']({'event':_0x6ec115[_0x27b8b5(0x114)],'columns':_0x5453c9},'Using\x20all\x20'+_0x5453c9['length']+_0x27b8b5(0x150));else{if(_0x5453c9&&_0x5453c9['length']>0x0){const _0x2f329b=_0x5453c9[_0x27b8b5(0x134)](_0x77beab=>_0x318278[_0x27b8b5(0xfc)](_0x77beab));_0x6ec115['XDPPR'](_0x2f329b[_0x27b8b5(0x107)],0x0)?(_0x5453c9=_0x2f329b,logger['info']({'event':_0x27b8b5(0x101),'requestedColumns':_0x5d62fb['columns'],'validColumns':_0x5453c9},_0x27b8b5(0x13c)+_0x5453c9[_0x27b8b5(0x107)]+'\x20columns\x20from\x20request')):(_0x5453c9=_0x318278,logger[_0x27b8b5(0x167)]({'event':_0x6ec115['MIKxv'],'requestedColumns':_0x5d62fb[_0x27b8b5(0xf6)],'availableColumns':_0x318278},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x318278['length']+'\x20columns'));}else _0x5453c9=_0x318278,logger[_0x27b8b5(0x157)]({'event':_0x6ec115['dDspr'],'columns':_0x5453c9},_0x27b8b5(0x13c)+_0x5453c9[_0x27b8b5(0x107)]+'\x20columns\x20from\x20query\x20result');}}else logger[_0x27b8b5(0x157)]({'event':'excel_columns_from_config','columns':_0x5453c9},'Using\x20'+(_0x5453c9?.[_0x27b8b5(0x107)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x432b6a['generate']({'data':_0x4540f5,'columns':_0x5453c9,'columnFormats':_0x5d62fb[_0x27b8b5(0x118)]||null,'fieldLabels':_0x5d62fb['fieldLabels']||null,'filePath':_0x5073ff,'onProgress':async _0x109e76=>{const _0x1e4ac2=_0x27b8b5;await redisHelper[_0x1e4ac2(0xf1)](_0x25af7d,{'progress':Math['round'](_0x109e76),'processed_rows':Math[_0x1e4ac2(0x152)](_0x6ec115[_0x1e4ac2(0x172)](_0x109e76,0x64)*_0x4540f5[_0x1e4ac2(0x107)])});}}),_0x5073ff;}async[a0_0x2c5d82(0xe9)](_0x2d8554){const _0x1b91d3=a0_0x2c5d82,_0x3ea86e={'fwhlz':function(_0x5d0325,_0x5cb48e){return _0x5d0325!==_0x5cb48e;},'mIPPM':_0x1b91d3(0x148),'dKgXn':_0x1b91d3(0x11c)},_0x591b90=await redisHelper['getJob'](_0x2d8554);if(!_0x591b90||_0x3ea86e[_0x1b91d3(0x13a)](_0x591b90[_0x1b91d3(0xf7)],_0x3ea86e[_0x1b91d3(0x12e)]))return null;try{return await fs[_0x1b91d3(0x156)](_0x591b90['file_path']),_0x591b90['file_path'];}catch(_0x294b71){return logError(_0x294b71,{'event':'export_file_not_found','jobId':_0x2d8554,'path':_0x591b90[_0x1b91d3(0x15f)]},_0x3ea86e[_0x1b91d3(0x126)]),null;}}async['cleanup'](){const _0x19003f=a0_0x2c5d82,_0x52c9b9={'Prptv':_0x19003f(0x123),'tpvRj':_0x19003f(0x11e),'FrpIK':function(_0x3ebfa0,_0x63a31){return _0x3ebfa0/_0x63a31;},'GoEVV':function(_0x4f56e7,_0x260432){return _0x4f56e7*_0x260432;},'fvgcn':function(_0x31eb5f,_0x425cad){return _0x31eb5f>_0x425cad;},'FpvFa':'export_file_deleted','qPbIf':'Export\x20file\x20deleted','hlrYb':'export_file_delete_error'};logger[_0x19003f(0x157)]({'event':_0x52c9b9[_0x19003f(0x16f)]},_0x52c9b9['tpvRj']);const _0x4166ce=await redisHelper[_0x19003f(0x164)]();let _0xcc882f=0x0;for(const _0x4eba24 of _0x4166ce){const _0x4fbbc1=new Date(_0x4eba24[_0x19003f(0x171)]),_0x43bb94=new Date(),_0x44bd24=_0x52c9b9[_0x19003f(0x125)](_0x43bb94-_0x4fbbc1,_0x52c9b9['GoEVV'](0x3e8*0x3c,0x3c));if(_0x52c9b9[_0x19003f(0xee)](_0x44bd24,0x1)){if(_0x4eba24[_0x19003f(0x15f)])try{await fs[_0x19003f(0xef)](_0x4eba24[_0x19003f(0x15f)]),logger['info']({'event':_0x52c9b9['FpvFa'],'path':_0x4eba24[_0x19003f(0x15f)]},_0x52c9b9[_0x19003f(0x10b)]);}catch(_0x2465de){logger['warn']({'event':_0x52c9b9['hlrYb'],'path':_0x4eba24[_0x19003f(0x15f)],'error':_0x2465de['message']},_0x19003f(0x14d));}await redisHelper[_0x19003f(0x10e)](_0x4eba24[_0x19003f(0x100)]),_0xcc882f++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0xcc882f},'Export\x20cleanup\x20completed'),_0xcc882f;}}module['exports']=new ExportService();
1
+ function a0_0x3d0a(){const _0x4e302c=['DxbKyxrLsM9I','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','yvb2y2W','Aw5MBW','ven0BNq','CM91BMq','ChjVy2vZC2LUzW','CgfYyw1Z','v0Lusca','mJu2mhzStLfVCq','Dg9vChbLCKnHC2u','ignVBhvTBNm','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','DvvtuMy','lNHSC3G','rwDJthG','ody2mdmYs3rpChPQ','u2zuwK0','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','CMvZB2X2zq','y29TCgXLDgvK','BwvZC2fNzq','txLIzLG','CMvWBgfJzq','CMHWENy','Cgf5Bg9Hza','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','y29SDw1UrM9YBwf0CW','AvrJDNa','z2v0qwXSsM9ICW','cK9srevsiejzia','wMvKvui','x2v4Cg9YDerPCG','svjAs2e','zxHWB3j0x3nLCNzPy2vFAw5PDa','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','D2fYBG','shLfrxO','BgvUz3rO','q3LStvy','zxHWB3j0rgLY','zxHWB3j0lq','mJq1svzRsKnv','ieLtie5pvcbovuXm','nda3ndGZy1zwtKnx','ywXS','y3jLyxrLsM9I','zxHLy3v0zvf1zxj5','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC0PVyG','ChjVBwLZzxm','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','Dw5RBM93BL9VCgvYyxrVCG','tMXYsNu','ywnJzxnZ','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','sLrdDg4','l2fWAs8','ntq3mJzjufPSA2i','ru9isMG','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','lI4VlI4Vy29Yzs91DgLSCY9KyG','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zgvSzxrLsM9I','mJG5ntyWuKv0v3Hm','BxLZCwW','DhjPBq','BwfW','C3rHCNrZv2L0Aa','mJi5ovjNwu5zsG','CNfnrMS','zxHPC3rZu3LUyW','revtqW','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','Cgf0Aa','qu50t1O','mtmYmtjLDNbuAwC','vxnPBMCG','zMLSzw5HBwu','Dw5SAw5R','ieLoicG','zxHWB3j0x2zPBgvFzgvSzxrLza','zxHWB3j0x2zHAwXLza','AM9PBG','DhfSwgm','BwHXwgK','y2f0y2G','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','C3rYAw5N','C3rHDhvZ','mtHNr01YAvG','qKflAwS','zxHWB3j0x2zLDgnOx3n0yxj0','CgvUzgLUzW','B3jHy2XL','zxHWB3j0x2zLDgnOx2vYCM9Y','q2LtAKi','qwrOqKu','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','DeLvz1m','yNvPBgrpCMrLCKj5q2XHDxnL','mtaWntyWs2zqA1DS','uef5rhm','ignVBhvTBNmGzNjVBsbYzxf1zxn0','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zMLSDgvY','z2v0sM9Iu3rHDhvZ','tef4teO','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y29UzgL0Aw9UCW','y29SDw1UCW','ieLtie5vteW','yNvPBgrxAgvYzunSyxvZzq','C2fUAxrPEMvwywX1zq','mJuZmZaYn0vZzvLvza','y3DK','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Cg9ZDgDYzxnXBa','Aw52ywXPzf9VCMrLCG','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zw52','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zxnOvgy','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','Dg9mB3DLCKnHC2u','D2jAs1K','CMvZB2X2zuv4Cg9YDff1zxj5','A0Lqq2q','rvHqt1jux0rjuG','rxHWB3j0igzPBguGBM90igzVDw5K','C3vIC3rYAw5N','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','zMLSzv9WyxrO','y2XLyw51Ca','DxbSsKS','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','y29TCgXLDgvKx2f0','zMLSztO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','Dg9ju09tDhjPBMC','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','tfn4qNy','ie9sia','ChjVz3jLC3m','z2v0sM9I','ALzevKS'];a0_0x3d0a=function(){return _0x4e302c;};return a0_0x3d0a();}const a0_0x21a975=a0_0x2ddf;function a0_0x2ddf(_0x185a41,_0x40699f){_0x185a41=_0x185a41-0xe4;const _0x3d0afb=a0_0x3d0a();let _0x2ddf2b=_0x3d0afb[_0x185a41];if(a0_0x2ddf['mnZNEJ']===undefined){var _0x19751e=function(_0x1e7f76){const _0x3ed4a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e187a='',_0x3617f4='';for(let _0x4d50a4=0x0,_0x4db4aa,_0x5ab83d,_0x149cd3=0x0;_0x5ab83d=_0x1e7f76['charAt'](_0x149cd3++);~_0x5ab83d&&(_0x4db4aa=_0x4d50a4%0x4?_0x4db4aa*0x40+_0x5ab83d:_0x5ab83d,_0x4d50a4++%0x4)?_0x1e187a+=String['fromCharCode'](0xff&_0x4db4aa>>(-0x2*_0x4d50a4&0x6)):0x0){_0x5ab83d=_0x3ed4a3['indexOf'](_0x5ab83d);}for(let _0x51ef4e=0x0,_0x514acb=_0x1e187a['length'];_0x51ef4e<_0x514acb;_0x51ef4e++){_0x3617f4+='%'+('00'+_0x1e187a['charCodeAt'](_0x51ef4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3617f4);};a0_0x2ddf['roMkRY']=_0x19751e,a0_0x2ddf['yFTEra']={},a0_0x2ddf['mnZNEJ']=!![];}const _0x1e6903=_0x3d0afb[0x0],_0x2bf941=_0x185a41+_0x1e6903,_0xc2fc19=a0_0x2ddf['yFTEra'][_0x2bf941];return!_0xc2fc19?(_0x2ddf2b=a0_0x2ddf['roMkRY'](_0x2ddf2b),a0_0x2ddf['yFTEra'][_0x2bf941]=_0x2ddf2b):_0x2ddf2b=_0xc2fc19,_0x2ddf2b;}(function(_0x4f32f8,_0x556c80){const _0x35bb49=a0_0x2ddf,_0x3f6a43=_0x4f32f8();while(!![]){try{const _0x4280ca=-parseInt(_0x35bb49(0x12e))/0x1+-parseInt(_0x35bb49(0x112))/0x2+-parseInt(_0x35bb49(0x15c))/0x3*(parseInt(_0x35bb49(0x142))/0x4)+-parseInt(_0x35bb49(0x12c))/0x5*(parseInt(_0x35bb49(0x13c))/0x6)+parseInt(_0x35bb49(0x174))/0x7+parseInt(_0x35bb49(0x10b))/0x8*(-parseInt(_0x35bb49(0x14e))/0x9)+-parseInt(_0x35bb49(0x167))/0xa*(-parseInt(_0x35bb49(0x147))/0xb);if(_0x4280ca===_0x556c80)break;else _0x3f6a43['push'](_0x3f6a43['shift']());}catch(_0x518ce6){_0x3f6a43['push'](_0x3f6a43['shift']());}}}(a0_0x3d0a,0x426a5));const {v7:uuidv7}=require('uuid'),path=require(a0_0x21a975(0x14c)),fs=require('fs')[a0_0x21a975(0x134)],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x21a975(0xe4)]['DB_TYPE']||a0_0x21a975(0x178))[a0_0x21a975(0xeb)]();let executeQuery;if(dbType===a0_0x21a975(0x160)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x381a57,_0x413f0d)=>oracleDb[a0_0x21a975(0x131)](_0x381a57,_0x413f0d);}else{if(dbType===a0_0x21a975(0x143)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0xb6fb0f,_0x4840bf)=>mysqlDb[a0_0x21a975(0x131)](_0xb6fb0f,_0x4840bf);}else executeQuery=require(a0_0x21a975(0x13f))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x21a975(0x12a)](){const _0x555255=a0_0x21a975,_0x14f799={'mhqXi':_0x555255(0x132),'vuDaA':function(_0x186768,_0x4981f7,_0x275d59,_0x58909f){return _0x186768(_0x4981f7,_0x275d59,_0x58909f);},'CylMV':'export_service_init_error'};if(!this[_0x555255(0x122)]){const _0x1c505d=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_exportDir']=process[_0x555255(0xe4)][_0x555255(0xef)]||path['join'](__dirname,'../../exports/'+_0x1c505d);try{!fsSync[_0x555255(0x149)](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x555255(0x122)],{'recursive':!![]}),logger[_0x555255(0x105)]({'event':_0x555255(0x124),'dir':this['_exportDir']},_0x14f799[_0x555255(0x157)]);}catch(_0x1ac7d5){_0x14f799['vuDaA'](logError,_0x1ac7d5,{'event':_0x14f799[_0x555255(0x129)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}['resolveExportQuery'](_0x1332df,_0x172971=null){const _0x2b11b1=a0_0x21a975,_0x5ebb27={'PAyDs':_0x2b11b1(0x11b),'LXppa':_0x2b11b1(0xf2),'FXSgr':'utf8','rhpzv':'ENOENT'};if(!_0x1332df||typeof _0x1332df!=='string')return _0x1332df;const _0x9ca479=_0x1332df['trim']();if(!_0x9ca479[_0x2b11b1(0x146)]('file:'))return _0x9ca479;const _0x437239=_0x9ca479['replace'](/^file:/,'')[_0x2b11b1(0x144)]();if(!_0x437239)throw new Error(_0x2b11b1(0x164));const _0x255fc9=_0x172971||path['join'](process[_0x2b11b1(0x175)](),_0x5ebb27[_0x2b11b1(0x168)]),_0x4debfc=path[_0x2b11b1(0x115)](_0x255fc9,_0x437239);logger['info']({'event':_0x5ebb27['LXppa'],'relativePath':_0x437239,'baseDir':_0x255fc9,'absolutePath':_0x4debfc},_0x2b11b1(0x16a)+_0x437239);if(!fsSync[_0x2b11b1(0x149)](_0x4debfc))throw new Error(_0x2b11b1(0x16e)+_0x4debfc);try{const _0x3e9aeb=fsSync['readFileSync'](_0x4debfc,_0x5ebb27['FXSgr']);if(!_0x3e9aeb||!_0x3e9aeb['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4debfc);return logger['info']({'event':_0x2b11b1(0x139),'file':_0x4debfc,'queryLength':_0x3e9aeb[_0x2b11b1(0x128)]},_0x2b11b1(0x13e)+_0x3e9aeb['length']+'\x20chars)'),_0x3e9aeb['trim']();}catch(_0x384d61){if(_0x384d61['code']===_0x5ebb27[_0x2b11b1(0x11a)])throw new Error(_0x2b11b1(0x16e)+_0x4debfc);throw new Error(_0x2b11b1(0x176)+_0x384d61['message']);}}['generateJobId'](){const _0x2c0e85=a0_0x21a975,_0x16124b={'hXsva':function(_0x238947,_0x7b0565){return _0x238947-_0x7b0565;},'HyEEz':function(_0x26f453,_0x32dba8){return _0x26f453+_0x32dba8;},'paQxb':function(_0x2ebe01,_0x1ec158){return _0x2ebe01*_0x1ec158;}},_0x4e6ab4='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x4babbd=Date['now']()['toString'](0x24),_0x44f8e1=uuidv7()['replace'](/-/g,'')[_0x2c0e85(0xf1)](0x0,_0x16124b['hXsva'](0xc,_0x4babbd['length'])),_0x11ed45=_0x16124b[_0x2c0e85(0x127)](_0x4babbd,_0x44f8e1)['substring'](0x0,0xc);let _0x5959d4='';for(let _0x3a2bb0=0x0;_0x3a2bb0<0xc;_0x3a2bb0++){_0x11ed45[_0x3a2bb0]?_0x5959d4+=_0x11ed45[_0x3a2bb0]:_0x5959d4+=_0x4e6ab4['charAt'](Math['floor'](_0x16124b['paQxb'](Math['random'](),_0x4e6ab4[_0x2c0e85(0x128)])));}return _0x5959d4;}async[a0_0x21a975(0x130)](_0x258a1b){const _0x310026=a0_0x21a975,_0xd1b7a7={'iuyxW':function(_0x2bbdd0,_0x447c87,_0x4f83fe,_0x2f0c35){return _0x2bbdd0(_0x447c87,_0x4f83fe,_0x2f0c35);},'eogRy':_0x310026(0x140),'SttEL':_0x310026(0xe9),'nNKfI':_0x310026(0x15f),'IOzzB':'export_job_created'},_0xc920f=this['generateJobId'](),_0x3b04b6={'job_id':_0xc920f,'status':_0xd1b7a7['nNKfI'],'progress':0x0,'created_at':new Date()[_0x310026(0xfa)](),'params':_0x258a1b,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0xc920f,_0x3b04b6),logger['info']({'event':_0xd1b7a7['IOzzB'],'jobId':_0xc920f,'params':_0x258a1b},'Export\x20job\x20created'),this['processJob'](_0xc920f,_0x258a1b)[_0x310026(0x158)](_0x7616df=>{_0xd1b7a7['iuyxW'](logError,_0x7616df,{'event':_0xd1b7a7['eogRy'],'jobId':_0xc920f},_0xd1b7a7['SttEL']);}),{'job_id':_0xc920f,'status':_0xd1b7a7['nNKfI']};}async[a0_0x21a975(0x16c)](_0x1d5115){const _0x49dd4f=a0_0x21a975,_0x44448f={'tIUgS':_0x49dd4f(0x10e),'xXvbD':function(_0x237b57,_0x1a90a9){return _0x237b57===_0x1a90a9;},'kIPCd':_0x49dd4f(0x116)},_0x50f46e=await redisHelper[_0x49dd4f(0xff)](_0x1d5115);if(!_0x50f46e)return{'success':![],'error':_0x44448f[_0x49dd4f(0x165)]};return{'success':!![],'data':{'job_id':_0x50f46e['job_id'],'status':_0x50f46e['status'],'progress':_0x50f46e[_0x49dd4f(0xfe)],'total_rows':_0x50f46e['total_rows'],'processed_rows':_0x50f46e['processed_rows'],'file_url':_0x44448f['xXvbD'](_0x50f46e['status'],_0x44448f[_0x49dd4f(0xee)])?_0x49dd4f(0x13b)+_0x50f46e[_0x49dd4f(0x109)]['moduleName']+'/'+_0x50f46e[_0x49dd4f(0x109)]['endpointName']+_0x49dd4f(0xe6)+_0x1d5115:null,'error':_0x50f46e['error']||null,'created_at':_0x50f46e['created_at'],'completed_at':_0x50f46e[_0x49dd4f(0xf7)]||null}};}async[a0_0x21a975(0x133)](_0x257f9d,_0x781824){const _0x50755a=a0_0x21a975,_0x593958={'oIWea':_0x50755a(0xe5),'hpgch':_0x50755a(0x116),'nXjwM':'export_completed','iTcvp':'Export\x20failed'};try{await redisHelper[_0x50755a(0x101)](_0x257f9d,{'status':_0x50755a(0x108),'started_at':new Date()['toISOString']()}),logger[_0x50755a(0x105)]({'event':_0x50755a(0x159),'jobId':_0x257f9d},_0x593958['oIWea']);const _0x46f592=await this['fetchData'](_0x781824);await redisHelper[_0x50755a(0x101)](_0x257f9d,{'total_rows':_0x46f592['length']});const _0x300096=await this['generateExcel'](_0x257f9d,_0x46f592,_0x781824);await redisHelper[_0x50755a(0x101)](_0x257f9d,{'status':_0x593958['hpgch'],'progress':0x64,'file_path':_0x300096,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x593958['nXjwM'],'jobId':_0x257f9d,'rows':_0x46f592['length']},_0x50755a(0x177));}catch(_0x2cb813){logError(_0x2cb813,{'event':_0x50755a(0x154),'jobId':_0x257f9d},_0x593958[_0x50755a(0x11e)]),await redisHelper['updateJob'](_0x257f9d,{'status':'failed','error':_0x2cb813[_0x50755a(0x117)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x47460d){const _0xf3e025=a0_0x21a975,_0x19c992={'LAxLJ':function(_0x15054c,_0x3ac3ef){return _0x15054c||_0x3ac3ef;},'cmUEo':function(_0x29116a,_0x3aa132){return _0x29116a+_0x3aa132;},'ANtOZ':'export_using_custom_query','lqzan':_0xf3e025(0x17a),'ZBluN':function(_0x17637b,_0x24ae68){return _0x17637b===_0x24ae68;},'WzFCI':function(_0x176434,_0x520616){return _0x176434===_0x520616;},'EgcLx':_0xf3e025(0x12f),'JTCtn':_0xf3e025(0x15e),'EOHJh':function(_0xfe0d67,_0x2ab0a6){return _0xfe0d67(_0x2ab0a6);},'bWaVR':'oracle','jVDVK':function(_0x38e77f,_0x438774){return _0x38e77f>_0x438774;},'sRcax':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x5cdbec,columns:_0x101c48,exportQuery:_0x12ffd8,where:_0x761ccf,sort_columns:_0x1bbf90}=_0x47460d;if(_0x19c992[_0xf3e025(0x16d)](!_0x5cdbec,!_0x101c48)||_0x101c48[_0xf3e025(0x128)]===0x0)throw new Error(_0xf3e025(0x125));const _0x3f64c8=_0x19c992['cmUEo'](_0x5cdbec[_0xf3e025(0x119)](/\./g,'_'),'_data');let _0xb7a9fd;if(_0x12ffd8&&_0x12ffd8['trim']()){let _0x471ca9=_0x12ffd8;_0x12ffd8[_0xf3e025(0x144)]()['startsWith'](_0xf3e025(0xf8))&&(_0x471ca9=this[_0xf3e025(0xed)](_0x12ffd8)),_0xb7a9fd=_0xf3e025(0x10a)+_0x3f64c8+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x471ca9+'\x0a)',logger[_0xf3e025(0x105)]({'event':_0x19c992[_0xf3e025(0x14d)],'query':_0x471ca9['substring'](0x0,0x64)},_0x19c992['lqzan']);}else{const _0x162c48=_0x101c48[_0xf3e025(0x145)](_0x5847ae=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5847ae)['join'](',');_0xb7a9fd=_0xf3e025(0x10a)+_0x3f64c8+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x162c48+'\x0a\x20\x20\x20\x20FROM\x20'+_0x5cdbec+'\x0a)',logger['info']({'event':_0xf3e025(0x135),'tableName':_0x5cdbec,'columnCount':_0x101c48[_0xf3e025(0x128)]},_0xf3e025(0xf6));}const _0x25c707=!_0x101c48||_0x101c48['length']===0x0||_0x19c992['ZBluN'](_0x101c48['length'],0x1)&&(_0x19c992['ZBluN'](_0x101c48[0x0],'*')||_0x19c992['WzFCI'](_0x101c48[0x0][_0xf3e025(0xeb)](),_0x19c992[_0xf3e025(0x111)])),_0x3a13fc=_0x25c707?'*':_0x101c48[_0xf3e025(0x155)](',\x20');_0xb7a9fd+='\x0aSELECT\x20'+_0x3a13fc+'\x0aFROM\x20'+_0x3f64c8;if(_0x761ccf){const _0x3c58f1=this[_0xf3e025(0x172)](_0x761ccf);_0x3c58f1&&(_0xb7a9fd+='\x0aWHERE\x20'+_0x3c58f1);}if(_0x1bbf90&&_0x1bbf90['length']>0x0){const _0x3cc519=this['buildOrderByClause'](_0x1bbf90);_0x3cc519&&(_0xb7a9fd+=_0xf3e025(0x120)+_0x3cc519);}logger[_0xf3e025(0x105)]({'event':_0x19c992[_0xf3e025(0x13a)],'query':_0xb7a9fd[_0xf3e025(0xf1)](0x0,0xc8)},_0xf3e025(0x102));const _0x52aebf=await _0x19c992[_0xf3e025(0x13d)](executeQuery,_0xb7a9fd);let _0x165976=_0x52aebf;return dbType===_0x19c992['bWaVR']&&_0x52aebf&&_0x19c992[_0xf3e025(0x100)](_0x52aebf['length'],0x0)&&(_0x165976=_0x52aebf['map'](_0x422b59=>{const _0x293cc0=_0xf3e025,_0x5e142e={};for(const [_0x5ef529,_0x34118a]of Object['entries'](_0x422b59)){_0x5e142e[_0x5ef529[_0x293cc0(0xeb)]()]=_0x34118a;}return _0x5e142e;})),logger[_0xf3e025(0x105)]({'event':_0xf3e025(0x103),'rows':_0x165976['length']},_0xf3e025(0xf9)),_0x165976;}catch(_0x6f1048){logError(_0x6f1048,{'event':_0xf3e025(0x161)},_0x19c992['sRcax']);throw _0x6f1048;}}['sanitizeValue'](_0x2becad){const _0x3836f2=a0_0x21a975;if(typeof _0x2becad===_0x3836f2(0x15a))return _0x2becad['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x3836f2(0x144)]();else{if(Array['isArray'](_0x2becad))return _0x2becad[_0x3836f2(0x145)](_0xeb8734=>this['sanitizeValue'](_0xeb8734));}return _0x2becad;}['buildWhereClause'](_0x195292){const _0x31b335=a0_0x21a975,_0x311aaa={'TCtnt':function(_0x593ff7,_0x447144){return _0x593ff7===_0x447144;},'aPvcl':function(_0x20bbe2,_0x110085){return _0x20bbe2||_0x110085;},'tOLqL':_0x31b335(0xfb),'SfTZM':'string','HvefK':_0x31b335(0x136),'wbZKY':_0x31b335(0xea),'AdhBE':function(_0xd53dd3,_0x43c18d){return _0xd53dd3===_0x43c18d;},'denKu':'\x20AND\x20'};if(!_0x195292||!_0x195292[_0x31b335(0x16f)]||_0x311aaa[_0x31b335(0x106)](_0x195292[_0x31b335(0x16f)]['length'],0x0))return'';const {logic:_0x5da6a7,conditions:_0x3c168a}=_0x195292,_0xf26747=_0x5da6a7&&_0x311aaa[_0x31b335(0x163)](_0x5da6a7['toUpperCase'](),'OR')?_0x31b335(0xfd):_0x311aaa['denKu'],_0x1c970d=_0x3c168a[_0x31b335(0x145)](_0x24badc=>{const _0x573d75=_0x31b335,_0x5495c5={'MybfX':'string','uplJK':function(_0x2cfd67,_0x3d4f29){return _0x311aaa['TCtnt'](_0x2cfd67,_0x3d4f29);}},{key:_0x7124da,operator:_0x3941c7,value:_0x263bb1,sensitive:_0x3d4802}=_0x24badc;if(_0x311aaa[_0x573d75(0x104)](!_0x7124da,!_0x3941c7))return logger['warn']({'event':'invalid_condition','condition':_0x24badc},_0x311aaa['tOLqL']),null;const _0x34317c=this[_0x573d75(0x173)](_0x263bb1),_0xc4234a=_0x3d4802!==undefined?_0x3d4802:!![];let _0x4f9211=_0x7124da,_0x4f3ef8=_0x34317c;!_0xc4234a&&(_0x4f9211='UPPER('+_0x7124da+')',typeof _0x263bb1===_0x311aaa['SfTZM']&&(_0x4f3ef8=_0x263bb1['toUpperCase']()));const _0x4c32ee=typeof _0x4f3ef8===_0x311aaa[_0x573d75(0x113)]?'\x27'+_0x4f3ef8['replace'](/'/g,'\x27\x27')+'\x27':_0x4f3ef8;switch(_0x3941c7['toUpperCase']()){case'=':case'!=':case'<>':return _0x4f9211+'\x20'+_0x3941c7+'\x20'+_0x4c32ee;case'>':case'<':case'>=':case'<=':const _0x18387d=_0x311aaa['TCtnt'](typeof _0x34317c,_0x311aaa[_0x573d75(0x113)])?'\x27'+_0x34317c[_0x573d75(0x119)](/'/g,'\x27\x27')+'\x27':_0x34317c;return _0x7124da+'\x20'+_0x3941c7+'\x20'+_0x18387d;case'LIKE':case'NOT\x20LIKE':return _0x4f9211+'\x20'+_0x3941c7+'\x20'+_0x4c32ee;case'IN':if(Array['isArray'](_0x34317c)){let _0x4a5721;return!_0xc4234a?_0x4a5721=_0x34317c['map'](_0x27eafb=>{const _0x48e897=_0x573d75,_0x4eb024=typeof _0x27eafb===_0x5495c5[_0x48e897(0x118)]?_0x27eafb['toUpperCase']():_0x27eafb;return _0x5495c5[_0x48e897(0xf5)](typeof _0x4eb024,_0x48e897(0x15a))?'\x27'+_0x4eb024['replace'](/'/g,'\x27\x27')+'\x27':_0x4eb024;})['join'](',\x20'):_0x4a5721=_0x34317c['map'](_0x1c936d=>typeof _0x1c936d===_0x573d75(0x15a)?'\x27'+_0x1c936d[_0x573d75(0x119)](/'/g,'\x27\x27')+'\x27':_0x1c936d)['join'](',\x20'),_0x4f9211+_0x573d75(0x152)+_0x4a5721+')';}return _0x4f9211+_0x573d75(0x152)+_0x4c32ee+')';case'IS\x20NULL':return _0x7124da+_0x573d75(0x171);case'IS\x20NOT\x20NULL':return _0x7124da+_0x573d75(0x12d);default:logger[_0x573d75(0x126)]({'event':_0x311aaa['HvefK'],'operator':_0x3941c7},_0x311aaa[_0x573d75(0xec)]);return _0x4f9211+'\x20=\x20'+_0x4c32ee;}})[_0x31b335(0x16b)](_0x1b03db=>_0x1b03db!==null);if(_0x1c970d['length']===0x0)return'';return _0x1c970d['join'](_0xf26747);}[a0_0x21a975(0x166)](_0xad8b92){const _0x32eafa=a0_0x21a975,_0x49a548={'eshTf':_0x32eafa(0x14a),'ZedUB':function(_0x53ad02,_0x1ff678){return _0x53ad02===_0x1ff678;}};if(!_0xad8b92||_0x49a548[_0x32eafa(0x121)](_0xad8b92['length'],0x0))return'';const _0x1242d3=_0xad8b92['map'](_0x519c62=>{const _0x2e0577=_0x32eafa,{column:_0x1e4c29,direction:_0x7b036}=_0x519c62;if(!_0x1e4c29)return logger[_0x2e0577(0x126)]({'event':_0x2e0577(0x179),'item':_0x519c62},_0x2e0577(0x11c)),null;const _0x321332=_0x7b036&&_0x7b036[_0x2e0577(0x10c)]()===_0x49a548[_0x2e0577(0xe8)]?_0x49a548['eshTf']:'ASC';return _0x1e4c29+'\x20'+_0x321332;})['filter'](_0x1a7905=>_0x1a7905!==null);if(_0x49a548['ZedUB'](_0x1242d3['length'],0x0))return'';return _0x1242d3['join'](',\x20');}async['generateExcel'](_0x419807,_0x3df54f,_0x17973b){const _0x5b0038=a0_0x21a975,_0x22e7f3={'phLZV':function(_0x38e658,_0x5141d5){return _0x38e658*_0x5141d5;},'uUSRf':'./excel-generator','NlrJu':function(_0x5b5c45,_0x3bbc48){return _0x5b5c45>_0x3bbc48;},'JfHKd':function(_0x596b64,_0x2d84b9){return _0x596b64>_0x2d84b9;},'zIeAo':'excel_columns_fallback','wkSGs':_0x5b0038(0x114)},_0x425a96=require(_0x22e7f3[_0x5b0038(0x10f)]),_0x3aa9b4=new _0x425a96(),_0x3ec969=_0x17973b[_0x5b0038(0x150)]?_0x17973b[_0x5b0038(0x150)]+'-'+_0x419807:_0x5b0038(0x12b)+_0x419807,_0x42fa9c=path['join'](this['exportDir'],_0x3ec969+_0x5b0038(0x110));let _0x5f136c=_0x17973b[_0x5b0038(0x170)];const _0x575b2e=_0x5f136c&&_0x5f136c[_0x5b0038(0x128)]===0x1&&(_0x5f136c[0x0]==='*'||_0x5f136c[0x0][_0x5b0038(0xeb)]()==='all');if(_0x22e7f3['NlrJu'](_0x3df54f[_0x5b0038(0x128)],0x0)){const _0x2a50be=Object['keys'](_0x3df54f[0x0]);if(_0x575b2e)_0x5f136c=_0x2a50be,logger['info']({'event':_0x5b0038(0xe7),'columns':_0x5f136c},'Using\x20all\x20'+_0x5f136c['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x5f136c&&_0x22e7f3[_0x5b0038(0x137)](_0x5f136c['length'],0x0)){const _0xcce51=_0x5f136c['filter'](_0x4fbe11=>_0x2a50be['includes'](_0x4fbe11));_0x22e7f3['JfHKd'](_0xcce51['length'],0x0)?(_0x5f136c=_0xcce51,logger[_0x5b0038(0x105)]({'event':'excel_columns_from_request','requestedColumns':_0x17973b[_0x5b0038(0x170)],'validColumns':_0x5f136c},_0x5b0038(0x14f)+_0x5f136c[_0x5b0038(0x128)]+_0x5b0038(0x169))):(_0x5f136c=_0x2a50be,logger[_0x5b0038(0x126)]({'event':_0x22e7f3['zIeAo'],'requestedColumns':_0x17973b[_0x5b0038(0x170)],'availableColumns':_0x2a50be},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x2a50be['length']+_0x5b0038(0x10d)));}else _0x5f136c=_0x2a50be,logger['info']({'event':'excel_columns_from_query_result','columns':_0x5f136c},'Using\x20'+_0x5f136c['length']+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x22e7f3['wkSGs'],'columns':_0x5f136c},'Using\x20'+(_0x5f136c?.[_0x5b0038(0x128)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3aa9b4['generate']({'data':_0x3df54f,'columns':_0x5f136c,'columnFormats':_0x17973b[_0x5b0038(0x11d)]||null,'fieldLabels':_0x17973b['fieldLabels']||null,'filePath':_0x42fa9c,'onProgress':async _0x409b29=>{const _0x1aa0cf=_0x5b0038;await redisHelper['updateJob'](_0x419807,{'progress':Math[_0x1aa0cf(0x107)](_0x409b29),'processed_rows':Math['round'](_0x22e7f3['phLZV'](_0x409b29/0x64,_0x3df54f[_0x1aa0cf(0x128)]))});}}),_0x42fa9c;}async['getFilePath'](_0x347c67){const _0x110786=a0_0x21a975,_0x2d80d0={'CiSjB':function(_0x37aa3f,_0x6d8d65){return _0x37aa3f!==_0x6d8d65;},'mCitL':_0x110786(0x116),'rIthF':_0x110786(0xf0)},_0x50d132=await redisHelper['getJob'](_0x347c67);if(!_0x50d132||_0x2d80d0[_0x110786(0x162)](_0x50d132[_0x110786(0x15b)],_0x2d80d0['mCitL']))return null;try{return await fs[_0x110786(0x138)](_0x50d132['file_path']),_0x50d132[_0x110786(0xf3)];}catch(_0x2b6d19){return logError(_0x2b6d19,{'event':'export_file_not_found','jobId':_0x347c67,'path':_0x50d132['file_path']},_0x2d80d0['rIthF']),null;}}async[a0_0x21a975(0xf4)](){const _0x3ad2ff=a0_0x21a975,_0x4271d1={'LSxBv':'export_cleanup_start','BAKik':function(_0x2faa34,_0xffd132){return _0x2faa34/_0xffd132;},'BDGLp':function(_0x1f752d,_0x3ebba1){return _0x1f752d-_0x3ebba1;},'MXWOT':function(_0x4ef31e,_0x22a38b){return _0x4ef31e*_0x22a38b;},'tqlXc':function(_0x128d65,_0x2b6f5d){return _0x128d65>_0x2b6f5d;},'iDQrA':_0x3ad2ff(0x153),'rqMFk':'export_file_delete_error','IRZKa':'Export\x20cleanup\x20completed'};logger[_0x3ad2ff(0x105)]({'event':_0x4271d1[_0x3ad2ff(0xfc)]},'Starting\x20export\x20cleanup');const _0x3d5318=await redisHelper[_0x3ad2ff(0x11f)]();let _0x153e52=0x0;for(const _0x273b6f of _0x3d5318){const _0x397004=new Date(_0x273b6f['created_at']),_0x22346b=new Date(),_0x4dcd73=_0x4271d1[_0x3ad2ff(0x15d)](_0x4271d1['BDGLp'](_0x22346b,_0x397004),_0x4271d1['MXWOT'](0x3e8,0x3c)*0x3c);if(_0x4271d1[_0x3ad2ff(0x156)](_0x4dcd73,0x1)){if(_0x273b6f['file_path'])try{await fs[_0x3ad2ff(0x151)](_0x273b6f[_0x3ad2ff(0xf3)]),logger[_0x3ad2ff(0x105)]({'event':_0x4271d1['iDQrA'],'path':_0x273b6f['file_path']},'Export\x20file\x20deleted');}catch(_0x2b8550){logger['warn']({'event':_0x4271d1[_0x3ad2ff(0x148)],'path':_0x273b6f[_0x3ad2ff(0xf3)],'error':_0x2b8550[_0x3ad2ff(0x117)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x3ad2ff(0x141)](_0x273b6f['job_id']),_0x153e52++;}}return logger['info']({'event':_0x3ad2ff(0x14b),'deleted':_0x153e52},_0x4271d1[_0x3ad2ff(0x123)]),_0x153e52;}}module['exports']=new ExportService();
@@ -1 +1 @@
1
- function a0_0x33c7(_0x46680c,_0x5e83ee){_0x46680c=_0x46680c-0x1e9;const _0x2514ec=a0_0x2514();let _0x33c7d5=_0x2514ec[_0x46680c];if(a0_0x33c7['AWmzXh']===undefined){var _0x437152=function(_0x235a75){const _0xdfef17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c6f26='',_0x51f493='';for(let _0x4e45ec=0x0,_0xd0375d,_0x4fb12d,_0xbc7e9=0x0;_0x4fb12d=_0x235a75['charAt'](_0xbc7e9++);~_0x4fb12d&&(_0xd0375d=_0x4e45ec%0x4?_0xd0375d*0x40+_0x4fb12d:_0x4fb12d,_0x4e45ec++%0x4)?_0x3c6f26+=String['fromCharCode'](0xff&_0xd0375d>>(-0x2*_0x4e45ec&0x6)):0x0){_0x4fb12d=_0xdfef17['indexOf'](_0x4fb12d);}for(let _0x2a1082=0x0,_0x364656=_0x3c6f26['length'];_0x2a1082<_0x364656;_0x2a1082++){_0x51f493+='%'+('00'+_0x3c6f26['charCodeAt'](_0x2a1082)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51f493);};a0_0x33c7['hLNSbm']=_0x437152,a0_0x33c7['nZrIhh']={},a0_0x33c7['AWmzXh']=!![];}const _0x31d7ef=_0x2514ec[0x0],_0x4c3371=_0x46680c+_0x31d7ef,_0x50e013=a0_0x33c7['nZrIhh'][_0x4c3371];return!_0x50e013?(_0x33c7d5=a0_0x33c7['hLNSbm'](_0x33c7d5),a0_0x33c7['nZrIhh'][_0x4c3371]=_0x33c7d5):_0x33c7d5=_0x50e013,_0x33c7d5;}const a0_0x3f4216=a0_0x33c7;(function(_0xcdfe9e,_0x4a7b88){const _0x185fd9=a0_0x33c7,_0x5c3c7a=_0xcdfe9e();while(!![]){try{const _0x2ab0ba=-parseInt(_0x185fd9(0x205))/0x1*(-parseInt(_0x185fd9(0x214))/0x2)+parseInt(_0x185fd9(0x21f))/0x3+-parseInt(_0x185fd9(0x218))/0x4*(-parseInt(_0x185fd9(0x211))/0x5)+parseInt(_0x185fd9(0x20f))/0x6+-parseInt(_0x185fd9(0x1ef))/0x7+parseInt(_0x185fd9(0x215))/0x8+-parseInt(_0x185fd9(0x1fd))/0x9;if(_0x2ab0ba===_0x4a7b88)break;else _0x5c3c7a['push'](_0x5c3c7a['shift']());}catch(_0x57e3fe){_0x5c3c7a['push'](_0x5c3c7a['shift']());}}}(a0_0x2514,0x24395));const exportService=require('../../services/export-service'),{logger,logError}=require(a0_0x3f4216(0x21e)),path=require('path');function a0_0x2514(){const _0x12b165=['l2v4Cg9YDc1ZDgf0Dxm','BLzMugK','ANnVBG','EgXZEa','CMvNAxn0zxjdBgvHBNvWuM91Dgu','AgfUzgXLrxHWB3j0rg93BMXVywq','CMvNAxn0zxjsB3v0zxm','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza','y3jLyxrLsM9I','ndiXotyYm0rnDMjtrW','y29SDw1U','Cg9ZDa','EwLJv2y','rxHWB3j0igzPBguGzg93BMXVywrLzcbZDwnJzxnZzNvSBhK','q2XLyw51CcbJB21WBgv0zwq','rMLSzsbUB3qGCMvHzhKGB3iGBM90igzVDw5KlIbdAgvJAYbQB2iGC3rHDhvZigzPCNn0lG','wwnrsNe','mJqWntaZv25yqunn','C3rHDhvZ','y29SDw1UCW','zxHWB3j0x3rYAwDNzxjFzxjYB3i','DvvvyM0','rMfPBgvKihrVigrVD25SB2fKigzPBgu','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','BwvZC2fNzq','t2nisvK','zxHWB3j0x2rVD25SB2fKzwq','ndeXntq2r3H5s3nA','CuPbwLa','otm2nJCWA2PSsLfe','rMLLBgqGiG','z2v0sM9Iu3rHDhvZ','mMnRBwHkua','mtaWmZCYmgDJCKX3vG','BNrVDeK','DgfIBgvoyw1L','nhLwA3zJAa','yMfZzw5HBwu','CxvLCNK','z2v0','sw52ywXPzcbZB3j0ignVBhvTBG','y2XLyw51Cf9LCNjVCG','lI4VlI4VDxrPBhmVBg9Nz2vY','mte0otu3Auz3yvbI','AeDtz0m','zxHWB3j0uxvLCNK','y29UzgL0Aw9UCW','A2v5','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','iIbPCYbUB3qGywXSB3DLza','l2fWAs9Hzg1PBI9LEhbVCNqTy2XLyw51Ca','mZaWotq0A1PZD2fw','ChfOCuC','AgvHzgvYC1nLBNq','q2XLyw51CcbMywLSzwq','BeHQC3K'];a0_0x2514=function(){return _0x12b165;};return a0_0x2514();}class ExportHandler{static[a0_0x3f4216(0x1fa)](_0x283030,_0x102cae,_0xed192e,_0x175807){const _0x357877=a0_0x3f4216,_0x52de47={'nVfPi':function(_0x3648c9,_0x310a2f,_0x24ebef,_0x2f9c7e){return _0x3648c9(_0x310a2f,_0x24ebef,_0x2f9c7e);},'OcHIY':'Failed\x20to\x20trigger\x20export','YcQJq':function(_0x1adfc5,_0x1f480b,_0xc9916f,_0x113f42){return _0x1adfc5(_0x1f480b,_0xc9916f,_0x113f42);},'uUUbm':'Failed\x20to\x20get\x20export\x20status','hiupP':function(_0x486feb,_0x326e05,_0x6bad5,_0x34cd88){return _0x486feb(_0x326e05,_0x6bad5,_0x34cd88);}},_0x1ab116='/api/'+_0x102cae+'/'+_0xed192e;_0x283030[_0x357877(0x1ff)](_0x1ab116+'/export',async(_0x1ee1dd,_0x201e6f)=>{const _0x5569ef=_0x357877;try{await this['handleExportTrigger'](_0x1ee1dd,_0x201e6f,_0x175807,_0x102cae,_0xed192e);}catch(_0x721ac2){_0x52de47[_0x5569ef(0x1f5)](logError,_0x721ac2,{'event':_0x5569ef(0x208)},_0x52de47[_0x5569ef(0x20d)]),_0x201e6f['status'](0x1f4)['json']({'success':![],'error':_0x721ac2['message']});}}),_0x283030['get'](_0x1ab116+_0x357877(0x1f4),async(_0x1175e5,_0x12a436)=>{const _0x1a4543=_0x357877;try{await this['handleExportStatus'](_0x1175e5,_0x12a436);}catch(_0x14dcbd){_0x52de47[_0x1a4543(0x204)](logError,_0x14dcbd,{'event':'export_status_error'},_0x52de47[_0x1a4543(0x209)]),_0x12a436[_0x1a4543(0x206)](0x1f4)['json']({'success':![],'error':_0x14dcbd[_0x1a4543(0x20c)]});}}),_0x283030['get'](_0x1ab116+'/export-download',async(_0x426473,_0x4c4e70)=>{const _0xb8239f=_0x357877;try{await this[_0xb8239f(0x1f9)](_0x426473,_0x4c4e70);}catch(_0x59e0d2){_0x52de47['hiupP'](logError,_0x59e0d2,{'event':'export_download_error'},'Failed\x20to\x20download\x20export'),!_0x4c4e70['headersSent']&&_0x4c4e70['status'](0x1f4)[_0xb8239f(0x1f6)]({'success':![],'error':_0x59e0d2['message']});}});}static async['handleExportTrigger'](_0x30fbc4,_0x3ede25,_0x556068,_0x48d3f2,_0x33307f){const _0x32da99=a0_0x3f4216,_0x3812b8={'cDdkf':'xlsx','PZgJu':'Invalid\x20where\x20field','qJAZP':function(_0x292958,_0x53ab91){return _0x292958+_0x53ab91;},'gfsyn':'-export','yicWf':function(_0x45c2c0,_0x19f04d){return _0x45c2c0||_0x19f04d;}},{format:_0xfb13ec,filename:_0x528e2e,columns:_0xea0766,where:_0x2e7f07,sort_columns:_0x2f706f}=_0x30fbc4['body'];if(_0xfb13ec&&_0xfb13ec!==_0x3812b8['cDdkf'])return _0x3ede25[_0x32da99(0x206)](0x190)['json']({'success':![],'error':'Only\x20xlsx\x20format\x20is\x20supported'});if(_0x2e7f07){if(!_0x2e7f07['logic']||!_0x2e7f07[_0x32da99(0x1ea)]||!Array['isArray'](_0x2e7f07['conditions']))return _0x3ede25['status'](0x190)['json']({'success':![],'error':'Invalid\x20where\x20structure.\x20Expected:\x20{\x20logic:\x20\x22AND|OR\x22,\x20conditions:\x20[...]\x20}'});}if(_0x2f706f){if(!Array['isArray'](_0x2f706f))return _0x3ede25['status'](0x190)[_0x32da99(0x1f6)]({'success':![],'error':'Invalid\x20sort_columns\x20structure.\x20Expected:\x20[{\x20column:\x20\x22col\x22,\x20direction:\x20\x22ASC|DESC\x22\x20}]'});}const _0x30b8f9=_0x556068[_0x32da99(0x207)]||[];if(_0x2e7f07&&Array['isArray'](_0x2e7f07['conditions']))for(const _0x43d9d3 of _0x2e7f07['conditions']){if(_0x43d9d3['key']&&!_0x30b8f9['includes'](_0x43d9d3[_0x32da99(0x1eb)]))return _0x3ede25['status'](0x190)['json']({'success':![],'error':_0x3812b8['PZgJu'],'message':_0x32da99(0x212)+_0x43d9d3[_0x32da99(0x1eb)]+'\x22\x20is\x20not\x20allowed','validFields':_0x30b8f9});}if(Array['isArray'](_0x2f706f))for(const _0x5b37cb of _0x2f706f){if(_0x5b37cb['column']&&!_0x30b8f9['includes'](_0x5b37cb['column']))return _0x3ede25[_0x32da99(0x206)](0x190)[_0x32da99(0x1f6)]({'success':![],'error':_0x32da99(0x21c),'message':'Column\x20\x22'+_0x5b37cb[_0x32da99(0x1fe)]+_0x32da99(0x1ed),'validFields':_0x30b8f9});}const _0x17607d=_0x3812b8[_0x32da99(0x210)](_0x556068[_0x32da99(0x217)]['replace']('.','-'),_0x3812b8['gfsyn']),_0x16751e=await exportService[_0x32da99(0x1fc)]({'moduleName':_0x48d3f2,'endpointName':_0x33307f,'tableName':_0x556068['tableName'],'format':_0x3812b8[_0x32da99(0x200)](_0xfb13ec,_0x32da99(0x1f7)),'filename':_0x3812b8[_0x32da99(0x200)](_0x528e2e,_0x17607d),'columns':_0xea0766||_0x556068[_0x32da99(0x207)],'exportQuery':_0x556068[_0x32da99(0x1e9)]||null,'columnFormats':_0x556068['columnFormats']||null,'fieldLabels':_0x556068['fieldLabels']||null,'where':_0x2e7f07||null,'sort_columns':_0x3812b8[_0x32da99(0x200)](_0x2f706f,null)});_0x3ede25['json']({'success':!![],'data':_0x16751e});}static async['handleExportStatus'](_0x45201a,_0x40ecdf){const _0x20d2db=a0_0x3f4216,{job_id:_0x1d8d27}=_0x45201a['query'];if(!_0x1d8d27)return _0x40ecdf['status'](0x190)['json']({'success':![],'error':_0x20d2db(0x1fb)});const _0x5a64a0=await exportService[_0x20d2db(0x213)](_0x1d8d27);if(!_0x5a64a0['success'])return _0x40ecdf['status'](0x194)[_0x20d2db(0x1f6)](_0x5a64a0);_0x40ecdf['json'](_0x5a64a0);}static async[a0_0x3f4216(0x1f9)](_0x3aec8a,_0x2d9f2f){const _0x4be75e=a0_0x3f4216,_0x148c91={'ntotI':_0x4be75e(0x1ec),'hGSgC':_0x4be75e(0x20b),'NyVbL':_0x4be75e(0x20a),'pTqbp':_0x4be75e(0x20e),'pqhqG':_0x4be75e(0x203)},{job_id:_0x4c4d1f}=_0x3aec8a[_0x4be75e(0x21a)];if(!_0x4c4d1f)return _0x2d9f2f[_0x4be75e(0x206)](0x190)['json']({'success':![],'error':_0x4be75e(0x1fb)});const _0x35500e=await exportService['getFilePath'](_0x4c4d1f);if(!_0x35500e)return _0x2d9f2f['status'](0x194)[_0x4be75e(0x1f6)]({'success':![],'error':_0x148c91[_0x4be75e(0x1f0)]});_0x2d9f2f['download'](_0x35500e,''+path[_0x4be75e(0x219)](_0x35500e),_0x3090bf=>{const _0x55d44a=_0x4be75e;_0x3090bf?(logError(_0x3090bf,{'event':_0x148c91[_0x55d44a(0x216)],'jobId':_0x4c4d1f},_0x148c91[_0x55d44a(0x220)]),!_0x2d9f2f[_0x55d44a(0x1f1)]&&_0x2d9f2f[_0x55d44a(0x206)](0x1f4)[_0x55d44a(0x1f6)]({'success':![],'error':_0x148c91['NyVbL']})):logger['info']({'event':_0x148c91['pTqbp'],'jobId':_0x4c4d1f},_0x55d44a(0x201));});}static[a0_0x3f4216(0x1f8)](_0x424d12){const _0x482414=a0_0x3f4216,_0x2d0a8e={'lHjsy':_0x482414(0x202),'PJxWl':_0x482414(0x21d)};_0x424d12[_0x482414(0x21b)](_0x482414(0x1ee),async(_0x36a6a1,_0x3faa9c)=>{const _0x589eed=_0x482414;try{const _0x337df0=await exportService['cleanup']();_0x3faa9c['json']({'success':!![],'data':{'deleted':_0x337df0,'message':_0x2d0a8e[_0x589eed(0x1f3)]}});}catch(_0x5eba8f){logError(_0x5eba8f,{'event':_0x2d0a8e['PJxWl']},_0x589eed(0x1f2)),_0x3faa9c[_0x589eed(0x206)](0x1f4)[_0x589eed(0x1f6)]({'success':![],'error':_0x5eba8f['message']});}});}}module['exports']=ExportHandler;
1
+ function a0_0xb6b6(_0x3a58e6,_0x4ead6e){_0x3a58e6=_0x3a58e6-0xf3;const _0x5b6461=a0_0x5b64();let _0xb6b6b7=_0x5b6461[_0x3a58e6];if(a0_0xb6b6['jhnmuP']===undefined){var _0x347f63=function(_0x10e275){const _0x1ea897='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x583cce='',_0xd92678='';for(let _0x5007a8=0x0,_0x228667,_0x57d998,_0x5e4aa6=0x0;_0x57d998=_0x10e275['charAt'](_0x5e4aa6++);~_0x57d998&&(_0x228667=_0x5007a8%0x4?_0x228667*0x40+_0x57d998:_0x57d998,_0x5007a8++%0x4)?_0x583cce+=String['fromCharCode'](0xff&_0x228667>>(-0x2*_0x5007a8&0x6)):0x0){_0x57d998=_0x1ea897['indexOf'](_0x57d998);}for(let _0x58b478=0x0,_0x2d5792=_0x583cce['length'];_0x58b478<_0x2d5792;_0x58b478++){_0xd92678+='%'+('00'+_0x583cce['charCodeAt'](_0x58b478)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd92678);};a0_0xb6b6['VZVULD']=_0x347f63,a0_0xb6b6['QsyHUU']={},a0_0xb6b6['jhnmuP']=!![];}const _0x4bf83f=_0x5b6461[0x0],_0x39cef7=_0x3a58e6+_0x4bf83f,_0x58a2bf=a0_0xb6b6['QsyHUU'][_0x39cef7];return!_0x58a2bf?(_0xb6b6b7=a0_0xb6b6['VZVULD'](_0xb6b6b7),a0_0xb6b6['QsyHUU'][_0x39cef7]=_0xb6b6b7):_0xb6b6b7=_0x58a2bf,_0xb6b6b7;}const a0_0x48488c=a0_0xb6b6;(function(_0x1f4108,_0x1430f6){const _0x1f2abf=a0_0xb6b6,_0x31f8de=_0x1f4108();while(!![]){try{const _0x1957b1=parseInt(_0x1f2abf(0xf5))/0x1*(-parseInt(_0x1f2abf(0xf7))/0x2)+-parseInt(_0x1f2abf(0x100))/0x3+-parseInt(_0x1f2abf(0x10f))/0x4*(parseInt(_0x1f2abf(0x119))/0x5)+parseInt(_0x1f2abf(0xf4))/0x6*(-parseInt(_0x1f2abf(0xf8))/0x7)+-parseInt(_0x1f2abf(0x108))/0x8+parseInt(_0x1f2abf(0x112))/0x9*(-parseInt(_0x1f2abf(0x106))/0xa)+parseInt(_0x1f2abf(0x124))/0xb;if(_0x1957b1===_0x1430f6)break;else _0x31f8de['push'](_0x31f8de['shift']());}catch(_0x14fdd6){_0x31f8de['push'](_0x31f8de['shift']());}}}(a0_0x5b64,0x47c45));const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require('path');class ExportHandler{static[a0_0x48488c(0x103)](_0x426ca0,_0xb57797,_0x2439db,_0x1463aa){const _0x457029=a0_0x48488c,_0x43cbc2={'tBYsJ':function(_0x4fe22e,_0x51195c,_0x761f76,_0x9f4a1){return _0x4fe22e(_0x51195c,_0x761f76,_0x9f4a1);},'nvZwe':'export_trigger_error','zoQMe':function(_0xd698ca,_0x41a8a0,_0x25ea4d,_0x171a9e){return _0xd698ca(_0x41a8a0,_0x25ea4d,_0x171a9e);},'XVGYH':'export_status_error','vkCWn':'Failed\x20to\x20get\x20export\x20status','crVAV':function(_0x40ffdb,_0x176bfa,_0x14f58e,_0x4ad489){return _0x40ffdb(_0x176bfa,_0x14f58e,_0x4ad489);},'EcHey':_0x457029(0x12c)},_0x2176dd=_0x457029(0x113)+_0xb57797+'/'+_0x2439db;_0x426ca0['post'](_0x2176dd+_0x457029(0x111),async(_0x4a311c,_0x151502)=>{const _0x5aec6d=_0x457029;try{await this[_0x5aec6d(0x12f)](_0x4a311c,_0x151502,_0x1463aa,_0xb57797,_0x2439db);}catch(_0x727042){_0x43cbc2[_0x5aec6d(0x127)](logError,_0x727042,{'event':_0x43cbc2[_0x5aec6d(0x123)]},'Failed\x20to\x20trigger\x20export'),_0x151502[_0x5aec6d(0x11b)](0x1f4)[_0x5aec6d(0x130)]({'success':![],'error':_0x727042[_0x5aec6d(0xfa)]});}}),_0x426ca0[_0x457029(0x102)](_0x2176dd+'/export-status',async(_0x44ff82,_0x4fd8b1)=>{const _0x405b50=_0x457029;try{await this[_0x405b50(0x11c)](_0x44ff82,_0x4fd8b1);}catch(_0x5b7a9e){_0x43cbc2['zoQMe'](logError,_0x5b7a9e,{'event':_0x43cbc2['XVGYH']},_0x43cbc2['vkCWn']),_0x4fd8b1['status'](0x1f4)[_0x405b50(0x130)]({'success':![],'error':_0x5b7a9e[_0x405b50(0xfa)]});}}),_0x426ca0[_0x457029(0x102)](_0x2176dd+'/export-download',async(_0x483f72,_0x23961e)=>{const _0x4fe152=_0x457029;try{await this[_0x4fe152(0x110)](_0x483f72,_0x23961e);}catch(_0x45d723){_0x43cbc2[_0x4fe152(0x104)](logError,_0x45d723,{'event':'export_download_error'},_0x43cbc2[_0x4fe152(0x109)]),!_0x23961e[_0x4fe152(0x114)]&&_0x23961e['status'](0x1f4)[_0x4fe152(0x130)]({'success':![],'error':_0x45d723['message']});}});}static async[a0_0x48488c(0x12f)](_0x3e7099,_0x175518,_0x315d02,_0xf78bfc,_0x28720d){const _0x490319=a0_0x48488c,_0x294b0b={'ZLOFu':_0x490319(0x10d),'SDSIW':'Only\x20xlsx\x20format\x20is\x20supported','KASmo':_0x490319(0x115),'fAonK':'-export','cZXKi':function(_0x1d235c,_0x2a72f6){return _0x1d235c||_0x2a72f6;},'GMpvO':function(_0xf32da7,_0x288f1b){return _0xf32da7||_0x288f1b;}},{format:_0x546407,filename:_0x218772,columns:_0xf70fbb,where:_0x12a871,sort_columns:_0x8a8400}=_0x3e7099['body'];if(_0x546407&&_0x546407!==_0x294b0b['ZLOFu'])return _0x175518['status'](0x190)[_0x490319(0x130)]({'success':![],'error':_0x294b0b[_0x490319(0x122)]});if(_0x12a871){if(!_0x12a871[_0x490319(0x126)]||!_0x12a871['conditions']||!Array[_0x490319(0x107)](_0x12a871[_0x490319(0x101)]))return _0x175518[_0x490319(0x11b)](0x190)['json']({'success':![],'error':_0x294b0b['KASmo']});}if(_0x8a8400){if(!Array['isArray'](_0x8a8400))return _0x175518[_0x490319(0x11b)](0x190)[_0x490319(0x130)]({'success':![],'error':_0x490319(0xfd)});}const _0x51010b=_0x315d02[_0x490319(0x11a)]||[];if(_0x12a871&&Array[_0x490319(0x107)](_0x12a871[_0x490319(0x101)]))for(const _0x506a34 of _0x12a871['conditions']){if(_0x506a34['key']&&!_0x51010b['includes'](_0x506a34['key']))return _0x175518['status'](0x190)['json']({'success':![],'error':'Invalid\x20where\x20field','message':'Field\x20\x22'+_0x506a34[_0x490319(0xf3)]+_0x490319(0xfe),'validFields':_0x51010b});}if(Array[_0x490319(0x107)](_0x8a8400))for(const _0x38c8b2 of _0x8a8400){if(_0x38c8b2[_0x490319(0x116)]&&!_0x51010b[_0x490319(0x105)](_0x38c8b2[_0x490319(0x116)]))return _0x175518[_0x490319(0x11b)](0x190)['json']({'success':![],'error':_0x490319(0xff),'message':'Column\x20\x22'+_0x38c8b2[_0x490319(0x116)]+_0x490319(0xfe),'validFields':_0x51010b});}const _0x1cd5f5=_0x315d02['tableName'][_0x490319(0x10c)]('.','-')+_0x294b0b['fAonK'],_0xfcf13a=await exportService['createJob']({'moduleName':_0xf78bfc,'endpointName':_0x28720d,'tableName':_0x315d02[_0x490319(0xf6)],'format':_0x546407||_0x294b0b['ZLOFu'],'filename':_0x218772||_0x1cd5f5,'columns':_0xf70fbb||_0x315d02['columns'],'exportQuery':_0x315d02['exportQuery']||null,'columnFormats':_0x315d02[_0x490319(0x10a)]||null,'fieldLabels':_0x315d02[_0x490319(0x12d)]||null,'where':_0x294b0b[_0x490319(0x129)](_0x12a871,null),'sort_columns':_0x294b0b[_0x490319(0xfc)](_0x8a8400,null)});_0x175518[_0x490319(0x130)]({'success':!![],'data':_0xfcf13a});}static async[a0_0x48488c(0x11c)](_0x1a8cf0,_0x15d1eb){const _0x163ebd=a0_0x48488c,{job_id:_0x5bf6d7}=_0x1a8cf0['query'];if(!_0x5bf6d7)return _0x15d1eb['status'](0x190)[_0x163ebd(0x130)]({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x2d8b36=await exportService[_0x163ebd(0x117)](_0x5bf6d7);if(!_0x2d8b36['success'])return _0x15d1eb['status'](0x194)[_0x163ebd(0x130)](_0x2d8b36);_0x15d1eb[_0x163ebd(0x130)](_0x2d8b36);}static async['handleExportDownload'](_0x562580,_0x514385){const _0x26ce7e=a0_0x48488c,_0x3dc0b5={'uerzA':_0x26ce7e(0x11d),'NFdnF':_0x26ce7e(0x11f),'cfkqG':'Export\x20file\x20downloaded\x20successfully','oUIae':'job_id\x20parameter\x20is\x20required'},{job_id:_0x556292}=_0x562580['query'];if(!_0x556292)return _0x514385[_0x26ce7e(0x11b)](0x190)[_0x26ce7e(0x130)]({'success':![],'error':_0x3dc0b5['oUIae']});const _0x13038b=await exportService[_0x26ce7e(0xfb)](_0x556292);if(!_0x13038b)return _0x514385[_0x26ce7e(0x11b)](0x194)['json']({'success':![],'error':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'});_0x514385[_0x26ce7e(0xf9)](_0x13038b,''+path[_0x26ce7e(0x11e)](_0x13038b),_0x3b2b30=>{const _0x26a6b4=_0x26ce7e;_0x3b2b30?(logError(_0x3b2b30,{'event':_0x3dc0b5[_0x26a6b4(0x10e)],'jobId':_0x556292},_0x3dc0b5['NFdnF']),!_0x514385[_0x26a6b4(0x114)]&&_0x514385[_0x26a6b4(0x11b)](0x1f4)[_0x26a6b4(0x130)]({'success':![],'error':_0x26a6b4(0x12a)})):logger[_0x26a6b4(0x118)]({'event':_0x26a6b4(0x10b),'jobId':_0x556292},_0x3dc0b5[_0x26a6b4(0x12b)]);});}static[a0_0x48488c(0x121)](_0x50301f){const _0x530d04=a0_0x48488c,_0x2ce9c8={'gYaGd':_0x530d04(0x131),'wYHBS':_0x530d04(0x125)};_0x50301f['get']('/api/admin/export-cleanup',async(_0x5c610d,_0xbe7efc)=>{const _0x28f801=_0x530d04;try{const _0x2bad4d=await exportService[_0x28f801(0x120)]();_0xbe7efc['json']({'success':!![],'data':{'deleted':_0x2bad4d,'message':'Cleanup\x20completed'}});}catch(_0x8771b0){logError(_0x8771b0,{'event':_0x2ce9c8[_0x28f801(0x12e)]},_0x2ce9c8[_0x28f801(0x128)]),_0xbe7efc[_0x28f801(0x11b)](0x1f4)['json']({'success':![],'error':_0x8771b0[_0x28f801(0xfa)]});}});}}module['exports']=ExportHandler;function a0_0x5b64(){const _0x3e28be=['mJq1nde4mtrjCvDovLe','q2XLyw51CcbMywLSzwq','Bg9NAwm','DejzC0O','D1LiqLm','y1Pys2K','rMfPBgvKihrVigrVD25SB2fKigzPBgu','y2zRCuC','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','zMLLBgrmywjLBhm','z1LHr2q','AgfUzgXLrxHWB3j0vhjPz2DLCG','ANnVBG','y2XLyw51Cf9LCNjVCG','A2v5','mta5mZjUrLfct00','m0jmEvHUBW','DgfIBgvoyw1L','mZe2nZK0AevKufbO','mZaXvfHPvvnS','zg93BMXVywq','BwvZC2fNzq','z2v0rMLSzvbHDgG','r01WDK8','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','iIbPCYbUB3qGywXSB3DLza','sw52ywXPzcbZB3j0ignVBhvTBG','mtCWotK0mg5TuvnzsW','y29UzgL0Aw9UCW','z2v0','CMvNAxn0zxjsB3v0zxm','y3jwqvy','Aw5JBhvKzxm','mJbbsgTuEwK','AxnbCNjHEq','mteXmtiWA05Jru5l','rwnizxK','y29SDw1UrM9YBwf0CW','zxHWB3j0x2rVD25SB2fKzwq','CMvWBgfJzq','EgXZEa','DwvYEKe','ndHHshfdAwK','AgfUzgXLrxHWB3j0rg93BMXVywq','l2v4Cg9YDa','mtCWmtq1oxjuCK9Jwq','l2fWAs8','AgvHzgvYC1nLBNq','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','y29SDw1U','z2v0sM9Iu3rHDhvZ','Aw5MBW','mtC1nJCWwg1XugvI','y29SDw1UCW','C3rHDhvZ','AgfUzgXLrxHWB3j0u3rHDhvZ','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','yMfZzw5HBwu','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','y2XLyw51Ca','CMvNAxn0zxjdBgvHBNvWuM91Dgu','u0rtsvC','BNzAD2u'];a0_0x5b64=function(){return _0x3e28be;};return a0_0x5b64();}