@lovrabet/rabetbase-cli 2.5.2-beta.5 → 2.5.2-beta.6

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 (329) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/delete.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/init.js +1 -1
  56. package/lib/commands/config/list.js +1 -1
  57. package/lib/commands/config/set.js +1 -1
  58. package/lib/commands/config/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/business-groups.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-restore.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff-refresh-start.js +1 -1
  89. package/lib/commands/db/diff-refresh-status.js +1 -1
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/table-diff-shared.js +1 -1
  95. package/lib/commands/db/tables.js +1 -1
  96. package/lib/commands/db/test.js +1 -1
  97. package/lib/commands/db/update.js +1 -1
  98. package/lib/commands/deployment/index.js +1 -1
  99. package/lib/commands/deployment/sync-all.js +1 -1
  100. package/lib/commands/deployment/sync-jobs.js +1 -1
  101. package/lib/commands/deployment/sync-status.js +1 -1
  102. package/lib/commands/doctor.js +1 -1
  103. package/lib/commands/file/index.js +1 -1
  104. package/lib/commands/instant-api-policy/current.js +1 -1
  105. package/lib/commands/instant-api-policy/index.js +1 -1
  106. package/lib/commands/instant-api-policy/init.js +1 -1
  107. package/lib/commands/instant-api-policy/publish.js +1 -1
  108. package/lib/commands/instant-api-policy/pull.js +1 -1
  109. package/lib/commands/instant-api-policy/revision.js +1 -1
  110. package/lib/commands/instant-api-policy/revisions.js +1 -1
  111. package/lib/commands/instant-api-policy/rollback.js +1 -1
  112. package/lib/commands/instant-api-policy/shared.js +1 -1
  113. package/lib/commands/instant-api-policy/validate.js +1 -1
  114. package/lib/commands/issue/index.js +1 -1
  115. package/lib/commands/issue/nudge.js +1 -1
  116. package/lib/commands/issue/report.js +1 -1
  117. package/lib/commands/issue/shared.js +1 -1
  118. package/lib/commands/kb/create.js +1 -1
  119. package/lib/commands/kb/delete.js +1 -1
  120. package/lib/commands/kb/detail.js +1 -1
  121. package/lib/commands/kb/index.js +1 -1
  122. package/lib/commands/kb/list.js +1 -1
  123. package/lib/commands/kb/search.js +1 -1
  124. package/lib/commands/kb/shared.js +1 -1
  125. package/lib/commands/kb/update.js +1 -1
  126. package/lib/commands/logs/index.js +1 -1
  127. package/lib/commands/menu/asset-update.js +1 -1
  128. package/lib/commands/menu/delete.js +1 -1
  129. package/lib/commands/menu/external-link-create.js +1 -1
  130. package/lib/commands/menu/external-link-update.js +1 -1
  131. package/lib/commands/menu/group-create.js +1 -1
  132. package/lib/commands/menu/group-update.js +1 -1
  133. package/lib/commands/menu/index.js +1 -1
  134. package/lib/commands/menu/list.js +1 -1
  135. package/lib/commands/menu/move.js +1 -1
  136. package/lib/commands/menu/regroup-start.js +1 -1
  137. package/lib/commands/menu/rename.js +1 -1
  138. package/lib/commands/menu/shared/compare-table.js +1 -1
  139. package/lib/commands/menu/shared/delete-plan.js +1 -1
  140. package/lib/commands/menu/shared/facts.js +1 -1
  141. package/lib/commands/menu/shared/index.js +1 -1
  142. package/lib/commands/menu/shared/inquirer.js +1 -1
  143. package/lib/commands/menu/shared/local-pages.js +1 -1
  144. package/lib/commands/menu/shared/logic.js +1 -1
  145. package/lib/commands/menu/shared/mutations.js +1 -1
  146. package/lib/commands/menu/shared/service.js +1 -1
  147. package/lib/commands/menu/shared/sync-core.js +1 -1
  148. package/lib/commands/menu/shared/update-core.js +1 -1
  149. package/lib/commands/menu/shared/valid-url.js +1 -1
  150. package/lib/commands/menu/sync.js +1 -1
  151. package/lib/commands/menu/visibility-update.js +1 -1
  152. package/lib/commands/notification/config-create.js +1 -1
  153. package/lib/commands/notification/config-delete.js +1 -1
  154. package/lib/commands/notification/config-list.js +1 -1
  155. package/lib/commands/notification/config-update.js +1 -1
  156. package/lib/commands/notification/index.js +1 -1
  157. package/lib/commands/notification/shared.js +1 -1
  158. package/lib/commands/ocr/index.js +1 -1
  159. package/lib/commands/page/create.js +1 -1
  160. package/lib/commands/page/custom/detail.js +1 -1
  161. package/lib/commands/page/custom/list.js +1 -1
  162. package/lib/commands/page/custom/publish.js +1 -1
  163. package/lib/commands/page/custom/shared.js +1 -1
  164. package/lib/commands/page/custom/syntax.js +1 -1
  165. package/lib/commands/page/custom/update.js +1 -1
  166. package/lib/commands/page/data-list-status.js +1 -1
  167. package/lib/commands/page/generate-start.js +1 -1
  168. package/lib/commands/page/generate-status.js +1 -1
  169. package/lib/commands/page/index.js +1 -1
  170. package/lib/commands/page/pull.js +1 -1
  171. package/lib/commands/page/push.js +1 -1
  172. package/lib/commands/page/relation-audit.js +1 -1
  173. package/lib/commands/page/restore.js +1 -1
  174. package/lib/commands/page/shared.js +1 -1
  175. package/lib/commands/page/sync.js +1 -1
  176. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  177. package/lib/commands/project/create/format-elapsed.js +1 -1
  178. package/lib/commands/project/create/main.js +1 -1
  179. package/lib/commands/project/create/materialize-project-template.js +1 -1
  180. package/lib/commands/project/create/project-name.js +1 -1
  181. package/lib/commands/project/create/project-template-archive.js +1 -1
  182. package/lib/commands/project/create/project-template-path.js +1 -1
  183. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  184. package/lib/commands/project/create/use-format-code.js +1 -1
  185. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  186. package/lib/commands/project/domain-routing-sync.js +1 -1
  187. package/lib/commands/project/index.js +1 -1
  188. package/lib/commands/project/upgrade.js +1 -1
  189. package/lib/commands/registry.js +1 -1
  190. package/lib/commands/role/delete.js +1 -1
  191. package/lib/commands/role/detail.js +1 -1
  192. package/lib/commands/role/index.js +1 -1
  193. package/lib/commands/role/list.js +1 -1
  194. package/lib/commands/role/shared.js +1 -1
  195. package/lib/commands/role/update.js +1 -1
  196. package/lib/commands/role/user-add.js +1 -1
  197. package/lib/commands/role/user-remove.js +1 -1
  198. package/lib/commands/role/user-resolve.js +1 -1
  199. package/lib/commands/rule/get.js +1 -1
  200. package/lib/commands/rule/index.js +1 -1
  201. package/lib/commands/rule/list.js +1 -1
  202. package/lib/commands/rule/set.js +1 -1
  203. package/lib/commands/rule/shared.js +1 -1
  204. package/lib/commands/run/index.js +1 -1
  205. package/lib/commands/schema.js +1 -1
  206. package/lib/commands/sql/create.js +1 -1
  207. package/lib/commands/sql/delete.js +1 -1
  208. package/lib/commands/sql/detail.js +1 -1
  209. package/lib/commands/sql/exec.js +1 -1
  210. package/lib/commands/sql/index.js +1 -1
  211. package/lib/commands/sql/list.js +1 -1
  212. package/lib/commands/sql/pull.js +1 -1
  213. package/lib/commands/sql/push.js +1 -1
  214. package/lib/commands/sql/shared.js +1 -1
  215. package/lib/commands/sql/status.js +1 -1
  216. package/lib/commands/sql/validate.js +1 -1
  217. package/lib/commands/task/index.js +1 -1
  218. package/lib/commands/task/status.js +1 -1
  219. package/lib/commands/tenant/index.js +1 -1
  220. package/lib/commands/tenant/members-list.js +1 -1
  221. package/lib/commands/tenant/shared.js +1 -1
  222. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  223. package/lib/commands/user-account/index.js +1 -1
  224. package/lib/commands/workspace/add.js +1 -1
  225. package/lib/commands/workspace/index.js +1 -1
  226. package/lib/commands/workspace/remove.js +1 -1
  227. package/lib/config/domain-config.js +1 -1
  228. package/lib/config/project-domain-routing.js +1 -1
  229. package/lib/config/schema.js +1 -1
  230. package/lib/constant/cdn.js +1 -1
  231. package/lib/constant/cli.js +1 -1
  232. package/lib/constant/defaults.js +1 -1
  233. package/lib/constant/domain.js +1 -1
  234. package/lib/constant/env.js +1 -1
  235. package/lib/constant/output.js +1 -1
  236. package/lib/constant/paths.js +1 -1
  237. package/lib/constant/region.js +1 -1
  238. package/lib/constant/risk.js +1 -1
  239. package/lib/constant/routing-profile.js +1 -1
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +0 -17
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/instant-api-policy/config.js +1 -1
  254. package/lib/core/kb-search-client.js +1 -1
  255. package/lib/core/page/file-system.js +1 -1
  256. package/lib/core/page/hash.js +1 -1
  257. package/lib/core/page/lock.js +1 -1
  258. package/lib/core/sql-index-auditor.js +1 -1
  259. package/lib/core/sql-sync/config.js +1 -1
  260. package/lib/core/sql-sync/file-system.js +1 -1
  261. package/lib/core/sql-sync/hash.js +1 -1
  262. package/lib/core/sql-sync/lock.js +1 -1
  263. package/lib/core/sql-sync/utils.js +1 -1
  264. package/lib/core/sql-validator.js +1 -1
  265. package/lib/errors.js +1 -1
  266. package/lib/framework/build-all-flags.js +1 -1
  267. package/lib/framework/error-output.js +1 -1
  268. package/lib/framework/explicit-yes.js +1 -1
  269. package/lib/framework/flags.js +1 -1
  270. package/lib/framework/help.js +1 -1
  271. package/lib/framework/index.js +1 -1
  272. package/lib/framework/output.js +1 -1
  273. package/lib/framework/response.js +1 -1
  274. package/lib/framework/runner-alias.js +1 -1
  275. package/lib/framework/runner.js +1 -1
  276. package/lib/framework/schema-export.js +1 -1
  277. package/lib/framework/supported-flags.js +1 -1
  278. package/lib/framework/types.js +1 -1
  279. package/lib/generated/build-info.d.ts +4 -4
  280. package/lib/generated/build-info.js +1 -1
  281. package/lib/generated/official-routing.js +1 -1
  282. package/lib/generated/routing-contract.js +1 -1
  283. package/lib/help.js +1 -1
  284. package/lib/postinstall.js +1 -1
  285. package/lib/runtime/confirmation.js +1 -1
  286. package/lib/runtime/event.js +1 -1
  287. package/lib/runtime/index.js +1 -1
  288. package/lib/runtime/queue.js +1 -1
  289. package/lib/runtime/resolve.js +1 -1
  290. package/lib/skills/builtin-skill.js +1 -1
  291. package/lib/skills/main.js +1 -1
  292. package/lib/skills/npx-skills-add.js +1 -1
  293. package/lib/skills/skill-presence.js +1 -1
  294. package/lib/telemetry/cli-command-trace.js +1 -1
  295. package/lib/telemetry/cli-help-trace.js +1 -1
  296. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  297. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  298. package/lib/telemetry/send-cli-trace-log.js +1 -1
  299. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  300. package/lib/utils/ai_config.js +1 -1
  301. package/lib/utils/apply-jq-filter.js +1 -1
  302. package/lib/utils/cdn-config.js +1 -1
  303. package/lib/utils/check-sdk-version.js +1 -1
  304. package/lib/utils/cli-version-check.js +1 -1
  305. package/lib/utils/cli-version-policy.js +1 -1
  306. package/lib/utils/config.js +1 -1
  307. package/lib/utils/entity-with-id.js +1 -1
  308. package/lib/utils/file-utils.js +1 -1
  309. package/lib/utils/guides-cdn.js +1 -1
  310. package/lib/utils/http-client.js +1 -1
  311. package/lib/utils/is-non-interactive.js +1 -1
  312. package/lib/utils/logger.js +1 -1
  313. package/lib/utils/params.js +1 -1
  314. package/lib/utils/platform.js +1 -1
  315. package/lib/utils/sleep.js +1 -1
  316. package/lib/utils/template-replacer.js +1 -1
  317. package/lib/utils/update-notice.js +1 -1
  318. package/lib/utils/version.js +1 -1
  319. package/lib/utils/with-active-cookie.js +1 -1
  320. package/lib/utils/write-cli-side-channel.js +1 -1
  321. package/package.json +1 -1
  322. package/skills/rabetbase/SKILL.md +5 -6
  323. package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +56 -0
  324. package/skills/rabetbase.manifest.json +4 -4
  325. package/lib/commands/deployment/auto-sync.d.ts +0 -20
  326. package/lib/commands/deployment/auto-sync.js +0 -1
  327. package/lib/commands/deployment/sync.d.ts +0 -2
  328. package/lib/commands/deployment/sync.js +0 -1
  329. package/skills/rabetbase/references/rabetbase-deployment-sync.md +0 -100
