@restforgejs/platform 4.1.1 → 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 (340) 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 +43 -4
  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 +526 -0
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +322 -0
  20. package/generators/cli/schema/generate-ddl.js +7 -10
  21. package/generators/cli/schema/init.js +95 -172
  22. package/generators/cli/schema/introspect.js +3 -2
  23. package/generators/cli/schema/list.js +3 -2
  24. package/generators/cli/schema/migrate.js +13 -18
  25. package/generators/cli/schema/models.js +8 -12
  26. package/generators/cli/schema/template.js +222 -0
  27. package/generators/cli/schema/validate.js +8 -12
  28. package/generators/cli-entry.js +17 -2
  29. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  30. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  31. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  32. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  33. package/generators/lib/migration/audit-table-runner.js +213 -215
  34. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  35. package/generators/lib/payload/payload-runner.js +137 -220
  36. package/generators/lib/payload/schema-diff.js +277 -0
  37. package/generators/lib/templates/dashboard-catalog.js +1 -437
  38. package/generators/lib/templates/db-connection-env.js +1 -212
  39. package/generators/lib/templates/dbschema-catalog.js +1 -489
  40. package/generators/lib/templates/field-validation-catalog.js +1 -531
  41. package/generators/lib/templates/mysql-template.js +1 -3863
  42. package/generators/lib/templates/oracle-template.js +1 -3915
  43. package/generators/lib/templates/postgres-template.js +1 -5838
  44. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  45. package/generators/lib/templates/sqlite-template.js +1 -3440
  46. package/generators/lib/utils/audit-columns.js +181 -0
  47. package/generators/lib/utils/cli-output.js +17 -0
  48. package/generators/lib/utils/database-introspector.js +16 -13
  49. package/generators/lib/utils/env-manager.js +6 -0
  50. package/generators/lib/utils/path-validator.js +71 -0
  51. package/generators/lib/validators/payload-validator.js +1 -2
  52. package/integrity-manifest.json +28 -10
  53. package/package.json +11 -3
  54. package/scripts/verify-integrity.js +1 -1
  55. package/server.js +1 -1
  56. package/src/components/handlers/adjust_handler.js +1 -1
  57. package/src/components/handlers/audit_handler.js +1 -1
  58. package/src/components/handlers/delete_handler.js +1 -1
  59. package/src/components/handlers/export_handler.js +1 -1
  60. package/src/components/handlers/import_handler.js +1 -1
  61. package/src/components/handlers/insert_handler.js +1 -1
  62. package/src/components/handlers/update_handler.js +1 -1
  63. package/src/components/handlers/upload_handler.js +1 -1
  64. package/src/components/handlers/workflow_handler.js +1 -1
  65. package/src/components/integrations/webhook.js +1 -1
  66. package/src/consumers/baseConsumer.js +1 -1
  67. package/src/consumers/declarativeMapper.js +1 -1
  68. package/src/consumers/handlers/apiHandler.js +1 -1
  69. package/src/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/consumers/handlers/index.js +1 -1
  72. package/src/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/consumers/index.js +1 -1
  74. package/src/consumers/messageTransformer.js +1 -1
  75. package/src/consumers/validator.js +1 -1
  76. package/src/core/db/dialect/base-dialect.js +1 -1
  77. package/src/core/db/dialect/index.js +1 -1
  78. package/src/core/db/dialect/mysql-dialect.js +1 -1
  79. package/src/core/db/dialect/oracle-dialect.js +1 -1
  80. package/src/core/db/dialect/postgres-dialect.js +1 -1
  81. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  82. package/src/core/db/flatten-helper.js +1 -1
  83. package/src/core/db/query-builder-error.js +1 -1
  84. package/src/core/db/query-builder.js +1 -1
  85. package/src/core/db/relation-helper.js +1 -1
  86. package/src/core/handlers/delete_handler.js +1 -1
  87. package/src/core/handlers/insert_handler.js +1 -1
  88. package/src/core/handlers/update_handler.js +1 -1
  89. package/src/core/models/base-model.js +1 -1
  90. package/src/core/utils/cache-manager.js +1 -1
  91. package/src/core/utils/component-engine.js +1 -1
  92. package/src/core/utils/context-builder.js +1 -1
  93. package/src/core/utils/datetime-formatter.js +1 -1
  94. package/src/core/utils/datetime-parser.js +1 -1
  95. package/src/core/utils/db.js +1 -1
  96. package/src/core/utils/logger.js +1 -1
  97. package/src/core/utils/payload-loader.js +1 -1
  98. package/src/core/utils/security-checks.js +1 -1
  99. package/src/middleware/body-options.js +1 -1
  100. package/src/middleware/cors.js +1 -1
  101. package/src/middleware/idempotency.js +1 -1
  102. package/src/middleware/rate-limiter.js +1 -1
  103. package/src/middleware/request-logger.js +1 -1
  104. package/src/middleware/security-headers.js +1 -1
  105. package/src/models/base-model-mysql.js +1 -1
  106. package/src/models/base-model-oracle.js +1 -1
  107. package/src/models/base-model-sqlite.js +1 -1
  108. package/src/models/base-model.js +1 -1
  109. package/src/pro/caching/redis-client.js +1 -1
  110. package/src/pro/caching/redis-helper.js +1 -1
  111. package/src/pro/consumers/baseConsumer.js +1 -1
  112. package/src/pro/consumers/declarativeMapper.js +1 -1
  113. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  114. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  115. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  116. package/src/pro/consumers/handlers/index.js +1 -1
  117. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  118. package/src/pro/consumers/index.js +1 -1
  119. package/src/pro/consumers/messageTransformer.js +1 -1
  120. package/src/pro/consumers/validator.js +1 -1
  121. package/src/pro/database/base-model-mysql.js +1 -1
  122. package/src/pro/database/base-model-oracle.js +1 -1
  123. package/src/pro/database/base-model-sqlite.js +1 -1
  124. package/src/pro/database/db-mysql.js +1 -1
  125. package/src/pro/database/db-oracle.js +1 -1
  126. package/src/pro/database/db-sqlite.js +1 -1
  127. package/src/pro/excel/excel-generator.js +1 -1
  128. package/src/pro/excel/excel-parser.js +1 -1
  129. package/src/pro/excel/export-service.js +1 -1
  130. package/src/pro/excel/export_handler.js +1 -1
  131. package/src/pro/excel/import-service.js +1 -1
  132. package/src/pro/excel/import-validator.js +1 -1
  133. package/src/pro/excel/import_handler.js +1 -1
  134. package/src/pro/excel/upsert-builder.js +1 -1
  135. package/src/pro/idgen/idgen-routes.js +1 -1
  136. package/src/pro/integrations/lookup-resolver.js +1 -1
  137. package/src/pro/integrations/upload-handler-v2.js +1 -1
  138. package/src/pro/integrations/upload-handler.js +1 -1
  139. package/src/pro/integrations/webhook.js +1 -1
  140. package/src/pro/locking/lock-routes.js +1 -1
  141. package/src/pro/locking/resource-lock-manager.js +1 -1
  142. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  143. package/src/pro/messaging/kafkaService.js +1 -1
  144. package/src/pro/messaging/messagehubService.js +1 -1
  145. package/src/pro/messaging/rabbitmqService.js +1 -1
  146. package/src/pro/scheduler/job-manager.js +1 -1
  147. package/src/pro/scheduler/job-routes.js +1 -1
  148. package/src/pro/scheduler/job-validator.js +1 -1
  149. package/src/pro/storage/base-storage-provider.js +1 -1
  150. package/src/pro/storage/file-metadata-helper.js +1 -1
  151. package/src/pro/storage/index.js +1 -1
  152. package/src/pro/storage/local-storage-provider.js +1 -1
  153. package/src/pro/storage/s3-storage-provider.js +1 -1
  154. package/src/pro/storage/upload-cleanup-job.js +1 -1
  155. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  156. package/src/pro/storage/upload-pending-tracker.js +1 -1
  157. package/src/pro/websocket/broadcast-helper.js +1 -1
  158. package/src/pro/websocket/index.js +1 -1
  159. package/src/pro/websocket/livesync-server.js +1 -1
  160. package/src/pro/websocket/ws-broadcaster.js +1 -1
  161. package/src/services/export-service.js +1 -1
  162. package/src/services/import-service.js +1 -1
  163. package/src/services/kafkaConsumerService.js +1 -1
  164. package/src/services/kafkaService.js +1 -1
  165. package/src/services/messagehubService.js +1 -1
  166. package/src/services/rabbitmqService.js +1 -1
  167. package/src/utils/cache-invalidation-registry.js +1 -1
  168. package/src/utils/cache-manager.js +1 -1
  169. package/src/utils/component-engine.js +1 -1
  170. package/src/utils/config-extractor.js +1 -1
  171. package/src/utils/consumerLogger.js +1 -1
  172. package/src/utils/context-builder.js +1 -1
  173. package/src/utils/dashboard-helpers.js +1 -1
  174. package/src/utils/dateHelper.js +1 -1
  175. package/src/utils/datetime-formatter.js +1 -1
  176. package/src/utils/datetime-parser.js +1 -1
  177. package/src/utils/db-bootstrap.js +1 -1
  178. package/src/utils/db-mysql.js +1 -1
  179. package/src/utils/db-oracle.js +1 -1
  180. package/src/utils/db-sqlite.js +1 -1
  181. package/src/utils/db.js +1 -1
  182. package/src/utils/demo-generator.js +1 -1
  183. package/src/utils/excel-generator.js +1 -1
  184. package/src/utils/excel-parser.js +1 -1
  185. package/src/utils/file-watcher.js +1 -1
  186. package/src/utils/id-generator.js +1 -1
  187. package/src/utils/idempotency-manager.js +1 -1
  188. package/src/utils/import-validator.js +1 -1
  189. package/src/utils/license-client.js +1 -1
  190. package/src/utils/lock-manager.js +1 -1
  191. package/src/utils/logger.js +1 -1
  192. package/src/utils/lookup-resolver.js +1 -1
  193. package/src/utils/payload-loader.js +1 -1
  194. package/src/utils/processor-response.js +1 -1
  195. package/src/utils/rabbitmq.js +1 -1
  196. package/src/utils/redis-client.js +1 -1
  197. package/src/utils/redis-helper.js +1 -1
  198. package/src/utils/request-scope.js +1 -1
  199. package/src/utils/security-checks.js +1 -1
  200. package/src/utils/service-resolver.js +1 -1
  201. package/src/utils/shutdown-coordinator.js +1 -1
  202. package/src/utils/trusted-keys.js +1 -1
  203. package/src/utils/upload-handler.js +1 -1
  204. package/src/utils/upsert-builder.js +1 -1
  205. package/src/utils/workflow-hook-executor.js +1 -1
  206. package/generators/metadata/global.json +0 -58
  207. package/generators/metadata/test-mysql-workbench.json +0 -118
  208. package/generators/metadata/test-mysql.json +0 -56
  209. package/generators/metadata/test-oracle-workbench.json +0 -118
  210. package/generators/metadata/test-oracle.json +0 -56
  211. package/generators/metadata/test-pg-workbench.json +0 -118
  212. package/generators/metadata/test-pg.json +0 -56
  213. package/generators/scripts/obfuscate-source.js +0 -356
  214. package/generators/scripts/validate-catalog.js +0 -430
  215. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  216. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  217. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  218. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  219. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  220. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  221. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  222. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  223. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  224. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  225. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  226. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  227. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  228. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  229. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  230. package/generators/tests/integration-tahap4b/README.md +0 -145
  231. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  232. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  233. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  234. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  235. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  236. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  237. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  238. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  239. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  240. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  241. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  242. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  243. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  244. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  245. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  246. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  247. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  248. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  249. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  250. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  251. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  252. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  253. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  254. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  255. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  256. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  257. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  258. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  259. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  260. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  261. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  262. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  263. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  264. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  265. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  266. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  267. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  268. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  269. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  270. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  271. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  300. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  301. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  302. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  303. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  304. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  305. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  306. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  307. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  308. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  309. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  310. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  311. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  312. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  313. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  314. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  315. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  316. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  317. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  318. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  319. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  320. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  321. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  322. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  323. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  324. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  325. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  326. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  327. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  328. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  329. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  330. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  331. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  332. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  333. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  334. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  335. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  336. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  337. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  338. package/scripts/generate-integrity-manifest.js +0 -124
  339. package/scripts/snapshot-cli-contracts.js +0 -194
  340. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- const a0_0x4342a5=a0_0x55cf;(function(_0x33956f,_0x31e878){const _0x42049e=a0_0x55cf,_0x3283aa=_0x33956f();while(!![]){try{const _0x8d05a8=-parseInt(_0x42049e(0x153))/0x1*(parseInt(_0x42049e(0x183))/0x2)+parseInt(_0x42049e(0x14b))/0x3*(-parseInt(_0x42049e(0x198))/0x4)+-parseInt(_0x42049e(0x136))/0x5*(-parseInt(_0x42049e(0x177))/0x6)+parseInt(_0x42049e(0x144))/0x7+-parseInt(_0x42049e(0x133))/0x8*(-parseInt(_0x42049e(0x178))/0x9)+-parseInt(_0x42049e(0x152))/0xa+parseInt(_0x42049e(0x18c))/0xb*(parseInt(_0x42049e(0x173))/0xc);if(_0x8d05a8===_0x31e878)break;else _0x3283aa['push'](_0x3283aa['shift']());}catch(_0x1eaeaa){_0x3283aa['push'](_0x3283aa['shift']());}}}(a0_0xc07c,0x47b11));function a0_0xc07c(){const _0x1b17a7=['q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','Cg9VBa','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','BwzXC28','ngzvuKfzzW','rwXuwgi','qwn0AxzL','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','y29TBwL0','Aw5PDgLHBgL6zvbVB2W','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','AxLtDhO','DgvZDenVBM5Ly3rPB24','mti4CLLOBvbU','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','q0XpqG','mtq0mda1merYDhj3rq','DNDHyLO','zxHWB3j0CW','BwvZC2fNzq','t1vux0zpuK1bvf9pqKPfq1q','CM93C0fMzMvJDgvK','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','zxHLy3v0zvrYyw5Zywn0Aw9U','B3jHy2XLx2nVBM5Ly3rPB25FC3rYAw5N','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','C3fS','uKvtwMK','z2v0ug9VBfn0yxrPC3rPy3m','mtK0nJuZmMjVAvHmDq','y3jLyxrLug9VBa','zgvIDwC','rejFvvnfuG','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','Cg9VBfrPBwvVDxq','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','mtq2mJCYmKLrzLfdAq','BgvUz3rO','ChvZAa','D2DmsMm','ENDssgm','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','Aw9gCMi','ntG1mdy3mejgDxjxtW','mZu2nJCWvuzTBuLR','lI9SB2DNzxi','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','rejFue9sva','B3jHy2XLx3bVB2XFy3jLyxrLza','zw52','rejFue9ptf9nsu4','C3vIC3rYAw5N','x25SC1jLywr5','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','tKnmt0i','zxHPDa','ug9VBcbUB3qGAw5PDgLHBgL6zwq','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','Cg9VBe1PBG','zxHLy3v0zq','wwXgtuy','shbMs3i','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','txvKAvm','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','B3jHy2XLx3nODxrKB3DU','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','Bg9JywXOB3n0','rejFue9ptf9usu1ft1vu','BKnNCue','EeTwEem','y2XVC2vqB29S','rejFue9ptf9nqvG','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','mtuYmq','ndi1ndG3nKftyM9htq','rejFue9ptf9jtKnsru1ftLq','DhjHBNnHy3rPB25FzxjYB3i','ihf1zxjPzxmP','nMXYChD2sa','mJuXodq3y0jKEuP5','rejFse9tva','B3jHy2XLzgi','uvr0B1y','uMTgB3C','qxjiyLa','CgfYyw1Z','yxv0B0nVBw1PDa','u0Lhvevstq','zMv0y2HbC0j1zMzLCG','B3jHy2XLx3bVB2XFy2XVC2LUzW','mMvNu3HxBa','B3jHy2XLx3bVB2XFzxjYB3i','CM93CW','u0vmrunuifnzu0rbveuGyxmGy3vYCMvUDf9KyxrLlcbvu0vsigfZign1CNjLBNrFDxnLCIbguK9niervquW','y2XVC2u','Aw5MBW','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','B3jHy2XL','Cg9VBefSAwfZ','mJjHChnoCvi','rejFtKfnrq','CNzdqMC','yMHZDwi','sNnUsLi','y29UzMLN','y29UBMvJDgLVBNnpCgvU','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN'];a0_0xc07c=function(){return _0x1b17a7;};return a0_0xc07c();}const oracledb=require(a0_0x4342a5(0x17a)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4342a5(0x154));function a0_0x55cf(_0x497859,_0x24b1de){_0x497859=_0x497859-0x12d;const _0xc07c2c=a0_0xc07c();let _0x55cfbc=_0xc07c2c[_0x497859];if(a0_0x55cf['lHDQWC']===undefined){var _0x22299e=function(_0x59ebb8){const _0x8bca74='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14e120='',_0x4817ef='';for(let _0x1bfe83=0x0,_0x3026fd,_0x3c9e15,_0x3b2a8f=0x0;_0x3c9e15=_0x59ebb8['charAt'](_0x3b2a8f++);~_0x3c9e15&&(_0x3026fd=_0x1bfe83%0x4?_0x3026fd*0x40+_0x3c9e15:_0x3c9e15,_0x1bfe83++%0x4)?_0x14e120+=String['fromCharCode'](0xff&_0x3026fd>>(-0x2*_0x1bfe83&0x6)):0x0){_0x3c9e15=_0x8bca74['indexOf'](_0x3c9e15);}for(let _0x3b32ed=0x0,_0x41abc7=_0x14e120['length'];_0x3b32ed<_0x41abc7;_0x3b32ed++){_0x4817ef+='%'+('00'+_0x14e120['charCodeAt'](_0x3b32ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4817ef);};a0_0x55cf['veRMOW']=_0x22299e,a0_0x55cf['xGGfhF']={},a0_0x55cf['lHDQWC']=!![];}const _0x1539c0=_0xc07c2c[0x0],_0xc5bd06=_0x497859+_0x1539c0,_0x12b51c=a0_0x55cf['xGGfhF'][_0xc5bd06];return!_0x12b51c?(_0x55cfbc=a0_0x55cf['veRMOW'](_0x55cfbc),a0_0x55cf['xGGfhF'][_0xc5bd06]=_0x55cfbc):_0x55cfbc=_0x12b51c,_0x55cfbc;}oracledb['fetchAsString']=[oracledb[a0_0x4342a5(0x135)],oracledb[a0_0x4342a5(0x15e)]],oracledb[a0_0x4342a5(0x181)]=[oracledb['BLOB']];async function ensureNlsReady(_0x238b36){const _0x9e06b5=a0_0x4342a5,_0x192765={'kTnsE':'0|3|1|4|2'},_0x3d6c32=_0x192765['kTnsE']['split']('|');let _0x3bb059=0x0;while(!![]){switch(_0x3d6c32[_0x3bb059++]){case'0':if(_0x238b36[_0x9e06b5(0x15b)])return;continue;case'1':await _0x238b36['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27');continue;case'2':_0x238b36[_0x9e06b5(0x15b)]=!![];continue;case'3':await _0x238b36['execute'](_0x9e06b5(0x193));continue;case'4':await _0x238b36[_0x9e06b5(0x163)](_0x9e06b5(0x12d));continue;}break;}}class OracleDatabase{constructor(){const _0x1eab67=a0_0x4342a5,_0x2bd85a={'QcqHF':function(_0x19380d,_0x6a511f){return _0x19380d(_0x6a511f);},'WJAzk':function(_0x2a02c8,_0x1546a1){return _0x2a02c8(_0x1546a1);}};this['pool']=null,this['config']={'user':process['env'][_0x1eab67(0x147)]||'hr','password':process['env']['DB_PASSWORD']||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process['env'][_0x1eab67(0x159)])||0x2,'poolMax':_0x2bd85a['QcqHF'](parseInt,process['env'][_0x1eab67(0x170)])||0xa,'poolIncrement':_0x2bd85a['WJAzk'](parseInt,process['env'][_0x1eab67(0x174)])||0x1,'poolTimeout':parseInt(process['env'][_0x1eab67(0x16c)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb[_0x1eab67(0x15e)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process[_0x1eab67(0x158)][_0x1eab67(0x179)]||_0x1eab67(0x16b),'port':process['env'][_0x1eab67(0x156)]||'1521','database':process['env'][_0x1eab67(0x18d)]||'XE','type':'oracle','user':this[_0x1eab67(0x191)]['user'],'poolMin':this['config'][_0x1eab67(0x162)],'poolMax':this[_0x1eab67(0x191)]['poolMax']});}[a0_0x4342a5(0x189)](){const _0x480782=a0_0x4342a5,_0x251473=process[_0x480782(0x158)]['DB_HOST']||_0x480782(0x16b),_0x749d8b=process['env']['DB_PORT']||_0x480782(0x172),_0x154ae1=process[_0x480782(0x158)]['DB_NAME']||'XE',_0x164fab='//'+_0x251473+':'+_0x749d8b+'/'+_0x154ae1;return logger['debug']({'event':_0x480782(0x13e),'connectionString':_0x164fab},'Oracle\x20Connection\x20String:\x20'+_0x164fab),_0x164fab;}async['initializePool'](){const _0x4ef018=a0_0x4342a5,_0x128591={'nCgqA':'oracle_pool_exists','thimW':_0x4ef018(0x14a),'RETGk':'oracle_pool_creating','NSovA':_0x4ef018(0x194),'bhsub':_0x4ef018(0x157),'fNWmG':'Oracle\x20connection\x20pool\x20created\x20successfully','iyStz':_0x4ef018(0x184)};try{if(this['pool']){logger[_0x4ef018(0x146)]({'event':_0x128591[_0x4ef018(0x16d)]},_0x128591['thimW']);return;}logger[_0x4ef018(0x188)]({'event':_0x128591['RETGk']},_0x128591['NSovA']),this[_0x4ef018(0x195)]=await oracledb[_0x4ef018(0x145)](this[_0x4ef018(0x191)]),logger[_0x4ef018(0x188)]({'event':_0x128591[_0x4ef018(0x18f)]},_0x128591['fNWmG']),await this[_0x4ef018(0x132)]();}catch(_0x51acaa){logError(_0x51acaa,{'event':_0x128591[_0x4ef018(0x131)]},_0x4ef018(0x15c)+_0x51acaa[_0x4ef018(0x139)]);throw _0x51acaa;}}async['testConnection'](){const _0x417d13=a0_0x4342a5,_0x2cdbc9={'zwRHc':'Testing\x20Oracle\x20database\x20connection...','ZOCKi':_0x417d13(0x166)};let _0x198c32;try{logger[_0x417d13(0x146)]({'event':_0x417d13(0x150)},_0x2cdbc9[_0x417d13(0x14f)]),_0x198c32=await this['pool']['getConnection'](),await ensureNlsReady(_0x198c32);const _0x2f4574=await _0x198c32['execute'](_0x417d13(0x186));logger[_0x417d13(0x188)]({'event':_0x2cdbc9['ZOCKi'],'currentDate':_0x2f4574['rows'][0x0][0x0],'currentUser':_0x2f4574['rows'][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x2f4574['rows'][0x0][0x1]);}catch(_0x52e716){logError(_0x52e716,{'event':'oracle_connection_test_failed'},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x52e716[_0x417d13(0x139)]);throw _0x52e716;}finally{if(_0x198c32)try{await _0x198c32['close']();}catch(_0x543f9c){logError(_0x543f9c,{'event':_0x417d13(0x196)},'Error\x20closing\x20test\x20connection:\x20'+_0x543f9c[_0x417d13(0x139)]);}}}async['executeQuery'](_0x4bba67,_0xe1df0f=[],_0x2c8624={}){const _0x41f979=a0_0x4342a5,_0x579b3d={'RkFow':function(_0x1592ea){return _0x1592ea();},'TmEjJ':function(_0xd97370,_0x1ff738){return _0xd97370(_0x1ff738);},'YlFMF':function(_0x48d696,_0x100298){return _0x48d696!==_0x100298;},'wzOOZ':function(_0x1a4665,_0x28b91e,_0x372aa3,_0x459b75){return _0x1a4665(_0x28b91e,_0x372aa3,_0x459b75);},'vwabZ':_0x41f979(0x18a),'CMsXf':function(_0x597416,_0x5d189a,_0x3d04a7,_0x38b958){return _0x597416(_0x5d189a,_0x3d04a7,_0x38b958);},'KKXRz':'sql_error'};let _0x333552;const _0x1b94f9=_0x579b3d['RkFow'](startQueryTimer);try{!this['pool']&&await this['initializePool']();_0x333552=await this['pool']['getConnection'](),await _0x579b3d['TmEjJ'](ensureNlsReady,_0x333552);const _0x5dc879={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x579b3d[_0x41f979(0x164)](_0x2c8624[_0x41f979(0x17f)],undefined)?_0x2c8624['autoCommit']:!![],..._0x2c8624},_0x2b9077=await _0x333552['execute'](_0x4bba67,_0xe1df0f,_0x5dc879),_0x1d75c7=_0x579b3d[_0x41f979(0x17c)](_0x1b94f9),_0x592edf=_0x2b9077[_0x41f979(0x185)]?_0x2b9077[_0x41f979(0x185)][_0x41f979(0x14c)]:_0x2b9077[_0x41f979(0x13b)];return _0x579b3d['wzOOZ'](logQuery,_0x4bba67,_0xe1df0f,{'duration':_0x1d75c7,'rowsAffected':_0x592edf,'dbType':_0x579b3d[_0x41f979(0x137)]}),_0x2b9077[_0x41f979(0x185)]?_0x2b9077['rows']:{'rowsAffected':_0x2b9077['rowsAffected'],'lastRowid':_0x2b9077['lastRowid']};}catch(_0x172e41){const _0x202638=_0x579b3d[_0x41f979(0x17c)](_0x1b94f9);_0x579b3d['CMsXf'](logError,_0x172e41,{'event':_0x579b3d['KKXRz'],'query':_0x4bba67[_0x41f979(0x15a)](0x0,0x1f4),'paramCount':_0xe1df0f[_0x41f979(0x14c)],'durationMs':_0x202638,'code':_0x172e41['errorNum'],'dbType':'oracle'},'Oracle\x20SQL\x20Error:\x20'+_0x172e41['message']);throw _0x172e41;}finally{if(_0x333552)try{await _0x333552[_0x41f979(0x187)]();}catch(_0x97e65){_0x579b3d['CMsXf'](logError,_0x97e65,{'event':_0x41f979(0x13c)},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x97e65[_0x41f979(0x139)]);}}}async[a0_0x4342a5(0x13d)](_0x3b2a97){const _0x6cd29=a0_0x4342a5,_0x4f3e47={'gwQte':function(_0x5ead7d,_0x182f7a){return _0x5ead7d(_0x182f7a);},'EIIHV':function(_0x31d078,_0x5c0d77,_0x3cfe6f){return _0x31d078(_0x5c0d77,_0x3cfe6f);},'wgLJc':function(_0x54b17f){return _0x54b17f();},'ArHbP':function(_0x4acfe3,_0x4051bf,_0x50915a,_0x2f7efe){return _0x4acfe3(_0x4051bf,_0x50915a,_0x2f7efe);},'ioFrb':_0x6cd29(0x18a),'RESZi':function(_0x456f6f){return _0x456f6f();},'HpfKr':_0x6cd29(0x12e),'CePYw':_0x6cd29(0x175),'MudiS':'rollback'};let _0x3a4e9f;const _0x5b764f=startQueryTimer();try{!this['pool']&&await this[_0x6cd29(0x12f)]();_0x3a4e9f=await this['pool']['getConnection'](),await _0x4f3e47['gwQte'](ensureNlsReady,_0x3a4e9f),_0x4f3e47['EIIHV'](logTransaction,'start',_0x3b2a97[_0x6cd29(0x14c)]);const _0x11ad16=[];for(const _0x2b6e2e of _0x3b2a97){const _0x3365ef=_0x4f3e47[_0x6cd29(0x14e)](startQueryTimer),_0x5d8c66=await _0x3a4e9f[_0x6cd29(0x163)](_0x2b6e2e[_0x6cd29(0x141)],_0x2b6e2e[_0x6cd29(0x17e)]||[],{'autoCommit':![],'outFormat':oracledb[_0x6cd29(0x13a)]}),_0x5dbc80=_0x3365ef(),_0x224ec5=_0x5d8c66['rows']?_0x5d8c66['rows'][_0x6cd29(0x14c)]:_0x5d8c66['rowsAffected'];_0x4f3e47[_0x6cd29(0x17d)](logQuery,_0x2b6e2e['sql'],_0x2b6e2e['params']||[],{'duration':_0x5dbc80,'rowsAffected':_0x224ec5,'dbType':_0x4f3e47['ioFrb']}),_0x11ad16[_0x6cd29(0x14d)](_0x5d8c66);}await _0x3a4e9f[_0x6cd29(0x12e)]();const _0x1d30b6=_0x4f3e47[_0x6cd29(0x142)](_0x5b764f);return logTransaction(_0x4f3e47[_0x6cd29(0x165)],_0x3b2a97['length']),logger[_0x6cd29(0x188)]({'event':'transaction_complete','queryCount':_0x3b2a97['length'],'totalDurationMs':_0x1d30b6,'dbType':_0x4f3e47[_0x6cd29(0x151)]},_0x6cd29(0x171)+_0x1d30b6+'ms,\x20'+_0x3b2a97['length']+_0x6cd29(0x176)),_0x11ad16;}catch(_0x26789f){const _0xafd1e2=_0x4f3e47['wgLJc'](_0x5b764f);logError(_0x26789f,{'event':_0x4f3e47['CePYw'],'queryCount':_0x3b2a97[_0x6cd29(0x14c)],'totalDurationMs':_0xafd1e2,'code':_0x26789f['errorNum'],'dbType':_0x6cd29(0x18a)},'Oracle\x20transaction\x20failed:\x20'+_0x26789f['message']);if(_0x3a4e9f)try{await _0x3a4e9f['rollback'](),logTransaction(_0x4f3e47[_0x6cd29(0x167)],_0x3b2a97['length']);}catch(_0x3df0f9){logError(_0x3df0f9,{'event':'rollback_error','dbType':'oracle'},_0x6cd29(0x148)+_0x3df0f9[_0x6cd29(0x139)]);}throw _0x26789f;}finally{if(_0x3a4e9f)try{await _0x3a4e9f[_0x6cd29(0x187)]();}catch(_0x37cc4c){logError(_0x37cc4c,{'event':_0x6cd29(0x168)},_0x6cd29(0x161)+_0x37cc4c['message']);}}}async['closePool'](){const _0x1c3d52=a0_0x4342a5,_0x3c69da={'JsnJR':_0x1c3d52(0x182),'ElTXb':'oracle_pool_closed','mfqso':_0x1c3d52(0x15d)};try{this[_0x1c3d52(0x195)]&&(logger['info']({'event':_0x3c69da[_0x1c3d52(0x190)]},_0x1c3d52(0x130)),await this['pool'][_0x1c3d52(0x187)](0xa),this[_0x1c3d52(0x195)]=null,logger['info']({'event':_0x3c69da[_0x1c3d52(0x199)]},_0x3c69da[_0x1c3d52(0x197)]));}catch(_0x2baa2b){logError(_0x2baa2b,{'event':_0x1c3d52(0x13f)},_0x1c3d52(0x16a)+_0x2baa2b[_0x1c3d52(0x139)]);throw _0x2baa2b;}}[a0_0x4342a5(0x143)](){const _0x1d7fbf=a0_0x4342a5,_0x313827={'rvCBg':_0x1d7fbf(0x160)};if(!this['pool'])return{'status':_0x313827[_0x1d7fbf(0x18e)]};return{'connectionsInUse':this['pool']['connectionsInUse'],'connectionsOpen':this['pool'][_0x1d7fbf(0x192)],'poolAlias':this[_0x1d7fbf(0x195)][_0x1d7fbf(0x18b)],'poolMin':this[_0x1d7fbf(0x195)][_0x1d7fbf(0x162)],'poolMax':this[_0x1d7fbf(0x195)]['poolMax'],'poolIncrement':this[_0x1d7fbf(0x195)]['poolIncrement'],'poolTimeout':this['pool'][_0x1d7fbf(0x149)],'status':_0x1d7fbf(0x19a)};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x42b648=a0_0x4342a5,_0x3a8f8c={'sqZoL':_0x42b648(0x134),'QTtoV':'SIGINT'};logger[_0x42b648(0x188)]({'event':_0x42b648(0x169),'signal':'SIGINT'},_0x3a8f8c['sqZoL']);try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x1c7921){logError(_0x1c7921,{'event':'oracle_shutdown_error','signal':_0x3a8f8c[_0x42b648(0x17b)]},_0x42b648(0x155)+_0x1c7921[_0x42b648(0x139)]),process['exit'](0x1);}}),process['on'](a0_0x4342a5(0x180),async()=>{const _0x51659b=a0_0x4342a5,_0x595ffc={'UkEfe':_0x51659b(0x140),'yhfxH':function(_0x442912,_0x468e1b,_0x7371ab,_0x54aae3){return _0x442912(_0x468e1b,_0x7371ab,_0x54aae3);},'xKVxC':_0x51659b(0x180)};logger['info']({'event':'oracle_shutdown','signal':'SIGTERM'},_0x595ffc['UkEfe']);try{await oracleDb[_0x51659b(0x16f)](),process['exit'](0x0);}catch(_0x7f73fc){_0x595ffc['yhfxH'](logError,_0x7f73fc,{'event':'oracle_shutdown_error','signal':_0x595ffc[_0x51659b(0x16e)]},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x7f73fc[_0x51659b(0x139)]),process[_0x51659b(0x15f)](0x1);}}),module[a0_0x4342a5(0x138)]=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
- const a0_0x2ea6c8=a0_0x2bd4;(function(_0x1663fd,_0x57024c){const _0xfe85f8=a0_0x2bd4,_0x29425a=_0x1663fd();while(!![]){try{const _0x4473ae=parseInt(_0xfe85f8(0x1b9))/0x1*(parseInt(_0xfe85f8(0x1b3))/0x2)+parseInt(_0xfe85f8(0x1ba))/0x3*(-parseInt(_0xfe85f8(0x1b0))/0x4)+-parseInt(_0xfe85f8(0x1c1))/0x5+parseInt(_0xfe85f8(0x1d2))/0x6+parseInt(_0xfe85f8(0x1af))/0x7+parseInt(_0xfe85f8(0x18c))/0x8+parseInt(_0xfe85f8(0x1d3))/0x9;if(_0x4473ae===_0x57024c)break;else _0x29425a['push'](_0x29425a['shift']());}catch(_0xb334cd){_0x29425a['push'](_0x29425a['shift']());}}}(a0_0x1ff5,0x32b9e));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');function a0_0x2bd4(_0x166379,_0x51c70c){_0x166379=_0x166379-0x18a;const _0x1ff50f=a0_0x1ff5();let _0x2bd455=_0x1ff50f[_0x166379];if(a0_0x2bd4['mrnAxF']===undefined){var _0x283119=function(_0x415e51){const _0x59286a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x234d02='',_0x302a0b='';for(let _0x5780d4=0x0,_0x24bf8d,_0x22eda0,_0x2331da=0x0;_0x22eda0=_0x415e51['charAt'](_0x2331da++);~_0x22eda0&&(_0x24bf8d=_0x5780d4%0x4?_0x24bf8d*0x40+_0x22eda0:_0x22eda0,_0x5780d4++%0x4)?_0x234d02+=String['fromCharCode'](0xff&_0x24bf8d>>(-0x2*_0x5780d4&0x6)):0x0){_0x22eda0=_0x59286a['indexOf'](_0x22eda0);}for(let _0x3a9165=0x0,_0x3fadc9=_0x234d02['length'];_0x3a9165<_0x3fadc9;_0x3a9165++){_0x302a0b+='%'+('00'+_0x234d02['charCodeAt'](_0x3a9165)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x302a0b);};a0_0x2bd4['IuLmyn']=_0x283119,a0_0x2bd4['exgpSc']={},a0_0x2bd4['mrnAxF']=!![];}const _0x100454=_0x1ff50f[0x0],_0x442b99=_0x166379+_0x100454,_0x21186c=a0_0x2bd4['exgpSc'][_0x442b99];return!_0x21186c?(_0x2bd455=a0_0x2bd4['IuLmyn'](_0x2bd455),a0_0x2bd4['exgpSc'][_0x442b99]=_0x2bd455):_0x2bd455=_0x21186c,_0x2bd455;}class SqliteDatabase{constructor(){const _0x4852e0=a0_0x2bd4;this['db']=null,this[_0x4852e0(0x1c4)]=process[_0x4852e0(0x1c0)]['DB_NAME']||_0x4852e0(0x197),this['busyTimeout']=parseInt(process[_0x4852e0(0x1c0)][_0x4852e0(0x199)]||_0x4852e0(0x1ce)),logDatabaseConfig({'database':this[_0x4852e0(0x1c4)],'type':_0x4852e0(0x1be),'busyTimeout':this['busyTimeout']});}['initializeDatabase'](){const _0x197b28=a0_0x2bd4,_0x41a981={'sCKIH':_0x197b28(0x191),'ezaJb':'foreign_keys\x20=\x20ON','IUxyw':function(_0x264a8d,_0xab0de,_0x4e498a,_0x568f16){return _0x264a8d(_0xab0de,_0x4e498a,_0x568f16);}};try{const _0x1366a=_0x41a981[_0x197b28(0x1aa)]['split']('|');let _0x1e1de6=0x0;while(!![]){switch(_0x1366a[_0x1e1de6++]){case'0':this[_0x197b28(0x1d4)]();continue;case'1':this['db']['pragma'](_0x41a981[_0x197b28(0x1d9)]);continue;case'2':this['db']['pragma']('journal_mode\x20=\x20WAL');continue;case'3':this['db']=new Database(this[_0x197b28(0x1c4)],{'timeout':this['busyTimeout']});continue;case'4':if(this['db']){logger['debug']({'event':'sqlite_db_exists'},_0x197b28(0x196));return;}continue;}break;}}catch(_0x404875){_0x41a981['IUxyw'](logError,_0x404875,{'event':'sqlite_init_error'},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x404875['message']);throw _0x404875;}}['testConnection'](){const _0x177522=a0_0x2bd4,_0x17c1bc={'qtSSu':_0x177522(0x1b6),'CsDAD':_0x177522(0x1a1),'kABmi':'sqlite_connection_test_failed'};try{logger[_0x177522(0x1a2)]({'event':_0x17c1bc[_0x177522(0x1ac)]},'Testing\x20SQLite\x20database\x20connection...'),this['db']['prepare'](_0x17c1bc['CsDAD'])['get']();}catch(_0x1e1b84){logError(_0x1e1b84,{'event':_0x17c1bc[_0x177522(0x18d)]},_0x177522(0x1b1)+_0x1e1b84['message']);throw _0x1e1b84;}}async['executeQuery'](_0x77e485,_0x1e7b2e=[]){const _0x72768f=a0_0x2bd4,_0x4e84dc={'MDJHM':function(_0x203017){return _0x203017();},'IbRsk':function(_0x102b64,_0x48f7e8){return _0x102b64||_0x48f7e8;},'qcRIA':'sqlite','pQZgv':function(_0x328e3d,_0x439ea6,_0x205ad2,_0x81e501){return _0x328e3d(_0x439ea6,_0x205ad2,_0x81e501);},'ZbLkS':'sql_error'},_0x52b832=_0x4e84dc[_0x72768f(0x1a9)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x338ccb=this['db']['prepare'](_0x77e485),_0x544ff2=/\bRETURNING\b/i[_0x72768f(0x1bc)](_0x77e485),_0x518feb=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x77e485);let _0x15c3b1,_0x441471;if(_0x4e84dc['IbRsk'](_0x518feb,_0x544ff2)){const _0x585284=_0x338ccb['all'](..._0x1e7b2e),_0x561369=_0x52b832();return logQuery(_0x77e485,_0x1e7b2e,{'duration':_0x561369,'rowsAffected':_0x585284[_0x72768f(0x195)],'dbType':_0x4e84dc['qcRIA']}),_0x585284;}else{const _0x1138fa=_0x338ccb[_0x72768f(0x1a8)](..._0x1e7b2e),_0x366b61=_0x4e84dc[_0x72768f(0x1a9)](_0x52b832);return _0x15c3b1={'rowsAffected':_0x1138fa[_0x72768f(0x1bf)],'insertId':_0x1138fa[_0x72768f(0x1cc)]},_0x4e84dc[_0x72768f(0x194)](logQuery,_0x77e485,_0x1e7b2e,{'duration':_0x366b61,'rowsAffected':_0x1138fa[_0x72768f(0x1bf)],'dbType':_0x4e84dc['qcRIA']}),_0x15c3b1;}}catch(_0x262c4f){const _0x52ad81=_0x4e84dc[_0x72768f(0x1a9)](_0x52b832);_0x4e84dc[_0x72768f(0x194)](logError,_0x262c4f,{'event':_0x4e84dc[_0x72768f(0x19a)],'query':_0x77e485[_0x72768f(0x1ab)](0x0,0x1f4),'paramCount':_0x1e7b2e['length'],'durationMs':_0x52ad81,'code':_0x262c4f['code'],'dbType':'sqlite'},_0x72768f(0x19c)+_0x262c4f[_0x72768f(0x1cd)]);throw _0x262c4f;}}async[a0_0x2ea6c8(0x190)](_0x274c45){const _0x43a3fa=a0_0x2ea6c8,_0x41d137={'iBfIh':'sqlite','Wuzfh':function(_0x44832f){return _0x44832f();},'yjrdP':function(_0x100b2d){return _0x100b2d();},'tApyb':function(_0x3138b9,_0x437a2a,_0x4f698c){return _0x3138b9(_0x437a2a,_0x4f698c);},'EJprE':_0x43a3fa(0x1c7),'tFmpx':function(_0x33b11c,_0x3e7835){return _0x33b11c(_0x3e7835);},'IlpJt':function(_0x1a480b){return _0x1a480b();},'sWPxl':_0x43a3fa(0x1a7),'iwVeF':'transaction_complete','Mgzab':function(_0x4490ac){return _0x4490ac();},'coLrF':_0x43a3fa(0x1a6),'AAPcJ':function(_0x12003e,_0x4c0806,_0x12d184,_0x575c7d){return _0x12003e(_0x4c0806,_0x12d184,_0x575c7d);},'ychAN':_0x43a3fa(0x18a)},_0x38b640=_0x41d137['yjrdP'](startQueryTimer);try{!this['db']&&this[_0x43a3fa(0x1ca)]();_0x41d137['tApyb'](logTransaction,_0x41d137['EJprE'],_0x274c45['length']);const _0x3fe759=this['db']['transaction'](_0x571501=>{const _0x430255=_0x43a3fa,_0x411ac6=[];for(const _0x140a46 of _0x571501){const _0x4b37c2=startQueryTimer(),_0x22bb4e=_0x140a46[_0x430255(0x192)]||[],_0x52063d=this['db']['prepare'](_0x140a46['sql']),_0x781a3e=/\bRETURNING\b/i['test'](_0x140a46['sql']),_0x59b892=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x430255(0x1bc)](_0x140a46[_0x430255(0x1c8)]);if(_0x59b892||_0x781a3e){const _0x202514=_0x52063d[_0x430255(0x1c3)](..._0x22bb4e),_0x488e99=_0x4b37c2();logQuery(_0x140a46[_0x430255(0x1c8)],_0x22bb4e,{'duration':_0x488e99,'rowsAffected':_0x202514['length'],'dbType':_0x41d137[_0x430255(0x1d0)]}),_0x411ac6['push'](_0x202514);}else{const _0x23ab1e=_0x52063d[_0x430255(0x1a8)](..._0x22bb4e),_0x5f5dbd=_0x41d137['Wuzfh'](_0x4b37c2);logQuery(_0x140a46[_0x430255(0x1c8)],_0x22bb4e,{'duration':_0x5f5dbd,'rowsAffected':_0x23ab1e['changes'],'dbType':_0x41d137[_0x430255(0x1d0)]}),_0x411ac6['push']({'rowsAffected':_0x23ab1e[_0x430255(0x1bf)],'insertId':_0x23ab1e[_0x430255(0x1cc)]});}}return _0x411ac6;}),_0x6534d5=_0x41d137['tFmpx'](_0x3fe759,_0x274c45),_0x227444=_0x41d137[_0x43a3fa(0x1b2)](_0x38b640);return logTransaction(_0x41d137['sWPxl'],_0x274c45['length']),logger['info']({'event':_0x41d137[_0x43a3fa(0x1cb)],'queryCount':_0x274c45[_0x43a3fa(0x195)],'totalDurationMs':_0x227444,'dbType':_0x41d137[_0x43a3fa(0x1d0)]},_0x43a3fa(0x193)+_0x227444+_0x43a3fa(0x18b)+_0x274c45[_0x43a3fa(0x195)]+_0x43a3fa(0x19d)),_0x6534d5;}catch(_0x2f7c2d){const _0x14e631=_0x41d137[_0x43a3fa(0x1c5)](_0x38b640);_0x41d137[_0x43a3fa(0x18e)](logTransaction,_0x41d137[_0x43a3fa(0x1b4)],_0x274c45[_0x43a3fa(0x195)]),_0x41d137[_0x43a3fa(0x1d1)](logError,_0x2f7c2d,{'event':_0x41d137[_0x43a3fa(0x1ae)],'queryCount':_0x274c45[_0x43a3fa(0x195)],'totalDurationMs':_0x14e631,'code':_0x2f7c2d[_0x43a3fa(0x1a4)],'dbType':_0x41d137[_0x43a3fa(0x1d0)]},_0x43a3fa(0x18f)+_0x2f7c2d['message']);throw _0x2f7c2d;}}['getPool'](){const _0x38750f=a0_0x2ea6c8;return!this['db']&&this[_0x38750f(0x1ca)](),this['db'];}[a0_0x2ea6c8(0x1c6)](){const _0x1882de=a0_0x2ea6c8,_0x5b1a3f={'pUZeR':'sqlite_closing','LiImC':_0x1882de(0x1a5),'Wjcij':'sqlite_closed','rfhNv':_0x1882de(0x1c9),'nKTCR':function(_0x468514,_0x1fa76e,_0x219d44,_0x17be69){return _0x468514(_0x1fa76e,_0x219d44,_0x17be69);}};try{this['db']&&(logger[_0x1882de(0x198)]({'event':_0x5b1a3f['pUZeR']},_0x5b1a3f['LiImC']),this['db']['close'](),this['db']=null,logger['info']({'event':_0x5b1a3f[_0x1882de(0x1d7)]},_0x5b1a3f['rfhNv']));}catch(_0x475007){_0x5b1a3f['nKTCR'](logError,_0x475007,{'event':_0x1882de(0x1b5)},'Error\x20closing\x20SQLite\x20database:\x20'+_0x475007[_0x1882de(0x1cd)]);throw _0x475007;}}async['checkConnection'](){const _0x533286=a0_0x2ea6c8,_0x20ebe7={'HaSzi':'SELECT\x201','BWZDj':function(_0x1a4c5e,_0x449720,_0x2ec693,_0x482ada){return _0x1a4c5e(_0x449720,_0x2ec693,_0x482ada);}};try{return!this['db']&&this[_0x533286(0x1ca)](),this['db'][_0x533286(0x1a0)](_0x20ebe7[_0x533286(0x1d5)])[_0x533286(0x19e)](),!![];}catch(_0x555503){return _0x20ebe7['BWZDj'](logError,_0x555503,{'event':_0x533286(0x1bd)},_0x533286(0x1c2)+_0x555503[_0x533286(0x1cd)]),![];}}}const sqliteDb=new SqliteDatabase();process['on'](a0_0x2ea6c8(0x1b7),()=>{const _0x17f2f0=a0_0x2ea6c8,_0x3d7b35={'FfLjq':_0x17f2f0(0x1b8),'HJOfG':'SIGINT'};logger[_0x17f2f0(0x198)]({'event':_0x3d7b35[_0x17f2f0(0x1ad)],'signal':'SIGINT'},_0x17f2f0(0x1bb));try{sqliteDb['closePool'](),process[_0x17f2f0(0x19b)](0x0);}catch(_0x7d9c47){logError(_0x7d9c47,{'event':'sqlite_shutdown_error','signal':_0x3d7b35[_0x17f2f0(0x1d8)]},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x7d9c47[_0x17f2f0(0x1cd)]),process['exit'](0x1);}}),process['on']('SIGTERM',()=>{const _0x1a6e1e=a0_0x2ea6c8,_0x1b990c={'gauCN':'sqlite_shutdown','TMCNo':_0x1a6e1e(0x1a3),'xsUza':_0x1a6e1e(0x1cf)};logger[_0x1a6e1e(0x198)]({'event':_0x1b990c['gauCN'],'signal':'SIGTERM'},_0x1b990c[_0x1a6e1e(0x19f)]);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x1c7d2e){logError(_0x1c7d2e,{'event':_0x1a6e1e(0x1d6),'signal':_0x1b990c['xsUza']},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x1c7d2e[_0x1a6e1e(0x1cd)]),process['exit'](0x1);}}),module['exports']=sqliteDb;function a0_0x1ff5(){const _0x4dfd33=['Cxrtu3u','rMzmANe','EwnOqu4','mtKWmZu2nK5WsLHVrW','mtq4DfbTD2Ty','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','swXWsNq','nde2mKPyvePKza','y29mCKy','C3fSAxrLx2nSB3nLx2vYCM9Y','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','u0Lhsu5u','C3fSAxrLx3nODxrKB3DU','mtaZsLL3A056','mtm5mtDxqNzKALC','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','DgvZDa','C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i','C3fSAxrL','y2HHBMDLCW','zw52','mtK4otGYnwrkvujHra','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','ywXS','zgjqyxrO','twD6ywi','y2XVC2vqB29S','C3rHCNq','C3fS','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','Aw5PDgLHBgL6zurHDgfIyxnL','AxDwzuy','BgfZDeLUC2vYDfjVD2LK','BwvZC2fNzq','ntaWma','u0Lhvevstq','AujMswG','qufqy0O','mtaWmtG3ngzsD3HowG','mZu1mZm4q2XkwuLb','DgvZDenVBM5Ly3rPB24','sgftEMK','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','v2PJAwO','sePpzKC','zxPHsMi','DhjHBNnHy3rPB25FzxjYB3i','BxmSia','nJC3mtiWEK96ruPN','A0fcBwK','DefWEwi','vhjHBNnHy3rPB24GzMfPBgvKoIa','zxHLy3v0zvrYyw5Zywn0Aw9U','nhWZFdj8mxWW','CgfYyw1Z','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','CffAz3y','BgvUz3rO','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','lI9KyxrHl3jLC3rMB3jNzs5KyG','Aw5MBW','rejFqLvtwv9usu1ft1vu','wMjmA1m','zxHPDa','u1fmAxrLifnrtcbfCNjVCJOG','ihf1zxjPzxmP','z2v0','ve1dtM8','ChjLCgfYzq','u0vmrunuideGyxmGDgvZDf9JB25Uzwn0Aw9U','zgvIDwC','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','y29Kzq','q2XVC2LUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','CM9SBgjHy2S','y29TBwL0','CNvU','turkse0','C0nlsuG','C3vIC3rYAw5N'];a0_0x1ff5=function(){return _0x4dfd33;};return a0_0x1ff5();}
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_0x34a3bc=a0_0x5128;(function(_0x2fe324,_0x4a7328){const _0x55459=a0_0x5128,_0x3de92b=_0x2fe324();while(!![]){try{const _0x20f37d=parseInt(_0x55459(0x1fa))/0x1*(parseInt(_0x55459(0x1d9))/0x2)+-parseInt(_0x55459(0x208))/0x3*(parseInt(_0x55459(0x1d2))/0x4)+-parseInt(_0x55459(0x214))/0x5*(parseInt(_0x55459(0x1f9))/0x6)+parseInt(_0x55459(0x1e9))/0x7*(parseInt(_0x55459(0x21d))/0x8)+-parseInt(_0x55459(0x1ea))/0x9*(parseInt(_0x55459(0x1f5))/0xa)+parseInt(_0x55459(0x201))/0xb*(-parseInt(_0x55459(0x1cb))/0xc)+-parseInt(_0x55459(0x227))/0xd*(-parseInt(_0x55459(0x204))/0xe);if(_0x20f37d===_0x4a7328)break;else _0x3de92b['push'](_0x3de92b['shift']());}catch(_0xa707){_0x3de92b['push'](_0x3de92b['shift']());}}}(a0_0x47cd,0x5631f));const ExcelJS=require(a0_0x34a3bc(0x1ec)),{logger}=require('./logger');function a0_0x5128(_0x45463d,_0x2a73c0){_0x45463d=_0x45463d-0x1c2;const _0x47cda6=a0_0x47cd();let _0x5128b2=_0x47cda6[_0x45463d];if(a0_0x5128['nzeUOQ']===undefined){var _0x2f58d4=function(_0x19d0a6){const _0x1fd5a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3183db='',_0x208b55='';for(let _0x451ac9=0x0,_0xf503bc,_0x2a4e12,_0x72d72a=0x0;_0x2a4e12=_0x19d0a6['charAt'](_0x72d72a++);~_0x2a4e12&&(_0xf503bc=_0x451ac9%0x4?_0xf503bc*0x40+_0x2a4e12:_0x2a4e12,_0x451ac9++%0x4)?_0x3183db+=String['fromCharCode'](0xff&_0xf503bc>>(-0x2*_0x451ac9&0x6)):0x0){_0x2a4e12=_0x1fd5a9['indexOf'](_0x2a4e12);}for(let _0x472769=0x0,_0x30173c=_0x3183db['length'];_0x472769<_0x30173c;_0x472769++){_0x208b55+='%'+('00'+_0x3183db['charCodeAt'](_0x472769)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x208b55);};a0_0x5128['cbncJF']=_0x2f58d4,a0_0x5128['hfitbm']={},a0_0x5128['nzeUOQ']=!![];}const _0x47f2a2=_0x47cda6[0x0],_0x425226=_0x45463d+_0x47f2a2,_0x14203b=a0_0x5128['hfitbm'][_0x425226];return!_0x14203b?(_0x5128b2=a0_0x5128['cbncJF'](_0x5128b2),a0_0x5128['hfitbm'][_0x425226]=_0x5128b2):_0x5128b2=_0x14203b,_0x5128b2;}class ExcelGenerator{constructor(){const _0xa23d83=a0_0x34a3bc;this['chunkSize']=parseInt(process['env'][_0xa23d83(0x21a)],0xa)||0x3e8;}async['generate'](_0x12ed82){const _0x383d96=a0_0x34a3bc,_0x5ea83a={'yKHnS':'excel_generation_start','FgnNK':'Excel\x20generation\x20started','NWFOb':function(_0x297ce1,_0x5ebc21){return _0x297ce1<=_0x5ebc21;}},{data:_0x128113,columns:_0x2dd654,columnFormats:_0x319969,fieldLabels:_0x132115,filePath:_0x232423,onProgress:_0x50ae1b}=_0x12ed82;logger[_0x383d96(0x1d4)]({'event':_0x5ea83a[_0x383d96(0x20d)],'rows':_0x128113[_0x383d96(0x220)],'columns':_0x2dd654?.['length']||_0x383d96(0x1df),'columnFormats':_0x319969?Object['keys'](_0x319969):null,'fieldLabels':_0x132115?Object[_0x383d96(0x1f7)](_0x132115):null,'streaming':_0x128113[_0x383d96(0x220)]>this[_0x383d96(0x21e)]},_0x5ea83a['FgnNK']);if(_0x5ea83a[_0x383d96(0x1d8)](_0x128113[_0x383d96(0x220)],this['chunkSize']))return await this['generateSimple'](_0x128113,_0x2dd654,_0x319969,_0x132115,_0x232423,_0x50ae1b);return await this[_0x383d96(0x1fd)](_0x128113,_0x2dd654,_0x319969,_0x132115,_0x232423,_0x50ae1b);}async['generateSimple'](_0x50b827,_0x52dd65,_0x517704,_0x2f385c,_0x104899,_0x5f454f){const _0x17f905=a0_0x34a3bc,_0x150b84={'GyrDn':_0x17f905(0x1e1),'srwQH':'pattern','GMlxT':'solid','YmqHP':'FF4472C4','duCkk':_0x17f905(0x1ca),'uoctI':_0x17f905(0x213),'lfMbv':function(_0x502605,_0x381fbf){return _0x502605(_0x381fbf);},'LYvNe':'excel_generation_complete','kSJHA':'Excel\x20generated\x20(simple\x20method)'},_0x1dd82e=new ExcelJS['Workbook'](),_0x3ccf30=_0x1dd82e[_0x17f905(0x1cc)]('Data'),_0x2f84ab=_0x52dd65||(_0x50b827[_0x17f905(0x220)]>0x0?Object['keys'](_0x50b827[0x0]):[]);_0x3ccf30['columns']=_0x2f84ab[_0x17f905(0x202)](_0x545319=>{const _0x5b899d=_0x17f905,_0x3031ae={'header':this['formatHeader'](_0x545319,_0x2f385c),'key':_0x545319,'width':0x14};if(_0x517704&&_0x517704[_0x545319]){const _0x1158d9=_0x517704[_0x545319];if(_0x1158d9[_0x5b899d(0x1c4)]&&_0x1158d9[_0x5b899d(0x1c4)][_0x5b899d(0x218)]()!==_0x5b899d(0x1e7)){const _0x7fa951=this['getExcelFormat'](_0x1158d9);_0x7fa951&&(_0x3031ae['style']={'numFmt':_0x7fa951});}}return _0x3031ae;}),_0x3ccf30['getRow'](0x1)['font']={'bold':!![],'color':{'argb':_0x150b84['GyrDn']}},_0x3ccf30[_0x17f905(0x1cf)](0x1)['fill']={'type':_0x150b84['srwQH'],'pattern':_0x150b84[_0x17f905(0x211)],'fgColor':{'argb':_0x150b84['YmqHP']}},_0x3ccf30['getRow'](0x1)['alignment']={'vertical':'middle','horizontal':_0x150b84[_0x17f905(0x223)]};const _0x53a461=_0x517704?this['preprocessTextColumns'](_0x50b827,_0x2f84ab,_0x517704):_0x50b827;return _0x3ccf30[_0x17f905(0x222)](_0x53a461),_0x517704&&this['applyCellFormatting'](_0x3ccf30,_0x2f84ab,_0x517704,_0x50b827['length']),_0x5f454f&&await _0x5f454f(0x32),_0x3ccf30[_0x17f905(0x1fe)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x2f84ab['length']}},_0x3ccf30[_0x17f905(0x203)]=[{'state':_0x150b84['uoctI'],'xSplit':0x0,'ySplit':0x1}],await _0x1dd82e[_0x17f905(0x1c3)]['writeFile'](_0x104899),_0x5f454f&&await _0x150b84['lfMbv'](_0x5f454f,0x64),logger['info']({'event':_0x150b84[_0x17f905(0x1ee)],'method':_0x17f905(0x1e6),'rows':_0x50b827['length']},_0x150b84['kSJHA']),_0x104899;}async[a0_0x34a3bc(0x1fd)](_0x86871b,_0x414fd9,_0x1a87cc,_0x51a4d5,_0x251cd0,_0x478e52){const _0xfc190f=a0_0x34a3bc,_0xf8bc71={'vVFNO':'date','grZqN':function(_0x2aae31,_0x357312){return _0x2aae31>_0x357312;},'LsFIN':'middle','KPAFF':_0xfc190f(0x1ca),'PNCIQ':function(_0x22c996,_0x20241e){return _0x22c996<_0x20241e;},'CyGbO':function(_0x39adcf,_0x2e2e70){return _0x39adcf*_0x2e2e70;},'uOUjB':function(_0x24250e,_0x41b1b8){return _0x24250e(_0x41b1b8);},'yvwcu':'excel_generation_complete'},_0x31912b=new ExcelJS['stream']['xlsx']['WorkbookWriter']({'filename':_0x251cd0,'useStyles':!![],'useSharedStrings':!![]}),_0x5a73e2=_0x31912b['addWorksheet'](_0xfc190f(0x210)),_0x4ca60a=_0x414fd9||(_0xf8bc71[_0xfc190f(0x1f1)](_0x86871b['length'],0x0)?Object[_0xfc190f(0x1f7)](_0x86871b[0x0]):[]),_0x267053={};_0x4ca60a['forEach']((_0x22e33a,_0x2adfee)=>{_0x267053[_0x22e33a]=_0x2adfee+0x1;}),_0x5a73e2['columns']=_0x4ca60a[_0xfc190f(0x202)](_0x18d285=>{const _0x36e969=_0xfc190f,_0x5c82b7={'header':this['formatHeader'](_0x18d285,_0x51a4d5),'key':_0x18d285,'width':0x14};if(_0x1a87cc&&_0x1a87cc[_0x18d285]){const _0x431eae=_0x1a87cc[_0x18d285];if(_0x431eae['type']&&_0x431eae[_0x36e969(0x1c4)]['toLowerCase']()!==_0xf8bc71['vVFNO']){const _0x332f21=this['getExcelFormat'](_0x431eae);_0x332f21&&(_0x5c82b7['style']={'numFmt':_0x332f21});}}return _0x5c82b7;});const _0x1de25f=_0x5a73e2['getRow'](0x1);_0x1de25f['font']={'bold':!![],'color':{'argb':'FFFFFFFF'}},_0x1de25f[_0xfc190f(0x1e0)]={'type':_0xfc190f(0x21f),'pattern':_0xfc190f(0x20f),'fgColor':{'argb':_0xfc190f(0x1fb)}},_0x1de25f['alignment']={'vertical':_0xf8bc71[_0xfc190f(0x1ef)],'horizontal':_0xf8bc71[_0xfc190f(0x1e2)]},_0x1de25f[_0xfc190f(0x229)]();const _0x2954a7=_0x86871b['length'];let _0xfe0a7d=0x0;for(let _0x7b1d7d=0x0;_0xf8bc71['PNCIQ'](_0x7b1d7d,_0x2954a7);_0x7b1d7d+=this['chunkSize']){const _0x3dce8d=_0x86871b[_0xfc190f(0x226)](_0x7b1d7d,_0x7b1d7d+this[_0xfc190f(0x21e)]);for(const _0x34596b of _0x3dce8d){const _0x2db146=_0x1a87cc?this['preprocessTextRow'](_0x34596b,_0x4ca60a,_0x1a87cc):_0x34596b,_0xfcc0ff=_0x5a73e2['addRow'](_0x2db146);_0x1a87cc&&this[_0xfc190f(0x206)](_0xfcc0ff,_0x2db146,_0x4ca60a,_0x1a87cc),_0xfcc0ff['commit'](),_0xfe0a7d++;}if(_0x478e52){const _0x3ccfa0=Math[_0xfc190f(0x1d1)](_0xf8bc71[_0xfc190f(0x1c6)](_0xfe0a7d/_0x2954a7,0x64));await _0xf8bc71['uOUjB'](_0x478e52,_0x3ccfa0);}logger['debug']({'event':'excel_chunk_processed','processed':_0xfe0a7d,'total':_0x2954a7},_0xfc190f(0x1eb)+_0xfe0a7d+'/'+_0x2954a7+'\x20rows');}return _0x5a73e2['commit'](),await _0x31912b['commit'](),logger[_0xfc190f(0x1d4)]({'event':_0xf8bc71[_0xfc190f(0x225)],'method':_0xfc190f(0x1c5),'rows':_0x2954a7,'chunks':Math['ceil'](_0x2954a7/this[_0xfc190f(0x21e)])},_0xfc190f(0x1d0)),_0x251cd0;}[a0_0x34a3bc(0x205)](_0x12bcb0,_0x13942e){const _0x5452ea=a0_0x34a3bc;if(_0x13942e&&_0x13942e[_0x12bcb0])return _0x13942e[_0x12bcb0];return String(_0x12bcb0)[_0x5452ea(0x1dd)]();}['validateColumns'](_0xfed060,_0x5c77a0){const _0x5de147=a0_0x34a3bc,_0x305387={'FWnhE':function(_0x1f294f,_0x391d65){return _0x1f294f>_0x391d65;}};if(!_0x5c77a0||_0x5c77a0['length']===0x0)return!![];if(_0xfed060[_0x5de147(0x220)]===0x0)return!![];const _0x225bb7=Object['keys'](_0xfed060[0x0]),_0xc55c32=_0x5c77a0['filter'](_0x4e4cf8=>!_0x225bb7['includes'](_0x4e4cf8));if(_0x305387[_0x5de147(0x221)](_0xc55c32['length'],0x0))throw new Error('Invalid\x20columns:\x20'+_0xc55c32['join'](',\x20'));return!![];}['getExcelFormat'](_0xda190e){const _0x53b15d=a0_0x34a3bc,_0x54eab2={'oPcgt':function(_0x296c32,_0x1b2fb7){return _0x296c32||_0x1b2fb7;},'mecAC':'#,##0.00','KToFh':'currency','PDMrj':_0x53b15d(0x1de)};if(!_0xda190e||!_0xda190e['type'])return null;const {type:_0x35b8f6,format:_0x56a7f2}=_0xda190e;switch(_0x35b8f6[_0x53b15d(0x218)]()){case _0x53b15d(0x1e7):return _0x56a7f2?_0x56a7f2[_0x53b15d(0x218)]():_0x53b15d(0x20b);case _0x53b15d(0x1e5):return _0x54eab2['oPcgt'](_0x56a7f2,_0x54eab2[_0x53b15d(0x1c2)]);case _0x54eab2[_0x53b15d(0x219)]:return _0x56a7f2||_0x53b15d(0x1d6);case _0x54eab2[_0x53b15d(0x1cd)]:return _0x56a7f2||_0x53b15d(0x1f0);case'text':return'@';default:return null;}}[a0_0x34a3bc(0x1db)](_0x5f4177,_0x27662c,_0x4f651c,_0x486a72){const _0x5385d0=a0_0x34a3bc,_0x2a8dfb={'iTuRn':function(_0x1e934d,_0x4b5293){return _0x1e934d<=_0x4b5293;}};if(!_0x4f651c)return;_0x27662c[_0x5385d0(0x207)]((_0x36e8f3,_0x5b5132)=>{const _0x166b2d=_0x5385d0,_0x185171=_0x4f651c[_0x36e8f3];if(!_0x185171)return;const _0x1393fd=_0x5b5132+0x1;for(let _0x201a93=0x2;_0x2a8dfb[_0x166b2d(0x216)](_0x201a93,_0x486a72+0x1);_0x201a93++){const _0x16008c=_0x5f4177[_0x166b2d(0x1e8)](_0x201a93,_0x1393fd);this[_0x166b2d(0x1f8)](_0x16008c,_0x185171);}});}['applyRowFormatting'](_0x30505f,_0x2ada17,_0x1761f1,_0x2ac735){const _0x5f2500=a0_0x34a3bc,_0x1d50f4={'CcCfS':function(_0x33f2d4,_0x1da526){return _0x33f2d4+_0x1da526;}};if(!_0x2ac735)return;_0x1761f1[_0x5f2500(0x207)]((_0x1d1d03,_0x2affc3)=>{const _0x29b1de=_0x5f2500,_0x2f6bc7=_0x2ac735[_0x1d1d03];if(!_0x2f6bc7)return;const _0x39cbf7=_0x30505f[_0x29b1de(0x1e8)](_0x1d50f4[_0x29b1de(0x212)](_0x2affc3,0x1));this['formatCell'](_0x39cbf7,_0x2f6bc7);});}[a0_0x34a3bc(0x1f8)](_0x52dbbd,_0xd0e80a){const _0x1f48a3=a0_0x34a3bc,_0x1f2f5d={'pfnuK':_0x1f48a3(0x1e7),'vGLQL':'currency','ItTLT':function(_0x342eac,_0x38f30a){return _0x342eac===_0x38f30a;},'EFnlW':function(_0x5082fb,_0x1554a1){return _0x5082fb!==_0x1554a1;},'Uchgu':function(_0x51ecc0,_0x4ae9f2){return _0x51ecc0(_0x4ae9f2);}};if(!_0xd0e80a||!_0xd0e80a[_0x1f48a3(0x1c4)])return;const {type:_0x5a54b6,format:_0x29b942}=_0xd0e80a;if(_0x5a54b6['toLowerCase']()===_0x1f2f5d['pfnuK']&&_0x52dbbd[_0x1f48a3(0x217)]){const _0x2543b1=this[_0x1f48a3(0x21b)](_0x52dbbd['value'],_0x29b942);_0x2543b1&&(_0x52dbbd[_0x1f48a3(0x217)]=_0x2543b1);return;}if((_0x5a54b6[_0x1f48a3(0x218)]()==='number'||_0x5a54b6[_0x1f48a3(0x218)]()===_0x1f2f5d['vGLQL']||_0x1f2f5d[_0x1f48a3(0x20a)](_0x5a54b6[_0x1f48a3(0x218)](),'percentage'))&&_0x52dbbd['value']){const _0x525507=this[_0x1f48a3(0x1ed)](_0x52dbbd[_0x1f48a3(0x217)]);if(_0x1f2f5d['EFnlW'](_0x525507,null)){_0x52dbbd['value']=_0x525507;const _0x3c2107=this[_0x1f48a3(0x1e4)](_0xd0e80a);_0x3c2107&&(_0x52dbbd['numFmt']=_0x3c2107);}}_0x1f2f5d['ItTLT'](_0x5a54b6[_0x1f48a3(0x218)](),'text')&&_0x52dbbd[_0x1f48a3(0x217)]&&(_0x52dbbd[_0x1f48a3(0x1f3)]='@',typeof _0x52dbbd['value']!=='string'&&(_0x52dbbd[_0x1f48a3(0x217)]=_0x1f2f5d[_0x1f48a3(0x228)](String,_0x52dbbd['value'])),_0x52dbbd['alignment']={'horizontal':_0x1f48a3(0x1ce),'vertical':_0x1f48a3(0x215)});}['formatDateString'](_0x19c6e1,_0x15c5c6){const _0x2d414c=a0_0x34a3bc,_0x1a08c3={'PPbbx':function(_0x3a1b1f,_0x589e81,_0x36038c){return _0x3a1b1f(_0x589e81,_0x36038c);},'nfWKT':function(_0x4e1753,_0x48e6f1){return _0x4e1753===_0x48e6f1;},'fNNEF':_0x2d414c(0x1e5),'deWnr':function(_0x1f9dc1,_0x4d6a6f){return _0x1f9dc1(_0x4d6a6f);},'prkMF':function(_0x1e94df,_0x9fd4ef){return _0x1e94df+_0x9fd4ef;},'DvmVa':function(_0x1c2d2e,_0xf23ad){return _0x1c2d2e||_0xf23ad;},'TveJd':function(_0xeb8ed6,_0x12cdfb){return _0xeb8ed6(_0x12cdfb);},'IbLcu':_0x2d414c(0x1ff),'nlcMW':function(_0x47c036,_0x175f05){return _0x47c036===_0x175f05;},'ryLVp':function(_0x3f05ab,_0x5b76af){return _0x3f05ab===_0x5b76af;},'ZQehR':_0x2d414c(0x1da),'DijGI':function(_0x78b7a5,_0x46b554){return _0x78b7a5===_0x46b554;}};if(!_0x19c6e1)return null;let _0xe10c9,_0x1eaa0e,_0x579c60;if(_0x19c6e1 instanceof Date)_0xe10c9=_0x19c6e1[_0x2d414c(0x1f4)](),_0x1eaa0e=_0x19c6e1[_0x2d414c(0x1d5)]()+0x1,_0x579c60=_0x19c6e1['getUTCDate']();else{if(typeof _0x19c6e1==='string'){const _0x4c7453=_0x19c6e1[_0x2d414c(0x200)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x4c7453)_0xe10c9=_0x1a08c3['PPbbx'](parseInt,_0x4c7453[0x1],0xa),_0x1eaa0e=parseInt(_0x4c7453[0x2],0xa),_0x579c60=parseInt(_0x4c7453[0x3],0xa);else{const _0x28536c=_0x19c6e1['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x28536c)_0x579c60=parseInt(_0x28536c[0x1],0xa),_0x1eaa0e=_0x1a08c3['PPbbx'](parseInt,_0x28536c[0x2],0xa),_0xe10c9=parseInt(_0x28536c[0x3],0xa);else{const _0xc372fb=_0x19c6e1['match'](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0xc372fb&&(_0xe10c9=parseInt(_0xc372fb[0x1],0xa),_0x1eaa0e=parseInt(_0xc372fb[0x2],0xa),_0x579c60=parseInt(_0xc372fb[0x3],0xa));}}}else{if(_0x1a08c3[_0x2d414c(0x1f2)](typeof _0x19c6e1,_0x1a08c3['fNNEF'])){const _0x4dae3e=new Date(_0x19c6e1);!_0x1a08c3[_0x2d414c(0x21c)](isNaN,_0x4dae3e['getTime']())&&(_0xe10c9=_0x4dae3e['getUTCFullYear'](),_0x1eaa0e=_0x1a08c3[_0x2d414c(0x209)](_0x4dae3e['getUTCMonth'](),0x1),_0x579c60=_0x4dae3e[_0x2d414c(0x20c)]());}}}if(_0x1a08c3['DvmVa'](!_0xe10c9,!_0x1eaa0e)||!_0x579c60)return null;const _0x248cbd=_0x1a08c3[_0x2d414c(0x20e)](String,_0x579c60)[_0x2d414c(0x1dc)](0x2,'0'),_0x2d5d14=_0x1a08c3['TveJd'](String,_0x1eaa0e)[_0x2d414c(0x1dc)](0x2,'0'),_0x316d7c=String(_0xe10c9),_0x505fbd=(_0x15c5c6||_0x1a08c3[_0x2d414c(0x1c7)])['toLowerCase']();if(_0x505fbd==='dd/mm/yyyy')return _0x248cbd+'/'+_0x2d5d14+'/'+_0x316d7c;else{if(_0x1a08c3[_0x2d414c(0x22a)](_0x505fbd,'mm/dd/yyyy'))return _0x2d5d14+'/'+_0x248cbd+'/'+_0x316d7c;else{if(_0x1a08c3['nlcMW'](_0x505fbd,_0x2d414c(0x1d3)))return _0x316d7c+'-'+_0x2d5d14+'-'+_0x248cbd;else{if(_0x1a08c3['ryLVp'](_0x505fbd,_0x1a08c3[_0x2d414c(0x1d7)]))return _0x248cbd+'-'+_0x2d5d14+'-'+_0x316d7c;else return _0x1a08c3['DijGI'](_0x505fbd,_0x2d414c(0x1fc))?_0x316d7c+'/'+_0x2d5d14+'/'+_0x248cbd:_0x248cbd+'/'+_0x2d5d14+'/'+_0x316d7c;}}}}[a0_0x34a3bc(0x1ed)](_0x4054d9){const _0x3bd1d8=a0_0x34a3bc,_0x3d189b={'gjCXa':'string','iFXcf':function(_0xad074,_0xc62545){return _0xad074(_0xc62545);}};if(typeof _0x4054d9==='number')return _0x4054d9;if(typeof _0x4054d9===_0x3d189b['gjCXa']){const _0x429444=_0x4054d9[_0x3bd1d8(0x224)](/[^\d.-]/g,''),_0x5d84c3=parseFloat(_0x429444);if(!_0x3d189b['iFXcf'](isNaN,_0x5d84c3))return _0x5d84c3;}return null;}['preprocessTextColumns'](_0xd1f145,_0x5af0a2,_0x46df3f){const _0x436395=a0_0x34a3bc,_0x59ad53={'TnWsB':function(_0x89148e,_0x4eaf2f){return _0x89148e(_0x4eaf2f);}};if(!_0x46df3f)return _0xd1f145;const _0x293193=[];_0x5af0a2[_0x436395(0x207)](_0x28a4b4=>{const _0x312891=_0x436395,_0x5019d6=_0x46df3f[_0x28a4b4];_0x5019d6&&_0x5019d6[_0x312891(0x1c4)]&&_0x5019d6['type'][_0x312891(0x218)]()==='text'&&_0x293193['push'](_0x28a4b4);});if(_0x293193['length']===0x0)return _0xd1f145;return _0xd1f145['map'](_0x3558a7=>{const _0x215b45={..._0x3558a7};return _0x293193['forEach'](_0x10f154=>{_0x215b45[_0x10f154]!==null&&_0x215b45[_0x10f154]!==undefined&&(_0x215b45[_0x10f154]='\x27'+_0x59ad53['TnWsB'](String,_0x215b45[_0x10f154]));}),_0x215b45;});}['preprocessTextRow'](_0x160415,_0x235dab,_0x6849f){const _0xa9396d=a0_0x34a3bc,_0x5aa96f={'jqDvs':_0xa9396d(0x1e3),'lrDRj':function(_0x378b10,_0x227133){return _0x378b10(_0x227133);},'jqUJU':function(_0x214581,_0x2ef793){return _0x214581===_0x2ef793;}};if(!_0x6849f)return _0x160415;const _0x503243=[];_0x235dab['forEach'](_0x5c5ced=>{const _0x10f2e1=_0xa9396d,_0x1938d7=_0x6849f[_0x5c5ced];_0x1938d7&&_0x1938d7['type']&&_0x1938d7['type'][_0x10f2e1(0x218)]()===_0x5aa96f[_0x10f2e1(0x1c8)]&&_0x503243[_0x10f2e1(0x1c9)](_0x5c5ced);});if(_0x5aa96f['jqUJU'](_0x503243['length'],0x0))return _0x160415;const _0x525c57={..._0x160415};return _0x503243[_0xa9396d(0x207)](_0x45f68f=>{_0x525c57[_0x45f68f]!==null&&_0x525c57[_0x45f68f]!==undefined&&(_0x525c57[_0x45f68f]='\x27'+_0x5aa96f['lrDRj'](String,_0x525c57[_0x45f68f]));}),_0x525c57;}}module[a0_0x34a3bc(0x1f6)]=ExcelGenerator;function a0_0x47cd(){const _0x185f41=['CM91BMq','mJbiAejlEe0','ExL5Es1TBs1Kza','Aw5MBW','z2v0vvrdtw9UDgG','iLjWiciJlcmJma','wLfLAfi','tLDgt2i','mZe0uwLqCg5b','zgqTBw0TExL5Eq','yxbWBhLdzwXSrM9YBwf0DgLUzW','CgfKu3rHCNq','Dg9vChbLCKnHC2u','CgvYy2vUDgfNzq','yxv0BW','zMLSBa','rKzgrKzgrKy','s1bbrKy','Dgv4Da','z2v0rxHJzwXgB3jTyxq','BNvTyMvY','C2LTCgXL','zgf0zq','z2v0q2vSBa','n0fLywfUtq','nZGZt21UqNHs','uhjVy2vZC2vKia','zxHJzwXQCW','CgfYC2voDw1Izxi','tfL2tMu','thngsu4','mc4Wmcu','z3jACu4','BMzxs1q','BNvTrM10','z2v0vvrdrNvSBfLLyxi','ndi1mZbTuvrVruK','zxHWB3j0CW','A2v5CW','zM9YBwf0q2vSBa','mZe2mtK0t3DlsMDe','mJu4ouvtq1bJEq','rKy0ndCYqZq','ExL5Es9TBs9Kza','z2vUzxjHDgvtDhjLyw1PBMC','yxv0B0zPBhrLCG','reqVtu0VwvLzwq','Bwf0y2G','mJeWmvn6DhP6Eq','BwfW','DMLLD3m','mJy1odC0CfnbB1vX','zM9YBwf0sgvHzgvY','yxbWBhLsB3DgB3jTyxr0Aw5N','zM9YrwfJAa','mZy2ode5DKTKwgXc','ChjRtuy','sxrutfq','zgqVBw0VExL5Eq','z2v0vvrdrgf0zq','EuTiBLm','vhzLsMq','C29SAwq','rgf0yq','r01SEfq','q2ndzLm','zNjVEMvU','nuvHDvPnCG','BwLKzgXL','Avr1uM4','DMfSDwu','Dg9mB3DLCKnHC2u','s1rVrMG','rvHqt1jux0nivu5lx1njwKu','zM9YBwf0rgf0zvn0CMLUzW','zgvxBNi','ndKYmJe1mMDMBNDVBG','y2H1BMTtAxPL','Cgf0DgvYBG','BgvUz3rO','rLDUAeu','ywrKuM93CW','zhvdA2S','CMvWBgfJzq','Exz3y3u','C2XPy2u','ndu1sfDXBfbT','vwnOz3u','y29TBwL0','BMXJtvC','BwvJqum','EgXZEa','DhLWzq','C3rYzwfTAw5N','q3LhyK8','swjmy3u','ANfeDNm','ChvZAa','y2vUDgvY','mtG4mdrdBfP5shi','ywrKv29YA3nOzwv0','uernCMO','BgvMDa','z2v0uM93','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq'];a0_0x47cd=function(){return _0x185f41;};return a0_0x47cd();}
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_0x1ccf31=a0_0x2eec;(function(_0x35a75c,_0xaf7c13){const _0xe2e331=a0_0x2eec,_0x2af154=_0x35a75c();while(!![]){try{const _0x181204=parseInt(_0xe2e331(0x7c))/0x1*(-parseInt(_0xe2e331(0x8e))/0x2)+-parseInt(_0xe2e331(0x6d))/0x3*(parseInt(_0xe2e331(0x91))/0x4)+-parseInt(_0xe2e331(0x83))/0x5*(-parseInt(_0xe2e331(0x82))/0x6)+-parseInt(_0xe2e331(0x8a))/0x7+parseInt(_0xe2e331(0x70))/0x8+-parseInt(_0xe2e331(0x75))/0x9*(-parseInt(_0xe2e331(0x84))/0xa)+parseInt(_0xe2e331(0x76))/0xb;if(_0x181204===_0xaf7c13)break;else _0x2af154['push'](_0x2af154['shift']());}catch(_0x941fe9){_0x2af154['push'](_0x2af154['shift']());}}}(a0_0x1cec,0x27a52));function a0_0x1cec(){const _0x1bd084=['B1bPDhm','zgT2tNO','mte3mZzmuvbmr0G','nZe1mtqZmfLMDNDVwG','z2v0tw9UDgG','BM9YBwfSAxPLq2vSBfzHBhvL','CgfKu3rHCNq','BgvUz3rO','jdfFjdi','nJfSvwv4vMC','qwD3Cha','AhbYr24','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','zxHWB3j0CW','z2v0rgf0zq','mJK5nJrAAwviugi','mtmWDLHNsuvr','ndbKCg5nv00','CgfYC2vfEgnLBezPBgu','BwfW','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu','Aw5MBW','DhjPBq','oty1mZC3tLflzg9m','D29YA3nOzwv0CW','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','zwfJAfjVDW','otuXogDHBwrSCG','EgXZEa','EwjXDfy','mte0oer4zLPhtq','zM9YrwfJAa','sgLtAKu','C2XPy2u','BwvZC2fNzq','mJi4mefABezMrW','AgfZ','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','mtG4mJa4rK5nB1vj','Dgv4Da','zxHJzwXQCW'];a0_0x1cec=function(){return _0x1bd084;};return a0_0x1cec();}const ExcelJS=require(a0_0x1ccf31(0x72)),{logger}=require('./logger');function a0_0x2eec(_0x5a27ef,_0x2c9c13){_0x5a27ef=_0x5a27ef-0x6b;const _0x1cec3b=a0_0x1cec();let _0x2eecf1=_0x1cec3b[_0x5a27ef];if(a0_0x2eec['QglWwm']===undefined){var _0x563cf0=function(_0x316a5d){const _0x18c7b9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd547c7='',_0x1f96bf='';for(let _0x2e6800=0x0,_0x255d40,_0x386bf6,_0x4894b1=0x0;_0x386bf6=_0x316a5d['charAt'](_0x4894b1++);~_0x386bf6&&(_0x255d40=_0x2e6800%0x4?_0x255d40*0x40+_0x386bf6:_0x386bf6,_0x2e6800++%0x4)?_0xd547c7+=String['fromCharCode'](0xff&_0x255d40>>(-0x2*_0x2e6800&0x6)):0x0){_0x386bf6=_0x18c7b9['indexOf'](_0x386bf6);}for(let _0x3f3902=0x0,_0x39a5d1=_0xd547c7['length'];_0x3f3902<_0x39a5d1;_0x3f3902++){_0x1f96bf+='%'+('00'+_0xd547c7['charCodeAt'](_0x3f3902)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f96bf);};a0_0x2eec['gzfTpD']=_0x563cf0,a0_0x2eec['VBhutw']={},a0_0x2eec['QglWwm']=!![];}const _0x5e083d=_0x1cec3b[0x0],_0x21d7ba=_0x5a27ef+_0x5e083d,_0x1c1090=a0_0x2eec['VBhutw'][_0x21d7ba];return!_0x1c1090?(_0x2eecf1=a0_0x2eec['gzfTpD'](_0x2eecf1),a0_0x2eec['VBhutw'][_0x21d7ba]=_0x2eecf1):_0x2eecf1=_0x1c1090,_0x2eecf1;}class ExcelParser{async[a0_0x1ccf31(0x85)](_0x29599d){const _0x47fd26=a0_0x1ccf31,_0x369589={'iUnAj':function(_0x323d83,_0x378440){return _0x323d83===_0x378440;},'RllUk':_0x47fd26(0x87),'MNrIf':'Failed\x20to\x20parse\x20Excel\x20file'};try{const _0x22da7f=new ExcelJS['Workbook']();await _0x22da7f[_0x47fd26(0x8f)]['readFile'](_0x29599d);const _0x4f126e=_0x22da7f[_0x47fd26(0x8b)][0x0];if(!_0x4f126e)throw new Error(_0x369589['RllUk']);const _0x4aa230=[];let _0x242708=[];return _0x4f126e[_0x47fd26(0x8d)]((_0x4cdae6,_0x10beda)=>{const _0x5a9b55=_0x47fd26,_0x57af58=_0x4cdae6['values'];if(_0x369589['iUnAj'](_0x10beda,0x1))_0x242708=_0x57af58[_0x5a9b55(0x6b)](0x1)['map'](_0xe7a719=>this['normalizeHeader'](_0xe7a719));else{const _0x1180de={};_0x242708[_0x5a9b55(0x92)]((_0x841e0f,_0x538b49)=>{const _0x512fcd=_0x5a9b55,_0xbf67e6=_0x57af58[_0x538b49+0x1];_0x1180de[_0x841e0f]=this[_0x512fcd(0x78)](_0xbf67e6);}),_0x4aa230['push'](_0x1180de);}}),logger[_0x47fd26(0x88)]({'event':'excel_parsed','filePath':_0x29599d,'totalRows':_0x4aa230['length'],'headers':_0x242708[_0x47fd26(0x7a)]},_0x47fd26(0x8c)),{'headers':_0x242708,'rows':_0x4aa230,'totalRows':_0x4aa230[_0x47fd26(0x7a)]};}catch(_0x5b7c18){logger['error']({'event':'excel_parse_error','filePath':_0x29599d,'error':_0x5b7c18[_0x47fd26(0x6c)]},_0x369589['MNrIf']);throw new Error(_0x47fd26(0x7f)+_0x5b7c18['message']);}}['normalizeHeader'](_0x4f9094){const _0x54bac2=a0_0x1ccf31,_0x1f6d5c={'VvWDc':function(_0x29d432,_0x2967fd){return _0x29d432===_0x2967fd;},'IObKW':function(_0x5a34ff,_0x5e117d){return _0x5a34ff(_0x5e117d);}};if(_0x1f6d5c['VvWDc'](_0x4f9094,null)||_0x1f6d5c['VvWDc'](_0x4f9094,undefined))return'';let _0x5cf6a0=_0x1f6d5c['IObKW'](String,_0x4f9094)[_0x54bac2(0x89)]();return _0x5cf6a0=_0x5cf6a0['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x54bac2(0x7b))['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase'](),_0x5cf6a0;}['normalizeCellValue'](_0x7f0426){const _0x528a0f=a0_0x1ccf31,_0x28997e={'TeUAu':function(_0x32faed,_0x5e95d6){return _0x32faed===_0x5e95d6;},'dkvNz':function(_0x2bb1ac,_0x466b66){return _0x2bb1ac===_0x466b66;},'ybqtV':function(_0x1f05b7,_0xada413){return _0x1f05b7(_0xada413);},'gzUQK':function(_0x5d9a73,_0x114356){return _0x5d9a73+_0x114356;},'xRqlG':function(_0x314e0a,_0x1f3a82){return _0x314e0a(_0x1f3a82);},'Agwpp':function(_0x3612b3,_0x152e1d){return _0x3612b3===_0x152e1d;},'oPits':'string','HiSjE':function(_0x2e34d4,_0x595a4d){return _0x2e34d4(_0x595a4d);},'bHSnh':'object','hprGn':function(_0x127b9e,_0x431aee){return _0x127b9e!==_0x431aee;}};if(_0x28997e['TeUAu'](_0x7f0426,null)||_0x28997e[_0x528a0f(0x74)](_0x7f0426,undefined))return null;if(_0x7f0426 instanceof Date){const _0x17c512=_0x7f0426['getFullYear'](),_0x3a0dbb=_0x28997e[_0x528a0f(0x90)](String,_0x28997e['gzUQK'](_0x7f0426[_0x528a0f(0x77)](),0x1))[_0x528a0f(0x79)](0x2,'0'),_0x2fa00f=_0x28997e['xRqlG'](String,_0x7f0426[_0x528a0f(0x81)]())['padStart'](0x2,'0');return _0x17c512+'-'+_0x3a0dbb+'-'+_0x2fa00f;}if(_0x28997e[_0x528a0f(0x7d)](typeof _0x7f0426,_0x28997e[_0x528a0f(0x73)])){const _0x554b8e=_0x7f0426['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x554b8e){const _0x1654e2=_0x28997e['HiSjE'](String,_0x554b8e[0x1])[_0x528a0f(0x79)](0x2,'0'),_0x1b27c2=_0x28997e[_0x528a0f(0x93)](String,_0x554b8e[0x2])[_0x528a0f(0x79)](0x2,'0'),_0x343d34=_0x554b8e[0x3];return _0x343d34+'-'+_0x1b27c2+'-'+_0x1654e2;}}if(_0x7f0426&&typeof _0x7f0426==='object'&&_0x7f0426['richText'])return _0x7f0426['richText'][_0x528a0f(0x86)](_0x441244=>_0x441244[_0x528a0f(0x71)])['join']('');if(_0x7f0426&&typeof _0x7f0426===_0x28997e['bHSnh']&&_0x28997e[_0x528a0f(0x7e)](_0x7f0426['result'],undefined))return this[_0x528a0f(0x78)](_0x7f0426['result']);if(typeof _0x7f0426==='string')return _0x7f0426['trim']();return _0x7f0426;}[a0_0x1ccf31(0x6f)](_0xe9926e,_0xd6fbc1){const _0x50e598=a0_0x1ccf31,_0x2b86af=new Set(_0xe9926e),_0x5d9b13=new Set(_0xd6fbc1),_0x2e81c8=_0xd6fbc1['filter'](_0x1f2909=>!_0x2b86af[_0x50e598(0x6e)](_0x1f2909)),_0x410604=_0xe9926e['filter'](_0xd46fa5=>!_0x5d9b13['has'](_0xd46fa5)),_0x1e1932=_0x2e81c8[_0x50e598(0x7a)]===0x0;return{'valid':_0x1e1932,'missingFields':_0x2e81c8,'extraFields':_0x410604};}}module[a0_0x1ccf31(0x80)]=new ExcelParser();
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
- function a0_0x31ba(){const _0x5826a8=['iefticGkicaGifnftevdvca','BNnjzMK','zuveveS','lI9LEgnLBc1Nzw5LCMf0B3i','Dg9tDhjPBMC','y3DK','ieLoicG','zxHWB3j0lq','ChjVz3jLC3m','Dg9mB3DLCKnHC2u','AxnbCNjHEq','AM9PBG','ieLtie5pvcbovuXm','sg56teG','mtjPyuDMDKG','lI4VlI4VzxHWB3j0CY8','EK9zthm','CgLLq08','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','Aw5JBhvKzxm','Aw5MBW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zMLSDgvY','thvHsMq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','yNvPBgrpCMrLCKj5q2XHDxnL','cLDirvjfia','nde3nZC2A3Ptq09S','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','BLP1EuG','CgvUzgLUzW','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zw52','sxfdvhO','zMv0y2HeyxrH','ignOyxjZkq','zxHWB3j0x2zPBgvFzgvSzxrLza','z2v0qwXSsM9ICW','AgXMwhO','tK9uieXjs0u','CMvZB2X2zuv4Cg9YDff1zxj5','rhzYyMO','yNvPBgrxAgvYzunSyxvZzq','C2fUAxrPEMvwywX1zq','nJa1mZm4offsteHYrG','tuznuw8','zxHWB3j0x2PVyL9JCMvHDgvK','EfDWsfu','C3rHCNrZv2L0Aa','tu9ezwu','svmGtLvmta','ieLtie5vteW','zxHWB3j0rgLY','BgvUz3rO','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','z2v0sM9I','rxHWB3j0igPVyIbJCMvHDgvK','DhjPBq','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','zxHWB3j0x3bYB2nLC3nFzxjYB3i','qvHYAeq','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','s3D4ELu','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zgvSzxrLsM9I','cIaGicaGicaG','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','C3rYAw5N','zxHWB3j0x2zLDgnOx3n0yxj0','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mta3CNPAtLDX','zMXVB3i','z2v0sM9Iu3rHDhvZ','vxnPBMCG','t0fdqvy','qun3tgG','CM91BMq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ru5pru5u','zgvMyxvSDa','BMvyB3K','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zw5KCg9PBNroyw1L','BwfW','y29SDw1UCW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','CgfYyw1Z','tgvctg0','A29TyK0','ChjVy2vZC0PVyG','CMvWBgfJzq','x2v4Cg9YDerPCG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','y29UzgL0Aw9UCW','v0Lusca','ChjVy2vZC2LUzW','ndqWndy1mhnSz0f6vq','Eunuu1C','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','BwvZC2fNzq','teHdwhG','zxHLy3v0zvf1zxj5','v3zjBue','tKjrsMy','zxHWB3j0x2nSzwfUDxbFC3rHCNq','ndGZnJy3mLbhBeDAsG','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','z2v0rMLSzvbHDgG','ywnJzxnZ','z2vUzxjHDgvfEgnLBa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','rxHWB3j0igzPBguGBM90igzVDw5K','y29TCgXLDgvK','Dg9vChbLCKnHC2u','C3vIC3rYAw5N','zMLSzv9WyxrO','zMLSzw5HBwu','D2fYBG','DxbKyxrLsM9I','mtq5otq0meHHzu1UrG','CNbjrM4','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','BgLvzLm','uhfMwvi','qNvgsw4','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','y2HHCKf0','zxHPC3rZu3LUyW','mJm3mJqWntbAuevsBxq','id0G','zxHWB3j0x2zHAwXLza','DxvPza','ntaZnLnNDhfZra','C2v0sM9I','y2f0y2G','Agnyz3G','Aw52ywXPzf9JB25KAxrPB24','y3jLyxrLzf9HDa','n0vOzfPrva','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Aunmvhi','cK9srevsiejzia','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK'];a0_0x31ba=function(){return _0x5826a8;};return a0_0x31ba();}const a0_0x2da729=a0_0x58c9;(function(_0x37f791,_0x2c6e2f){const _0x40daf9=a0_0x58c9,_0x169d4c=_0x37f791();while(!![]){try{const _0x52422e=parseInt(_0x40daf9(0x191))/0x1*(parseInt(_0x40daf9(0x1cf))/0x2)+-parseInt(_0x40daf9(0x1e8))/0x3*(-parseInt(_0x40daf9(0x1f5))/0x4)+-parseInt(_0x40daf9(0x1ab))/0x5+parseInt(_0x40daf9(0x176))/0x6*(-parseInt(_0x40daf9(0x1d5))/0x7)+parseInt(_0x40daf9(0x1c2))/0x8+-parseInt(_0x40daf9(0x1b4))/0x9+parseInt(_0x40daf9(0x1cb))/0xa;if(_0x52422e===_0x2c6e2f)break;else _0x169d4c['push'](_0x169d4c['shift']());}catch(_0x1ffe86){_0x169d4c['push'](_0x169d4c['shift']());}}}(a0_0x31ba,0xc8259));const {v7:uuidv7}=require(a0_0x2da729(0x1ce)),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0x2da729(0x184)),dbType=(process[a0_0x2da729(0x1fa)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../database/db-oracle');executeQuery=(_0x3418ac,_0x489a81)=>oracleDb['executeQuery'](_0x3418ac,_0x489a81);}else{if(dbType==='mysql'){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x23ff70,_0x27ff38)=>mysqlDb['executeQuery'](_0x23ff70,_0x27ff38);}else executeQuery=require('../../core/utils/db')[a0_0x2da729(0x1b0)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x2da729(0x17e)](){const _0x49d5fd=a0_0x2da729,_0x380525={'zmwcE':'export_service_init','zOYLs':'Export\x20service\x20initialized','dpYEU':_0x49d5fd(0x1c8)};if(!this[_0x49d5fd(0x1a6)]){const _0x4e54f4=process['env'][_0x49d5fd(0x1ef)]||_0x49d5fd(0x19a);this[_0x49d5fd(0x1a6)]=process[_0x49d5fd(0x1fa)]['EXPORT_DIR']||path['join'](__dirname,_0x49d5fd(0x1e9)+_0x4e54f4);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this[_0x49d5fd(0x1a6)],{'recursive':!![]}),logger[_0x49d5fd(0x1ee)]({'event':_0x380525['zmwcE'],'dir':this['_exportDir']},_0x380525[_0x49d5fd(0x1ea)]);}catch(_0x190520){logError(_0x190520,{'event':_0x49d5fd(0x1ec)},_0x380525['dpYEU']);}}return this['_exportDir'];}['resolveExportQuery'](_0x4a0eac,_0x21e2df=null){const _0x440b91=a0_0x2da729,_0x3798e6={'MODee':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','lOiCm':'payload','NLFTM':'utf8','rpIFn':'export_query_file_loaded','CPawf':function(_0x4071f7,_0x30cd3e){return _0x4071f7===_0x30cd3e;}};if(!_0x4a0eac||typeof _0x4a0eac!==_0x440b91(0x18e))return _0x4a0eac;const _0x244ae7=_0x4a0eac[_0x440b91(0x183)]();if(!_0x244ae7['startsWith']('file:'))return _0x244ae7;const _0x55d910=_0x244ae7[_0x440b91(0x1a5)](/^file:/,'')['trim']();if(!_0x55d910)throw new Error(_0x3798e6[_0x440b91(0x17b)]);const _0x287054=_0x21e2df||path['join'](process[_0x440b91(0x1df)](),_0x3798e6['lOiCm']),_0x3aeebd=path['resolve'](_0x287054,_0x55d910);logger[_0x440b91(0x1ee)]({'event':_0x440b91(0x1f2),'relativePath':_0x55d910,'baseDir':_0x287054,'absolutePath':_0x3aeebd},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x55d910);if(!fsSync[_0x440b91(0x1ca)](_0x3aeebd))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x3aeebd);try{const _0x1bc1a2=fsSync['readFileSync'](_0x3aeebd,_0x3798e6['NLFTM']);if(!_0x1bc1a2||!_0x1bc1a2[_0x440b91(0x183)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x3aeebd);return logger['info']({'event':_0x3798e6[_0x440b91(0x1c3)],'file':_0x3aeebd,'queryLength':_0x1bc1a2[_0x440b91(0x17f)]},_0x440b91(0x1b5)+_0x1bc1a2[_0x440b91(0x17f)]+_0x440b91(0x16d)),_0x1bc1a2['trim']();}catch(_0x56230c){if(_0x3798e6['CPawf'](_0x56230c['code'],_0x440b91(0x199)))throw new Error(_0x440b91(0x180)+_0x3aeebd);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x56230c[_0x440b91(0x1ae)]);}}['generateJobId'](){const _0x1ee9e6=a0_0x2da729,_0x318494={'eEDTK':function(_0xdd6062,_0x3463c6){return _0xdd6062-_0x3463c6;},'woDAu':function(_0x50e7a7,_0x2ee66c){return _0x50e7a7+_0x2ee66c;}},_0x37964c='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x13de9c=Date['now']()[_0x1ee9e6(0x1de)](0x24),_0x15327f=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x318494[_0x1ee9e6(0x1dc)](0xc,_0x13de9c['length'])),_0x3f363a=_0x318494['woDAu'](_0x13de9c,_0x15327f)[_0x1ee9e6(0x1bd)](0x0,0xc);let _0x351c5d='';for(let _0x4fd0cb=0x0;_0x4fd0cb<0xc;_0x4fd0cb++){_0x3f363a[_0x4fd0cb]?_0x351c5d+=_0x3f363a[_0x4fd0cb]:_0x351c5d+=_0x37964c[_0x1ee9e6(0x1c9)](Math[_0x1ee9e6(0x192)](Math['random']()*_0x37964c['length']));}return _0x351c5d;}async['createJob'](_0x2ba29f){const _0x1c7618=a0_0x2da729,_0x52cf98={'LLzXY':function(_0x385eff,_0x1a0eb9,_0x204009,_0x3dbeae){return _0x385eff(_0x1a0eb9,_0x204009,_0x3dbeae);},'IXZOu':_0x1c7618(0x185),'yCTSW':'Export\x20processing\x20failed','KwxzU':_0x1c7618(0x178),'zgPUt':_0x1c7618(0x182)},_0x3da7c8=this['generateJobId'](),_0x3668a1={'job_id':_0x3da7c8,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2ba29f,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x1c7618(0x1d0)](_0x3da7c8,_0x3668a1),logger[_0x1c7618(0x1ee)]({'event':_0x52cf98[_0x1c7618(0x189)],'jobId':_0x3da7c8,'params':_0x2ba29f},_0x52cf98['zgPUt']),this[_0x1c7618(0x1a4)](_0x3da7c8,_0x2ba29f)[_0x1c7618(0x1d1)](_0x1bbd39=>{const _0x265d99=_0x1c7618;_0x52cf98['LLzXY'](logError,_0x1bbd39,{'event':_0x52cf98['IXZOu'],'jobId':_0x3da7c8},_0x52cf98[_0x265d99(0x1ac)]);}),{'job_id':_0x3da7c8,'status':_0x1c7618(0x1f8)};}async[a0_0x2da729(0x193)](_0x25f265){const _0x3ee068=a0_0x2da729,_0x2f11c1={'XuNbY':'Job\x20not\x20found\x20or\x20expired','sZAjq':function(_0x4a9161,_0x1b6e5b){return _0x4a9161===_0x1b6e5b;},'nzIFN':'completed'},_0xc29fc9=await redisHelper['getJob'](_0x25f265);if(!_0xc29fc9)return{'success':![],'error':_0x2f11c1['XuNbY']};return{'success':!![],'data':{'job_id':_0xc29fc9['job_id'],'status':_0xc29fc9['status'],'progress':_0xc29fc9[_0x3ee068(0x1e2)],'total_rows':_0xc29fc9['total_rows'],'processed_rows':_0xc29fc9['processed_rows'],'file_url':_0x2f11c1['sZAjq'](_0xc29fc9['status'],_0x2f11c1['nzIFN'])?'/api/'+_0xc29fc9[_0x3ee068(0x1a1)]['moduleName']+'/'+_0xc29fc9['params'][_0x3ee068(0x19d)]+'/export-download?job_id='+_0x25f265:null,'error':_0xc29fc9['error']||null,'created_at':_0xc29fc9['created_at'],'completed_at':_0xc29fc9['completed_at']||null}};}async['processJob'](_0x28a3e6,_0x20971e){const _0x389835=a0_0x2da729,_0x328b8f={'liUfS':_0x389835(0x1b9),'MFMQo':'Export\x20processing\x20started','pieCO':'export_completed','xWpHU':'failed'};try{await redisHelper['updateJob'](_0x28a3e6,{'status':_0x389835(0x1aa),'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x328b8f[_0x389835(0x1c5)],'jobId':_0x28a3e6},_0x328b8f[_0x389835(0x177)]);const _0xef4a58=await this[_0x389835(0x16c)](_0x20971e);await redisHelper['updateJob'](_0x28a3e6,{'total_rows':_0xef4a58['length']});const _0x4fdbee=await this[_0x389835(0x1b8)](_0x28a3e6,_0xef4a58,_0x20971e);await redisHelper[_0x389835(0x1c1)](_0x28a3e6,{'status':_0x389835(0x1bb),'progress':0x64,'file_path':_0x4fdbee,'completed_at':new Date()['toISOString']()}),logger[_0x389835(0x1ee)]({'event':_0x328b8f[_0x389835(0x1eb)],'jobId':_0x28a3e6,'rows':_0xef4a58[_0x389835(0x17f)]},_0x389835(0x188));}catch(_0x4f6522){logError(_0x4f6522,{'event':_0x389835(0x1cd),'jobId':_0x28a3e6},'Export\x20failed'),await redisHelper[_0x389835(0x1c1)](_0x28a3e6,{'status':_0x328b8f[_0x389835(0x179)],'error':_0x4f6522['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x33db3f){const _0x2e8d66=a0_0x2da729,_0x1cbc11={'Omuxw':'export_using_custom_query','msuGV':_0x2e8d66(0x1d9),'nXHgk':function(_0x337357,_0x25e46c){return _0x337357===_0x25e46c;},'WlUiK':_0x2e8d66(0x18f),'hgbgn':function(_0x343ac6,_0x3802b1){return _0x343ac6===_0x3802b1;},'OACAV':function(_0x528300,_0x98646c){return _0x528300>_0x98646c;},'NBQJf':'Data\x20fetched\x20successfully','tgZyv':function(_0x704dcf,_0x3b8fe0,_0x1e60de,_0x2f71d9){return _0x704dcf(_0x3b8fe0,_0x1e60de,_0x2f71d9);},'RZliq':'export_fetch_error'};try{const {tableName:_0x449084,columns:_0x4faa9e,exportQuery:_0xf5ab65,where:_0x520d29,sort_columns:_0x24d145}=_0x33db3f;if(!_0x449084||!_0x4faa9e||_0x4faa9e[_0x2e8d66(0x17f)]===0x0)throw new Error(_0x2e8d66(0x187));const _0x138b55=_0x449084[_0x2e8d66(0x1a5)](/\./g,'_')+'_data';let _0x38d39e;if(_0xf5ab65&&_0xf5ab65['trim']()){let _0x141a2b=_0xf5ab65;_0xf5ab65[_0x2e8d66(0x183)]()[_0x2e8d66(0x17a)]('file:')&&(_0x141a2b=this[_0x2e8d66(0x172)](_0xf5ab65)),_0x38d39e='WITH\x20'+_0x138b55+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x141a2b+'\x0a)',logger['info']({'event':_0x1cbc11['Omuxw'],'query':_0x141a2b[_0x2e8d66(0x1bd)](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x64be97=_0x4faa9e['map'](_0x2ffdb0=>_0x2e8d66(0x18c)+_0x2ffdb0)['join'](',');_0x38d39e=_0x2e8d66(0x1a9)+_0x138b55+_0x2e8d66(0x1da)+_0x64be97+'\x0a\x20\x20\x20\x20FROM\x20'+_0x449084+'\x0a)',logger['info']({'event':_0x1cbc11['msuGV'],'tableName':_0x449084,'columnCount':_0x4faa9e['length']},_0x2e8d66(0x198));}const _0x4fc952=!_0x4faa9e||_0x4faa9e[_0x2e8d66(0x17f)]===0x0||_0x4faa9e[_0x2e8d66(0x17f)]===0x1&&(_0x1cbc11['nXHgk'](_0x4faa9e[0x0],'*')||_0x1cbc11['nXHgk'](_0x4faa9e[0x0][_0x2e8d66(0x1e3)](),'all')),_0x41501b=_0x4fc952?'*':_0x4faa9e[_0x2e8d66(0x1e5)](',\x20');_0x38d39e+='\x0aSELECT\x20'+_0x41501b+'\x0aFROM\x20'+_0x138b55;if(_0x520d29){const _0x46c2da=this[_0x2e8d66(0x174)](_0x520d29);_0x46c2da&&(_0x38d39e+=_0x2e8d66(0x1f4)+_0x46c2da);}if(_0x24d145&&_0x24d145[_0x2e8d66(0x17f)]>0x0){const _0x38ef2d=this['buildOrderByClause'](_0x24d145);_0x38ef2d&&(_0x38d39e+=_0x2e8d66(0x1d8)+_0x38ef2d);}logger['info']({'event':_0x1cbc11['WlUiK'],'query':_0x38d39e[_0x2e8d66(0x1bd)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x52cc55=await executeQuery(_0x38d39e);let _0x277bbd=_0x52cc55;return _0x1cbc11['hgbgn'](dbType,'oracle')&&_0x52cc55&&_0x1cbc11[_0x2e8d66(0x195)](_0x52cc55[_0x2e8d66(0x17f)],0x0)&&(_0x277bbd=_0x52cc55[_0x2e8d66(0x19e)](_0x248dbb=>{const _0x251752=_0x2e8d66,_0x3a7908={};for(const [_0x50222c,_0x2c09f3]of Object['entries'](_0x248dbb)){_0x3a7908[_0x50222c[_0x251752(0x1e3)]()]=_0x2c09f3;}return _0x3a7908;})),logger['info']({'event':_0x2e8d66(0x18d),'rows':_0x277bbd[_0x2e8d66(0x17f)]},_0x1cbc11[_0x2e8d66(0x1b2)]),_0x277bbd;}catch(_0x3c31c9){_0x1cbc11['tgZyv'](logError,_0x3c31c9,{'event':_0x1cbc11['RZliq']},'Failed\x20to\x20fetch\x20data');throw _0x3c31c9;}}[a0_0x2da729(0x175)](_0x526a8d){const _0x46c7bd=a0_0x2da729,_0x326f5a={'Lijrx':_0x46c7bd(0x18e)};if(typeof _0x526a8d===_0x326f5a['Lijrx'])return _0x526a8d[_0x46c7bd(0x1a5)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x526a8d))return _0x526a8d[_0x46c7bd(0x19e)](_0x2793c5=>this[_0x46c7bd(0x175)](_0x2793c5));}return _0x526a8d;}[a0_0x2da729(0x174)](_0x4f7bfe){const _0x5816a4=a0_0x2da729,_0x3d71db={'nrGvg':_0x5816a4(0x18e),'OONYs':function(_0x1447bb,_0x16ccc5){return _0x1447bb||_0x16ccc5;},'EpSms':_0x5816a4(0x18a),'iCLTr':function(_0x43b80b,_0x52b13){return _0x43b80b===_0x52b13;},'HiUDl':'LIKE','Dvrbj':'Unknown\x20operator,\x20using\x20=\x20as\x20default','WvImA':function(_0x33446f,_0x219018){return _0x33446f===_0x219018;},'QfGpV':'\x20OR\x20','eBCvo':'\x20AND\x20'};if(!_0x4f7bfe||!_0x4f7bfe['conditions']||_0x3d71db[_0x5816a4(0x1b1)](_0x4f7bfe[_0x5816a4(0x1a8)]['length'],0x0))return'';const {logic:_0x206734,conditions:_0x276e58}=_0x4f7bfe,_0x354f48=_0x206734&&_0x206734[_0x5816a4(0x1bc)]()==='OR'?_0x3d71db['QfGpV']:_0x3d71db['eBCvo'],_0x41e458=_0x276e58['map'](_0x435255=>{const _0x1854cb=_0x5816a4,_0x5e4881={'dyMlT':_0x3d71db['nrGvg']},{key:_0x329a2a,operator:_0xe49c39,value:_0x1dbf76,sensitive:_0x274ff4}=_0x435255;if(_0x3d71db['OONYs'](!_0x329a2a,!_0xe49c39))return logger[_0x1854cb(0x1c0)]({'event':_0x1854cb(0x1d3),'condition':_0x435255},_0x3d71db['EpSms']),null;const _0x4b1d52=this[_0x1854cb(0x175)](_0x1dbf76),_0x9ab527=_0x274ff4!==undefined?_0x274ff4:!![];let _0xbc006e=_0x329a2a,_0x3a25db=_0x4b1d52;!_0x9ab527&&(_0xbc006e='UPPER('+_0x329a2a+')',typeof _0x1dbf76===_0x1854cb(0x18e)&&(_0x3a25db=_0x1dbf76['toUpperCase']()));const _0x3c0a53=_0x3d71db[_0x1854cb(0x1d7)](typeof _0x3a25db,'string')?'\x27'+_0x3a25db['replace'](/'/g,'\x27\x27')+'\x27':_0x3a25db;switch(_0xe49c39['toUpperCase']()){case'=':case'!=':case'<>':return _0xbc006e+'\x20'+_0xe49c39+'\x20'+_0x3c0a53;case'>':case'<':case'>=':case'<=':const _0x2803f9=typeof _0x4b1d52===_0x3d71db['nrGvg']?'\x27'+_0x4b1d52[_0x1854cb(0x1a5)](/'/g,'\x27\x27')+'\x27':_0x4b1d52;return _0x329a2a+'\x20'+_0xe49c39+'\x20'+_0x2803f9;case _0x3d71db['HiUDl']:case _0x1854cb(0x171):return _0xbc006e+'\x20'+_0xe49c39+'\x20'+_0x3c0a53;case'IN':if(Array[_0x1854cb(0x1e4)](_0x4b1d52)){let _0x38b1db;return!_0x9ab527?_0x38b1db=_0x4b1d52[_0x1854cb(0x19e)](_0xe9f82e=>{const _0x1dc6ab=typeof _0xe9f82e===_0x5e4881['dyMlT']?_0xe9f82e['toUpperCase']():_0xe9f82e;return typeof _0x1dc6ab==='string'?'\x27'+_0x1dc6ab['replace'](/'/g,'\x27\x27')+'\x27':_0x1dc6ab;})['join'](',\x20'):_0x38b1db=_0x4b1d52['map'](_0x47bf4d=>typeof _0x47bf4d==='string'?'\x27'+_0x47bf4d[_0x1854cb(0x1a5)](/'/g,'\x27\x27')+'\x27':_0x47bf4d)[_0x1854cb(0x1e5)](',\x20'),_0xbc006e+_0x1854cb(0x1e0)+_0x38b1db+')';}return _0xbc006e+'\x20IN\x20('+_0x3c0a53+')';case _0x1854cb(0x17c):return _0x329a2a+_0x1854cb(0x17d);case'IS\x20NOT\x20NULL':return _0x329a2a+_0x1854cb(0x1e6);default:logger['warn']({'event':'unknown_operator','operator':_0xe49c39},_0x3d71db[_0x1854cb(0x173)]);return _0xbc006e+_0x1854cb(0x1cc)+_0x3c0a53;}})['filter'](_0x56d593=>_0x56d593!==null);if(_0x41e458[_0x5816a4(0x17f)]===0x0)return'';return _0x41e458['join'](_0x354f48);}[a0_0x2da729(0x1f3)](_0x4e2200){const _0x393db7=a0_0x2da729,_0x15ec4d={'nsIfi':_0x393db7(0x1c4),'kombM':'DESC','AXrhD':function(_0x36af6b,_0x11afcf){return _0x36af6b===_0x11afcf;},'nOxqD':function(_0x13ed50,_0x240799){return _0x13ed50===_0x240799;}};if(!_0x4e2200||_0x15ec4d[_0x393db7(0x186)](_0x4e2200['length'],0x0))return'';const _0x449a59=_0x4e2200[_0x393db7(0x19e)](_0x4df0d2=>{const _0x1101ac=_0x393db7,{column:_0x1766ba,direction:_0x1c1948}=_0x4df0d2;if(!_0x1766ba)return logger['warn']({'event':'invalid_order','item':_0x4df0d2},_0x15ec4d[_0x1101ac(0x1db)]),null;const _0x597f79=_0x1c1948&&_0x1c1948[_0x1101ac(0x1bc)]()===_0x15ec4d['kombM']?_0x15ec4d[_0x1101ac(0x1a3)]:'ASC';return _0x1766ba+'\x20'+_0x597f79;})['filter'](_0xd9ddcd=>_0xd9ddcd!==null);if(_0x15ec4d['nOxqD'](_0x449a59[_0x393db7(0x17f)],0x0))return'';return _0x449a59['join'](',\x20');}async[a0_0x2da729(0x1b8)](_0xbbbea7,_0x57a1a9,_0x36545a){const _0x173317=a0_0x2da729,_0x201960={'ACwLh':function(_0x4e1528,_0xe2899e){return _0x4e1528/_0xe2899e;},'NgaHd':function(_0x344540,_0x208f81){return _0x344540(_0x208f81);},'IqCTz':_0x173317(0x1dd),'HnzLH':function(_0x52e8e2,_0x5aaa11){return _0x52e8e2===_0x5aaa11;},'LHCXx':function(_0x55d6d2,_0x21570d){return _0x55d6d2===_0x21570d;},'VarhN':'all','VKfnG':function(_0x1566c4,_0x32ca2b){return _0x1566c4>_0x32ca2b;},'snfUi':function(_0x5895b6,_0x3769db){return _0x5895b6>_0x3769db;},'LeBLm':function(_0x318d9c,_0x5a44b6){return _0x318d9c>_0x5a44b6;},'jMtpR':'excel_columns_fallback','nZuyH':'excel_columns_from_query_result','hlfXz':'excel_columns_from_config'},_0x5e1b56=_0x201960['NgaHd'](require,_0x201960[_0x173317(0x16b)]),_0x2f1210=new _0x5e1b56(),_0x59a6ee=_0x36545a[_0x173317(0x1bf)]?_0x36545a['filename']+'-'+_0xbbbea7:_0x173317(0x1e1)+_0xbbbea7,_0x9009d8=path['join'](this['exportDir'],_0x59a6ee+'.xlsx');let _0x51f5ba=_0x36545a[_0x173317(0x19f)];const _0x225a36=_0x51f5ba&&_0x51f5ba[_0x173317(0x17f)]===0x1&&(_0x201960[_0x173317(0x1e7)](_0x51f5ba[0x0],'*')||_0x201960[_0x173317(0x1af)](_0x51f5ba[0x0]['toLowerCase'](),_0x201960['VarhN']));if(_0x201960['VKfnG'](_0x57a1a9[_0x173317(0x17f)],0x0)){const _0x576daa=Object['keys'](_0x57a1a9[0x0]);if(_0x225a36)_0x51f5ba=_0x576daa,logger['info']({'event':_0x173317(0x19c),'columns':_0x51f5ba},'Using\x20all\x20'+_0x51f5ba[_0x173317(0x17f)]+_0x173317(0x190));else{if(_0x51f5ba&&_0x201960['snfUi'](_0x51f5ba['length'],0x0)){const _0x2332aa=_0x51f5ba[_0x173317(0x1f0)](_0x9f749a=>_0x576daa[_0x173317(0x1ed)](_0x9f749a));_0x201960[_0x173317(0x1a2)](_0x2332aa['length'],0x0)?(_0x51f5ba=_0x2332aa,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0x36545a[_0x173317(0x19f)],'validColumns':_0x51f5ba},_0x173317(0x194)+_0x51f5ba['length']+'\x20columns\x20from\x20request')):(_0x51f5ba=_0x576daa,logger[_0x173317(0x1c0)]({'event':_0x201960['jMtpR'],'requestedColumns':_0x36545a[_0x173317(0x19f)],'availableColumns':_0x576daa},_0x173317(0x1ad)+_0x576daa[_0x173317(0x17f)]+'\x20columns'));}else _0x51f5ba=_0x576daa,logger['info']({'event':_0x201960[_0x173317(0x1f7)],'columns':_0x51f5ba},'Using\x20'+_0x51f5ba[_0x173317(0x17f)]+_0x173317(0x1f6));}}else logger[_0x173317(0x1ee)]({'event':_0x201960[_0x173317(0x170)],'columns':_0x51f5ba},_0x173317(0x194)+(_0x51f5ba?.[_0x173317(0x17f)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x2f1210['generate']({'data':_0x57a1a9,'columns':_0x51f5ba,'columnFormats':_0x36545a['columnFormats']||null,'fieldLabels':_0x36545a['fieldLabels']||null,'filePath':_0x9009d8,'onProgress':async _0x2f81a0=>{const _0x372b61=_0x173317;await redisHelper['updateJob'](_0xbbbea7,{'progress':Math[_0x372b61(0x197)](_0x2f81a0),'processed_rows':Math['round'](_0x201960[_0x372b61(0x196)](_0x2f81a0,0x64)*_0x57a1a9[_0x372b61(0x17f)])});}}),_0x9009d8;}async[a0_0x2da729(0x1b6)](_0x54434f){const _0x4e2ec1=a0_0x2da729,_0x90957e={'BuFIn':function(_0x5a429d,_0x4980e1){return _0x5a429d!==_0x4980e1;},'PqfYR':'completed','hcXgx':_0x4e2ec1(0x1ba)},_0x12526d=await redisHelper[_0x4e2ec1(0x181)](_0x54434f);if(!_0x12526d||_0x90957e[_0x4e2ec1(0x1c7)](_0x12526d['status'],_0x90957e[_0x4e2ec1(0x1c6)]))return null;try{return await fs[_0x4e2ec1(0x1b7)](_0x12526d['file_path']),_0x12526d[_0x4e2ec1(0x1be)];}catch(_0x2a472d){return logError(_0x2a472d,{'event':_0x4e2ec1(0x1a0),'jobId':_0x54434f,'path':_0x12526d[_0x4e2ec1(0x1be)]},_0x90957e[_0x4e2ec1(0x1d2)]),null;}}async['cleanup'](){const _0x292f1e=a0_0x2da729,_0xff39ae={'LuaJd':_0x292f1e(0x1a7),'oypml':function(_0x38bb3b,_0x2ff4a5){return _0x38bb3b/_0x2ff4a5;},'XAyOF':function(_0xbe0ef0,_0x4d0063){return _0xbe0ef0-_0x4d0063;},'dbLgW':function(_0x47ea70,_0x4e6b52){return _0x47ea70*_0x4e6b52;},'JkHxR':'Export\x20file\x20deleted','xfOFe':'export_file_delete_error','neXoy':_0x292f1e(0x1d6)};logger[_0x292f1e(0x1ee)]({'event':_0x292f1e(0x1b3)},_0xff39ae[_0x292f1e(0x1f1)]);const _0x1ee191=await redisHelper[_0x292f1e(0x16f)]();let _0x9d2d80=0x0;for(const _0xda3077 of _0x1ee191){const _0x172e6d=new Date(_0xda3077[_0x292f1e(0x1d4)]),_0x1f85e8=new Date(),_0x2785a7=_0xff39ae['oypml'](_0xff39ae['XAyOF'](_0x1f85e8,_0x172e6d),_0xff39ae['dbLgW'](0x3e8,0x3c)*0x3c);if(_0x2785a7>0x1){if(_0xda3077[_0x292f1e(0x1be)])try{await fs['unlink'](_0xda3077[_0x292f1e(0x1be)]),logger[_0x292f1e(0x1ee)]({'event':_0x292f1e(0x16e),'path':_0xda3077['file_path']},_0xff39ae['JkHxR']);}catch(_0x236d6d){logger['warn']({'event':_0xff39ae['xfOFe'],'path':_0xda3077['file_path'],'error':_0x236d6d['message']},_0x292f1e(0x1f9));}await redisHelper[_0x292f1e(0x18b)](_0xda3077['job_id']),_0x9d2d80++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x9d2d80},_0xff39ae[_0x292f1e(0x19b)]),_0x9d2d80;}}function a0_0x58c9(_0x47c4c6,_0x36778f){_0x47c4c6=_0x47c4c6-0x16b;const _0x31ba9c=a0_0x31ba();let _0x58c914=_0x31ba9c[_0x47c4c6];if(a0_0x58c9['QzTwcQ']===undefined){var _0x315475=function(_0x1f9f9c){const _0xb32fd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57cbeb='',_0x43fe48='';for(let _0xd27be5=0x0,_0x3d8160,_0x15980f,_0x10a17c=0x0;_0x15980f=_0x1f9f9c['charAt'](_0x10a17c++);~_0x15980f&&(_0x3d8160=_0xd27be5%0x4?_0x3d8160*0x40+_0x15980f:_0x15980f,_0xd27be5++%0x4)?_0x57cbeb+=String['fromCharCode'](0xff&_0x3d8160>>(-0x2*_0xd27be5&0x6)):0x0){_0x15980f=_0xb32fd0['indexOf'](_0x15980f);}for(let _0x506b3d=0x0,_0x16e90c=_0x57cbeb['length'];_0x506b3d<_0x16e90c;_0x506b3d++){_0x43fe48+='%'+('00'+_0x57cbeb['charCodeAt'](_0x506b3d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43fe48);};a0_0x58c9['rhxUiG']=_0x315475,a0_0x58c9['fbpInY']={},a0_0x58c9['QzTwcQ']=!![];}const _0x4ff433=_0x31ba9c[0x0],_0xda9b65=_0x47c4c6+_0x4ff433,_0x17afd4=a0_0x58c9['fbpInY'][_0xda9b65];return!_0x17afd4?(_0x58c914=a0_0x58c9['rhxUiG'](_0x58c914),a0_0x58c9['fbpInY'][_0xda9b65]=_0x58c914):_0x58c914=_0x17afd4,_0x58c914;}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_0x2936(_0x83918a,_0x322f1c){_0x83918a=_0x83918a-0x1c5;const _0x5dc5ba=a0_0x5dc5();let _0x293687=_0x5dc5ba[_0x83918a];if(a0_0x2936['apxxJy']===undefined){var _0x111530=function(_0x14452f){const _0x1a41c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49df98='',_0x442292='';for(let _0x42d76b=0x0,_0x3309c8,_0xcd05d7,_0x5a8574=0x0;_0xcd05d7=_0x14452f['charAt'](_0x5a8574++);~_0xcd05d7&&(_0x3309c8=_0x42d76b%0x4?_0x3309c8*0x40+_0xcd05d7:_0xcd05d7,_0x42d76b++%0x4)?_0x49df98+=String['fromCharCode'](0xff&_0x3309c8>>(-0x2*_0x42d76b&0x6)):0x0){_0xcd05d7=_0x1a41c1['indexOf'](_0xcd05d7);}for(let _0x45d850=0x0,_0x45fce0=_0x49df98['length'];_0x45d850<_0x45fce0;_0x45d850++){_0x442292+='%'+('00'+_0x49df98['charCodeAt'](_0x45d850)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x442292);};a0_0x2936['MFKvkm']=_0x111530,a0_0x2936['UYgXzT']={},a0_0x2936['apxxJy']=!![];}const _0x646aba=_0x5dc5ba[0x0],_0x2b5f95=_0x83918a+_0x646aba,_0x5173ef=a0_0x2936['UYgXzT'][_0x2b5f95];return!_0x5173ef?(_0x293687=a0_0x2936['MFKvkm'](_0x293687),a0_0x2936['UYgXzT'][_0x2b5f95]=_0x293687):_0x293687=_0x5173ef,_0x293687;}const a0_0xced1e7=a0_0x2936;(function(_0xd1dcb7,_0xfafc10){const _0x225000=a0_0x2936,_0x3722c7=_0xd1dcb7();while(!![]){try{const _0xc5d130=-parseInt(_0x225000(0x1d5))/0x1+-parseInt(_0x225000(0x1da))/0x2+-parseInt(_0x225000(0x1df))/0x3*(-parseInt(_0x225000(0x1ec))/0x4)+-parseInt(_0x225000(0x1d8))/0x5+-parseInt(_0x225000(0x1e7))/0x6*(parseInt(_0x225000(0x1ee))/0x7)+parseInt(_0x225000(0x1d9))/0x8+parseInt(_0x225000(0x1e4))/0x9;if(_0xc5d130===_0xfafc10)break;else _0x3722c7['push'](_0x3722c7['shift']());}catch(_0x23a5ab){_0x3722c7['push'](_0x3722c7['shift']());}}}(a0_0x5dc5,0x3ee96));function a0_0x5dc5(){const _0x13de3b=['z2v0sM9Iu3rHDhvZ','AgvHzgvYC1nLBNq','yMfZzw5HBwu','zxHWB3j0CW','A2v5','CLrsDgy','AgfUzgXLrxHWB3j0rg93BMXVywq','CMvWBgfJzq','qur4q1q','rMfPBgvKihrVigDLDcbLEhbVCNqGC3rHDhvZ','rMLLBgqGiG','lwv4Cg9YDa','l2v4Cg9YDc1ZDgf0Dxm','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','AgfUzgXLrxHWB3j0u3rHDhvZ','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','y29SDw1U','y29SDw1UrM9YBwf0CW','zg93BMXVywq','sw52ywXPzcb3AgvYzsbMAwvSza','yM9KEq','q2XLyw51CcbJB21WBgv0zwq','Aw5JBhvKzxm','y3jLyxrLsM9I','mZe1otuXufLnr3fq','z2v0rMLSzvbHDgG','iIbPCYbUB3qGywXSB3DLza','mte2mJG3nuHIrgX4EG','ndaWnte1mMrsAwf4sq','otm0nta0D1Pmr2LQ','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','BwvZC2fNzq','ywr6sK8','Bg9NAwm','mJe1mJi2wuXpshLi','BKfvywG','y29SDw1UCW','tufbs2e','C3rHDhvZ','otu3ody0nM9Ly21Lsa','zxHWB3j0x2rVD25SB2fKzwq','y29UzgL0Aw9UCW','nJC2ohHLv3DlvW','ANnVBG','Aw5MBW','l2fWAs8','AxnbCNjHEq','nfviuNzQtG','tLLOExe','mJi1ne1ru2DLDq','AgfUzgXLrxHWB3j0vhjPz2DLCG','zMLLBgrmywjLBhm','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza'];a0_0x5dc5=function(){return _0x13de3b;};return a0_0x5dc5();}const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require('path');class ExportHandler{static['registerRoutes'](_0x1e162c,_0x18f818,_0xaf6422,_0x48e9c6){const _0x152e3b=a0_0x2936,_0x34e5ff={'nAUah':'Failed\x20to\x20trigger\x20export','wnXbo':'export_status_error','MZRnA':_0x152e3b(0x1c6)},_0x3fffb8=_0x152e3b(0x1ea)+_0x18f818+'/'+_0xaf6422;_0x1e162c['post'](_0x3fffb8+'/export',async(_0x7bbc6,_0x554c58)=>{const _0x39d02a=_0x152e3b;try{await this['handleExportTrigger'](_0x7bbc6,_0x554c58,_0x48e9c6,_0x18f818,_0xaf6422);}catch(_0x444efa){logError(_0x444efa,{'event':'export_trigger_error'},_0x34e5ff[_0x39d02a(0x1e0)]),_0x554c58['status'](0x1f4)['json']({'success':![],'error':_0x444efa[_0x39d02a(0x1dc)]});}}),_0x1e162c['get'](_0x3fffb8+_0x152e3b(0x1c9),async(_0xb45fc5,_0x1099d3)=>{const _0xd8d818=_0x152e3b;try{await this['handleExportStatus'](_0xb45fc5,_0x1099d3);}catch(_0xdc0568){logError(_0xdc0568,{'event':_0x34e5ff['wnXbo']},_0x34e5ff['MZRnA']),_0x1099d3['status'](0x1f4)[_0xd8d818(0x1e8)]({'success':![],'error':_0xdc0568['message']});}}),_0x1e162c['get'](_0x3fffb8+'/export-download',async(_0x422476,_0x1b185e)=>{const _0x25d1ee=_0x152e3b;try{await this[_0x25d1ee(0x1f8)](_0x422476,_0x1b185e);}catch(_0x2de664){logError(_0x2de664,{'event':'export_download_error'},'Failed\x20to\x20download\x20export'),!_0x1b185e[_0x25d1ee(0x1f3)]&&_0x1b185e['status'](0x1f4)[_0x25d1ee(0x1e8)]({'success':![],'error':_0x2de664['message']});}});}static async[a0_0xced1e7(0x1ef)](_0x12b71b,_0x40231b,_0x1b6f68,_0x13585b,_0x25d8f0){const _0x348746=a0_0xced1e7,_0x29d5c1={'xPtGI':function(_0x7a7900,_0x991c3f){return _0x7a7900!==_0x991c3f;},'adzJO':_0x348746(0x1ca),'rTRtf':'Invalid\x20where\x20structure.\x20Expected:\x20{\x20logic:\x20\x22AND|OR\x22,\x20conditions:\x20[...]\x20}','NYhyq':_0x348746(0x1d0),'ADxCT':_0x348746(0x1c8),'gpWAG':function(_0x3bcfe4,_0x2388d0){return _0x3bcfe4||_0x2388d0;}},{format:_0x59439e,filename:_0x160bfc,columns:_0x1a28fa,where:_0x151e60,sort_columns:_0xf00a7f}=_0x12b71b[_0x348746(0x1d1)];if(_0x59439e&&_0x29d5c1['xPtGI'](_0x59439e,'xlsx'))return _0x40231b['status'](0x190)[_0x348746(0x1e8)]({'success':![],'error':_0x29d5c1[_0x348746(0x1dd)]});if(_0x151e60){if(!_0x151e60[_0x348746(0x1de)]||!_0x151e60[_0x348746(0x1e6)]||!Array[_0x348746(0x1eb)](_0x151e60[_0x348746(0x1e6)]))return _0x40231b[_0x348746(0x1e3)](0x190)['json']({'success':![],'error':_0x29d5c1[_0x348746(0x1f7)]});}if(_0xf00a7f){if(!Array['isArray'](_0xf00a7f))return _0x40231b['status'](0x190)['json']({'success':![],'error':_0x348746(0x1db)});}const _0x35ae75=_0x1b6f68[_0x348746(0x1e1)]||[];if(_0x151e60&&Array['isArray'](_0x151e60[_0x348746(0x1e6)]))for(const _0x128be3 of _0x151e60[_0x348746(0x1e6)]){if(_0x128be3[_0x348746(0x1f6)]&&!_0x35ae75['includes'](_0x128be3[_0x348746(0x1f6)]))return _0x40231b[_0x348746(0x1e3)](0x190)['json']({'success':![],'error':_0x29d5c1[_0x348746(0x1ed)],'message':_0x348746(0x1c7)+_0x128be3[_0x348746(0x1f6)]+'\x22\x20is\x20not\x20allowed','validFields':_0x35ae75});}if(Array['isArray'](_0xf00a7f))for(const _0x2bc7ea of _0xf00a7f){if(_0x2bc7ea[_0x348746(0x1cd)]&&!_0x35ae75[_0x348746(0x1d3)](_0x2bc7ea[_0x348746(0x1cd)]))return _0x40231b['status'](0x190)['json']({'success':![],'error':'Invalid\x20sort\x20column','message':'Column\x20\x22'+_0x2bc7ea[_0x348746(0x1cd)]+_0x348746(0x1d7),'validFields':_0x35ae75});}const _0x4ef099=_0x1b6f68['tableName'][_0x348746(0x1f9)]('.','-')+_0x29d5c1[_0x348746(0x1c5)],_0x290eb5=await exportService[_0x348746(0x1d4)]({'moduleName':_0x13585b,'endpointName':_0x25d8f0,'tableName':_0x1b6f68['tableName'],'format':_0x59439e||'xlsx','filename':_0x160bfc||_0x4ef099,'columns':_0x1a28fa||_0x1b6f68[_0x348746(0x1e1)],'exportQuery':_0x1b6f68['exportQuery']||null,'columnFormats':_0x1b6f68[_0x348746(0x1ce)]||null,'fieldLabels':_0x1b6f68[_0x348746(0x1f0)]||null,'where':_0x151e60||null,'sort_columns':_0x29d5c1['gpWAG'](_0xf00a7f,null)});_0x40231b['json']({'success':!![],'data':_0x290eb5});}static async[a0_0xced1e7(0x1cb)](_0x2cc53e,_0x5298d9){const _0x2c8082=a0_0xced1e7,{job_id:_0x49bc03}=_0x2cc53e['query'];if(!_0x49bc03)return _0x5298d9[_0x2c8082(0x1e3)](0x190)['json']({'success':![],'error':_0x2c8082(0x1f1)});const _0x100589=await exportService[_0x2c8082(0x1f2)](_0x49bc03);if(!_0x100589['success'])return _0x5298d9['status'](0x194)[_0x2c8082(0x1e8)](_0x100589);_0x5298d9['json'](_0x100589);}static async['handleExportDownload'](_0x58978b,_0x422146){const _0x512b23=a0_0xced1e7,_0x1a894c={'MAAKa':'Export\x20file\x20downloaded\x20successfully','qlPoU':'job_id\x20parameter\x20is\x20required'},{job_id:_0x3c9c14}=_0x58978b['query'];if(!_0x3c9c14)return _0x422146['status'](0x190)['json']({'success':![],'error':_0x1a894c['qlPoU']});const _0x1ecdbb=await exportService[_0x512b23(0x1d6)](_0x3c9c14);if(!_0x1ecdbb)return _0x422146['status'](0x194)['json']({'success':![],'error':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'});_0x422146[_0x512b23(0x1cf)](_0x1ecdbb,''+path[_0x512b23(0x1f4)](_0x1ecdbb),_0x328e04=>{const _0x7e899b=_0x512b23;_0x328e04?(logError(_0x328e04,{'event':'export_download_error','jobId':_0x3c9c14},_0x7e899b(0x1cc)),!_0x422146[_0x7e899b(0x1f3)]&&_0x422146[_0x7e899b(0x1e3)](0x1f4)['json']({'success':![],'error':'Failed\x20to\x20download\x20file'})):logger[_0x7e899b(0x1e9)]({'event':_0x7e899b(0x1e5),'jobId':_0x3c9c14},_0x1a894c[_0x7e899b(0x1e2)]);});}static['registerCleanupRoute'](_0x30f0e7){const _0x1d3dc7=a0_0xced1e7,_0x2986d1={'SxODt':_0x1d3dc7(0x1d2),'ecgyf':function(_0x58267e,_0x2aa041,_0x4df4fd,_0x50f4e7){return _0x58267e(_0x2aa041,_0x4df4fd,_0x50f4e7);},'SXEFI':'cleanup_error','NmbMi':'Cleanup\x20failed'};_0x30f0e7['get']('/api/admin/export-cleanup',async(_0x54c01a,_0x24d8d5)=>{const _0xb21a47=_0x1d3dc7;try{const _0x15566e=await exportService['cleanup']();_0x24d8d5['json']({'success':!![],'data':{'deleted':_0x15566e,'message':_0x2986d1['SxODt']}});}catch(_0x44b839){_0x2986d1['ecgyf'](logError,_0x44b839,{'event':_0x2986d1['SXEFI']},_0x2986d1['NmbMi']),_0x24d8d5[_0xb21a47(0x1e3)](0x1f4)[_0xb21a47(0x1e8)]({'success':![],'error':_0x44b839['message']});}});}}module[a0_0xced1e7(0x1f5)]=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();}