@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_0x18f32a=a0_0x3293;(function(_0x16f109,_0x2321c5){const _0x4f1ec5=a0_0x3293,_0x5ef5f5=_0x16f109();while(!![]){try{const _0x3ccae2=-parseInt(_0x4f1ec5(0x1e6))/0x1+-parseInt(_0x4f1ec5(0x1e8))/0x2+parseInt(_0x4f1ec5(0x1ed))/0x3*(parseInt(_0x4f1ec5(0x1e1))/0x4)+-parseInt(_0x4f1ec5(0x1ee))/0x5+-parseInt(_0x4f1ec5(0x1f5))/0x6+-parseInt(_0x4f1ec5(0x1f4))/0x7*(-parseInt(_0x4f1ec5(0x201))/0x8)+parseInt(_0x4f1ec5(0x1de))/0x9*(parseInt(_0x4f1ec5(0x1f3))/0xa);if(_0x3ccae2===_0x2321c5)break;else _0x5ef5f5['push'](_0x5ef5f5['shift']());}catch(_0x2bc999){_0x5ef5f5['push'](_0x5ef5f5['shift']());}}}(a0_0x27c1,0xc3ea9));function a0_0x27c1(){const _0x4fc737=['DxbSB2fKrgLY','mJGYnJLvrNDtzhe','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','EKLdzw0','ngjetvz4Aq','z2v0u3rVCMfNzq','zxHPC3rZu3LUyW','x3vWBg9HzerPCG','lNHSCW','odeYodm3yvbWDLjg','zMLSzq','nZq1nZa2sxH6z0H3','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vvbmt0fex0rjuG','Bwf4rMLSzvnPEMu','B01kvMu','mJa3nJy2m3bmu1btua','nZyWnJe1mhLSC1bpwG','zunPCvm','zxH0BMfTzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKx2HHBMrSzxjFAw5PDa','nJaZmgPJsLHAsG','mZG2ntmZvxLbAfvT','mZa3nti3mgrVtMvmyW','Aw5MBW','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','qMD6sxm','lI9SB2DNzxi','BwTKAxjtEw5J','zgvSzxrLrMLSzq','zw52','BxvSDgvY','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','BM93','mJa4sw9WBMDn','Dw5SAw5R','Aw5JBhvKzxm','s0P1D2u','zgvMyxvSDa','zxjYB3i'];a0_0x27c1=function(){return _0x4fc737;};return a0_0x27c1();}const multer=require(a0_0x18f32a(0x1fe)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x18f32a(0x1fa));function a0_0x3293(_0x3cce7d,_0x316961){_0x3cce7d=_0x3cce7d-0x1d8;const _0x27c114=a0_0x27c1();let _0x32936e=_0x27c114[_0x3cce7d];if(a0_0x3293['OVyopb']===undefined){var _0x20a374=function(_0x5cb9ac){const _0x117a6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5285e2='',_0x2e2ed9='';for(let _0x37ad44=0x0,_0x39f9ab,_0x5eb932,_0x44d892=0x0;_0x5eb932=_0x5cb9ac['charAt'](_0x44d892++);~_0x5eb932&&(_0x39f9ab=_0x37ad44%0x4?_0x39f9ab*0x40+_0x5eb932:_0x5eb932,_0x37ad44++%0x4)?_0x5285e2+=String['fromCharCode'](0xff&_0x39f9ab>>(-0x2*_0x37ad44&0x6)):0x0){_0x5eb932=_0x117a6c['indexOf'](_0x5eb932);}for(let _0x3d973e=0x0,_0x425842=_0x5285e2['length'];_0x3d973e<_0x425842;_0x3d973e++){_0x2e2ed9+='%'+('00'+_0x5285e2['charCodeAt'](_0x3d973e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e2ed9);};a0_0x3293['WOAkCf']=_0x20a374,a0_0x3293['oRDpZP']={},a0_0x3293['OVyopb']=!![];}const _0xb5ebfc=_0x27c114[0x0],_0x5ebd9b=_0x3cce7d+_0xb5ebfc,_0xaf30c2=a0_0x3293['oRDpZP'][_0x5ebd9b];return!_0xaf30c2?(_0x32936e=a0_0x3293['WOAkCf'](_0x32936e),a0_0x3293['oRDpZP'][_0x5ebd9b]=_0x32936e):_0x32936e=_0xaf30c2,_0x32936e;}class UploadHandler{constructor(){const _0x30065a=a0_0x18f32a,_0x531e33={'BDCkj':function(_0x3dc78a,_0x588470){return _0x3dc78a*_0x588470;}};this[_0x30065a(0x1e4)]=null,this[_0x30065a(0x1eb)]=_0x531e33['BDCkj'](0xa,0x400)*0x400;}get['uploadDir'](){const _0x1f337e=a0_0x18f32a,_0x36406b={'gwSEu':_0x1f337e(0x1db),'QqGTm':'upload_handler_init_error'};if(!this['_uploadDir']){const _0x34b1d1=process[_0x1f337e(0x1fd)][_0x1f337e(0x1f1)]||_0x36406b['gwSEu'];this[_0x1f337e(0x1e4)]=process['env'][_0x1f337e(0x1ea)]||path['join'](__dirname,'../../temp/uploads/'+_0x34b1d1);try{!fsSync['existsSync'](this[_0x1f337e(0x1e4)])&&fsSync[_0x1f337e(0x1fb)](this['_uploadDir'],{'recursive':!![]}),logger[_0x1f337e(0x1f6)]({'event':_0x1f337e(0x1f2),'dir':this['_uploadDir']},_0x1f337e(0x1f8));}catch(_0x5cd32e){logger['error']({'event':_0x36406b['QqGTm'],'error':_0x5cd32e['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x1f337e(0x1e4)];}[a0_0x18f32a(0x1e2)](){return multer['diskStorage']({'destination':(_0x1a0fd0,_0x49e5b3,_0x312ae5)=>{const _0x28553d=a0_0x3293;!fsSync[_0x28553d(0x1e3)](this[_0x28553d(0x1dd)])&&fsSync['mkdirSync'](this[_0x28553d(0x1dd)],{'recursive':!![]}),_0x312ae5(null,this['uploadDir']);},'filename':(_0x59f1f1,_0x4d6ee8,_0x2bcdeb)=>{const _0x5e9680=a0_0x3293,_0x31a539=crypto['randomBytes'](0x8)['toString']('hex'),_0x12e422=Date[_0x5e9680(0x200)](),_0x28ea5f=path[_0x5e9680(0x1f0)](_0x4d6ee8['originalname']);_0x2bcdeb(null,'upload-'+_0x12e422+'-'+_0x31a539+_0x28ea5f);}});}['getUploadMiddleware'](){const _0x26488a=a0_0x18f32a,_0x36f199={'eCiqS':_0x26488a(0x1df),'oMJVe':'application/vnd.ms-excel','auZjg':'.xlsx','BgzIs':function(_0x165fdf,_0x1d105a,_0x3d1e04){return _0x165fdf(_0x1d105a,_0x3d1e04);},'zICem':function(_0x1c1f7a,_0x33f8d3){return _0x1c1f7a(_0x33f8d3);}};return _0x36f199[_0x26488a(0x1e0)](multer,{'storage':this[_0x26488a(0x1e2)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x16f889,_0x26945c,_0x420a78)=>{const _0x571427=_0x26488a,_0x5da72b=[_0x36f199[_0x571427(0x1ef)],_0x36f199[_0x571427(0x1ec)]],_0x285737=[_0x36f199['auZjg'],_0x571427(0x1e5)],_0x763574=path['extname'](_0x26945c['originalname'])['toLowerCase']();_0x5da72b[_0x571427(0x1d9)](_0x26945c['mimetype'])&&_0x285737[_0x571427(0x1d9)](_0x763574)?_0x36f199[_0x571427(0x1f9)](_0x420a78,null,!![]):_0x420a78(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0x26488a(0x1e7));}async[a0_0x18f32a(0x1fc)](_0x55dbca){const _0x427bc3=a0_0x18f32a,_0x4ceff7={'KJuwe':_0x427bc3(0x1ff),'DlLFf':_0x427bc3(0x1f7)};try{await fs[_0x427bc3(0x1d8)](_0x55dbca),logger[_0x427bc3(0x1f6)]({'event':'upload_file_deleted','filePath':_0x55dbca},_0x4ceff7[_0x427bc3(0x1da)]);}catch(_0x3dbcd5){logger[_0x427bc3(0x1dc)]({'event':_0x4ceff7['DlLFf'],'filePath':_0x55dbca,'error':_0x3dbcd5['message']},_0x427bc3(0x1e9));}}}module['exports']=new UploadHandler();
1
+ const a0_0x537c35=a0_0x490d;(function(_0xb7f5b9,_0x16a4a9){const _0x3b6b1d=a0_0x490d,_0xe0dbc2=_0xb7f5b9();while(!![]){try{const _0x21ac73=parseInt(_0x3b6b1d(0x12d))/0x1*(parseInt(_0x3b6b1d(0x11d))/0x2)+-parseInt(_0x3b6b1d(0x105))/0x3+-parseInt(_0x3b6b1d(0x108))/0x4+parseInt(_0x3b6b1d(0x10f))/0x5*(-parseInt(_0x3b6b1d(0x12a))/0x6)+-parseInt(_0x3b6b1d(0x103))/0x7+parseInt(_0x3b6b1d(0x118))/0x8*(parseInt(_0x3b6b1d(0x10c))/0x9)+-parseInt(_0x3b6b1d(0x125))/0xa*(-parseInt(_0x3b6b1d(0x111))/0xb);if(_0x21ac73===_0x16a4a9)break;else _0xe0dbc2['push'](_0xe0dbc2['shift']());}catch(_0x59adc3){_0xe0dbc2['push'](_0xe0dbc2['shift']());}}}(a0_0x4628,0x4799d));function a0_0x490d(_0x263f4f,_0x3b4875){_0x263f4f=_0x263f4f-0x100;const _0x462834=a0_0x4628();let _0x490ddf=_0x462834[_0x263f4f];if(a0_0x490d['KqMopG']===undefined){var _0xfdcabd=function(_0x3ff5f9){const _0x160142='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4171e6='',_0x1af20c='';for(let _0x4d7448=0x0,_0x19d536,_0x2f6e4b,_0x32af51=0x0;_0x2f6e4b=_0x3ff5f9['charAt'](_0x32af51++);~_0x2f6e4b&&(_0x19d536=_0x4d7448%0x4?_0x19d536*0x40+_0x2f6e4b:_0x2f6e4b,_0x4d7448++%0x4)?_0x4171e6+=String['fromCharCode'](0xff&_0x19d536>>(-0x2*_0x4d7448&0x6)):0x0){_0x2f6e4b=_0x160142['indexOf'](_0x2f6e4b);}for(let _0x211fbb=0x0,_0x1a57a0=_0x4171e6['length'];_0x211fbb<_0x1a57a0;_0x211fbb++){_0x1af20c+='%'+('00'+_0x4171e6['charCodeAt'](_0x211fbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1af20c);};a0_0x490d['OeVDYz']=_0xfdcabd,a0_0x490d['tiyJZn']={},a0_0x490d['KqMopG']=!![];}const _0x1bf760=_0x462834[0x0],_0x39ceb1=_0x263f4f+_0x1bf760,_0x5b1763=a0_0x490d['tiyJZn'][_0x39ceb1];return!_0x5b1763?(_0x490ddf=a0_0x490d['OeVDYz'](_0x490ddf),a0_0x490d['tiyJZn'][_0x39ceb1]=_0x490ddf):_0x490ddf=_0x5b1763,_0x490ddf;}const multer=require('multer'),path=require(a0_0x537c35(0x113)),crypto=require(a0_0x537c35(0x10d)),fs=require('fs')[a0_0x537c35(0x114)],fsSync=require('fs'),{logger}=require(a0_0x537c35(0x11e));class UploadHandler{constructor(){const _0x2cce1d=a0_0x537c35,_0x52a468={'PPEds':function(_0x17b39d,_0x29083e){return _0x17b39d*_0x29083e;}};this[_0x2cce1d(0x11c)]=null,this['maxFileSize']=_0x52a468[_0x2cce1d(0x12b)](0xa,0x400)*0x400;}get[a0_0x537c35(0x116)](){const _0x327911=a0_0x537c35,_0xf4682e={'LRDjg':_0x327911(0x12c),'cOZiG':'upload_handler_init','OjauN':_0x327911(0x121)};if(!this['_uploadDir']){const _0x424c85=process['env'][_0x327911(0x109)]||_0xf4682e['LRDjg'];this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x327911(0x112)](__dirname,_0x327911(0x110)+_0x424c85);try{!fsSync[_0x327911(0x120)](this['_uploadDir'])&&fsSync[_0x327911(0x11b)](this[_0x327911(0x11c)],{'recursive':!![]}),logger[_0x327911(0x11a)]({'event':_0xf4682e[_0x327911(0x104)],'dir':this[_0x327911(0x11c)]},_0xf4682e[_0x327911(0x129)]);}catch(_0x403e46){logger['error']({'event':_0x327911(0x119),'error':_0x403e46['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x327911(0x11c)];}['getStorage'](){const _0x16bdaf=a0_0x537c35;return multer[_0x16bdaf(0x122)]({'destination':(_0x5b0513,_0x1bbd92,_0x496e3e)=>{const _0x562e12=_0x16bdaf;!fsSync[_0x562e12(0x120)](this['uploadDir'])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0x496e3e(null,this['uploadDir']);},'filename':(_0x424207,_0xb6f4d2,_0x35bbe4)=>{const _0x59aed2=_0x16bdaf,_0x288cc9=crypto[_0x59aed2(0x100)](0x8)['toString']('hex'),_0x35183c=Date[_0x59aed2(0x102)](),_0x5733ea=path[_0x59aed2(0x10b)](_0xb6f4d2['originalname']);_0x35bbe4(null,_0x59aed2(0x123)+_0x35183c+'-'+_0x288cc9+_0x5733ea);}});}['getUploadMiddleware'](){const _0x38f7e1=a0_0x537c35,_0x476ca0={'zTiVy':_0x38f7e1(0x10a),'EnTZP':_0x38f7e1(0x124),'vCegf':function(_0x43c2ae,_0x4cd319){return _0x43c2ae(_0x4cd319);}};return multer({'storage':this[_0x38f7e1(0x115)](),'limits':{'fileSize':this[_0x38f7e1(0x117)],'files':0x1},'fileFilter':(_0x258f71,_0x29985b,_0x464fe3)=>{const _0x2ac248=_0x38f7e1,_0x2d8906=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x476ca0['zTiVy']],_0x267c4c=[_0x476ca0['EnTZP'],'.xls'],_0x2269b2=path[_0x2ac248(0x10b)](_0x29985b['originalname'])[_0x2ac248(0x10e)]();_0x2d8906[_0x2ac248(0x127)](_0x29985b['mimetype'])&&_0x267c4c['includes'](_0x2269b2)?_0x464fe3(null,!![]):_0x476ca0[_0x2ac248(0x11f)](_0x464fe3,new Error(_0x2ac248(0x107)));}})[_0x38f7e1(0x106)](_0x38f7e1(0x101));}async[a0_0x537c35(0x128)](_0x1af9bd){const _0x497c95=a0_0x537c35,_0x1b72e2={'DwGTK':'Uploaded\x20file\x20deleted','QzGnd':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs[_0x497c95(0x126)](_0x1af9bd),logger[_0x497c95(0x11a)]({'event':'upload_file_deleted','filePath':_0x1af9bd},_0x1b72e2['DwGTK']);}catch(_0x5c9717){logger['error']({'event':'upload_file_delete_error','filePath':_0x1af9bd,'error':_0x5c9717['message']},_0x1b72e2['QzGnd']);}}}function a0_0x4628(){const _0x431c4e=['C2LUz2XL','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','ndyYmZC2zMfZveDH','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','zxH0BMfTzq','nty2otu1y0rQC3zj','y3j5ChrV','Dg9mB3DLCKnHC2u','nZvXB0LxEey','lI4VlI4VDgvTCc91CgXVywrZlW','mJKXmJKZmKHnCNbIBW','AM9PBG','Cgf0Aa','ChjVBwLZzxm','z2v0u3rVCMfNzq','DxbSB2fKrgLY','Bwf4rMLSzvnPEMu','ntzvs1jpz3e','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Aw5MBW','BwTKAxjtEw5J','x3vWBg9HzerPCG','nNDfuNnyAW','lI9SB2DNzxi','DKnLz2y','zxHPC3rZu3LUyW','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','zgLZA1n0B3jHz2u','DxbSB2fKlq','lNHSC3G','mZbxA2jrvMC','Dw5SAw5R','Aw5JBhvKzxm','zgvSzxrLrMLSzq','t2PHDu4','mtu1mZq2qKX2AxHz','ufbfzhm','zgvMyxvSDa','mJK4mu55vMXJyG','CMfUzg9TqNL0zxm','zMLSzq','BM93','mta1mtK2n1PhEgTLua','y09AAuC','odKWndGXq0XNEw1U'];a0_0x4628=function(){return _0x431c4e;};return a0_0x4628();}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- function a0_0x2bd7(_0x180ff2,_0x1ff408){_0x180ff2=_0x180ff2-0xa1;const _0x542b17=a0_0x542b();let _0x2bd7b4=_0x542b17[_0x180ff2];if(a0_0x2bd7['kckBbU']===undefined){var _0x262a30=function(_0x4e79a2){const _0x2e1605='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x188063='',_0x3f976f='';for(let _0x56c506=0x0,_0x17d4a,_0xeff047,_0x296a7b=0x0;_0xeff047=_0x4e79a2['charAt'](_0x296a7b++);~_0xeff047&&(_0x17d4a=_0x56c506%0x4?_0x17d4a*0x40+_0xeff047:_0xeff047,_0x56c506++%0x4)?_0x188063+=String['fromCharCode'](0xff&_0x17d4a>>(-0x2*_0x56c506&0x6)):0x0){_0xeff047=_0x2e1605['indexOf'](_0xeff047);}for(let _0x9cf023=0x0,_0x3b4b77=_0x188063['length'];_0x9cf023<_0x3b4b77;_0x9cf023++){_0x3f976f+='%'+('00'+_0x188063['charCodeAt'](_0x9cf023)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f976f);};a0_0x2bd7['rBDoal']=_0x262a30,a0_0x2bd7['rOgqFr']={},a0_0x2bd7['kckBbU']=!![];}const _0x1f4dcf=_0x542b17[0x0],_0x25995d=_0x180ff2+_0x1f4dcf,_0x5a3723=a0_0x2bd7['rOgqFr'][_0x25995d];return!_0x5a3723?(_0x2bd7b4=a0_0x2bd7['rBDoal'](_0x2bd7b4),a0_0x2bd7['rOgqFr'][_0x25995d]=_0x2bd7b4):_0x2bd7b4=_0x5a3723,_0x2bd7b4;}const a0_0x2b2e90=a0_0x2bd7;(function(_0x536147,_0x9758a7){const _0x3dfa06=a0_0x2bd7,_0x4f038a=_0x536147();while(!![]){try{const _0x323ab1=-parseInt(_0x3dfa06(0xdf))/0x1+parseInt(_0x3dfa06(0xc7))/0x2*(-parseInt(_0x3dfa06(0x103))/0x3)+-parseInt(_0x3dfa06(0x105))/0x4*(parseInt(_0x3dfa06(0xa6))/0x5)+-parseInt(_0x3dfa06(0x107))/0x6*(-parseInt(_0x3dfa06(0xff))/0x7)+parseInt(_0x3dfa06(0xe0))/0x8+-parseInt(_0x3dfa06(0xb8))/0x9*(parseInt(_0x3dfa06(0xf6))/0xa)+parseInt(_0x3dfa06(0xd2))/0xb*(parseInt(_0x3dfa06(0xf1))/0xc);if(_0x323ab1===_0x9758a7)break;else _0x4f038a['push'](_0x4f038a['shift']());}catch(_0x5048a8){_0x4f038a['push'](_0x4f038a['shift']());}}}(a0_0x542b,0xbc831));const {logger}=require(a0_0x2b2e90(0xbd)),DB_TYPES={'POSTGRESQL':a0_0x2b2e90(0xcd),'MYSQL':a0_0x2b2e90(0xa4),'SQLSERVER':a0_0x2b2e90(0xf2),'ORACLE':a0_0x2b2e90(0xe2),'SQLITE':a0_0x2b2e90(0xe6)};class UpsertBuilder{[a0_0x2b2e90(0xb6)](){const _0x508205=a0_0x2b2e90,_0x265b32={'wXdHO':_0x508205(0xcd),'SXgoS':'invalid_db_type'},_0x33635f=(process['env']['DB_TYPE']||_0x265b32[_0x508205(0xc1)])['toLowerCase'](),_0x828fb7=Object[_0x508205(0xb9)](DB_TYPES);if(!_0x828fb7['includes'](_0x33635f))return logger['warn']({'event':_0x265b32[_0x508205(0xd7)],'provided':_0x33635f,'fallback':_0x265b32[_0x508205(0xc1)]},_0x508205(0xc5)+_0x33635f+_0x508205(0xa8)),DB_TYPES[_0x508205(0xdd)];return _0x33635f;}['formatDateValue'](_0x27c59f,_0x12ad44,_0x4ebe55=![]){const _0x2ca35d=a0_0x2b2e90,_0x1e91fa={'Wtswo':'NULL::DATE','bUbOl':_0x2ca35d(0xda)};if(_0x4ebe55)switch(_0x12ad44){case DB_TYPES['POSTGRESQL']:return _0x1e91fa[_0x2ca35d(0xef)];case DB_TYPES[_0x2ca35d(0xd8)]:return _0x1e91fa['bUbOl'];case DB_TYPES[_0x2ca35d(0xc6)]:return _0x1e91fa['bUbOl'];case DB_TYPES[_0x2ca35d(0xd3)]:return _0x1e91fa[_0x2ca35d(0xf5)];case DB_TYPES[_0x2ca35d(0xd5)]:return _0x1e91fa[_0x2ca35d(0xf5)];default:return _0x2ca35d(0x101);}switch(_0x12ad44){case DB_TYPES['POSTGRESQL']:return _0x27c59f+_0x2ca35d(0xbb);case DB_TYPES['MYSQL']:return _0x27c59f;case DB_TYPES['SQLITE']:return _0x27c59f;case DB_TYPES[_0x2ca35d(0xd3)]:return'CAST('+_0x27c59f+_0x2ca35d(0xe7);case DB_TYPES[_0x2ca35d(0xd5)]:return _0x2ca35d(0xce)+_0x27c59f+_0x2ca35d(0xba);default:return _0x27c59f+_0x2ca35d(0xbb);}}['formatBooleanValue'](_0x2f4af6,_0x4d243b,_0x1ea8f2=![]){const _0x4d3ac7=a0_0x2b2e90;if(_0x1ea8f2)switch(_0x4d243b){case DB_TYPES[_0x4d3ac7(0xdd)]:return _0x4d3ac7(0xca);default:return _0x4d3ac7(0xda);}switch(_0x4d243b){case DB_TYPES['POSTGRESQL']:return _0x2f4af6+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x2f4af6;case DB_TYPES[_0x4d3ac7(0xd8)]:return _0x2f4af6;case DB_TYPES[_0x4d3ac7(0xc6)]:return _0x2f4af6;case DB_TYPES['SQLSERVER']:return _0x4d3ac7(0xa7)+_0x2f4af6+'\x20AS\x20BIT)';default:return _0x2f4af6+_0x4d3ac7(0xbc);}}[a0_0x2b2e90(0xae)](_0x3991a6={}){const _0x8aef6d={'lnYyX':function(_0x5220a3,_0x1db229){return _0x5220a3===_0x1db229;},'IpKEK':'date','SQWbH':function(_0x3a90a9,_0x37cf12){return _0x3a90a9===_0x37cf12;},'UQPtr':'string','Jkbjs':function(_0x94088c,_0x491c1e){return _0x94088c===_0x491c1e;},'HNUQK':function(_0x39e2a5,_0x5904c4){return _0x39e2a5===_0x5904c4;},'VQbJI':function(_0x541f56,_0x18f7a1){return _0x541f56===_0x18f7a1;},'aIBOo':'boolean','pdgGW':function(_0x1d638c,_0x2ca014){return _0x1d638c(_0x2ca014);},'kpsIw':function(_0xd9186d,_0x4602c8){return _0xd9186d===_0x4602c8;}},_0x5ab36d=this['getDatabaseType']();return(_0x1d3b59,_0x34acf4)=>{const _0x1a91d4=a0_0x2bd7,_0x4470ff=_0x3991a6[_0x34acf4];if(_0x1d3b59===null||_0x8aef6d['lnYyX'](_0x1d3b59,undefined)){if(_0x4470ff&&_0x4470ff['type']===_0x8aef6d[_0x1a91d4(0xa3)])return this[_0x1a91d4(0x106)](null,_0x5ab36d,!![]);if(_0x4470ff&&_0x4470ff['type']==='boolean')return this[_0x1a91d4(0xe5)](null,_0x5ab36d,!![]);return _0x1a91d4(0xda);}if(_0x8aef6d['SQWbH'](typeof _0x1d3b59,_0x8aef6d[_0x1a91d4(0xab)])){const _0xefe5fb='\x27'+_0x1d3b59[_0x1a91d4(0xaf)](/'/g,'\x27\x27')+'\x27';if(_0x4470ff&&_0x8aef6d['Jkbjs'](_0x4470ff[_0x1a91d4(0xcc)],_0x8aef6d['IpKEK']))return this[_0x1a91d4(0x106)](_0xefe5fb,_0x5ab36d,![]);if(_0x4470ff&&_0x8aef6d[_0x1a91d4(0xc4)](_0x4470ff['type'],'boolean'))return this['formatBooleanValue'](_0xefe5fb,_0x5ab36d,![]);return _0xefe5fb;}if(_0x8aef6d['VQbJI'](typeof _0x1d3b59,_0x1a91d4(0xc9)))return _0x1d3b59;if(typeof _0x1d3b59===_0x8aef6d[_0x1a91d4(0x104)])return _0x1d3b59;const _0x22c89f='\x27'+_0x8aef6d[_0x1a91d4(0x100)](String,_0x1d3b59)[_0x1a91d4(0xaf)](/'/g,'\x27\x27')+'\x27';if(_0x4470ff&&_0x8aef6d[_0x1a91d4(0xed)](_0x4470ff[_0x1a91d4(0xcc)],_0x1a91d4(0xec)))return this[_0x1a91d4(0x106)](_0x22c89f,_0x5ab36d,![]);return _0x22c89f;};}[a0_0x2b2e90(0xfd)](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c={}){const _0x219e4d=a0_0x2b2e90,_0x560b14=this['getDatabaseType']();if(_0x560b14===DB_TYPES[_0x219e4d(0xd5)])return this['_buildBatchInsertOracle'](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c);return this[_0x219e4d(0xf9)](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c);}[a0_0x2b2e90(0xf9)](_0x672abb,_0xb0edf4,_0x34f827,_0x58f0cf={}){const _0x467922=a0_0x2b2e90,_0x3820a7={'iTJDS':function(_0x30166c,_0x521d4b){return _0x30166c===_0x521d4b;},'WDCtI':_0x467922(0xe4),'pzcor':'postgresql','vXqMx':_0x467922(0xc0)};if(_0x3820a7['iTJDS'](_0x672abb['length'],0x0))return{'query':null,'values':[]};const _0x339709=this['buildEscapeFunction'](_0x58f0cf),_0x47ca8c=_0x672abb[_0x467922(0xbf)](_0x50053f=>{const _0x2a3c6c=_0x467922,_0x3c3de6=_0x34f827[_0x2a3c6c(0xbf)](_0x326945=>_0x339709(_0x50053f[_0x326945],_0x326945));return'('+_0x3c3de6['join'](',\x20')+')';}),_0x52f4cc=_0x467922(0xcb)+_0xb0edf4+'\x20('+_0x34f827['join'](',\x20')+_0x467922(0x109)+_0x47ca8c[_0x467922(0x108)](_0x3820a7[_0x467922(0xa1)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_insert_built','tableName':_0xb0edf4,'rowCount':_0x672abb[_0x467922(0xa5)],'dbType':_0x3820a7['pzcor']},_0x3820a7['vXqMx']),{'query':_0x52f4cc,'values':[]};}['_buildBatchInsertOracle'](_0x5101f9,_0x3257d8,_0x4e322d,_0x46db50={}){const _0xd737dc=a0_0x2b2e90,_0xddb6ea={'rBvtJ':_0xd737dc(0xf8)};if(_0x5101f9['length']===0x0)return{'query':null,'values':[]};const _0x51eb0c=this['buildEscapeFunction'](_0x46db50),_0x12d027=_0x5101f9['map'](_0x3e0437=>{const _0x12b06d=_0xd737dc,_0x5dfdfb=_0x4e322d['map'](_0x4fa1f8=>_0x51eb0c(_0x3e0437[_0x4fa1f8],_0x4fa1f8));return _0x12b06d(0xf7)+_0x3257d8+'\x20('+_0x4e322d['join'](',\x20')+')\x20VALUES\x20('+_0x5dfdfb[_0x12b06d(0x108)](',\x20')+')';}),_0x11d0bd='INSERT\x20ALL\x0a'+_0x12d027[_0xd737dc(0x108)]('\x0a')+_0xd737dc(0x102);return logger['debug']({'event':'batch_insert_built','tableName':_0x3257d8,'rowCount':_0x5101f9['length'],'dbType':_0xd737dc(0xe2)},_0xddb6ea['rBvtJ']),{'query':_0x11d0bd,'values':[]};}['buildBatchUpdate'](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52={}){const _0x30311c=a0_0x2b2e90,_0x562631={'NMOQb':function(_0x1f1c16,_0x2d62c9){return _0x1f1c16===_0x2d62c9;}},_0x1c293b=this['getDatabaseType']();if(_0x562631[_0x30311c(0xdc)](_0x1c293b,DB_TYPES[_0x30311c(0xd5)]))return this['_buildBatchUpdateOracle'](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);if(_0x562631['NMOQb'](_0x1c293b,DB_TYPES['MYSQL']))return this[_0x30311c(0xb4)](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);return this[_0x30311c(0xad)](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);}['_buildBatchUpdatePostgres'](_0x22b88a,_0x576774,_0x1ea954,_0x39f54c,_0x25faca,_0x451140={}){const _0x15dd96=a0_0x2b2e90,_0x4d7c0b={'KYaiS':function(_0x40412e,_0x285b3e){return _0x40412e===_0x285b3e;},'odUGb':_0x15dd96(0xdb),'WioNA':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','LlQfo':'batch_update_built','uCGQO':'postgresql','JcWgB':_0x15dd96(0xb7)};if(_0x4d7c0b[_0x15dd96(0xee)](_0x22b88a['length'],0x0))return{'query':null,'values':[]};const _0x368fec=this['buildEscapeFunction'](_0x451140),_0x3dee76=_0x1ea954[_0x15dd96(0xe8)](_0x1a7d1f=>!_0x25faca[_0x15dd96(0xe1)](_0x1a7d1f)&&_0x1a7d1f!==_0x39f54c);if(_0x3dee76['length']===0x0)return logger[_0x15dd96(0xde)]({'event':_0x4d7c0b[_0x15dd96(0xaa)],'tableName':_0x576774},_0x4d7c0b[_0x15dd96(0xf3)]),{'query':null,'values':[]};const _0x2df435=_0x22b88a[_0x15dd96(0xbf)](_0x31742d=>{const _0x362be4=_0x15dd96,_0xe43ce4=[..._0x25faca,..._0x3dee76],_0x48f383=_0xe43ce4[_0x362be4(0xbf)](_0x2f360e=>_0x368fec(_0x31742d[_0x2f360e],_0x2f360e));return'('+_0x48f383[_0x362be4(0x108)](',\x20')+')';}),_0x529313=_0x3dee76['map'](_0x121707=>_0x121707+'\x20=\x20v.'+_0x121707)['join'](_0x15dd96(0xf4)),_0x2a379f=_0x25faca[_0x15dd96(0xbf)](_0x430818=>'t.'+_0x430818+'\x20=\x20v.'+_0x430818)[_0x15dd96(0x108)]('\x20AND\x20'),_0x2d2956='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x576774+_0x15dd96(0xfb)+_0x529313+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2df435['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x15dd96(0xa2)+[..._0x25faca,..._0x3dee76]['join'](',\x20')+_0x15dd96(0xa9)+_0x2a379f+_0x15dd96(0xb0);return logger[_0x15dd96(0xd0)]({'event':_0x4d7c0b[_0x15dd96(0xfe)],'tableName':_0x576774,'rowCount':_0x22b88a[_0x15dd96(0xa5)],'updateColumns':_0x3dee76[_0x15dd96(0xa5)],'dbType':_0x4d7c0b['uCGQO']},_0x4d7c0b['JcWgB']),{'query':_0x2d2956,'values':[]};}[a0_0x2b2e90(0xb5)](_0x2ca233,_0x4860e3,_0x32d524,_0x550f1b,_0x784477,_0x4c6d70={}){const _0x4cef31=a0_0x2b2e90,_0x3fbb1f={'WoLHx':function(_0x277abf,_0x15193e,_0x2ca918){return _0x277abf(_0x15193e,_0x2ca918);},'NEiyf':function(_0x3a2922,_0x13a0cf){return _0x3a2922===_0x13a0cf;},'hAXxT':function(_0x15d62e,_0x130ac9){return _0x15d62e===_0x130ac9;},'LGpXA':function(_0x3d4a55,_0x53de61){return _0x3d4a55===_0x53de61;},'luNdn':_0x4cef31(0xc3),'MWMQO':_0x4cef31(0xeb),'hcOdk':_0x4cef31(0xe2),'IvcLL':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x3fbb1f['hAXxT'](_0x2ca233[_0x4cef31(0xa5)],0x0))return{'query':null,'values':[]};const _0x4cb587=this['buildEscapeFunction'](_0x4c6d70),_0x5ad33e=_0x32d524['filter'](_0x56692e=>!_0x784477[_0x4cef31(0xe1)](_0x56692e)&&_0x56692e!==_0x550f1b);if(_0x3fbb1f[_0x4cef31(0xbe)](_0x5ad33e['length'],0x0))return logger[_0x4cef31(0xde)]({'event':_0x4cef31(0xdb),'tableName':_0x4860e3},_0x3fbb1f[_0x4cef31(0xc2)]),{'query':null,'values':[]};const _0x2a27e5=[..._0x784477,..._0x5ad33e],_0x1428d8=_0x2ca233['map']((_0x555f34,_0xa5356b)=>{const _0x58654d=_0x4cef31,_0x4436e4=_0x2a27e5[_0x58654d(0xbf)](_0xfb7e16=>{const _0x3c568a=_0x58654d,_0x4fd0e1=_0x3fbb1f[_0x3c568a(0xe9)](_0x4cb587,_0x555f34[_0xfb7e16],_0xfb7e16);return _0x3fbb1f[_0x3c568a(0xc8)](_0xa5356b,0x0)?_0x4fd0e1+'\x20AS\x20'+_0xfb7e16:_0x4fd0e1;});return _0x58654d(0xd4)+_0x4436e4[_0x58654d(0x108)](',\x20')+_0x58654d(0xb1);}),_0x138854=_0x5ad33e[_0x4cef31(0xbf)](_0x552544=>'t.'+_0x552544+'\x20=\x20v.'+_0x552544)[_0x4cef31(0x108)](_0x4cef31(0xf4)),_0x6fb923=_0x784477[_0x4cef31(0xbf)](_0xc7f734=>'t.'+_0xc7f734+'\x20=\x20v.'+_0xc7f734)['join']('\x20AND\x20'),_0x1a31af=_0x4cef31(0xb3)+_0x4860e3+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x1428d8[_0x4cef31(0x108)](_0x3fbb1f[_0x4cef31(0xea)])+_0x4cef31(0xd1)+_0x6fb923+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x138854+_0x4cef31(0xb0);return logger['debug']({'event':'batch_update_built','tableName':_0x4860e3,'rowCount':_0x2ca233['length'],'updateColumns':_0x5ad33e['length'],'dbType':_0x3fbb1f['hcOdk']},_0x3fbb1f['IvcLL']),{'query':_0x1a31af,'values':[]};}[a0_0x2b2e90(0xb4)](_0x230343,_0x56f7c0,_0x2c4b4e,_0x173de4,_0x4261df,_0x119b3d={}){const _0x5537ec=a0_0x2b2e90,_0x224ab1={'LjMuj':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','bHCYV':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','UcNtG':_0x5537ec(0xe3),'TdvBc':'batch_update_built','FkhkA':'mysql'};if(_0x230343[_0x5537ec(0xa5)]===0x0)return{'query':null,'values':[]};const _0x2d62ef=this['buildEscapeFunction'](_0x119b3d),_0x225c65=_0x2c4b4e[_0x5537ec(0xe8)](_0xd5c25=>!_0x4261df['includes'](_0xd5c25)&&_0xd5c25!==_0x173de4);if(_0x225c65['length']===0x0)return logger[_0x5537ec(0xde)]({'event':_0x5537ec(0xdb),'tableName':_0x56f7c0},_0x224ab1[_0x5537ec(0xfc)]),{'query':null,'values':[]};const _0x526359=[...new Set([..._0x4261df,..._0x225c65])],_0x16bf11=_0x230343[_0x5537ec(0xbf)](_0x2c61e4=>{const _0x2eea44=_0x5537ec,_0x57560b=_0x526359[_0x2eea44(0xbf)](_0x1aff66=>_0x2d62ef(_0x2c61e4[_0x1aff66],_0x1aff66));return'('+_0x57560b['join'](',\x20')+')';}),_0x158667=_0x225c65['map'](_0x1b1d1b=>_0x1b1d1b+_0x5537ec(0xd9)+_0x1b1d1b+')')['join'](_0x224ab1['bHCYV']),_0x2b356d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x56f7c0+'\x20('+_0x526359[_0x5537ec(0x108)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x16bf11['join'](_0x224ab1[_0x5537ec(0xfa)])+_0x5537ec(0xb2)+_0x158667+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x224ab1[_0x5537ec(0xf0)],'tableName':_0x56f7c0,'rowCount':_0x230343[_0x5537ec(0xa5)],'updateColumns':_0x225c65[_0x5537ec(0xa5)],'dbType':_0x224ab1[_0x5537ec(0xac)]},_0x5537ec(0xd6)),{'query':_0x2b356d,'values':[]};}[a0_0x2b2e90(0xcf)](_0x5d86b2,_0x42dc31=0x64){const _0x37010c=a0_0x2b2e90,_0x22af5a={'oCiyy':function(_0x3653de,_0x574e79){return _0x3653de<_0x574e79;},'NBiaC':function(_0xc5751,_0x5aea65){return _0xc5751+_0x5aea65;}},_0x3d2ff3=[];for(let _0x5a2c65=0x0;_0x22af5a['oCiyy'](_0x5a2c65,_0x5d86b2[_0x37010c(0xa5)]);_0x5a2c65+=_0x42dc31){_0x3d2ff3['push'](_0x5d86b2['slice'](_0x5a2c65,_0x22af5a['NBiaC'](_0x5a2c65,_0x42dc31)));}return _0x3d2ff3;}}function a0_0x542b(){const _0x5cbac5=['DMfSDwvZ','lcaNwvLzws1nts1ercCP','oJPeqvrf','oJPct09mrufo','lI9SB2DNzxi','teDWwee','BwfW','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','D1HKse8','Bhvozg4','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','se5vuuS','sw52ywXPzcbeqL9uwvbfoIa','u1fmsvrf','mte0mdu1nM1xyKfwtW','tKvPEwy','BNvTyMvY','tLvmtdO6qK9ptevbtG','cIaGicaGieLou0vsvcbjtLrpia','DhLWzq','Cg9ZDgDYzxnXBa','ve9FrefursG','y2H1BMTsB3DZ','zgvIDwC','cIaGicaGicKGDGOGicaGicbptIaO','mteZmJiYodLuqNn3reK','u1fmu0vsvKvs','icaGifnftevdvca','t1jbq0Xf','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','u1HNB1m','tvLtuuW','id0GvKfmvuvtka','tLvmta','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','tK1puwi','ue9tveDsrvnrta','D2fYBG','mtm3mdiYngXQAK1zEq','nZK0mZC2merjsvnnzG','Aw5JBhvKzxm','B3jHy2XL','laOGicaGicaGia','laOGicaGicaG','zM9YBwf0qM9VBgvHBLzHBhvL','C3fSAxrL','ieftierbveuP','zMLSDgvY','v29mshG','tvDnuu8','cIaGicbvtKLptIbbteWk','zgf0zq','A3bZsxC','s1LHAvm','v3rZD28','vgr2qMm','mZzKCMLewhe','C3fSC2vYDMvY','v2LVtKe','laOGicaGicaGica','yLvIt2W','mtmZmtCXndbbDvPAwwK','icbjtLrpia','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','vwnoDeC','ieftihqkicaGicaGu0vuia','tgPnDwO','yNvPBgrcyxrJAeLUC2vYDa','tgXrzM8','n3nlDMTQsa','CgrNr1C','tLvmtdO6refurq','cLnftevdvcaXiezst00Grfvbta','m1Lgt2jNtG','yuLct28','nJeWmde1nNHVvLPAqG','zM9YBwf0rgf0zvzHBhvL','odKZmte5ohP1CxfzCG','AM9PBG','kqOGicaGicbwquXvrvmG','v0rdDeK','cIaGicaGicKGqvmGDIG','sxblruS','BxLZCwW','BgvUz3rO','nu5lzxbwyq','q0ftvcG','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','kqOGicaGicbxsevsrsa','B2rvr2i','vvfqDhi','rMTOA0e','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','yNvPBgrfC2nHCgvgDw5JDgLVBG','CMvWBgfJzq','cIaGica','iezst00Grfvbta','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','cIaGicaGie1fuKDfieLove8G','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','z2v0rgf0ywjHC2vuExbL','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','ovnzyKz3wG'];a0_0x542b=function(){return _0x5cbac5;};return a0_0x542b();}module['exports']=new UpsertBuilder();
1
+ function a0_0xaf0b(_0x4a3267,_0x29a5d7){_0x4a3267=_0x4a3267-0x192;const _0x18097e=a0_0x1809();let _0xaf0bdd=_0x18097e[_0x4a3267];if(a0_0xaf0b['NhyHoR']===undefined){var _0x1c7f3d=function(_0x12aff4){const _0x512a89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x468747='',_0x1ca058='';for(let _0x2d0639=0x0,_0x326a3d,_0x3b16d7,_0x303254=0x0;_0x3b16d7=_0x12aff4['charAt'](_0x303254++);~_0x3b16d7&&(_0x326a3d=_0x2d0639%0x4?_0x326a3d*0x40+_0x3b16d7:_0x3b16d7,_0x2d0639++%0x4)?_0x468747+=String['fromCharCode'](0xff&_0x326a3d>>(-0x2*_0x2d0639&0x6)):0x0){_0x3b16d7=_0x512a89['indexOf'](_0x3b16d7);}for(let _0xd9f870=0x0,_0x402ba9=_0x468747['length'];_0xd9f870<_0x402ba9;_0xd9f870++){_0x1ca058+='%'+('00'+_0x468747['charCodeAt'](_0xd9f870)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ca058);};a0_0xaf0b['DzsiWL']=_0x1c7f3d,a0_0xaf0b['KEYTxQ']={},a0_0xaf0b['NhyHoR']=!![];}const _0x4afb5e=_0x18097e[0x0],_0x2f496e=_0x4a3267+_0x4afb5e,_0x297c2d=a0_0xaf0b['KEYTxQ'][_0x2f496e];return!_0x297c2d?(_0xaf0bdd=a0_0xaf0b['DzsiWL'](_0xaf0bdd),a0_0xaf0b['KEYTxQ'][_0x2f496e]=_0xaf0bdd):_0xaf0bdd=_0x297c2d,_0xaf0bdd;}const a0_0x752940=a0_0xaf0b;(function(_0x45f583,_0x201107){const _0x18fc6c=a0_0xaf0b,_0x5bcdf1=_0x45f583();while(!![]){try{const _0x136462=parseInt(_0x18fc6c(0x1b5))/0x1*(parseInt(_0x18fc6c(0x1ac))/0x2)+-parseInt(_0x18fc6c(0x1b8))/0x3*(-parseInt(_0x18fc6c(0x1e9))/0x4)+parseInt(_0x18fc6c(0x1bf))/0x5+parseInt(_0x18fc6c(0x1b4))/0x6*(-parseInt(_0x18fc6c(0x1df))/0x7)+-parseInt(_0x18fc6c(0x1af))/0x8+-parseInt(_0x18fc6c(0x1e4))/0x9+parseInt(_0x18fc6c(0x1bc))/0xa*(parseInt(_0x18fc6c(0x1c3))/0xb);if(_0x136462===_0x201107)break;else _0x5bcdf1['push'](_0x5bcdf1['shift']());}catch(_0x25a179){_0x5bcdf1['push'](_0x5bcdf1['shift']());}}}(a0_0x1809,0xd7472));const {logger}=require(a0_0x752940(0x1a9)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x752940(0x1f1),'ORACLE':a0_0x752940(0x1da),'SQLITE':a0_0x752940(0x1a7)};class UpsertBuilder{[a0_0x752940(0x1e5)](){const _0xed0128=a0_0x752940,_0x31aa4f={'DvMID':'invalid_db_type'},_0x7e61e2=(process[_0xed0128(0x1ef)]['DB_TYPE']||_0xed0128(0x1d0))['toLowerCase'](),_0x4bb8ae=Object[_0xed0128(0x1e7)](DB_TYPES);if(!_0x4bb8ae['includes'](_0x7e61e2))return logger['warn']({'event':_0x31aa4f[_0xed0128(0x1ab)],'provided':_0x7e61e2,'fallback':_0xed0128(0x1d0)},_0xed0128(0x1ed)+_0x7e61e2+_0xed0128(0x19a)),DB_TYPES['POSTGRESQL'];return _0x7e61e2;}['formatDateValue'](_0xfa2530,_0x11373a,_0x18af6a=![]){const _0x8f20b8=a0_0x752940,_0x57d6e8={'ILFSj':'NULL'};if(_0x18af6a)switch(_0x11373a){case DB_TYPES['POSTGRESQL']:return _0x8f20b8(0x1dd);case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return _0x57d6e8['ILFSj'];case DB_TYPES[_0x8f20b8(0x1a0)]:return _0x8f20b8(0x198);case DB_TYPES['ORACLE']:return _0x57d6e8[_0x8f20b8(0x1d1)];default:return _0x8f20b8(0x1dd);}switch(_0x11373a){case DB_TYPES[_0x8f20b8(0x196)]:return _0xfa2530+_0x8f20b8(0x1a3);case DB_TYPES[_0x8f20b8(0x1c8)]:return _0xfa2530;case DB_TYPES['SQLITE']:return _0xfa2530;case DB_TYPES[_0x8f20b8(0x1a0)]:return _0x8f20b8(0x19f)+_0xfa2530+_0x8f20b8(0x1be);case DB_TYPES['ORACLE']:return _0x8f20b8(0x1ec)+_0xfa2530+',\x20\x27YYYY-MM-DD\x27)';default:return _0xfa2530+'::DATE';}}['formatBooleanValue'](_0x25698b,_0xea6f4b,_0xc215b=![]){const _0x259081=a0_0x752940;if(_0xc215b)switch(_0xea6f4b){case DB_TYPES[_0x259081(0x196)]:return'NULL::BOOLEAN';default:return'NULL';}switch(_0xea6f4b){case DB_TYPES['POSTGRESQL']:return _0x25698b+_0x259081(0x1cb);case DB_TYPES['ORACLE']:return _0x25698b;case DB_TYPES['MYSQL']:return _0x25698b;case DB_TYPES[_0x259081(0x19c)]:return _0x25698b;case DB_TYPES[_0x259081(0x1a0)]:return'CAST('+_0x25698b+_0x259081(0x1d8);default:return _0x25698b+'::BOOLEAN';}}[a0_0x752940(0x1b6)](_0x49fdbb={}){const _0x23a863=a0_0x752940,_0x3d3552={'Tschv':function(_0x26732c,_0x374ee6){return _0x26732c===_0x374ee6;},'qJvLN':'date','QmWof':function(_0x4ca4b0,_0xc3fc1d){return _0x4ca4b0===_0xc3fc1d;},'cYoeJ':_0x23a863(0x1c0),'bqHky':_0x23a863(0x198),'IvYhb':_0x23a863(0x1a1),'fXBWf':function(_0x435310,_0x2339cc){return _0x435310===_0x2339cc;},'YrlXT':function(_0x590da6,_0x4f6c30){return _0x590da6===_0x4f6c30;},'JhqGh':function(_0x5a12a7,_0x4e8671){return _0x5a12a7(_0x4e8671);}},_0x35bfd1=this[_0x23a863(0x1e5)]();return(_0x14a857,_0x4901b4)=>{const _0x30dee5=_0x23a863,_0x313e10=_0x49fdbb[_0x4901b4];if(_0x3d3552[_0x30dee5(0x1ce)](_0x14a857,null)||_0x14a857===undefined){if(_0x313e10&&_0x313e10[_0x30dee5(0x1c9)]===_0x3d3552['qJvLN'])return this[_0x30dee5(0x1c5)](null,_0x35bfd1,!![]);if(_0x313e10&&_0x3d3552['QmWof'](_0x313e10['type'],_0x3d3552[_0x30dee5(0x19d)]))return this['formatBooleanValue'](null,_0x35bfd1,!![]);return _0x3d3552[_0x30dee5(0x1b3)];}if(typeof _0x14a857===_0x3d3552[_0x30dee5(0x1cf)]){const _0x29cd4d='\x27'+_0x14a857['replace'](/'/g,'\x27\x27')+'\x27';if(_0x313e10&&_0x313e10['type']===_0x30dee5(0x1d3))return this['formatDateValue'](_0x29cd4d,_0x35bfd1,![]);if(_0x313e10&&_0x3d3552[_0x30dee5(0x1b7)](_0x313e10['type'],_0x30dee5(0x1c0)))return this[_0x30dee5(0x197)](_0x29cd4d,_0x35bfd1,![]);return _0x29cd4d;}if(typeof _0x14a857==='number')return _0x14a857;if(_0x3d3552['YrlXT'](typeof _0x14a857,_0x3d3552[_0x30dee5(0x19d)]))return _0x14a857;const _0x1cbe96='\x27'+_0x3d3552[_0x30dee5(0x1dc)](String,_0x14a857)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x313e10&&_0x313e10[_0x30dee5(0x1c9)]===_0x30dee5(0x1d3))return this[_0x30dee5(0x1c5)](_0x1cbe96,_0x35bfd1,![]);return _0x1cbe96;};}[a0_0x752940(0x1c2)](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344={}){const _0x133026=a0_0x752940,_0x5b5cd4={'OqnaS':function(_0x745be9,_0x5896cf){return _0x745be9===_0x5896cf;}},_0x2c9e18=this['getDatabaseType']();if(_0x5b5cd4[_0x133026(0x1eb)](_0x2c9e18,DB_TYPES[_0x133026(0x1d7)]))return this[_0x133026(0x1f0)](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344);return this['_buildBatchInsertPostgres'](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344);}['_buildBatchInsertPostgres'](_0x3977c1,_0x6a7155,_0x50b62b,_0x686dbc={}){const _0x4db840=a0_0x752940,_0x392bff={'IjxKp':function(_0x296dfd,_0x4140d9){return _0x296dfd===_0x4140d9;},'tuTtT':_0x4db840(0x1cd),'agfCZ':'postgresql','NzXhP':_0x4db840(0x1d2)};if(_0x392bff[_0x4db840(0x1e0)](_0x3977c1['length'],0x0))return{'query':null,'values':[]};const _0x4598e7=this[_0x4db840(0x1b6)](_0x686dbc),_0x30da68=_0x3977c1['map'](_0x41d9be=>{const _0x307aa5=_0x4db840,_0x571468=_0x50b62b[_0x307aa5(0x1a2)](_0x54680e=>_0x4598e7(_0x41d9be[_0x54680e],_0x54680e));return'('+_0x571468[_0x307aa5(0x1ad)](',\x20')+')';}),_0x148513='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x6a7155+'\x20('+_0x50b62b[_0x4db840(0x1ad)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x30da68['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20')+_0x4db840(0x1e6);return logger['debug']({'event':_0x392bff[_0x4db840(0x1ea)],'tableName':_0x6a7155,'rowCount':_0x3977c1['length'],'dbType':_0x392bff[_0x4db840(0x1d5)]},_0x392bff['NzXhP']),{'query':_0x148513,'values':[]};}['_buildBatchInsertOracle'](_0x46c6f1,_0x5d2003,_0x218276,_0x4f37e7={}){const _0xfb81e3=a0_0x752940,_0x3ef4b9={'lgoCK':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x46c6f1['length']===0x0)return{'query':null,'values':[]};const _0x5f5d96=this['buildEscapeFunction'](_0x4f37e7),_0x5bc4c9=_0x46c6f1['map'](_0x27f2da=>{const _0x328ba2=a0_0xaf0b,_0x52be22=_0x218276[_0x328ba2(0x1a2)](_0x538573=>_0x5f5d96(_0x27f2da[_0x538573],_0x538573));return'\x20\x20INTO\x20'+_0x5d2003+'\x20('+_0x218276[_0x328ba2(0x1ad)](',\x20')+')\x20VALUES\x20('+_0x52be22['join'](',\x20')+')';}),_0x1a311d=_0xfb81e3(0x19e)+_0x5bc4c9[_0xfb81e3(0x1ad)]('\x0a')+_0xfb81e3(0x1de);return logger['debug']({'event':'batch_insert_built','tableName':_0x5d2003,'rowCount':_0x46c6f1[_0xfb81e3(0x1b0)],'dbType':'oracle'},_0x3ef4b9['lgoCK']),{'query':_0x1a311d,'values':[]};}['buildBatchUpdate'](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3={}){const _0x44ea2f=a0_0x752940,_0x4eb0df={'vWFKR':function(_0x320707,_0x11e583){return _0x320707===_0x11e583;}},_0x5a0194=this[_0x44ea2f(0x1e5)]();if(_0x4eb0df[_0x44ea2f(0x1ba)](_0x5a0194,DB_TYPES[_0x44ea2f(0x1d7)]))return this[_0x44ea2f(0x1cc)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);if(_0x5a0194===DB_TYPES['MYSQL'])return this[_0x44ea2f(0x1a4)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);return this[_0x44ea2f(0x1a8)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);}[a0_0x752940(0x1a8)](_0x21d2ce,_0xaf745e,_0x3c6267,_0x414e5b,_0x4e0f26,_0x34785a={}){const _0x43c0de=a0_0x752940,_0x101975={'sZYGc':function(_0x62025f,_0x4cc61d){return _0x62025f===_0x4cc61d;},'edgzz':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','fFrih':_0x43c0de(0x1a5),'iZnCT':_0x43c0de(0x1ca)};if(_0x101975[_0x43c0de(0x1d6)](_0x21d2ce['length'],0x0))return{'query':null,'values':[]};const _0x1705af=this[_0x43c0de(0x1b6)](_0x34785a),_0x37cd2f=_0x3c6267['filter'](_0x3199cd=>!_0x4e0f26['includes'](_0x3199cd)&&_0x3199cd!==_0x414e5b);if(_0x101975['sZYGc'](_0x37cd2f[_0x43c0de(0x1b0)],0x0))return logger['warn']({'event':_0x43c0de(0x1c1),'tableName':_0xaf745e},_0x101975[_0x43c0de(0x192)]),{'query':null,'values':[]};const _0x5cc148=_0x21d2ce[_0x43c0de(0x1a2)](_0x1ad1c6=>{const _0x5a5556=[..._0x4e0f26,..._0x37cd2f],_0xd9ae79=_0x5a5556['map'](_0x4bf0f4=>_0x1705af(_0x1ad1c6[_0x4bf0f4],_0x4bf0f4));return'('+_0xd9ae79['join'](',\x20')+')';}),_0x4ca09f=_0x37cd2f['map'](_0x2bfb86=>_0x2bfb86+'\x20=\x20v.'+_0x2bfb86)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x4fe6ea=_0x4e0f26[_0x43c0de(0x1a2)](_0x7b9a5d=>'t.'+_0x7b9a5d+'\x20=\x20v.'+_0x7b9a5d)[_0x43c0de(0x1ad)](_0x43c0de(0x193)),_0x26b00a='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xaf745e+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x4ca09f+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5cc148[_0x43c0de(0x1ad)](_0x101975['fFrih'])+_0x43c0de(0x1c7)+[..._0x4e0f26,..._0x37cd2f]['join'](',\x20')+_0x43c0de(0x19b)+_0x4fe6ea+'\x0a\x20\x20\x20\x20';return logger[_0x43c0de(0x1b1)]({'event':_0x43c0de(0x1ae),'tableName':_0xaf745e,'rowCount':_0x21d2ce[_0x43c0de(0x1b0)],'updateColumns':_0x37cd2f['length'],'dbType':_0x43c0de(0x1d0)},_0x101975['iZnCT']),{'query':_0x26b00a,'values':[]};}['_buildBatchUpdateOracle'](_0x69240c,_0x46ce81,_0x1f8d57,_0x5ceb29,_0x535571,_0x3d5747={}){const _0x183290=a0_0x752940,_0x4a8b7f={'bmpYO':function(_0x5c2689,_0x541fe7){return _0x5c2689===_0x541fe7;},'qbEcn':_0x183290(0x1c1),'TufNW':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','YNpEI':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','rdmVb':'batch_update_built','XVNwE':_0x183290(0x1da),'nIHsa':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x69240c['length']===0x0)return{'query':null,'values':[]};const _0x3c926b=this[_0x183290(0x1b6)](_0x3d5747),_0x1edfa0=_0x1f8d57['filter'](_0x144bec=>!_0x535571[_0x183290(0x1c4)](_0x144bec)&&_0x144bec!==_0x5ceb29);if(_0x4a8b7f[_0x183290(0x199)](_0x1edfa0['length'],0x0))return logger[_0x183290(0x1b2)]({'event':_0x4a8b7f['qbEcn'],'tableName':_0x46ce81},_0x4a8b7f[_0x183290(0x1f2)]),{'query':null,'values':[]};const _0x116bd5=[..._0x535571,..._0x1edfa0],_0x10c1c5=_0x69240c[_0x183290(0x1a2)]((_0x3124fa,_0x17a6ce)=>{const _0x5a3c10=_0x183290,_0x7751c8=_0x116bd5[_0x5a3c10(0x1a2)](_0x19d1f3=>{const _0x38d11b=_0x5a3c10,_0x47cee1=_0x3c926b(_0x3124fa[_0x19d1f3],_0x19d1f3);return _0x17a6ce===0x0?_0x47cee1+_0x38d11b(0x1e8)+_0x19d1f3:_0x47cee1;});return'\x20\x20\x20\x20SELECT\x20'+_0x7751c8[_0x5a3c10(0x1ad)](',\x20')+_0x5a3c10(0x1bb);}),_0x32a6e7=_0x1edfa0[_0x183290(0x1a2)](_0x457043=>'t.'+_0x457043+'\x20=\x20v.'+_0x457043)['join'](_0x4a8b7f[_0x183290(0x1e3)]),_0x4a69fe=_0x535571['map'](_0x28496a=>'t.'+_0x28496a+_0x183290(0x1ee)+_0x28496a)[_0x183290(0x1ad)]('\x20AND\x20'),_0x445c25='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x46ce81+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x10c1c5['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+_0x183290(0x1a6)+_0x4a69fe+_0x183290(0x1aa)+_0x32a6e7+_0x183290(0x1e6);return logger[_0x183290(0x1b1)]({'event':_0x4a8b7f['rdmVb'],'tableName':_0x46ce81,'rowCount':_0x69240c['length'],'updateColumns':_0x1edfa0['length'],'dbType':_0x4a8b7f[_0x183290(0x1c6)]},_0x4a8b7f['nIHsa']),{'query':_0x445c25,'values':[]};}[a0_0x752940(0x1a4)](_0x3c4fc2,_0x3fc39d,_0x5ae855,_0x288781,_0x474661,_0x2c4085={}){const _0x5621c5=a0_0x752940,_0x4a8105={'pZyGl':'batch_update_built','Tmtwd':_0x5621c5(0x1db),'kNOCp':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x3c4fc2['length']===0x0)return{'query':null,'values':[]};const _0x2f108d=this[_0x5621c5(0x1b6)](_0x2c4085),_0x29bcb3=_0x5ae855['filter'](_0x9f9e23=>!_0x474661['includes'](_0x9f9e23)&&_0x9f9e23!==_0x288781);if(_0x29bcb3['length']===0x0)return logger[_0x5621c5(0x1b2)]({'event':_0x5621c5(0x1c1),'tableName':_0x3fc39d},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x26694d=[...new Set([..._0x474661,..._0x29bcb3])],_0x4f8415=_0x3c4fc2[_0x5621c5(0x1a2)](_0x5c3c53=>{const _0x264ca3=_0x5621c5,_0x332c43=_0x26694d[_0x264ca3(0x1a2)](_0x33862e=>_0x2f108d(_0x5c3c53[_0x33862e],_0x33862e));return'('+_0x332c43[_0x264ca3(0x1ad)](',\x20')+')';}),_0x18106b=_0x29bcb3['map'](_0x3d0451=>_0x3d0451+_0x5621c5(0x1b9)+_0x3d0451+')')['join'](_0x5621c5(0x194)),_0x194e9b='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3fc39d+'\x20('+_0x26694d[_0x5621c5(0x1ad)](',\x20')+_0x5621c5(0x1e1)+_0x4f8415['join'](_0x5621c5(0x1a5))+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x18106b+'\x0a\x20\x20\x20\x20';return logger[_0x5621c5(0x1b1)]({'event':_0x4a8105['pZyGl'],'tableName':_0x3fc39d,'rowCount':_0x3c4fc2['length'],'updateColumns':_0x29bcb3['length'],'dbType':_0x4a8105[_0x5621c5(0x1bd)]},_0x4a8105['kNOCp']),{'query':_0x194e9b,'values':[]};}[a0_0x752940(0x1d9)](_0x11ee60,_0x1fc6e6=0x64){const _0x1c3cec=a0_0x752940,_0x5c408c={'HtFJU':function(_0x1b5f66,_0x141c0d){return _0x1b5f66<_0x141c0d;},'goAWz':function(_0x2fb58c,_0x477b6c){return _0x2fb58c+_0x477b6c;}},_0x4baa6b=[];for(let _0x4265f8=0x0;_0x5c408c[_0x1c3cec(0x195)](_0x4265f8,_0x11ee60[_0x1c3cec(0x1b0)]);_0x4265f8+=_0x1fc6e6){_0x4baa6b['push'](_0x11ee60[_0x1c3cec(0x1e2)](_0x4265f8,_0x5c408c[_0x1c3cec(0x1d4)](_0x4265f8,_0x1fc6e6)));}return _0x4baa6b;}}module['exports']=new UpsertBuilder();function a0_0x1809(){const _0x4e456e=['ve9FrefursG','sw52ywXPzcbeqL9uwvbfoIa','id0GDI4','zw52','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3fSC2vYDMvY','vhvMtLC','zwrNENO','ieforca','laOGicaGicaGica','shrgsLu','ue9tveDsrvnrta','zM9YBwf0qM9VBgvHBLzHBhvL','tLvmta','yM1Wwu8','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','kqOGicaGicbxsevsrsa','u1fmsvrf','y1LVzuO','su5trvjuiefmtaO','q0ftvcG','u1fmu0vsvKvs','C3rYAw5N','BwfW','oJPeqvrf','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','laOGicaGicaGia','cIaGicaGicKGDGOGicaGicbptIaO','C3fSAxrL','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','lI9SB2DNzxi','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','rhznsuq','mJHQvwDvDNe','AM9PBG','yMf0y2HFDxbKyxrLx2j1AwX0','mZCWnZG4ofPkwMHTDq','BgvUz3rO','zgvIDwC','D2fYBG','yNfiA3K','nZC0uNzJuhrQ','mJG1ntbrz09qAKS','yNvPBgrfC2nHCgvgDw5JDgLVBG','zLHcv2y','ota0nti0qxDcsNvc','id0GvKfmvuvtka','DLDgs1i','iezst00Grfvbta','mty0mtCWAMjNB2nZ','vg10D2q','ieftierbveuP','nJm5mta2mgXdBxPnuq','yM9VBgvHBG','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','yNvPBgrcyxrJAeLUC2vYDa','ndCZAhb6Ew9M','Aw5JBhvKzxm','zM9YBwf0rgf0zvzHBhvL','wfzoD0u','cIaGicaGicKGqvmGDIG','tvLtuuW','DhLWzq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','oJPct09mrufo','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','yMf0y2HFAw5Zzxj0x2j1AwX0','vhnJAhy','sxzzAgi','Cg9ZDgDYzxnXBa','suXgu2O','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zgf0zq','z29bv3O','ywDMq1O','C1Pzr2m','t1jbq0Xf','ieftiejjvcK','y2H1BMTsB3DZ','B3jHy2XL','BxLZCwW','sMHXr2G','tLvmtdO6refurq','cLnftevdvcaXiezst00Grfvbta','ntC2mJrkALfxu1K','swP4s3a','kqOGicaGicbwquXvrvmG','C2XPy2u','wu5WruK','mJuWmZqZmu12sgPIvq','z2v0rgf0ywjHC2vuExbL','cIaGica','DMfSDwvZ','ieftia','ngXhANjyuW','DhvuDfq','t3fUyvm'];a0_0x1809=function(){return _0x4e456e;};return a0_0x1809();}
@@ -1 +1 @@
1
- const a0_0xf13f29=a0_0x17e5;(function(_0x37e812,_0x32e115){const _0x5c98d7=a0_0x17e5,_0x357d94=_0x37e812();while(!![]){try{const _0xb222bb=parseInt(_0x5c98d7(0x188))/0x1*(-parseInt(_0x5c98d7(0x173))/0x2)+parseInt(_0x5c98d7(0x167))/0x3+-parseInt(_0x5c98d7(0x16e))/0x4*(-parseInt(_0x5c98d7(0x181))/0x5)+parseInt(_0x5c98d7(0x15e))/0x6+-parseInt(_0x5c98d7(0x162))/0x7+parseInt(_0x5c98d7(0x15a))/0x8+parseInt(_0x5c98d7(0x158))/0x9*(-parseInt(_0x5c98d7(0x187))/0xa);if(_0xb222bb===_0x32e115)break;else _0x357d94['push'](_0x357d94['shift']());}catch(_0x2ac8d1){_0x357d94['push'](_0x357d94['shift']());}}}(a0_0x7e41,0xc343d));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0xf13f29(0x15d),DEFAULT_HOST=a0_0xf13f29(0x151),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x2e581e,_0x2e6603){const _0x16af72=a0_0xf13f29,_0x29989c={'QTRCN':function(_0x3933f3,_0x206f23){return _0x3933f3!==_0x206f23;},'dhBDl':function(_0x2447af,_0x132ae5){return _0x2447af===_0x132ae5;},'RYpYD':function(_0x3981c6,_0x55307b){return _0x3981c6(_0x55307b);}};if(_0x29989c['QTRCN'](typeof _0x2e581e,_0x16af72(0x175)))return _0x2e581e;return _0x2e581e[_0x16af72(0x159)](/\{\{([^}]+)\}\}/g,(_0x645074,_0x5da00b)=>{const _0x4dd526=_0x16af72,_0xe0eddc=_0x5da00b['trim'](),_0x5e54a6=getNestedValue(_0x2e6603,_0xe0eddc);if(_0x29989c['QTRCN'](_0x5e54a6,undefined)&&_0x5e54a6!==null)return _0x29989c['dhBDl'](typeof _0x5e54a6,'object')?JSON[_0x4dd526(0x157)](_0x5e54a6):_0x29989c['RYpYD'](String,_0x5e54a6);return _0x645074;});}function resolveTemplateVariables(_0x5f1088,_0x5a1fe6){const _0x5e7331=a0_0xf13f29,_0x185a12={'xXjPn':function(_0x48fbad,_0x3f1a7b){return _0x48fbad===_0x3f1a7b;},'QyDLN':function(_0x2f1784,_0x4aa708,_0x4b3928){return _0x2f1784(_0x4aa708,_0x4b3928);},'ssusU':function(_0xc4202,_0x45474c){return _0xc4202!==_0x45474c;},'TEjYw':function(_0x238705,_0x3b825d){return _0x238705===_0x3b825d;}};if(_0x185a12['xXjPn'](typeof _0x5f1088,'string'))return _0x185a12[_0x5e7331(0x172)](resolveTemplateString,_0x5f1088,_0x5a1fe6);if(Array[_0x5e7331(0x183)](_0x5f1088))return _0x5f1088['map'](_0x23a31a=>resolveTemplateVariables(_0x23a31a,_0x5a1fe6));if(_0x185a12[_0x5e7331(0x154)](_0x5f1088,null)&&_0x185a12['TEjYw'](typeof _0x5f1088,'object')){const _0x3320c9={};for(const [_0x36b5e4,_0x328c8d]of Object[_0x5e7331(0x17d)](_0x5f1088)){_0x3320c9[_0x36b5e4]=_0x185a12[_0x5e7331(0x172)](resolveTemplateVariables,_0x328c8d,_0x5a1fe6);}return _0x3320c9;}return _0x5f1088;}function a0_0x7e41(){const _0x28899e=['ue9tva','ndu4nJC3ogjxtgrqwq','D29zsem','yxv0Ag9YAxPHDgLVBG','zxjYB3i','nJCZnJeZnuvmquHAwq','Dg9vChbLCKnHC2u','yxv0AeHLywrLCG','yM9KEq','C3rHDhvZ','ndiYodiWBxvrzvfY','B2XKu3rHDhvZ','BwL2sgi','C3rHDhvZvgv4Da','DxjS','CMvTyxjRCW','Ahr0CdOVlW','ntyYmtzJqKTmsxi','BwvZC2fNzq','l2fWAs8','C3vJy2vZCW','uxLete4','ndm4nJztEM5fCMG','BgvUz3rO','C3rYAw5N','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','C3rHCNrZv2L0Aa','B2j3vLe','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Ahr0Chm6lY8','u0vsvKvsx0ferfjfu1m','DgLTzw91Da','zw50CMLLCW','ue9sva','Bg9N','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','mtuWAfDNtgjx','yMXVy2TPBMC','AxnbCNjHEq','CMvZCg9UC2u','DgfIBgvoyw1L','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','mZu0meHVAwDnza','mMHHwhH3vq','C3bSAxq','Bg9JywXOB3n0','ChjVAMvJDa','D2fYBG','C3n1C1u','zw52','v3HNrgS','C3rYAw5NAwz5','mZqXmxzcsM5qrG','CMvWBgfJzq','ndKWndK1mLrnBfnPyW','z0ndD3e','iokgKIa'];a0_0x7e41=function(){return _0x28899e;};return a0_0x7e41();}function getNestedValue(_0x1d0f4a,_0x36533f){const _0x5f389c=a0_0xf13f29;return _0x36533f[_0x5f389c(0x150)]('.')['reduce']((_0x27e60a,_0x22f696)=>{return _0x27e60a&&_0x27e60a[_0x22f696]!==undefined?_0x27e60a[_0x22f696]:undefined;},_0x1d0f4a);}function resolveUrl(_0x2d3867,_0x1e90ab){const _0x2ec989=a0_0xf13f29,_0x10ae76={'KhIGI':function(_0x3fe916,_0x468002){return _0x3fe916!==_0x468002;},'dtkke':_0x2ec989(0x170)};if(!_0x2d3867||_0x10ae76['KhIGI'](typeof _0x2d3867,'string'))return _0x2d3867;if(_0x2d3867['startsWith'](_0x2ec989(0x16d))||_0x2d3867[_0x2ec989(0x177)](_0x2ec989(0x17a)))return _0x2d3867;const _0x159bfe=process['env'][_0x2ec989(0x17b)]||process[_0x2ec989(0x155)]['HOST']||DEFAULT_HOST,_0xe20bda=process['env'][_0x2ec989(0x17e)]||DEFAULT_PORT,_0xb2b95d='http://'+_0x159bfe+':'+_0xe20bda;if(_0x2d3867['startsWith'](_0x10ae76['dtkke']))return''+_0xb2b95d+_0x2d3867;if(_0x2d3867[_0x2ec989(0x177)]('/')){const _0x5e843a=_0x1e90ab&&_0x1e90ab[_0x2ec989(0x152)]||'';if(_0x5e843a)return _0xb2b95d+_0x2ec989(0x170)+_0x5e843a+_0x2d3867;return''+_0xb2b95d+_0x2d3867;}return _0x2d3867;}function buildHookContext(_0x30c953){const _0x321198=a0_0xf13f29,_0x2d57fc={'obwVQ':'system'};return{'id':_0x30c953['id']||'','newStatus':_0x30c953['newStatus']||'','oldStatus':_0x30c953[_0x321198(0x168)]||'','remarks':_0x30c953[_0x321198(0x16c)]||'','tableName':_0x30c953[_0x321198(0x185)]||'','user_id':_0x30c953['userId']||_0x2d57fc[_0x321198(0x178)],'timestamp':new Date()['toISOString'](),'record':_0x30c953['record']||{},'requestData':_0x30c953['requestData']||{},'project':_0x30c953['project']||'','authHeader':_0x30c953['authHeader']||null};}async function executeHook(_0x238141,_0x3c6190){const _0x1b1055=a0_0xf13f29,_0x4dead1={'gCCwq':'api','QMmDD':_0x1b1055(0x179),'mivHb':function(_0x18a8d2,_0x21ed56,_0x49442b){return _0x18a8d2(_0x21ed56,_0x49442b);},'hoqQA':function(_0x3d8ba9,_0x5549b4){return _0x3d8ba9!==_0x5549b4;},'WxgDk':'application/json'};if(!_0x238141||_0x238141['type']!==_0x4dead1[_0x1b1055(0x15b)])return{'success':!![],'message':_0x4dead1['QMmDD']};const _0x580523=_0x238141[_0x1b1055(0x182)]===!![],_0x386c8f=(_0x238141['method']||DEFAULT_METHOD)[_0x1b1055(0x163)](),_0x40e585=_0x238141[_0x1b1055(0x17c)]||DEFAULT_TIMEOUT,_0x51c3d=resolveTemplateString(_0x238141[_0x1b1055(0x16b)],_0x3c6190),_0x200a7f=_0x4dead1[_0x1b1055(0x169)](resolveUrl,_0x51c3d,_0x3c6190),_0x41826c=_0x238141['body']?_0x4dead1[_0x1b1055(0x169)](resolveTemplateVariables,_0x238141[_0x1b1055(0x165)],_0x3c6190):{},_0x54e785=_0x238141['headers']?resolveTemplateVariables(_0x238141['headers'],_0x3c6190):{},_0x26be99=_0x54e785&&(_0x54e785['Authorization']!==undefined||_0x4dead1['hoqQA'](_0x54e785[_0x1b1055(0x160)],undefined)),_0x31e1e3=!_0x26be99&&_0x3c6190&&_0x3c6190[_0x1b1055(0x164)]?{'Authorization':_0x3c6190['authHeader']}:{};try{const _0x7600e2=await axios({'method':_0x386c8f['toLowerCase'](),'url':_0x200a7f,'data':_0x41826c,'headers':{'Content-Type':_0x4dead1[_0x1b1055(0x156)],'User-Agent':'RestForge-Workflow/1.0',..._0x31e1e3,..._0x54e785},'timeout':_0x40e585});return console[_0x1b1055(0x17f)]('Workflow\x20hook\x20executed:\x20'+_0x386c8f+'\x20'+_0x200a7f+_0x1b1055(0x15c)+_0x7600e2[_0x1b1055(0x166)]),{'success':!![],'message':_0x1b1055(0x176),'status':_0x7600e2[_0x1b1055(0x166)],'url':_0x200a7f};}catch(_0x4adf4d){const _0x55ae1e=_0x4adf4d['response']?'HTTP\x20'+_0x4adf4d[_0x1b1055(0x184)][_0x1b1055(0x166)]+':\x20'+_0x4adf4d[_0x1b1055(0x184)][_0x1b1055(0x16a)]:_0x4adf4d['message'];console[_0x1b1055(0x161)](_0x1b1055(0x180)+_0x386c8f+'\x20'+_0x200a7f+'\x20→\x20'+_0x55ae1e);if(_0x580523)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x55ae1e,'error':_0x55ae1e,'url':_0x200a7f};return console[_0x1b1055(0x153)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x55ae1e),{'success':!![],'message':_0x1b1055(0x186)+_0x55ae1e,'warning':_0x55ae1e,'url':_0x200a7f};}}function a0_0x17e5(_0x16cf8a,_0x5e1986){_0x16cf8a=_0x16cf8a-0x150;const _0x7e41fe=a0_0x7e41();let _0x17e51f=_0x7e41fe[_0x16cf8a];if(a0_0x17e5['XUEsTm']===undefined){var _0x30a6a6=function(_0x37c746){const _0x4d9e6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4be9c8='',_0x5c0433='';for(let _0x399286=0x0,_0x3070ef,_0x4a4108,_0x47fd80=0x0;_0x4a4108=_0x37c746['charAt'](_0x47fd80++);~_0x4a4108&&(_0x3070ef=_0x399286%0x4?_0x3070ef*0x40+_0x4a4108:_0x4a4108,_0x399286++%0x4)?_0x4be9c8+=String['fromCharCode'](0xff&_0x3070ef>>(-0x2*_0x399286&0x6)):0x0){_0x4a4108=_0x4d9e6b['indexOf'](_0x4a4108);}for(let _0x9be7b4=0x0,_0x145df3=_0x4be9c8['length'];_0x9be7b4<_0x145df3;_0x9be7b4++){_0x5c0433+='%'+('00'+_0x4be9c8['charCodeAt'](_0x9be7b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0433);};a0_0x17e5['KlwuTh']=_0x30a6a6,a0_0x17e5['DLtTNT']={},a0_0x17e5['XUEsTm']=!![];}const _0x429d6a=_0x7e41fe[0x0],_0x1cdbbb=_0x16cf8a+_0x429d6a,_0x942afd=a0_0x17e5['DLtTNT'][_0x1cdbbb];return!_0x942afd?(_0x17e51f=a0_0x17e5['KlwuTh'](_0x17e51f),a0_0x17e5['DLtTNT'][_0x1cdbbb]=_0x17e51f):_0x17e51f=_0x942afd,_0x17e51f;}async function executeHooks(_0x1ce8c0,_0x1f2d3d){const _0x161211=a0_0xf13f29,_0x3b08fb={'woYHC':function(_0x548924,_0x43ffc6){return _0x548924===_0x43ffc6;},'tjqWw':'Hook\x20execution\x20failed'};if(!_0x1ce8c0||!Array[_0x161211(0x183)](_0x1ce8c0)||_0x3b08fb[_0x161211(0x15f)](_0x1ce8c0['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x18d9b2=[];for(const _0x53cb47 of _0x1ce8c0){const _0x59a8ce=await executeHook(_0x53cb47,_0x1f2d3d);_0x18d9b2['push'](_0x59a8ce);if(!_0x59a8ce[_0x161211(0x171)])return{'success':![],'error':_0x59a8ce[_0x161211(0x16f)]||_0x3b08fb['tjqWw'],'results':_0x18d9b2,'hooksExecuted':_0x18d9b2[_0x161211(0x174)]};}return{'success':!![],'results':_0x18d9b2,'hooksExecuted':_0x18d9b2['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ function a0_0x345c(_0x5b4d9b,_0x369c28){_0x5b4d9b=_0x5b4d9b-0xd9;const _0x1868a6=a0_0x1868();let _0x345cd3=_0x1868a6[_0x5b4d9b];if(a0_0x345c['tCNjdu']===undefined){var _0x1c18af=function(_0x422dac){const _0x4054d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6ca4ce='',_0x137024='';for(let _0x40fb6e=0x0,_0x3eaad9,_0x8eebdd,_0x41d673=0x0;_0x8eebdd=_0x422dac['charAt'](_0x41d673++);~_0x8eebdd&&(_0x3eaad9=_0x40fb6e%0x4?_0x3eaad9*0x40+_0x8eebdd:_0x8eebdd,_0x40fb6e++%0x4)?_0x6ca4ce+=String['fromCharCode'](0xff&_0x3eaad9>>(-0x2*_0x40fb6e&0x6)):0x0){_0x8eebdd=_0x4054d4['indexOf'](_0x8eebdd);}for(let _0x5630df=0x0,_0x259c70=_0x6ca4ce['length'];_0x5630df<_0x259c70;_0x5630df++){_0x137024+='%'+('00'+_0x6ca4ce['charCodeAt'](_0x5630df)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x137024);};a0_0x345c['IegQKC']=_0x1c18af,a0_0x345c['KyTyWW']={},a0_0x345c['tCNjdu']=!![];}const _0x1b44ad=_0x1868a6[0x0],_0x28eb7d=_0x5b4d9b+_0x1b44ad,_0x130b81=a0_0x345c['KyTyWW'][_0x28eb7d];return!_0x130b81?(_0x345cd3=a0_0x345c['IegQKC'](_0x345cd3),a0_0x345c['KyTyWW'][_0x28eb7d]=_0x345cd3):_0x345cd3=_0x130b81,_0x345cd3;}const a0_0x4a1dc7=a0_0x345c;(function(_0xdd184e,_0x20c09c){const _0x5bc2b1=a0_0x345c,_0x4bafe8=_0xdd184e();while(!![]){try{const _0x3d9c41=-parseInt(_0x5bc2b1(0xe5))/0x1*(parseInt(_0x5bc2b1(0xf8))/0x2)+-parseInt(_0x5bc2b1(0xda))/0x3*(parseInt(_0x5bc2b1(0x105))/0x4)+parseInt(_0x5bc2b1(0x112))/0x5*(parseInt(_0x5bc2b1(0x10e))/0x6)+parseInt(_0x5bc2b1(0xe9))/0x7+parseInt(_0x5bc2b1(0xe1))/0x8*(-parseInt(_0x5bc2b1(0x108))/0x9)+parseInt(_0x5bc2b1(0xfc))/0xa*(parseInt(_0x5bc2b1(0xf0))/0xb)+-parseInt(_0x5bc2b1(0x103))/0xc*(-parseInt(_0x5bc2b1(0x10a))/0xd);if(_0x3d9c41===_0x20c09c)break;else _0x4bafe8['push'](_0x4bafe8['shift']());}catch(_0x5e4e33){_0x4bafe8['push'](_0x4bafe8['shift']());}}}(a0_0x1868,0x3312d));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x40e489,_0x5db7d4){const _0xe1c68f=a0_0x345c,_0x2bdade={'Zzhpt':function(_0x56ea31,_0x6d10a4,_0x1651ec){return _0x56ea31(_0x6d10a4,_0x1651ec);},'KzxRg':function(_0x4e0edb,_0x2e68f8){return _0x4e0edb!==_0x2e68f8;},'QsRwb':function(_0x5544a7,_0x4ec682){return _0x5544a7===_0x4ec682;}};if(_0x2bdade['KzxRg'](typeof _0x40e489,'string'))return _0x40e489;return _0x40e489[_0xe1c68f(0xf7)](/\{\{([^}]+)\}\}/g,(_0xeedb9a,_0x23a6f6)=>{const _0x5ccf03=_0xe1c68f,_0x3bc100=_0x23a6f6['trim'](),_0x507dac=_0x2bdade['Zzhpt'](getNestedValue,_0x5db7d4,_0x3bc100);if(_0x2bdade[_0x5ccf03(0x107)](_0x507dac,undefined)&&_0x2bdade['KzxRg'](_0x507dac,null))return _0x2bdade['QsRwb'](typeof _0x507dac,_0x5ccf03(0xdb))?JSON[_0x5ccf03(0x101)](_0x507dac):String(_0x507dac);return _0xeedb9a;});}function resolveTemplateVariables(_0x2e0d56,_0x3726f7){const _0x21c61a=a0_0x345c,_0x402752={'twMtq':function(_0x2eea23,_0x126663){return _0x2eea23===_0x126663;},'XLLkD':_0x21c61a(0x109),'lkcVy':function(_0x10c739,_0x3e3fe1,_0x45042d){return _0x10c739(_0x3e3fe1,_0x45042d);},'icNUQ':_0x21c61a(0xdb)};if(_0x402752['twMtq'](typeof _0x2e0d56,_0x402752[_0x21c61a(0x10c)]))return _0x402752[_0x21c61a(0xfd)](resolveTemplateString,_0x2e0d56,_0x3726f7);if(Array['isArray'](_0x2e0d56))return _0x2e0d56[_0x21c61a(0xdf)](_0x5f07d0=>resolveTemplateVariables(_0x5f07d0,_0x3726f7));if(_0x2e0d56!==null&&_0x402752['twMtq'](typeof _0x2e0d56,_0x402752['icNUQ'])){const _0x4eb912={};for(const [_0xa8f04d,_0x226d8e]of Object[_0x21c61a(0xff)](_0x2e0d56)){_0x4eb912[_0xa8f04d]=_0x402752['lkcVy'](resolveTemplateVariables,_0x226d8e,_0x3726f7);}return _0x4eb912;}return _0x2e0d56;}function getNestedValue(_0x1a2097,_0x4de31c){const _0x36b991=a0_0x345c;return _0x4de31c[_0x36b991(0x110)]('.')['reduce']((_0x20a028,_0x3f5900)=>{return _0x20a028&&_0x20a028[_0x3f5900]!==undefined?_0x20a028[_0x3f5900]:undefined;},_0x1a2097);}function resolveUrl(_0x4ac9af,_0x308359){const _0x3e7dc5=a0_0x345c,_0x1579d8={'hPJoS':function(_0x98269e,_0x50e547){return _0x98269e!==_0x50e547;},'mdVCY':'string','zNeIb':'http://','LtqUA':'https://'};if(!_0x4ac9af||_0x1579d8['hPJoS'](typeof _0x4ac9af,_0x1579d8['mdVCY']))return _0x4ac9af;if(_0x4ac9af[_0x3e7dc5(0xde)](_0x1579d8['zNeIb'])||_0x4ac9af['startsWith'](_0x1579d8['LtqUA']))return _0x4ac9af;const _0x6bb6c2=process['env']['SERVER_ADDRESS']||process[_0x3e7dc5(0xeb)][_0x3e7dc5(0xed)]||DEFAULT_HOST,_0x3d5974=process[_0x3e7dc5(0xeb)][_0x3e7dc5(0xef)]||DEFAULT_PORT,_0x1b9ff3='http://'+_0x6bb6c2+':'+_0x3d5974;if(_0x4ac9af[_0x3e7dc5(0xde)]('/api/'))return''+_0x1b9ff3+_0x4ac9af;if(_0x4ac9af[_0x3e7dc5(0xde)]('/')){const _0x2c5fbc=_0x308359&&_0x308359['project']||'';if(_0x2c5fbc)return _0x1b9ff3+'/api/'+_0x2c5fbc+_0x4ac9af;return''+_0x1b9ff3+_0x4ac9af;}return _0x4ac9af;}function buildHookContext(_0x110951){const _0x322bdc=a0_0x345c,_0x1dc4b3={'SFKon':'system'};return{'id':_0x110951['id']||'','newStatus':_0x110951[_0x322bdc(0x102)]||'','oldStatus':_0x110951[_0x322bdc(0x106)]||'','remarks':_0x110951['remarks']||'','tableName':_0x110951[_0x322bdc(0x104)]||'','user_id':_0x110951['userId']||_0x1dc4b3[_0x322bdc(0xf2)],'timestamp':new Date()['toISOString'](),'record':_0x110951[_0x322bdc(0x111)]||{},'requestData':_0x110951[_0x322bdc(0xe4)]||{},'project':_0x110951['project']||'','authHeader':_0x110951['authHeader']||null};}function a0_0x1868(){const _0x28d4e7=['owjxtM53uG','C3rYAw5N','otyWn09NrfrmyG','ChvZAa','weXmA0q','DxjS','mJa5mdqZnKvXtKDHEG','yM9KEq','C3bSAxq','CMvJB3jK','nw50vhzXuW','yxv0AeHLywrLCG','qxv0Ag9YAxPHDgLVBG','nte3ofDpALjyBW','B2jQzwn0','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','vwvrtge','C3rHCNrZv2L0Aa','BwfW','BgvUz3rO','mZa2odK4ngjoswf4yq','C3rHDhvZ','yxbWBgLJyxrPB24VANnVBG','CMvXDwvZDerHDge','ndKXmZLNEvLOy2q','CMvZCg9UC2u','qMHNDg4','yMXVy2TPBMC','ndGWmdq2Dvrqy0Df','BwvZC2fNzq','zw52','uhj2CNO','se9tva','CLbys1C','ue9sva','mJG1mde2nNn5Du1jrW','uMvZDezVCMDLlvDVCMTMBg93lZeUma','u0zlB24','zxHWB3j0CW','sg9VAYbLEgvJDxrPB24GzMfPBgvK','yxbP','whH5DNy','CMvWBgfJzq','mtznsLHPtee','iokgKIa','C3vJy2vZCW','Dg9mB3DLCKnHC2u','mtbdBM9Jvhy','BgTJvNK','BMXmtwS','zw50CMLLCW','DhLWzq','C3rYAw5NAwz5','BMv3u3rHDhvZ','otKZnMndB25QCq','DgfIBgvoyw1L','nZaWwMTHz0ru','B2XKu3rHDhvZ','s3P4uMC'];a0_0x1868=function(){return _0x28d4e7;};return a0_0x1868();}async function executeHook(_0x1bb01d,_0x524f5c){const _0x4e89fc=a0_0x345c,_0x30a6d1={'nlLMk':function(_0xe77aad,_0x2b28da){return _0xe77aad!==_0x2b28da;},'Xxyvv':_0x4e89fc(0xf5),'rPXKW':'Hook\x20skipped:\x20unsupported\x20type','ekLfZ':function(_0xcddd0,_0x2ca42d,_0x13c6b6){return _0xcddd0(_0x2ca42d,_0x13c6b6);},'jjbMj':function(_0x250f8e,_0x17d6a0){return _0x250f8e&&_0x17d6a0;},'Prvrz':_0x4e89fc(0xe3),'sORMB':_0x4e89fc(0xf1)};if(!_0x1bb01d||_0x30a6d1[_0x4e89fc(0xfe)](_0x1bb01d[_0x4e89fc(0x100)],_0x30a6d1[_0x4e89fc(0xf6)]))return{'success':!![],'message':_0x30a6d1[_0x4e89fc(0xee)]};const _0x27aa12=_0x1bb01d[_0x4e89fc(0xe8)]===!![],_0x5e7093=(_0x1bb01d['method']||DEFAULT_METHOD)['toUpperCase'](),_0x37fa14=_0x1bb01d['timeout']||DEFAULT_TIMEOUT,_0x4bd69d=resolveTemplateString(_0x1bb01d[_0x4e89fc(0x10d)],_0x524f5c),_0x3c61e1=resolveUrl(_0x4bd69d,_0x524f5c),_0x58e476=_0x1bb01d[_0x4e89fc(0x10f)]?resolveTemplateVariables(_0x1bb01d['body'],_0x524f5c):{},_0x55d3e3=_0x1bb01d['headers']?_0x30a6d1['ekLfZ'](resolveTemplateVariables,_0x1bb01d['headers'],_0x524f5c):{},_0x901718=_0x55d3e3&&(_0x30a6d1['nlLMk'](_0x55d3e3[_0x4e89fc(0xd9)],undefined)||_0x55d3e3['authorization']!==undefined),_0x25964f=_0x30a6d1['jjbMj'](!_0x901718,_0x524f5c)&&_0x524f5c[_0x4e89fc(0x113)]?{'Authorization':_0x524f5c[_0x4e89fc(0x113)]}:{};try{const _0xba4e66=await axios({'method':_0x5e7093[_0x4e89fc(0xfb)](),'url':_0x3c61e1,'data':_0x58e476,'headers':{'Content-Type':_0x30a6d1[_0x4e89fc(0xec)],'User-Agent':_0x30a6d1['sORMB'],..._0x25964f,..._0x55d3e3},'timeout':_0x37fa14});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x5e7093+'\x20'+_0x3c61e1+'\x20→\x20'+_0xba4e66[_0x4e89fc(0xe2)]),{'success':!![],'message':_0x4e89fc(0xdc),'status':_0xba4e66[_0x4e89fc(0xe2)],'url':_0x3c61e1};}catch(_0x53ae18){const _0x4743f8=_0x53ae18[_0x4e89fc(0xe6)]?'HTTP\x20'+_0x53ae18['response'][_0x4e89fc(0xe2)]+':\x20'+_0x53ae18[_0x4e89fc(0xe6)]['statusText']:_0x53ae18[_0x4e89fc(0xea)];console['error']('Workflow\x20hook\x20failed:\x20'+_0x5e7093+'\x20'+_0x3c61e1+_0x4e89fc(0xf9)+_0x4743f8);if(_0x27aa12)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x4743f8,'error':_0x4743f8,'url':_0x3c61e1};return console['warn']('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x4743f8),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x4743f8,'warning':_0x4743f8,'url':_0x3c61e1};}}async function executeHooks(_0x375377,_0x40809d){const _0x52aa81=a0_0x345c,_0x3eb383={'CtqMY':function(_0x9736d2,_0xfb0b02){return _0x9736d2===_0xfb0b02;},'Bhgtn':function(_0x398131,_0x57f66a,_0x2868bc){return _0x398131(_0x57f66a,_0x2868bc);},'UeQLa':_0x52aa81(0xf4)};if(!_0x375377||!Array['isArray'](_0x375377)||_0x3eb383['CtqMY'](_0x375377['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x3dc79d=[];for(const _0xbc9b03 of _0x375377){const _0x36ba90=await _0x3eb383[_0x52aa81(0xe7)](executeHook,_0xbc9b03,_0x40809d);_0x3dc79d[_0x52aa81(0x10b)](_0x36ba90);if(!_0x36ba90[_0x52aa81(0xfa)])return{'success':![],'error':_0x36ba90['message']||_0x3eb383[_0x52aa81(0xdd)],'results':_0x3dc79d,'hooksExecuted':_0x3dc79d[_0x52aa81(0xe0)]};}return{'success':!![],'results':_0x3dc79d,'hooksExecuted':_0x3dc79d[_0x52aa81(0xe0)]};}module[a0_0x4a1dc7(0xf3)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
@@ -1,58 +0,0 @@
1
- {
2
- "version": "2.0.0",
3
- "lastUpdated": "2026-02-26T19:33:04.280Z",
4
- "totalModules": 5,
5
- "totalEndpoints": 5,
6
- "modules": {
7
- "test-mysql": {
8
- "endpointCount": 1,
9
- "databaseType": "mysql",
10
- "lastUpdated": "2026-02-26T19:33:04.279Z",
11
- "createdAt": "2026-02-26T19:33:04.269Z"
12
- },
13
- "test-oracle-workbench": {
14
- "endpointCount": 1,
15
- "databaseType": "oracle"
16
- },
17
- "test-oracle": {
18
- "endpointCount": 1,
19
- "databaseType": "oracle",
20
- "lastUpdated": "2026-02-26T19:33:03.126Z",
21
- "createdAt": "2026-02-26T19:33:03.116Z"
22
- },
23
- "test-pg-workbench": {
24
- "endpointCount": 1,
25
- "databaseType": "postgres"
26
- },
27
- "test-pg": {
28
- "endpointCount": 1,
29
- "databaseType": "postgres",
30
- "lastUpdated": "2026-02-26T19:32:57.522Z",
31
- "createdAt": "2026-02-26T19:32:57.513Z"
32
- }
33
- },
34
- "databaseTypes": {
35
- "mysql": 1,
36
- "oracle": 2,
37
- "postgres": 2
38
- },
39
- "summary": {
40
- "endpointsByAction": {
41
- "datatables": 3,
42
- "create": 3,
43
- "update": 3,
44
- "delete": 3,
45
- "get": 3,
46
- "lookup": 3,
47
- "read": 3,
48
- "export": 3,
49
- "import": 3
50
- },
51
- "endpointsByDatabase": {
52
- "mysql": 1,
53
- "oracle": 1,
54
- "postgres": 1
55
- },
56
- "recentActivity": []
57
- }
58
- }
@@ -1,118 +0,0 @@
1
- {
2
- "projectName": "test-mysql",
3
- "databaseType": "mysql",
4
- "endpoints": {
5
- "category": {
6
- "tableName": "category",
7
- "displayName": "Category",
8
- "action": {
9
- "datatables": true,
10
- "create": true,
11
- "update": true,
12
- "delete": true,
13
- "get": true,
14
- "lookup": true,
15
- "read": true,
16
- "export": true,
17
- "import": true,
18
- "adjust": false,
19
- "aggregate": false,
20
- "createComposite": false,
21
- "updateComposite": false,
22
- "readComposite": false
23
- },
24
- "primaryKey": "category_id",
25
- "fieldName": [
26
- "category_id",
27
- "category_code",
28
- "category_name",
29
- "description",
30
- "is_active"
31
- ],
32
- "fieldValidation": [
33
- {
34
- "name": "category_id",
35
- "type": "uuid",
36
- "constraints": {
37
- "primaryKey": true,
38
- "autoGenerate": true
39
- }
40
- },
41
- {
42
- "name": "is_active",
43
- "type": "boolean",
44
- "constraints": {
45
- "default": true
46
- }
47
- },
48
- {
49
- "name": "category_name",
50
- "type": "string",
51
- "constraints": {
52
- "uppercase": true
53
- }
54
- }
55
- ],
56
- "samples": {
57
- "create": {
58
- "category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
59
- "category_code": "DMO001",
60
- "category_name": "Demo Name",
61
- "description": "Demo description text",
62
- "is_active": true
63
- },
64
- "update": {
65
- "category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
66
- "category_code": "DMO001",
67
- "category_name": "Updated Demo Name",
68
- "description": "Demo description text",
69
- "is_active": true
70
- },
71
- "delete": {
72
- "where": [
73
- {
74
- "key": "category_id",
75
- "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
76
- }
77
- ]
78
- },
79
- "get": {
80
- "where": [
81
- {
82
- "key": "category_id",
83
- "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
84
- }
85
- ],
86
- "select": [
87
- "category_id",
88
- "category_code",
89
- "category_name",
90
- "description",
91
- "is_active"
92
- ]
93
- },
94
- "read": {
95
- "page": 1,
96
- "per_page": 10,
97
- "search_value": "",
98
- "search_by": "category_code"
99
- },
100
- "datatables": {
101
- "draw": 1,
102
- "start": 0,
103
- "length": 10,
104
- "search": {
105
- "value": ""
106
- }
107
- },
108
- "lookup": {
109
- "select": [
110
- "category_id",
111
- "category_code"
112
- ]
113
- }
114
- }
115
- }
116
- },
117
- "processors": {}
118
- }
@@ -1,56 +0,0 @@
1
- {
2
- "version": "2.0.0",
3
- "moduleName": "test-mysql",
4
- "createdAt": "2026-02-26T19:33:04.269Z",
5
- "updatedAt": "2026-02-26T19:33:04.279Z",
6
- "databaseType": "mysql",
7
- "endpoints": {
8
- "category": {
9
- "version": "2.0.0",
10
- "type": "module",
11
- "createdAt": "2026-02-26T19:33:04.279Z",
12
- "updatedAt": "2026-02-26T19:33:04.279Z",
13
- "path": "src/modules/test-mysql/category.js",
14
- "modelPath": "src/models/test-mysql/category.js",
15
- "tableName": "category",
16
- "databaseType": "mysql",
17
- "actions": {
18
- "datatables": true,
19
- "create": true,
20
- "update": true,
21
- "delete": true,
22
- "get": true,
23
- "lookup": true,
24
- "read": true,
25
- "export": true,
26
- "import": true,
27
- "adjust": false,
28
- "aggregate": false,
29
- "createComposite": false,
30
- "updateComposite": false,
31
- "readComposite": false
32
- },
33
- "fieldCount": 5,
34
- "hasAdvancedQueries": false,
35
- "hasNestedQueries": false,
36
- "hasFilters": false,
37
- "hasSearchColumns": false,
38
- "statistics": {
39
- "timesGenerated": 1,
40
- "lastGenerated": "2026-02-26T19:33:04.279Z",
41
- "lastModified": "2026-02-26T19:33:04.279Z"
42
- }
43
- }
44
- },
45
- "statistics": {
46
- "totalEndpoints": 1,
47
- "endpointsByType": {
48
- "module": 1
49
- },
50
- "lastGenerated": "2026-02-26T19:33:04.279Z"
51
- },
52
- "config": {
53
- "autoBackup": false,
54
- "maxBackups": 5
55
- }
56
- }
@@ -1,118 +0,0 @@
1
- {
2
- "projectName": "test-oracle",
3
- "databaseType": "oracle",
4
- "endpoints": {
5
- "category": {
6
- "tableName": "category",
7
- "displayName": "Category",
8
- "action": {
9
- "datatables": true,
10
- "create": true,
11
- "update": true,
12
- "delete": true,
13
- "get": true,
14
- "lookup": true,
15
- "read": true,
16
- "export": true,
17
- "import": true,
18
- "adjust": false,
19
- "aggregate": false,
20
- "createComposite": false,
21
- "updateComposite": false,
22
- "readComposite": false
23
- },
24
- "primaryKey": "category_id",
25
- "fieldName": [
26
- "category_id",
27
- "category_code",
28
- "category_name",
29
- "description",
30
- "is_active"
31
- ],
32
- "fieldValidation": [
33
- {
34
- "name": "category_id",
35
- "type": "uuid",
36
- "constraints": {
37
- "primaryKey": true,
38
- "autoGenerate": true
39
- }
40
- },
41
- {
42
- "name": "is_active",
43
- "type": "boolean",
44
- "constraints": {
45
- "default": true
46
- }
47
- },
48
- {
49
- "name": "category_name",
50
- "type": "string",
51
- "constraints": {
52
- "uppercase": true
53
- }
54
- }
55
- ],
56
- "samples": {
57
- "create": {
58
- "category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
59
- "category_code": "DMO001",
60
- "category_name": "Demo Name",
61
- "description": "Demo description text",
62
- "is_active": true
63
- },
64
- "update": {
65
- "category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
66
- "category_code": "DMO001",
67
- "category_name": "Updated Demo Name",
68
- "description": "Demo description text",
69
- "is_active": true
70
- },
71
- "delete": {
72
- "where": [
73
- {
74
- "key": "category_id",
75
- "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
76
- }
77
- ]
78
- },
79
- "get": {
80
- "where": [
81
- {
82
- "key": "category_id",
83
- "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
84
- }
85
- ],
86
- "select": [
87
- "category_id",
88
- "category_code",
89
- "category_name",
90
- "description",
91
- "is_active"
92
- ]
93
- },
94
- "read": {
95
- "page": 1,
96
- "per_page": 10,
97
- "search_value": "",
98
- "search_by": "category_code"
99
- },
100
- "datatables": {
101
- "draw": 1,
102
- "start": 0,
103
- "length": 10,
104
- "search": {
105
- "value": ""
106
- }
107
- },
108
- "lookup": {
109
- "select": [
110
- "category_id",
111
- "category_code"
112
- ]
113
- }
114
- }
115
- }
116
- },
117
- "processors": {}
118
- }
@@ -1,56 +0,0 @@
1
- {
2
- "version": "2.0.0",
3
- "moduleName": "test-oracle",
4
- "createdAt": "2026-02-26T19:33:03.116Z",
5
- "updatedAt": "2026-02-26T19:33:03.126Z",
6
- "databaseType": "oracle",
7
- "endpoints": {
8
- "category": {
9
- "version": "2.0.0",
10
- "type": "module",
11
- "createdAt": "2026-02-26T19:33:03.126Z",
12
- "updatedAt": "2026-02-26T19:33:03.126Z",
13
- "path": "src/modules/test-oracle/category.js",
14
- "modelPath": "src/models/test-oracle/category.js",
15
- "tableName": "category",
16
- "databaseType": "oracle",
17
- "actions": {
18
- "datatables": true,
19
- "create": true,
20
- "update": true,
21
- "delete": true,
22
- "get": true,
23
- "lookup": true,
24
- "read": true,
25
- "export": true,
26
- "import": true,
27
- "adjust": false,
28
- "aggregate": false,
29
- "createComposite": false,
30
- "updateComposite": false,
31
- "readComposite": false
32
- },
33
- "fieldCount": 5,
34
- "hasAdvancedQueries": false,
35
- "hasNestedQueries": false,
36
- "hasFilters": false,
37
- "hasSearchColumns": false,
38
- "statistics": {
39
- "timesGenerated": 1,
40
- "lastGenerated": "2026-02-26T19:33:03.126Z",
41
- "lastModified": "2026-02-26T19:33:03.126Z"
42
- }
43
- }
44
- },
45
- "statistics": {
46
- "totalEndpoints": 1,
47
- "endpointsByType": {
48
- "module": 1
49
- },
50
- "lastGenerated": "2026-02-26T19:33:03.126Z"
51
- },
52
- "config": {
53
- "autoBackup": false,
54
- "maxBackups": 5
55
- }
56
- }