@@ -1 +1 @@
1
- const a206_0x4caa08=a206_0x2cc3;function a206_0x3882(){const _0x3b3784=['8nuFong','scripts','.bin','\x22\x20not\x20found\x20in\x20package.json.','validation','186AciGYm','push','--watch','node_modules','bool','No\x20scripts\x20defined\x20in\x20package.json.','\x0a\x20\x20Usage:\x20','yarn.lock','package.json','build','pnpm-lock.yaml','error','Domain\x20routing\x20synchronized:\x20','\x20run\x20<script>\x0a','dev','yarn','\x20run\x20','changed','path','Run\x20a\x20package.json\x20script','join','Available:\x20','bun.lockb','224300Yimjkr','needsUpgrade','npm','length','952514DhlhLc','\x20\x20\x20\x20','cwd','keys','Script\x20name\x20defined\x20in\x20package.json','parse','run','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','args','\x20run\x20preview\x20--watch','\x20run\x20start','vite','watch','1416108RcXiHd','start','Enable\x20watch\x20mode\x20for\x20preview','log','pnpm','preview','vite\x20preview\x20exited\x20with\x20code\x20','inherit','70qWxSnB','belowMinimum','all','1221486CMLapL','close','26838955eHYDrz','has','1396863EmzSQR','5tgJgVf','(none)','script','slice','Script\x20\x22','utf-8','26690VFdHyr'];a206_0x3882=function(){return _0x3b3784;};return a206_0x3882();}(function(_0x260d1a,_0x51b061){const _0x5a092e=a206_0x2cc3,_0x2730c2=_0x260d1a();while(!![]){try{const _0xbc4650=parseInt(_0x5a092e(0xb4))/0x1+-parseInt(_0x5a092e(0xd7))/0x2*(-parseInt(_0x5a092e(0xdd))/0x3)+-parseInt(_0x5a092e(0xb0))/0x4+-parseInt(_0x5a092e(0xd1))/0x5*(-parseInt(_0x5a092e(0xc1))/0x6)+parseInt(_0x5a092e(0xcc))/0x7*(parseInt(_0x5a092e(0xd8))/0x8)+parseInt(_0x5a092e(0xd0))/0x9*(parseInt(_0x5a092e(0xc9))/0xa)+-parseInt(_0x5a092e(0xce))/0xb;if(_0xbc4650===_0x51b061)break;else _0x2730c2['push'](_0x2730c2['shift']());}catch(_0x7d8c04){_0x2730c2['push'](_0x2730c2['shift']());}}}(a206_0x3882,0xbea59));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';function a206_0x2cc3(_0x1a5f23,_0x7c289a){_0x1a5f23=_0x1a5f23-0x9d;const _0x388247=a206_0x3882();let _0x2cc355=_0x388247[_0x1a5f23];return _0x2cc355;}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a206_0x4caa08(0xa7)]),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set([a206_0x4caa08(0xc2),a206_0x4caa08(0xa7),a206_0x4caa08(0xa2),'preview']);export function syncProjectDomainRoutingBeforeScript(_0x572fa8,_0x35b9a9){const _0x20a2d0=a206_0x4caa08;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x20a2d0(0xcf)](_0x35b9a9))return null;const _0x3fb225=findProjectRootDirectory(_0x572fa8);if(!resolveConfigPath(_0x3fb225))return null;const _0x23abf3=writeProjectDomainRoutingManifest(_0x3fb225);return{'path':_0x23abf3[_0x20a2d0(0xab)],'changed':_0x23abf3['changed']};}function readPackageScripts(_0x118a30){const _0x52b738=a206_0x4caa08,_0x3802b3=resolve(_0x118a30,_0x52b738(0xa1));if(!existsSync(_0x3802b3))return null;try{const _0x5b2896=JSON[_0x52b738(0xb9)](readFileSync(_0x3802b3,_0x52b738(0xd6)));return _0x5b2896[_0x52b738(0xd9)]??{};}catch{return null;}}function detectPackageManager(_0x3a11d7){const _0x35cda9=a206_0x4caa08;if(existsSync(resolve(_0x3a11d7,_0x35cda9(0xaf)))||existsSync(resolve(_0x3a11d7,'bun.lock')))return'bun';if(existsSync(resolve(_0x3a11d7,_0x35cda9(0xa3))))return _0x35cda9(0xc5);if(existsSync(resolve(_0x3a11d7,_0x35cda9(0xa0))))return _0x35cda9(0xa8);return _0x35cda9(0xb2);}async function versionCheck(_0x46177f){const _0xad66fe=a206_0x4caa08,_0x4b628c=await checkCliVersion();(_0x4b628c[_0xad66fe(0xb1)]||_0x4b628c[_0xad66fe(0xca)])&&(printCliUpgradeWarning(_0x4b628c),assertCliVersionSupported(_0x4b628c));const _0x309deb=await checkSdkVersion(_0x46177f);if(_0x309deb[_0xad66fe(0xb1)])printSdkUpgradeWarning(_0x309deb);}function spawnScript(_0x4e24f8,_0x3a70b3,_0x5bbdd8,_0x1e0116){return new Promise((_0x3128a1,_0x407a27)=>{const _0x55955d=a206_0x2cc3,_0x353a03=[_0x55955d(0xba),_0x3a70b3,..._0x5bbdd8],_0x5652d9=spawn(_0x4e24f8,_0x353a03,{'cwd':_0x1e0116,'stdio':_0x55955d(0xc8),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1e0116,_0x55955d(0xe0),'.bin')+delimiter+process.env.PATH}});_0x5652d9['on'](_0x55955d(0xcd),_0x19437c=>{const _0x5b7cab=_0x55955d;if(_0x19437c===0x0||_0x19437c===null)_0x3128a1();else _0x407a27(new Error(_0x4e24f8+_0x5b7cab(0xa9)+_0x3a70b3+'\x20exited\x20with\x20code\x20'+_0x19437c));}),_0x5652d9['on'](_0x55955d(0xa4),_0x407a27);});}function spawnViteBuildWatch(_0x54b6b4){return new Promise((_0x1f0a06,_0x1b978c)=>{const _0x4f10eb=a206_0x2cc3,_0x41cbe4=spawn(_0x4f10eb(0xbf),[_0x4f10eb(0xa2),_0x4f10eb(0xdf)],{'cwd':_0x54b6b4,'stdio':_0x4f10eb(0xc8),'shell':!![],'env':{...process.env,'PATH':''+join(_0x54b6b4,_0x4f10eb(0xe0),_0x4f10eb(0xda))+delimiter+process.env.PATH}});_0x41cbe4['on']('close',_0x5f173a=>{const _0x50c230=_0x4f10eb;if(_0x5f173a===0x0||_0x5f173a===null)_0x1f0a06();else _0x1b978c(new Error(_0x50c230(0xbb)+_0x5f173a));}),_0x41cbe4['on'](_0x4f10eb(0xa4),_0x1b978c);});}function spawnVitePreview(_0xf5f52c){return new Promise((_0x226f21,_0x290c10)=>{const _0x10458c=a206_0x2cc3,_0xc259ed=spawn(_0x10458c(0xbf),[_0x10458c(0xc6)],{'cwd':_0xf5f52c,'stdio':_0x10458c(0xc8),'shell':!![],'env':{...process.env,'PATH':''+join(_0xf5f52c,'node_modules',_0x10458c(0xda))+delimiter+process.env.PATH}});_0xc259ed['on'](_0x10458c(0xcd),_0xa9508f=>{const _0x4bb160=_0x10458c;if(_0xa9508f===0x0||_0xa9508f===null)_0x226f21();else _0x290c10(new Error(_0x4bb160(0xc7)+_0xa9508f));}),_0xc259ed['on'](_0x10458c(0xa4),_0x290c10);});}const runFlags=[{'name':a206_0x4caa08(0xc0),'type':'boolean','description':a206_0x4caa08(0xc3),'default':![]}];export const runDefinition={'service':a206_0x4caa08(0xba),'command':a206_0x4caa08(0xba),'description':a206_0x4caa08(0xac),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a206_0x4caa08(0xd3),'description':a206_0x4caa08(0xb8),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x265383=a206_0x4caa08,_0x34c9e6=[];return _0x34c9e6[_0x265383(0xde)]('\x20\x20EXAMPLES'),_0x34c9e6[_0x265383(0xde)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x265383(0xbe)),_0x34c9e6[_0x265383(0xde)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x34c9e6[_0x265383(0xde)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview'),_0x34c9e6['push'](_0x265383(0xb5)+CLI_BIN_NAME+_0x265383(0xbd)),_0x34c9e6[_0x265383(0xad)]('\x0a');},async 'execute'(_0x567fef){const _0x21ba02=a206_0x4caa08,_0x5633bc=process[_0x21ba02(0xb6)](),_0x1657b3=_0x567fef[_0x21ba02(0xbc)][0x0],_0xc4fdd9=_0x567fef[_0x21ba02(0xbc)][_0x21ba02(0xd4)](0x1),_0x2d4244=readPackageScripts(_0x5633bc);if(!_0x2d4244)throw CliErrors[_0x21ba02(0xdc)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x1657b3){const _0x5afa0e=Object['keys'](_0x2d4244);if(_0x5afa0e[_0x21ba02(0xb3)]===0x0)console[_0x21ba02(0xc4)](_0x21ba02(0x9e));else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x4d7b4b of _0x5afa0e){console[_0x21ba02(0xc4)]('\x20\x20\x20\x20'+_0x4d7b4b);}console[_0x21ba02(0xc4)](_0x21ba02(0x9f)+CLI_BIN_NAME+_0x21ba02(0xa6));}return{'ok':!![]};}if(!_0x2d4244[_0x1657b3])throw CliErrors[_0x21ba02(0xdc)](_0x21ba02(0xd5)+_0x1657b3+_0x21ba02(0xdb),_0x21ba02(0xae)+(Object[_0x21ba02(0xb7)](_0x2d4244)[_0x21ba02(0xad)](',\x20')||_0x21ba02(0xd2)));const _0x241bdf=detectPackageManager(_0x5633bc),_0x443dfc=syncProjectDomainRoutingBeforeScript(_0x5633bc,_0x1657b3);_0x443dfc?.[_0x21ba02(0xaa)]&&console['error'](_0x21ba02(0xa5)+_0x443dfc[_0x21ba02(0xab)]);VERSION_CHECK_SCRIPTS[_0x21ba02(0xcf)](_0x1657b3)&&await versionCheck(_0x5633bc);if(_0x1657b3===_0x21ba02(0xc6)&&_0x567fef[_0x21ba02(0x9d)](_0x21ba02(0xc0)))return await Promise[_0x21ba02(0xcb)]([spawnViteBuildWatch(_0x5633bc),spawnVitePreview(_0x5633bc)]),{'ok':!![]};return await spawnScript(_0x241bdf,_0x1657b3,_0xc4fdd9,_0x5633bc),{'ok':!![]};}};
1
+ const a204_0x1f589f=a204_0x94ce;(function(_0x198879,_0x452505){const _0x350081=a204_0x94ce,_0x356262=_0x198879();while(!![]){try{const _0x51daca=-parseInt(_0x350081(0xe3))/0x1+parseInt(_0x350081(0xea))/0x2*(parseInt(_0x350081(0xed))/0x3)+-parseInt(_0x350081(0xdf))/0x4*(-parseInt(_0x350081(0xff))/0x5)+parseInt(_0x350081(0xfb))/0x6+parseInt(_0x350081(0xcf))/0x7*(-parseInt(_0x350081(0xd4))/0x8)+parseInt(_0x350081(0x10f))/0x9+parseInt(_0x350081(0xd6))/0xa*(-parseInt(_0x350081(0xf4))/0xb);if(_0x51daca===_0x452505)break;else _0x356262['push'](_0x356262['shift']());}catch(_0x50477b){_0x356262['push'](_0x356262['shift']());}}}(a204_0x53c0,0x3491a));import{readFileSync,existsSync}from'node:fs';function a204_0x53c0(){const _0xb764ec=['\x20run\x20','utf-8','changed','371134drtXlZ','validation','vite','slice','Available:\x20','join','bool','938nREswZ','bun.lock','--watch','1281nxLPRG','node_modules','.bin','has','log','write','\x20run\x20<script>\x0a','643247bQmMSs','build','bun.lockb','\x20\x20\x20\x20','script','watch','\x0a\x20\x20Usage:\x20','1923018RRJtRE','parse','belowMinimum','needsUpgrade','219055rQIMWf','bun','pnpm-lock.yaml','\x20run\x20start','path','close','Run\x20a\x20package.json\x20script','boolean','cwd','preview','inherit','(none)','scripts','push','\x0a\x20\x20Available\x20scripts:\x0a','dev','1082772pTBiAu','all','package.json','7zsJhFB','Script\x20name\x20defined\x20in\x20package.json','error','No\x20scripts\x20defined\x20in\x20package.json.','\x20run\x20preview\x20--watch','1252256AuZmKF','run','50XQBSXB','Domain\x20routing\x20synchronized:\x20','yarn.lock','\x22\x20not\x20found\x20in\x20package.json.','length','vite\x20preview\x20exited\x20with\x20code\x20','args','keys','\x20run\x20build','36IOnmpV'];a204_0x53c0=function(){return _0xb764ec;};return a204_0x53c0();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';function a204_0x94ce(_0x3d4da9,_0x12a828){_0x3d4da9=_0x3d4da9-0xce;const _0x53c0b2=a204_0x53c0();let _0x94ceac=_0x53c0b2[_0x3d4da9];return _0x94ceac;}import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a204_0x1f589f(0x10e)]),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set(['start',a204_0x1f589f(0x10e),a204_0x1f589f(0xf5),a204_0x1f589f(0x108)]);export function syncProjectDomainRoutingBeforeScript(_0x39395e,_0x32fd48){const _0x8a696a=a204_0x1f589f;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x8a696a(0xf0)](_0x32fd48))return null;const _0x3b4953=findProjectRootDirectory(_0x39395e);if(!resolveConfigPath(_0x3b4953))return null;const _0x38a94c=writeProjectDomainRoutingManifest(_0x3b4953);return{'path':_0x38a94c[_0x8a696a(0x103)],'changed':_0x38a94c[_0x8a696a(0xe2)]};}function readPackageScripts(_0x2e13c9){const _0x116d48=a204_0x1f589f,_0x26ac7d=resolve(_0x2e13c9,_0x116d48(0xce));if(!existsSync(_0x26ac7d))return null;try{const _0x4c2cf6=JSON[_0x116d48(0xfc)](readFileSync(_0x26ac7d,_0x116d48(0xe1)));return _0x4c2cf6[_0x116d48(0x10b)]??{};}catch{return null;}}function detectPackageManager(_0x562165){const _0x4f160c=a204_0x1f589f;if(existsSync(resolve(_0x562165,_0x4f160c(0xf6)))||existsSync(resolve(_0x562165,_0x4f160c(0xeb))))return _0x4f160c(0x100);if(existsSync(resolve(_0x562165,_0x4f160c(0x101))))return'pnpm';if(existsSync(resolve(_0x562165,_0x4f160c(0xd8))))return'yarn';return'npm';}async function versionCheck(_0xb4d139){const _0xcf8360=a204_0x1f589f,_0x5c07a2=await checkCliVersion();(_0x5c07a2['needsUpgrade']||_0x5c07a2[_0xcf8360(0xfd)])&&(printCliUpgradeWarning(_0x5c07a2),assertCliVersionSupported(_0x5c07a2));const _0x294d3d=await checkSdkVersion(_0xb4d139);if(_0x294d3d[_0xcf8360(0xfe)])printSdkUpgradeWarning(_0x294d3d);}function spawnScript(_0x23f351,_0x249ef9,_0x3f9458,_0x4343be){return new Promise((_0x3f6213,_0x42d5a9)=>{const _0x1960fb=a204_0x94ce,_0x45afe8=[_0x1960fb(0xd5),_0x249ef9,..._0x3f9458],_0x30f6a6=spawn(_0x23f351,_0x45afe8,{'cwd':_0x4343be,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x4343be,_0x1960fb(0xee),_0x1960fb(0xef))+delimiter+process.env.PATH}});_0x30f6a6['on'](_0x1960fb(0x104),_0x5dbe52=>{const _0x1f6be5=_0x1960fb;if(_0x5dbe52===0x0||_0x5dbe52===null)_0x3f6213();else _0x42d5a9(new Error(_0x23f351+_0x1f6be5(0xe0)+_0x249ef9+'\x20exited\x20with\x20code\x20'+_0x5dbe52));}),_0x30f6a6['on'](_0x1960fb(0xd1),_0x42d5a9);});}function spawnViteBuildWatch(_0x172f00){return new Promise((_0x4ce4f9,_0x1fc8ec)=>{const _0x5286ce=a204_0x94ce,_0x18465a=spawn('vite',[_0x5286ce(0xf5),_0x5286ce(0xec)],{'cwd':_0x172f00,'stdio':_0x5286ce(0x109),'shell':!![],'env':{...process.env,'PATH':''+join(_0x172f00,'node_modules',_0x5286ce(0xef))+delimiter+process.env.PATH}});_0x18465a['on'](_0x5286ce(0x104),_0x5339e3=>{if(_0x5339e3===0x0||_0x5339e3===null)_0x4ce4f9();else _0x1fc8ec(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x5339e3));}),_0x18465a['on'](_0x5286ce(0xd1),_0x1fc8ec);});}function spawnVitePreview(_0x2c2d78){return new Promise((_0x1edff9,_0x2832ea)=>{const _0x1db89b=a204_0x94ce,_0x19b17e=spawn(_0x1db89b(0xe5),[_0x1db89b(0x108)],{'cwd':_0x2c2d78,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x2c2d78,_0x1db89b(0xee),_0x1db89b(0xef))+delimiter+process.env.PATH}});_0x19b17e['on'](_0x1db89b(0x104),_0x35923b=>{const _0x2a9e78=_0x1db89b;if(_0x35923b===0x0||_0x35923b===null)_0x1edff9();else _0x2832ea(new Error(_0x2a9e78(0xdb)+_0x35923b));}),_0x19b17e['on']('error',_0x2832ea);});}const runFlags=[{'name':a204_0x1f589f(0xf9),'type':a204_0x1f589f(0x106),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a204_0x1f589f(0xd5),'command':a204_0x1f589f(0xd5),'description':a204_0x1f589f(0x105),'risk':a204_0x1f589f(0xf2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a204_0x1f589f(0xf8),'description':a204_0x1f589f(0xd0),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x460488=a204_0x1f589f,_0x41b4fa=[];return _0x41b4fa['push']('\x20\x20EXAMPLES'),_0x41b4fa['push'](_0x460488(0xf7)+CLI_BIN_NAME+_0x460488(0x102)),_0x41b4fa[_0x460488(0x10c)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x460488(0xde)),_0x41b4fa[_0x460488(0x10c)](_0x460488(0xf7)+CLI_BIN_NAME+'\x20run\x20preview'),_0x41b4fa[_0x460488(0x10c)](_0x460488(0xf7)+CLI_BIN_NAME+_0x460488(0xd3)),_0x41b4fa[_0x460488(0xe8)]('\x0a');},async 'execute'(_0x1a3032){const _0x4fa8d8=a204_0x1f589f,_0x3d5e79=process[_0x4fa8d8(0x107)](),_0x4230de=_0x1a3032[_0x4fa8d8(0xdc)][0x0],_0x27f89f=_0x1a3032[_0x4fa8d8(0xdc)][_0x4fa8d8(0xe6)](0x1),_0x1be5e1=readPackageScripts(_0x3d5e79);if(!_0x1be5e1)throw CliErrors[_0x4fa8d8(0xe4)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x4230de){const _0x47e6c9=Object[_0x4fa8d8(0xdd)](_0x1be5e1);if(_0x47e6c9[_0x4fa8d8(0xda)]===0x0)console['log'](_0x4fa8d8(0xd2));else{console[_0x4fa8d8(0xf1)](_0x4fa8d8(0x10d));for(const _0x512341 of _0x47e6c9){console['log'](_0x4fa8d8(0xf7)+_0x512341);}console[_0x4fa8d8(0xf1)](_0x4fa8d8(0xfa)+CLI_BIN_NAME+_0x4fa8d8(0xf3));}return{'ok':!![]};}if(!_0x1be5e1[_0x4230de])throw CliErrors['validation']('Script\x20\x22'+_0x4230de+_0x4fa8d8(0xd9),_0x4fa8d8(0xe7)+(Object[_0x4fa8d8(0xdd)](_0x1be5e1)[_0x4fa8d8(0xe8)](',\x20')||_0x4fa8d8(0x10a)));const _0x19e09b=detectPackageManager(_0x3d5e79),_0x2d43ee=syncProjectDomainRoutingBeforeScript(_0x3d5e79,_0x4230de);_0x2d43ee?.[_0x4fa8d8(0xe2)]&&console[_0x4fa8d8(0xd1)](_0x4fa8d8(0xd7)+_0x2d43ee[_0x4fa8d8(0x103)]);VERSION_CHECK_SCRIPTS[_0x4fa8d8(0xf0)](_0x4230de)&&await versionCheck(_0x3d5e79);if(_0x4230de===_0x4fa8d8(0x108)&&_0x1a3032[_0x4fa8d8(0xe9)]('watch'))return await Promise[_0x4fa8d8(0x110)]([spawnViteBuildWatch(_0x3d5e79),spawnVitePreview(_0x3d5e79)]),{'ok':!![]};return await spawnScript(_0x19e09b,_0x4230de,_0x27f89f,_0x3d5e79),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a207_0x2764(_0x46a7db,_0x223b00){_0x46a7db=_0x46a7db-0x173;const _0x355205=a207_0x3552();let _0x276497=_0x355205[_0x46a7db];return _0x276497;}const a207_0x503620=a207_0x2764;(function(_0x2390da,_0x29e31d){const _0x34b24b=a207_0x2764,_0x35b9fa=_0x2390da();while(!![]){try{const _0x3752f3=parseInt(_0x34b24b(0x173))/0x1*(parseInt(_0x34b24b(0x175))/0x2)+parseInt(_0x34b24b(0x17b))/0x3+parseInt(_0x34b24b(0x180))/0x4*(parseInt(_0x34b24b(0x17f))/0x5)+-parseInt(_0x34b24b(0x17a))/0x6+-parseInt(_0x34b24b(0x178))/0x7+-parseInt(_0x34b24b(0x17c))/0x8*(-parseInt(_0x34b24b(0x17e))/0x9)+parseInt(_0x34b24b(0x181))/0xa*(-parseInt(_0x34b24b(0x17d))/0xb);if(_0x3752f3===_0x29e31d)break;else _0x35b9fa['push'](_0x35b9fa['shift']());}catch(_0x3d7266){_0x35b9fa['push'](_0x35b9fa['shift']());}}}(a207_0x3552,0x9f774));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5b170d){const _0x44dbac=await buildSchemaPayload();return{'ok':!![],'data':_0x44dbac};}export const schemaDefinition={'service':a207_0x503620(0x177),'command':a207_0x503620(0x174),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a207_0x503620(0x179),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a207_0x503620(0x176),'flags':[],'execute':execute};function a207_0x3552(){const _0x4a8ad0=['2231940eutoRf','1892728HBfcqu','180543VrbGDD','36vULbEe','2661665zKVNRC','4SndSNK','120MAzoDi','3PahyuA','export','463218eyVUlX','json','schema','8036133ByjULB','read','5516142AvvIMP'];a207_0x3552=function(){return _0x4a8ad0;};return a207_0x3552();}
1
+ function a205_0x2a90(){const _0xc80ef2=['4FsNYKg','export','401652JjRALT','95657PQliBJ','32067siueQR','schema','1462518LEMhtm','read','Export\x20machine-readable\x20command\x20schema\x20(JSON)','16430ZEgJSq','1309gZADZu','16fuajPm','30gFRUql','11980RgosGJ','83342LyBVOA'];a205_0x2a90=function(){return _0xc80ef2;};return a205_0x2a90();}function a205_0x5ea8(_0x1da5fe,_0x5dc809){_0x1da5fe=_0x1da5fe-0x1e9;const _0x2a9048=a205_0x2a90();let _0x5ea88b=_0x2a9048[_0x1da5fe];return _0x5ea88b;}const a205_0xfaed16=a205_0x5ea8;(function(_0x46f844,_0x27d44e){const _0x23cce0=a205_0x5ea8,_0x26ba13=_0x46f844();while(!![]){try{const _0x4cd641=-parseInt(_0x23cce0(0x1ee))/0x1+parseInt(_0x23cce0(0x1eb))/0x2*(parseInt(_0x23cce0(0x1ef))/0x3)+-parseInt(_0x23cce0(0x1ed))/0x4+-parseInt(_0x23cce0(0x1f4))/0x5*(parseInt(_0x23cce0(0x1f7))/0x6)+-parseInt(_0x23cce0(0x1ea))/0x7*(-parseInt(_0x23cce0(0x1f6))/0x8)+parseInt(_0x23cce0(0x1f1))/0x9+parseInt(_0x23cce0(0x1e9))/0xa*(parseInt(_0x23cce0(0x1f5))/0xb);if(_0x4cd641===_0x27d44e)break;else _0x26ba13['push'](_0x26ba13['shift']());}catch(_0x2a1290){_0x26ba13['push'](_0x26ba13['shift']());}}}(a205_0x2a90,0x21a1a));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x338d90){const _0x435230=await buildSchemaPayload();return{'ok':!![],'data':_0x435230};}export const schemaDefinition={'service':a205_0xfaed16(0x1f0),'command':a205_0xfaed16(0x1ec),'description':a205_0xfaed16(0x1f3),'risk':a205_0xfaed16(0x1f2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a208_0x724297=a208_0x2969;(function(_0x4382d4,_0x30aa30){const _0x59b950=a208_0x2969,_0x38a1b2=_0x4382d4();while(!![]){try{const _0x4ad06f=-parseInt(_0x59b950(0x184))/0x1+-parseInt(_0x59b950(0x173))/0x2*(parseInt(_0x59b950(0x182))/0x3)+-parseInt(_0x59b950(0x18f))/0x4*(-parseInt(_0x59b950(0x158))/0x5)+-parseInt(_0x59b950(0x187))/0x6+parseInt(_0x59b950(0x161))/0x7*(-parseInt(_0x59b950(0x15f))/0x8)+-parseInt(_0x59b950(0x172))/0x9+-parseInt(_0x59b950(0x17a))/0xa*(-parseInt(_0x59b950(0x15b))/0xb);if(_0x4ad06f===_0x30aa30)break;else _0x38a1b2['push'](_0x38a1b2['shift']());}catch(_0x22d5e5){_0x38a1b2['push'](_0x38a1b2['shift']());}}}(a208_0x2144,0x91d41));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a208_0x2969(_0x10ccce,_0x561392){_0x10ccce=_0x10ccce-0x153;const _0x2144e5=a208_0x2144();let _0x2969c5=_0x2144e5[_0x10ccce];return _0x2969c5;}function a208_0x2144(){const _0x176bd9=['1027330NbzuOf','dbName','number','737mSvVud','Select\x20the\x20target\x20database:','nonInteractive','name','8mqHNJz','Invalid\x20database\x20selection\x20payload:\x20','7565579MoFdUH','sql','<server-generated-sqlCode>','SELECT\x201\x20AS\x20id;','map','Select\x20the\x20local\x20SQL\x20mode:','appCode','Created\x20SQL\x20query\x20','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','Target\x20database\x20ID','sqlCode','validation','description','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','length','dbId','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','5535972jhaYPf','4RszgIW','mybatisXml','sqls','dbId\x20cannot\x20be\x20empty','join','trim','__manual__','596450RhrkCb','SQL\x20query\x20display\x20name','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','catch','toISOString','MyBatis\x20XML\x20(mybatisXml)','/smartapi/custom/saveUserCustomSql','774546BoTTVH','write','1043183gUNzbL','parse','</select>','5791884KUbQZw','POST','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','str','dbId\x20must\x20be\x20a\x20positive\x20integer','flagMissing','Local\x20SQL\x20file\x20mode','16xrAHuP','sqlName','string','lockFilePath','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','sqlRootDir','isFinite','db-id','Plain\x20SQL\x20(sql)'];a208_0x2144=function(){return _0x176bd9;};return a208_0x2144();}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x34c575){const _0x31c698=a208_0x2969;if(_0x34c575==='mybatisXml')return[_0x31c698(0x16e),'\x20\x20SELECT\x201\x20AS\x20id',_0x31c698(0x186),''][_0x31c698(0x177)]('\x0a');return[_0x31c698(0x164),''][_0x31c698(0x177)]('\x0a');}export const sqlCreate={'service':a208_0x724297(0x162),'command':'create','description':a208_0x724297(0x153),'risk':a208_0x724297(0x183),'flags':[{'name':a208_0x724297(0x15e),'type':a208_0x724297(0x191),'description':a208_0x724297(0x17b)},{'name':a208_0x724297(0x156),'type':a208_0x724297(0x15a),'description':a208_0x724297(0x16a)},{'name':'mode','type':'string','enum':[a208_0x724297(0x162),a208_0x724297(0x174)],'description':a208_0x724297(0x18e)}],async 'validate'(_0x5b9105){const _0x362260=a208_0x724297;if(!_0x5b9105[_0x362260(0x15d)])return;if(!_0x5b9105[_0x362260(0x18b)]('name')[_0x362260(0x178)]())throw CliErrors[_0x362260(0x18d)]('name',_0x362260(0x18a));const _0x278bae=resolveProvidedDbId(_0x5b9105);if(typeof _0x278bae!=='number'||!Number['isFinite'](_0x278bae)||_0x278bae<=0x0)throw CliErrors[_0x362260(0x18d)](_0x362260(0x156),_0x362260(0x17c));if(!_0x5b9105[_0x362260(0x18b)](_0x362260(0x17d))[_0x362260(0x178)]())throw CliErrors[_0x362260(0x18d)](_0x362260(0x17d),_0x362260(0x171));},async 'dryRun'(_0x18af31){const _0x2b7aef=a208_0x724297,_0x59ea6d=loadSqlProjectConfig(_0x18af31[_0x2b7aef(0x167)]),{sqlName:_0x1b3b58,dbId:_0x1b8275,dbName:_0x38c680,mode:_0x5b327a}=await resolveSqlNewInputs(_0x18af31),_0x1ace55=buildSqlRelativePath(_0x2b7aef(0x163),_0x1b3b58,_0x38c680,_0x5b327a,_0x1b8275),_0x435c01=_0x59ea6d[_0x2b7aef(0x154)]+'/'+_0x1ace55;return{'method':_0x2b7aef(0x188),'url':_0x2b7aef(0x181),'body':{'appCode':_0x18af31[_0x2b7aef(0x167)],'sqlName':_0x1b3b58,'dbId':_0x1b8275,'mode':_0x5b327a,'localPath':_0x435c01},'description':_0x2b7aef(0x189)+_0x59ea6d[_0x2b7aef(0x154)]};},async 'execute'(_0x4b2c5b){const _0x40ff65=a208_0x724297,_0x4f6953=loadSqlProjectConfig(_0x4b2c5b[_0x40ff65(0x167)]),{sqlName:_0x216ec9,dbId:_0xa38c1f,dbName:_0x1f6b85,mode:_0x57df19}=await resolveSqlNewInputs(_0x4b2c5b),_0x5ed8a1=generateSqlTemplate(_0x57df19),_0x46d4a4=await createSqlQuery({'appCode':_0x4b2c5b[_0x40ff65(0x167)],'sqlName':_0x216ec9,'dbId':_0xa38c1f,'sqlContent':_0x5ed8a1}),_0x503c00=ensureRemoteSqlContent(_0x46d4a4),_0x3db0d5=_0x1f6b85||await getDbName(_0x4b2c5b['appCode'],_0xa38c1f)[_0x40ff65(0x17e)](()=>undefined),_0xd53b4c=buildSqlRelativePath(_0x46d4a4[_0x40ff65(0x16b)],_0x46d4a4[_0x40ff65(0x190)],_0x3db0d5,_0x57df19,_0xa38c1f),_0x30bd61=_0x4f6953[_0x40ff65(0x154)]+'/'+_0xd53b4c,_0x3e8bc0=buildLocalSqlFileContent({'sqlCode':_0x46d4a4['sqlCode'],'sqlName':_0x46d4a4[_0x40ff65(0x190)],'dbId':_0x46d4a4[_0x40ff65(0x170)]},_0x503c00,{'dbName':_0x3db0d5,'mode':_0x57df19,'syncedAt':new Date()[_0x40ff65(0x17f)](),'description':_0x46d4a4[_0x40ff65(0x16d)]});if(await fileExists(_0x30bd61))throw CliErrors[_0x40ff65(0x16c)]('File\x20already\x20exists:\x20'+_0x30bd61);await ensureParentDirectory(_0x30bd61),await writeFile(_0x30bd61,_0x3e8bc0,'utf8');const _0x4f4430=await readSqlLockFile(_0x4f6953[_0x40ff65(0x192)]),{lockData:_0x18ccf5,appLock:_0x239b49}=ensureSqlLockScope(_0x4f4430??createEmptySqlLock(),_0x4f6953[_0x40ff65(0x167)],_0x4f6953['sqlRoot'],'new');return _0x239b49[_0x40ff65(0x175)][_0x46d4a4[_0x40ff65(0x16b)]]={...buildSqlLockEntry(_0x46d4a4,_0x503c00,computeSqlContentHash(_0x3e8bc0),{'dbName':_0x3db0d5}),'path':_0xd53b4c,'mode':_0x57df19},_0x239b49['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x4f6953[_0x40ff65(0x192)],_0x18ccf5),{'ok':!![],'data':{'id':_0x46d4a4['id'],'sqlCode':_0x46d4a4[_0x40ff65(0x16b)],'sqlName':_0x46d4a4[_0x40ff65(0x190)],'dbId':_0x46d4a4['dbId'],'path':_0x30bd61,'mode':_0x57df19},'message':_0x40ff65(0x168)+_0x46d4a4['sqlCode']};}};async function resolveSqlNewInputs(_0x8affd0){const _0x399f03=await resolveSqlNameInput(_0x8affd0),{dbId:_0xa30e3c,dbName:_0x2d01c1}=await resolveDbSelection(_0x8affd0),_0x1f9393=await resolveSqlModeInput(_0x8affd0);return{'sqlName':_0x399f03,'dbId':_0xa30e3c,'dbName':_0x2d01c1,'mode':_0x1f9393};}async function resolveSqlNameInput(_0x5c6870){const _0x2a9024=a208_0x724297,_0x28a9c1=_0x5c6870[_0x2a9024(0x18b)]('name')[_0x2a9024(0x178)]();if(_0x28a9c1)return _0x28a9c1;if(_0x5c6870['nonInteractive'])throw CliErrors[_0x2a9024(0x18d)](_0x2a9024(0x15e),_0x2a9024(0x18a));return(await input({'message':'SQL\x20name:','validate':_0x34707e=>_0x34707e[_0x2a9024(0x178)]()?!![]:'SQL\x20name\x20cannot\x20be\x20empty'}))['trim']();}async function resolveDbSelection(_0x3bbe88){const _0x1396b3=a208_0x724297,_0x4e912a=resolveProvidedDbId(_0x3bbe88);if(typeof _0x4e912a==='number'&&Number['isFinite'](_0x4e912a)&&_0x4e912a>0x0)return{'dbId':_0x4e912a,'dbName':await getDbName(_0x3bbe88[_0x1396b3(0x167)],_0x4e912a)[_0x1396b3(0x17e)](()=>undefined)};if(_0x3bbe88[_0x1396b3(0x15d)])throw CliErrors[_0x1396b3(0x18d)](_0x1396b3(0x156),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x18bd9e=await listDatabases(_0x3bbe88[_0x1396b3(0x167)])[_0x1396b3(0x17e)](()=>[]);if(_0x18bd9e[_0x1396b3(0x16f)]===0x1)return{'dbId':_0x18bd9e[0x0]['dbId'],'dbName':_0x18bd9e[0x0][_0x1396b3(0x159)]};if(_0x18bd9e['length']>0x1){const _0x1e20ea=await select({'message':_0x1396b3(0x15c),'choices':[..._0x18bd9e[_0x1396b3(0x165)](_0x3539bc=>({'name':_0x3539bc['dbName']+'\x20('+_0x3539bc['dbId']+')','value':serializeDbSelection(_0x3539bc)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x1396b3(0x179)}]});if(_0x1e20ea!==_0x1396b3(0x179))return deserializeDbSelection(_0x1e20ea);}const _0x155947=await input({'message':'Target\x20database\x20dbId:','validate':_0x56a922=>{const _0x3fb0f8=_0x1396b3,_0x57a605=_0x56a922[_0x3fb0f8(0x178)]();if(!_0x57a605)return _0x3fb0f8(0x176);const _0x3ec7d5=Number(_0x57a605);if(!Number['isInteger'](_0x3ec7d5)||_0x3ec7d5<=0x0)return _0x3fb0f8(0x18c);return!![];}});return{'dbId':Number(_0x155947[_0x1396b3(0x178)]())};}async function resolveSqlModeInput(_0x47a6ea){const _0x2ccfc9=a208_0x724297,_0x19759c=_0x47a6ea[_0x2ccfc9(0x18b)]('mode')[_0x2ccfc9(0x178)]();if(_0x19759c===_0x2ccfc9(0x162)||_0x19759c===_0x2ccfc9(0x174))return _0x19759c;if(_0x47a6ea[_0x2ccfc9(0x15d)])throw CliErrors[_0x2ccfc9(0x18d)](_0x2ccfc9(0x17d),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x2ccfc9(0x166),'choices':[{'name':_0x2ccfc9(0x157),'value':_0x2ccfc9(0x162),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x2ccfc9(0x180),'value':_0x2ccfc9(0x174),'description':_0x2ccfc9(0x169)}]});}function serializeDbSelection(_0x565e1f){const _0x361107=a208_0x724297;return JSON['stringify']({'dbId':_0x565e1f[_0x361107(0x170)],'dbName':_0x565e1f[_0x361107(0x159)]});}function deserializeDbSelection(_0x57c3f8){const _0x1aa886=a208_0x724297;try{const _0x44e398=JSON[_0x1aa886(0x185)](_0x57c3f8);if(typeof _0x44e398[_0x1aa886(0x170)]==='number'&&Number[_0x1aa886(0x155)](_0x44e398[_0x1aa886(0x170)]))return{'dbId':_0x44e398[_0x1aa886(0x170)],'dbName':_0x44e398[_0x1aa886(0x159)]};}catch{}throw CliErrors[_0x1aa886(0x16c)](_0x1aa886(0x160)+_0x57c3f8);}function resolveProvidedDbId(_0x27a69f){const _0x32318d=a208_0x724297,_0x4f2f71=_0x27a69f['flag'](_0x32318d(0x156));if(typeof _0x4f2f71==='number'&&Number[_0x32318d(0x155)](_0x4f2f71))return _0x4f2f71;return undefined;}
1
+ const a206_0x3b5acd=a206_0x51f1;(function(_0xa4ed45,_0x3b61d1){const _0x16f920=a206_0x51f1,_0x23e4cd=_0xa4ed45();while(!![]){try{const _0x3199b4=-parseInt(_0x16f920(0x1ee))/0x1+parseInt(_0x16f920(0x1e3))/0x2*(parseInt(_0x16f920(0x1e0))/0x3)+parseInt(_0x16f920(0x1d9))/0x4+-parseInt(_0x16f920(0x1fa))/0x5*(-parseInt(_0x16f920(0x1f4))/0x6)+-parseInt(_0x16f920(0x205))/0x7+-parseInt(_0x16f920(0x1ca))/0x8+parseInt(_0x16f920(0x202))/0x9*(parseInt(_0x16f920(0x1cb))/0xa);if(_0x3199b4===_0x3b61d1)break;else _0x23e4cd['push'](_0x23e4cd['shift']());}catch(_0x5d7a69){_0x23e4cd['push'](_0x23e4cd['shift']());}}}(a206_0x393c,0xeb5f2));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a206_0x393c(){const _0x56d6df=['isFinite','new','join','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId','__manual__','2422704Lncoqv','78010vOnUcu','toISOString','nonInteractive','MyBatis\x20XML\x20(mybatisXml)','db-id','name','✎\x20Enter\x20dbId\x20manually','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Created\x20SQL\x20query\x20','dbName','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','\x20\x20SELECT\x201\x20AS\x20id','string','/smartapi/custom/saveUserCustomSql','938272RTepLB','flag','sqlCode','sqlRoot','mybatisXml','catch','Local\x20SQL\x20file\x20mode','3UTokSQ','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','stringify','2639718EWHmma','</select>','utf8','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Plain\x20SQL\x20(sql)','Invalid\x20database\x20selection\x20payload:\x20','flagMissing','length','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','dbId\x20must\x20be\x20a\x20positive\x20integer','lastSync','1356538hrauYD','number','isInteger','POST','create','Target\x20database\x20ID','6TIRsHL','lockFilePath','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','parse','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Target\x20database\x20dbId:','8774770iXMdAJ','write','sqlName','trim','SELECT\x201\x20AS\x20id;','str','appCode','mode','27wNxLPQ','sqlRootDir','sql','4965282HBxyZs'];a206_0x393c=function(){return _0x56d6df;};return a206_0x393c();}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x541e56){const _0x5aa9d6=a206_0x51f1;if(_0x541e56===_0x5aa9d6(0x1dd))return[_0x5aa9d6(0x1eb),_0x5aa9d6(0x1d6),_0x5aa9d6(0x1e4),''][_0x5aa9d6(0x1c6)]('\x0a');return[_0x5aa9d6(0x1fe),''][_0x5aa9d6(0x1c6)]('\x0a');}export const sqlCreate={'service':a206_0x3b5acd(0x204),'command':a206_0x3b5acd(0x1f2),'description':a206_0x3b5acd(0x1e6),'risk':a206_0x3b5acd(0x1fb),'flags':[{'name':a206_0x3b5acd(0x1d0),'type':a206_0x3b5acd(0x1d7),'description':'SQL\x20query\x20display\x20name'},{'name':'db-id','type':a206_0x3b5acd(0x1ef),'description':a206_0x3b5acd(0x1f3)},{'name':a206_0x3b5acd(0x201),'type':a206_0x3b5acd(0x1d7),'enum':['sql',a206_0x3b5acd(0x1dd)],'description':a206_0x3b5acd(0x1df)}],async 'validate'(_0xafcc1e){const _0x205fe0=a206_0x3b5acd;if(!_0xafcc1e[_0x205fe0(0x1cd)])return;if(!_0xafcc1e[_0x205fe0(0x1ff)]('name')[_0x205fe0(0x1fd)]())throw CliErrors[_0x205fe0(0x1e9)]('name',_0x205fe0(0x1f6));const _0x56fa90=resolveProvidedDbId(_0xafcc1e);if(typeof _0x56fa90!=='number'||!Number[_0x205fe0(0x206)](_0x56fa90)||_0x56fa90<=0x0)throw CliErrors[_0x205fe0(0x1e9)](_0x205fe0(0x1cf),_0x205fe0(0x1c7));if(!_0xafcc1e[_0x205fe0(0x1ff)](_0x205fe0(0x201))[_0x205fe0(0x1fd)]())throw CliErrors[_0x205fe0(0x1e9)](_0x205fe0(0x201),_0x205fe0(0x1f8));},async 'dryRun'(_0x3894fe){const _0x2f1279=a206_0x3b5acd,_0x4a6812=loadSqlProjectConfig(_0x3894fe[_0x2f1279(0x200)]),{sqlName:_0x371016,dbId:_0x4027fe,dbName:_0x1dda87,mode:_0x59f058}=await resolveSqlNewInputs(_0x3894fe),_0x47bf60=buildSqlRelativePath('<server-generated-sqlCode>',_0x371016,_0x1dda87,_0x59f058,_0x4027fe),_0x113ea1=_0x4a6812['sqlRootDir']+'/'+_0x47bf60;return{'method':_0x2f1279(0x1f1),'url':_0x2f1279(0x1d8),'body':{'appCode':_0x3894fe['appCode'],'sqlName':_0x371016,'dbId':_0x4027fe,'mode':_0x59f058,'localPath':_0x113ea1},'description':_0x2f1279(0x1d2)+_0x4a6812[_0x2f1279(0x203)]};},async 'execute'(_0x6e5766){const _0x14343d=a206_0x3b5acd,_0x484d41=loadSqlProjectConfig(_0x6e5766[_0x14343d(0x200)]),{sqlName:_0x4ec1ef,dbId:_0x4a2111,dbName:_0x2c7388,mode:_0x393f57}=await resolveSqlNewInputs(_0x6e5766),_0x46d2a3=generateSqlTemplate(_0x393f57),_0x544856=await createSqlQuery({'appCode':_0x6e5766[_0x14343d(0x200)],'sqlName':_0x4ec1ef,'dbId':_0x4a2111,'sqlContent':_0x46d2a3}),_0x1afa69=ensureRemoteSqlContent(_0x544856),_0x5ed9f7=_0x2c7388||await getDbName(_0x6e5766[_0x14343d(0x200)],_0x4a2111)['catch'](()=>undefined),_0x1da398=buildSqlRelativePath(_0x544856[_0x14343d(0x1db)],_0x544856[_0x14343d(0x1fc)],_0x5ed9f7,_0x393f57,_0x4a2111),_0x455e00=_0x484d41['sqlRootDir']+'/'+_0x1da398,_0xf0b2d=buildLocalSqlFileContent({'sqlCode':_0x544856[_0x14343d(0x1db)],'sqlName':_0x544856['sqlName'],'dbId':_0x544856[_0x14343d(0x1c8)]},_0x1afa69,{'dbName':_0x5ed9f7,'mode':_0x393f57,'syncedAt':new Date()[_0x14343d(0x1cc)](),'description':_0x544856['description']});if(await fileExists(_0x455e00))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x455e00);await ensureParentDirectory(_0x455e00),await writeFile(_0x455e00,_0xf0b2d,_0x14343d(0x1e5));const _0x1f6e0a=await readSqlLockFile(_0x484d41['lockFilePath']),{lockData:_0x3a424d,appLock:_0x40f72e}=ensureSqlLockScope(_0x1f6e0a??createEmptySqlLock(),_0x484d41[_0x14343d(0x200)],_0x484d41[_0x14343d(0x1dc)],_0x14343d(0x1c5));return _0x40f72e['sqls'][_0x544856['sqlCode']]={...buildSqlLockEntry(_0x544856,_0x1afa69,computeSqlContentHash(_0xf0b2d),{'dbName':_0x5ed9f7}),'path':_0x1da398,'mode':_0x393f57},_0x40f72e[_0x14343d(0x1ed)]=new Date()[_0x14343d(0x1cc)](),await writeSqlLockFile(_0x484d41[_0x14343d(0x1f5)],_0x3a424d),{'ok':!![],'data':{'id':_0x544856['id'],'sqlCode':_0x544856[_0x14343d(0x1db)],'sqlName':_0x544856['sqlName'],'dbId':_0x544856[_0x14343d(0x1c8)],'path':_0x455e00,'mode':_0x393f57},'message':_0x14343d(0x1d3)+_0x544856[_0x14343d(0x1db)]};}};function a206_0x51f1(_0x317c5b,_0x2957c3){_0x317c5b=_0x317c5b-0x1c5;const _0x393c6b=a206_0x393c();let _0x51f1d2=_0x393c6b[_0x317c5b];return _0x51f1d2;}async function resolveSqlNewInputs(_0x36a04e){const _0xdeb84a=await resolveSqlNameInput(_0x36a04e),{dbId:_0x5aae86,dbName:_0x4dd7f5}=await resolveDbSelection(_0x36a04e),_0x90c80e=await resolveSqlModeInput(_0x36a04e);return{'sqlName':_0xdeb84a,'dbId':_0x5aae86,'dbName':_0x4dd7f5,'mode':_0x90c80e};}async function resolveSqlNameInput(_0x42e0df){const _0x33c42b=a206_0x3b5acd,_0x3e4310=_0x42e0df[_0x33c42b(0x1ff)]('name')[_0x33c42b(0x1fd)]();if(_0x3e4310)return _0x3e4310;if(_0x42e0df['nonInteractive'])throw CliErrors['flagMissing'](_0x33c42b(0x1d0),_0x33c42b(0x1f6));return(await input({'message':'SQL\x20name:','validate':_0x25873f=>_0x25873f[_0x33c42b(0x1fd)]()?!![]:'SQL\x20name\x20cannot\x20be\x20empty'}))[_0x33c42b(0x1fd)]();}async function resolveDbSelection(_0x54c3cf){const _0x3df480=a206_0x3b5acd,_0x5415bc=resolveProvidedDbId(_0x54c3cf);if(typeof _0x5415bc===_0x3df480(0x1ef)&&Number[_0x3df480(0x206)](_0x5415bc)&&_0x5415bc>0x0)return{'dbId':_0x5415bc,'dbName':await getDbName(_0x54c3cf[_0x3df480(0x200)],_0x5415bc)[_0x3df480(0x1de)](()=>undefined)};if(_0x54c3cf[_0x3df480(0x1cd)])throw CliErrors[_0x3df480(0x1e9)](_0x3df480(0x1cf),_0x3df480(0x1c7));const _0x146377=await listDatabases(_0x54c3cf['appCode'])['catch'](()=>[]);if(_0x146377[_0x3df480(0x1ea)]===0x1)return{'dbId':_0x146377[0x0]['dbId'],'dbName':_0x146377[0x0][_0x3df480(0x1d4)]};if(_0x146377[_0x3df480(0x1ea)]>0x1){const _0x47d243=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0x146377['map'](_0x4da806=>({'name':_0x4da806[_0x3df480(0x1d4)]+'\x20('+_0x4da806[_0x3df480(0x1c8)]+')','value':serializeDbSelection(_0x4da806)})),{'name':_0x3df480(0x1d1),'value':_0x3df480(0x1c9)}]});if(_0x47d243!==_0x3df480(0x1c9))return deserializeDbSelection(_0x47d243);}const _0x3066f2=await input({'message':_0x3df480(0x1f9),'validate':_0x12e6d5=>{const _0x5cc1d4=_0x3df480,_0x412836=_0x12e6d5[_0x5cc1d4(0x1fd)]();if(!_0x412836)return'dbId\x20cannot\x20be\x20empty';const _0x556731=Number(_0x412836);if(!Number[_0x5cc1d4(0x1f0)](_0x556731)||_0x556731<=0x0)return _0x5cc1d4(0x1ec);return!![];}});return{'dbId':Number(_0x3066f2[_0x3df480(0x1fd)]())};}async function resolveSqlModeInput(_0x302064){const _0x41b590=a206_0x3b5acd,_0x18740d=_0x302064[_0x41b590(0x1ff)](_0x41b590(0x201))[_0x41b590(0x1fd)]();if(_0x18740d===_0x41b590(0x204)||_0x18740d==='mybatisXml')return _0x18740d;if(_0x302064[_0x41b590(0x1cd)])throw CliErrors['flagMissing'](_0x41b590(0x201),_0x41b590(0x1f8));return await select({'message':'Select\x20the\x20local\x20SQL\x20mode:','choices':[{'name':_0x41b590(0x1e7),'value':_0x41b590(0x204),'description':_0x41b590(0x1d5)},{'name':_0x41b590(0x1ce),'value':_0x41b590(0x1dd),'description':_0x41b590(0x1e1)}]});}function serializeDbSelection(_0x3c0f74){const _0x32ea7f=a206_0x3b5acd;return JSON[_0x32ea7f(0x1e2)]({'dbId':_0x3c0f74[_0x32ea7f(0x1c8)],'dbName':_0x3c0f74[_0x32ea7f(0x1d4)]});}function deserializeDbSelection(_0x5e4fa7){const _0x112211=a206_0x3b5acd;try{const _0x519e19=JSON[_0x112211(0x1f7)](_0x5e4fa7);if(typeof _0x519e19[_0x112211(0x1c8)]===_0x112211(0x1ef)&&Number['isFinite'](_0x519e19[_0x112211(0x1c8)]))return{'dbId':_0x519e19[_0x112211(0x1c8)],'dbName':_0x519e19['dbName']};}catch{}throw CliErrors['validation'](_0x112211(0x1e8)+_0x5e4fa7);}function resolveProvidedDbId(_0x661188){const _0x200e82=a206_0x3b5acd,_0x497d8a=_0x661188[_0x200e82(0x1da)](_0x200e82(0x1cf));if(typeof _0x497d8a===_0x200e82(0x1ef)&&Number[_0x200e82(0x206)](_0x497d8a))return _0x497d8a;return undefined;}
@@ -1 +1 @@
1
- const a209_0x2a60cc=a209_0x4e16;(function(_0x5896d2,_0x44c490){const _0x7eda22=a209_0x4e16,_0x22af1d=_0x5896d2();while(!![]){try{const _0x25d091=-parseInt(_0x7eda22(0x196))/0x1*(-parseInt(_0x7eda22(0x182))/0x2)+-parseInt(_0x7eda22(0x19a))/0x3*(-parseInt(_0x7eda22(0x184))/0x4)+-parseInt(_0x7eda22(0x1a0))/0x5*(parseInt(_0x7eda22(0x199))/0x6)+-parseInt(_0x7eda22(0x18c))/0x7*(parseInt(_0x7eda22(0x1a7))/0x8)+parseInt(_0x7eda22(0x191))/0x9+parseInt(_0x7eda22(0x18b))/0xa+parseInt(_0x7eda22(0x1aa))/0xb*(-parseInt(_0x7eda22(0x189))/0xc);if(_0x25d091===_0x44c490)break;else _0x22af1d['push'](_0x22af1d['shift']());}catch(_0x43f3e7){_0x22af1d['push'](_0x22af1d['shift']());}}}(a209_0x2a0e,0x444a6));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';function a209_0x4e16(_0x1e17e6,_0x40d2a1){_0x1e17e6=_0x1e17e6-0x182;const _0x2a0e94=a209_0x2a0e();let _0x4e1649=_0x2a0e94[_0x1e17e6];return _0x4e1649;}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':'delete','description':a209_0x2a60cc(0x1a4),'risk':a209_0x2a60cc(0x183),'flags':[SQLCODE_FLAG],async 'validate'(_0x18ec69){const _0x1c198e=a209_0x2a60cc,_0x336d06=loadSqlProjectConfig(_0x18ec69[_0x1c198e(0x197)]),_0x1ad879=await readSqlLockFile(_0x336d06[_0x1c198e(0x1a5)]);if(!_0x1ad879)throw CliErrors[_0x1c198e(0x1a2)](_0x1c198e(0x19b));},async 'dryRun'(_0x1faaa6){const _0xa839a3=a209_0x2a60cc,_0x519912=loadSqlProjectConfig(_0x1faaa6[_0xa839a3(0x197)]),_0x1a807c=await readSqlLockFile(_0x519912['lockFilePath']);if(!_0x1a807c)throw CliErrors[_0xa839a3(0x1a2)](_0xa839a3(0x19b));const {appLock:_0x4d24a5}=ensureSqlLockScope(_0x1a807c,_0x1faaa6['appCode'],_0x519912['sqlRoot'],_0xa839a3(0x18a)),_0x117479=_0x1faaa6['str']('sqlcode'),_0xbab0a8=_0x4d24a5['sqls'][_0x117479];if(!_0xbab0a8)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x117479+'\x22.');return{'method':_0xa839a3(0x18d),'url':_0xa839a3(0x195),'body':{'sqlCode':_0x117479,'id':_0xbab0a8['remoteId'],'localPath':resolveLocalSqlFilePath(_0x519912,_0x117479,_0xbab0a8)},'description':_0xa839a3(0x186)+_0x117479+_0xa839a3(0x1a9)+_0x519912[_0xa839a3(0x18e)]};},async 'execute'(_0x261222){const _0x13f9f5=a209_0x2a60cc,_0x3d1a6e=loadSqlProjectConfig(_0x261222['appCode']),_0x482de6=await readSqlLockFile(_0x3d1a6e[_0x13f9f5(0x1a5)]);if(!_0x482de6)throw CliErrors['validation'](_0x13f9f5(0x188));const {lockData:_0xdbdb8f,appLock:_0x3e872a}=ensureSqlLockScope(_0x482de6,_0x261222[_0x13f9f5(0x197)],_0x3d1a6e[_0x13f9f5(0x1a6)],_0x13f9f5(0x18a)),_0x1d79d1=_0x261222[_0x13f9f5(0x19c)](_0x13f9f5(0x193)),_0x423614=_0x3e872a[_0x13f9f5(0x190)][_0x1d79d1];if(!_0x423614)throw CliErrors[_0x13f9f5(0x1a2)](_0x13f9f5(0x1a8)+_0x1d79d1+'\x22.');await deleteSqlQuery({'id':_0x423614[_0x13f9f5(0x1a3)],'sqlCode':_0x1d79d1}),_0x3e872a[_0x13f9f5(0x190)]=Object[_0x13f9f5(0x19d)](Object['entries'](_0x3e872a[_0x13f9f5(0x190)])[_0x13f9f5(0x19e)](([_0x18fdd6])=>_0x18fdd6!==_0x1d79d1)),_0x3e872a[_0x13f9f5(0x192)]=new Date()['toISOString'](),await writeSqlLockFile(_0x3d1a6e['lockFilePath'],_0xdbdb8f);const _0x1f9f52=resolveLocalSqlFilePath(_0x3d1a6e,_0x1d79d1,_0x423614);let _0x19f31e;await fileExists(_0x1f9f52)&&(_0x19f31e=await moveToTrash(_0x3d1a6e[_0x13f9f5(0x194)],_0x3d1a6e[_0x13f9f5(0x18e)],_0x1f9f52),await cleanupEmptyDirectories(dirname(_0x1f9f52),_0x3d1a6e['sqlRootDir']));const _0x4a4d8d={'deleted':_0x1d79d1,'remoteId':_0x423614['remoteId']};if(_0x19f31e)_0x4a4d8d['trashedTo']=_0x19f31e;return{'ok':!![],'data':_0x4a4d8d,'message':_0x13f9f5(0x1a1)+_0x1d79d1+(_0x19f31e?_0x13f9f5(0x198):'')};}};async function moveToTrash(_0x110024,_0x305458,_0x10cc50){const _0x11d7f8=a209_0x2a60cc,_0x39bbb5=new Date()[_0x11d7f8(0x18f)]()[_0x11d7f8(0x187)](/[:.]/g,'-'),_0x3cb110=relative(_0x110024,_0x10cc50),_0x4f51fb=join(_0x305458,_0x39bbb5,_0x3cb110);return await mkdir(dirname(_0x4f51fb),{'recursive':!![]}),await rename(_0x10cc50,_0x4f51fb),_0x4f51fb;}async function cleanupEmptyDirectories(_0x5a7e1c,_0x2b801a){const _0x57e65a=a209_0x2a60cc;let _0x2365ef=resolve(_0x5a7e1c);const _0x48dc71=resolve(_0x2b801a);while(_0x2365ef[_0x57e65a(0x185)](''+_0x48dc71+sep)||_0x2365ef===_0x48dc71){if(_0x2365ef===_0x48dc71)return;try{const _0x5e3474=await readdir(_0x2365ef);if(_0x5e3474[_0x57e65a(0x19f)]>0x0)return;await rmdir(_0x2365ef);}catch{return;}_0x2365ef=dirname(_0x2365ef);}}function a209_0x2a0e(){const _0x2e9fc7=['/smartapi/custom/deleteUserCustomSql','10931vmWsKp','appCode','\x20(local\x20file\x20moved\x20to\x20trash)','8412RCsrDg','1155AfftzL','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','str','fromEntries','filter','length','160oxAtAE','Deleted\x20','validation','remoteId','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','lockFilePath','sqlRoot','1477552WXFtjy','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','11QOPuLv','68dqZuQv','high-risk-write','5700TzBzRi','startsWith','Would\x20delete\x20SQL\x20','replace','SQL\x20lock\x20file\x20not\x20found.','9448092ushajr','delete','5079350aJcwag','21wmcoLP','POST','trashDir','toISOString','sqls','2140119HecBKG','lastSync','sqlcode','projectRoot'];a209_0x2a0e=function(){return _0x2e9fc7;};return a209_0x2a0e();}
1
+ const a207_0x13ce16=a207_0x4cab;(function(_0x56a0db,_0x305b56){const _0xde9946=a207_0x4cab,_0x24e9af=_0x56a0db();while(!![]){try{const _0x3473a2=parseInt(_0xde9946(0x20d))/0x1*(-parseInt(_0xde9946(0x201))/0x2)+parseInt(_0xde9946(0x1f5))/0x3+parseInt(_0xde9946(0x1ff))/0x4+-parseInt(_0xde9946(0x20c))/0x5*(parseInt(_0xde9946(0x208))/0x6)+parseInt(_0xde9946(0x204))/0x7+-parseInt(_0xde9946(0x20a))/0x8+-parseInt(_0xde9946(0x20b))/0x9*(-parseInt(_0xde9946(0x1f7))/0xa);if(_0x3473a2===_0x305b56)break;else _0x24e9af['push'](_0x24e9af['shift']());}catch(_0x47d7d5){_0x24e9af['push'](_0x24e9af['shift']());}}}(a207_0x3ef8,0x2f5e5));function a207_0x4cab(_0x2f10e5,_0x338049){_0x2f10e5=_0x2f10e5-0x1f0;const _0x3ef8e0=a207_0x3ef8();let _0x4cab97=_0x3ef8e0[_0x2f10e5];return _0x4cab97;}function a207_0x3ef8(){const _0x5c58df=['1274948pLqjZn','str','998QjqJBX','length','startsWith','1839901ztZJoZ','trashedTo','replace','sql','778974XrJAsm','POST','2068704LRYZLu','43515oTLbOi','5wbBabJ','337moiEIM','trashDir','appCode','toISOString','Would\x20delete\x20SQL\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','lastSync','validation','sqlRootDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','362013gbIxeu','remoteId','100LodRTo','lockFilePath','sqls','delete','Deleted\x20','entries','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','sqlcode'];a207_0x3ef8=function(){return _0x5c58df;};return a207_0x3ef8();}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a207_0x13ce16(0x207),'command':a207_0x13ce16(0x1fa),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x29258b){const _0xf439fe=a207_0x13ce16,_0x1238b7=loadSqlProjectConfig(_0x29258b[_0xf439fe(0x20f)]),_0x1cc545=await readSqlLockFile(_0x1238b7[_0xf439fe(0x1f8)]);if(!_0x1cc545)throw CliErrors[_0xf439fe(0x1f2)](_0xf439fe(0x1fd));},async 'dryRun'(_0x3bc3e1){const _0x11cfa7=a207_0x13ce16,_0x4103bf=loadSqlProjectConfig(_0x3bc3e1[_0x11cfa7(0x20f)]),_0x3b6b60=await readSqlLockFile(_0x4103bf[_0x11cfa7(0x1f8)]);if(!_0x3b6b60)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x40199e}=ensureSqlLockScope(_0x3b6b60,_0x3bc3e1[_0x11cfa7(0x20f)],_0x4103bf['sqlRoot'],'delete'),_0x51fde7=_0x3bc3e1[_0x11cfa7(0x200)](_0x11cfa7(0x1fe)),_0x451a76=_0x40199e[_0x11cfa7(0x1f9)][_0x51fde7];if(!_0x451a76)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x51fde7+'\x22.');return{'method':_0x11cfa7(0x209),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x51fde7,'id':_0x451a76[_0x11cfa7(0x1f6)],'localPath':resolveLocalSqlFilePath(_0x4103bf,_0x51fde7,_0x451a76)},'description':_0x11cfa7(0x211)+_0x51fde7+_0x11cfa7(0x1f4)+_0x4103bf[_0x11cfa7(0x20e)]};},async 'execute'(_0x1411af){const _0x4cfe18=a207_0x13ce16,_0x33f148=loadSqlProjectConfig(_0x1411af[_0x4cfe18(0x20f)]),_0x4f2ada=await readSqlLockFile(_0x33f148[_0x4cfe18(0x1f8)]);if(!_0x4f2ada)throw CliErrors[_0x4cfe18(0x1f2)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x4cb205,appLock:_0x5ccaf4}=ensureSqlLockScope(_0x4f2ada,_0x1411af['appCode'],_0x33f148['sqlRoot'],_0x4cfe18(0x1fa)),_0xc1a770=_0x1411af[_0x4cfe18(0x200)](_0x4cfe18(0x1fe)),_0x4fdb02=_0x5ccaf4['sqls'][_0xc1a770];if(!_0x4fdb02)throw CliErrors['validation'](_0x4cfe18(0x1f0)+_0xc1a770+'\x22.');await deleteSqlQuery({'id':_0x4fdb02[_0x4cfe18(0x1f6)],'sqlCode':_0xc1a770}),_0x5ccaf4[_0x4cfe18(0x1f9)]=Object['fromEntries'](Object[_0x4cfe18(0x1fc)](_0x5ccaf4['sqls'])['filter'](([_0x2902a1])=>_0x2902a1!==_0xc1a770)),_0x5ccaf4[_0x4cfe18(0x1f1)]=new Date()[_0x4cfe18(0x210)](),await writeSqlLockFile(_0x33f148[_0x4cfe18(0x1f8)],_0x4cb205);const _0xc0e9e9=resolveLocalSqlFilePath(_0x33f148,_0xc1a770,_0x4fdb02);let _0x2eebf5;await fileExists(_0xc0e9e9)&&(_0x2eebf5=await moveToTrash(_0x33f148['projectRoot'],_0x33f148[_0x4cfe18(0x20e)],_0xc0e9e9),await cleanupEmptyDirectories(dirname(_0xc0e9e9),_0x33f148[_0x4cfe18(0x1f3)]));const _0x1ccee3={'deleted':_0xc1a770,'remoteId':_0x4fdb02[_0x4cfe18(0x1f6)]};if(_0x2eebf5)_0x1ccee3[_0x4cfe18(0x205)]=_0x2eebf5;return{'ok':!![],'data':_0x1ccee3,'message':_0x4cfe18(0x1fb)+_0xc1a770+(_0x2eebf5?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x5e050c,_0x35d1a2,_0xc65eed){const _0x520c99=a207_0x13ce16,_0x46208c=new Date()[_0x520c99(0x210)]()[_0x520c99(0x206)](/[:.]/g,'-'),_0x2dc214=relative(_0x5e050c,_0xc65eed),_0x18dd04=join(_0x35d1a2,_0x46208c,_0x2dc214);return await mkdir(dirname(_0x18dd04),{'recursive':!![]}),await rename(_0xc65eed,_0x18dd04),_0x18dd04;}async function cleanupEmptyDirectories(_0x44ac2a,_0x14d37c){const _0x685516=a207_0x13ce16;let _0x3fe3b1=resolve(_0x44ac2a);const _0x2dddbe=resolve(_0x14d37c);while(_0x3fe3b1[_0x685516(0x203)](''+_0x2dddbe+sep)||_0x3fe3b1===_0x2dddbe){if(_0x3fe3b1===_0x2dddbe)return;try{const _0x2b3139=await readdir(_0x3fe3b1);if(_0x2b3139[_0x685516(0x202)]>0x0)return;await rmdir(_0x3fe3b1);}catch{return;}_0x3fe3b1=dirname(_0x3fe3b1);}}
@@ -1 +1 @@
1
- const a210_0x5432dd=a210_0x2937;function a210_0x2937(_0x486e66,_0x31ec6c){_0x486e66=_0x486e66-0x165;const _0x1fd218=a210_0x1fd2();let _0x293742=_0x1fd218[_0x486e66];return _0x293742;}(function(_0x338944,_0x5b2b03){const _0x424a1f=a210_0x2937,_0xdbd7ff=_0x338944();while(!![]){try{const _0x10dd88=parseInt(_0x424a1f(0x16d))/0x1*(-parseInt(_0x424a1f(0x177))/0x2)+parseInt(_0x424a1f(0x171))/0x3*(parseInt(_0x424a1f(0x172))/0x4)+-parseInt(_0x424a1f(0x166))/0x5+parseInt(_0x424a1f(0x179))/0x6*(-parseInt(_0x424a1f(0x16a))/0x7)+parseInt(_0x424a1f(0x174))/0x8+-parseInt(_0x424a1f(0x16c))/0x9*(-parseInt(_0x424a1f(0x173))/0xa)+parseInt(_0x424a1f(0x178))/0xb*(parseInt(_0x424a1f(0x175))/0xc);if(_0x10dd88===_0x5b2b03)break;else _0xdbd7ff['push'](_0xdbd7ff['shift']());}catch(_0x4d0a56){_0xdbd7ff['push'](_0xdbd7ff['shift']());}}}(a210_0x1fd2,0x81cb2));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a210_0x1fd2(){const _0x26409b=['106590ZjAabX','1672WEMexv','9750CVuTvN','sqlCode','verbose','boolean','bool','sqlContent','4743835wpjGfZ','detail','str','appCode','3871bFCaGQ','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','9pwHtDp','14msNYKy','dbId','sqlcode','read','3ptlGtR','1187400epiqTe','913830UMKaTv','8170392wcAlRD','135444TMUxOT','sql'];a210_0x1fd2=function(){return _0x26409b;};return a210_0x1fd2();}export const sqlDetail={'service':a210_0x5432dd(0x176),'command':a210_0x5432dd(0x167),'description':a210_0x5432dd(0x16b),'risk':a210_0x5432dd(0x170),'flags':[SQLCODE_FLAG,{'name':a210_0x5432dd(0x17b),'type':a210_0x5432dd(0x17c),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0xc8104f){const _0x476e02=a210_0x5432dd,_0x4eb4e6=await getSqlQueryInfo(_0xc8104f[_0x476e02(0x169)],_0xc8104f[_0x476e02(0x168)](_0x476e02(0x16f))),_0x4b6637=_0xc8104f[_0x476e02(0x17d)](_0x476e02(0x17b));if(_0x4b6637)return{'ok':!![],'data':_0x4eb4e6};const _0x37d055=_0x4eb4e6['dbId']?await getDbName(_0xc8104f[_0x476e02(0x169)],_0x4eb4e6[_0x476e02(0x16e)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x4eb4e6[_0x476e02(0x17a)],'sqlName':_0x4eb4e6['sqlName'],'db':_0x37d055?_0x37d055+'\x20('+_0x4eb4e6['dbId']+')':_0x4eb4e6['dbId']??'','description':_0x4eb4e6['description']??'','sqlContent':_0x4eb4e6[_0x476e02(0x165)]??''}};}};
1
+ function a208_0x1233(_0xe89418,_0x2f675a){_0xe89418=_0xe89418-0x71;const _0x51afd4=a208_0x51af();let _0x12334d=_0x51afd4[_0xe89418];return _0x12334d;}const a208_0x552c82=a208_0x1233;(function(_0x30a1b7,_0x59eb24){const _0x52dfaf=a208_0x1233,_0x350516=_0x30a1b7();while(!![]){try{const _0x2f610f=parseInt(_0x52dfaf(0x75))/0x1+-parseInt(_0x52dfaf(0x79))/0x2*(-parseInt(_0x52dfaf(0x7a))/0x3)+parseInt(_0x52dfaf(0x71))/0x4+parseInt(_0x52dfaf(0x78))/0x5+parseInt(_0x52dfaf(0x81))/0x6*(-parseInt(_0x52dfaf(0x7f))/0x7)+parseInt(_0x52dfaf(0x77))/0x8+parseInt(_0x52dfaf(0x84))/0x9;if(_0x2f610f===_0x59eb24)break;else _0x350516['push'](_0x350516['shift']());}catch(_0x58a108){_0x350516['push'](_0x350516['shift']());}}}(a208_0x51af,0x679a4));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a208_0x51af(){const _0x155e83=['4942224DdxEkP','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','6pirRAw','appCode','boolean','967680sBkqJm','bool','216892MekTUT','sqlContent','detail','sqlCode','532874wWElxA','Return\x20full\x20raw\x20SQL\x20query\x20object','234864bUZWPs','1203915NntMnB','331260UVSnsS','3wUGCDl','verbose','sql','sqlcode','dbId'];a208_0x51af=function(){return _0x155e83;};return a208_0x51af();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a208_0x552c82(0x7c),'command':a208_0x552c82(0x73),'description':a208_0x552c82(0x80),'risk':'read','flags':[SQLCODE_FLAG,{'name':a208_0x552c82(0x7b),'type':a208_0x552c82(0x83),'description':a208_0x552c82(0x76)}],async 'execute'(_0x2932dd){const _0xf146fb=a208_0x552c82,_0x494947=await getSqlQueryInfo(_0x2932dd[_0xf146fb(0x82)],_0x2932dd['str'](_0xf146fb(0x7d))),_0x45e4db=_0x2932dd[_0xf146fb(0x85)](_0xf146fb(0x7b));if(_0x45e4db)return{'ok':!![],'data':_0x494947};const _0x5b52a2=_0x494947[_0xf146fb(0x7e)]?await getDbName(_0x2932dd['appCode'],_0x494947[_0xf146fb(0x7e)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x494947[_0xf146fb(0x74)],'sqlName':_0x494947['sqlName'],'db':_0x5b52a2?_0x5b52a2+'\x20('+_0x494947[_0xf146fb(0x7e)]+')':_0x494947['dbId']??'','description':_0x494947['description']??'','sqlContent':_0x494947[_0xf146fb(0x72)]??''}};}};
@@ -1 +1 @@
1
- const a211_0xc04b8e=a211_0x39e2;(function(_0x362f98,_0x4d173f){const _0x464f50=a211_0x39e2,_0x596329=_0x362f98();while(!![]){try{const _0x469ff7=-parseInt(_0x464f50(0xe7))/0x1+parseInt(_0x464f50(0xeb))/0x2+parseInt(_0x464f50(0xed))/0x3+-parseInt(_0x464f50(0xec))/0x4*(-parseInt(_0x464f50(0xe2))/0x5)+parseInt(_0x464f50(0xe1))/0x6*(parseInt(_0x464f50(0xee))/0x7)+parseInt(_0x464f50(0xdc))/0x8+-parseInt(_0x464f50(0xe6))/0x9;if(_0x469ff7===_0x4d173f)break;else _0x596329['push'](_0x596329['shift']());}catch(_0x3ca0a6){_0x596329['push'](_0x596329['shift']());}}}(a211_0x411d,0xea9ef));import{executeSql}from'../../core/api-client.js';function a211_0x39e2(_0x1d8c39,_0x261b1c){_0x1d8c39=_0x1d8c39-0xd9;const _0x411d0e=a211_0x411d();let _0x39e297=_0x411d0e[_0x1d8c39];return _0x39e297;}function a211_0x411d(){const _0x5ed8cb=['sql','1970304vTbibo','execResult','exec','params','execError','3804DIUlZj','113340EoPaVD','str','SQL\x20execution\x20failed','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','23758695HvWLGC','1332617djFMEk','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','string','sqlcode','1449082JvWgod','324hRwIyU','4471920pCWjEi','7021snumLC','execSuccess','now','isArray'];a211_0x411d=function(){return _0x5ed8cb;};return a211_0x411d();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a211_0xc04b8e(0xdb),'command':a211_0xc04b8e(0xde),'description':a211_0xc04b8e(0xe5),'risk':'read','flags':[SQLCODE_FLAG,{'name':a211_0xc04b8e(0xdf),'type':a211_0xc04b8e(0xe9),'description':a211_0xc04b8e(0xe8)}],async 'execute'(_0x57de62){const _0x3a55d4=a211_0xc04b8e,_0x1d7d6a=parseJsonParams(_0x57de62[_0x3a55d4(0xe3)](_0x3a55d4(0xdf))),_0x1c9e5e=Date[_0x3a55d4(0xd9)](),_0x228e75=await executeSql(_0x57de62['appCode'],_0x57de62[_0x3a55d4(0xe3)](_0x3a55d4(0xea)),_0x1d7d6a),_0x1853cb=Date[_0x3a55d4(0xd9)]()-_0x1c9e5e,_0x52ae47=_0x228e75?.[_0x3a55d4(0xdd)]??_0x228e75,_0x9a9408=_0x228e75?.[_0x3a55d4(0xef)]??!![];if(!_0x9a9408)return{'ok':![],'data':{'error':_0x228e75?.[_0x3a55d4(0xe0)]||_0x3a55d4(0xe4),'elapsed':_0x1853cb},'message':_0x3a55d4(0xe4)};const _0x50b3b1=Array[_0x3a55d4(0xda)](_0x52ae47)?_0x52ae47:[];return{'ok':!![],'data':{'rows':_0x50b3b1,'rowCount':_0x50b3b1['length'],'elapsed':_0x1853cb},'message':'Returned\x20'+_0x50b3b1['length']+'\x20row(s)\x20in\x20'+_0x1853cb+'ms'};}};
1
+ const a209_0x347f07=a209_0x1b62;(function(_0x2a0048,_0x357985){const _0x5ca310=a209_0x1b62,_0x1ed4aa=_0x2a0048();while(!![]){try{const _0x1c2149=parseInt(_0x5ca310(0x6a))/0x1+-parseInt(_0x5ca310(0x76))/0x2+-parseInt(_0x5ca310(0x83))/0x3*(parseInt(_0x5ca310(0x6b))/0x4)+-parseInt(_0x5ca310(0x6f))/0x5*(parseInt(_0x5ca310(0x6d))/0x6)+-parseInt(_0x5ca310(0x7e))/0x7*(parseInt(_0x5ca310(0x6c))/0x8)+-parseInt(_0x5ca310(0x72))/0x9+parseInt(_0x5ca310(0x81))/0xa;if(_0x1c2149===_0x357985)break;else _0x1ed4aa['push'](_0x1ed4aa['shift']());}catch(_0x1ed9a8){_0x1ed4aa['push'](_0x1ed4aa['shift']());}}}(a209_0x1bb9,0x7d942));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a209_0x347f07(0x75),'command':a209_0x347f07(0x7c),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a209_0x347f07(0x7b),'flags':[SQLCODE_FLAG,{'name':a209_0x347f07(0x78),'type':'string','description':a209_0x347f07(0x73)}],async 'execute'(_0x36bdac){const _0x24ad69=a209_0x347f07,_0x49c42d=parseJsonParams(_0x36bdac['str'](_0x24ad69(0x78))),_0x411dec=Date[_0x24ad69(0x79)](),_0xff199=await executeSql(_0x36bdac[_0x24ad69(0x7d)],_0x36bdac[_0x24ad69(0x71)](_0x24ad69(0x82)),_0x49c42d),_0x164726=Date[_0x24ad69(0x79)]()-_0x411dec,_0xfc3654=_0xff199?.['execResult']??_0xff199,_0x280eba=_0xff199?.[_0x24ad69(0x74)]??!![];if(!_0x280eba)return{'ok':![],'data':{'error':_0xff199?.[_0x24ad69(0x77)]||_0x24ad69(0x80),'elapsed':_0x164726},'message':'SQL\x20execution\x20failed'};const _0x3f5e92=Array[_0x24ad69(0x6e)](_0xfc3654)?_0xfc3654:[];return{'ok':!![],'data':{'rows':_0x3f5e92,'rowCount':_0x3f5e92[_0x24ad69(0x7a)],'elapsed':_0x164726},'message':_0x24ad69(0x7f)+_0x3f5e92[_0x24ad69(0x7a)]+_0x24ad69(0x70)+_0x164726+'ms'};}};function a209_0x1b62(_0x4cc812,_0x518873){_0x4cc812=_0x4cc812-0x6a;const _0x1bb946=a209_0x1bb9();let _0x1b62f6=_0x1bb946[_0x4cc812];return _0x1b62f6;}function a209_0x1bb9(){const _0x148b72=['48PYUVNu','1336074fPACxx','isArray','5uSGfIe','\x20row(s)\x20in\x20','str','3175623CffaLB','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','execSuccess','sql','1929420uFNYfu','execError','params','now','length','read','exec','appCode','839594Qfppqh','Returned\x20','SQL\x20execution\x20failed','34650620XNHBJX','sqlcode','3pKerwS','194875zZFAXJ','3542716xPlefL'];a209_0x1bb9=function(){return _0x148b72;};return a209_0x1bb9();}
@@ -1 +1 @@
1
- function a212_0x36b6(){const _0x21481f=['264337qkOOGf','336110fjsBXa','4718872WerVJV','1003135Oiwvps','6xFajKo','24xcuQhc','10eJGMDX','625167JrqNIx','1928928TPFLql','92790pIgBQP'];a212_0x36b6=function(){return _0x21481f;};return a212_0x36b6();}(function(_0x1b702f,_0x4a2e5c){const _0x1ca4ba=a212_0x2fe4,_0x563a7c=_0x1b702f();while(!![]){try{const _0x2664e0=-parseInt(_0x1ca4ba(0x11d))/0x1+-parseInt(_0x1ca4ba(0x122))/0x2*(parseInt(_0x1ca4ba(0x11c))/0x3)+parseInt(_0x1ca4ba(0x11b))/0x4+-parseInt(_0x1ca4ba(0x11e))/0x5+parseInt(_0x1ca4ba(0x121))/0x6*(-parseInt(_0x1ca4ba(0x120))/0x7)+parseInt(_0x1ca4ba(0x11f))/0x8+-parseInt(_0x1ca4ba(0x11a))/0x9*(-parseInt(_0x1ca4ba(0x119))/0xa);if(_0x2664e0===_0x4a2e5c)break;else _0x563a7c['push'](_0x563a7c['shift']());}catch(_0x4eac3b){_0x563a7c['push'](_0x563a7c['shift']());}}}(a212_0x36b6,0x4826a));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a212_0x2fe4(_0x1b9742,_0x1e3400){_0x1b9742=_0x1b9742-0x119;const _0x36b6ab=a212_0x36b6();let _0x2fe4e8=_0x36b6ab[_0x1b9742];return _0x2fe4e8;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
1
+ function a210_0x5053(_0x2c654f,_0x51d726){_0x2c654f=_0x2c654f-0x136;const _0x1606cc=a210_0x1606();let _0x505324=_0x1606cc[_0x2c654f];return _0x505324;}(function(_0x3d0133,_0x3f500a){const _0x304f21=a210_0x5053,_0x430ac7=_0x3d0133();while(!![]){try{const _0x1ad482=-parseInt(_0x304f21(0x13c))/0x1*(-parseInt(_0x304f21(0x137))/0x2)+-parseInt(_0x304f21(0x13f))/0x3*(parseInt(_0x304f21(0x13a))/0x4)+-parseInt(_0x304f21(0x13e))/0x5+-parseInt(_0x304f21(0x13b))/0x6+parseInt(_0x304f21(0x136))/0x7*(parseInt(_0x304f21(0x138))/0x8)+-parseInt(_0x304f21(0x139))/0x9+parseInt(_0x304f21(0x13d))/0xa;if(_0x1ad482===_0x3f500a)break;else _0x430ac7['push'](_0x430ac7['shift']());}catch(_0x13cad2){_0x430ac7['push'](_0x430ac7['shift']());}}}(a210_0x1606,0x4c08a));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a210_0x1606(){const _0x28362e=['5264595zWYTCJ','390088ANCHGR','2832660OaiGCP','25oUzCUs','15163550VOJBIt','903305zGqsgp','18NRNQwQ','7kTDVUe','19972CURpqx','2946296pKhUSO'];a210_0x1606=function(){return _0x28362e;};return a210_0x1606();}import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a213_0x10bc24=a213_0x5eda;(function(_0x919be,_0x10c35a){const _0x11fa90=a213_0x5eda,_0xf5734b=_0x919be();while(!![]){try{const _0x4caf0c=parseInt(_0x11fa90(0x1a7))/0x1+parseInt(_0x11fa90(0x1b7))/0x2+parseInt(_0x11fa90(0x1c7))/0x3+parseInt(_0x11fa90(0x1ae))/0x4+parseInt(_0x11fa90(0x1a8))/0x5+parseInt(_0x11fa90(0x1bc))/0x6+-parseInt(_0x11fa90(0x1b0))/0x7*(parseInt(_0x11fa90(0x1bd))/0x8);if(_0x4caf0c===_0x10c35a)break;else _0xf5734b['push'](_0xf5734b['shift']());}catch(_0x50584c){_0xf5734b['push'](_0xf5734b['shift']());}}}(a213_0x3c93,0x2997a));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a213_0x10bc24(0x1bb),'command':a213_0x10bc24(0x1c4),'description':a213_0x10bc24(0x1b8),'risk':a213_0x10bc24(0x1ad),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a213_0x10bc24(0x1a4),'description':'Filter\x20by\x20SQL\x20name'},{'name':a213_0x10bc24(0x1c0),'type':a213_0x10bc24(0x1a6),'description':a213_0x10bc24(0x1ba),'default':0x1},{'name':a213_0x10bc24(0x1b6),'type':a213_0x10bc24(0x1a6),'description':a213_0x10bc24(0x1c1)},{'name':a213_0x10bc24(0x1b3),'type':a213_0x10bc24(0x1b9),'description':a213_0x10bc24(0x1c2)}],async 'execute'(_0x12477d){const _0x14dab5=a213_0x10bc24,_0x35928c=await listSqlQueries(_0x12477d[_0x14dab5(0x1be)],{'sqlCode':_0x12477d['str'](_0x14dab5(0x1c3))||undefined,'sqlName':_0x12477d['str'](_0x14dab5(0x1bf))||undefined,'currentPage':_0x12477d['num']('page'),'pageSize':_0x12477d['num']('pagesize',0x32)}),_0xbf056=_0x12477d[_0x14dab5(0x1ac)]('verbose'),_0x354fd6=_0x35928c['tableData']??[],_0x58c9af=_0x35928c[_0x14dab5(0x1b5)]?.[_0x14dab5(0x1c6)]??_0x354fd6[_0x14dab5(0x1a9)];let _0x1cd877;return _0xbf056?_0x1cd877=_0x354fd6:_0x1cd877=await Promise[_0x14dab5(0x1b1)](_0x354fd6[_0x14dab5(0x1af)](async _0x45c4b8=>{const _0x28312c=_0x14dab5;let _0x5ac944;try{_0x5ac944=_0x45c4b8['dbId']?await getDbName(_0x12477d[_0x28312c(0x1be)],_0x45c4b8[_0x28312c(0x1c5)]):undefined;}catch{}return{'sqlCode':_0x45c4b8['sqlCode'],'sqlName':_0x45c4b8[_0x28312c(0x1b4)],'description':_0x45c4b8[_0x28312c(0x1ab)]??'','db':_0x5ac944?_0x5ac944+'\x20('+_0x45c4b8[_0x28312c(0x1c5)]+')':_0x45c4b8[_0x28312c(0x1c5)]??''};})),{'ok':!![],'data':_0x1cd877,'message':_0x354fd6[_0x14dab5(0x1a9)]===0x0?_0x14dab5(0x1a5):_0x14dab5(0x1b2)+_0x354fd6[_0x14dab5(0x1a9)]+_0x14dab5(0x1aa)+_0x58c9af+').'};}};function a213_0x5eda(_0x540df0,_0x1089b3){_0x540df0=_0x540df0-0x1a4;const _0x3c9316=a213_0x3c93();let _0x5eda85=_0x3c9316[_0x540df0];return _0x5eda85;}function a213_0x3c93(){const _0x5416da=['1660260KtXxLW','length','\x20SQL\x20queries\x20(total:\x20','description','bool','read','858960sHPCwD','map','7qBRgvv','all','Found\x20','verbose','sqlName','paging','pagesize','486692Lqddzh','List\x20custom\x20SQL\x20queries','boolean','Page\x20number','sql','1270452DYBkcg','9435472mNQLXL','appCode','name','page','Page\x20size','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','sqlcode','list','dbId','totalCount','677553rJgAVn','string','No\x20custom\x20SQL\x20queries\x20found.','number','122065RxmOJO'];a213_0x3c93=function(){return _0x5416da;};return a213_0x3c93();}
1
+ const a211_0x12da6c=a211_0x28c6;function a211_0x28c6(_0x3ddaab,_0x77b9c2){_0x3ddaab=_0x3ddaab-0x180;const _0x2a0576=a211_0x2a05();let _0x28c6ea=_0x2a0576[_0x3ddaab];return _0x28c6ea;}(function(_0x2fdfc7,_0x7c60c6){const _0x40ca8e=a211_0x28c6,_0x269def=_0x2fdfc7();while(!![]){try{const _0x5f5c7c=-parseInt(_0x40ca8e(0x180))/0x1+-parseInt(_0x40ca8e(0x193))/0x2+-parseInt(_0x40ca8e(0x192))/0x3*(parseInt(_0x40ca8e(0x189))/0x4)+parseInt(_0x40ca8e(0x18d))/0x5*(parseInt(_0x40ca8e(0x182))/0x6)+-parseInt(_0x40ca8e(0x1a4))/0x7+parseInt(_0x40ca8e(0x18f))/0x8*(-parseInt(_0x40ca8e(0x194))/0x9)+parseInt(_0x40ca8e(0x183))/0xa*(parseInt(_0x40ca8e(0x197))/0xb);if(_0x5f5c7c===_0x7c60c6)break;else _0x269def['push'](_0x269def['shift']());}catch(_0xc05441){_0x269def['push'](_0x269def['shift']());}}}(a211_0x2a05,0x9e69d));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a211_0x2a05(){const _0x28c7b6=['length','List\x20custom\x20SQL\x20queries','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','name','page','tableData','dbId','\x20SQL\x20queries\x20(total:\x20','map','7683879ZdYBcJ','184046fWLFwi','num','12HkBOYx','1256170DoOzYc','bool','Filter\x20by\x20SQL\x20name','boolean','list','verbose','288aaXQQN','sqlCode','appCode','Page\x20number','1098600iePtYc','Page\x20size','16eQQQdc','pagesize','Found\x20','501RRAIkv','2574020tXmztG','2141298hVaNMU','string','str','286XvkCdM','all','No\x20custom\x20SQL\x20queries\x20found.','number'];a211_0x2a05=function(){return _0x28c7b6;};return a211_0x2a05();}export const sqlList={'service':'sql','command':a211_0x12da6c(0x187),'description':a211_0x12da6c(0x19c),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a211_0x12da6c(0x195),'description':a211_0x12da6c(0x185)},{'name':'page','type':a211_0x12da6c(0x19a),'description':a211_0x12da6c(0x18c),'default':0x1},{'name':a211_0x12da6c(0x190),'type':'number','description':a211_0x12da6c(0x18e)},{'name':a211_0x12da6c(0x188),'type':a211_0x12da6c(0x186),'description':a211_0x12da6c(0x19d)}],async 'execute'(_0x22a72b){const _0x1a0e0a=a211_0x12da6c,_0x3c2961=await listSqlQueries(_0x22a72b[_0x1a0e0a(0x18b)],{'sqlCode':_0x22a72b[_0x1a0e0a(0x196)]('sqlcode')||undefined,'sqlName':_0x22a72b[_0x1a0e0a(0x196)](_0x1a0e0a(0x19e))||undefined,'currentPage':_0x22a72b[_0x1a0e0a(0x181)](_0x1a0e0a(0x19f)),'pageSize':_0x22a72b[_0x1a0e0a(0x181)](_0x1a0e0a(0x190),0x32)}),_0x4025b2=_0x22a72b[_0x1a0e0a(0x184)](_0x1a0e0a(0x188)),_0x2383a9=_0x3c2961[_0x1a0e0a(0x1a0)]??[],_0x4bf700=_0x3c2961['paging']?.['totalCount']??_0x2383a9[_0x1a0e0a(0x19b)];let _0x34241c;return _0x4025b2?_0x34241c=_0x2383a9:_0x34241c=await Promise[_0x1a0e0a(0x198)](_0x2383a9[_0x1a0e0a(0x1a3)](async _0x1d5608=>{const _0x23795c=_0x1a0e0a;let _0x41c727;try{_0x41c727=_0x1d5608[_0x23795c(0x1a1)]?await getDbName(_0x22a72b[_0x23795c(0x18b)],_0x1d5608['dbId']):undefined;}catch{}return{'sqlCode':_0x1d5608[_0x23795c(0x18a)],'sqlName':_0x1d5608['sqlName'],'description':_0x1d5608['description']??'','db':_0x41c727?_0x41c727+'\x20('+_0x1d5608[_0x23795c(0x1a1)]+')':_0x1d5608[_0x23795c(0x1a1)]??''};})),{'ok':!![],'data':_0x34241c,'message':_0x2383a9[_0x1a0e0a(0x19b)]===0x0?_0x1a0e0a(0x199):_0x1a0e0a(0x191)+_0x2383a9[_0x1a0e0a(0x19b)]+_0x1a0e0a(0x1a2)+_0x4bf700+').'};}};
@@ -1 +1 @@
1
- function a214_0x53e4(_0x2bf5a5,_0x2c43d9){_0x2bf5a5=_0x2bf5a5-0x153;const _0x5cf1c3=a214_0x5cf1();let _0x53e4b7=_0x5cf1c3[_0x2bf5a5];return _0x53e4b7;}const a214_0x6a568a=a214_0x53e4;(function(_0x2309d1,_0x2a0fae){const _0x249ad3=a214_0x53e4,_0x384cbf=_0x2309d1();while(!![]){try{const _0x39de40=parseInt(_0x249ad3(0x175))/0x1*(parseInt(_0x249ad3(0x188))/0x2)+parseInt(_0x249ad3(0x174))/0x3+parseInt(_0x249ad3(0x15f))/0x4+parseInt(_0x249ad3(0x161))/0x5*(parseInt(_0x249ad3(0x16e))/0x6)+-parseInt(_0x249ad3(0x171))/0x7+parseInt(_0x249ad3(0x16c))/0x8*(-parseInt(_0x249ad3(0x18a))/0x9)+parseInt(_0x249ad3(0x17c))/0xa;if(_0x39de40===_0x2a0fae)break;else _0x384cbf['push'](_0x384cbf['shift']());}catch(_0x2a5016){_0x384cbf['push'](_0x384cbf['shift']());}}}(a214_0x5cf1,0x5ffe5));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x29b4a2,_0x390fd8){const _0x411e5c=a214_0x53e4,_0x4aaf9b=[];let _0x2f2498=0x1;while(!![]){const _0x472d57=await listSqlQueries(_0x29b4a2,{'currentPage':_0x2f2498,'pageSize':PAGE_SIZE,'sqlCode':_0x390fd8['sqlCode'],'sqlName':_0x390fd8[_0x411e5c(0x167)]}),_0x2afd3a=_0x472d57[_0x411e5c(0x178)]??[];_0x4aaf9b[_0x411e5c(0x157)](..._0x2afd3a);if(_0x2afd3a['length']===0x0)break;const _0x4710cc=_0x472d57[_0x411e5c(0x17e)]?.[_0x411e5c(0x164)];if(_0x4710cc!=null?_0x4aaf9b['length']>=_0x4710cc:_0x2afd3a[_0x411e5c(0x186)]<PAGE_SIZE)break;_0x2f2498++;}return _0x4aaf9b;}function a214_0x5cf1(){const _0x261b1f=['8VdwCSz','pull','3426ELMUZC','sqls','sql','1356005YmaJdE','would_pull','lastSync','605754BRwuqh','1jxRSYX','\x20failed','force','tableData','Pull\x20complete:\x20','Force\x20overwrite\x20local\x20unsynced\x20changes','No\x20remote\x20SQL\x20queries\x20matched.','2073980OFzNJB','sqlRoot','paging','name','cancelled','\x20written,\x20','mybatisXml','path','sqlContent','test','length','dbId','49994jPrlDj','conflict','3806811EoZtvd','boolean','filter','Filter\x20by\x20SQL\x20display\x20name','catch','Would\x20pull\x20','join','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','push','bool','str','sqlRootDir','sqlcode','sqlCode','skipped','description','1587388FtaWoV','trimStart','1565BADsgM','POST','message','totalCount','string','appCode','sqlName','read','toISOString','lockFilePath','utf8'];a214_0x5cf1=function(){return _0x261b1f;};return a214_0x5cf1();}async function ensureSqlContent(_0x2cfe1f){const _0x4fa8de=a214_0x53e4;if(_0x2cfe1f[_0x4fa8de(0x184)]!=null&&String(_0x2cfe1f[_0x4fa8de(0x184)])[_0x4fa8de(0x186)]>0x0)return _0x2cfe1f;return getSqlQueryDetail(_0x2cfe1f[_0x4fa8de(0x15c)]);}export const sqlPull={'service':'sql','command':a214_0x6a568a(0x16d),'description':a214_0x6a568a(0x156),'risk':a214_0x6a568a(0x168),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a214_0x6a568a(0x17f),'type':a214_0x6a568a(0x165),'description':a214_0x6a568a(0x18d)},{'name':a214_0x6a568a(0x177),'type':a214_0x6a568a(0x18b),'description':a214_0x6a568a(0x17a)}],async 'dryRun'(_0x184fe9){const _0xab2f67=a214_0x6a568a,_0x1dd23e=loadSqlProjectConfig(_0x184fe9[_0xab2f67(0x166)]),_0x359d21=await readSqlLockFile(_0x1dd23e[_0xab2f67(0x16a)]),{appLock:_0x55caec}=ensureSqlLockScope(_0x359d21??createEmptySqlLock(),_0x1dd23e[_0xab2f67(0x166)],_0x1dd23e[_0xab2f67(0x17d)],_0xab2f67(0x16d)),_0x3c923f=await fetchAllSqlQueries(_0x184fe9[_0xab2f67(0x166)],{'sqlCode':_0x184fe9[_0xab2f67(0x159)]('sqlcode')||undefined,'sqlName':_0x184fe9[_0xab2f67(0x159)](_0xab2f67(0x17f))||undefined}),_0x42212d=[];for(const _0x1f269d of _0x3c923f){const _0x585a43=await ensureSqlContent(_0x1f269d),_0x3a7154=ensureRemoteSqlContent(_0x585a43),_0x4d0190=detectModeFromSql(_0x585a43),_0x503252=_0x585a43[_0xab2f67(0x187)]?await getDbName(_0x184fe9[_0xab2f67(0x166)],Number(_0x585a43[_0xab2f67(0x187)]))[_0xab2f67(0x153)](()=>undefined):undefined,_0x223b42=buildLocalSqlFileContent({'sqlCode':_0x585a43[_0xab2f67(0x15c)],'sqlName':_0x585a43[_0xab2f67(0x167)],'dbId':_0x585a43[_0xab2f67(0x187)]},_0x3a7154,{'dbName':_0x503252,'mode':_0x4d0190,'syncedAt':new Date()['toISOString'](),'description':_0x585a43['description']}),_0x35f98b=buildSqlLockEntry(_0x585a43,_0x3a7154,'',{'dbName':_0x503252}),_0x40aa6f=resolveLocalSqlFilePath(_0x1dd23e,_0x585a43[_0xab2f67(0x15c)],_0x35f98b);let _0x343e23=_0xab2f67(0x172),_0x21ffaa;if(await fileExists(_0x40aa6f)){const _0x97f614=await readFile(_0x40aa6f,_0xab2f67(0x16b));isEquivalentPulledSqlFile(_0x97f614,_0x223b42,_0x4d0190)?(_0x343e23=_0xab2f67(0x15d),_0x21ffaa='unchanged'):(_0x343e23=_0xab2f67(0x189),_0x21ffaa='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x42212d[_0xab2f67(0x157)]({'sqlCode':_0x585a43[_0xab2f67(0x15c)],'sqlName':_0x585a43['sqlName'],'filePath':_0x40aa6f,'status':_0x343e23,'reason':_0x21ffaa});}return{'method':_0xab2f67(0x162),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x184fe9[_0xab2f67(0x166)],'sqlCode':_0x184fe9[_0xab2f67(0x159)](_0xab2f67(0x15b))||null,'sqlName':_0x184fe9[_0xab2f67(0x159)](_0xab2f67(0x17f))||null,'files':_0x42212d},'description':_0xab2f67(0x154)+_0x42212d[_0xab2f67(0x186)]+'\x20SQL\x20file(s)\x20into\x20'+_0x1dd23e['sqlRootDir']};},async 'execute'(_0x40b112){const _0x3fb342=a214_0x6a568a,_0x3b98f1=loadSqlProjectConfig(_0x40b112['appCode']),_0x1a21d5=await readSqlLockFile(_0x3b98f1['lockFilePath']),{lockData:_0x3417be,appLock:_0x312358}=ensureSqlLockScope(_0x1a21d5??createEmptySqlLock(),_0x3b98f1['appCode'],_0x3b98f1[_0x3fb342(0x17d)],'pull'),_0x2fb802=_0x40b112[_0x3fb342(0x158)](_0x3fb342(0x177)),_0x4cc0a9=await fetchAllSqlQueries(_0x40b112['appCode'],{'sqlCode':_0x40b112[_0x3fb342(0x159)](_0x3fb342(0x15b))||undefined,'sqlName':_0x40b112['str']('name')||undefined});if(_0x4cc0a9[_0x3fb342(0x186)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3fb342(0x17b)};const _0x2b1175=[],_0x4f383d=[];for(const _0x29b9b2 of _0x4cc0a9){try{_0x2b1175[_0x3fb342(0x157)](await ensureSqlContent(_0x29b9b2));}catch(_0x359255){_0x4f383d[_0x3fb342(0x157)]({'sqlCode':_0x29b9b2['sqlCode'],'error':_0x359255 instanceof Error?_0x359255[_0x3fb342(0x163)]:String(_0x359255)});}}if(_0x2fb802&&!_0x40b112['nonInteractive']){let _0x3197dd=![];for(const _0x342073 of _0x2b1175){const _0x17b6bf=detectModeFromSql(_0x342073),_0x182e0b=_0x342073[_0x3fb342(0x187)]?await getDbName(_0x40b112[_0x3fb342(0x166)],Number(_0x342073[_0x3fb342(0x187)]))['catch'](()=>undefined):undefined,_0x380780=buildLocalSqlFileContent({'sqlCode':_0x342073[_0x3fb342(0x15c)],'sqlName':_0x342073[_0x3fb342(0x167)],'dbId':_0x342073[_0x3fb342(0x187)]},ensureRemoteSqlContent(_0x342073),{'dbName':_0x182e0b,'mode':_0x17b6bf,'syncedAt':new Date()['toISOString'](),'description':_0x342073[_0x3fb342(0x15e)]}),_0x5ce533=resolveLocalSqlFilePath(_0x3b98f1,_0x342073[_0x3fb342(0x15c)],buildSqlLockEntry(_0x342073,ensureRemoteSqlContent(_0x342073),'',{'dbName':_0x182e0b}));if(await fileExists(_0x5ce533)){const _0x226b96=await readFile(_0x5ce533,_0x3fb342(0x16b));if(!isEquivalentPulledSqlFile(_0x226b96,_0x380780,_0x17b6bf)){_0x3197dd=!![];break;}}}if(_0x3197dd){const _0x5085fd=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x5085fd)throw CliErrors[_0x3fb342(0x180)]('Force\x20pull\x20cancelled.');}}const _0x9d034e=cloneSqlLockData(_0x3417be),_0x4decdf=_0x9d034e['apps'][_0x3b98f1[_0x3fb342(0x166)]],_0xaaab6b=[],_0x4b8d2f=[];for(const _0x528d64 of _0x2b1175){const _0x4a4589=_0x4decdf[_0x3fb342(0x16f)][_0x528d64[_0x3fb342(0x15c)]],_0x540ba7=ensureRemoteSqlContent(_0x528d64),_0x554766=detectModeFromSql(_0x528d64),_0x4019d5=_0x528d64[_0x3fb342(0x187)]?await getDbName(_0x40b112[_0x3fb342(0x166)],Number(_0x528d64[_0x3fb342(0x187)]))[_0x3fb342(0x153)](()=>undefined):undefined,_0x506000=buildLocalSqlFileContent({'sqlCode':_0x528d64[_0x3fb342(0x15c)],'sqlName':_0x528d64[_0x3fb342(0x167)],'dbId':_0x528d64[_0x3fb342(0x187)]},_0x540ba7,{'dbName':_0x4019d5,'mode':_0x554766,'syncedAt':new Date()[_0x3fb342(0x169)](),'description':_0x528d64[_0x3fb342(0x15e)]}),_0x3a4024=buildSqlLockEntry(_0x528d64,_0x540ba7,computeSqlContentHash(_0x506000),{'dbName':_0x4019d5}),_0x41832a=_0x3a4024[_0x3fb342(0x183)],_0x19d420=join(_0x3b98f1[_0x3fb342(0x15a)],_0x41832a);try{if(await fileExists(_0x19d420)){const _0x38038a=await readFile(_0x19d420,_0x3fb342(0x16b));if(isEquivalentPulledSqlFile(_0x38038a,_0x506000,_0x554766)){_0x4b8d2f['push']({'sqlCode':_0x528d64[_0x3fb342(0x15c)],'reason':'unchanged'}),_0x4decdf[_0x3fb342(0x16f)][_0x528d64[_0x3fb342(0x15c)]]={..._0x3a4024,'hash':computeSqlContentHash(_0x38038a),'path':_0x41832a};continue;}if(!_0x2fb802){_0x4b8d2f[_0x3fb342(0x157)]({'sqlCode':_0x528d64[_0x3fb342(0x15c)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x2ee98c=_0x4a4589?.[_0x3fb342(0x183)]?join(_0x3b98f1[_0x3fb342(0x15a)],_0x4a4589[_0x3fb342(0x183)]):undefined;_0x2ee98c&&_0x2ee98c!==_0x19d420&&await fileExists(_0x2ee98c)&&await rm(_0x2ee98c,{'force':!![]}),await ensureParentDirectory(_0x19d420),await writeFile(_0x19d420,_0x506000,'utf8'),_0x4decdf[_0x3fb342(0x16f)][_0x528d64[_0x3fb342(0x15c)]]={..._0x3a4024,'path':_0x41832a},_0xaaab6b['push']({'sqlCode':_0x528d64[_0x3fb342(0x15c)],'filePath':_0x19d420});}catch(_0x8cc868){_0x4f383d[_0x3fb342(0x157)]({'sqlCode':_0x528d64[_0x3fb342(0x15c)],'error':_0x8cc868 instanceof Error?_0x8cc868['message']:String(_0x8cc868)});}}return _0x4decdf[_0x3fb342(0x173)]=new Date()['toISOString'](),await writeSqlLockFile(_0x3b98f1[_0x3fb342(0x16a)],_0x9d034e),{'ok':_0x4f383d[_0x3fb342(0x186)]===0x0,'data':{'pulled':_0xaaab6b,'skipped':_0x4b8d2f,'failed':_0x4f383d},'message':_0x3fb342(0x179)+_0xaaab6b[_0x3fb342(0x186)]+_0x3fb342(0x181)+_0x4b8d2f['length']+'\x20skipped,\x20'+_0x4f383d[_0x3fb342(0x186)]+_0x3fb342(0x176)};}};function detectModeFromSql(_0x3bcabd){const _0x1d1f67=a214_0x6a568a,_0x1d471a=ensureRemoteSqlContent(_0x3bcabd),_0x58922a=stripLocalSqlMetadata(_0x1d471a,_0x1d1f67(0x182))[_0x1d1f67(0x160)]();if(/^<(select|insert|update|delete)\b/i[_0x1d1f67(0x185)](_0x58922a))return _0x1d1f67(0x182);return _0x1d1f67(0x170);}function isEquivalentPulledSqlFile(_0x26527c,_0x357c3,_0x716c){return normalizePullComparableContent(_0x26527c,_0x716c)===normalizePullComparableContent(_0x357c3,_0x716c);}function normalizePullComparableContent(_0x375e3e,_0x56f717){const _0x133c90=a214_0x6a568a,_0x332d45=_0x375e3e['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0x239025=_0x332d45[_0x133c90(0x18c)](_0x34c143=>!isSyncedAtMetadataLine(_0x34c143,_0x56f717));return _0x239025[_0x133c90(0x155)]('\x0a');}function isSyncedAtMetadataLine(_0x55d55d,_0x43e066){const _0x2beab5=a214_0x6a568a;if(_0x43e066===_0x2beab5(0x182))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x2beab5(0x185)](_0x55d55d);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x2beab5(0x185)](_0x55d55d);}
1
+ const a212_0x2ecf8d=a212_0x153f;(function(_0x208e8c,_0xb0d26){const _0x1fae89=a212_0x153f,_0x2df10a=_0x208e8c();while(!![]){try{const _0x179122=parseInt(_0x1fae89(0x125))/0x1*(parseInt(_0x1fae89(0x103))/0x2)+-parseInt(_0x1fae89(0xfd))/0x3*(parseInt(_0x1fae89(0x11a))/0x4)+parseInt(_0x1fae89(0x135))/0x5+-parseInt(_0x1fae89(0xfe))/0x6*(-parseInt(_0x1fae89(0x128))/0x7)+-parseInt(_0x1fae89(0x106))/0x8*(parseInt(_0x1fae89(0xff))/0x9)+parseInt(_0x1fae89(0x138))/0xa+parseInt(_0x1fae89(0x11d))/0xb;if(_0x179122===_0xb0d26)break;else _0x2df10a['push'](_0x2df10a['shift']());}catch(_0x4fe494){_0x2df10a['push'](_0x2df10a['shift']());}}}(a212_0x4399,0xb1a06));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a212_0x4399(){const _0x37ff0d=['path','string','3HCdVQL','6YPIzta','337941XLQOKG','sqlcode','unchanged','appCode','614MUfXeJ','split','lastSync','200yhQzuw','Filter\x20by\x20SQL\x20display\x20name','filter','mybatisXml','POST','\x20failed','No\x20remote\x20SQL\x20queries\x20matched.','skipped','nonInteractive','read','sqls','bool','\x20SQL\x20file(s)\x20into\x20','utf8','push','str','replace','toISOString','cancelled','force','978344nDNhDg','totalCount','conflict','2087932MCWpYX','sqlName','test','trimStart','sqlContent','sql','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','965wanQfO','pull','message','2868481iqgJRm','Would\x20pull\x20','sqlRoot','length','sqlRootDir','sqlCode','Pull\x20complete:\x20','lockFilePath','name','Force\x20pull\x20cancelled.','dbId','boolean','paging','4298890ZwvZli','tableData','description','1552410qultxY','catch','\x20written,\x20'];a212_0x4399=function(){return _0x37ff0d;};return a212_0x4399();}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a212_0x153f(_0x4fcbe9,_0x18fd1c){_0x4fcbe9=_0x4fcbe9-0xfa;const _0x439950=a212_0x4399();let _0x153ffb=_0x439950[_0x4fcbe9];return _0x153ffb;}import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x22b9bb,_0x2ec368){const _0x47b809=a212_0x153f,_0x55901b=[];let _0x484dc1=0x1;while(!![]){const _0xc559c0=await listSqlQueries(_0x22b9bb,{'currentPage':_0x484dc1,'pageSize':PAGE_SIZE,'sqlCode':_0x2ec368[_0x47b809(0x12d)],'sqlName':_0x2ec368[_0x47b809(0x11e)]}),_0x2f1990=_0xc559c0[_0x47b809(0x136)]??[];_0x55901b[_0x47b809(0x114)](..._0x2f1990);if(_0x2f1990[_0x47b809(0x12b)]===0x0)break;const _0x25881c=_0xc559c0[_0x47b809(0x134)]?.[_0x47b809(0x11b)];if(_0x25881c!=null?_0x55901b[_0x47b809(0x12b)]>=_0x25881c:_0x2f1990[_0x47b809(0x12b)]<PAGE_SIZE)break;_0x484dc1++;}return _0x55901b;}async function ensureSqlContent(_0x764118){const _0x2cefc7=a212_0x153f;if(_0x764118['sqlContent']!=null&&String(_0x764118[_0x2cefc7(0x121)])['length']>0x0)return _0x764118;return getSqlQueryDetail(_0x764118[_0x2cefc7(0x12d)]);}export const sqlPull={'service':a212_0x2ecf8d(0x122),'command':a212_0x2ecf8d(0x126),'description':a212_0x2ecf8d(0x124),'risk':a212_0x2ecf8d(0x10f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a212_0x2ecf8d(0x130),'type':a212_0x2ecf8d(0xfc),'description':a212_0x2ecf8d(0x107)},{'name':a212_0x2ecf8d(0x119),'type':a212_0x2ecf8d(0x133),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x4c3750){const _0x263e18=a212_0x2ecf8d,_0x274cca=loadSqlProjectConfig(_0x4c3750[_0x263e18(0x102)]),_0x45b610=await readSqlLockFile(_0x274cca[_0x263e18(0x12f)]),{appLock:_0x563408}=ensureSqlLockScope(_0x45b610??createEmptySqlLock(),_0x274cca[_0x263e18(0x102)],_0x274cca[_0x263e18(0x12a)],_0x263e18(0x126)),_0x2c917b=await fetchAllSqlQueries(_0x4c3750[_0x263e18(0x102)],{'sqlCode':_0x4c3750[_0x263e18(0x115)](_0x263e18(0x100))||undefined,'sqlName':_0x4c3750[_0x263e18(0x115)]('name')||undefined}),_0x38a020=[];for(const _0x5adfc2 of _0x2c917b){const _0x111bac=await ensureSqlContent(_0x5adfc2),_0x101dd6=ensureRemoteSqlContent(_0x111bac),_0x34c88b=detectModeFromSql(_0x111bac),_0x73c694=_0x111bac[_0x263e18(0x132)]?await getDbName(_0x4c3750['appCode'],Number(_0x111bac[_0x263e18(0x132)]))[_0x263e18(0x139)](()=>undefined):undefined,_0x1be7de=buildLocalSqlFileContent({'sqlCode':_0x111bac[_0x263e18(0x12d)],'sqlName':_0x111bac['sqlName'],'dbId':_0x111bac[_0x263e18(0x132)]},_0x101dd6,{'dbName':_0x73c694,'mode':_0x34c88b,'syncedAt':new Date()[_0x263e18(0x117)](),'description':_0x111bac[_0x263e18(0x137)]}),_0x304b47=buildSqlLockEntry(_0x111bac,_0x101dd6,'',{'dbName':_0x73c694}),_0x219fb4=resolveLocalSqlFilePath(_0x274cca,_0x111bac[_0x263e18(0x12d)],_0x304b47);let _0x53ab32='would_pull',_0x3fa564;if(await fileExists(_0x219fb4)){const _0x4f3c19=await readFile(_0x219fb4,_0x263e18(0x113));isEquivalentPulledSqlFile(_0x4f3c19,_0x1be7de,_0x34c88b)?(_0x53ab32=_0x263e18(0x10d),_0x3fa564=_0x263e18(0x101)):(_0x53ab32=_0x263e18(0x11c),_0x3fa564='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x38a020[_0x263e18(0x114)]({'sqlCode':_0x111bac[_0x263e18(0x12d)],'sqlName':_0x111bac['sqlName'],'filePath':_0x219fb4,'status':_0x53ab32,'reason':_0x3fa564});}return{'method':_0x263e18(0x10a),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x4c3750['appCode'],'sqlCode':_0x4c3750['str'](_0x263e18(0x100))||null,'sqlName':_0x4c3750[_0x263e18(0x115)](_0x263e18(0x130))||null,'files':_0x38a020},'description':_0x263e18(0x129)+_0x38a020['length']+_0x263e18(0x112)+_0x274cca[_0x263e18(0x12c)]};},async 'execute'(_0x3bd4cc){const _0x187cde=a212_0x2ecf8d,_0x533032=loadSqlProjectConfig(_0x3bd4cc[_0x187cde(0x102)]),_0x1ed3ae=await readSqlLockFile(_0x533032[_0x187cde(0x12f)]),{lockData:_0x270fc9,appLock:_0x249dfb}=ensureSqlLockScope(_0x1ed3ae??createEmptySqlLock(),_0x533032[_0x187cde(0x102)],_0x533032['sqlRoot'],'pull'),_0x38f91c=_0x3bd4cc[_0x187cde(0x111)]('force'),_0x1cf4ee=await fetchAllSqlQueries(_0x3bd4cc[_0x187cde(0x102)],{'sqlCode':_0x3bd4cc['str'](_0x187cde(0x100))||undefined,'sqlName':_0x3bd4cc['str'](_0x187cde(0x130))||undefined});if(_0x1cf4ee[_0x187cde(0x12b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x187cde(0x10c)};const _0x26973f=[],_0x23d5cb=[];for(const _0x3b2352 of _0x1cf4ee){try{_0x26973f[_0x187cde(0x114)](await ensureSqlContent(_0x3b2352));}catch(_0x2b0d85){_0x23d5cb['push']({'sqlCode':_0x3b2352[_0x187cde(0x12d)],'error':_0x2b0d85 instanceof Error?_0x2b0d85['message']:String(_0x2b0d85)});}}if(_0x38f91c&&!_0x3bd4cc[_0x187cde(0x10e)]){let _0x272221=![];for(const _0x67984c of _0x26973f){const _0x523d8b=detectModeFromSql(_0x67984c),_0x116535=_0x67984c['dbId']?await getDbName(_0x3bd4cc['appCode'],Number(_0x67984c['dbId']))[_0x187cde(0x139)](()=>undefined):undefined,_0x260e8b=buildLocalSqlFileContent({'sqlCode':_0x67984c[_0x187cde(0x12d)],'sqlName':_0x67984c[_0x187cde(0x11e)],'dbId':_0x67984c[_0x187cde(0x132)]},ensureRemoteSqlContent(_0x67984c),{'dbName':_0x116535,'mode':_0x523d8b,'syncedAt':new Date()[_0x187cde(0x117)](),'description':_0x67984c['description']}),_0xf0b9eb=resolveLocalSqlFilePath(_0x533032,_0x67984c[_0x187cde(0x12d)],buildSqlLockEntry(_0x67984c,ensureRemoteSqlContent(_0x67984c),'',{'dbName':_0x116535}));if(await fileExists(_0xf0b9eb)){const _0x4fd0f5=await readFile(_0xf0b9eb,'utf8');if(!isEquivalentPulledSqlFile(_0x4fd0f5,_0x260e8b,_0x523d8b)){_0x272221=!![];break;}}}if(_0x272221){const _0x1437ca=await confirmForceOverwrite(_0x187cde(0x123));if(!_0x1437ca)throw CliErrors[_0x187cde(0x118)](_0x187cde(0x131));}}const _0x562a0d=cloneSqlLockData(_0x270fc9),_0x23e4da=_0x562a0d['apps'][_0x533032[_0x187cde(0x102)]],_0x33b7a4=[],_0x1671ea=[];for(const _0x154084 of _0x26973f){const _0x2b2e65=_0x23e4da[_0x187cde(0x110)][_0x154084[_0x187cde(0x12d)]],_0x153567=ensureRemoteSqlContent(_0x154084),_0x434fad=detectModeFromSql(_0x154084),_0xf16387=_0x154084['dbId']?await getDbName(_0x3bd4cc[_0x187cde(0x102)],Number(_0x154084['dbId']))[_0x187cde(0x139)](()=>undefined):undefined,_0x48c0a3=buildLocalSqlFileContent({'sqlCode':_0x154084[_0x187cde(0x12d)],'sqlName':_0x154084[_0x187cde(0x11e)],'dbId':_0x154084['dbId']},_0x153567,{'dbName':_0xf16387,'mode':_0x434fad,'syncedAt':new Date()[_0x187cde(0x117)](),'description':_0x154084[_0x187cde(0x137)]}),_0x45e79d=buildSqlLockEntry(_0x154084,_0x153567,computeSqlContentHash(_0x48c0a3),{'dbName':_0xf16387}),_0x1e43d5=_0x45e79d['path'],_0x4cab23=join(_0x533032[_0x187cde(0x12c)],_0x1e43d5);try{if(await fileExists(_0x4cab23)){const _0x1b65e3=await readFile(_0x4cab23,_0x187cde(0x113));if(isEquivalentPulledSqlFile(_0x1b65e3,_0x48c0a3,_0x434fad)){_0x1671ea[_0x187cde(0x114)]({'sqlCode':_0x154084['sqlCode'],'reason':'unchanged'}),_0x23e4da[_0x187cde(0x110)][_0x154084[_0x187cde(0x12d)]]={..._0x45e79d,'hash':computeSqlContentHash(_0x1b65e3),'path':_0x1e43d5};continue;}if(!_0x38f91c){_0x1671ea[_0x187cde(0x114)]({'sqlCode':_0x154084[_0x187cde(0x12d)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x59665b=_0x2b2e65?.[_0x187cde(0xfb)]?join(_0x533032[_0x187cde(0x12c)],_0x2b2e65[_0x187cde(0xfb)]):undefined;_0x59665b&&_0x59665b!==_0x4cab23&&await fileExists(_0x59665b)&&await rm(_0x59665b,{'force':!![]}),await ensureParentDirectory(_0x4cab23),await writeFile(_0x4cab23,_0x48c0a3,_0x187cde(0x113)),_0x23e4da[_0x187cde(0x110)][_0x154084['sqlCode']]={..._0x45e79d,'path':_0x1e43d5},_0x33b7a4[_0x187cde(0x114)]({'sqlCode':_0x154084['sqlCode'],'filePath':_0x4cab23});}catch(_0x114c98){_0x23d5cb['push']({'sqlCode':_0x154084[_0x187cde(0x12d)],'error':_0x114c98 instanceof Error?_0x114c98[_0x187cde(0x127)]:String(_0x114c98)});}}return _0x23e4da[_0x187cde(0x105)]=new Date()['toISOString'](),await writeSqlLockFile(_0x533032[_0x187cde(0x12f)],_0x562a0d),{'ok':_0x23d5cb[_0x187cde(0x12b)]===0x0,'data':{'pulled':_0x33b7a4,'skipped':_0x1671ea,'failed':_0x23d5cb},'message':_0x187cde(0x12e)+_0x33b7a4[_0x187cde(0x12b)]+_0x187cde(0xfa)+_0x1671ea[_0x187cde(0x12b)]+'\x20skipped,\x20'+_0x23d5cb['length']+_0x187cde(0x10b)};}};function detectModeFromSql(_0x8a97f5){const _0x33eebf=a212_0x2ecf8d,_0x285a0b=ensureRemoteSqlContent(_0x8a97f5),_0x158c45=stripLocalSqlMetadata(_0x285a0b,_0x33eebf(0x109))[_0x33eebf(0x120)]();if(/^<(select|insert|update|delete)\b/i[_0x33eebf(0x11f)](_0x158c45))return _0x33eebf(0x109);return _0x33eebf(0x122);}function isEquivalentPulledSqlFile(_0x5e0e5b,_0x5292df,_0x3caf6b){return normalizePullComparableContent(_0x5e0e5b,_0x3caf6b)===normalizePullComparableContent(_0x5292df,_0x3caf6b);}function normalizePullComparableContent(_0x53200e,_0x4b4e81){const _0x3f796c=a212_0x2ecf8d,_0x23e0ac=_0x53200e[_0x3f796c(0x116)](/\r\n/g,'\x0a')[_0x3f796c(0x104)]('\x0a'),_0x2426da=_0x23e0ac[_0x3f796c(0x108)](_0x234cfd=>!isSyncedAtMetadataLine(_0x234cfd,_0x4b4e81));return _0x2426da['join']('\x0a');}function isSyncedAtMetadataLine(_0x3ac37e,_0x39a958){const _0x44b84b=a212_0x2ecf8d;if(_0x39a958===_0x44b84b(0x109))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x44b84b(0x11f)](_0x3ac37e);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x44b84b(0x11f)](_0x3ac37e);}
@@ -1 +1 @@
1
- const a215_0x31c2e8=a215_0x4868;(function(_0x2dc4c5,_0x227741){const _0x489aa2=a215_0x4868,_0x55d4ec=_0x2dc4c5();while(!![]){try{const _0x7480b4=parseInt(_0x489aa2(0x1d9))/0x1+-parseInt(_0x489aa2(0x1cd))/0x2*(-parseInt(_0x489aa2(0x1b9))/0x3)+parseInt(_0x489aa2(0x1b8))/0x4*(parseInt(_0x489aa2(0x1d8))/0x5)+parseInt(_0x489aa2(0x1cc))/0x6+-parseInt(_0x489aa2(0x1a7))/0x7+-parseInt(_0x489aa2(0x1d6))/0x8*(-parseInt(_0x489aa2(0x1a8))/0x9)+-parseInt(_0x489aa2(0x1b1))/0xa*(parseInt(_0x489aa2(0x1de))/0xb);if(_0x7480b4===_0x227741)break;else _0x55d4ec['push'](_0x55d4ec['shift']());}catch(_0x4a4f4b){_0x55d4ec['push'](_0x55d4ec['shift']());}}}(a215_0x34a5,0x5b73d));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a215_0x4868(_0x1ce8c8,_0x40f55d){_0x1ce8c8=_0x1ce8c8-0x19f;const _0x34a520=a215_0x34a5();let _0x48681b=_0x34a520[_0x1ce8c8];return _0x48681b;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';import{automaticDeploymentSyncSucceeded,buildAutomaticDeploymentSyncPreview,runAutomaticDeploymentSync}from'../../commands/deployment/auto-sync.js';async function getTargetSqlQueries(_0x2bc8d4,_0x3e1850,_0x42fc2e){const _0x325674=a215_0x4868,_0x4708f2=await scanLocalSqlQueries(_0x2bc8d4),_0x2b3cc2=new Map();for(const _0x512407 of _0x4708f2){if(_0x42fc2e&&_0x512407[_0x325674(0x1e3)]!==_0x42fc2e)continue;const _0x5ea111=_0x2b3cc2[_0x325674(0x1ca)](_0x512407[_0x325674(0x1e3)])??[];_0x5ea111[_0x325674(0x1e1)](_0x512407),_0x2b3cc2[_0x325674(0x1c9)](_0x512407['sqlCode'],_0x5ea111);}if(_0x42fc2e&&!_0x2b3cc2[_0x325674(0x1d1)](_0x42fc2e))throw CliErrors[_0x325674(0x1cb)](_0x325674(0x1bd)+_0x42fc2e);const _0x47c639=[];for(const [_0x2921cf,_0x742bed]of _0x2b3cc2[_0x325674(0x1a2)]()){if(_0x742bed['length']===0x1){_0x47c639[_0x325674(0x1e1)](_0x742bed[0x0]);continue;}const _0x1ad56b=_0x3e1850[_0x325674(0x1e2)][_0x2921cf],_0x1ee796=_0x1ad56b?.[_0x325674(0x1d0)],_0x5a75ca=_0x1ee796?_0x742bed[_0x325674(0x1dc)](_0x3fbc56=>_0x3fbc56[_0x325674(0x1b0)]!==_0x1ee796):_0x742bed;if(_0x1ad56b&&_0x5a75ca[_0x325674(0x1a9)]===0x1){_0x47c639['push'](_0x5a75ca[0x0]);continue;}throw CliErrors[_0x325674(0x1cb)](_0x325674(0x1bc)+_0x2921cf+_0x325674(0x1b7));}return _0x47c639;}export const sqlPush={'service':a215_0x31c2e8(0x1a0),'command':a215_0x31c2e8(0x1e1),'description':a215_0x31c2e8(0x1d3),'risk':a215_0x31c2e8(0x1c8),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a215_0x31c2e8(0x1bb),'type':a215_0x31c2e8(0x1cf),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'dryRun'(_0x4649d1){const _0x2b469a=a215_0x31c2e8,_0x37f7f9=loadSqlProjectConfig(_0x4649d1[_0x2b469a(0x1a1)]),_0x2f42bf=await readSqlLockFile(_0x37f7f9['lockFilePath']),{appLock:_0x9b5889}=ensureSqlLockScope(_0x2f42bf??createEmptySqlLock(),_0x4649d1[_0x2b469a(0x1a1)],_0x37f7f9[_0x2b469a(0x1c3)],'push'),_0x128f88=await getTargetSqlQueries(_0x37f7f9,_0x9b5889,_0x4649d1[_0x2b469a(0x1be)]('sqlcode')||undefined),_0x251d7d=[];for(const _0x432634 of _0x128f88){const _0x5e6185=await computeSqlFileHash(_0x432634[_0x2b469a(0x1ae)]),_0xc4088a=_0x9b5889[_0x2b469a(0x1e2)][_0x432634[_0x2b469a(0x1e3)]],_0x2bc431=!!_0xc4088a&&(_0xc4088a['path']!==_0x432634[_0x2b469a(0x1b0)]||!!_0x432634[_0x2b469a(0x1db)]&&_0xc4088a['sqlName']!==_0x432634['sqlName']);if(!_0x4649d1['bool']('force')&&_0xc4088a&&_0xc4088a[_0x2b469a(0x1ac)]===_0x5e6185&&!_0x2bc431)continue;_0x251d7d['push'](_0x432634[_0x2b469a(0x1e3)]);}return{'method':'POST','url':_0x2b469a(0x1a6),'deploymentSync':buildAutomaticDeploymentSyncPreview(_0x2b469a(0x1a0),_0x251d7d),'body':{'sqlCodes':_0x251d7d,'appCode':_0x4649d1['appCode']},'description':'Would\x20push\x20'+_0x251d7d['length']+_0x2b469a(0x1d5)};},async 'execute'(_0x287201){const _0xba15d7=a215_0x31c2e8,_0x796cdf=loadSqlProjectConfig(_0x287201[_0xba15d7(0x1a1)]),_0x520d27=await readSqlLockFile(_0x796cdf[_0xba15d7(0x1af)]),{lockData:_0xf91bb7,appLock:_0x31b35a}=ensureSqlLockScope(_0x520d27??createEmptySqlLock(),_0x287201[_0xba15d7(0x1a1)],_0x796cdf[_0xba15d7(0x1c3)],_0xba15d7(0x1e1)),_0x58de31=await getTargetSqlQueries(_0x796cdf,_0x31b35a,_0x287201[_0xba15d7(0x1be)](_0xba15d7(0x1b5))||undefined);if(_0x58de31[_0xba15d7(0x1a9)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x127ee6=[],_0x1501c8=[],_0x14b73d=[];for(const _0x12adc8 of _0x58de31){const _0x1d610a=_0x31b35a[_0xba15d7(0x1e2)][_0x12adc8[_0xba15d7(0x1e3)]];if(!_0x1d610a){_0x14b73d[_0xba15d7(0x1e1)]({'sqlCode':_0x12adc8['sqlCode'],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x7dd259=await computeSqlFileHash(_0x12adc8[_0xba15d7(0x1ae)]),_0x514135=_0x1d610a[_0xba15d7(0x1d0)]!==_0x12adc8['relativePath']||!!_0x12adc8[_0xba15d7(0x1db)]&&_0x1d610a['sqlName']!==_0x12adc8[_0xba15d7(0x1db)];if(!_0x287201['bool'](_0xba15d7(0x1bb))&&_0x1d610a[_0xba15d7(0x1ac)]===_0x7dd259&&!_0x514135){_0x1501c8[_0xba15d7(0x1e1)]({'sqlCode':_0x12adc8[_0xba15d7(0x1e3)],'reason':_0xba15d7(0x1ce)});continue;}if(_0x1d610a[_0xba15d7(0x19f)]==null){_0x14b73d[_0xba15d7(0x1e1)]({'sqlCode':_0x12adc8[_0xba15d7(0x1e3)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x49556c=await readFile(_0x12adc8[_0xba15d7(0x1ae)],_0xba15d7(0x1b3)),_0x4b3183=stripLocalSqlMetadata(_0x49556c,_0x12adc8[_0xba15d7(0x1d4)]),_0x3398a6=_0x12adc8[_0xba15d7(0x1db)]||_0x1d610a[_0xba15d7(0x1db)],_0x25e3cb=await resolveTargetDbBinding(_0x287201[_0xba15d7(0x1a1)],_0x12adc8,_0x1d610a),_0xb1ad70=await updateSqlQuery({'id':_0x1d610a[_0xba15d7(0x1c4)],'appCode':_0x287201[_0xba15d7(0x1a1)],'sqlCode':_0x12adc8[_0xba15d7(0x1e3)],'sqlName':_0x3398a6,'dbId':_0x25e3cb['dbId'],'version':_0x1d610a['version'],'sqlContent':_0x4b3183,'sqlConfig':_0x1d610a[_0xba15d7(0x1c0)]??undefined}),_0x764a1c=_0xb1ad70[_0xba15d7(0x1d2)]?await getDbName(_0x287201[_0xba15d7(0x1a1)],Number(_0xb1ad70[_0xba15d7(0x1d2)]))['catch'](()=>_0x25e3cb['dbName']):_0x25e3cb[_0xba15d7(0x1a5)];_0x31b35a[_0xba15d7(0x1e2)][_0x12adc8[_0xba15d7(0x1e3)]]={...buildSqlLockEntry(_0xb1ad70,_0x4b3183,_0x7dd259,{'dbName':_0x764a1c}),'path':_0x12adc8[_0xba15d7(0x1b0)],'mode':_0x1d610a[_0xba15d7(0x1d4)]},await archivePreviousSqlFileIfNeeded(_0x796cdf,_0x1d610a[_0xba15d7(0x1d0)],_0x12adc8[_0xba15d7(0x1b0)]),_0x127ee6[_0xba15d7(0x1e1)]({'sqlCode':_0x12adc8[_0xba15d7(0x1e3)],'remoteId':_0x1d610a[_0xba15d7(0x1c4)]});}catch(_0x2364d1){_0x14b73d[_0xba15d7(0x1e1)]({'sqlCode':_0x12adc8[_0xba15d7(0x1e3)],'error':_0x2364d1 instanceof Error?_0x2364d1['message']:String(_0x2364d1)});}}_0x31b35a[_0xba15d7(0x1ab)]=new Date()['toISOString'](),await writeSqlLockFile(_0x796cdf[_0xba15d7(0x1af)],_0xf91bb7);const _0xed3123=_0x14b73d[_0xba15d7(0x1a9)]===0x0,_0x2f5d66=await runAutomaticDeploymentSync(_0x287201,_0xba15d7(0x1a0),_0x127ee6[_0xba15d7(0x1ba)](_0x31b51e=>_0x31b51e[_0xba15d7(0x1e3)]),_0xed3123),_0x4722ca=_0xed3123&&automaticDeploymentSyncSucceeded(_0x2f5d66),_0x4493fc=_0xba15d7(0x1df)+_0x2f5d66[_0xba15d7(0x1bf)];return{'ok':_0x4722ca,'data':{'pushed':_0x127ee6,'skipped':_0x1501c8,'failed':_0x14b73d,'deploymentSync':_0x2f5d66},'message':_0xba15d7(0x1d7)+_0x127ee6[_0xba15d7(0x1a9)]+_0xba15d7(0x1da)+_0x1501c8[_0xba15d7(0x1a9)]+'\x20skipped,\x20'+_0x14b73d[_0xba15d7(0x1a9)]+_0xba15d7(0x1a4)+_0x4493fc};}};async function archivePreviousSqlFileIfNeeded(_0x1fa366,_0x29cd5a,_0x322df4){const _0x702b86=a215_0x31c2e8;if(!_0x29cd5a||_0x29cd5a===_0x322df4)return;const _0x1766cf=join(_0x1fa366[_0x702b86(0x1c7)],_0x29cd5a);if(!await fileExists(_0x1766cf))return;const _0x178d8d=await moveToTrash(_0x1fa366[_0x702b86(0x1b4)],_0x1fa366[_0x702b86(0x1c6)],_0x1766cf);await cleanupEmptyDirectories(dirname(_0x1766cf),_0x1fa366['sqlRootDir']),void _0x178d8d;}async function moveToTrash(_0xdf67eb,_0x1a97a1,_0x178966){const _0x4b021f=a215_0x31c2e8,_0x4a6944=new Date()[_0x4b021f(0x1b6)]()[_0x4b021f(0x1e4)](/[:.]/g,'-'),_0xd7d610=relative(_0xdf67eb,_0x178966),_0x5608fb=join(_0x1a97a1,_0x4a6944,_0xd7d610);return await mkdir(dirname(_0x5608fb),{'recursive':!![]}),await rename(_0x178966,_0x5608fb),_0x5608fb;}function a215_0x34a5(){const _0x3925a8=['\x20failed','dbName','/smartapi/custom/updateUserCustomSql','3470761nOEuAy','100728hUGQJM','length','Local\x20directory\x20\x22','lastSync','hash','startsWith','filePath','lockFilePath','relativePath','100FndJoW','isFinite','utf8','projectRoot','sqlcode','toISOString','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','41176Prnqrd','3BPrcDK','map','force','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','Local\x20SQL\x20not\x20found:\x20','str','status','sqlConfig','exec','catch','sqlRoot','remoteId','join','trashDir','sqlRootDir','write','set','get','validation','2633070AZqFGK','659084gwRvJa','unchanged','boolean','path','has','dbId','Push\x20local\x20SQL\x20files\x20to\x20remote','mode','\x20SQL\x20file(s)','240XAvhdU','Push\x20complete:\x20','5AcruCt','108281uugEbg','\x20pushed,\x20','sqlName','filter','No\x20database\x20matches\x20local\x20directory\x20\x22','387541uYgtYI',',\x20deployment\x20sync\x20','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','push','sqls','sqlCode','replace','version','sql','appCode','entries','\x22\x20for\x20sqlCode\x20'];a215_0x34a5=function(){return _0x3925a8;};return a215_0x34a5();}async function cleanupEmptyDirectories(_0x2b750e,_0x3ddb6a){const _0x57dd5c=a215_0x31c2e8;let _0x1f4c9d=resolve(_0x2b750e);const _0x51b7e0=resolve(_0x3ddb6a);while(_0x1f4c9d[_0x57dd5c(0x1ad)](''+_0x51b7e0+sep)||_0x1f4c9d===_0x51b7e0){if(_0x1f4c9d===_0x51b7e0)return;try{const _0x182ddc=await readdir(_0x1f4c9d);if(_0x182ddc['length']>0x0)return;await rmdir(_0x1f4c9d);}catch{return;}_0x1f4c9d=dirname(_0x1f4c9d);}}async function resolveTargetDbBinding(_0x5efff6,_0x14706a,_0x4987f1){const _0x30635f=a215_0x31c2e8,_0x13f170=_0x14706a['dbDirectory'];if(!_0x13f170)return{'dbId':_0x4987f1[_0x30635f(0x1d2)],'dbName':_0x4987f1[_0x30635f(0x1a5)]};const _0xe70962=buildDbDirectoryName(_0x4987f1[_0x30635f(0x1a5)],_0x4987f1[_0x30635f(0x1d2)]);if(_0x13f170===_0xe70962)return{'dbId':_0x4987f1[_0x30635f(0x1d2)],'dbName':_0x4987f1[_0x30635f(0x1a5)]};const _0x5341ff=parseExplicitDbDirectory(_0x13f170);if(_0x5341ff!=null)return{'dbId':_0x5341ff,'dbName':await getDbName(_0x5efff6,_0x5341ff)[_0x30635f(0x1c2)](()=>undefined)};const _0x13e4f5=await listDatabases(_0x5efff6),_0x3565b6=_0x13e4f5[_0x30635f(0x1dc)](_0x451843=>buildDbDirectoryName(_0x451843[_0x30635f(0x1a5)],_0x451843['dbId'])===_0x13f170);if(_0x3565b6[_0x30635f(0x1a9)]===0x1)return{'dbId':_0x3565b6[0x0][_0x30635f(0x1d2)],'dbName':_0x3565b6[0x0]['dbName']};if(_0x3565b6['length']===0x0)throw CliErrors[_0x30635f(0x1cb)](_0x30635f(0x1dd)+_0x13f170+_0x30635f(0x1a3)+_0x14706a[_0x30635f(0x1e3)]+'.');const _0x463a77=_0x3565b6[_0x30635f(0x1ba)](_0x2ef35a=>_0x2ef35a[_0x30635f(0x1a5)]+'\x20('+_0x2ef35a[_0x30635f(0x1d2)]+')')[_0x30635f(0x1c5)](',\x20');throw CliErrors[_0x30635f(0x1cb)](_0x30635f(0x1aa)+_0x13f170+_0x30635f(0x1e0)+_0x14706a[_0x30635f(0x1e3)]+':\x20'+_0x463a77);}function parseExplicitDbDirectory(_0x410b79){const _0x5e8bfb=a215_0x31c2e8,_0x181963=/^db-(\d+)$/[_0x5e8bfb(0x1c1)](_0x410b79);if(!_0x181963)return null;const _0x1f8431=Number(_0x181963[0x1]);return Number[_0x5e8bfb(0x1b2)](_0x1f8431)&&_0x1f8431>0x0?_0x1f8431:null;}
1
+ const a213_0xe3ff7b=a213_0x5112;function a213_0x5112(_0x2c12af,_0x4e4c9a){_0x2c12af=_0x2c12af-0x1a3;const _0x517ac7=a213_0x517a();let _0x5112aa=_0x517ac7[_0x2c12af];return _0x5112aa;}(function(_0x46aa60,_0x5d0579){const _0x410834=a213_0x5112,_0x4d77bf=_0x46aa60();while(!![]){try{const _0x379a07=parseInt(_0x410834(0x1da))/0x1+-parseInt(_0x410834(0x1b8))/0x2+parseInt(_0x410834(0x1bf))/0x3*(parseInt(_0x410834(0x1b2))/0x4)+-parseInt(_0x410834(0x1e2))/0x5*(parseInt(_0x410834(0x1df))/0x6)+parseInt(_0x410834(0x1a3))/0x7*(-parseInt(_0x410834(0x1ba))/0x8)+-parseInt(_0x410834(0x1ce))/0x9*(parseInt(_0x410834(0x1bc))/0xa)+parseInt(_0x410834(0x1be))/0xb;if(_0x379a07===_0x5d0579)break;else _0x4d77bf['push'](_0x4d77bf['shift']());}catch(_0x2f7034){_0x4d77bf['push'](_0x4d77bf['shift']());}}}(a213_0x517a,0x48e15));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a213_0x517a(){const _0x5d409d=['remoteId','1527426ueShkD','trashDir','get','10lfEkRY','217707iOCeKr','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','hash','path','sqlcode','sqls','sqlConfig','\x22\x20for\x20sqlCode\x20','lockFilePath','relativePath','isFinite','Local\x20directory\x20\x22','exec','write','version','916hJPFtj','message','dbDirectory','sqlRoot','dbName','lastSync','644960AzpdJN','filePath','8AGcuoO','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','10BoyUfV','appCode','14104420NCPvGR','1497yYmLPj','bool','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','utf8','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x20failed','length','projectRoot','validation','filter','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','Push\x20local\x20SQL\x20files\x20to\x20remote','startsWith','push','mode','2173671mvwwZK','\x20pushed,\x20','boolean','join','sqlName','force','POST','dbId','sqlRootDir','entries','toISOString','/smartapi/custom/updateUserCustomSql','6268xrmbpU','map','has','sqlCode'];a213_0x517a=function(){return _0x5d409d;};return a213_0x517a();}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x4166c4,_0x315c4e,_0x5dd914){const _0x19bcb7=a213_0x5112,_0x37a589=await scanLocalSqlQueries(_0x4166c4),_0x2045c1=new Map();for(const _0x3c7285 of _0x37a589){if(_0x5dd914&&_0x3c7285['sqlCode']!==_0x5dd914)continue;const _0x1a9a97=_0x2045c1[_0x19bcb7(0x1e1)](_0x3c7285[_0x19bcb7(0x1dd)])??[];_0x1a9a97['push'](_0x3c7285),_0x2045c1['set'](_0x3c7285['sqlCode'],_0x1a9a97);}if(_0x5dd914&&!_0x2045c1[_0x19bcb7(0x1dc)](_0x5dd914))throw CliErrors[_0x19bcb7(0x1c7)]('Local\x20SQL\x20not\x20found:\x20'+_0x5dd914);const _0x30d344=[];for(const [_0x2cc448,_0x3bbc6a]of _0x2045c1[_0x19bcb7(0x1d7)]()){if(_0x3bbc6a['length']===0x1){_0x30d344[_0x19bcb7(0x1cc)](_0x3bbc6a[0x0]);continue;}const _0x3757ec=_0x315c4e[_0x19bcb7(0x1a8)][_0x2cc448],_0x22eff6=_0x3757ec?.[_0x19bcb7(0x1a6)],_0x4dc848=_0x22eff6?_0x3bbc6a[_0x19bcb7(0x1c8)](_0x11e75b=>_0x11e75b[_0x19bcb7(0x1ac)]!==_0x22eff6):_0x3bbc6a;if(_0x3757ec&&_0x4dc848['length']===0x1){_0x30d344['push'](_0x4dc848[0x0]);continue;}throw CliErrors['validation'](_0x19bcb7(0x1c1)+_0x2cc448+_0x19bcb7(0x1c3));}return _0x30d344;}export const sqlPush={'service':'sql','command':a213_0xe3ff7b(0x1cc),'description':a213_0xe3ff7b(0x1ca),'risk':a213_0xe3ff7b(0x1b0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a213_0xe3ff7b(0x1d3),'type':a213_0xe3ff7b(0x1d0),'description':a213_0xe3ff7b(0x1bb)}],async 'dryRun'(_0x3196ad){const _0x472176=a213_0xe3ff7b,_0x3819cd=loadSqlProjectConfig(_0x3196ad[_0x472176(0x1bd)]),_0x447967=await readSqlLockFile(_0x3819cd[_0x472176(0x1ab)]),{appLock:_0x109995}=ensureSqlLockScope(_0x447967??createEmptySqlLock(),_0x3196ad[_0x472176(0x1bd)],_0x3819cd[_0x472176(0x1b5)],_0x472176(0x1cc)),_0x5b5564=await getTargetSqlQueries(_0x3819cd,_0x109995,_0x3196ad['str'](_0x472176(0x1a7))||undefined),_0x586e88=[];for(const _0x3bf247 of _0x5b5564){const _0xa45d07=await computeSqlFileHash(_0x3bf247[_0x472176(0x1b9)]),_0x2041b3=_0x109995[_0x472176(0x1a8)][_0x3bf247[_0x472176(0x1dd)]],_0x64f604=!!_0x2041b3&&(_0x2041b3[_0x472176(0x1a6)]!==_0x3bf247['relativePath']||!!_0x3bf247[_0x472176(0x1d2)]&&_0x2041b3[_0x472176(0x1d2)]!==_0x3bf247['sqlName']);if(!_0x3196ad[_0x472176(0x1c0)](_0x472176(0x1d3))&&_0x2041b3&&_0x2041b3[_0x472176(0x1a5)]===_0xa45d07&&!_0x64f604)continue;_0x586e88[_0x472176(0x1cc)](_0x3bf247[_0x472176(0x1dd)]);}return{'method':_0x472176(0x1d4),'url':_0x472176(0x1d9),'body':{'sqlCodes':_0x586e88,'appCode':_0x3196ad[_0x472176(0x1bd)]},'description':'Would\x20push\x20'+_0x586e88[_0x472176(0x1c5)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x4a7f0a){const _0x8154e3=a213_0xe3ff7b,_0x16364b=loadSqlProjectConfig(_0x4a7f0a[_0x8154e3(0x1bd)]),_0x2775ee=await readSqlLockFile(_0x16364b[_0x8154e3(0x1ab)]),{lockData:_0x37c18d,appLock:_0x331a25}=ensureSqlLockScope(_0x2775ee??createEmptySqlLock(),_0x4a7f0a[_0x8154e3(0x1bd)],_0x16364b[_0x8154e3(0x1b5)],'push'),_0x12823a=await getTargetSqlQueries(_0x16364b,_0x331a25,_0x4a7f0a['str']('sqlcode')||undefined);if(_0x12823a[_0x8154e3(0x1c5)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x30b9fe=[],_0x5806fb=[],_0x2d6094=[];for(const _0x4a18b4 of _0x12823a){const _0x125dbf=_0x331a25['sqls'][_0x4a18b4['sqlCode']];if(!_0x125dbf){_0x2d6094['push']({'sqlCode':_0x4a18b4[_0x8154e3(0x1dd)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x58a9e2=await computeSqlFileHash(_0x4a18b4[_0x8154e3(0x1b9)]),_0x1dcf14=_0x125dbf[_0x8154e3(0x1a6)]!==_0x4a18b4[_0x8154e3(0x1ac)]||!!_0x4a18b4['sqlName']&&_0x125dbf[_0x8154e3(0x1d2)]!==_0x4a18b4['sqlName'];if(!_0x4a7f0a[_0x8154e3(0x1c0)](_0x8154e3(0x1d3))&&_0x125dbf['hash']===_0x58a9e2&&!_0x1dcf14){_0x5806fb['push']({'sqlCode':_0x4a18b4['sqlCode'],'reason':'unchanged'});continue;}if(_0x125dbf[_0x8154e3(0x1b1)]==null){_0x2d6094[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4[_0x8154e3(0x1dd)],'error':_0x8154e3(0x1a4)});continue;}const _0x3b90a9=await readFile(_0x4a18b4[_0x8154e3(0x1b9)],_0x8154e3(0x1c2)),_0x463e6e=stripLocalSqlMetadata(_0x3b90a9,_0x4a18b4[_0x8154e3(0x1cd)]),_0x4dc4d5=_0x4a18b4[_0x8154e3(0x1d2)]||_0x125dbf[_0x8154e3(0x1d2)],_0x549104=await resolveTargetDbBinding(_0x4a7f0a['appCode'],_0x4a18b4,_0x125dbf),_0x10aa74=await updateSqlQuery({'id':_0x125dbf[_0x8154e3(0x1de)],'appCode':_0x4a7f0a[_0x8154e3(0x1bd)],'sqlCode':_0x4a18b4['sqlCode'],'sqlName':_0x4dc4d5,'dbId':_0x549104['dbId'],'version':_0x125dbf[_0x8154e3(0x1b1)],'sqlContent':_0x463e6e,'sqlConfig':_0x125dbf[_0x8154e3(0x1a9)]??undefined}),_0x14b7d9=_0x10aa74['dbId']?await getDbName(_0x4a7f0a[_0x8154e3(0x1bd)],Number(_0x10aa74[_0x8154e3(0x1d5)]))['catch'](()=>_0x549104[_0x8154e3(0x1b6)]):_0x549104[_0x8154e3(0x1b6)];_0x331a25[_0x8154e3(0x1a8)][_0x4a18b4[_0x8154e3(0x1dd)]]={...buildSqlLockEntry(_0x10aa74,_0x463e6e,_0x58a9e2,{'dbName':_0x14b7d9}),'path':_0x4a18b4['relativePath'],'mode':_0x125dbf[_0x8154e3(0x1cd)]},await archivePreviousSqlFileIfNeeded(_0x16364b,_0x125dbf[_0x8154e3(0x1a6)],_0x4a18b4[_0x8154e3(0x1ac)]),_0x30b9fe[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4['sqlCode'],'remoteId':_0x125dbf[_0x8154e3(0x1de)]});}catch(_0x19349c){_0x2d6094[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4['sqlCode'],'error':_0x19349c instanceof Error?_0x19349c[_0x8154e3(0x1b3)]:String(_0x19349c)});}}_0x331a25[_0x8154e3(0x1b7)]=new Date()['toISOString'](),await writeSqlLockFile(_0x16364b[_0x8154e3(0x1ab)],_0x37c18d);const _0x42d232=_0x2d6094[_0x8154e3(0x1c5)]===0x0;return{'ok':_0x42d232,'data':{'pushed':_0x30b9fe,'skipped':_0x5806fb,'failed':_0x2d6094},'message':'Push\x20complete:\x20'+_0x30b9fe[_0x8154e3(0x1c5)]+_0x8154e3(0x1cf)+_0x5806fb['length']+'\x20skipped,\x20'+_0x2d6094[_0x8154e3(0x1c5)]+_0x8154e3(0x1c4)};}};async function archivePreviousSqlFileIfNeeded(_0x3a0100,_0x39dab3,_0x278661){const _0xf3b1eb=a213_0xe3ff7b;if(!_0x39dab3||_0x39dab3===_0x278661)return;const _0x32e628=join(_0x3a0100[_0xf3b1eb(0x1d6)],_0x39dab3);if(!await fileExists(_0x32e628))return;const _0x518e56=await moveToTrash(_0x3a0100[_0xf3b1eb(0x1c6)],_0x3a0100[_0xf3b1eb(0x1e0)],_0x32e628);await cleanupEmptyDirectories(dirname(_0x32e628),_0x3a0100[_0xf3b1eb(0x1d6)]),void _0x518e56;}async function moveToTrash(_0x4e5dfa,_0x4cd183,_0x59e94b){const _0x30598c=a213_0xe3ff7b,_0x41727d=new Date()[_0x30598c(0x1d8)]()['replace'](/[:.]/g,'-'),_0x4d0d00=relative(_0x4e5dfa,_0x59e94b),_0x1c6b03=join(_0x4cd183,_0x41727d,_0x4d0d00);return await mkdir(dirname(_0x1c6b03),{'recursive':!![]}),await rename(_0x59e94b,_0x1c6b03),_0x1c6b03;}async function cleanupEmptyDirectories(_0x71e3c7,_0x285d98){const _0x2b1c80=a213_0xe3ff7b;let _0x39b529=resolve(_0x71e3c7);const _0x29c7a1=resolve(_0x285d98);while(_0x39b529[_0x2b1c80(0x1cb)](''+_0x29c7a1+sep)||_0x39b529===_0x29c7a1){if(_0x39b529===_0x29c7a1)return;try{const _0x31b1d9=await readdir(_0x39b529);if(_0x31b1d9[_0x2b1c80(0x1c5)]>0x0)return;await rmdir(_0x39b529);}catch{return;}_0x39b529=dirname(_0x39b529);}}async function resolveTargetDbBinding(_0x30504f,_0x4691b0,_0x3fb295){const _0x5fbee5=a213_0xe3ff7b,_0x3a8c87=_0x4691b0[_0x5fbee5(0x1b4)];if(!_0x3a8c87)return{'dbId':_0x3fb295[_0x5fbee5(0x1d5)],'dbName':_0x3fb295[_0x5fbee5(0x1b6)]};const _0x541002=buildDbDirectoryName(_0x3fb295[_0x5fbee5(0x1b6)],_0x3fb295[_0x5fbee5(0x1d5)]);if(_0x3a8c87===_0x541002)return{'dbId':_0x3fb295[_0x5fbee5(0x1d5)],'dbName':_0x3fb295[_0x5fbee5(0x1b6)]};const _0x4b3947=parseExplicitDbDirectory(_0x3a8c87);if(_0x4b3947!=null)return{'dbId':_0x4b3947,'dbName':await getDbName(_0x30504f,_0x4b3947)['catch'](()=>undefined)};const _0x5ec471=await listDatabases(_0x30504f),_0x1225dc=_0x5ec471[_0x5fbee5(0x1c8)](_0x74a0e2=>buildDbDirectoryName(_0x74a0e2['dbName'],_0x74a0e2[_0x5fbee5(0x1d5)])===_0x3a8c87);if(_0x1225dc[_0x5fbee5(0x1c5)]===0x1)return{'dbId':_0x1225dc[0x0][_0x5fbee5(0x1d5)],'dbName':_0x1225dc[0x0][_0x5fbee5(0x1b6)]};if(_0x1225dc['length']===0x0)throw CliErrors[_0x5fbee5(0x1c7)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x3a8c87+_0x5fbee5(0x1aa)+_0x4691b0[_0x5fbee5(0x1dd)]+'.');const _0x513232=_0x1225dc[_0x5fbee5(0x1db)](_0x56f0c4=>_0x56f0c4[_0x5fbee5(0x1b6)]+'\x20('+_0x56f0c4['dbId']+')')[_0x5fbee5(0x1d1)](',\x20');throw CliErrors[_0x5fbee5(0x1c7)](_0x5fbee5(0x1ae)+_0x3a8c87+_0x5fbee5(0x1c9)+_0x4691b0[_0x5fbee5(0x1dd)]+':\x20'+_0x513232);}function parseExplicitDbDirectory(_0x21c598){const _0x4f9788=a213_0xe3ff7b,_0x5a4580=/^db-(\d+)$/[_0x4f9788(0x1af)](_0x21c598);if(!_0x5a4580)return null;const _0x31c4fc=Number(_0x5a4580[0x1]);return Number[_0x4f9788(0x1ad)](_0x31c4fc)&&_0x31c4fc>0x0?_0x31c4fc:null;}
@@ -1 +1 @@
1
- const a216_0x2dafe7=a216_0x342a;(function(_0x53b932,_0x335528){const _0x1d07f3=a216_0x342a,_0x1a2354=_0x53b932();while(!![]){try{const _0xf53a7e=parseInt(_0x1d07f3(0x125))/0x1+-parseInt(_0x1d07f3(0x10a))/0x2+-parseInt(_0x1d07f3(0x128))/0x3+-parseInt(_0x1d07f3(0x101))/0x4+parseInt(_0x1d07f3(0x12c))/0x5*(parseInt(_0x1d07f3(0x11b))/0x6)+-parseInt(_0x1d07f3(0x129))/0x7*(parseInt(_0x1d07f3(0x10b))/0x8)+parseInt(_0x1d07f3(0x104))/0x9;if(_0xf53a7e===_0x335528)break;else _0x1a2354['push'](_0x1a2354['shift']());}catch(_0x243176){_0x1a2354['push'](_0x1a2354['shift']());}}}(a216_0x156f,0xa9b45));import{createInterface}from'node:readline';import{join}from'node:path';function a216_0x156f(){const _0x384947=['stdin','trim','close','question','join','length','1118247FHfNMM','\x20[y/N]\x20','stderr','3928872KUpwGy','1618057SrbrMS','dbName','mybatisXml','4144490CAJtjP','toLowerCase','syncedAt','<!--\x20@lovrabet.','4205980aCjZam','apps','yes','21185001NofNjt','map','mode','description','sqls','filter','1102706meDmEH','24vPCObx','.rabetbase/sql','sqlRoot','replace','push','lastSync','fromEntries','sqlConfig','entries','split','test','sqlName','trimStart','dbId','path','endsWith','6doRect','sqlCode','sqlContent','version'];a216_0x156f=function(){return _0x384947;};return a216_0x156f();}import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a216_0x2dafe7(0x10c);function a216_0x342a(_0x26e708,_0x246408){_0x26e708=_0x26e708-0x100;const _0x156f29=a216_0x156f();let _0x342a00=_0x156f29[_0x26e708];return _0x342a00;}export function buildSqlLockEntry(_0x3bad30,_0x48f8f9,_0x2ca3b1,_0x37b175){const _0x20e02b=a216_0x2dafe7,_0x2216f2=detectSqlMode(_0x48f8f9);return{'path':buildSqlRelativePath(_0x3bad30[_0x20e02b(0x11c)],_0x3bad30[_0x20e02b(0x116)],_0x37b175?.[_0x20e02b(0x12a)],_0x2216f2,_0x3bad30[_0x20e02b(0x118)]),'hash':_0x2ca3b1,'remoteId':_0x3bad30['id'],'version':_0x3bad30[_0x20e02b(0x11e)],'dbId':Number(_0x3bad30[_0x20e02b(0x118)]),'dbName':_0x37b175?.[_0x20e02b(0x12a)],'sqlName':_0x3bad30[_0x20e02b(0x116)],'sqlConfig':_0x3bad30[_0x20e02b(0x112)]??undefined,'mode':_0x2216f2};}export function cloneSqlLockData(_0x58dae5){const _0x2db198=a216_0x2dafe7;return{'apps':Object[_0x2db198(0x111)](Object[_0x2db198(0x113)](_0x58dae5[_0x2db198(0x102)])[_0x2db198(0x105)](([_0x369f13,_0x488e79])=>[_0x369f13,{'sqlRoot':_0x488e79[_0x2db198(0x10d)],'lastSync':_0x488e79[_0x2db198(0x110)],'sqls':{..._0x488e79[_0x2db198(0x108)]}}]))};}export function ensureRemoteSqlContent(_0xb76538){const _0x3fd711=a216_0x2dafe7;return _0xb76538[_0x3fd711(0x11d)]??'';}export function buildLocalSqlFileContent(_0x272aca,_0x2d986c,_0x5dfc8c){const _0x13cf3a=a216_0x2dafe7,_0x4a3418=_0x5dfc8c?.[_0x13cf3a(0x106)]??detectSqlMode(_0x2d986c),_0x2534d1=stripLocalSqlMetadata(_0x2d986c,_0x4a3418)[_0x13cf3a(0x120)](),_0x13cf03=[...buildMetadataHeaderLines({'sqlCode':_0x272aca[_0x13cf3a(0x11c)],'sqlName':_0x272aca[_0x13cf3a(0x116)],'dbId':_0x272aca[_0x13cf3a(0x118)],'dbName':_0x5dfc8c?.['dbName'],'mode':_0x4a3418,'syncedAt':_0x5dfc8c?.['syncedAt'],'description':_0x5dfc8c?.[_0x13cf3a(0x107)]},_0x4a3418),'',_0x2534d1],_0x305cbb=_0x13cf03[_0x13cf3a(0x123)]('\x0a');return _0x305cbb[_0x13cf3a(0x11a)]('\x0a')?_0x305cbb:_0x305cbb+'\x0a';}export function stripLocalSqlMetadata(_0x1d6e88,_0x4d1b70){const _0x60cfc9=a216_0x2dafe7,_0x40cd5d=_0x1d6e88[_0x60cfc9(0x10e)](/\r\n/g,'\x0a')[_0x60cfc9(0x114)]('\x0a'),_0x3151b8=[];let _0xab0ddb=0x0;if(_0x4d1b70===_0x60cfc9(0x12b))while(_0xab0ddb<_0x40cd5d['length']){const _0x3ff60d=_0x40cd5d[_0xab0ddb]??'';if(/^\s*<!--\s*@lovrabet\./[_0x60cfc9(0x115)](_0x3ff60d)){_0xab0ddb++;continue;}if(_0x3ff60d['trim']()===''&&_0xab0ddb>0x0){_0xab0ddb++;continue;}break;}else while(_0xab0ddb<_0x40cd5d[_0x60cfc9(0x124)]){const _0xe4438a=_0x40cd5d[_0xab0ddb]??'';if(/^\s*--\s*@lovrabet\./[_0x60cfc9(0x115)](_0xe4438a)){_0xab0ddb++;continue;}if(_0xe4438a[_0x60cfc9(0x120)]()===''&&_0xab0ddb>0x0){_0xab0ddb++;continue;}break;}for(;_0xab0ddb<_0x40cd5d[_0x60cfc9(0x124)];_0xab0ddb++){_0x3151b8[_0x60cfc9(0x10f)](_0x40cd5d[_0xab0ddb]);}return _0x3151b8['join']('\x0a')[_0x60cfc9(0x117)]();}export function resolveSqlMode(_0x73e6c0,_0x167131){const _0x3a1948=a216_0x2dafe7;if(_0x167131?.[_0x3a1948(0x106)])return _0x167131[_0x3a1948(0x106)];return detectSqlMode(_0x73e6c0);}export function resolveSqlFileName(_0x51ecf4,_0x557b3c,_0x26a71a){const _0xb19ce1=a216_0x2dafe7;if(_0x26a71a?.[_0xb19ce1(0x119)])return _0x26a71a[_0xb19ce1(0x119)];if(_0x26a71a?.[_0xb19ce1(0x116)]||_0x26a71a?.[_0xb19ce1(0x12a)])return buildSqlRelativePath(_0x51ecf4,_0x26a71a?.[_0xb19ce1(0x116)],_0x26a71a?.['dbName'],resolveSqlMode(_0x557b3c,_0x26a71a),_0x26a71a?.['dbId']);return buildDefaultSqlFileName(_0x51ecf4,resolveSqlMode(_0x557b3c,_0x26a71a));}export function resolveSqlLocalDir(_0x191b86,_0x2600af){return join(_0x191b86,SQL_LOCAL_REL_DIR,_0x2600af);}export async function confirmForceOverwrite(_0xb8fa34){const _0x351799=a216_0x2dafe7,_0x526a12=createInterface({'input':process[_0x351799(0x11f)],'output':process[_0x351799(0x127)]}),_0x11a90a=await new Promise(_0x2d9262=>{const _0x150815=_0x351799;_0x526a12[_0x150815(0x122)](_0xb8fa34+_0x150815(0x126),_0x2d9262);});return _0x526a12[_0x351799(0x121)](),['y',_0x351799(0x103)]['includes'](_0x11a90a[_0x351799(0x120)]()[_0x351799(0x12d)]());}export function findSqlLockScope(_0x3f3be6,_0x14299a){const _0x3def1e=a216_0x2dafe7;return _0x3f3be6[_0x3def1e(0x102)][_0x14299a];}function buildMetadataHeaderLines(_0x21cd24,_0x234568){const _0x26e42e=a216_0x2dafe7,_0x17f206=[['sqlCode',_0x21cd24[_0x26e42e(0x11c)]],[_0x26e42e(0x116),_0x21cd24[_0x26e42e(0x116)]],[_0x26e42e(0x118),_0x21cd24[_0x26e42e(0x118)]],[_0x26e42e(0x12a),_0x21cd24[_0x26e42e(0x12a)]],[_0x26e42e(0x106),_0x21cd24[_0x26e42e(0x106)]],['syncedAt',_0x21cd24[_0x26e42e(0x12e)]],[_0x26e42e(0x107),_0x21cd24[_0x26e42e(0x107)]]];if(_0x234568===_0x26e42e(0x12b))return _0x17f206[_0x26e42e(0x109)](([,_0x2e64cd])=>_0x2e64cd!==undefined&&_0x2e64cd!==null&&String(_0x2e64cd)[_0x26e42e(0x120)]()!=='')[_0x26e42e(0x105)](([_0x436001,_0x512eaa])=>_0x26e42e(0x100)+_0x436001+':\x20'+String(_0x512eaa)+'\x20-->');return _0x17f206['filter'](([,_0x2fb1a8])=>_0x2fb1a8!==undefined&&_0x2fb1a8!==null&&String(_0x2fb1a8)[_0x26e42e(0x120)]()!=='')[_0x26e42e(0x105)](([_0x34cb33,_0x12fc64])=>'--\x20@lovrabet.'+_0x34cb33+':\x20'+String(_0x12fc64));}
1
+ const a214_0x4a20ee=a214_0x151f;(function(_0x61452f,_0x564d3b){const _0x211c46=a214_0x151f,_0xe71010=_0x61452f();while(!![]){try{const _0x4d4280=-parseInt(_0x211c46(0x1f0))/0x1*(parseInt(_0x211c46(0x1fa))/0x2)+-parseInt(_0x211c46(0x1f5))/0x3*(parseInt(_0x211c46(0x1eb))/0x4)+-parseInt(_0x211c46(0x206))/0x5+parseInt(_0x211c46(0x1fc))/0x6*(parseInt(_0x211c46(0x1e3))/0x7)+-parseInt(_0x211c46(0x1f3))/0x8*(parseInt(_0x211c46(0x202))/0x9)+parseInt(_0x211c46(0x1e8))/0xa+parseInt(_0x211c46(0x1ed))/0xb;if(_0x4d4280===_0x564d3b)break;else _0xe71010['push'](_0xe71010['shift']());}catch(_0x53dc18){_0xe71010['push'](_0xe71010['shift']());}}}(a214_0x3005,0xd4591));import{createInterface}from'node:readline';function a214_0x151f(_0xbc9ef1,_0x413c75){_0xbc9ef1=_0xbc9ef1-0x1df;const _0x300507=a214_0x3005();let _0x151f6f=_0x300507[_0xbc9ef1];return _0x151f6f;}import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a214_0x4a20ee(0x20d);export function buildSqlLockEntry(_0x4bacc4,_0x110eda,_0x225b1c,_0x5ef3e4){const _0x3c074b=a214_0x4a20ee,_0x51a910=detectSqlMode(_0x110eda);return{'path':buildSqlRelativePath(_0x4bacc4[_0x3c074b(0x1fd)],_0x4bacc4[_0x3c074b(0x209)],_0x5ef3e4?.[_0x3c074b(0x1e6)],_0x51a910,_0x4bacc4['dbId']),'hash':_0x225b1c,'remoteId':_0x4bacc4['id'],'version':_0x4bacc4[_0x3c074b(0x1f9)],'dbId':Number(_0x4bacc4[_0x3c074b(0x20a)]),'dbName':_0x5ef3e4?.['dbName'],'sqlName':_0x4bacc4[_0x3c074b(0x209)],'sqlConfig':_0x4bacc4['sqlConfig']??undefined,'mode':_0x51a910};}export function cloneSqlLockData(_0x4d2b26){const _0x2242c0=a214_0x4a20ee;return{'apps':Object[_0x2242c0(0x1f2)](Object[_0x2242c0(0x204)](_0x4d2b26[_0x2242c0(0x205)])[_0x2242c0(0x203)](([_0x1349f5,_0x3de891])=>[_0x1349f5,{'sqlRoot':_0x3de891[_0x2242c0(0x1fe)],'lastSync':_0x3de891[_0x2242c0(0x1e5)],'sqls':{..._0x3de891[_0x2242c0(0x1e1)]}}]))};}function a214_0x3005(){const _0x35fe2c=['apps','4386050ExcZLm','description','\x20-->','sqlName','dbId','trimStart','mode','.rabetbase/sql','split','toLowerCase','sqls','stderr','91jSkltb','--\x20@lovrabet.','lastSync','dbName','mybatisXml','14634080JqZTwS','stdin','filter','1052728mdiKVb','path','19814905JXHwPQ','trim','\x20[y/N]\x20','8dcgKSw','endsWith','fromEntries','40FpDJux','close','3ndwQMf','sqlContent','syncedAt','length','version','299534bHfTOh','replace','172674aqDIiJ','sqlCode','sqlRoot','yes','test','push','775053aTiOKV','map','entries'];a214_0x3005=function(){return _0x35fe2c;};return a214_0x3005();}export function ensureRemoteSqlContent(_0x13fed9){const _0x27759d=a214_0x4a20ee;return _0x13fed9[_0x27759d(0x1f6)]??'';}export function buildLocalSqlFileContent(_0x2d1c02,_0x109df3,_0xf29b5d){const _0x1e909c=a214_0x4a20ee,_0x2fa100=_0xf29b5d?.[_0x1e909c(0x20c)]??detectSqlMode(_0x109df3),_0x252dff=stripLocalSqlMetadata(_0x109df3,_0x2fa100)[_0x1e909c(0x1ee)](),_0x54ee7e=[...buildMetadataHeaderLines({'sqlCode':_0x2d1c02[_0x1e909c(0x1fd)],'sqlName':_0x2d1c02[_0x1e909c(0x209)],'dbId':_0x2d1c02['dbId'],'dbName':_0xf29b5d?.[_0x1e909c(0x1e6)],'mode':_0x2fa100,'syncedAt':_0xf29b5d?.[_0x1e909c(0x1f7)],'description':_0xf29b5d?.[_0x1e909c(0x207)]},_0x2fa100),'',_0x252dff],_0xc6a7cd=_0x54ee7e['join']('\x0a');return _0xc6a7cd[_0x1e909c(0x1f1)]('\x0a')?_0xc6a7cd:_0xc6a7cd+'\x0a';}export function stripLocalSqlMetadata(_0xf5df37,_0x51266d){const _0x270de2=a214_0x4a20ee,_0x430122=_0xf5df37[_0x270de2(0x1fb)](/\r\n/g,'\x0a')[_0x270de2(0x1df)]('\x0a'),_0x8ad1c9=[];let _0x2ebef7=0x0;if(_0x51266d===_0x270de2(0x1e7))while(_0x2ebef7<_0x430122[_0x270de2(0x1f8)]){const _0x36f2aa=_0x430122[_0x2ebef7]??'';if(/^\s*<!--\s*@lovrabet\./[_0x270de2(0x200)](_0x36f2aa)){_0x2ebef7++;continue;}if(_0x36f2aa['trim']()===''&&_0x2ebef7>0x0){_0x2ebef7++;continue;}break;}else while(_0x2ebef7<_0x430122['length']){const _0x40d18f=_0x430122[_0x2ebef7]??'';if(/^\s*--\s*@lovrabet\./[_0x270de2(0x200)](_0x40d18f)){_0x2ebef7++;continue;}if(_0x40d18f[_0x270de2(0x1ee)]()===''&&_0x2ebef7>0x0){_0x2ebef7++;continue;}break;}for(;_0x2ebef7<_0x430122[_0x270de2(0x1f8)];_0x2ebef7++){_0x8ad1c9[_0x270de2(0x201)](_0x430122[_0x2ebef7]);}return _0x8ad1c9['join']('\x0a')[_0x270de2(0x20b)]();}export function resolveSqlMode(_0x2cc3ec,_0x387b98){const _0x1d02ad=a214_0x4a20ee;if(_0x387b98?.['mode'])return _0x387b98[_0x1d02ad(0x20c)];return detectSqlMode(_0x2cc3ec);}export function resolveSqlFileName(_0x5e36,_0x144521,_0x4d0c60){const _0x17a54b=a214_0x4a20ee;if(_0x4d0c60?.[_0x17a54b(0x1ec)])return _0x4d0c60[_0x17a54b(0x1ec)];if(_0x4d0c60?.[_0x17a54b(0x209)]||_0x4d0c60?.[_0x17a54b(0x1e6)])return buildSqlRelativePath(_0x5e36,_0x4d0c60?.[_0x17a54b(0x209)],_0x4d0c60?.['dbName'],resolveSqlMode(_0x144521,_0x4d0c60),_0x4d0c60?.[_0x17a54b(0x20a)]);return buildDefaultSqlFileName(_0x5e36,resolveSqlMode(_0x144521,_0x4d0c60));}export function resolveSqlLocalDir(_0x2a5729,_0x523fa9){return join(_0x2a5729,SQL_LOCAL_REL_DIR,_0x523fa9);}export async function confirmForceOverwrite(_0x259ee5){const _0x391ddb=a214_0x4a20ee,_0x1e4de9=createInterface({'input':process[_0x391ddb(0x1e9)],'output':process[_0x391ddb(0x1e2)]}),_0x183746=await new Promise(_0x41e7f7=>{const _0x24b09d=_0x391ddb;_0x1e4de9['question'](_0x259ee5+_0x24b09d(0x1ef),_0x41e7f7);});return _0x1e4de9[_0x391ddb(0x1f4)](),['y',_0x391ddb(0x1ff)]['includes'](_0x183746[_0x391ddb(0x1ee)]()[_0x391ddb(0x1e0)]());}export function findSqlLockScope(_0x1effd4,_0xfdbf27){const _0x11d011=a214_0x4a20ee;return _0x1effd4[_0x11d011(0x205)][_0xfdbf27];}function buildMetadataHeaderLines(_0x589e37,_0x1a241d){const _0x14e300=a214_0x4a20ee,_0x16df62=[['sqlCode',_0x589e37['sqlCode']],['sqlName',_0x589e37[_0x14e300(0x209)]],[_0x14e300(0x20a),_0x589e37[_0x14e300(0x20a)]],['dbName',_0x589e37['dbName']],[_0x14e300(0x20c),_0x589e37[_0x14e300(0x20c)]],['syncedAt',_0x589e37[_0x14e300(0x1f7)]],['description',_0x589e37[_0x14e300(0x207)]]];if(_0x1a241d===_0x14e300(0x1e7))return _0x16df62[_0x14e300(0x1ea)](([,_0x17c0ce])=>_0x17c0ce!==undefined&&_0x17c0ce!==null&&String(_0x17c0ce)[_0x14e300(0x1ee)]()!=='')[_0x14e300(0x203)](([_0x46ebae,_0xa220bb])=>'<!--\x20@lovrabet.'+_0x46ebae+':\x20'+String(_0xa220bb)+_0x14e300(0x208));return _0x16df62['filter'](([,_0xc71a40])=>_0xc71a40!==undefined&&_0xc71a40!==null&&String(_0xc71a40)[_0x14e300(0x1ee)]()!=='')[_0x14e300(0x203)](([_0x245aeb,_0x3687a7])=>_0x14e300(0x1e4)+_0x245aeb+':\x20'+String(_0x3687a7));}
@@ -1 +1 @@
1
- const a217_0x592408=a217_0x5201;(function(_0x3489c3,_0x4ac661){const _0x3f4f27=a217_0x5201,_0x5bc6a7=_0x3489c3();while(!![]){try{const _0x1fd831=parseInt(_0x3f4f27(0x19b))/0x1+parseInt(_0x3f4f27(0x198))/0x2+parseInt(_0x3f4f27(0x1a7))/0x3+parseInt(_0x3f4f27(0x1b2))/0x4+parseInt(_0x3f4f27(0x1b1))/0x5+-parseInt(_0x3f4f27(0x19c))/0x6*(parseInt(_0x3f4f27(0x1a1))/0x7)+-parseInt(_0x3f4f27(0x1b6))/0x8*(parseInt(_0x3f4f27(0x19a))/0x9);if(_0x1fd831===_0x4ac661)break;else _0x5bc6a7['push'](_0x5bc6a7['shift']());}catch(_0x168e93){_0x5bc6a7['push'](_0x5bc6a7['shift']());}}}(a217_0x8ce2,0xd0a25));import{listSqlQueries}from'../../core/api-client.js';function a217_0x5201(_0x10a78d,_0x45613f){_0x10a78d=_0x10a78d-0x197;const _0x8ce21e=a217_0x8ce2();let _0x520103=_0x8ce21e[_0x10a78d];return _0x520103;}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x4ccb60){const _0x33cb17=a217_0x5201,_0x457863=[];let _0x5091ea=0x1;while(!![]){const _0x2bd36d=await listSqlQueries(_0x4ccb60,{'currentPage':_0x5091ea,'pageSize':PAGE_SIZE}),_0x203863=_0x2bd36d['tableData']??[];_0x457863[_0x33cb17(0x1b7)](..._0x203863[_0x33cb17(0x1a9)](_0x4d444f=>_0x4d444f[_0x33cb17(0x19e)]));if(_0x203863['length']===0x0)break;const _0x5985fe=_0x2bd36d[_0x33cb17(0x1aa)]?.[_0x33cb17(0x199)];if(_0x5985fe!=null?_0x457863[_0x33cb17(0x1b4)]>=_0x5985fe:_0x203863[_0x33cb17(0x1b4)]<PAGE_SIZE)break;_0x5091ea++;}return _0x457863;}function a217_0x8ce2(){const _0x10f82c=['1371254KxgwUs','totalCount','17773785DOFVcM','162494jKwtmq','12wMqwOf','sqls','sqlCode','remote','boolean','4989530YTGsgf','\x20added,\x20','\x20unchanged','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqlName','status','2261157EaAwst','hash','map','paging','has','sqlRoot','lockFilePath','relativePath','filePath','read','5582685RMzbLH','6146532FZKHAf','bool','length','lockKey','8DzEfzc','push','path','appCode'];a217_0x8ce2=function(){return _0x10f82c;};return a217_0x8ce2();}export const sqlStatus={'service':'sql','command':a217_0x592408(0x1a6),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a217_0x592408(0x1b0),'flags':[{'name':'remote','type':a217_0x592408(0x1a0),'description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x56b3a6){const _0x543fe5=a217_0x592408,_0x566ae1=loadSqlProjectConfig(_0x56b3a6[_0x543fe5(0x197)]),_0x29f2c6=await readSqlLockFile(_0x566ae1[_0x543fe5(0x1ad)]),{appLock:_0x257d13}=ensureSqlLockScope(_0x29f2c6??createEmptySqlLock(),_0x566ae1[_0x543fe5(0x197)],_0x566ae1[_0x543fe5(0x1ac)],_0x543fe5(0x1a6)),_0x49380d=await scanLocalSqlQueries(_0x566ae1),_0x28ddb2=[],_0x2a8618=[],_0x3b5543=[],_0x5dfc69=[],_0x5c5c15=new Set(_0x49380d[_0x543fe5(0x1a9)](_0x1aa2e5=>_0x1aa2e5[_0x543fe5(0x1b5)]));for(const _0x473a1d of _0x49380d){const _0x1d4823=await computeSqlFileHash(_0x473a1d[_0x543fe5(0x1af)]),_0x2f0ada=_0x257d13[_0x543fe5(0x19d)][_0x473a1d[_0x543fe5(0x1b5)]],_0x5ddb3e=!!_0x2f0ada&&_0x2f0ada[_0x543fe5(0x1b8)]!==_0x473a1d[_0x543fe5(0x1ae)],_0x4224c5=!!_0x2f0ada&&!!_0x473a1d[_0x543fe5(0x1a5)]&&_0x2f0ada[_0x543fe5(0x1a5)]!==_0x473a1d[_0x543fe5(0x1a5)];if(!_0x2f0ada)_0x28ddb2[_0x543fe5(0x1b7)](_0x473a1d[_0x543fe5(0x1b5)]);else _0x2f0ada[_0x543fe5(0x1a8)]!==_0x1d4823||_0x5ddb3e||_0x4224c5?_0x2a8618[_0x543fe5(0x1b7)](_0x473a1d[_0x543fe5(0x1b5)]):_0x3b5543[_0x543fe5(0x1b7)](_0x473a1d[_0x543fe5(0x1b5)]);}for(const _0x7d93fd of Object['keys'](_0x257d13[_0x543fe5(0x19d)])){!_0x5c5c15[_0x543fe5(0x1ab)](_0x7d93fd)&&_0x5dfc69[_0x543fe5(0x1b7)](_0x7d93fd);}const _0x43409f=[];if(_0x56b3a6[_0x543fe5(0x1b3)](_0x543fe5(0x19f))){const _0x5c321d=await fetchAllSqlCodes(_0x56b3a6[_0x543fe5(0x197)]);for(const _0x308a1d of _0x5c321d){!_0x5c5c15[_0x543fe5(0x1ab)](_0x308a1d)&&!_0x257d13[_0x543fe5(0x19d)][_0x308a1d]&&_0x43409f[_0x543fe5(0x1b7)](_0x308a1d);}}const _0x285640=_0x28ddb2[_0x543fe5(0x1b4)]===0x0&&_0x2a8618[_0x543fe5(0x1b4)]===0x0&&_0x5dfc69[_0x543fe5(0x1b4)]===0x0&&_0x43409f[_0x543fe5(0x1b4)]===0x0;return{'ok':!![],'data':{'added':_0x28ddb2,'modified':_0x2a8618,'missing':_0x5dfc69,'unchanged':_0x3b5543,'remoteOnly':_0x43409f},'message':_0x285640?_0x543fe5(0x1a4):_0x28ddb2[_0x543fe5(0x1b4)]+_0x543fe5(0x1a2)+_0x2a8618['length']+'\x20modified,\x20'+_0x5dfc69['length']+'\x20missing,\x20'+_0x3b5543['length']+_0x543fe5(0x1a3)+(_0x43409f[_0x543fe5(0x1b4)]>0x0?',\x20'+_0x43409f[_0x543fe5(0x1b4)]+'\x20remote-only':'')};}};
1
+ const a215_0x135112=a215_0x1488;(function(_0xc5b27d,_0x11862d){const _0x1c12b5=a215_0x1488,_0x5ee3bf=_0xc5b27d();while(!![]){try{const _0x46ad58=-parseInt(_0x1c12b5(0x19d))/0x1*(-parseInt(_0x1c12b5(0x1a5))/0x2)+parseInt(_0x1c12b5(0x194))/0x3*(-parseInt(_0x1c12b5(0x188))/0x4)+-parseInt(_0x1c12b5(0x195))/0x5*(parseInt(_0x1c12b5(0x190))/0x6)+-parseInt(_0x1c12b5(0x1a8))/0x7*(-parseInt(_0x1c12b5(0x19e))/0x8)+-parseInt(_0x1c12b5(0x191))/0x9*(parseInt(_0x1c12b5(0x198))/0xa)+parseInt(_0x1c12b5(0x1a6))/0xb*(-parseInt(_0x1c12b5(0x1a7))/0xc)+parseInt(_0x1c12b5(0x1a9))/0xd*(parseInt(_0x1c12b5(0x187))/0xe);if(_0x46ad58===_0x11862d)break;else _0x5ee3bf['push'](_0x5ee3bf['shift']());}catch(_0x5ec311){_0x5ee3bf['push'](_0x5ee3bf['shift']());}}}(a215_0x3857,0xc7b58));function a215_0x1488(_0x1d8eff,_0x11023f){_0x1d8eff=_0x1d8eff-0x182;const _0x385716=a215_0x3857();let _0x148835=_0x385716[_0x1d8eff];return _0x148835;}import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';function a215_0x3857(){const _0x337621=['19114068BnUtyO','4620dqrzLL','26132379uRZTrU','\x20added,\x20','lockKey','push','tableData','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','status','28chwGqK','4yGSGYX','totalCount','boolean','All\x20SQL\x20queries\x20are\x20in\x20sync.','remote','sqlCode','\x20missing,\x20','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','4626852ZsIUjm','8732979uhZlzT','read','path','3289911gsTlFO','5oXMzDD','lockFilePath','bool','10ObLVYE','sqls','appCode','sqlName','length','3281SJMwbM','7296WjOwno','\x20unchanged','relativePath','filePath','has','hash','map','382pbJysK','11BVQpzU'];a215_0x3857=function(){return _0x337621;};return a215_0x3857();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x3eab5b){const _0x4974dd=a215_0x1488,_0x1dd970=[];let _0x4edb2f=0x1;while(!![]){const _0x17c588=await listSqlQueries(_0x3eab5b,{'currentPage':_0x4edb2f,'pageSize':PAGE_SIZE}),_0x15711b=_0x17c588[_0x4974dd(0x184)]??[];_0x1dd970[_0x4974dd(0x183)](..._0x15711b['map'](_0x87cd9d=>_0x87cd9d[_0x4974dd(0x18d)]));if(_0x15711b[_0x4974dd(0x19c)]===0x0)break;const _0x355aa6=_0x17c588['paging']?.[_0x4974dd(0x189)];if(_0x355aa6!=null?_0x1dd970[_0x4974dd(0x19c)]>=_0x355aa6:_0x15711b[_0x4974dd(0x19c)]<PAGE_SIZE)break;_0x4edb2f++;}return _0x1dd970;}export const sqlStatus={'service':'sql','command':a215_0x135112(0x186),'description':a215_0x135112(0x185),'risk':a215_0x135112(0x192),'flags':[{'name':a215_0x135112(0x18c),'type':a215_0x135112(0x18a),'description':a215_0x135112(0x18f)}],async 'execute'(_0x15430b){const _0x3cc74e=a215_0x135112,_0x5db615=loadSqlProjectConfig(_0x15430b['appCode']),_0x4f4baf=await readSqlLockFile(_0x5db615[_0x3cc74e(0x196)]),{appLock:_0x244761}=ensureSqlLockScope(_0x4f4baf??createEmptySqlLock(),_0x5db615[_0x3cc74e(0x19a)],_0x5db615['sqlRoot'],_0x3cc74e(0x186)),_0xb6b627=await scanLocalSqlQueries(_0x5db615),_0x11ef86=[],_0x3d0290=[],_0x55fc5e=[],_0xbd6f16=[],_0x4b73d3=new Set(_0xb6b627[_0x3cc74e(0x1a4)](_0x771d2=>_0x771d2[_0x3cc74e(0x182)]));for(const _0x4afbcf of _0xb6b627){const _0x19bc9e=await computeSqlFileHash(_0x4afbcf[_0x3cc74e(0x1a1)]),_0x25e02e=_0x244761[_0x3cc74e(0x199)][_0x4afbcf[_0x3cc74e(0x182)]],_0x1f8289=!!_0x25e02e&&_0x25e02e[_0x3cc74e(0x193)]!==_0x4afbcf[_0x3cc74e(0x1a0)],_0xa639a8=!!_0x25e02e&&!!_0x4afbcf[_0x3cc74e(0x19b)]&&_0x25e02e['sqlName']!==_0x4afbcf[_0x3cc74e(0x19b)];if(!_0x25e02e)_0x11ef86[_0x3cc74e(0x183)](_0x4afbcf[_0x3cc74e(0x182)]);else _0x25e02e[_0x3cc74e(0x1a3)]!==_0x19bc9e||_0x1f8289||_0xa639a8?_0x3d0290[_0x3cc74e(0x183)](_0x4afbcf['lockKey']):_0x55fc5e[_0x3cc74e(0x183)](_0x4afbcf[_0x3cc74e(0x182)]);}for(const _0x357880 of Object['keys'](_0x244761[_0x3cc74e(0x199)])){!_0x4b73d3['has'](_0x357880)&&_0xbd6f16[_0x3cc74e(0x183)](_0x357880);}const _0x2e54c1=[];if(_0x15430b[_0x3cc74e(0x197)]('remote')){const _0x9a1226=await fetchAllSqlCodes(_0x15430b['appCode']);for(const _0x40e559 of _0x9a1226){!_0x4b73d3[_0x3cc74e(0x1a2)](_0x40e559)&&!_0x244761[_0x3cc74e(0x199)][_0x40e559]&&_0x2e54c1[_0x3cc74e(0x183)](_0x40e559);}}const _0x545c8e=_0x11ef86['length']===0x0&&_0x3d0290['length']===0x0&&_0xbd6f16[_0x3cc74e(0x19c)]===0x0&&_0x2e54c1[_0x3cc74e(0x19c)]===0x0;return{'ok':!![],'data':{'added':_0x11ef86,'modified':_0x3d0290,'missing':_0xbd6f16,'unchanged':_0x55fc5e,'remoteOnly':_0x2e54c1},'message':_0x545c8e?_0x3cc74e(0x18b):_0x11ef86['length']+_0x3cc74e(0x1aa)+_0x3d0290[_0x3cc74e(0x19c)]+'\x20modified,\x20'+_0xbd6f16[_0x3cc74e(0x19c)]+_0x3cc74e(0x18e)+_0x55fc5e[_0x3cc74e(0x19c)]+_0x3cc74e(0x19f)+(_0x2e54c1[_0x3cc74e(0x19c)]>0x0?',\x20'+_0x2e54c1[_0x3cc74e(0x19c)]+'\x20remote-only':'')};}};