@restforgejs/platform 4.2.8 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +1 -1
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/templates/dashboard-catalog.js +1 -437
  25. package/generators/lib/templates/db-connection-env.js +1 -212
  26. package/generators/lib/templates/dbschema-catalog.js +1 -489
  27. package/generators/lib/templates/field-validation-catalog.js +1 -531
  28. package/generators/lib/templates/mysql-template.js +1 -3863
  29. package/generators/lib/templates/oracle-template.js +1 -3915
  30. package/generators/lib/templates/postgres-template.js +1 -5838
  31. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  32. package/generators/lib/templates/sqlite-template.js +1 -3440
  33. package/generators/lib/utils/env-manager.js +6 -0
  34. package/generators/lib/utils/path-validator.js +71 -0
  35. package/generators/lib/validators/payload-validator.js +1 -2
  36. package/integrity-manifest.json +28 -10
  37. package/package.json +11 -3
  38. package/scripts/verify-integrity.js +1 -1
  39. package/server.js +1 -1
  40. package/src/components/handlers/adjust_handler.js +1 -1
  41. package/src/components/handlers/audit_handler.js +1 -1
  42. package/src/components/handlers/delete_handler.js +1 -1
  43. package/src/components/handlers/export_handler.js +1 -1
  44. package/src/components/handlers/import_handler.js +1 -1
  45. package/src/components/handlers/insert_handler.js +1 -1
  46. package/src/components/handlers/update_handler.js +1 -1
  47. package/src/components/handlers/upload_handler.js +1 -1
  48. package/src/components/handlers/workflow_handler.js +1 -1
  49. package/src/components/integrations/webhook.js +1 -1
  50. package/src/consumers/baseConsumer.js +1 -1
  51. package/src/consumers/declarativeMapper.js +1 -1
  52. package/src/consumers/handlers/apiHandler.js +1 -1
  53. package/src/consumers/handlers/consoleHandler.js +1 -1
  54. package/src/consumers/handlers/databaseHandler.js +1 -1
  55. package/src/consumers/handlers/index.js +1 -1
  56. package/src/consumers/handlers/kafkaHandler.js +1 -1
  57. package/src/consumers/index.js +1 -1
  58. package/src/consumers/messageTransformer.js +1 -1
  59. package/src/consumers/validator.js +1 -1
  60. package/src/core/db/dialect/base-dialect.js +1 -1
  61. package/src/core/db/dialect/index.js +1 -1
  62. package/src/core/db/dialect/mysql-dialect.js +1 -1
  63. package/src/core/db/dialect/oracle-dialect.js +1 -1
  64. package/src/core/db/dialect/postgres-dialect.js +1 -1
  65. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  66. package/src/core/db/flatten-helper.js +1 -1
  67. package/src/core/db/query-builder-error.js +1 -1
  68. package/src/core/db/query-builder.js +1 -1
  69. package/src/core/db/relation-helper.js +1 -1
  70. package/src/core/handlers/delete_handler.js +1 -1
  71. package/src/core/handlers/insert_handler.js +1 -1
  72. package/src/core/handlers/update_handler.js +1 -1
  73. package/src/core/models/base-model.js +1 -1
  74. package/src/core/utils/cache-manager.js +1 -1
  75. package/src/core/utils/component-engine.js +1 -1
  76. package/src/core/utils/context-builder.js +1 -1
  77. package/src/core/utils/datetime-formatter.js +1 -1
  78. package/src/core/utils/datetime-parser.js +1 -1
  79. package/src/core/utils/db.js +1 -1
  80. package/src/core/utils/logger.js +1 -1
  81. package/src/core/utils/payload-loader.js +1 -1
  82. package/src/core/utils/security-checks.js +1 -1
  83. package/src/middleware/body-options.js +1 -1
  84. package/src/middleware/cors.js +1 -1
  85. package/src/middleware/idempotency.js +1 -1
  86. package/src/middleware/rate-limiter.js +1 -1
  87. package/src/middleware/request-logger.js +1 -1
  88. package/src/middleware/security-headers.js +1 -1
  89. package/src/models/base-model-mysql.js +1 -1
  90. package/src/models/base-model-oracle.js +1 -1
  91. package/src/models/base-model-sqlite.js +1 -1
  92. package/src/models/base-model.js +1 -1
  93. package/src/pro/caching/redis-client.js +1 -1
  94. package/src/pro/caching/redis-helper.js +1 -1
  95. package/src/pro/consumers/baseConsumer.js +1 -1
  96. package/src/pro/consumers/declarativeMapper.js +1 -1
  97. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  98. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  99. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  100. package/src/pro/consumers/handlers/index.js +1 -1
  101. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  102. package/src/pro/consumers/index.js +1 -1
  103. package/src/pro/consumers/messageTransformer.js +1 -1
  104. package/src/pro/consumers/validator.js +1 -1
  105. package/src/pro/database/base-model-mysql.js +1 -1
  106. package/src/pro/database/base-model-oracle.js +1 -1
  107. package/src/pro/database/base-model-sqlite.js +1 -1
  108. package/src/pro/database/db-mysql.js +1 -1
  109. package/src/pro/database/db-oracle.js +1 -1
  110. package/src/pro/database/db-sqlite.js +1 -1
  111. package/src/pro/excel/excel-generator.js +1 -1
  112. package/src/pro/excel/excel-parser.js +1 -1
  113. package/src/pro/excel/export-service.js +1 -1
  114. package/src/pro/excel/export_handler.js +1 -1
  115. package/src/pro/excel/import-service.js +1 -1
  116. package/src/pro/excel/import-validator.js +1 -1
  117. package/src/pro/excel/import_handler.js +1 -1
  118. package/src/pro/excel/upsert-builder.js +1 -1
  119. package/src/pro/idgen/idgen-routes.js +1 -1
  120. package/src/pro/integrations/lookup-resolver.js +1 -1
  121. package/src/pro/integrations/upload-handler-v2.js +1 -1
  122. package/src/pro/integrations/upload-handler.js +1 -1
  123. package/src/pro/integrations/webhook.js +1 -1
  124. package/src/pro/locking/lock-routes.js +1 -1
  125. package/src/pro/locking/resource-lock-manager.js +1 -1
  126. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  127. package/src/pro/messaging/kafkaService.js +1 -1
  128. package/src/pro/messaging/messagehubService.js +1 -1
  129. package/src/pro/messaging/rabbitmqService.js +1 -1
  130. package/src/pro/scheduler/job-manager.js +1 -1
  131. package/src/pro/scheduler/job-routes.js +1 -1
  132. package/src/pro/scheduler/job-validator.js +1 -1
  133. package/src/pro/storage/base-storage-provider.js +1 -1
  134. package/src/pro/storage/file-metadata-helper.js +1 -1
  135. package/src/pro/storage/index.js +1 -1
  136. package/src/pro/storage/local-storage-provider.js +1 -1
  137. package/src/pro/storage/s3-storage-provider.js +1 -1
  138. package/src/pro/storage/upload-cleanup-job.js +1 -1
  139. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  140. package/src/pro/storage/upload-pending-tracker.js +1 -1
  141. package/src/pro/websocket/broadcast-helper.js +1 -1
  142. package/src/pro/websocket/index.js +1 -1
  143. package/src/pro/websocket/livesync-server.js +1 -1
  144. package/src/pro/websocket/ws-broadcaster.js +1 -1
  145. package/src/services/export-service.js +1 -1
  146. package/src/services/import-service.js +1 -1
  147. package/src/services/kafkaConsumerService.js +1 -1
  148. package/src/services/kafkaService.js +1 -1
  149. package/src/services/messagehubService.js +1 -1
  150. package/src/services/rabbitmqService.js +1 -1
  151. package/src/utils/cache-invalidation-registry.js +1 -1
  152. package/src/utils/cache-manager.js +1 -1
  153. package/src/utils/component-engine.js +1 -1
  154. package/src/utils/config-extractor.js +1 -1
  155. package/src/utils/consumerLogger.js +1 -1
  156. package/src/utils/context-builder.js +1 -1
  157. package/src/utils/dashboard-helpers.js +1 -1
  158. package/src/utils/dateHelper.js +1 -1
  159. package/src/utils/datetime-formatter.js +1 -1
  160. package/src/utils/datetime-parser.js +1 -1
  161. package/src/utils/db-bootstrap.js +1 -1
  162. package/src/utils/db-mysql.js +1 -1
  163. package/src/utils/db-oracle.js +1 -1
  164. package/src/utils/db-sqlite.js +1 -1
  165. package/src/utils/db.js +1 -1
  166. package/src/utils/demo-generator.js +1 -1
  167. package/src/utils/excel-generator.js +1 -1
  168. package/src/utils/excel-parser.js +1 -1
  169. package/src/utils/file-watcher.js +1 -1
  170. package/src/utils/id-generator.js +1 -1
  171. package/src/utils/idempotency-manager.js +1 -1
  172. package/src/utils/import-validator.js +1 -1
  173. package/src/utils/license-client.js +1 -1
  174. package/src/utils/lock-manager.js +1 -1
  175. package/src/utils/logger.js +1 -1
  176. package/src/utils/lookup-resolver.js +1 -1
  177. package/src/utils/payload-loader.js +1 -1
  178. package/src/utils/processor-response.js +1 -1
  179. package/src/utils/rabbitmq.js +1 -1
  180. package/src/utils/redis-client.js +1 -1
  181. package/src/utils/redis-helper.js +1 -1
  182. package/src/utils/request-scope.js +1 -1
  183. package/src/utils/security-checks.js +1 -1
  184. package/src/utils/service-resolver.js +1 -1
  185. package/src/utils/shutdown-coordinator.js +1 -1
  186. package/src/utils/trusted-keys.js +1 -1
  187. package/src/utils/upload-handler.js +1 -1
  188. package/src/utils/upsert-builder.js +1 -1
  189. package/src/utils/workflow-hook-executor.js +1 -1
  190. package/generators/metadata/global.json +0 -58
  191. package/generators/metadata/test-mysql-workbench.json +0 -118
  192. package/generators/metadata/test-mysql.json +0 -56
  193. package/generators/metadata/test-oracle-workbench.json +0 -118
  194. package/generators/metadata/test-oracle.json +0 -56
  195. package/generators/metadata/test-pg-workbench.json +0 -118
  196. package/generators/metadata/test-pg.json +0 -56
  197. package/generators/scripts/obfuscate-source.js +0 -356
  198. package/generators/scripts/validate-catalog.js +0 -430
  199. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  200. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  203. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  206. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  209. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  210. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  211. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  212. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  213. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  214. package/generators/tests/integration-tahap4b/README.md +0 -145
  215. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  216. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  217. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  218. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  219. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  220. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  221. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  222. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  223. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  224. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  231. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  244. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  245. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  246. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  247. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  252. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  253. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  256. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  299. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  300. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  301. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  302. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  303. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  304. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  305. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  306. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  307. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  308. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  309. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  310. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  311. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  312. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  313. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  314. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  315. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  316. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  317. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  318. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  319. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  320. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  321. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  322. package/scripts/generate-integrity-manifest.js +0 -124
  323. package/scripts/snapshot-cli-contracts.js +0 -194
  324. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- function a0_0x35da(_0x34af45,_0x32599b){_0x34af45=_0x34af45-0x1aa;const _0x2a4c66=a0_0x2a4c();let _0x35da00=_0x2a4c66[_0x34af45];if(a0_0x35da['RAvpiW']===undefined){var _0x4655f8=function(_0xe80e3f){const _0x2f29ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d6c53='',_0x5e2877='';for(let _0x5d7378=0x0,_0x2a2b84,_0x123983,_0x24e0f0=0x0;_0x123983=_0xe80e3f['charAt'](_0x24e0f0++);~_0x123983&&(_0x2a2b84=_0x5d7378%0x4?_0x2a2b84*0x40+_0x123983:_0x123983,_0x5d7378++%0x4)?_0x1d6c53+=String['fromCharCode'](0xff&_0x2a2b84>>(-0x2*_0x5d7378&0x6)):0x0){_0x123983=_0x2f29ea['indexOf'](_0x123983);}for(let _0x57322c=0x0,_0x25fd57=_0x1d6c53['length'];_0x57322c<_0x25fd57;_0x57322c++){_0x5e2877+='%'+('00'+_0x1d6c53['charCodeAt'](_0x57322c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e2877);};a0_0x35da['LsGTBx']=_0x4655f8,a0_0x35da['wJRiAO']={},a0_0x35da['RAvpiW']=!![];}const _0xbe8e5d=_0x2a4c66[0x0],_0x44e819=_0x34af45+_0xbe8e5d,_0x47ec1c=a0_0x35da['wJRiAO'][_0x44e819];return!_0x47ec1c?(_0x35da00=a0_0x35da['LsGTBx'](_0x35da00),a0_0x35da['wJRiAO'][_0x44e819]=_0x35da00):_0x35da00=_0x47ec1c,_0x35da00;}function a0_0x2a4c(){const _0x3d15f6=['tMLOyMy','vvbmt0fex0rjuG','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','BwvZC2fNzq','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','DMPPz3e','zgLZA1n0B3jHz2u','CMfUzg9TqNL0zxm','lI9SB2DNzxi','x3vWBg9HzerPCG','BwTKAxjtEw5J','mJi4ntzztNHSBxC','rMPhCuW','ndKWmtK1mhnTtNjVza','mJu5AwzJqLjP','mtaWndeYmZrXBeH0BvO','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','lNHSCW','z2v0vxbSB2fKtwLKzgXLD2fYzq','zxHPC3rZu3LUyW','zgvMyxvSDa','Bwf4rMLSzvnPEMu','zxH0BMfTzq','mtzRDwTxr0m','B3jPz2LUywXUyw1L','ELbhsxi','DxbSB2fKrgLY','ntm0mhngvwvLtG','zMLSzq','mtmZmdiXrMjxzKLS','ndaZnZbRtK9Hvg8','zxjYB3i','DxbSB2fKx2HHBMrSzxjFAw5PDa','Aw5MBW','DxbSB2fKlq','odG4nZblvevOswe','mZK4otzmzenIExO','mtC0nK1qAMHeva','y3j5ChrV','mtaYEvzZugHX'];a0_0x2a4c=function(){return _0x3d15f6;};return a0_0x2a4c();}const a0_0x56aa34=a0_0x35da;(function(_0x134c89,_0x22851b){const _0x5c7d13=a0_0x35da,_0xd5b35f=_0x134c89();while(!![]){try{const _0x350ee0=-parseInt(_0x5c7d13(0x1c0))/0x1*(-parseInt(_0x5c7d13(0x1ba))/0x2)+parseInt(_0x5c7d13(0x1ca))/0x3*(parseInt(_0x5c7d13(0x1c7))/0x4)+parseInt(_0x5c7d13(0x1b0))/0x5+-parseInt(_0x5c7d13(0x1b2))/0x6+-parseInt(_0x5c7d13(0x1b1))/0x7*(-parseInt(_0x5c7d13(0x1ae))/0x8)+parseInt(_0x5c7d13(0x1c8))/0x9*(parseInt(_0x5c7d13(0x1c6))/0xa)+-parseInt(_0x5c7d13(0x1c1))/0xb*(parseInt(_0x5c7d13(0x1be))/0xc);if(_0x350ee0===_0x22851b)break;else _0xd5b35f['push'](_0xd5b35f['shift']());}catch(_0x529128){_0xd5b35f['push'](_0xd5b35f['shift']());}}}(a0_0x2a4c,0xdd614));const multer=require('multer'),path=require('path'),crypto=require(a0_0x56aa34(0x1c9)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x56aa34(0x1ab));class UploadHandler{constructor(){const _0x510fb8={'iRGEF':function(_0x2f7488,_0x295858){return _0x2f7488*_0x295858;}};this['_uploadDir']=null,this['maxFileSize']=_0x510fb8['iRGEF'](0xa*0x400,0x400);}get[a0_0x56aa34(0x1bd)](){const _0x252aeb=a0_0x56aa34,_0x3b58c7={'SBafG':_0x252aeb(0x1c3)};if(!this[_0x252aeb(0x1ac)]){const _0x29152f=process['env']['RESTFORGE_PROJECT_NAME']||_0x252aeb(0x1b7);this[_0x252aeb(0x1ac)]=process['env'][_0x252aeb(0x1cc)]||path['join'](__dirname,'../../temp/uploads/'+_0x29152f);try{!fsSync[_0x252aeb(0x1b6)](this[_0x252aeb(0x1ac)])&&fsSync[_0x252aeb(0x1ad)](this['_uploadDir'],{'recursive':!![]}),logger[_0x252aeb(0x1c4)]({'event':_0x3b58c7['SBafG'],'dir':this[_0x252aeb(0x1ac)]},'Upload\x20handler\x20initialized');}catch(_0x5b2f38){logger[_0x252aeb(0x1c2)]({'event':'upload_handler_init_error','error':_0x5b2f38['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x252aeb(0x1ac)];}['getStorage'](){const _0x2ac394=a0_0x56aa34,_0x2c13f1={'inRaR':'hex'};return multer[_0x2ac394(0x1d1)]({'destination':(_0x167842,_0xd8534d,_0x3f4391)=>{const _0xad004a=_0x2ac394;!fsSync[_0xad004a(0x1b6)](this[_0xad004a(0x1bd)])&&fsSync[_0xad004a(0x1ad)](this[_0xad004a(0x1bd)],{'recursive':!![]}),_0x3f4391(null,this[_0xad004a(0x1bd)]);},'filename':(_0x1ac77d,_0x5b0a32,_0x202db0)=>{const _0xcda9fa=_0x2ac394,_0x7d4259=crypto[_0xcda9fa(0x1aa)](0x8)['toString'](_0x2c13f1['inRaR']),_0xc61a9e=Date['now'](),_0x277533=path['extname'](_0x5b0a32['originalname']);_0x202db0(null,_0xcda9fa(0x1c5)+_0xc61a9e+'-'+_0x7d4259+_0x277533);}});}[a0_0x56aa34(0x1b5)](){const _0x1e8ecd=a0_0x56aa34,_0x1c8191={'vjigq':_0x1e8ecd(0x1cd),'mMkCo':'application/vnd.ms-excel','WVKAM':function(_0x375039,_0x1cdb5e,_0x342fdf){return _0x375039(_0x1cdb5e,_0x342fdf);},'FjGqL':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed','mWUeO':function(_0x1669f5,_0x241b21){return _0x1669f5(_0x241b21);},'zIjVt':_0x1e8ecd(0x1bf)};return _0x1c8191['mWUeO'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this[_0x1e8ecd(0x1b8)],'files':0x1},'fileFilter':(_0x4caf77,_0x2333c4,_0x4a4094)=>{const _0x3e62a8=_0x1e8ecd,_0x5e0730=[_0x1c8191[_0x3e62a8(0x1d0)],_0x1c8191['mMkCo']],_0x529af4=['.xlsx',_0x3e62a8(0x1b4)],_0x404ad3=path[_0x3e62a8(0x1b9)](_0x2333c4[_0x3e62a8(0x1bb)])['toLowerCase']();_0x5e0730['includes'](_0x2333c4['mimetype'])&&_0x529af4['includes'](_0x404ad3)?_0x1c8191['WVKAM'](_0x4a4094,null,!![]):_0x4a4094(new Error(_0x1c8191[_0x3e62a8(0x1af)]));}})['single'](_0x1c8191['zIjVt']);}async['deleteFile'](_0x517f3f){const _0x15acdc=a0_0x56aa34,_0x22b462={'Nihbf':_0x15acdc(0x1cf),'zPGIr':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x517f3f),logger['info']({'event':'upload_file_deleted','filePath':_0x517f3f},_0x22b462[_0x15acdc(0x1cb)]);}catch(_0x577ca4){logger[_0x15acdc(0x1c2)]({'event':_0x15acdc(0x1b3),'filePath':_0x517f3f,'error':_0x577ca4[_0x15acdc(0x1ce)]},_0x22b462[_0x15acdc(0x1bc)]);}}}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_0x1ecc(){const _0x1346a9=['laOGicaGicaG','u1fmu0vsvKvs','B3jHy2XL','z2v0rgf0ywjHC2vuExbL','qvflA3G','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zMLSDgvY','BKvczeS','C3fSAxrL','CfDgvvq','lcaNwvLzws1nts1ercCP','nJm5mJCWu2HYtuD1','Cg9ZDgDYzxnXBa','mtzJDeHNwu8','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','ve9FrefursG','mKLQq1zJAG','C1jZtKW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','s3PTAxq','zK9fuMC','cIaGicbvtKLptIbbteWk','icbjtLrpia','su5trvjuiefmtaO','cLnftevdvcaXiezst00Grfvbta','ieftierbveuP','qK9WC1G','Aw5JBhvKzxm','zgf0zq','yNvPBgrfC2nHCgvgDw5JDgLVBG','tLvmtdO6refurq','A25Hu0G','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zM9YBwf0qM9VBgvHBLzHBhvL','CMn0sNq','oJPeqvrf','id0GDI4','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','q0ftvcG','AM9PBG','zxHWB3j0CW','laOGicaGicaGica','zgT6A1G','ue9tveDsrvnrta','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','AfbMCeO','nfbQwxbeBq','txDODhm','Aw52ywXPzf9KyL90ExbL','kqOGicaGicbwquXvrvmG','D2fYBG','u1fmsvrf','laOGicaGicaGia','yMf0y2HFDxbKyxrLx2j1AwX0','DhLWzq','cIaGicaGieLou0vsvcbjtLrpia','zM9YBwf0rgf0zvzHBhvL','y2H1BMTsB3DZ','zw52','ieforca','icaGifnftevdvca','mZy2ndCXn2Hhvg9kuq','sw52ywXPzcbeqL9uwvbfoIa','cIaGicaGifvqrefursa','cIaGica','t1jbq0Xf','rejFvfLqrq','BwfW','mtyWmJK2mtbwqufHwfy','BxLZCwW','ChvZAa','mtqYnZqWmgXluvnrCW','tLvmta','mti3mJLuBMjoAKm','zgvIDwC','tvLtuuW','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','mZGXnJe0n1PVqunrBW','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','mZqXmdK1DfnPEe50','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','u2nMvNe','uMjJBe0','BgvUz3rO','r2fNyui','yNr3t0y','CMvWBgfJzq','mJjyzuXQCLG'];a0_0x1ecc=function(){return _0x1346a9;};return a0_0x1ecc();}const a0_0x50cd66=a0_0x4065;(function(_0x3a93de,_0x342bdd){const _0x492c81=a0_0x4065,_0x5e0adb=_0x3a93de();while(!![]){try{const _0x56affe=parseInt(_0x492c81(0x1dc))/0x1+parseInt(_0x492c81(0x1fb))/0x2*(-parseInt(_0x492c81(0x1e0))/0x3)+-parseInt(_0x492c81(0x219))/0x4*(-parseInt(_0x492c81(0x1e2))/0x5)+parseInt(_0x492c81(0x1f6))/0x6+-parseInt(_0x492c81(0x1d0))/0x7*(parseInt(_0x492c81(0x1f8))/0x8)+-parseInt(_0x492c81(0x1da))/0x9+parseInt(_0x492c81(0x1d7))/0xa*(parseInt(_0x492c81(0x1ea))/0xb);if(_0x56affe===_0x342bdd)break;else _0x5e0adb['push'](_0x5e0adb['shift']());}catch(_0x1170a4){_0x5e0adb['push'](_0x5e0adb['shift']());}}}(a0_0x1ecc,0xdf8f8));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x50cd66(0x1f7),'MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x50cd66(0x1f3)};function a0_0x4065(_0x32cc57,_0x2f0eb8){_0x32cc57=_0x32cc57-0x1d0;const _0x1ecc24=a0_0x1ecc();let _0x40654a=_0x1ecc24[_0x32cc57];if(a0_0x4065['sdnodA']===undefined){var _0x5648ec=function(_0x19f465){const _0x24d193='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d3a51='',_0x554780='';for(let _0x66ebfe=0x0,_0x56a2d0,_0x5efa4e,_0x3a946f=0x0;_0x5efa4e=_0x19f465['charAt'](_0x3a946f++);~_0x5efa4e&&(_0x56a2d0=_0x66ebfe%0x4?_0x56a2d0*0x40+_0x5efa4e:_0x5efa4e,_0x66ebfe++%0x4)?_0x5d3a51+=String['fromCharCode'](0xff&_0x56a2d0>>(-0x2*_0x66ebfe&0x6)):0x0){_0x5efa4e=_0x24d193['indexOf'](_0x5efa4e);}for(let _0x14d0a5=0x0,_0x41fa3c=_0x5d3a51['length'];_0x14d0a5<_0x41fa3c;_0x14d0a5++){_0x554780+='%'+('00'+_0x5d3a51['charCodeAt'](_0x14d0a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x554780);};a0_0x4065['nquKkM']=_0x5648ec,a0_0x4065['fbsLiS']={},a0_0x4065['sdnodA']=!![];}const _0x4c350f=_0x1ecc24[0x0],_0xdb020b=_0x32cc57+_0x4c350f,_0x475e50=a0_0x4065['fbsLiS'][_0xdb020b];return!_0x475e50?(_0x40654a=a0_0x4065['nquKkM'](_0x40654a),a0_0x4065['fbsLiS'][_0xdb020b]=_0x40654a):_0x40654a=_0x475e50,_0x40654a;}class UpsertBuilder{[a0_0x50cd66(0x1ee)](){const _0x367a76=a0_0x50cd66,_0x21c373={'TynWb':_0x367a76(0x21b)},_0xe6a926=(process[_0x367a76(0x225)][_0x367a76(0x1d5)]||'postgresql')['toLowerCase'](),_0x48b6c4=Object['values'](DB_TYPES);if(!_0x48b6c4['includes'](_0xe6a926))return logger[_0x367a76(0x21d)]({'event':_0x21c373['TynWb'],'provided':_0xe6a926,'fallback':'postgresql'},_0x367a76(0x1d1)+_0xe6a926+_0x367a76(0x1f9)),DB_TYPES[_0x367a76(0x216)];return _0xe6a926;}['formatDateValue'](_0x4b53f0,_0x3f193f,_0x5d9251=![]){const _0x1f754a=a0_0x50cd66,_0x9da4a={'knaSH':'NULL'};if(_0x5d9251)switch(_0x3f193f){case DB_TYPES['POSTGRESQL']:return _0x1f754a(0x209);case DB_TYPES['MYSQL']:return _0x9da4a[_0x1f754a(0x20a)];case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return _0x1f754a(0x1db);case DB_TYPES['ORACLE']:return _0x9da4a['knaSH'];default:return'NULL::DATE';}switch(_0x3f193f){case DB_TYPES[_0x1f754a(0x216)]:return _0x4b53f0+'::DATE';case DB_TYPES[_0x1f754a(0x1de)]:return _0x4b53f0;case DB_TYPES[_0x1f754a(0x21e)]:return _0x4b53f0;case DB_TYPES['SQLSERVER']:return _0x1f754a(0x211)+_0x4b53f0+_0x1f754a(0x204);case DB_TYPES[_0x1f754a(0x1d4)]:return _0x1f754a(0x1fa)+_0x4b53f0+_0x1f754a(0x1f5);default:return _0x4b53f0+_0x1f754a(0x20e);}}[a0_0x50cd66(0x20c)](_0x385ad1,_0x36ce34,_0x1b295e=![]){const _0x59f83b=a0_0x50cd66;if(_0x1b295e)switch(_0x36ce34){case DB_TYPES[_0x59f83b(0x216)]:return'NULL::BOOLEAN';default:return'NULL';}switch(_0x36ce34){case DB_TYPES['POSTGRESQL']:return _0x385ad1+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x385ad1;case DB_TYPES[_0x59f83b(0x1de)]:return _0x385ad1;case DB_TYPES[_0x59f83b(0x21e)]:return _0x385ad1;case DB_TYPES[_0x59f83b(0x1ec)]:return _0x59f83b(0x211)+_0x385ad1+'\x20AS\x20BIT)';default:return _0x385ad1+'::BOOLEAN';}}[a0_0x50cd66(0x208)](_0x4be0dc={}){const _0x3925ac=a0_0x50cd66,_0x4a4428={'BOpsX':function(_0x15f06d,_0xc8539a){return _0x15f06d===_0xc8539a;},'GagaB':function(_0x300643,_0x37ea93){return _0x300643===_0x37ea93;},'btwOF':'boolean','pWFUT':_0x3925ac(0x207),'sRsNL':'number','Kzmit':function(_0x291ee4,_0x149646){return _0x291ee4(_0x149646);}},_0x37156a=this['getDatabaseType']();return(_0x277283,_0x4cadfe)=>{const _0x43e79e=_0x3925ac,_0x5ae705=_0x4be0dc[_0x4cadfe];if(_0x4a4428[_0x43e79e(0x205)](_0x277283,null)||_0x277283===undefined){if(_0x5ae705&&_0x4a4428[_0x43e79e(0x1e7)](_0x5ae705[_0x43e79e(0x221)],_0x43e79e(0x207)))return this[_0x43e79e(0x223)](null,_0x37156a,!![]);if(_0x5ae705&&_0x4a4428['BOpsX'](_0x5ae705['type'],_0x4a4428[_0x43e79e(0x1e8)]))return this['formatBooleanValue'](null,_0x37156a,!![]);return'NULL';}if(_0x4a4428['BOpsX'](typeof _0x277283,'string')){const _0x4ca9be='\x27'+_0x277283['replace'](/'/g,'\x27\x27')+'\x27';if(_0x5ae705&&_0x4a4428['BOpsX'](_0x5ae705['type'],_0x4a4428[_0x43e79e(0x1f4)]))return this['formatDateValue'](_0x4ca9be,_0x37156a,![]);if(_0x5ae705&&_0x5ae705[_0x43e79e(0x221)]===_0x4a4428['btwOF'])return this['formatBooleanValue'](_0x4ca9be,_0x37156a,![]);return _0x4ca9be;}if(_0x4a4428[_0x43e79e(0x1e7)](typeof _0x277283,_0x4a4428[_0x43e79e(0x1fc)]))return _0x277283;if(typeof _0x277283==='boolean')return _0x277283;const _0x853f76='\x27'+_0x4a4428[_0x43e79e(0x1fe)](String,_0x277283)[_0x43e79e(0x1e9)](/'/g,'\x27\x27')+'\x27';if(_0x5ae705&&_0x4a4428['GagaB'](_0x5ae705[_0x43e79e(0x221)],_0x4a4428['pWFUT']))return this[_0x43e79e(0x223)](_0x853f76,_0x37156a,![]);return _0x853f76;};}['buildBatchInsert'](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc={}){const _0x130d58=a0_0x50cd66,_0x9b00d3=this['getDatabaseType']();if(_0x9b00d3===DB_TYPES[_0x130d58(0x1d4)])return this[_0x130d58(0x217)](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc);return this['_buildBatchInsertPostgres'](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc);}['_buildBatchInsertPostgres'](_0x393e2a,_0x3c58d9,_0x818c12,_0x4cd16b={}){const _0x2a6df6=a0_0x50cd66,_0x194593={'UwGdj':_0x2a6df6(0x1eb),'NVUPR':'postgresql','LaExB':_0x2a6df6(0x20b)};if(_0x393e2a['length']===0x0)return{'query':null,'values':[]};const _0x398ee0=this['buildEscapeFunction'](_0x4cd16b),_0x281abe=_0x393e2a[_0x2a6df6(0x1d6)](_0x481223=>{const _0x261549=_0x818c12['map'](_0x175a07=>_0x398ee0(_0x481223[_0x175a07],_0x175a07));return'('+_0x261549['join'](',\x20')+')';}),_0xe5e0a2='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3c58d9+'\x20('+_0x818c12['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x281abe[_0x2a6df6(0x212)](_0x194593['UwGdj'])+_0x2a6df6(0x1d3);return logger['debug']({'event':'batch_insert_built','tableName':_0x3c58d9,'rowCount':_0x393e2a['length'],'dbType':_0x194593['NVUPR']},_0x194593['LaExB']),{'query':_0xe5e0a2,'values':[]};}['_buildBatchInsertOracle'](_0x4a3ef4,_0x1fbdff,_0x1bab7b,_0x4f5235={}){const _0x2a1261=a0_0x50cd66,_0xd4b5d3={'WjKVy':function(_0x38df82,_0x29d9e6){return _0x38df82===_0x29d9e6;}};if(_0xd4b5d3['WjKVy'](_0x4a3ef4[_0x2a1261(0x1e6)],0x0))return{'query':null,'values':[]};const _0x451e56=this['buildEscapeFunction'](_0x4f5235),_0x18390c=_0x4a3ef4[_0x2a1261(0x1d6)](_0x332362=>{const _0x3778f4=_0x2a1261,_0x3566e8=_0x1bab7b['map'](_0x2bde94=>_0x451e56(_0x332362[_0x2bde94],_0x2bde94));return _0x3778f4(0x201)+_0x1fbdff+'\x20('+_0x1bab7b[_0x3778f4(0x212)](',\x20')+')\x20VALUES\x20('+_0x3566e8[_0x3778f4(0x212)](',\x20')+')';}),_0x3e6626=_0x2a1261(0x202)+_0x18390c['join']('\x0a')+_0x2a1261(0x203);return logger['debug']({'event':'batch_insert_built','tableName':_0x1fbdff,'rowCount':_0x4a3ef4[_0x2a1261(0x1e6)],'dbType':_0x2a1261(0x1ed)},_0x2a1261(0x1f0)),{'query':_0x3e6626,'values':[]};}['buildBatchUpdate'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc={}){const _0x5a88d4=a0_0x50cd66,_0x3c4b7={'Mwhts':function(_0x1cc4d9,_0x252414){return _0x1cc4d9===_0x252414;},'AOUIk':function(_0x2fc1b9,_0x1f1120){return _0x2fc1b9===_0x1f1120;}},_0x484d93=this['getDatabaseType']();if(_0x3c4b7[_0x5a88d4(0x21a)](_0x484d93,DB_TYPES[_0x5a88d4(0x1d4)]))return this['_buildBatchUpdateOracle'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);if(_0x3c4b7['AOUIk'](_0x484d93,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);return this['_buildBatchUpdatePostgres'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);}[a0_0x50cd66(0x1df)](_0x2c78ac,_0x4c5fea,_0x1d97d6,_0x2580eb,_0x4d7293,_0x528262={}){const _0x98d0ac=a0_0x50cd66,_0x25f197={'mOMID':function(_0x294564,_0x1a6975){return _0x294564===_0x1a6975;},'aIodS':_0x98d0ac(0x1fd),'fOERg':_0x98d0ac(0x1f7),'EjVtt':'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'};if(_0x2c78ac['length']===0x0)return{'query':null,'values':[]};const _0x3d71c6=this['buildEscapeFunction'](_0x528262),_0x264b3e=_0x1d97d6[_0x98d0ac(0x1f1)](_0x397b07=>!_0x4d7293['includes'](_0x397b07)&&_0x397b07!==_0x2580eb);if(_0x25f197['mOMID'](_0x264b3e['length'],0x0))return logger[_0x98d0ac(0x21d)]({'event':_0x98d0ac(0x1e3),'tableName':_0x4c5fea},_0x25f197['aIodS']),{'query':null,'values':[]};const _0x1a5479=_0x2c78ac['map'](_0x4aec61=>{const _0x193f84=_0x98d0ac,_0x509182=[..._0x4d7293,..._0x264b3e],_0x15bd1d=_0x509182['map'](_0x25274a=>_0x3d71c6(_0x4aec61[_0x25274a],_0x25274a));return'('+_0x15bd1d[_0x193f84(0x212)](',\x20')+')';}),_0x56e10f=_0x264b3e[_0x98d0ac(0x1d6)](_0x5818d0=>_0x5818d0+_0x98d0ac(0x20f)+_0x5818d0)[_0x98d0ac(0x212)](_0x98d0ac(0x214)),_0x5c67c2=_0x4d7293['map'](_0x1b5f25=>'t.'+_0x1b5f25+_0x98d0ac(0x20f)+_0x1b5f25)[_0x98d0ac(0x212)](_0x98d0ac(0x226)),_0x4312a9=_0x98d0ac(0x1d2)+_0x4c5fea+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x56e10f+_0x98d0ac(0x1e1)+_0x1a5479['join'](_0x98d0ac(0x21f))+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x4d7293,..._0x264b3e][_0x98d0ac(0x212)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x5c67c2+'\x0a\x20\x20\x20\x20';return logger[_0x98d0ac(0x1dd)]({'event':'batch_update_built','tableName':_0x4c5fea,'rowCount':_0x2c78ac[_0x98d0ac(0x1e6)],'updateColumns':_0x264b3e[_0x98d0ac(0x1e6)],'dbType':_0x25f197[_0x98d0ac(0x1ff)]},_0x25f197['EjVtt']),{'query':_0x4312a9,'values':[]};}['_buildBatchUpdateOracle'](_0xa9dc36,_0x20b7d4,_0x5ca5c4,_0x16a5ef,_0x2d6492,_0x25a4a0={}){const _0x1c077c=a0_0x50cd66,_0x1b4306={'PJiUE':_0x1c077c(0x1e3),'nEBdK':_0x1c077c(0x214),'hPfpJ':_0x1c077c(0x226),'PtOcF':_0x1c077c(0x200),'dkzkX':'batch_update_built','RbclM':_0x1c077c(0x1ed),'rctJt':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0xa9dc36[_0x1c077c(0x1e6)]===0x0)return{'query':null,'values':[]};const _0x187a63=this['buildEscapeFunction'](_0x25a4a0),_0x4a46cc=_0x5ca5c4['filter'](_0x1efcc4=>!_0x2d6492['includes'](_0x1efcc4)&&_0x1efcc4!==_0x16a5ef);if(_0x4a46cc[_0x1c077c(0x1e6)]===0x0)return logger['warn']({'event':_0x1b4306['PJiUE'],'tableName':_0x20b7d4},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x3051c3=[..._0x2d6492,..._0x4a46cc],_0x179923=_0xa9dc36['map']((_0x112a7c,_0x3928f6)=>{const _0x9a1168=_0x1c077c,_0x3f51fe=_0x3051c3[_0x9a1168(0x1d6)](_0x529cfd=>{const _0x65ed=_0x187a63(_0x112a7c[_0x529cfd],_0x529cfd);return _0x3928f6===0x0?_0x65ed+'\x20AS\x20'+_0x529cfd:_0x65ed;});return _0x9a1168(0x227)+_0x3f51fe['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x2fcf99=_0x4a46cc[_0x1c077c(0x1d6)](_0x56ae70=>'t.'+_0x56ae70+'\x20=\x20v.'+_0x56ae70)[_0x1c077c(0x212)](_0x1b4306[_0x1c077c(0x1f2)]),_0x13659f=_0x2d6492['map'](_0x754771=>'t.'+_0x754771+_0x1c077c(0x20f)+_0x754771)['join'](_0x1b4306[_0x1c077c(0x218)]),_0x2ecdbc='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x20b7d4+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x179923['join'](_0x1b4306['PtOcF'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x13659f+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x2fcf99+'\x0a\x20\x20\x20\x20';return logger[_0x1c077c(0x1dd)]({'event':_0x1b4306[_0x1c077c(0x215)],'tableName':_0x20b7d4,'rowCount':_0xa9dc36[_0x1c077c(0x1e6)],'updateColumns':_0x4a46cc['length'],'dbType':_0x1b4306[_0x1c077c(0x1e5)]},_0x1b4306[_0x1c077c(0x20d)]),{'query':_0x2ecdbc,'values':[]};}[a0_0x50cd66(0x210)](_0x2aa459,_0x1c4296,_0x3cc63c,_0x467f61,_0x11bf7a,_0x49d983={}){const _0x5da30c=a0_0x50cd66,_0xe5a789={'AQKkx':function(_0x5aa8ab,_0x239114){return _0x5aa8ab===_0x239114;},'fMlaW':function(_0xc28bd4,_0x459f69){return _0xc28bd4===_0x459f69;},'faDBk':_0x5da30c(0x1e3),'IhlNV':_0x5da30c(0x214),'YkPNF':_0x5da30c(0x220),'zwaWS':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0xe5a789[_0x5da30c(0x1ef)](_0x2aa459[_0x5da30c(0x1e6)],0x0))return{'query':null,'values':[]};const _0x294968=this[_0x5da30c(0x208)](_0x49d983),_0x270a08=_0x3cc63c[_0x5da30c(0x1f1)](_0x1c39c5=>!_0x11bf7a[_0x5da30c(0x206)](_0x1c39c5)&&_0x1c39c5!==_0x467f61);if(_0xe5a789['fMlaW'](_0x270a08['length'],0x0))return logger['warn']({'event':_0xe5a789['faDBk'],'tableName':_0x1c4296},_0x5da30c(0x1fd)),{'query':null,'values':[]};const _0x563a4f=[...new Set([..._0x11bf7a,..._0x270a08])],_0x4af7fd=_0x2aa459[_0x5da30c(0x1d6)](_0x9ab535=>{const _0x3dee91=_0x5da30c,_0x390a90=_0x563a4f[_0x3dee91(0x1d6)](_0x29477d=>_0x294968(_0x9ab535[_0x29477d],_0x29477d));return'('+_0x390a90[_0x3dee91(0x212)](',\x20')+')';}),_0x93ed15=_0x270a08['map'](_0x162089=>_0x162089+'\x20=\x20VALUES('+_0x162089+')')['join'](_0xe5a789['IhlNV']),_0x3144d0=_0x5da30c(0x222)+_0x1c4296+'\x20('+_0x563a4f[_0x5da30c(0x212)](',\x20')+_0x5da30c(0x21c)+_0x4af7fd['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x93ed15+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xe5a789['YkPNF'],'tableName':_0x1c4296,'rowCount':_0x2aa459[_0x5da30c(0x1e6)],'updateColumns':_0x270a08['length'],'dbType':_0x5da30c(0x1d8)},_0xe5a789['zwaWS']),{'query':_0x3144d0,'values':[]};}[a0_0x50cd66(0x224)](_0x1e8c8b,_0x5cc632=0x64){const _0x589e0f=a0_0x50cd66,_0x30ab54={'ScfVq':function(_0x5bbecb,_0x4e27a4){return _0x5bbecb<_0x4e27a4;}},_0x5f0160=[];for(let _0x4e3071=0x0;_0x30ab54[_0x589e0f(0x1e4)](_0x4e3071,_0x1e8c8b[_0x589e0f(0x1e6)]);_0x4e3071+=_0x5cc632){_0x5f0160[_0x589e0f(0x1d9)](_0x1e8c8b['slice'](_0x4e3071,_0x4e3071+_0x5cc632));}return _0x5f0160;}}module[a0_0x50cd66(0x213)]=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_0x501667=a0_0x32d7;(function(_0x4ae6d4,_0x14f735){const _0x469441=a0_0x32d7,_0xcb2315=_0x4ae6d4();while(!![]){try{const _0x534d41=-parseInt(_0x469441(0x14c))/0x1+parseInt(_0x469441(0x147))/0x2+parseInt(_0x469441(0x15e))/0x3+-parseInt(_0x469441(0x155))/0x4+-parseInt(_0x469441(0x12c))/0x5+-parseInt(_0x469441(0x13f))/0x6*(parseInt(_0x469441(0x137))/0x7)+parseInt(_0x469441(0x14a))/0x8;if(_0x534d41===_0x14f735)break;else _0xcb2315['push'](_0xcb2315['shift']());}catch(_0x425667){_0xcb2315['push'](_0xcb2315['shift']());}}}(a0_0x54dc,0xb183d));const axios=require(a0_0x501667(0x14f)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST=a0_0x501667(0x15b),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x417655,_0x5657fb){const _0x552739=a0_0x501667,_0x5f407f={'sinzr':function(_0x1d971b,_0x5f42f3,_0x4aa54){return _0x1d971b(_0x5f42f3,_0x4aa54);},'cpzpj':function(_0x57d6bb,_0x2cc223){return _0x57d6bb(_0x2cc223);}};if(typeof _0x417655!==_0x552739(0x141))return _0x417655;return _0x417655[_0x552739(0x13c)](/\{\{([^}]+)\}\}/g,(_0x561cbf,_0x5b7bb1)=>{const _0x3e57d6=_0x552739,_0x5f2e44=_0x5b7bb1['trim'](),_0x375beb=_0x5f407f[_0x3e57d6(0x136)](getNestedValue,_0x5657fb,_0x5f2e44);if(_0x375beb!==undefined&&_0x375beb!==null)return typeof _0x375beb===_0x3e57d6(0x142)?JSON[_0x3e57d6(0x157)](_0x375beb):_0x5f407f[_0x3e57d6(0x12f)](String,_0x375beb);return _0x561cbf;});}function resolveTemplateVariables(_0x1433ce,_0x316063){const _0x3a9068=a0_0x501667,_0x2a6bab={'HgABc':function(_0x483f64,_0x124ff1){return _0x483f64!==_0x124ff1;},'AWJMb':'object'};if(typeof _0x1433ce===_0x3a9068(0x141))return resolveTemplateString(_0x1433ce,_0x316063);if(Array[_0x3a9068(0x130)](_0x1433ce))return _0x1433ce['map'](_0x9e1c0d=>resolveTemplateVariables(_0x9e1c0d,_0x316063));if(_0x2a6bab['HgABc'](_0x1433ce,null)&&typeof _0x1433ce===_0x2a6bab['AWJMb']){const _0x26e43d={};for(const [_0x93ace2,_0x1e7784]of Object[_0x3a9068(0x12d)](_0x1433ce)){_0x26e43d[_0x93ace2]=resolveTemplateVariables(_0x1e7784,_0x316063);}return _0x26e43d;}return _0x1433ce;}function getNestedValue(_0xbc2935,_0x43d761){const _0x46b8a6=a0_0x501667;return _0x43d761[_0x46b8a6(0x138)]('.')[_0x46b8a6(0x139)]((_0x494a5b,_0x2d0d4d)=>{return _0x494a5b&&_0x494a5b[_0x2d0d4d]!==undefined?_0x494a5b[_0x2d0d4d]:undefined;},_0xbc2935);}function resolveUrl(_0x1d01c8,_0x2cfa26){const _0x4b307c=a0_0x501667,_0x5dc737={'Ptfyz':_0x4b307c(0x12a)};if(!_0x1d01c8||typeof _0x1d01c8!==_0x4b307c(0x141))return _0x1d01c8;if(_0x1d01c8[_0x4b307c(0x152)]('http://')||_0x1d01c8['startsWith'](_0x5dc737['Ptfyz']))return _0x1d01c8;const _0x591f38=process[_0x4b307c(0x132)]['SERVER_ADDRESS']||process[_0x4b307c(0x132)][_0x4b307c(0x146)]||DEFAULT_HOST,_0x40d716=process[_0x4b307c(0x132)]['PORT']||DEFAULT_PORT,_0xabc7a6='http://'+_0x591f38+':'+_0x40d716;if(_0x1d01c8[_0x4b307c(0x152)](_0x4b307c(0x143)))return''+_0xabc7a6+_0x1d01c8;if(_0x1d01c8['startsWith']('/')){const _0x3b5ad4=_0x2cfa26&&_0x2cfa26[_0x4b307c(0x12e)]||'';if(_0x3b5ad4)return _0xabc7a6+_0x4b307c(0x143)+_0x3b5ad4+_0x1d01c8;return''+_0xabc7a6+_0x1d01c8;}return _0x1d01c8;}function buildHookContext(_0x34b546){const _0x57d9f9=a0_0x501667,_0xe987fb={'Dhpkd':'system'};return{'id':_0x34b546['id']||'','newStatus':_0x34b546[_0x57d9f9(0x133)]||'','oldStatus':_0x34b546[_0x57d9f9(0x154)]||'','remarks':_0x34b546['remarks']||'','tableName':_0x34b546['tableName']||'','user_id':_0x34b546['userId']||_0xe987fb['Dhpkd'],'timestamp':new Date()[_0x57d9f9(0x13b)](),'record':_0x34b546[_0x57d9f9(0x15d)]||{},'requestData':_0x34b546['requestData']||{},'project':_0x34b546[_0x57d9f9(0x12e)]||'','authHeader':_0x34b546['authHeader']||null};}async function executeHook(_0x315840,_0xd36d30){const _0x1dc322=a0_0x501667,_0x2fdeb7={'IcnPT':function(_0x183c62,_0x4f211d){return _0x183c62===_0x4f211d;},'dxQeM':function(_0x4fd8a,_0x4aa030,_0x4bf22e){return _0x4fd8a(_0x4aa030,_0x4bf22e);},'EecHb':function(_0x5a6404,_0xd115ed){return _0x5a6404!==_0xd115ed;},'alglV':function(_0xbe5591,_0x424ca5){return _0xbe5591&&_0x424ca5;},'wTjbo':function(_0x468491,_0x58eeb2){return _0x468491(_0x58eeb2);},'PQnUx':_0x1dc322(0x12b)};if(!_0x315840||_0x315840[_0x1dc322(0x151)]!=='api')return{'success':!![],'message':_0x1dc322(0x15c)};const _0x1afb69=_0x2fdeb7[_0x1dc322(0x158)](_0x315840[_0x1dc322(0x150)],!![]),_0x5d4696=(_0x315840[_0x1dc322(0x13d)]||DEFAULT_METHOD)['toUpperCase'](),_0x51d489=_0x315840[_0x1dc322(0x14d)]||DEFAULT_TIMEOUT,_0xfded88=resolveTemplateString(_0x315840[_0x1dc322(0x144)],_0xd36d30),_0x3122a8=_0x2fdeb7[_0x1dc322(0x15f)](resolveUrl,_0xfded88,_0xd36d30),_0x5d1ee1=_0x315840['body']?_0x2fdeb7[_0x1dc322(0x15f)](resolveTemplateVariables,_0x315840[_0x1dc322(0x14b)],_0xd36d30):{},_0xf06c6=_0x315840['headers']?resolveTemplateVariables(_0x315840[_0x1dc322(0x14e)],_0xd36d30):{},_0x1f9649=_0xf06c6&&(_0x2fdeb7['EecHb'](_0xf06c6[_0x1dc322(0x128)],undefined)||_0xf06c6['authorization']!==undefined),_0x20600e=_0x2fdeb7[_0x1dc322(0x135)](!_0x1f9649,_0xd36d30)&&_0xd36d30['authHeader']?{'Authorization':_0xd36d30[_0x1dc322(0x145)]}:{};try{const _0x2596d5=await _0x2fdeb7[_0x1dc322(0x129)](axios,{'method':_0x5d4696[_0x1dc322(0x156)](),'url':_0x3122a8,'data':_0x5d1ee1,'headers':{'Content-Type':'application/json','User-Agent':_0x2fdeb7['PQnUx'],..._0x20600e,..._0xf06c6},'timeout':_0x51d489});return console[_0x1dc322(0x153)](_0x1dc322(0x148)+_0x5d4696+'\x20'+_0x3122a8+'\x20→\x20'+_0x2596d5[_0x1dc322(0x15a)]),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x2596d5[_0x1dc322(0x15a)],'url':_0x3122a8};}catch(_0x1f48b9){const _0x6506c6=_0x1f48b9['response']?'HTTP\x20'+_0x1f48b9['response']['status']+':\x20'+_0x1f48b9[_0x1dc322(0x149)][_0x1dc322(0x127)]:_0x1f48b9[_0x1dc322(0x13a)];console['error'](_0x1dc322(0x13e)+_0x5d4696+'\x20'+_0x3122a8+'\x20→\x20'+_0x6506c6);if(_0x1afb69)return{'success':![],'message':_0x1dc322(0x131)+_0x6506c6,'error':_0x6506c6,'url':_0x3122a8};return console[_0x1dc322(0x134)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x6506c6),{'success':!![],'message':_0x1dc322(0x159)+_0x6506c6,'warning':_0x6506c6,'url':_0x3122a8};}}async function executeHooks(_0x5529b1,_0x335611){const _0x38ca58=a0_0x501667,_0x1328be={'IZsbj':function(_0x1269e0,_0x11520f){return _0x1269e0===_0x11520f;},'lngdo':'Hook\x20execution\x20failed'};if(!_0x5529b1||!Array['isArray'](_0x5529b1)||_0x1328be['IZsbj'](_0x5529b1['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x3a015a=[];for(const _0xc1d2e8 of _0x5529b1){const _0x5249d2=await executeHook(_0xc1d2e8,_0x335611);_0x3a015a['push'](_0x5249d2);if(!_0x5249d2['success'])return{'success':![],'error':_0x5249d2['message']||_0x1328be['lngdo'],'results':_0x3a015a,'hooksExecuted':_0x3a015a[_0x38ca58(0x140)]};}return{'success':!![],'results':_0x3a015a,'hooksExecuted':_0x3a015a['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};function a0_0x32d7(_0x363472,_0xfffca2){_0x363472=_0x363472-0x127;const _0x54dc69=a0_0x54dc();let _0x32d77c=_0x54dc69[_0x363472];if(a0_0x32d7['MRWfFx']===undefined){var _0x3c4dd3=function(_0x51fa96){const _0x1297a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12a2f0='',_0x1fcc1f='';for(let _0x43fff5=0x0,_0x56e210,_0x3a5763,_0x5dde27=0x0;_0x3a5763=_0x51fa96['charAt'](_0x5dde27++);~_0x3a5763&&(_0x56e210=_0x43fff5%0x4?_0x56e210*0x40+_0x3a5763:_0x3a5763,_0x43fff5++%0x4)?_0x12a2f0+=String['fromCharCode'](0xff&_0x56e210>>(-0x2*_0x43fff5&0x6)):0x0){_0x3a5763=_0x1297a2['indexOf'](_0x3a5763);}for(let _0x14a71c=0x0,_0x19efab=_0x12a2f0['length'];_0x14a71c<_0x19efab;_0x14a71c++){_0x1fcc1f+='%'+('00'+_0x12a2f0['charCodeAt'](_0x14a71c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fcc1f);};a0_0x32d7['cjhITy']=_0x3c4dd3,a0_0x32d7['JYGIca']={},a0_0x32d7['MRWfFx']=!![];}const _0x3c2803=_0x54dc69[0x0],_0x3b6d4c=_0x363472+_0x3c2803,_0x1caec6=a0_0x32d7['JYGIca'][_0x3b6d4c];return!_0x1caec6?(_0x32d77c=a0_0x32d7['cjhITy'](_0x32d77c),a0_0x32d7['JYGIca'][_0x3b6d4c]=_0x32d77c):_0x32d77c=_0x1caec6,_0x32d77c;}function a0_0x54dc(){const _0x1c6ccf=['sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','CMvJB3jK','mtuXndmWnhfYBgTmvq','zhHrzu0','C3rHDhvZvgv4Da','qxv0Ag9YAxPHDgLVBG','D1rQyM8','Ahr0Chm6lY8','uMvZDezVCMDLlvDVCMTMBg93lZeUma','mZC1mdCXnuHdAM5Oyq','zw50CMLLCW','ChjVAMvJDa','y3b6CgO','AxnbCNjHEq','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','zw52','BMv3u3rHDhvZ','D2fYBG','ywXNBfy','C2LUENi','mJKYmtfdBgTIALm','C3bSAxq','CMvKDwnL','BwvZC2fNzq','Dg9ju09tDhjPBMC','CMvWBgfJzq','Bwv0Ag9K','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','mJqWthzkEgDQ','BgvUz3rO','C3rYAw5N','B2jQzwn0','l2fWAs8','DxjS','yxv0AeHLywrLCG','se9tva','ntiWnZqWy2jOt1vJ','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','CMvZCg9UC2u','mJqZnde3ntjruhPPEfG','yM9KEq','nZK0nJy5t1req0TT','DgLTzw91Da','AgvHzgvYCW','yxHPB3m','yMXVy2TPBMC','DhLWzq','C3rHCNrZv2L0Aa','Bg9N','B2XKu3rHDhvZ','ntq3nJa5nMPiBMHgEG','Dg9mB3DLCKnHC2u','C3rYAw5NAwz5','swnUufq','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','C3rHDhvZ','Bg9JywXOB3n0'];a0_0x54dc=function(){return _0x1c6ccf;};return a0_0x54dc();}
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
- }