@restforgejs/platform 4.2.8 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +1 -1
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/templates/dashboard-catalog.js +1 -437
  25. package/generators/lib/templates/db-connection-env.js +1 -212
  26. package/generators/lib/templates/dbschema-catalog.js +1 -489
  27. package/generators/lib/templates/field-validation-catalog.js +1 -531
  28. package/generators/lib/templates/mysql-template.js +1 -3863
  29. package/generators/lib/templates/oracle-template.js +1 -3915
  30. package/generators/lib/templates/postgres-template.js +1 -5838
  31. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  32. package/generators/lib/templates/sqlite-template.js +1 -3440
  33. package/generators/lib/utils/env-manager.js +6 -0
  34. package/generators/lib/utils/path-validator.js +71 -0
  35. package/generators/lib/validators/payload-validator.js +1 -2
  36. package/integrity-manifest.json +28 -10
  37. package/package.json +11 -3
  38. package/scripts/verify-integrity.js +1 -1
  39. package/server.js +1 -1
  40. package/src/components/handlers/adjust_handler.js +1 -1
  41. package/src/components/handlers/audit_handler.js +1 -1
  42. package/src/components/handlers/delete_handler.js +1 -1
  43. package/src/components/handlers/export_handler.js +1 -1
  44. package/src/components/handlers/import_handler.js +1 -1
  45. package/src/components/handlers/insert_handler.js +1 -1
  46. package/src/components/handlers/update_handler.js +1 -1
  47. package/src/components/handlers/upload_handler.js +1 -1
  48. package/src/components/handlers/workflow_handler.js +1 -1
  49. package/src/components/integrations/webhook.js +1 -1
  50. package/src/consumers/baseConsumer.js +1 -1
  51. package/src/consumers/declarativeMapper.js +1 -1
  52. package/src/consumers/handlers/apiHandler.js +1 -1
  53. package/src/consumers/handlers/consoleHandler.js +1 -1
  54. package/src/consumers/handlers/databaseHandler.js +1 -1
  55. package/src/consumers/handlers/index.js +1 -1
  56. package/src/consumers/handlers/kafkaHandler.js +1 -1
  57. package/src/consumers/index.js +1 -1
  58. package/src/consumers/messageTransformer.js +1 -1
  59. package/src/consumers/validator.js +1 -1
  60. package/src/core/db/dialect/base-dialect.js +1 -1
  61. package/src/core/db/dialect/index.js +1 -1
  62. package/src/core/db/dialect/mysql-dialect.js +1 -1
  63. package/src/core/db/dialect/oracle-dialect.js +1 -1
  64. package/src/core/db/dialect/postgres-dialect.js +1 -1
  65. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  66. package/src/core/db/flatten-helper.js +1 -1
  67. package/src/core/db/query-builder-error.js +1 -1
  68. package/src/core/db/query-builder.js +1 -1
  69. package/src/core/db/relation-helper.js +1 -1
  70. package/src/core/handlers/delete_handler.js +1 -1
  71. package/src/core/handlers/insert_handler.js +1 -1
  72. package/src/core/handlers/update_handler.js +1 -1
  73. package/src/core/models/base-model.js +1 -1
  74. package/src/core/utils/cache-manager.js +1 -1
  75. package/src/core/utils/component-engine.js +1 -1
  76. package/src/core/utils/context-builder.js +1 -1
  77. package/src/core/utils/datetime-formatter.js +1 -1
  78. package/src/core/utils/datetime-parser.js +1 -1
  79. package/src/core/utils/db.js +1 -1
  80. package/src/core/utils/logger.js +1 -1
  81. package/src/core/utils/payload-loader.js +1 -1
  82. package/src/core/utils/security-checks.js +1 -1
  83. package/src/middleware/body-options.js +1 -1
  84. package/src/middleware/cors.js +1 -1
  85. package/src/middleware/idempotency.js +1 -1
  86. package/src/middleware/rate-limiter.js +1 -1
  87. package/src/middleware/request-logger.js +1 -1
  88. package/src/middleware/security-headers.js +1 -1
  89. package/src/models/base-model-mysql.js +1 -1
  90. package/src/models/base-model-oracle.js +1 -1
  91. package/src/models/base-model-sqlite.js +1 -1
  92. package/src/models/base-model.js +1 -1
  93. package/src/pro/caching/redis-client.js +1 -1
  94. package/src/pro/caching/redis-helper.js +1 -1
  95. package/src/pro/consumers/baseConsumer.js +1 -1
  96. package/src/pro/consumers/declarativeMapper.js +1 -1
  97. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  98. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  99. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  100. package/src/pro/consumers/handlers/index.js +1 -1
  101. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  102. package/src/pro/consumers/index.js +1 -1
  103. package/src/pro/consumers/messageTransformer.js +1 -1
  104. package/src/pro/consumers/validator.js +1 -1
  105. package/src/pro/database/base-model-mysql.js +1 -1
  106. package/src/pro/database/base-model-oracle.js +1 -1
  107. package/src/pro/database/base-model-sqlite.js +1 -1
  108. package/src/pro/database/db-mysql.js +1 -1
  109. package/src/pro/database/db-oracle.js +1 -1
  110. package/src/pro/database/db-sqlite.js +1 -1
  111. package/src/pro/excel/excel-generator.js +1 -1
  112. package/src/pro/excel/excel-parser.js +1 -1
  113. package/src/pro/excel/export-service.js +1 -1
  114. package/src/pro/excel/export_handler.js +1 -1
  115. package/src/pro/excel/import-service.js +1 -1
  116. package/src/pro/excel/import-validator.js +1 -1
  117. package/src/pro/excel/import_handler.js +1 -1
  118. package/src/pro/excel/upsert-builder.js +1 -1
  119. package/src/pro/idgen/idgen-routes.js +1 -1
  120. package/src/pro/integrations/lookup-resolver.js +1 -1
  121. package/src/pro/integrations/upload-handler-v2.js +1 -1
  122. package/src/pro/integrations/upload-handler.js +1 -1
  123. package/src/pro/integrations/webhook.js +1 -1
  124. package/src/pro/locking/lock-routes.js +1 -1
  125. package/src/pro/locking/resource-lock-manager.js +1 -1
  126. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  127. package/src/pro/messaging/kafkaService.js +1 -1
  128. package/src/pro/messaging/messagehubService.js +1 -1
  129. package/src/pro/messaging/rabbitmqService.js +1 -1
  130. package/src/pro/scheduler/job-manager.js +1 -1
  131. package/src/pro/scheduler/job-routes.js +1 -1
  132. package/src/pro/scheduler/job-validator.js +1 -1
  133. package/src/pro/storage/base-storage-provider.js +1 -1
  134. package/src/pro/storage/file-metadata-helper.js +1 -1
  135. package/src/pro/storage/index.js +1 -1
  136. package/src/pro/storage/local-storage-provider.js +1 -1
  137. package/src/pro/storage/s3-storage-provider.js +1 -1
  138. package/src/pro/storage/upload-cleanup-job.js +1 -1
  139. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  140. package/src/pro/storage/upload-pending-tracker.js +1 -1
  141. package/src/pro/websocket/broadcast-helper.js +1 -1
  142. package/src/pro/websocket/index.js +1 -1
  143. package/src/pro/websocket/livesync-server.js +1 -1
  144. package/src/pro/websocket/ws-broadcaster.js +1 -1
  145. package/src/services/export-service.js +1 -1
  146. package/src/services/import-service.js +1 -1
  147. package/src/services/kafkaConsumerService.js +1 -1
  148. package/src/services/kafkaService.js +1 -1
  149. package/src/services/messagehubService.js +1 -1
  150. package/src/services/rabbitmqService.js +1 -1
  151. package/src/utils/cache-invalidation-registry.js +1 -1
  152. package/src/utils/cache-manager.js +1 -1
  153. package/src/utils/component-engine.js +1 -1
  154. package/src/utils/config-extractor.js +1 -1
  155. package/src/utils/consumerLogger.js +1 -1
  156. package/src/utils/context-builder.js +1 -1
  157. package/src/utils/dashboard-helpers.js +1 -1
  158. package/src/utils/dateHelper.js +1 -1
  159. package/src/utils/datetime-formatter.js +1 -1
  160. package/src/utils/datetime-parser.js +1 -1
  161. package/src/utils/db-bootstrap.js +1 -1
  162. package/src/utils/db-mysql.js +1 -1
  163. package/src/utils/db-oracle.js +1 -1
  164. package/src/utils/db-sqlite.js +1 -1
  165. package/src/utils/db.js +1 -1
  166. package/src/utils/demo-generator.js +1 -1
  167. package/src/utils/excel-generator.js +1 -1
  168. package/src/utils/excel-parser.js +1 -1
  169. package/src/utils/file-watcher.js +1 -1
  170. package/src/utils/id-generator.js +1 -1
  171. package/src/utils/idempotency-manager.js +1 -1
  172. package/src/utils/import-validator.js +1 -1
  173. package/src/utils/license-client.js +1 -1
  174. package/src/utils/lock-manager.js +1 -1
  175. package/src/utils/logger.js +1 -1
  176. package/src/utils/lookup-resolver.js +1 -1
  177. package/src/utils/payload-loader.js +1 -1
  178. package/src/utils/processor-response.js +1 -1
  179. package/src/utils/rabbitmq.js +1 -1
  180. package/src/utils/redis-client.js +1 -1
  181. package/src/utils/redis-helper.js +1 -1
  182. package/src/utils/request-scope.js +1 -1
  183. package/src/utils/security-checks.js +1 -1
  184. package/src/utils/service-resolver.js +1 -1
  185. package/src/utils/shutdown-coordinator.js +1 -1
  186. package/src/utils/trusted-keys.js +1 -1
  187. package/src/utils/upload-handler.js +1 -1
  188. package/src/utils/upsert-builder.js +1 -1
  189. package/src/utils/workflow-hook-executor.js +1 -1
  190. package/generators/metadata/global.json +0 -58
  191. package/generators/metadata/test-mysql-workbench.json +0 -118
  192. package/generators/metadata/test-mysql.json +0 -56
  193. package/generators/metadata/test-oracle-workbench.json +0 -118
  194. package/generators/metadata/test-oracle.json +0 -56
  195. package/generators/metadata/test-pg-workbench.json +0 -118
  196. package/generators/metadata/test-pg.json +0 -56
  197. package/generators/scripts/obfuscate-source.js +0 -356
  198. package/generators/scripts/validate-catalog.js +0 -430
  199. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  200. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  203. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  206. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  209. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  210. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  211. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  212. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  213. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  214. package/generators/tests/integration-tahap4b/README.md +0 -145
  215. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  216. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  217. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  218. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  219. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  220. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  221. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  222. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  223. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  224. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  231. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  244. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  245. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  246. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  247. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  252. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  253. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  256. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  299. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  300. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  301. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  302. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  303. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  304. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  305. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  306. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  307. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  308. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  309. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  310. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  311. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  312. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  313. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  314. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  315. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  316. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  317. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  318. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  319. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  320. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  321. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  322. package/scripts/generate-integrity-manifest.js +0 -124
  323. package/scripts/snapshot-cli-contracts.js +0 -194
  324. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- function a0_0x4e6b(_0x3b22c4,_0x50ea9f){_0x3b22c4=_0x3b22c4-0xe1;const _0x39ec84=a0_0x39ec();let _0x4e6b4e=_0x39ec84[_0x3b22c4];if(a0_0x4e6b['rOsfId']===undefined){var _0xbdade8=function(_0x2b71a3){const _0x46f94c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50dd01='',_0x41c9fd='';for(let _0xe09d57=0x0,_0x4117aa,_0x45b923,_0x2ac39f=0x0;_0x45b923=_0x2b71a3['charAt'](_0x2ac39f++);~_0x45b923&&(_0x4117aa=_0xe09d57%0x4?_0x4117aa*0x40+_0x45b923:_0x45b923,_0xe09d57++%0x4)?_0x50dd01+=String['fromCharCode'](0xff&_0x4117aa>>(-0x2*_0xe09d57&0x6)):0x0){_0x45b923=_0x46f94c['indexOf'](_0x45b923);}for(let _0x10ba91=0x0,_0x412883=_0x50dd01['length'];_0x10ba91<_0x412883;_0x10ba91++){_0x41c9fd+='%'+('00'+_0x50dd01['charCodeAt'](_0x10ba91)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41c9fd);};a0_0x4e6b['MQWaOG']=_0xbdade8,a0_0x4e6b['cVWkgO']={},a0_0x4e6b['rOsfId']=!![];}const _0x460eb6=_0x39ec84[0x0],_0x502bfa=_0x3b22c4+_0x460eb6,_0x4b6b36=a0_0x4e6b['cVWkgO'][_0x502bfa];return!_0x4b6b36?(_0x4e6b4e=a0_0x4e6b['MQWaOG'](_0x4e6b4e),a0_0x4e6b['cVWkgO'][_0x502bfa]=_0x4e6b4e):_0x4e6b4e=_0x4b6b36,_0x4e6b4e;}const a0_0xec2cb9=a0_0x4e6b;(function(_0x5b9be3,_0x3271fd){const _0x5d2c0b=a0_0x4e6b,_0x164202=_0x5b9be3();while(!![]){try{const _0x552d0b=-parseInt(_0x5d2c0b(0xfa))/0x1*(-parseInt(_0x5d2c0b(0x166))/0x2)+parseInt(_0x5d2c0b(0xe6))/0x3*(-parseInt(_0x5d2c0b(0x168))/0x4)+parseInt(_0x5d2c0b(0x124))/0x5+-parseInt(_0x5d2c0b(0x13b))/0x6*(-parseInt(_0x5d2c0b(0x14b))/0x7)+parseInt(_0x5d2c0b(0x156))/0x8+parseInt(_0x5d2c0b(0x12c))/0x9+-parseInt(_0x5d2c0b(0x157))/0xa*(parseInt(_0x5d2c0b(0x184))/0xb);if(_0x552d0b===_0x3271fd)break;else _0x164202['push'](_0x164202['shift']());}catch(_0x1ee014){_0x164202['push'](_0x164202['shift']());}}}(a0_0x39ec,0x42075));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xec2cb9(0x121)],redisHelper=require('../caching/redis-helper'),{logger,logError}=require(a0_0xec2cb9(0x10e)),dbType=(process['env'][a0_0xec2cb9(0x126)]||a0_0xec2cb9(0xec))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0xec2cb9(0x14f))oracleDb=require(a0_0xec2cb9(0x172)),executeQuery=(_0xf4dfdf,_0x274f6a)=>oracleDb['executeQuery'](_0xf4dfdf,_0x274f6a),executeTransaction=_0x100e4c=>oracleDb[a0_0xec2cb9(0x127)](_0x100e4c);else{if(dbType===a0_0xec2cb9(0xe5)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x24054c,_0x2e3f62)=>mysqlDb['executeQuery'](_0x24054c,_0x2e3f62),executeTransaction=_0x2eaf72=>mysqlDb['executeTransaction'](_0x2eaf72);}else{const db=require('../../core/utils/db');executeQuery=db[a0_0xec2cb9(0xf4)],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0xec2cb9(0x16b)),importValidator=require(a0_0xec2cb9(0x107)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0xec2cb9(0x153));function a0_0x39ec(){const _0x183255=['Aw1WB3j0x2zPBgvFDxbSB2fKzwq','DxbSB2fKoG','AM9Ix2LK','AM9PBG','yMf0y2HwywXPzgf0zvjVD3m','su5trvju','zMfPBgvK','Aw5Zzxj0x29UBhK','s3DXtfq','vvbhwxu','C2L6zq','ChjVBwLZzxm','A2v5CW','BwfW','mtC2otqXnuf0sLH4EG','AxzougW','rejFvfLqrq','zxHLy3v0zvrYyw5Zywn0Aw9U','Dg9ju09tDhjPBMC','x2fJDgLVBG','CenXze0','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','mJuWmJa0nvD0rKLdqq','Cgf0Aa','jdfFjdi','uhjLDMLLDYbQB2iGzMfPBgvK','yNvPBgrmywjLBfrVrMLLBgrnyxa','DhjPBq','y3vpsLy','q29TBwL0igPVyIbJB21WBgv0zwq','CgfYyw1Z','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','CMvWBgfJzq','Bwf0y2G','v2DhAeO','x3vWBg9HzerPCG','rKPMwM8','nKXRy0rhDG','cIaGicaGicaGu0vmrunuia','uhLkDgy','rhvWBgLJyxrLihzHBhvLigzVCIa','Aw5MBW','BNvTyMvY','q25Szw8','C3rYAw5N','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','rurUyxO','AgvHzgvYC19TyxbWzwq','ChjLDMLLD19VAW','zgvIDwC','yNvPBgrcyxrJAeLUC2vYDa','D0rJuM0','ChjLDMLLD19QB2jFzMfPBgvK','mJq0ntCWowfeyu94sG','y29SDw1UrM9YBwf0CW','DgfYz2v0rMLLBgq','CM93sw5KzxG','B3jHy2XL','u0Tjua','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','y3jLyxrLzf9HDa','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','Ce5dDe0','DgvZDa','mJG3nZqYngzRufLOCG','mtq5nJuWmJbzsvbXtLG','DxbSB2fKrMLSzq','tLvmta','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','vvbmt0fex0rjuG','Aw5KzxHpzG','y2H1BMTsB3DZ','twnVAKi','zMLUza','B3jPz2LUywXUyw1L','Dw5SAw5R','ChvZAa','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','AMvjAwq','z2v0rNvSBfLLyxi','mJaYmtKWsM5TCfHY','tgTIDfK','mtC5nKLUCvnSDW','DxbSB2fKx2LK','y291BNq','lI9LEgnLBc1WyxjZzxi','zxHWB3j0CW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','weXwELi','CM93CW','r2DSBKe','Dg9tDhjPBMC','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','Dg9mB3DLCKnHC2u','z2v0rgf0zq','ChjVy2vZC0nVBw1PDePVyG','cIaGicaGicaGv0HfuKuG','z2v0sM9I','y29TBwL0x2PVyL9MywLSzwq','zMLSDgvY','z2v0','A3vNyNO','zw50CMLLCW','ChjLDMLLD19QB2jFy3jLyxrLza','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','z2vUzxjHDgvjza','CgfYC2vfEgnLBezPBgu','D1DOC0W','vw5cBxe','DMfSDwvZ','mtfire1oB1i','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','rwD1y1O','B0X1ALe','C3fS','BxLZCwW','ntmXuKjire9Q','BMLwuwS','C2v0sM9I','r29oDee','ChjVy2vZC1bYzxzPzxDkB2i','CgfKu3rHCNq','Cg9ZDgDYzxnXBa','sLnZCeW','CMPWDKq','y29TBwL0x3bYB2nLC3nFzxjYB3i','yxbWBhLdB2X1Bw5gB3jTyxrZ','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','C2TywvK','C2XPy2u','zxHLy3v0zvf1zxj5','x2DLBMvYyxrLzf91DwLK','DxbKyxrLx2v4Axn0Aw5N','uMzWrve','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','DxbKyxrL','nvzyu2XkuW','BgvUz3rO','sunPEKi','zM9YrwfJAa','C2TPCf9LEgLZDgLUzW','y29TBwL0x2PVyL9JCMvHDgvK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','x2vYCM9YCW','t0PsCei','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','zxjYB3jZ','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zMLLBgrmywjLBhm','lI9PBxbVCNqTDMfSAwrHDg9Y','y3jLyxrLq29TBwL0sM9I','DvnYzvq','y2HHCKf0','C2v0','AM9IoG','z2v0vgLTzq','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','AgfZ','wfn2zu8','igf0ihjVDYa','BwvZC2fNzq','z2v0sM9Iu3rHDhvZ','vvbeqvrf','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq'];a0_0x39ec=function(){return _0x183255;};return a0_0x39ec();}class ImportService{constructor(){const _0x64ac94=a0_0xec2cb9;this[_0x64ac94(0x139)]=null;}get['uploadDir'](){const _0x25adaf=a0_0xec2cb9;if(!this[_0x25adaf(0x139)]){const _0x591db2=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x25adaf(0x139)]=process['env'][_0x25adaf(0x15b)]||path[_0x25adaf(0x119)](__dirname,'../../temp/uploads/'+_0x591db2);}return this[_0x25adaf(0x139)];}[a0_0xec2cb9(0x17f)](){const _0x4bb5a=a0_0xec2cb9,_0x4ad519={'bmKBh':_0x4bb5a(0x135),'RpVOw':function(_0x1319a9){return _0x1319a9();},'MCwzT':function(_0x9c7434,_0xb9c403){return _0x9c7434<_0xb9c403;}},_0x342f2d=_0x4ad519['bmKBh'],_0x233f6b=Date['now']()[_0x4bb5a(0x171)](0x24),_0x4cc849=_0x4ad519['RpVOw'](uuidv7)[_0x4bb5a(0x136)](/-/g,'')['substring'](0x0,0xc-_0x233f6b[_0x4bb5a(0xfb)]),_0x2b8b87=(_0x233f6b+_0x4cc849)['substring'](0x0,0xc);let _0xa44b19='';for(let _0x56de35=0x0;_0x4ad519['MCwzT'](_0x56de35,0xc);_0x56de35++){_0x2b8b87[_0x56de35]?_0xa44b19+=_0x2b8b87[_0x56de35]:_0xa44b19+=_0x342f2d[_0x4bb5a(0x10a)](Math['floor'](Math['random']()*_0x342f2d[_0x4bb5a(0xfb)]));}return _0xa44b19;}[a0_0xec2cb9(0x130)](_0x17338a){const _0x520387=a0_0xec2cb9,_0x12dc63={'bxKBG':function(_0x24db08,_0x34bb28){return _0x24db08(_0x34bb28);},'xRFRx':'Label\x20to\x20field\x20mapping\x20built'},_0x3864c5=new Map();if(!_0x17338a)return _0x3864c5;return Object[_0x520387(0x17c)](_0x17338a)[_0x520387(0xfd)](([_0x347961,_0x56e2cd])=>{const _0xb0926=_0x520387,_0x4dbb2a=_0x12dc63['bxKBG'](String,_0x56e2cd)[_0xb0926(0x131)]()[_0xb0926(0x136)](/\s+/g,'_')[_0xb0926(0x136)](/([a-z])([A-Z])/g,_0xb0926(0x12e))[_0xb0926(0x136)](/([A-Z]+)([A-Z][a-z])/g,_0xb0926(0x12e))['toLowerCase']();_0x3864c5[_0xb0926(0x10b)](_0x4dbb2a,_0x347961);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x3864c5['size']},_0x12dc63['xRFRx']),_0x3864c5;}[a0_0xec2cb9(0xf0)](_0x5e081f,_0x1ee586){const _0x42aa97=a0_0xec2cb9,_0x3d3c3e={'CQpbs':function(_0x502ceb,_0x11163e){return _0x502ceb===_0x11163e;},'pCqdM':_0x42aa97(0x140),'XSveO':'text','Pstjy':function(_0x10cbc4,_0x19f46a){return _0x10cbc4(_0x19f46a);}};if(!_0x1ee586||_0x3d3c3e['CQpbs'](Object['keys'](_0x1ee586)['length'],0x0))return _0x5e081f;return _0x5e081f['map'](_0x100b50=>{const _0x27100c=_0x42aa97,_0x29e7fb={..._0x100b50};for(const [_0x557898,_0x4861b5]of Object['entries'](_0x1ee586)){const _0x272fa8=_0x29e7fb[_0x557898];if(_0x3d3c3e['CQpbs'](_0x272fa8,null)||_0x272fa8===undefined||_0x272fa8===''){_0x29e7fb[_0x557898]=null;continue;}switch(_0x4861b5['type']){case'date':_0x29e7fb[_0x557898]=this[_0x27100c(0xf1)](_0x272fa8);break;case _0x3d3c3e[_0x27100c(0x12a)]:_0x29e7fb[_0x557898]=this[_0x27100c(0x143)](_0x272fa8);break;case _0x3d3c3e[_0x27100c(0x110)]:_0x29e7fb[_0x557898]=_0x3d3c3e['Pstjy'](String,_0x272fa8);break;default:break;}}return _0x29e7fb;});}['formatDateForDatabase'](_0x487154){const _0x8c152f=a0_0xec2cb9,_0x273a64={'pxwaP':function(_0x1daa2e,_0x2bf79b){return _0x1daa2e===_0x2bf79b;},'gzswW':'string','niVQk':function(_0x495f2a,_0x510493){return _0x495f2a(_0x510493);},'GclKJ':function(_0x50d338,_0x378cc1){return _0x50d338(_0x378cc1);}};if(_0x487154===null||_0x273a64['pxwaP'](_0x487154,undefined)||_0x273a64['pxwaP'](_0x487154,''))return null;if(typeof _0x487154===_0x273a64['gzswW']&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x487154))return _0x487154;if(_0x487154 instanceof Date){if(isNaN(_0x487154[_0x8c152f(0x10d)]()))return null;const _0x283699=_0x487154[_0x8c152f(0x165)](),_0x549fdc=String(_0x487154['getMonth']()+0x1)[_0x8c152f(0xeb)](0x2,'0'),_0x5453e1=_0x273a64[_0x8c152f(0xe7)](String,_0x487154[_0x8c152f(0x174)]())['padStart'](0x2,'0');return _0x283699+'-'+_0x549fdc+'-'+_0x5453e1;}if(typeof _0x487154===_0x8c152f(0x142)){const _0x611c61=_0x487154[_0x8c152f(0x137)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x611c61){const _0x467830=String(_0x611c61[0x1])['padStart'](0x2,'0'),_0x21b847=String(_0x611c61[0x2])['padStart'](0x2,'0'),_0x2e3b41=_0x611c61[0x3];return _0x2e3b41+'-'+_0x21b847+'-'+_0x467830;}const _0x660092=_0x487154['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x660092){const _0x342b5f=_0x660092[0x1],_0x18db8b=_0x273a64['GclKJ'](String,_0x660092[0x2])['padStart'](0x2,'0'),_0x5239b2=String(_0x660092[0x3])[_0x8c152f(0xeb)](0x2,'0');return _0x342b5f+'-'+_0x18db8b+'-'+_0x5239b2;}}return _0x487154;}[a0_0xec2cb9(0x143)](_0x4140fd){const _0x1642bb=a0_0xec2cb9,_0x2583c6={'qUsjT':function(_0x96419f,_0x251dc6){return _0x96419f===_0x251dc6;},'LGFgR':function(_0x1f71bf,_0x52402e){return _0x1f71bf===_0x52402e;},'MRQMq':_0x1642bb(0x140),'DpERr':function(_0x2c5717,_0x3c5ea2){return _0x2c5717(_0x3c5ea2);},'RfpEQ':function(_0x164d31,_0x965060){return _0x164d31===_0x965060;},'UnBmq':function(_0x13f049,_0x11f027){return _0x13f049(_0x11f027);}};if(_0x2583c6['qUsjT'](_0x4140fd,null)||_0x4140fd===undefined||_0x4140fd==='')return null;if(_0x2583c6['LGFgR'](typeof _0x4140fd,_0x2583c6['MRQMq']))return _0x2583c6['DpERr'](isNaN,_0x4140fd)?null:_0x4140fd;if(_0x2583c6[_0x1642bb(0xf7)](typeof _0x4140fd,_0x1642bb(0x142))){let _0x358356=_0x4140fd['trim']();const _0xab39dc=/,\d{1,2}$/[_0x1642bb(0x155)](_0x358356)&&!/,\d{3}/['test'](_0x358356);_0xab39dc?_0x358356=_0x358356['replace'](/\./g,'')['replace'](',','.'):_0x358356=_0x358356['replace'](/,/g,'');const _0xfdc12a=_0x2583c6[_0x1642bb(0x182)](parseFloat,_0x358356);return isNaN(_0xfdc12a)?null:_0xfdc12a;}return null;}async[a0_0xec2cb9(0x158)](_0x1a2849,_0x51f776){const _0x25e1e4=a0_0xec2cb9,_0x398578={'PyJtf':function(_0x51130a,_0xb454a7){return _0x51130a||_0xb454a7;},'ivNPl':_0x25e1e4(0x17e),'mJMlb':function(_0x5142a9,_0xf4821d){return _0x5142a9>_0xf4821d;},'rQvKX':_0x25e1e4(0xf8),'GoNtA':_0x25e1e4(0x116),'JSspL':function(_0x306e36,_0x3920d0,_0x186d15,_0x2b8b73){return _0x306e36(_0x3920d0,_0x186d15,_0x2b8b73);},'skXYY':'Failed\x20to\x20cleanup\x20file'},_0x55e1d6=this[_0x25e1e4(0x17f)]();try{let {headers:_0x1f7a39,rows:_0x5e24d2,totalRows:_0x432997}=await excelParser[_0x25e1e4(0x180)](_0x1a2849['path']);const _0x5709e2=this['buildLabelToFieldMap'](_0x51f776[_0x25e1e4(0x106)]),_0x595849=_0x1f7a39['map'](_0x509101=>{const _0x51a5dc=_0x25e1e4,_0x47f2d3=_0x5709e2[_0x51a5dc(0x17a)](_0x509101);return _0x398578[_0x51a5dc(0x13d)](_0x47f2d3,_0x509101);});_0x5e24d2=_0x5e24d2[_0x25e1e4(0x123)](_0x542a62=>{const _0x1d9efb=_0x25e1e4,_0x1a848d={};return _0x1f7a39[_0x1d9efb(0xfd)]((_0x4177dd,_0x2d8426)=>{const _0x415de5=_0x595849[_0x2d8426];_0x1a848d[_0x415de5]=_0x542a62[_0x4177dd];}),_0x1a848d;}),_0x1f7a39=_0x595849,logger['debug']({'event':_0x25e1e4(0x145),'original':_0x1f7a39['length'],'mapped':_0x595849['filter']((_0x168ad3,_0x59d00f)=>_0x168ad3!==_0x1f7a39[_0x59d00f])[_0x25e1e4(0xfb)]},_0x398578[_0x25e1e4(0x125)]);_0x51f776['columnFormats']&&_0x398578['mJMlb'](Object[_0x25e1e4(0x122)](_0x51f776[_0x25e1e4(0x14c)])[_0x25e1e4(0xfb)],0x0)&&(_0x5e24d2=this[_0x25e1e4(0xf0)](_0x5e24d2,_0x51f776[_0x25e1e4(0x14c)]),logger['debug']({'event':_0x398578['rQvKX'],'formatCount':Object['keys'](_0x51f776['columnFormats'])[_0x25e1e4(0xfb)],'formats':Object['keys'](_0x51f776[_0x25e1e4(0x14c)])},'Column\x20formats\x20applied\x20to\x20rows'));const _0x2ac130=_0x51f776['lookupFields']?Object[_0x25e1e4(0x183)](_0x51f776['lookupFields'])['map'](_0x4042d8=>_0x4042d8[_0x25e1e4(0x14d)]):[],_0x18d273=_0x51f776['fieldName']['filter'](_0x167a86=>!_0x2ac130['includes'](_0x167a86)),_0x3f1622=excelParser[_0x25e1e4(0x151)](_0x1f7a39,_0x18d273);if(!_0x3f1622['valid']){await fs[_0x25e1e4(0x161)](_0x1a2849[_0x25e1e4(0x12d)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x3f1622['missingFields'][_0x25e1e4(0x119)](',\x20'));}const _0x2d162b={'upload_id':_0x55e1d6,'filename':_0x1a2849['originalname'],'total_rows':_0x432997,'headers':_0x1f7a39,'rows':_0x5e24d2,'params':_0x51f776,'created_at':new Date()[_0x25e1e4(0x128)]()};return await redisHelper['setJob'](_0x25e1e4(0x117)+_0x55e1d6,_0x2d162b,0xe10),await fs['unlink'](_0x1a2849[_0x25e1e4(0x12d)]),logger['info']({'event':_0x398578[_0x25e1e4(0xe9)],'uploadId':_0x55e1d6,'filename':_0x1a2849[_0x25e1e4(0x160)],'totalRows':_0x432997},_0x25e1e4(0x16d)),{'upload_id':_0x55e1d6,'total_rows':_0x432997,'preview':_0x5e24d2[_0x25e1e4(0xf3)](0x0,0xa)};}catch(_0x87ffd1){try{await fs['unlink'](_0x1a2849['path']);}catch(_0x4159a2){_0x398578[_0x25e1e4(0xed)](logError,_0x4159a2,{'event':'file_cleanup_error'},_0x398578[_0x25e1e4(0xf2)]);}throw _0x87ffd1;}}async['createPreviewJob'](_0xb4ff95){const _0x4bec47=a0_0xec2cb9,_0x55e3ed={'EWPBA':'Preview\x20processing\x20failed'},_0x69d917=this['generateId'](),_0x488e6e=await redisHelper['getJob'](_0x4bec47(0x117)+_0xb4ff95);if(!_0x488e6e)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x49d16f={'job_id':_0x69d917,'upload_id':_0xb4ff95,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x488e6e[_0x4bec47(0x134)]};return await redisHelper['setJob']('job:'+_0x69d917,_0x49d16f,0xe10),logger['info']({'event':_0x4bec47(0x17d),'jobId':_0x69d917,'uploadId':_0xb4ff95},'Preview\x20job\x20created'),this[_0x4bec47(0xea)](_0x69d917,_0xb4ff95,_0x488e6e)['catch'](_0x4dfb44=>{logError(_0x4dfb44,{'event':'preview_process_error','jobId':_0x69d917},_0x55e3ed['EWPBA']);}),{'job_id':_0x69d917,'status':'validating'};}['autoGenerateUpsertKeys'](_0x31569a,_0x305336){const _0x19a788=a0_0xec2cb9,_0xdb540d={'GrwXE':function(_0x546b62,_0x48172a){return _0x546b62===_0x48172a;},'rjpvD':function(_0x384ac4,_0x32c5e6){return _0x384ac4(_0x32c5e6);}};_0x31569a[_0x19a788(0xfd)]((_0x47e76b,_0x11931e)=>{const _0x544f60=_0x19a788;_0x305336[_0x544f60(0xfd)](_0x4d146c=>{const _0x5c27a3=_0x544f60,_0x12247d=_0x47e76b[_0x4d146c];if(_0x12247d===null||_0x12247d===undefined||_0xdb540d['GrwXE'](_0x12247d,'')||_0xdb540d[_0x5c27a3(0xee)](String,_0x12247d)['trim']()==='-'){const _0x36247c=uuidv7();_0x47e76b[_0x4d146c]=_0x36247c,_0x47e76b[_0x5c27a3(0xf5)]=_0x47e76b['_generated_uuid']||{},_0x47e76b[_0x5c27a3(0xf5)][_0x4d146c]=_0x36247c,logger[_0x5c27a3(0x147)]({'event':'uuid_auto_generated','rowIndex':_0x11931e,'field':_0x4d146c,'uuid':_0x36247c},'Auto-generated\x20UUID\x20for\x20'+_0x4d146c+_0x5c27a3(0x111)+(_0x11931e+0x2));}});});}async[a0_0xec2cb9(0xea)](_0x34ea8e,_0x510591,_0x2ac2ab){const _0x1406a2=a0_0xec2cb9,_0x49bc63={'XGAkO':_0x1406a2(0x150),'FJfZo':_0x1406a2(0x100),'Cnleo':'preview_job_completed','wWhsL':'Preview\x20job\x20completed','iywbv':_0x1406a2(0x14a)};try{let {rows:_0x4137a9,params:_0x4617c3}=_0x2ac2ab;const {requiredFields:_0x426450,validations:_0x8c4ff4,upsertKeys:_0x12a1e8,tableName:_0x10f571,primaryKey:_0x5fb7,fieldName:_0x475d86,upsertStrategy:_0x51e789,lookupFields:_0x140007}=_0x4617c3;this[_0x1406a2(0xe1)](_0x4137a9,_0x12a1e8);let _0x2f1456=[];if(_0x140007&&Object[_0x1406a2(0x122)](_0x140007)['length']>0x0){logger['info']({'event':_0x49bc63[_0x1406a2(0x13a)],'jobId':_0x34ea8e,'lookupFieldCount':Object[_0x1406a2(0x122)](_0x140007)[_0x1406a2(0xfb)]},'Processing\x20lookup\x20fields');const _0x349736=await lookupResolver['processLookupFields'](_0x4137a9,_0x140007);_0x4137a9=_0x349736['processedRows'],_0x2f1456=_0x349736[_0x1406a2(0x104)],_0x2ac2ab['rows']=_0x4137a9;}const _0x11e501=importValidator[_0x1406a2(0x11a)](_0x4137a9,_0x426450||[],_0x8c4ff4||{});_0x2f1456[_0x1406a2(0xfd)](_0x436f10=>{const _0x477f8e=_0x1406a2,_0x495a4b=_0x11e501['find'](_0xfc43c0=>_0xfc43c0[_0x477f8e(0x14e)]===_0x436f10[_0x477f8e(0x14e)]);_0x495a4b?_0x495a4b['errors']['push'](_0x436f10[_0x477f8e(0x112)]):_0x11e501['push']({'rowIndex':_0x436f10['rowIndex'],'rowData':_0x4137a9[_0x436f10['rowIndex']],'errors':[_0x436f10[_0x477f8e(0x112)]]});});const _0x2546ed=importValidator['detectDuplicatesInFile'](_0x4137a9,_0x12a1e8);_0x2546ed['forEach'](_0x26a326=>{const _0x421b4d=_0x1406a2,_0x1a4c9a=_0x11e501[_0x421b4d(0x15f)](_0x1ba7f0=>_0x1ba7f0['rowIndex']===_0x26a326[_0x421b4d(0x14e)]),_0x4e9500=_0x12a1e8[_0x421b4d(0x123)](_0x2e232e=>_0x2e232e['toUpperCase']())[_0x421b4d(0x119)](',\x20'),_0x47c142=_0x421b4d(0x13e)+_0x4e9500;_0x1a4c9a?_0x1a4c9a['errors']['push'](_0x47c142):_0x11e501[_0x421b4d(0x162)]({'rowIndex':_0x26a326['rowIndex'],'rowData':_0x4137a9[_0x26a326['rowIndex']],'errors':[_0x47c142]});}),await this['detectDatabaseDuplicates'](_0x4137a9,_0x12a1e8,_0x10f571,_0x5fb7,_0x51e789,_0x11e501),_0x11e501['forEach'](_0x5e24c6=>{const _0x42f11e=_0x1406a2,_0x39859d=_0x4137a9[_0x5e24c6[_0x42f11e(0x14e)]];_0x39859d&&(_0x39859d[_0x42f11e(0x101)]=_0x5e24c6['errors']);});let _0x520e5f=0x0,_0xb61f8f=0x0,_0x3268d7=0x0;_0x4137a9['forEach'](_0x2b482f=>{const _0x7c1e4f=_0x1406a2;if(_0x2b482f[_0x7c1e4f(0x129)]==='INSERT')_0x520e5f++;else{if(_0x2b482f['_action']==='UPDATE')_0xb61f8f++;else _0x2b482f['_action']===_0x49bc63['XGAkO']&&_0x3268d7++;}});const _0x228229={'job_id':_0x34ea8e,'upload_id':_0x510591,'status':_0x11e501['length']>0x0?'preview_error':_0x1406a2(0x146),'progress':0x64,'created_at':_0x2ac2ab['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x4137a9[_0x1406a2(0xfb)],'insert_count':_0x520e5f,'update_count':_0xb61f8f,'skip_count':_0x3268d7,'error_count':_0x11e501[_0x1406a2(0xfb)],'errors':_0x11e501,'data':_0x4137a9,'sample_insert':_0x4137a9['filter'](_0xa11739=>_0xa11739['_action']===_0x1406a2(0x11b))['slice'](0x0,0x5),'sample_update':_0x4137a9['filter'](_0x4a9e73=>_0x4a9e73['_action']===_0x1406a2(0x114))[_0x1406a2(0xf3)](0x0,0x5),'sample_skip':_0x4137a9[_0x1406a2(0x179)](_0x4d504f=>_0x4d504f[_0x1406a2(0x129)]===_0x1406a2(0x150))[_0x1406a2(0xf3)](0x0,0x5)},'params':_0x4617c3};await redisHelper[_0x1406a2(0xe8)]('job:'+_0x34ea8e,_0x228229,0xe10),_0x2ac2ab[_0x1406a2(0x16f)]=_0x4137a9,await redisHelper[_0x1406a2(0xe8)](_0x1406a2(0x117)+_0x510591,_0x2ac2ab,0xe10),logger['info']({'event':_0x49bc63[_0x1406a2(0x141)],'jobId':_0x34ea8e,'status':_0x228229['status'],'insertCount':_0x520e5f,'updateCount':_0xb61f8f,'skipCount':_0x3268d7,'errorCount':_0x11e501[_0x1406a2(0xfb)]},_0x49bc63[_0x1406a2(0x181)]);}catch(_0x209c95){logError(_0x209c95,{'event':_0x49bc63['iywbv'],'jobId':_0x34ea8e},_0x1406a2(0x12f)),await redisHelper[_0x1406a2(0xe8)](_0x1406a2(0x10c)+_0x34ea8e,{'job_id':_0x34ea8e,'upload_id':_0x510591,'status':_0x1406a2(0x11c),'progress':0x0,'error':_0x209c95[_0x1406a2(0x112)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x1c44be,_0x1ef84d,_0x245482,_0x4264a6,_0x8f682b='update_existing',_0x3ab8d3=[]){const _0x44eaef=a0_0xec2cb9,_0x1b38d4={'wdeWR':function(_0x5405b5,_0x288e15){return _0x5405b5===_0x288e15;},'KwqLT':function(_0x184b66,_0x491877){return _0x184b66(_0x491877);},'RPXow':_0x44eaef(0xf6),'XLVzR':'UPDATE','UPGYu':function(_0x5ccb54,_0x4e8d80){return _0x5ccb54!==_0x4e8d80;},'kgPKF':'SKIP','oLujQ':function(_0x291615,_0x47366c){return _0x291615===_0x47366c;},'ZRyrV':function(_0x4fbac5,_0x5a5352){return _0x4fbac5===_0x5a5352;},'WgGhJ':function(_0x2acbf0,_0x2775cc){return _0x2acbf0===_0x2775cc;},'gxrXr':_0x44eaef(0xfe),'LkbtY':function(_0x39a2b4,_0x5dac44){return _0x39a2b4(_0x5dac44);},'ycdLg':_0x44eaef(0x14f),'ICizB':function(_0x3eeadc,_0x5d0075){return _0x3eeadc>_0x5d0075;}},_0x2f2861=upsertBuilder[_0x44eaef(0x15d)](_0x1c44be,0x64);for(const _0x32e287 of _0x2f2861){const _0x1d2dfa=_0x32e287[_0x44eaef(0x123)](_0x2b33dc=>_0x2b33dc[_0x1ef84d[0x0]]),_0x23ca27=_0x1d2dfa[_0x44eaef(0x123)](_0x1d6e05=>{const _0xa7760=_0x44eaef;if(_0x1b38d4['wdeWR'](_0x1d6e05,null)||_0x1d6e05===undefined)return _0xa7760(0x159);return'\x27'+_0x1b38d4[_0xa7760(0x11e)](String,_0x1d6e05)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x215676=_0x44eaef(0x13c)+_0x4264a6+',\x20'+_0x1ef84d['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x245482+_0x44eaef(0x176)+_0x1ef84d[0x0]+'\x20IN\x20('+_0x23ca27[_0x44eaef(0x119)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x159a23=await _0x1b38d4[_0x44eaef(0x167)](executeQuery,_0x215676);dbType===_0x1b38d4['ycdLg']&&_0x159a23&&_0x1b38d4[_0x44eaef(0xfc)](_0x159a23[_0x44eaef(0xfb)],0x0)&&(_0x159a23=_0x159a23['map'](_0x4fac0d=>{const _0x579fbe=_0x44eaef,_0x430ef8={};for(const [_0x326181,_0x109212]of Object['entries'](_0x4fac0d)){_0x430ef8[_0x326181[_0x579fbe(0x173)]()]=_0x109212;}return _0x430ef8;}));const _0x7a80bd=new Map();_0x159a23['forEach'](_0x5b311e=>{const _0x48df49=_0x44eaef,_0x17b78a=_0x5b311e[_0x1ef84d[0x0]];_0x7a80bd[_0x48df49(0x10b)](_0x17b78a,_0x5b311e);}),_0x32e287[_0x44eaef(0xfd)]((_0xb672ee,_0x259816)=>{const _0x4fe3b5=_0x44eaef,_0x3935f7=_0xb672ee[_0x1ef84d[0x0]],_0x68c083=_0x7a80bd['get'](_0x3935f7);if(_0x68c083){if(_0x8f682b===_0x1b38d4['RPXow'])_0xb672ee['_action']=_0x1b38d4[_0x4fe3b5(0x16e)],_0xb672ee['_existingId']=_0x68c083[_0x4264a6];else{if(_0x8f682b===_0x4fe3b5(0x11d)){_0xb672ee[_0x4fe3b5(0x129)]='SKIP',_0xb672ee['_errors']=_0xb672ee[_0x4fe3b5(0x101)]||[],_0xb672ee[_0x4fe3b5(0x101)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x2f0a32=_0x1c44be[_0x4fe3b5(0x15c)](_0xb672ee);_0x1b38d4[_0x4fe3b5(0x11f)](_0x2f0a32,-0x1)&&_0x3ab8d3[_0x4fe3b5(0x162)]({'rowIndex':_0x2f0a32,'rowData':_0xb672ee,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x8f682b==='skip_existing'&&(_0xb672ee[_0x4fe3b5(0x129)]=_0x1b38d4['kgPKF']);}}else{if(_0x1b38d4[_0x4fe3b5(0xe3)](_0x8f682b,_0x4fe3b5(0xf6)))_0xb672ee[_0x4fe3b5(0x129)]=_0x4fe3b5(0x11b);else(_0x1b38d4['ZRyrV'](_0x8f682b,_0x4fe3b5(0x11d))||_0x1b38d4[_0x4fe3b5(0x138)](_0x8f682b,_0x1b38d4['gxrXr']))&&(_0xb672ee[_0x4fe3b5(0x129)]=_0x4fe3b5(0x11b));}});}}async[a0_0xec2cb9(0x108)](_0x2b87ac){const _0x9a8c0c=a0_0xec2cb9,_0x5204b3={'pmiKh':function(_0xfab2ac,_0x5d846a,_0x22b0d5,_0x99b00e){return _0xfab2ac(_0x5d846a,_0x22b0d5,_0x99b00e);},'EDnaz':_0x9a8c0c(0x115),'EgucZ':function(_0x2f77aa,_0x80a204){return _0x2f77aa!==_0x80a204;},'BHGjK':'processing'},_0xb0392f=this['generateId'](),_0x39f6e4=await redisHelper['getJob']('job:'+_0x2b87ac);if(!_0x39f6e4)throw new Error(_0x5204b3[_0x9a8c0c(0x144)]);if(_0x5204b3[_0x9a8c0c(0xe2)](_0x39f6e4['status'],'preview_ok'))throw new Error(_0x9a8c0c(0x103)+_0x39f6e4['status']);const _0x692067={'job_id':_0xb0392f,'upload_id':_0x39f6e4[_0x9a8c0c(0x169)],'preview_job_id':_0x2b87ac,'status':_0x5204b3['BHGjK'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x39f6e4['params']};return await redisHelper['setJob']('job:'+_0xb0392f,_0x692067,0xe10),logger[_0x9a8c0c(0x13f)]({'event':_0x9a8c0c(0xff),'jobId':_0xb0392f,'previewJobId':_0x2b87ac},'Commit\x20job\x20created'),this['processCommitJob'](_0xb0392f,_0x39f6e4)['catch'](_0x30f64b=>{const _0x13a0aa=_0x9a8c0c;_0x5204b3['pmiKh'](logError,_0x30f64b,{'event':_0x13a0aa(0xef),'jobId':_0xb0392f},'Commit\x20processing\x20failed');}),{'job_id':_0xb0392f,'status':'processing'};}async[a0_0xec2cb9(0x175)](_0x4950ea,_0x10e71a){const _0x10d564=a0_0xec2cb9,_0x2d8e09={'GglnA':function(_0x30160f,_0xe1e560){return _0x30160f===_0xe1e560;},'jeIid':'insert','pNCtM':_0x10d564(0x105),'wDcRm':function(_0x5553df,_0x395c16){return _0x5553df>_0x395c16;},'OJRpB':_0x10d564(0x15a),'SdBIM':function(_0x2303dd,_0x5b8796){return _0x2303dd>_0x5b8796;},'kugbz':function(_0x357971,_0x53457a){return _0x357971||_0x53457a;},'McojB':'commit_job_completed','DohKl':function(_0x241e8d,_0x8c3289,_0x5e73e6,_0x40cfb3){return _0x241e8d(_0x8c3289,_0x5e73e6,_0x40cfb3);},'cuOJV':_0x10d564(0x178),'Cyxuh':'Commit\x20job\x20failed','uSreT':'failed'};try{const _0xcb7a3e=await redisHelper[_0x10d564(0x177)]('upload:'+_0x10e71a[_0x10d564(0x169)]);if(!_0xcb7a3e)throw new Error(_0x2d8e09[_0x10d564(0x154)]);const {rows:_0x3e6983,params:_0x52b54b}=_0xcb7a3e,{tableName:_0x2225d0,fieldName:_0x1731e0,primaryKey:_0x300d49,upsertKeys:_0x108314,excludeFromImport:_0x4497e8,lookupFields:_0x606c6d,columnFormats:_0x779562}=_0x52b54b,_0x23396f=_0x606c6d?Object[_0x10d564(0x122)](_0x606c6d):[],_0x5b4c0a=new Set([..._0x4497e8||[],..._0x23396f]);let _0x5ef085=_0x1731e0;_0x2d8e09[_0x10d564(0x149)](_0x5b4c0a[_0x10d564(0x120)],0x0)&&(_0x5ef085=_0x1731e0[_0x10d564(0x179)](_0x3bd63c=>!_0x5b4c0a[_0x10d564(0x10f)](_0x3bd63c)),logger[_0x10d564(0x147)]({'event':_0x10d564(0x12b),'originalCount':_0x1731e0['length'],'filteredCount':_0x5ef085[_0x10d564(0xfb)],'excludedFields':Array['from'](_0x5b4c0a),'lookupSourceFields':_0x23396f},_0x2d8e09[_0x10d564(0x102)]));const _0x3b8463=_0x3e6983[_0x10d564(0x179)](_0x5db05d=>_0x5db05d[_0x10d564(0x129)]===_0x10d564(0x11b)),_0x38a68f=_0x3e6983[_0x10d564(0x179)](_0xa33c02=>_0xa33c02[_0x10d564(0x129)]===_0x10d564(0x114));let _0x20bc31=0x0,_0x44268e=0x0;const _0x56ca0a=[];if(_0x2d8e09['SdBIM'](_0x3b8463[_0x10d564(0xfb)],0x0)){const _0x2e1c7c=upsertBuilder[_0x10d564(0x15d)](_0x3b8463,0x64);for(const _0x306005 of _0x2e1c7c){const {query:_0xbfe8e5}=upsertBuilder[_0x10d564(0x148)](_0x306005,_0x2225d0,_0x5ef085,_0x2d8e09[_0x10d564(0x17b)](_0x779562,{}));_0xbfe8e5&&_0x56ca0a['push']({'sql':_0xbfe8e5,'count':_0x306005['length'],'type':'insert'});}}if(_0x38a68f['length']>0x0){const _0xd2d152=upsertBuilder[_0x10d564(0x15d)](_0x38a68f,0x64);for(const _0x1c5316 of _0xd2d152){const {query:_0x5ebe96}=upsertBuilder['buildBatchUpdate'](_0x1c5316,_0x2225d0,_0x5ef085,_0x300d49,_0x108314,_0x2d8e09['kugbz'](_0x779562,{}));_0x5ebe96&&_0x56ca0a['push']({'sql':_0x5ebe96,'count':_0x1c5316[_0x10d564(0xfb)],'type':_0x10d564(0xf9)});}}_0x56ca0a['length']>0x0&&await executeTransaction(_0x56ca0a['map'](_0x2e8425=>({'sql':_0x2e8425[_0x10d564(0xe4)],'params':[]})));_0x56ca0a['forEach'](_0x2f281e=>{const _0x275dc5=_0x10d564;if(_0x2d8e09[_0x275dc5(0x170)](_0x2f281e['type'],_0x2d8e09[_0x275dc5(0x164)]))_0x20bc31+=_0x2f281e[_0x275dc5(0x16a)];else _0x44268e+=_0x2f281e['count'];});const _0x51b380={'job_id':_0x4950ea,'upload_id':_0x10e71a['upload_id'],'preview_job_id':_0x10e71a[_0x10d564(0x118)],'status':'completed','progress':0x64,'created_at':_0x10e71a[_0x10d564(0x152)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3e6983['length'],'inserted_rows':_0x20bc31,'updated_rows':_0x44268e,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x52b54b};await redisHelper['setJob'](_0x10d564(0x10c)+_0x4950ea,_0x51b380,0xe10),logger['info']({'event':_0x2d8e09[_0x10d564(0x15e)],'jobId':_0x4950ea,'insertedCount':_0x20bc31,'updatedCount':_0x44268e},_0x10d564(0x133));}catch(_0x14c967){_0x2d8e09['DohKl'](logError,_0x14c967,{'event':_0x2d8e09[_0x10d564(0x132)],'jobId':_0x4950ea},_0x2d8e09['Cyxuh']),await redisHelper['setJob'](_0x10d564(0x10c)+_0x4950ea,{'job_id':_0x4950ea,'upload_id':_0x10e71a['upload_id'],'preview_job_id':_0x10e71a['job_id'],'status':_0x2d8e09[_0x10d564(0x109)],'progress':0x0,'error':_0x14c967[_0x10d564(0x112)],'created_at':_0x10e71a['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x10d564(0x128)]()},0xe10);}}async[a0_0xec2cb9(0x113)](_0x4c5f05){const _0xb231c9=a0_0xec2cb9,_0x4269f3=await redisHelper['getJob'](_0xb231c9(0x10c)+_0x4c5f05);if(!_0x4269f3)return{'success':![],'error':_0xb231c9(0x163)};return{'success':!![],'data':_0x4269f3};}}module[a0_0xec2cb9(0x16c)]=new ImportService();
1
+ const a0_0x369328=a0_0x45bd;(function(_0xb101b,_0x30073e){const _0x1b9526=a0_0x45bd,_0x530c96=_0xb101b();while(!![]){try{const _0x112635=parseInt(_0x1b9526(0x13f))/0x1*(-parseInt(_0x1b9526(0x10c))/0x2)+-parseInt(_0x1b9526(0x117))/0x3*(-parseInt(_0x1b9526(0x11b))/0x4)+parseInt(_0x1b9526(0x175))/0x5+parseInt(_0x1b9526(0x159))/0x6+parseInt(_0x1b9526(0xf3))/0x7+-parseInt(_0x1b9526(0x152))/0x8*(-parseInt(_0x1b9526(0x189))/0x9)+parseInt(_0x1b9526(0x12b))/0xa*(-parseInt(_0x1b9526(0x17c))/0xb);if(_0x112635===_0x30073e)break;else _0x530c96['push'](_0x530c96['shift']());}catch(_0x2e0e4e){_0x530c96['push'](_0x530c96['shift']());}}}(a0_0x3d14,0x8ba8e));const {v7:uuidv7}=require('uuid'),path=require(a0_0x369328(0x150)),fs=require('fs')['promises'],redisHelper=require(a0_0x369328(0x145)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x369328(0x15a)]['DB_TYPE']||'postgresql')[a0_0x369328(0x16c)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x369328(0x151)),executeQuery=(_0x4833b6,_0x317482)=>oracleDb[a0_0x369328(0x118)](_0x4833b6,_0x317482),executeTransaction=_0x55c4ea=>oracleDb['executeTransaction'](_0x55c4ea);else{if(dbType===a0_0x369328(0x103)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x388739,_0x42cc47)=>mysqlDb[a0_0x369328(0x118)](_0x388739,_0x42cc47),executeTransaction=_0x16da68=>mysqlDb['executeTransaction'](_0x16da68);}else{const db=require('../../core/utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x369328(0x148)];}}const excelParser=require('./excel-parser'),importValidator=require('./import-validator'),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x369328(0x171));function a0_0x45bd(_0x38397c,_0x44795e){_0x38397c=_0x38397c-0xf3;const _0x3d1434=a0_0x3d14();let _0x45bdb5=_0x3d1434[_0x38397c];if(a0_0x45bd['xLZunO']===undefined){var _0x20fdda=function(_0x2c89f1){const _0x1a109f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a3cb1='',_0x1ece5a='';for(let _0x3d862f=0x0,_0x33a4bb,_0x47698a,_0x2c6842=0x0;_0x47698a=_0x2c89f1['charAt'](_0x2c6842++);~_0x47698a&&(_0x33a4bb=_0x3d862f%0x4?_0x33a4bb*0x40+_0x47698a:_0x47698a,_0x3d862f++%0x4)?_0x3a3cb1+=String['fromCharCode'](0xff&_0x33a4bb>>(-0x2*_0x3d862f&0x6)):0x0){_0x47698a=_0x1a109f['indexOf'](_0x47698a);}for(let _0x20ed00=0x0,_0x3bc4be=_0x3a3cb1['length'];_0x20ed00<_0x3bc4be;_0x20ed00++){_0x1ece5a+='%'+('00'+_0x3a3cb1['charCodeAt'](_0x20ed00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece5a);};a0_0x45bd['evBgVT']=_0x20fdda,a0_0x45bd['sEYvtX']={},a0_0x45bd['xLZunO']=!![];}const _0x303d13=_0x3d1434[0x0],_0x4196dc=_0x38397c+_0x303d13,_0x359cd9=a0_0x45bd['sEYvtX'][_0x4196dc];return!_0x359cd9?(_0x45bdb5=a0_0x45bd['evBgVT'](_0x45bdb5),a0_0x45bd['sEYvtX'][_0x4196dc]=_0x45bdb5):_0x45bdb5=_0x359cd9,_0x45bdb5;}function a0_0x3d14(){const _0x861f50=['C3fS','BM93','ChjLDMLLD19QB2jFy3jLyxrLza','ChjVy2vZC1bYzxzPzxDkB2i','mta2otjczLrctum','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','cIaGicaGicaGrLjptsa','C2XPy2u','B3rRug4','BwfW','DxvPzf9HDxrVx2DLBMvYyxrLza','t3ncq08','y29SDw1UrM9YBwf0CW','ChvZAa','Bvv3zNC','t0nsy2u','Bwf0y2G','mtHkwuDrqvq','tNjVrNa','vgfLs2q','qvHItKC','BwvZC2fNzq','Bg9VA3vWrMLLBgrZ','ndmXmZGZngfrseHACa','CgfKu3rHCNq','BNvTyMvY','CM93sw5KzxG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','yLvPwK0','z2v0rgf0zq','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ieLoicG','B3jHy2XL','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','AM9IoG','r1zQrei','x2fJDgLVBG','z2v0','BxLZCwW','yxbWBhLdB2X1Bw5gB3jTyxrZ','y2f0y2G','zxz0qM0','q29TBwL0igPVyIbJCMvHDgvK','x2vYCM9YCW','sMX6yK8','DgvZDa','BgvUz3rO','mta2mJC5nKngr2vcDa','zw50CMLLCW','BwTbrhC','y29TBwL0x2PVyL9JB21WBgv0zwq','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','u0Tjua','ChjLDMLLD19VAW','AM9Ix2LK','Aw5JBhvKzxm','m2PnEwvrzG','zxHLy3v0zvf1zxj5','DMfSAwq','tuHAz2u','mti3mdG4ogXxANrvDG','ywHRCg8','y3jLyxrLzf9HDa','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','Aw5Zzxj0x29UBhK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','su5trvju','DxzwCgm','AM9PBG','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','x2DLBMvYyxrLzf91DwLK','Dw5SAw5R','z2v0sM9I','vvbeqvrf','ChjVy2vZC0nVBw1PDePVyG','DhjPBq','mJe3mJbKuMPls1y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','yNvPBgrcyxrJAfvWzgf0zq','B2Pszfq','DxbSB2fKoG','ChjVy2vZC0XVB2T1CezPzwXKCW','C3rHDhvZ','qNvPqxO','uNzrs1G','qLfcDhy','zMXVB3i','zgftv0W','x3vWBg9HzerPCG','DMfSDwvZ','zhnorei','q29TBwL0igPVyIbJB21WBgv0zwq','zM9YrwfJAa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','mLfpvvzsEG','C2v0sM9I','CM93CW','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','DMvSu1G','A2v5CW','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','ChjLDMLLD19QB2jFzMfPBgvK','BgPdD3m','zxHLy3v0zvrYyw5Zywn0Aw9U','y291BNq','C2TPCf9LEgLZDgLUzW','yNP1DNu','DMfSAwrHDgLUzW','CMvWBgfJzq','zwj5BKS','DhLWzq','Cgf0Aa','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','mZC3nJC3nNnSrNLtvq','CMfUzg9T','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Dg9vChbLCKnHC2u','Aw5MBW','cIaGicaGicaGu0vmrunuia','rhvWBgLJyxrLihzHBhvLigzVCIa','ntKXmtKYnKjuuejuyG','zw52','zMfPBgvK','B3jPz2LUywXUyw1L','C2v0','CgfYyw1Z','DNHXr1O','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zg1Sz2y','B0DlAK8','y29TCgXLDgvK','y3jLyxrLuhjLDMLLD0PVyG','DxbKyxrLx2v4Axn0Aw5N','yxPvwha','uhjLDMLLDYbQB2iGy3jLyxrLza','AMjUEMO','C3vIC3rYAw5N','zMLSDgvY','Dg9mB3DLCKnHC2u','z2v0sM9Iu3rHDhvZ','z2v0tw9UDgG','zgvIDwC','Aw5Zzxj0','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','zMLUza','tLvmta','zenksLu','ndqXmJyZnwPvAMzOEG','C2L6zq','qvbSDu4'];a0_0x3d14=function(){return _0x861f50;};return a0_0x3d14();}class ImportService{constructor(){const _0x10a56c=a0_0x369328;this[_0x10a56c(0x138)]=null;}get['uploadDir'](){const _0x2fb5e1=a0_0x369328;if(!this[_0x2fb5e1(0x138)]){const _0x38a678=process[_0x2fb5e1(0x15a)][_0x2fb5e1(0x12c)]||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x2fb5e1(0x123)](__dirname,'../../temp/uploads/'+_0x38a678);}return this[_0x2fb5e1(0x138)];}['generateId'](){const _0x5798c8=a0_0x369328,_0x27d40a={'iXKFI':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','dmlgf':function(_0x2d2111){return _0x2d2111();}},_0x45e826=_0x27d40a['iXKFI'],_0x4c67b3=Date[_0x5798c8(0x179)]()['toString'](0x24),_0x8cc72=_0x27d40a[_0x5798c8(0x162)](uuidv7)[_0x5798c8(0x14d)](/-/g,'')[_0x5798c8(0x16a)](0x0,0xc-_0x4c67b3[_0x5798c8(0x10b)]),_0x2b22fc=(_0x4c67b3+_0x8cc72)[_0x5798c8(0x16a)](0x0,0xc);let _0x53b0bb='';for(let _0x7b59c4=0x0;_0x7b59c4<0xc;_0x7b59c4++){_0x2b22fc[_0x7b59c4]?_0x53b0bb+=_0x2b22fc[_0x7b59c4]:_0x53b0bb+=_0x45e826['charAt'](Math[_0x5798c8(0x136)](Math[_0x5798c8(0x153)]()*_0x45e826['length']));}return _0x53b0bb;}['buildLabelToFieldMap'](_0x18e26c){const _0x7ac352=a0_0x369328,_0x292285={'RvQKX':'$1_$2','ljCws':'label_to_field_map_built'},_0x49c199=new Map();if(!_0x18e26c)return _0x49c199;return Object['entries'](_0x18e26c)['forEach'](([_0x208e5f,_0x1feefb])=>{const _0x211740=a0_0x45bd,_0x520338=String(_0x1feefb)[_0x211740(0x12a)]()[_0x211740(0x14d)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x292285['RvQKX'])[_0x211740(0x14d)](/([A-Z]+)([A-Z][a-z])/g,_0x292285[_0x211740(0x134)])['toLowerCase']();_0x49c199[_0x211740(0x15d)](_0x520338,_0x208e5f);}),logger['debug']({'event':_0x292285[_0x7ac352(0x147)],'mappingCount':_0x49c199[_0x7ac352(0x176)]},_0x7ac352(0x11e)),_0x49c199;}[a0_0x369328(0x104)](_0x3a98d9,_0x166b28){const _0x35a797=a0_0x369328,_0x27d994={'SfSkr':function(_0x2347f7,_0x22df6b){return _0x2347f7===_0x22df6b;},'OCRce':function(_0x2cdfe8,_0x73ef8){return _0x2cdfe8===_0x73ef8;},'DslWF':function(_0x4af2ba,_0x576a23){return _0x4af2ba===_0x576a23;}};if(!_0x166b28||_0x27d994['DslWF'](Object[_0x35a797(0x144)](_0x166b28)['length'],0x0))return _0x3a98d9;return _0x3a98d9[_0x35a797(0x181)](_0x1b89c8=>{const _0x1a501c=_0x35a797,_0x5e2944={..._0x1b89c8};for(const [_0x3c64d4,_0x2fa278]of Object[_0x1a501c(0x10d)](_0x166b28)){const _0x494051=_0x5e2944[_0x3c64d4];if(_0x27d994['SfSkr'](_0x494051,null)||_0x494051===undefined||_0x27d994[_0x1a501c(0x187)](_0x494051,'')){_0x5e2944[_0x3c64d4]=null;continue;}switch(_0x2fa278['type']){case'date':_0x5e2944[_0x3c64d4]=this['formatDateForDatabase'](_0x494051);break;case _0x1a501c(0xf5):_0x5e2944[_0x3c64d4]=this[_0x1a501c(0x161)](_0x494051);break;case'text':_0x5e2944[_0x3c64d4]=String(_0x494051);break;default:break;}}return _0x5e2944;});}[a0_0x369328(0x13d)](_0x329f6a){const _0x5ce953=a0_0x369328,_0x1a824f={'NVAFd':function(_0x30c204,_0x5b6c0a){return _0x30c204===_0x5b6c0a;},'FMbSn':'string','YpcIZ':function(_0x3ca2f1,_0x4e14fb){return _0x3ca2f1 instanceof _0x4e14fb;},'NhsZy':function(_0x34e086,_0x56202d){return _0x34e086(_0x56202d);},'jbnzj':function(_0x2a15d5,_0x547730){return _0x2a15d5===_0x547730;},'JlzbO':function(_0x20ec1a,_0xb5d7ed){return _0x20ec1a(_0xb5d7ed);},'NroFp':function(_0x4e3838,_0x41c054){return _0x4e3838(_0x41c054);}};if(_0x1a824f['NVAFd'](_0x329f6a,null)||_0x329f6a===undefined||_0x329f6a==='')return null;if(_0x1a824f['NVAFd'](typeof _0x329f6a,_0x1a824f['FMbSn'])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x329f6a))return _0x329f6a;if(_0x1a824f['YpcIZ'](_0x329f6a,Date)){if(isNaN(_0x329f6a['getTime']()))return null;const _0x111aca=_0x329f6a['getFullYear'](),_0x3dbd3b=String(_0x329f6a[_0x5ce953(0x16e)]()+0x1)[_0x5ce953(0xf4)](0x2,'0'),_0x11ade0=_0x1a824f['NhsZy'](String,_0x329f6a[_0x5ce953(0xf9)]())['padStart'](0x2,'0');return _0x111aca+'-'+_0x3dbd3b+'-'+_0x11ade0;}if(_0x1a824f[_0x5ce953(0x169)](typeof _0x329f6a,'string')){const _0x21b545=_0x329f6a['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x21b545){const _0x3e1452=_0x1a824f['NhsZy'](String,_0x21b545[0x1])[_0x5ce953(0xf4)](0x2,'0'),_0x57ed4d=_0x1a824f[_0x5ce953(0x109)](String,_0x21b545[0x2])['padStart'](0x2,'0'),_0x240a4a=_0x21b545[0x3];return _0x240a4a+'-'+_0x57ed4d+'-'+_0x3e1452;}const _0x5368c0=_0x329f6a[_0x5ce953(0x188)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5368c0){const _0x48681f=_0x5368c0[0x1],_0x2e358b=_0x1a824f[_0x5ce953(0x18a)](String,_0x5368c0[0x2])['padStart'](0x2,'0'),_0x48f273=_0x1a824f['NroFp'](String,_0x5368c0[0x3])['padStart'](0x2,'0');return _0x48681f+'-'+_0x2e358b+'-'+_0x48f273;}}return _0x329f6a;}[a0_0x369328(0x161)](_0x185584){const _0x53262d=a0_0x369328,_0x1ee5bf={'velSX':function(_0x88f4b7,_0x19bad2){return _0x88f4b7===_0x19bad2;},'APluN':function(_0x2174db,_0x54a570){return _0x2174db(_0x54a570);}};if(_0x1ee5bf[_0x53262d(0x143)](_0x185584,null)||_0x185584===undefined||_0x185584==='')return null;if(typeof _0x185584===_0x53262d(0xf5))return isNaN(_0x185584)?null:_0x185584;if(typeof _0x185584==='string'){let _0x489a17=_0x185584['trim']();const _0x5ad633=/,\d{1,2}$/['test'](_0x489a17)&&!/,\d{3}/[_0x53262d(0x10a)](_0x489a17);_0x5ad633?_0x489a17=_0x489a17['replace'](/\./g,'')[_0x53262d(0x14d)](',','.'):_0x489a17=_0x489a17[_0x53262d(0x14d)](/,/g,'');const _0x44d435=_0x1ee5bf[_0x53262d(0x177)](parseFloat,_0x489a17);return isNaN(_0x44d435)?null:_0x44d435;}return null;}async['uploadFile'](_0x53f8fd,_0x24fe01){const _0x17a6d2=a0_0x369328,_0x5bfc11={'oQuUX':function(_0x998881,_0x45fede){return _0x998881||_0x45fede;},'SaCrT':function(_0x2aa015,_0x18aa33){return _0x2aa015>_0x18aa33;},'QjXGJ':_0x17a6d2(0xfa),'mkADw':'Failed\x20to\x20cleanup\x20file'},_0x5eeb47=this['generateId']();try{let {headers:_0x4e4d27,rows:_0x25a596,totalRows:_0x5bd3c4}=await excelParser['parseExcelFile'](_0x53f8fd[_0x17a6d2(0x150)]);const _0x4fe69b=this['buildLabelToFieldMap'](_0x24fe01['fieldLabels']),_0xdec594=_0x4e4d27['map'](_0x975741=>{const _0x1f8f15=_0x17a6d2,_0x821258=_0x4fe69b[_0x1f8f15(0x102)](_0x975741);return _0x5bfc11['oQuUX'](_0x821258,_0x975741);});_0x25a596=_0x25a596[_0x17a6d2(0x181)](_0xe64683=>{const _0x57a49d={};return _0x4e4d27['forEach']((_0x31b022,_0x171f0d)=>{const _0x3cf4af=_0xdec594[_0x171f0d];_0x57a49d[_0x3cf4af]=_0xe64683[_0x31b022];}),_0x57a49d;}),_0x4e4d27=_0xdec594,logger['debug']({'event':'headers_mapped','original':_0x4e4d27['length'],'mapped':_0xdec594[_0x17a6d2(0x16b)]((_0x57e16b,_0x1588fc)=>_0x57e16b!==_0x4e4d27[_0x1588fc])[_0x17a6d2(0x10b)]},_0x17a6d2(0x112));_0x24fe01[_0x17a6d2(0x184)]&&_0x5bfc11['SaCrT'](Object['keys'](_0x24fe01[_0x17a6d2(0x184)])['length'],0x0)&&(_0x25a596=this[_0x17a6d2(0x104)](_0x25a596,_0x24fe01[_0x17a6d2(0x184)]),logger[_0x17a6d2(0x16f)]({'event':'column_formats_applied','formatCount':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])['length'],'formats':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])},_0x17a6d2(0x120)));const _0x1563b4=_0x24fe01[_0x17a6d2(0x18e)]?Object[_0x17a6d2(0x139)](_0x24fe01['lookupFields'])['map'](_0x5dd830=>_0x5dd830['targetField']):[],_0xef23fc=_0x24fe01['fieldName'][_0x17a6d2(0x16b)](_0x4c8d6b=>!_0x1563b4[_0x17a6d2(0x116)](_0x4c8d6b)),_0x38cec6=excelParser[_0x17a6d2(0xf7)](_0x4e4d27,_0xef23fc);if(!_0x38cec6[_0x17a6d2(0x119)]){await fs[_0x17a6d2(0x126)](_0x53f8fd['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x38cec6['missingFields']['join'](',\x20'));}const _0x269a76={'upload_id':_0x5eeb47,'filename':_0x53f8fd['originalname'],'total_rows':_0x5bd3c4,'headers':_0x4e4d27,'rows':_0x25a596,'params':_0x24fe01,'created_at':new Date()['toISOString']()};return await redisHelper[_0x17a6d2(0x140)]('upload:'+_0x5eeb47,_0x269a76,0xe10),await fs['unlink'](_0x53f8fd[_0x17a6d2(0x150)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x5eeb47,'filename':_0x53f8fd[_0x17a6d2(0x15c)],'totalRows':_0x5bd3c4},_0x5bfc11['QjXGJ']),{'upload_id':_0x5eeb47,'total_rows':_0x5bd3c4,'preview':_0x25a596['slice'](0x0,0xa)};}catch(_0x318f34){try{await fs[_0x17a6d2(0x126)](_0x53f8fd[_0x17a6d2(0x150)]);}catch(_0x4fc547){logError(_0x4fc547,{'event':'file_cleanup_error'},_0x5bfc11[_0x17a6d2(0x10e)]);}throw _0x318f34;}}async[a0_0x369328(0x165)](_0x4d0079){const _0x503b38=a0_0x369328,_0x3f7347={'xIOBO':function(_0x16bef5,_0x5388f5,_0x3380ce,_0x30d42c){return _0x16bef5(_0x5388f5,_0x3380ce,_0x30d42c);},'azUXp':'Preview\x20processing\x20failed','GVjDB':_0x503b38(0x154),'BQBtv':_0x503b38(0x14c),'TaeKd':_0x503b38(0x168)},_0x2b3845=this['generateId'](),_0x3e0295=await redisHelper['getJob']('upload:'+_0x4d0079);if(!_0x3e0295)throw new Error(_0x3f7347[_0x503b38(0x100)]);const _0xaf6333={'job_id':_0x2b3845,'upload_id':_0x4d0079,'status':_0x3f7347[_0x503b38(0x135)],'progress':0x0,'created_at':new Date()[_0x503b38(0x111)](),'params':_0x3e0295[_0x503b38(0x15e)]};return await redisHelper['setJob']('job:'+_0x2b3845,_0xaf6333,0xe10),logger[_0x503b38(0x156)]({'event':_0x503b38(0x17a),'jobId':_0x2b3845,'uploadId':_0x4d0079},_0x3f7347[_0x503b38(0x18b)]),this['processPreviewJob'](_0x2b3845,_0x4d0079,_0x3e0295)[_0x503b38(0x105)](_0x2944fa=>{const _0x5007d1=_0x503b38;_0x3f7347['xIOBO'](logError,_0x2944fa,{'event':'preview_process_error','jobId':_0x2b3845},_0x3f7347[_0x5007d1(0x167)]);}),{'job_id':_0x2b3845,'status':_0x3f7347[_0x503b38(0x135)]};}[a0_0x369328(0x17d)](_0x27168d,_0x492c04){const _0xb9a9aa={'amguG':function(_0x36d672,_0x129643){return _0x36d672===_0x129643;},'UdjkZ':function(_0x5a88bd,_0xb73479){return _0x5a88bd+_0xb73479;}};_0x27168d['forEach']((_0x2abab6,_0x2d8c3c)=>{const _0x51efd7=a0_0x45bd,_0x3bc6c8={'ahkpo':function(_0x30d5e6,_0x5f0a43){return _0xb9a9aa['amguG'](_0x30d5e6,_0x5f0a43);},'iJWEE':function(_0x23d21c,_0x5d4560){return _0x23d21c(_0x5d4560);},'vxqGZ':function(_0x1fd51e,_0x56db18){return _0xb9a9aa['UdjkZ'](_0x1fd51e,_0x56db18);}};_0x492c04[_0x51efd7(0x13c)](_0x1c39d3=>{const _0x23866f=_0x51efd7,_0x178fd2=_0x2abab6[_0x1c39d3];if(_0x3bc6c8[_0x23866f(0x11c)](_0x178fd2,null)||_0x3bc6c8['ahkpo'](_0x178fd2,undefined)||_0x178fd2===''||_0x3bc6c8['iJWEE'](String,_0x178fd2)[_0x23866f(0x12a)]()==='-'){const _0x19c712=uuidv7();_0x2abab6[_0x1c39d3]=_0x19c712,_0x2abab6[_0x23866f(0x125)]=_0x2abab6[_0x23866f(0x125)]||{},_0x2abab6['_generated_uuid'][_0x1c39d3]=_0x19c712,logger['debug']({'event':_0x23866f(0x182),'rowIndex':_0x2d8c3c,'field':_0x1c39d3,'uuid':_0x19c712},_0x23866f(0x124)+_0x1c39d3+'\x20at\x20row\x20'+_0x3bc6c8[_0x23866f(0x15f)](_0x2d8c3c,0x2));}});});}async[a0_0x369328(0x17b)](_0x17295a,_0x2d5223,_0x5cae36){const _0x219796=a0_0x369328,_0x39ee06={'aDRgL':'INSERT','KoDbJ':'UPDATE','FEtzB':function(_0x35cf49,_0x5e9ac0){return _0x35cf49>_0x5e9ac0;},'dePzh':_0x219796(0xfd),'OsBCO':'Processing\x20lookup\x20fields','bUiZM':_0x219796(0x114),'RuqZB':'preview_job_completed','BuiAz':function(_0x4fb88c,_0x1ca892,_0x358cc2,_0x24ad10){return _0x4fb88c(_0x1ca892,_0x358cc2,_0x24ad10);},'ojRdT':_0x219796(0x146)};try{let {rows:_0x15768a,params:_0x33d6fe}=_0x5cae36;const {requiredFields:_0x2260ae,validations:_0x23847,upsertKeys:_0x3aa0f7,tableName:_0x116b9d,primaryKey:_0x3ae343,fieldName:_0x1c5e2d,upsertStrategy:_0x40cc20,lookupFields:_0xe889ed}=_0x33d6fe;this['autoGenerateUpsertKeys'](_0x15768a,_0x3aa0f7);let _0x5c8e0d=[];if(_0xe889ed&&_0x39ee06['FEtzB'](Object['keys'](_0xe889ed)[_0x219796(0x10b)],0x0)){logger[_0x219796(0x156)]({'event':_0x39ee06['dePzh'],'jobId':_0x17295a,'lookupFieldCount':Object[_0x219796(0x144)](_0xe889ed)['length']},_0x39ee06[_0x219796(0x183)]);const _0x361eab=await lookupResolver[_0x219796(0x131)](_0x15768a,_0xe889ed);_0x15768a=_0x361eab['processedRows'],_0x5c8e0d=_0x361eab['errors'],_0x5cae36[_0x219796(0x141)]=_0x15768a;}const _0x4ca295=importValidator['batchValidateRows'](_0x15768a,_0x2260ae||[],_0x23847||{});_0x5c8e0d[_0x219796(0x13c)](_0x2dc5ee=>{const _0x2ff67d=_0x219796,_0x212481=_0x4ca295['find'](_0x3017a3=>_0x3017a3[_0x2ff67d(0xf6)]===_0x2dc5ee[_0x2ff67d(0xf6)]);_0x212481?_0x212481['errors']['push'](_0x2dc5ee['message']):_0x4ca295[_0x2ff67d(0x185)]({'rowIndex':_0x2dc5ee[_0x2ff67d(0xf6)],'rowData':_0x15768a[_0x2dc5ee['rowIndex']],'errors':[_0x2dc5ee[_0x2ff67d(0x18d)]]});});const _0x32af6e=importValidator['detectDuplicatesInFile'](_0x15768a,_0x3aa0f7);_0x32af6e['forEach'](_0x414b29=>{const _0x26b3be=_0x219796,_0x557b71=_0x4ca295[_0x26b3be(0x172)](_0xb7f18a=>_0xb7f18a[_0x26b3be(0xf6)]===_0x414b29['rowIndex']),_0x4196b6=_0x3aa0f7['map'](_0xe17048=>_0xe17048[_0x26b3be(0x155)]())['join'](',\x20'),_0x5dfd74=_0x26b3be(0x158)+_0x4196b6;_0x557b71?_0x557b71['errors']['push'](_0x5dfd74):_0x4ca295['push']({'rowIndex':_0x414b29[_0x26b3be(0xf6)],'rowData':_0x15768a[_0x414b29[_0x26b3be(0xf6)]],'errors':[_0x5dfd74]});}),await this[_0x219796(0xfe)](_0x15768a,_0x3aa0f7,_0x116b9d,_0x3ae343,_0x40cc20,_0x4ca295),_0x4ca295[_0x219796(0x13c)](_0x17e148=>{const _0x3eac3f=_0x219796,_0x20d6a1=_0x15768a[_0x17e148['rowIndex']];_0x20d6a1&&(_0x20d6a1[_0x3eac3f(0x108)]=_0x17e148['errors']);});let _0x4eb8d2=0x0,_0x8e222e=0x0,_0x4d57f3=0x0;_0x15768a[_0x219796(0x13c)](_0x3d2a1f=>{const _0x34455a=_0x219796;if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['aDRgL'])_0x4eb8d2++;else{if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['KoDbJ'])_0x8e222e++;else _0x3d2a1f['_action']===_0x34455a(0x113)&&_0x4d57f3++;}});const _0x73fb6c={'job_id':_0x17295a,'upload_id':_0x2d5223,'status':_0x39ee06['FEtzB'](_0x4ca295[_0x219796(0x10b)],0x0)?'preview_error':_0x39ee06[_0x219796(0xf8)],'progress':0x64,'created_at':_0x5cae36['created_at'],'completed_at':new Date()[_0x219796(0x111)](),'preview':{'total_rows':_0x15768a['length'],'insert_count':_0x4eb8d2,'update_count':_0x8e222e,'skip_count':_0x4d57f3,'error_count':_0x4ca295['length'],'errors':_0x4ca295,'data':_0x15768a,'sample_insert':_0x15768a[_0x219796(0x16b)](_0x452d59=>_0x452d59['_action']===_0x219796(0x121))[_0x219796(0x17f)](0x0,0x5),'sample_update':_0x15768a[_0x219796(0x16b)](_0x5f0691=>_0x5f0691['_action']===_0x219796(0x128))['slice'](0x0,0x5),'sample_skip':_0x15768a[_0x219796(0x16b)](_0x5b2153=>_0x5b2153[_0x219796(0x101)]===_0x219796(0x113))[_0x219796(0x17f)](0x0,0x5)},'params':_0x33d6fe};await redisHelper[_0x219796(0x140)]('job:'+_0x17295a,_0x73fb6c,0xe10),_0x5cae36['rows']=_0x15768a,await redisHelper[_0x219796(0x140)](_0x219796(0x130)+_0x2d5223,_0x5cae36,0xe10),logger[_0x219796(0x156)]({'event':_0x39ee06['RuqZB'],'jobId':_0x17295a,'status':_0x73fb6c['status'],'insertCount':_0x4eb8d2,'updateCount':_0x8e222e,'skipCount':_0x4d57f3,'errorCount':_0x4ca295[_0x219796(0x10b)]},_0x219796(0x160));}catch(_0x58e0c7){_0x39ee06[_0x219796(0x133)](logError,_0x58e0c7,{'event':_0x39ee06[_0x219796(0x12f)],'jobId':_0x17295a},'Preview\x20job\x20failed'),await redisHelper[_0x219796(0x140)](_0x219796(0xff)+_0x17295a,{'job_id':_0x17295a,'upload_id':_0x2d5223,'status':'failed','progress':0x0,'error':_0x58e0c7[_0x219796(0x18d)],'created_at':new Date()[_0x219796(0x111)](),'completed_at':new Date()[_0x219796(0x111)]()},0xe10);}}async[a0_0x369328(0xfe)](_0x41ebaa,_0x18954e,_0x1bbf40,_0x626355,_0x5c95eb=a0_0x369328(0x166),_0x42dd59=[]){const _0x57191d=a0_0x369328,_0x236817={'hevhi':function(_0x36670b,_0x5180d1){return _0x36670b===_0x5180d1;},'evtBm':_0x57191d(0x173),'AXbNG':function(_0x4f29cc,_0x26d47a){return _0x4f29cc===_0x26d47a;},'uvVpc':'skip_existing','kRatI':'SKIP','ZYPCg':_0x57191d(0x11f),'mUwfw':function(_0xe6a0bd,_0x72dd35){return _0xe6a0bd(_0x72dd35);}},_0x4eafc5=upsertBuilder['chunkRows'](_0x41ebaa,0x64);for(const _0x1130d7 of _0x4eafc5){const _0x385301=_0x1130d7['map'](_0xf9a0ea=>_0xf9a0ea[_0x18954e[0x0]]),_0x2ca390=_0x385301['map'](_0x5e5afe=>{const _0x496ac7=_0x57191d;if(_0x5e5afe===null||_0x236817['hevhi'](_0x5e5afe,undefined))return _0x236817[_0x496ac7(0x106)];return'\x27'+String(_0x5e5afe)[_0x496ac7(0x14d)](/'/g,'\x27\x27')+'\x27';}),_0x2837b7=_0x57191d(0x157)+_0x626355+',\x20'+_0x18954e[_0x57191d(0x123)](',\x20')+_0x57191d(0x17e)+_0x1bbf40+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x18954e[0x0]+_0x57191d(0xfb)+_0x2ca390['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x2e620e=await _0x236817[_0x57191d(0x186)](executeQuery,_0x2837b7);dbType===_0x57191d(0xfc)&&_0x2e620e&&_0x2e620e['length']>0x0&&(_0x2e620e=_0x2e620e['map'](_0x53a8fa=>{const _0xc2cea0=_0x57191d,_0x34b764={};for(const [_0x420e59,_0x30ebc1]of Object['entries'](_0x53a8fa)){_0x34b764[_0x420e59[_0xc2cea0(0x16c)]()]=_0x30ebc1;}return _0x34b764;}));const _0x412989=new Map();_0x2e620e[_0x57191d(0x13c)](_0x1ba526=>{const _0x26c34e=_0x57191d,_0x43771a=_0x1ba526[_0x18954e[0x0]];_0x412989[_0x26c34e(0x15d)](_0x43771a,_0x1ba526);}),_0x1130d7['forEach']((_0x1eb8c8,_0x2af20a)=>{const _0x59fa84=_0x57191d,_0x31f038=_0x1eb8c8[_0x18954e[0x0]],_0x2c62a9=_0x412989['get'](_0x31f038);if(_0x2c62a9){if(_0x236817[_0x59fa84(0x18c)](_0x5c95eb,'update_existing'))_0x1eb8c8['_action']='UPDATE',_0x1eb8c8['_existingId']=_0x2c62a9[_0x626355];else{if(_0x5c95eb==='insert_only'){_0x1eb8c8[_0x59fa84(0x101)]='SKIP',_0x1eb8c8[_0x59fa84(0x108)]=_0x1eb8c8[_0x59fa84(0x108)]||[],_0x1eb8c8[_0x59fa84(0x108)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0xf781a0=_0x41ebaa['indexOf'](_0x1eb8c8);_0xf781a0!==-0x1&&_0x42dd59['push']({'rowIndex':_0xf781a0,'rowData':_0x1eb8c8,'errors':[_0x59fa84(0x12d)]});}else _0x5c95eb===_0x236817[_0x59fa84(0x122)]&&(_0x1eb8c8['_action']=_0x236817['kRatI']);}}else{if(_0x5c95eb===_0x59fa84(0x166))_0x1eb8c8[_0x59fa84(0x101)]='INSERT';else(_0x5c95eb===_0x236817['ZYPCg']||_0x236817['hevhi'](_0x5c95eb,_0x59fa84(0x14a)))&&(_0x1eb8c8[_0x59fa84(0x101)]='INSERT');}});}}async['createCommitJob'](_0x2426e7){const _0x1b07b0=a0_0x369328,_0x1dcaab={'HQoPk':function(_0xe2f1a2,_0x3e81c5,_0x3f51bb,_0x1be371){return _0xe2f1a2(_0x3e81c5,_0x3f51bb,_0x1be371);},'bCZzn':'Commit\x20processing\x20failed','ebynK':_0x1b07b0(0x107),'dCJJU':'processing'},_0x21d4e3=this['generateId'](),_0x83db1c=await redisHelper['getJob']('job:'+_0x2426e7);if(!_0x83db1c)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x83db1c[_0x1b07b0(0x132)]!==_0x1b07b0(0x114))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x83db1c[_0x1b07b0(0x132)]);const _0x281e53={'job_id':_0x21d4e3,'upload_id':_0x83db1c['upload_id'],'preview_job_id':_0x2426e7,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x83db1c['params']};return await redisHelper[_0x1b07b0(0x140)](_0x1b07b0(0xff)+_0x21d4e3,_0x281e53,0xe10),logger[_0x1b07b0(0x156)]({'event':_0x1b07b0(0x110),'jobId':_0x21d4e3,'previewJobId':_0x2426e7},_0x1dcaab[_0x1b07b0(0x14e)]),this[_0x1b07b0(0x129)](_0x21d4e3,_0x83db1c)['catch'](_0xdb32db=>{_0x1dcaab['HQoPk'](logError,_0xdb32db,{'event':'commit_process_error','jobId':_0x21d4e3},_0x1dcaab['bCZzn']);}),{'job_id':_0x21d4e3,'status':_0x1dcaab[_0x1b07b0(0x174)]};}async['processCommitJob'](_0x2145c3,_0x35b2f4){const _0xd5b27=a0_0x369328,_0x862be7={'daSWL':function(_0x3b7778,_0x30389f){return _0x3b7778===_0x30389f;},'dsNDB':_0xd5b27(0x154),'MHZge':function(_0x47e4ea,_0x3e79ea){return _0x47e4ea>_0x3e79ea;},'otkPn':_0xd5b27(0x142),'bzuvu':'update','oGKjO':_0xd5b27(0x164),'yRwRu':_0xd5b27(0x13b),'HmMdj':'Commit\x20job\x20failed'};try{const _0x8f93ff=await redisHelper[_0xd5b27(0x127)](_0xd5b27(0x130)+_0x35b2f4['upload_id']);if(!_0x8f93ff)throw new Error(_0x862be7[_0xd5b27(0x13a)]);const {rows:_0x57b232,params:_0x4c8bf6}=_0x8f93ff,{tableName:_0x3c2716,fieldName:_0x55a1b5,primaryKey:_0x2038f1,upsertKeys:_0x4008fc,excludeFromImport:_0x471697,lookupFields:_0x230854,columnFormats:_0x51ef4a}=_0x4c8bf6,_0x2835cb=_0x230854?Object[_0xd5b27(0x144)](_0x230854):[],_0x48e7d=new Set([..._0x471697||[],..._0x2835cb]);let _0x47b9ca=_0x55a1b5;_0x862be7['MHZge'](_0x48e7d['size'],0x0)&&(_0x47b9ca=_0x55a1b5['filter'](_0x43dc49=>!_0x48e7d['has'](_0x43dc49)),logger[_0xd5b27(0x16f)]({'event':'import_fields_filtered','originalCount':_0x55a1b5[_0xd5b27(0x10b)],'filteredCount':_0x47b9ca['length'],'excludedFields':Array['from'](_0x48e7d),'lookupSourceFields':_0x2835cb},_0x862be7[_0xd5b27(0x180)]));const _0xdb8acc=_0x57b232['filter'](_0x17473a=>_0x17473a['_action']===_0xd5b27(0x121)),_0x48ac59=_0x57b232['filter'](_0x4209c7=>_0x4209c7['_action']===_0xd5b27(0x128));let _0x54bea9=0x0,_0x57e227=0x0;const _0x5b8d9f=[];if(_0xdb8acc['length']>0x0){const _0x306224=upsertBuilder['chunkRows'](_0xdb8acc,0x64);for(const _0x2a78a2 of _0x306224){const {query:_0x4b82fc}=upsertBuilder['buildBatchInsert'](_0x2a78a2,_0x3c2716,_0x47b9ca,_0x51ef4a||{});_0x4b82fc&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0x4b82fc,'count':_0x2a78a2[_0xd5b27(0x10b)],'type':_0xd5b27(0x170)});}}if(_0x48ac59[_0xd5b27(0x10b)]>0x0){const _0x21fe28=upsertBuilder['chunkRows'](_0x48ac59,0x64);for(const _0x4081bc of _0x21fe28){const {query:_0xbd0554}=upsertBuilder[_0xd5b27(0x12e)](_0x4081bc,_0x3c2716,_0x47b9ca,_0x2038f1,_0x4008fc,_0x51ef4a||{});_0xbd0554&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0xbd0554,'count':_0x4081bc[_0xd5b27(0x10b)],'type':_0x862be7[_0xd5b27(0x14b)]});}}_0x862be7[_0xd5b27(0x11a)](_0x5b8d9f['length'],0x0)&&await executeTransaction(_0x5b8d9f[_0xd5b27(0x181)](_0x35115c=>({'sql':_0x35115c[_0xd5b27(0x178)],'params':[]})));_0x5b8d9f['forEach'](_0x42dcf4=>{const _0xcd1869=_0xd5b27;if(_0x862be7[_0xcd1869(0x137)](_0x42dcf4[_0xcd1869(0x14f)],'insert'))_0x54bea9+=_0x42dcf4['count'];else _0x57e227+=_0x42dcf4[_0xcd1869(0x149)];});const _0x2d2d44={'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0x862be7[_0xd5b27(0x163)],'progress':0x64,'created_at':_0x35b2f4['created_at'],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x57b232['length'],'inserted_rows':_0x54bea9,'updated_rows':_0x57e227,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4c8bf6};await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,_0x2d2d44,0xe10),logger[_0xd5b27(0x156)]({'event':_0xd5b27(0x10f),'jobId':_0x2145c3,'insertedCount':_0x54bea9,'updatedCount':_0x57e227},_0x862be7['yRwRu']);}catch(_0xbc7fb2){logError(_0xbc7fb2,{'event':'commit_job_failed','jobId':_0x2145c3},_0x862be7['HmMdj']),await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,{'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0xd5b27(0x15b),'progress':0x0,'error':_0xbc7fb2['message'],'created_at':_0x35b2f4[_0xd5b27(0x11d)],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()[_0xd5b27(0x111)]()},0xe10);}}async[a0_0x369328(0x16d)](_0x50a048){const _0x4cb485=a0_0x369328,_0x25242f=await redisHelper[_0x4cb485(0x127)]('job:'+_0x50a048);if(!_0x25242f)return{'success':![],'error':_0x4cb485(0x13e)};return{'success':!![],'data':_0x25242f};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x2ef60c=a0_0x1bb2;(function(_0x554c4d,_0x221b76){const _0x3cd781=a0_0x1bb2,_0x4c61f6=_0x554c4d();while(!![]){try{const _0x193841=parseInt(_0x3cd781(0x10b))/0x1+parseInt(_0x3cd781(0x105))/0x2+parseInt(_0x3cd781(0xfd))/0x3+parseInt(_0x3cd781(0xfa))/0x4+-parseInt(_0x3cd781(0x103))/0x5+parseInt(_0x3cd781(0x110))/0x6+parseInt(_0x3cd781(0x10a))/0x7*(-parseInt(_0x3cd781(0xf4))/0x8);if(_0x193841===_0x221b76)break;else _0x4c61f6['push'](_0x4c61f6['shift']());}catch(_0x3c9765){_0x4c61f6['push'](_0x4c61f6['shift']());}}}(a0_0x1d1f,0x7da32));const {logger}=require(a0_0x2ef60c(0xef));function a0_0x1d1f(){const _0x5366de=['ChvZAa','uLPIv00','zxHWB3j0CW','DxjS','mZuZntGYnhDnBNbZAq','sKTvAgm','C2v0','sw52ywXPzcbvuKWGzM9YBwf0','lI9SB2DNzxi','DMfSAwrHDgvfBwfPBa','uKXdEvq','zw1HAwW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','nda4odi0y0PPqvjp','uuHsqLi','AM9PBG','DMfSAwrHDgvoDw1Izxi','DMfSAwrHDgvqAg9Uzq','BgvUz3rO','mtyYmZeWme11r3v0za','rwLLBMW','CMvWBgfJzq','mJK2mdqXogPyD1PqzG','zM9YrwfJAa','CgHVBMu','DgvZDa','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','DwzywuW','mZCZnZyYnxDXs2jHzG','BwfW','otyXodG4r2DxAePe','vKTNEKG','DMfSAwrHDgvsB3C','zM9YBwf0','sw52ywXPzcbLBwfPBcbMB3jTyxq','mJy2wK9KswrS','nZqXmJiWBM54yMr3'];a0_0x1d1f=function(){return _0x5366de;};return a0_0x1d1f();}class ImportValidator{[a0_0x2ef60c(0x107)](_0x15b4cd,_0x4fe5a4=[],_0x549ea9={}){const _0x5b614d=a0_0x2ef60c,_0xd59e53={'ymMtK':function(_0x281c99,_0x195dae){return _0x281c99===_0x195dae;}},_0x17bfee=[];return _0x4fe5a4[_0x5b614d(0xfe)](_0x2b1c11=>{const _0x2e917b=_0x5b614d,_0x109e1d=_0x15b4cd[_0x2b1c11];(_0x109e1d===null||_0x109e1d===undefined||_0x109e1d==='')&&_0x17bfee['push']({'field':_0x2b1c11,'type':'required','message':_0x2e917b(0x101)});}),Object['keys'](_0x549ea9)[_0x5b614d(0xfe)](_0x2f1aa8=>{const _0x1b5c9b=_0x5b614d,_0x1b87ff=_0x15b4cd[_0x2f1aa8],_0x32cbdb=_0x549ea9[_0x2f1aa8];if(_0xd59e53['ymMtK'](_0x1b87ff,null)||_0x1b87ff===undefined||_0x1b87ff==='')return;const _0x512628=this['validateFieldFormat'](_0x2f1aa8,_0x1b87ff,_0x32cbdb);_0x512628&&_0x17bfee[_0x1b5c9b(0x10c)](_0x512628);}),_0x17bfee;}['validateFieldFormat'](_0x5b5d50,_0x36486e,_0x293e62){const _0x33eab0=a0_0x2ef60c,_0x15e0d0={'ufXYL':_0x33eab0(0x10f),'QHRBR':'number'};switch(_0x293e62){case _0x33eab0(0xf2):return this['validateEmail'](_0x5b5d50,_0x36486e);case _0x33eab0(0xff):return this[_0x33eab0(0xf8)](_0x5b5d50,_0x36486e);case _0x15e0d0[_0x33eab0(0x102)]:return this['validateUrl'](_0x5b5d50,_0x36486e);case _0x15e0d0[_0x33eab0(0xf5)]:return this[_0x33eab0(0xf7)](_0x5b5d50,_0x36486e);default:return null;}}[a0_0x2ef60c(0xf0)](_0x33e41f,_0x1882ef){const _0x167f6d=a0_0x2ef60c,_0x18a2dd={'QyMmv':'format','RLCyT':_0x167f6d(0x109)},_0x91a4f9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x91a4f9['test'](String(_0x1882ef)))return{'field':_0x33e41f,'type':_0x18a2dd['QyMmv'],'message':_0x18a2dd[_0x167f6d(0xf1)]};return null;}[a0_0x2ef60c(0xf8)](_0x153a75,_0x29d2cc){const _0x24241f=a0_0x2ef60c,_0x20c74a={'hqwMI':function(_0x3e93e8,_0x26608e){return _0x3e93e8<_0x26608e;}},_0x31cb61=String(_0x29d2cc)[_0x24241f(0xfc)](/\s+/g,''),_0x56736a=/^[\d\+\-\(\)]+$/;if(!_0x56736a[_0x24241f(0x100)](_0x31cb61)||_0x20c74a['hqwMI'](_0x31cb61['length'],0x8))return{'field':_0x153a75,'type':_0x24241f(0x108),'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x3eb5a6,_0x3c761d){const _0x1f3782=a0_0x2ef60c,_0x5a1786={'Eienl':function(_0x4d7654,_0x7202dc){return _0x4d7654(_0x7202dc);}};try{return new URL(_0x5a1786[_0x1f3782(0xfb)](String,_0x3c761d)),null;}catch(_0x17c5b7){return{'field':_0x3eb5a6,'type':'format','message':_0x1f3782(0xee)};}}['validateNumber'](_0x852e6f,_0x3416c4){const _0x3ae4dd=a0_0x2ef60c,_0x3a8796={'VKgzH':function(_0x5f0577,_0x362f32){return _0x5f0577(_0x362f32);},'SoyBC':'Invalid\x20number\x20format'};if(_0x3a8796[_0x3ae4dd(0x106)](isNaN,_0x3416c4))return{'field':_0x852e6f,'type':'format','message':_0x3a8796['SoyBC']};return null;}['detectDuplicatesInFile'](_0x5c9925,_0x169083){const _0x48bff1=a0_0x2ef60c,_0x38efff=new Map(),_0x472950=[];return _0x5c9925[_0x48bff1(0xfe)]((_0xcddb02,_0x256279)=>{const _0x10d4bb=_0x48bff1,_0x4a5ad2=_0x169083[_0x10d4bb(0x104)](_0x30ca80=>_0xcddb02[_0x30ca80])[_0x10d4bb(0xf6)]('|');_0x38efff['has'](_0x4a5ad2)?_0x472950[_0x10d4bb(0x10c)]({'rowIndex':_0x256279,'duplicateOf':_0x38efff['get'](_0x4a5ad2),'key':_0x4a5ad2}):_0x38efff[_0x10d4bb(0x112)](_0x4a5ad2,_0x256279);}),_0x472950;}['batchValidateRows'](_0x258262,_0x60848d,_0x1fe3d4){const _0x56f8b8=a0_0x2ef60c,_0x31af52={'JKUhc':function(_0x42ea06,_0x584dd5){return _0x42ea06>_0x584dd5;},'irSVt':_0x56f8b8(0xf3),'RZbWM':'Batch\x20validation\x20completed'},_0x4f3436=[];return _0x258262[_0x56f8b8(0xfe)]((_0x43de46,_0x5f22e2)=>{const _0x223595=_0x56f8b8,_0x3cfe87=this[_0x223595(0x107)](_0x43de46,_0x60848d,_0x1fe3d4);_0x31af52[_0x223595(0x111)](_0x3cfe87[_0x223595(0xf9)],0x0)&&_0x4f3436[_0x223595(0x10c)]({'rowIndex':_0x5f22e2,'rowData':_0x43de46,'errors':_0x3cfe87});}),logger['info']({'event':_0x31af52['irSVt'],'totalRows':_0x258262[_0x56f8b8(0xf9)],'errorCount':_0x4f3436[_0x56f8b8(0xf9)]},_0x31af52[_0x56f8b8(0x10d)]),_0x4f3436;}}function a0_0x1bb2(_0x56d3b2,_0xda2d4a){_0x56d3b2=_0x56d3b2-0xee;const _0x1d1f91=a0_0x1d1f();let _0x1bb28f=_0x1d1f91[_0x56d3b2];if(a0_0x1bb2['RaGwWu']===undefined){var _0x206a8a=function(_0xefb521){const _0x406263='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9ed1fb='',_0x187221='';for(let _0x199d2d=0x0,_0x3a0c1e,_0x20f2ec,_0x5df71b=0x0;_0x20f2ec=_0xefb521['charAt'](_0x5df71b++);~_0x20f2ec&&(_0x3a0c1e=_0x199d2d%0x4?_0x3a0c1e*0x40+_0x20f2ec:_0x20f2ec,_0x199d2d++%0x4)?_0x9ed1fb+=String['fromCharCode'](0xff&_0x3a0c1e>>(-0x2*_0x199d2d&0x6)):0x0){_0x20f2ec=_0x406263['indexOf'](_0x20f2ec);}for(let _0x405ea5=0x0,_0xbcf9a3=_0x9ed1fb['length'];_0x405ea5<_0xbcf9a3;_0x405ea5++){_0x187221+='%'+('00'+_0x9ed1fb['charCodeAt'](_0x405ea5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187221);};a0_0x1bb2['NLojmv']=_0x206a8a,a0_0x1bb2['SeDzqn']={},a0_0x1bb2['RaGwWu']=!![];}const _0x20803b=_0x1d1f91[0x0],_0x259bc9=_0x56d3b2+_0x20803b,_0x189b15=a0_0x1bb2['SeDzqn'][_0x259bc9];return!_0x189b15?(_0x1bb28f=a0_0x1bb2['NLojmv'](_0x1bb28f),a0_0x1bb2['SeDzqn'][_0x259bc9]=_0x1bb28f):_0x1bb28f=_0x189b15,_0x1bb28f;}module[a0_0x2ef60c(0x10e)]=new ImportValidator();
1
+ const a0_0x4db37a=a0_0x4894;function a0_0x4519(){const _0xad98d1=['mtC4mZKWmZbYBhrRteC','odu3mdG4nLjhthjOzq','DxjS','ChvZAa','AM9PBG','mtm3odq4mMDcr2jyDG','A2v5CW','mti0ndKZmdrVExDmtgO','ndi5nZa2oe16y1zQBa','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','BgvUz3rO','ndC1ode1CuXLz3Hi','mtb3ugrmAui','DMHmsM4','y2fIyNi','DMfSAwrHDgvgAwvSzezVCM1HDa','DMfSAwrHDgvqAg9Uzq','z2zbweK','DMfSAwrHDgvvCMW','AMDHy0y','zM9YrwfJAa','zw1HAwW','CMvXDwLYzwq','ofbIvwLYDW','nvfAzfnRqG','zM9YBwf0','CgHVBMu','lI9SB2DNzxi','mtq5nJq5m3z2CwXRDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbWAg9UzsbMB3jTyxq'];a0_0x4519=function(){return _0xad98d1;};return a0_0x4519();}(function(_0x222dc8,_0x725131){const _0x8bcdd2=a0_0x4894,_0x3cd034=_0x222dc8();while(!![]){try{const _0x17f052=-parseInt(_0x8bcdd2(0x1da))/0x1+-parseInt(_0x8bcdd2(0x1ca))/0x2*(parseInt(_0x8bcdd2(0x1c9))/0x3)+parseInt(_0x8bcdd2(0x1c5))/0x4+-parseInt(_0x8bcdd2(0x1d6))/0x5*(-parseInt(_0x8bcdd2(0x1de))/0x6)+-parseInt(_0x8bcdd2(0x1e2))/0x7*(-parseInt(_0x8bcdd2(0x1d5))/0x8)+-parseInt(_0x8bcdd2(0x1c4))/0x9+parseInt(_0x8bcdd2(0x1dd))/0xa;if(_0x17f052===_0x725131)break;else _0x3cd034['push'](_0x3cd034['shift']());}catch(_0x359137){_0x3cd034['push'](_0x3cd034['shift']());}}}(a0_0x4519,0xc5f33));function a0_0x4894(_0x4f6948,_0x3647a5){_0x4f6948=_0x4f6948-0x1c4;const _0x4519c6=a0_0x4519();let _0x48946a=_0x4519c6[_0x4f6948];if(a0_0x4894['iZqyaO']===undefined){var _0x59d46f=function(_0x3bf358){const _0x3f2ac9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x149ff0='',_0x19aad5='';for(let _0x1d03b0=0x0,_0x2ea843,_0x14892f,_0x39d889=0x0;_0x14892f=_0x3bf358['charAt'](_0x39d889++);~_0x14892f&&(_0x2ea843=_0x1d03b0%0x4?_0x2ea843*0x40+_0x14892f:_0x14892f,_0x1d03b0++%0x4)?_0x149ff0+=String['fromCharCode'](0xff&_0x2ea843>>(-0x2*_0x1d03b0&0x6)):0x0){_0x14892f=_0x3f2ac9['indexOf'](_0x14892f);}for(let _0x453145=0x0,_0x359229=_0x149ff0['length'];_0x453145<_0x359229;_0x453145++){_0x19aad5+='%'+('00'+_0x149ff0['charCodeAt'](_0x453145)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19aad5);};a0_0x4894['CcmPWb']=_0x59d46f,a0_0x4894['rGjIPL']={},a0_0x4894['iZqyaO']=!![];}const _0x7b76a8=_0x4519c6[0x0],_0x2e3e36=_0x4f6948+_0x7b76a8,_0x19ae6e=a0_0x4894['rGjIPL'][_0x2e3e36];return!_0x19ae6e?(_0x48946a=a0_0x4894['CcmPWb'](_0x48946a),a0_0x4894['rGjIPL'][_0x2e3e36]=_0x48946a):_0x48946a=_0x19ae6e,_0x48946a;}const {logger}=require(a0_0x4db37a(0x1d9));class ImportValidator{['validateRow'](_0x281541,_0x15d250=[],_0x27dc41={}){const _0x628d50=a0_0x4db37a,_0x15a9d3={'vhLJn':_0x628d50(0x1d4),'hXEru':function(_0x18d232,_0x26760c){return _0x18d232===_0x26760c;},'jgacF':function(_0x250768,_0x148f82){return _0x250768===_0x148f82;}},_0x14cb69=[];return _0x15d250[_0x628d50(0x1d2)](_0x15b447=>{const _0x3094b2=_0x628d50,_0x506f22=_0x281541[_0x15b447];(_0x506f22===null||_0x506f22===undefined||_0x506f22==='')&&_0x14cb69[_0x3094b2(0x1e0)]({'field':_0x15b447,'type':_0x15a9d3[_0x3094b2(0x1cb)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x628d50(0x1e3)](_0x27dc41)['forEach'](_0x5c7dff=>{const _0xca9a5a=_0x628d50,_0x2ac673=_0x281541[_0x5c7dff],_0x24a431=_0x27dc41[_0x5c7dff];if(_0x15a9d3['hXEru'](_0x2ac673,null)||_0x2ac673===undefined||_0x15a9d3[_0xca9a5a(0x1d1)](_0x2ac673,''))return;const _0x405b5e=this[_0xca9a5a(0x1cd)](_0x5c7dff,_0x2ac673,_0x24a431);_0x405b5e&&_0x14cb69['push'](_0x405b5e);}),_0x14cb69;}[a0_0x4db37a(0x1cd)](_0x3be29b,_0x31b623,_0x51a37f){const _0x5cce54=a0_0x4db37a,_0x2eec0c={'mPVLt':'number'};switch(_0x51a37f){case _0x5cce54(0x1d3):return this['validateEmail'](_0x3be29b,_0x31b623);case _0x5cce54(0x1d8):return this[_0x5cce54(0x1ce)](_0x3be29b,_0x31b623);case _0x5cce54(0x1df):return this[_0x5cce54(0x1d0)](_0x3be29b,_0x31b623);case _0x2eec0c['mPVLt']:return this['validateNumber'](_0x3be29b,_0x31b623);default:return null;}}['validateEmail'](_0x331259,_0x5dcf73){const _0x593624=a0_0x4db37a,_0x34d6af={'dbIyV':_0x593624(0x1d7),'wDJKQ':'Invalid\x20email\x20format'},_0x5900a2=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5900a2[_0x593624(0x1c6)](String(_0x5dcf73)))return{'field':_0x331259,'type':_0x34d6af['dbIyV'],'message':_0x34d6af['wDJKQ']};return null;}[a0_0x4db37a(0x1ce)](_0x4af158,_0x31efad){const _0x484e58=a0_0x4db37a,_0x4624fb={'ZwBis':function(_0x60788c,_0x178bf5){return _0x60788c(_0x178bf5);},'cabbr':function(_0x5ed2a4,_0x1498b9){return _0x5ed2a4<_0x1498b9;},'ZpuCs':'format'},_0x762590=_0x4624fb['ZwBis'](String,_0x31efad)['replace'](/\s+/g,''),_0x74705a=/^[\d\+\-\(\)]+$/;if(!_0x74705a['test'](_0x762590)||_0x4624fb[_0x484e58(0x1cc)](_0x762590[_0x484e58(0x1c8)],0x8))return{'field':_0x4af158,'type':_0x4624fb['ZpuCs'],'message':_0x484e58(0x1dc)};return null;}['validateUrl'](_0x36432e,_0x48f897){const _0x30d06a={'MdbHP':'Invalid\x20URL\x20format'};try{return new URL(String(_0x48f897)),null;}catch(_0x579c08){return{'field':_0x36432e,'type':'format','message':_0x30d06a['MdbHP']};}}['validateNumber'](_0x445df5,_0x2d7190){const _0x255fd9=a0_0x4db37a,_0x5be2ca={'gfAXI':_0x255fd9(0x1c7)};if(isNaN(_0x2d7190))return{'field':_0x445df5,'type':_0x255fd9(0x1d7),'message':_0x5be2ca[_0x255fd9(0x1cf)]};return null;}[a0_0x4db37a(0x1db)](_0x2ab5e5,_0x43b1c1){const _0x1e83f2=new Map(),_0x4b6d3b=[];return _0x2ab5e5['forEach']((_0x5e694c,_0x3dcae3)=>{const _0x27f95d=a0_0x4894,_0x16a2af=_0x43b1c1['map'](_0x563060=>_0x5e694c[_0x563060])[_0x27f95d(0x1e1)]('|');_0x1e83f2['has'](_0x16a2af)?_0x4b6d3b['push']({'rowIndex':_0x3dcae3,'duplicateOf':_0x1e83f2['get'](_0x16a2af),'key':_0x16a2af}):_0x1e83f2['set'](_0x16a2af,_0x3dcae3);}),_0x4b6d3b;}['batchValidateRows'](_0x1be951,_0x5c3c66,_0x1f9702){const _0x5a5f5f=a0_0x4db37a,_0x5d57fc=[];return _0x1be951['forEach']((_0x1211ce,_0x4f98f2)=>{const _0x58d782=a0_0x4894,_0x4476e2=this['validateRow'](_0x1211ce,_0x5c3c66,_0x1f9702);_0x4476e2[_0x58d782(0x1c8)]>0x0&&_0x5d57fc['push']({'rowIndex':_0x4f98f2,'rowData':_0x1211ce,'errors':_0x4476e2});}),logger['info']({'event':'batch_validation_complete','totalRows':_0x1be951[_0x5a5f5f(0x1c8)],'errorCount':_0x5d57fc['length']},'Batch\x20validation\x20completed'),_0x5d57fc;}}module['exports']=new ImportValidator();
@@ -1 +1 @@
1
- const a0_0x5b612a=a0_0x541c;function a0_0x541c(_0x7d82b5,_0x5d4b8c){_0x7d82b5=_0x7d82b5-0x9a;const _0x37b89d=a0_0x37b8();let _0x541c79=_0x37b89d[_0x7d82b5];if(a0_0x541c['gIWDZF']===undefined){var _0x5ec192=function(_0x60a5f9){const _0x1782bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x583564='',_0x3fb40d='';for(let _0x572f64=0x0,_0x5981c3,_0xcfee67,_0x4fca19=0x0;_0xcfee67=_0x60a5f9['charAt'](_0x4fca19++);~_0xcfee67&&(_0x5981c3=_0x572f64%0x4?_0x5981c3*0x40+_0xcfee67:_0xcfee67,_0x572f64++%0x4)?_0x583564+=String['fromCharCode'](0xff&_0x5981c3>>(-0x2*_0x572f64&0x6)):0x0){_0xcfee67=_0x1782bd['indexOf'](_0xcfee67);}for(let _0x2ecb8b=0x0,_0x145f4b=_0x583564['length'];_0x2ecb8b<_0x145f4b;_0x2ecb8b++){_0x3fb40d+='%'+('00'+_0x583564['charCodeAt'](_0x2ecb8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fb40d);};a0_0x541c['vWMOan']=_0x5ec192,a0_0x541c['rdfXCo']={},a0_0x541c['gIWDZF']=!![];}const _0x132572=_0x37b89d[0x0],_0x1add49=_0x7d82b5+_0x132572,_0x11b1bd=a0_0x541c['rdfXCo'][_0x1add49];return!_0x11b1bd?(_0x541c79=a0_0x541c['vWMOan'](_0x541c79),a0_0x541c['rdfXCo'][_0x1add49]=_0x541c79):_0x541c79=_0x11b1bd,_0x541c79;}(function(_0x202f76,_0x28464d){const _0x1aed23=a0_0x541c,_0x39e3c3=_0x202f76();while(!![]){try{const _0x4eefb3=parseInt(_0x1aed23(0xd2))/0x1+-parseInt(_0x1aed23(0xc1))/0x2*(parseInt(_0x1aed23(0xb1))/0x3)+parseInt(_0x1aed23(0xb9))/0x4*(parseInt(_0x1aed23(0xaa))/0x5)+parseInt(_0x1aed23(0x9f))/0x6*(parseInt(_0x1aed23(0xa9))/0x7)+parseInt(_0x1aed23(0xc8))/0x8*(parseInt(_0x1aed23(0xd1))/0x9)+-parseInt(_0x1aed23(0x9c))/0xa+parseInt(_0x1aed23(0xb7))/0xb*(-parseInt(_0x1aed23(0xbb))/0xc);if(_0x4eefb3===_0x28464d)break;else _0x39e3c3['push'](_0x39e3c3['shift']());}catch(_0x34df69){_0x39e3c3['push'](_0x39e3c3['shift']());}}}(a0_0x37b8,0x8f7f5));const importService=require('../../services/import-service'),uploadHandler=require(a0_0x5b612a(0xb8)),{logger,logError}=require('../../utils/logger');class ImportHandler{static[a0_0x5b612a(0xb4)](_0x317612,_0x3f9ff9,_0x5dbead,_0x41f9b0){const _0x3cb6dc=a0_0x5b612a,_0x2b2ffe={'mfiVE':_0x3cb6dc(0xcb),'eQhOy':function(_0x27eb34,_0x27d581,_0x49822c,_0x40c1bc){return _0x27eb34(_0x27d581,_0x49822c,_0x40c1bc);},'KewbZ':_0x3cb6dc(0xcf),'BibDg':function(_0x6f2ab1,_0x4295a5,_0x3c0c77,_0x4e2cc5){return _0x6f2ab1(_0x4295a5,_0x3c0c77,_0x4e2cc5);},'jBKIE':_0x3cb6dc(0xb5)},_0x577a9f=_0x3cb6dc(0xb3)+_0x3f9ff9+'/'+_0x5dbead;_0x317612['post'](_0x577a9f+_0x3cb6dc(0xbc),async(_0x24a799,_0x14feee)=>{const _0x1628b3=_0x3cb6dc;try{await this['handleImportUpload'](_0x24a799,_0x14feee,_0x41f9b0,_0x3f9ff9,_0x5dbead);}catch(_0x57065e){logError(_0x57065e,{'event':_0x2b2ffe['mfiVE']},'Failed\x20to\x20upload\x20import\x20file'),_0x14feee[_0x1628b3(0xae)](0x1f4)['json']({'success':![],'error':_0x57065e['message']});}}),_0x317612['post'](_0x577a9f+_0x3cb6dc(0xd0),async(_0x272abf,_0x2f95df)=>{const _0x417367=_0x3cb6dc;try{await this[_0x417367(0xcc)](_0x272abf,_0x2f95df);}catch(_0x340e73){logError(_0x340e73,{'event':_0x417367(0xac)},'Failed\x20to\x20create\x20preview\x20job'),_0x2f95df['status'](0x1f4)[_0x417367(0xa0)]({'success':![],'error':_0x340e73[_0x417367(0xa3)]});}}),_0x317612['post'](_0x577a9f+_0x3cb6dc(0xad),async(_0x1aa0a4,_0x4d53fd)=>{const _0x598816=_0x3cb6dc;try{await this[_0x598816(0xb0)](_0x1aa0a4,_0x4d53fd);}catch(_0x58a07d){_0x2b2ffe['eQhOy'](logError,_0x58a07d,{'event':_0x2b2ffe[_0x598816(0x9b)]},_0x598816(0xa2)),_0x4d53fd['status'](0x1f4)['json']({'success':![],'error':_0x58a07d['message']});}}),_0x317612['get'](_0x577a9f+_0x3cb6dc(0xb6),async(_0x1ed170,_0x380620)=>{const _0x15205c=_0x3cb6dc;try{await this[_0x15205c(0xb2)](_0x1ed170,_0x380620);}catch(_0x2993bd){_0x2b2ffe[_0x15205c(0xc0)](logError,_0x2993bd,{'event':_0x2b2ffe['jBKIE']},_0x15205c(0xc3)),_0x380620['status'](0x1f4)[_0x15205c(0xa0)]({'success':![],'error':_0x2993bd[_0x15205c(0xa3)]});}}),logger['info']({'event':_0x3cb6dc(0xba),'module':_0x3f9ff9,'endpoint':_0x5dbead,'table':_0x41f9b0[_0x3cb6dc(0xc7)]},_0x3cb6dc(0xa8)+_0x3f9ff9+'/'+_0x5dbead);}static async['handleImportUpload'](_0x349a3e,_0x5ac1e3,_0x4e5333,_0xc472f1,_0x494cf8){const _0x33daf6=a0_0x5b612a,_0x134ec5={'nBncC':_0x33daf6(0xa7),'IKsDl':'upsert_keys_parse_error','SYoMA':function(_0x450f4b,_0x229ea5){return _0x450f4b>_0x229ea5;},'BtuEW':_0x33daf6(0xa4),'pSqMk':function(_0x1ce569,_0x26aa70,_0x20b4bb,_0x159a57){return _0x1ce569(_0x26aa70,_0x20b4bb,_0x159a57);},'zGvxS':function(_0x1233e7,_0x1b0ee8,_0x23a42c,_0x12665f){return _0x1233e7(_0x1b0ee8,_0x23a42c,_0x12665f);}},_0x40b65d=uploadHandler['getUploadMiddleware']();_0x134ec5['zGvxS'](_0x40b65d,_0x349a3e,_0x5ac1e3,async _0x3b6782=>{const _0x15d5bc=_0x33daf6;if(_0x3b6782)return _0x5ac1e3[_0x15d5bc(0xae)](0x190)['json']({'success':![],'error':_0x3b6782['message']});if(!_0x349a3e[_0x15d5bc(0x9a)])return _0x5ac1e3[_0x15d5bc(0xae)](0x190)['json']({'success':![],'error':'No\x20file\x20uploaded'});try{const _0xe18e57=_0x349a3e['body'][_0x15d5bc(0xc9)]||_0x134ec5[_0x15d5bc(0xbe)];let _0x14855c=_0x4e5333['upsertKeys'];if(_0x349a3e['body']['upsertKeys'])try{_0x14855c=JSON['parse'](_0x349a3e['body'][_0x15d5bc(0x9e)]);}catch(_0x36c012){logger[_0x15d5bc(0xab)]({'event':_0x134ec5['IKsDl'],'error':_0x36c012[_0x15d5bc(0xa3)]},'Failed\x20to\x20parse\x20upsertKeys,\x20using\x20default');}const _0x46b0b3=_0x4e5333['fieldName']||[];if(Array['isArray'](_0x14855c)){const _0x302ea9=_0x14855c['filter'](_0x3344f7=>!_0x46b0b3['includes'](_0x3344f7));if(_0x134ec5['SYoMA'](_0x302ea9[_0x15d5bc(0x9d)],0x0))return _0x5ac1e3[_0x15d5bc(0xae)](0x190)[_0x15d5bc(0xa0)]({'success':![],'error':_0x134ec5[_0x15d5bc(0xc2)],'message':'Keys\x20not\x20allowed:\x20'+_0x302ea9[_0x15d5bc(0xbf)](',\x20'),'validFields':_0x46b0b3});}const _0x4de85a={'moduleName':_0xc472f1,'endpointName':_0x494cf8,'tableName':_0x4e5333['tableName'],'primaryKey':_0x4e5333['primaryKey'],'fieldName':_0x4e5333[_0x15d5bc(0xa6)],'fieldLabels':_0x4e5333[_0x15d5bc(0xc5)]||{},'columnFormats':_0x4e5333['columnFormats']||{},'upsertKeys':_0x14855c,'upsertStrategy':_0xe18e57,'requiredFields':_0x4e5333[_0x15d5bc(0xcd)]||[],'validations':_0x4e5333[_0x15d5bc(0xca)]||{},'lookupFields':_0x4e5333['lookupFields']||{},'excludeFromImport':_0x4e5333['excludeFromImport']||[],'chunkSize':_0x4e5333[_0x15d5bc(0xce)]||0x64},_0x3e802c=await importService[_0x15d5bc(0xc4)](_0x349a3e['file'],_0x4de85a);_0x5ac1e3[_0x15d5bc(0xa0)]({'success':!![],'data':_0x3e802c});}catch(_0x16dcaa){_0x134ec5['pSqMk'](logError,_0x16dcaa,{'event':_0x15d5bc(0xaf)},'Failed\x20to\x20process\x20upload'),_0x5ac1e3['status'](0x1f4)['json']({'success':![],'error':_0x16dcaa['message']});}});}static async['handleImportPreview'](_0x3547ae,_0x8da544){const _0x2256e2=a0_0x5b612a,{upload_id:_0x9c7388}=_0x3547ae[_0x2256e2(0xbd)];if(!_0x9c7388)return _0x8da544[_0x2256e2(0xae)](0x190)['json']({'success':![],'error':_0x2256e2(0xc6)});try{const _0x20943e=await importService['createPreviewJob'](_0x9c7388);_0x8da544['json']({'success':!![],'data':_0x20943e});}catch(_0x2d96f8){_0x8da544[_0x2256e2(0xae)](0x1f4)[_0x2256e2(0xa0)]({'success':![],'error':_0x2d96f8['message']});}}static async[a0_0x5b612a(0xb0)](_0x179d4d,_0x460892){const _0x894b89=a0_0x5b612a,{preview_job_id:_0x1bf27e}=_0x179d4d[_0x894b89(0xbd)];if(!_0x1bf27e)return _0x460892[_0x894b89(0xae)](0x190)[_0x894b89(0xa0)]({'success':![],'error':_0x894b89(0xa1)});try{const _0x245222=await importService[_0x894b89(0xa5)](_0x1bf27e);_0x460892[_0x894b89(0xa0)]({'success':!![],'data':_0x245222});}catch(_0x533c2d){_0x460892[_0x894b89(0xae)](0x1f4)[_0x894b89(0xa0)]({'success':![],'error':_0x533c2d['message']});}}static async['handleImportStatus'](_0x495e93,_0x5b8fd2){const _0x24252f=a0_0x5b612a,{job_id:_0x2172e1}=_0x495e93['query'];if(!_0x2172e1)return _0x5b8fd2[_0x24252f(0xae)](0x190)['json']({'success':![],'error':'job_id\x20is\x20required'});try{const _0xff134e=await importService['getJobStatus'](_0x2172e1);if(!_0xff134e['success'])return _0x5b8fd2[_0x24252f(0xae)](0x194)['json'](_0xff134e);_0x5b8fd2[_0x24252f(0xa0)](_0xff134e);}catch(_0x1929f1){_0x5b8fd2[_0x24252f(0xae)](0x1f4)['json']({'success':![],'error':_0x1929f1['message']});}}}module['exports']=ImportHandler;function a0_0x37b8(){const _0x1bd382=['l2LTCg9YDc1ZDgf0Dxm','nty3ota5mwzQufrOCq','lI4VlI4VDxrPBhmVDxbSB2fKlwHHBMrSzxi','mJq4oty2ohLnyxzIAq','Aw1WB3j0x3jVDxrLC19YzwDPC3rLCMvK','mZzuAvLnu0O','l2LTCg9YDc11CgXVywq','yM9KEq','BKjUy0m','AM9PBG','qMLIrgC','ota4mdGYDhzgugj1','qNr1rvC','rMfPBgvKihrVigDLDcbPBxbVCNqGC3rHDhvZ','DxbSB2fKrMLSzq','zMLLBgrmywjLBhm','DxbSB2fKx2LKigLZihjLCxvPCMvK','DgfIBgvoyw1L','otzRzNjnAKO','DxbZzxj0tw9Kzq','DMfSAwrHDgLVBNm','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','AgfUzgXLsw1WB3j0uhjLDMLLDW','CMvXDwLYzwrgAwvSzhm','y2H1BMTtAxPL','Aw1WB3j0x2nVBw1PDf9LCNjVCG','l2LTCg9YDc1WCMv2Awv3','mZC0mdqWz05lC2rT','mte0mtm1ofLJs2Ddqq','zMLSzq','s2v3yLO','ndK4ntuZmgXntfvICG','BgvUz3rO','DxbZzxj0s2v5CW','mti2wK9Jt3Dk','ANnVBG','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','rMfPBgvKihrVignYzwf0zsbJB21TAxqGAM9I','BwvZC2fNzq','sw52ywXPzcb1ChnLCNqGA2v5CW','y3jLyxrLq29TBwL0sM9I','zMLLBgroyw1L','DxbKyxrLx2v4Axn0Aw5N','sw1WB3j0ihjVDxrLCYbYzwDPC3rLCMvKigzVCIa','mJC1nty5DNrHthrA','nwXtvuDYEq','D2fYBG','Aw1WB3j0x3bYzxzPzxDFzxjYB3i','l2LTCg9YDc1JB21TAxq','C3rHDhvZ','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','AgfUzgXLsw1WB3j0q29TBwL0','m2D5rLDHrq','AgfUzgXLsw1WB3j0u3rHDhvZ','l2fWAs8','CMvNAxn0zxjsB3v0zxm','Aw1WB3j0x3n0yxr1C19LCNjVCG'];a0_0x37b8=function(){return _0x1bd382;};return a0_0x37b8();}
1
+ const a0_0x42717f=a0_0x5d38;(function(_0x407d85,_0x31e3ff){const _0x50aab4=a0_0x5d38,_0x165e17=_0x407d85();while(!![]){try{const _0x33b48e=parseInt(_0x50aab4(0x170))/0x1+-parseInt(_0x50aab4(0x14e))/0x2*(parseInt(_0x50aab4(0x14c))/0x3)+-parseInt(_0x50aab4(0x17b))/0x4+-parseInt(_0x50aab4(0x14b))/0x5+-parseInt(_0x50aab4(0x175))/0x6*(-parseInt(_0x50aab4(0x173))/0x7)+parseInt(_0x50aab4(0x162))/0x8+-parseInt(_0x50aab4(0x151))/0x9*(-parseInt(_0x50aab4(0x16e))/0xa);if(_0x33b48e===_0x31e3ff)break;else _0x165e17['push'](_0x165e17['shift']());}catch(_0x3b4e73){_0x165e17['push'](_0x165e17['shift']());}}}(a0_0x2122,0xd6f9e));const importService=require('../../services/import-service'),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require('../../utils/logger');class ImportHandler{static['registerRoutes'](_0x1c15c3,_0x1fd423,_0x423841,_0x52f8b8){const _0x42d8a3=a0_0x5d38,_0x399108={'sUnwE':'import_commit_error','fEwlQ':function(_0x43d002,_0x36f59a,_0x1d5eab,_0x5b3b8f){return _0x43d002(_0x36f59a,_0x1d5eab,_0x5b3b8f);},'oBDxh':_0x42d8a3(0x150),'FdfMm':'Failed\x20to\x20get\x20import\x20status','ThBhd':'import_routes_registered'},_0x241894=_0x42d8a3(0x16f)+_0x1fd423+'/'+_0x423841;_0x1c15c3['post'](_0x241894+_0x42d8a3(0x147),async(_0x299413,_0x47b39a)=>{const _0x1932d6=_0x42d8a3;try{await this[_0x1932d6(0x179)](_0x299413,_0x47b39a,_0x52f8b8,_0x1fd423,_0x423841);}catch(_0x3b3733){logError(_0x3b3733,{'event':_0x1932d6(0x17a)},_0x1932d6(0x176)),_0x47b39a['status'](0x1f4)['json']({'success':![],'error':_0x3b3733[_0x1932d6(0x17e)]});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+'/import-preview',async(_0x28453d,_0x14eb34)=>{const _0x557036=_0x42d8a3;try{await this[_0x557036(0x15d)](_0x28453d,_0x14eb34);}catch(_0x50f6e5){logError(_0x50f6e5,{'event':_0x557036(0x163)},_0x557036(0x153)),_0x14eb34['status'](0x1f4)['json']({'success':![],'error':_0x50f6e5['message']});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+_0x42d8a3(0x15a),async(_0x2c3978,_0x13530f)=>{const _0x567918=_0x42d8a3;try{await this[_0x567918(0x16d)](_0x2c3978,_0x13530f);}catch(_0x5b2ceb){logError(_0x5b2ceb,{'event':_0x399108['sUnwE']},'Failed\x20to\x20create\x20commit\x20job'),_0x13530f[_0x567918(0x15c)](0x1f4)[_0x567918(0x174)]({'success':![],'error':_0x5b2ceb['message']});}}),_0x1c15c3[_0x42d8a3(0x158)](_0x241894+_0x42d8a3(0x17f),async(_0x2eeb3a,_0x2fdb5e)=>{const _0x45f6f1=_0x42d8a3;try{await this[_0x45f6f1(0x14f)](_0x2eeb3a,_0x2fdb5e);}catch(_0x33f507){_0x399108[_0x45f6f1(0x149)](logError,_0x33f507,{'event':_0x399108[_0x45f6f1(0x169)]},_0x399108[_0x45f6f1(0x171)]),_0x2fdb5e['status'](0x1f4)[_0x45f6f1(0x174)]({'success':![],'error':_0x33f507['message']});}}),logger[_0x42d8a3(0x14d)]({'event':_0x399108['ThBhd'],'module':_0x1fd423,'endpoint':_0x423841,'table':_0x52f8b8[_0x42d8a3(0x16b)]},_0x42d8a3(0x180)+_0x1fd423+'/'+_0x423841);}static async[a0_0x42717f(0x179)](_0x4a156d,_0x393cc2,_0x1deaa7,_0x1067bf,_0x268533){const _0xe17983=a0_0x42717f,_0xa969bf={'EZqsx':_0xe17983(0x15e),'msDel':_0xe17983(0x172),'BoiVM':'Failed\x20to\x20process\x20upload'},_0x34e2d4=uploadHandler['getUploadMiddleware']();_0x34e2d4(_0x4a156d,_0x393cc2,async _0x44c824=>{const _0x58ae04=_0xe17983;if(_0x44c824)return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0x44c824[_0x58ae04(0x17e)]});if(!_0x4a156d['file'])return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0xa969bf[_0x58ae04(0x148)]});try{const _0x3c1d4d=_0x4a156d['body']['upsertMode']||'update_existing';let _0x4b6e69=_0x1deaa7[_0x58ae04(0x17c)];if(_0x4a156d['body']['upsertKeys'])try{_0x4b6e69=JSON[_0x58ae04(0x161)](_0x4a156d[_0x58ae04(0x154)]['upsertKeys']);}catch(_0x4de9a0){logger['warn']({'event':_0x58ae04(0x177),'error':_0x4de9a0['message']},'Failed\x20to\x20parse\x20upsertKeys,\x20using\x20default');}const _0x22e636=_0x1deaa7['fieldName']||[];if(Array[_0x58ae04(0x15b)](_0x4b6e69)){const _0x2f4a0f=_0x4b6e69['filter'](_0x4c47ff=>!_0x22e636[_0x58ae04(0x17d)](_0x4c47ff));if(_0x2f4a0f[_0x58ae04(0x15f)]>0x0)return _0x393cc2[_0x58ae04(0x15c)](0x190)['json']({'success':![],'error':_0x58ae04(0x14a),'message':_0x58ae04(0x164)+_0x2f4a0f['join'](',\x20'),'validFields':_0x22e636});}const _0x5cedef={'moduleName':_0x1067bf,'endpointName':_0x268533,'tableName':_0x1deaa7[_0x58ae04(0x16b)],'primaryKey':_0x1deaa7['primaryKey'],'fieldName':_0x1deaa7[_0x58ae04(0x165)],'fieldLabels':_0x1deaa7['fieldLabels']||{},'columnFormats':_0x1deaa7['columnFormats']||{},'upsertKeys':_0x4b6e69,'upsertStrategy':_0x3c1d4d,'requiredFields':_0x1deaa7[_0x58ae04(0x167)]||[],'validations':_0x1deaa7[_0x58ae04(0x159)]||{},'lookupFields':_0x1deaa7['lookupFields']||{},'excludeFromImport':_0x1deaa7[_0x58ae04(0x156)]||[],'chunkSize':_0x1deaa7['chunkSize']||0x64},_0x347cf9=await importService['uploadFile'](_0x4a156d[_0x58ae04(0x168)],_0x5cedef);_0x393cc2[_0x58ae04(0x174)]({'success':!![],'data':_0x347cf9});}catch(_0x16f502){logError(_0x16f502,{'event':_0xa969bf['msDel']},_0xa969bf[_0x58ae04(0x152)]),_0x393cc2[_0x58ae04(0x15c)](0x1f4)[_0x58ae04(0x174)]({'success':![],'error':_0x16f502[_0x58ae04(0x17e)]});}});}static async[a0_0x42717f(0x15d)](_0x389195,_0x100085){const _0x4ce934=a0_0x42717f,_0x2c47db={'xryoZ':'upload_id\x20is\x20required'},{upload_id:_0x539740}=_0x389195[_0x4ce934(0x154)];if(!_0x539740)return _0x100085[_0x4ce934(0x15c)](0x190)['json']({'success':![],'error':_0x2c47db['xryoZ']});try{const _0x2872c8=await importService[_0x4ce934(0x16c)](_0x539740);_0x100085[_0x4ce934(0x174)]({'success':!![],'data':_0x2872c8});}catch(_0xf646b2){_0x100085[_0x4ce934(0x15c)](0x1f4)[_0x4ce934(0x174)]({'success':![],'error':_0xf646b2[_0x4ce934(0x17e)]});}}static async[a0_0x42717f(0x16d)](_0x4560cb,_0x5e2a9c){const _0x351cbc=a0_0x42717f,{preview_job_id:_0x3e0621}=_0x4560cb[_0x351cbc(0x154)];if(!_0x3e0621)return _0x5e2a9c[_0x351cbc(0x15c)](0x190)['json']({'success':![],'error':_0x351cbc(0x16a)});try{const _0xc5aef4=await importService[_0x351cbc(0x160)](_0x3e0621);_0x5e2a9c[_0x351cbc(0x174)]({'success':!![],'data':_0xc5aef4});}catch(_0x5ea89b){_0x5e2a9c['status'](0x1f4)[_0x351cbc(0x174)]({'success':![],'error':_0x5ea89b['message']});}}static async['handleImportStatus'](_0xcbc135,_0x29f8ba){const _0x52c0fb=a0_0x42717f,{job_id:_0x3e2bfe}=_0xcbc135['query'];if(!_0x3e2bfe)return _0x29f8ba['status'](0x190)['json']({'success':![],'error':_0x52c0fb(0x166)});try{const _0x32b651=await importService[_0x52c0fb(0x157)](_0x3e2bfe);if(!_0x32b651[_0x52c0fb(0x155)])return _0x29f8ba[_0x52c0fb(0x15c)](0x194)['json'](_0x32b651);_0x29f8ba[_0x52c0fb(0x174)](_0x32b651);}catch(_0x44ff9c){_0x29f8ba['status'](0x1f4)[_0x52c0fb(0x174)]({'success':![],'error':_0x44ff9c['message']});}}}module['exports']=ImportHandler;function a0_0x5d38(_0x52a46d,_0x4626ee){_0x52a46d=_0x52a46d-0x147;const _0x21226c=a0_0x2122();let _0x5d38e0=_0x21226c[_0x52a46d];if(a0_0x5d38['kdJnCJ']===undefined){var _0x568f1c=function(_0x20d2f7){const _0x83d961='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c131b='',_0x5cb81b='';for(let _0x215dcb=0x0,_0x5cca23,_0x59f867,_0x318da2=0x0;_0x59f867=_0x20d2f7['charAt'](_0x318da2++);~_0x59f867&&(_0x5cca23=_0x215dcb%0x4?_0x5cca23*0x40+_0x59f867:_0x59f867,_0x215dcb++%0x4)?_0x3c131b+=String['fromCharCode'](0xff&_0x5cca23>>(-0x2*_0x215dcb&0x6)):0x0){_0x59f867=_0x83d961['indexOf'](_0x59f867);}for(let _0x3c25e1=0x0,_0x3b2d62=_0x3c131b['length'];_0x3c25e1<_0x3b2d62;_0x3c25e1++){_0x5cb81b+='%'+('00'+_0x3c131b['charCodeAt'](_0x3c25e1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb81b);};a0_0x5d38['XpSRAf']=_0x568f1c,a0_0x5d38['HsUzgj']={},a0_0x5d38['kdJnCJ']=!![];}const _0x7b70ef=_0x21226c[0x0],_0x208480=_0x52a46d+_0x7b70ef,_0x3a3f77=a0_0x5d38['HsUzgj'][_0x208480];return!_0x3a3f77?(_0x5d38e0=a0_0x5d38['XpSRAf'](_0x5d38e0),a0_0x5d38['HsUzgj'][_0x208480]=_0x5d38e0):_0x5d38e0=_0x3a3f77,_0x5d38e0;}function a0_0x2122(){const _0x2ca8c6=['mtu0ndq3ofjwC1vJyW','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','Cg9ZDa','AgfUzgXLsw1WB3j0vxbSB2fK','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','ndmWnJiXnMnWqMfpEq','DxbZzxj0s2v5CW','Aw5JBhvKzxm','BwvZC2fNzq','l2LTCg9YDc1ZDgf0Dxm','sw1WB3j0ihjVDxrLCYbYzwDPC3rLCMvKigzVCIa','l2LTCg9YDc11CgXVywq','rvPXC3G','zKv3Bfe','sw52ywXPzcb1ChnLCNqGA2v5CW','mZa0mZKWugzsrwjR','mty1C1vLCwjT','Aw5MBW','ndaZodjWAgL6Bvy','AgfUzgXLsw1WB3j0u3rHDhvZ','Aw1WB3j0x3n0yxr1C19LCNjVCG','mZy2oty1mwfyBvPcuq','qM9PvK0','rMfPBgvKihrVignYzwf0zsbWCMv2Awv3igPVyG','yM9KEq','C3vJy2vZCW','zxHJBhvKzuzYB21jBxbVCNq','z2v0sM9Iu3rHDhvZ','z2v0','DMfSAwrHDgLVBNm','l2LTCg9YDc1JB21TAxq','AxnbCNjHEq','C3rHDhvZ','AgfUzgXLsw1WB3j0uhjLDMLLDW','tM8GzMLSzsb1CgXVywrLza','BgvUz3rO','y3jLyxrLq29TBwL0sM9I','CgfYC2u','ode0nJqZmM9Qrwr2CG','Aw1WB3j0x3bYzxzPzxDFzxjYB3i','s2v5CYbUB3qGywXSB3DLzdOG','zMLLBgroyw1L','AM9Ix2LKigLZihjLCxvPCMvK','CMvXDwLYzwrgAwvSzhm','zMLSzq','B0jeEgG','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','DgfIBgvoyw1L','y3jLyxrLuhjLDMLLD0PVyG','AgfUzgXLsw1WB3j0q29TBwL0','mJbfrMrezhm','l2fWAs8','mJy1mdq1reXQuNfi','rMrMtw0','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','mJHyCvzluKi','ANnVBG'];a0_0x2122=function(){return _0x2ca8c6;};return a0_0x2122();}
@@ -1 +1 @@
1
- const a0_0x592ff0=a0_0x36e8;(function(_0x3d6ade,_0x4fb5a7){const _0x4bd161=a0_0x36e8,_0x4b8493=_0x3d6ade();while(!![]){try{const _0x42cf78=parseInt(_0x4bd161(0x126))/0x1*(parseInt(_0x4bd161(0xe7))/0x2)+-parseInt(_0x4bd161(0x110))/0x3+parseInt(_0x4bd161(0xfe))/0x4*(-parseInt(_0x4bd161(0xf5))/0x5)+parseInt(_0x4bd161(0x11e))/0x6*(parseInt(_0x4bd161(0xf6))/0x7)+-parseInt(_0x4bd161(0x132))/0x8*(-parseInt(_0x4bd161(0xea))/0x9)+-parseInt(_0x4bd161(0x12c))/0xa+parseInt(_0x4bd161(0xfa))/0xb*(parseInt(_0x4bd161(0xfc))/0xc);if(_0x42cf78===_0x4fb5a7)break;else _0x4b8493['push'](_0x4b8493['shift']());}catch(_0x2030ac){_0x4b8493['push'](_0x4b8493['shift']());}}}(a0_0x3707,0xd2959));function a0_0x36e8(_0x26bf48,_0x5ef3ed){_0x26bf48=_0x26bf48-0xe4;const _0x3707b6=a0_0x3707();let _0x36e80b=_0x3707b6[_0x26bf48];if(a0_0x36e8['PYTABa']===undefined){var _0x37d3b6=function(_0x42dda5){const _0x18c1bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x341ccf='',_0xf97b63='';for(let _0x419dca=0x0,_0x1611ba,_0x448e0d,_0x2b0b8f=0x0;_0x448e0d=_0x42dda5['charAt'](_0x2b0b8f++);~_0x448e0d&&(_0x1611ba=_0x419dca%0x4?_0x1611ba*0x40+_0x448e0d:_0x448e0d,_0x419dca++%0x4)?_0x341ccf+=String['fromCharCode'](0xff&_0x1611ba>>(-0x2*_0x419dca&0x6)):0x0){_0x448e0d=_0x18c1bf['indexOf'](_0x448e0d);}for(let _0x381503=0x0,_0x416f9a=_0x341ccf['length'];_0x381503<_0x416f9a;_0x381503++){_0xf97b63+='%'+('00'+_0x341ccf['charCodeAt'](_0x381503)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf97b63);};a0_0x36e8['ZeHSuM']=_0x37d3b6,a0_0x36e8['iIOVOB']={},a0_0x36e8['PYTABa']=!![];}const _0x4e2e39=_0x3707b6[0x0],_0x2210c3=_0x26bf48+_0x4e2e39,_0x21c3de=a0_0x36e8['iIOVOB'][_0x2210c3];return!_0x21c3de?(_0x36e80b=a0_0x36e8['ZeHSuM'](_0x36e80b),a0_0x36e8['iIOVOB'][_0x2210c3]=_0x36e80b):_0x36e80b=_0x21c3de,_0x36e80b;}function a0_0x3707(){const _0x16b611=['x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','cIaGicaGifvqrefursa','ue9tveDsrvnrta','Aw52ywXPzf9KyL90ExbL','yxfbDuS','C3rYAw5N','id0GvKfmvuvtka','AM9PBG','s05oveS','mZe0ntuXogzkvxvLBq','su5trvjuiefmtaO','Cg9ZDgDYzxnXBa','z2zbCvG','BNvTyMvY','icaGifnftevdvca','zxHWB3j0CW','Dg9mB3DLCKnHC2u','mtyWodfrANbVuNO','BKfPDKG','BwfW','C3fSAxrL','laOGicaGicaGica','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','otC3nZC4mgPSrKjlCW','wvnxB2S','tMzvtM0','yMf0y2HFDxbKyxrLx2j1AwX0','yMf0y2HFAw5Zzxj0x2j1AwX0','CKLgsuq','nJrlB1PSuLC','oJPeqvrf','ChvZAa','ve9FrefursG','zM9YBwf0rgf0zvzHBhvL','mJzhuM1ovha','CfDqsxe','yNvPBgrfC2nHCgvgDw5JDgLVBG','nti3nZi0vhb2EKnh','cIaGica','BgvUz3rO','q0ftvcG','laOGicaGicaGia','cLnftevdvcaXiezst00Grfvbta','ieftierbveuP','rejFvfLqrq','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','ihqkicaGicaGvvnjtKCGkaO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','mJu4mgXQsKnwua','mJfsuenergu','Aw5JBhvKzxm','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','CMvWBgfJzq','nde4wLbArxvP','kqOGicaGicbwquXvrvmG','nde2nJqWDNnqtMPU','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','mtKZnKLeAeTRzq','tLvmta','ieforca','vfPOBMe','cIaGicaGicKGqvmGDIG','Cun2D3i','zLjKre0','id0GDI4','uLDND1G','uwPPEwu','Bgz1r3C','CMnVwhe','y0Dqz3e','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','EKHoD3a','sgfRzNq','sMjgue0','sw52ywXPzcbeqL9uwvbfoIa','ndq0mdu1nwvxC0vmsG','z2v0rgf0ywjHC2vuExbL','t1jbq0Xf','tLvmtdO6refurq','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq'];a0_0x3707=function(){return _0x16b611;};return a0_0x3707();}const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x592ff0(0x129)};class UpsertBuilder{[a0_0x592ff0(0x111)](){const _0x27a615=a0_0x592ff0,_0x476e84={'aqAuK':_0x27a615(0x118)},_0x15f9aa=(process['env'][_0x27a615(0xf1)]||_0x27a615(0x120))[_0x27a615(0x125)](),_0x277961=Object['values'](DB_TYPES);if(!_0x277961['includes'](_0x15f9aa))return logger['warn']({'event':_0x476e84[_0x27a615(0x119)],'provided':_0x15f9aa,'fallback':_0x27a615(0x120)},_0x27a615(0x10f)+_0x15f9aa+_0x27a615(0xfd)),DB_TYPES['POSTGRESQL'];return _0x15f9aa;}['formatDateValue'](_0x25fe5f,_0x3c833b,_0x527bf4=![]){const _0x3f7f97=a0_0x592ff0,_0x371232={'rcoXq':_0x3f7f97(0xff),'eDzfs':_0x3f7f97(0x113)};if(_0x527bf4)switch(_0x3c833b){case DB_TYPES[_0x3f7f97(0x117)]:return'NULL::DATE';case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return _0x371232['rcoXq'];case DB_TYPES['SQLSERVER']:return _0x371232[_0x3f7f97(0x109)];case DB_TYPES[_0x3f7f97(0x112)]:return _0x371232['rcoXq'];default:return _0x371232['eDzfs'];}switch(_0x3c833b){case DB_TYPES[_0x3f7f97(0x117)]:return _0x25fe5f+_0x3f7f97(0x133);case DB_TYPES['MYSQL']:return _0x25fe5f;case DB_TYPES['SQLITE']:return _0x25fe5f;case DB_TYPES['SQLSERVER']:return _0x3f7f97(0xed)+_0x25fe5f+_0x3f7f97(0xf0);case DB_TYPES[_0x3f7f97(0x112)]:return _0x3f7f97(0xe5)+_0x25fe5f+',\x20\x27YYYY-MM-DD\x27)';default:return _0x25fe5f+'::DATE';}}[a0_0x592ff0(0xe9)](_0x401f48={}){const _0x33bc62=a0_0x592ff0,_0x2a8120={'RZdDt':function(_0x492db3,_0x5406b7){return _0x492db3===_0x5406b7;},'fRdDM':'date','rIFID':_0x33bc62(0xff),'vmmgj':function(_0x5ae93e,_0x24aa8b){return _0x5ae93e===_0x24aa8b;},'lHWgs':_0x33bc62(0x122),'KNNTK':function(_0x56d753,_0x1b149a){return _0x56d753(_0x1b149a);}},_0x2bb4c3=this[_0x33bc62(0x111)]();return(_0x34e6d0,_0x56ee82)=>{const _0x3d2e09=_0x33bc62,_0x181e37=_0x401f48[_0x56ee82];if(_0x2a8120['RZdDt'](_0x34e6d0,null)||_0x34e6d0===undefined){if(_0x181e37&&_0x181e37['type']===_0x2a8120['fRdDM'])return this['formatDateValue'](null,_0x2bb4c3,!![]);return _0x2a8120[_0x3d2e09(0x131)];}if(_0x2a8120['vmmgj'](typeof _0x34e6d0,_0x3d2e09(0x11a))){const _0xa14b7d='\x27'+_0x34e6d0['replace'](/'/g,'\x27\x27')+'\x27';if(_0x181e37&&_0x181e37['type']===_0x2a8120[_0x3d2e09(0x104)])return this[_0x3d2e09(0xe6)](_0xa14b7d,_0x2bb4c3,![]);return _0xa14b7d;}if(typeof _0x34e6d0===_0x2a8120['lHWgs'])return _0x34e6d0;if(typeof _0x34e6d0==='boolean')return _0x34e6d0;const _0xfb9ed9='\x27'+_0x2a8120[_0x3d2e09(0x11d)](String,_0x34e6d0)[_0x3d2e09(0xf9)](/'/g,'\x27\x27')+'\x27';if(_0x181e37&&_0x181e37['type']===_0x2a8120[_0x3d2e09(0x104)])return this[_0x3d2e09(0xe6)](_0xfb9ed9,_0x2bb4c3,![]);return _0xfb9ed9;};}['buildBatchInsert'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5={}){const _0x41a477={'wnfmu':function(_0x2a3dca,_0x5d1a28){return _0x2a3dca===_0x5d1a28;}},_0x5048ce=this['getDatabaseType']();if(_0x41a477['wnfmu'](_0x5048ce,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5);return this['_buildBatchInsertPostgres'](_0x3a4d9f,_0x318fd3,_0x18ef34,_0x703ad5);}['_buildBatchInsertPostgres'](_0x28b8e7,_0x43d59d,_0x22f856,_0x2e5c81={}){const _0x3b4262=a0_0x592ff0,_0x423e64={'NfUNm':function(_0x1b66d8,_0x200dd8){return _0x1b66d8===_0x200dd8;},'uQlYy':',\x0a\x20\x20\x20\x20\x20\x20\x20','lfuGw':_0x3b4262(0x130),'mUHJO':_0x3b4262(0x120),'RWgwX':_0x3b4262(0x114)};if(_0x423e64[_0x3b4262(0x12e)](_0x28b8e7['length'],0x0))return{'query':null,'values':[]};const _0x4e992e=this['buildEscapeFunction'](_0x2e5c81),_0x2ebd5f=_0x28b8e7['map'](_0x545b10=>{const _0x525355=_0x3b4262,_0xcea7d6=_0x22f856['map'](_0x86a5e0=>_0x4e992e(_0x545b10[_0x86a5e0],_0x86a5e0));return'('+_0xcea7d6[_0x525355(0x11c)](',\x20')+')';}),_0x1b7793='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x43d59d+'\x20('+_0x22f856[_0x3b4262(0x11c)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2ebd5f[_0x3b4262(0x11c)](_0x423e64['uQlYy'])+_0x3b4262(0xeb);return logger['debug']({'event':_0x423e64[_0x3b4262(0x108)],'tableName':_0x43d59d,'rowCount':_0x28b8e7['length'],'dbType':_0x423e64['mUHJO']},_0x423e64[_0x3b4262(0x106)]),{'query':_0x1b7793,'values':[]};}[a0_0x592ff0(0x115)](_0x27a858,_0x4d6a43,_0x3d3f4b,_0x329655={}){const _0x1799b9=a0_0x592ff0,_0x565171={'JbFPM':function(_0x5d1db3,_0x17aa44){return _0x5d1db3===_0x17aa44;},'gxhwj':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x565171[_0x1799b9(0x10e)](_0x27a858[_0x1799b9(0xec)],0x0))return{'query':null,'values':[]};const _0x5ebd8f=this[_0x1799b9(0xe9)](_0x329655),_0x19e112=_0x27a858[_0x1799b9(0x128)](_0x5c8a28=>{const _0x4b759d=_0x1799b9,_0x7a4758=_0x3d3f4b['map'](_0x2823b7=>_0x5ebd8f(_0x5c8a28[_0x2823b7],_0x2823b7));return'\x20\x20INTO\x20'+_0x4d6a43+'\x20('+_0x3d3f4b[_0x4b759d(0x11c)](',\x20')+')\x20VALUES\x20('+_0x7a4758[_0x4b759d(0x11c)](',\x20')+')';}),_0x4d7849=_0x1799b9(0x11f)+_0x19e112['join']('\x0a')+_0x1799b9(0xef);return logger['debug']({'event':_0x1799b9(0x130),'tableName':_0x4d6a43,'rowCount':_0x27a858[_0x1799b9(0xec)],'dbType':'oracle'},_0x565171['gxhwj']),{'query':_0x4d7849,'values':[]};}['buildBatchUpdate'](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14={}){const _0x3323ec=a0_0x592ff0,_0xfe5e30={'ZoNUw':function(_0x1f8d5e,_0x1c2af4){return _0x1f8d5e===_0x1c2af4;},'eInzn':function(_0x4c85b4,_0x15c238){return _0x4c85b4===_0x15c238;}},_0x4c0590=this['getDatabaseType']();if(_0xfe5e30['ZoNUw'](_0x4c0590,DB_TYPES[_0x3323ec(0x112)]))return this[_0x3323ec(0xf4)](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);if(_0xfe5e30['eInzn'](_0x4c0590,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);return this[_0x3323ec(0xf2)](_0xb4ad23,_0x359b09,_0x207dc1,_0x4ca2bf,_0x4cb64e,_0x2fee14);}['_buildBatchUpdatePostgres'](_0x11e1df,_0x323cd2,_0x5f58d5,_0x5e9a05,_0x12b2c2,_0x30b1b5={}){const _0x420c5b=a0_0x592ff0,_0xa6208={'zHNwp':'batch_update_no_columns','VAcoO':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','hqwQU':'\x20AND\x20','pWPIq':_0x420c5b(0x12f)};if(_0x11e1df[_0x420c5b(0xec)]===0x0)return{'query':null,'values':[]};const _0x5b8c54=this[_0x420c5b(0xe9)](_0x30b1b5),_0x228508=_0x5f58d5['filter'](_0x5d080e=>!_0x12b2c2['includes'](_0x5d080e)&&_0x5d080e!==_0x5e9a05);if(_0x228508['length']===0x0)return logger['warn']({'event':_0xa6208[_0x420c5b(0x10c)],'tableName':_0x323cd2},_0xa6208['VAcoO']),{'query':null,'values':[]};const _0x11eb87=_0x11e1df['map'](_0x3c09ee=>{const _0xcd48bf=_0x420c5b,_0x4e5073=[..._0x12b2c2,..._0x228508],_0xb156bb=_0x4e5073['map'](_0x5ec243=>_0x5b8c54(_0x3c09ee[_0x5ec243],_0x5ec243));return'('+_0xb156bb[_0xcd48bf(0x11c)](',\x20')+')';}),_0x311ab1=_0x228508[_0x420c5b(0x128)](_0xfdf8de=>_0xfdf8de+'\x20=\x20v.'+_0xfdf8de)[_0x420c5b(0x11c)](_0x420c5b(0x12a)),_0x29e966=_0x12b2c2[_0x420c5b(0x128)](_0x45ff90=>'t.'+_0x45ff90+'\x20=\x20v.'+_0x45ff90)['join'](_0xa6208['hqwQU']),_0x5ed3b6=_0x420c5b(0x116)+_0x323cd2+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x311ab1+_0x420c5b(0xf8)+_0x11eb87[_0x420c5b(0x11c)](_0x420c5b(0xee))+_0x420c5b(0x102)+[..._0x12b2c2,..._0x228508]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x29e966+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xa6208[_0x420c5b(0xe8)],'tableName':_0x323cd2,'rowCount':_0x11e1df[_0x420c5b(0xec)],'updateColumns':_0x228508['length'],'dbType':_0x420c5b(0x120)},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x5ed3b6,'values':[]};}[a0_0x592ff0(0xf4)](_0x1a946f,_0x3e332b,_0x11634c,_0x4454b1,_0x3ff115,_0x2bba39={}){const _0x2e1298=a0_0x592ff0,_0x1f535e={'nAivH':function(_0x27ae83,_0x1bc84d){return _0x27ae83===_0x1bc84d;},'Qjiye':function(_0x8b3536,_0x1ff0e7){return _0x8b3536===_0x1ff0e7;},'ZmLyM':_0x2e1298(0x12a),'gfAqX':_0x2e1298(0x100),'cGPgq':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','KAkxZ':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x1f535e[_0x2e1298(0x127)](_0x1a946f['length'],0x0))return{'query':null,'values':[]};const _0x4b96d0=this[_0x2e1298(0xe9)](_0x2bba39),_0xa88737=_0x11634c['filter'](_0x111e3e=>!_0x3ff115[_0x2e1298(0xf7)](_0x111e3e)&&_0x111e3e!==_0x4454b1);if(_0x1f535e[_0x2e1298(0x107)](_0xa88737['length'],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x3e332b},_0x2e1298(0x10b)),{'query':null,'values':[]};const _0x2bf5e4=[..._0x3ff115,..._0xa88737],_0x3af84c=_0x1a946f[_0x2e1298(0x128)]((_0x4b6168,_0x4e3dd0)=>{const _0x344103=_0x2e1298,_0x3e8a6d={'TZhna':function(_0x87eca7,_0x4ba09b){return _0x87eca7===_0x4ba09b;}},_0x246924=_0x2bf5e4['map'](_0x366fb8=>{const _0x44fb1a=a0_0x36e8,_0x385635=_0x4b96d0(_0x4b6168[_0x366fb8],_0x366fb8);return _0x3e8a6d[_0x44fb1a(0x101)](_0x4e3dd0,0x0)?_0x385635+'\x20AS\x20'+_0x366fb8:_0x385635;});return _0x344103(0x123)+_0x246924[_0x344103(0x11c)](',\x20')+'\x20FROM\x20DUAL';}),_0x1f1406=_0xa88737['map'](_0x40a75c=>'t.'+_0x40a75c+_0x2e1298(0x105)+_0x40a75c)['join'](_0x1f535e['ZmLyM']),_0x3e625b=_0x3ff115[_0x2e1298(0x128)](_0x42cd64=>'t.'+_0x42cd64+_0x2e1298(0x105)+_0x42cd64)[_0x2e1298(0x11c)](_0x1f535e[_0x2e1298(0x121)]),_0x1d09ec='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3e332b+_0x2e1298(0xf3)+_0x3af84c[_0x2e1298(0x11c)](_0x1f535e[_0x2e1298(0x10a)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x3e625b+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x1f1406+_0x2e1298(0xeb);return logger['debug']({'event':'batch_update_built','tableName':_0x3e332b,'rowCount':_0x1a946f['length'],'updateColumns':_0xa88737['length'],'dbType':'oracle'},_0x1f535e['KAkxZ']),{'query':_0x1d09ec,'values':[]};}['_buildBatchUpdateMysql'](_0x2b3bff,_0x3f5258,_0x4e45b,_0x18d300,_0x364feb,_0x3cf2cb={}){const _0x19ec56=a0_0x592ff0,_0x450092={'qCvwr':function(_0x17ecdb,_0x23aecc){return _0x17ecdb===_0x23aecc;},'Hakft':_0x19ec56(0x10b),'YSWok':_0x19ec56(0x12a),'GjvLS':_0x19ec56(0xee),'SuhsQ':'mysql','tAPLC':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x2b3bff[_0x19ec56(0xec)]===0x0)return{'query':null,'values':[]};const _0x5185d1=this['buildEscapeFunction'](_0x3cf2cb),_0x279548=_0x4e45b['filter'](_0x599652=>!_0x364feb['includes'](_0x599652)&&_0x599652!==_0x18d300);if(_0x450092[_0x19ec56(0x103)](_0x279548[_0x19ec56(0xec)],0x0))return logger['warn']({'event':_0x19ec56(0x12b),'tableName':_0x3f5258},_0x450092[_0x19ec56(0x10d)]),{'query':null,'values':[]};const _0x4dfd99=[...new Set([..._0x364feb,..._0x279548])],_0x517602=_0x2b3bff['map'](_0x5312c5=>{const _0x16e0c1=_0x19ec56,_0x2338c9=_0x4dfd99['map'](_0x58bc39=>_0x5185d1(_0x5312c5[_0x58bc39],_0x58bc39));return'('+_0x2338c9[_0x16e0c1(0x11c)](',\x20')+')';}),_0x80fa20=_0x279548['map'](_0x1ba1d1=>_0x1ba1d1+_0x19ec56(0x11b)+_0x1ba1d1+')')['join'](_0x450092[_0x19ec56(0x12d)]),_0x184522='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3f5258+'\x20('+_0x4dfd99['join'](',\x20')+_0x19ec56(0xfb)+_0x517602[_0x19ec56(0x11c)](_0x450092['GjvLS'])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x80fa20+_0x19ec56(0xeb);return logger['debug']({'event':_0x19ec56(0x12f),'tableName':_0x3f5258,'rowCount':_0x2b3bff['length'],'updateColumns':_0x279548['length'],'dbType':_0x450092['SuhsQ']},_0x450092['tAPLC']),{'query':_0x184522,'values':[]};}['chunkRows'](_0x1ed54c,_0x5db5f7=0x64){const _0x401fb6=a0_0x592ff0,_0x30287e=[];for(let _0x434be2=0x0;_0x434be2<_0x1ed54c[_0x401fb6(0xec)];_0x434be2+=_0x5db5f7){_0x30287e[_0x401fb6(0xe4)](_0x1ed54c['slice'](_0x434be2,_0x434be2+_0x5db5f7));}return _0x30287e;}}module[a0_0x592ff0(0x124)]=new UpsertBuilder();
1
+ function a0_0x1176(){const _0x570036=['yM9VBgvHBG','zgf0zq','ieforca','cLnftevdvcaXiezst00Grfvbta','cIaGica','nde0nZuWsKjhvgDs','mZu4odeYow1hvMTgsq','z2v0rgf0ywjHC2vuExbL','cIaGicaGicKGDGOGicaGicbptIaO','uK5YwKW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','Cg9ZDgDYzxnXBa','Cgj4Agm','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','mtrer0TJB0m','zw52','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zM9YBwf0rgf0zvzHBhvL','Aw5JBhvKzxm','CMvWBgfJzq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','vvfRCK0','AM9PBG','mMDKBMjyBW','mtqWvhjMv2rm','B3jHy2XL','yMf0y2HFDxbKyxrLx2j1AwX0','BgvUz3rO','DhLWzq','id0GDI4','zwzXruy','DuvguMi','AuzJqLu','wNDws1e','B2DzANe','tvLtuuW','ihqkicaGicaGvvnjtKCGkaO','zgvIDwC','lI9SB2DNzxi','ue9tveDsrvnrta','ze50DLK','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','t1jbq0Xf','tLvmta','C3rYAw5N','wwDRrwi','C2XPy2u','q0ftvcG','BwfW','EwrPsu0','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','cIaGicaGie1fuKDfieLove8G','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','otC3mJK1sLLNq21T','C3fSAxrL','v3nMsfG','yKrjru4','u1fmsvrf','mty1nZm2AKXRyMDl','A0zXD1u','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','laOGicaGicaGia','qKfjBgO','mZaYndG0nZfQrhjlBum','BxLZCwW','kqOGicaGicbwquXvrvmG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','wu9rC1K','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','lcaNwvLzws1nts1ercCP','B0PIB3O','tMrwwhi','BfHsCfC','zMLSDgvY','tLvmtdO6refurq','icbjtLrpia','cIaGicaGicKGqvmGDIG','id0GvKfmvuvtka','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','mtK4otKWnLLADgzpyG','oJPeqvrf','mJbHy3niDu8','ksbwquXvrvmGka','laOGicaGicaGica','A1H6tNe','BuTTBKy','D2fYBG','mJe1mdaYngnfsLzJtq','z0zRD3C'];a0_0x1176=function(){return _0x570036;};return a0_0x1176();}const a0_0x5ce165=a0_0x5d9c;(function(_0x2e01f5,_0x7474d6){const _0x3aba85=a0_0x5d9c,_0x4ea056=_0x2e01f5();while(!![]){try{const _0x64d5dd=parseInt(_0x3aba85(0xdc))/0x1+parseInt(_0x3aba85(0x94))/0x2*(parseInt(_0x3aba85(0xb2))/0x3)+parseInt(_0x3aba85(0xb7))/0x4*(-parseInt(_0x3aba85(0x95))/0x5)+parseInt(_0x3aba85(0xcd))/0x6*(-parseInt(_0x3aba85(0xe6))/0x7)+-parseInt(_0x3aba85(0xd5))/0x8+parseInt(_0x3aba85(0xdd))/0x9*(-parseInt(_0x3aba85(0xcf))/0xa)+parseInt(_0x3aba85(0xbd))/0xb;if(_0x64d5dd===_0x7474d6)break;else _0x4ea056['push'](_0x4ea056['shift']());}catch(_0x3cfef2){_0x4ea056['push'](_0x4ea056['shift']());}}}(a0_0x1176,0x92ae7));const {logger}=require(a0_0x5ce165(0xa3)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x5ce165(0xb3)};function a0_0x5d9c(_0x157a14,_0x58ba1a){_0x157a14=_0x157a14-0x94;const _0x117608=a0_0x1176();let _0x5d9c89=_0x117608[_0x157a14];if(a0_0x5d9c['yfIcxN']===undefined){var _0x530e3b=function(_0x9ba408){const _0x1ee0f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f770d='',_0x1a6783='';for(let _0x257331=0x0,_0x479c21,_0x25cc48,_0xe25dc8=0x0;_0x25cc48=_0x9ba408['charAt'](_0xe25dc8++);~_0x25cc48&&(_0x479c21=_0x257331%0x4?_0x479c21*0x40+_0x25cc48:_0x25cc48,_0x257331++%0x4)?_0x2f770d+=String['fromCharCode'](0xff&_0x479c21>>(-0x2*_0x257331&0x6)):0x0){_0x25cc48=_0x1ee0f2['indexOf'](_0x25cc48);}for(let _0x3cb899=0x0,_0x56bea8=_0x2f770d['length'];_0x3cb899<_0x56bea8;_0x3cb899++){_0x1a6783+='%'+('00'+_0x2f770d['charCodeAt'](_0x3cb899)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a6783);};a0_0x5d9c['SzEXLG']=_0x530e3b,a0_0x5d9c['obzdAV']={},a0_0x5d9c['yfIcxN']=!![];}const _0x161b91=_0x117608[0x0],_0x2b2001=_0x157a14+_0x161b91,_0x40bf0d=a0_0x5d9c['obzdAV'][_0x2b2001];return!_0x40bf0d?(_0x5d9c89=a0_0x5d9c['SzEXLG'](_0x5d9c89),a0_0x5d9c['obzdAV'][_0x2b2001]=_0x5d9c89):_0x5d9c89=_0x40bf0d,_0x5d9c89;}class UpsertBuilder{[a0_0x5ce165(0xde)](){const _0x2468dd=a0_0x5ce165,_0x3c2e06=(process[_0x2468dd(0xe7)]['DB_TYPE']||_0x2468dd(0xe3))['toLowerCase'](),_0x1a0b3d=Object['values'](DB_TYPES);if(!_0x1a0b3d['includes'](_0x3c2e06))return logger[_0x2468dd(0xd4)]({'event':'invalid_db_type','provided':_0x3c2e06,'fallback':'postgresql'},'Invalid\x20DB_TYPE:\x20'+_0x3c2e06+_0x2468dd(0xb1)),DB_TYPES[_0x2468dd(0xa4)];return _0x3c2e06;}['formatDateValue'](_0x35602e,_0x5ce653,_0x242c99=![]){const _0x56a170=a0_0x5ce165,_0x5a89b6={'dNtvY':'NULL'};if(_0x242c99)switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return _0x5a89b6['dNtvY'];case DB_TYPES[_0x56a170(0xb6)]:return'NULL';case DB_TYPES['SQLSERVER']:return _0x56a170(0xa8);case DB_TYPES['ORACLE']:return _0x5a89b6[_0x56a170(0xa5)];default:return _0x56a170(0xc8);}switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return _0x35602e+_0x56a170(0xce);case DB_TYPES[_0x56a170(0xa0)]:return _0x35602e;case DB_TYPES[_0x56a170(0xb6)]:return _0x35602e;case DB_TYPES['SQLSERVER']:return _0x56a170(0xac)+_0x35602e+'\x20AS\x20DATE)';case DB_TYPES[_0x56a170(0xa7)]:return'TO_DATE('+_0x35602e+_0x56a170(0xc3);default:return _0x35602e+'::DATE';}}['buildEscapeFunction'](_0x3f6367={}){const _0x143d66=a0_0x5ce165,_0xbce794={'efqEF':function(_0x22fb8c,_0x26ce99){return _0x22fb8c===_0x26ce99;},'oJboz':function(_0x4cfe05,_0x4a2502){return _0x4cfe05===_0x4a2502;},'QwHPU':function(_0x27d836,_0x5be840){return _0x27d836===_0x5be840;},'YOQsY':'date','RNrZL':function(_0x504391,_0x36b156){return _0x504391===_0x36b156;},'lXRpW':_0x143d66(0xd7),'UQkrM':function(_0x3bfd43,_0x58a402){return _0x3bfd43(_0x58a402);}},_0x59c77a=this['getDatabaseType']();return(_0x4b12d8,_0x1a672a)=>{const _0x752b9a=_0x143d66,_0xd6e8e7=_0x3f6367[_0x1a672a];if(_0xbce794[_0x752b9a(0x9b)](_0x4b12d8,null)||_0xbce794[_0x752b9a(0xc4)](_0x4b12d8,undefined)){if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],'date'))return this['formatDateValue'](null,_0x59c77a,!![]);return'NULL';}if(_0xbce794['QwHPU'](typeof _0x4b12d8,_0x752b9a(0xa9))){const _0x12526c='\x27'+_0x4b12d8[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],_0xbce794[_0x752b9a(0xc1)]))return this['formatDateValue'](_0x12526c,_0x59c77a,![]);return _0x12526c;}if(_0xbce794[_0x752b9a(0xe0)](typeof _0x4b12d8,'number'))return _0x4b12d8;if(_0xbce794['RNrZL'](typeof _0x4b12d8,_0xbce794[_0x752b9a(0xc6)]))return _0x4b12d8;const _0x1c0aa2='\x27'+_0xbce794[_0x752b9a(0xed)](String,_0x4b12d8)[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xd6e8e7['type']===_0x752b9a(0xd8))return this[_0x752b9a(0xe9)](_0x1c0aa2,_0x59c77a,![]);return _0x1c0aa2;};}['buildBatchInsert'](_0xb59203,_0x2a2782,_0x221201,_0x29dd69={}){const _0x304b89=a0_0x5ce165,_0x1b2ac1=this['getDatabaseType']();if(_0x1b2ac1===DB_TYPES[_0x304b89(0xa7)])return this[_0x304b89(0xe5)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);return this[_0x304b89(0xaf)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);}['_buildBatchInsertPostgres'](_0x3528fb,_0xa0299f,_0x4131a1,_0x5ca808={}){const _0x2b6636=a0_0x5ce165,_0x27f9c5={'ZwVKQ':function(_0x3d18ba,_0x3bcc3e){return _0x3d18ba===_0x3bcc3e;},'KwAwQ':'batch_insert_built'};if(_0x27f9c5[_0x2b6636(0x9e)](_0x3528fb[_0x2b6636(0x98)],0x0))return{'query':null,'values':[]};const _0x426c95=this['buildEscapeFunction'](_0x5ca808),_0x461199=_0x3528fb['map'](_0x30c9e5=>{const _0x11aea4=_0x4131a1['map'](_0x498c2a=>_0x426c95(_0x30c9e5[_0x498c2a],_0x498c2a));return'('+_0x11aea4['join'](',\x20')+')';}),_0x27ee4d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xa0299f+'\x20('+_0x4131a1['join'](',\x20')+_0x2b6636(0xbf)+_0x461199[_0x2b6636(0xee)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x2b6636(0xa2)]({'event':_0x27f9c5['KwAwQ'],'tableName':_0xa0299f,'rowCount':_0x3528fb['length'],'dbType':'postgresql'},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x27ee4d,'values':[]};}[a0_0x5ce165(0xe5)](_0x42d3d9,_0x616ea7,_0x3c9f3e,_0x3c3f69={}){const _0x281d00=a0_0x5ce165,_0x5302c3={'kspgy':function(_0x571eb6,_0x27804d){return _0x571eb6===_0x27804d;},'uNCdH':'batch_insert_built','mKmnF':_0x281d00(0xe8)};if(_0x5302c3['kspgy'](_0x42d3d9[_0x281d00(0x98)],0x0))return{'query':null,'values':[]};const _0x54baa1=this['buildEscapeFunction'](_0x3c3f69),_0x31b40d=_0x42d3d9['map'](_0x207b39=>{const _0xc70641=_0x281d00,_0x33ab25=_0x3c9f3e[_0xc70641(0xad)](_0x27993a=>_0x54baa1(_0x207b39[_0x27993a],_0x27993a));return _0xc70641(0xc9)+_0x616ea7+'\x20('+_0x3c9f3e[_0xc70641(0xee)](',\x20')+_0xc70641(0xd0)+_0x33ab25[_0xc70641(0xee)](',\x20')+')';}),_0x4fa162='INSERT\x20ALL\x0a'+_0x31b40d[_0x281d00(0xee)]('\x0a')+_0x281d00(0xda);return logger['debug']({'event':_0x5302c3['uNCdH'],'tableName':_0x616ea7,'rowCount':_0x42d3d9[_0x281d00(0x98)],'dbType':'oracle'},_0x5302c3[_0x281d00(0xd3)]),{'query':_0x4fa162,'values':[]};}['buildBatchUpdate'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f={}){const _0x10ccc0=a0_0x5ce165,_0x31fae2={'YgkEb':function(_0x5e02b8,_0x1c7ca){return _0x5e02b8===_0x1c7ca;}},_0x2bab70=this[_0x10ccc0(0xde)]();if(_0x2bab70===DB_TYPES['ORACLE'])return this[_0x10ccc0(0xc0)](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);if(_0x31fae2[_0x10ccc0(0xaa)](_0x2bab70,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);return this['_buildBatchUpdatePostgres'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);}['_buildBatchUpdatePostgres'](_0x5809e4,_0x4a8fd7,_0x3d6d24,_0x468bbd,_0x50215b,_0xf2075e={}){const _0x14e746=a0_0x5ce165,_0x418828={'gBKTS':function(_0x2961f5,_0xa9458f){return _0x2961f5===_0xa9458f;},'NdVXr':'batch_update_no_columns','FJFGB':_0x14e746(0xba),'DUGEp':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','XxEGU':'\x20AND\x20'};if(_0x5809e4[_0x14e746(0x98)]===0x0)return{'query':null,'values':[]};const _0x43227c=this['buildEscapeFunction'](_0xf2075e),_0x115097=_0x3d6d24[_0x14e746(0xc7)](_0xd6edaf=>!_0x50215b['includes'](_0xd6edaf)&&_0xd6edaf!==_0x468bbd);if(_0x418828['gBKTS'](_0x115097['length'],0x0))return logger['warn']({'event':_0x418828[_0x14e746(0xc5)],'tableName':_0x4a8fd7},_0x418828['FJFGB']),{'query':null,'values':[]};const _0x771d32=_0x5809e4[_0x14e746(0xad)](_0x387a9a=>{const _0x10990c=_0x14e746,_0xeacfe7=[..._0x50215b,..._0x115097],_0x273d1a=_0xeacfe7[_0x10990c(0xad)](_0x5b8ce7=>_0x43227c(_0x387a9a[_0x5b8ce7],_0x5b8ce7));return'('+_0x273d1a[_0x10990c(0xee)](',\x20')+')';}),_0x2469b9=_0x115097['map'](_0x33d6c3=>_0x33d6c3+_0x14e746(0x9a)+_0x33d6c3)[_0x14e746(0xee)](_0x418828['DUGEp']),_0x33cc3f=_0x50215b['map'](_0x28bcd0=>'t.'+_0x28bcd0+'\x20=\x20v.'+_0x28bcd0)[_0x14e746(0xee)](_0x418828['XxEGU']),_0x4c6240='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4a8fd7+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x2469b9+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x771d32['join'](_0x14e746(0xbb))+_0x14e746(0xca)+[..._0x50215b,..._0x115097]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x33cc3f+'\x0a\x20\x20\x20\x20';return logger[_0x14e746(0xa2)]({'event':_0x14e746(0x97),'tableName':_0x4a8fd7,'rowCount':_0x5809e4['length'],'updateColumns':_0x115097['length'],'dbType':_0x14e746(0xe3)},_0x14e746(0xec)),{'query':_0x4c6240,'values':[]};}['_buildBatchUpdateOracle'](_0x429986,_0x465eec,_0xa8ba8,_0x28a83c,_0x48dd43,_0x1ff87b={}){const _0x48e3cc=a0_0x5ce165,_0x2e205a={'BAIlj':function(_0x246b55,_0x2c67b5,_0x1dde7c){return _0x246b55(_0x2c67b5,_0x1dde7c);},'WsfHX':function(_0x33213e,_0x4f6d11){return _0x33213e===_0x4f6d11;},'ogYjq':function(_0x53e654,_0x450e3b){return _0x53e654===_0x450e3b;},'BEFQw':_0x48e3cc(0xd1),'pbxhc':_0x48e3cc(0xd9),'kXzNq':_0x48e3cc(0x97),'GDRVB':_0x48e3cc(0x96),'SwoSo':_0x48e3cc(0xe2)};if(_0x2e205a[_0x48e3cc(0x9f)](_0x429986[_0x48e3cc(0x98)],0x0))return{'query':null,'values':[]};const _0x2c203b=this['buildEscapeFunction'](_0x1ff87b),_0x26c08a=_0xa8ba8['filter'](_0x5160e2=>!_0x48dd43['includes'](_0x5160e2)&&_0x5160e2!==_0x28a83c);if(_0x2e205a[_0x48e3cc(0x9f)](_0x26c08a[_0x48e3cc(0x98)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x465eec},_0x48e3cc(0xba)),{'query':null,'values':[]};const _0x2ab18e=[..._0x48dd43,..._0x26c08a],_0x243dbd=_0x429986['map']((_0x59e167,_0x376e22)=>{const _0x40c2b5=_0x48e3cc,_0x169cb0={'kFqwU':function(_0x2de949,_0xe87a2c,_0x28cc93){const _0x163901=a0_0x5d9c;return _0x2e205a[_0x163901(0xbc)](_0x2de949,_0xe87a2c,_0x28cc93);},'iFcBU':function(_0x1792b5,_0x4d888f){const _0x1e687c=a0_0x5d9c;return _0x2e205a[_0x1e687c(0xb4)](_0x1792b5,_0x4d888f);}},_0x353ab0=_0x2ab18e['map'](_0x5be43a=>{const _0x4de747=a0_0x5d9c,_0x4b9f26=_0x169cb0[_0x4de747(0xb8)](_0x2c203b,_0x59e167[_0x5be43a],_0x5be43a);return _0x169cb0[_0x4de747(0x9d)](_0x376e22,0x0)?_0x4b9f26+'\x20AS\x20'+_0x5be43a:_0x4b9f26;});return'\x20\x20\x20\x20SELECT\x20'+_0x353ab0[_0x40c2b5(0xee)](',\x20')+'\x20FROM\x20DUAL';}),_0x398934=_0x26c08a[_0x48e3cc(0xad)](_0x1c226c=>'t.'+_0x1c226c+'\x20=\x20v.'+_0x1c226c)['join'](_0x2e205a['BEFQw']),_0x12752c=_0x48dd43['map'](_0x22f212=>'t.'+_0x22f212+'\x20=\x20v.'+_0x22f212)['join'](_0x2e205a[_0x48e3cc(0xe4)]),_0x381271=_0x48e3cc(0xb0)+_0x465eec+_0x48e3cc(0xa1)+_0x243dbd['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+_0x48e3cc(0xdf)+_0x12752c+_0x48e3cc(0xb9)+_0x398934+_0x48e3cc(0xdb);return logger[_0x48e3cc(0xa2)]({'event':_0x2e205a[_0x48e3cc(0xd2)],'tableName':_0x465eec,'rowCount':_0x429986['length'],'updateColumns':_0x26c08a[_0x48e3cc(0x98)],'dbType':_0x2e205a['GDRVB']},_0x2e205a['SwoSo']),{'query':_0x381271,'values':[]};}[a0_0x5ce165(0xa6)](_0x49cbcd,_0x501bab,_0x15f557,_0x10b42c,_0x323ee8,_0x5d39ca={}){const _0x5a9d75=a0_0x5ce165,_0x31f193={'vbIUm':function(_0x555432,_0x2bad26){return _0x555432===_0x2bad26;},'uEFRb':_0x5a9d75(0xcc),'KmZFA':_0x5a9d75(0xba),'bDIEN':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','gFkww':_0x5a9d75(0xbe),'ADarI':_0x5a9d75(0xc2)};if(_0x31f193['vbIUm'](_0x49cbcd['length'],0x0))return{'query':null,'values':[]};const _0xde7dee=this['buildEscapeFunction'](_0x5d39ca),_0x42eccf=_0x15f557[_0x5a9d75(0xc7)](_0x4f8a1d=>!_0x323ee8[_0x5a9d75(0xea)](_0x4f8a1d)&&_0x4f8a1d!==_0x10b42c);if(_0x42eccf[_0x5a9d75(0x98)]===0x0)return logger[_0x5a9d75(0xd4)]({'event':_0x31f193[_0x5a9d75(0x9c)],'tableName':_0x501bab},_0x31f193['KmZFA']),{'query':null,'values':[]};const _0x234aef=[...new Set([..._0x323ee8,..._0x42eccf])],_0x154c0d=_0x49cbcd[_0x5a9d75(0xad)](_0x38223f=>{const _0x1f2dc1=_0x5a9d75,_0x3388d0=_0x234aef[_0x1f2dc1(0xad)](_0x406e6e=>_0xde7dee(_0x38223f[_0x406e6e],_0x406e6e));return'('+_0x3388d0[_0x1f2dc1(0xee)](',\x20')+')';}),_0x1c0993=_0x42eccf[_0x5a9d75(0xad)](_0x5f1d5e=>_0x5f1d5e+_0x5a9d75(0xcb)+_0x5f1d5e+')')['join'](_0x5a9d75(0xd1)),_0x10c5e9='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x501bab+'\x20('+_0x234aef['join'](',\x20')+_0x5a9d75(0xbf)+_0x154c0d[_0x5a9d75(0xee)](_0x31f193[_0x5a9d75(0xb5)])+_0x5a9d75(0xe1)+_0x1c0993+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x501bab,'rowCount':_0x49cbcd['length'],'updateColumns':_0x42eccf['length'],'dbType':_0x31f193[_0x5a9d75(0xd6)]},_0x31f193['ADarI']),{'query':_0x10c5e9,'values':[]};}['chunkRows'](_0x1bdb71,_0x49ca27=0x64){const _0x13c104=a0_0x5ce165,_0xe11d12={'ydiIM':function(_0x44b71a,_0xbf7cda){return _0x44b71a+_0xbf7cda;}},_0x4ab9cd=[];for(let _0x196dbe=0x0;_0x196dbe<_0x1bdb71[_0x13c104(0x98)];_0x196dbe+=_0x49ca27){_0x4ab9cd['push'](_0x1bdb71[_0x13c104(0xab)](_0x196dbe,_0xe11d12[_0x13c104(0xae)](_0x196dbe,_0x49ca27)));}return _0x4ab9cd;}}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x54c84d=a0_0x52f0;(function(_0x238230,_0x137b2c){const _0x282379=a0_0x52f0,_0x5d17d6=_0x238230();while(!![]){try{const _0x1ebb64=parseInt(_0x282379(0x136))/0x1*(parseInt(_0x282379(0x146))/0x2)+-parseInt(_0x282379(0x16f))/0x3*(parseInt(_0x282379(0x148))/0x4)+parseInt(_0x282379(0x158))/0x5*(parseInt(_0x282379(0x162))/0x6)+-parseInt(_0x282379(0x169))/0x7*(-parseInt(_0x282379(0x130))/0x8)+parseInt(_0x282379(0x15c))/0x9*(parseInt(_0x282379(0x16e))/0xa)+parseInt(_0x282379(0x14a))/0xb*(-parseInt(_0x282379(0x14c))/0xc)+-parseInt(_0x282379(0x141))/0xd;if(_0x1ebb64===_0x137b2c)break;else _0x5d17d6['push'](_0x5d17d6['shift']());}catch(_0x310e45){_0x5d17d6['push'](_0x5d17d6['shift']());}}}(a0_0x52e5,0x6a179));const express=require(a0_0x54c84d(0x16c)),{logger}=require('../../utils/logger'),{createResponse,createError}=require(a0_0x54c84d(0x12f)),redisClient=require(a0_0x54c84d(0x157)),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function a0_0x52f0(_0x553dc8,_0x6ff332){_0x553dc8=_0x553dc8-0x127;const _0x52e5a8=a0_0x52e5();let _0x52f0f6=_0x52e5a8[_0x553dc8];if(a0_0x52f0['KaVhuO']===undefined){var _0x886e7c=function(_0x4593df){const _0x3f61a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a2a1b='',_0x16aa5e='';for(let _0x1a8ea0=0x0,_0x4656c5,_0x3e4a5d,_0x55f238=0x0;_0x3e4a5d=_0x4593df['charAt'](_0x55f238++);~_0x3e4a5d&&(_0x4656c5=_0x1a8ea0%0x4?_0x4656c5*0x40+_0x3e4a5d:_0x3e4a5d,_0x1a8ea0++%0x4)?_0x5a2a1b+=String['fromCharCode'](0xff&_0x4656c5>>(-0x2*_0x1a8ea0&0x6)):0x0){_0x3e4a5d=_0x3f61a5['indexOf'](_0x3e4a5d);}for(let _0x21b210=0x0,_0x59db6d=_0x5a2a1b['length'];_0x21b210<_0x59db6d;_0x21b210++){_0x16aa5e+='%'+('00'+_0x5a2a1b['charCodeAt'](_0x21b210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16aa5e);};a0_0x52f0['hozYSy']=_0x886e7c,a0_0x52f0['mqNSYj']={},a0_0x52f0['KaVhuO']=!![];}const _0x1cb795=_0x52e5a8[0x0],_0x1160ad=_0x553dc8+_0x1cb795,_0x50ea78=a0_0x52f0['mqNSYj'][_0x1160ad];return!_0x50ea78?(_0x52f0f6=a0_0x52f0['hozYSy'](_0x52f0f6),a0_0x52f0['mqNSYj'][_0x1160ad]=_0x52f0f6):_0x52f0f6=_0x50ea78,_0x52f0f6;}function createIdgenRoutes(){const _0x270495=a0_0x54c84d,_0x5b5605={'LeFhh':function(_0x1fcc0d,_0x1f1e8a){return _0x1fcc0d(_0x1f1e8a);},'YotLX':'../../utils/id-generator','eGJcB':function(_0x152c17,_0x39ed8c){return _0x152c17===_0x39ed8c;},'YjKhe':function(_0x5e1ab3){return _0x5e1ab3();},'CpXEr':function(_0x21e4e9,_0x54dfa9,_0x31d834,_0x4cb803){return _0x21e4e9(_0x54dfa9,_0x31d834,_0x4cb803);},'fuNMB':'idgen_route_number_error','XioTc':'Number\x20released\x20to\x20reuse\x20pool','dHNVQ':function(_0x1e90bc,_0x1c8289){return _0x1e90bc(_0x1c8289);},'JBRJh':function(_0xf8d383){return _0xf8d383();},'UZGat':_0x270495(0x170),'BoJHP':'idgen_route_reserve_error','tOYRi':function(_0xff7f3c,_0x6a7646,_0x262533,_0x4a6e38){return _0xff7f3c(_0x6a7646,_0x262533,_0x4a6e38);},'PKAdM':function(_0x27a1de,_0x3d13ff,_0x456969,_0x48d0de){return _0x27a1de(_0x3d13ff,_0x456969,_0x48d0de);},'iNnND':'idgen_route_reserve_extend_error','IxzVR':function(_0x26be71,_0xaf9f8c,_0x3d3ab9,_0x2823e1){return _0x26be71(_0xaf9f8c,_0x3d3ab9,_0x2823e1);},'ygopu':function(_0x367f98,_0x5eddc4,_0x34ba75,_0x3bf5a0){return _0x367f98(_0x5eddc4,_0x34ba75,_0x3bf5a0);},'ObqPv':_0x270495(0x16b),'IrYOy':function(_0x46651e,_0x1f7b7e){return _0x46651e(_0x1f7b7e);},'DNUTk':function(_0x35cfb5,_0x7161c8,_0xf50a3,_0x1ab86d){return _0x35cfb5(_0x7161c8,_0xf50a3,_0x1ab86d);},'hQKsv':'PIN\x20generated\x20successfully','CZCnp':function(_0x35d83a,_0x1f86ea,_0x26b0ee,_0x4e6555){return _0x35d83a(_0x1f86ea,_0x26b0ee,_0x4e6555);},'jgGrM':'idgen_route_serial_error','rnVny':function(_0x4673b0,_0x422ac0){return _0x4673b0(_0x422ac0);},'wmyJn':function(_0x31be7c){return _0x31be7c();},'kcBXk':function(_0x5915e7,_0x2fb205,_0x2c14fe,_0xc6dcae){return _0x5915e7(_0x2fb205,_0x2c14fe,_0xc6dcae);},'FSqro':'idgen_route_code_error','ixfKa':function(_0x1df2b1,_0x39bcd8,_0x59477b,_0x527aba){return _0x1df2b1(_0x39bcd8,_0x59477b,_0x527aba);},'XWLuu':_0x270495(0x142),'nBpnp':function(_0x5f2199){return _0x5f2199();},'Exznk':function(_0x5ed486,_0x355dff){return _0x5ed486||_0x355dff;},'kLTkX':'number','uHorr':_0x270495(0x132),'XTgAz':function(_0xa83527,_0xeb37a4){return _0xa83527||_0xeb37a4;},'ihQVf':'true','GTZer':function(_0xaefb0b,_0x589fa9){return _0xaefb0b===_0x589fa9;},'IrFkc':function(_0x3c2015,_0x328f82){return _0x3c2015||_0x328f82;},'ibuWS':'IDGEN_ENABLED=false','BSDdh':_0x270495(0x14f),'wMzvL':'ID\x20Generator\x20service\x20is\x20healthy','YYOeg':function(_0x4bfc15,_0x59eddf,_0x35b5da,_0x302623){return _0x4bfc15(_0x59eddf,_0x35b5da,_0x302623);},'dVXZO':'/number/release','sByNj':'/reserve/cancel','YizJC':_0x270495(0x155),'odLnn':_0x270495(0x134),'ZYqJy':'/pin','qSiiH':'/info/:resource','BYpOo':'/reset','mZuJa':'/health'},_0xe2bdb2=express['Router']();let _0x4f3371=null;function _0x1958fd(){return!_0x4f3371&&(_0x4f3371=_0x5b5605['LeFhh'](require,_0x5b5605['YotLX'])),_0x4f3371;}function _0x4e7f05(_0x18f67c,_0x22e781,_0x2b4f6e){const _0x10f6c7=_0x270495;if(_0x22e781&&_0x5b5605['eGJcB'](_0x22e781[_0x10f6c7(0x15a)],'IdGeneratorError')){const _0x68eb1a=ERROR_CODE_HTTP_MAP[_0x22e781[_0x10f6c7(0x149)]]||0x1f4;return logger[_0x10f6c7(0x13d)]({'event':_0x2b4f6e,'code':_0x22e781[_0x10f6c7(0x149)],'message':_0x22e781[_0x10f6c7(0x147)]},'ID\x20Generator\x20route\x20error:\x20'+_0x22e781['code']),_0x18f67c[_0x10f6c7(0x163)](_0x68eb1a)[_0x10f6c7(0x129)](createError(_0x68eb1a,_0x22e781['message'],{'code':_0x22e781['code'],'details':_0x22e781[_0x10f6c7(0x152)]||null}));}return logger[_0x10f6c7(0x160)]({'event':_0x2b4f6e,'error':_0x22e781&&_0x22e781['message'],'stack':_0x22e781&&_0x22e781['stack']},'ID\x20Generator\x20route\x20exception:\x20'+(_0x22e781&&_0x22e781['message'])),_0x18f67c[_0x10f6c7(0x163)](0x1f4)[_0x10f6c7(0x129)](createError(0x1f4,_0x10f6c7(0x127),null));}function _0x4c76b9(_0x3929f3){return _0x3929f3['header']('Idempotency-Key')||undefined;}return _0xe2bdb2['post']('/number',async(_0x38bc4e,_0x497ecd)=>{const _0x23f568=_0x270495;try{const {resource:_0x12be0a,format:_0x92a479,prefix:_0x4711b6,separator:_0x661c74,numDigits:_0x598c74,reuseDelete:_0x40cf99}=_0x38bc4e['body']||{},_0x443683=_0x5b5605['LeFhh'](_0x4c76b9,_0x38bc4e),_0x3d3a93=_0x5b5605['YjKhe'](_0x1958fd),_0x536260=await _0x3d3a93[_0x23f568(0x172)]({'resource':_0x12be0a,'format':_0x92a479,'prefix':_0x4711b6,'separator':_0x661c74,'numDigits':_0x598c74,'reuseDelete':_0x40cf99,'idempotencyKey':_0x443683});return _0x497ecd[_0x23f568(0x163)](0xc9)[_0x23f568(0x129)](_0x5b5605['CpXEr'](createResponse,0xc9,'Number\x20generated\x20successfully',_0x536260));}catch(_0x4ced80){return _0x4e7f05(_0x497ecd,_0x4ced80,_0x5b5605['fuNMB']);}}),_0xe2bdb2['post'](_0x5b5605['dVXZO'],async(_0x1c5754,_0x3d36d2)=>{const _0x5dc422=_0x270495;try{const _0x5996ca=_0x4c76b9(_0x1c5754),_0x5aea97={..._0x1c5754[_0x5dc422(0x16a)]||{},'idempotencyKey':_0x5996ca},_0x15b029=_0x1958fd(),_0x80ff82=await _0x15b029[_0x5dc422(0x15d)](_0x5aea97);return _0x3d36d2['status'](0xc8)['json'](createResponse(0xc8,_0x5b5605['XioTc'],_0x80ff82));}catch(_0x363677){return _0x4e7f05(_0x3d36d2,_0x363677,'idgen_route_release_error');}}),_0xe2bdb2[_0x270495(0x150)]('/reserve',async(_0x194e64,_0x439cf1)=>{const _0x412053=_0x270495;try{const {resource:_0x5120e7,format:_0x6efc09,prefix:_0x41da6e,separator:_0x27b0ad,numDigits:_0x196bcc,reuseDelete:_0x310ca5,ttl:_0x1a20ac}=_0x194e64['body']||{},_0x2d08ba=_0x5b5605['dHNVQ'](_0x4c76b9,_0x194e64),_0x16ba98=_0x5b5605[_0x412053(0x13c)](_0x1958fd),_0x10b0de=await _0x16ba98['reserveNumber']({'resource':_0x5120e7,'format':_0x6efc09,'prefix':_0x41da6e,'separator':_0x27b0ad,'numDigits':_0x196bcc,'reuseDelete':_0x310ca5,'ttl':_0x1a20ac,'idempotencyKey':_0x2d08ba});return _0x439cf1['status'](0xc9)[_0x412053(0x129)](createResponse(0xc9,_0x5b5605[_0x412053(0x171)],_0x10b0de));}catch(_0x52e331){return _0x4e7f05(_0x439cf1,_0x52e331,_0x5b5605['BoJHP']);}}),_0xe2bdb2[_0x270495(0x150)]('/reserve/confirm',async(_0x4430bb,_0xbed743)=>{const _0x16c5e3=_0x270495;try{const {token:_0x183562}=_0x4430bb['body']||{},_0x704570=_0x4c76b9(_0x4430bb),_0x231384=_0x5b5605['YjKhe'](_0x1958fd),_0x221a94=await _0x231384['confirmReservation']({'token':_0x183562,'idempotencyKey':_0x704570});return _0xbed743[_0x16c5e3(0x163)](0xc8)['json'](createResponse(0xc8,'Reservation\x20confirmed',_0x221a94));}catch(_0x113089){return _0x5b5605['tOYRi'](_0x4e7f05,_0xbed743,_0x113089,_0x16c5e3(0x161));}}),_0xe2bdb2['post'](_0x5b5605[_0x270495(0x13b)],async(_0x466715,_0x2cb953)=>{const _0x440f67=_0x270495;try{const {token:_0x157f82}=_0x466715['body']||{},_0x315981=_0x4c76b9(_0x466715),_0x54e479=_0x1958fd(),_0x437008=await _0x54e479[_0x440f67(0x15b)]({'token':_0x157f82,'idempotencyKey':_0x315981});return _0x2cb953['status'](0xc8)['json'](_0x5b5605[_0x440f67(0x143)](createResponse,0xc8,'Reservation\x20cancelled',_0x437008));}catch(_0x436523){return _0x5b5605[_0x440f67(0x12a)](_0x4e7f05,_0x2cb953,_0x436523,_0x440f67(0x173));}}),_0xe2bdb2[_0x270495(0x150)](_0x5b5605['YizJC'],async(_0x53b305,_0x7cd869)=>{const _0x1e540c=_0x270495;try{const {token:_0x25b17d,ttl:_0x4335df}=_0x53b305['body']||{},_0xe94b0e=_0x5b5605['LeFhh'](_0x4c76b9,_0x53b305),_0x4497a9=_0x5b5605['YjKhe'](_0x1958fd),_0x2789f7=await _0x4497a9[_0x1e540c(0x144)]({'token':_0x25b17d,'ttl':_0x4335df,'idempotencyKey':_0xe94b0e});return _0x7cd869['status'](0xc8)[_0x1e540c(0x129)](createResponse(0xc8,'Reservation\x20extended',_0x2789f7));}catch(_0x5a1748){return _0x4e7f05(_0x7cd869,_0x5a1748,_0x5b5605['iNnND']);}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605['odLnn'],async(_0x41de30,_0x3d1e58)=>{const _0x4eed33=_0x270495;try{const {token:_0x80eff0}=_0x41de30[_0x4eed33(0x167)],_0x4e5164=_0x1958fd(),_0x2cd1a6=await _0x4e5164['getReservation']({'token':_0x80eff0});return _0x3d1e58[_0x4eed33(0x163)](0xc8)[_0x4eed33(0x129)](_0x5b5605[_0x4eed33(0x13e)](createResponse,0xc8,'Reservation\x20retrieved',_0x2cd1a6));}catch(_0x12d17e){return _0x5b5605[_0x4eed33(0x12e)](_0x4e7f05,_0x3d1e58,_0x12d17e,_0x5b5605[_0x4eed33(0x12d)]);}}),_0xe2bdb2[_0x270495(0x150)](_0x5b5605['ZYqJy'],async(_0x744f7d,_0x23f0d0)=>{const _0x127425=_0x270495;try{const {resource:_0xabeb44,digits:_0x4bd046,ensureUnique:_0x191a1c,ttl:_0x3103e6,maxRetry:_0x154b31}=_0x744f7d[_0x127425(0x16a)]||{},_0x508938=_0x5b5605['IrYOy'](_0x4c76b9,_0x744f7d),_0x8ed916=_0x1958fd(),_0xb4986c=await _0x8ed916['pin']({'resource':_0xabeb44,'digits':_0x4bd046,'ensureUnique':_0x191a1c,'ttl':_0x3103e6,'maxRetry':_0x154b31,'idempotencyKey':_0x508938});return _0x23f0d0[_0x127425(0x163)](0xc9)[_0x127425(0x129)](_0x5b5605['DNUTk'](createResponse,0xc9,_0x5b5605[_0x127425(0x15e)],_0xb4986c));}catch(_0x1a8e63){return _0x5b5605[_0x127425(0x153)](_0x4e7f05,_0x23f0d0,_0x1a8e63,'idgen_route_pin_error');}}),_0xe2bdb2[_0x270495(0x150)](_0x270495(0x168),async(_0x3370ff,_0x3bf216)=>{const _0x476d2f=_0x270495;try{const {resource:_0x5dbeef,pattern:_0x3bd691,ensureUnique:_0x9dce0b,ttl:_0x904310,maxRetry:_0x39b4b7}=_0x3370ff['body']||{},_0x1d3fab=_0x4c76b9(_0x3370ff),_0x7ce701=_0x1958fd(),_0x43963e=await _0x7ce701[_0x476d2f(0x13f)]({'resource':_0x5dbeef,'pattern':_0x3bd691,'ensureUnique':_0x9dce0b,'ttl':_0x904310,'maxRetry':_0x39b4b7,'idempotencyKey':_0x1d3fab});return _0x3bf216[_0x476d2f(0x163)](0xc9)[_0x476d2f(0x129)](createResponse(0xc9,_0x476d2f(0x151),_0x43963e));}catch(_0x118fd1){return _0x4e7f05(_0x3bf216,_0x118fd1,_0x5b5605['jgGrM']);}}),_0xe2bdb2['post']('/code',async(_0x3addf5,_0x21c73b)=>{const _0x3523b8=_0x270495;try{const {resource:_0x2cc68d,pattern:_0x22fd48,ensureUnique:_0x34d612,ttl:_0x437cb9,maxRetry:_0x39310c}=_0x3addf5['body']||{},_0x21a29=_0x5b5605['rnVny'](_0x4c76b9,_0x3addf5),_0x25edc1=_0x5b5605[_0x3523b8(0x13a)](_0x1958fd),_0x32ec3a=await _0x25edc1[_0x3523b8(0x149)]({'resource':_0x2cc68d,'pattern':_0x22fd48,'ensureUnique':_0x34d612,'ttl':_0x437cb9,'maxRetry':_0x39310c,'idempotencyKey':_0x21a29});return _0x21c73b[_0x3523b8(0x163)](0xc9)['json'](_0x5b5605['IxzVR'](createResponse,0xc9,_0x3523b8(0x12b),_0x32ec3a));}catch(_0x4ed6af){return _0x5b5605[_0x3523b8(0x14b)](_0x4e7f05,_0x21c73b,_0x4ed6af,_0x5b5605['FSqro']);}}),_0xe2bdb2['post']('/random',async(_0x547db8,_0x498b75)=>{const _0x1fb32c=_0x270495;try{const {resource:_0x40ce00,pattern:_0x488b32,ensureUnique:_0x1907e3,ttl:_0x2143f6,maxRetry:_0x3645b8}=_0x547db8[_0x1fb32c(0x16a)]||{},_0x14f129=_0x4c76b9(_0x547db8),_0x3da1e2=_0x1958fd(),_0x568fee=await _0x3da1e2['random']({'resource':_0x40ce00,'pattern':_0x488b32,'ensureUnique':_0x1907e3,'ttl':_0x2143f6,'maxRetry':_0x3645b8,'idempotencyKey':_0x14f129});return _0x498b75[_0x1fb32c(0x163)](0xc9)['json'](_0x5b5605['ixfKa'](createResponse,0xc9,_0x1fb32c(0x135),_0x568fee));}catch(_0x47512b){return _0x5b5605['ixfKa'](_0x4e7f05,_0x498b75,_0x47512b,_0x1fb32c(0x156));}}),_0xe2bdb2[_0x270495(0x150)]('/consume',async(_0x2af5a6,_0x173c3f)=>{const _0x2ec93d=_0x270495;try{const {resource:_0x99ea78,value:_0x325b6f}=_0x2af5a6[_0x2ec93d(0x16a)]||{},_0x355ea8=_0x1958fd(),_0x277526=await _0x355ea8['consume']({'resource':_0x99ea78,'value':_0x325b6f});return _0x173c3f['status'](0xc8)['json'](createResponse(0xc8,_0x5b5605[_0x2ec93d(0x139)],_0x277526));}catch(_0x40e4dd){return _0x5b5605[_0x2ec93d(0x12e)](_0x4e7f05,_0x173c3f,_0x40e4dd,_0x2ec93d(0x166));}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605[_0x270495(0x133)],async(_0x3d7c2f,_0x44effa)=>{const _0x1606c3=_0x270495;try{const {resource:_0x20d794}=_0x3d7c2f['params'],{mode:_0x1ba011,format:_0xdbd4fa,prefix:_0x3a7d13}=_0x3d7c2f[_0x1606c3(0x15f)],_0xe76bb6=_0x5b5605[_0x1606c3(0x154)](_0x1958fd),_0x14a75=await _0xe76bb6['getInfo']({'resource':_0x20d794,'mode':_0x5b5605[_0x1606c3(0x140)](_0x1ba011,_0x5b5605['kLTkX']),'format':_0xdbd4fa,'prefix':_0x3a7d13});return _0x44effa['status'](0xc8)[_0x1606c3(0x129)](createResponse(0xc8,_0x1606c3(0x14d),_0x14a75));}catch(_0x46c7cf){return _0x4e7f05(_0x44effa,_0x46c7cf,_0x5b5605['uHorr']);}}),_0xe2bdb2['post'](_0x5b5605[_0x270495(0x16d)],async(_0x5a2491,_0x19b7bf)=>{const _0x2c466c=_0x270495;try{const {resource:_0x3eb8e9,mode:_0x1621b4,format:_0x1490c1,prefix:_0x315db0}=_0x5a2491['body']||{},_0x39cad5=_0x1958fd(),_0x4e19b5=await _0x39cad5['reset']({'resource':_0x3eb8e9,'mode':_0x5b5605['XTgAz'](_0x1621b4,_0x2c466c(0x172)),'format':_0x1490c1,'prefix':_0x315db0});return _0x19b7bf[_0x2c466c(0x163)](0xc8)['json'](_0x5b5605['IxzVR'](createResponse,0xc8,'Resource\x20state\x20reset',_0x4e19b5));}catch(_0x3e70fd){return _0x4e7f05(_0x19b7bf,_0x3e70fd,'idgen_route_reset_error');}}),_0xe2bdb2[_0x270495(0x137)](_0x5b5605[_0x270495(0x165)],async(_0x2f8c71,_0x20f140)=>{const _0x4455b4=_0x270495;try{const _0x830c3c=_0x1958fd(),_0xfa596a=_0x830c3c[_0x4455b4(0x145)]();let _0x519d0a=![],_0x2b8ed4=null;try{_0x519d0a=await redisClient['ping'](0xbb8);}catch(_0x380533){_0x2b8ed4=_0x380533[_0x4455b4(0x147)];}const _0x42895a=_0x5b5605[_0x4455b4(0x159)](process[_0x4455b4(0x128)]['LOCK_DISTRIBUTED_ENABLED'],_0x5b5605['ihQVf']),_0x5c1d67=_0x5b5605[_0x4455b4(0x12c)](process[_0x4455b4(0x128)][_0x4455b4(0x138)],'true');if(_0x5b5605['IrFkc'](!_0xfa596a,!_0x519d0a))return _0x20f140[_0x4455b4(0x163)](0x1f7)[_0x4455b4(0x129)](_0x5b5605['ixfKa'](createError,0x1f7,_0x4455b4(0x14e),{'enabled':_0xfa596a,'redisConnected':_0x519d0a,'lockEnabled':_0x42895a,'idempotencyEnabled':_0x5c1d67,'error':_0x2b8ed4||(!_0xfa596a?_0x5b5605['ibuWS']:_0x5b5605['BSDdh'])}));return _0x20f140['status'](0xc8)[_0x4455b4(0x129)](_0x5b5605['tOYRi'](createResponse,0xc8,_0x5b5605['wMzvL'],{'enabled':_0xfa596a,'redisConnected':_0x519d0a,'lockEnabled':_0x42895a,'idempotencyEnabled':_0x5c1d67}));}catch(_0x371e3f){return _0x5b5605['YYOeg'](_0x4e7f05,_0x20f140,_0x371e3f,_0x4455b4(0x164));}}),_0xe2bdb2;}module[a0_0x54c84d(0x131)]=createIdgenRoutes;function a0_0x52e5(){const _0xb56599=['otfbsM5Ivha','yM9KEq','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','zxHWCMvZCW','qLLWt28','ndbouhfQueG','nJbkvKLUzK0','tNvTyMvYihjLC2vYDMvKihn1y2nLC3nMDwXSEq','vvPhyxq','BNvTyMvY','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zw52','ANnVBG','ueTbze0','q29KzsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','r1rAzxi','t2jXuhy','EwDVChu','lI4VlI4VDxrPBhmVChjVy2vZC29YlxjLC3bVBNnL','mJaXmZy4ve5uverM','zxHWB3j0CW','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','CvnPAuG','l3jLC2vYDMuVoNrVA2vU','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','mti5mZy1uLrVvgXR','z2v0','surftvbpvevoq1LFru5bqKXfra','wfDmDxu','D215sM4','C0j5tMO','sKjssMG','D2fYBG','sxH6vLi','C2vYAwfS','rxH6BMS','mJy5mZa0mxbdtNvszG','vMfSDwuGy29UC3vTzwq','q3byrxi','zxH0zw5KuMvZzxj2yxrPB24','AxnfBMfIBgvK','mKjetMzAuG','BwvZC2fNzq','mJi3nKXyyuHJrG','y29Kzq','mJq2mJy4s3zuwLz0','A2ncwgS','mtjdvxLVr3q','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','uMvKAxmGBM90ignVBM5Ly3rLza','Cg9ZDa','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','zgv0ywLSCW','q1PdBNa','BKjWBNa','l3jLC2vYDMuVzxH0zw5K','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mtbhy2HPt2q','zuDky0i','BMfTzq','y2fUy2vSuMvZzxj2yxrPB24','mZK4mZy3CMjNqK9Q','CMvSzwfZzu51BwjLCG','AfflC3y','CxvLCNK','zxjYB3i','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','mti1nte0z3PSsfHL','C3rHDhvZ','AwrNzw5FCM91DgvFAgvHBhrOx2vYCM9Y','BvP1sMe','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','CgfYyw1Z','l3nLCMLHBa'];a0_0x52e5=function(){return _0xb56599;};return a0_0x52e5();}
1
+ const a0_0x4ac1a6=a0_0x1cbc;function a0_0x1cbc(_0x48ca73,_0x219d30){_0x48ca73=_0x48ca73-0x9c;const _0x2d7f08=a0_0x2d7f();let _0x1cbc8a=_0x2d7f08[_0x48ca73];if(a0_0x1cbc['MwaVjj']===undefined){var _0x266787=function(_0x15ab88){const _0x2e7673='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc29cb8='',_0x28c0cc='';for(let _0x12040f=0x0,_0x560e0a,_0x2c10ea,_0x50c12c=0x0;_0x2c10ea=_0x15ab88['charAt'](_0x50c12c++);~_0x2c10ea&&(_0x560e0a=_0x12040f%0x4?_0x560e0a*0x40+_0x2c10ea:_0x2c10ea,_0x12040f++%0x4)?_0xc29cb8+=String['fromCharCode'](0xff&_0x560e0a>>(-0x2*_0x12040f&0x6)):0x0){_0x2c10ea=_0x2e7673['indexOf'](_0x2c10ea);}for(let _0x457a8d=0x0,_0x197e28=_0xc29cb8['length'];_0x457a8d<_0x197e28;_0x457a8d++){_0x28c0cc+='%'+('00'+_0xc29cb8['charCodeAt'](_0x457a8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28c0cc);};a0_0x1cbc['PiTSDm']=_0x266787,a0_0x1cbc['RKFvhF']={},a0_0x1cbc['MwaVjj']=!![];}const _0x4b34c0=_0x2d7f08[0x0],_0x2e7893=_0x48ca73+_0x4b34c0,_0x20a2bd=a0_0x1cbc['RKFvhF'][_0x2e7893];return!_0x20a2bd?(_0x1cbc8a=a0_0x1cbc['PiTSDm'](_0x1cbc8a),a0_0x1cbc['RKFvhF'][_0x2e7893]=_0x1cbc8a):_0x1cbc8a=_0x20a2bd,_0x1cbc8a;}(function(_0x38c11b,_0x1e8152){const _0x1b6b6e=a0_0x1cbc,_0x5b8e13=_0x38c11b();while(!![]){try{const _0x4d66e3=-parseInt(_0x1b6b6e(0xe7))/0x1*(-parseInt(_0x1b6b6e(0x9c))/0x2)+parseInt(_0x1b6b6e(0xd2))/0x3+-parseInt(_0x1b6b6e(0xee))/0x4+parseInt(_0x1b6b6e(0xb6))/0x5+-parseInt(_0x1b6b6e(0xa5))/0x6+-parseInt(_0x1b6b6e(0xc3))/0x7+parseInt(_0x1b6b6e(0xe8))/0x8*(-parseInt(_0x1b6b6e(0xde))/0x9);if(_0x4d66e3===_0x1e8152)break;else _0x5b8e13['push'](_0x5b8e13['shift']());}catch(_0x376885){_0x5b8e13['push'](_0x5b8e13['shift']());}}}(a0_0x2d7f,0x6381c));function a0_0x2d7f(){const _0x41ff10=['z2v0','CxvLCNK','uw90shi','tvHIEg8','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','y29Kzq','l3jLC2vYDMuVoNrVA2vU','D0H2DeG','EgXArfq','DMHnv2G','mZK3nMjjs2jHqG','B0PtwgW','B05ttxa','uMvZzxj2yxrPB24GzxH0zw5Kzwq','t2Dcwfu','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','lI4VlI4VDxrPBhmVBg9Nz2vY','tKrJs3C','ANnVBG','mta2mJa2mgzvshzZAq','BNvTyMvY','l251BwjLCG','Ahjztw4','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','yM9KEq','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','wK5Qveu','l251BwjLCI9YzwXLyxnL','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','vMfSDwuGy29UC3vTzwq','ueLoigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','l3jHBMrVBq','l3jLC2vYDMuVy2fUy2vS','l2LUzM8VoNjLC291CMnL','l2HLywX0Aa','mZGXntq0mhrRCNzKDa','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','l3nLCMLHBa','y29UzMLYBvjLC2vYDMf0Aw9U','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','CMvSzwfZzu51BwjLCG','l3jLC2vYDMu','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','zgv0ywLSCW','rNjgweG','EefIAxK','CgfYyw1Z','mtuWmdCZn1b4AvjRCG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','l3jLC2vYDMuVy29UzMLYBq','swrhzw5LCMf0B3jfCNjVCG','l2nVzgu','zxHWB3j0CW','seDlqxm','tKvryKG','rw51weS','Awv5DxO','CMvZzxj2zu51BwjLCG','AwrNzw5FCM91DgvFy29Kzv9LCNjVCG','CMfUzg9T','z1LMCNG','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','mtKXntC3nLnrDNDvyG','suqGr2vUzxjHDg9YihjVDxrLigv4y2vWDgLVBJOG','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','ug1YA2i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','y29UC3vTzq','z2v0uMvZzxj2yxrPB24','AwrNzw5FCM91DgvFCgLUx2vYCM9Y','ENDyDuu','uMvZzxj2yxrPB24GCMv0CMLLDMvK','BuXXvxC','wgjeA2e','oxvssffSvq','CgLUzW','Dhj1zq','z2v0sw5MBW','CxntCfy','uM91DgvY','qKnIA0O','t2jAsge','C3rHy2S','mJK2tMnbzuHr','nty5mtm3nKLuwMPwAG','CgLU','BwvZC2fNzq','C3rHDhvZ','CNvlB3y','l3jLC2v0','mtKXodKWmevhy1vRsq','zeLYrMG','CgzTAgq','Cg9ZDa','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq'];a0_0x2d7f=function(){return _0x41ff10;};return a0_0x2d7f();}const express=require('express'),{logger}=require(a0_0x4ac1a6(0xa2)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require(a0_0x4ac1a6(0xc4)),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function createIdgenRoutes(){const _0xac53c8=a0_0x4ac1a6,_0x54e6e1={'xAbiy':function(_0x9f1069,_0x31ec03){return _0x9f1069(_0x31ec03);},'IjOZt':_0xac53c8(0xc6),'mMMUD':function(_0x4d5019,_0x5778ae,_0x340871,_0xb07420){return _0x4d5019(_0x5778ae,_0x340871,_0xb07420);},'NEQbH':function(_0x134211,_0x4cadfe,_0x464ebf,_0x1a2085){return _0x134211(_0x4cadfe,_0x464ebf,_0x1a2085);},'AoUkV':'Idempotency-Key','Ajout':function(_0x447b4b,_0x4c20ab){return _0x447b4b(_0x4c20ab);},'HGKAs':function(_0x520d80){return _0x520d80();},'ObZHa':function(_0x50b3ea,_0x12d954,_0x21eff0,_0x4d6c66){return _0x50b3ea(_0x12d954,_0x21eff0,_0x4d6c66);},'vHutL':function(_0x4142ef,_0xd86ad5){return _0x4142ef(_0xd86ad5);},'xlZDT':'Number\x20reserved\x20successfully','Pmrkb':function(_0x58471d,_0x3ac1aa){return _0x58471d(_0x3ac1aa);},'BCbkJ':'Reservation\x20confirmed','nkzdk':_0xac53c8(0xf7),'XbDka':function(_0x2627d8,_0x32b7ee){return _0x2627d8(_0x32b7ee);},'vFTfT':function(_0xce3d71){return _0xce3d71();},'oJSXl':function(_0x3b3a89,_0x108147,_0x2e5964,_0x73ed00){return _0x3b3a89(_0x108147,_0x2e5964,_0x73ed00);},'VpUpV':function(_0x1a2547,_0x2f745e){return _0x1a2547(_0x2f745e);},'xKiEV':function(_0x431ee3){return _0x431ee3();},'ruKov':function(_0x1ee435,_0x25812c,_0x495d30,_0x569f13){return _0x1ee435(_0x25812c,_0x495d30,_0x569f13);},'oNSMp':_0xac53c8(0x9f),'PVzup':_0xac53c8(0xd1),'EnuXK':function(_0x463a39,_0x54a15e,_0x460029,_0x3869fa){return _0x463a39(_0x54a15e,_0x460029,_0x3869fa);},'hrYMn':_0xac53c8(0xdb),'XQOpY':function(_0x32ba73){return _0x32ba73();},'tKWVd':_0xac53c8(0xb1),'gYfrx':function(_0x2e76ad,_0x4d18ae,_0x497374,_0x4e299c){return _0x2e76ad(_0x4d18ae,_0x497374,_0x4e299c);},'zwXuE':'idgen_route_serial_error','mLqUw':function(_0x1376f2){return _0x1376f2();},'OgBXU':function(_0x36acd9,_0x423ce3,_0x198ad2,_0x3e96fd){return _0x36acd9(_0x423ce3,_0x198ad2,_0x3e96fd);},'UeOkC':'Random\x20value\x20generated\x20successfully','tWuHJ':function(_0x571bd8,_0x182c72,_0x34ca5c,_0x116c39){return _0x571bd8(_0x182c72,_0x34ca5c,_0x116c39);},'ZJiTD':_0xac53c8(0xb8),'FrFXH':function(_0x2affe5,_0x39a32d){return _0x2affe5||_0x39a32d;},'wHvtH':_0xac53c8(0xbe),'OCvVB':_0xac53c8(0xa6),'MXbxo':function(_0x328409,_0x5cdce4,_0x49d61e,_0x188f29){return _0x328409(_0x5cdce4,_0x49d61e,_0x188f29);},'otecG':_0xac53c8(0xae),'ieyuz':'ID\x20Generator\x20service\x20unavailable','ZNjTE':'IDGEN_ENABLED=false','QotHr':function(_0x398466,_0x501b44,_0x2f6061,_0x2baacd){return _0x398466(_0x501b44,_0x2f6061,_0x2baacd);},'NDcKw':_0xac53c8(0xaf),'dlnfr':function(_0x5f0057,_0x1ec499,_0x1f7b90,_0xd95ad0){return _0x5f0057(_0x1ec499,_0x1f7b90,_0xd95ad0);},'vhMWh':_0xac53c8(0xad),'kNZPV':_0xac53c8(0xc5),'sDoaA':'/reserve/extend','pfmhd':_0xac53c8(0xf9),'oBwas':'/consume','dIrFh':_0xac53c8(0xed),'qsSpV':_0xac53c8(0xb5)},_0x44100f=express[_0xac53c8(0xe3)]();let _0xd17c47=null;function _0x20bc2f(){const _0x5a8835=_0xac53c8;return!_0xd17c47&&(_0xd17c47=_0x54e6e1[_0x5a8835(0xc1)](require,'../../utils/id-generator')),_0xd17c47;}function _0x4508f2(_0x277936,_0x4caa39,_0x2532f1){const _0x54762e=_0xac53c8;if(_0x4caa39&&_0x4caa39['name']===_0x54e6e1['IjOZt']){const _0x39aa0a=ERROR_CODE_HTTP_MAP[_0x4caa39['code']]||0x1f4;return logger['warn']({'event':_0x2532f1,'code':_0x4caa39[_0x54762e(0xf8)],'message':_0x4caa39[_0x54762e(0xea)]},_0x54762e(0xab)+_0x4caa39[_0x54762e(0xf8)]),_0x277936['status'](_0x39aa0a)['json'](_0x54e6e1['mMMUD'](createError,_0x39aa0a,_0x4caa39['message'],{'code':_0x4caa39[_0x54762e(0xf8)],'details':_0x4caa39[_0x54762e(0xbf)]||null}));}return logger['error']({'event':_0x2532f1,'error':_0x4caa39&&_0x4caa39['message'],'stack':_0x4caa39&&_0x4caa39[_0x54762e(0xe6)]},_0x54762e(0xd3)+(_0x4caa39&&_0x4caa39[_0x54762e(0xea)])),_0x277936[_0x54762e(0xeb)](0x1f4)['json'](_0x54e6e1[_0x54762e(0xca)](createError,0x1f4,'Internal\x20server\x20error',null));}function _0x216edd(_0xb6e0d4){return _0xb6e0d4['header'](_0x54e6e1['AoUkV'])||undefined;}return _0x44100f['post'](_0xac53c8(0xa7),async(_0x13297a,_0x2676ca)=>{const _0x57ceb1=_0xac53c8;try{const {resource:_0x11c4df,format:_0x34275b,prefix:_0x661d1f,separator:_0x37e85a,numDigits:_0x3ecc6c,reuseDelete:_0xb9355b}=_0x13297a['body']||{},_0x2fbb86=_0x54e6e1['Ajout'](_0x216edd,_0x13297a),_0xac90a9=_0x54e6e1['HGKAs'](_0x20bc2f),_0x40d3d4=await _0xac90a9[_0x57ceb1(0xa6)]({'resource':_0x11c4df,'format':_0x34275b,'prefix':_0x661d1f,'separator':_0x37e85a,'numDigits':_0x3ecc6c,'reuseDelete':_0xb9355b,'idempotencyKey':_0x2fbb86});return _0x2676ca[_0x57ceb1(0xeb)](0xc9)['json'](_0x54e6e1[_0x57ceb1(0xe5)](createResponse,0xc9,_0x57ceb1(0xbb),_0x40d3d4));}catch(_0xd70c39){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2676ca,_0xd70c39,_0x57ceb1(0xd4));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1[_0xac53c8(0xfc)],async(_0x1352ea,_0x4fe284)=>{const _0x17d150=_0xac53c8;try{const _0xdecf5f=_0x54e6e1['Ajout'](_0x216edd,_0x1352ea),_0x3c9d51={..._0x1352ea[_0x17d150(0xaa)]||{},'idempotencyKey':_0xdecf5f},_0x569161=_0x20bc2f(),_0x455a4d=await _0x569161[_0x17d150(0xbc)](_0x3c9d51);return _0x4fe284['status'](0xc8)['json'](createResponse(0xc8,'Number\x20released\x20to\x20reuse\x20pool',_0x455a4d));}catch(_0x5e22f3){return _0x4508f2(_0x4fe284,_0x5e22f3,'idgen_route_release_error');}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xbd),async(_0x3c46ac,_0x2fe32c)=>{const _0x3d35a7=_0xac53c8;try{const {resource:_0x31b9a5,format:_0x29af8f,prefix:_0x273f04,separator:_0x25f23d,numDigits:_0xa245fa,reuseDelete:_0x2cc2b1,ttl:_0xe1e40b}=_0x3c46ac[_0x3d35a7(0xaa)]||{},_0x475718=_0x54e6e1['vHutL'](_0x216edd,_0x3c46ac),_0x587064=_0x54e6e1[_0x3d35a7(0xc9)](_0x20bc2f),_0x35401c=await _0x587064[_0x3d35a7(0xcd)]({'resource':_0x31b9a5,'format':_0x29af8f,'prefix':_0x273f04,'separator':_0x25f23d,'numDigits':_0xa245fa,'reuseDelete':_0x2cc2b1,'ttl':_0xe1e40b,'idempotencyKey':_0x475718});return _0x2fe32c[_0x3d35a7(0xeb)](0xc9)[_0x3d35a7(0xa4)](createResponse(0xc9,_0x54e6e1[_0x3d35a7(0xfb)],_0x35401c));}catch(_0x23533f){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2fe32c,_0x23533f,_0x3d35a7(0xb7));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['kNZPV'],async(_0x207eb3,_0x57c2f5)=>{const _0x4dfbda=_0xac53c8;try{const {token:_0x305d8f}=_0x207eb3[_0x4dfbda(0xaa)]||{},_0x467fa8=_0x54e6e1[_0x4dfbda(0xd5)](_0x216edd,_0x207eb3),_0xb08391=_0x54e6e1['HGKAs'](_0x20bc2f),_0x52050a=await _0xb08391[_0x4dfbda(0xba)]({'token':_0x305d8f,'idempotencyKey':_0x467fa8});return _0x57c2f5['status'](0xc8)['json'](createResponse(0xc8,_0x54e6e1[_0x4dfbda(0xe4)],_0x52050a));}catch(_0x5895c0){return _0x4508f2(_0x57c2f5,_0x5895c0,_0x54e6e1['nkzdk']);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb3),async(_0x72c577,_0x236db5)=>{const _0x13e48e=_0xac53c8;try{const {token:_0x482b76}=_0x72c577['body']||{},_0xd49b53=_0x54e6e1[_0x13e48e(0xdd)](_0x216edd,_0x72c577),_0x534543=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5815eb=await _0x534543['cancelReservation']({'token':_0x482b76,'idempotencyKey':_0xd49b53});return _0x236db5['status'](0xc8)[_0x13e48e(0xa4)](createResponse(0xc8,'Reservation\x20cancelled',_0x5815eb));}catch(_0x241b26){return _0x54e6e1[_0x13e48e(0x9d)](_0x4508f2,_0x236db5,_0x241b26,_0x13e48e(0xa1));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['sDoaA'],async(_0x5896e7,_0x4a58c3)=>{const _0x14147d=_0xac53c8;try{const {token:_0x47cd8c,ttl:_0x12e28c}=_0x5896e7[_0x14147d(0xaa)]||{},_0x35939b=_0x54e6e1['VpUpV'](_0x216edd,_0x5896e7),_0x34e599=_0x54e6e1['xKiEV'](_0x20bc2f),_0x4bcef6=await _0x34e599['extendReservation']({'token':_0x47cd8c,'ttl':_0x12e28c,'idempotencyKey':_0x35939b});return _0x4a58c3[_0x14147d(0xeb)](0xc8)[_0x14147d(0xa4)](_0x54e6e1[_0x14147d(0xec)](createResponse,0xc8,_0x54e6e1[_0x14147d(0x9e)],_0x4bcef6));}catch(_0x2748cc){return _0x54e6e1['ObZHa'](_0x4508f2,_0x4a58c3,_0x2748cc,_0x54e6e1['PVzup']);}}),_0x44100f[_0xac53c8(0xf3)](_0x54e6e1[_0xac53c8(0xf0)],async(_0xd57eb,_0x31f598)=>{const _0x4f1324=_0xac53c8;try{const {token:_0x4a4aa3}=_0xd57eb[_0x4f1324(0xc2)],_0x35d290=_0x20bc2f(),_0x41683a=await _0x35d290[_0x4f1324(0xd8)]({'token':_0x4a4aa3});return _0x31f598['status'](0xc8)[_0x4f1324(0xa4)](_0x54e6e1[_0x4f1324(0xcb)](createResponse,0xc8,_0x54e6e1[_0x4f1324(0xa8)],_0x41683a));}catch(_0x2ee45f){return _0x4508f2(_0x31f598,_0x2ee45f,_0x4f1324(0xa9));}}),_0x44100f['post']('/pin',async(_0x59e69a,_0x459a5b)=>{const _0x2cc7ac=_0xac53c8;try{const {resource:_0x5318ee,digits:_0x5bc6d0,ensureUnique:_0x1c6dfb,ttl:_0x19fcaa,maxRetry:_0x3e4ff2}=_0x59e69a['body']||{},_0x30e13f=_0x216edd(_0x59e69a),_0x4b5146=_0x54e6e1['XQOpY'](_0x20bc2f),_0x200c1b=await _0x4b5146[_0x2cc7ac(0xe9)]({'resource':_0x5318ee,'digits':_0x5bc6d0,'ensureUnique':_0x1c6dfb,'ttl':_0x19fcaa,'maxRetry':_0x3e4ff2,'idempotencyKey':_0x30e13f});return _0x459a5b[_0x2cc7ac(0xeb)](0xc9)[_0x2cc7ac(0xa4)](createResponse(0xc9,_0x54e6e1['tKWVd'],_0x200c1b));}catch(_0x2c6cb5){return _0x54e6e1['oJSXl'](_0x4508f2,_0x459a5b,_0x2c6cb5,_0x2cc7ac(0xd9));}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb9),async(_0x254179,_0xde23bb)=>{const _0x18e38d=_0xac53c8;try{const {resource:_0x33f45e,pattern:_0x256605,ensureUnique:_0xf7bd5f,ttl:_0x46f5c6,maxRetry:_0x22fd7b}=_0x254179[_0x18e38d(0xaa)]||{},_0x5be05d=_0x216edd(_0x254179),_0x43917d=_0x54e6e1[_0x18e38d(0xc9)](_0x20bc2f),_0x54877c=await _0x43917d['serial']({'resource':_0x33f45e,'pattern':_0x256605,'ensureUnique':_0xf7bd5f,'ttl':_0x46f5c6,'maxRetry':_0x22fd7b,'idempotencyKey':_0x5be05d});return _0xde23bb[_0x18e38d(0xeb)](0xc9)[_0x18e38d(0xa4)](_0x54e6e1['gYfrx'](createResponse,0xc9,_0x18e38d(0xd6),_0x54877c));}catch(_0x331beb){return _0x4508f2(_0xde23bb,_0x331beb,_0x54e6e1[_0x18e38d(0xda)]);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xc7),async(_0x51f10d,_0x57a421)=>{const _0x21924b=_0xac53c8;try{const {resource:_0x29aad8,pattern:_0x1c63d1,ensureUnique:_0x46b928,ttl:_0x5b49cd,maxRetry:_0x5067ab}=_0x51f10d['body']||{},_0x5d94ef=_0x54e6e1['xAbiy'](_0x216edd,_0x51f10d),_0x1dce87=_0x54e6e1[_0x21924b(0xdc)](_0x20bc2f),_0x5eeec5=await _0x1dce87[_0x21924b(0xf8)]({'resource':_0x29aad8,'pattern':_0x1c63d1,'ensureUnique':_0x46b928,'ttl':_0x5b49cd,'maxRetry':_0x5067ab,'idempotencyKey':_0x5d94ef});return _0x57a421['status'](0xc9)['json'](_0x54e6e1[_0x21924b(0xd0)](createResponse,0xc9,'Code\x20generated\x20successfully',_0x5eeec5));}catch(_0x3d0bf6){return _0x54e6e1[_0x21924b(0xa0)](_0x4508f2,_0x57a421,_0x3d0bf6,_0x21924b(0xce));}}),_0x44100f['post'](_0xac53c8(0xb2),async(_0x36c426,_0x414bd8)=>{const _0x1be749=_0xac53c8;try{const {resource:_0x1311a5,pattern:_0xc37a20,ensureUnique:_0x5ce148,ttl:_0xec29d5,maxRetry:_0x510134}=_0x36c426['body']||{},_0x9f20d6=_0x216edd(_0x36c426),_0x5e6fa3=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5d3811=await _0x5e6fa3[_0x1be749(0xcf)]({'resource':_0x1311a5,'pattern':_0xc37a20,'ensureUnique':_0x5ce148,'ttl':_0xec29d5,'maxRetry':_0x510134,'idempotencyKey':_0x9f20d6});return _0x414bd8[_0x1be749(0xeb)](0xc9)['json'](_0x54e6e1[_0x1be749(0xa0)](createResponse,0xc9,_0x54e6e1['UeOkC'],_0x5d3811));}catch(_0x29a283){return _0x4508f2(_0x414bd8,_0x29a283,'idgen_route_random_error');}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['oBwas'],async(_0x199c93,_0x246cc0)=>{const _0x370876=_0xac53c8;try{const {resource:_0x1a183d,value:_0x21ae0c}=_0x199c93['body']||{},_0x2fbc89=_0x20bc2f(),_0x2b77b6=await _0x2fbc89[_0x370876(0xd7)]({'resource':_0x1a183d,'value':_0x21ae0c});return _0x246cc0[_0x370876(0xeb)](0xc8)[_0x370876(0xa4)](_0x54e6e1[_0x370876(0xec)](createResponse,0xc8,_0x370876(0xb0),_0x2b77b6));}catch(_0x1776f3){return _0x54e6e1['tWuHJ'](_0x4508f2,_0x246cc0,_0x1776f3,_0x54e6e1['ZJiTD']);}}),_0x44100f[_0xac53c8(0xf3)](_0xac53c8(0xb4),async(_0x5d3c78,_0x46cdbf)=>{const _0x29a983=_0xac53c8;try{const {resource:_0x59bd1f}=_0x5d3c78[_0x29a983(0xc2)],{mode:_0x2ece05,format:_0x5d4b51,prefix:_0x13397e}=_0x5d3c78[_0x29a983(0xf4)],_0x2ead06=_0x20bc2f(),_0xe745e4=await _0x2ead06[_0x29a983(0xe1)]({'resource':_0x59bd1f,'mode':_0x54e6e1[_0x29a983(0xc0)](_0x2ece05,'number'),'format':_0x5d4b51,'prefix':_0x13397e});return _0x46cdbf[_0x29a983(0xeb)](0xc8)['json'](createResponse(0xc8,_0x29a983(0xf2),_0xe745e4));}catch(_0x2cee7c){return _0x4508f2(_0x46cdbf,_0x2cee7c,_0x54e6e1[_0x29a983(0xfa)]);}}),_0x44100f['post'](_0x54e6e1[_0xac53c8(0xef)],async(_0x2486a4,_0x56cdee)=>{const _0x31a5a3=_0xac53c8;try{const {resource:_0x470c14,mode:_0x1984ec,format:_0x50b30b,prefix:_0x540aea}=_0x2486a4['body']||{},_0x5c30de=_0x20bc2f(),_0x1e6901=await _0x5c30de['reset']({'resource':_0x470c14,'mode':_0x1984ec||_0x54e6e1['OCvVB'],'format':_0x50b30b,'prefix':_0x540aea});return _0x56cdee['status'](0xc8)[_0x31a5a3(0xa4)](createResponse(0xc8,'Resource\x20state\x20reset',_0x1e6901));}catch(_0x58b907){return _0x54e6e1[_0x31a5a3(0xf6)](_0x4508f2,_0x56cdee,_0x58b907,_0x54e6e1['otecG']);}}),_0x44100f['get'](_0x54e6e1[_0xac53c8(0xe2)],async(_0x226c4f,_0x361c8d)=>{const _0x1e543c=_0xac53c8;try{const _0x1ea7da=_0x20bc2f(),_0x4eb02e=_0x1ea7da['isEnabled']();let _0x195316=![],_0x4a0feb=null;try{_0x195316=await redisClient[_0x1e543c(0xdf)](0xbb8);}catch(_0x408d94){_0x4a0feb=_0x408d94[_0x1e543c(0xea)];}const _0x27b6bc=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x1e543c(0xe0),_0x560a82=process['env']['IDEMPOTENCY_ENABLED']==='true';if(_0x54e6e1[_0x1e543c(0xc0)](!_0x4eb02e,!_0x195316))return _0x361c8d[_0x1e543c(0xeb)](0x1f7)['json'](createError(0x1f7,_0x54e6e1[_0x1e543c(0xcc)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82,'error':_0x4a0feb||(!_0x4eb02e?_0x54e6e1[_0x1e543c(0xac)]:'Redis\x20not\x20connected')}));return _0x361c8d['status'](0xc8)['json'](_0x54e6e1[_0x1e543c(0xf5)](createResponse,0xc8,_0x54e6e1[_0x1e543c(0xa3)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82}));}catch(_0x4a49b7){return _0x54e6e1['dlnfr'](_0x4508f2,_0x361c8d,_0x4a49b7,'idgen_route_health_error');}}),_0x44100f;}module[a0_0x4ac1a6(0xc8)]=createIdgenRoutes;
@@ -1 +1 @@
1
- const a0_0x3ec41d=a0_0x1981;(function(_0x3d9192,_0x48de04){const _0x194737=a0_0x1981,_0xd0f55d=_0x3d9192();while(!![]){try{const _0x4692af=parseInt(_0x194737(0x1b8))/0x1+-parseInt(_0x194737(0x1c6))/0x2*(parseInt(_0x194737(0x1c2))/0x3)+parseInt(_0x194737(0x1c3))/0x4+-parseInt(_0x194737(0x1ac))/0x5*(parseInt(_0x194737(0x1dc))/0x6)+parseInt(_0x194737(0x1c8))/0x7+-parseInt(_0x194737(0x1d9))/0x8*(parseInt(_0x194737(0x1b5))/0x9)+parseInt(_0x194737(0x1ca))/0xa;if(_0x4692af===_0x48de04)break;else _0xd0f55d['push'](_0xd0f55d['shift']());}catch(_0x274f42){_0xd0f55d['push'](_0xd0f55d['shift']());}}}(a0_0x58af,0x51d2d));const dbType=(process[a0_0x3ec41d(0x1ce)][a0_0x3ec41d(0x1d3)]||a0_0x3ec41d(0x1dd))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ec41d(0x1d2)){const oracleDb=require(a0_0x3ec41d(0x1be));executeQuery=(_0x42f2f5,_0x4b60b9)=>oracleDb['executeQuery'](_0x42f2f5,_0x4b60b9);}else{if(dbType==='mysql'){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x1ca189,_0x2fa6bc)=>mysqlDb[a0_0x3ec41d(0x1bf)](_0x1ca189,_0x2fa6bc);}else executeQuery=require('../../core/utils/db')[a0_0x3ec41d(0x1bf)];}const {logger}=require('../../core/utils/logger');function a0_0x1981(_0x10e3d9,_0x144cc9){_0x10e3d9=_0x10e3d9-0x1aa;const _0x58af7d=a0_0x58af();let _0x19811c=_0x58af7d[_0x10e3d9];if(a0_0x1981['arDwdh']===undefined){var _0x1dc4ff=function(_0x57ddb6){const _0x480608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16f49a='',_0x1f96fb='';for(let _0xaf180d=0x0,_0x1ff477,_0x33a90a,_0x2b81c3=0x0;_0x33a90a=_0x57ddb6['charAt'](_0x2b81c3++);~_0x33a90a&&(_0x1ff477=_0xaf180d%0x4?_0x1ff477*0x40+_0x33a90a:_0x33a90a,_0xaf180d++%0x4)?_0x16f49a+=String['fromCharCode'](0xff&_0x1ff477>>(-0x2*_0xaf180d&0x6)):0x0){_0x33a90a=_0x480608['indexOf'](_0x33a90a);}for(let _0xa02cc8=0x0,_0x353f0b=_0x16f49a['length'];_0xa02cc8<_0x353f0b;_0xa02cc8++){_0x1f96fb+='%'+('00'+_0x16f49a['charCodeAt'](_0xa02cc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f96fb);};a0_0x1981['ouaicw']=_0x1dc4ff,a0_0x1981['KoTSBV']={},a0_0x1981['arDwdh']=!![];}const _0x51a21e=_0x58af7d[0x0],_0x1f0639=_0x10e3d9+_0x51a21e,_0x2c8100=a0_0x1981['KoTSBV'][_0x1f0639];return!_0x2c8100?(_0x19811c=a0_0x1981['ouaicw'](_0x19811c),a0_0x1981['KoTSBV'][_0x1f0639]=_0x19811c):_0x19811c=_0x2c8100,_0x19811c;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ec41d(0x1c0)](){const _0x4564c1=a0_0x3ec41d,_0x20d402={'eREIM':'lookup_cache_cleared'};this[_0x4564c1(0x1cb)][_0x4564c1(0x1b1)](),logger['debug']({'event':_0x20d402[_0x4564c1(0x1bd)]},_0x4564c1(0x1ae));}async[a0_0x3ec41d(0x1d4)](_0x457754,_0x2c0708,_0x590852){const _0x587f04=a0_0x3ec41d,_0x1b41b4={'OmYDB':function(_0x408111,_0x3362c8){return _0x408111!==_0x3362c8;},'PGLkI':function(_0x73bd3c,_0x17a79a){return _0x73bd3c(_0x17a79a);},'lXOdG':function(_0x254785,_0x2485b5){return _0x254785(_0x2485b5);},'bOFeH':_0x587f04(0x1c5),'pbePc':_0x587f04(0x1b4)},_0x1f7e36=_0x457754+':'+_0x2c0708+':'+_0x590852;if(this['lookupCache'][_0x587f04(0x1d8)](_0x1f7e36))return this['lookupCache']['get'](_0x1f7e36);try{const _0x17908a='SELECT\x20'+_0x590852+',\x20'+_0x2c0708+_0x587f04(0x1af)+_0x457754,_0x11c9cb=await _0x1b41b4[_0x587f04(0x1d6)](executeQuery,_0x17908a),_0x3a87db=new Map();return _0x11c9cb['forEach'](_0x19b610=>{const _0x1f3fc7=_0x587f04,_0x7d9396=_0x1b41b4['OmYDB'](_0x19b610[_0x2c0708],undefined)?_0x19b610[_0x2c0708]:_0x19b610[_0x2c0708[_0x1f3fc7(0x1cc)]()],_0xd2c82a=_0x19b610[_0x590852]!==undefined?_0x19b610[_0x590852]:_0x19b610[_0x590852['toUpperCase']()];_0x7d9396!==null&&_0x1b41b4[_0x1f3fc7(0x1d5)](_0x7d9396,undefined)&&(_0x3a87db[_0x1f3fc7(0x1b7)](_0x1b41b4['PGLkI'](String,_0x7d9396)[_0x1f3fc7(0x1cd)]()['trim'](),_0xd2c82a),_0x3a87db['set'](_0x1b41b4[_0x1f3fc7(0x1b9)](String,_0x7d9396)[_0x1f3fc7(0x1aa)](),_0xd2c82a));}),this['lookupCache'][_0x587f04(0x1b7)](_0x1f7e36,_0x3a87db),logger[_0x587f04(0x1c9)]({'event':_0x1b41b4['bOFeH'],'table':_0x457754,'column':_0x2c0708,'count':_0x11c9cb[_0x587f04(0x1b3)]},'Lookup\x20table\x20loaded:\x20'+_0x457754),_0x3a87db;}catch(_0x184f5e){logger['error']({'event':_0x1b41b4['pbePc'],'table':_0x457754,'error':_0x184f5e[_0x587f04(0x1d0)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x457754);throw _0x184f5e;}}['resolveLookupValue'](_0x276670,_0x28ad1c){const _0x184d2f=a0_0x3ec41d,_0x46a391={'xiwAB':function(_0x30be94,_0x2c3ce2){return _0x30be94===_0x2c3ce2;}};if(_0x276670===null||_0x46a391['xiwAB'](_0x276670,undefined)||_0x276670==='')return null;const _0x3d21db=String(_0x276670)[_0x184d2f(0x1aa)]();if(_0x28ad1c['has'](_0x3d21db))return _0x28ad1c['get'](_0x3d21db);const _0x44e388=_0x3d21db['toLowerCase']();if(_0x28ad1c['has'](_0x44e388))return _0x28ad1c[_0x184d2f(0x1ad)](_0x44e388);return null;}async[a0_0x3ec41d(0x1c4)](_0x3f74ae,_0x43fd04){const _0x535bad=a0_0x3ec41d,_0x4d7263={'emhXP':function(_0x43c471,_0x5de5e2){return _0x43c471===_0x5de5e2;},'zdkJP':_0x535bad(0x1bc),'fmAbt':'Lookup\x20fields\x20processed'};if(!_0x43fd04||Object['keys'](_0x43fd04)['length']===0x0)return{'processedRows':_0x3f74ae,'errors':[]};const _0x4d3d75=[],_0x5ca719=new Map();for(const [_0x1191f4,_0x23cbe1]of Object[_0x535bad(0x1cf)](_0x43fd04)){const {lookupTable:_0x10a7c9,lookupColumn:_0x57592f,lookupIdColumn:_0x4aaa96}=_0x23cbe1,_0x5cbeb6=_0x10a7c9+':'+_0x57592f+':'+_0x4aaa96;if(!_0x5ca719[_0x535bad(0x1d8)](_0x5cbeb6)){const _0x4a125a=await this[_0x535bad(0x1d4)](_0x10a7c9,_0x57592f,_0x4aaa96);_0x5ca719['set'](_0x5cbeb6,_0x4a125a);}}const _0x83d0be=_0x3f74ae['map']((_0x47ddbe,_0x1aa53d)=>{const _0x5691a5=_0x535bad,_0x3fd292={..._0x47ddbe};for(const [_0x3e78fe,_0x20cd85]of Object['entries'](_0x43fd04)){const {lookupTable:_0xf76eac,lookupColumn:_0x1d499f,lookupIdColumn:_0x5d5101,targetField:_0x5672ce,required:_0x3d6e75}=_0x20cd85,_0x2dd872=_0xf76eac+':'+_0x1d499f+':'+_0x5d5101,_0x4719da=_0x5ca719['get'](_0x2dd872),_0x1664da=_0x47ddbe[_0x3e78fe];if((_0x4d7263[_0x5691a5(0x1c1)](_0x1664da,null)||_0x1664da===undefined||_0x1664da==='')&&!_0x3d6e75){_0x3fd292[_0x5672ce]=null;continue;}const _0x1e13ef=this[_0x5691a5(0x1d7)](_0x1664da,_0x4719da);_0x1e13ef!==null?_0x3fd292[_0x5672ce]=_0x1e13ef:(_0x3d6e75&&_0x4d3d75[_0x5691a5(0x1b2)]({'rowIndex':_0x1aa53d,'field':_0x3e78fe,'value':_0x1664da,'targetField':_0x5672ce,'lookupTable':_0xf76eac,'message':'Value\x20\x22'+_0x1664da+'\x22\x20not\x20found\x20in\x20'+_0xf76eac}),_0x3fd292[_0x5672ce]=null);}return _0x3fd292;});return logger[_0x535bad(0x1c9)]({'event':_0x4d7263[_0x535bad(0x1d1)],'totalRows':_0x3f74ae[_0x535bad(0x1b3)],'errorCount':_0x4d3d75['length'],'lookupFieldCount':Object['keys'](_0x43fd04)['length']},_0x4d7263['fmAbt']),{'processedRows':_0x83d0be,'errors':_0x4d3d75};}[a0_0x3ec41d(0x1da)](_0x11ec38,_0x5ec5c3){const _0x3ce976=a0_0x3ec41d,_0x566e8a={'GsxcR':function(_0x4f4d35,_0x5b57e0){return _0x4f4d35!==_0x5b57e0;},'CpHlo':function(_0x1f0e48,_0x1ef526){return _0x1f0e48!==_0x1ef526;}},_0x25e64e=new Set();return _0x11ec38[_0x3ce976(0x1b6)](_0x3c24eb=>{const _0x589491=_0x3ce976,_0x1a6045=_0x3c24eb[_0x5ec5c3];_0x566e8a[_0x589491(0x1b0)](_0x1a6045,null)&&_0x566e8a['CpHlo'](_0x1a6045,undefined)&&_0x566e8a[_0x589491(0x1ab)](_0x1a6045,'')&&_0x25e64e[_0x589491(0x1db)](String(_0x1a6045)['trim']());}),Array['from'](_0x25e64e);}async['validateLookupValues'](_0x2dd5cc,_0x37d649){const _0x2b4f65=a0_0x3ec41d,_0x20255f={'MIZAD':function(_0x14caac,_0x441288){return _0x14caac>_0x441288;}};if(!_0x37d649||Object[_0x2b4f65(0x1bb)](_0x37d649)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3b922f=[],_0x5470ab={};for(const [_0xc16ef1,_0x2e891b]of Object[_0x2b4f65(0x1cf)](_0x37d649)){const {lookupTable:_0x2eec4b,lookupColumn:_0x1c3371,lookupIdColumn:_0x4fbd9c,required:_0x5c05bd}=_0x2e891b,_0x497032=this['getDistinctValues'](_0x2dd5cc,_0xc16ef1),_0x2e3845=await this['loadLookupTable'](_0x2eec4b,_0x1c3371,_0x4fbd9c),_0x30127c=[],_0x1e1bed=[];_0x497032[_0x2b4f65(0x1b6)](_0x2e1f54=>{const _0x251728=_0x2b4f65,_0x198584=this[_0x251728(0x1d7)](_0x2e1f54,_0x2e3845);_0x198584!==null?_0x1e1bed[_0x251728(0x1b2)](_0x2e1f54):_0x30127c[_0x251728(0x1b2)](_0x2e1f54);});if(_0x20255f['MIZAD'](_0x30127c[_0x2b4f65(0x1b3)],0x0)&&_0x5c05bd){_0x3b922f[_0x2b4f65(0x1b2)]({'field':_0xc16ef1,'lookupTable':_0x2eec4b,'invalidValues':_0x30127c,'message':_0x30127c['length']+_0x2b4f65(0x1ba)+_0x2eec4b});const _0x3bb7f9=[];_0x2e3845['forEach']((_0x2f674a,_0x29efa3)=>{if(_0x29efa3===_0x29efa3['toLowerCase']())return;_0x3bb7f9['push'](_0x29efa3);}),_0x5470ab[_0xc16ef1]={'invalidValues':_0x30127c,'availableValues':_0x3bb7f9[_0x2b4f65(0x1c7)](0x0,0x32)};}}return{'valid':_0x3b922f[_0x2b4f65(0x1b3)]===0x0,'errors':_0x3b922f,'suggestions':_0x5470ab};}}module['exports']=new LookupResolver();function a0_0x58af(){const _0x433b33=['r3n4y1i','y2XLyxi','ChvZAa','BgvUz3rO','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZG4nZeYn2TVug10sG','zM9YrwfJAa','C2v0','ndeYmJiYDwj0veLO','BfHpzeC','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','A2v5CW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zvjfsu0','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','zxHLy3v0zvf1zxj5','y2XLyxjdywnOzq','zw1Owfa','mZe4ANP3zxrS','mty5oda4AeXrtMvU','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9VA3vWx3rHyMXLx2XVywrLza','odK2z2XKv2Lm','C2XPy2u','mtyZndiXm0fbAwzPzG','Aw5MBW','mtK1odyXmgzdA0Tztq','Bg9VA3vWq2fJAgu','Dg9vChbLCKnHC2u','Dg9mB3DLCKnHC2u','zw52','zw50CMLLCW','BwvZC2fNzq','EMrRsLa','B3jHy2XL','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','t21zrei','ueDmA0K','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','oeLgEwL6uG','z2v0rgLZDgLUy3rwywX1zxm','ywrK','ndyYyNfoqMLo','Cg9ZDgDYzxnXBa','DhjPBq','q3biBg8','nduXmhforwTKAq','z2v0','tg9VA3vWignHy2HLignSzwfYzwq','iezst00G'];a0_0x58af=function(){return _0x433b33;};return a0_0x58af();}
1
+ function a0_0x529a(){const _0x3ab35a=['Dg9mB3DLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJe4ndK3mLLHr3LtqG','ChjVy2vZC0XVB2T1CezPzwXKCW','z2v0rgLZDgLUy3rwywX1zxm','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtbNsKTODgm','zgvIDwC','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BuP1uxe','mtyYnJK3mMDzD3PuDG','Dg9vChbLCKnHC2u','BgvUz3rO','nZiYodiWmhbKzKvtBq','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','AgfZ','zw50CMLLCW','uM9Rse8','seTvuuW','ChvZAa','z2v0','nZa1mti5nMzrsvHUsW','ndqWndKWm0HYDevdrG','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','DhjPBq','tg9VA3vWihrHyMXLigXVywrLzdOG','sgTLtxe','zeDAC2S','ywrK','nJmZnJCZnvbNtuDuCW','mtq5ntCWBwnLzhHr','z2rOuge','DMfSAwrHDgvmB29RDxbwywX1zxm','zxHWB3j0CW','rwDQC2u','BwfW','zxHLy3v0zvf1zxj5','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','zxjYB3i','B3jHy2XL','C2v0','rgjkzMq','Cg9ZDgDYzxnXBa'];a0_0x529a=function(){return _0x3ab35a;};return a0_0x529a();}function a0_0x8997(_0x15d2fa,_0x2d8605){_0x15d2fa=_0x15d2fa-0xca;const _0x529a34=a0_0x529a();let _0x89979=_0x529a34[_0x15d2fa];if(a0_0x8997['yvNnqm']===undefined){var _0x2bba24=function(_0x83ff16){const _0x3be810='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd3aed9='',_0x347c75='';for(let _0x5817cd=0x0,_0x5b6e25,_0x3d9245,_0x4cc145=0x0;_0x3d9245=_0x83ff16['charAt'](_0x4cc145++);~_0x3d9245&&(_0x5b6e25=_0x5817cd%0x4?_0x5b6e25*0x40+_0x3d9245:_0x3d9245,_0x5817cd++%0x4)?_0xd3aed9+=String['fromCharCode'](0xff&_0x5b6e25>>(-0x2*_0x5817cd&0x6)):0x0){_0x3d9245=_0x3be810['indexOf'](_0x3d9245);}for(let _0x15fa71=0x0,_0x4f649d=_0xd3aed9['length'];_0x15fa71<_0x4f649d;_0x15fa71++){_0x347c75+='%'+('00'+_0xd3aed9['charCodeAt'](_0x15fa71)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x347c75);};a0_0x8997['xmXJbW']=_0x2bba24,a0_0x8997['oRhzgK']={},a0_0x8997['yvNnqm']=!![];}const _0x33e9b9=_0x529a34[0x0],_0x1297d4=_0x15d2fa+_0x33e9b9,_0x172db2=a0_0x8997['oRhzgK'][_0x1297d4];return!_0x172db2?(_0x89979=a0_0x8997['xmXJbW'](_0x89979),a0_0x8997['oRhzgK'][_0x1297d4]=_0x89979):_0x89979=_0x172db2,_0x89979;}const a0_0x381436=a0_0x8997;(function(_0xb3f3c4,_0x36f064){const _0x3309a0=a0_0x8997,_0x54a2bf=_0xb3f3c4();while(!![]){try{const _0x1f9571=parseInt(_0x3309a0(0xdd))/0x1*(-parseInt(_0x3309a0(0xca))/0x2)+parseInt(_0x3309a0(0xee))/0x3+parseInt(_0x3309a0(0xd9))/0x4+parseInt(_0x3309a0(0xf8))/0x5+parseInt(_0x3309a0(0xe1))/0x6+-parseInt(_0x3309a0(0xed))/0x7+-parseInt(_0x3309a0(0xe4))/0x8;if(_0x1f9571===_0x36f064)break;else _0x54a2bf['push'](_0x54a2bf['shift']());}catch(_0x4868a8){_0x54a2bf['push'](_0x54a2bf['shift']());}}}(a0_0x529a,0xda58e));const dbType=(process['env']['DB_TYPE']||a0_0x381436(0xd6))['toLowerCase']();let executeQuery;if(dbType===a0_0x381436(0xd3)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x4a7838,_0x1902e9)=>oracleDb['executeQuery'](_0x4a7838,_0x1902e9);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x381436(0xd1));executeQuery=(_0x39fed2,_0x538def)=>mysqlDb['executeQuery'](_0x39fed2,_0x538def);}else executeQuery=require('../../core/utils/db')[a0_0x381436(0xd0)];}const {logger}=require(a0_0x381436(0xf2));class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x445d6e=a0_0x381436;this[_0x445d6e(0xf1)]['clear'](),logger[_0x445d6e(0xde)]({'event':'lookup_cache_cleared'},_0x445d6e(0xf0));}async['loadLookupTable'](_0x60c66c,_0x38f748,_0x2a5817){const _0x35dbd6=a0_0x381436,_0x1d814f={'dGZsk':function(_0x2588b3,_0x4fd749){return _0x2588b3!==_0x4fd749;}},_0x429f00=_0x60c66c+':'+_0x38f748+':'+_0x2a5817;if(this['lookupCache']['has'](_0x429f00))return this['lookupCache'][_0x35dbd6(0xec)](_0x429f00);try{const _0x3ae577=_0x35dbd6(0xef)+_0x2a5817+',\x20'+_0x38f748+'\x20FROM\x20'+_0x60c66c,_0x3ea2d4=await executeQuery(_0x3ae577),_0x7b1d79=new Map();return _0x3ea2d4['forEach'](_0x668fee=>{const _0x34974b=_0x35dbd6,_0x216d9e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x38f748],undefined)?_0x668fee[_0x38f748]:_0x668fee[_0x38f748[_0x34974b(0xe2)]()],_0x2ada3e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x2a5817],undefined)?_0x668fee[_0x2a5817]:_0x668fee[_0x2a5817['toUpperCase']()];_0x1d814f['dGZsk'](_0x216d9e,null)&&_0x1d814f[_0x34974b(0xf6)](_0x216d9e,undefined)&&(_0x7b1d79['set'](String(_0x216d9e)['toLowerCase']()[_0x34974b(0xf3)](),_0x2ada3e),_0x7b1d79['set'](String(_0x216d9e)[_0x34974b(0xf3)](),_0x2ada3e));}),this['lookupCache'][_0x35dbd6(0xd4)](_0x429f00,_0x7b1d79),logger['info']({'event':'lookup_table_loaded','table':_0x60c66c,'column':_0x38f748,'count':_0x3ea2d4['length']},_0x35dbd6(0xf4)+_0x60c66c),_0x7b1d79;}catch(_0x2897a7){logger[_0x35dbd6(0xd2)]({'event':_0x35dbd6(0xdf),'table':_0x60c66c,'error':_0x2897a7['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x60c66c);throw _0x2897a7;}}[a0_0x381436(0xe5)](_0x4daa3c,_0xae7ff4){const _0x4196e5=a0_0x381436,_0x4aeeaf={'cjSms':function(_0x4b43e8,_0x1b5dc5){return _0x4b43e8===_0x1b5dc5;},'mJuQq':function(_0x2ee6e2,_0x2c51ad){return _0x2ee6e2===_0x2c51ad;}};if(_0x4daa3c===null||_0x4aeeaf['cjSms'](_0x4daa3c,undefined)||_0x4aeeaf[_0x4196e5(0xe0)](_0x4daa3c,''))return null;const _0x1d0625=String(_0x4daa3c)['trim']();if(_0xae7ff4['has'](_0x1d0625))return _0xae7ff4['get'](_0x1d0625);const _0x1430ef=_0x1d0625[_0x4196e5(0xd7)]();if(_0xae7ff4['has'](_0x1430ef))return _0xae7ff4[_0x4196e5(0xec)](_0x1430ef);return null;}async[a0_0x381436(0xda)](_0x55f49c,_0x500b14){const _0x264fca=a0_0x381436,_0x7e433d={'HkeMq':function(_0x2c748e,_0x230e3d){return _0x2c748e===_0x230e3d;},'ZOiuI':function(_0x495f98,_0x528fd5){return _0x495f98===_0x528fd5;},'Egjse':function(_0x22482a,_0x5eba76){return _0x22482a!==_0x5eba76;},'DbJfd':'lookup_fields_processed','HKUQL':_0x264fca(0xdc)};if(!_0x500b14||_0x7e433d[_0x264fca(0xf5)](Object[_0x264fca(0xe6)](_0x500b14)[_0x264fca(0xe3)],0x0))return{'processedRows':_0x55f49c,'errors':[]};const _0x16100=[],_0x4cf36e=new Map();for(const [_0x230a00,_0x3f3d4f]of Object[_0x264fca(0xe8)](_0x500b14)){const {lookupTable:_0x4c3ee9,lookupColumn:_0xb5ba87,lookupIdColumn:_0x149ce7}=_0x3f3d4f,_0x270064=_0x4c3ee9+':'+_0xb5ba87+':'+_0x149ce7;if(!_0x4cf36e[_0x264fca(0xe7)](_0x270064)){const _0xee68ef=await this['loadLookupTable'](_0x4c3ee9,_0xb5ba87,_0x149ce7);_0x4cf36e['set'](_0x270064,_0xee68ef);}}const _0x133dd6=_0x55f49c[_0x264fca(0xcf)]((_0x538089,_0x3ceb1b)=>{const _0x5909f8=_0x264fca,_0x2b6510={..._0x538089};for(const [_0x52a288,_0x3b24d8]of Object[_0x5909f8(0xe8)](_0x500b14)){const {lookupTable:_0x2d581b,lookupColumn:_0x22ebe0,lookupIdColumn:_0x2f1a54,targetField:_0x5d7f47,required:_0x271def}=_0x3b24d8,_0x5bc125=_0x2d581b+':'+_0x22ebe0+':'+_0x2f1a54,_0xb22465=_0x4cf36e['get'](_0x5bc125),_0x3044f5=_0x538089[_0x52a288];if((_0x7e433d['HkeMq'](_0x3044f5,null)||_0x7e433d['ZOiuI'](_0x3044f5,undefined)||_0x3044f5==='')&&!_0x271def){_0x2b6510[_0x5d7f47]=null;continue;}const _0x4e7867=this['resolveLookupValue'](_0x3044f5,_0xb22465);_0x7e433d[_0x5909f8(0xce)](_0x4e7867,null)?_0x2b6510[_0x5d7f47]=_0x4e7867:(_0x271def&&_0x16100[_0x5909f8(0xeb)]({'rowIndex':_0x3ceb1b,'field':_0x52a288,'value':_0x3044f5,'targetField':_0x5d7f47,'lookupTable':_0x2d581b,'message':'Value\x20\x22'+_0x3044f5+'\x22\x20not\x20found\x20in\x20'+_0x2d581b}),_0x2b6510[_0x5d7f47]=null);}return _0x2b6510;});return logger['info']({'event':_0x7e433d[_0x264fca(0xd5)],'totalRows':_0x55f49c[_0x264fca(0xe3)],'errorCount':_0x16100[_0x264fca(0xe3)],'lookupFieldCount':Object['keys'](_0x500b14)['length']},_0x7e433d[_0x264fca(0xea)]),{'processedRows':_0x133dd6,'errors':_0x16100};}[a0_0x381436(0xdb)](_0x5b3297,_0x1355c7){const _0x569d31={'RokHO':function(_0x1ffb1a,_0x388c5f){return _0x1ffb1a!==_0x388c5f;}},_0x3bd5ad=new Set();return _0x5b3297['forEach'](_0x2b03cd=>{const _0x488f20=a0_0x8997,_0x5c9039=_0x2b03cd[_0x1355c7];_0x569d31[_0x488f20(0xe9)](_0x5c9039,null)&&_0x5c9039!==undefined&&_0x5c9039!==''&&_0x3bd5ad[_0x488f20(0xf7)](String(_0x5c9039)[_0x488f20(0xf3)]());}),Array['from'](_0x3bd5ad);}async[a0_0x381436(0xcc)](_0xdbc28,_0x28fb8f){const _0x2a54b6=a0_0x381436,_0x49d8a5={'gdhPa':function(_0x1b1734,_0x156e83){return _0x1b1734!==_0x156e83;},'DnFUD':function(_0x5a6808,_0x568b1d){return _0x5a6808===_0x568b1d;}};if(!_0x28fb8f||_0x49d8a5['DnFUD'](Object['keys'](_0x28fb8f)[_0x2a54b6(0xe3)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x31ed50=[],_0x264cfa={};for(const [_0x58e898,_0x383306]of Object['entries'](_0x28fb8f)){const {lookupTable:_0xc3166a,lookupColumn:_0x4273b7,lookupIdColumn:_0x1f2119,required:_0x1be197}=_0x383306,_0x59883c=this[_0x2a54b6(0xdb)](_0xdbc28,_0x58e898),_0x15da46=await this['loadLookupTable'](_0xc3166a,_0x4273b7,_0x1f2119),_0x574faf=[],_0x3ab479=[];_0x59883c['forEach'](_0x292915=>{const _0x427fa3=_0x2a54b6,_0x565b10=this[_0x427fa3(0xe5)](_0x292915,_0x15da46);_0x49d8a5[_0x427fa3(0xcb)](_0x565b10,null)?_0x3ab479[_0x427fa3(0xeb)](_0x292915):_0x574faf['push'](_0x292915);});if(_0x574faf[_0x2a54b6(0xe3)]>0x0&&_0x1be197){_0x31ed50[_0x2a54b6(0xeb)]({'field':_0x58e898,'lookupTable':_0xc3166a,'invalidValues':_0x574faf,'message':_0x574faf[_0x2a54b6(0xe3)]+_0x2a54b6(0xd8)+_0xc3166a});const _0x4f0942=[];_0x15da46['forEach']((_0x51c423,_0x5dc1e1)=>{const _0x4f47e7=_0x2a54b6;if(_0x5dc1e1===_0x5dc1e1[_0x4f47e7(0xd7)]())return;_0x4f0942[_0x4f47e7(0xeb)](_0x5dc1e1);}),_0x264cfa[_0x58e898]={'invalidValues':_0x574faf,'availableValues':_0x4f0942['slice'](0x0,0x32)};}}return{'valid':_0x31ed50['length']===0x0,'errors':_0x31ed50,'suggestions':_0x264cfa};}}module[a0_0x381436(0xcd)]=new LookupResolver();