@restforgejs/platform 4.1.1 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +43 -4
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +526 -0
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +322 -0
  20. package/generators/cli/schema/generate-ddl.js +7 -10
  21. package/generators/cli/schema/init.js +95 -172
  22. package/generators/cli/schema/introspect.js +3 -2
  23. package/generators/cli/schema/list.js +3 -2
  24. package/generators/cli/schema/migrate.js +13 -18
  25. package/generators/cli/schema/models.js +8 -12
  26. package/generators/cli/schema/template.js +222 -0
  27. package/generators/cli/schema/validate.js +8 -12
  28. package/generators/cli-entry.js +17 -2
  29. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  30. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  31. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  32. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  33. package/generators/lib/migration/audit-table-runner.js +213 -215
  34. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  35. package/generators/lib/payload/payload-runner.js +137 -220
  36. package/generators/lib/payload/schema-diff.js +277 -0
  37. package/generators/lib/templates/dashboard-catalog.js +1 -437
  38. package/generators/lib/templates/db-connection-env.js +1 -212
  39. package/generators/lib/templates/dbschema-catalog.js +1 -489
  40. package/generators/lib/templates/field-validation-catalog.js +1 -531
  41. package/generators/lib/templates/mysql-template.js +1 -3863
  42. package/generators/lib/templates/oracle-template.js +1 -3915
  43. package/generators/lib/templates/postgres-template.js +1 -5838
  44. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  45. package/generators/lib/templates/sqlite-template.js +1 -3440
  46. package/generators/lib/utils/audit-columns.js +181 -0
  47. package/generators/lib/utils/cli-output.js +17 -0
  48. package/generators/lib/utils/database-introspector.js +16 -13
  49. package/generators/lib/utils/env-manager.js +6 -0
  50. package/generators/lib/utils/path-validator.js +71 -0
  51. package/generators/lib/validators/payload-validator.js +1 -2
  52. package/integrity-manifest.json +28 -10
  53. package/package.json +11 -3
  54. package/scripts/verify-integrity.js +1 -1
  55. package/server.js +1 -1
  56. package/src/components/handlers/adjust_handler.js +1 -1
  57. package/src/components/handlers/audit_handler.js +1 -1
  58. package/src/components/handlers/delete_handler.js +1 -1
  59. package/src/components/handlers/export_handler.js +1 -1
  60. package/src/components/handlers/import_handler.js +1 -1
  61. package/src/components/handlers/insert_handler.js +1 -1
  62. package/src/components/handlers/update_handler.js +1 -1
  63. package/src/components/handlers/upload_handler.js +1 -1
  64. package/src/components/handlers/workflow_handler.js +1 -1
  65. package/src/components/integrations/webhook.js +1 -1
  66. package/src/consumers/baseConsumer.js +1 -1
  67. package/src/consumers/declarativeMapper.js +1 -1
  68. package/src/consumers/handlers/apiHandler.js +1 -1
  69. package/src/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/consumers/handlers/index.js +1 -1
  72. package/src/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/consumers/index.js +1 -1
  74. package/src/consumers/messageTransformer.js +1 -1
  75. package/src/consumers/validator.js +1 -1
  76. package/src/core/db/dialect/base-dialect.js +1 -1
  77. package/src/core/db/dialect/index.js +1 -1
  78. package/src/core/db/dialect/mysql-dialect.js +1 -1
  79. package/src/core/db/dialect/oracle-dialect.js +1 -1
  80. package/src/core/db/dialect/postgres-dialect.js +1 -1
  81. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  82. package/src/core/db/flatten-helper.js +1 -1
  83. package/src/core/db/query-builder-error.js +1 -1
  84. package/src/core/db/query-builder.js +1 -1
  85. package/src/core/db/relation-helper.js +1 -1
  86. package/src/core/handlers/delete_handler.js +1 -1
  87. package/src/core/handlers/insert_handler.js +1 -1
  88. package/src/core/handlers/update_handler.js +1 -1
  89. package/src/core/models/base-model.js +1 -1
  90. package/src/core/utils/cache-manager.js +1 -1
  91. package/src/core/utils/component-engine.js +1 -1
  92. package/src/core/utils/context-builder.js +1 -1
  93. package/src/core/utils/datetime-formatter.js +1 -1
  94. package/src/core/utils/datetime-parser.js +1 -1
  95. package/src/core/utils/db.js +1 -1
  96. package/src/core/utils/logger.js +1 -1
  97. package/src/core/utils/payload-loader.js +1 -1
  98. package/src/core/utils/security-checks.js +1 -1
  99. package/src/middleware/body-options.js +1 -1
  100. package/src/middleware/cors.js +1 -1
  101. package/src/middleware/idempotency.js +1 -1
  102. package/src/middleware/rate-limiter.js +1 -1
  103. package/src/middleware/request-logger.js +1 -1
  104. package/src/middleware/security-headers.js +1 -1
  105. package/src/models/base-model-mysql.js +1 -1
  106. package/src/models/base-model-oracle.js +1 -1
  107. package/src/models/base-model-sqlite.js +1 -1
  108. package/src/models/base-model.js +1 -1
  109. package/src/pro/caching/redis-client.js +1 -1
  110. package/src/pro/caching/redis-helper.js +1 -1
  111. package/src/pro/consumers/baseConsumer.js +1 -1
  112. package/src/pro/consumers/declarativeMapper.js +1 -1
  113. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  114. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  115. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  116. package/src/pro/consumers/handlers/index.js +1 -1
  117. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  118. package/src/pro/consumers/index.js +1 -1
  119. package/src/pro/consumers/messageTransformer.js +1 -1
  120. package/src/pro/consumers/validator.js +1 -1
  121. package/src/pro/database/base-model-mysql.js +1 -1
  122. package/src/pro/database/base-model-oracle.js +1 -1
  123. package/src/pro/database/base-model-sqlite.js +1 -1
  124. package/src/pro/database/db-mysql.js +1 -1
  125. package/src/pro/database/db-oracle.js +1 -1
  126. package/src/pro/database/db-sqlite.js +1 -1
  127. package/src/pro/excel/excel-generator.js +1 -1
  128. package/src/pro/excel/excel-parser.js +1 -1
  129. package/src/pro/excel/export-service.js +1 -1
  130. package/src/pro/excel/export_handler.js +1 -1
  131. package/src/pro/excel/import-service.js +1 -1
  132. package/src/pro/excel/import-validator.js +1 -1
  133. package/src/pro/excel/import_handler.js +1 -1
  134. package/src/pro/excel/upsert-builder.js +1 -1
  135. package/src/pro/idgen/idgen-routes.js +1 -1
  136. package/src/pro/integrations/lookup-resolver.js +1 -1
  137. package/src/pro/integrations/upload-handler-v2.js +1 -1
  138. package/src/pro/integrations/upload-handler.js +1 -1
  139. package/src/pro/integrations/webhook.js +1 -1
  140. package/src/pro/locking/lock-routes.js +1 -1
  141. package/src/pro/locking/resource-lock-manager.js +1 -1
  142. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  143. package/src/pro/messaging/kafkaService.js +1 -1
  144. package/src/pro/messaging/messagehubService.js +1 -1
  145. package/src/pro/messaging/rabbitmqService.js +1 -1
  146. package/src/pro/scheduler/job-manager.js +1 -1
  147. package/src/pro/scheduler/job-routes.js +1 -1
  148. package/src/pro/scheduler/job-validator.js +1 -1
  149. package/src/pro/storage/base-storage-provider.js +1 -1
  150. package/src/pro/storage/file-metadata-helper.js +1 -1
  151. package/src/pro/storage/index.js +1 -1
  152. package/src/pro/storage/local-storage-provider.js +1 -1
  153. package/src/pro/storage/s3-storage-provider.js +1 -1
  154. package/src/pro/storage/upload-cleanup-job.js +1 -1
  155. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  156. package/src/pro/storage/upload-pending-tracker.js +1 -1
  157. package/src/pro/websocket/broadcast-helper.js +1 -1
  158. package/src/pro/websocket/index.js +1 -1
  159. package/src/pro/websocket/livesync-server.js +1 -1
  160. package/src/pro/websocket/ws-broadcaster.js +1 -1
  161. package/src/services/export-service.js +1 -1
  162. package/src/services/import-service.js +1 -1
  163. package/src/services/kafkaConsumerService.js +1 -1
  164. package/src/services/kafkaService.js +1 -1
  165. package/src/services/messagehubService.js +1 -1
  166. package/src/services/rabbitmqService.js +1 -1
  167. package/src/utils/cache-invalidation-registry.js +1 -1
  168. package/src/utils/cache-manager.js +1 -1
  169. package/src/utils/component-engine.js +1 -1
  170. package/src/utils/config-extractor.js +1 -1
  171. package/src/utils/consumerLogger.js +1 -1
  172. package/src/utils/context-builder.js +1 -1
  173. package/src/utils/dashboard-helpers.js +1 -1
  174. package/src/utils/dateHelper.js +1 -1
  175. package/src/utils/datetime-formatter.js +1 -1
  176. package/src/utils/datetime-parser.js +1 -1
  177. package/src/utils/db-bootstrap.js +1 -1
  178. package/src/utils/db-mysql.js +1 -1
  179. package/src/utils/db-oracle.js +1 -1
  180. package/src/utils/db-sqlite.js +1 -1
  181. package/src/utils/db.js +1 -1
  182. package/src/utils/demo-generator.js +1 -1
  183. package/src/utils/excel-generator.js +1 -1
  184. package/src/utils/excel-parser.js +1 -1
  185. package/src/utils/file-watcher.js +1 -1
  186. package/src/utils/id-generator.js +1 -1
  187. package/src/utils/idempotency-manager.js +1 -1
  188. package/src/utils/import-validator.js +1 -1
  189. package/src/utils/license-client.js +1 -1
  190. package/src/utils/lock-manager.js +1 -1
  191. package/src/utils/logger.js +1 -1
  192. package/src/utils/lookup-resolver.js +1 -1
  193. package/src/utils/payload-loader.js +1 -1
  194. package/src/utils/processor-response.js +1 -1
  195. package/src/utils/rabbitmq.js +1 -1
  196. package/src/utils/redis-client.js +1 -1
  197. package/src/utils/redis-helper.js +1 -1
  198. package/src/utils/request-scope.js +1 -1
  199. package/src/utils/security-checks.js +1 -1
  200. package/src/utils/service-resolver.js +1 -1
  201. package/src/utils/shutdown-coordinator.js +1 -1
  202. package/src/utils/trusted-keys.js +1 -1
  203. package/src/utils/upload-handler.js +1 -1
  204. package/src/utils/upsert-builder.js +1 -1
  205. package/src/utils/workflow-hook-executor.js +1 -1
  206. package/generators/metadata/global.json +0 -58
  207. package/generators/metadata/test-mysql-workbench.json +0 -118
  208. package/generators/metadata/test-mysql.json +0 -56
  209. package/generators/metadata/test-oracle-workbench.json +0 -118
  210. package/generators/metadata/test-oracle.json +0 -56
  211. package/generators/metadata/test-pg-workbench.json +0 -118
  212. package/generators/metadata/test-pg.json +0 -56
  213. package/generators/scripts/obfuscate-source.js +0 -356
  214. package/generators/scripts/validate-catalog.js +0 -430
  215. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  216. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  217. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  218. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  219. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  220. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  221. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  222. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  223. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  224. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  225. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  226. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  227. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  228. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  229. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  230. package/generators/tests/integration-tahap4b/README.md +0 -145
  231. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  232. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  233. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  234. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  235. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  236. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  237. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  238. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  239. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  240. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  241. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  242. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  243. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  244. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  245. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  246. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  247. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  248. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  249. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  250. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  251. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  252. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  253. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  254. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  255. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  256. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  257. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  258. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  259. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  260. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  261. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  262. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  263. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  264. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  265. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  266. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  267. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  268. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  269. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  270. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  271. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  300. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  301. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  302. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  303. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  304. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  305. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  306. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  307. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  308. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  309. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  310. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  311. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  312. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  313. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  314. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  315. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  316. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  317. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  318. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  319. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  320. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  321. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  322. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  323. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  324. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  325. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  326. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  327. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  328. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  329. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  330. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  331. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  332. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  333. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  334. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  335. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  336. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  337. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  338. package/scripts/generate-integrity-manifest.js +0 -124
  339. package/scripts/snapshot-cli-contracts.js +0 -194
  340. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- const a0_0x5626af=a0_0x4963;(function(_0x4947ea,_0x3cb794){const _0x3b7d17=a0_0x4963,_0x389da5=_0x4947ea();while(!![]){try{const _0x4167b7=parseInt(_0x3b7d17(0x26b))/0x1*(parseInt(_0x3b7d17(0x272))/0x2)+parseInt(_0x3b7d17(0x207))/0x3+parseInt(_0x3b7d17(0x275))/0x4*(parseInt(_0x3b7d17(0x256))/0x5)+parseInt(_0x3b7d17(0x25b))/0x6+parseInt(_0x3b7d17(0x1ed))/0x7+-parseInt(_0x3b7d17(0x268))/0x8*(parseInt(_0x3b7d17(0x22c))/0x9)+parseInt(_0x3b7d17(0x21d))/0xa*(-parseInt(_0x3b7d17(0x209))/0xb);if(_0x4167b7===_0x3cb794)break;else _0x389da5['push'](_0x389da5['shift']());}catch(_0x8471fd){_0x389da5['push'](_0x389da5['shift']());}}}(a0_0x2b57,0xd1694));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x5626af(0x1fe)),{logger,logError}=require('../../core/utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x5626af(0x263))[a0_0x5626af(0x26d)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x5626af(0x214))oracleDb=require(a0_0x5626af(0x27d)),executeQuery=(_0x502055,_0x587720)=>oracleDb[a0_0x5626af(0x25d)](_0x502055,_0x587720),executeTransaction=_0x4d1f6b=>oracleDb[a0_0x5626af(0x26c)](_0x4d1f6b);else{if(dbType===a0_0x5626af(0x217)){const mysqlDb=require(a0_0x5626af(0x23f));executeQuery=(_0x3d58b8,_0x9c5748)=>mysqlDb['executeQuery'](_0x3d58b8,_0x9c5748),executeTransaction=_0x1d4832=>mysqlDb['executeTransaction'](_0x1d4832);}else{const db=require(a0_0x5626af(0x267));executeQuery=db[a0_0x5626af(0x25d)],executeTransaction=db[a0_0x5626af(0x26c)];}}const excelParser=require(a0_0x5626af(0x1f1)),importValidator=require('./import-validator'),upsertBuilder=require(a0_0x5626af(0x216)),lookupResolver=require('../integrations/lookup-resolver');function a0_0x4963(_0x1c5cd4,_0x2980e1){_0x1c5cd4=_0x1c5cd4-0x1de;const _0x2b5704=a0_0x2b57();let _0x49635e=_0x2b5704[_0x1c5cd4];if(a0_0x4963['FgfUYC']===undefined){var _0x12bcd6=function(_0x268c56){const _0xc6f36b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ef484='',_0x453ee8='';for(let _0x3d9b2f=0x0,_0x272a04,_0x4bb084,_0x42d5ab=0x0;_0x4bb084=_0x268c56['charAt'](_0x42d5ab++);~_0x4bb084&&(_0x272a04=_0x3d9b2f%0x4?_0x272a04*0x40+_0x4bb084:_0x4bb084,_0x3d9b2f++%0x4)?_0x4ef484+=String['fromCharCode'](0xff&_0x272a04>>(-0x2*_0x3d9b2f&0x6)):0x0){_0x4bb084=_0xc6f36b['indexOf'](_0x4bb084);}for(let _0x454cd6=0x0,_0x43efe8=_0x4ef484['length'];_0x454cd6<_0x43efe8;_0x454cd6++){_0x453ee8+='%'+('00'+_0x4ef484['charCodeAt'](_0x454cd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x453ee8);};a0_0x4963['PnkBxp']=_0x12bcd6,a0_0x4963['VjoxbC']={},a0_0x4963['FgfUYC']=!![];}const _0x1ad7fe=_0x2b5704[0x0],_0x586ad2=_0x1c5cd4+_0x1ad7fe,_0xa67907=a0_0x4963['VjoxbC'][_0x586ad2];return!_0xa67907?(_0x49635e=a0_0x4963['PnkBxp'](_0x49635e),a0_0x4963['VjoxbC'][_0x586ad2]=_0x49635e):_0x49635e=_0xa67907,_0x49635e;}class ImportService{constructor(){const _0x38a835=a0_0x5626af;this[_0x38a835(0x204)]=null;}get[a0_0x5626af(0x210)](){const _0x1760d2=a0_0x5626af,_0x549d1f={'pSvBC':_0x1760d2(0x25f)};if(!this[_0x1760d2(0x204)]){const _0x801a72=process['env']['RESTFORGE_PROJECT_NAME']||_0x549d1f[_0x1760d2(0x264)];this['_uploadDir']=process[_0x1760d2(0x230)][_0x1760d2(0x27f)]||path[_0x1760d2(0x1f9)](__dirname,'../../temp/uploads/'+_0x801a72);}return this['_uploadDir'];}['generateId'](){const _0x2d65af=a0_0x5626af,_0x5660b5={'feLNh':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','CibeJ':function(_0x12490e,_0x27916f){return _0x12490e-_0x27916f;}},_0xe29d5a=_0x5660b5[_0x2d65af(0x20e)],_0x514474=Date['now']()['toString'](0x24),_0x540890=uuidv7()[_0x2d65af(0x232)](/-/g,'')[_0x2d65af(0x1fb)](0x0,_0x5660b5[_0x2d65af(0x25a)](0xc,_0x514474['length'])),_0x52c0b9=(_0x514474+_0x540890)['substring'](0x0,0xc);let _0x2e2b7e='';for(let _0xc43619=0x0;_0xc43619<0xc;_0xc43619++){_0x52c0b9[_0xc43619]?_0x2e2b7e+=_0x52c0b9[_0xc43619]:_0x2e2b7e+=_0xe29d5a['charAt'](Math['floor'](Math['random']()*_0xe29d5a[_0x2d65af(0x1f0)]));}return _0x2e2b7e;}[a0_0x5626af(0x25c)](_0x5caef3){const _0x1f9d80=a0_0x5626af,_0x4d3ffb={'Ymtxe':'$1_$2','JvDqX':_0x1f9d80(0x221)},_0x3e6208=new Map();if(!_0x5caef3)return _0x3e6208;return Object['entries'](_0x5caef3)[_0x1f9d80(0x271)](([_0x219e4e,_0x49ac9c])=>{const _0x57b631=_0x1f9d80,_0x201696=String(_0x49ac9c)['trim']()['replace'](/\s+/g,'_')[_0x57b631(0x232)](/([a-z])([A-Z])/g,_0x4d3ffb['Ymtxe'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x4d3ffb['Ymtxe'])[_0x57b631(0x26d)]();_0x3e6208[_0x57b631(0x261)](_0x201696,_0x219e4e);}),logger['debug']({'event':_0x4d3ffb['JvDqX'],'mappingCount':_0x3e6208[_0x1f9d80(0x224)]},'Label\x20to\x20field\x20mapping\x20built'),_0x3e6208;}['applyColumnFormats'](_0x12c08f,_0x1ed9ec){const _0xa9e9ab=a0_0x5626af,_0x587862={'SMFMF':function(_0x34f4c7,_0x2db1cf){return _0x34f4c7===_0x2db1cf;},'vXYCN':function(_0x4fe629,_0x2cf727){return _0x4fe629===_0x2cf727;},'UqaDY':_0xa9e9ab(0x250),'SkwYp':'number'};if(!_0x1ed9ec||Object['keys'](_0x1ed9ec)[_0xa9e9ab(0x1f0)]===0x0)return _0x12c08f;return _0x12c08f[_0xa9e9ab(0x1e0)](_0x3de03c=>{const _0x51d2ea=_0xa9e9ab,_0x2da7bf={..._0x3de03c};for(const [_0x28c8e4,_0xa507fe]of Object['entries'](_0x1ed9ec)){const _0xdf4ce2=_0x2da7bf[_0x28c8e4];if(_0xdf4ce2===null||_0x587862[_0x51d2ea(0x240)](_0xdf4ce2,undefined)||_0x587862['vXYCN'](_0xdf4ce2,'')){_0x2da7bf[_0x28c8e4]=null;continue;}switch(_0xa507fe['type']){case _0x587862['UqaDY']:_0x2da7bf[_0x28c8e4]=this['formatDateForDatabase'](_0xdf4ce2);break;case _0x587862['SkwYp']:_0x2da7bf[_0x28c8e4]=this['formatNumberForDatabase'](_0xdf4ce2);break;case _0x51d2ea(0x23d):_0x2da7bf[_0x28c8e4]=String(_0xdf4ce2);break;default:break;}}return _0x2da7bf;});}[a0_0x5626af(0x26e)](_0x1f4dab){const _0x52fdc4=a0_0x5626af,_0x5be132={'koYkh':function(_0x453153,_0x418f99){return _0x453153===_0x418f99;},'wuEZo':'string','EFFns':function(_0x360f59,_0x5af52a){return _0x360f59 instanceof _0x5af52a;},'xcjoH':function(_0x248f84,_0x4191b5){return _0x248f84(_0x4191b5);},'EOgaE':function(_0x4019d1,_0x28ee98){return _0x4019d1+_0x28ee98;}};if(_0x5be132['koYkh'](_0x1f4dab,null)||_0x5be132[_0x52fdc4(0x254)](_0x1f4dab,undefined)||_0x1f4dab==='')return null;if(_0x5be132[_0x52fdc4(0x254)](typeof _0x1f4dab,_0x5be132[_0x52fdc4(0x215)])&&/^\d{4}-\d{2}-\d{2}$/[_0x52fdc4(0x27e)](_0x1f4dab))return _0x1f4dab;if(_0x5be132[_0x52fdc4(0x1f4)](_0x1f4dab,Date)){if(_0x5be132['xcjoH'](isNaN,_0x1f4dab[_0x52fdc4(0x283)]()))return null;const _0x5dc3f1=_0x1f4dab['getFullYear'](),_0x4f3a4f=_0x5be132[_0x52fdc4(0x1e8)](String,_0x5be132['EOgaE'](_0x1f4dab['getMonth'](),0x1))['padStart'](0x2,'0'),_0x495c8e=String(_0x1f4dab[_0x52fdc4(0x246)]())['padStart'](0x2,'0');return _0x5dc3f1+'-'+_0x4f3a4f+'-'+_0x495c8e;}if(typeof _0x1f4dab===_0x5be132[_0x52fdc4(0x215)]){const _0x5d08c4=_0x1f4dab['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5d08c4){const _0x2b5291=_0x5be132[_0x52fdc4(0x1e8)](String,_0x5d08c4[0x1])['padStart'](0x2,'0'),_0x47a30a=String(_0x5d08c4[0x2])['padStart'](0x2,'0'),_0x54822b=_0x5d08c4[0x3];return _0x54822b+'-'+_0x47a30a+'-'+_0x2b5291;}const _0x233e21=_0x1f4dab[_0x52fdc4(0x229)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x233e21){const _0x2cafda=_0x233e21[0x1],_0x5d9833=String(_0x233e21[0x2])['padStart'](0x2,'0'),_0x120517=String(_0x233e21[0x3])['padStart'](0x2,'0');return _0x2cafda+'-'+_0x5d9833+'-'+_0x120517;}}return _0x1f4dab;}['formatNumberForDatabase'](_0x83b0e7){const _0x38ea5c=a0_0x5626af,_0x4c156d={'rFhVh':function(_0xecd516,_0x594410){return _0xecd516===_0x594410;},'TNJZo':function(_0x4fd996,_0x30fe8e){return _0x4fd996(_0x30fe8e);}};if(_0x4c156d['rFhVh'](_0x83b0e7,null)||_0x4c156d[_0x38ea5c(0x1e5)](_0x83b0e7,undefined)||_0x4c156d[_0x38ea5c(0x1e5)](_0x83b0e7,''))return null;if(_0x4c156d['rFhVh'](typeof _0x83b0e7,_0x38ea5c(0x22d)))return _0x4c156d[_0x38ea5c(0x1f3)](isNaN,_0x83b0e7)?null:_0x83b0e7;if(typeof _0x83b0e7===_0x38ea5c(0x1ee)){let _0x57c354=_0x83b0e7['trim']();const _0x18ae55=/,\d{1,2}$/['test'](_0x57c354)&&!/,\d{3}/[_0x38ea5c(0x27e)](_0x57c354);_0x18ae55?_0x57c354=_0x57c354['replace'](/\./g,'')['replace'](',','.'):_0x57c354=_0x57c354['replace'](/,/g,'');const _0x46d4f5=parseFloat(_0x57c354);return isNaN(_0x46d4f5)?null:_0x46d4f5;}return null;}async[a0_0x5626af(0x206)](_0x17cc72,_0x270567){const _0x5366fe=a0_0x5626af,_0x411b47={'rZnpT':function(_0x50b537,_0x3b7a79){return _0x50b537||_0x3b7a79;},'hOUkT':function(_0x5be30e,_0x533899){return _0x5be30e>_0x533899;},'hWjed':_0x5366fe(0x287),'RxSPd':function(_0xfdbd44,_0x588541,_0x1bb158,_0x37ad83){return _0xfdbd44(_0x588541,_0x1bb158,_0x37ad83);},'zIxEY':_0x5366fe(0x23e)},_0x29c738=this[_0x5366fe(0x26f)]();try{let {headers:_0x4b7775,rows:_0x1c79f5,totalRows:_0x4ad7b3}=await excelParser['parseExcelFile'](_0x17cc72[_0x5366fe(0x273)]);const _0x6084ce=this['buildLabelToFieldMap'](_0x270567[_0x5366fe(0x1e1)]),_0x2f528b=_0x4b7775[_0x5366fe(0x1e0)](_0x13af0a=>{const _0x2aa64d=_0x5366fe,_0x2c27d7=_0x6084ce['get'](_0x13af0a);return _0x411b47[_0x2aa64d(0x203)](_0x2c27d7,_0x13af0a);});_0x1c79f5=_0x1c79f5['map'](_0x3c5543=>{const _0x39610a=_0x5366fe,_0x57dbbb={};return _0x4b7775[_0x39610a(0x271)]((_0x3d588a,_0x459670)=>{const _0x2b7749=_0x2f528b[_0x459670];_0x57dbbb[_0x2b7749]=_0x3c5543[_0x3d588a];}),_0x57dbbb;}),_0x4b7775=_0x2f528b,logger[_0x5366fe(0x1f5)]({'event':'headers_mapped','original':_0x4b7775[_0x5366fe(0x1f0)],'mapped':_0x2f528b[_0x5366fe(0x260)]((_0x1aab29,_0x4e1114)=>_0x1aab29!==_0x4b7775[_0x4e1114])[_0x5366fe(0x1f0)]},_0x5366fe(0x269));_0x270567[_0x5366fe(0x282)]&&_0x411b47['hOUkT'](Object[_0x5366fe(0x24d)](_0x270567['columnFormats'])[_0x5366fe(0x1f0)],0x0)&&(_0x1c79f5=this[_0x5366fe(0x1e2)](_0x1c79f5,_0x270567['columnFormats']),logger[_0x5366fe(0x1f5)]({'event':_0x5366fe(0x227),'formatCount':Object[_0x5366fe(0x24d)](_0x270567['columnFormats'])['length'],'formats':Object[_0x5366fe(0x24d)](_0x270567[_0x5366fe(0x282)])},_0x411b47[_0x5366fe(0x23c)]));const _0x2a5307=_0x270567['lookupFields']?Object['values'](_0x270567['lookupFields'])[_0x5366fe(0x1e0)](_0x559518=>_0x559518[_0x5366fe(0x26a)]):[],_0x53a9b1=_0x270567['fieldName'][_0x5366fe(0x260)](_0x212b91=>!_0x2a5307['includes'](_0x212b91)),_0x2d6929=excelParser['validateExcelStructure'](_0x4b7775,_0x53a9b1);if(!_0x2d6929[_0x5366fe(0x223)]){await fs[_0x5366fe(0x1e6)](_0x17cc72['path']);throw new Error(_0x5366fe(0x231)+_0x2d6929['missingFields'][_0x5366fe(0x1f9)](',\x20'));}const _0x290c56={'upload_id':_0x29c738,'filename':_0x17cc72['originalname'],'total_rows':_0x4ad7b3,'headers':_0x4b7775,'rows':_0x1c79f5,'params':_0x270567,'created_at':new Date()[_0x5366fe(0x255)]()};return await redisHelper['setJob'](_0x5366fe(0x24b)+_0x29c738,_0x290c56,0xe10),await fs['unlink'](_0x17cc72[_0x5366fe(0x273)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x29c738,'filename':_0x17cc72[_0x5366fe(0x276)],'totalRows':_0x4ad7b3},_0x5366fe(0x1f7)),{'upload_id':_0x29c738,'total_rows':_0x4ad7b3,'preview':_0x1c79f5[_0x5366fe(0x236)](0x0,0xa)};}catch(_0x4ac15b){try{await fs['unlink'](_0x17cc72[_0x5366fe(0x273)]);}catch(_0x4db01b){_0x411b47[_0x5366fe(0x23a)](logError,_0x4db01b,{'event':_0x5366fe(0x22a)},_0x411b47[_0x5366fe(0x1fa)]);}throw _0x4ac15b;}}async[a0_0x5626af(0x237)](_0x3faf37){const _0x5f8e9a=a0_0x5626af,_0x41fa19={'LelIP':'Preview\x20processing\x20failed','WntUt':'validating'},_0x5a8389=this['generateId'](),_0x17d55e=await redisHelper['getJob'](_0x5f8e9a(0x24b)+_0x3faf37);if(!_0x17d55e)throw new Error(_0x5f8e9a(0x284));const _0x5376ff={'job_id':_0x5a8389,'upload_id':_0x3faf37,'status':_0x41fa19[_0x5f8e9a(0x1ea)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x17d55e['params']};return await redisHelper['setJob']('job:'+_0x5a8389,_0x5376ff,0xe10),logger['info']({'event':_0x5f8e9a(0x21b),'jobId':_0x5a8389,'uploadId':_0x3faf37},'Preview\x20job\x20created'),this[_0x5f8e9a(0x1de)](_0x5a8389,_0x3faf37,_0x17d55e)[_0x5f8e9a(0x220)](_0x35340a=>{const _0xd6132a=_0x5f8e9a;logError(_0x35340a,{'event':_0xd6132a(0x201),'jobId':_0x5a8389},_0x41fa19['LelIP']);}),{'job_id':_0x5a8389,'status':_0x5f8e9a(0x238)};}['autoGenerateUpsertKeys'](_0xcfc0c5,_0x111641){const _0x1e08b6=a0_0x5626af,_0x4e66ef={'dvUIp':function(_0x591d0d,_0x480efc){return _0x591d0d===_0x480efc;},'LuGfm':function(_0x4f7800,_0x6018){return _0x4f7800===_0x6018;},'hynak':function(_0x15cea9,_0x3436a1){return _0x15cea9===_0x3436a1;},'yIrsQ':function(_0x21e0ac){return _0x21e0ac();}};_0xcfc0c5[_0x1e08b6(0x271)]((_0x5be196,_0x80ebe)=>{_0x111641['forEach'](_0x46af31=>{const _0x35c961=a0_0x4963,_0xbb05f7=_0x5be196[_0x46af31];if(_0x4e66ef[_0x35c961(0x277)](_0xbb05f7,null)||_0x4e66ef[_0x35c961(0x213)](_0xbb05f7,undefined)||_0x4e66ef[_0x35c961(0x277)](_0xbb05f7,'')||_0x4e66ef[_0x35c961(0x22e)](String(_0xbb05f7)['trim'](),'-')){const _0x249a2a=_0x4e66ef[_0x35c961(0x222)](uuidv7);_0x5be196[_0x46af31]=_0x249a2a,_0x5be196['_generated_uuid']=_0x5be196[_0x35c961(0x20d)]||{},_0x5be196['_generated_uuid'][_0x46af31]=_0x249a2a,logger[_0x35c961(0x1f5)]({'event':'uuid_auto_generated','rowIndex':_0x80ebe,'field':_0x46af31,'uuid':_0x249a2a},'Auto-generated\x20UUID\x20for\x20'+_0x46af31+'\x20at\x20row\x20'+(_0x80ebe+0x2));}});});}async[a0_0x5626af(0x1de)](_0x5abe1c,_0x3c22c4,_0x1e68bd){const _0x3fc7b9=a0_0x5626af,_0x2de4c7={'YPQkv':function(_0x404163,_0x2ee1b2){return _0x404163===_0x2ee1b2;},'pAUbr':_0x3fc7b9(0x281),'PnGCG':_0x3fc7b9(0x266)};try{let {rows:_0x38e106,params:_0x54d7f1}=_0x1e68bd;const {requiredFields:_0x27805f,validations:_0x155e59,upsertKeys:_0x51092d,tableName:_0x13af82,primaryKey:_0x2f9bfd,fieldName:_0x1090c6,upsertStrategy:_0xd6b400,lookupFields:_0x4648e9}=_0x54d7f1;this['autoGenerateUpsertKeys'](_0x38e106,_0x51092d);let _0x534d99=[];if(_0x4648e9&&Object['keys'](_0x4648e9)[_0x3fc7b9(0x1f0)]>0x0){logger[_0x3fc7b9(0x259)]({'event':_0x3fc7b9(0x262),'jobId':_0x5abe1c,'lookupFieldCount':Object['keys'](_0x4648e9)[_0x3fc7b9(0x1f0)]},_0x3fc7b9(0x218));const _0x308bd4=await lookupResolver[_0x3fc7b9(0x1f6)](_0x38e106,_0x4648e9);_0x38e106=_0x308bd4[_0x3fc7b9(0x23b)],_0x534d99=_0x308bd4['errors'],_0x1e68bd[_0x3fc7b9(0x253)]=_0x38e106;}const _0xe8b75f=importValidator[_0x3fc7b9(0x1fd)](_0x38e106,_0x27805f||[],_0x155e59||{});_0x534d99['forEach'](_0x4a00da=>{const _0x580c05=_0x3fc7b9,_0x545296=_0xe8b75f[_0x580c05(0x20b)](_0x5b453d=>_0x5b453d[_0x580c05(0x1eb)]===_0x4a00da[_0x580c05(0x1eb)]);_0x545296?_0x545296[_0x580c05(0x1ff)]['push'](_0x4a00da['message']):_0xe8b75f['push']({'rowIndex':_0x4a00da[_0x580c05(0x1eb)],'rowData':_0x38e106[_0x4a00da['rowIndex']],'errors':[_0x4a00da['message']]});});const _0x200d7b=importValidator[_0x3fc7b9(0x21c)](_0x38e106,_0x51092d);_0x200d7b[_0x3fc7b9(0x271)](_0x184ddf=>{const _0x5f0d8b=_0x3fc7b9,_0x55edb0=_0xe8b75f['find'](_0x5e662c=>_0x5e662c['rowIndex']===_0x184ddf['rowIndex']),_0x17bb94=_0x51092d[_0x5f0d8b(0x1e0)](_0x14c4d1=>_0x14c4d1['toUpperCase']())['join'](',\x20'),_0xe6d87b='Duplicate\x20value\x20for\x20'+_0x17bb94;_0x55edb0?_0x55edb0['errors']['push'](_0xe6d87b):_0xe8b75f[_0x5f0d8b(0x226)]({'rowIndex':_0x184ddf['rowIndex'],'rowData':_0x38e106[_0x184ddf['rowIndex']],'errors':[_0xe6d87b]});}),await this['detectDatabaseDuplicates'](_0x38e106,_0x51092d,_0x13af82,_0x2f9bfd,_0xd6b400,_0xe8b75f),_0xe8b75f['forEach'](_0x429539=>{const _0x10c5af=_0x3fc7b9,_0x37d3d9=_0x38e106[_0x429539[_0x10c5af(0x1eb)]];_0x37d3d9&&(_0x37d3d9['_errors']=_0x429539[_0x10c5af(0x1ff)]);});let _0xb6ab2b=0x0,_0x2e2f04=0x0,_0x2825d1=0x0;_0x38e106['forEach'](_0x32c8e8=>{const _0x303ebc=_0x3fc7b9;if(_0x2de4c7[_0x303ebc(0x280)](_0x32c8e8['_action'],_0x2de4c7['pAUbr']))_0xb6ab2b++;else{if(_0x32c8e8['_action']===_0x303ebc(0x21a))_0x2e2f04++;else _0x2de4c7[_0x303ebc(0x280)](_0x32c8e8[_0x303ebc(0x247)],'SKIP')&&_0x2825d1++;}});const _0x24fe50={'job_id':_0x5abe1c,'upload_id':_0x3c22c4,'status':_0xe8b75f[_0x3fc7b9(0x1f0)]>0x0?_0x2de4c7[_0x3fc7b9(0x270)]:_0x3fc7b9(0x242),'progress':0x64,'created_at':_0x1e68bd[_0x3fc7b9(0x27b)],'completed_at':new Date()[_0x3fc7b9(0x255)](),'preview':{'total_rows':_0x38e106['length'],'insert_count':_0xb6ab2b,'update_count':_0x2e2f04,'skip_count':_0x2825d1,'error_count':_0xe8b75f['length'],'errors':_0xe8b75f,'data':_0x38e106,'sample_insert':_0x38e106[_0x3fc7b9(0x260)](_0x59b01a=>_0x59b01a['_action']===_0x3fc7b9(0x281))['slice'](0x0,0x5),'sample_update':_0x38e106['filter'](_0x100bd8=>_0x100bd8['_action']===_0x3fc7b9(0x21a))[_0x3fc7b9(0x236)](0x0,0x5),'sample_skip':_0x38e106[_0x3fc7b9(0x260)](_0x27571c=>_0x27571c['_action']==='SKIP')['slice'](0x0,0x5)},'params':_0x54d7f1};await redisHelper['setJob'](_0x3fc7b9(0x245)+_0x5abe1c,_0x24fe50,0xe10),_0x1e68bd['rows']=_0x38e106,await redisHelper[_0x3fc7b9(0x200)](_0x3fc7b9(0x24b)+_0x3c22c4,_0x1e68bd,0xe10),logger['info']({'event':_0x3fc7b9(0x202),'jobId':_0x5abe1c,'status':_0x24fe50[_0x3fc7b9(0x285)],'insertCount':_0xb6ab2b,'updateCount':_0x2e2f04,'skipCount':_0x2825d1,'errorCount':_0xe8b75f['length']},'Preview\x20job\x20completed');}catch(_0x2399ab){logError(_0x2399ab,{'event':'preview_job_failed','jobId':_0x5abe1c},'Preview\x20job\x20failed'),await redisHelper[_0x3fc7b9(0x200)]('job:'+_0x5abe1c,{'job_id':_0x5abe1c,'upload_id':_0x3c22c4,'status':_0x3fc7b9(0x234),'progress':0x0,'error':_0x2399ab['message'],'created_at':new Date()[_0x3fc7b9(0x255)](),'completed_at':new Date()[_0x3fc7b9(0x255)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x2e1aec,_0xf1a860,_0x1bcde4,_0x3144ae,_0x5b1782='update_existing',_0xdc29e3=[]){const _0x41526b=a0_0x5626af,_0x5bce8b={'PnfoQ':function(_0x1568c8,_0x45b06a){return _0x1568c8===_0x45b06a;},'vYUqW':'NULL','FweLu':function(_0x338c6e,_0xebf31){return _0x338c6e(_0xebf31);},'oCRro':_0x41526b(0x21a),'NwLyP':function(_0x5f5774,_0x4349bf){return _0x5f5774===_0x4349bf;},'qjqei':_0x41526b(0x24c),'zHMTd':function(_0x141f7b,_0x51731f){return _0x141f7b!==_0x51731f;},'TBQeX':'skip_existing','LtdQl':function(_0x280ce6,_0x3c7711){return _0x280ce6===_0x3c7711;},'dtfXh':function(_0x44634b,_0x3a0711){return _0x44634b===_0x3a0711;},'MHuuN':_0x41526b(0x281),'eRdfX':function(_0x4c58c8,_0x23325a){return _0x4c58c8===_0x23325a;},'bpOCD':'oracle'},_0x523d90=upsertBuilder['chunkRows'](_0x2e1aec,0x64);for(const _0x2b95cf of _0x523d90){const _0x5b2740=_0x2b95cf[_0x41526b(0x1e0)](_0xeb1ed=>_0xeb1ed[_0xf1a860[0x0]]),_0x42be45=_0x5b2740['map'](_0x351c8e=>{const _0x1ddf6c=_0x41526b;if(_0x5bce8b[_0x1ddf6c(0x248)](_0x351c8e,null)||_0x351c8e===undefined)return _0x5bce8b[_0x1ddf6c(0x21f)];return'\x27'+_0x5bce8b['FweLu'](String,_0x351c8e)[_0x1ddf6c(0x232)](/'/g,'\x27\x27')+'\x27';}),_0x531aff=_0x41526b(0x24f)+_0x3144ae+',\x20'+_0xf1a860['join'](',\x20')+_0x41526b(0x252)+_0x1bcde4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0xf1a860[0x0]+'\x20IN\x20('+_0x42be45['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x29d7cd=await executeQuery(_0x531aff);_0x5bce8b[_0x41526b(0x27a)](dbType,_0x5bce8b[_0x41526b(0x225)])&&_0x29d7cd&&_0x29d7cd['length']>0x0&&(_0x29d7cd=_0x29d7cd[_0x41526b(0x1e0)](_0x5720fc=>{const _0x507816=_0x41526b,_0x224034={};for(const [_0x2dc712,_0x4b29eb]of Object['entries'](_0x5720fc)){_0x224034[_0x2dc712[_0x507816(0x26d)]()]=_0x4b29eb;}return _0x224034;}));const _0x230b9f=new Map();_0x29d7cd['forEach'](_0x6573f5=>{const _0x4fab23=_0x6573f5[_0xf1a860[0x0]];_0x230b9f['set'](_0x4fab23,_0x6573f5);}),_0x2b95cf[_0x41526b(0x271)]((_0x23b921,_0x58e3b7)=>{const _0x4410c3=_0x41526b,_0x4b59be=_0x23b921[_0xf1a860[0x0]],_0x1f18ba=_0x230b9f[_0x4410c3(0x251)](_0x4b59be);if(_0x1f18ba){if(_0x5b1782===_0x4410c3(0x212))_0x23b921[_0x4410c3(0x247)]=_0x5bce8b[_0x4410c3(0x1e3)],_0x23b921[_0x4410c3(0x235)]=_0x1f18ba[_0x3144ae];else{if(_0x5bce8b['NwLyP'](_0x5b1782,_0x5bce8b[_0x4410c3(0x20f)])){_0x23b921[_0x4410c3(0x247)]=_0x4410c3(0x21e),_0x23b921['_errors']=_0x23b921[_0x4410c3(0x228)]||[],_0x23b921['_errors'][_0x4410c3(0x226)](_0x4410c3(0x279));const _0x37e762=_0x2e1aec[_0x4410c3(0x243)](_0x23b921);_0x5bce8b['zHMTd'](_0x37e762,-0x1)&&_0xdc29e3[_0x4410c3(0x226)]({'rowIndex':_0x37e762,'rowData':_0x23b921,'errors':[_0x4410c3(0x279)]});}else _0x5b1782===_0x5bce8b['TBQeX']&&(_0x23b921[_0x4410c3(0x247)]=_0x4410c3(0x21e));}}else{if(_0x5bce8b[_0x4410c3(0x22f)](_0x5b1782,_0x4410c3(0x212)))_0x23b921['_action']='INSERT';else(_0x5b1782===_0x4410c3(0x24c)||_0x5bce8b[_0x4410c3(0x278)](_0x5b1782,_0x4410c3(0x239)))&&(_0x23b921['_action']=_0x5bce8b['MHuuN']);}});}}async[a0_0x5626af(0x20c)](_0x3f9e24){const _0x585d52=a0_0x5626af,_0x22213e={'WeZmH':function(_0xed2796,_0x4174f4,_0x26b8ed,_0x1b781d){return _0xed2796(_0x4174f4,_0x26b8ed,_0x1b781d);},'qgkfa':_0x585d52(0x24e),'JBuYZ':_0x585d52(0x24a),'nJvbB':'Preview\x20job\x20not\x20found\x20or\x20expired','YeoMo':_0x585d52(0x1e4)},_0x1472c9=this[_0x585d52(0x26f)](),_0x3d3a5f=await redisHelper[_0x585d52(0x244)](_0x585d52(0x245)+_0x3f9e24);if(!_0x3d3a5f)throw new Error(_0x22213e['nJvbB']);if(_0x3d3a5f['status']!==_0x585d52(0x242))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x3d3a5f['status']);const _0x46343f={'job_id':_0x1472c9,'upload_id':_0x3d3a5f[_0x585d52(0x258)],'preview_job_id':_0x3f9e24,'status':'processing','progress':0x0,'created_at':new Date()[_0x585d52(0x255)](),'params':_0x3d3a5f[_0x585d52(0x265)]};return await redisHelper['setJob'](_0x585d52(0x245)+_0x1472c9,_0x46343f,0xe10),logger['info']({'event':_0x585d52(0x1f8),'jobId':_0x1472c9,'previewJobId':_0x3f9e24},_0x22213e[_0x585d52(0x1df)]),this['processCommitJob'](_0x1472c9,_0x3d3a5f)['catch'](_0x444556=>{const _0x29165e=_0x585d52;_0x22213e[_0x29165e(0x233)](logError,_0x444556,{'event':_0x22213e[_0x29165e(0x20a)],'jobId':_0x1472c9},_0x22213e['JBuYZ']);}),{'job_id':_0x1472c9,'status':_0x585d52(0x25e)};}async['processCommitJob'](_0x1a21e0,_0x3c638f){const _0x4dba26=a0_0x5626af,_0x3908c4={'XZSfC':'insert','aVPHe':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','freme':function(_0x477a9c,_0x37269b){return _0x477a9c>_0x37269b;},'zCaqU':'completed','Mmeyq':_0x4dba26(0x286),'DuiFK':'Commit\x20job\x20completed','zZsdb':_0x4dba26(0x274),'iDSyA':'failed'};try{const _0x5892bd=await redisHelper['getJob'](_0x4dba26(0x24b)+_0x3c638f[_0x4dba26(0x258)]);if(!_0x5892bd)throw new Error(_0x4dba26(0x284));const {rows:_0x4a2a0f,params:_0x57d004}=_0x5892bd,{tableName:_0x28d5cd,fieldName:_0x474dc7,primaryKey:_0x16ddef,upsertKeys:_0x3fc743,excludeFromImport:_0x2fe3be,lookupFields:_0x4efcad,columnFormats:_0x3008b8}=_0x57d004,_0x5d4312=_0x4efcad?Object['keys'](_0x4efcad):[],_0x530786=new Set([..._0x2fe3be||[],..._0x5d4312]);let _0x395d03=_0x474dc7;_0x530786['size']>0x0&&(_0x395d03=_0x474dc7[_0x4dba26(0x260)](_0x16edf4=>!_0x530786[_0x4dba26(0x211)](_0x16edf4)),logger[_0x4dba26(0x1f5)]({'event':'import_fields_filtered','originalCount':_0x474dc7['length'],'filteredCount':_0x395d03['length'],'excludedFields':Array[_0x4dba26(0x249)](_0x530786),'lookupSourceFields':_0x5d4312},_0x3908c4['aVPHe']));const _0x16432a=_0x4a2a0f[_0x4dba26(0x260)](_0x1612e2=>_0x1612e2['_action']===_0x4dba26(0x281)),_0x56daae=_0x4a2a0f['filter'](_0x5ed927=>_0x5ed927[_0x4dba26(0x247)]===_0x4dba26(0x21a));let _0x502a72=0x0,_0x12de83=0x0;const _0x2d6858=[];if(_0x16432a[_0x4dba26(0x1f0)]>0x0){const _0x22f5ae=upsertBuilder[_0x4dba26(0x22b)](_0x16432a,0x64);for(const _0x16793f of _0x22f5ae){const {query:_0x187f66}=upsertBuilder['buildBatchInsert'](_0x16793f,_0x28d5cd,_0x395d03,_0x3008b8||{});_0x187f66&&_0x2d6858['push']({'sql':_0x187f66,'count':_0x16793f['length'],'type':'insert'});}}if(_0x3908c4['freme'](_0x56daae['length'],0x0)){const _0x5a9aed=upsertBuilder['chunkRows'](_0x56daae,0x64);for(const _0x2af113 of _0x5a9aed){const {query:_0x440080}=upsertBuilder[_0x4dba26(0x219)](_0x2af113,_0x28d5cd,_0x395d03,_0x16ddef,_0x3fc743,_0x3008b8||{});_0x440080&&_0x2d6858[_0x4dba26(0x226)]({'sql':_0x440080,'count':_0x2af113[_0x4dba26(0x1f0)],'type':_0x4dba26(0x257)});}}_0x2d6858['length']>0x0&&await executeTransaction(_0x2d6858['map'](_0x58fb72=>({'sql':_0x58fb72['sql'],'params':[]})));_0x2d6858['forEach'](_0x324a93=>{const _0x38ca7b=_0x4dba26;if(_0x324a93[_0x38ca7b(0x1ef)]===_0x3908c4['XZSfC'])_0x502a72+=_0x324a93[_0x38ca7b(0x205)];else _0x12de83+=_0x324a93[_0x38ca7b(0x205)];});const _0x503543={'job_id':_0x1a21e0,'upload_id':_0x3c638f['upload_id'],'preview_job_id':_0x3c638f['job_id'],'status':_0x3908c4['zCaqU'],'progress':0x64,'created_at':_0x3c638f['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x4a2a0f['length'],'inserted_rows':_0x502a72,'updated_rows':_0x12de83,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x57d004};await redisHelper['setJob'](_0x4dba26(0x245)+_0x1a21e0,_0x503543,0xe10),logger[_0x4dba26(0x259)]({'event':_0x3908c4['Mmeyq'],'jobId':_0x1a21e0,'insertedCount':_0x502a72,'updatedCount':_0x12de83},_0x3908c4[_0x4dba26(0x1e9)]);}catch(_0xc75e58){logError(_0xc75e58,{'event':_0x4dba26(0x1e7),'jobId':_0x1a21e0},_0x3908c4[_0x4dba26(0x1ec)]),await redisHelper[_0x4dba26(0x200)](_0x4dba26(0x245)+_0x1a21e0,{'job_id':_0x1a21e0,'upload_id':_0x3c638f['upload_id'],'preview_job_id':_0x3c638f[_0x4dba26(0x241)],'status':_0x3908c4[_0x4dba26(0x1fc)],'progress':0x0,'error':_0xc75e58['message'],'created_at':_0x3c638f['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x4dba26(0x255)]()},0xe10);}}async[a0_0x5626af(0x27c)](_0x517315){const _0x995f0c=a0_0x5626af,_0x10a24e=await redisHelper['getJob'](_0x995f0c(0x245)+_0x517315);if(!_0x10a24e)return{'success':![],'error':_0x995f0c(0x208)};return{'success':!![],'data':_0x10a24e};}}module[a0_0x5626af(0x1f2)]=new ImportService();function a0_0x2b57(){const _0x171300=['DLLvCvC','y2f0y2G','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','EuLYC1e','DMfSAwq','C2L6zq','yNbpq0q','ChvZAa','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','x2vYCM9YCW','Bwf0y2G','zMLSzv9JBgvHBNvWx2vYCM9Y','y2H1BMTsB3DZ','mtHNANzwz3G','BNvTyMvY','AhLUywS','thrKuwW','zw52','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','CMvWBgfJzq','v2vABuG','zMfPBgvK','x2v4Axn0Aw5Nswq','C2XPy2u','y3jLyxrLuhjLDMLLD0PVyG','DMfSAwrHDgLUzW','C2TPCf9LEgLZDgLUzW','uNHtugq','ChjVy2vZC2vKuM93CW','AfDQzwq','Dgv4Da','rMfPBgvKihrVignSzwfUDxaGzMLSzq','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','u01gtuy','AM9Ix2LK','ChjLDMLLD19VAW','Aw5KzxHpzG','z2v0sM9I','AM9IoG','z2v0rgf0zq','x2fJDgLVBG','ug5MB1e','zNjVBq','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','DxbSB2fKoG','Aw5Zzxj0x29UBhK','A2v5CW','y29TBwL0x3bYB2nLC3nFzxjYB3i','cIaGicaGicaGu0vmrunuia','zgf0zq','z2v0','cIaGicaGicaGrLjptsa','CM93CW','A29zA2G','Dg9ju09tDhjPBMC','mZiWmgHbquPxza','DxbKyxrL','DxbSB2fKx2LK','Aw5MBW','q2LIzuO','mtuWndy1nMnZzLzWyG','yNvPBgrmywjLBfrVrMLLBgrnyxa','zxHLy3v0zvf1zxj5','ChjVy2vZC2LUzW','zgvMyxvSDa','zMLSDgvY','C2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Cg9ZDgDYzxnXBa','Cfn2qKm','CgfYyw1Z','ChjLDMLLD19LCNjVCG','lI4VlI4Vy29Yzs91DgLSCY9KyG','ndK3oduYmhL1r1jiAG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','DgfYz2v0rMLLBgq','mZiXweDcALrh','zxHLy3v0zvrYyw5Zywn0Aw9U','Dg9mB3DLCKnHC2u','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','z2vUzxjHDgvjza','ug5hq0C','zM9YrwfJAa','mJGZogXgqxvUDW','Cgf0Aa','q29TBwL0igPVyIbMywLSzwq','nde4nfjZAxjfBq','B3jPz2LUywXUyw1L','zhzvsxa','zhrMwgG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zvjKzLG','y3jLyxrLzf9HDa','z2v0sM9Iu3rHDhvZ','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','DgvZDa','vvbmt0fex0rjuG','wvbrA3y','su5trvju','y29SDw1UrM9YBwf0CW','z2v0vgLTzq','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','C3rHDhvZ','y29TBwL0x2PVyL9JB21WBgv0zwq','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','ChjVy2vZC1bYzxzPzxDkB2i','wwvVtw8','BwfW','zMLLBgrmywjLBhm','yxbWBhLdB2X1Bw5gB3jTyxrZ','B0nsCM8','q29TBwL0igPVyIbJCMvHDgvK','CKzOvMG','Dw5SAw5R','y29TBwL0x2PVyL9MywLSzwq','EgnQB0G','rhvPrKS','v250vxq','CM93sw5KzxG','ELPZzgi','nJK4nJu0nMnRCKPMtG','C3rYAw5N','DhLWzq','BgvUz3rO','lI9LEgnLBc1WyxjZzxi','zxHWB3j0CW','ve5kwM8','ruzgBNm','zgvIDwC','ChjVy2vZC0XVB2T1CezPzwXKCW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','y29TBwL0x2PVyL9JCMvHDgvK','AM9PBG','EKL4rvK','C3vIC3rYAw5N','AurtEue','yMf0y2HwywXPzgf0zvjVD3m','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','zxjYB3jZ','C2v0sM9I','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ChjLDMLLD19QB2jFy29TCgXLDgvK','CLPUCfq','x3vWBg9HzerPCG','y291BNq','DxbSB2fKrMLSzq','ndC4mZK4nNfiquvOzq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','mZG3mJK5s2PMCw1A','CwDRzMe','zMLUza','y3jLyxrLq29TBwL0sM9I','x2DLBMvYyxrLzf91DwLK','zMvmtMG','CwPXzwK','DxbSB2fKrgLY','AgfZ','DxbKyxrLx2v4Axn0Aw5N','thvhzM0','B3jHy2XL','D3vfwM8','lI91ChnLCNqTyNvPBgrLCG','BxLZCwW','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','yNvPBgrcyxrJAfvWzgf0zq','vvbeqvrf','ChjLDMLLD19QB2jFy3jLyxrLza','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','ntmWBffXqvnt','u0Tjua'];a0_0x2b57=function(){return _0x171300;};return a0_0x2b57();}
