@restforgejs/platform 4.2.8 → 4.3.2

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 (325) 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/payload/payload-runner.js +1 -1
  25. package/generators/lib/templates/dashboard-catalog.js +1 -437
  26. package/generators/lib/templates/db-connection-env.js +1 -212
  27. package/generators/lib/templates/dbschema-catalog.js +1 -489
  28. package/generators/lib/templates/field-validation-catalog.js +1 -531
  29. package/generators/lib/templates/mysql-template.js +1 -3863
  30. package/generators/lib/templates/oracle-template.js +1 -3915
  31. package/generators/lib/templates/postgres-template.js +1 -5838
  32. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  33. package/generators/lib/templates/sqlite-template.js +1 -3440
  34. package/generators/lib/utils/env-manager.js +6 -0
  35. package/generators/lib/utils/path-validator.js +71 -0
  36. package/generators/lib/validators/payload-validator.js +1 -2
  37. package/integrity-manifest.json +28 -10
  38. package/package.json +11 -3
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
  191. package/generators/metadata/global.json +0 -58
  192. package/generators/metadata/test-mysql-workbench.json +0 -118
  193. package/generators/metadata/test-mysql.json +0 -56
  194. package/generators/metadata/test-oracle-workbench.json +0 -118
  195. package/generators/metadata/test-oracle.json +0 -56
  196. package/generators/metadata/test-pg-workbench.json +0 -118
  197. package/generators/metadata/test-pg.json +0 -56
  198. package/generators/scripts/obfuscate-source.js +0 -356
  199. package/generators/scripts/validate-catalog.js +0 -430
  200. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  203. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  206. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  209. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  210. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  211. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  212. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  213. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  214. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  215. package/generators/tests/integration-tahap4b/README.md +0 -145
  216. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  217. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  218. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  219. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  220. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  221. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  222. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  223. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  224. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  231. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  244. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  245. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  246. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  247. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  252. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  253. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  256. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  300. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  301. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  302. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  303. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  304. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  305. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  306. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  307. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  308. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  309. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  310. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  311. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  312. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  313. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  314. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  315. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  316. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  317. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  318. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  319. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  320. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  321. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  322. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  323. package/scripts/generate-integrity-manifest.js +0 -124
  324. package/scripts/snapshot-cli-contracts.js +0 -194
  325. 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_0x40da10=a0_0x5098;(function(_0x42ee66,_0x5e877c){const _0x424d79=a0_0x5098,_0x455aed=_0x42ee66();while(!![]){try{const _0x29f41a=parseInt(_0x424d79(0x16e))/0x1*(parseInt(_0x424d79(0x189))/0x2)+parseInt(_0x424d79(0x1d4))/0x3+parseInt(_0x424d79(0x203))/0x4+parseInt(_0x424d79(0x190))/0x5*(-parseInt(_0x424d79(0x166))/0x6)+-parseInt(_0x424d79(0x180))/0x7+-parseInt(_0x424d79(0x182))/0x8*(-parseInt(_0x424d79(0x174))/0x9)+-parseInt(_0x424d79(0x1ab))/0xa;if(_0x29f41a===_0x5e877c)break;else _0x455aed['push'](_0x455aed['shift']());}catch(_0x5d12a4){_0x455aed['push'](_0x455aed['shift']());}}}(a0_0x81ef,0x96f67));const {v7:uuidv7}=require('uuid'),path=require(a0_0x40da10(0x1f5)),fs=require('fs')['promises'],redisHelper=require(a0_0x40da10(0x202)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x40da10(0x1a4)][a0_0x40da10(0x19b)]||a0_0x40da10(0x1e3))[a0_0x40da10(0x1ec)]();function a0_0x81ef(){const _0x5c6a6b=['uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','EufRwha','lI9PBxbVCNqTDMfSAwrHDg9Y','BNvTyMvY','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2vKuM93CW','D1zfAfq','yNvPBgrcyxrJAfvWzgf0zq','C2v0','zgvMyxvSDa','CM93CW','y2H1BMTsB3DZ','rMjWEfq','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','te1ruwO','DMfSDwvZ','mJK0mda5nMfWtxnPCW','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','Dg9vChbLCKnHC2u','u0Ppz20','y29TBwL0x3bYB2nLC3nFzxjYB3i','EuD0wwC','z2v0sM9I','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','z2v0vgLTzq','DxbSB2fKoG','B3jHy2XL','x2v4Axn0Aw5Nswq','y3jLyxrLuhjLDMLLD0PVyG','zgvIDwC','CgHNuw8','Cg9ZDgDYzxnXBa','C2L6zq','y29TBwL0x2PVyL9MywLSzwq','Dg9ju09tDhjPBMC','y291BNq','C3rYAw5N','x2DLBMvYyxrLzf91DwLK','CgfYC2vfEgnLBezPBgu','BgvUz3rO','Dg9mB3DLCKnHC2u','cIaGicaGicaGu0vmrunuia','y29TBwL0x2PVyL9JB21WBgv0zwq','lI9LEgnLBc1WyxjZzxi','Dw5SAw5R','ywjyrey','zMLSzv9JBgvHBNvWx2vYCM9Y','DhLWzq','zgTQuuW','Cgf0Aa','Aw5Zzxj0x29UBhK','C1LIvxC','EevPDNi','zxHLy3v0zvf1zxj5','DxbKyxrL','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','z2v0sM9Iu3rHDhvZ','Aw5MBW','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','C3rHDhvZ','tLvmta','CgfKu3rHCNq','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','nZq3mtqWz2fSB3zT','BwfW','Aw5KzxHpzG','su5trvju','zM9YrwfJAa','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','EgXoDeC','DgvZDa','vvbeqvrf','C2v0sM9I','mteWngPewxPbqq','q29TBwL0igPVyIbJCMvHDgvK','ChjLDMLLD19VAW','yvjsvMu','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','AM9PBG','q29TBwL0igPVyIbMywLSzwq','Bwf0y2G','nZu1mJnHCLfOtfm','wMf5B1G','tu1Ou3O','y29SDw1UrM9YBwf0CW','zMLSDgvY','yMf0y2HwywXPzgf0zvjVD3m','ntu5mduZDwXRBvjr','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','rhvWBgLJyxrLihzHBhvLigzVCIa','C2TPCf9LEgLZDgLUzW','qwz6uvu','zMLLBgroyw1L','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','B3jPz2LUywXUyw1L','DhjPBq','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','lI4VlI4Vy29Yzs91DgLSCY9KyG','CM93sw5KzxG','mtKZmdeZmvPYENvTCW','BhvWDfC','ndHouKjjDMe','z2vUzxjHDgvjza','C3vIC3rYAw5N','y3jLyxrLzf9HDa','zMLUza','zvPzCLq','AM9IoG','mtruAM90wue','igf0ihjVDYa','t3v2tgW','tenqAuS','C3fS','zxjYB3jZ','BwvZC2fNzq','nZC4mhbgt2PYra','ieLoicG','x2fJDgLVBG','EuzKt0m','y3jLyxrLq29TBwL0sM9I','whj4wvK','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','zfLbBfm','A2v5CW','qvL1zKS','ChvZAa','rejFvfLqrq','z2v0','BgLRwKq','x3vWBg9HzerPCG','Efvpvxa','zxHLy3v0zvrYyw5Zywn0Aw9U','y29TBwL0x2PVyL9JCMvHDgvK','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','u0Tjua','zw52','kqOGicaGica','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','uhjLDMLLDYbQB2iGzMfPBgvK','BwLZC2LUz0zPzwXKCW','DxbSB2fKx2LK','odG3odaWmgPIDMHnuG','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChjVy2vZC2LUzW','CwjIu3u','AuvLs3C','ruPeAK0','ChjVy2vZC0nVBw1PDePVyG','Du1MBwy','yNvPBgrmywjLBfrVrMLLBgrnyxa','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DhjZt2O','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','C2XPy2u','ChjLDMLLD19QB2jFzMfPBgvK','AgvHzgvYC19TyxbWzwq','wNHUuvy','x2vYCM9YCW','vLbVEvi','zMfPBgvK','CgnQA0C','AM9Ix2LK','CMvWBgfJzq','AffJwKS','vvD5D3O'];a0_0x81ef=function(){return _0x5c6a6b;};return a0_0x81ef();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../database/db-oracle'),executeQuery=(_0x376612,_0x222b9f)=>oracleDb['executeQuery'](_0x376612,_0x222b9f),executeTransaction=_0x5c26a4=>oracleDb['executeTransaction'](_0x5c26a4);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40da10(0x1db));executeQuery=(_0x4918d9,_0x104317)=>mysqlDb[a0_0x40da10(0x1f9)](_0x4918d9,_0x104317),executeTransaction=_0xfd77f2=>mysqlDb[a0_0x40da10(0x1a0)](_0xfd77f2);}else{const db=require(a0_0x40da10(0x17e));executeQuery=db[a0_0x40da10(0x1f9)],executeTransaction=db[a0_0x40da10(0x1a0)];}}const excelParser=require(a0_0x40da10(0x1ef)),importValidator=require(a0_0x40da10(0x1c6)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x40da10(0x1b6));class ImportService{constructor(){const _0x3f0134=a0_0x40da10;this[_0x3f0134(0x19e)]=null;}get['uploadDir'](){const _0x35da1e=a0_0x40da10;if(!this[_0x35da1e(0x19e)]){const _0x59112c=process['env'][_0x35da1e(0x1c3)]||_0x35da1e(0x1cd);this[_0x35da1e(0x19e)]=process[_0x35da1e(0x1a4)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x59112c);}return this[_0x35da1e(0x19e)];}['generateId'](){const _0x4baa9d=a0_0x40da10,_0x19d153={'ORgvg':function(_0x44e1ee){return _0x44e1ee();},'abXDF':function(_0x3094a5,_0xde208e){return _0x3094a5+_0xde208e;},'ZxnQV':function(_0x224f02,_0x28d543){return _0x224f02<_0x28d543;},'sxtiU':function(_0x5cfbef,_0x9dce29){return _0x5cfbef*_0x9dce29;}},_0xf79f2d=_0x4baa9d(0x1a6),_0x2f1c81=Date['now']()['toString'](0x24),_0xda77a9=_0x19d153['ORgvg'](uuidv7)['replace'](/-/g,'')[_0x4baa9d(0x184)](0x0,0xc-_0x2f1c81['length']),_0x32086a=_0x19d153[_0x4baa9d(0x1f1)](_0x2f1c81,_0xda77a9)['substring'](0x0,0xc);let _0x3d6013='';for(let _0x46afdb=0x0;_0x19d153[_0x4baa9d(0x1ba)](_0x46afdb,0xc);_0x46afdb++){_0x32086a[_0x46afdb]?_0x3d6013+=_0x32086a[_0x46afdb]:_0x3d6013+=_0xf79f2d['charAt'](Math['floor'](_0x19d153['sxtiU'](Math['random'](),_0xf79f2d[_0x4baa9d(0x1eb)])));}return _0x3d6013;}[a0_0x40da10(0x1b3)](_0x511a37){const _0xeebc5=a0_0x40da10,_0x20c446={'hQcZK':'$1_$2','eZYrT':'label_to_field_map_built','FHcCN':'Label\x20to\x20field\x20mapping\x20built'},_0x3d2446=new Map();if(!_0x511a37)return _0x3d2446;return Object['entries'](_0x511a37)[_0xeebc5(0x160)](([_0x4bbd01,_0x132ad0])=>{const _0x147d1a=_0xeebc5,_0x1633bc=String(_0x132ad0)[_0x147d1a(0x17c)]()['replace'](/\s+/g,'_')[_0x147d1a(0x1c0)](/([a-z])([A-Z])/g,_0x20c446['hQcZK'])[_0x147d1a(0x1c0)](/([A-Z]+)([A-Z][a-z])/g,_0x20c446[_0x147d1a(0x1c1)])[_0x147d1a(0x1ec)]();_0x3d2446['set'](_0x1633bc,_0x4bbd01);}),logger[_0xeebc5(0x1e1)]({'event':_0x20c446[_0xeebc5(0x187)],'mappingCount':_0x3d2446[_0xeebc5(0x1e4)]},_0x20c446['FHcCN']),_0x3d2446;}[a0_0x40da10(0x1ac)](_0x17e61b,_0x24435c){const _0x1a630d={'AxvqV':function(_0x356c38,_0x523b10){return _0x356c38===_0x523b10;},'VPoyR':function(_0x4de347,_0x1bdf3c){return _0x4de347===_0x1bdf3c;},'oiOyU':'date'};if(!_0x24435c||Object['keys'](_0x24435c)['length']===0x0)return _0x17e61b;return _0x17e61b['map'](_0x24771f=>{const _0x1e5a01=a0_0x5098,_0x43ce63={..._0x24771f};for(const [_0x4488c6,_0x595991]of Object['entries'](_0x24435c)){const _0x47bdb4=_0x43ce63[_0x4488c6];if(_0x47bdb4===null||_0x1a630d['AxvqV'](_0x47bdb4,undefined)||_0x1a630d[_0x1e5a01(0x1bc)](_0x47bdb4,'')){_0x43ce63[_0x4488c6]=null;continue;}switch(_0x595991[_0x1e5a01(0x1f3)]){case _0x1a630d['oiOyU']:_0x43ce63[_0x4488c6]=this[_0x1e5a01(0x1a2)](_0x47bdb4);break;case'number':_0x43ce63[_0x4488c6]=this['formatNumberForDatabase'](_0x47bdb4);break;case'text':_0x43ce63[_0x4488c6]=String(_0x47bdb4);break;default:break;}}return _0x43ce63;});}[a0_0x40da10(0x1a2)](_0x240bee){const _0x598bb7=a0_0x40da10,_0x366240={'wKXbZ':function(_0x5323e3,_0x2c445c){return _0x5323e3===_0x2c445c;},'xupaq':'string','QwGWG':function(_0x2084d0,_0x50903f){return _0x2084d0 instanceof _0x50903f;},'LMQQj':function(_0x2e1e4e,_0x50f04b){return _0x2e1e4e(_0x50f04b);},'phgQo':function(_0x3da036,_0x152fb7){return _0x3da036+_0x152fb7;},'AfzQU':function(_0xce7b1b,_0x3eadb3){return _0xce7b1b(_0x3eadb3);}};if(_0x366240['wKXbZ'](_0x240bee,null)||_0x240bee===undefined||_0x240bee==='')return null;if(typeof _0x240bee===_0x366240['xupaq']&&/^\d{4}-\d{2}-\d{2}$/[_0x598bb7(0x163)](_0x240bee))return _0x240bee;if(_0x366240['QwGWG'](_0x240bee,Date)){if(_0x366240['LMQQj'](isNaN,_0x240bee[_0x598bb7(0x1dc)]()))return null;const _0x2c3d21=_0x240bee['getFullYear'](),_0x42a08e=String(_0x366240[_0x598bb7(0x1e2)](_0x240bee['getMonth'](),0x1))[_0x598bb7(0x201)](0x2,'0'),_0x1cd660=_0x366240[_0x598bb7(0x1d2)](String,_0x240bee['getDate']())['padStart'](0x2,'0');return _0x2c3d21+'-'+_0x42a08e+'-'+_0x1cd660;}if(typeof _0x240bee===_0x598bb7(0x1e8)){const _0x2772df=_0x240bee[_0x598bb7(0x16d)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x2772df){const _0x259000=String(_0x2772df[0x1])[_0x598bb7(0x201)](0x2,'0'),_0x4b64b7=_0x366240['LMQQj'](String,_0x2772df[0x2])['padStart'](0x2,'0'),_0x3fa16f=_0x2772df[0x3];return _0x3fa16f+'-'+_0x4b64b7+'-'+_0x259000;}const _0x39a8d5=_0x240bee[_0x598bb7(0x16d)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x39a8d5){const _0x1fd85a=_0x39a8d5[0x1],_0x41f416=_0x366240[_0x598bb7(0x178)](String,_0x39a8d5[0x2])[_0x598bb7(0x201)](0x2,'0'),_0x527ca8=String(_0x39a8d5[0x3])['padStart'](0x2,'0');return _0x1fd85a+'-'+_0x41f416+'-'+_0x527ca8;}}return _0x240bee;}[a0_0x40da10(0x17d)](_0x4706d7){const _0x94ad5e=a0_0x40da10,_0x2819a1={'UWywz':function(_0x5dd517,_0x427098){return _0x5dd517===_0x427098;},'dYAlS':function(_0xe12a9a,_0x49de02){return _0xe12a9a===_0x49de02;},'SJOgm':function(_0x31af97,_0x3df097){return _0x31af97===_0x3df097;},'GddBV':_0x94ad5e(0x1c7),'xUOUp':function(_0x2c0ba7,_0x13c532){return _0x2c0ba7===_0x13c532;}};if(_0x2819a1[_0x94ad5e(0x1c2)](_0x4706d7,null)||_0x2819a1['dYAlS'](_0x4706d7,undefined)||_0x2819a1[_0x94ad5e(0x1d7)](_0x4706d7,''))return null;if(_0x2819a1[_0x94ad5e(0x197)](typeof _0x4706d7,_0x2819a1['GddBV']))return isNaN(_0x4706d7)?null:_0x4706d7;if(_0x2819a1[_0x94ad5e(0x19f)](typeof _0x4706d7,'string')){let _0x30b7e7=_0x4706d7[_0x94ad5e(0x17c)]();const _0x3f6219=/,\d{1,2}$/['test'](_0x30b7e7)&&!/,\d{3}/[_0x94ad5e(0x163)](_0x30b7e7);_0x3f6219?_0x30b7e7=_0x30b7e7[_0x94ad5e(0x1c0)](/\./g,'')['replace'](',','.'):_0x30b7e7=_0x30b7e7[_0x94ad5e(0x1c0)](/,/g,'');const _0x9356b5=parseFloat(_0x30b7e7);return isNaN(_0x9356b5)?null:_0x9356b5;}return null;}async['uploadFile'](_0xbdc45f,_0x23a486){const _0x369b25=a0_0x40da10,_0x3b6b05={'HXFBW':function(_0x4ff7d1,_0x46c478){return _0x4ff7d1||_0x46c478;},'uBoqu':_0x369b25(0x1b9),'xEivr':function(_0x3c043d,_0x5a5d3f){return _0x3c043d>_0x5a5d3f;},'wVEhT':function(_0x3e04e7,_0x40de9c,_0x5e3284,_0x120f36){return _0x3e04e7(_0x40de9c,_0x5e3284,_0x120f36);}},_0x4f4186=this[_0x369b25(0x183)]();try{let {headers:_0x39d627,rows:_0x2cba0e,totalRows:_0x54452b}=await excelParser[_0x369b25(0x1ea)](_0xbdc45f[_0x369b25(0x1f5)]);const _0x5391c6=this[_0x369b25(0x1b3)](_0x23a486['fieldLabels']),_0x123b90=_0x39d627['map'](_0x1dda03=>{const _0x372851=_0x369b25,_0x2d8839=_0x5391c6[_0x372851(0x19c)](_0x1dda03);return _0x3b6b05['HXFBW'](_0x2d8839,_0x1dda03);});_0x2cba0e=_0x2cba0e[_0x369b25(0x204)](_0x5e8ee0=>{const _0x5227e3={};return _0x39d627['forEach']((_0x2a034f,_0x1eaeac)=>{const _0x372e08=_0x123b90[_0x1eaeac];_0x5227e3[_0x372e08]=_0x5e8ee0[_0x2a034f];}),_0x5227e3;}),_0x39d627=_0x123b90,logger[_0x369b25(0x1e1)]({'event':_0x3b6b05['uBoqu'],'original':_0x39d627['length'],'mapped':_0x123b90[_0x369b25(0x172)]((_0x18a5cf,_0x1450af)=>_0x18a5cf!==_0x39d627[_0x1450af])[_0x369b25(0x1eb)]},_0x369b25(0x196));_0x23a486[_0x369b25(0x171)]&&_0x3b6b05[_0x369b25(0x1f8)](Object['keys'](_0x23a486['columnFormats'])[_0x369b25(0x1eb)],0x0)&&(_0x2cba0e=this['applyColumnFormats'](_0x2cba0e,_0x23a486['columnFormats']),logger[_0x369b25(0x1e1)]({'event':_0x369b25(0x1c8),'formatCount':Object[_0x369b25(0x198)](_0x23a486['columnFormats'])[_0x369b25(0x1eb)],'formats':Object[_0x369b25(0x198)](_0x23a486[_0x369b25(0x171)])},'Column\x20formats\x20applied\x20to\x20rows'));const _0x943f93=_0x23a486['lookupFields']?Object[_0x369b25(0x1d3)](_0x23a486['lookupFields'])[_0x369b25(0x204)](_0x387e91=>_0x387e91['targetField']):[],_0x447d3d=_0x23a486[_0x369b25(0x179)][_0x369b25(0x172)](_0x24e590=>!_0x943f93['includes'](_0x24e590)),_0x332307=excelParser[_0x369b25(0x1b4)](_0x39d627,_0x447d3d);if(!_0x332307['valid']){await fs[_0x369b25(0x1f0)](_0xbdc45f['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x332307[_0x369b25(0x1a9)][_0x369b25(0x16b)](',\x20'));}const _0x15d80a={'upload_id':_0x4f4186,'filename':_0xbdc45f[_0x369b25(0x17b)],'total_rows':_0x54452b,'headers':_0x39d627,'rows':_0x2cba0e,'params':_0x23a486,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x4f4186,_0x15d80a,0xe10),await fs[_0x369b25(0x1f0)](_0xbdc45f[_0x369b25(0x1f5)]),logger[_0x369b25(0x1fd)]({'event':'import_file_uploaded','uploadId':_0x4f4186,'filename':_0xbdc45f['originalname'],'totalRows':_0x54452b},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x4f4186,'total_rows':_0x54452b,'preview':_0x2cba0e['slice'](0x0,0xa)};}catch(_0x1f5e4f){try{await fs[_0x369b25(0x1f0)](_0xbdc45f['path']);}catch(_0x374f4a){_0x3b6b05[_0x369b25(0x1ca)](logError,_0x374f4a,{'event':_0x369b25(0x1f2)},'Failed\x20to\x20cleanup\x20file');}throw _0x1f5e4f;}}async[a0_0x40da10(0x1e0)](_0x177589){const _0xc243bd=a0_0x40da10,_0x5e0dc9={'BCtIV':function(_0x1a3c48,_0x38bb13,_0xcf4f0c,_0x6ff1ad){return _0x1a3c48(_0x38bb13,_0xcf4f0c,_0x6ff1ad);},'dMaqM':'Preview\x20processing\x20failed','aRRVe':'preview_job_created','DDXAc':'validating'},_0x1fa9d5=this[_0xc243bd(0x183)](),_0x5ccd05=await redisHelper['getJob']('upload:'+_0x177589);if(!_0x5ccd05)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x85dbb1={'job_id':_0x1fa9d5,'upload_id':_0x177589,'status':'validating','progress':0x0,'created_at':new Date()[_0xc243bd(0x1e6)](),'params':_0x5ccd05['params']};return await redisHelper['setJob']('job:'+_0x1fa9d5,_0x85dbb1,0xe10),logger['info']({'event':_0x5e0dc9[_0xc243bd(0x169)],'jobId':_0x1fa9d5,'uploadId':_0x177589},'Preview\x20job\x20created'),this['processPreviewJob'](_0x1fa9d5,_0x177589,_0x5ccd05)['catch'](_0x24ae66=>{_0x5e0dc9['BCtIV'](logError,_0x24ae66,{'event':'preview_process_error','jobId':_0x1fa9d5},_0x5e0dc9['dMaqM']);}),{'job_id':_0x1fa9d5,'status':_0x5e0dc9['DDXAc']};}[a0_0x40da10(0x1c4)](_0x2e5a95,_0x31d6f9){const _0x1faa82={'xlNtG':function(_0x125c74,_0x51f87c){return _0x125c74===_0x51f87c;}};_0x2e5a95['forEach']((_0x1bab9b,_0x451174)=>{const _0x8e385b={'XrxYY':function(_0x2ba85f,_0x422a63){const _0x245850=a0_0x5098;return _0x1faa82[_0x245850(0x162)](_0x2ba85f,_0x422a63);},'kVQYE':function(_0x2dc1b8,_0x394028){return _0x2dc1b8(_0x394028);},'ZayoX':function(_0x472587){return _0x472587();},'MMhSz':function(_0x6cab9a,_0x383df0){return _0x6cab9a+_0x383df0;}};_0x31d6f9['forEach'](_0x4bc68e=>{const _0x10eed1=a0_0x5098,_0x2e396e=_0x1bab9b[_0x4bc68e];if(_0x2e396e===null||_0x2e396e===undefined||_0x8e385b[_0x10eed1(0x195)](_0x2e396e,'')||_0x8e385b['kVQYE'](String,_0x2e396e)[_0x10eed1(0x17c)]()==='-'){const _0x575f09=_0x8e385b[_0x10eed1(0x16f)](uuidv7);_0x1bab9b[_0x4bc68e]=_0x575f09,_0x1bab9b['_generated_uuid']=_0x1bab9b[_0x10eed1(0x1e9)]||{},_0x1bab9b[_0x10eed1(0x1e9)][_0x4bc68e]=_0x575f09,logger[_0x10eed1(0x1e1)]({'event':'uuid_auto_generated','rowIndex':_0x451174,'field':_0x4bc68e,'uuid':_0x575f09},_0x10eed1(0x1d5)+_0x4bc68e+_0x10eed1(0x18a)+_0x8e385b[_0x10eed1(0x170)](_0x451174,0x2));}});});}async['processPreviewJob'](_0x535e68,_0x328806,_0x463fa3){const _0x4842e7=a0_0x40da10,_0x587f15={'sYbUw':function(_0x1dffce,_0x58c3e3){return _0x1dffce===_0x58c3e3;},'QgssY':function(_0x4fcae1,_0x576a43){return _0x4fcae1===_0x576a43;},'FrCHm':'SKIP','JAweV':'processing_lookup_fields','UGyPS':_0x4842e7(0x1d1),'tOYrj':function(_0x49b4da,_0x14b6f9){return _0x49b4da>_0x14b6f9;},'YDQaS':'preview_error','txDZK':'preview_ok','APrrK':'Preview\x20job\x20completed','luptW':_0x4842e7(0x1a8)};try{let {rows:_0x3c3f0d,params:_0x5316c4}=_0x463fa3;const {requiredFields:_0x59265e,validations:_0x14fe51,upsertKeys:_0x48627b,tableName:_0x593b62,primaryKey:_0x4a5b81,fieldName:_0x563586,upsertStrategy:_0x4ee1cb,lookupFields:_0x3b424d}=_0x5316c4;this[_0x4842e7(0x1c4)](_0x3c3f0d,_0x48627b);let _0x2cb00a=[];if(_0x3b424d&&Object[_0x4842e7(0x198)](_0x3b424d)[_0x4842e7(0x1eb)]>0x0){logger['info']({'event':_0x587f15['JAweV'],'jobId':_0x535e68,'lookupFieldCount':Object[_0x4842e7(0x198)](_0x3b424d)[_0x4842e7(0x1eb)]},_0x587f15['UGyPS']);const _0x3db176=await lookupResolver['processLookupFields'](_0x3c3f0d,_0x3b424d);_0x3c3f0d=_0x3db176[_0x4842e7(0x1c9)],_0x2cb00a=_0x3db176[_0x4842e7(0x18e)],_0x463fa3[_0x4842e7(0x1ce)]=_0x3c3f0d;}const _0xbcdf30=importValidator[_0x4842e7(0x173)](_0x3c3f0d,_0x59265e||[],_0x14fe51||{});_0x2cb00a['forEach'](_0x376451=>{const _0x5a7b35=_0x4842e7,_0x4d425f=_0xbcdf30[_0x5a7b35(0x186)](_0x1b566c=>_0x1b566c['rowIndex']===_0x376451['rowIndex']);_0x4d425f?_0x4d425f['errors']['push'](_0x376451[_0x5a7b35(0x18f)]):_0xbcdf30[_0x5a7b35(0x19a)]({'rowIndex':_0x376451['rowIndex'],'rowData':_0x3c3f0d[_0x376451['rowIndex']],'errors':[_0x376451['message']]});});const _0xa107db=importValidator[_0x4842e7(0x1a7)](_0x3c3f0d,_0x48627b);_0xa107db['forEach'](_0x4ee59c=>{const _0x2218e1=_0x4842e7,_0x4aaed1=_0xbcdf30['find'](_0x4efcf4=>_0x4efcf4['rowIndex']===_0x4ee59c['rowIndex']),_0x166d36=_0x48627b['map'](_0x3f99ba=>_0x3f99ba[_0x2218e1(0x1d6)]())[_0x2218e1(0x16b)](',\x20'),_0xc677a1=_0x2218e1(0x176)+_0x166d36;_0x4aaed1?_0x4aaed1[_0x2218e1(0x18e)]['push'](_0xc677a1):_0xbcdf30[_0x2218e1(0x19a)]({'rowIndex':_0x4ee59c[_0x2218e1(0x17f)],'rowData':_0x3c3f0d[_0x4ee59c['rowIndex']],'errors':[_0xc677a1]});}),await this['detectDatabaseDuplicates'](_0x3c3f0d,_0x48627b,_0x593b62,_0x4a5b81,_0x4ee1cb,_0xbcdf30),_0xbcdf30[_0x4842e7(0x160)](_0x449162=>{const _0x3c7fec=_0x4842e7,_0x5ba40c=_0x3c3f0d[_0x449162['rowIndex']];_0x5ba40c&&(_0x5ba40c[_0x3c7fec(0x1bb)]=_0x449162[_0x3c7fec(0x18e)]);});let _0x45f054=0x0,_0x68e300=0x0,_0x1574e1=0x0;_0x3c3f0d['forEach'](_0x265eeb=>{const _0x187c07=_0x4842e7;if(_0x587f15[_0x187c07(0x1f7)](_0x265eeb[_0x187c07(0x192)],'INSERT'))_0x45f054++;else{if(_0x265eeb[_0x187c07(0x192)]==='UPDATE')_0x68e300++;else _0x587f15['QgssY'](_0x265eeb['_action'],_0x587f15['FrCHm'])&&_0x1574e1++;}});const _0x579c66={'job_id':_0x535e68,'upload_id':_0x328806,'status':_0x587f15['tOYrj'](_0xbcdf30[_0x4842e7(0x1eb)],0x0)?_0x587f15['YDQaS']:_0x587f15['txDZK'],'progress':0x64,'created_at':_0x463fa3[_0x4842e7(0x185)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x3c3f0d[_0x4842e7(0x1eb)],'insert_count':_0x45f054,'update_count':_0x68e300,'skip_count':_0x1574e1,'error_count':_0xbcdf30[_0x4842e7(0x1eb)],'errors':_0xbcdf30,'data':_0x3c3f0d,'sample_insert':_0x3c3f0d['filter'](_0x250c72=>_0x250c72[_0x4842e7(0x192)]===_0x4842e7(0x15f))[_0x4842e7(0x1b7)](0x0,0x5),'sample_update':_0x3c3f0d[_0x4842e7(0x172)](_0x4be5ab=>_0x4be5ab['_action']===_0x4842e7(0x164))['slice'](0x0,0x5),'sample_skip':_0x3c3f0d[_0x4842e7(0x172)](_0xa97a4e=>_0xa97a4e[_0x4842e7(0x192)]==='SKIP')[_0x4842e7(0x1b7)](0x0,0x5)},'params':_0x5316c4};await redisHelper[_0x4842e7(0x165)](_0x4842e7(0x188)+_0x535e68,_0x579c66,0xe10),_0x463fa3['rows']=_0x3c3f0d,await redisHelper['setJob']('upload:'+_0x328806,_0x463fa3,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x535e68,'status':_0x579c66['status'],'insertCount':_0x45f054,'updateCount':_0x68e300,'skipCount':_0x1574e1,'errorCount':_0xbcdf30['length']},_0x587f15['APrrK']);}catch(_0x2708d3){logError(_0x2708d3,{'event':_0x4842e7(0x1b8),'jobId':_0x535e68},_0x587f15[_0x4842e7(0x181)]),await redisHelper[_0x4842e7(0x165)](_0x4842e7(0x188)+_0x535e68,{'job_id':_0x535e68,'upload_id':_0x328806,'status':_0x4842e7(0x1bd),'progress':0x0,'error':_0x2708d3['message'],'created_at':new Date()[_0x4842e7(0x1e6)](),'completed_at':new Date()[_0x4842e7(0x1e6)]()},0xe10);}}async[a0_0x40da10(0x1fe)](_0x2e4350,_0x2de06a,_0x137e5e,_0x23ccb0,_0x413bc1='update_existing',_0x39d6bc=[]){const _0x1f4cad=a0_0x40da10,_0x3fffe5={'ZTZuS':function(_0x1db42d,_0x878bf0){return _0x1db42d===_0x878bf0;},'uMfmf':function(_0x28335f,_0x47dc65){return _0x28335f===_0x47dc65;},'ZFDVg':_0x1f4cad(0x200),'cGeLz':function(_0x50dd87,_0x4ef3ef){return _0x50dd87(_0x4ef3ef);},'tvhqp':'update_existing','trsOj':function(_0x43c9d7,_0x1dd618){return _0x43c9d7===_0x1dd618;},'OuvLl':_0x1f4cad(0x1a3),'gLfXs':function(_0x33a3ff,_0x5ec995){return _0x33a3ff!==_0x5ec995;},'likZD':'skip_existing','FbpxT':'INSERT','YBilc':function(_0x55eedc,_0x5ca15b){return _0x55eedc===_0x5ca15b;},'QfYia':_0x1f4cad(0x1de),'iEeKw':function(_0x4a9c68,_0x2e46e3){return _0x4a9c68>_0x2e46e3;}},_0x1fc1a6=upsertBuilder['chunkRows'](_0x2e4350,0x64);for(const _0x4f6a78 of _0x1fc1a6){const _0x43abd0=_0x4f6a78['map'](_0x2ef9ba=>_0x2ef9ba[_0x2de06a[0x0]]),_0x3c1409=_0x43abd0[_0x1f4cad(0x204)](_0x5a3848=>{const _0x5e0e6c=_0x1f4cad;if(_0x3fffe5['ZTZuS'](_0x5a3848,null)||_0x3fffe5[_0x5e0e6c(0x1b2)](_0x5a3848,undefined))return _0x3fffe5['ZFDVg'];return'\x27'+_0x3fffe5['cGeLz'](String,_0x5a3848)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x6a1fd=_0x1f4cad(0x1ed)+_0x23ccb0+',\x20'+_0x2de06a[_0x1f4cad(0x16b)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x137e5e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x2de06a[0x0]+_0x1f4cad(0x191)+_0x3c1409['join'](',\x20')+_0x1f4cad(0x1a5);let _0x5873b3=await executeQuery(_0x6a1fd);dbType===_0x3fffe5['QfYia']&&_0x5873b3&&_0x3fffe5[_0x1f4cad(0x1af)](_0x5873b3['length'],0x0)&&(_0x5873b3=_0x5873b3['map'](_0x30059c=>{const _0x336377=_0x1f4cad,_0x1e17ff={};for(const [_0x269ebb,_0x2a4999]of Object['entries'](_0x30059c)){_0x1e17ff[_0x269ebb[_0x336377(0x1ec)]()]=_0x2a4999;}return _0x1e17ff;}));const _0x3bf165=new Map();_0x5873b3[_0x1f4cad(0x160)](_0x20ecf1=>{const _0x26bac5=_0x1f4cad,_0x4fd4f7=_0x20ecf1[_0x2de06a[0x0]];_0x3bf165[_0x26bac5(0x1cc)](_0x4fd4f7,_0x20ecf1);}),_0x4f6a78['forEach']((_0x56686f,_0x5d3fa4)=>{const _0x1f6e74=_0x1f4cad,_0x4eb92b=_0x56686f[_0x2de06a[0x0]],_0x2a5a2b=_0x3bf165['get'](_0x4eb92b);if(_0x2a5a2b){if(_0x413bc1===_0x3fffe5['tvhqp'])_0x56686f[_0x1f6e74(0x192)]=_0x1f6e74(0x164),_0x56686f[_0x1f6e74(0x1df)]=_0x2a5a2b[_0x23ccb0];else{if(_0x3fffe5[_0x1f6e74(0x1b5)](_0x413bc1,'insert_only')){_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5['OuvLl'],_0x56686f['_errors']=_0x56686f[_0x1f6e74(0x1bb)]||[],_0x56686f[_0x1f6e74(0x1bb)]['push'](_0x1f6e74(0x161));const _0x8229a4=_0x2e4350[_0x1f6e74(0x205)](_0x56686f);_0x3fffe5['gLfXs'](_0x8229a4,-0x1)&&_0x39d6bc['push']({'rowIndex':_0x8229a4,'rowData':_0x56686f,'errors':[_0x1f6e74(0x161)]});}else _0x413bc1===_0x3fffe5[_0x1f6e74(0x19d)]&&(_0x56686f['_action']=_0x3fffe5[_0x1f6e74(0x18b)]);}}else{if(_0x413bc1==='update_existing')_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5['FbpxT'];else(_0x413bc1===_0x1f6e74(0x1f6)||_0x3fffe5['YBilc'](_0x413bc1,_0x1f6e74(0x177)))&&(_0x56686f[_0x1f6e74(0x192)]=_0x3fffe5[_0x1f6e74(0x1d0)]);}});}}async[a0_0x40da10(0x194)](_0x3153e){const _0x23f619=a0_0x40da10,_0x474619={'jFGOY':_0x23f619(0x1d8),'yAkXp':'Preview\x20job\x20not\x20found\x20or\x20expired','AYufK':function(_0x316f82,_0x289c97){return _0x316f82!==_0x289c97;},'qbbSu':_0x23f619(0x168),'LfWIf':_0x23f619(0x1a1)},_0x6336f0=this['generateId'](),_0x2b3acf=await redisHelper[_0x23f619(0x1da)]('job:'+_0x3153e);if(!_0x2b3acf)throw new Error(_0x474619[_0x23f619(0x1c5)]);if(_0x474619[_0x23f619(0x199)](_0x2b3acf['status'],_0x474619[_0x23f619(0x1ae)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x2b3acf[_0x23f619(0x1ff)]);const _0x1c0116={'job_id':_0x6336f0,'upload_id':_0x2b3acf[_0x23f619(0x1aa)],'preview_job_id':_0x3153e,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2b3acf['params']};return await redisHelper['setJob'](_0x23f619(0x188)+_0x6336f0,_0x1c0116,0xe10),logger['info']({'event':_0x474619['LfWIf'],'jobId':_0x6336f0,'previewJobId':_0x3153e},_0x23f619(0x167)),this['processCommitJob'](_0x6336f0,_0x2b3acf)['catch'](_0x401701=>{const _0x311d43=_0x23f619;logError(_0x401701,{'event':_0x474619['jFGOY'],'jobId':_0x6336f0},_0x311d43(0x16a));}),{'job_id':_0x6336f0,'status':_0x23f619(0x1ad)};}async[a0_0x40da10(0x1b1)](_0xb5a0f5,_0x4c017a){const _0x3c181d=a0_0x40da10,_0xa253ea={'dkjQL':_0x3c181d(0x17a),'GBaNi':function(_0x4fd307,_0x5b6da1){return _0x4fd307||_0x5b6da1;},'cggYE':'insert','yFdOC':_0x3c181d(0x1fa),'EJDjM':function(_0x86dc9a,_0x2327cb){return _0x86dc9a(_0x2327cb);},'LCPiK':'completed','yGtYg':_0x3c181d(0x1ee),'TKmfS':'Commit\x20job\x20completed','pcjkG':function(_0x396bd2,_0x5f32a7,_0x58437c,_0x5e928e){return _0x396bd2(_0x5f32a7,_0x58437c,_0x5e928e);},'FydXt':_0x3c181d(0x1bd)};try{const _0x137d2c=await redisHelper['getJob'](_0x3c181d(0x1dd)+_0x4c017a['upload_id']);if(!_0x137d2c)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x1b0c94,params:_0x2cee30}=_0x137d2c,{tableName:_0xda181,fieldName:_0x42207b,primaryKey:_0xa4ff1b,upsertKeys:_0x5648b8,excludeFromImport:_0x522a97,lookupFields:_0x2bff41,columnFormats:_0x5cfe98}=_0x2cee30,_0x18aee0=_0x2bff41?Object['keys'](_0x2bff41):[],_0x310dd9=new Set([..._0x522a97||[],..._0x18aee0]);let _0x34d2f1=_0x42207b;_0x310dd9[_0x3c181d(0x1e4)]>0x0&&(_0x34d2f1=_0x42207b[_0x3c181d(0x172)](_0x125778=>!_0x310dd9['has'](_0x125778)),logger[_0x3c181d(0x1e1)]({'event':_0x3c181d(0x1fb),'originalCount':_0x42207b[_0x3c181d(0x1eb)],'filteredCount':_0x34d2f1[_0x3c181d(0x1eb)],'excludedFields':Array['from'](_0x310dd9),'lookupSourceFields':_0x18aee0},_0xa253ea[_0x3c181d(0x1f4)]));const _0xdf5f05=_0x1b0c94['filter'](_0x53d077=>_0x53d077[_0x3c181d(0x192)]==='INSERT'),_0x29ebc7=_0x1b0c94[_0x3c181d(0x172)](_0x36f72a=>_0x36f72a['_action']==='UPDATE');let _0x551ae0=0x0,_0x4f0fb7=0x0;const _0x36f3fb=[];if(_0xdf5f05['length']>0x0){const _0x628e28=upsertBuilder[_0x3c181d(0x1cf)](_0xdf5f05,0x64);for(const _0x4d4819 of _0x628e28){const {query:_0x2b9602}=upsertBuilder['buildBatchInsert'](_0x4d4819,_0xda181,_0x34d2f1,_0xa253ea['GBaNi'](_0x5cfe98,{}));_0x2b9602&&_0x36f3fb['push']({'sql':_0x2b9602,'count':_0x4d4819['length'],'type':_0xa253ea['cggYE']});}}if(_0x29ebc7['length']>0x0){const _0x69a2c=upsertBuilder['chunkRows'](_0x29ebc7,0x64);for(const _0x4b8cd2 of _0x69a2c){const {query:_0x5f0729}=upsertBuilder[_0x3c181d(0x1cb)](_0x4b8cd2,_0xda181,_0x34d2f1,_0xa4ff1b,_0x5648b8,_0x5cfe98||{});_0x5f0729&&_0x36f3fb[_0x3c181d(0x19a)]({'sql':_0x5f0729,'count':_0x4b8cd2['length'],'type':_0xa253ea[_0x3c181d(0x193)]});}}_0x36f3fb['length']>0x0&&await _0xa253ea[_0x3c181d(0x1b0)](executeTransaction,_0x36f3fb['map'](_0x5adcd8=>({'sql':_0x5adcd8[_0x3c181d(0x18d)],'params':[]})));_0x36f3fb[_0x3c181d(0x160)](_0x5cf380=>{const _0x4f938d=_0x3c181d;if(_0x5cf380[_0x4f938d(0x1f3)]==='insert')_0x551ae0+=_0x5cf380['count'];else _0x4f0fb7+=_0x5cf380[_0x4f938d(0x1e7)];});const _0x1eab42={'job_id':_0xb5a0f5,'upload_id':_0x4c017a[_0x3c181d(0x1aa)],'preview_job_id':_0x4c017a[_0x3c181d(0x1bf)],'status':_0xa253ea[_0x3c181d(0x18c)],'progress':0x64,'created_at':_0x4c017a[_0x3c181d(0x185)],'started_at':new Date()[_0x3c181d(0x1e6)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x1b0c94[_0x3c181d(0x1eb)],'inserted_rows':_0x551ae0,'updated_rows':_0x4f0fb7,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2cee30};await redisHelper[_0x3c181d(0x165)](_0x3c181d(0x188)+_0xb5a0f5,_0x1eab42,0xe10),logger[_0x3c181d(0x1fd)]({'event':_0xa253ea[_0x3c181d(0x1d9)],'jobId':_0xb5a0f5,'insertedCount':_0x551ae0,'updatedCount':_0x4f0fb7},_0xa253ea['TKmfS']);}catch(_0x52363a){_0xa253ea[_0x3c181d(0x1be)](logError,_0x52363a,{'event':_0x3c181d(0x1e5),'jobId':_0xb5a0f5},_0x3c181d(0x16c)),await redisHelper[_0x3c181d(0x165)]('job:'+_0xb5a0f5,{'job_id':_0xb5a0f5,'upload_id':_0x4c017a[_0x3c181d(0x1aa)],'preview_job_id':_0x4c017a['job_id'],'status':_0xa253ea['FydXt'],'progress':0x0,'error':_0x52363a[_0x3c181d(0x18f)],'created_at':_0x4c017a[_0x3c181d(0x185)],'started_at':new Date()[_0x3c181d(0x1e6)](),'completed_at':new Date()[_0x3c181d(0x1e6)]()},0xe10);}}async[a0_0x40da10(0x1fc)](_0x355b95){const _0x5bd833=a0_0x40da10,_0x545839=await redisHelper['getJob']('job:'+_0x355b95);if(!_0x545839)return{'success':![],'error':_0x5bd833(0x175)};return{'success':!![],'data':_0x545839};}}function a0_0x5098(_0x40d133,_0x40ae77){_0x40d133=_0x40d133-0x15f;const _0x81ef39=a0_0x81ef();let _0x509877=_0x81ef39[_0x40d133];if(a0_0x5098['qSeiJB']===undefined){var _0x4c1694=function(_0x73db10){const _0x8891d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x407ead='',_0xb23c31='';for(let _0x2f8f2d=0x0,_0x780836,_0x16bf0e,_0x3269a2=0x0;_0x16bf0e=_0x73db10['charAt'](_0x3269a2++);~_0x16bf0e&&(_0x780836=_0x2f8f2d%0x4?_0x780836*0x40+_0x16bf0e:_0x16bf0e,_0x2f8f2d++%0x4)?_0x407ead+=String['fromCharCode'](0xff&_0x780836>>(-0x2*_0x2f8f2d&0x6)):0x0){_0x16bf0e=_0x8891d6['indexOf'](_0x16bf0e);}for(let _0x27a68a=0x0,_0x287dc2=_0x407ead['length'];_0x27a68a<_0x287dc2;_0x27a68a++){_0xb23c31+='%'+('00'+_0x407ead['charCodeAt'](_0x27a68a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb23c31);};a0_0x5098['Mzuyax']=_0x4c1694,a0_0x5098['zjEnoJ']={},a0_0x5098['qSeiJB']=!![];}const _0x19c4f2=_0x81ef39[0x0],_0x228eb8=_0x40d133+_0x19c4f2,_0x524eef=a0_0x5098['zjEnoJ'][_0x228eb8];return!_0x524eef?(_0x509877=a0_0x5098['Mzuyax'](_0x509877),a0_0x5098['zjEnoJ'][_0x228eb8]=_0x509877):_0x509877=_0x524eef,_0x509877;}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_0x534569=a0_0x1c1d;(function(_0x453f80,_0x36ed27){const _0x1b4d5d=a0_0x1c1d,_0xdc8519=_0x453f80();while(!![]){try{const _0x5758cb=-parseInt(_0x1b4d5d(0x15f))/0x1*(parseInt(_0x1b4d5d(0x169))/0x2)+parseInt(_0x1b4d5d(0x16b))/0x3+parseInt(_0x1b4d5d(0x16c))/0x4+-parseInt(_0x1b4d5d(0x152))/0x5*(parseInt(_0x1b4d5d(0x154))/0x6)+-parseInt(_0x1b4d5d(0x159))/0x7*(parseInt(_0x1b4d5d(0x14e))/0x8)+parseInt(_0x1b4d5d(0x15e))/0x9*(parseInt(_0x1b4d5d(0x163))/0xa)+parseInt(_0x1b4d5d(0x156))/0xb;if(_0x5758cb===_0x36ed27)break;else _0xdc8519['push'](_0xdc8519['shift']());}catch(_0x4ddb0d){_0xdc8519['push'](_0xdc8519['shift']());}}}(a0_0x4dbc,0xd3642));function a0_0x4dbc(){const _0x2d7cc2=['AgfZ','sw52ywXPzcbWAg9UzsbMB3jTyxq','nfzVBLPhwa','rKXct1m','ndmWmJe2ohDcuxr6za','mtq0mdCYnffRsNH2CW','DMfSAwrHDgvfBwfPBa','Aw5MBW','DxjS','txLTA1m','Cufmrfy','rhr1z3i','DMfSAwrHDgvgAwvSzezVCM1HDa','mJrcte9XsuC','zxHWB3j0CW','uhnTwLa','zM9YrwfJAa','mtyYnwvLrKfnBW','BgvUz3rO','mJiZofLqBLrcva','CMvWBgfJzq','mte3mZC4oeHVyNnQtW','lI9SB2DNzxi','vvPJCNy','mJCZmta5owTVz1nHta','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvoDw1Izxi','AurrrMG','z2v0','mtCXu0r3rM9o','mJK4mZeYz0PTshft','uKzSz20','yMf0y2HwywXPzgf0zvjVD3m','sw52ywXPzcbvuKWGzM9YBwf0','ndq5mdCWs01rtvzI','zM9YBwf0','ChvZAa','DMfSAwrHDgvsB3C'];a0_0x4dbc=function(){return _0x2d7cc2;};return a0_0x4dbc();}const {logger}=require(a0_0x534569(0x157));class ImportValidator{[a0_0x534569(0x166)](_0x5b29b1,_0x177bae=[],_0x585843={}){const _0x12779c={'FLBOS':function(_0x30fd50,_0x3c9b87){return _0x30fd50===_0x3c9b87;},'MymkS':'required'},_0x673f62=[];return _0x177bae['forEach'](_0x31e5bb=>{const _0x2a1054=a0_0x1c1d,_0x11004f=_0x5b29b1[_0x31e5bb];(_0x12779c['FLBOS'](_0x11004f,null)||_0x12779c[_0x2a1054(0x16a)](_0x11004f,undefined)||_0x12779c['FLBOS'](_0x11004f,''))&&_0x673f62[_0x2a1054(0x165)]({'field':_0x31e5bb,'type':_0x12779c[_0x2a1054(0x14a)],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x585843)['forEach'](_0x3f9bc2=>{const _0x17931a=a0_0x1c1d,_0x5583b4=_0x5b29b1[_0x3f9bc2],_0x17026c=_0x585843[_0x3f9bc2];if(_0x5583b4===null||_0x5583b4===undefined||_0x12779c['FLBOS'](_0x5583b4,''))return;const _0x112b7c=this[_0x17931a(0x14d)](_0x3f9bc2,_0x5583b4,_0x17026c);_0x112b7c&&_0x673f62['push'](_0x112b7c);}),_0x673f62;}[a0_0x534569(0x14d)](_0x1705cf,_0x1497f1,_0x59f5de){const _0x18668f=a0_0x534569,_0x5ad8d4={'iDQFh':'phone','PsmZP':_0x18668f(0x149),'TampK':'number'};switch(_0x59f5de){case'email':return this['validateEmail'](_0x1705cf,_0x1497f1);case _0x5ad8d4[_0x18668f(0x15c)]:return this['validatePhone'](_0x1705cf,_0x1497f1);case _0x5ad8d4[_0x18668f(0x150)]:return this['validateUrl'](_0x1705cf,_0x1497f1);case _0x5ad8d4['TampK']:return this[_0x18668f(0x15b)](_0x1705cf,_0x1497f1);default:return null;}}[a0_0x534569(0x147)](_0x2ef60b,_0x505580){const _0x478213=a0_0x534569,_0x22c95f={'stHQz':_0x478213(0x164),'ekNVi':_0x478213(0x15a)},_0x4c5038=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x4c5038['test'](String(_0x505580)))return{'field':_0x2ef60b,'type':_0x22c95f['stHQz'],'message':_0x22c95f['ekNVi']};return null;}['validatePhone'](_0x2e7548,_0x310b3e){const _0x393230=a0_0x534569,_0x33ef74={'RFlgm':function(_0x503409,_0x2d26b5){return _0x503409<_0x2d26b5;}},_0x185cbb=String(_0x310b3e)[_0x393230(0x155)](/\s+/g,''),_0x4d2123=/^[\d\+\-\(\)]+$/;if(!_0x4d2123['test'](_0x185cbb)||_0x33ef74[_0x393230(0x160)](_0x185cbb['length'],0x8))return{'field':_0x2e7548,'type':_0x393230(0x164),'message':_0x393230(0x168)};return null;}['validateUrl'](_0x5a1356,_0x2d8e96){const _0x583912=a0_0x534569,_0x31defa={'Dtugr':_0x583912(0x162)};try{return new URL(String(_0x2d8e96)),null;}catch(_0x353d95){return{'field':_0x5a1356,'type':'format','message':_0x31defa[_0x583912(0x14c)]};}}['validateNumber'](_0x4386a2,_0xd88e91){const _0x2ea6b8=a0_0x534569,_0x21f0c6={'UZcrv':function(_0x21441d,_0x464117){return _0x21441d(_0x464117);},'qALDV':'format','MoIfn':'Invalid\x20number\x20format'};if(_0x21f0c6[_0x2ea6b8(0x158)](isNaN,_0xd88e91))return{'field':_0x4386a2,'type':_0x21f0c6[_0x2ea6b8(0x14b)],'message':_0x21f0c6['MoIfn']};return null;}['detectDuplicatesInFile'](_0x5f7c8e,_0x4fc039){const _0x27cb71=a0_0x534569,_0x65985=new Map(),_0x2eb3da=[];return _0x5f7c8e[_0x27cb71(0x151)]((_0x528798,_0x33951f)=>{const _0x221ebe=_0x27cb71,_0x4ae471=_0x4fc039['map'](_0x1d53d8=>_0x528798[_0x1d53d8])['join']('|');_0x65985[_0x221ebe(0x167)](_0x4ae471)?_0x2eb3da['push']({'rowIndex':_0x33951f,'duplicateOf':_0x65985[_0x221ebe(0x15d)](_0x4ae471),'key':_0x4ae471}):_0x65985['set'](_0x4ae471,_0x33951f);}),_0x2eb3da;}[a0_0x534569(0x161)](_0x351e3b,_0x43000c,_0x33255c){const _0x18760b=a0_0x534569,_0x477e20={'kllSk':function(_0x4d913e,_0xcb3236){return _0x4d913e>_0xcb3236;},'Hiwcz':'Batch\x20validation\x20completed'},_0x46b811=[];return _0x351e3b[_0x18760b(0x151)]((_0xa11f5a,_0x2164a3)=>{const _0x9ad6a6=_0x18760b,_0x1f7844=this[_0x9ad6a6(0x166)](_0xa11f5a,_0x43000c,_0x33255c);_0x477e20['kllSk'](_0x1f7844['length'],0x0)&&_0x46b811['push']({'rowIndex':_0x2164a3,'rowData':_0xa11f5a,'errors':_0x1f7844});}),logger[_0x18760b(0x148)]({'event':'batch_validation_complete','totalRows':_0x351e3b[_0x18760b(0x153)],'errorCount':_0x46b811['length']},_0x477e20['Hiwcz']),_0x46b811;}}function a0_0x1c1d(_0x42ec94,_0x259357){_0x42ec94=_0x42ec94-0x147;const _0x4dbc0f=a0_0x4dbc();let _0x1c1d8b=_0x4dbc0f[_0x42ec94];if(a0_0x1c1d['peusuH']===undefined){var _0x279308=function(_0x83f9ed){const _0x18e281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476b8d='',_0x4d504f='';for(let _0x3c0beb=0x0,_0x3ecb4a,_0x3cb3fc,_0x2fcd6e=0x0;_0x3cb3fc=_0x83f9ed['charAt'](_0x2fcd6e++);~_0x3cb3fc&&(_0x3ecb4a=_0x3c0beb%0x4?_0x3ecb4a*0x40+_0x3cb3fc:_0x3cb3fc,_0x3c0beb++%0x4)?_0x476b8d+=String['fromCharCode'](0xff&_0x3ecb4a>>(-0x2*_0x3c0beb&0x6)):0x0){_0x3cb3fc=_0x18e281['indexOf'](_0x3cb3fc);}for(let _0x1001a1=0x0,_0xd8b2e6=_0x476b8d['length'];_0x1001a1<_0xd8b2e6;_0x1001a1++){_0x4d504f+='%'+('00'+_0x476b8d['charCodeAt'](_0x1001a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d504f);};a0_0x1c1d['aPeCnj']=_0x279308,a0_0x1c1d['NStHsn']={},a0_0x1c1d['peusuH']=!![];}const _0x3e7f8f=_0x4dbc0f[0x0],_0x5166f0=_0x42ec94+_0x3e7f8f,_0x4578fd=a0_0x1c1d['NStHsn'][_0x5166f0];return!_0x4578fd?(_0x1c1d8b=a0_0x1c1d['aPeCnj'](_0x1c1d8b),a0_0x1c1d['NStHsn'][_0x5166f0]=_0x1c1d8b):_0x1c1d8b=_0x4578fd,_0x1c1d8b;}module[a0_0x534569(0x14f)]=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_0x26bc1c=a0_0x4e72;function a0_0x4e72(_0x38ac03,_0x100d8a){_0x38ac03=_0x38ac03-0x14c;const _0x57aafa=a0_0x57aa();let _0x4e728b=_0x57aafa[_0x38ac03];if(a0_0x4e72['bkhBIT']===undefined){var _0x4b7b94=function(_0x31cb5c){const _0x5370c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41440a='',_0x294cde='';for(let _0x1191d5=0x0,_0x636537,_0x8ca5a,_0x1cd53c=0x0;_0x8ca5a=_0x31cb5c['charAt'](_0x1cd53c++);~_0x8ca5a&&(_0x636537=_0x1191d5%0x4?_0x636537*0x40+_0x8ca5a:_0x8ca5a,_0x1191d5++%0x4)?_0x41440a+=String['fromCharCode'](0xff&_0x636537>>(-0x2*_0x1191d5&0x6)):0x0){_0x8ca5a=_0x5370c0['indexOf'](_0x8ca5a);}for(let _0x5a6471=0x0,_0x31bbb7=_0x41440a['length'];_0x5a6471<_0x31bbb7;_0x5a6471++){_0x294cde+='%'+('00'+_0x41440a['charCodeAt'](_0x5a6471)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x294cde);};a0_0x4e72['CHpPxK']=_0x4b7b94,a0_0x4e72['dLGjXd']={},a0_0x4e72['bkhBIT']=!![];}const _0x440f9e=_0x57aafa[0x0],_0x2ec68b=_0x38ac03+_0x440f9e,_0x5802aa=a0_0x4e72['dLGjXd'][_0x2ec68b];return!_0x5802aa?(_0x4e728b=a0_0x4e72['CHpPxK'](_0x4e728b),a0_0x4e72['dLGjXd'][_0x2ec68b]=_0x4e728b):_0x4e728b=_0x5802aa,_0x4e728b;}(function(_0x17a6d6,_0x4d5e0e){const _0x1ae832=a0_0x4e72,_0x4f4b97=_0x17a6d6();while(!![]){try{const _0x5cadc4=parseInt(_0x1ae832(0x168))/0x1*(-parseInt(_0x1ae832(0x163))/0x2)+-parseInt(_0x1ae832(0x17e))/0x3+parseInt(_0x1ae832(0x17d))/0x4+parseInt(_0x1ae832(0x188))/0x5+-parseInt(_0x1ae832(0x160))/0x6+parseInt(_0x1ae832(0x173))/0x7*(parseInt(_0x1ae832(0x180))/0x8)+parseInt(_0x1ae832(0x186))/0x9*(parseInt(_0x1ae832(0x16f))/0xa);if(_0x5cadc4===_0x4d5e0e)break;else _0x4f4b97['push'](_0x4f4b97['shift']());}catch(_0x1e7ed7){_0x4f4b97['push'](_0x4f4b97['shift']());}}}(a0_0x57aa,0x6c591));const importService=require(a0_0x26bc1c(0x16c)),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require(a0_0x26bc1c(0x15f));class ImportHandler{static[a0_0x26bc1c(0x161)](_0x49c877,_0x3e7b8a,_0xbe45e0,_0x539e1a){const _0x400897=a0_0x26bc1c,_0x396710={'PSsTC':_0x400897(0x182),'hpmJc':_0x400897(0x156),'bgaKV':function(_0x5ed106,_0x21891d,_0x4f12f1,_0x26335f){return _0x5ed106(_0x21891d,_0x4f12f1,_0x26335f);},'GtKrq':'Failed\x20to\x20create\x20preview\x20job','TDIYE':function(_0x299d14,_0x373366,_0xf2fad6,_0x5864fa){return _0x299d14(_0x373366,_0xf2fad6,_0x5864fa);},'wETCM':'import_commit_error','bWhVB':_0x400897(0x166),'PMceN':_0x400897(0x152),'UdnPL':'import_routes_registered'},_0x3797c2=_0x400897(0x16d)+_0x3e7b8a+'/'+_0xbe45e0;_0x49c877[_0x400897(0x14e)](_0x3797c2+_0x400897(0x176),async(_0x137644,_0x3d01fa)=>{try{await this['handleImportUpload'](_0x137644,_0x3d01fa,_0x539e1a,_0x3e7b8a,_0xbe45e0);}catch(_0x26d6c3){logError(_0x26d6c3,{'event':_0x396710['PSsTC']},_0x396710['hpmJc']),_0x3d01fa['status'](0x1f4)['json']({'success':![],'error':_0x26d6c3['message']});}}),_0x49c877['post'](_0x3797c2+'/import-preview',async(_0x8c89d6,_0x5be843)=>{const _0x5b61d6=_0x400897;try{await this[_0x5b61d6(0x15c)](_0x8c89d6,_0x5be843);}catch(_0xdebf75){_0x396710[_0x5b61d6(0x17c)](logError,_0xdebf75,{'event':'import_preview_error'},_0x396710[_0x5b61d6(0x18a)]),_0x5be843[_0x5b61d6(0x16b)](0x1f4)[_0x5b61d6(0x164)]({'success':![],'error':_0xdebf75['message']});}}),_0x49c877['post'](_0x3797c2+'/import-commit',async(_0x56bc82,_0xce38b4)=>{const _0x566815=_0x400897;try{await this[_0x566815(0x157)](_0x56bc82,_0xce38b4);}catch(_0x367519){_0x396710[_0x566815(0x158)](logError,_0x367519,{'event':_0x396710['wETCM']},'Failed\x20to\x20create\x20commit\x20job'),_0xce38b4[_0x566815(0x16b)](0x1f4)[_0x566815(0x164)]({'success':![],'error':_0x367519['message']});}}),_0x49c877[_0x400897(0x155)](_0x3797c2+_0x400897(0x189),async(_0x41dc1c,_0x39e97c)=>{const _0x259dbd=_0x400897;try{await this[_0x259dbd(0x184)](_0x41dc1c,_0x39e97c);}catch(_0x593393){logError(_0x593393,{'event':_0x396710['bWhVB']},_0x396710[_0x259dbd(0x15d)]),_0x39e97c[_0x259dbd(0x16b)](0x1f4)['json']({'success':![],'error':_0x593393['message']});}}),logger['info']({'event':_0x396710[_0x400897(0x171)],'module':_0x3e7b8a,'endpoint':_0xbe45e0,'table':_0x539e1a[_0x400897(0x15e)]},'Import\x20routes\x20registered\x20for\x20'+_0x3e7b8a+'/'+_0xbe45e0);}static async[a0_0x26bc1c(0x151)](_0x35090a,_0x1931d8,_0x235c87,_0x2507bf,_0x48db1){const _0x23ce69=a0_0x26bc1c,_0x2ed385={'KLpiZ':_0x23ce69(0x178),'uDwhJ':_0x23ce69(0x14f),'PvxgV':function(_0x59b6ab,_0x172887){return _0x59b6ab>_0x172887;},'aNjxP':_0x23ce69(0x17b),'vXnld':'import_upload_process_error','Ushiz':_0x23ce69(0x165),'MAXXU':function(_0x56a233,_0x2486cf,_0x58e8d7,_0x418f84){return _0x56a233(_0x2486cf,_0x58e8d7,_0x418f84);}},_0x49cf9c=uploadHandler['getUploadMiddleware']();_0x2ed385['MAXXU'](_0x49cf9c,_0x35090a,_0x1931d8,async _0x1bdb7e=>{const _0x2f7c26=_0x23ce69;if(_0x1bdb7e)return _0x1931d8['status'](0x190)[_0x2f7c26(0x164)]({'success':![],'error':_0x1bdb7e[_0x2f7c26(0x17f)]});if(!_0x35090a['file'])return _0x1931d8['status'](0x190)['json']({'success':![],'error':'No\x20file\x20uploaded'});try{const _0x4a3066=_0x35090a['body']['upsertMode']||_0x2ed385['KLpiZ'];let _0x1fc4ba=_0x235c87[_0x2f7c26(0x179)];if(_0x35090a['body'][_0x2f7c26(0x179)])try{_0x1fc4ba=JSON[_0x2f7c26(0x175)](_0x35090a[_0x2f7c26(0x177)][_0x2f7c26(0x179)]);}catch(_0x1d160c){logger['warn']({'event':_0x2f7c26(0x159),'error':_0x1d160c[_0x2f7c26(0x17f)]},_0x2ed385['uDwhJ']);}const _0x44b87d=_0x235c87[_0x2f7c26(0x187)]||[];if(Array['isArray'](_0x1fc4ba)){const _0x2fa2ab=_0x1fc4ba['filter'](_0x495817=>!_0x44b87d[_0x2f7c26(0x170)](_0x495817));if(_0x2ed385[_0x2f7c26(0x16a)](_0x2fa2ab[_0x2f7c26(0x150)],0x0))return _0x1931d8['status'](0x190)['json']({'success':![],'error':_0x2ed385[_0x2f7c26(0x14d)],'message':_0x2f7c26(0x15b)+_0x2fa2ab['join'](',\x20'),'validFields':_0x44b87d});}const _0x6b1d40={'moduleName':_0x2507bf,'endpointName':_0x48db1,'tableName':_0x235c87['tableName'],'primaryKey':_0x235c87[_0x2f7c26(0x181)],'fieldName':_0x235c87['fieldName'],'fieldLabels':_0x235c87['fieldLabels']||{},'columnFormats':_0x235c87['columnFormats']||{},'upsertKeys':_0x1fc4ba,'upsertStrategy':_0x4a3066,'requiredFields':_0x235c87[_0x2f7c26(0x153)]||[],'validations':_0x235c87[_0x2f7c26(0x14c)]||{},'lookupFields':_0x235c87[_0x2f7c26(0x169)]||{},'excludeFromImport':_0x235c87[_0x2f7c26(0x15a)]||[],'chunkSize':_0x235c87[_0x2f7c26(0x17a)]||0x64},_0xd243fd=await importService['uploadFile'](_0x35090a[_0x2f7c26(0x167)],_0x6b1d40);_0x1931d8['json']({'success':!![],'data':_0xd243fd});}catch(_0x162d57){logError(_0x162d57,{'event':_0x2ed385[_0x2f7c26(0x183)]},_0x2ed385[_0x2f7c26(0x162)]),_0x1931d8['status'](0x1f4)[_0x2f7c26(0x164)]({'success':![],'error':_0x162d57[_0x2f7c26(0x17f)]});}});}static async['handleImportPreview'](_0x5ccef2,_0x83415e){const _0x26391b=a0_0x26bc1c,_0x2ece70={'uyeBS':'upload_id\x20is\x20required'},{upload_id:_0x3b7b98}=_0x5ccef2[_0x26391b(0x177)];if(!_0x3b7b98)return _0x83415e[_0x26391b(0x16b)](0x190)[_0x26391b(0x164)]({'success':![],'error':_0x2ece70['uyeBS']});try{const _0xc6a28b=await importService['createPreviewJob'](_0x3b7b98);_0x83415e['json']({'success':!![],'data':_0xc6a28b});}catch(_0x185325){_0x83415e[_0x26391b(0x16b)](0x1f4)['json']({'success':![],'error':_0x185325[_0x26391b(0x17f)]});}}static async['handleImportCommit'](_0x4cb272,_0x2cb4d3){const _0xe430a1=a0_0x26bc1c,{preview_job_id:_0x204434}=_0x4cb272['body'];if(!_0x204434)return _0x2cb4d3['status'](0x190)['json']({'success':![],'error':_0xe430a1(0x174)});try{const _0x3802ee=await importService[_0xe430a1(0x172)](_0x204434);_0x2cb4d3['json']({'success':!![],'data':_0x3802ee});}catch(_0x304bbb){_0x2cb4d3[_0xe430a1(0x16b)](0x1f4)['json']({'success':![],'error':_0x304bbb[_0xe430a1(0x17f)]});}}static async[a0_0x26bc1c(0x184)](_0x4ba73a,_0x5988d5){const _0x2a7f88=a0_0x26bc1c,{job_id:_0x2bed79}=_0x4ba73a[_0x2a7f88(0x185)];if(!_0x2bed79)return _0x5988d5['status'](0x190)['json']({'success':![],'error':'job_id\x20is\x20required'});try{const _0x2037e8=await importService['getJobStatus'](_0x2bed79);if(!_0x2037e8[_0x2a7f88(0x154)])return _0x5988d5['status'](0x194)['json'](_0x2037e8);_0x5988d5['json'](_0x2037e8);}catch(_0xbd01a3){_0x5988d5['status'](0x1f4)['json']({'success':![],'error':_0xbd01a3[_0x2a7f88(0x17f)]});}}}function a0_0x57aa(){const _0x346e2b=['DLHUBgq','AgfUzgXLsw1WB3j0u3rHDhvZ','CxvLCNK','mtq1ndKXndHqBvnUq2e','zMLLBgroyw1L','mtu0otq1C2rgzg92','l2LTCg9YDc1ZDgf0Dxm','r3rlCNe','DMfSAwrHDgLVBNm','yu5QEfa','Cg9ZDa','rMfPBgvKihrVihbHCNnLihvWC2vYDeTLExmSihvZAw5NigrLzMf1Bhq','BgvUz3rO','AgfUzgXLsw1WB3j0vxbSB2fK','rMfPBgvKihrVigDLDcbPBxbVCNqGC3rHDhvZ','CMvXDwLYzwrgAwvSzhm','C3vJy2vZCW','z2v0','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','AgfUzgXLsw1WB3j0q29TBwL0','verjwuu','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','zxHJBhvKzuzYB21jBxbVCNq','s2v5CYbUB3qGywXSB3DLzdOG','AgfUzgXLsw1WB3j0uhjLDMLLDW','ue1Jzu4','DgfIBgvoyw1L','lI4VlI4VDxrPBhmVBg9Nz2vY','ndGYmJeXnKDZve1LDW','CMvNAxn0zxjsB3v0zxm','vxnOAxO','ndq0twD3C0L6','ANnVBG','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fK','Aw1WB3j0x3n0yxr1C19LCNjVCG','zMLSzq','mZu4mufnteLhAG','Bg9VA3vWrMLLBgrZ','uhz4z1y','C3rHDhvZ','lI4VlI4VC2vYDMLJzxmVAw1WB3j0lxnLCNzPy2u','l2fWAs8','zxHWB3j0CW','mtbyrhvOtLe','Aw5JBhvKzxm','vwrUueW','y3jLyxrLq29TBwL0sM9I','odG5wgjWBwz4','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','CgfYC2u','l2LTCg9YDc11CgXVywq','yM9KEq','DxbKyxrLx2v4Axn0Aw5N','DxbZzxj0s2v5CW','y2H1BMTtAxPL','sw52ywXPzcb1ChnLCNqGA2v5CW','yMDHs1y','nZi1mZi0DvzHC3LO','nJmXmdCXtgjWrNzQ','BwvZC2fNzq','mJy3mdrntwTSENq','ChjPBwfYEuTLEq','Aw1WB3j0x3vWBg9Hzf9LCNjVCG'];a0_0x57aa=function(){return _0x346e2b;};return a0_0x57aa();}module[a0_0x26bc1c(0x16e)]=ImportHandler;
@@ -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
+ const a0_0x318e8d=a0_0xaf76;function a0_0xaf76(_0x21c302,_0x3689e4){_0x21c302=_0x21c302-0x1c7;const _0x4adb13=a0_0x4adb();let _0xaf768e=_0x4adb13[_0x21c302];if(a0_0xaf76['dQdIgW']===undefined){var _0x3c4737=function(_0x4e6808){const _0x552273='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2048d0='',_0x5819a8='';for(let _0x1e5562=0x0,_0x46c3fd,_0x162819,_0x3c0e4f=0x0;_0x162819=_0x4e6808['charAt'](_0x3c0e4f++);~_0x162819&&(_0x46c3fd=_0x1e5562%0x4?_0x46c3fd*0x40+_0x162819:_0x162819,_0x1e5562++%0x4)?_0x2048d0+=String['fromCharCode'](0xff&_0x46c3fd>>(-0x2*_0x1e5562&0x6)):0x0){_0x162819=_0x552273['indexOf'](_0x162819);}for(let _0x82b098=0x0,_0xd2c79=_0x2048d0['length'];_0x82b098<_0xd2c79;_0x82b098++){_0x5819a8+='%'+('00'+_0x2048d0['charCodeAt'](_0x82b098)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5819a8);};a0_0xaf76['grDjVf']=_0x3c4737,a0_0xaf76['WSkvtX']={},a0_0xaf76['dQdIgW']=!![];}const _0x407e79=_0x4adb13[0x0],_0x299f0d=_0x21c302+_0x407e79,_0x27c1f3=a0_0xaf76['WSkvtX'][_0x299f0d];return!_0x27c1f3?(_0xaf768e=a0_0xaf76['grDjVf'](_0xaf768e),a0_0xaf76['WSkvtX'][_0x299f0d]=_0xaf768e):_0xaf768e=_0x27c1f3,_0xaf768e;}(function(_0x263063,_0x54ac9c){const _0x1be0c5=a0_0xaf76,_0x35b70d=_0x263063();while(!![]){try{const _0x8d01e8=parseInt(_0x1be0c5(0x1ee))/0x1+-parseInt(_0x1be0c5(0x1ec))/0x2+parseInt(_0x1be0c5(0x1d8))/0x3*(parseInt(_0x1be0c5(0x20a))/0x4)+-parseInt(_0x1be0c5(0x1f0))/0x5+-parseInt(_0x1be0c5(0x213))/0x6+parseInt(_0x1be0c5(0x1e8))/0x7*(-parseInt(_0x1be0c5(0x1dd))/0x8)+parseInt(_0x1be0c5(0x1ce))/0x9*(parseInt(_0x1be0c5(0x209))/0xa);if(_0x8d01e8===_0x54ac9c)break;else _0x35b70d['push'](_0x35b70d['shift']());}catch(_0x32fe38){_0x35b70d['push'](_0x35b70d['shift']());}}}(a0_0x4adb,0x565de));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x318e8d(0x202),'MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x318e8d(0x1f5)};class UpsertBuilder{[a0_0x318e8d(0x1f1)](){const _0x50d9df=a0_0x318e8d,_0x102a53={'fsBMX':'postgresql'},_0x53f667=(process[_0x50d9df(0x1da)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0xa55b93=Object[_0x50d9df(0x20e)](DB_TYPES);if(!_0xa55b93[_0x50d9df(0x1f4)](_0x53f667))return logger[_0x50d9df(0x1c7)]({'event':_0x50d9df(0x1d4),'provided':_0x53f667,'fallback':_0x102a53['fsBMX']},_0x50d9df(0x1db)+_0x53f667+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x53f667;}[a0_0x318e8d(0x1e3)](_0x588096,_0x4a4812,_0x1fb744=![]){const _0xcdd885=a0_0x318e8d,_0x45f977={'nLLnk':_0xcdd885(0x200),'sJuEV':_0xcdd885(0x1ed)};if(_0x1fb744)switch(_0x4a4812){case DB_TYPES['POSTGRESQL']:return _0x45f977['nLLnk'];case DB_TYPES[_0xcdd885(0x1e4)]:return _0x45f977['sJuEV'];case DB_TYPES[_0xcdd885(0x206)]:return _0x45f977['sJuEV'];case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0xcdd885(0x1ed);default:return _0x45f977[_0xcdd885(0x1ff)];}switch(_0x4a4812){case DB_TYPES[_0xcdd885(0x1de)]:return _0x588096+_0xcdd885(0x1e7);case DB_TYPES[_0xcdd885(0x1e4)]:return _0x588096;case DB_TYPES['SQLITE']:return _0x588096;case DB_TYPES[_0xcdd885(0x1d1)]:return _0xcdd885(0x1e5)+_0x588096+_0xcdd885(0x1cd);case DB_TYPES[_0xcdd885(0x20b)]:return'TO_DATE('+_0x588096+_0xcdd885(0x1fe);default:return _0x588096+'::DATE';}}[a0_0x318e8d(0x1fc)](_0x564c83={}){const _0x2afb1b=a0_0x318e8d,_0x58ec08={'GsvAw':function(_0xe56233,_0x4ff3f2){return _0xe56233===_0x4ff3f2;},'azxKq':_0x2afb1b(0x1ca),'uYQKd':'NULL','gGZfz':'number','HNVhM':'boolean','XkaSx':function(_0x475858,_0x323e35){return _0x475858(_0x323e35);},'VpLct':function(_0x13129e,_0xa90e96){return _0x13129e===_0xa90e96;}},_0x5ed2da=this['getDatabaseType']();return(_0x2c0b99,_0x1443fd)=>{const _0x508fdb=_0x2afb1b,_0x5f8ac5=_0x564c83[_0x1443fd];if(_0x58ec08['GsvAw'](_0x2c0b99,null)||_0x2c0b99===undefined){if(_0x5f8ac5&&_0x5f8ac5['type']===_0x58ec08[_0x508fdb(0x1fb)])return this[_0x508fdb(0x1e3)](null,_0x5ed2da,!![]);return _0x58ec08['uYQKd'];}if(typeof _0x2c0b99==='string'){const _0x3823e1='\x27'+_0x2c0b99['replace'](/'/g,'\x27\x27')+'\x27';if(_0x5f8ac5&&_0x5f8ac5[_0x508fdb(0x1d3)]===_0x58ec08['azxKq'])return this[_0x508fdb(0x1e3)](_0x3823e1,_0x5ed2da,![]);return _0x3823e1;}if(_0x58ec08['GsvAw'](typeof _0x2c0b99,_0x58ec08['gGZfz']))return _0x2c0b99;if(typeof _0x2c0b99===_0x58ec08['HNVhM'])return _0x2c0b99;const _0x4855bc='\x27'+_0x58ec08['XkaSx'](String,_0x2c0b99)[_0x508fdb(0x1c9)](/'/g,'\x27\x27')+'\x27';if(_0x5f8ac5&&_0x58ec08[_0x508fdb(0x20c)](_0x5f8ac5[_0x508fdb(0x1d3)],_0x58ec08['azxKq']))return this[_0x508fdb(0x1e3)](_0x4855bc,_0x5ed2da,![]);return _0x4855bc;};}['buildBatchInsert'](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae={}){const _0x517822=a0_0x318e8d,_0x3ddd91=this['getDatabaseType']();if(_0x3ddd91===DB_TYPES['ORACLE'])return this[_0x517822(0x1d0)](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae);return this['_buildBatchInsertPostgres'](_0x15c343,_0x4beaf4,_0x459bad,_0x44e8ae);}['_buildBatchInsertPostgres'](_0x32835a,_0x1f2d5e,_0x4c1574,_0x7f85b={}){const _0x4d7f61=a0_0x318e8d,_0x22f971={'zDKJT':'postgresql','QoVkl':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0x32835a[_0x4d7f61(0x1d5)]===0x0)return{'query':null,'values':[]};const _0x4459bd=this[_0x4d7f61(0x1fc)](_0x7f85b),_0x376562=_0x32835a[_0x4d7f61(0x1f8)](_0x233dd4=>{const _0x113775=_0x4d7f61,_0x10c004=_0x4c1574['map'](_0x5c6293=>_0x4459bd(_0x233dd4[_0x5c6293],_0x5c6293));return'('+_0x10c004[_0x113775(0x1f3)](',\x20')+')';}),_0x8edf96='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x1f2d5e+'\x20('+_0x4c1574['join'](',\x20')+_0x4d7f61(0x1cc)+_0x376562['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x4d7f61(0x204)]({'event':_0x4d7f61(0x1e0),'tableName':_0x1f2d5e,'rowCount':_0x32835a[_0x4d7f61(0x1d5)],'dbType':_0x22f971['zDKJT']},_0x22f971['QoVkl']),{'query':_0x8edf96,'values':[]};}[a0_0x318e8d(0x1d0)](_0x52a187,_0xe6a29a,_0x144df7,_0x141574={}){const _0x12f738=a0_0x318e8d,_0xfd3443={'eZRoL':function(_0x1f444e,_0x3963b1){return _0x1f444e===_0x3963b1;}};if(_0xfd3443['eZRoL'](_0x52a187[_0x12f738(0x1d5)],0x0))return{'query':null,'values':[]};const _0x55f69e=this['buildEscapeFunction'](_0x141574),_0x1e43c3=_0x52a187[_0x12f738(0x1f8)](_0x3110ba=>{const _0x53caf2=_0x12f738,_0x1eca7c=_0x144df7['map'](_0x4be15a=>_0x55f69e(_0x3110ba[_0x4be15a],_0x4be15a));return'\x20\x20INTO\x20'+_0xe6a29a+'\x20('+_0x144df7[_0x53caf2(0x1f3)](',\x20')+')\x20VALUES\x20('+_0x1eca7c['join'](',\x20')+')';}),_0x4a109e=_0x12f738(0x1e2)+_0x1e43c3[_0x12f738(0x1f3)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x12f738(0x204)]({'event':_0x12f738(0x1e0),'tableName':_0xe6a29a,'rowCount':_0x52a187[_0x12f738(0x1d5)],'dbType':'oracle'},_0x12f738(0x1d9)),{'query':_0x4a109e,'values':[]};}['buildBatchUpdate'](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d={}){const _0x58cad9=a0_0x318e8d,_0x22394f={'UXeGI':function(_0x32826d,_0x35e858){return _0x32826d===_0x35e858;},'FsPSz':function(_0x26698b,_0x3a4ce0){return _0x26698b===_0x3a4ce0;}},_0x20bc21=this[_0x58cad9(0x1f1)]();if(_0x22394f['UXeGI'](_0x20bc21,DB_TYPES[_0x58cad9(0x20b)]))return this['_buildBatchUpdateOracle'](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);if(_0x22394f['FsPSz'](_0x20bc21,DB_TYPES[_0x58cad9(0x1e4)]))return this[_0x58cad9(0x1fa)](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);return this[_0x58cad9(0x1e1)](_0x52fabe,_0x550964,_0x4fdda2,_0x556953,_0x15bec5,_0x28051d);}[a0_0x318e8d(0x1e1)](_0x2a90f4,_0x30456c,_0x3763d8,_0x5e62cf,_0x3d1f42,_0x1db45c={}){const _0x1c38b9=a0_0x318e8d,_0x50591d={'gicYT':_0x1c38b9(0x1f2),'uaAre':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','SzzPl':'\x20AND\x20','UUZOp':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20'};if(_0x2a90f4[_0x1c38b9(0x1d5)]===0x0)return{'query':null,'values':[]};const _0x48f040=this['buildEscapeFunction'](_0x1db45c),_0x3a838f=_0x3763d8['filter'](_0x392d67=>!_0x3d1f42[_0x1c38b9(0x1f4)](_0x392d67)&&_0x392d67!==_0x5e62cf);if(_0x3a838f['length']===0x0)return logger['warn']({'event':_0x50591d['gicYT'],'tableName':_0x30456c},_0x50591d[_0x1c38b9(0x203)]),{'query':null,'values':[]};const _0x517109=_0x2a90f4[_0x1c38b9(0x1f8)](_0x1faa8d=>{const _0xe24073=_0x1c38b9,_0x8021f4=[..._0x3d1f42,..._0x3a838f],_0x1ce5a0=_0x8021f4[_0xe24073(0x1f8)](_0x211f22=>_0x48f040(_0x1faa8d[_0x211f22],_0x211f22));return'('+_0x1ce5a0[_0xe24073(0x1f3)](',\x20')+')';}),_0x566590=_0x3a838f['map'](_0x3243cc=>_0x3243cc+'\x20=\x20v.'+_0x3243cc)['join'](_0x1c38b9(0x1fd)),_0x229faa=_0x3d1f42[_0x1c38b9(0x1f8)](_0x510bd9=>'t.'+_0x510bd9+_0x1c38b9(0x208)+_0x510bd9)['join'](_0x50591d['SzzPl']),_0x3332cc='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x30456c+_0x1c38b9(0x1f7)+_0x566590+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x517109['join'](_0x50591d['UUZOp'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x3d1f42,..._0x3a838f]['join'](',\x20')+_0x1c38b9(0x1f6)+_0x229faa+_0x1c38b9(0x1d2);return logger['debug']({'event':'batch_update_built','tableName':_0x30456c,'rowCount':_0x2a90f4['length'],'updateColumns':_0x3a838f['length'],'dbType':_0x1c38b9(0x202)},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x3332cc,'values':[]};}[a0_0x318e8d(0x1e6)](_0xa6042,_0x3b3fa9,_0x4bd9a6,_0x4e5250,_0x50cc31,_0xeae35f={}){const _0x341571=a0_0x318e8d,_0x55bb02={'janbq':function(_0x561e0d,_0x2ebb48,_0x3a7dbb){return _0x561e0d(_0x2ebb48,_0x3a7dbb);},'Cawmw':function(_0x414529,_0x57b612){return _0x414529===_0x57b612;},'pZKZP':function(_0x401656,_0x4bb577){return _0x401656===_0x4bb577;},'eRQuv':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','siNwO':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','rqOde':_0x341571(0x212)};if(_0xa6042['length']===0x0)return{'query':null,'values':[]};const _0x5b7c0f=this['buildEscapeFunction'](_0xeae35f),_0x161463=_0x4bd9a6['filter'](_0x430dfe=>!_0x50cc31[_0x341571(0x1f4)](_0x430dfe)&&_0x430dfe!==_0x4e5250);if(_0x55bb02[_0x341571(0x1d6)](_0x161463[_0x341571(0x1d5)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x3b3fa9},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x3e04c9=[..._0x50cc31,..._0x161463],_0x5353e1=_0xa6042[_0x341571(0x1f8)]((_0x46a1a1,_0x41a360)=>{const _0x491574=_0x341571,_0x1499cb=_0x3e04c9[_0x491574(0x1f8)](_0x1b5194=>{const _0x4be58d=_0x491574,_0xaf741f=_0x55bb02['janbq'](_0x5b7c0f,_0x46a1a1[_0x1b5194],_0x1b5194);return _0x55bb02['Cawmw'](_0x41a360,0x0)?_0xaf741f+_0x4be58d(0x1cf)+_0x1b5194:_0xaf741f;});return'\x20\x20\x20\x20SELECT\x20'+_0x1499cb['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x3c8834=_0x161463[_0x341571(0x1f8)](_0x10b700=>'t.'+_0x10b700+_0x341571(0x208)+_0x10b700)['join'](_0x55bb02[_0x341571(0x1ef)]),_0x628836=_0x50cc31[_0x341571(0x1f8)](_0x4e5d0c=>'t.'+_0x4e5d0c+'\x20=\x20v.'+_0x4e5d0c)['join'](_0x341571(0x207)),_0x30e8e3='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3b3fa9+_0x341571(0x211)+_0x5353e1[_0x341571(0x1f3)](_0x55bb02['siNwO'])+_0x341571(0x1eb)+_0x628836+_0x341571(0x205)+_0x3c8834+'\x0a\x20\x20\x20\x20';return logger[_0x341571(0x204)]({'event':'batch_update_built','tableName':_0x3b3fa9,'rowCount':_0xa6042[_0x341571(0x1d5)],'updateColumns':_0x161463['length'],'dbType':_0x55bb02['rqOde']},_0x341571(0x1dc)),{'query':_0x30e8e3,'values':[]};}[a0_0x318e8d(0x1fa)](_0x36c881,_0x199497,_0xcac8ef,_0x3553ce,_0x5d9f86,_0x2ea083={}){const _0x54d3b4=a0_0x318e8d,_0x38cdc7={'MyZxP':function(_0x30009d,_0x520727){return _0x30009d===_0x520727;},'KlsWy':_0x54d3b4(0x1d7),'IMPdI':_0x54d3b4(0x1c8)};if(_0x36c881['length']===0x0)return{'query':null,'values':[]};const _0x3c4ad0=this['buildEscapeFunction'](_0x2ea083),_0x1d5a48=_0xcac8ef[_0x54d3b4(0x20f)](_0x25cab2=>!_0x5d9f86[_0x54d3b4(0x1f4)](_0x25cab2)&&_0x25cab2!==_0x3553ce);if(_0x38cdc7['MyZxP'](_0x1d5a48[_0x54d3b4(0x1d5)],0x0))return logger[_0x54d3b4(0x1c7)]({'event':'batch_update_no_columns','tableName':_0x199497},_0x54d3b4(0x1f9)),{'query':null,'values':[]};const _0x1b019a=[...new Set([..._0x5d9f86,..._0x1d5a48])],_0x47f5a4=_0x36c881['map'](_0x224b14=>{const _0x29022a=_0x54d3b4,_0x4128f2=_0x1b019a[_0x29022a(0x1f8)](_0x24dc60=>_0x3c4ad0(_0x224b14[_0x24dc60],_0x24dc60));return'('+_0x4128f2['join'](',\x20')+')';}),_0x230318=_0x1d5a48['map'](_0x282bc6=>_0x282bc6+_0x54d3b4(0x210)+_0x282bc6+')')[_0x54d3b4(0x1f3)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x2c9cf8='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x199497+'\x20('+_0x1b019a[_0x54d3b4(0x1f3)](',\x20')+_0x54d3b4(0x1cc)+_0x47f5a4['join'](_0x54d3b4(0x1df))+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x230318+'\x0a\x20\x20\x20\x20';return logger[_0x54d3b4(0x204)]({'event':'batch_update_built','tableName':_0x199497,'rowCount':_0x36c881['length'],'updateColumns':_0x1d5a48['length'],'dbType':_0x38cdc7['KlsWy']},_0x38cdc7[_0x54d3b4(0x20d)]),{'query':_0x2c9cf8,'values':[]};}['chunkRows'](_0x347946,_0x4af565=0x64){const _0xaef16b=a0_0x318e8d,_0x45a491={'vvudu':function(_0x35e4b9,_0x35e56e){return _0x35e4b9<_0x35e56e;}},_0x46f891=[];for(let _0x59bd57=0x0;_0x45a491[_0xaef16b(0x1ea)](_0x59bd57,_0x347946[_0xaef16b(0x1d5)]);_0x59bd57+=_0x4af565){_0x46f891[_0xaef16b(0x1cb)](_0x347946[_0xaef16b(0x1e9)](_0x59bd57,_0x59bd57+_0x4af565));}return _0x46f891;}}module[a0_0x318e8d(0x201)]=new UpsertBuilder();function a0_0x4adb(){const _0x4d121b=['oJPeqvrf','mJm3m0P1tKXrva','C2XPy2u','DNz1zhu','cIaGicaGicKGDGOGicaGicbptIaO','mteWndq4mMj1whrdsq','tLvmta','nJCZoti3DuHYELjf','zvjrDxy','mJCZndu3mhz5wK9nzG','z2v0rgf0ywjHC2vuExbL','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','AM9PBG','Aw5JBhvKzxm','C3fSAxrL','kqOGicaGicbxsevsrsa','ieftihqkicaGicaGu0vuia','BwfW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','yxP4s3e','yNvPBgrfC2nHCgvgDw5JDgLVBG','laOGicaGicaGica','lcaNwvLzws1nts1ercCP','BKXmBMS','tLvmtdO6refurq','zxHWB3j0CW','Cg9ZDgDYzxnXBa','DwfbCMu','zgvIDwC','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','u1fmsvrf','ieforca','id0GDI4','mtmZmtbOvxzwrwm','mtaWnZG0sfzqsLfX','t1jbq0Xf','vNbmy3q','su1qzeK','DMfSDwvZ','zMLSDgvY','id0GvKfmvuvtka','ihqkicaGicaGvvnjtKCGkaO','B3jHy2XL','mJe1mtKWmgj1sgrYqG','D2fYBG','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','CMvWBgfJzq','zgf0zq','ChvZAa','kqOGicaGicbwquXvrvmG','ieftierbveuP','nZeXowL1B216CG','ieftia','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','u1fmu0vsvKvs','cIaGica','DhLWzq','Aw52ywXPzf9KyL90ExbL','BgvUz3rO','CfPlwLa','BxLZCwW','ndHIDvHZtuS','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zw52','sw52ywXPzcbeqL9uwvbfoIa','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','nZuXmNflELPSvG','ue9tveDsrvnrta','laOGicaGicaGia','yMf0y2HFAw5Zzxj0x2j1AwX0','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','su5trvjuiefmtaO','zM9YBwf0rgf0zvzHBhvL','tvLtuuW','q0ftvcG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu'];a0_0x4adb=function(){return _0x4d121b;};return a0_0x4adb();}
@@ -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
+ function a0_0x280c(_0x56fdc8,_0x5c574f){_0x56fdc8=_0x56fdc8-0x17c;const _0x3c9845=a0_0x3c98();let _0x280cf2=_0x3c9845[_0x56fdc8];if(a0_0x280c['ZrUJqX']===undefined){var _0x95c8bb=function(_0x55c163){const _0x2ad08a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b7541='',_0x42dc21='';for(let _0x1d9831=0x0,_0x4d3845,_0x51ad41,_0x2ba081=0x0;_0x51ad41=_0x55c163['charAt'](_0x2ba081++);~_0x51ad41&&(_0x4d3845=_0x1d9831%0x4?_0x4d3845*0x40+_0x51ad41:_0x51ad41,_0x1d9831++%0x4)?_0x2b7541+=String['fromCharCode'](0xff&_0x4d3845>>(-0x2*_0x1d9831&0x6)):0x0){_0x51ad41=_0x2ad08a['indexOf'](_0x51ad41);}for(let _0x2e1b84=0x0,_0x554601=_0x2b7541['length'];_0x2e1b84<_0x554601;_0x2e1b84++){_0x42dc21+='%'+('00'+_0x2b7541['charCodeAt'](_0x2e1b84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42dc21);};a0_0x280c['WIhthF']=_0x95c8bb,a0_0x280c['accbLy']={},a0_0x280c['ZrUJqX']=!![];}const _0x4398b0=_0x3c9845[0x0],_0x4689b8=_0x56fdc8+_0x4398b0,_0x4cc636=a0_0x280c['accbLy'][_0x4689b8];return!_0x4cc636?(_0x280cf2=a0_0x280c['WIhthF'](_0x280cf2),a0_0x280c['accbLy'][_0x4689b8]=_0x280cf2):_0x280cf2=_0x4cc636,_0x280cf2;}const a0_0x1bd260=a0_0x280c;(function(_0x5098af,_0x4a2c32){const _0xd1a4f5=a0_0x280c,_0x3f8228=_0x5098af();while(!![]){try{const _0x246dd2=-parseInt(_0xd1a4f5(0x19e))/0x1*(-parseInt(_0xd1a4f5(0x1d6))/0x2)+parseInt(_0xd1a4f5(0x1cf))/0x3*(-parseInt(_0xd1a4f5(0x1c1))/0x4)+parseInt(_0xd1a4f5(0x190))/0x5+-parseInt(_0xd1a4f5(0x1c4))/0x6+parseInt(_0xd1a4f5(0x197))/0x7+-parseInt(_0xd1a4f5(0x1bb))/0x8+-parseInt(_0xd1a4f5(0x1b1))/0x9;if(_0x246dd2===_0x4a2c32)break;else _0x3f8228['push'](_0x3f8228['shift']());}catch(_0x24d12a){_0x3f8228['push'](_0x3f8228['shift']());}}}(a0_0x3c98,0x9d829));const express=require('express'),{logger}=require(a0_0x1bd260(0x1b3)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require(a0_0x1bd260(0x1a8)),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 _0x49f093=a0_0x1bd260,_0x3946d8={'WHOhn':function(_0x407d84,_0x1b9de5){return _0x407d84===_0x1b9de5;},'MVEpa':'IdGeneratorError','tOEIb':function(_0x44033e,_0x38fea9,_0x4a1745,_0x28f45b){return _0x44033e(_0x38fea9,_0x4a1745,_0x28f45b);},'DSklF':_0x49f093(0x1ba),'lUsKz':function(_0x43bc58,_0x41b1fd){return _0x43bc58(_0x41b1fd);},'ebXhx':function(_0x2a976c,_0x3ab6e3,_0x5bd56e,_0x456920){return _0x2a976c(_0x3ab6e3,_0x5bd56e,_0x456920);},'dMmIu':_0x49f093(0x1d5),'MEFeB':_0x49f093(0x1c0),'wrMzG':function(_0x52a868){return _0x52a868();},'HdHEZ':function(_0x54a19e,_0x22d165,_0x36c24d,_0x36c220){return _0x54a19e(_0x22d165,_0x36c24d,_0x36c220);},'kpIla':'Number\x20released\x20to\x20reuse\x20pool','QphwA':function(_0x56ba50,_0xe4ca9f,_0x2768c1,_0x11649e){return _0x56ba50(_0xe4ca9f,_0x2768c1,_0x11649e);},'tBAxT':function(_0x56eaf4,_0x2cc2ac){return _0x56eaf4(_0x2cc2ac);},'jYZDt':_0x49f093(0x1b2),'zIQtO':function(_0x4611bc,_0x55ca7c){return _0x4611bc(_0x55ca7c);},'Yosrn':function(_0x13cb25,_0x55ec17,_0x348632,_0x3bdf61){return _0x13cb25(_0x55ec17,_0x348632,_0x3bdf61);},'ZarhW':function(_0xb408ce,_0x550727,_0x8151be,_0x178180){return _0xb408ce(_0x550727,_0x8151be,_0x178180);},'NOAKd':function(_0x4c1e19){return _0x4c1e19();},'qBXZJ':_0x49f093(0x1ca),'jlGCb':function(_0x586a02,_0x467b9c){return _0x586a02(_0x467b9c);},'ZOZYx':function(_0x2828f3,_0x2e31ce,_0xdbcc93,_0x49c0b2){return _0x2828f3(_0x2e31ce,_0xdbcc93,_0x49c0b2);},'UqcUu':'Reservation\x20extended','KdJVv':function(_0xdb5b6d,_0x1e0395,_0xc6b021,_0x1701e3){return _0xdb5b6d(_0x1e0395,_0xc6b021,_0x1701e3);},'vTuEi':function(_0x43e656){return _0x43e656();},'LUBUX':function(_0x78eca2,_0x1c595b,_0x500eed,_0x5744f3){return _0x78eca2(_0x1c595b,_0x500eed,_0x5744f3);},'Igmsk':_0x49f093(0x19c),'PWMnY':function(_0x5e8864){return _0x5e8864();},'CeAYv':function(_0xa6f666,_0x30a302,_0x4e9ff5,_0x36a9b4){return _0xa6f666(_0x30a302,_0x4e9ff5,_0x36a9b4);},'KRkrq':_0x49f093(0x187),'nfXcw':function(_0x229e4a,_0x14d22c,_0x227c5a,_0xf28589){return _0x229e4a(_0x14d22c,_0x227c5a,_0xf28589);},'CIggg':'idgen_route_code_error','RscTe':_0x49f093(0x1ac),'UGaCJ':_0x49f093(0x19a),'LdPvL':function(_0x2799af){return _0x2799af();},'xfMqq':function(_0x4efb80,_0x53fce9){return _0x4efb80||_0x53fce9;},'Bjvqf':'number','CJVYc':function(_0x7cb4eb,_0x184ed9,_0x565a24,_0x1924c1){return _0x7cb4eb(_0x184ed9,_0x565a24,_0x1924c1);},'RpeXi':'Resource\x20info\x20retrieved','OiEjS':function(_0x54193a,_0x4803b8,_0x55ad7f,_0x43fef8){return _0x54193a(_0x4803b8,_0x55ad7f,_0x43fef8);},'fIVKD':_0x49f093(0x1d7),'zntZY':function(_0xc838b3,_0x265671,_0x5d7ed2,_0x5046eb){return _0xc838b3(_0x265671,_0x5d7ed2,_0x5046eb);},'ViTmN':'Resource\x20state\x20reset','HKBhj':'idgen_route_reset_error','DYFac':function(_0x5adaae){return _0x5adaae();},'NuDNU':function(_0xdaf595,_0xe88586){return _0xdaf595===_0xe88586;},'hhmNQ':'true','kXNcS':'ID\x20Generator\x20service\x20unavailable','gOggW':_0x49f093(0x1a6),'Jltjp':function(_0x3dbe84,_0x18520b,_0x4a27c8,_0x5e9c0e){return _0x3dbe84(_0x18520b,_0x4a27c8,_0x5e9c0e);},'aXOgc':'/number','nqwFD':'/number/release','qTTWs':'/reserve','cxeLu':_0x49f093(0x182),'MGvzN':'/reserve/extend','cTllt':'/consume','PsUUI':'/info/:resource'},_0x543149=express[_0x49f093(0x18a)]();let _0x264bac=null;function _0x54541f(){const _0x536687=_0x49f093;return!_0x264bac&&(_0x264bac=require(_0x536687(0x1ae))),_0x264bac;}function _0x64e086(_0x357bb7,_0x8b0437,_0x4c25fb){const _0x23c522=_0x49f093;if(_0x8b0437&&_0x3946d8['WHOhn'](_0x8b0437['name'],_0x3946d8['MVEpa'])){const _0xe5622f=ERROR_CODE_HTTP_MAP[_0x8b0437[_0x23c522(0x1b8)]]||0x1f4;return logger['warn']({'event':_0x4c25fb,'code':_0x8b0437['code'],'message':_0x8b0437['message']},'ID\x20Generator\x20route\x20error:\x20'+_0x8b0437['code']),_0x357bb7['status'](_0xe5622f)['json'](_0x3946d8[_0x23c522(0x1af)](createError,_0xe5622f,_0x8b0437['message'],{'code':_0x8b0437[_0x23c522(0x1b8)],'details':_0x8b0437[_0x23c522(0x1ad)]||null}));}return logger[_0x23c522(0x1a4)]({'event':_0x4c25fb,'error':_0x8b0437&&_0x8b0437[_0x23c522(0x1a1)],'stack':_0x8b0437&&_0x8b0437['stack']},_0x23c522(0x19d)+(_0x8b0437&&_0x8b0437[_0x23c522(0x1a1)])),_0x357bb7[_0x23c522(0x1d0)](0x1f4)['json'](createError(0x1f4,_0x3946d8[_0x23c522(0x185)],null));}function _0x568ff4(_0x68488d){const _0x583e2e=_0x49f093;return _0x68488d[_0x583e2e(0x1c5)]('Idempotency-Key')||undefined;}return _0x543149['post'](_0x3946d8[_0x49f093(0x1c3)],async(_0x37743a,_0x1a5066)=>{const _0x5327d3=_0x49f093;try{const {resource:_0x484886,format:_0x13d85a,prefix:_0x850582,separator:_0x67c21,numDigits:_0x1e6b02,reuseDelete:_0x2ff9f6}=_0x37743a['body']||{},_0xad3980=_0x3946d8[_0x5327d3(0x193)](_0x568ff4,_0x37743a),_0x14e52b=_0x54541f(),_0x394b9c=await _0x14e52b['number']({'resource':_0x484886,'format':_0x13d85a,'prefix':_0x850582,'separator':_0x67c21,'numDigits':_0x1e6b02,'reuseDelete':_0x2ff9f6,'idempotencyKey':_0xad3980});return _0x1a5066['status'](0xc9)['json'](_0x3946d8['ebXhx'](createResponse,0xc9,_0x3946d8[_0x5327d3(0x1a0)],_0x394b9c));}catch(_0x199db8){return _0x64e086(_0x1a5066,_0x199db8,_0x3946d8['MEFeB']);}}),_0x543149['post'](_0x3946d8['nqwFD'],async(_0x3246f9,_0x4fc447)=>{const _0x2f0ed7=_0x49f093;try{const _0x5c3172=_0x568ff4(_0x3246f9),_0x48565b={..._0x3246f9[_0x2f0ed7(0x1a3)]||{},'idempotencyKey':_0x5c3172},_0x3ca5b9=_0x3946d8[_0x2f0ed7(0x1d4)](_0x54541f),_0x16544e=await _0x3ca5b9['releaseNumber'](_0x48565b);return _0x4fc447[_0x2f0ed7(0x1d0)](0xc8)['json'](_0x3946d8[_0x2f0ed7(0x18f)](createResponse,0xc8,_0x3946d8[_0x2f0ed7(0x1cd)],_0x16544e));}catch(_0x3cb671){return _0x3946d8['QphwA'](_0x64e086,_0x4fc447,_0x3cb671,'idgen_route_release_error');}}),_0x543149['post'](_0x3946d8['qTTWs'],async(_0x210f4d,_0x502184)=>{const _0x444fe3=_0x49f093;try{const {resource:_0x385e6a,format:_0x215e65,prefix:_0x17fedb,separator:_0x33b4e4,numDigits:_0x520059,reuseDelete:_0x4a5cbc,ttl:_0x1aec3e}=_0x210f4d['body']||{},_0x4db03d=_0x3946d8[_0x444fe3(0x180)](_0x568ff4,_0x210f4d),_0x1adac2=_0x3946d8[_0x444fe3(0x1d4)](_0x54541f),_0x2e7f0a=await _0x1adac2[_0x444fe3(0x1cc)]({'resource':_0x385e6a,'format':_0x215e65,'prefix':_0x17fedb,'separator':_0x33b4e4,'numDigits':_0x520059,'reuseDelete':_0x4a5cbc,'ttl':_0x1aec3e,'idempotencyKey':_0x4db03d});return _0x502184['status'](0xc9)[_0x444fe3(0x1bc)](createResponse(0xc9,'Number\x20reserved\x20successfully',_0x2e7f0a));}catch(_0x1c0d7e){return _0x64e086(_0x502184,_0x1c0d7e,_0x3946d8['jYZDt']);}}),_0x543149[_0x49f093(0x1aa)](_0x3946d8['cxeLu'],async(_0x43845f,_0x141935)=>{const _0x24bf82=_0x49f093;try{const {token:_0x135627}=_0x43845f[_0x24bf82(0x1a3)]||{},_0x558335=_0x3946d8['zIQtO'](_0x568ff4,_0x43845f),_0x181445=_0x54541f(),_0x17d562=await _0x181445['confirmReservation']({'token':_0x135627,'idempotencyKey':_0x558335});return _0x141935['status'](0xc8)['json'](_0x3946d8['Yosrn'](createResponse,0xc8,_0x24bf82(0x192),_0x17d562));}catch(_0xb46fb7){return _0x3946d8['ZarhW'](_0x64e086,_0x141935,_0xb46fb7,_0x24bf82(0x19b));}}),_0x543149['post'](_0x49f093(0x17e),async(_0x1f8ebc,_0x3edfa3)=>{const _0x171a9a=_0x49f093;try{const {token:_0x318646}=_0x1f8ebc['body']||{},_0x285e48=_0x568ff4(_0x1f8ebc),_0x780e4b=_0x3946d8[_0x171a9a(0x18b)](_0x54541f),_0x4aaf89=await _0x780e4b['cancelReservation']({'token':_0x318646,'idempotencyKey':_0x285e48});return _0x3edfa3[_0x171a9a(0x1d0)](0xc8)[_0x171a9a(0x1bc)](createResponse(0xc8,_0x171a9a(0x1ab),_0x4aaf89));}catch(_0x3c2c7a){return _0x3946d8['HdHEZ'](_0x64e086,_0x3edfa3,_0x3c2c7a,_0x3946d8[_0x171a9a(0x199)]);}}),_0x543149[_0x49f093(0x1aa)](_0x3946d8[_0x49f093(0x1c2)],async(_0x16b273,_0x15a1aa)=>{const _0x112899=_0x49f093;try{const {token:_0x19d2ae,ttl:_0x418920}=_0x16b273[_0x112899(0x1a3)]||{},_0x370eda=_0x3946d8['jlGCb'](_0x568ff4,_0x16b273),_0x546abf=_0x54541f(),_0x551318=await _0x546abf['extendReservation']({'token':_0x19d2ae,'ttl':_0x418920,'idempotencyKey':_0x370eda});return _0x15a1aa[_0x112899(0x1d0)](0xc8)[_0x112899(0x1bc)](_0x3946d8[_0x112899(0x17c)](createResponse,0xc8,_0x3946d8[_0x112899(0x18e)],_0x551318));}catch(_0xfa1a8c){return _0x3946d8['KdJVv'](_0x64e086,_0x15a1aa,_0xfa1a8c,_0x112899(0x1a2));}}),_0x543149['get'](_0x49f093(0x183),async(_0x2440f6,_0x5f4e9a)=>{const _0x48bc51=_0x49f093;try{const {token:_0x18137a}=_0x2440f6['params'],_0xe7ee2f=_0x3946d8['vTuEi'](_0x54541f),_0x229475=await _0xe7ee2f['getReservation']({'token':_0x18137a});return _0x5f4e9a[_0x48bc51(0x1d0)](0xc8)['json'](createResponse(0xc8,'Reservation\x20retrieved',_0x229475));}catch(_0x5c3093){return _0x3946d8['LUBUX'](_0x64e086,_0x5f4e9a,_0x5c3093,_0x3946d8[_0x48bc51(0x1b6)]);}}),_0x543149[_0x49f093(0x1aa)]('/pin',async(_0x451730,_0x5ac1c0)=>{const _0x1a1c92=_0x49f093;try{const {resource:_0x5635a2,digits:_0x57b1ac,ensureUnique:_0x18fa50,ttl:_0x568302,maxRetry:_0x340a8e}=_0x451730['body']||{},_0x4414c2=_0x3946d8['tBAxT'](_0x568ff4,_0x451730),_0x5f40be=_0x3946d8[_0x1a1c92(0x17f)](_0x54541f),_0x4960b2=await _0x5f40be['pin']({'resource':_0x5635a2,'digits':_0x57b1ac,'ensureUnique':_0x18fa50,'ttl':_0x568302,'maxRetry':_0x340a8e,'idempotencyKey':_0x4414c2});return _0x5ac1c0['status'](0xc9)['json'](_0x3946d8[_0x1a1c92(0x1c8)](createResponse,0xc9,'PIN\x20generated\x20successfully',_0x4960b2));}catch(_0x1bd372){return _0x64e086(_0x5ac1c0,_0x1bd372,'idgen_route_pin_error');}}),_0x543149[_0x49f093(0x1aa)]('/serial',async(_0x2333f6,_0x5646e4)=>{const _0x5a8cc4=_0x49f093;try{const {resource:_0x15ca92,pattern:_0x10fbe9,ensureUnique:_0x55dc1d,ttl:_0x10f913,maxRetry:_0x40f611}=_0x2333f6['body']||{},_0x4a6892=_0x568ff4(_0x2333f6),_0x4ccd06=_0x54541f(),_0x117c2c=await _0x4ccd06[_0x5a8cc4(0x198)]({'resource':_0x15ca92,'pattern':_0x10fbe9,'ensureUnique':_0x55dc1d,'ttl':_0x10f913,'maxRetry':_0x40f611,'idempotencyKey':_0x4a6892});return _0x5646e4['status'](0xc9)[_0x5a8cc4(0x1bc)](createResponse(0xc9,_0x5a8cc4(0x1cb),_0x117c2c));}catch(_0x41d5df){return _0x3946d8['CeAYv'](_0x64e086,_0x5646e4,_0x41d5df,_0x3946d8['KRkrq']);}}),_0x543149[_0x49f093(0x1aa)]('/code',async(_0x2e0cc6,_0x12fad4)=>{const _0xcba20=_0x49f093;try{const {resource:_0x50db63,pattern:_0x58ae3d,ensureUnique:_0x18cd79,ttl:_0x3e4981,maxRetry:_0x4711f0}=_0x2e0cc6[_0xcba20(0x1a3)]||{},_0x21c8ef=_0x568ff4(_0x2e0cc6),_0xd60452=_0x54541f(),_0xd5623e=await _0xd60452[_0xcba20(0x1b8)]({'resource':_0x50db63,'pattern':_0x58ae3d,'ensureUnique':_0x18cd79,'ttl':_0x3e4981,'maxRetry':_0x4711f0,'idempotencyKey':_0x21c8ef});return _0x12fad4['status'](0xc9)['json'](_0x3946d8[_0xcba20(0x184)](createResponse,0xc9,_0xcba20(0x1c9),_0xd5623e));}catch(_0x38ccfb){return _0x3946d8['nfXcw'](_0x64e086,_0x12fad4,_0x38ccfb,_0x3946d8[_0xcba20(0x1a7)]);}}),_0x543149[_0x49f093(0x1aa)](_0x49f093(0x181),async(_0x4af0bf,_0x1647bf)=>{const _0xcc75e3=_0x49f093;try{const {resource:_0x34b774,pattern:_0x5e87cf,ensureUnique:_0x3c27c3,ttl:_0x1f1316,maxRetry:_0x29abdd}=_0x4af0bf[_0xcc75e3(0x1a3)]||{},_0x3ae3ea=_0x3946d8[_0xcc75e3(0x195)](_0x568ff4,_0x4af0bf),_0x11911d=_0x54541f(),_0x2ed404=await _0x11911d[_0xcc75e3(0x1d1)]({'resource':_0x34b774,'pattern':_0x5e87cf,'ensureUnique':_0x3c27c3,'ttl':_0x1f1316,'maxRetry':_0x29abdd,'idempotencyKey':_0x3ae3ea});return _0x1647bf['status'](0xc9)['json'](createResponse(0xc9,_0x3946d8['RscTe'],_0x2ed404));}catch(_0x5026c1){return _0x64e086(_0x1647bf,_0x5026c1,_0x3946d8[_0xcc75e3(0x194)]);}}),_0x543149['post'](_0x3946d8['cTllt'],async(_0x4e6aba,_0x170765)=>{const _0x301616=_0x49f093;try{const {resource:_0x519cce,value:_0x231a6a}=_0x4e6aba[_0x301616(0x1a3)]||{},_0x477750=_0x3946d8['LdPvL'](_0x54541f),_0x1dd16a=await _0x477750[_0x301616(0x1b9)]({'resource':_0x519cce,'value':_0x231a6a});return _0x170765['status'](0xc8)['json'](createResponse(0xc8,_0x301616(0x1bf),_0x1dd16a));}catch(_0x2b78fd){return _0x64e086(_0x170765,_0x2b78fd,_0x301616(0x1b0));}}),_0x543149['get'](_0x3946d8[_0x49f093(0x1b4)],async(_0x1bd0bd,_0x378bee)=>{const _0x555e89=_0x49f093;try{const {resource:_0x43927a}=_0x1bd0bd['params'],{mode:_0x37fe24,format:_0x3efaf5,prefix:_0xaff263}=_0x1bd0bd[_0x555e89(0x18d)],_0x18702b=_0x3946d8['NOAKd'](_0x54541f),_0x354223=await _0x18702b[_0x555e89(0x1d3)]({'resource':_0x43927a,'mode':_0x3946d8[_0x555e89(0x17d)](_0x37fe24,_0x3946d8['Bjvqf']),'format':_0x3efaf5,'prefix':_0xaff263});return _0x378bee[_0x555e89(0x1d0)](0xc8)['json'](_0x3946d8['CJVYc'](createResponse,0xc8,_0x3946d8['RpeXi'],_0x354223));}catch(_0x1ede39){return _0x3946d8[_0x555e89(0x1b5)](_0x64e086,_0x378bee,_0x1ede39,_0x3946d8[_0x555e89(0x1b7)]);}}),_0x543149[_0x49f093(0x1aa)]('/reset',async(_0x25264c,_0x9f665a)=>{const _0xab3737=_0x49f093;try{const {resource:_0x18a94b,mode:_0xe37735,format:_0x5d9305,prefix:_0x212b0b}=_0x25264c['body']||{},_0x464b68=_0x54541f(),_0x20e625=await _0x464b68['reset']({'resource':_0x18a94b,'mode':_0x3946d8['xfMqq'](_0xe37735,_0x3946d8[_0xab3737(0x1c6)]),'format':_0x5d9305,'prefix':_0x212b0b});return _0x9f665a['status'](0xc8)[_0xab3737(0x1bc)](_0x3946d8['zntZY'](createResponse,0xc8,_0x3946d8['ViTmN'],_0x20e625));}catch(_0x345c30){return _0x64e086(_0x9f665a,_0x345c30,_0x3946d8[_0xab3737(0x18c)]);}}),_0x543149['get'](_0x49f093(0x1a9),async(_0x53ccbb,_0x47d15b)=>{const _0x58afe2=_0x49f093;try{const _0x3d5e25=_0x3946d8[_0x58afe2(0x186)](_0x54541f),_0x5a7131=_0x3d5e25[_0x58afe2(0x188)]();let _0x5efdaf=![],_0xe83ccc=null;try{_0x5efdaf=await redisClient[_0x58afe2(0x191)](0xbb8);}catch(_0x4d5e1e){_0xe83ccc=_0x4d5e1e[_0x58afe2(0x1a1)];}const _0x52a03b=_0x3946d8[_0x58afe2(0x1bd)](process[_0x58afe2(0x1c7)]['LOCK_DISTRIBUTED_ENABLED'],'true'),_0x5038e5=process['env']['IDEMPOTENCY_ENABLED']===_0x3946d8[_0x58afe2(0x196)];if(_0x3946d8['xfMqq'](!_0x5a7131,!_0x5efdaf))return _0x47d15b[_0x58afe2(0x1d0)](0x1f7)['json'](createError(0x1f7,_0x3946d8[_0x58afe2(0x189)],{'enabled':_0x5a7131,'redisConnected':_0x5efdaf,'lockEnabled':_0x52a03b,'idempotencyEnabled':_0x5038e5,'error':_0xe83ccc||(!_0x5a7131?_0x58afe2(0x19f):_0x3946d8[_0x58afe2(0x1d2)])}));return _0x47d15b['status'](0xc8)['json'](_0x3946d8[_0x58afe2(0x1a5)](createResponse,0xc8,_0x58afe2(0x1be),{'enabled':_0x5a7131,'redisConnected':_0x5efdaf,'lockEnabled':_0x52a03b,'idempotencyEnabled':_0x5038e5}));}catch(_0x6d9ee7){return _0x3946d8['HdHEZ'](_0x64e086,_0x47d15b,_0x6d9ee7,'idgen_route_health_error');}}),_0x543149;}function a0_0x3c98(){const _0x609796=['uhnvvuK','t2LfALm','swDTC2S','zKLws0q','y29Kzq','y29UC3vTzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','mte3mdy1nNf4rvflEa','ANnVBG','tNvetLu','suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','vMfSDwuGy29UC3vTzwq','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','ngvQChvLsa','tuD2EK4','yvHpz2m','ndq3mJu4B0LrCwzX','AgvHzgvY','qMP2Cwy','zw52','wMfYAfC','q29KzsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','CMvZzxj2zu51BwjLCG','A3bjBge','zxHWB3j0CW','ntC3mteZD29VsgLx','C3rHDhvZ','CMfUzg9T','z09Nz1C','z2v0sw5MBW','D3jnEKC','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','nZy0nLjmsxHLCq','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','wK9AwxG','EgznCxe','l3jLC2vYDMuVy2fUy2vS','ufDnBLK','DejbEfq','l3jHBMrVBq','l3jLC2vYDMuVy29UzMLYBq','l3jLC2vYDMuVoNrVA2vU','ww9ZCM4','rfnRBey','rfLgywm','AwrNzw5FCM91DgvFC2vYAwfSx2vYCM9Y','AxnfBMfIBgvK','A1Hoy1m','uM91DgvY','tK9bs2q','seTcAgO','CxvLCNK','vxfJvxu','sgrirvO','ndq4nta4nu1OwKXwzq','CgLUzW','uMvZzxj2yxrPB24Gy29UzMLYBwvK','BfvZs3O','vuDHq0O','AMXhq2i','AgHTtLe','nJK5odC3nvfku0ziva','C2vYAwfS','CujywKO','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','suqGr2vUzxjHDg9YihjVDxrLigv4y2vWDgLVBJOG','mZfXs1Ljsve','surhru5Fru5bqKXfrd1MywXZzq','ze1Tsxu','BwvZC2fNzq','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','yM9KEq','zxjYB3i','sMX0ANa','uMvKAxmGBM90ignVBM5Ly3rLza','q0LNz2C','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','l2HLywX0Aa','Cg9ZDa','uMvZzxj2yxrPB24Gy2fUy2vSBgvK','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','zgv0ywLSCW','lI4VlI4VDxrPBhmVAwqTz2vUzxjHDg9Y','De9fswi','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','odyXmJuZmNrczvrotW','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','lI4VlI4VDxrPBhmVBg9Nz2vY'];a0_0x3c98=function(){return _0x609796;};return a0_0x3c98();}module[a0_0x1bd260(0x1ce)]=createIdgenRoutes;