@restforgejs/platform 4.2.8 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +1 -1
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/payload/payload-runner.js +1 -1
  25. package/generators/lib/templates/dashboard-catalog.js +1 -437
  26. package/generators/lib/templates/db-connection-env.js +1 -212
  27. package/generators/lib/templates/dbschema-catalog.js +1 -489
  28. package/generators/lib/templates/field-validation-catalog.js +1 -531
  29. package/generators/lib/templates/mysql-template.js +1 -3863
  30. package/generators/lib/templates/oracle-template.js +1 -3915
  31. package/generators/lib/templates/postgres-template.js +1 -5838
  32. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  33. package/generators/lib/templates/sqlite-template.js +1 -3440
  34. package/generators/lib/utils/env-manager.js +6 -0
  35. package/generators/lib/utils/path-validator.js +71 -0
  36. package/generators/lib/validators/payload-validator.js +1 -2
  37. package/integrity-manifest.json +28 -10
  38. package/package.json +11 -3
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
  191. package/generators/metadata/global.json +0 -58
  192. package/generators/metadata/test-mysql-workbench.json +0 -118
  193. package/generators/metadata/test-mysql.json +0 -56
  194. package/generators/metadata/test-oracle-workbench.json +0 -118
  195. package/generators/metadata/test-oracle.json +0 -56
  196. package/generators/metadata/test-pg-workbench.json +0 -118
  197. package/generators/metadata/test-pg.json +0 -56
  198. package/generators/scripts/obfuscate-source.js +0 -356
  199. package/generators/scripts/validate-catalog.js +0 -430
  200. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  203. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  206. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  209. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  210. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  211. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  212. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  213. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  214. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  215. package/generators/tests/integration-tahap4b/README.md +0 -145
  216. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  217. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  218. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  219. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  220. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  221. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  222. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  223. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  224. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  231. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  244. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  245. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  246. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  247. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  252. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  253. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  256. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  300. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  301. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  302. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  303. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  304. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  305. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  306. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  307. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  308. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  309. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  310. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  311. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  312. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  313. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  314. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  315. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  316. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  317. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  318. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  319. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  320. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  321. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  322. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  323. package/scripts/generate-integrity-manifest.js +0 -124
  324. package/scripts/snapshot-cli-contracts.js +0 -194
  325. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- function a0_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