1
+ const a0_0x369328=a0_0x45bd;(function(_0xb101b,_0x30073e){const _0x1b9526=a0_0x45bd,_0x530c96=_0xb101b();while(!![]){try{const _0x112635=parseInt(_0x1b9526(0x13f))/0x1*(-parseInt(_0x1b9526(0x10c))/0x2)+-parseInt(_0x1b9526(0x117))/0x3*(-parseInt(_0x1b9526(0x11b))/0x4)+parseInt(_0x1b9526(0x175))/0x5+parseInt(_0x1b9526(0x159))/0x6+parseInt(_0x1b9526(0xf3))/0x7+-parseInt(_0x1b9526(0x152))/0x8*(-parseInt(_0x1b9526(0x189))/0x9)+parseInt(_0x1b9526(0x12b))/0xa*(-parseInt(_0x1b9526(0x17c))/0xb);if(_0x112635===_0x30073e)break;else _0x530c96['push'](_0x530c96['shift']());}catch(_0x2e0e4e){_0x530c96['push'](_0x530c96['shift']());}}}(a0_0x3d14,0x8ba8e));const {v7:uuidv7}=require('uuid'),path=require(a0_0x369328(0x150)),fs=require('fs')['promises'],redisHelper=require(a0_0x369328(0x145)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x369328(0x15a)]['DB_TYPE']||'postgresql')[a0_0x369328(0x16c)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x369328(0x151)),executeQuery=(_0x4833b6,_0x317482)=>oracleDb[a0_0x369328(0x118)](_0x4833b6,_0x317482),executeTransaction=_0x55c4ea=>oracleDb['executeTransaction'](_0x55c4ea);else{if(dbType===a0_0x369328(0x103)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x388739,_0x42cc47)=>mysqlDb[a0_0x369328(0x118)](_0x388739,_0x42cc47),executeTransaction=_0x16da68=>mysqlDb['executeTransaction'](_0x16da68);}else{const db=require('../../core/utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x369328(0x148)];}}const excelParser=require('./excel-parser'),importValidator=require('./import-validator'),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x369328(0x171));function a0_0x45bd(_0x38397c,_0x44795e){_0x38397c=_0x38397c-0xf3;const _0x3d1434=a0_0x3d14();let _0x45bdb5=_0x3d1434[_0x38397c];if(a0_0x45bd['xLZunO']===undefined){var _0x20fdda=function(_0x2c89f1){const _0x1a109f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a3cb1='',_0x1ece5a='';for(let _0x3d862f=0x0,_0x33a4bb,_0x47698a,_0x2c6842=0x0;_0x47698a=_0x2c89f1['charAt'](_0x2c6842++);~_0x47698a&&(_0x33a4bb=_0x3d862f%0x4?_0x33a4bb*0x40+_0x47698a:_0x47698a,_0x3d862f++%0x4)?_0x3a3cb1+=String['fromCharCode'](0xff&_0x33a4bb>>(-0x2*_0x3d862f&0x6)):0x0){_0x47698a=_0x1a109f['indexOf'](_0x47698a);}for(let _0x20ed00=0x0,_0x3bc4be=_0x3a3cb1['length'];_0x20ed00<_0x3bc4be;_0x20ed00++){_0x1ece5a+='%'+('00'+_0x3a3cb1['charCodeAt'](_0x20ed00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece5a);};a0_0x45bd['evBgVT']=_0x20fdda,a0_0x45bd['sEYvtX']={},a0_0x45bd['xLZunO']=!![];}const _0x303d13=_0x3d1434[0x0],_0x4196dc=_0x38397c+_0x303d13,_0x359cd9=a0_0x45bd['sEYvtX'][_0x4196dc];return!_0x359cd9?(_0x45bdb5=a0_0x45bd['evBgVT'](_0x45bdb5),a0_0x45bd['sEYvtX'][_0x4196dc]=_0x45bdb5):_0x45bdb5=_0x359cd9,_0x45bdb5;}function a0_0x3d14(){const _0x861f50=['C3fS','BM93','ChjLDMLLD19QB2jFy3jLyxrLza','ChjVy2vZC1bYzxzPzxDkB2i','mta2otjczLrctum','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','cIaGicaGicaGrLjptsa','C2XPy2u','B3rRug4','BwfW','DxvPzf9HDxrVx2DLBMvYyxrLza','t3ncq08','y29SDw1UrM9YBwf0CW','ChvZAa','Bvv3zNC','t0nsy2u','Bwf0y2G','mtHkwuDrqvq','tNjVrNa','vgfLs2q','qvHItKC','BwvZC2fNzq','Bg9VA3vWrMLLBgrZ','ndmXmZGZngfrseHACa','CgfKu3rHCNq','BNvTyMvY','CM93sw5KzxG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','yLvPwK0','z2v0rgf0zq','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','ieLoicG','B3jHy2XL','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','AM9IoG','r1zQrei','x2fJDgLVBG','z2v0','BxLZCwW','yxbWBhLdB2X1Bw5gB3jTyxrZ','y2f0y2G','zxz0qM0','q29TBwL0igPVyIbJCMvHDgvK','x2vYCM9YCW','sMX6yK8','DgvZDa','BgvUz3rO','mta2mJC5nKngr2vcDa','zw50CMLLCW','BwTbrhC','y29TBwL0x2PVyL9JB21WBgv0zwq','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','u0Tjua','ChjLDMLLD19VAW','AM9Ix2LK','Aw5JBhvKzxm','m2PnEwvrzG','zxHLy3v0zvf1zxj5','DMfSAwq','tuHAz2u','mti3mdG4ogXxANrvDG','ywHRCg8','y3jLyxrLzf9HDa','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','Aw5Zzxj0x29UBhK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','su5trvju','DxzwCgm','AM9PBG','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','x2DLBMvYyxrLzf91DwLK','Dw5SAw5R','z2v0sM9I','vvbeqvrf','ChjVy2vZC0nVBw1PDePVyG','DhjPBq','mJe3mJbKuMPls1y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','yNvPBgrcyxrJAfvWzgf0zq','B2Pszfq','DxbSB2fKoG','ChjVy2vZC0XVB2T1CezPzwXKCW','C3rHDhvZ','qNvPqxO','uNzrs1G','qLfcDhy','zMXVB3i','zgftv0W','x3vWBg9HzerPCG','DMfSDwvZ','zhnorei','q29TBwL0igPVyIbJB21WBgv0zwq','zM9YrwfJAa','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','mLfpvvzsEG','C2v0sM9I','CM93CW','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','DMvSu1G','A2v5CW','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','ChjLDMLLD19QB2jFzMfPBgvK','BgPdD3m','zxHLy3v0zvrYyw5Zywn0Aw9U','y291BNq','C2TPCf9LEgLZDgLUzW','yNP1DNu','DMfSAwrHDgLUzW','CMvWBgfJzq','zwj5BKS','DhLWzq','Cgf0Aa','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','mZC3nJC3nNnSrNLtvq','CMfUzg9T','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Dg9vChbLCKnHC2u','Aw5MBW','cIaGicaGicaGu0vmrunuia','rhvWBgLJyxrLihzHBhvLigzVCIa','ntKXmtKYnKjuuejuyG','zw52','zMfPBgvK','B3jPz2LUywXUyw1L','C2v0','CgfYyw1Z','DNHXr1O','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zg1Sz2y','B0DlAK8','y29TCgXLDgvK','y3jLyxrLuhjLDMLLD0PVyG','DxbKyxrLx2v4Axn0Aw5N','yxPvwha','uhjLDMLLDYbQB2iGy3jLyxrLza','AMjUEMO','C3vIC3rYAw5N','zMLSDgvY','Dg9mB3DLCKnHC2u','z2v0sM9Iu3rHDhvZ','z2v0tw9UDgG','zgvIDwC','Aw5Zzxj0','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','zMLUza','tLvmta','zenksLu','ndqXmJyZnwPvAMzOEG','C2L6zq','qvbSDu4'];a0_0x3d14=function(){return _0x861f50;};return a0_0x3d14();}class ImportService{constructor(){const _0x10a56c=a0_0x369328;this[_0x10a56c(0x138)]=null;}get['uploadDir'](){const _0x2fb5e1=a0_0x369328;if(!this[_0x2fb5e1(0x138)]){const _0x38a678=process[_0x2fb5e1(0x15a)][_0x2fb5e1(0x12c)]||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x2fb5e1(0x123)](__dirname,'../../temp/uploads/'+_0x38a678);}return this[_0x2fb5e1(0x138)];}['generateId'](){const _0x5798c8=a0_0x369328,_0x27d40a={'iXKFI':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','dmlgf':function(_0x2d2111){return _0x2d2111();}},_0x45e826=_0x27d40a['iXKFI'],_0x4c67b3=Date[_0x5798c8(0x179)]()['toString'](0x24),_0x8cc72=_0x27d40a[_0x5798c8(0x162)](uuidv7)[_0x5798c8(0x14d)](/-/g,'')[_0x5798c8(0x16a)](0x0,0xc-_0x4c67b3[_0x5798c8(0x10b)]),_0x2b22fc=(_0x4c67b3+_0x8cc72)[_0x5798c8(0x16a)](0x0,0xc);let _0x53b0bb='';for(let _0x7b59c4=0x0;_0x7b59c4<0xc;_0x7b59c4++){_0x2b22fc[_0x7b59c4]?_0x53b0bb+=_0x2b22fc[_0x7b59c4]:_0x53b0bb+=_0x45e826['charAt'](Math[_0x5798c8(0x136)](Math[_0x5798c8(0x153)]()*_0x45e826['length']));}return _0x53b0bb;}['buildLabelToFieldMap'](_0x18e26c){const _0x7ac352=a0_0x369328,_0x292285={'RvQKX':'$1_$2','ljCws':'label_to_field_map_built'},_0x49c199=new Map();if(!_0x18e26c)return _0x49c199;return Object['entries'](_0x18e26c)['forEach'](([_0x208e5f,_0x1feefb])=>{const _0x211740=a0_0x45bd,_0x520338=String(_0x1feefb)[_0x211740(0x12a)]()[_0x211740(0x14d)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x292285['RvQKX'])[_0x211740(0x14d)](/([A-Z]+)([A-Z][a-z])/g,_0x292285[_0x211740(0x134)])['toLowerCase']();_0x49c199[_0x211740(0x15d)](_0x520338,_0x208e5f);}),logger['debug']({'event':_0x292285[_0x7ac352(0x147)],'mappingCount':_0x49c199[_0x7ac352(0x176)]},_0x7ac352(0x11e)),_0x49c199;}[a0_0x369328(0x104)](_0x3a98d9,_0x166b28){const _0x35a797=a0_0x369328,_0x27d994={'SfSkr':function(_0x2347f7,_0x22df6b){return _0x2347f7===_0x22df6b;},'OCRce':function(_0x2cdfe8,_0x73ef8){return _0x2cdfe8===_0x73ef8;},'DslWF':function(_0x4af2ba,_0x576a23){return _0x4af2ba===_0x576a23;}};if(!_0x166b28||_0x27d994['DslWF'](Object[_0x35a797(0x144)](_0x166b28)['length'],0x0))return _0x3a98d9;return _0x3a98d9[_0x35a797(0x181)](_0x1b89c8=>{const _0x1a501c=_0x35a797,_0x5e2944={..._0x1b89c8};for(const [_0x3c64d4,_0x2fa278]of Object[_0x1a501c(0x10d)](_0x166b28)){const _0x494051=_0x5e2944[_0x3c64d4];if(_0x27d994['SfSkr'](_0x494051,null)||_0x494051===undefined||_0x27d994[_0x1a501c(0x187)](_0x494051,'')){_0x5e2944[_0x3c64d4]=null;continue;}switch(_0x2fa278['type']){case'date':_0x5e2944[_0x3c64d4]=this['formatDateForDatabase'](_0x494051);break;case _0x1a501c(0xf5):_0x5e2944[_0x3c64d4]=this[_0x1a501c(0x161)](_0x494051);break;case'text':_0x5e2944[_0x3c64d4]=String(_0x494051);break;default:break;}}return _0x5e2944;});}[a0_0x369328(0x13d)](_0x329f6a){const _0x5ce953=a0_0x369328,_0x1a824f={'NVAFd':function(_0x30c204,_0x5b6c0a){return _0x30c204===_0x5b6c0a;},'FMbSn':'string','YpcIZ':function(_0x3ca2f1,_0x4e14fb){return _0x3ca2f1 instanceof _0x4e14fb;},'NhsZy':function(_0x34e086,_0x56202d){return _0x34e086(_0x56202d);},'jbnzj':function(_0x2a15d5,_0x547730){return _0x2a15d5===_0x547730;},'JlzbO':function(_0x20ec1a,_0xb5d7ed){return _0x20ec1a(_0xb5d7ed);},'NroFp':function(_0x4e3838,_0x41c054){return _0x4e3838(_0x41c054);}};if(_0x1a824f['NVAFd'](_0x329f6a,null)||_0x329f6a===undefined||_0x329f6a==='')return null;if(_0x1a824f['NVAFd'](typeof _0x329f6a,_0x1a824f['FMbSn'])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x329f6a))return _0x329f6a;if(_0x1a824f['YpcIZ'](_0x329f6a,Date)){if(isNaN(_0x329f6a['getTime']()))return null;const _0x111aca=_0x329f6a['getFullYear'](),_0x3dbd3b=String(_0x329f6a[_0x5ce953(0x16e)]()+0x1)[_0x5ce953(0xf4)](0x2,'0'),_0x11ade0=_0x1a824f['NhsZy'](String,_0x329f6a[_0x5ce953(0xf9)]())['padStart'](0x2,'0');return _0x111aca+'-'+_0x3dbd3b+'-'+_0x11ade0;}if(_0x1a824f[_0x5ce953(0x169)](typeof _0x329f6a,'string')){const _0x21b545=_0x329f6a['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x21b545){const _0x3e1452=_0x1a824f['NhsZy'](String,_0x21b545[0x1])[_0x5ce953(0xf4)](0x2,'0'),_0x57ed4d=_0x1a824f[_0x5ce953(0x109)](String,_0x21b545[0x2])['padStart'](0x2,'0'),_0x240a4a=_0x21b545[0x3];return _0x240a4a+'-'+_0x57ed4d+'-'+_0x3e1452;}const _0x5368c0=_0x329f6a[_0x5ce953(0x188)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5368c0){const _0x48681f=_0x5368c0[0x1],_0x2e358b=_0x1a824f[_0x5ce953(0x18a)](String,_0x5368c0[0x2])['padStart'](0x2,'0'),_0x48f273=_0x1a824f['NroFp'](String,_0x5368c0[0x3])['padStart'](0x2,'0');return _0x48681f+'-'+_0x2e358b+'-'+_0x48f273;}}return _0x329f6a;}[a0_0x369328(0x161)](_0x185584){const _0x53262d=a0_0x369328,_0x1ee5bf={'velSX':function(_0x88f4b7,_0x19bad2){return _0x88f4b7===_0x19bad2;},'APluN':function(_0x2174db,_0x54a570){return _0x2174db(_0x54a570);}};if(_0x1ee5bf[_0x53262d(0x143)](_0x185584,null)||_0x185584===undefined||_0x185584==='')return null;if(typeof _0x185584===_0x53262d(0xf5))return isNaN(_0x185584)?null:_0x185584;if(typeof _0x185584==='string'){let _0x489a17=_0x185584['trim']();const _0x5ad633=/,\d{1,2}$/['test'](_0x489a17)&&!/,\d{3}/[_0x53262d(0x10a)](_0x489a17);_0x5ad633?_0x489a17=_0x489a17['replace'](/\./g,'')[_0x53262d(0x14d)](',','.'):_0x489a17=_0x489a17[_0x53262d(0x14d)](/,/g,'');const _0x44d435=_0x1ee5bf[_0x53262d(0x177)](parseFloat,_0x489a17);return isNaN(_0x44d435)?null:_0x44d435;}return null;}async['uploadFile'](_0x53f8fd,_0x24fe01){const _0x17a6d2=a0_0x369328,_0x5bfc11={'oQuUX':function(_0x998881,_0x45fede){return _0x998881||_0x45fede;},'SaCrT':function(_0x2aa015,_0x18aa33){return _0x2aa015>_0x18aa33;},'QjXGJ':_0x17a6d2(0xfa),'mkADw':'Failed\x20to\x20cleanup\x20file'},_0x5eeb47=this['generateId']();try{let {headers:_0x4e4d27,rows:_0x25a596,totalRows:_0x5bd3c4}=await excelParser['parseExcelFile'](_0x53f8fd[_0x17a6d2(0x150)]);const _0x4fe69b=this['buildLabelToFieldMap'](_0x24fe01['fieldLabels']),_0xdec594=_0x4e4d27['map'](_0x975741=>{const _0x1f8f15=_0x17a6d2,_0x821258=_0x4fe69b[_0x1f8f15(0x102)](_0x975741);return _0x5bfc11['oQuUX'](_0x821258,_0x975741);});_0x25a596=_0x25a596[_0x17a6d2(0x181)](_0xe64683=>{const _0x57a49d={};return _0x4e4d27['forEach']((_0x31b022,_0x171f0d)=>{const _0x3cf4af=_0xdec594[_0x171f0d];_0x57a49d[_0x3cf4af]=_0xe64683[_0x31b022];}),_0x57a49d;}),_0x4e4d27=_0xdec594,logger['debug']({'event':'headers_mapped','original':_0x4e4d27['length'],'mapped':_0xdec594[_0x17a6d2(0x16b)]((_0x57e16b,_0x1588fc)=>_0x57e16b!==_0x4e4d27[_0x1588fc])[_0x17a6d2(0x10b)]},_0x17a6d2(0x112));_0x24fe01[_0x17a6d2(0x184)]&&_0x5bfc11['SaCrT'](Object['keys'](_0x24fe01[_0x17a6d2(0x184)])['length'],0x0)&&(_0x25a596=this[_0x17a6d2(0x104)](_0x25a596,_0x24fe01[_0x17a6d2(0x184)]),logger[_0x17a6d2(0x16f)]({'event':'column_formats_applied','formatCount':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])['length'],'formats':Object[_0x17a6d2(0x144)](_0x24fe01['columnFormats'])},_0x17a6d2(0x120)));const _0x1563b4=_0x24fe01[_0x17a6d2(0x18e)]?Object[_0x17a6d2(0x139)](_0x24fe01['lookupFields'])['map'](_0x5dd830=>_0x5dd830['targetField']):[],_0xef23fc=_0x24fe01['fieldName'][_0x17a6d2(0x16b)](_0x4c8d6b=>!_0x1563b4[_0x17a6d2(0x116)](_0x4c8d6b)),_0x38cec6=excelParser[_0x17a6d2(0xf7)](_0x4e4d27,_0xef23fc);if(!_0x38cec6[_0x17a6d2(0x119)]){await fs[_0x17a6d2(0x126)](_0x53f8fd['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x38cec6['missingFields']['join'](',\x20'));}const _0x269a76={'upload_id':_0x5eeb47,'filename':_0x53f8fd['originalname'],'total_rows':_0x5bd3c4,'headers':_0x4e4d27,'rows':_0x25a596,'params':_0x24fe01,'created_at':new Date()['toISOString']()};return await redisHelper[_0x17a6d2(0x140)]('upload:'+_0x5eeb47,_0x269a76,0xe10),await fs['unlink'](_0x53f8fd[_0x17a6d2(0x150)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x5eeb47,'filename':_0x53f8fd[_0x17a6d2(0x15c)],'totalRows':_0x5bd3c4},_0x5bfc11['QjXGJ']),{'upload_id':_0x5eeb47,'total_rows':_0x5bd3c4,'preview':_0x25a596['slice'](0x0,0xa)};}catch(_0x318f34){try{await fs[_0x17a6d2(0x126)](_0x53f8fd[_0x17a6d2(0x150)]);}catch(_0x4fc547){logError(_0x4fc547,{'event':'file_cleanup_error'},_0x5bfc11[_0x17a6d2(0x10e)]);}throw _0x318f34;}}async[a0_0x369328(0x165)](_0x4d0079){const _0x503b38=a0_0x369328,_0x3f7347={'xIOBO':function(_0x16bef5,_0x5388f5,_0x3380ce,_0x30d42c){return _0x16bef5(_0x5388f5,_0x3380ce,_0x30d42c);},'azUXp':'Preview\x20processing\x20failed','GVjDB':_0x503b38(0x154),'BQBtv':_0x503b38(0x14c),'TaeKd':_0x503b38(0x168)},_0x2b3845=this['generateId'](),_0x3e0295=await redisHelper['getJob']('upload:'+_0x4d0079);if(!_0x3e0295)throw new Error(_0x3f7347[_0x503b38(0x100)]);const _0xaf6333={'job_id':_0x2b3845,'upload_id':_0x4d0079,'status':_0x3f7347[_0x503b38(0x135)],'progress':0x0,'created_at':new Date()[_0x503b38(0x111)](),'params':_0x3e0295[_0x503b38(0x15e)]};return await redisHelper['setJob']('job:'+_0x2b3845,_0xaf6333,0xe10),logger[_0x503b38(0x156)]({'event':_0x503b38(0x17a),'jobId':_0x2b3845,'uploadId':_0x4d0079},_0x3f7347[_0x503b38(0x18b)]),this['processPreviewJob'](_0x2b3845,_0x4d0079,_0x3e0295)[_0x503b38(0x105)](_0x2944fa=>{const _0x5007d1=_0x503b38;_0x3f7347['xIOBO'](logError,_0x2944fa,{'event':'preview_process_error','jobId':_0x2b3845},_0x3f7347[_0x5007d1(0x167)]);}),{'job_id':_0x2b3845,'status':_0x3f7347[_0x503b38(0x135)]};}[a0_0x369328(0x17d)](_0x27168d,_0x492c04){const _0xb9a9aa={'amguG':function(_0x36d672,_0x129643){return _0x36d672===_0x129643;},'UdjkZ':function(_0x5a88bd,_0xb73479){return _0x5a88bd+_0xb73479;}};_0x27168d['forEach']((_0x2abab6,_0x2d8c3c)=>{const _0x51efd7=a0_0x45bd,_0x3bc6c8={'ahkpo':function(_0x30d5e6,_0x5f0a43){return _0xb9a9aa['amguG'](_0x30d5e6,_0x5f0a43);},'iJWEE':function(_0x23d21c,_0x5d4560){return _0x23d21c(_0x5d4560);},'vxqGZ':function(_0x1fd51e,_0x56db18){return _0xb9a9aa['UdjkZ'](_0x1fd51e,_0x56db18);}};_0x492c04[_0x51efd7(0x13c)](_0x1c39d3=>{const _0x23866f=_0x51efd7,_0x178fd2=_0x2abab6[_0x1c39d3];if(_0x3bc6c8[_0x23866f(0x11c)](_0x178fd2,null)||_0x3bc6c8['ahkpo'](_0x178fd2,undefined)||_0x178fd2===''||_0x3bc6c8['iJWEE'](String,_0x178fd2)[_0x23866f(0x12a)]()==='-'){const _0x19c712=uuidv7();_0x2abab6[_0x1c39d3]=_0x19c712,_0x2abab6[_0x23866f(0x125)]=_0x2abab6[_0x23866f(0x125)]||{},_0x2abab6['_generated_uuid'][_0x1c39d3]=_0x19c712,logger['debug']({'event':_0x23866f(0x182),'rowIndex':_0x2d8c3c,'field':_0x1c39d3,'uuid':_0x19c712},_0x23866f(0x124)+_0x1c39d3+'\x20at\x20row\x20'+_0x3bc6c8[_0x23866f(0x15f)](_0x2d8c3c,0x2));}});});}async[a0_0x369328(0x17b)](_0x17295a,_0x2d5223,_0x5cae36){const _0x219796=a0_0x369328,_0x39ee06={'aDRgL':'INSERT','KoDbJ':'UPDATE','FEtzB':function(_0x35cf49,_0x5e9ac0){return _0x35cf49>_0x5e9ac0;},'dePzh':_0x219796(0xfd),'OsBCO':'Processing\x20lookup\x20fields','bUiZM':_0x219796(0x114),'RuqZB':'preview_job_completed','BuiAz':function(_0x4fb88c,_0x1ca892,_0x358cc2,_0x24ad10){return _0x4fb88c(_0x1ca892,_0x358cc2,_0x24ad10);},'ojRdT':_0x219796(0x146)};try{let {rows:_0x15768a,params:_0x33d6fe}=_0x5cae36;const {requiredFields:_0x2260ae,validations:_0x23847,upsertKeys:_0x3aa0f7,tableName:_0x116b9d,primaryKey:_0x3ae343,fieldName:_0x1c5e2d,upsertStrategy:_0x40cc20,lookupFields:_0xe889ed}=_0x33d6fe;this['autoGenerateUpsertKeys'](_0x15768a,_0x3aa0f7);let _0x5c8e0d=[];if(_0xe889ed&&_0x39ee06['FEtzB'](Object['keys'](_0xe889ed)[_0x219796(0x10b)],0x0)){logger[_0x219796(0x156)]({'event':_0x39ee06['dePzh'],'jobId':_0x17295a,'lookupFieldCount':Object[_0x219796(0x144)](_0xe889ed)['length']},_0x39ee06[_0x219796(0x183)]);const _0x361eab=await lookupResolver[_0x219796(0x131)](_0x15768a,_0xe889ed);_0x15768a=_0x361eab['processedRows'],_0x5c8e0d=_0x361eab['errors'],_0x5cae36[_0x219796(0x141)]=_0x15768a;}const _0x4ca295=importValidator['batchValidateRows'](_0x15768a,_0x2260ae||[],_0x23847||{});_0x5c8e0d[_0x219796(0x13c)](_0x2dc5ee=>{const _0x2ff67d=_0x219796,_0x212481=_0x4ca295['find'](_0x3017a3=>_0x3017a3[_0x2ff67d(0xf6)]===_0x2dc5ee[_0x2ff67d(0xf6)]);_0x212481?_0x212481['errors']['push'](_0x2dc5ee['message']):_0x4ca295[_0x2ff67d(0x185)]({'rowIndex':_0x2dc5ee[_0x2ff67d(0xf6)],'rowData':_0x15768a[_0x2dc5ee['rowIndex']],'errors':[_0x2dc5ee[_0x2ff67d(0x18d)]]});});const _0x32af6e=importValidator['detectDuplicatesInFile'](_0x15768a,_0x3aa0f7);_0x32af6e['forEach'](_0x414b29=>{const _0x26b3be=_0x219796,_0x557b71=_0x4ca295[_0x26b3be(0x172)](_0xb7f18a=>_0xb7f18a[_0x26b3be(0xf6)]===_0x414b29['rowIndex']),_0x4196b6=_0x3aa0f7['map'](_0xe17048=>_0xe17048[_0x26b3be(0x155)]())['join'](',\x20'),_0x5dfd74=_0x26b3be(0x158)+_0x4196b6;_0x557b71?_0x557b71['errors']['push'](_0x5dfd74):_0x4ca295['push']({'rowIndex':_0x414b29[_0x26b3be(0xf6)],'rowData':_0x15768a[_0x414b29[_0x26b3be(0xf6)]],'errors':[_0x5dfd74]});}),await this[_0x219796(0xfe)](_0x15768a,_0x3aa0f7,_0x116b9d,_0x3ae343,_0x40cc20,_0x4ca295),_0x4ca295[_0x219796(0x13c)](_0x17e148=>{const _0x3eac3f=_0x219796,_0x20d6a1=_0x15768a[_0x17e148['rowIndex']];_0x20d6a1&&(_0x20d6a1[_0x3eac3f(0x108)]=_0x17e148['errors']);});let _0x4eb8d2=0x0,_0x8e222e=0x0,_0x4d57f3=0x0;_0x15768a[_0x219796(0x13c)](_0x3d2a1f=>{const _0x34455a=_0x219796;if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['aDRgL'])_0x4eb8d2++;else{if(_0x3d2a1f[_0x34455a(0x101)]===_0x39ee06['KoDbJ'])_0x8e222e++;else _0x3d2a1f['_action']===_0x34455a(0x113)&&_0x4d57f3++;}});const _0x73fb6c={'job_id':_0x17295a,'upload_id':_0x2d5223,'status':_0x39ee06['FEtzB'](_0x4ca295[_0x219796(0x10b)],0x0)?'preview_error':_0x39ee06[_0x219796(0xf8)],'progress':0x64,'created_at':_0x5cae36['created_at'],'completed_at':new Date()[_0x219796(0x111)](),'preview':{'total_rows':_0x15768a['length'],'insert_count':_0x4eb8d2,'update_count':_0x8e222e,'skip_count':_0x4d57f3,'error_count':_0x4ca295['length'],'errors':_0x4ca295,'data':_0x15768a,'sample_insert':_0x15768a[_0x219796(0x16b)](_0x452d59=>_0x452d59['_action']===_0x219796(0x121))[_0x219796(0x17f)](0x0,0x5),'sample_update':_0x15768a[_0x219796(0x16b)](_0x5f0691=>_0x5f0691['_action']===_0x219796(0x128))['slice'](0x0,0x5),'sample_skip':_0x15768a[_0x219796(0x16b)](_0x5b2153=>_0x5b2153[_0x219796(0x101)]===_0x219796(0x113))[_0x219796(0x17f)](0x0,0x5)},'params':_0x33d6fe};await redisHelper[_0x219796(0x140)]('job:'+_0x17295a,_0x73fb6c,0xe10),_0x5cae36['rows']=_0x15768a,await redisHelper[_0x219796(0x140)](_0x219796(0x130)+_0x2d5223,_0x5cae36,0xe10),logger[_0x219796(0x156)]({'event':_0x39ee06['RuqZB'],'jobId':_0x17295a,'status':_0x73fb6c['status'],'insertCount':_0x4eb8d2,'updateCount':_0x8e222e,'skipCount':_0x4d57f3,'errorCount':_0x4ca295[_0x219796(0x10b)]},_0x219796(0x160));}catch(_0x58e0c7){_0x39ee06[_0x219796(0x133)](logError,_0x58e0c7,{'event':_0x39ee06[_0x219796(0x12f)],'jobId':_0x17295a},'Preview\x20job\x20failed'),await redisHelper[_0x219796(0x140)](_0x219796(0xff)+_0x17295a,{'job_id':_0x17295a,'upload_id':_0x2d5223,'status':'failed','progress':0x0,'error':_0x58e0c7[_0x219796(0x18d)],'created_at':new Date()[_0x219796(0x111)](),'completed_at':new Date()[_0x219796(0x111)]()},0xe10);}}async[a0_0x369328(0xfe)](_0x41ebaa,_0x18954e,_0x1bbf40,_0x626355,_0x5c95eb=a0_0x369328(0x166),_0x42dd59=[]){const _0x57191d=a0_0x369328,_0x236817={'hevhi':function(_0x36670b,_0x5180d1){return _0x36670b===_0x5180d1;},'evtBm':_0x57191d(0x173),'AXbNG':function(_0x4f29cc,_0x26d47a){return _0x4f29cc===_0x26d47a;},'uvVpc':'skip_existing','kRatI':'SKIP','ZYPCg':_0x57191d(0x11f),'mUwfw':function(_0xe6a0bd,_0x72dd35){return _0xe6a0bd(_0x72dd35);}},_0x4eafc5=upsertBuilder['chunkRows'](_0x41ebaa,0x64);for(const _0x1130d7 of _0x4eafc5){const _0x385301=_0x1130d7['map'](_0xf9a0ea=>_0xf9a0ea[_0x18954e[0x0]]),_0x2ca390=_0x385301['map'](_0x5e5afe=>{const _0x496ac7=_0x57191d;if(_0x5e5afe===null||_0x236817['hevhi'](_0x5e5afe,undefined))return _0x236817[_0x496ac7(0x106)];return'\x27'+String(_0x5e5afe)[_0x496ac7(0x14d)](/'/g,'\x27\x27')+'\x27';}),_0x2837b7=_0x57191d(0x157)+_0x626355+',\x20'+_0x18954e[_0x57191d(0x123)](',\x20')+_0x57191d(0x17e)+_0x1bbf40+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x18954e[0x0]+_0x57191d(0xfb)+_0x2ca390['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x2e620e=await _0x236817[_0x57191d(0x186)](executeQuery,_0x2837b7);dbType===_0x57191d(0xfc)&&_0x2e620e&&_0x2e620e['length']>0x0&&(_0x2e620e=_0x2e620e['map'](_0x53a8fa=>{const _0xc2cea0=_0x57191d,_0x34b764={};for(const [_0x420e59,_0x30ebc1]of Object['entries'](_0x53a8fa)){_0x34b764[_0x420e59[_0xc2cea0(0x16c)]()]=_0x30ebc1;}return _0x34b764;}));const _0x412989=new Map();_0x2e620e[_0x57191d(0x13c)](_0x1ba526=>{const _0x26c34e=_0x57191d,_0x43771a=_0x1ba526[_0x18954e[0x0]];_0x412989[_0x26c34e(0x15d)](_0x43771a,_0x1ba526);}),_0x1130d7['forEach']((_0x1eb8c8,_0x2af20a)=>{const _0x59fa84=_0x57191d,_0x31f038=_0x1eb8c8[_0x18954e[0x0]],_0x2c62a9=_0x412989['get'](_0x31f038);if(_0x2c62a9){if(_0x236817[_0x59fa84(0x18c)](_0x5c95eb,'update_existing'))_0x1eb8c8['_action']='UPDATE',_0x1eb8c8['_existingId']=_0x2c62a9[_0x626355];else{if(_0x5c95eb==='insert_only'){_0x1eb8c8[_0x59fa84(0x101)]='SKIP',_0x1eb8c8[_0x59fa84(0x108)]=_0x1eb8c8[_0x59fa84(0x108)]||[],_0x1eb8c8[_0x59fa84(0x108)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0xf781a0=_0x41ebaa['indexOf'](_0x1eb8c8);_0xf781a0!==-0x1&&_0x42dd59['push']({'rowIndex':_0xf781a0,'rowData':_0x1eb8c8,'errors':[_0x59fa84(0x12d)]});}else _0x5c95eb===_0x236817[_0x59fa84(0x122)]&&(_0x1eb8c8['_action']=_0x236817['kRatI']);}}else{if(_0x5c95eb===_0x59fa84(0x166))_0x1eb8c8[_0x59fa84(0x101)]='INSERT';else(_0x5c95eb===_0x236817['ZYPCg']||_0x236817['hevhi'](_0x5c95eb,_0x59fa84(0x14a)))&&(_0x1eb8c8[_0x59fa84(0x101)]='INSERT');}});}}async['createCommitJob'](_0x2426e7){const _0x1b07b0=a0_0x369328,_0x1dcaab={'HQoPk':function(_0xe2f1a2,_0x3e81c5,_0x3f51bb,_0x1be371){return _0xe2f1a2(_0x3e81c5,_0x3f51bb,_0x1be371);},'bCZzn':'Commit\x20processing\x20failed','ebynK':_0x1b07b0(0x107),'dCJJU':'processing'},_0x21d4e3=this['generateId'](),_0x83db1c=await redisHelper['getJob']('job:'+_0x2426e7);if(!_0x83db1c)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x83db1c[_0x1b07b0(0x132)]!==_0x1b07b0(0x114))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x83db1c[_0x1b07b0(0x132)]);const _0x281e53={'job_id':_0x21d4e3,'upload_id':_0x83db1c['upload_id'],'preview_job_id':_0x2426e7,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x83db1c['params']};return await redisHelper[_0x1b07b0(0x140)](_0x1b07b0(0xff)+_0x21d4e3,_0x281e53,0xe10),logger[_0x1b07b0(0x156)]({'event':_0x1b07b0(0x110),'jobId':_0x21d4e3,'previewJobId':_0x2426e7},_0x1dcaab[_0x1b07b0(0x14e)]),this[_0x1b07b0(0x129)](_0x21d4e3,_0x83db1c)['catch'](_0xdb32db=>{_0x1dcaab['HQoPk'](logError,_0xdb32db,{'event':'commit_process_error','jobId':_0x21d4e3},_0x1dcaab['bCZzn']);}),{'job_id':_0x21d4e3,'status':_0x1dcaab[_0x1b07b0(0x174)]};}async['processCommitJob'](_0x2145c3,_0x35b2f4){const _0xd5b27=a0_0x369328,_0x862be7={'daSWL':function(_0x3b7778,_0x30389f){return _0x3b7778===_0x30389f;},'dsNDB':_0xd5b27(0x154),'MHZge':function(_0x47e4ea,_0x3e79ea){return _0x47e4ea>_0x3e79ea;},'otkPn':_0xd5b27(0x142),'bzuvu':'update','oGKjO':_0xd5b27(0x164),'yRwRu':_0xd5b27(0x13b),'HmMdj':'Commit\x20job\x20failed'};try{const _0x8f93ff=await redisHelper[_0xd5b27(0x127)](_0xd5b27(0x130)+_0x35b2f4['upload_id']);if(!_0x8f93ff)throw new Error(_0x862be7[_0xd5b27(0x13a)]);const {rows:_0x57b232,params:_0x4c8bf6}=_0x8f93ff,{tableName:_0x3c2716,fieldName:_0x55a1b5,primaryKey:_0x2038f1,upsertKeys:_0x4008fc,excludeFromImport:_0x471697,lookupFields:_0x230854,columnFormats:_0x51ef4a}=_0x4c8bf6,_0x2835cb=_0x230854?Object[_0xd5b27(0x144)](_0x230854):[],_0x48e7d=new Set([..._0x471697||[],..._0x2835cb]);let _0x47b9ca=_0x55a1b5;_0x862be7['MHZge'](_0x48e7d['size'],0x0)&&(_0x47b9ca=_0x55a1b5['filter'](_0x43dc49=>!_0x48e7d['has'](_0x43dc49)),logger[_0xd5b27(0x16f)]({'event':'import_fields_filtered','originalCount':_0x55a1b5[_0xd5b27(0x10b)],'filteredCount':_0x47b9ca['length'],'excludedFields':Array['from'](_0x48e7d),'lookupSourceFields':_0x2835cb},_0x862be7[_0xd5b27(0x180)]));const _0xdb8acc=_0x57b232['filter'](_0x17473a=>_0x17473a['_action']===_0xd5b27(0x121)),_0x48ac59=_0x57b232['filter'](_0x4209c7=>_0x4209c7['_action']===_0xd5b27(0x128));let _0x54bea9=0x0,_0x57e227=0x0;const _0x5b8d9f=[];if(_0xdb8acc['length']>0x0){const _0x306224=upsertBuilder['chunkRows'](_0xdb8acc,0x64);for(const _0x2a78a2 of _0x306224){const {query:_0x4b82fc}=upsertBuilder['buildBatchInsert'](_0x2a78a2,_0x3c2716,_0x47b9ca,_0x51ef4a||{});_0x4b82fc&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0x4b82fc,'count':_0x2a78a2[_0xd5b27(0x10b)],'type':_0xd5b27(0x170)});}}if(_0x48ac59[_0xd5b27(0x10b)]>0x0){const _0x21fe28=upsertBuilder['chunkRows'](_0x48ac59,0x64);for(const _0x4081bc of _0x21fe28){const {query:_0xbd0554}=upsertBuilder[_0xd5b27(0x12e)](_0x4081bc,_0x3c2716,_0x47b9ca,_0x2038f1,_0x4008fc,_0x51ef4a||{});_0xbd0554&&_0x5b8d9f[_0xd5b27(0x185)]({'sql':_0xbd0554,'count':_0x4081bc[_0xd5b27(0x10b)],'type':_0x862be7[_0xd5b27(0x14b)]});}}_0x862be7[_0xd5b27(0x11a)](_0x5b8d9f['length'],0x0)&&await executeTransaction(_0x5b8d9f[_0xd5b27(0x181)](_0x35115c=>({'sql':_0x35115c[_0xd5b27(0x178)],'params':[]})));_0x5b8d9f['forEach'](_0x42dcf4=>{const _0xcd1869=_0xd5b27;if(_0x862be7[_0xcd1869(0x137)](_0x42dcf4[_0xcd1869(0x14f)],'insert'))_0x54bea9+=_0x42dcf4['count'];else _0x57e227+=_0x42dcf4[_0xcd1869(0x149)];});const _0x2d2d44={'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0x862be7[_0xd5b27(0x163)],'progress':0x64,'created_at':_0x35b2f4['created_at'],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x57b232['length'],'inserted_rows':_0x54bea9,'updated_rows':_0x57e227,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4c8bf6};await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,_0x2d2d44,0xe10),logger[_0xd5b27(0x156)]({'event':_0xd5b27(0x10f),'jobId':_0x2145c3,'insertedCount':_0x54bea9,'updatedCount':_0x57e227},_0x862be7['yRwRu']);}catch(_0xbc7fb2){logError(_0xbc7fb2,{'event':'commit_job_failed','jobId':_0x2145c3},_0x862be7['HmMdj']),await redisHelper[_0xd5b27(0x140)](_0xd5b27(0xff)+_0x2145c3,{'job_id':_0x2145c3,'upload_id':_0x35b2f4['upload_id'],'preview_job_id':_0x35b2f4[_0xd5b27(0x115)],'status':_0xd5b27(0x15b),'progress':0x0,'error':_0xbc7fb2['message'],'created_at':_0x35b2f4[_0xd5b27(0x11d)],'started_at':new Date()[_0xd5b27(0x111)](),'completed_at':new Date()[_0xd5b27(0x111)]()},0xe10);}}async[a0_0x369328(0x16d)](_0x50a048){const _0x4cb485=a0_0x369328,_0x25242f=await redisHelper[_0x4cb485(0x127)]('job:'+_0x50a048);if(!_0x25242f)return{'success':![],'error':_0x4cb485(0x13e)};return{'success':!![],'data':_0x25242f};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x186941=a0_0x8b00;function a0_0x8b00(_0x156476,_0xcc2fbf){_0x156476=_0x156476-0x1b9;const _0x514984=a0_0x5149();let _0x8b003d=_0x514984[_0x156476];if(a0_0x8b00['poYpzO']===undefined){var _0x2cd91e=function(_0x3acc06){const _0x185aa5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5effca='',_0x50bb9c='';for(let _0x33915b=0x0,_0x3cba23,_0x2f61c4,_0x4cbb35=0x0;_0x2f61c4=_0x3acc06['charAt'](_0x4cbb35++);~_0x2f61c4&&(_0x3cba23=_0x33915b%0x4?_0x3cba23*0x40+_0x2f61c4:_0x2f61c4,_0x33915b++%0x4)?_0x5effca+=String['fromCharCode'](0xff&_0x3cba23>>(-0x2*_0x33915b&0x6)):0x0){_0x2f61c4=_0x185aa5['indexOf'](_0x2f61c4);}for(let _0x121c1c=0x0,_0x10c38e=_0x5effca['length'];_0x121c1c<_0x10c38e;_0x121c1c++){_0x50bb9c+='%'+('00'+_0x5effca['charCodeAt'](_0x121c1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50bb9c);};a0_0x8b00['RyYUuB']=_0x2cd91e,a0_0x8b00['AxSsne']={},a0_0x8b00['poYpzO']=!![];}const _0x2a0b2b=_0x514984[0x0],_0x53770c=_0x156476+_0x2a0b2b,_0x4f9da8=a0_0x8b00['AxSsne'][_0x53770c];return!_0x4f9da8?(_0x8b003d=a0_0x8b00['RyYUuB'](_0x8b003d),a0_0x8b00['AxSsne'][_0x53770c]=_0x8b003d):_0x8b003d=_0x4f9da8,_0x8b003d;}(function(_0x3f57e5,_0x3bc002){const _0x131788=a0_0x8b00,_0x56fa8b=_0x3f57e5();while(!![]){try{const _0x4016e3=parseInt(_0x131788(0x1c0))/0x1+-parseInt(_0x131788(0x1cd))/0x2+parseInt(_0x131788(0x1d2))/0x3*(parseInt(_0x131788(0x1c1))/0x4)+parseInt(_0x131788(0x1c9))/0x5*(-parseInt(_0x131788(0x1d9))/0x6)+-parseInt(_0x131788(0x1bc))/0x7*(-parseInt(_0x131788(0x1d7))/0x8)+-parseInt(_0x131788(0x1c2))/0x9*(-parseInt(_0x131788(0x1bf))/0xa)+-parseInt(_0x131788(0x1bb))/0xb;if(_0x4016e3===_0x3bc002)break;else _0x56fa8b['push'](_0x56fa8b['shift']());}catch(_0x48ba2d){_0x56fa8b['push'](_0x56fa8b['shift']());}}}(a0_0x5149,0x62db1));const {logger}=require('./logger');function a0_0x5149(){const _0x4154d6=['nte5AfbVyu96','A2v5CW','DgvZDa','DMfSAwrHDgvsB3C','zM9YBwf0','nZy1nZm2sfzgqNjj','BNvTyMvY','nK5WBLn2va','DMfSAwrHDgvvCMW','yMf0y2HwywXPzgf0zvjVD3m','ndGYnZa1m0HfBM9ksa','mtr5vgTwvM4','ugvnvuW','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','ndbPvw1tA2K','nJm2nZu5z2DLBfPd','mteZmZjAD3PpDMO','nZa4nJmZu0PhtvrQ','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','t0X6yMK','zw1HAwW','ChvZAa','tLHoz0C','AgfZ','mJyWnJq3mfDSuKfRBq','DMfSAwrHDgvfBwfPBa','vNrfs2e','zM9YrwfJAa','ntm2ndqWDMXnqNzq','BwfW','C2v0','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','sw52ywXPzcbWAg9UzsbMB3jTyxq'];a0_0x5149=function(){return _0x4154d6;};return a0_0x5149();}class ImportValidator{[a0_0x186941(0x1d5)](_0x30cb24,_0x44e5b1=[],_0x476470={}){const _0x35b875=a0_0x186941,_0x279344={'OLzbi':function(_0x2c58dc,_0x4aae41){return _0x2c58dc===_0x4aae41;},'EnIqG':function(_0x3728bc,_0x2d9805){return _0x3728bc===_0x2d9805;}},_0x4e4845=[];return _0x44e5b1[_0x35b875(0x1cc)](_0xc54e5b=>{const _0x15b253=_0x35b875,_0x59fd25=_0x30cb24[_0xc54e5b];(_0x279344['OLzbi'](_0x59fd25,null)||_0x279344[_0x15b253(0x1c4)](_0x59fd25,undefined)||_0x279344['EnIqG'](_0x59fd25,''))&&_0x4e4845['push']({'field':_0xc54e5b,'type':'required','message':_0x15b253(0x1c3)});}),Object[_0x35b875(0x1d3)](_0x476470)['forEach'](_0x277b1f=>{const _0x40d3a8=_0x30cb24[_0x277b1f],_0x50d1ad=_0x476470[_0x277b1f];if(_0x40d3a8===null||_0x40d3a8===undefined||_0x279344['OLzbi'](_0x40d3a8,''))return;const _0x5e9f07=this['validateFieldFormat'](_0x277b1f,_0x40d3a8,_0x50d1ad);_0x5e9f07&&_0x4e4845['push'](_0x5e9f07);}),_0x4e4845;}['validateFieldFormat'](_0x5aee16,_0x46a706,_0x49d93){const _0x53948f=a0_0x186941,_0x12ae1b={'VtEKa':_0x53948f(0x1c5)};switch(_0x49d93){case _0x12ae1b[_0x53948f(0x1cb)]:return this[_0x53948f(0x1ca)](_0x5aee16,_0x46a706);case'phone':return this['validatePhone'](_0x5aee16,_0x46a706);case'url':return this[_0x53948f(0x1b9)](_0x5aee16,_0x46a706);case _0x53948f(0x1d8):return this['validateNumber'](_0x5aee16,_0x46a706);default:return null;}}[a0_0x186941(0x1ca)](_0x4dfb61,_0x5c6165){const _0x5a3b45=a0_0x186941,_0x19efec=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x19efec[_0x5a3b45(0x1d4)](String(_0x5c6165)))return{'field':_0x4dfb61,'type':_0x5a3b45(0x1d6),'message':'Invalid\x20email\x20format'};return null;}['validatePhone'](_0x9481ad,_0x17eab1){const _0x47d8b8=a0_0x186941,_0x209d6f={'PeMUL':'format'},_0x297f27=String(_0x17eab1)['replace'](/\s+/g,''),_0x385cf1=/^[\d\+\-\(\)]+$/;if(!_0x385cf1['test'](_0x297f27)||_0x297f27['length']<0x8)return{'field':_0x9481ad,'type':_0x209d6f[_0x47d8b8(0x1bd)],'message':_0x47d8b8(0x1d1)};return null;}[a0_0x186941(0x1b9)](_0x4ad5f0,_0x1c0496){const _0x4d07b9=a0_0x186941,_0x102b53={'jBkuz':'Invalid\x20URL\x20format'};try{return new URL(String(_0x1c0496)),null;}catch(_0x2450c1){return{'field':_0x4ad5f0,'type':_0x4d07b9(0x1d6),'message':_0x102b53['jBkuz']};}}['validateNumber'](_0x462661,_0x133209){const _0x41f77e=a0_0x186941,_0x2b83a5={'NXNgG':function(_0x4cc7f5,_0x6b25a1){return _0x4cc7f5(_0x6b25a1);},'QqEbi':'Invalid\x20number\x20format'};if(_0x2b83a5[_0x41f77e(0x1c7)](isNaN,_0x133209))return{'field':_0x462661,'type':'format','message':_0x2b83a5['QqEbi']};return null;}['detectDuplicatesInFile'](_0xb569f4,_0xb43041){const _0x1a3655=new Map(),_0x32c1f8=[];return _0xb569f4['forEach']((_0x2fa786,_0x1fd37e)=>{const _0x4b5dfe=a0_0x8b00,_0x469846=_0xb43041[_0x4b5dfe(0x1ce)](_0x3abd0f=>_0x2fa786[_0x3abd0f])['join']('|');_0x1a3655[_0x4b5dfe(0x1c8)](_0x469846)?_0x32c1f8[_0x4b5dfe(0x1c6)]({'rowIndex':_0x1fd37e,'duplicateOf':_0x1a3655['get'](_0x469846),'key':_0x469846}):_0x1a3655[_0x4b5dfe(0x1cf)](_0x469846,_0x1fd37e);}),_0x32c1f8;}[a0_0x186941(0x1ba)](_0x4d0d67,_0x4ba4b4,_0x21bd43){const _0x311b0c=a0_0x186941,_0x336a70={'dyEMU':_0x311b0c(0x1be)},_0x20ce43=[];return _0x4d0d67[_0x311b0c(0x1cc)]((_0x3fa0a6,_0x13cc8d)=>{const _0x51e1ff=_0x311b0c,_0x250ae5=this[_0x51e1ff(0x1d5)](_0x3fa0a6,_0x4ba4b4,_0x21bd43);_0x250ae5['length']>0x0&&_0x20ce43[_0x51e1ff(0x1c6)]({'rowIndex':_0x13cc8d,'rowData':_0x3fa0a6,'errors':_0x250ae5});}),logger['info']({'event':_0x311b0c(0x1d0),'totalRows':_0x4d0d67['length'],'errorCount':_0x20ce43['length']},_0x336a70['dyEMU']),_0x20ce43;}}module['exports']=new ImportValidator();
1
+ const a0_0x4db37a=a0_0x4894;function a0_0x4519(){const _0xad98d1=['mtC4mZKWmZbYBhrRteC','odu3mdG4nLjhthjOzq','DxjS','ChvZAa','AM9PBG','mtm3odq4mMDcr2jyDG','A2v5CW','mti0ndKZmdrVExDmtgO','ndi5nZa2oe16y1zQBa','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','BgvUz3rO','ndC1ode1CuXLz3Hi','mtb3ugrmAui','DMHmsM4','y2fIyNi','DMfSAwrHDgvgAwvSzezVCM1HDa','DMfSAwrHDgvqAg9Uzq','z2zbweK','DMfSAwrHDgvvCMW','AMDHy0y','zM9YrwfJAa','zw1HAwW','CMvXDwLYzwq','ofbIvwLYDW','nvfAzfnRqG','zM9YBwf0','CgHVBMu','lI9SB2DNzxi','mtq5nJq5m3z2CwXRDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbWAg9UzsbMB3jTyxq'];a0_0x4519=function(){return _0xad98d1;};return a0_0x4519();}(function(_0x222dc8,_0x725131){const _0x8bcdd2=a0_0x4894,_0x3cd034=_0x222dc8();while(!![]){try{const _0x17f052=-parseInt(_0x8bcdd2(0x1da))/0x1+-parseInt(_0x8bcdd2(0x1ca))/0x2*(parseInt(_0x8bcdd2(0x1c9))/0x3)+parseInt(_0x8bcdd2(0x1c5))/0x4+-parseInt(_0x8bcdd2(0x1d6))/0x5*(-parseInt(_0x8bcdd2(0x1de))/0x6)+-parseInt(_0x8bcdd2(0x1e2))/0x7*(-parseInt(_0x8bcdd2(0x1d5))/0x8)+-parseInt(_0x8bcdd2(0x1c4))/0x9+parseInt(_0x8bcdd2(0x1dd))/0xa;if(_0x17f052===_0x725131)break;else _0x3cd034['push'](_0x3cd034['shift']());}catch(_0x359137){_0x3cd034['push'](_0x3cd034['shift']());}}}(a0_0x4519,0xc5f33));function a0_0x4894(_0x4f6948,_0x3647a5){_0x4f6948=_0x4f6948-0x1c4;const _0x4519c6=a0_0x4519();let _0x48946a=_0x4519c6[_0x4f6948];if(a0_0x4894['iZqyaO']===undefined){var _0x59d46f=function(_0x3bf358){const _0x3f2ac9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x149ff0='',_0x19aad5='';for(let _0x1d03b0=0x0,_0x2ea843,_0x14892f,_0x39d889=0x0;_0x14892f=_0x3bf358['charAt'](_0x39d889++);~_0x14892f&&(_0x2ea843=_0x1d03b0%0x4?_0x2ea843*0x40+_0x14892f:_0x14892f,_0x1d03b0++%0x4)?_0x149ff0+=String['fromCharCode'](0xff&_0x2ea843>>(-0x2*_0x1d03b0&0x6)):0x0){_0x14892f=_0x3f2ac9['indexOf'](_0x14892f);}for(let _0x453145=0x0,_0x359229=_0x149ff0['length'];_0x453145<_0x359229;_0x453145++){_0x19aad5+='%'+('00'+_0x149ff0['charCodeAt'](_0x453145)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19aad5);};a0_0x4894['CcmPWb']=_0x59d46f,a0_0x4894['rGjIPL']={},a0_0x4894['iZqyaO']=!![];}const _0x7b76a8=_0x4519c6[0x0],_0x2e3e36=_0x4f6948+_0x7b76a8,_0x19ae6e=a0_0x4894['rGjIPL'][_0x2e3e36];return!_0x19ae6e?(_0x48946a=a0_0x4894['CcmPWb'](_0x48946a),a0_0x4894['rGjIPL'][_0x2e3e36]=_0x48946a):_0x48946a=_0x19ae6e,_0x48946a;}const {logger}=require(a0_0x4db37a(0x1d9));class ImportValidator{['validateRow'](_0x281541,_0x15d250=[],_0x27dc41={}){const _0x628d50=a0_0x4db37a,_0x15a9d3={'vhLJn':_0x628d50(0x1d4),'hXEru':function(_0x18d232,_0x26760c){return _0x18d232===_0x26760c;},'jgacF':function(_0x250768,_0x148f82){return _0x250768===_0x148f82;}},_0x14cb69=[];return _0x15d250[_0x628d50(0x1d2)](_0x15b447=>{const _0x3094b2=_0x628d50,_0x506f22=_0x281541[_0x15b447];(_0x506f22===null||_0x506f22===undefined||_0x506f22==='')&&_0x14cb69[_0x3094b2(0x1e0)]({'field':_0x15b447,'type':_0x15a9d3[_0x3094b2(0x1cb)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x628d50(0x1e3)](_0x27dc41)['forEach'](_0x5c7dff=>{const _0xca9a5a=_0x628d50,_0x2ac673=_0x281541[_0x5c7dff],_0x24a431=_0x27dc41[_0x5c7dff];if(_0x15a9d3['hXEru'](_0x2ac673,null)||_0x2ac673===undefined||_0x15a9d3[_0xca9a5a(0x1d1)](_0x2ac673,''))return;const _0x405b5e=this[_0xca9a5a(0x1cd)](_0x5c7dff,_0x2ac673,_0x24a431);_0x405b5e&&_0x14cb69['push'](_0x405b5e);}),_0x14cb69;}[a0_0x4db37a(0x1cd)](_0x3be29b,_0x31b623,_0x51a37f){const _0x5cce54=a0_0x4db37a,_0x2eec0c={'mPVLt':'number'};switch(_0x51a37f){case _0x5cce54(0x1d3):return this['validateEmail'](_0x3be29b,_0x31b623);case _0x5cce54(0x1d8):return this[_0x5cce54(0x1ce)](_0x3be29b,_0x31b623);case _0x5cce54(0x1df):return this[_0x5cce54(0x1d0)](_0x3be29b,_0x31b623);case _0x2eec0c['mPVLt']:return this['validateNumber'](_0x3be29b,_0x31b623);default:return null;}}['validateEmail'](_0x331259,_0x5dcf73){const _0x593624=a0_0x4db37a,_0x34d6af={'dbIyV':_0x593624(0x1d7),'wDJKQ':'Invalid\x20email\x20format'},_0x5900a2=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5900a2[_0x593624(0x1c6)](String(_0x5dcf73)))return{'field':_0x331259,'type':_0x34d6af['dbIyV'],'message':_0x34d6af['wDJKQ']};return null;}[a0_0x4db37a(0x1ce)](_0x4af158,_0x31efad){const _0x484e58=a0_0x4db37a,_0x4624fb={'ZwBis':function(_0x60788c,_0x178bf5){return _0x60788c(_0x178bf5);},'cabbr':function(_0x5ed2a4,_0x1498b9){return _0x5ed2a4<_0x1498b9;},'ZpuCs':'format'},_0x762590=_0x4624fb['ZwBis'](String,_0x31efad)['replace'](/\s+/g,''),_0x74705a=/^[\d\+\-\(\)]+$/;if(!_0x74705a['test'](_0x762590)||_0x4624fb[_0x484e58(0x1cc)](_0x762590[_0x484e58(0x1c8)],0x8))return{'field':_0x4af158,'type':_0x4624fb['ZpuCs'],'message':_0x484e58(0x1dc)};return null;}['validateUrl'](_0x36432e,_0x48f897){const _0x30d06a={'MdbHP':'Invalid\x20URL\x20format'};try{return new URL(String(_0x48f897)),null;}catch(_0x579c08){return{'field':_0x36432e,'type':'format','message':_0x30d06a['MdbHP']};}}['validateNumber'](_0x445df5,_0x2d7190){const _0x255fd9=a0_0x4db37a,_0x5be2ca={'gfAXI':_0x255fd9(0x1c7)};if(isNaN(_0x2d7190))return{'field':_0x445df5,'type':_0x255fd9(0x1d7),'message':_0x5be2ca[_0x255fd9(0x1cf)]};return null;}[a0_0x4db37a(0x1db)](_0x2ab5e5,_0x43b1c1){const _0x1e83f2=new Map(),_0x4b6d3b=[];return _0x2ab5e5['forEach']((_0x5e694c,_0x3dcae3)=>{const _0x27f95d=a0_0x4894,_0x16a2af=_0x43b1c1['map'](_0x563060=>_0x5e694c[_0x563060])[_0x27f95d(0x1e1)]('|');_0x1e83f2['has'](_0x16a2af)?_0x4b6d3b['push']({'rowIndex':_0x3dcae3,'duplicateOf':_0x1e83f2['get'](_0x16a2af),'key':_0x16a2af}):_0x1e83f2['set'](_0x16a2af,_0x3dcae3);}),_0x4b6d3b;}['batchValidateRows'](_0x1be951,_0x5c3c66,_0x1f9702){const _0x5a5f5f=a0_0x4db37a,_0x5d57fc=[];return _0x1be951['forEach']((_0x1211ce,_0x4f98f2)=>{const _0x58d782=a0_0x4894,_0x4476e2=this['validateRow'](_0x1211ce,_0x5c3c66,_0x1f9702);_0x4476e2[_0x58d782(0x1c8)]>0x0&&_0x5d57fc['push']({'rowIndex':_0x4f98f2,'rowData':_0x1211ce,'errors':_0x4476e2});}),logger['info']({'event':'batch_validation_complete','totalRows':_0x1be951[_0x5a5f5f(0x1c8)],'errorCount':_0x5d57fc['length']},'Batch\x20validation\x20completed'),_0x5d57fc;}}module['exports']=new ImportValidator();
@@ -1 +1 @@
1
- function a0_0x4e9a(_0x8c8794,_0x1e3373){_0x8c8794=_0x8c8794-0x1d6;const _0x50cff1=a0_0x50cf();let _0x4e9ac9=_0x50cff1[_0x8c8794];if(a0_0x4e9a['bmwfQb']===undefined){var _0x16b3be=function(_0xab1e04){const _0x214a9a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ef315='',_0x12d20a='';for(let _0x319310=0x0,_0x4b78fa,_0x188907,_0x492239=0x0;_0x188907=_0xab1e04['charAt'](_0x492239++);~_0x188907&&(_0x4b78fa=_0x319310%0x4?_0x4b78fa*0x40+_0x188907:_0x188907,_0x319310++%0x4)?_0x5ef315+=String['fromCharCode'](0xff&_0x4b78fa>>(-0x2*_0x319310&0x6)):0x0){_0x188907=_0x214a9a['indexOf'](_0x188907);}for(let _0x265ebe=0x0,_0xd20219=_0x5ef315['length'];_0x265ebe<_0xd20219;_0x265ebe++){_0x12d20a+='%'+('00'+_0x5ef315['charCodeAt'](_0x265ebe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12d20a);};a0_0x4e9a['ZLTntV']=_0x16b3be,a0_0x4e9a['AMUSuJ']={},a0_0x4e9a['bmwfQb']=!![];}const _0x2d6330=_0x50cff1[0x0],_0x1b779b=_0x8c8794+_0x2d6330,_0x20049f=a0_0x4e9a['AMUSuJ'][_0x1b779b];return!_0x20049f?(_0x4e9ac9=a0_0x4e9a['ZLTntV'](_0x4e9ac9),a0_0x4e9a['AMUSuJ'][_0x1b779b]=_0x4e9ac9):_0x4e9ac9=_0x20049f,_0x4e9ac9;}const a0_0x117438=a0_0x4e9a;(function(_0x4b1aca,_0xe7a76f){const _0x95bf93=a0_0x4e9a,_0x3a1115=_0x4b1aca();while(!![]){try{const _0x382523=parseInt(_0x95bf93(0x1ec))/0x1*(-parseInt(_0x95bf93(0x1fc))/0x2)+-parseInt(_0x95bf93(0x208))/0x3*(-parseInt(_0x95bf93(0x1dd))/0x4)+-parseInt(_0x95bf93(0x207))/0x5+parseInt(_0x95bf93(0x1e9))/0x6*(parseInt(_0x95bf93(0x202))/0x7)+-parseInt(_0x95bf93(0x1dc))/0x8*(-parseInt(_0x95bf93(0x1e8))/0x9)+-parseInt(_0x95bf93(0x20d))/0xa+-parseInt(_0x95bf93(0x1fa))/0xb*(-parseInt(_0x95bf93(0x1f3))/0xc);if(_0x382523===_0xe7a76f)break;else _0x3a1115['push'](_0x3a1115['shift']());}catch(_0x10e9c9){_0x3a1115['push'](_0x3a1115['shift']());}}}(a0_0x50cf,0xb7c7e));const importService=require('../../services/import-service'),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require('../../utils/logger');class ImportHandler{static[a0_0x117438(0x1db)](_0x13d6bd,_0x59fb60,_0x538fe0,_0x104bd3){const _0x201ee4=a0_0x117438,_0x4ed6cc={'cdZTU':function(_0x3304d8,_0x24aecf,_0x54618b,_0xcb8b16){return _0x3304d8(_0x24aecf,_0x54618b,_0xcb8b16);},'jVdhU':_0x201ee4(0x1d6),'sGyVu':_0x201ee4(0x1ee),'NHYBh':_0x201ee4(0x204),'AwGRT':_0x201ee4(0x1da),'MVwYw':_0x201ee4(0x1d8),'zgsKB':_0x201ee4(0x1f2)},_0x498fa8=_0x201ee4(0x1e3)+_0x59fb60+'/'+_0x538fe0;_0x13d6bd['post'](_0x498fa8+_0x201ee4(0x1f6),async(_0x228500,_0x66b3b5)=>{const _0x5012ac=_0x201ee4;try{await this['handleImportUpload'](_0x228500,_0x66b3b5,_0x104bd3,_0x59fb60,_0x538fe0);}catch(_0x2c1fc1){_0x4ed6cc['cdZTU'](logError,_0x2c1fc1,{'event':_0x4ed6cc['jVdhU']},'Failed\x20to\x20upload\x20import\x20file'),_0x66b3b5[_0x5012ac(0x1e4)](0x1f4)[_0x5012ac(0x20a)]({'success':![],'error':_0x2c1fc1['message']});}}),_0x13d6bd[_0x201ee4(0x1e2)](_0x498fa8+_0x201ee4(0x20f),async(_0x2ec0d7,_0x206db3)=>{const _0x328e10=_0x201ee4;try{await this[_0x328e10(0x20c)](_0x2ec0d7,_0x206db3);}catch(_0x4c39a5){logError(_0x4c39a5,{'event':'import_preview_error'},'Failed\x20to\x20create\x20preview\x20job'),_0x206db3[_0x328e10(0x1e4)](0x1f4)['json']({'success':![],'error':_0x4c39a5[_0x328e10(0x1fd)]});}}),_0x13d6bd[_0x201ee4(0x1e2)](_0x498fa8+_0x201ee4(0x1eb),async(_0x57e480,_0x27a853)=>{const _0x6c847d=_0x201ee4;try{await this[_0x6c847d(0x1e5)](_0x57e480,_0x27a853);}catch(_0x3ee4c6){logError(_0x3ee4c6,{'event':_0x4ed6cc[_0x6c847d(0x1f5)]},_0x4ed6cc['NHYBh']),_0x27a853['status'](0x1f4)[_0x6c847d(0x20a)]({'success':![],'error':_0x3ee4c6['message']});}}),_0x13d6bd['get'](_0x498fa8+'/import-status',async(_0x5da2f0,_0x410141)=>{const _0x2376a1=_0x201ee4;try{await this['handleImportStatus'](_0x5da2f0,_0x410141);}catch(_0x3d248e){logError(_0x3d248e,{'event':_0x4ed6cc[_0x2376a1(0x1e6)]},_0x4ed6cc['MVwYw']),_0x410141['status'](0x1f4)['json']({'success':![],'error':_0x3d248e[_0x2376a1(0x1fd)]});}}),logger[_0x201ee4(0x20b)]({'event':_0x4ed6cc['zgsKB'],'module':_0x59fb60,'endpoint':_0x538fe0,'table':_0x104bd3[_0x201ee4(0x1e0)]},'Import\x20routes\x20registered\x20for\x20'+_0x59fb60+'/'+_0x538fe0);}static async['handleImportUpload'](_0x4aaecb,_0x1f1a33,_0x51a6c5,_0x11eca2,_0x1ebcd4){const _0x35dad7=a0_0x117438,_0x4c0b0f={'FLzJK':_0x35dad7(0x1ea),'RoXyM':_0x35dad7(0x1fb)},_0x1c990=uploadHandler[_0x35dad7(0x1ed)]();_0x1c990(_0x4aaecb,_0x1f1a33,async _0x40aaa9=>{const _0x210090=_0x35dad7;if(_0x40aaa9)return _0x1f1a33['status'](0x190)[_0x210090(0x20a)]({'success':![],'error':_0x40aaa9['message']});if(!_0x4aaecb[_0x210090(0x1f0)])return _0x1f1a33[_0x210090(0x1e4)](0x190)[_0x210090(0x20a)]({'success':![],'error':'No\x20file\x20uploaded'});try{const _0x48894a=_0x4aaecb[_0x210090(0x1e7)]['upsertMode']||_0x210090(0x1f8);let _0x36b648=_0x51a6c5['upsertKeys'];if(_0x4aaecb[_0x210090(0x1e7)]['upsertKeys'])try{_0x36b648=JSON['parse'](_0x4aaecb[_0x210090(0x1e7)][_0x210090(0x209)]);}catch(_0x1ca95d){logger['warn']({'event':_0x4c0b0f[_0x210090(0x1ff)],'error':_0x1ca95d[_0x210090(0x1fd)]},_0x210090(0x1ef));}const _0x1db94b=_0x51a6c5['fieldName']||[];if(Array['isArray'](_0x36b648)){const _0x2bb5ac=_0x36b648[_0x210090(0x1f9)](_0x5bc7bd=>!_0x1db94b[_0x210090(0x20e)](_0x5bc7bd));if(_0x2bb5ac[_0x210090(0x1df)]>0x0)return _0x1f1a33['status'](0x190)['json']({'success':![],'error':_0x4c0b0f['RoXyM'],'message':'Keys\x20not\x20allowed:\x20'+_0x2bb5ac[_0x210090(0x1d9)](',\x20'),'validFields':_0x1db94b});}const _0x13ea84={'moduleName':_0x11eca2,'endpointName':_0x1ebcd4,'tableName':_0x51a6c5['tableName'],'primaryKey':_0x51a6c5[_0x210090(0x206)],'fieldName':_0x51a6c5['fieldName'],'fieldLabels':_0x51a6c5['fieldLabels']||{},'columnFormats':_0x51a6c5[_0x210090(0x1d7)]||{},'upsertKeys':_0x36b648,'upsertStrategy':_0x48894a,'requiredFields':_0x51a6c5[_0x210090(0x1f1)]||[],'validations':_0x51a6c5[_0x210090(0x1fe)]||{},'lookupFields':_0x51a6c5[_0x210090(0x1de)]||{},'excludeFromImport':_0x51a6c5['excludeFromImport']||[],'chunkSize':_0x51a6c5[_0x210090(0x1f7)]||0x64},_0x13abb9=await importService[_0x210090(0x203)](_0x4aaecb[_0x210090(0x1f0)],_0x13ea84);_0x1f1a33['json']({'success':!![],'data':_0x13abb9});}catch(_0x3189af){logError(_0x3189af,{'event':'import_upload_process_error'},'Failed\x20to\x20process\x20upload'),_0x1f1a33['status'](0x1f4)[_0x210090(0x20a)]({'success':![],'error':_0x3189af['message']});}});}static async[a0_0x117438(0x20c)](_0x3f3e11,_0x5b9d6b){const _0x45fd6e=a0_0x117438,{upload_id:_0xc6a835}=_0x3f3e11[_0x45fd6e(0x1e7)];if(!_0xc6a835)return _0x5b9d6b['status'](0x190)['json']({'success':![],'error':_0x45fd6e(0x201)});try{const _0x1dbaa4=await importService['createPreviewJob'](_0xc6a835);_0x5b9d6b['json']({'success':!![],'data':_0x1dbaa4});}catch(_0x4682e5){_0x5b9d6b['status'](0x1f4)[_0x45fd6e(0x20a)]({'success':![],'error':_0x4682e5[_0x45fd6e(0x1fd)]});}}static async[a0_0x117438(0x1e5)](_0x4e7f59,_0x3f53e1){const _0x217f1d=a0_0x117438,{preview_job_id:_0x3ca510}=_0x4e7f59[_0x217f1d(0x1e7)];if(!_0x3ca510)return _0x3f53e1[_0x217f1d(0x1e4)](0x190)['json']({'success':![],'error':'preview_job_id\x20is\x20required'});try{const _0x515ae3=await importService[_0x217f1d(0x1f4)](_0x3ca510);_0x3f53e1[_0x217f1d(0x20a)]({'success':!![],'data':_0x515ae3});}catch(_0x1d452b){_0x3f53e1['status'](0x1f4)['json']({'success':![],'error':_0x1d452b[_0x217f1d(0x1fd)]});}}static async[a0_0x117438(0x200)](_0x3e7285,_0xb262c4){const _0x466931=a0_0x117438,_0x27a471={'dtOgT':'job_id\x20is\x20required'},{job_id:_0x4aed97}=_0x3e7285[_0x466931(0x205)];if(!_0x4aed97)return _0xb262c4[_0x466931(0x1e4)](0x190)[_0x466931(0x20a)]({'success':![],'error':_0x27a471['dtOgT']});try{const _0x51e952=await importService['getJobStatus'](_0x4aed97);if(!_0x51e952[_0x466931(0x1e1)])return _0xb262c4[_0x466931(0x1e4)](0x194)['json'](_0x51e952);_0xb262c4['json'](_0x51e952);}catch(_0x1bf4f2){_0xb262c4['status'](0x1f4)['json']({'success':![],'error':_0x1bf4f2['message']});}}}module['exports']=ImportHandler;function a0_0x50cf(){const _0x264ef5=['mta1ndaWnhvnv2LqBq','DxbSB2fKrMLSzq','rMfPBgvKihrVignYzwf0zsbJB21TAxqGAM9I','CxvLCNK','ChjPBwfYEuTLEq','mZG3ode5mgnguNrlAW','mtiWndq0v2Hhr0jy','DxbZzxj0s2v5CW','ANnVBG','Aw5MBW','AgfUzgXLsw1WB3j0uhjLDMLLDW','mta1nZq3mJbmyvPOAwq','Aw5JBhvKzxm','l2LTCg9YDc1WCMv2Awv3','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigDLDcbPBxbVCNqGC3rHDhvZ','AM9PBG','Aw1WB3j0x3n0yxr1C19LCNjVCG','CMvNAxn0zxjsB3v0zxm','mtGXntj3DKnRu1q','oeLyBMHXsG','Bg9VA3vWrMLLBgrZ','BgvUz3rO','DgfIBgvoyw1L','C3vJy2vZCW','Cg9ZDa','l2fWAs8','C3rHDhvZ','AgfUzgXLsw1WB3j0q29TBwL0','qxDhuLq','yM9KEq','ndu5mezTAw9gAa','mJrUwKrzD2y','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','l2LTCg9YDc1JB21TAxq','ntC0vfr0twfr','z2v0vxbSB2fKtwLKzgXLD2fYzq','Aw1WB3j0x2nVBw1PDf9LCNjVCG','rMfPBgvKihrVihbHCNnLihvWC2vYDeTLExmSihvZAw5NigrLzMf1Bhq','zMLSzq','CMvXDwLYzwrgAwvSzhm','Aw1WB3j0x3jVDxrLC19YzwDPC3rLCMvK','mZyWnZe3nLrwsuXVua','y3jLyxrLq29TBwL0sM9I','C0D5vNu','l2LTCg9YDc11CgXVywq','y2H1BMTtAxPL','DxbKyxrLx2v4Axn0Aw5N','zMLSDgvY','nZD1sxnVCum','sw52ywXPzcb1ChnLCNqGA2v5CW','ndCZmMXdyLDkuW','BwvZC2fNzq','DMfSAwrHDgLVBNm','rKX6sKS','AgfUzgXLsw1WB3j0u3rHDhvZ','DxbSB2fKx2LKigLZihjLCxvPCMvK'];a0_0x50cf=function(){return _0x264ef5;};return a0_0x50cf();}
1
+ const a0_0x42717f=a0_0x5d38;(function(_0x407d85,_0x31e3ff){const _0x50aab4=a0_0x5d38,_0x165e17=_0x407d85();while(!![]){try{const _0x33b48e=parseInt(_0x50aab4(0x170))/0x1+-parseInt(_0x50aab4(0x14e))/0x2*(parseInt(_0x50aab4(0x14c))/0x3)+-parseInt(_0x50aab4(0x17b))/0x4+-parseInt(_0x50aab4(0x14b))/0x5+-parseInt(_0x50aab4(0x175))/0x6*(-parseInt(_0x50aab4(0x173))/0x7)+parseInt(_0x50aab4(0x162))/0x8+-parseInt(_0x50aab4(0x151))/0x9*(-parseInt(_0x50aab4(0x16e))/0xa);if(_0x33b48e===_0x31e3ff)break;else _0x165e17['push'](_0x165e17['shift']());}catch(_0x3b4e73){_0x165e17['push'](_0x165e17['shift']());}}}(a0_0x2122,0xd6f9e));const importService=require('../../services/import-service'),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require('../../utils/logger');class ImportHandler{static['registerRoutes'](_0x1c15c3,_0x1fd423,_0x423841,_0x52f8b8){const _0x42d8a3=a0_0x5d38,_0x399108={'sUnwE':'import_commit_error','fEwlQ':function(_0x43d002,_0x36f59a,_0x1d5eab,_0x5b3b8f){return _0x43d002(_0x36f59a,_0x1d5eab,_0x5b3b8f);},'oBDxh':_0x42d8a3(0x150),'FdfMm':'Failed\x20to\x20get\x20import\x20status','ThBhd':'import_routes_registered'},_0x241894=_0x42d8a3(0x16f)+_0x1fd423+'/'+_0x423841;_0x1c15c3['post'](_0x241894+_0x42d8a3(0x147),async(_0x299413,_0x47b39a)=>{const _0x1932d6=_0x42d8a3;try{await this[_0x1932d6(0x179)](_0x299413,_0x47b39a,_0x52f8b8,_0x1fd423,_0x423841);}catch(_0x3b3733){logError(_0x3b3733,{'event':_0x1932d6(0x17a)},_0x1932d6(0x176)),_0x47b39a['status'](0x1f4)['json']({'success':![],'error':_0x3b3733[_0x1932d6(0x17e)]});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+'/import-preview',async(_0x28453d,_0x14eb34)=>{const _0x557036=_0x42d8a3;try{await this[_0x557036(0x15d)](_0x28453d,_0x14eb34);}catch(_0x50f6e5){logError(_0x50f6e5,{'event':_0x557036(0x163)},_0x557036(0x153)),_0x14eb34['status'](0x1f4)['json']({'success':![],'error':_0x50f6e5['message']});}}),_0x1c15c3[_0x42d8a3(0x178)](_0x241894+_0x42d8a3(0x15a),async(_0x2c3978,_0x13530f)=>{const _0x567918=_0x42d8a3;try{await this[_0x567918(0x16d)](_0x2c3978,_0x13530f);}catch(_0x5b2ceb){logError(_0x5b2ceb,{'event':_0x399108['sUnwE']},'Failed\x20to\x20create\x20commit\x20job'),_0x13530f[_0x567918(0x15c)](0x1f4)[_0x567918(0x174)]({'success':![],'error':_0x5b2ceb['message']});}}),_0x1c15c3[_0x42d8a3(0x158)](_0x241894+_0x42d8a3(0x17f),async(_0x2eeb3a,_0x2fdb5e)=>{const _0x45f6f1=_0x42d8a3;try{await this[_0x45f6f1(0x14f)](_0x2eeb3a,_0x2fdb5e);}catch(_0x33f507){_0x399108[_0x45f6f1(0x149)](logError,_0x33f507,{'event':_0x399108[_0x45f6f1(0x169)]},_0x399108[_0x45f6f1(0x171)]),_0x2fdb5e['status'](0x1f4)[_0x45f6f1(0x174)]({'success':![],'error':_0x33f507['message']});}}),logger[_0x42d8a3(0x14d)]({'event':_0x399108['ThBhd'],'module':_0x1fd423,'endpoint':_0x423841,'table':_0x52f8b8[_0x42d8a3(0x16b)]},_0x42d8a3(0x180)+_0x1fd423+'/'+_0x423841);}static async[a0_0x42717f(0x179)](_0x4a156d,_0x393cc2,_0x1deaa7,_0x1067bf,_0x268533){const _0xe17983=a0_0x42717f,_0xa969bf={'EZqsx':_0xe17983(0x15e),'msDel':_0xe17983(0x172),'BoiVM':'Failed\x20to\x20process\x20upload'},_0x34e2d4=uploadHandler['getUploadMiddleware']();_0x34e2d4(_0x4a156d,_0x393cc2,async _0x44c824=>{const _0x58ae04=_0xe17983;if(_0x44c824)return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0x44c824[_0x58ae04(0x17e)]});if(!_0x4a156d['file'])return _0x393cc2['status'](0x190)['json']({'success':![],'error':_0xa969bf[_0x58ae04(0x148)]});try{const _0x3c1d4d=_0x4a156d['body']['upsertMode']||'update_existing';let _0x4b6e69=_0x1deaa7[_0x58ae04(0x17c)];if(_0x4a156d['body']['upsertKeys'])try{_0x4b6e69=JSON[_0x58ae04(0x161)](_0x4a156d[_0x58ae04(0x154)]['upsertKeys']);}catch(_0x4de9a0){logger['warn']({'event':_0x58ae04(0x177),'error':_0x4de9a0['message']},'Failed\x20to\x20parse\x20upsertKeys,\x20using\x20default');}const _0x22e636=_0x1deaa7['fieldName']||[];if(Array[_0x58ae04(0x15b)](_0x4b6e69)){const _0x2f4a0f=_0x4b6e69['filter'](_0x4c47ff=>!_0x22e636[_0x58ae04(0x17d)](_0x4c47ff));if(_0x2f4a0f[_0x58ae04(0x15f)]>0x0)return _0x393cc2[_0x58ae04(0x15c)](0x190)['json']({'success':![],'error':_0x58ae04(0x14a),'message':_0x58ae04(0x164)+_0x2f4a0f['join'](',\x20'),'validFields':_0x22e636});}const _0x5cedef={'moduleName':_0x1067bf,'endpointName':_0x268533,'tableName':_0x1deaa7[_0x58ae04(0x16b)],'primaryKey':_0x1deaa7['primaryKey'],'fieldName':_0x1deaa7[_0x58ae04(0x165)],'fieldLabels':_0x1deaa7['fieldLabels']||{},'columnFormats':_0x1deaa7['columnFormats']||{},'upsertKeys':_0x4b6e69,'upsertStrategy':_0x3c1d4d,'requiredFields':_0x1deaa7[_0x58ae04(0x167)]||[],'validations':_0x1deaa7[_0x58ae04(0x159)]||{},'lookupFields':_0x1deaa7['lookupFields']||{},'excludeFromImport':_0x1deaa7[_0x58ae04(0x156)]||[],'chunkSize':_0x1deaa7['chunkSize']||0x64},_0x347cf9=await importService['uploadFile'](_0x4a156d[_0x58ae04(0x168)],_0x5cedef);_0x393cc2[_0x58ae04(0x174)]({'success':!![],'data':_0x347cf9});}catch(_0x16f502){logError(_0x16f502,{'event':_0xa969bf['msDel']},_0xa969bf[_0x58ae04(0x152)]),_0x393cc2[_0x58ae04(0x15c)](0x1f4)[_0x58ae04(0x174)]({'success':![],'error':_0x16f502[_0x58ae04(0x17e)]});}});}static async[a0_0x42717f(0x15d)](_0x389195,_0x100085){const _0x4ce934=a0_0x42717f,_0x2c47db={'xryoZ':'upload_id\x20is\x20required'},{upload_id:_0x539740}=_0x389195[_0x4ce934(0x154)];if(!_0x539740)return _0x100085[_0x4ce934(0x15c)](0x190)['json']({'success':![],'error':_0x2c47db['xryoZ']});try{const _0x2872c8=await importService[_0x4ce934(0x16c)](_0x539740);_0x100085[_0x4ce934(0x174)]({'success':!![],'data':_0x2872c8});}catch(_0xf646b2){_0x100085[_0x4ce934(0x15c)](0x1f4)[_0x4ce934(0x174)]({'success':![],'error':_0xf646b2[_0x4ce934(0x17e)]});}}static async[a0_0x42717f(0x16d)](_0x4560cb,_0x5e2a9c){const _0x351cbc=a0_0x42717f,{preview_job_id:_0x3e0621}=_0x4560cb[_0x351cbc(0x154)];if(!_0x3e0621)return _0x5e2a9c[_0x351cbc(0x15c)](0x190)['json']({'success':![],'error':_0x351cbc(0x16a)});try{const _0xc5aef4=await importService[_0x351cbc(0x160)](_0x3e0621);_0x5e2a9c[_0x351cbc(0x174)]({'success':!![],'data':_0xc5aef4});}catch(_0x5ea89b){_0x5e2a9c['status'](0x1f4)[_0x351cbc(0x174)]({'success':![],'error':_0x5ea89b['message']});}}static async['handleImportStatus'](_0xcbc135,_0x29f8ba){const _0x52c0fb=a0_0x42717f,{job_id:_0x3e2bfe}=_0xcbc135['query'];if(!_0x3e2bfe)return _0x29f8ba['status'](0x190)['json']({'success':![],'error':_0x52c0fb(0x166)});try{const _0x32b651=await importService[_0x52c0fb(0x157)](_0x3e2bfe);if(!_0x32b651[_0x52c0fb(0x155)])return _0x29f8ba[_0x52c0fb(0x15c)](0x194)['json'](_0x32b651);_0x29f8ba[_0x52c0fb(0x174)](_0x32b651);}catch(_0x44ff9c){_0x29f8ba['status'](0x1f4)[_0x52c0fb(0x174)]({'success':![],'error':_0x44ff9c['message']});}}}module['exports']=ImportHandler;function a0_0x5d38(_0x52a46d,_0x4626ee){_0x52a46d=_0x52a46d-0x147;const _0x21226c=a0_0x2122();let _0x5d38e0=_0x21226c[_0x52a46d];if(a0_0x5d38['kdJnCJ']===undefined){var _0x568f1c=function(_0x20d2f7){const _0x83d961='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c131b='',_0x5cb81b='';for(let _0x215dcb=0x0,_0x5cca23,_0x59f867,_0x318da2=0x0;_0x59f867=_0x20d2f7['charAt'](_0x318da2++);~_0x59f867&&(_0x5cca23=_0x215dcb%0x4?_0x5cca23*0x40+_0x59f867:_0x59f867,_0x215dcb++%0x4)?_0x3c131b+=String['fromCharCode'](0xff&_0x5cca23>>(-0x2*_0x215dcb&0x6)):0x0){_0x59f867=_0x83d961['indexOf'](_0x59f867);}for(let _0x3c25e1=0x0,_0x3b2d62=_0x3c131b['length'];_0x3c25e1<_0x3b2d62;_0x3c25e1++){_0x5cb81b+='%'+('00'+_0x3c131b['charCodeAt'](_0x3c25e1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb81b);};a0_0x5d38['XpSRAf']=_0x568f1c,a0_0x5d38['HsUzgj']={},a0_0x5d38['kdJnCJ']=!![];}const _0x7b70ef=_0x21226c[0x0],_0x208480=_0x52a46d+_0x7b70ef,_0x3a3f77=a0_0x5d38['HsUzgj'][_0x208480];return!_0x3a3f77?(_0x5d38e0=a0_0x5d38['XpSRAf'](_0x5d38e0),a0_0x5d38['HsUzgj'][_0x208480]=_0x5d38e0):_0x5d38e0=_0x3a3f77,_0x5d38e0;}function a0_0x2122(){const _0x2ca8c6=['mtu0ndq3ofjwC1vJyW','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','Cg9ZDa','AgfUzgXLsw1WB3j0vxbSB2fK','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','ndmWnJiXnMnWqMfpEq','DxbZzxj0s2v5CW','Aw5JBhvKzxm','BwvZC2fNzq','l2LTCg9YDc1ZDgf0Dxm','sw1WB3j0ihjVDxrLCYbYzwDPC3rLCMvKigzVCIa','l2LTCg9YDc11CgXVywq','rvPXC3G','zKv3Bfe','sw52ywXPzcb1ChnLCNqGA2v5CW','mZa0mZKWugzsrwjR','mty1C1vLCwjT','Aw5MBW','ndaZodjWAgL6Bvy','AgfUzgXLsw1WB3j0u3rHDhvZ','Aw1WB3j0x3n0yxr1C19LCNjVCG','mZy2oty1mwfyBvPcuq','qM9PvK0','rMfPBgvKihrVignYzwf0zsbWCMv2Awv3igPVyG','yM9KEq','C3vJy2vZCW','zxHJBhvKzuzYB21jBxbVCNq','z2v0sM9Iu3rHDhvZ','z2v0','DMfSAwrHDgLVBNm','l2LTCg9YDc1JB21TAxq','AxnbCNjHEq','C3rHDhvZ','AgfUzgXLsw1WB3j0uhjLDMLLDW','tM8GzMLSzsb1CgXVywrLza','BgvUz3rO','y3jLyxrLq29TBwL0sM9I','CgfYC2u','ode0nJqZmM9Qrwr2CG','Aw1WB3j0x3bYzxzPzxDFzxjYB3i','s2v5CYbUB3qGywXSB3DLzdOG','zMLLBgroyw1L','AM9Ix2LKigLZihjLCxvPCMvK','CMvXDwLYzwrgAwvSzhm','zMLSzq','B0jeEgG','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','DgfIBgvoyw1L','y3jLyxrLuhjLDMLLD0PVyG','AgfUzgXLsw1WB3j0q29TBwL0','mJbfrMrezhm','l2fWAs8','mJy1mdq1reXQuNfi','rMrMtw0','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','mJHyCvzluKi','ANnVBG'];a0_0x2122=function(){return _0x2ca8c6;};return a0_0x2122();}
@@ -1 +1 @@
1
- function a0_0xdc64(_0x506b3b,_0x17c9de){_0x506b3b=_0x506b3b-0xc8;const _0x5a86e1=a0_0x5a86();let _0xdc64b9=_0x5a86e1[_0x506b3b];if(a0_0xdc64['ldqJRt']===undefined){var _0x21ce69=function(_0x4e4a10){const _0x40f3d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa27951='',_0x451918='';for(let _0x4abb07=0x0,_0x55a447,_0x2c5fd1,_0xd223e1=0x0;_0x2c5fd1=_0x4e4a10['charAt'](_0xd223e1++);~_0x2c5fd1&&(_0x55a447=_0x4abb07%0x4?_0x55a447*0x40+_0x2c5fd1:_0x2c5fd1,_0x4abb07++%0x4)?_0xa27951+=String['fromCharCode'](0xff&_0x55a447>>(-0x2*_0x4abb07&0x6)):0x0){_0x2c5fd1=_0x40f3d6['indexOf'](_0x2c5fd1);}for(let _0x3793ba=0x0,_0x1e7275=_0xa27951['length'];_0x3793ba<_0x1e7275;_0x3793ba++){_0x451918+='%'+('00'+_0xa27951['charCodeAt'](_0x3793ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x451918);};a0_0xdc64['nfSLsO']=_0x21ce69,a0_0xdc64['dNdlZV']={},a0_0xdc64['ldqJRt']=!![];}const _0x43b80b=_0x5a86e1[0x0],_0x5e2f4b=_0x506b3b+_0x43b80b,_0x1abfdb=a0_0xdc64['dNdlZV'][_0x5e2f4b];return!_0x1abfdb?(_0xdc64b9=a0_0xdc64['nfSLsO'](_0xdc64b9),a0_0xdc64['dNdlZV'][_0x5e2f4b]=_0xdc64b9):_0xdc64b9=_0x1abfdb,_0xdc64b9;}const a0_0xc1c254=a0_0xdc64;(function(_0x2ea183,_0x49d13f){const _0x3bc7b5=a0_0xdc64,_0x23e088=_0x2ea183();while(!![]){try{const _0x3293f0=parseInt(_0x3bc7b5(0xe5))/0x1+-parseInt(_0x3bc7b5(0xe1))/0x2*(parseInt(_0x3bc7b5(0xda))/0x3)+-parseInt(_0x3bc7b5(0x109))/0x4+-parseInt(_0x3bc7b5(0x102))/0x5*(-parseInt(_0x3bc7b5(0xdd))/0x6)+-parseInt(_0x3bc7b5(0x118))/0x7*(-parseInt(_0x3bc7b5(0xcc))/0x8)+-parseInt(_0x3bc7b5(0xc9))/0x9*(-parseInt(_0x3bc7b5(0xd8))/0xa)+-parseInt(_0x3bc7b5(0xc8))/0xb;if(_0x3293f0===_0x49d13f)break;else _0x23e088['push'](_0x23e088['shift']());}catch(_0x512459){_0x23e088['push'](_0x23e088['shift']());}}}(a0_0x5a86,0xb8fc8));function a0_0x5a86(){const _0x57fb17=['qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','B3zJvM8','lcaNwvLzws1nts1ercCP','t1jbq0Xf','yMf0y2HFAw5Zzxj0x2j1AwX0','zK9sEKi','icbjtLrpia','ieftierbveuP','BxLZCwW','tLvmtdO6refurq','DNvQuMm','z2v0rgf0ywjHC2vuExbL','ve9FrefursG','DxvutLi','ihqkicaGicaGvvnjtKCGkaO','kqOGicaGicbwquXvrvmG','zgvIDwC','BgHyuKO','BNvTyMvY','C3rYAw5N','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','laOGicaGicaGia','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','kqOGicaGicbxsevsrsa','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','otaWnta1zLrNswj3','cIaGicaGieLou0vsvcbjtLrpia','y1vKAKm','cIaGica','yNvPBgrfC2nHCgvgDw5JDgLVBG','ieftihqkicaGicaGu0vuia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','mtu4nJaYngLjBwDpvW','Dfjxtg4','DhLWzq','vvLcBwO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','tvLtuuW','y3j0veW','zgf0zq','zNjrDNC','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','su5trvjuiefmtaO','cLnftevdvcaXiezst00Grfvbta','zw52','BwfW','u1fmsvrf','nJy2nZu3q25tDuHA','mti2nJG0ogTSBunhAW','mZy5wKvzshLr','zM9YBwf0rgf0zvzHBhvL','cIaGicaGicKGDGOGicaGicbptIaO','odHHwffRugy','rgnLCuu','BgvUz3rO','sKrvA2G','Aw5JBhvKzxm','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','lI9SB2DNzxi','cIaGicaGicKGqvmGDIG','D2fYBG','ufHksuG','cIaGicbvtKLptIbbteWk','mtG4mgr6BgLuCq','laOGicaGicaGica','odGZodG3Aunmy0DH','B3jHy2XL','zMLSDgvY','nLnYrNrruq','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','Dg9mB3DLCKnHC2u','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','ohzbz1rLwa','vhH3uuO','tLvmta','ChvZAa','mtiXmJmYneDMrwPhAq','id0GDI4','AM9PBG'];a0_0x5a86=function(){return _0x57fb17;};return a0_0x5a86();}const {logger}=require(a0_0xc1c254(0xd3)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':a0_0xc1c254(0xdb),'SQLITE':'sqlite'};class UpsertBuilder{['getDatabaseType'](){const _0xefed24=a0_0xc1c254,_0x32b321={'ovcVo':'postgresql'},_0x15c425=(process[_0xefed24(0x115)]['DB_TYPE']||_0x32b321[_0xefed24(0xe9)])[_0xefed24(0xdf)](),_0x35b33a=Object['values'](DB_TYPES);if(!_0x35b33a['includes'](_0x15c425))return logger['warn']({'event':'invalid_db_type','provided':_0x15c425,'fallback':_0x32b321[_0xefed24(0xe9)]},'Invalid\x20DB_TYPE:\x20'+_0x15c425+_0xefed24(0xde)),DB_TYPES['POSTGRESQL'];return _0x15c425;}['formatDateValue'](_0x21c339,_0x41a291,_0xac102a=![]){const _0x2297b9=a0_0xc1c254,_0x26fd3d={'CCNOv':'NULL::DATE','hUAeF':_0x2297b9(0xe3)};if(_0xac102a)switch(_0x41a291){case DB_TYPES['POSTGRESQL']:return _0x26fd3d['CCNOv'];case DB_TYPES[_0x2297b9(0x10e)]:return _0x26fd3d['hUAeF'];case DB_TYPES[_0x2297b9(0x117)]:return _0x26fd3d['hUAeF'];case DB_TYPES['SQLSERVER']:return _0x2297b9(0xe3);case DB_TYPES['ORACLE']:return _0x26fd3d['hUAeF'];default:return _0x2297b9(0xf1);}switch(_0x41a291){case DB_TYPES['POSTGRESQL']:return _0x21c339+'::DATE';case DB_TYPES[_0x2297b9(0x10e)]:return _0x21c339;case DB_TYPES['SQLITE']:return _0x21c339;case DB_TYPES['SQLSERVER']:return'CAST('+_0x21c339+_0x2297b9(0xef);case DB_TYPES['ORACLE']:return _0x2297b9(0xf4)+_0x21c339+_0x2297b9(0xea);default:return _0x21c339+'::DATE';}}['buildEscapeFunction'](_0x298041={}){const _0x461ee7=a0_0xc1c254,_0x10c16a={'uuTNR':function(_0x50e1b5,_0x364475){return _0x50e1b5===_0x364475;},'cUdjC':_0x461ee7(0x110),'yLSlM':_0x461ee7(0xe3),'TxwQJ':function(_0x10108c,_0x549a54){return _0x10108c===_0x549a54;},'UpweF':_0x461ee7(0xfa),'PXJCu':function(_0x497df7,_0x180576){return _0x497df7===_0x180576;},'PXJIH':function(_0x531bc3,_0x4cd822){return _0x531bc3(_0x4cd822);},'crtTL':function(_0x4656c9,_0x3f7f28){return _0x4656c9===_0x3f7f28;}},_0x52f3cd=this[_0x461ee7(0xf3)]();return(_0x38bf6b,_0x318910)=>{const _0x7c9484=_0x461ee7,_0x1d90d4=_0x298041[_0x318910];if(_0x38bf6b===null||_0x10c16a[_0x7c9484(0xf5)](_0x38bf6b,undefined)){if(_0x1d90d4&&_0x1d90d4['type']===_0x10c16a[_0x7c9484(0x104)])return this[_0x7c9484(0xca)](null,_0x52f3cd,!![]);return _0x10c16a['yLSlM'];}if(_0x10c16a['TxwQJ'](typeof _0x38bf6b,_0x7c9484(0xfb))){const _0x5df5be='\x27'+_0x38bf6b['replace'](/'/g,'\x27\x27')+'\x27';if(_0x1d90d4&&_0x1d90d4[_0x7c9484(0x10b)]===_0x7c9484(0x110))return this[_0x7c9484(0xca)](_0x5df5be,_0x52f3cd,![]);return _0x5df5be;}if(_0x10c16a[_0x7c9484(0xe2)](typeof _0x38bf6b,_0x10c16a['UpweF']))return _0x38bf6b;if(_0x10c16a['PXJCu'](typeof _0x38bf6b,'boolean'))return _0x38bf6b;const _0x2496d5='\x27'+_0x10c16a[_0x7c9484(0xd6)](String,_0x38bf6b)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x1d90d4&&_0x10c16a[_0x7c9484(0x10f)](_0x1d90d4[_0x7c9484(0x10b)],_0x10c16a['cUdjC']))return this[_0x7c9484(0xca)](_0x2496d5,_0x52f3cd,![]);return _0x2496d5;};}['buildBatchInsert'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59={}){const _0x46550e=a0_0xc1c254,_0x3e04c0={'qLOhG':function(_0x1e0e45,_0x52c3cd){return _0x1e0e45===_0x52c3cd;}},_0x4c2b1c=this[_0x46550e(0xf3)]();if(_0x3e04c0['qLOhG'](_0x4c2b1c,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59);return this['_buildBatchInsertPostgres'](_0x320276,_0x3f332f,_0x3bd10a,_0x4b4a59);}[a0_0xc1c254(0x112)](_0x3b902c,_0xc55165,_0x536963,_0x5edd5d={}){const _0x31d348=a0_0xc1c254,_0x95e110={'ZOppt':'batch_insert_built'};if(_0x3b902c[_0x31d348(0xce)]===0x0)return{'query':null,'values':[]};const _0x4db900=this[_0x31d348(0x106)](_0x5edd5d),_0x5e03c5=_0x3b902c['map'](_0x338443=>{const _0x35cfb8=_0x31d348,_0x20c0ed=_0x536963[_0x35cfb8(0x116)](_0x1c09d0=>_0x4db900(_0x338443[_0x1c09d0],_0x1c09d0));return'('+_0x20c0ed[_0x35cfb8(0xe7)](',\x20')+')';}),_0x4f2825='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xc55165+'\x20('+_0x536963['join'](',\x20')+_0x31d348(0xf7)+_0x5e03c5[_0x31d348(0xe7)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x95e110['ZOppt'],'tableName':_0xc55165,'rowCount':_0x3b902c[_0x31d348(0xce)],'dbType':'postgresql'},_0x31d348(0xff)),{'query':_0x4f2825,'values':[]};}[a0_0xc1c254(0xfc)](_0x336145,_0x2c40d7,_0x39b391,_0x976db8={}){const _0x3db010=a0_0xc1c254,_0x3c7279={'RFkIP':_0x3db010(0xec),'mdNIP':_0x3db010(0xe8)};if(_0x336145[_0x3db010(0xce)]===0x0)return{'query':null,'values':[]};const _0x5a78cf=this[_0x3db010(0x106)](_0x976db8),_0x321de0=_0x336145['map'](_0x20dc11=>{const _0x482bad=_0x3db010,_0x174e6b=_0x39b391[_0x482bad(0x116)](_0x4d0320=>_0x5a78cf(_0x20dc11[_0x4d0320],_0x4d0320));return _0x482bad(0xee)+_0x2c40d7+'\x20('+_0x39b391[_0x482bad(0xe7)](',\x20')+')\x20VALUES\x20('+_0x174e6b[_0x482bad(0xe7)](',\x20')+')';}),_0x2d48f8=_0x3db010(0x113)+_0x321de0['join']('\x0a')+_0x3db010(0x114);return logger[_0x3db010(0xf8)]({'event':_0x3c7279['RFkIP'],'tableName':_0x2c40d7,'rowCount':_0x336145[_0x3db010(0xce)],'dbType':_0x3db010(0xdb)},_0x3c7279['mdNIP']),{'query':_0x2d48f8,'values':[]};}['buildBatchUpdate'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3={}){const _0x31813e=a0_0xc1c254,_0x5b7ba5=this['getDatabaseType']();if(_0x5b7ba5===DB_TYPES[_0x31813e(0xeb)])return this['_buildBatchUpdateOracle'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);if(_0x5b7ba5===DB_TYPES['MYSQL'])return this['_buildBatchUpdateMysql'](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);return this[_0x31813e(0x101)](_0xc60b06,_0x555943,_0x184e64,_0x8343b,_0x22ce1f,_0x46c7b3);}[a0_0xc1c254(0x101)](_0x3bb8c1,_0x4d9e02,_0xe4357a,_0x359fb3,_0x5dba37,_0x4e92ee={}){const _0x72f0e5=a0_0xc1c254,_0x3aec0a={'YFfuF':function(_0x9d85bc,_0x242653){return _0x9d85bc===_0x242653;},'aFUKC':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','fORzB':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','otwRD':'batch_update_built'};if(_0x3aec0a['YFfuF'](_0x3bb8c1['length'],0x0))return{'query':null,'values':[]};const _0x287f00=this['buildEscapeFunction'](_0x4e92ee),_0x5bb013=_0xe4357a[_0x72f0e5(0xdc)](_0x36ce89=>!_0x5dba37[_0x72f0e5(0xd0)](_0x36ce89)&&_0x36ce89!==_0x359fb3);if(_0x5bb013[_0x72f0e5(0xce)]===0x0)return logger[_0x72f0e5(0xd5)]({'event':_0x72f0e5(0xd1),'tableName':_0x4d9e02},_0x3aec0a['aFUKC']),{'query':null,'values':[]};const _0xf3f3e8=_0x3bb8c1['map'](_0x174713=>{const _0x43a4d8=[..._0x5dba37,..._0x5bb013],_0x1b4969=_0x43a4d8['map'](_0x349a4e=>_0x287f00(_0x174713[_0x349a4e],_0x349a4e));return'('+_0x1b4969['join'](',\x20')+')';}),_0x4d2ee9=_0x5bb013[_0x72f0e5(0x116)](_0x335399=>_0x335399+'\x20=\x20v.'+_0x335399)['join'](_0x3aec0a[_0x72f0e5(0xed)]),_0x105bb7=_0x5dba37[_0x72f0e5(0x116)](_0x2b1008=>'t.'+_0x2b1008+'\x20=\x20v.'+_0x2b1008)['join']('\x20AND\x20'),_0x56ffad='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4d9e02+_0x72f0e5(0x107)+_0x4d2ee9+_0x72f0e5(0xfd)+_0xf3f3e8[_0x72f0e5(0xe7)](_0x72f0e5(0xfe))+_0x72f0e5(0xd4)+[..._0x5dba37,..._0x5bb013][_0x72f0e5(0xe7)](',\x20')+_0x72f0e5(0x100)+_0x105bb7+_0x72f0e5(0x105);return logger['debug']({'event':_0x3aec0a['otwRD'],'tableName':_0x4d9e02,'rowCount':_0x3bb8c1[_0x72f0e5(0xce)],'updateColumns':_0x5bb013['length'],'dbType':'postgresql'},_0x72f0e5(0xe0)),{'query':_0x56ffad,'values':[]};}[a0_0xc1c254(0x10d)](_0x296e73,_0x2297d1,_0x31e443,_0x449726,_0x53f4d0,_0x567f66={}){const _0x309cd7=a0_0xc1c254,_0x13ddcc={'tsiJw':function(_0x1680ef,_0x514a76){return _0x1680ef===_0x514a76;},'aGkjE':'batch_update_no_columns','lhXRJ':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','FTeZy':'\x20AND\x20'};if(_0x296e73[_0x309cd7(0xce)]===0x0)return{'query':null,'values':[]};const _0x1cbb09=this['buildEscapeFunction'](_0x567f66),_0x3776d9=_0x31e443[_0x309cd7(0xdc)](_0x3bd9ba=>!_0x53f4d0[_0x309cd7(0xd0)](_0x3bd9ba)&&_0x3bd9ba!==_0x449726);if(_0x3776d9['length']===0x0)return logger[_0x309cd7(0xd5)]({'event':_0x13ddcc['aGkjE'],'tableName':_0x2297d1},_0x13ddcc[_0x309cd7(0xf9)]),{'query':null,'values':[]};const _0x32f099=[..._0x53f4d0,..._0x3776d9],_0x2fe8f1=_0x296e73[_0x309cd7(0x116)]((_0x9e89d,_0x6deb62)=>{const _0x5d569b=_0x309cd7,_0x19509d={'DceqE':function(_0x536d44,_0x33b07f,_0x4ea230){return _0x536d44(_0x33b07f,_0x4ea230);},'JDUkh':function(_0x3674b8,_0x2a379d){return _0x13ddcc['tsiJw'](_0x3674b8,_0x2a379d);}},_0x172c6c=_0x32f099['map'](_0x29569e=>{const _0x2eee1d=a0_0xdc64,_0x2c8ba4=_0x19509d[_0x2eee1d(0xcd)](_0x1cbb09,_0x9e89d[_0x29569e],_0x29569e);return _0x19509d[_0x2eee1d(0xcf)](_0x6deb62,0x0)?_0x2c8ba4+'\x20AS\x20'+_0x29569e:_0x2c8ba4;});return'\x20\x20\x20\x20SELECT\x20'+_0x172c6c[_0x5d569b(0xe7)](',\x20')+'\x20FROM\x20DUAL';}),_0x398bd7=_0x3776d9['map'](_0x43cb8c=>'t.'+_0x43cb8c+_0x309cd7(0xe6)+_0x43cb8c)['join'](_0x309cd7(0xd9)),_0x311940=_0x53f4d0[_0x309cd7(0x116)](_0x502169=>'t.'+_0x502169+'\x20=\x20v.'+_0x502169)['join'](_0x13ddcc['FTeZy']),_0x1f80af='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x2297d1+_0x309cd7(0xf6)+_0x2fe8f1['join'](_0x309cd7(0xd7))+_0x309cd7(0xcb)+_0x311940+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x398bd7+_0x309cd7(0x105);return logger[_0x309cd7(0xf8)]({'event':'batch_update_built','tableName':_0x2297d1,'rowCount':_0x296e73['length'],'updateColumns':_0x3776d9[_0x309cd7(0xce)],'dbType':'oracle'},_0x309cd7(0x108)),{'query':_0x1f80af,'values':[]};}['_buildBatchUpdateMysql'](_0x196ed9,_0x15ae39,_0x51ba60,_0x4946fb,_0x240f51,_0x15aade={}){const _0x172344=a0_0xc1c254,_0x5c653d={'UYBmj':function(_0x2a6ea3,_0x26aff2){return _0x2a6ea3===_0x26aff2;},'tRWLn':_0x172344(0xfe),'DAUIw':'batch_update_built','vujRc':_0x172344(0xf0),'frQvw':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x5c653d[_0x172344(0x10c)](_0x196ed9['length'],0x0))return{'query':null,'values':[]};const _0x4bf66a=this[_0x172344(0x106)](_0x15aade),_0x57dd55=_0x51ba60[_0x172344(0xdc)](_0x749d1d=>!_0x240f51[_0x172344(0xd0)](_0x749d1d)&&_0x749d1d!==_0x4946fb);if(_0x5c653d['UYBmj'](_0x57dd55[_0x172344(0xce)],0x0))return logger[_0x172344(0xd5)]({'event':_0x172344(0xd1),'tableName':_0x15ae39},_0x172344(0xd2)),{'query':null,'values':[]};const _0x3cda81=[...new Set([..._0x240f51,..._0x57dd55])],_0x99e9ed=_0x196ed9[_0x172344(0x116)](_0x6a916d=>{const _0x2bba93=_0x172344,_0x4c41cb=_0x3cda81[_0x2bba93(0x116)](_0x334df8=>_0x4bf66a(_0x6a916d[_0x334df8],_0x334df8));return'('+_0x4c41cb[_0x2bba93(0xe7)](',\x20')+')';}),_0x2bb3d8=_0x57dd55[_0x172344(0x116)](_0x40eacb=>_0x40eacb+'\x20=\x20VALUES('+_0x40eacb+')')[_0x172344(0xe7)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x45a9a9=_0x172344(0x103)+_0x15ae39+'\x20('+_0x3cda81[_0x172344(0xe7)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x99e9ed['join'](_0x5c653d[_0x172344(0x10a)])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x2bb3d8+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x5c653d['DAUIw'],'tableName':_0x15ae39,'rowCount':_0x196ed9[_0x172344(0xce)],'updateColumns':_0x57dd55[_0x172344(0xce)],'dbType':_0x5c653d[_0x172344(0xf2)]},_0x5c653d[_0x172344(0x111)]),{'query':_0x45a9a9,'values':[]};}['chunkRows'](_0x162396,_0x2e9b99=0x64){const _0x2fc062=a0_0xc1c254,_0x555423={'YQjxD':function(_0x341efd,_0x215a93){return _0x341efd+_0x215a93;}},_0x15dd2b=[];for(let _0x43105c=0x0;_0x43105c<_0x162396['length'];_0x43105c+=_0x2e9b99){_0x15dd2b[_0x2fc062(0xe4)](_0x162396['slice'](_0x43105c,_0x555423['YQjxD'](_0x43105c,_0x2e9b99)));}return _0x15dd2b;}}module['exports']=new UpsertBuilder();
1
+ function a0_0x1176(){const _0x570036=['yM9VBgvHBG','zgf0zq','ieforca','cLnftevdvcaXiezst00Grfvbta','cIaGica','nde0nZuWsKjhvgDs','mZu4odeYow1hvMTgsq','z2v0rgf0ywjHC2vuExbL','cIaGicaGicKGDGOGicaGicbptIaO','uK5YwKW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','Cg9ZDgDYzxnXBa','Cgj4Agm','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','mtrer0TJB0m','zw52','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zM9YBwf0rgf0zvzHBhvL','Aw5JBhvKzxm','CMvWBgfJzq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','vvfRCK0','AM9PBG','mMDKBMjyBW','mtqWvhjMv2rm','B3jHy2XL','yMf0y2HFDxbKyxrLx2j1AwX0','BgvUz3rO','DhLWzq','id0GDI4','zwzXruy','DuvguMi','AuzJqLu','wNDws1e','B2DzANe','tvLtuuW','ihqkicaGicaGvvnjtKCGkaO','zgvIDwC','lI9SB2DNzxi','ue9tveDsrvnrta','ze50DLK','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','t1jbq0Xf','tLvmta','C3rYAw5N','wwDRrwi','C2XPy2u','q0ftvcG','BwfW','EwrPsu0','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','cIaGicaGie1fuKDfieLove8G','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','otC3mJK1sLLNq21T','C3fSAxrL','v3nMsfG','yKrjru4','u1fmsvrf','mty1nZm2AKXRyMDl','A0zXD1u','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','laOGicaGicaGia','qKfjBgO','mZaYndG0nZfQrhjlBum','BxLZCwW','kqOGicaGicbwquXvrvmG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','wu9rC1K','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','lcaNwvLzws1nts1ercCP','B0PIB3O','tMrwwhi','BfHsCfC','zMLSDgvY','tLvmtdO6refurq','icbjtLrpia','cIaGicaGicKGqvmGDIG','id0GvKfmvuvtka','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','mtK4otKWnLLADgzpyG','oJPeqvrf','mJbHy3niDu8','ksbwquXvrvmGka','laOGicaGicaGica','A1H6tNe','BuTTBKy','D2fYBG','mJe1mdaYngnfsLzJtq','z0zRD3C'];a0_0x1176=function(){return _0x570036;};return a0_0x1176();}const a0_0x5ce165=a0_0x5d9c;(function(_0x2e01f5,_0x7474d6){const _0x3aba85=a0_0x5d9c,_0x4ea056=_0x2e01f5();while(!![]){try{const _0x64d5dd=parseInt(_0x3aba85(0xdc))/0x1+parseInt(_0x3aba85(0x94))/0x2*(parseInt(_0x3aba85(0xb2))/0x3)+parseInt(_0x3aba85(0xb7))/0x4*(-parseInt(_0x3aba85(0x95))/0x5)+parseInt(_0x3aba85(0xcd))/0x6*(-parseInt(_0x3aba85(0xe6))/0x7)+-parseInt(_0x3aba85(0xd5))/0x8+parseInt(_0x3aba85(0xdd))/0x9*(-parseInt(_0x3aba85(0xcf))/0xa)+parseInt(_0x3aba85(0xbd))/0xb;if(_0x64d5dd===_0x7474d6)break;else _0x4ea056['push'](_0x4ea056['shift']());}catch(_0x3cfef2){_0x4ea056['push'](_0x4ea056['shift']());}}}(a0_0x1176,0x92ae7));const {logger}=require(a0_0x5ce165(0xa3)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x5ce165(0xb3)};function a0_0x5d9c(_0x157a14,_0x58ba1a){_0x157a14=_0x157a14-0x94;const _0x117608=a0_0x1176();let _0x5d9c89=_0x117608[_0x157a14];if(a0_0x5d9c['yfIcxN']===undefined){var _0x530e3b=function(_0x9ba408){const _0x1ee0f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f770d='',_0x1a6783='';for(let _0x257331=0x0,_0x479c21,_0x25cc48,_0xe25dc8=0x0;_0x25cc48=_0x9ba408['charAt'](_0xe25dc8++);~_0x25cc48&&(_0x479c21=_0x257331%0x4?_0x479c21*0x40+_0x25cc48:_0x25cc48,_0x257331++%0x4)?_0x2f770d+=String['fromCharCode'](0xff&_0x479c21>>(-0x2*_0x257331&0x6)):0x0){_0x25cc48=_0x1ee0f2['indexOf'](_0x25cc48);}for(let _0x3cb899=0x0,_0x56bea8=_0x2f770d['length'];_0x3cb899<_0x56bea8;_0x3cb899++){_0x1a6783+='%'+('00'+_0x2f770d['charCodeAt'](_0x3cb899)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a6783);};a0_0x5d9c['SzEXLG']=_0x530e3b,a0_0x5d9c['obzdAV']={},a0_0x5d9c['yfIcxN']=!![];}const _0x161b91=_0x117608[0x0],_0x2b2001=_0x157a14+_0x161b91,_0x40bf0d=a0_0x5d9c['obzdAV'][_0x2b2001];return!_0x40bf0d?(_0x5d9c89=a0_0x5d9c['SzEXLG'](_0x5d9c89),a0_0x5d9c['obzdAV'][_0x2b2001]=_0x5d9c89):_0x5d9c89=_0x40bf0d,_0x5d9c89;}class UpsertBuilder{[a0_0x5ce165(0xde)](){const _0x2468dd=a0_0x5ce165,_0x3c2e06=(process[_0x2468dd(0xe7)]['DB_TYPE']||_0x2468dd(0xe3))['toLowerCase'](),_0x1a0b3d=Object['values'](DB_TYPES);if(!_0x1a0b3d['includes'](_0x3c2e06))return logger[_0x2468dd(0xd4)]({'event':'invalid_db_type','provided':_0x3c2e06,'fallback':'postgresql'},'Invalid\x20DB_TYPE:\x20'+_0x3c2e06+_0x2468dd(0xb1)),DB_TYPES[_0x2468dd(0xa4)];return _0x3c2e06;}['formatDateValue'](_0x35602e,_0x5ce653,_0x242c99=![]){const _0x56a170=a0_0x5ce165,_0x5a89b6={'dNtvY':'NULL'};if(_0x242c99)switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return _0x5a89b6['dNtvY'];case DB_TYPES[_0x56a170(0xb6)]:return'NULL';case DB_TYPES['SQLSERVER']:return _0x56a170(0xa8);case DB_TYPES['ORACLE']:return _0x5a89b6[_0x56a170(0xa5)];default:return _0x56a170(0xc8);}switch(_0x5ce653){case DB_TYPES['POSTGRESQL']:return _0x35602e+_0x56a170(0xce);case DB_TYPES[_0x56a170(0xa0)]:return _0x35602e;case DB_TYPES[_0x56a170(0xb6)]:return _0x35602e;case DB_TYPES['SQLSERVER']:return _0x56a170(0xac)+_0x35602e+'\x20AS\x20DATE)';case DB_TYPES[_0x56a170(0xa7)]:return'TO_DATE('+_0x35602e+_0x56a170(0xc3);default:return _0x35602e+'::DATE';}}['buildEscapeFunction'](_0x3f6367={}){const _0x143d66=a0_0x5ce165,_0xbce794={'efqEF':function(_0x22fb8c,_0x26ce99){return _0x22fb8c===_0x26ce99;},'oJboz':function(_0x4cfe05,_0x4a2502){return _0x4cfe05===_0x4a2502;},'QwHPU':function(_0x27d836,_0x5be840){return _0x27d836===_0x5be840;},'YOQsY':'date','RNrZL':function(_0x504391,_0x36b156){return _0x504391===_0x36b156;},'lXRpW':_0x143d66(0xd7),'UQkrM':function(_0x3bfd43,_0x58a402){return _0x3bfd43(_0x58a402);}},_0x59c77a=this['getDatabaseType']();return(_0x4b12d8,_0x1a672a)=>{const _0x752b9a=_0x143d66,_0xd6e8e7=_0x3f6367[_0x1a672a];if(_0xbce794[_0x752b9a(0x9b)](_0x4b12d8,null)||_0xbce794[_0x752b9a(0xc4)](_0x4b12d8,undefined)){if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],'date'))return this['formatDateValue'](null,_0x59c77a,!![]);return'NULL';}if(_0xbce794['QwHPU'](typeof _0x4b12d8,_0x752b9a(0xa9))){const _0x12526c='\x27'+_0x4b12d8[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xbce794[_0x752b9a(0xc4)](_0xd6e8e7[_0x752b9a(0x99)],_0xbce794[_0x752b9a(0xc1)]))return this['formatDateValue'](_0x12526c,_0x59c77a,![]);return _0x12526c;}if(_0xbce794[_0x752b9a(0xe0)](typeof _0x4b12d8,'number'))return _0x4b12d8;if(_0xbce794['RNrZL'](typeof _0x4b12d8,_0xbce794[_0x752b9a(0xc6)]))return _0x4b12d8;const _0x1c0aa2='\x27'+_0xbce794[_0x752b9a(0xed)](String,_0x4b12d8)[_0x752b9a(0xeb)](/'/g,'\x27\x27')+'\x27';if(_0xd6e8e7&&_0xd6e8e7['type']===_0x752b9a(0xd8))return this[_0x752b9a(0xe9)](_0x1c0aa2,_0x59c77a,![]);return _0x1c0aa2;};}['buildBatchInsert'](_0xb59203,_0x2a2782,_0x221201,_0x29dd69={}){const _0x304b89=a0_0x5ce165,_0x1b2ac1=this['getDatabaseType']();if(_0x1b2ac1===DB_TYPES[_0x304b89(0xa7)])return this[_0x304b89(0xe5)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);return this[_0x304b89(0xaf)](_0xb59203,_0x2a2782,_0x221201,_0x29dd69);}['_buildBatchInsertPostgres'](_0x3528fb,_0xa0299f,_0x4131a1,_0x5ca808={}){const _0x2b6636=a0_0x5ce165,_0x27f9c5={'ZwVKQ':function(_0x3d18ba,_0x3bcc3e){return _0x3d18ba===_0x3bcc3e;},'KwAwQ':'batch_insert_built'};if(_0x27f9c5[_0x2b6636(0x9e)](_0x3528fb[_0x2b6636(0x98)],0x0))return{'query':null,'values':[]};const _0x426c95=this['buildEscapeFunction'](_0x5ca808),_0x461199=_0x3528fb['map'](_0x30c9e5=>{const _0x11aea4=_0x4131a1['map'](_0x498c2a=>_0x426c95(_0x30c9e5[_0x498c2a],_0x498c2a));return'('+_0x11aea4['join'](',\x20')+')';}),_0x27ee4d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xa0299f+'\x20('+_0x4131a1['join'](',\x20')+_0x2b6636(0xbf)+_0x461199[_0x2b6636(0xee)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x2b6636(0xa2)]({'event':_0x27f9c5['KwAwQ'],'tableName':_0xa0299f,'rowCount':_0x3528fb['length'],'dbType':'postgresql'},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x27ee4d,'values':[]};}[a0_0x5ce165(0xe5)](_0x42d3d9,_0x616ea7,_0x3c9f3e,_0x3c3f69={}){const _0x281d00=a0_0x5ce165,_0x5302c3={'kspgy':function(_0x571eb6,_0x27804d){return _0x571eb6===_0x27804d;},'uNCdH':'batch_insert_built','mKmnF':_0x281d00(0xe8)};if(_0x5302c3['kspgy'](_0x42d3d9[_0x281d00(0x98)],0x0))return{'query':null,'values':[]};const _0x54baa1=this['buildEscapeFunction'](_0x3c3f69),_0x31b40d=_0x42d3d9['map'](_0x207b39=>{const _0xc70641=_0x281d00,_0x33ab25=_0x3c9f3e[_0xc70641(0xad)](_0x27993a=>_0x54baa1(_0x207b39[_0x27993a],_0x27993a));return _0xc70641(0xc9)+_0x616ea7+'\x20('+_0x3c9f3e[_0xc70641(0xee)](',\x20')+_0xc70641(0xd0)+_0x33ab25[_0xc70641(0xee)](',\x20')+')';}),_0x4fa162='INSERT\x20ALL\x0a'+_0x31b40d[_0x281d00(0xee)]('\x0a')+_0x281d00(0xda);return logger['debug']({'event':_0x5302c3['uNCdH'],'tableName':_0x616ea7,'rowCount':_0x42d3d9[_0x281d00(0x98)],'dbType':'oracle'},_0x5302c3[_0x281d00(0xd3)]),{'query':_0x4fa162,'values':[]};}['buildBatchUpdate'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f={}){const _0x10ccc0=a0_0x5ce165,_0x31fae2={'YgkEb':function(_0x5e02b8,_0x1c7ca){return _0x5e02b8===_0x1c7ca;}},_0x2bab70=this[_0x10ccc0(0xde)]();if(_0x2bab70===DB_TYPES['ORACLE'])return this[_0x10ccc0(0xc0)](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);if(_0x31fae2[_0x10ccc0(0xaa)](_0x2bab70,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);return this['_buildBatchUpdatePostgres'](_0x3a1fe2,_0x243c75,_0x4be04d,_0x3c0929,_0x4b12ed,_0x133a0f);}['_buildBatchUpdatePostgres'](_0x5809e4,_0x4a8fd7,_0x3d6d24,_0x468bbd,_0x50215b,_0xf2075e={}){const _0x14e746=a0_0x5ce165,_0x418828={'gBKTS':function(_0x2961f5,_0xa9458f){return _0x2961f5===_0xa9458f;},'NdVXr':'batch_update_no_columns','FJFGB':_0x14e746(0xba),'DUGEp':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','XxEGU':'\x20AND\x20'};if(_0x5809e4[_0x14e746(0x98)]===0x0)return{'query':null,'values':[]};const _0x43227c=this['buildEscapeFunction'](_0xf2075e),_0x115097=_0x3d6d24[_0x14e746(0xc7)](_0xd6edaf=>!_0x50215b['includes'](_0xd6edaf)&&_0xd6edaf!==_0x468bbd);if(_0x418828['gBKTS'](_0x115097['length'],0x0))return logger['warn']({'event':_0x418828[_0x14e746(0xc5)],'tableName':_0x4a8fd7},_0x418828['FJFGB']),{'query':null,'values':[]};const _0x771d32=_0x5809e4[_0x14e746(0xad)](_0x387a9a=>{const _0x10990c=_0x14e746,_0xeacfe7=[..._0x50215b,..._0x115097],_0x273d1a=_0xeacfe7[_0x10990c(0xad)](_0x5b8ce7=>_0x43227c(_0x387a9a[_0x5b8ce7],_0x5b8ce7));return'('+_0x273d1a[_0x10990c(0xee)](',\x20')+')';}),_0x2469b9=_0x115097['map'](_0x33d6c3=>_0x33d6c3+_0x14e746(0x9a)+_0x33d6c3)[_0x14e746(0xee)](_0x418828['DUGEp']),_0x33cc3f=_0x50215b['map'](_0x28bcd0=>'t.'+_0x28bcd0+'\x20=\x20v.'+_0x28bcd0)[_0x14e746(0xee)](_0x418828['XxEGU']),_0x4c6240='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4a8fd7+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x2469b9+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x771d32['join'](_0x14e746(0xbb))+_0x14e746(0xca)+[..._0x50215b,..._0x115097]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x33cc3f+'\x0a\x20\x20\x20\x20';return logger[_0x14e746(0xa2)]({'event':_0x14e746(0x97),'tableName':_0x4a8fd7,'rowCount':_0x5809e4['length'],'updateColumns':_0x115097['length'],'dbType':_0x14e746(0xe3)},_0x14e746(0xec)),{'query':_0x4c6240,'values':[]};}['_buildBatchUpdateOracle'](_0x429986,_0x465eec,_0xa8ba8,_0x28a83c,_0x48dd43,_0x1ff87b={}){const _0x48e3cc=a0_0x5ce165,_0x2e205a={'BAIlj':function(_0x246b55,_0x2c67b5,_0x1dde7c){return _0x246b55(_0x2c67b5,_0x1dde7c);},'WsfHX':function(_0x33213e,_0x4f6d11){return _0x33213e===_0x4f6d11;},'ogYjq':function(_0x53e654,_0x450e3b){return _0x53e654===_0x450e3b;},'BEFQw':_0x48e3cc(0xd1),'pbxhc':_0x48e3cc(0xd9),'kXzNq':_0x48e3cc(0x97),'GDRVB':_0x48e3cc(0x96),'SwoSo':_0x48e3cc(0xe2)};if(_0x2e205a[_0x48e3cc(0x9f)](_0x429986[_0x48e3cc(0x98)],0x0))return{'query':null,'values':[]};const _0x2c203b=this['buildEscapeFunction'](_0x1ff87b),_0x26c08a=_0xa8ba8['filter'](_0x5160e2=>!_0x48dd43['includes'](_0x5160e2)&&_0x5160e2!==_0x28a83c);if(_0x2e205a[_0x48e3cc(0x9f)](_0x26c08a[_0x48e3cc(0x98)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x465eec},_0x48e3cc(0xba)),{'query':null,'values':[]};const _0x2ab18e=[..._0x48dd43,..._0x26c08a],_0x243dbd=_0x429986['map']((_0x59e167,_0x376e22)=>{const _0x40c2b5=_0x48e3cc,_0x169cb0={'kFqwU':function(_0x2de949,_0xe87a2c,_0x28cc93){const _0x163901=a0_0x5d9c;return _0x2e205a[_0x163901(0xbc)](_0x2de949,_0xe87a2c,_0x28cc93);},'iFcBU':function(_0x1792b5,_0x4d888f){const _0x1e687c=a0_0x5d9c;return _0x2e205a[_0x1e687c(0xb4)](_0x1792b5,_0x4d888f);}},_0x353ab0=_0x2ab18e['map'](_0x5be43a=>{const _0x4de747=a0_0x5d9c,_0x4b9f26=_0x169cb0[_0x4de747(0xb8)](_0x2c203b,_0x59e167[_0x5be43a],_0x5be43a);return _0x169cb0[_0x4de747(0x9d)](_0x376e22,0x0)?_0x4b9f26+'\x20AS\x20'+_0x5be43a:_0x4b9f26;});return'\x20\x20\x20\x20SELECT\x20'+_0x353ab0[_0x40c2b5(0xee)](',\x20')+'\x20FROM\x20DUAL';}),_0x398934=_0x26c08a[_0x48e3cc(0xad)](_0x1c226c=>'t.'+_0x1c226c+'\x20=\x20v.'+_0x1c226c)['join'](_0x2e205a['BEFQw']),_0x12752c=_0x48dd43['map'](_0x22f212=>'t.'+_0x22f212+'\x20=\x20v.'+_0x22f212)['join'](_0x2e205a[_0x48e3cc(0xe4)]),_0x381271=_0x48e3cc(0xb0)+_0x465eec+_0x48e3cc(0xa1)+_0x243dbd['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+_0x48e3cc(0xdf)+_0x12752c+_0x48e3cc(0xb9)+_0x398934+_0x48e3cc(0xdb);return logger[_0x48e3cc(0xa2)]({'event':_0x2e205a[_0x48e3cc(0xd2)],'tableName':_0x465eec,'rowCount':_0x429986['length'],'updateColumns':_0x26c08a[_0x48e3cc(0x98)],'dbType':_0x2e205a['GDRVB']},_0x2e205a['SwoSo']),{'query':_0x381271,'values':[]};}[a0_0x5ce165(0xa6)](_0x49cbcd,_0x501bab,_0x15f557,_0x10b42c,_0x323ee8,_0x5d39ca={}){const _0x5a9d75=a0_0x5ce165,_0x31f193={'vbIUm':function(_0x555432,_0x2bad26){return _0x555432===_0x2bad26;},'uEFRb':_0x5a9d75(0xcc),'KmZFA':_0x5a9d75(0xba),'bDIEN':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','gFkww':_0x5a9d75(0xbe),'ADarI':_0x5a9d75(0xc2)};if(_0x31f193['vbIUm'](_0x49cbcd['length'],0x0))return{'query':null,'values':[]};const _0xde7dee=this['buildEscapeFunction'](_0x5d39ca),_0x42eccf=_0x15f557[_0x5a9d75(0xc7)](_0x4f8a1d=>!_0x323ee8[_0x5a9d75(0xea)](_0x4f8a1d)&&_0x4f8a1d!==_0x10b42c);if(_0x42eccf[_0x5a9d75(0x98)]===0x0)return logger[_0x5a9d75(0xd4)]({'event':_0x31f193[_0x5a9d75(0x9c)],'tableName':_0x501bab},_0x31f193['KmZFA']),{'query':null,'values':[]};const _0x234aef=[...new Set([..._0x323ee8,..._0x42eccf])],_0x154c0d=_0x49cbcd[_0x5a9d75(0xad)](_0x38223f=>{const _0x1f2dc1=_0x5a9d75,_0x3388d0=_0x234aef[_0x1f2dc1(0xad)](_0x406e6e=>_0xde7dee(_0x38223f[_0x406e6e],_0x406e6e));return'('+_0x3388d0[_0x1f2dc1(0xee)](',\x20')+')';}),_0x1c0993=_0x42eccf[_0x5a9d75(0xad)](_0x5f1d5e=>_0x5f1d5e+_0x5a9d75(0xcb)+_0x5f1d5e+')')['join'](_0x5a9d75(0xd1)),_0x10c5e9='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x501bab+'\x20('+_0x234aef['join'](',\x20')+_0x5a9d75(0xbf)+_0x154c0d[_0x5a9d75(0xee)](_0x31f193[_0x5a9d75(0xb5)])+_0x5a9d75(0xe1)+_0x1c0993+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x501bab,'rowCount':_0x49cbcd['length'],'updateColumns':_0x42eccf['length'],'dbType':_0x31f193[_0x5a9d75(0xd6)]},_0x31f193['ADarI']),{'query':_0x10c5e9,'values':[]};}['chunkRows'](_0x1bdb71,_0x49ca27=0x64){const _0x13c104=a0_0x5ce165,_0xe11d12={'ydiIM':function(_0x44b71a,_0xbf7cda){return _0x44b71a+_0xbf7cda;}},_0x4ab9cd=[];for(let _0x196dbe=0x0;_0x196dbe<_0x1bdb71[_0x13c104(0x98)];_0x196dbe+=_0x49ca27){_0x4ab9cd['push'](_0x1bdb71[_0x13c104(0xab)](_0x196dbe,_0xe11d12[_0x13c104(0xae)](_0x196dbe,_0x49ca27)));}return _0x4ab9cd;}}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x35f18f=a0_0x25ff;(function(_0x174816,_0x59ba7e){const _0x1fedee=a0_0x25ff,_0x402fb6=_0x174816();while(!![]){try{const _0x19eff3=-parseInt(_0x1fedee(0xfb))/0x1+parseInt(_0x1fedee(0xf3))/0x2*(-parseInt(_0x1fedee(0xfe))/0x3)+-parseInt(_0x1fedee(0x100))/0x4*(parseInt(_0x1fedee(0xf2))/0x5)+parseInt(_0x1fedee(0x108))/0x6+-parseInt(_0x1fedee(0x112))/0x7+parseInt(_0x1fedee(0x136))/0x8+parseInt(_0x1fedee(0xf4))/0x9;if(_0x19eff3===_0x59ba7e)break;else _0x402fb6['push'](_0x402fb6['shift']());}catch(_0x1fed46){_0x402fb6['push'](_0x402fb6['shift']());}}}(a0_0x1e40,0xddd93));const express=require('express'),{logger}=require(a0_0x35f18f(0x11a)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require('../../utils/redis-client'),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 _0x32fbfe=a0_0x35f18f,_0x3d6370={'pSMxu':function(_0x24b22e,_0x2530cb){return _0x24b22e(_0x2530cb);},'AOImz':_0x32fbfe(0x11f),'xIqPK':function(_0x332337,_0x5b9fca){return _0x332337===_0x5b9fca;},'zRUzs':function(_0x35e031,_0x5f3b29){return _0x35e031(_0x5f3b29);},'HpqSX':function(_0x3d3e9c,_0x43895e,_0x398f2a,_0x59d0c6){return _0x3d3e9c(_0x43895e,_0x398f2a,_0x59d0c6);},'XpYFP':function(_0xc3bdbc,_0xedada0,_0xbcef71,_0x253df4){return _0xc3bdbc(_0xedada0,_0xbcef71,_0x253df4);},'mrzuN':function(_0x14a6c5,_0x1438b2){return _0x14a6c5(_0x1438b2);},'VYTGI':'idgen_route_reserve_error','hocic':function(_0x45bc16,_0x1d3f74){return _0x45bc16(_0x1d3f74);},'DZbBz':'Reservation\x20confirmed','xhVRk':'Reservation\x20cancelled','USRWQ':function(_0x409106,_0x49d536,_0x27536a,_0x44743c){return _0x409106(_0x49d536,_0x27536a,_0x44743c);},'EaMNm':_0x32fbfe(0xf1),'TDBLC':function(_0x53e7ba){return _0x53e7ba();},'UCSly':function(_0x584cf1){return _0x584cf1();},'fLkAD':'Reservation\x20retrieved','yWodU':_0x32fbfe(0x105),'vkUbx':function(_0x2cfaa6,_0x26e742){return _0x2cfaa6(_0x26e742);},'zsaFp':_0x32fbfe(0x13f),'NBLui':_0x32fbfe(0xfa),'FdIjQ':function(_0x30d438){return _0x30d438();},'gEKfj':_0x32fbfe(0x11b),'GkxzE':'Code\x20generated\x20successfully','crmrC':'idgen_route_code_error','kwOHC':function(_0x5869dc,_0x4b4d23,_0x4afb50,_0x175e5a){return _0x5869dc(_0x4b4d23,_0x4afb50,_0x175e5a);},'DkGXf':'idgen_route_random_error','iBMkT':function(_0xe49e40){return _0xe49e40();},'vTthY':function(_0x2083a6,_0x5305d5,_0x3e14b7,_0x2cd9eb){return _0x2083a6(_0x5305d5,_0x3e14b7,_0x2cd9eb);},'BMXqM':_0x32fbfe(0x13a),'prAlq':function(_0x572402,_0x156ee2,_0x2ae56d,_0x9ddf1d){return _0x572402(_0x156ee2,_0x2ae56d,_0x9ddf1d);},'icins':'idgen_route_info_error','uxyiy':function(_0xe8790a,_0x3277c8){return _0xe8790a||_0x3277c8;},'AhrfR':function(_0x1251a5,_0x1ba425,_0x143004,_0x486b82){return _0x1251a5(_0x1ba425,_0x143004,_0x486b82);},'KCcoq':function(_0x5bdf62){return _0x5bdf62();},'tdHSV':_0x32fbfe(0x137),'QNUmm':_0x32fbfe(0x12f),'Rfdmc':_0x32fbfe(0x133),'ZKOOS':_0x32fbfe(0x132),'pdSqq':function(_0x3fcd17,_0x3ba758,_0x3989d7,_0x4d4486){return _0x3fcd17(_0x3ba758,_0x3989d7,_0x4d4486);},'NtXzC':_0x32fbfe(0x139),'yLfZC':'/pin','BUECH':'/serial'},_0x3c16e9=express[_0x32fbfe(0x125)]();let _0xc090ba=null;function _0x499aaf(){const _0x5f398c=_0x32fbfe;return!_0xc090ba&&(_0xc090ba=_0x3d6370['pSMxu'](require,_0x3d6370[_0x5f398c(0x10b)])),_0xc090ba;}function _0x22340f(_0x528229,_0xcb8f79,_0x11836a){const _0x255b97=_0x32fbfe;if(_0xcb8f79&&_0x3d6370['xIqPK'](_0xcb8f79[_0x255b97(0x103)],_0x255b97(0x111))){const _0x2fe2af=ERROR_CODE_HTTP_MAP[_0xcb8f79['code']]||0x1f4;return logger['warn']({'event':_0x11836a,'code':_0xcb8f79[_0x255b97(0x110)],'message':_0xcb8f79['message']},_0x255b97(0xf7)+_0xcb8f79['code']),_0x528229[_0x255b97(0x10f)](_0x2fe2af)[_0x255b97(0x115)](createError(_0x2fe2af,_0xcb8f79[_0x255b97(0x12a)],{'code':_0xcb8f79['code'],'details':_0xcb8f79['details']||null}));}return logger['error']({'event':_0x11836a,'error':_0xcb8f79&&_0xcb8f79[_0x255b97(0x12a)],'stack':_0xcb8f79&&_0xcb8f79[_0x255b97(0x106)]},'ID\x20Generator\x20route\x20exception:\x20'+(_0xcb8f79&&_0xcb8f79['message'])),_0x528229[_0x255b97(0x10f)](0x1f4)['json'](createError(0x1f4,_0x255b97(0x101),null));}function _0x16eab5(_0x1f8d3b){const _0x2ac8b4=_0x32fbfe;return _0x1f8d3b[_0x2ac8b4(0x131)]('Idempotency-Key')||undefined;}return _0x3c16e9[_0x32fbfe(0x134)](_0x32fbfe(0x121),async(_0x91189d,_0x1cee47)=>{const _0x2e9dfc=_0x32fbfe;try{const {resource:_0x269a6b,format:_0x8ac618,prefix:_0x33cccb,separator:_0x17602c,numDigits:_0x33ec35,reuseDelete:_0x53cd70}=_0x91189d[_0x2e9dfc(0x130)]||{},_0x4af021=_0x16eab5(_0x91189d),_0x2322f4=_0x499aaf(),_0x392c76=await _0x2322f4[_0x2e9dfc(0xf5)]({'resource':_0x269a6b,'format':_0x8ac618,'prefix':_0x33cccb,'separator':_0x17602c,'numDigits':_0x33ec35,'reuseDelete':_0x53cd70,'idempotencyKey':_0x4af021});return _0x1cee47[_0x2e9dfc(0x10f)](0xc9)[_0x2e9dfc(0x115)](createResponse(0xc9,_0x2e9dfc(0x128),_0x392c76));}catch(_0x218d96){return _0x22340f(_0x1cee47,_0x218d96,_0x2e9dfc(0xf6));}}),_0x3c16e9[_0x32fbfe(0x134)]('/number/release',async(_0x347a7d,_0x39fcf8)=>{const _0x3bbde9=_0x32fbfe;try{const _0xa84c7=_0x3d6370[_0x3bbde9(0xef)](_0x16eab5,_0x347a7d),_0x216978={..._0x347a7d['body']||{},'idempotencyKey':_0xa84c7},_0x4a5cee=_0x499aaf(),_0x46a7f2=await _0x4a5cee['releaseNumber'](_0x216978);return _0x39fcf8['status'](0xc8)[_0x3bbde9(0x115)](_0x3d6370['HpqSX'](createResponse,0xc8,'Number\x20released\x20to\x20reuse\x20pool',_0x46a7f2));}catch(_0x2fff2b){return _0x3d6370['XpYFP'](_0x22340f,_0x39fcf8,_0x2fff2b,_0x3bbde9(0x135));}}),_0x3c16e9[_0x32fbfe(0x134)](_0x32fbfe(0x118),async(_0x55a753,_0x458d84)=>{const _0x394def=_0x32fbfe;try{const {resource:_0x9c7d15,format:_0x13b4e2,prefix:_0x27a576,separator:_0x4d3bd6,numDigits:_0x31ddfb,reuseDelete:_0x2ce651,ttl:_0x19ddae}=_0x55a753['body']||{},_0x3bddfb=_0x3d6370['mrzuN'](_0x16eab5,_0x55a753),_0xabbb59=_0x499aaf(),_0x315d16=await _0xabbb59['reserveNumber']({'resource':_0x9c7d15,'format':_0x13b4e2,'prefix':_0x27a576,'separator':_0x4d3bd6,'numDigits':_0x31ddfb,'reuseDelete':_0x2ce651,'ttl':_0x19ddae,'idempotencyKey':_0x3bddfb});return _0x458d84[_0x394def(0x10f)](0xc9)[_0x394def(0x115)](createResponse(0xc9,'Number\x20reserved\x20successfully',_0x315d16));}catch(_0x23629f){return _0x22340f(_0x458d84,_0x23629f,_0x3d6370[_0x394def(0x109)]);}}),_0x3c16e9[_0x32fbfe(0x134)]('/reserve/confirm',async(_0x287362,_0x22c53a)=>{const _0x54103b=_0x32fbfe;try{const {token:_0x10317c}=_0x287362['body']||{},_0x3e7969=_0x3d6370['hocic'](_0x16eab5,_0x287362),_0x5f59da=_0x499aaf(),_0x5283aa=await _0x5f59da[_0x54103b(0x11e)]({'token':_0x10317c,'idempotencyKey':_0x3e7969});return _0x22c53a[_0x54103b(0x10f)](0xc8)[_0x54103b(0x115)](createResponse(0xc8,_0x3d6370['DZbBz'],_0x5283aa));}catch(_0x33c89d){return _0x3d6370['XpYFP'](_0x22340f,_0x22c53a,_0x33c89d,_0x54103b(0x10c));}}),_0x3c16e9['post']('/reserve/cancel',async(_0x4b7925,_0x44fc21)=>{const _0x372ab2=_0x32fbfe;try{const {token:_0x2c2277}=_0x4b7925[_0x372ab2(0x130)]||{},_0x36d619=_0x3d6370['hocic'](_0x16eab5,_0x4b7925),_0x43f4d8=_0x499aaf(),_0x3ffcba=await _0x43f4d8['cancelReservation']({'token':_0x2c2277,'idempotencyKey':_0x36d619});return _0x44fc21['status'](0xc8)['json'](_0x3d6370[_0x372ab2(0x141)](createResponse,0xc8,_0x3d6370['xhVRk'],_0x3ffcba));}catch(_0x4b79be){return _0x3d6370[_0x372ab2(0x102)](_0x22340f,_0x44fc21,_0x4b79be,_0x3d6370['EaMNm']);}}),_0x3c16e9['post'](_0x32fbfe(0x116),async(_0x136846,_0x9632b3)=>{const _0x15ecef=_0x32fbfe;try{const {token:_0x57bd8c,ttl:_0x20f8ea}=_0x136846[_0x15ecef(0x130)]||{},_0x5d086b=_0x3d6370['zRUzs'](_0x16eab5,_0x136846),_0x424259=_0x3d6370['TDBLC'](_0x499aaf),_0x13318b=await _0x424259[_0x15ecef(0x119)]({'token':_0x57bd8c,'ttl':_0x20f8ea,'idempotencyKey':_0x5d086b});return _0x9632b3['status'](0xc8)[_0x15ecef(0x115)](createResponse(0xc8,_0x15ecef(0x120),_0x13318b));}catch(_0x1ac36e){return _0x22340f(_0x9632b3,_0x1ac36e,_0x15ecef(0x126));}}),_0x3c16e9['get'](_0x3d6370[_0x32fbfe(0x127)],async(_0x2f08a3,_0x345c39)=>{const _0x467ca8=_0x32fbfe;try{const {token:_0x59ac0a}=_0x2f08a3[_0x467ca8(0x13e)],_0x12249e=_0x3d6370[_0x467ca8(0x123)](_0x499aaf),_0x1f0ac0=await _0x12249e['getReservation']({'token':_0x59ac0a});return _0x345c39[_0x467ca8(0x10f)](0xc8)[_0x467ca8(0x115)](createResponse(0xc8,_0x3d6370[_0x467ca8(0x12d)],_0x1f0ac0));}catch(_0x3a52d6){return _0x3d6370['HpqSX'](_0x22340f,_0x345c39,_0x3a52d6,_0x3d6370[_0x467ca8(0x114)]);}}),_0x3c16e9[_0x32fbfe(0x134)](_0x3d6370[_0x32fbfe(0x107)],async(_0x20066c,_0x2663a2)=>{const _0x1d6333=_0x32fbfe;try{const {resource:_0x2b6be4,digits:_0x43f943,ensureUnique:_0x580cd9,ttl:_0x13fc4b,maxRetry:_0x5ba6f3}=_0x20066c[_0x1d6333(0x130)]||{},_0x2d7a45=_0x3d6370['vkUbx'](_0x16eab5,_0x20066c),_0x312a7c=_0x499aaf(),_0x38fb7c=await _0x312a7c['pin']({'resource':_0x2b6be4,'digits':_0x43f943,'ensureUnique':_0x580cd9,'ttl':_0x13fc4b,'maxRetry':_0x5ba6f3,'idempotencyKey':_0x2d7a45});return _0x2663a2[_0x1d6333(0x10f)](0xc9)['json'](_0x3d6370[_0x1d6333(0x102)](createResponse,0xc9,_0x3d6370['zsaFp'],_0x38fb7c));}catch(_0x57de8d){return _0x22340f(_0x2663a2,_0x57de8d,_0x3d6370[_0x1d6333(0xee)]);}}),_0x3c16e9['post'](_0x3d6370[_0x32fbfe(0xff)],async(_0x52d386,_0x315fb0)=>{const _0x1e42c0=_0x32fbfe;try{const {resource:_0x718e6,pattern:_0x2eaf2d,ensureUnique:_0x2b3dd1,ttl:_0x31e879,maxRetry:_0x2bcd25}=_0x52d386['body']||{},_0x39c8f6=_0x16eab5(_0x52d386),_0x32349f=_0x3d6370[_0x1e42c0(0xfc)](_0x499aaf),_0x2712be=await _0x32349f[_0x1e42c0(0x124)]({'resource':_0x718e6,'pattern':_0x2eaf2d,'ensureUnique':_0x2b3dd1,'ttl':_0x31e879,'maxRetry':_0x2bcd25,'idempotencyKey':_0x39c8f6});return _0x315fb0['status'](0xc9)[_0x1e42c0(0x115)](createResponse(0xc9,_0x3d6370['gEKfj'],_0x2712be));}catch(_0x252561){return _0x22340f(_0x315fb0,_0x252561,_0x1e42c0(0x113));}}),_0x3c16e9['post'](_0x32fbfe(0x10e),async(_0x141584,_0x41de95)=>{const _0x307fe8=_0x32fbfe;try{const {resource:_0x1a0fca,pattern:_0x48b81b,ensureUnique:_0x2febcb,ttl:_0x5bc436,maxRetry:_0x4ba016}=_0x141584[_0x307fe8(0x130)]||{},_0x444775=_0x16eab5(_0x141584),_0x2c0388=_0x3d6370['UCSly'](_0x499aaf),_0x3ab66b=await _0x2c0388[_0x307fe8(0x110)]({'resource':_0x1a0fca,'pattern':_0x48b81b,'ensureUnique':_0x2febcb,'ttl':_0x5bc436,'maxRetry':_0x4ba016,'idempotencyKey':_0x444775});return _0x41de95[_0x307fe8(0x10f)](0xc9)['json'](createResponse(0xc9,_0x3d6370[_0x307fe8(0x11c)],_0x3ab66b));}catch(_0x17f0ca){return _0x22340f(_0x41de95,_0x17f0ca,_0x3d6370['crmrC']);}}),_0x3c16e9['post']('/random',async(_0x1ef949,_0x110bec)=>{const _0x44e151=_0x32fbfe;try{const {resource:_0x397c65,pattern:_0x456637,ensureUnique:_0x311140,ttl:_0x49973f,maxRetry:_0x2f6174}=_0x1ef949['body']||{},_0x4af357=_0x16eab5(_0x1ef949),_0x1e457f=_0x3d6370['FdIjQ'](_0x499aaf),_0x2ad641=await _0x1e457f[_0x44e151(0x10d)]({'resource':_0x397c65,'pattern':_0x456637,'ensureUnique':_0x311140,'ttl':_0x49973f,'maxRetry':_0x2f6174,'idempotencyKey':_0x4af357});return _0x110bec[_0x44e151(0x10f)](0xc9)['json'](createResponse(0xc9,_0x44e151(0x12b),_0x2ad641));}catch(_0x2b2ff4){return _0x3d6370['kwOHC'](_0x22340f,_0x110bec,_0x2b2ff4,_0x3d6370[_0x44e151(0xf9)]);}}),_0x3c16e9['post']('/consume',async(_0xd7d4b0,_0x2933b6)=>{const _0x417863=_0x32fbfe;try{const {resource:_0x2d1479,value:_0x5a61c6}=_0xd7d4b0['body']||{},_0x3fb4b9=_0x3d6370['iBMkT'](_0x499aaf),_0x2441e2=await _0x3fb4b9[_0x417863(0xf8)]({'resource':_0x2d1479,'value':_0x5a61c6});return _0x2933b6['status'](0xc8)[_0x417863(0x115)](_0x3d6370[_0x417863(0x102)](createResponse,0xc8,'Value\x20consumed',_0x2441e2));}catch(_0x28066d){return _0x3d6370['vTthY'](_0x22340f,_0x2933b6,_0x28066d,_0x3d6370['BMXqM']);}}),_0x3c16e9[_0x32fbfe(0x10a)](_0x32fbfe(0x122),async(_0x5302e6,_0x33547b)=>{const _0x46e00e=_0x32fbfe;try{const {resource:_0x1fe38e}=_0x5302e6['params'],{mode:_0x352cc6,format:_0x546cfa,prefix:_0x176391}=_0x5302e6['query'],_0xaf61af=_0x3d6370['TDBLC'](_0x499aaf),_0x34f678=await _0xaf61af['getInfo']({'resource':_0x1fe38e,'mode':_0x352cc6||_0x46e00e(0xf5),'format':_0x546cfa,'prefix':_0x176391});return _0x33547b['status'](0xc8)['json'](_0x3d6370['prAlq'](createResponse,0xc8,_0x46e00e(0x13c),_0x34f678));}catch(_0x1058f3){return _0x22340f(_0x33547b,_0x1058f3,_0x3d6370[_0x46e00e(0x129)]);}}),_0x3c16e9[_0x32fbfe(0x134)]('/reset',async(_0x49b617,_0x234e02)=>{const _0x14b5e3=_0x32fbfe;try{const {resource:_0x287063,mode:_0x3b732c,format:_0x306e5f,prefix:_0x1180a1}=_0x49b617[_0x14b5e3(0x130)]||{},_0x5cb667=_0x499aaf(),_0x498940=await _0x5cb667['reset']({'resource':_0x287063,'mode':_0x3d6370['uxyiy'](_0x3b732c,'number'),'format':_0x306e5f,'prefix':_0x1180a1});return _0x234e02[_0x14b5e3(0x10f)](0xc8)['json'](createResponse(0xc8,_0x14b5e3(0xf0),_0x498940));}catch(_0x25663b){return _0x3d6370[_0x14b5e3(0x138)](_0x22340f,_0x234e02,_0x25663b,_0x14b5e3(0x140));}}),_0x3c16e9['get'](_0x32fbfe(0x12c),async(_0x4ddd1b,_0x25e24e)=>{const _0x2b0d9d=_0x32fbfe;try{const _0x5d0eb7=_0x3d6370[_0x2b0d9d(0xfd)](_0x499aaf),_0x51bfaf=_0x5d0eb7[_0x2b0d9d(0x104)]();let _0x489908=![],_0x104a41=null;try{_0x489908=await redisClient[_0x2b0d9d(0x142)](0xbb8);}catch(_0x3529fa){_0x104a41=_0x3529fa['message'];}const _0x30180a=process[_0x2b0d9d(0x12e)]['LOCK_DISTRIBUTED_ENABLED']===_0x2b0d9d(0x137),_0x352695=process[_0x2b0d9d(0x12e)]['IDEMPOTENCY_ENABLED']===_0x3d6370[_0x2b0d9d(0x117)];if(!_0x51bfaf||!_0x489908)return _0x25e24e[_0x2b0d9d(0x10f)](0x1f7)[_0x2b0d9d(0x115)](_0x3d6370[_0x2b0d9d(0x11d)](createError,0x1f7,_0x3d6370['QNUmm'],{'enabled':_0x51bfaf,'redisConnected':_0x489908,'lockEnabled':_0x30180a,'idempotencyEnabled':_0x352695,'error':_0x104a41||(!_0x51bfaf?_0x3d6370['Rfdmc']:_0x3d6370['ZKOOS'])}));return _0x25e24e['status'](0xc8)[_0x2b0d9d(0x115)](_0x3d6370[_0x2b0d9d(0x13d)](createResponse,0xc8,'ID\x20Generator\x20service\x20is\x20healthy',{'enabled':_0x51bfaf,'redisConnected':_0x489908,'lockEnabled':_0x30180a,'idempotencyEnabled':_0x352695}));}catch(_0x128c21){return _0x22340f(_0x25e24e,_0x128c21,_0x2b0d9d(0x13b));}}),_0x3c16e9;}function a0_0x1e40(){const _0x2bc34c=['AwrNzw5FCM91DgvFCgLUx2vYCM9Y','nZuZmtu2zxz1qvbO','rMrjALe','s0nJB3e','mtviyvL5EvO','qLvfq0G','ngHyAMfnDa','sw50zxjUywWGC2vYDMvYigvYCM9Y','vvnsv1e','BMfTzq','AxnfBMfIBgvK','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','C3rHy2S','EuXMwKm','nta1nJuXoezMAhD3yW','vLLur0K','z2v0','qu9jBxO','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','CMfUzg9T','l2nVzgu','C3rHDhvZ','y29Kzq','swrhzw5LCMf0B3jfCNjVCG','nZe2ntK2m0nzvMz4Aa','AwrNzw5FCM91DgvFC2vYAwfSx2vYCM9Y','EvDVzfu','ANnVBG','l3jLC2vYDMuVzxH0zw5K','Dgriu1y','l3jLC2vYDMu','zxH0zw5KuMvZzxj2yxrPB24','lI4VlI4VDxrPBhmVBg9Nz2vY','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','r2T4EKu','ChjbBhe','y29UzMLYBvjLC2vYDMf0Aw9U','lI4VlI4VDxrPBhmVAwqTz2vUzxjHDg9Y','uMvZzxj2yxrPB24GzxH0zw5Kzwq','l251BwjLCG','l2LUzM8VoNjLC291CMnL','vuntBhK','C2vYAwfS','uM91DgvY','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','tNryEKm','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','AwnPBNm','BwvZC2fNzq','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','l2HLywX0Aa','zKXRquq','zw52','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','yM9KEq','AgvHzgvY','uMvKAxmGBM90ignVBM5Ly3rLza','surhru5Fru5bqKXfrd1MywXZzq','Cg9ZDa','AwrNzw5FCM91DgvFCMvSzwfZzv9LCNjVCG','nZu5nJiWmefxwuvIqG','Dhj1zq','qwHYzLi','l3jLC2vYDMuVoNrVA2vU','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','AwrNzw5FCM91DgvFAgvHBhrOx2vYCM9Y','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq','CgrtCxe','CgfYyw1Z','ueLoigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','shbXu1G','CgLUzW','tKjmDwK','ELjvENm','uMvZB3vYy2uGC3rHDguGCMvZzxq','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','mZy4mti1nvDSvejJzW','nJi1mdC0CvfPr3jI','mJG3mJK5mJzssxDHq0i','BNvTyMvY','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','y29UC3vTzq','rgThwgy'];a0_0x1e40=function(){return _0x2bc34c;};return a0_0x1e40();}function a0_0x25ff(_0x13e68d,_0x4b39ca){_0x13e68d=_0x13e68d-0xee;const _0x1e40d9=a0_0x1e40();let _0x25ff7d=_0x1e40d9[_0x13e68d];if(a0_0x25ff['HpzcOm']===undefined){var _0x2d6695=function(_0x49369e){const _0x5adfb9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355bf1='',_0x4583e2='';for(let _0x3b6a0d=0x0,_0x38d951,_0x494976,_0x12a953=0x0;_0x494976=_0x49369e['charAt'](_0x12a953++);~_0x494976&&(_0x38d951=_0x3b6a0d%0x4?_0x38d951*0x40+_0x494976:_0x494976,_0x3b6a0d++%0x4)?_0x355bf1+=String['fromCharCode'](0xff&_0x38d951>>(-0x2*_0x3b6a0d&0x6)):0x0){_0x494976=_0x5adfb9['indexOf'](_0x494976);}for(let _0x2b3341=0x0,_0x44c369=_0x355bf1['length'];_0x2b3341<_0x44c369;_0x2b3341++){_0x4583e2+='%'+('00'+_0x355bf1['charCodeAt'](_0x2b3341)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4583e2);};a0_0x25ff['HqiyNK']=_0x2d6695,a0_0x25ff['HTbWPI']={},a0_0x25ff['HpzcOm']=!![];}const _0x560341=_0x1e40d9[0x0],_0x3fdced=_0x13e68d+_0x560341,_0x254fca=a0_0x25ff['HTbWPI'][_0x3fdced];return!_0x254fca?(_0x25ff7d=a0_0x25ff['HqiyNK'](_0x25ff7d),a0_0x25ff['HTbWPI'][_0x3fdced]=_0x25ff7d):_0x25ff7d=_0x254fca,_0x25ff7d;}module['exports']=createIdgenRoutes;
1
+ const a0_0x4ac1a6=a0_0x1cbc;function a0_0x1cbc(_0x48ca73,_0x219d30){_0x48ca73=_0x48ca73-0x9c;const _0x2d7f08=a0_0x2d7f();let _0x1cbc8a=_0x2d7f08[_0x48ca73];if(a0_0x1cbc['MwaVjj']===undefined){var _0x266787=function(_0x15ab88){const _0x2e7673='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc29cb8='',_0x28c0cc='';for(let _0x12040f=0x0,_0x560e0a,_0x2c10ea,_0x50c12c=0x0;_0x2c10ea=_0x15ab88['charAt'](_0x50c12c++);~_0x2c10ea&&(_0x560e0a=_0x12040f%0x4?_0x560e0a*0x40+_0x2c10ea:_0x2c10ea,_0x12040f++%0x4)?_0xc29cb8+=String['fromCharCode'](0xff&_0x560e0a>>(-0x2*_0x12040f&0x6)):0x0){_0x2c10ea=_0x2e7673['indexOf'](_0x2c10ea);}for(let _0x457a8d=0x0,_0x197e28=_0xc29cb8['length'];_0x457a8d<_0x197e28;_0x457a8d++){_0x28c0cc+='%'+('00'+_0xc29cb8['charCodeAt'](_0x457a8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28c0cc);};a0_0x1cbc['PiTSDm']=_0x266787,a0_0x1cbc['RKFvhF']={},a0_0x1cbc['MwaVjj']=!![];}const _0x4b34c0=_0x2d7f08[0x0],_0x2e7893=_0x48ca73+_0x4b34c0,_0x20a2bd=a0_0x1cbc['RKFvhF'][_0x2e7893];return!_0x20a2bd?(_0x1cbc8a=a0_0x1cbc['PiTSDm'](_0x1cbc8a),a0_0x1cbc['RKFvhF'][_0x2e7893]=_0x1cbc8a):_0x1cbc8a=_0x20a2bd,_0x1cbc8a;}(function(_0x38c11b,_0x1e8152){const _0x1b6b6e=a0_0x1cbc,_0x5b8e13=_0x38c11b();while(!![]){try{const _0x4d66e3=-parseInt(_0x1b6b6e(0xe7))/0x1*(-parseInt(_0x1b6b6e(0x9c))/0x2)+parseInt(_0x1b6b6e(0xd2))/0x3+-parseInt(_0x1b6b6e(0xee))/0x4+parseInt(_0x1b6b6e(0xb6))/0x5+-parseInt(_0x1b6b6e(0xa5))/0x6+-parseInt(_0x1b6b6e(0xc3))/0x7+parseInt(_0x1b6b6e(0xe8))/0x8*(-parseInt(_0x1b6b6e(0xde))/0x9);if(_0x4d66e3===_0x1e8152)break;else _0x5b8e13['push'](_0x5b8e13['shift']());}catch(_0x376885){_0x5b8e13['push'](_0x5b8e13['shift']());}}}(a0_0x2d7f,0x6381c));function a0_0x2d7f(){const _0x41ff10=['z2v0','CxvLCNK','uw90shi','tvHIEg8','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','y29Kzq','l3jLC2vYDMuVoNrVA2vU','D0H2DeG','EgXArfq','DMHnv2G','mZK3nMjjs2jHqG','B0PtwgW','B05ttxa','uMvZzxj2yxrPB24GzxH0zw5Kzwq','t2Dcwfu','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','lI4VlI4VDxrPBhmVBg9Nz2vY','tKrJs3C','ANnVBG','mta2mJa2mgzvshzZAq','BNvTyMvY','l251BwjLCG','Ahjztw4','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','yM9KEq','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','wK5Qveu','l251BwjLCI9YzwXLyxnL','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','vMfSDwuGy29UC3vTzwq','ueLoigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','l3jHBMrVBq','l3jLC2vYDMuVy2fUy2vS','l2LUzM8VoNjLC291CMnL','l2HLywX0Aa','mZGXntq0mhrRCNzKDa','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','l3nLCMLHBa','y29UzMLYBvjLC2vYDMf0Aw9U','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','CMvSzwfZzu51BwjLCG','l3jLC2vYDMu','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','zgv0ywLSCW','rNjgweG','EefIAxK','CgfYyw1Z','mtuWmdCZn1b4AvjRCG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','l3jLC2vYDMuVy29UzMLYBq','swrhzw5LCMf0B3jfCNjVCG','l2nVzgu','zxHWB3j0CW','seDlqxm','tKvryKG','rw51weS','Awv5DxO','CMvZzxj2zu51BwjLCG','AwrNzw5FCM91DgvFy29Kzv9LCNjVCG','CMfUzg9T','z1LMCNG','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','mtKXntC3nLnrDNDvyG','suqGr2vUzxjHDg9YihjVDxrLigv4y2vWDgLVBJOG','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','ug1YA2i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','y29UC3vTzq','z2v0uMvZzxj2yxrPB24','AwrNzw5FCM91DgvFCgLUx2vYCM9Y','ENDyDuu','uMvZzxj2yxrPB24GCMv0CMLLDMvK','BuXXvxC','wgjeA2e','oxvssffSvq','CgLUzW','Dhj1zq','z2v0sw5MBW','CxntCfy','uM91DgvY','qKnIA0O','t2jAsge','C3rHy2S','mJK2tMnbzuHr','nty5mtm3nKLuwMPwAG','CgLU','BwvZC2fNzq','C3rHDhvZ','CNvlB3y','l3jLC2v0','mtKXodKWmevhy1vRsq','zeLYrMG','CgzTAgq','Cg9ZDa','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq'];a0_0x2d7f=function(){return _0x41ff10;};return a0_0x2d7f();}const express=require('express'),{logger}=require(a0_0x4ac1a6(0xa2)),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require(a0_0x4ac1a6(0xc4)),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function createIdgenRoutes(){const _0xac53c8=a0_0x4ac1a6,_0x54e6e1={'xAbiy':function(_0x9f1069,_0x31ec03){return _0x9f1069(_0x31ec03);},'IjOZt':_0xac53c8(0xc6),'mMMUD':function(_0x4d5019,_0x5778ae,_0x340871,_0xb07420){return _0x4d5019(_0x5778ae,_0x340871,_0xb07420);},'NEQbH':function(_0x134211,_0x4cadfe,_0x464ebf,_0x1a2085){return _0x134211(_0x4cadfe,_0x464ebf,_0x1a2085);},'AoUkV':'Idempotency-Key','Ajout':function(_0x447b4b,_0x4c20ab){return _0x447b4b(_0x4c20ab);},'HGKAs':function(_0x520d80){return _0x520d80();},'ObZHa':function(_0x50b3ea,_0x12d954,_0x21eff0,_0x4d6c66){return _0x50b3ea(_0x12d954,_0x21eff0,_0x4d6c66);},'vHutL':function(_0x4142ef,_0xd86ad5){return _0x4142ef(_0xd86ad5);},'xlZDT':'Number\x20reserved\x20successfully','Pmrkb':function(_0x58471d,_0x3ac1aa){return _0x58471d(_0x3ac1aa);},'BCbkJ':'Reservation\x20confirmed','nkzdk':_0xac53c8(0xf7),'XbDka':function(_0x2627d8,_0x32b7ee){return _0x2627d8(_0x32b7ee);},'vFTfT':function(_0xce3d71){return _0xce3d71();},'oJSXl':function(_0x3b3a89,_0x108147,_0x2e5964,_0x73ed00){return _0x3b3a89(_0x108147,_0x2e5964,_0x73ed00);},'VpUpV':function(_0x1a2547,_0x2f745e){return _0x1a2547(_0x2f745e);},'xKiEV':function(_0x431ee3){return _0x431ee3();},'ruKov':function(_0x1ee435,_0x25812c,_0x495d30,_0x569f13){return _0x1ee435(_0x25812c,_0x495d30,_0x569f13);},'oNSMp':_0xac53c8(0x9f),'PVzup':_0xac53c8(0xd1),'EnuXK':function(_0x463a39,_0x54a15e,_0x460029,_0x3869fa){return _0x463a39(_0x54a15e,_0x460029,_0x3869fa);},'hrYMn':_0xac53c8(0xdb),'XQOpY':function(_0x32ba73){return _0x32ba73();},'tKWVd':_0xac53c8(0xb1),'gYfrx':function(_0x2e76ad,_0x4d18ae,_0x497374,_0x4e299c){return _0x2e76ad(_0x4d18ae,_0x497374,_0x4e299c);},'zwXuE':'idgen_route_serial_error','mLqUw':function(_0x1376f2){return _0x1376f2();},'OgBXU':function(_0x36acd9,_0x423ce3,_0x198ad2,_0x3e96fd){return _0x36acd9(_0x423ce3,_0x198ad2,_0x3e96fd);},'UeOkC':'Random\x20value\x20generated\x20successfully','tWuHJ':function(_0x571bd8,_0x182c72,_0x34ca5c,_0x116c39){return _0x571bd8(_0x182c72,_0x34ca5c,_0x116c39);},'ZJiTD':_0xac53c8(0xb8),'FrFXH':function(_0x2affe5,_0x39a32d){return _0x2affe5||_0x39a32d;},'wHvtH':_0xac53c8(0xbe),'OCvVB':_0xac53c8(0xa6),'MXbxo':function(_0x328409,_0x5cdce4,_0x49d61e,_0x188f29){return _0x328409(_0x5cdce4,_0x49d61e,_0x188f29);},'otecG':_0xac53c8(0xae),'ieyuz':'ID\x20Generator\x20service\x20unavailable','ZNjTE':'IDGEN_ENABLED=false','QotHr':function(_0x398466,_0x501b44,_0x2f6061,_0x2baacd){return _0x398466(_0x501b44,_0x2f6061,_0x2baacd);},'NDcKw':_0xac53c8(0xaf),'dlnfr':function(_0x5f0057,_0x1ec499,_0x1f7b90,_0xd95ad0){return _0x5f0057(_0x1ec499,_0x1f7b90,_0xd95ad0);},'vhMWh':_0xac53c8(0xad),'kNZPV':_0xac53c8(0xc5),'sDoaA':'/reserve/extend','pfmhd':_0xac53c8(0xf9),'oBwas':'/consume','dIrFh':_0xac53c8(0xed),'qsSpV':_0xac53c8(0xb5)},_0x44100f=express[_0xac53c8(0xe3)]();let _0xd17c47=null;function _0x20bc2f(){const _0x5a8835=_0xac53c8;return!_0xd17c47&&(_0xd17c47=_0x54e6e1[_0x5a8835(0xc1)](require,'../../utils/id-generator')),_0xd17c47;}function _0x4508f2(_0x277936,_0x4caa39,_0x2532f1){const _0x54762e=_0xac53c8;if(_0x4caa39&&_0x4caa39['name']===_0x54e6e1['IjOZt']){const _0x39aa0a=ERROR_CODE_HTTP_MAP[_0x4caa39['code']]||0x1f4;return logger['warn']({'event':_0x2532f1,'code':_0x4caa39[_0x54762e(0xf8)],'message':_0x4caa39[_0x54762e(0xea)]},_0x54762e(0xab)+_0x4caa39[_0x54762e(0xf8)]),_0x277936['status'](_0x39aa0a)['json'](_0x54e6e1['mMMUD'](createError,_0x39aa0a,_0x4caa39['message'],{'code':_0x4caa39[_0x54762e(0xf8)],'details':_0x4caa39[_0x54762e(0xbf)]||null}));}return logger['error']({'event':_0x2532f1,'error':_0x4caa39&&_0x4caa39['message'],'stack':_0x4caa39&&_0x4caa39[_0x54762e(0xe6)]},_0x54762e(0xd3)+(_0x4caa39&&_0x4caa39[_0x54762e(0xea)])),_0x277936[_0x54762e(0xeb)](0x1f4)['json'](_0x54e6e1[_0x54762e(0xca)](createError,0x1f4,'Internal\x20server\x20error',null));}function _0x216edd(_0xb6e0d4){return _0xb6e0d4['header'](_0x54e6e1['AoUkV'])||undefined;}return _0x44100f['post'](_0xac53c8(0xa7),async(_0x13297a,_0x2676ca)=>{const _0x57ceb1=_0xac53c8;try{const {resource:_0x11c4df,format:_0x34275b,prefix:_0x661d1f,separator:_0x37e85a,numDigits:_0x3ecc6c,reuseDelete:_0xb9355b}=_0x13297a['body']||{},_0x2fbb86=_0x54e6e1['Ajout'](_0x216edd,_0x13297a),_0xac90a9=_0x54e6e1['HGKAs'](_0x20bc2f),_0x40d3d4=await _0xac90a9[_0x57ceb1(0xa6)]({'resource':_0x11c4df,'format':_0x34275b,'prefix':_0x661d1f,'separator':_0x37e85a,'numDigits':_0x3ecc6c,'reuseDelete':_0xb9355b,'idempotencyKey':_0x2fbb86});return _0x2676ca[_0x57ceb1(0xeb)](0xc9)['json'](_0x54e6e1[_0x57ceb1(0xe5)](createResponse,0xc9,_0x57ceb1(0xbb),_0x40d3d4));}catch(_0xd70c39){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2676ca,_0xd70c39,_0x57ceb1(0xd4));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1[_0xac53c8(0xfc)],async(_0x1352ea,_0x4fe284)=>{const _0x17d150=_0xac53c8;try{const _0xdecf5f=_0x54e6e1['Ajout'](_0x216edd,_0x1352ea),_0x3c9d51={..._0x1352ea[_0x17d150(0xaa)]||{},'idempotencyKey':_0xdecf5f},_0x569161=_0x20bc2f(),_0x455a4d=await _0x569161[_0x17d150(0xbc)](_0x3c9d51);return _0x4fe284['status'](0xc8)['json'](createResponse(0xc8,'Number\x20released\x20to\x20reuse\x20pool',_0x455a4d));}catch(_0x5e22f3){return _0x4508f2(_0x4fe284,_0x5e22f3,'idgen_route_release_error');}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xbd),async(_0x3c46ac,_0x2fe32c)=>{const _0x3d35a7=_0xac53c8;try{const {resource:_0x31b9a5,format:_0x29af8f,prefix:_0x273f04,separator:_0x25f23d,numDigits:_0xa245fa,reuseDelete:_0x2cc2b1,ttl:_0xe1e40b}=_0x3c46ac[_0x3d35a7(0xaa)]||{},_0x475718=_0x54e6e1['vHutL'](_0x216edd,_0x3c46ac),_0x587064=_0x54e6e1[_0x3d35a7(0xc9)](_0x20bc2f),_0x35401c=await _0x587064[_0x3d35a7(0xcd)]({'resource':_0x31b9a5,'format':_0x29af8f,'prefix':_0x273f04,'separator':_0x25f23d,'numDigits':_0xa245fa,'reuseDelete':_0x2cc2b1,'ttl':_0xe1e40b,'idempotencyKey':_0x475718});return _0x2fe32c[_0x3d35a7(0xeb)](0xc9)[_0x3d35a7(0xa4)](createResponse(0xc9,_0x54e6e1[_0x3d35a7(0xfb)],_0x35401c));}catch(_0x23533f){return _0x54e6e1['ObZHa'](_0x4508f2,_0x2fe32c,_0x23533f,_0x3d35a7(0xb7));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['kNZPV'],async(_0x207eb3,_0x57c2f5)=>{const _0x4dfbda=_0xac53c8;try{const {token:_0x305d8f}=_0x207eb3[_0x4dfbda(0xaa)]||{},_0x467fa8=_0x54e6e1[_0x4dfbda(0xd5)](_0x216edd,_0x207eb3),_0xb08391=_0x54e6e1['HGKAs'](_0x20bc2f),_0x52050a=await _0xb08391[_0x4dfbda(0xba)]({'token':_0x305d8f,'idempotencyKey':_0x467fa8});return _0x57c2f5['status'](0xc8)['json'](createResponse(0xc8,_0x54e6e1[_0x4dfbda(0xe4)],_0x52050a));}catch(_0x5895c0){return _0x4508f2(_0x57c2f5,_0x5895c0,_0x54e6e1['nkzdk']);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb3),async(_0x72c577,_0x236db5)=>{const _0x13e48e=_0xac53c8;try{const {token:_0x482b76}=_0x72c577['body']||{},_0xd49b53=_0x54e6e1[_0x13e48e(0xdd)](_0x216edd,_0x72c577),_0x534543=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5815eb=await _0x534543['cancelReservation']({'token':_0x482b76,'idempotencyKey':_0xd49b53});return _0x236db5['status'](0xc8)[_0x13e48e(0xa4)](createResponse(0xc8,'Reservation\x20cancelled',_0x5815eb));}catch(_0x241b26){return _0x54e6e1[_0x13e48e(0x9d)](_0x4508f2,_0x236db5,_0x241b26,_0x13e48e(0xa1));}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['sDoaA'],async(_0x5896e7,_0x4a58c3)=>{const _0x14147d=_0xac53c8;try{const {token:_0x47cd8c,ttl:_0x12e28c}=_0x5896e7[_0x14147d(0xaa)]||{},_0x35939b=_0x54e6e1['VpUpV'](_0x216edd,_0x5896e7),_0x34e599=_0x54e6e1['xKiEV'](_0x20bc2f),_0x4bcef6=await _0x34e599['extendReservation']({'token':_0x47cd8c,'ttl':_0x12e28c,'idempotencyKey':_0x35939b});return _0x4a58c3[_0x14147d(0xeb)](0xc8)[_0x14147d(0xa4)](_0x54e6e1[_0x14147d(0xec)](createResponse,0xc8,_0x54e6e1[_0x14147d(0x9e)],_0x4bcef6));}catch(_0x2748cc){return _0x54e6e1['ObZHa'](_0x4508f2,_0x4a58c3,_0x2748cc,_0x54e6e1['PVzup']);}}),_0x44100f[_0xac53c8(0xf3)](_0x54e6e1[_0xac53c8(0xf0)],async(_0xd57eb,_0x31f598)=>{const _0x4f1324=_0xac53c8;try{const {token:_0x4a4aa3}=_0xd57eb[_0x4f1324(0xc2)],_0x35d290=_0x20bc2f(),_0x41683a=await _0x35d290[_0x4f1324(0xd8)]({'token':_0x4a4aa3});return _0x31f598['status'](0xc8)[_0x4f1324(0xa4)](_0x54e6e1[_0x4f1324(0xcb)](createResponse,0xc8,_0x54e6e1[_0x4f1324(0xa8)],_0x41683a));}catch(_0x2ee45f){return _0x4508f2(_0x31f598,_0x2ee45f,_0x4f1324(0xa9));}}),_0x44100f['post']('/pin',async(_0x59e69a,_0x459a5b)=>{const _0x2cc7ac=_0xac53c8;try{const {resource:_0x5318ee,digits:_0x5bc6d0,ensureUnique:_0x1c6dfb,ttl:_0x19fcaa,maxRetry:_0x3e4ff2}=_0x59e69a['body']||{},_0x30e13f=_0x216edd(_0x59e69a),_0x4b5146=_0x54e6e1['XQOpY'](_0x20bc2f),_0x200c1b=await _0x4b5146[_0x2cc7ac(0xe9)]({'resource':_0x5318ee,'digits':_0x5bc6d0,'ensureUnique':_0x1c6dfb,'ttl':_0x19fcaa,'maxRetry':_0x3e4ff2,'idempotencyKey':_0x30e13f});return _0x459a5b[_0x2cc7ac(0xeb)](0xc9)[_0x2cc7ac(0xa4)](createResponse(0xc9,_0x54e6e1['tKWVd'],_0x200c1b));}catch(_0x2c6cb5){return _0x54e6e1['oJSXl'](_0x4508f2,_0x459a5b,_0x2c6cb5,_0x2cc7ac(0xd9));}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xb9),async(_0x254179,_0xde23bb)=>{const _0x18e38d=_0xac53c8;try{const {resource:_0x33f45e,pattern:_0x256605,ensureUnique:_0xf7bd5f,ttl:_0x46f5c6,maxRetry:_0x22fd7b}=_0x254179[_0x18e38d(0xaa)]||{},_0x5be05d=_0x216edd(_0x254179),_0x43917d=_0x54e6e1[_0x18e38d(0xc9)](_0x20bc2f),_0x54877c=await _0x43917d['serial']({'resource':_0x33f45e,'pattern':_0x256605,'ensureUnique':_0xf7bd5f,'ttl':_0x46f5c6,'maxRetry':_0x22fd7b,'idempotencyKey':_0x5be05d});return _0xde23bb[_0x18e38d(0xeb)](0xc9)[_0x18e38d(0xa4)](_0x54e6e1['gYfrx'](createResponse,0xc9,_0x18e38d(0xd6),_0x54877c));}catch(_0x331beb){return _0x4508f2(_0xde23bb,_0x331beb,_0x54e6e1[_0x18e38d(0xda)]);}}),_0x44100f[_0xac53c8(0xf1)](_0xac53c8(0xc7),async(_0x51f10d,_0x57a421)=>{const _0x21924b=_0xac53c8;try{const {resource:_0x29aad8,pattern:_0x1c63d1,ensureUnique:_0x46b928,ttl:_0x5b49cd,maxRetry:_0x5067ab}=_0x51f10d['body']||{},_0x5d94ef=_0x54e6e1['xAbiy'](_0x216edd,_0x51f10d),_0x1dce87=_0x54e6e1[_0x21924b(0xdc)](_0x20bc2f),_0x5eeec5=await _0x1dce87[_0x21924b(0xf8)]({'resource':_0x29aad8,'pattern':_0x1c63d1,'ensureUnique':_0x46b928,'ttl':_0x5b49cd,'maxRetry':_0x5067ab,'idempotencyKey':_0x5d94ef});return _0x57a421['status'](0xc9)['json'](_0x54e6e1[_0x21924b(0xd0)](createResponse,0xc9,'Code\x20generated\x20successfully',_0x5eeec5));}catch(_0x3d0bf6){return _0x54e6e1[_0x21924b(0xa0)](_0x4508f2,_0x57a421,_0x3d0bf6,_0x21924b(0xce));}}),_0x44100f['post'](_0xac53c8(0xb2),async(_0x36c426,_0x414bd8)=>{const _0x1be749=_0xac53c8;try{const {resource:_0x1311a5,pattern:_0xc37a20,ensureUnique:_0x5ce148,ttl:_0xec29d5,maxRetry:_0x510134}=_0x36c426['body']||{},_0x9f20d6=_0x216edd(_0x36c426),_0x5e6fa3=_0x54e6e1['vFTfT'](_0x20bc2f),_0x5d3811=await _0x5e6fa3[_0x1be749(0xcf)]({'resource':_0x1311a5,'pattern':_0xc37a20,'ensureUnique':_0x5ce148,'ttl':_0xec29d5,'maxRetry':_0x510134,'idempotencyKey':_0x9f20d6});return _0x414bd8[_0x1be749(0xeb)](0xc9)['json'](_0x54e6e1[_0x1be749(0xa0)](createResponse,0xc9,_0x54e6e1['UeOkC'],_0x5d3811));}catch(_0x29a283){return _0x4508f2(_0x414bd8,_0x29a283,'idgen_route_random_error');}}),_0x44100f[_0xac53c8(0xf1)](_0x54e6e1['oBwas'],async(_0x199c93,_0x246cc0)=>{const _0x370876=_0xac53c8;try{const {resource:_0x1a183d,value:_0x21ae0c}=_0x199c93['body']||{},_0x2fbc89=_0x20bc2f(),_0x2b77b6=await _0x2fbc89[_0x370876(0xd7)]({'resource':_0x1a183d,'value':_0x21ae0c});return _0x246cc0[_0x370876(0xeb)](0xc8)[_0x370876(0xa4)](_0x54e6e1[_0x370876(0xec)](createResponse,0xc8,_0x370876(0xb0),_0x2b77b6));}catch(_0x1776f3){return _0x54e6e1['tWuHJ'](_0x4508f2,_0x246cc0,_0x1776f3,_0x54e6e1['ZJiTD']);}}),_0x44100f[_0xac53c8(0xf3)](_0xac53c8(0xb4),async(_0x5d3c78,_0x46cdbf)=>{const _0x29a983=_0xac53c8;try{const {resource:_0x59bd1f}=_0x5d3c78[_0x29a983(0xc2)],{mode:_0x2ece05,format:_0x5d4b51,prefix:_0x13397e}=_0x5d3c78[_0x29a983(0xf4)],_0x2ead06=_0x20bc2f(),_0xe745e4=await _0x2ead06[_0x29a983(0xe1)]({'resource':_0x59bd1f,'mode':_0x54e6e1[_0x29a983(0xc0)](_0x2ece05,'number'),'format':_0x5d4b51,'prefix':_0x13397e});return _0x46cdbf[_0x29a983(0xeb)](0xc8)['json'](createResponse(0xc8,_0x29a983(0xf2),_0xe745e4));}catch(_0x2cee7c){return _0x4508f2(_0x46cdbf,_0x2cee7c,_0x54e6e1[_0x29a983(0xfa)]);}}),_0x44100f['post'](_0x54e6e1[_0xac53c8(0xef)],async(_0x2486a4,_0x56cdee)=>{const _0x31a5a3=_0xac53c8;try{const {resource:_0x470c14,mode:_0x1984ec,format:_0x50b30b,prefix:_0x540aea}=_0x2486a4['body']||{},_0x5c30de=_0x20bc2f(),_0x1e6901=await _0x5c30de['reset']({'resource':_0x470c14,'mode':_0x1984ec||_0x54e6e1['OCvVB'],'format':_0x50b30b,'prefix':_0x540aea});return _0x56cdee['status'](0xc8)[_0x31a5a3(0xa4)](createResponse(0xc8,'Resource\x20state\x20reset',_0x1e6901));}catch(_0x58b907){return _0x54e6e1[_0x31a5a3(0xf6)](_0x4508f2,_0x56cdee,_0x58b907,_0x54e6e1['otecG']);}}),_0x44100f['get'](_0x54e6e1[_0xac53c8(0xe2)],async(_0x226c4f,_0x361c8d)=>{const _0x1e543c=_0xac53c8;try{const _0x1ea7da=_0x20bc2f(),_0x4eb02e=_0x1ea7da['isEnabled']();let _0x195316=![],_0x4a0feb=null;try{_0x195316=await redisClient[_0x1e543c(0xdf)](0xbb8);}catch(_0x408d94){_0x4a0feb=_0x408d94[_0x1e543c(0xea)];}const _0x27b6bc=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x1e543c(0xe0),_0x560a82=process['env']['IDEMPOTENCY_ENABLED']==='true';if(_0x54e6e1[_0x1e543c(0xc0)](!_0x4eb02e,!_0x195316))return _0x361c8d[_0x1e543c(0xeb)](0x1f7)['json'](createError(0x1f7,_0x54e6e1[_0x1e543c(0xcc)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82,'error':_0x4a0feb||(!_0x4eb02e?_0x54e6e1[_0x1e543c(0xac)]:'Redis\x20not\x20connected')}));return _0x361c8d['status'](0xc8)['json'](_0x54e6e1[_0x1e543c(0xf5)](createResponse,0xc8,_0x54e6e1[_0x1e543c(0xa3)],{'enabled':_0x4eb02e,'redisConnected':_0x195316,'lockEnabled':_0x27b6bc,'idempotencyEnabled':_0x560a82}));}catch(_0x4a49b7){return _0x54e6e1['dlnfr'](_0x4508f2,_0x361c8d,_0x4a49b7,'idgen_route_health_error');}}),_0x44100f;}module[a0_0x4ac1a6(0xc8)]=createIdgenRoutes;
@@ -1 +1 @@
1
- function a0_0x335a(){const _0x4e4cc1=['u0vmrunuia','nfrQz2fvuW','C2XPy2u','C2v0','BgvUz3rO','nty5mvfrEvbfDG','B0D0r0m','rwrryxO','AgfZ','zM9YrwfJAa','CMvZB2X2zuXVB2T1CfzHBhvL','vMfSDwuGiG','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zw50CMLLCW','A2v5CW','ChjVy2vZC0XVB2T1CezPzwXKCW','zxHLy3v0zvf1zxj5','zxHWB3j0CW','tg9VA3vWignHy2HLignSzwfYzwq','zxjYB3i','rgrXzgu','ndq4mdiXEhbfB0ro','Bg9VA3vWx3rHyMXLx2XVywrLza','DhjPBq','Dg9vChbLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','ntqZndaZogvXB3Hywa','mZG0nti4ofvpDhnjrG','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','odu5ntnxDwj5Exq','qvjzEfe','EKPsAha','DuHlC04','ntmXnZa4qML3wuTA','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','z2v0rgLZDgLUy3rwywX1zxm','Bg9VA3vWq2fJAgu','BwfW','mtuWnZuWnvbLuMPkta','ChvZAa','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','ywrK','Aw5MBW','Bg9HzeXVB2T1CfrHyMXL','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','Dg9mB3DLCKnHC2u','BxLZCwW','z2v0','zgvIDwC','mZbcsejHtfG'];a0_0x335a=function(){return _0x4e4cc1;};return a0_0x335a();}const a0_0x5f1e09=a0_0x4e67;function a0_0x4e67(_0x4d6f1b,_0x5f338c){_0x4d6f1b=_0x4d6f1b-0xf4;const _0x335abf=a0_0x335a();let _0x4e679d=_0x335abf[_0x4d6f1b];if(a0_0x4e67['psFHMg']===undefined){var _0x4c3005=function(_0x49d082){const _0x53f70b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12c94c='',_0x14dfd8='';for(let _0x6ace28=0x0,_0x295f83,_0x5cfa9c,_0x46d12b=0x0;_0x5cfa9c=_0x49d082['charAt'](_0x46d12b++);~_0x5cfa9c&&(_0x295f83=_0x6ace28%0x4?_0x295f83*0x40+_0x5cfa9c:_0x5cfa9c,_0x6ace28++%0x4)?_0x12c94c+=String['fromCharCode'](0xff&_0x295f83>>(-0x2*_0x6ace28&0x6)):0x0){_0x5cfa9c=_0x53f70b['indexOf'](_0x5cfa9c);}for(let _0x4058b6=0x0,_0x3d9a61=_0x12c94c['length'];_0x4058b6<_0x3d9a61;_0x4058b6++){_0x14dfd8+='%'+('00'+_0x12c94c['charCodeAt'](_0x4058b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14dfd8);};a0_0x4e67['fnVTco']=_0x4c3005,a0_0x4e67['OnXysm']={},a0_0x4e67['psFHMg']=!![];}const _0x2baa89=_0x335abf[0x0],_0x2365c5=_0x4d6f1b+_0x2baa89,_0x39ad52=a0_0x4e67['OnXysm'][_0x2365c5];return!_0x39ad52?(_0x4e679d=a0_0x4e67['fnVTco'](_0x4e679d),a0_0x4e67['OnXysm'][_0x2365c5]=_0x4e679d):_0x4e679d=_0x39ad52,_0x4e679d;}(function(_0x58c6ab,_0x4185c0){const _0x23ca71=a0_0x4e67,_0x23c134=_0x58c6ab();while(!![]){try{const _0x1d6c93=-parseInt(_0x23ca71(0x117))/0x1+parseInt(_0x23ca71(0x101))/0x2*(parseInt(_0x23ca71(0x107))/0x3)+-parseInt(_0x23ca71(0x103))/0x4*(parseInt(_0x23ca71(0xf5))/0x5)+-parseInt(_0x23ca71(0x123))/0x6+-parseInt(_0x23ca71(0x11f))/0x7+parseInt(_0x23ca71(0x11d))/0x8+parseInt(_0x23ca71(0x11c))/0x9;if(_0x1d6c93===_0x4185c0)break;else _0x23c134['push'](_0x23c134['shift']());}catch(_0x57b124){_0x23c134['push'](_0x23c134['shift']());}}}(a0_0x335a,0x4014f));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x5f1e09(0xf8));executeQuery=(_0x371729,_0x5325e0)=>oracleDb[a0_0x5f1e09(0x112)](_0x371729,_0x5325e0);}else{if(dbType===a0_0x5f1e09(0xfe)){const mysqlDb=require(a0_0x5f1e09(0x11e));executeQuery=(_0xc47ae5,_0x4dfa0f)=>mysqlDb[a0_0x5f1e09(0x112)](_0xc47ae5,_0x4dfa0f);}else executeQuery=require('../../core/utils/db')[a0_0x5f1e09(0x112)];}const {logger}=require(a0_0x5f1e09(0xfc));class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x72c884=a0_0x5f1e09,_0x2a5232={'bzDzF':_0x72c884(0x124),'nTcAh':_0x72c884(0x114)};this['lookupCache']['clear'](),logger[_0x72c884(0x100)]({'event':_0x2a5232['bzDzF']},_0x2a5232['nTcAh']);}async[a0_0x5f1e09(0xfb)](_0x139e2d,_0x26e751,_0x16af09){const _0x27e5aa=a0_0x5f1e09,_0x3560e9={'xKFdJ':function(_0x5a5c4b,_0xc0bd9b){return _0x5a5c4b!==_0xc0bd9b;},'ARYxQ':function(_0x526e67,_0x44b06f){return _0x526e67(_0x44b06f);},'uHKsN':_0x27e5aa(0x10e)},_0x405040=_0x139e2d+':'+_0x26e751+':'+_0x16af09;if(this[_0x27e5aa(0x127)]['has'](_0x405040))return this[_0x27e5aa(0x127)][_0x27e5aa(0xff)](_0x405040);try{const _0x11e566=_0x27e5aa(0x102)+_0x16af09+',\x20'+_0x26e751+'\x20FROM\x20'+_0x139e2d,_0x2fcc61=await executeQuery(_0x11e566),_0xfbbd57=new Map();return _0x2fcc61['forEach'](_0x1f2f02=>{const _0x5ab637=_0x27e5aa,_0x26c146=_0x3560e9['xKFdJ'](_0x1f2f02[_0x26e751],undefined)?_0x1f2f02[_0x26e751]:_0x1f2f02[_0x26e751[_0x5ab637(0x11a)]()],_0x5807e3=_0x1f2f02[_0x16af09]!==undefined?_0x1f2f02[_0x16af09]:_0x1f2f02[_0x16af09['toUpperCase']()];_0x3560e9['xKFdJ'](_0x26c146,null)&&_0x3560e9['xKFdJ'](_0x26c146,undefined)&&(_0xfbbd57[_0x5ab637(0x105)](_0x3560e9[_0x5ab637(0x120)](String,_0x26c146)[_0x5ab637(0xfd)]()[_0x5ab637(0x119)](),_0x5807e3),_0xfbbd57['set'](String(_0x26c146)[_0x5ab637(0x119)](),_0x5807e3));}),this['lookupCache'][_0x27e5aa(0x105)](_0x405040,_0xfbbd57),logger['info']({'event':_0x27e5aa(0x118),'table':_0x139e2d,'column':_0x26e751,'count':_0x2fcc61[_0x27e5aa(0x106)]},_0x27e5aa(0x125)+_0x139e2d),_0xfbbd57;}catch(_0x50b297){logger[_0x27e5aa(0x115)]({'event':_0x3560e9[_0x27e5aa(0x122)],'table':_0x139e2d,'error':_0x50b297['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x139e2d);throw _0x50b297;}}[a0_0x5f1e09(0x10c)](_0x5751a7,_0x3b18cd){const _0x1e04cc=a0_0x5f1e09,_0x2b0432={'Ddqde':function(_0x20fc7a,_0x1163ef){return _0x20fc7a===_0x1163ef;},'iPtaf':function(_0x566ce1,_0x271447){return _0x566ce1(_0x271447);}};if(_0x2b0432['Ddqde'](_0x5751a7,null)||_0x2b0432[_0x1e04cc(0x116)](_0x5751a7,undefined)||_0x2b0432[_0x1e04cc(0x116)](_0x5751a7,''))return null;const _0x2678ae=_0x2b0432['iPtaf'](String,_0x5751a7)[_0x1e04cc(0x119)]();if(_0x3b18cd[_0x1e04cc(0x10a)](_0x2678ae))return _0x3b18cd[_0x1e04cc(0xff)](_0x2678ae);const _0x44014f=_0x2678ae['toLowerCase']();if(_0x3b18cd['has'](_0x44014f))return _0x3b18cd['get'](_0x44014f);return null;}async[a0_0x5f1e09(0x111)](_0x5ad802,_0x4d1b42){const _0x1c4e2a=a0_0x5f1e09,_0x1a9aea={'EVegV':function(_0x768d76,_0x18cf54){return _0x768d76===_0x18cf54;},'uATYn':function(_0x1ad971,_0x439ab4){return _0x1ad971!==_0x439ab4;},'rUePk':function(_0x3e6208,_0x277275){return _0x3e6208===_0x277275;},'ahFZc':_0x1c4e2a(0xf7),'EdQaz':'Lookup\x20fields\x20processed'};if(!_0x4d1b42||_0x1a9aea['rUePk'](Object[_0x1c4e2a(0x110)](_0x4d1b42)['length'],0x0))return{'processedRows':_0x5ad802,'errors':[]};const _0x7e0c71=[],_0x4758d0=new Map();for(const [_0x156f55,_0x4d04b2]of Object['entries'](_0x4d1b42)){const {lookupTable:_0x5c915b,lookupColumn:_0xe8bbf5,lookupIdColumn:_0x2f0f12}=_0x4d04b2,_0x1555e8=_0x5c915b+':'+_0xe8bbf5+':'+_0x2f0f12;if(!_0x4758d0[_0x1c4e2a(0x10a)](_0x1555e8)){const _0xe863dd=await this['loadLookupTable'](_0x5c915b,_0xe8bbf5,_0x2f0f12);_0x4758d0['set'](_0x1555e8,_0xe863dd);}}const _0x2c5ec1=_0x5ad802[_0x1c4e2a(0xf4)]((_0x4bbe8d,_0x5581fe)=>{const _0x484bcd=_0x1c4e2a,_0x51915c={..._0x4bbe8d};for(const [_0x3831dc,_0x481b51]of Object['entries'](_0x4d1b42)){const {lookupTable:_0x343685,lookupColumn:_0x14db95,lookupIdColumn:_0x476191,targetField:_0x4a28c0,required:_0x4179f6}=_0x481b51,_0x2fe1ba=_0x343685+':'+_0x14db95+':'+_0x476191,_0x2bec9a=_0x4758d0['get'](_0x2fe1ba),_0x87160d=_0x4bbe8d[_0x3831dc];if((_0x87160d===null||_0x87160d===undefined||_0x1a9aea['EVegV'](_0x87160d,''))&&!_0x4179f6){_0x51915c[_0x4a28c0]=null;continue;}const _0x1c0838=this[_0x484bcd(0x10c)](_0x87160d,_0x2bec9a);_0x1a9aea['uATYn'](_0x1c0838,null)?_0x51915c[_0x4a28c0]=_0x1c0838:(_0x4179f6&&_0x7e0c71[_0x484bcd(0xf6)]({'rowIndex':_0x5581fe,'field':_0x3831dc,'value':_0x87160d,'targetField':_0x4a28c0,'lookupTable':_0x343685,'message':_0x484bcd(0x10d)+_0x87160d+'\x22\x20not\x20found\x20in\x20'+_0x343685}),_0x51915c[_0x4a28c0]=null);}return _0x51915c;});return logger[_0x1c4e2a(0xfa)]({'event':_0x1a9aea['ahFZc'],'totalRows':_0x5ad802[_0x1c4e2a(0x106)],'errorCount':_0x7e0c71[_0x1c4e2a(0x106)],'lookupFieldCount':Object[_0x1c4e2a(0x110)](_0x4d1b42)['length']},_0x1a9aea[_0x1c4e2a(0x109)]),{'processedRows':_0x2c5ec1,'errors':_0x7e0c71};}['getDistinctValues'](_0x40f6f4,_0x3b11cd){const _0x272f95=a0_0x5f1e09,_0x4e3737={'oGtGC':function(_0x30edfd,_0x36b0b5){return _0x30edfd!==_0x36b0b5;}},_0x3d9805=new Set();return _0x40f6f4[_0x272f95(0x10b)](_0x4b2bdd=>{const _0x44158d=_0x272f95,_0x47507b=_0x4b2bdd[_0x3b11cd];_0x4e3737[_0x44158d(0x108)](_0x47507b,null)&&_0x4e3737['oGtGC'](_0x47507b,undefined)&&_0x4e3737['oGtGC'](_0x47507b,'')&&_0x3d9805[_0x44158d(0xf9)](String(_0x47507b)['trim']());}),Array['from'](_0x3d9805);}async['validateLookupValues'](_0x235826,_0x2dacef){const _0x34e56e=a0_0x5f1e09,_0x179830={'zJRhp':function(_0x524436,_0x485500){return _0x524436===_0x485500;},'cxZwE':function(_0x25da58,_0x5759a0){return _0x25da58>_0x5759a0;},'ggwyK':function(_0x2f03ba,_0x563c14){return _0x2f03ba===_0x563c14;}};if(!_0x2dacef||_0x179830[_0x34e56e(0x121)](Object['keys'](_0x2dacef)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0xb21558=[],_0x2cc096={};for(const [_0x4fabd5,_0x59b052]of Object[_0x34e56e(0x10f)](_0x2dacef)){const {lookupTable:_0x1d112f,lookupColumn:_0x5ed723,lookupIdColumn:_0x5becd7,required:_0x10b1b4}=_0x59b052,_0x526ac0=this[_0x34e56e(0x126)](_0x235826,_0x4fabd5),_0x3513db=await this[_0x34e56e(0xfb)](_0x1d112f,_0x5ed723,_0x5becd7),_0x5898f1=[],_0x43cf39=[];_0x526ac0[_0x34e56e(0x10b)](_0x3ab3b2=>{const _0x522fce=_0x34e56e,_0x21c0a2=this['resolveLookupValue'](_0x3ab3b2,_0x3513db);_0x21c0a2!==null?_0x43cf39['push'](_0x3ab3b2):_0x5898f1[_0x522fce(0xf6)](_0x3ab3b2);});if(_0x179830['cxZwE'](_0x5898f1[_0x34e56e(0x106)],0x0)&&_0x10b1b4){_0xb21558['push']({'field':_0x4fabd5,'lookupTable':_0x1d112f,'invalidValues':_0x5898f1,'message':_0x5898f1[_0x34e56e(0x106)]+_0x34e56e(0x11b)+_0x1d112f});const _0x40c890=[];_0x3513db['forEach']((_0xa57e16,_0x2d9915)=>{if(_0x179830['zJRhp'](_0x2d9915,_0x2d9915['toLowerCase']()))return;_0x40c890['push'](_0x2d9915);}),_0x2cc096[_0x4fabd5]={'invalidValues':_0x5898f1,'availableValues':_0x40c890[_0x34e56e(0x104)](0x0,0x32)};}}return{'valid':_0x179830['ggwyK'](_0xb21558['length'],0x0),'errors':_0xb21558,'suggestions':_0x2cc096};}}module[a0_0x5f1e09(0x113)]=new LookupResolver();
1
+ function a0_0x529a(){const _0x3ab35a=['Dg9mB3DLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJe4ndK3mLLHr3LtqG','ChjVy2vZC0XVB2T1CezPzwXKCW','z2v0rgLZDgLUy3rwywX1zxm','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtbNsKTODgm','zgvIDwC','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BuP1uxe','mtyYnJK3mMDzD3PuDG','Dg9vChbLCKnHC2u','BgvUz3rO','nZiYodiWmhbKzKvtBq','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','AgfZ','zw50CMLLCW','uM9Rse8','seTvuuW','ChvZAa','z2v0','nZa1mti5nMzrsvHUsW','ndqWndKWm0HYDevdrG','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','DhjPBq','tg9VA3vWihrHyMXLigXVywrLzdOG','sgTLtxe','zeDAC2S','ywrK','nJmZnJCZnvbNtuDuCW','mtq5ntCWBwnLzhHr','z2rOuge','DMfSAwrHDgvmB29RDxbwywX1zxm','zxHWB3j0CW','rwDQC2u','BwfW','zxHLy3v0zvf1zxj5','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','zxjYB3i','B3jHy2XL','C2v0','rgjkzMq','Cg9ZDgDYzxnXBa'];a0_0x529a=function(){return _0x3ab35a;};return a0_0x529a();}function a0_0x8997(_0x15d2fa,_0x2d8605){_0x15d2fa=_0x15d2fa-0xca;const _0x529a34=a0_0x529a();let _0x89979=_0x529a34[_0x15d2fa];if(a0_0x8997['yvNnqm']===undefined){var _0x2bba24=function(_0x83ff16){const _0x3be810='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd3aed9='',_0x347c75='';for(let _0x5817cd=0x0,_0x5b6e25,_0x3d9245,_0x4cc145=0x0;_0x3d9245=_0x83ff16['charAt'](_0x4cc145++);~_0x3d9245&&(_0x5b6e25=_0x5817cd%0x4?_0x5b6e25*0x40+_0x3d9245:_0x3d9245,_0x5817cd++%0x4)?_0xd3aed9+=String['fromCharCode'](0xff&_0x5b6e25>>(-0x2*_0x5817cd&0x6)):0x0){_0x3d9245=_0x3be810['indexOf'](_0x3d9245);}for(let _0x15fa71=0x0,_0x4f649d=_0xd3aed9['length'];_0x15fa71<_0x4f649d;_0x15fa71++){_0x347c75+='%'+('00'+_0xd3aed9['charCodeAt'](_0x15fa71)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x347c75);};a0_0x8997['xmXJbW']=_0x2bba24,a0_0x8997['oRhzgK']={},a0_0x8997['yvNnqm']=!![];}const _0x33e9b9=_0x529a34[0x0],_0x1297d4=_0x15d2fa+_0x33e9b9,_0x172db2=a0_0x8997['oRhzgK'][_0x1297d4];return!_0x172db2?(_0x89979=a0_0x8997['xmXJbW'](_0x89979),a0_0x8997['oRhzgK'][_0x1297d4]=_0x89979):_0x89979=_0x172db2,_0x89979;}const a0_0x381436=a0_0x8997;(function(_0xb3f3c4,_0x36f064){const _0x3309a0=a0_0x8997,_0x54a2bf=_0xb3f3c4();while(!![]){try{const _0x1f9571=parseInt(_0x3309a0(0xdd))/0x1*(-parseInt(_0x3309a0(0xca))/0x2)+parseInt(_0x3309a0(0xee))/0x3+parseInt(_0x3309a0(0xd9))/0x4+parseInt(_0x3309a0(0xf8))/0x5+parseInt(_0x3309a0(0xe1))/0x6+-parseInt(_0x3309a0(0xed))/0x7+-parseInt(_0x3309a0(0xe4))/0x8;if(_0x1f9571===_0x36f064)break;else _0x54a2bf['push'](_0x54a2bf['shift']());}catch(_0x4868a8){_0x54a2bf['push'](_0x54a2bf['shift']());}}}(a0_0x529a,0xda58e));const dbType=(process['env']['DB_TYPE']||a0_0x381436(0xd6))['toLowerCase']();let executeQuery;if(dbType===a0_0x381436(0xd3)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x4a7838,_0x1902e9)=>oracleDb['executeQuery'](_0x4a7838,_0x1902e9);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x381436(0xd1));executeQuery=(_0x39fed2,_0x538def)=>mysqlDb['executeQuery'](_0x39fed2,_0x538def);}else executeQuery=require('../../core/utils/db')[a0_0x381436(0xd0)];}const {logger}=require(a0_0x381436(0xf2));class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x445d6e=a0_0x381436;this[_0x445d6e(0xf1)]['clear'](),logger[_0x445d6e(0xde)]({'event':'lookup_cache_cleared'},_0x445d6e(0xf0));}async['loadLookupTable'](_0x60c66c,_0x38f748,_0x2a5817){const _0x35dbd6=a0_0x381436,_0x1d814f={'dGZsk':function(_0x2588b3,_0x4fd749){return _0x2588b3!==_0x4fd749;}},_0x429f00=_0x60c66c+':'+_0x38f748+':'+_0x2a5817;if(this['lookupCache']['has'](_0x429f00))return this['lookupCache'][_0x35dbd6(0xec)](_0x429f00);try{const _0x3ae577=_0x35dbd6(0xef)+_0x2a5817+',\x20'+_0x38f748+'\x20FROM\x20'+_0x60c66c,_0x3ea2d4=await executeQuery(_0x3ae577),_0x7b1d79=new Map();return _0x3ea2d4['forEach'](_0x668fee=>{const _0x34974b=_0x35dbd6,_0x216d9e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x38f748],undefined)?_0x668fee[_0x38f748]:_0x668fee[_0x38f748[_0x34974b(0xe2)]()],_0x2ada3e=_0x1d814f[_0x34974b(0xf6)](_0x668fee[_0x2a5817],undefined)?_0x668fee[_0x2a5817]:_0x668fee[_0x2a5817['toUpperCase']()];_0x1d814f['dGZsk'](_0x216d9e,null)&&_0x1d814f[_0x34974b(0xf6)](_0x216d9e,undefined)&&(_0x7b1d79['set'](String(_0x216d9e)['toLowerCase']()[_0x34974b(0xf3)](),_0x2ada3e),_0x7b1d79['set'](String(_0x216d9e)[_0x34974b(0xf3)](),_0x2ada3e));}),this['lookupCache'][_0x35dbd6(0xd4)](_0x429f00,_0x7b1d79),logger['info']({'event':'lookup_table_loaded','table':_0x60c66c,'column':_0x38f748,'count':_0x3ea2d4['length']},_0x35dbd6(0xf4)+_0x60c66c),_0x7b1d79;}catch(_0x2897a7){logger[_0x35dbd6(0xd2)]({'event':_0x35dbd6(0xdf),'table':_0x60c66c,'error':_0x2897a7['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x60c66c);throw _0x2897a7;}}[a0_0x381436(0xe5)](_0x4daa3c,_0xae7ff4){const _0x4196e5=a0_0x381436,_0x4aeeaf={'cjSms':function(_0x4b43e8,_0x1b5dc5){return _0x4b43e8===_0x1b5dc5;},'mJuQq':function(_0x2ee6e2,_0x2c51ad){return _0x2ee6e2===_0x2c51ad;}};if(_0x4daa3c===null||_0x4aeeaf['cjSms'](_0x4daa3c,undefined)||_0x4aeeaf[_0x4196e5(0xe0)](_0x4daa3c,''))return null;const _0x1d0625=String(_0x4daa3c)['trim']();if(_0xae7ff4['has'](_0x1d0625))return _0xae7ff4['get'](_0x1d0625);const _0x1430ef=_0x1d0625[_0x4196e5(0xd7)]();if(_0xae7ff4['has'](_0x1430ef))return _0xae7ff4[_0x4196e5(0xec)](_0x1430ef);return null;}async[a0_0x381436(0xda)](_0x55f49c,_0x500b14){const _0x264fca=a0_0x381436,_0x7e433d={'HkeMq':function(_0x2c748e,_0x230e3d){return _0x2c748e===_0x230e3d;},'ZOiuI':function(_0x495f98,_0x528fd5){return _0x495f98===_0x528fd5;},'Egjse':function(_0x22482a,_0x5eba76){return _0x22482a!==_0x5eba76;},'DbJfd':'lookup_fields_processed','HKUQL':_0x264fca(0xdc)};if(!_0x500b14||_0x7e433d[_0x264fca(0xf5)](Object[_0x264fca(0xe6)](_0x500b14)[_0x264fca(0xe3)],0x0))return{'processedRows':_0x55f49c,'errors':[]};const _0x16100=[],_0x4cf36e=new Map();for(const [_0x230a00,_0x3f3d4f]of Object[_0x264fca(0xe8)](_0x500b14)){const {lookupTable:_0x4c3ee9,lookupColumn:_0xb5ba87,lookupIdColumn:_0x149ce7}=_0x3f3d4f,_0x270064=_0x4c3ee9+':'+_0xb5ba87+':'+_0x149ce7;if(!_0x4cf36e[_0x264fca(0xe7)](_0x270064)){const _0xee68ef=await this['loadLookupTable'](_0x4c3ee9,_0xb5ba87,_0x149ce7);_0x4cf36e['set'](_0x270064,_0xee68ef);}}const _0x133dd6=_0x55f49c[_0x264fca(0xcf)]((_0x538089,_0x3ceb1b)=>{const _0x5909f8=_0x264fca,_0x2b6510={..._0x538089};for(const [_0x52a288,_0x3b24d8]of Object[_0x5909f8(0xe8)](_0x500b14)){const {lookupTable:_0x2d581b,lookupColumn:_0x22ebe0,lookupIdColumn:_0x2f1a54,targetField:_0x5d7f47,required:_0x271def}=_0x3b24d8,_0x5bc125=_0x2d581b+':'+_0x22ebe0+':'+_0x2f1a54,_0xb22465=_0x4cf36e['get'](_0x5bc125),_0x3044f5=_0x538089[_0x52a288];if((_0x7e433d['HkeMq'](_0x3044f5,null)||_0x7e433d['ZOiuI'](_0x3044f5,undefined)||_0x3044f5==='')&&!_0x271def){_0x2b6510[_0x5d7f47]=null;continue;}const _0x4e7867=this['resolveLookupValue'](_0x3044f5,_0xb22465);_0x7e433d[_0x5909f8(0xce)](_0x4e7867,null)?_0x2b6510[_0x5d7f47]=_0x4e7867:(_0x271def&&_0x16100[_0x5909f8(0xeb)]({'rowIndex':_0x3ceb1b,'field':_0x52a288,'value':_0x3044f5,'targetField':_0x5d7f47,'lookupTable':_0x2d581b,'message':'Value\x20\x22'+_0x3044f5+'\x22\x20not\x20found\x20in\x20'+_0x2d581b}),_0x2b6510[_0x5d7f47]=null);}return _0x2b6510;});return logger['info']({'event':_0x7e433d[_0x264fca(0xd5)],'totalRows':_0x55f49c[_0x264fca(0xe3)],'errorCount':_0x16100[_0x264fca(0xe3)],'lookupFieldCount':Object['keys'](_0x500b14)['length']},_0x7e433d[_0x264fca(0xea)]),{'processedRows':_0x133dd6,'errors':_0x16100};}[a0_0x381436(0xdb)](_0x5b3297,_0x1355c7){const _0x569d31={'RokHO':function(_0x1ffb1a,_0x388c5f){return _0x1ffb1a!==_0x388c5f;}},_0x3bd5ad=new Set();return _0x5b3297['forEach'](_0x2b03cd=>{const _0x488f20=a0_0x8997,_0x5c9039=_0x2b03cd[_0x1355c7];_0x569d31[_0x488f20(0xe9)](_0x5c9039,null)&&_0x5c9039!==undefined&&_0x5c9039!==''&&_0x3bd5ad[_0x488f20(0xf7)](String(_0x5c9039)[_0x488f20(0xf3)]());}),Array['from'](_0x3bd5ad);}async[a0_0x381436(0xcc)](_0xdbc28,_0x28fb8f){const _0x2a54b6=a0_0x381436,_0x49d8a5={'gdhPa':function(_0x1b1734,_0x156e83){return _0x1b1734!==_0x156e83;},'DnFUD':function(_0x5a6808,_0x568b1d){return _0x5a6808===_0x568b1d;}};if(!_0x28fb8f||_0x49d8a5['DnFUD'](Object['keys'](_0x28fb8f)[_0x2a54b6(0xe3)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x31ed50=[],_0x264cfa={};for(const [_0x58e898,_0x383306]of Object['entries'](_0x28fb8f)){const {lookupTable:_0xc3166a,lookupColumn:_0x4273b7,lookupIdColumn:_0x1f2119,required:_0x1be197}=_0x383306,_0x59883c=this[_0x2a54b6(0xdb)](_0xdbc28,_0x58e898),_0x15da46=await this['loadLookupTable'](_0xc3166a,_0x4273b7,_0x1f2119),_0x574faf=[],_0x3ab479=[];_0x59883c['forEach'](_0x292915=>{const _0x427fa3=_0x2a54b6,_0x565b10=this[_0x427fa3(0xe5)](_0x292915,_0x15da46);_0x49d8a5[_0x427fa3(0xcb)](_0x565b10,null)?_0x3ab479[_0x427fa3(0xeb)](_0x292915):_0x574faf['push'](_0x292915);});if(_0x574faf[_0x2a54b6(0xe3)]>0x0&&_0x1be197){_0x31ed50[_0x2a54b6(0xeb)]({'field':_0x58e898,'lookupTable':_0xc3166a,'invalidValues':_0x574faf,'message':_0x574faf[_0x2a54b6(0xe3)]+_0x2a54b6(0xd8)+_0xc3166a});const _0x4f0942=[];_0x15da46['forEach']((_0x51c423,_0x5dc1e1)=>{const _0x4f47e7=_0x2a54b6;if(_0x5dc1e1===_0x5dc1e1[_0x4f47e7(0xd7)]())return;_0x4f0942[_0x4f47e7(0xeb)](_0x5dc1e1);}),_0x264cfa[_0x58e898]={'invalidValues':_0x574faf,'availableValues':_0x4f0942['slice'](0x0,0x32)};}}return{'valid':_0x31ed50['length']===0x0,'errors':_0x31ed50,'suggestions':_0x264cfa};}}module[a0_0x381436(0xcd)]=new LookupResolver();