+ function a0_0x4c2c(_0x15cc1d,_0x2f4a90){_0x15cc1d=_0x15cc1d-0x1ed;const _0x48e586=a0_0x48e5();let _0x4c2c3f=_0x48e586[_0x15cc1d];if(a0_0x4c2c['SQYthQ']===undefined){var _0x2cca20=function(_0x3a907e){const _0x143419='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f2d65='',_0x11e3d4='';for(let _0x1db6a9=0x0,_0x46a9f3,_0x2abc1d,_0x2a2192=0x0;_0x2abc1d=_0x3a907e['charAt'](_0x2a2192++);~_0x2abc1d&&(_0x46a9f3=_0x1db6a9%0x4?_0x46a9f3*0x40+_0x2abc1d:_0x2abc1d,_0x1db6a9++%0x4)?_0x4f2d65+=String['fromCharCode'](0xff&_0x46a9f3>>(-0x2*_0x1db6a9&0x6)):0x0){_0x2abc1d=_0x143419['indexOf'](_0x2abc1d);}for(let _0x4738f8=0x0,_0x36acdd=_0x4f2d65['length'];_0x4738f8<_0x36acdd;_0x4738f8++){_0x11e3d4+='%'+('00'+_0x4f2d65['charCodeAt'](_0x4738f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11e3d4);};a0_0x4c2c['xTrIEI']=_0x2cca20,a0_0x4c2c['vLRuIV']={},a0_0x4c2c['SQYthQ']=!![];}const _0x10fd5f=_0x48e586[0x0],_0x3cebe3=_0x15cc1d+_0x10fd5f,_0x379c76=a0_0x4c2c['vLRuIV'][_0x3cebe3];return!_0x379c76?(_0x4c2c3f=a0_0x4c2c['xTrIEI'](_0x4c2c3f),a0_0x4c2c['vLRuIV'][_0x3cebe3]=_0x4c2c3f):_0x4c2c3f=_0x379c76,_0x4c2c3f;}function a0_0x48e5(){const _0xfe5035=['zgvMyxvSDa','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSC3G','mtmWnJe4mKzZrxPXBq','ChjVBwLZzxm','zM5mDem','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','swXly2G','DxbSB2fKrgLY','ndy0mZqYne1zCgXezW','vvbmt0fex0rjuG','B3jPz2LUywXUyw1L','vMDuDwO','zxjYB3i','mZm4ndaWogftv3LbBW','Aevjwxu','BwTKAxjtEw5J','mtrUz2fLEwW','mZbeAhnks0K','AM9PBG','DxbSB2fKx2HHBMrSzxjFAw5PDa','z2v0u3rVCMfNzq','x3vWBg9HzerPCG','C2LUz2XL','tK5rvKm','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','Agv4','z2v0vxbSB2fKtwLKzgXLD2fYzq','ndu0mtCYmgvfCur1Aq','zw52','ndu5odK0Dw9vugT1','mNzLD1LJra','lI9SB2DNzxi','lNHSCW','y3j5ChrV','mtm1ntu4mgvhrLvezG','Dg9tDhjPBMC','mZeYmdqYnLPWrvzKsW','Cgf0Aa','Bwf4rMLSzvnPEMu','BwvZC2fNzq','zgvSzxrLrMLSzq'];a0_0x48e5=function(){return _0xfe5035;};return a0_0x48e5();}const a0_0xb6d8e1=a0_0x4c2c;(function(_0x2ce799,_0x33ed9b){const _0x439638=a0_0x4c2c,_0x52f2be=_0x2ce799();while(!![]){try{const _0x2e874b=parseInt(_0x439638(0x211))/0x1*(-parseInt(_0x439638(0x210))/0x2)+-parseInt(_0x439638(0x1f5))/0x3+parseInt(_0x439638(0x215))/0x4+parseInt(_0x439638(0x20e))/0x5+-parseInt(_0x439638(0x1ed))/0x6+-parseInt(_0x439638(0x203))/0x7*(parseInt(_0x439638(0x200))/0x8)+-parseInt(_0x439638(0x1fb))/0x9*(-parseInt(_0x439638(0x204))/0xa);if(_0x2e874b===_0x33ed9b)break;else _0x52f2be['push'](_0x52f2be['shift']());}catch(_0x22a91f){_0x52f2be['push'](_0x52f2be['shift']());}}}(a0_0x48e5,0x824b6));const multer=require('multer'),path=require(a0_0xb6d8e1(0x1ee)),crypto=require(a0_0xb6d8e1(0x214)),fs=require('fs')[a0_0xb6d8e1(0x1f6)],fsSync=require('fs'),{logger}=require(a0_0xb6d8e1(0x212));class UploadHandler{constructor(){const _0x15eea6=a0_0xb6d8e1,_0x166e21={'hEIYu':function(_0x428871,_0xd40da5){return _0x428871*_0xd40da5;}};this['_uploadDir']=null,this[_0x15eea6(0x1ef)]=_0x166e21[_0x15eea6(0x201)](_0x166e21[_0x15eea6(0x201)](0xa,0x400),0x400);}get['uploadDir'](){const _0xebcf3d=a0_0xb6d8e1,_0x3bc8bf={'uIIlo':_0xebcf3d(0x1f2),'LGZRV':_0xebcf3d(0x206),'TvQpd':'upload_handler_init_error'};if(!this[_0xebcf3d(0x208)]){const _0x2e16ab=process['env']['RESTFORGE_PROJECT_NAME']||_0x3bc8bf['uIIlo'];this['_uploadDir']=process[_0xebcf3d(0x20f)][_0xebcf3d(0x1fc)]||path[_0xebcf3d(0x205)](__dirname,'../../temp/uploads/'+_0x2e16ab);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0xebcf3d(0x202)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x3bc8bf['LGZRV'],'dir':this[_0xebcf3d(0x208)]},_0xebcf3d(0x1f3));}catch(_0x5a7504){logger[_0xebcf3d(0x1ff)]({'event':_0x3bc8bf['TvQpd'],'error':_0x5a7504['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}[a0_0xb6d8e1(0x207)](){const _0x5ae8de=a0_0xb6d8e1,_0x2c405d={'IlKch':_0x5ae8de(0x20c),'OSjEh':function(_0x3a0e50,_0x2b271d,_0x1f4f2e){return _0x3a0e50(_0x2b271d,_0x1f4f2e);}};return multer['diskStorage']({'destination':(_0x341ef4,_0x33a255,_0x1d4f9d)=>{const _0x57d002=_0x5ae8de;!fsSync['existsSync'](this[_0x57d002(0x1fa)])&&fsSync[_0x57d002(0x202)](this['uploadDir'],{'recursive':!![]}),_0x1d4f9d(null,this[_0x57d002(0x1fa)]);},'filename':(_0x5a1cbf,_0x25cd4c,_0x5e3dca)=>{const _0x31a48b=_0x5ae8de,_0x51296=crypto['randomBytes'](0x8)[_0x31a48b(0x216)](_0x2c405d[_0x31a48b(0x1f9)]),_0x2cafa4=Date['now'](),_0x227cb2=path['extname'](_0x25cd4c['originalname']);_0x2c405d['OSjEh'](_0x5e3dca,null,'upload-'+_0x2cafa4+'-'+_0x51296+_0x227cb2);}});}[a0_0xb6d8e1(0x20d)](){const _0x5a6954=a0_0xb6d8e1,_0x45c441={'VgTuj':_0x5a6954(0x1f8),'fnLtC':_0x5a6954(0x213)};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this[_0x5a6954(0x1ef)],'files':0x1},'fileFilter':(_0x1a5a45,_0x4732f2,_0x32bfce)=>{const _0x1d01d8=_0x5a6954,_0x3301b8=[_0x45c441[_0x1d01d8(0x1fe)],'application/vnd.ms-excel'],_0x4deaff=[_0x1d01d8(0x1f4),_0x45c441[_0x1d01d8(0x1f7)]],_0x1c8962=path['extname'](_0x4732f2[_0x1d01d8(0x1fd)])['toLowerCase']();_0x3301b8['includes'](_0x4732f2['mimetype'])&&_0x4deaff['includes'](_0x1c8962)?_0x32bfce(null,!![]):_0x32bfce(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x5a6954(0x209)]('file');}async[a0_0xb6d8e1(0x1f1)](_0x263676){const _0xd5ac1e=a0_0xb6d8e1,_0x31bf12={'NNQVC':'upload_file_delete_error'};try{await fs['unlink'](_0x263676),logger['info']({'event':'upload_file_deleted','filePath':_0x263676},'Uploaded\x20file\x20deleted');}catch(_0x1510cd){logger['error']({'event':_0x31bf12[_0xd5ac1e(0x20a)],'filePath':_0x263676,'error':_0x1510cd[_0xd5ac1e(0x1f0)]},_0xd5ac1e(0x20b));}}}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
+ const a0_0x25f1b6=a0_0x2720;(function(_0x10d051,_0xf2fa84){const _0x26d50=a0_0x2720,_0x4c5fa6=_0x10d051();while(!![]){try{const _0x14f1b9=parseInt(_0x26d50(0x110))/0x1*(parseInt(_0x26d50(0xb8))/0x2)+-parseInt(_0x26d50(0xb6))/0x3+-parseInt(_0x26d50(0xfb))/0x4*(parseInt(_0x26d50(0xda))/0x5)+parseInt(_0x26d50(0xe9))/0x6+parseInt(_0x26d50(0xfd))/0x7+parseInt(_0x26d50(0x111))/0x8*(parseInt(_0x26d50(0x10b))/0x9)+parseInt(_0x26d50(0x109))/0xa*(-parseInt(_0x26d50(0xf8))/0xb);if(_0x14f1b9===_0xf2fa84)break;else _0x4c5fa6['push'](_0x4c5fa6['shift']());}catch(_0x34f715){_0x4c5fa6['push'](_0x4c5fa6['shift']());}}}(a0_0x1a6e,0x35a4a));const {logger}=require(a0_0x25f1b6(0x112)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x25f1b6(0xc9),'ORACLE':a0_0x25f1b6(0xde),'SQLITE':a0_0x25f1b6(0xd5)};class UpsertBuilder{['getDatabaseType'](){const _0x3705ab=a0_0x25f1b6,_0x662991={'qclQe':'postgresql'},_0x4bf33c=(process[_0x3705ab(0xd2)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0x4cb208=Object[_0x3705ab(0xcb)](DB_TYPES);if(!_0x4cb208[_0x3705ab(0xcc)](_0x4bf33c))return logger['warn']({'event':_0x3705ab(0xbd),'provided':_0x4bf33c,'fallback':_0x662991['qclQe']},'Invalid\x20DB_TYPE:\x20'+_0x4bf33c+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x4bf33c;}['formatDateValue'](_0xf651c7,_0x221b75,_0x276cad=![]){const _0x36be92=a0_0x25f1b6,_0x422af2={'AlDET':'NULL::DATE'};if(_0x276cad)switch(_0x221b75){case DB_TYPES[_0x36be92(0xdc)]:return _0x422af2[_0x36be92(0xd7)];case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0x36be92(0xc1);default:return _0x36be92(0xf5);}switch(_0x221b75){case DB_TYPES['POSTGRESQL']:return _0xf651c7+_0x36be92(0xc6);case DB_TYPES['MYSQL']:return _0xf651c7;case DB_TYPES['SQLITE']:return _0xf651c7;case DB_TYPES[_0x36be92(0xc3)]:return _0x36be92(0x101)+_0xf651c7+'\x20AS\x20DATE)';case DB_TYPES['ORACLE']:return'TO_DATE('+_0xf651c7+_0x36be92(0xea);default:return _0xf651c7+_0x36be92(0xc6);}}[a0_0x25f1b6(0x10a)](_0x164cdd,_0x5894c2,_0x2fa114=![]){const _0x42889f=a0_0x25f1b6;if(_0x2fa114)switch(_0x5894c2){case DB_TYPES['POSTGRESQL']:return _0x42889f(0xe8);default:return _0x42889f(0xc1);}switch(_0x5894c2){case DB_TYPES[_0x42889f(0xdc)]:return _0x164cdd+'::BOOLEAN';case DB_TYPES[_0x42889f(0xf3)]:return _0x164cdd;case DB_TYPES['MYSQL']:return _0x164cdd;case DB_TYPES[_0x42889f(0xbe)]:return _0x164cdd;case DB_TYPES['SQLSERVER']:return _0x42889f(0x101)+_0x164cdd+'\x20AS\x20BIT)';default:return _0x164cdd+_0x42889f(0xbf);}}[a0_0x25f1b6(0xfa)](_0x4108de={}){const _0x1cae4e=a0_0x25f1b6,_0x3d537d={'tBFlE':function(_0x198956,_0x23c9de){return _0x198956===_0x23c9de;},'jkJHc':_0x1cae4e(0xec),'qBNUP':_0x1cae4e(0x103),'jpCwn':function(_0x1eeb88,_0x477f94){return _0x1eeb88===_0x477f94;},'ZoXYc':function(_0x317716,_0x5dcaf3){return _0x317716(_0x5dcaf3);}},_0x1ec4f6=this['getDatabaseType']();return(_0x2d005a,_0x13e6fc)=>{const _0x12343c=_0x1cae4e,_0x3bc664=_0x4108de[_0x13e6fc];if(_0x3d537d[_0x12343c(0xdb)](_0x2d005a,null)||_0x2d005a===undefined){if(_0x3bc664&&_0x3bc664['type']==='date')return this['formatDateValue'](null,_0x1ec4f6,!![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this[_0x12343c(0x10a)](null,_0x1ec4f6,!![]);return _0x12343c(0xc1);}if(typeof _0x2d005a===_0x12343c(0xf6)){const _0x593118='\x27'+_0x2d005a[_0x12343c(0xf7)](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3bc664['type']===_0x3d537d[_0x12343c(0xff)])return this[_0x12343c(0xbb)](_0x593118,_0x1ec4f6,![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this['formatBooleanValue'](_0x593118,_0x1ec4f6,![]);return _0x593118;}if(_0x3d537d['jpCwn'](typeof _0x2d005a,'number'))return _0x2d005a;if(typeof _0x2d005a===_0x12343c(0xec))return _0x2d005a;const _0x2b845a='\x27'+_0x3d537d[_0x12343c(0xdd)](String,_0x2d005a)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3d537d['tBFlE'](_0x3bc664[_0x12343c(0xca)],_0x3d537d[_0x12343c(0xff)]))return this['formatDateValue'](_0x2b845a,_0x1ec4f6,![]);return _0x2b845a;};}['buildBatchInsert'](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677={}){const _0x1ad1b2=a0_0x25f1b6,_0x42bcfb={'pcZjo':function(_0x2de674,_0x411751){return _0x2de674===_0x411751;}},_0x35cd70=this['getDatabaseType']();if(_0x42bcfb[_0x1ad1b2(0xe0)](_0x35cd70,DB_TYPES[_0x1ad1b2(0xf3)]))return this[_0x1ad1b2(0xd4)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);return this[_0x1ad1b2(0xc7)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);}['_buildBatchInsertPostgres'](_0x8193cc,_0x41c018,_0x22192e,_0x51ca4e={}){const _0x299505=a0_0x25f1b6,_0x3f0757={'XmlrG':function(_0x36e97e,_0x48f954){return _0x36e97e===_0x48f954;},'uIzoV':'batch_insert_built'};if(_0x3f0757[_0x299505(0xb5)](_0x8193cc['length'],0x0))return{'query':null,'values':[]};const _0x14cdd6=this[_0x299505(0xfa)](_0x51ca4e),_0x1127aa=_0x8193cc[_0x299505(0xee)](_0x5110d4=>{const _0x32d13f=_0x299505,_0x55bae=_0x22192e[_0x32d13f(0xee)](_0x368c15=>_0x14cdd6(_0x5110d4[_0x368c15],_0x368c15));return'('+_0x55bae[_0x32d13f(0xc8)](',\x20')+')';}),_0xbb5c34='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x41c018+'\x20('+_0x22192e[_0x299505(0xc8)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1127aa[_0x299505(0xc8)](_0x299505(0x113))+_0x299505(0x10e);return logger[_0x299505(0xcf)]({'event':_0x3f0757['uIzoV'],'tableName':_0x41c018,'rowCount':_0x8193cc[_0x299505(0xc2)],'dbType':_0x299505(0xe4)},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0xbb5c34,'values':[]};}[a0_0x25f1b6(0xd4)](_0x3e347b,_0x3e5669,_0x22f2ab,_0x1976a9={}){const _0x32b3f6=a0_0x25f1b6,_0x4247f0={'SYnBv':function(_0x8a0cbf,_0x3e8af5){return _0x8a0cbf===_0x3e8af5;},'doerB':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x4247f0[_0x32b3f6(0xe1)](_0x3e347b['length'],0x0))return{'query':null,'values':[]};const _0x4b1098=this[_0x32b3f6(0xfa)](_0x1976a9),_0x36f1f7=_0x3e347b['map'](_0x34e50c=>{const _0xdb153b=_0x32b3f6,_0x19e32c=_0x22f2ab[_0xdb153b(0xee)](_0x4367ba=>_0x4b1098(_0x34e50c[_0x4367ba],_0x4367ba));return'\x20\x20INTO\x20'+_0x3e5669+'\x20('+_0x22f2ab[_0xdb153b(0xc8)](',\x20')+_0xdb153b(0xef)+_0x19e32c[_0xdb153b(0xc8)](',\x20')+')';}),_0x172208=_0x32b3f6(0xb9)+_0x36f1f7[_0x32b3f6(0xc8)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x32b3f6(0xcf)]({'event':'batch_insert_built','tableName':_0x3e5669,'rowCount':_0x3e347b[_0x32b3f6(0xc2)],'dbType':_0x32b3f6(0xde)},_0x4247f0[_0x32b3f6(0xf9)]),{'query':_0x172208,'values':[]};}['buildBatchUpdate'](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899={}){const _0x93bdb7=a0_0x25f1b6,_0x32cc0a={'NGtFU':function(_0x2e6d38,_0x5c2546){return _0x2e6d38===_0x5c2546;}},_0x3df503=this[_0x93bdb7(0xe3)]();if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['ORACLE']))return this[_0x93bdb7(0xf2)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['MYSQL']))return this[_0x93bdb7(0xf0)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);return this[_0x93bdb7(0x107)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);}[a0_0x25f1b6(0x107)](_0x211f4d,_0x310999,_0xb35e18,_0x2457d9,_0x5b7235,_0x2d1c3c={}){const _0x57deba=a0_0x25f1b6,_0x68f814={'NQvzI':function(_0xb471d,_0xbf5b79){return _0xb471d===_0xbf5b79;},'oSzIo':_0x57deba(0xd3),'pHXTD':'\x20AND\x20','spBLx':_0x57deba(0xeb)};if(_0x211f4d[_0x57deba(0xc2)]===0x0)return{'query':null,'values':[]};const _0x5e85fd=this['buildEscapeFunction'](_0x2d1c3c),_0x41e22a=_0xb35e18['filter'](_0x15f4f6=>!_0x5b7235['includes'](_0x15f4f6)&&_0x15f4f6!==_0x2457d9);if(_0x68f814[_0x57deba(0xd6)](_0x41e22a['length'],0x0))return logger[_0x57deba(0xc5)]({'event':'batch_update_no_columns','tableName':_0x310999},_0x68f814['oSzIo']),{'query':null,'values':[]};const _0x21a894=_0x211f4d[_0x57deba(0xee)](_0x30dd58=>{const _0x4ad332=_0x57deba,_0x15bc50=[..._0x5b7235,..._0x41e22a],_0x3d6f43=_0x15bc50[_0x4ad332(0xee)](_0x1a3a1b=>_0x5e85fd(_0x30dd58[_0x1a3a1b],_0x1a3a1b));return'('+_0x3d6f43['join'](',\x20')+')';}),_0x22457a=_0x41e22a['map'](_0x1b700f=>_0x1b700f+'\x20=\x20v.'+_0x1b700f)[_0x57deba(0xc8)](_0x57deba(0xe7)),_0x5be3ee=_0x5b7235['map'](_0x5924ad=>'t.'+_0x5924ad+_0x57deba(0xba)+_0x5924ad)[_0x57deba(0xc8)](_0x68f814[_0x57deba(0x10c)]),_0x3a2b70='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x310999+_0x57deba(0xdf)+_0x22457a+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x21a894['join'](_0x68f814['spBLx'])+_0x57deba(0xce)+[..._0x5b7235,..._0x41e22a]['join'](',\x20')+_0x57deba(0x104)+_0x5be3ee+_0x57deba(0x10e);return logger[_0x57deba(0xcf)]({'event':_0x57deba(0xd9),'tableName':_0x310999,'rowCount':_0x211f4d[_0x57deba(0xc2)],'updateColumns':_0x41e22a[_0x57deba(0xc2)],'dbType':'postgresql'},_0x57deba(0x100)),{'query':_0x3a2b70,'values':[]};}[a0_0x25f1b6(0xf2)](_0x182918,_0x581fc3,_0x397f63,_0x4923dd,_0x26031c,_0x4553e0={}){const _0x618b11=a0_0x25f1b6,_0x3ac5ab={'YCSlB':function(_0x440b47,_0x1236a4){return _0x440b47===_0x1236a4;},'EtRfW':function(_0x51a2c1,_0x494753){return _0x51a2c1===_0x494753;},'JFNAt':'batch_update_no_columns','qnAAQ':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','MyiFE':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','UzXfq':'oracle'};if(_0x182918['length']===0x0)return{'query':null,'values':[]};const _0x319f9a=this['buildEscapeFunction'](_0x4553e0),_0x35eead=_0x397f63[_0x618b11(0x105)](_0x3e3c5d=>!_0x26031c['includes'](_0x3e3c5d)&&_0x3e3c5d!==_0x4923dd);if(_0x3ac5ab[_0x618b11(0xc4)](_0x35eead[_0x618b11(0xc2)],0x0))return logger[_0x618b11(0xc5)]({'event':_0x3ac5ab[_0x618b11(0xc0)],'tableName':_0x581fc3},_0x3ac5ab[_0x618b11(0xd0)]),{'query':null,'values':[]};const _0x3778a9=[..._0x26031c,..._0x35eead],_0x5a0d1a=_0x182918['map']((_0x58477b,_0x2e71a5)=>{const _0x283abb=_0x618b11,_0xb22487={'BbzEq':function(_0x18e210,_0x5892a6){const _0x2c3a59=a0_0x2720;return _0x3ac5ab[_0x2c3a59(0xfc)](_0x18e210,_0x5892a6);}},_0x33b574=_0x3778a9['map'](_0x21878a=>{const _0x1d4118=_0x319f9a(_0x58477b[_0x21878a],_0x21878a);return _0xb22487['BbzEq'](_0x2e71a5,0x0)?_0x1d4118+'\x20AS\x20'+_0x21878a:_0x1d4118;});return'\x20\x20\x20\x20SELECT\x20'+_0x33b574['join'](',\x20')+_0x283abb(0xe6);}),_0x3d0cfb=_0x35eead[_0x618b11(0xee)](_0x379064=>'t.'+_0x379064+_0x618b11(0xba)+_0x379064)['join'](_0x618b11(0xe7)),_0xe4ea30=_0x26031c['map'](_0xe5fef8=>'t.'+_0xe5fef8+'\x20=\x20v.'+_0xe5fef8)['join'](_0x618b11(0xe2)),_0x2b289d=_0x618b11(0xe5)+_0x581fc3+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x5a0d1a['join'](_0x3ac5ab[_0x618b11(0x10f)])+_0x618b11(0x106)+_0xe4ea30+_0x618b11(0xbc)+_0x3d0cfb+_0x618b11(0x10e);return logger[_0x618b11(0xcf)]({'event':_0x618b11(0xd9),'tableName':_0x581fc3,'rowCount':_0x182918[_0x618b11(0xc2)],'updateColumns':_0x35eead[_0x618b11(0xc2)],'dbType':_0x3ac5ab[_0x618b11(0x102)]},_0x618b11(0xcd)),{'query':_0x2b289d,'values':[]};}[a0_0x25f1b6(0xf0)](_0x458094,_0xc03672,_0x43c60f,_0xed13de,_0x45fdd6,_0x279b8f={}){const _0x4e25cb=a0_0x25f1b6,_0x3cecc8={'htSkD':function(_0x5cfd71,_0x150e97){return _0x5cfd71===_0x150e97;},'sunKy':_0x4e25cb(0xfe)};if(_0x3cecc8['htSkD'](_0x458094[_0x4e25cb(0xc2)],0x0))return{'query':null,'values':[]};const _0x6db82=this['buildEscapeFunction'](_0x279b8f),_0x228d90=_0x43c60f['filter'](_0x1a8584=>!_0x45fdd6['includes'](_0x1a8584)&&_0x1a8584!==_0xed13de);if(_0x228d90['length']===0x0)return logger[_0x4e25cb(0xc5)]({'event':'batch_update_no_columns','tableName':_0xc03672},_0x4e25cb(0xd3)),{'query':null,'values':[]};const _0x49da91=[...new Set([..._0x45fdd6,..._0x228d90])],_0x52298e=_0x458094['map'](_0xd9e4ae=>{const _0x212f6f=_0x4e25cb,_0x2f1b9d=_0x49da91[_0x212f6f(0xee)](_0x2f1878=>_0x6db82(_0xd9e4ae[_0x2f1878],_0x2f1878));return'('+_0x2f1b9d['join'](',\x20')+')';}),_0x58edd4=_0x228d90['map'](_0xeb3cf4=>_0xeb3cf4+_0x4e25cb(0xf1)+_0xeb3cf4+')')[_0x4e25cb(0xc8)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0xbdad36=_0x4e25cb(0x10d)+_0xc03672+'\x20('+_0x49da91[_0x4e25cb(0xc8)](',\x20')+_0x4e25cb(0xd1)+_0x52298e['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x4e25cb(0x108)+_0x58edd4+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x4e25cb(0xd9),'tableName':_0xc03672,'rowCount':_0x458094[_0x4e25cb(0xc2)],'updateColumns':_0x228d90[_0x4e25cb(0xc2)],'dbType':_0x3cecc8['sunKy']},'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'),{'query':_0xbdad36,'values':[]};}['chunkRows'](_0x4f3e1b,_0x35aa6a=0x64){const _0x153bc5=a0_0x25f1b6,_0x5a1463={'BKLjz':function(_0x36c83e,_0x4c95a7){return _0x36c83e<_0x4c95a7;},'QiqIh':function(_0x49df2c,_0x4ea38c){return _0x49df2c+_0x4ea38c;}},_0x3eee73=[];for(let _0xb1f272=0x0;_0x5a1463['BKLjz'](_0xb1f272,_0x4f3e1b[_0x153bc5(0xc2)]);_0xb1f272+=_0x35aa6a){_0x3eee73[_0x153bc5(0xb7)](_0x4f3e1b['slice'](_0xb1f272,_0x5a1463['QiqIh'](_0xb1f272,_0x35aa6a)));}return _0x3eee73;}}function a0_0x1a6e(){const _0x2edc61=['zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','Aw52ywXPzf9KyL90ExbL','u1fmsvrf','oJPct09mrufo','sKzoqxq','tLvmta','BgvUz3rO','u1fmu0vsvKvs','rxrszLC','D2fYBG','oJPeqvrf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','AM9PBG','C3fSC2vYDMvY','DhLWzq','DMfSDwvZ','Aw5JBhvKzxm','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','cIaGicaGicKGqvmGDIG','zgvIDwC','Cw5bqve','kqOGicaGicbwquXvrvmG','zw52','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3fSAxrL','tLf2EKK','qwXervq','zxHWB3j0CW','yMf0y2HFDxbKyxrLx2j1AwX0','mJKYmtv2qxHlrfa','DejgBeu','ue9tveDsrvnrta','wM9ywwm','B3jHy2XL','ieftihqkicaGicaGu0vuia','CgnAAM8','u1LUqNy','ieforca','z2v0rgf0ywjHC2vuExbL','Cg9ZDgDYzxnXBa','cIaGicaGie1fuKDfieLove8G','iezst00Grfvbta','laOGicaGicaGica','tLvmtdO6qK9ptevbtG','mtqZnZi5nejSquDOwa','lcaNwvLzws1nts1ercCP','laOGicaGicaGia','yM9VBgvHBG','AMTksgm','BwfW','ksbwquXvrvmGka','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','id0GvKfmvuvtka','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','t1jbq0Xf','tKD0rLu','tLvmtdO6refurq','C3rYAw5N','CMvWBgfJzq','ndu3nZm1m1PUwhHLvq','zg9LCKi','yNvPBgrfC2nHCgvgDw5JDgLVBG','mtuYCfzHA1bm','wuntBei','mJa4nJi1ovPhz2jeCa','BxLZCwW','Cujovva','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','q0ftvcG','vxPyzNe','zgf0zq','kqOGicaGicbxsevsrsa','zMLSDgvY','cIaGicaGicKGDGOGicaGicbptIaO','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','mtbru1rHtfC','zM9YBwf0qM9VBgvHBLzHBhvL','mtyZntnwquHlAw8','CeHyveq','cIaGicaGieLou0vsvcbjtLrpia','cIaGica','txLPrKu','n215Evb1sa','mtqWmgHUu1jcta','lI9SB2DNzxi','laOGicaGicaG','wg1SCKC','mZCXota3sKLSDM9H','ChvZAa','mZyWodj1rNfsBLG','su5trvjuiefmtaO','id0GDI4'];a0_0x1a6e=function(){return _0x2edc61;};return a0_0x1a6e();}function a0_0x2720(_0x3041ac,_0x26527a){_0x3041ac=_0x3041ac-0xb5;const _0x1a6e2d=a0_0x1a6e();let _0x27204e=_0x1a6e2d[_0x3041ac];if(a0_0x2720['aQdAup']===undefined){var _0x53760f=function(_0x54893b){const _0x5d61eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x517243='',_0x813df4='';for(let _0x69aea4=0x0,_0x5edb7d,_0x44aac4,_0x58273d=0x0;_0x44aac4=_0x54893b['charAt'](_0x58273d++);~_0x44aac4&&(_0x5edb7d=_0x69aea4%0x4?_0x5edb7d*0x40+_0x44aac4:_0x44aac4,_0x69aea4++%0x4)?_0x517243+=String['fromCharCode'](0xff&_0x5edb7d>>(-0x2*_0x69aea4&0x6)):0x0){_0x44aac4=_0x5d61eb['indexOf'](_0x44aac4);}for(let _0x4c277d=0x0,_0x5a7fee=_0x517243['length'];_0x4c277d<_0x5a7fee;_0x4c277d++){_0x813df4+='%'+('00'+_0x517243['charCodeAt'](_0x4c277d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x813df4);};a0_0x2720['ONAKQS']=_0x53760f,a0_0x2720['enJlhb']={},a0_0x2720['aQdAup']=!![];}const _0x3c3257=_0x1a6e2d[0x0],_0x8cf21a=_0x3041ac+_0x3c3257,_0x3281a7=a0_0x2720['enJlhb'][_0x8cf21a];return!_0x3281a7?(_0x27204e=a0_0x2720['ONAKQS'](_0x27204e),a0_0x2720['enJlhb'][_0x8cf21a]=_0x27204e):_0x27204e=_0x3281a7,_0x27204e;}module[a0_0x25f1b6(0xd8)]=new UpsertBuilder();
@@ -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(_0x39d04d,_0x2367a8){const _0x4d3def=a0_0xad50,_0x3a99bf=_0x39d04d();while(!![]){try{const _0x3e1bea=parseInt(_0x4d3def(0x143))/0x1+parseInt(_0x4d3def(0x132))/0x2+parseInt(_0x4d3def(0x142))/0x3*(-parseInt(_0x4d3def(0x151))/0x4)+parseInt(_0x4d3def(0x135))/0x5*(-parseInt(_0x4d3def(0x14f))/0x6)+parseInt(_0x4d3def(0x15a))/0x7*(parseInt(_0x4d3def(0x13e))/0x8)+parseInt(_0x4d3def(0x131))/0x9+-parseInt(_0x4d3def(0x13a))/0xa;if(_0x3e1bea===_0x2367a8)break;else _0x3a99bf['push'](_0x3a99bf['shift']());}catch(_0x371dee){_0x3a99bf['push'](_0x3a99bf['shift']());}}}(a0_0x17f0,0x1afd8));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x4f65af,_0x4fa621){const _0x441281=a0_0xad50,_0x24c524={'BCupH':function(_0x410259,_0x3e1427){return _0x410259!==_0x3e1427;},'gtTKB':_0x441281(0x169),'jDyjb':_0x441281(0x14c)};if(typeof _0x4f65af!==_0x24c524[_0x441281(0x134)])return _0x4f65af;return _0x4f65af[_0x441281(0x133)](/\{\{([^}]+)\}\}/g,(_0x3e1b2a,_0x961297)=>{const _0x3f38cf=_0x441281,_0x515dab=_0x961297['trim'](),_0x4998b4=getNestedValue(_0x4fa621,_0x515dab);if(_0x24c524['BCupH'](_0x4998b4,undefined)&&_0x24c524['BCupH'](_0x4998b4,null))return typeof _0x4998b4===_0x24c524[_0x3f38cf(0x146)]?JSON[_0x3f38cf(0x14e)](_0x4998b4):String(_0x4998b4);return _0x3e1b2a;});}function a0_0xad50(_0x3b184c,_0x29c12c){_0x3b184c=_0x3b184c-0x131;const _0x17f0c6=a0_0x17f0();let _0xad5097=_0x17f0c6[_0x3b184c];if(a0_0xad50['cosAva']===undefined){var _0x4a3fb6=function(_0x5d2850){const _0x53294c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d7158='',_0x2d8f46='';for(let _0x2efe3d=0x0,_0x288317,_0x429ada,_0x4f7e1a=0x0;_0x429ada=_0x5d2850['charAt'](_0x4f7e1a++);~_0x429ada&&(_0x288317=_0x2efe3d%0x4?_0x288317*0x40+_0x429ada:_0x429ada,_0x2efe3d++%0x4)?_0x2d7158+=String['fromCharCode'](0xff&_0x288317>>(-0x2*_0x2efe3d&0x6)):0x0){_0x429ada=_0x53294c['indexOf'](_0x429ada);}for(let _0x267c33=0x0,_0x416839=_0x2d7158['length'];_0x267c33<_0x416839;_0x267c33++){_0x2d8f46+='%'+('00'+_0x2d7158['charCodeAt'](_0x267c33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8f46);};a0_0xad50['jEgppK']=_0x4a3fb6,a0_0xad50['HORQGO']={},a0_0xad50['cosAva']=!![];}const _0x204052=_0x17f0c6[0x0],_0x18cedf=_0x3b184c+_0x204052,_0x3282c6=a0_0xad50['HORQGO'][_0x18cedf];return!_0x3282c6?(_0xad5097=a0_0xad50['jEgppK'](_0xad5097),a0_0xad50['HORQGO'][_0x18cedf]=_0xad5097):_0xad5097=_0x3282c6,_0xad5097;}function resolveTemplateVariables(_0x58c695,_0x4aae4c){const _0x1c4197=a0_0xad50,_0x1b680b={'joMpI':function(_0xe35aba,_0x5a9754){return _0xe35aba===_0x5a9754;},'lbGWg':'string'};if(_0x1b680b['joMpI'](typeof _0x58c695,_0x1b680b['lbGWg']))return resolveTemplateString(_0x58c695,_0x4aae4c);if(Array['isArray'](_0x58c695))return _0x58c695[_0x1c4197(0x13f)](_0xd814d0=>resolveTemplateVariables(_0xd814d0,_0x4aae4c));if(_0x58c695!==null&&typeof _0x58c695===_0x1c4197(0x169)){const _0xabb459={};for(const [_0x101c06,_0x954c61]of Object['entries'](_0x58c695)){_0xabb459[_0x101c06]=resolveTemplateVariables(_0x954c61,_0x4aae4c);}return _0xabb459;}return _0x58c695;}function a0_0x17f0(){const _0x4f3f66=['mtbRww92BM8','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','BwvZC2fNzq','Dg9mB3DLCKnHC2u','yxbP','mJa1nJuYmeTuzKfeBW','C296zgS','ChvZAa','sfruuca','odq1ndy0ugLYDNLl','BwfW','q0zhB2S','yxv0AeHLywrLCG','nMrLuMTxuq','otuXmtvxELfpu3O','C3rHCNrZv2L0Aa','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','z3rus0i','DxnLCKLK','DxjS','Ahr0Chm6lY8','CMvKDwnL','uMvZDezVCMDLlvDVCMTMBg93lZeUma','C3rYAw5N','iokgKIa','C3rYAw5NAwz5','mZe1mdKWDhjqwhHU','CMvTyxjRCW','mte4nduYwenqyvrl','BgvUz3rO','yM9KEq','yMXVy2TPBMC','AgvHzgvYCW','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Bwv0Ag9K','Egj3sgW','seLuzNq','n2XMsNLhBa','DhLWzq','DMnLu24','qxv0Ag9YAxPHDgLVBG','sg9VAYbLEgvJDxrPB24GzMfPBgvK','CMvXDwvZDerHDge','u0vsvKvsx0ferfjfu1m','AxnbCNjHEq','B2XKu3rHDhvZ','C3vJy2vZCW','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','yNvWBNK','l2fWAs8','BMv3u3rHDhvZ','C3rHDhvZ','B2jQzwn0','q2voyMW','zw52','mte2mJuZmffqtMDhCW','mZaWotG0zM56Bhf5','CMvWBgfJzq','AKr5AMi'];a0_0x17f0=function(){return _0x4f3f66;};return a0_0x17f0();}function getNestedValue(_0x14f8e0,_0x27807b){const _0x14c416=a0_0xad50;return _0x27807b['split']('.')[_0x14c416(0x14a)]((_0x117498,_0x26dad4)=>{return _0x117498&&_0x117498[_0x26dad4]!==undefined?_0x117498[_0x26dad4]:undefined;},_0x14f8e0);}function resolveUrl(_0x47a5b3,_0xb3ecf0){const _0xa3e186=a0_0xad50,_0x543446={'HITft':'http://','zSvmX':_0xa3e186(0x149),'vceSn':_0xa3e186(0x166)};if(!_0x47a5b3||typeof _0x47a5b3!==_0xa3e186(0x14c))return _0x47a5b3;if(_0x47a5b3['startsWith'](_0x543446[_0xa3e186(0x159)])||_0x47a5b3[_0xa3e186(0x144)](_0x543446['zSvmX']))return _0x47a5b3;const _0x4119fa=process['env'][_0xa3e186(0x160)]||process['env']['HOST']||DEFAULT_HOST,_0x3bff06=process[_0xa3e186(0x16b)]['PORT']||DEFAULT_PORT,_0x25f73d='http://'+_0x4119fa+':'+_0x3bff06;if(_0x47a5b3[_0xa3e186(0x144)](_0x543446[_0xa3e186(0x15c)]))return''+_0x25f73d+_0x47a5b3;if(_0x47a5b3['startsWith']('/')){const _0x44f2c1=_0xb3ecf0&&_0xb3ecf0['project']||'';if(_0x44f2c1)return _0x25f73d+_0xa3e186(0x166)+_0x44f2c1+_0x47a5b3;return''+_0x25f73d+_0x47a5b3;}return _0x47a5b3;}function buildHookContext(_0x355c05){const _0x2460be=a0_0xad50;return{'id':_0x355c05['id']||'','newStatus':_0x355c05[_0x2460be(0x167)]||'','oldStatus':_0x355c05[_0x2460be(0x162)]||'','remarks':_0x355c05[_0x2460be(0x150)]||'','tableName':_0x355c05['tableName']||'','user_id':_0x355c05[_0x2460be(0x147)]||'system','timestamp':new Date()['toISOString'](),'record':_0x355c05['record']||{},'requestData':_0x355c05[_0x2460be(0x15f)]||{},'project':_0x355c05['project']||'','authHeader':_0x355c05['authHeader']||null};}async function executeHook(_0x380f16,_0x46b073){const _0x4f2e18=a0_0xad50,_0x1cc874={'sozdk':function(_0x292ea3,_0x50d72a){return _0x292ea3!==_0x50d72a;},'CeNbl':_0x4f2e18(0x139),'uWTkK':_0x4f2e18(0x156),'bupny':function(_0x268185,_0x574eb7){return _0x268185===_0x574eb7;},'xbwHl':function(_0x12405b,_0x1030e5,_0x47c536){return _0x12405b(_0x1030e5,_0x47c536);},'CFGok':function(_0x58fb00,_0x7eb3a8){return _0x58fb00&&_0x7eb3a8;}};if(!_0x380f16||_0x1cc874[_0x4f2e18(0x13b)](_0x380f16[_0x4f2e18(0x15b)],_0x1cc874[_0x4f2e18(0x16a)]))return{'success':!![],'message':_0x1cc874['uWTkK']};const _0x38fef7=_0x1cc874[_0x4f2e18(0x165)](_0x380f16[_0x4f2e18(0x154)],!![]),_0x5df2c6=(_0x380f16[_0x4f2e18(0x157)]||DEFAULT_METHOD)['toUpperCase'](),_0x5724dd=_0x380f16['timeout']||DEFAULT_TIMEOUT,_0x53b800=_0x1cc874['xbwHl'](resolveTemplateString,_0x380f16[_0x4f2e18(0x148)],_0x46b073),_0xa13cba=resolveUrl(_0x53b800,_0x46b073),_0x264e0c=_0x380f16['body']?_0x1cc874[_0x4f2e18(0x158)](resolveTemplateVariables,_0x380f16[_0x4f2e18(0x153)],_0x46b073):{},_0x6c21d2=_0x380f16[_0x4f2e18(0x155)]?resolveTemplateVariables(_0x380f16[_0x4f2e18(0x155)],_0x46b073):{},_0x3c6096=_0x6c21d2&&(_0x6c21d2[_0x4f2e18(0x15d)]!==undefined||_0x1cc874[_0x4f2e18(0x13b)](_0x6c21d2['authorization'],undefined)),_0x53de45=_0x1cc874[_0x4f2e18(0x140)](!_0x3c6096,_0x46b073)&&_0x46b073[_0x4f2e18(0x141)]?{'Authorization':_0x46b073['authHeader']}:{};try{const _0x9402f7=await axios({'method':_0x5df2c6[_0x4f2e18(0x138)](),'url':_0xa13cba,'data':_0x264e0c,'headers':{'Content-Type':'application/json','User-Agent':_0x4f2e18(0x14b),..._0x53de45,..._0x6c21d2},'timeout':_0x5724dd});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0x9402f7['status']),{'success':!![],'message':_0x4f2e18(0x136),'status':_0x9402f7[_0x4f2e18(0x168)],'url':_0xa13cba};}catch(_0x7465){const _0xc91e32=_0x7465['response']?_0x4f2e18(0x13d)+_0x7465['response']['status']+':\x20'+_0x7465['response']['statusText']:_0x7465[_0x4f2e18(0x137)];console['error'](_0x4f2e18(0x164)+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0xc91e32);if(_0x38fef7)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0xc91e32,'error':_0xc91e32,'url':_0xa13cba};return console['warn'](_0x4f2e18(0x145)+_0xc91e32),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0xc91e32,'warning':_0xc91e32,'url':_0xa13cba};}}async function executeHooks(_0x5c3709,_0x851edd){const _0x15de07=a0_0xad50;if(!_0x5c3709||!Array[_0x15de07(0x161)](_0x5c3709)||_0x5c3709[_0x15de07(0x152)]===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x2e2fda=[];for(const _0x19d24a of _0x5c3709){const _0x449c85=await executeHook(_0x19d24a,_0x851edd);_0x2e2fda[_0x15de07(0x13c)](_0x449c85);if(!_0x449c85[_0x15de07(0x163)])return{'success':![],'error':_0x449c85['message']||_0x15de07(0x15e),'results':_0x2e2fda,'hooksExecuted':_0x2e2fda[_0x15de07(0x152)]};}return{'success':!![],'results':_0x2e2fda,'hooksExecuted':_0x2e2fda['length']};}module['exports']={'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
- }