@lovrabet/rabetbase-cli 2.5.1-beta.1 → 2.5.1-beta.3

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 (326) 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.d.ts +1 -1
  56. package/lib/commands/config/init.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-restore.d.ts +107 -0
  67. package/lib/commands/dataset/field-restore.js +1 -0
  68. package/lib/commands/dataset/field-update.js +1 -1
  69. package/lib/commands/dataset/generate.js +1 -1
  70. package/lib/commands/dataset/index.js +1 -1
  71. package/lib/commands/dataset/list.js +1 -1
  72. package/lib/commands/dataset/operations.js +1 -1
  73. package/lib/commands/dataset/relation-audit.js +1 -1
  74. package/lib/commands/dataset/relation-create.js +1 -1
  75. package/lib/commands/dataset/relation-delete.js +1 -1
  76. package/lib/commands/dataset/relation-shared.js +1 -1
  77. package/lib/commands/dataset/relation-update.js +1 -1
  78. package/lib/commands/dataset/relations.js +1 -1
  79. package/lib/commands/dataset/rename.js +1 -1
  80. package/lib/commands/dataset/restore.js +1 -1
  81. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  82. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  83. package/lib/commands/db/analysis-batching.js +1 -1
  84. package/lib/commands/db/analyze-batch-plan.js +1 -1
  85. package/lib/commands/db/analyze-cancel.js +1 -1
  86. package/lib/commands/db/analyze-start.js +1 -1
  87. package/lib/commands/db/analyze-status.js +1 -1
  88. package/lib/commands/db/create.js +1 -1
  89. package/lib/commands/db/delete.js +1 -1
  90. package/lib/commands/db/detail.js +1 -1
  91. package/lib/commands/db/diff-refresh-start.js +1 -1
  92. package/lib/commands/db/diff-refresh-status.js +1 -1
  93. package/lib/commands/db/diff.js +1 -1
  94. package/lib/commands/db/index.js +1 -1
  95. package/lib/commands/db/list.js +1 -1
  96. package/lib/commands/db/shared.js +1 -1
  97. package/lib/commands/db/table-diff-shared.js +1 -1
  98. package/lib/commands/db/tables.js +1 -1
  99. package/lib/commands/db/test.js +1 -1
  100. package/lib/commands/db/update.js +1 -1
  101. package/lib/commands/deployment/auto-sync.d.ts +28 -0
  102. package/lib/commands/deployment/auto-sync.js +1 -0
  103. package/lib/commands/deployment/index.d.ts +2 -0
  104. package/lib/commands/deployment/index.js +1 -0
  105. package/lib/commands/deployment/sync.d.ts +2 -0
  106. package/lib/commands/deployment/sync.js +1 -0
  107. package/lib/commands/doctor.js +1 -1
  108. package/lib/commands/file/index.js +1 -1
  109. package/lib/commands/issue/index.js +1 -1
  110. package/lib/commands/issue/nudge.js +1 -1
  111. package/lib/commands/issue/report.js +1 -1
  112. package/lib/commands/issue/shared.js +1 -1
  113. package/lib/commands/kb/create.js +1 -1
  114. package/lib/commands/kb/delete.js +1 -1
  115. package/lib/commands/kb/detail.js +1 -1
  116. package/lib/commands/kb/index.js +1 -1
  117. package/lib/commands/kb/list.js +1 -1
  118. package/lib/commands/kb/search.js +1 -1
  119. package/lib/commands/kb/shared.js +1 -1
  120. package/lib/commands/kb/update.js +1 -1
  121. package/lib/commands/logs/index.js +1 -1
  122. package/lib/commands/menu/asset-update.js +1 -1
  123. package/lib/commands/menu/delete.js +1 -1
  124. package/lib/commands/menu/external-link-create.js +1 -1
  125. package/lib/commands/menu/external-link-update.js +1 -1
  126. package/lib/commands/menu/group-create.js +1 -1
  127. package/lib/commands/menu/group-update.js +1 -1
  128. package/lib/commands/menu/index.js +1 -1
  129. package/lib/commands/menu/list.js +1 -1
  130. package/lib/commands/menu/move.js +1 -1
  131. package/lib/commands/menu/regroup-start.js +1 -1
  132. package/lib/commands/menu/rename.js +1 -1
  133. package/lib/commands/menu/shared/compare-table.js +1 -1
  134. package/lib/commands/menu/shared/delete-plan.js +1 -1
  135. package/lib/commands/menu/shared/facts.js +1 -1
  136. package/lib/commands/menu/shared/index.js +1 -1
  137. package/lib/commands/menu/shared/inquirer.js +1 -1
  138. package/lib/commands/menu/shared/local-pages.js +1 -1
  139. package/lib/commands/menu/shared/logic.js +1 -1
  140. package/lib/commands/menu/shared/mutations.js +1 -1
  141. package/lib/commands/menu/shared/service.js +1 -1
  142. package/lib/commands/menu/shared/sync-core.js +1 -1
  143. package/lib/commands/menu/shared/update-core.js +1 -1
  144. package/lib/commands/menu/shared/valid-url.js +1 -1
  145. package/lib/commands/menu/sync.js +1 -1
  146. package/lib/commands/menu/visibility-update.js +1 -1
  147. package/lib/commands/notification/config-create.js +1 -1
  148. package/lib/commands/notification/config-delete.js +1 -1
  149. package/lib/commands/notification/config-list.js +1 -1
  150. package/lib/commands/notification/config-update.js +1 -1
  151. package/lib/commands/notification/index.js +1 -1
  152. package/lib/commands/notification/shared.js +1 -1
  153. package/lib/commands/ocr/index.js +1 -1
  154. package/lib/commands/page/create.js +1 -1
  155. package/lib/commands/page/custom/detail.js +1 -1
  156. package/lib/commands/page/custom/list.js +1 -1
  157. package/lib/commands/page/custom/publish.js +1 -1
  158. package/lib/commands/page/custom/shared.js +1 -1
  159. package/lib/commands/page/custom/syntax.js +1 -1
  160. package/lib/commands/page/custom/template.js +1 -1
  161. package/lib/commands/page/custom/update.js +1 -1
  162. package/lib/commands/page/data-list-status.js +1 -1
  163. package/lib/commands/page/generate-start.js +1 -1
  164. package/lib/commands/page/generate-status.js +1 -1
  165. package/lib/commands/page/index.js +1 -1
  166. package/lib/commands/page/pull.js +1 -1
  167. package/lib/commands/page/push.js +1 -1
  168. package/lib/commands/page/relation-audit.js +1 -1
  169. package/lib/commands/page/restore.js +1 -1
  170. package/lib/commands/page/shared.js +1 -1
  171. package/lib/commands/page/sync.js +1 -1
  172. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  173. package/lib/commands/project/create/format-elapsed.js +1 -1
  174. package/lib/commands/project/create/main.js +1 -1
  175. package/lib/commands/project/create/materialize-project-template.js +1 -1
  176. package/lib/commands/project/create/project-name.js +1 -1
  177. package/lib/commands/project/create/project-template-archive.js +1 -1
  178. package/lib/commands/project/create/project-template-path.js +1 -1
  179. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  180. package/lib/commands/project/create/use-format-code.js +1 -1
  181. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  182. package/lib/commands/project/index.js +1 -1
  183. package/lib/commands/project/upgrade.js +1 -1
  184. package/lib/commands/registry.js +1 -1
  185. package/lib/commands/role/delete.js +1 -1
  186. package/lib/commands/role/detail.js +1 -1
  187. package/lib/commands/role/index.js +1 -1
  188. package/lib/commands/role/list.js +1 -1
  189. package/lib/commands/role/shared.js +1 -1
  190. package/lib/commands/role/update.js +1 -1
  191. package/lib/commands/role/user-add.js +1 -1
  192. package/lib/commands/role/user-remove.js +1 -1
  193. package/lib/commands/role/user-resolve.js +1 -1
  194. package/lib/commands/run/index.js +1 -1
  195. package/lib/commands/schema.js +1 -1
  196. package/lib/commands/sql/create.js +1 -1
  197. package/lib/commands/sql/delete.js +1 -1
  198. package/lib/commands/sql/detail.js +1 -1
  199. package/lib/commands/sql/exec.js +1 -1
  200. package/lib/commands/sql/index.js +1 -1
  201. package/lib/commands/sql/list.js +1 -1
  202. package/lib/commands/sql/pull.js +1 -1
  203. package/lib/commands/sql/push.js +1 -1
  204. package/lib/commands/sql/shared.js +1 -1
  205. package/lib/commands/sql/status.js +1 -1
  206. package/lib/commands/sql/validate.js +1 -1
  207. package/lib/commands/task/index.js +1 -1
  208. package/lib/commands/task/status.js +1 -1
  209. package/lib/commands/tenant/index.js +1 -1
  210. package/lib/commands/tenant/members-list.js +1 -1
  211. package/lib/commands/tenant/shared.js +1 -1
  212. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  213. package/lib/commands/user-account/index.js +1 -1
  214. package/lib/commands/workspace/add.js +1 -1
  215. package/lib/commands/workspace/index.js +1 -1
  216. package/lib/commands/workspace/remove.js +1 -1
  217. package/lib/config/deployment-sync.d.ts +10 -0
  218. package/lib/config/deployment-sync.js +1 -0
  219. package/lib/config/domain-config.d.ts +1 -1
  220. package/lib/config/domain-config.js +1 -1
  221. package/lib/config/project-routing.js +1 -1
  222. package/lib/config/schema.d.ts +1 -1
  223. package/lib/config/schema.js +1 -1
  224. package/lib/constant/cdn.js +1 -1
  225. package/lib/constant/cli.js +1 -1
  226. package/lib/constant/defaults.js +1 -1
  227. package/lib/constant/domain.d.ts +2 -0
  228. package/lib/constant/domain.js +1 -1
  229. package/lib/constant/env.js +1 -1
  230. package/lib/constant/output.js +1 -1
  231. package/lib/constant/paths.js +1 -1
  232. package/lib/constant/region.js +1 -1
  233. package/lib/constant/risk.js +1 -1
  234. package/lib/constant/routing-profile.js +1 -1
  235. package/lib/context/app-resolver.d.ts +2 -0
  236. package/lib/context/app-resolver.js +1 -1
  237. package/lib/context/auth-resolver.js +1 -1
  238. package/lib/context/config-loader.js +1 -1
  239. package/lib/context.js +1 -1
  240. package/lib/core/alias-resolver.js +1 -1
  241. package/lib/core/api-client.d.ts +35 -16
  242. package/lib/core/api-client.js +1 -1
  243. package/lib/core/bff/config.js +1 -1
  244. package/lib/core/bff/file-system.js +1 -1
  245. package/lib/core/bff/hash.js +1 -1
  246. package/lib/core/bff/lock.js +1 -1
  247. package/lib/core/bff/utils.js +1 -1
  248. package/lib/core/db-resolver.js +1 -1
  249. package/lib/core/kb-search-client.d.ts +30 -0
  250. package/lib/core/kb-search-client.js +1 -0
  251. package/lib/core/page/file-system.js +1 -1
  252. package/lib/core/page/hash.js +1 -1
  253. package/lib/core/page/lock.js +1 -1
  254. package/lib/core/sql-index-auditor.js +1 -1
  255. package/lib/core/sql-sync/config.js +1 -1
  256. package/lib/core/sql-sync/file-system.js +1 -1
  257. package/lib/core/sql-sync/hash.js +1 -1
  258. package/lib/core/sql-sync/lock.js +1 -1
  259. package/lib/core/sql-sync/utils.js +1 -1
  260. package/lib/core/sql-validator.js +1 -1
  261. package/lib/errors.js +1 -1
  262. package/lib/framework/build-all-flags.js +1 -1
  263. package/lib/framework/error-output.js +1 -1
  264. package/lib/framework/explicit-yes.js +1 -1
  265. package/lib/framework/flags.js +1 -1
  266. package/lib/framework/help.js +1 -1
  267. package/lib/framework/index.js +1 -1
  268. package/lib/framework/output.js +1 -1
  269. package/lib/framework/response.js +1 -1
  270. package/lib/framework/runner-alias.js +1 -1
  271. package/lib/framework/runner.js +1 -1
  272. package/lib/framework/schema-export.js +1 -1
  273. package/lib/framework/types.d.ts +5 -0
  274. package/lib/framework/types.js +1 -1
  275. package/lib/generated/build-info.d.ts +4 -4
  276. package/lib/generated/build-info.js +1 -1
  277. package/lib/help.js +1 -1
  278. package/lib/postinstall.js +1 -1
  279. package/lib/runtime/confirmation.js +1 -1
  280. package/lib/runtime/event.js +1 -1
  281. package/lib/runtime/index.js +1 -1
  282. package/lib/runtime/queue.js +1 -1
  283. package/lib/runtime/resolve.js +1 -1
  284. package/lib/skills/builtin-skill.js +1 -1
  285. package/lib/skills/main.js +1 -1
  286. package/lib/skills/npx-skills-add.js +1 -1
  287. package/lib/skills/skill-presence.js +1 -1
  288. package/lib/telemetry/cli-command-trace.js +1 -1
  289. package/lib/telemetry/cli-help-trace.js +1 -1
  290. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  291. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  292. package/lib/telemetry/send-cli-trace-log.js +1 -1
  293. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  294. package/lib/utils/ai_config.js +1 -1
  295. package/lib/utils/apply-jq-filter.js +1 -1
  296. package/lib/utils/cdn-config.js +1 -1
  297. package/lib/utils/check-sdk-version.js +1 -1
  298. package/lib/utils/cli-version-check.js +1 -1
  299. package/lib/utils/cli-version-policy.js +1 -1
  300. package/lib/utils/config.js +1 -1
  301. package/lib/utils/entity-with-id.js +1 -1
  302. package/lib/utils/file-utils.js +1 -1
  303. package/lib/utils/guides-cdn.js +1 -1
  304. package/lib/utils/http-client.js +1 -1
  305. package/lib/utils/is-non-interactive.js +1 -1
  306. package/lib/utils/logger.js +1 -1
  307. package/lib/utils/params.js +1 -1
  308. package/lib/utils/platform.js +1 -1
  309. package/lib/utils/sleep.js +1 -1
  310. package/lib/utils/template-replacer.js +1 -1
  311. package/lib/utils/update-notice.js +1 -1
  312. package/lib/utils/version.js +1 -1
  313. package/lib/utils/with-active-cookie.js +1 -1
  314. package/lib/utils/write-cli-side-channel.js +1 -1
  315. package/package.json +1 -1
  316. package/skills/rabetbase/SKILL.md +12 -6
  317. package/skills/rabetbase/references/rabetbase-config.md +4 -1
  318. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  319. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  320. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  321. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  322. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  323. package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
  324. package/skills/rabetbase/references/rabetbase-init.md +2 -0
  325. package/skills/rabetbase/references/rabetbase-kb.md +7 -7
  326. package/skills/rabetbase.manifest.json +6 -3
@@ -1 +1 @@
1
- const a185_0x457397=a185_0x1823;(function(_0x330867,_0x3a8e84){const _0x15db39=a185_0x1823,_0x5dbd72=_0x330867();while(!![]){try{const _0x591371=-parseInt(_0x15db39(0x15e))/0x1+-parseInt(_0x15db39(0x158))/0x2+-parseInt(_0x15db39(0x17e))/0x3*(-parseInt(_0x15db39(0x163))/0x4)+-parseInt(_0x15db39(0x16a))/0x5*(-parseInt(_0x15db39(0x14f))/0x6)+parseInt(_0x15db39(0x167))/0x7*(-parseInt(_0x15db39(0x181))/0x8)+parseInt(_0x15db39(0x146))/0x9*(parseInt(_0x15db39(0x164))/0xa)+-parseInt(_0x15db39(0x17f))/0xb;if(_0x591371===_0x3a8e84)break;else _0x5dbd72['push'](_0x5dbd72['shift']());}catch(_0x4ec90f){_0x5dbd72['push'](_0x5dbd72['shift']());}}}(a185_0x2d78,0x4787e));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';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2413ad){const _0xdb2d5a=a185_0x1823;if(_0x2413ad==='mybatisXml')return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0xdb2d5a(0x15c),_0xdb2d5a(0x147),'']['join']('\x0a');return[_0xdb2d5a(0x170),''][_0xdb2d5a(0x16f)]('\x0a');}export const sqlCreate={'service':a185_0x457397(0x149),'command':a185_0x457397(0x17a),'description':a185_0x457397(0x15a),'risk':a185_0x457397(0x165),'flags':[{'name':a185_0x457397(0x157),'type':a185_0x457397(0x169),'description':a185_0x457397(0x140)},{'name':a185_0x457397(0x176),'type':'number','description':a185_0x457397(0x171)},{'name':'mode','type':a185_0x457397(0x169),'enum':[a185_0x457397(0x149),'mybatisXml'],'description':a185_0x457397(0x17b)}],async 'validate'(_0x5d9b55){const _0x4fe34c=a185_0x457397;if(!_0x5d9b55[_0x4fe34c(0x150)])return;if(!_0x5d9b55['str']('name')[_0x4fe34c(0x16b)]())throw CliErrors[_0x4fe34c(0x16d)]('name',_0x4fe34c(0x178));const _0x1879bc=resolveProvidedDbId(_0x5d9b55);if(typeof _0x1879bc!==_0x4fe34c(0x161)||!Number[_0x4fe34c(0x148)](_0x1879bc)||_0x1879bc<=0x0)throw CliErrors['flagMissing'](_0x4fe34c(0x176),_0x4fe34c(0x14b));if(!_0x5d9b55[_0x4fe34c(0x159)]('mode')[_0x4fe34c(0x16b)]())throw CliErrors[_0x4fe34c(0x16d)](_0x4fe34c(0x180),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x40c745){const _0x5134de=a185_0x457397,_0x128a98=loadSqlProjectConfig(_0x40c745['appCode']),{sqlName:_0x38dad2,dbId:_0x2dcdde,dbName:_0x442028,mode:_0x2d345e}=await resolveSqlNewInputs(_0x40c745),_0x25e35a=buildSqlRelativePath('<server-generated-sqlCode>',_0x38dad2,_0x442028,_0x2d345e,_0x2dcdde),_0x1cd1c0=_0x128a98[_0x5134de(0x15f)]+'/'+_0x25e35a;return{'method':'POST','url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x40c745[_0x5134de(0x174)],'sqlName':_0x38dad2,'dbId':_0x2dcdde,'mode':_0x2d345e,'localPath':_0x1cd1c0},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x128a98[_0x5134de(0x15f)]};},async 'execute'(_0x1ae5f6){const _0x15bd31=a185_0x457397,_0x150bc6=loadSqlProjectConfig(_0x1ae5f6[_0x15bd31(0x174)]),{sqlName:_0x3043d5,dbId:_0x225040,dbName:_0x455f00,mode:_0x2f4f23}=await resolveSqlNewInputs(_0x1ae5f6),_0x703e80=generateSqlTemplate(_0x2f4f23),_0x5c085c=await createSqlQuery({'appCode':_0x1ae5f6[_0x15bd31(0x174)],'sqlName':_0x3043d5,'dbId':_0x225040,'sqlContent':_0x703e80}),_0x13d7ac=ensureRemoteSqlContent(_0x5c085c),_0x2044db=_0x455f00||await getDbName(_0x1ae5f6[_0x15bd31(0x174)],_0x225040)[_0x15bd31(0x145)](()=>undefined),_0x5db2b4=buildSqlRelativePath(_0x5c085c[_0x15bd31(0x141)],_0x5c085c[_0x15bd31(0x172)],_0x2044db,_0x2f4f23,_0x225040),_0x18f5be=_0x150bc6[_0x15bd31(0x15f)]+'/'+_0x5db2b4,_0x12641e=buildLocalSqlFileContent({'sqlCode':_0x5c085c[_0x15bd31(0x141)],'sqlName':_0x5c085c[_0x15bd31(0x172)],'dbId':_0x5c085c['dbId']},_0x13d7ac,{'dbName':_0x2044db,'mode':_0x2f4f23,'syncedAt':new Date()[_0x15bd31(0x16e)](),'description':_0x5c085c[_0x15bd31(0x144)]});if(await fileExists(_0x18f5be))throw CliErrors[_0x15bd31(0x182)](_0x15bd31(0x15d)+_0x18f5be);await ensureParentDirectory(_0x18f5be),await writeFile(_0x18f5be,_0x12641e,_0x15bd31(0x154));const _0x10f77a=await readSqlLockFile(_0x150bc6[_0x15bd31(0x17c)]),{lockData:_0x19416a,appLock:_0x2b11ea}=ensureSqlLockScope(_0x10f77a??createEmptySqlLock(),_0x150bc6['appCode'],_0x150bc6[_0x15bd31(0x142)],_0x15bd31(0x14c));return _0x2b11ea[_0x15bd31(0x14e)][_0x5c085c[_0x15bd31(0x141)]]={...buildSqlLockEntry(_0x5c085c,_0x13d7ac,computeSqlContentHash(_0x12641e),{'dbName':_0x2044db}),'path':_0x5db2b4,'mode':_0x2f4f23},_0x2b11ea[_0x15bd31(0x143)]=new Date()[_0x15bd31(0x16e)](),await writeSqlLockFile(_0x150bc6[_0x15bd31(0x17c)],_0x19416a),{'ok':!![],'data':{'id':_0x5c085c['id'],'sqlCode':_0x5c085c['sqlCode'],'sqlName':_0x5c085c[_0x15bd31(0x172)],'dbId':_0x5c085c[_0x15bd31(0x175)],'path':_0x18f5be,'mode':_0x2f4f23},'message':_0x15bd31(0x168)+_0x5c085c[_0x15bd31(0x141)]};}};async function resolveSqlNewInputs(_0x290592){const _0x1d399d=await resolveSqlNameInput(_0x290592),{dbId:_0x293ace,dbName:_0x133675}=await resolveDbSelection(_0x290592),_0x34ef92=await resolveSqlModeInput(_0x290592);return{'sqlName':_0x1d399d,'dbId':_0x293ace,'dbName':_0x133675,'mode':_0x34ef92};}async function resolveSqlNameInput(_0x43c169){const _0x3799bb=a185_0x457397,_0x593ef0=_0x43c169[_0x3799bb(0x159)](_0x3799bb(0x157))[_0x3799bb(0x16b)]();if(_0x593ef0)return _0x593ef0;if(_0x43c169['nonInteractive'])throw CliErrors[_0x3799bb(0x16d)](_0x3799bb(0x157),_0x3799bb(0x178));return(await input({'message':_0x3799bb(0x166),'validate':_0x5dc076=>_0x5dc076[_0x3799bb(0x16b)]()?!![]:_0x3799bb(0x160)}))['trim']();}async function resolveDbSelection(_0x58befc){const _0x9f8ca6=a185_0x457397,_0x530cd7=resolveProvidedDbId(_0x58befc);if(typeof _0x530cd7===_0x9f8ca6(0x161)&&Number[_0x9f8ca6(0x148)](_0x530cd7)&&_0x530cd7>0x0)return{'dbId':_0x530cd7,'dbName':await getDbName(_0x58befc[_0x9f8ca6(0x174)],_0x530cd7)[_0x9f8ca6(0x145)](()=>undefined)};if(_0x58befc[_0x9f8ca6(0x150)])throw CliErrors[_0x9f8ca6(0x16d)](_0x9f8ca6(0x176),_0x9f8ca6(0x14b));const _0x3775a4=await listDatabases(_0x58befc[_0x9f8ca6(0x174)])[_0x9f8ca6(0x145)](()=>[]);if(_0x3775a4[_0x9f8ca6(0x14d)]===0x1)return{'dbId':_0x3775a4[0x0][_0x9f8ca6(0x175)],'dbName':_0x3775a4[0x0]['dbName']};if(_0x3775a4[_0x9f8ca6(0x14d)]>0x1){const _0x48cd3e=await select({'message':_0x9f8ca6(0x15b),'choices':[..._0x3775a4[_0x9f8ca6(0x16c)](_0x44f265=>({'name':_0x44f265[_0x9f8ca6(0x179)]+'\x20('+_0x44f265['dbId']+')','value':serializeDbSelection(_0x44f265)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x9f8ca6(0x152)}]});if(_0x48cd3e!=='__manual__')return deserializeDbSelection(_0x48cd3e);}const _0x3b0cac=await input({'message':'Target\x20database\x20dbId:','validate':_0x2c1d4c=>{const _0xdbbbe9=_0x9f8ca6,_0x2df917=_0x2c1d4c[_0xdbbbe9(0x16b)]();if(!_0x2df917)return _0xdbbbe9(0x173);const _0x52b5bf=Number(_0x2df917);if(!Number['isInteger'](_0x52b5bf)||_0x52b5bf<=0x0)return _0xdbbbe9(0x14a);return!![];}});return{'dbId':Number(_0x3b0cac[_0x9f8ca6(0x16b)]())};}async function resolveSqlModeInput(_0x5273df){const _0x13d386=a185_0x457397,_0x2aa072=_0x5273df[_0x13d386(0x159)](_0x13d386(0x180))[_0x13d386(0x16b)]();if(_0x2aa072===_0x13d386(0x149)||_0x2aa072===_0x13d386(0x153))return _0x2aa072;if(_0x5273df['nonInteractive'])throw CliErrors[_0x13d386(0x16d)](_0x13d386(0x180),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x13d386(0x177),'choices':[{'name':_0x13d386(0x13e),'value':_0x13d386(0x149),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x13d386(0x156),'value':'mybatisXml','description':_0x13d386(0x155)}]});}function serializeDbSelection(_0x1870cc){const _0x4df4a1=a185_0x457397;return JSON[_0x4df4a1(0x151)]({'dbId':_0x1870cc[_0x4df4a1(0x175)],'dbName':_0x1870cc['dbName']});}function a185_0x2d78(){const _0x559090=['SQL\x20query\x20display\x20name','sqlCode','sqlRoot','lastSync','description','catch','261693CkUnVs','</select>','isFinite','sql','dbId\x20must\x20be\x20a\x20positive\x20integer','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','new','length','sqls','18762DIyZul','nonInteractive','stringify','__manual__','mybatisXml','utf8','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','MyBatis\x20XML\x20(mybatisXml)','name','482978StMMix','str','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Select\x20the\x20target\x20database:','\x20\x20SELECT\x201\x20AS\x20id','File\x20already\x20exists:\x20','320915vKTQqR','sqlRootDir','SQL\x20name\x20cannot\x20be\x20empty','number','flag','304mjXrsD','170SwuASI','write','SQL\x20name:','35077iIzNPz','Created\x20SQL\x20query\x20','string','935cQQmdJ','trim','map','flagMissing','toISOString','join','SELECT\x201\x20AS\x20id;','Target\x20database\x20ID','sqlName','dbId\x20cannot\x20be\x20empty','appCode','dbId','db-id','Select\x20the\x20local\x20SQL\x20mode:','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','dbName','create','Local\x20SQL\x20file\x20mode','lockFilePath','Invalid\x20database\x20selection\x20payload:\x20','8013KnBIVk','2323057PqZlwl','mode','344bjtkKO','validation','Plain\x20SQL\x20(sql)','parse'];a185_0x2d78=function(){return _0x559090;};return a185_0x2d78();}function a185_0x1823(_0x2cafd5,_0x375de1){_0x2cafd5=_0x2cafd5-0x13e;const _0x2d78e1=a185_0x2d78();let _0x1823e7=_0x2d78e1[_0x2cafd5];return _0x1823e7;}function deserializeDbSelection(_0x4b0ae1){const _0x3e15a0=a185_0x457397;try{const _0x5296ba=JSON[_0x3e15a0(0x13f)](_0x4b0ae1);if(typeof _0x5296ba[_0x3e15a0(0x175)]===_0x3e15a0(0x161)&&Number[_0x3e15a0(0x148)](_0x5296ba[_0x3e15a0(0x175)]))return{'dbId':_0x5296ba['dbId'],'dbName':_0x5296ba[_0x3e15a0(0x179)]};}catch{}throw CliErrors[_0x3e15a0(0x182)](_0x3e15a0(0x17d)+_0x4b0ae1);}function resolveProvidedDbId(_0x1960c4){const _0x154ce0=a185_0x457397,_0x259c95=_0x1960c4[_0x154ce0(0x162)](_0x154ce0(0x176));if(typeof _0x259c95==='number'&&Number[_0x154ce0(0x148)](_0x259c95))return _0x259c95;return undefined;}
1
+ const a190_0x307e30=a190_0x2adc;(function(_0xbcf2e4,_0x5cc02e){const _0xc370ec=a190_0x2adc,_0x3f61e3=_0xbcf2e4();while(!![]){try{const _0x186eb5=-parseInt(_0xc370ec(0x14d))/0x1*(parseInt(_0xc370ec(0x15a))/0x2)+parseInt(_0xc370ec(0x183))/0x3*(-parseInt(_0xc370ec(0x14e))/0x4)+-parseInt(_0xc370ec(0x16d))/0x5*(-parseInt(_0xc370ec(0x16a))/0x6)+-parseInt(_0xc370ec(0x166))/0x7+-parseInt(_0xc370ec(0x165))/0x8*(parseInt(_0xc370ec(0x179))/0x9)+-parseInt(_0xc370ec(0x177))/0xa+parseInt(_0xc370ec(0x175))/0xb;if(_0x186eb5===_0x5cc02e)break;else _0x3f61e3['push'](_0x3f61e3['shift']());}catch(_0x3fc4c8){_0x3f61e3['push'](_0x3f61e3['shift']());}}}(a190_0xd9c0,0x55836));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';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2f120f){const _0x202ad4=a190_0x2adc;if(_0x2f120f===_0x202ad4(0x17e))return[_0x202ad4(0x184),_0x202ad4(0x17a),_0x202ad4(0x171),'']['join']('\x0a');return[_0x202ad4(0x157),''][_0x202ad4(0x148)]('\x0a');}export const sqlCreate={'service':a190_0x307e30(0x189),'command':a190_0x307e30(0x180),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a190_0x307e30(0x16b),'flags':[{'name':a190_0x307e30(0x151),'type':a190_0x307e30(0x17f),'description':a190_0x307e30(0x16e)},{'name':'db-id','type':'number','description':'Target\x20database\x20ID'},{'name':a190_0x307e30(0x160),'type':a190_0x307e30(0x17f),'enum':[a190_0x307e30(0x189),'mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x5d1b8f){const _0x51f30e=a190_0x307e30;if(!_0x5d1b8f[_0x51f30e(0x178)])return;if(!_0x5d1b8f[_0x51f30e(0x164)](_0x51f30e(0x151))[_0x51f30e(0x18c)]())throw CliErrors['flagMissing'](_0x51f30e(0x151),_0x51f30e(0x188));const _0x4a98ef=resolveProvidedDbId(_0x5d1b8f);if(typeof _0x4a98ef!==_0x51f30e(0x18b)||!Number[_0x51f30e(0x167)](_0x4a98ef)||_0x4a98ef<=0x0)throw CliErrors[_0x51f30e(0x18a)]('db-id',_0x51f30e(0x17d));if(!_0x5d1b8f[_0x51f30e(0x164)]('mode')[_0x51f30e(0x18c)]())throw CliErrors[_0x51f30e(0x18a)](_0x51f30e(0x160),_0x51f30e(0x15e));},async 'dryRun'(_0x1c6493){const _0x4ed937=a190_0x307e30,_0x2140a1=loadSqlProjectConfig(_0x1c6493[_0x4ed937(0x168)]),{sqlName:_0x2f1d09,dbId:_0x5b5db1,dbName:_0x3e97dd,mode:_0x4abdf8}=await resolveSqlNewInputs(_0x1c6493),_0x309e8b=buildSqlRelativePath(_0x4ed937(0x187),_0x2f1d09,_0x3e97dd,_0x4abdf8,_0x5b5db1),_0x4a8e55=_0x2140a1[_0x4ed937(0x17c)]+'/'+_0x309e8b;return{'method':'POST','url':_0x4ed937(0x15c),'body':{'appCode':_0x1c6493[_0x4ed937(0x168)],'sqlName':_0x2f1d09,'dbId':_0x5b5db1,'mode':_0x4abdf8,'localPath':_0x4a8e55},'description':_0x4ed937(0x172)+_0x2140a1[_0x4ed937(0x17c)]};},async 'execute'(_0x3d800c){const _0x4b178d=a190_0x307e30,_0x216de3=loadSqlProjectConfig(_0x3d800c[_0x4b178d(0x168)]),{sqlName:_0x18b3d3,dbId:_0x5a8d13,dbName:_0x231fba,mode:_0x7d773b}=await resolveSqlNewInputs(_0x3d800c),_0x1a05ae=generateSqlTemplate(_0x7d773b),_0x3b2f89=await createSqlQuery({'appCode':_0x3d800c[_0x4b178d(0x168)],'sqlName':_0x18b3d3,'dbId':_0x5a8d13,'sqlContent':_0x1a05ae}),_0x8d2d45=ensureRemoteSqlContent(_0x3b2f89),_0x2741f1=_0x231fba||await getDbName(_0x3d800c[_0x4b178d(0x168)],_0x5a8d13)[_0x4b178d(0x15b)](()=>undefined),_0xac7092=buildSqlRelativePath(_0x3b2f89[_0x4b178d(0x182)],_0x3b2f89[_0x4b178d(0x162)],_0x2741f1,_0x7d773b,_0x5a8d13),_0xfcc803=_0x216de3[_0x4b178d(0x17c)]+'/'+_0xac7092,_0xa37f72=buildLocalSqlFileContent({'sqlCode':_0x3b2f89[_0x4b178d(0x182)],'sqlName':_0x3b2f89[_0x4b178d(0x162)],'dbId':_0x3b2f89[_0x4b178d(0x163)]},_0x8d2d45,{'dbName':_0x2741f1,'mode':_0x7d773b,'syncedAt':new Date()[_0x4b178d(0x176)](),'description':_0x3b2f89[_0x4b178d(0x154)]});if(await fileExists(_0xfcc803))throw CliErrors[_0x4b178d(0x186)](_0x4b178d(0x173)+_0xfcc803);await ensureParentDirectory(_0xfcc803),await writeFile(_0xfcc803,_0xa37f72,_0x4b178d(0x15d));const _0x4a096c=await readSqlLockFile(_0x216de3['lockFilePath']),{lockData:_0x21a822,appLock:_0x4711ab}=ensureSqlLockScope(_0x4a096c??createEmptySqlLock(),_0x216de3[_0x4b178d(0x168)],_0x216de3[_0x4b178d(0x16f)],_0x4b178d(0x14a));return _0x4711ab[_0x4b178d(0x181)][_0x3b2f89[_0x4b178d(0x182)]]={...buildSqlLockEntry(_0x3b2f89,_0x8d2d45,computeSqlContentHash(_0xa37f72),{'dbName':_0x2741f1}),'path':_0xac7092,'mode':_0x7d773b},_0x4711ab[_0x4b178d(0x156)]=new Date()[_0x4b178d(0x176)](),await writeSqlLockFile(_0x216de3[_0x4b178d(0x159)],_0x21a822),{'ok':!![],'data':{'id':_0x3b2f89['id'],'sqlCode':_0x3b2f89['sqlCode'],'sqlName':_0x3b2f89[_0x4b178d(0x162)],'dbId':_0x3b2f89[_0x4b178d(0x163)],'path':_0xfcc803,'mode':_0x7d773b},'message':'Created\x20SQL\x20query\x20'+_0x3b2f89[_0x4b178d(0x182)]};}};async function resolveSqlNewInputs(_0x48422b){const _0x5c99a5=await resolveSqlNameInput(_0x48422b),{dbId:_0x921908,dbName:_0x1f0858}=await resolveDbSelection(_0x48422b),_0x2dae6a=await resolveSqlModeInput(_0x48422b);return{'sqlName':_0x5c99a5,'dbId':_0x921908,'dbName':_0x1f0858,'mode':_0x2dae6a};}async function resolveSqlNameInput(_0x29d96f){const _0x3acc13=a190_0x307e30,_0x3a8c85=_0x29d96f[_0x3acc13(0x164)](_0x3acc13(0x151))[_0x3acc13(0x18c)]();if(_0x3a8c85)return _0x3a8c85;if(_0x29d96f[_0x3acc13(0x178)])throw CliErrors['flagMissing'](_0x3acc13(0x151),_0x3acc13(0x188));return(await input({'message':'SQL\x20name:','validate':_0x2a4bb4=>_0x2a4bb4[_0x3acc13(0x18c)]()?!![]:_0x3acc13(0x146)}))[_0x3acc13(0x18c)]();}async function resolveDbSelection(_0x2ba742){const _0xc74543=a190_0x307e30,_0x452f37=resolveProvidedDbId(_0x2ba742);if(typeof _0x452f37===_0xc74543(0x18b)&&Number[_0xc74543(0x167)](_0x452f37)&&_0x452f37>0x0)return{'dbId':_0x452f37,'dbName':await getDbName(_0x2ba742[_0xc74543(0x168)],_0x452f37)[_0xc74543(0x15b)](()=>undefined)};if(_0x2ba742[_0xc74543(0x178)])throw CliErrors[_0xc74543(0x18a)](_0xc74543(0x14f),_0xc74543(0x17d));const _0x4f2674=await listDatabases(_0x2ba742[_0xc74543(0x168)])[_0xc74543(0x15b)](()=>[]);if(_0x4f2674['length']===0x1)return{'dbId':_0x4f2674[0x0][_0xc74543(0x163)],'dbName':_0x4f2674[0x0]['dbName']};if(_0x4f2674['length']>0x1){const _0x5a7d70=await select({'message':_0xc74543(0x161),'choices':[..._0x4f2674[_0xc74543(0x152)](_0x71d7a1=>({'name':_0x71d7a1[_0xc74543(0x150)]+'\x20('+_0x71d7a1[_0xc74543(0x163)]+')','value':serializeDbSelection(_0x71d7a1)})),{'name':_0xc74543(0x170),'value':_0xc74543(0x169)}]});if(_0x5a7d70!==_0xc74543(0x169))return deserializeDbSelection(_0x5a7d70);}const _0x1fd18b=await input({'message':_0xc74543(0x158),'validate':_0x1619c9=>{const _0x23b8df=_0xc74543,_0x38796f=_0x1619c9[_0x23b8df(0x18c)]();if(!_0x38796f)return _0x23b8df(0x149);const _0x575225=Number(_0x38796f);if(!Number[_0x23b8df(0x153)](_0x575225)||_0x575225<=0x0)return _0x23b8df(0x16c);return!![];}});return{'dbId':Number(_0x1fd18b[_0xc74543(0x18c)]())};}function a190_0xd9c0(){const _0x578b24=['SQL\x20query\x20display\x20name','sqlRoot','✎\x20Enter\x20dbId\x20manually','</select>','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','File\x20already\x20exists:\x20','parse','15656289pHvXly','toISOString','5817300arqzXg','nonInteractive','106065qqTnhj','\x20\x20SELECT\x201\x20AS\x20id','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','sqlRootDir','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mybatisXml','string','create','sqls','sqlCode','3nwUKFU','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','validation','<server-generated-sqlCode>','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','sql','flagMissing','number','trim','SQL\x20name\x20cannot\x20be\x20empty','Plain\x20SQL\x20(sql)','join','dbId\x20cannot\x20be\x20empty','new','MyBatis\x20XML\x20(mybatisXml)','Invalid\x20database\x20selection\x20payload:\x20','499359iMynjy','212720eoJirv','db-id','dbName','name','map','isInteger','description','stringify','lastSync','SELECT\x201\x20AS\x20id;','Target\x20database\x20dbId:','lockFilePath','2QprwGt','catch','/smartapi/custom/saveUserCustomSql','utf8','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Select\x20the\x20local\x20SQL\x20mode:','mode','Select\x20the\x20target\x20database:','sqlName','dbId','str','8xPKvFf','4201414ZIHRpH','isFinite','appCode','__manual__','22566rqRBeq','write','dbId\x20must\x20be\x20a\x20positive\x20integer','895qaCBdc'];a190_0xd9c0=function(){return _0x578b24;};return a190_0xd9c0();}async function resolveSqlModeInput(_0x593884){const _0x4db02c=a190_0x307e30,_0x367b81=_0x593884[_0x4db02c(0x164)](_0x4db02c(0x160))[_0x4db02c(0x18c)]();if(_0x367b81===_0x4db02c(0x189)||_0x367b81==='mybatisXml')return _0x367b81;if(_0x593884['nonInteractive'])throw CliErrors[_0x4db02c(0x18a)](_0x4db02c(0x160),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x4db02c(0x15f),'choices':[{'name':_0x4db02c(0x147),'value':_0x4db02c(0x189),'description':_0x4db02c(0x17b)},{'name':_0x4db02c(0x14b),'value':_0x4db02c(0x17e),'description':_0x4db02c(0x185)}]});}function serializeDbSelection(_0x2156a1){const _0x410b3e=a190_0x307e30;return JSON[_0x410b3e(0x155)]({'dbId':_0x2156a1[_0x410b3e(0x163)],'dbName':_0x2156a1[_0x410b3e(0x150)]});}function a190_0x2adc(_0x57d11d,_0x1885d1){_0x57d11d=_0x57d11d-0x146;const _0xd9c0f4=a190_0xd9c0();let _0x2adc51=_0xd9c0f4[_0x57d11d];return _0x2adc51;}function deserializeDbSelection(_0x234526){const _0x4484c6=a190_0x307e30;try{const _0x5c3ee6=JSON[_0x4484c6(0x174)](_0x234526);if(typeof _0x5c3ee6[_0x4484c6(0x163)]===_0x4484c6(0x18b)&&Number[_0x4484c6(0x167)](_0x5c3ee6[_0x4484c6(0x163)]))return{'dbId':_0x5c3ee6[_0x4484c6(0x163)],'dbName':_0x5c3ee6['dbName']};}catch{}throw CliErrors['validation'](_0x4484c6(0x14c)+_0x234526);}function resolveProvidedDbId(_0x2d17fc){const _0x55640c=a190_0x307e30,_0x1a3f35=_0x2d17fc['flag'](_0x55640c(0x14f));if(typeof _0x1a3f35===_0x55640c(0x18b)&&Number[_0x55640c(0x167)](_0x1a3f35))return _0x1a3f35;return undefined;}
@@ -1 +1 @@
1
- function a186_0x37de(_0x2566ce,_0x6e314a){_0x2566ce=_0x2566ce-0x96;const _0x17bbe1=a186_0x17bb();let _0x37de20=_0x17bbe1[_0x2566ce];return _0x37de20;}const a186_0x26778f=a186_0x37de;(function(_0x575aba,_0x3f123f){const _0x4b2c30=a186_0x37de,_0x208100=_0x575aba();while(!![]){try{const _0x3fd963=parseInt(_0x4b2c30(0xb1))/0x1+parseInt(_0x4b2c30(0x96))/0x2+parseInt(_0x4b2c30(0xa5))/0x3*(-parseInt(_0x4b2c30(0x9b))/0x4)+-parseInt(_0x4b2c30(0x98))/0x5+-parseInt(_0x4b2c30(0xa4))/0x6+parseInt(_0x4b2c30(0xaa))/0x7*(parseInt(_0x4b2c30(0xb4))/0x8)+parseInt(_0x4b2c30(0xb3))/0x9*(-parseInt(_0x4b2c30(0xa3))/0xa);if(_0x3fd963===_0x3f123f)break;else _0x208100['push'](_0x208100['shift']());}catch(_0x2e0423){_0x208100['push'](_0x208100['shift']());}}}(a186_0x17bb,0x6fa79));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';function a186_0x17bb(){const _0x383df7=['sql','str','toISOString','322373UYlUui','validation','3179871fHNirC','6516248PCEJmW','filter','length','remoteId','trashedTo','472094OqzRXU','entries','1464200adOuUf','replace','sqlRoot','8mhYauY','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','Deleted\x20','POST','sqlRootDir','sqlcode','lockFilePath','appCode','10xDgtiV','1470798QzGAhr','36483BsRreJ','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','projectRoot','delete','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','7ERIyxW','startsWith','sqls','trashDir'];a186_0x17bb=function(){return _0x383df7;};return a186_0x17bb();}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':a186_0x26778f(0xae),'command':a186_0x26778f(0xa8),'description':a186_0x26778f(0xa9),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x93c4b7){const _0x1ba423=a186_0x26778f,_0xf610de=loadSqlProjectConfig(_0x93c4b7[_0x1ba423(0xa2)]),_0x59f04a=await readSqlLockFile(_0xf610de[_0x1ba423(0xa1)]);if(!_0x59f04a)throw CliErrors['validation'](_0x1ba423(0xa6));},async 'dryRun'(_0x2169bb){const _0x355f9a=a186_0x26778f,_0x52814d=loadSqlProjectConfig(_0x2169bb[_0x355f9a(0xa2)]),_0x45b89e=await readSqlLockFile(_0x52814d[_0x355f9a(0xa1)]);if(!_0x45b89e)throw CliErrors[_0x355f9a(0xb2)](_0x355f9a(0xa6));const {appLock:_0x5bd1e0}=ensureSqlLockScope(_0x45b89e,_0x2169bb[_0x355f9a(0xa2)],_0x52814d[_0x355f9a(0x9a)],_0x355f9a(0xa8)),_0x32317f=_0x2169bb[_0x355f9a(0xaf)](_0x355f9a(0xa0)),_0x35bc67=_0x5bd1e0[_0x355f9a(0xac)][_0x32317f];if(!_0x35bc67)throw CliErrors[_0x355f9a(0xb2)](_0x355f9a(0x9c)+_0x32317f+'\x22.');return{'method':_0x355f9a(0x9e),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x32317f,'id':_0x35bc67['remoteId'],'localPath':resolveLocalSqlFilePath(_0x52814d,_0x32317f,_0x35bc67)},'description':'Would\x20delete\x20SQL\x20'+_0x32317f+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x52814d[_0x355f9a(0xad)]};},async 'execute'(_0x23834d){const _0x580758=a186_0x26778f,_0x1f5268=loadSqlProjectConfig(_0x23834d[_0x580758(0xa2)]),_0x5da37a=await readSqlLockFile(_0x1f5268[_0x580758(0xa1)]);if(!_0x5da37a)throw CliErrors[_0x580758(0xb2)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2cafb0,appLock:_0x2f2345}=ensureSqlLockScope(_0x5da37a,_0x23834d[_0x580758(0xa2)],_0x1f5268['sqlRoot'],'delete'),_0x3c868e=_0x23834d[_0x580758(0xaf)]('sqlcode'),_0x2440a2=_0x2f2345[_0x580758(0xac)][_0x3c868e];if(!_0x2440a2)throw CliErrors['validation'](_0x580758(0x9c)+_0x3c868e+'\x22.');await deleteSqlQuery({'id':_0x2440a2[_0x580758(0xb7)],'sqlCode':_0x3c868e}),_0x2f2345['sqls']=Object['fromEntries'](Object[_0x580758(0x97)](_0x2f2345[_0x580758(0xac)])[_0x580758(0xb5)](([_0x22e129])=>_0x22e129!==_0x3c868e)),_0x2f2345['lastSync']=new Date()[_0x580758(0xb0)](),await writeSqlLockFile(_0x1f5268[_0x580758(0xa1)],_0x2cafb0);const _0x55674c=resolveLocalSqlFilePath(_0x1f5268,_0x3c868e,_0x2440a2);let _0x271572;await fileExists(_0x55674c)&&(_0x271572=await moveToTrash(_0x1f5268[_0x580758(0xa7)],_0x1f5268['trashDir'],_0x55674c),await cleanupEmptyDirectories(dirname(_0x55674c),_0x1f5268[_0x580758(0x9f)]));const _0x50e955={'deleted':_0x3c868e,'remoteId':_0x2440a2[_0x580758(0xb7)]};if(_0x271572)_0x50e955[_0x580758(0xb8)]=_0x271572;return{'ok':!![],'data':_0x50e955,'message':_0x580758(0x9d)+_0x3c868e+(_0x271572?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x1fb8cc,_0x43caa8,_0x3ca563){const _0x25b7d1=a186_0x26778f,_0x30e504=new Date()[_0x25b7d1(0xb0)]()[_0x25b7d1(0x99)](/[:.]/g,'-'),_0x6c099=relative(_0x1fb8cc,_0x3ca563),_0x3e79e4=join(_0x43caa8,_0x30e504,_0x6c099);return await mkdir(dirname(_0x3e79e4),{'recursive':!![]}),await rename(_0x3ca563,_0x3e79e4),_0x3e79e4;}async function cleanupEmptyDirectories(_0x1c7da5,_0x3bae9b){const _0x2b2c70=a186_0x26778f;let _0x7474d8=resolve(_0x1c7da5);const _0x55dfd3=resolve(_0x3bae9b);while(_0x7474d8[_0x2b2c70(0xab)](''+_0x55dfd3+sep)||_0x7474d8===_0x55dfd3){if(_0x7474d8===_0x55dfd3)return;try{const _0xe5e9a2=await readdir(_0x7474d8);if(_0xe5e9a2[_0x2b2c70(0xb6)]>0x0)return;await rmdir(_0x7474d8);}catch{return;}_0x7474d8=dirname(_0x7474d8);}}
1
+ const a191_0x5c96f2=a191_0x1d1c;(function(_0x55f008,_0xe757d0){const _0x2e443d=a191_0x1d1c,_0x114c2e=_0x55f008();while(!![]){try{const _0x1325fe=parseInt(_0x2e443d(0x74))/0x1+parseInt(_0x2e443d(0x6c))/0x2+parseInt(_0x2e443d(0x77))/0x3+-parseInt(_0x2e443d(0x6e))/0x4*(-parseInt(_0x2e443d(0x7e))/0x5)+parseInt(_0x2e443d(0x73))/0x6+-parseInt(_0x2e443d(0x82))/0x7+-parseInt(_0x2e443d(0x87))/0x8;if(_0x1325fe===_0xe757d0)break;else _0x114c2e['push'](_0x114c2e['shift']());}catch(_0x5a7325){_0x114c2e['push'](_0x114c2e['shift']());}}}(a191_0x54f2,0x19dea));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';function a191_0x1d1c(_0x2bb00d,_0x212217){_0x2bb00d=_0x2bb00d-0x65;const _0x54f241=a191_0x54f2();let _0x1d1cfa=_0x54f241[_0x2bb00d];return _0x1d1cfa;}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':a191_0x5c96f2(0x83),'command':a191_0x5c96f2(0x65),'description':a191_0x5c96f2(0x78),'risk':a191_0x5c96f2(0x7b),'flags':[SQLCODE_FLAG],async 'validate'(_0x1f3589){const _0x45a3e5=a191_0x5c96f2,_0x50f745=loadSqlProjectConfig(_0x1f3589[_0x45a3e5(0x84)]),_0x4a547d=await readSqlLockFile(_0x50f745[_0x45a3e5(0x71)]);if(!_0x4a547d)throw CliErrors[_0x45a3e5(0x69)](_0x45a3e5(0x70));},async 'dryRun'(_0x452864){const _0x5a0402=a191_0x5c96f2,_0x41ba19=loadSqlProjectConfig(_0x452864['appCode']),_0x92134a=await readSqlLockFile(_0x41ba19['lockFilePath']);if(!_0x92134a)throw CliErrors[_0x5a0402(0x69)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x3c2fdf}=ensureSqlLockScope(_0x92134a,_0x452864[_0x5a0402(0x84)],_0x41ba19['sqlRoot'],_0x5a0402(0x65)),_0x30efa6=_0x452864[_0x5a0402(0x6d)]('sqlcode'),_0x37183d=_0x3c2fdf[_0x5a0402(0x89)][_0x30efa6];if(!_0x37183d)throw CliErrors[_0x5a0402(0x69)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x30efa6+'\x22.');return{'method':'POST','url':_0x5a0402(0x66),'body':{'sqlCode':_0x30efa6,'id':_0x37183d[_0x5a0402(0x67)],'localPath':resolveLocalSqlFilePath(_0x41ba19,_0x30efa6,_0x37183d)},'description':_0x5a0402(0x7a)+_0x30efa6+_0x5a0402(0x7f)+_0x41ba19[_0x5a0402(0x7d)]};},async 'execute'(_0x3be673){const _0xab9bec=a191_0x5c96f2,_0x5a458a=loadSqlProjectConfig(_0x3be673['appCode']),_0x265c0e=await readSqlLockFile(_0x5a458a[_0xab9bec(0x71)]);if(!_0x265c0e)throw CliErrors[_0xab9bec(0x69)](_0xab9bec(0x85));const {lockData:_0x5eeaf0,appLock:_0x58db23}=ensureSqlLockScope(_0x265c0e,_0x3be673[_0xab9bec(0x84)],_0x5a458a[_0xab9bec(0x88)],_0xab9bec(0x65)),_0x2fc8ef=_0x3be673['str'](_0xab9bec(0x6f)),_0x1c330d=_0x58db23[_0xab9bec(0x89)][_0x2fc8ef];if(!_0x1c330d)throw CliErrors[_0xab9bec(0x69)](_0xab9bec(0x6a)+_0x2fc8ef+'\x22.');await deleteSqlQuery({'id':_0x1c330d[_0xab9bec(0x67)],'sqlCode':_0x2fc8ef}),_0x58db23[_0xab9bec(0x89)]=Object[_0xab9bec(0x7c)](Object[_0xab9bec(0x86)](_0x58db23['sqls'])[_0xab9bec(0x81)](([_0x17ad6f])=>_0x17ad6f!==_0x2fc8ef)),_0x58db23[_0xab9bec(0x72)]=new Date()[_0xab9bec(0x76)](),await writeSqlLockFile(_0x5a458a['lockFilePath'],_0x5eeaf0);const _0x66e140=resolveLocalSqlFilePath(_0x5a458a,_0x2fc8ef,_0x1c330d);let _0x5b41c0;await fileExists(_0x66e140)&&(_0x5b41c0=await moveToTrash(_0x5a458a[_0xab9bec(0x8a)],_0x5a458a[_0xab9bec(0x7d)],_0x66e140),await cleanupEmptyDirectories(dirname(_0x66e140),_0x5a458a[_0xab9bec(0x75)]));const _0x3e33b1={'deleted':_0x2fc8ef,'remoteId':_0x1c330d[_0xab9bec(0x67)]};if(_0x5b41c0)_0x3e33b1[_0xab9bec(0x68)]=_0x5b41c0;return{'ok':!![],'data':_0x3e33b1,'message':'Deleted\x20'+_0x2fc8ef+(_0x5b41c0?_0xab9bec(0x6b):'')};}};function a191_0x54f2(){const _0x1bd9fc=['132130BvqcbL','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','replace','filter','393120mQNIft','sql','appCode','SQL\x20lock\x20file\x20not\x20found.','entries','2454120TeaCwZ','sqlRoot','sqls','projectRoot','delete','/smartapi/custom/deleteUserCustomSql','remoteId','trashedTo','validation','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','\x20(local\x20file\x20moved\x20to\x20trash)','8358zbexjl','str','28VNiFoT','sqlcode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','lockFilePath','lastSync','1069962YccXMc','47267YUGJHZ','sqlRootDir','toISOString','162396aRkUHA','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','startsWith','Would\x20delete\x20SQL\x20','high-risk-write','fromEntries','trashDir'];a191_0x54f2=function(){return _0x1bd9fc;};return a191_0x54f2();}async function moveToTrash(_0x3eeba0,_0x3d77e5,_0x2a7a92){const _0x27201f=a191_0x5c96f2,_0x551bd4=new Date()[_0x27201f(0x76)]()[_0x27201f(0x80)](/[:.]/g,'-'),_0x4784e8=relative(_0x3eeba0,_0x2a7a92),_0x552b0d=join(_0x3d77e5,_0x551bd4,_0x4784e8);return await mkdir(dirname(_0x552b0d),{'recursive':!![]}),await rename(_0x2a7a92,_0x552b0d),_0x552b0d;}async function cleanupEmptyDirectories(_0x405265,_0x3f6d63){const _0x1f9e1f=a191_0x5c96f2;let _0x131acc=resolve(_0x405265);const _0xb1e314=resolve(_0x3f6d63);while(_0x131acc[_0x1f9e1f(0x79)](''+_0xb1e314+sep)||_0x131acc===_0xb1e314){if(_0x131acc===_0xb1e314)return;try{const _0x55601a=await readdir(_0x131acc);if(_0x55601a['length']>0x0)return;await rmdir(_0x131acc);}catch{return;}_0x131acc=dirname(_0x131acc);}}
@@ -1 +1 @@
1
- const a187_0x424a89=a187_0x5629;function a187_0x5629(_0x278ab5,_0xb87336){_0x278ab5=_0x278ab5-0x8f;const _0x540e8d=a187_0x540e();let _0x5629d5=_0x540e8d[_0x278ab5];return _0x5629d5;}function a187_0x540e(){const _0x1697a9=['Return\x20full\x20raw\x20SQL\x20query\x20object','detail','sqlName','59474fbwsry','169593bJGxDM','sql','str','sqlcode','346040whNDmi','appCode','boolean','dbId','verbose','198lMOioO','9416oYZnUo','4977JWpUuH','3489110Mkwhby','795463xGOlBn','bool','12qZTTWP','sqlCode','4598760XYsCHc'];a187_0x540e=function(){return _0x1697a9;};return a187_0x540e();}(function(_0x28776f,_0x554fc9){const _0xaa07ec=a187_0x5629,_0x2628ee=_0x28776f();while(!![]){try{const _0x527632=parseInt(_0xaa07ec(0xa0))/0x1+-parseInt(_0xaa07ec(0x92))/0x2+-parseInt(_0xaa07ec(0x93))/0x3*(parseInt(_0xaa07ec(0xa2))/0x4)+parseInt(_0xaa07ec(0x9f))/0x5+-parseInt(_0xaa07ec(0xa4))/0x6+-parseInt(_0xaa07ec(0x9e))/0x7*(parseInt(_0xaa07ec(0x9d))/0x8)+-parseInt(_0xaa07ec(0x9c))/0x9*(-parseInt(_0xaa07ec(0x97))/0xa);if(_0x527632===_0x554fc9)break;else _0x2628ee['push'](_0x2628ee['shift']());}catch(_0x26c609){_0x2628ee['push'](_0x2628ee['shift']());}}}(a187_0x540e,0x6e560));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a187_0x424a89(0x94),'command':a187_0x424a89(0x90),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a187_0x424a89(0x9b),'type':a187_0x424a89(0x99),'description':a187_0x424a89(0x8f)}],async 'execute'(_0x37584f){const _0x4f058b=a187_0x424a89,_0x3e1d46=await getSqlQueryInfo(_0x37584f[_0x4f058b(0x98)],_0x37584f[_0x4f058b(0x95)](_0x4f058b(0x96))),_0x574e21=_0x37584f[_0x4f058b(0xa1)](_0x4f058b(0x9b));if(_0x574e21)return{'ok':!![],'data':_0x3e1d46};const _0x51d680=_0x3e1d46[_0x4f058b(0x9a)]?await getDbName(_0x37584f[_0x4f058b(0x98)],_0x3e1d46[_0x4f058b(0x9a)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3e1d46[_0x4f058b(0xa3)],'sqlName':_0x3e1d46[_0x4f058b(0x91)],'db':_0x51d680?_0x51d680+'\x20('+_0x3e1d46[_0x4f058b(0x9a)]+')':_0x3e1d46[_0x4f058b(0x9a)]??'','description':_0x3e1d46['description']??'','sqlContent':_0x3e1d46['sqlContent']??''}};}};
1
+ const a192_0x5b0cf3=a192_0x1d59;function a192_0x1d59(_0x549cef,_0x39c2cf){_0x549cef=_0x549cef-0xd3;const _0x4270e4=a192_0x4270();let _0x1d59f9=_0x4270e4[_0x549cef];return _0x1d59f9;}(function(_0x4f5c0f,_0x817d23){const _0x5c6f27=a192_0x1d59,_0x1ee532=_0x4f5c0f();while(!![]){try{const _0x28c5ae=-parseInt(_0x5c6f27(0xd7))/0x1*(-parseInt(_0x5c6f27(0xd4))/0x2)+-parseInt(_0x5c6f27(0xd9))/0x3+parseInt(_0x5c6f27(0xe3))/0x4*(-parseInt(_0x5c6f27(0xda))/0x5)+-parseInt(_0x5c6f27(0xd3))/0x6+-parseInt(_0x5c6f27(0xd8))/0x7+-parseInt(_0x5c6f27(0xdf))/0x8+parseInt(_0x5c6f27(0xe2))/0x9;if(_0x28c5ae===_0x817d23)break;else _0x1ee532['push'](_0x1ee532['shift']());}catch(_0x3e4a2e){_0x1ee532['push'](_0x1ee532['shift']());}}}(a192_0x4270,0x480b0));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a192_0x4270(){const _0x5ca02c=['9099756QTINdm','130612lHxkTL','1490502XUYMET','2siPsxG','str','sql','386662uSDvez','996548xDmfxs','717189DsDRKb','35oEoTOo','sqlContent','verbose','read','appCode','1953944QhNCDP','dbId','bool'];a192_0x4270=function(){return _0x5ca02c;};return a192_0x4270();}export const sqlDetail={'service':a192_0x5b0cf3(0xd6),'command':'detail','description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a192_0x5b0cf3(0xdd),'flags':[SQLCODE_FLAG,{'name':a192_0x5b0cf3(0xdc),'type':'boolean','description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x34df7e){const _0x3ee420=a192_0x5b0cf3,_0x41ac95=await getSqlQueryInfo(_0x34df7e[_0x3ee420(0xde)],_0x34df7e[_0x3ee420(0xd5)]('sqlcode')),_0x5461ad=_0x34df7e[_0x3ee420(0xe1)]('verbose');if(_0x5461ad)return{'ok':!![],'data':_0x41ac95};const _0xfe3d61=_0x41ac95[_0x3ee420(0xe0)]?await getDbName(_0x34df7e['appCode'],_0x41ac95[_0x3ee420(0xe0)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x41ac95['sqlCode'],'sqlName':_0x41ac95['sqlName'],'db':_0xfe3d61?_0xfe3d61+'\x20('+_0x41ac95['dbId']+')':_0x41ac95[_0x3ee420(0xe0)]??'','description':_0x41ac95['description']??'','sqlContent':_0x41ac95[_0x3ee420(0xdb)]??''}};}};
@@ -1 +1 @@
1
- const a188_0x4e226d=a188_0x3b50;(function(_0x2ae646,_0x2ddf73){const _0x1fe714=a188_0x3b50,_0x4570ab=_0x2ae646();while(!![]){try{const _0x53ce5b=-parseInt(_0x1fe714(0x196))/0x1*(parseInt(_0x1fe714(0x1a1))/0x2)+parseInt(_0x1fe714(0x18e))/0x3+-parseInt(_0x1fe714(0x18c))/0x4*(parseInt(_0x1fe714(0x192))/0x5)+-parseInt(_0x1fe714(0x194))/0x6*(parseInt(_0x1fe714(0x189))/0x7)+-parseInt(_0x1fe714(0x195))/0x8*(parseInt(_0x1fe714(0x19d))/0x9)+parseInt(_0x1fe714(0x197))/0xa+parseInt(_0x1fe714(0x190))/0xb;if(_0x53ce5b===_0x2ddf73)break;else _0x4570ab['push'](_0x4570ab['shift']());}catch(_0x14dd73){_0x4570ab['push'](_0x4570ab['shift']());}}}(a188_0x5d37,0xe6bfd));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a188_0x5d37(){const _0x3f20a2=['SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','isArray','10720881EAZVfi','SQL\x20execution\x20failed','\x20row(s)\x20in\x20','Returned\x20','12418iRKBnw','execSuccess','sqlcode','11948153SHEtSA','params','appCode','143492mAdPQg','string','5013228vlBVzU','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','34573407PzMpFL','execResult','145dinTBE','sql','6euNbsh','8iFzjKD','151ZMpNWl','10070000sqccBp','str','length','execError'];a188_0x5d37=function(){return _0x3f20a2;};return a188_0x5d37();}function a188_0x3b50(_0x29bec6,_0xa956e1){_0x29bec6=_0x29bec6-0x187;const _0x5d3748=a188_0x5d37();let _0x3b5038=_0x5d3748[_0x29bec6];return _0x3b5038;}export const sqlExec={'service':a188_0x4e226d(0x193),'command':'exec','description':a188_0x4e226d(0x18f),'risk':'read','flags':[SQLCODE_FLAG,{'name':a188_0x4e226d(0x18a),'type':a188_0x4e226d(0x18d),'description':a188_0x4e226d(0x19b)}],async 'execute'(_0x17a6a8){const _0x2e947e=a188_0x4e226d,_0x529e00=parseJsonParams(_0x17a6a8[_0x2e947e(0x198)](_0x2e947e(0x18a))),_0x43b206=Date['now'](),_0x49e40f=await executeSql(_0x17a6a8[_0x2e947e(0x18b)],_0x17a6a8[_0x2e947e(0x198)](_0x2e947e(0x188)),_0x529e00),_0x8cd90d=Date['now']()-_0x43b206,_0x445e82=_0x49e40f?.[_0x2e947e(0x191)]??_0x49e40f,_0x149ec5=_0x49e40f?.[_0x2e947e(0x187)]??!![];if(!_0x149ec5)return{'ok':![],'data':{'error':_0x49e40f?.[_0x2e947e(0x19a)]||_0x2e947e(0x19e),'elapsed':_0x8cd90d},'message':_0x2e947e(0x19e)};const _0x1128f3=Array[_0x2e947e(0x19c)](_0x445e82)?_0x445e82:[];return{'ok':!![],'data':{'rows':_0x1128f3,'rowCount':_0x1128f3[_0x2e947e(0x199)],'elapsed':_0x8cd90d},'message':_0x2e947e(0x1a0)+_0x1128f3[_0x2e947e(0x199)]+_0x2e947e(0x19f)+_0x8cd90d+'ms'};}};
1
+ const a193_0x41b65a=a193_0x2f62;(function(_0x16c5f9,_0x545468){const _0x53acb9=a193_0x2f62,_0x4dece0=_0x16c5f9();while(!![]){try{const _0x272e6d=-parseInt(_0x53acb9(0x1d4))/0x1+parseInt(_0x53acb9(0x1d1))/0x2*(parseInt(_0x53acb9(0x1d6))/0x3)+-parseInt(_0x53acb9(0x1cb))/0x4+parseInt(_0x53acb9(0x1cf))/0x5*(-parseInt(_0x53acb9(0x1dd))/0x6)+parseInt(_0x53acb9(0x1de))/0x7*(parseInt(_0x53acb9(0x1e3))/0x8)+parseInt(_0x53acb9(0x1d2))/0x9*(parseInt(_0x53acb9(0x1d8))/0xa)+parseInt(_0x53acb9(0x1cd))/0xb*(parseInt(_0x53acb9(0x1cc))/0xc);if(_0x272e6d===_0x545468)break;else _0x4dece0['push'](_0x4dece0['shift']());}catch(_0x1b10c2){_0x4dece0['push'](_0x4dece0['shift']());}}}(a193_0x42e3,0x9b190));function a193_0x42e3(){const _0xf7680f=['string','4039708MSbvGI','5220vCnQTR','62733XVSLCm','read','6292370DHikSo','now','2kBwFmk','21159HdUwPp','sql','1099062yieDGl','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','1848417ThDmtj','\x20row(s)\x20in\x20','10vNyWaq','exec','execError','execSuccess','Returned\x20','6rAlNfT','903448xvRivA','params','length','isArray','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','56BTLSuY','str'];a193_0x42e3=function(){return _0xf7680f;};return a193_0x42e3();}function a193_0x2f62(_0x344b73,_0x33107f){_0x344b73=_0x344b73-0x1ca;const _0x42e3a7=a193_0x42e3();let _0x2f62c1=_0x42e3a7[_0x344b73];return _0x2f62c1;}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':a193_0x41b65a(0x1d3),'command':a193_0x41b65a(0x1d9),'description':a193_0x41b65a(0x1d5),'risk':a193_0x41b65a(0x1ce),'flags':[SQLCODE_FLAG,{'name':a193_0x41b65a(0x1df),'type':a193_0x41b65a(0x1ca),'description':a193_0x41b65a(0x1e2)}],async 'execute'(_0x257fa3){const _0x20a7d5=a193_0x41b65a,_0x438ee4=parseJsonParams(_0x257fa3[_0x20a7d5(0x1e4)](_0x20a7d5(0x1df))),_0x16840d=Date[_0x20a7d5(0x1d0)](),_0x124f75=await executeSql(_0x257fa3['appCode'],_0x257fa3[_0x20a7d5(0x1e4)]('sqlcode'),_0x438ee4),_0x119b47=Date['now']()-_0x16840d,_0x306a03=_0x124f75?.['execResult']??_0x124f75,_0x228a37=_0x124f75?.[_0x20a7d5(0x1db)]??!![];if(!_0x228a37)return{'ok':![],'data':{'error':_0x124f75?.[_0x20a7d5(0x1da)]||'SQL\x20execution\x20failed','elapsed':_0x119b47},'message':'SQL\x20execution\x20failed'};const _0x3cb0b6=Array[_0x20a7d5(0x1e1)](_0x306a03)?_0x306a03:[];return{'ok':!![],'data':{'rows':_0x3cb0b6,'rowCount':_0x3cb0b6['length'],'elapsed':_0x119b47},'message':_0x20a7d5(0x1dc)+_0x3cb0b6[_0x20a7d5(0x1e0)]+_0x20a7d5(0x1d7)+_0x119b47+'ms'};}};
@@ -1 +1 @@
1
- function a189_0x5832(){const _0x5a69a2=['48IvSKZQ','316PwjrMq','161544bRKfUD','2058110oPGXux','72401QEnybY','1149ATVsDd','398142uOFBEF','365PiXzvy','3352CSkPJK','51121PqmFAq'];a189_0x5832=function(){return _0x5a69a2;};return a189_0x5832();}(function(_0x57d52f,_0x357db8){const _0x34ad15=a189_0x578f,_0x5db901=_0x57d52f();while(!![]){try{const _0x1d2b45=parseInt(_0x34ad15(0x1d2))/0x1+-parseInt(_0x34ad15(0x1d4))/0x2*(parseInt(_0x34ad15(0x1ce))/0x3)+-parseInt(_0x34ad15(0x1d1))/0x4*(parseInt(_0x34ad15(0x1d0))/0x5)+-parseInt(_0x34ad15(0x1d3))/0x6*(-parseInt(_0x34ad15(0x1d7))/0x7)+-parseInt(_0x34ad15(0x1d5))/0x8+-parseInt(_0x34ad15(0x1cf))/0x9+parseInt(_0x34ad15(0x1d6))/0xa;if(_0x1d2b45===_0x357db8)break;else _0x5db901['push'](_0x5db901['shift']());}catch(_0x3fef89){_0x5db901['push'](_0x5db901['shift']());}}}(a189_0x5832,0x257d5));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';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a189_0x578f(_0x44097e,_0x4b38e5){_0x44097e=_0x44097e-0x1ce;const _0x5832f6=a189_0x5832();let _0x578fd9=_0x5832f6[_0x44097e];return _0x578fd9;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x38a8b5,_0x4f14d4){const _0x14dd22=a194_0xe99a,_0x7d829f=_0x38a8b5();while(!![]){try{const _0xc1d16=parseInt(_0x14dd22(0x169))/0x1+parseInt(_0x14dd22(0x164))/0x2+parseInt(_0x14dd22(0x166))/0x3+-parseInt(_0x14dd22(0x168))/0x4*(-parseInt(_0x14dd22(0x165))/0x5)+-parseInt(_0x14dd22(0x163))/0x6+parseInt(_0x14dd22(0x167))/0x7*(-parseInt(_0x14dd22(0x161))/0x8)+-parseInt(_0x14dd22(0x162))/0x9;if(_0xc1d16===_0x4f14d4)break;else _0x7d829f['push'](_0x7d829f['shift']());}catch(_0xef40c7){_0x7d829f['push'](_0x7d829f['shift']());}}}(a194_0x993f,0xa6802));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';function a194_0xe99a(_0x479e7f,_0x2245a3){_0x479e7f=_0x479e7f-0x161;const _0x993f11=a194_0x993f();let _0xe99a19=_0x993f11[_0x479e7f];return _0xe99a19;}import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a194_0x993f(){const _0x5aa82e=['753462rzuHvN','440RlVbfI','14103324pJoGeC','69876KqAEjB','67618FpweCV','32535NdnDlI','2571702iCMBht','36694hnshjD','556FaXnTt'];a194_0x993f=function(){return _0x5aa82e;};return a194_0x993f();}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
- function a190_0x5410(_0x3b5eeb,_0xd12afc){_0x3b5eeb=_0x3b5eeb-0x147;const _0x4ed60d=a190_0x4ed6();let _0x5410f6=_0x4ed60d[_0x3b5eeb];return _0x5410f6;}const a190_0x4e970f=a190_0x5410;(function(_0x15d14d,_0x51a72f){const _0x5bc308=a190_0x5410,_0x161761=_0x15d14d();while(!![]){try{const _0x222374=parseInt(_0x5bc308(0x163))/0x1+parseInt(_0x5bc308(0x153))/0x2+parseInt(_0x5bc308(0x14f))/0x3*(-parseInt(_0x5bc308(0x15d))/0x4)+parseInt(_0x5bc308(0x156))/0x5+-parseInt(_0x5bc308(0x155))/0x6+-parseInt(_0x5bc308(0x162))/0x7+parseInt(_0x5bc308(0x152))/0x8*(-parseInt(_0x5bc308(0x15e))/0x9);if(_0x222374===_0x51a72f)break;else _0x161761['push'](_0x161761['shift']());}catch(_0x4008e){_0x161761['push'](_0x161761['shift']());}}}(a190_0x4ed6,0xc52b7));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a190_0x4ed6(){const _0x504155=['name','Page\x20number','paging','List\x20custom\x20SQL\x20queries','read','136Njpzpu','4191939gTESCc','appCode','Filter\x20by\x20SQL\x20name','map','489615hicEXT','478335PsKHvV','pagesize','string','num','number','bool','sqlName','sqlcode','page','tableData','all','length','123666FJwYdy','\x20SQL\x20queries\x20(total:\x20','dbId','8TIRyqE','2654136BkidUD','boolean','996030TuKDjJ','5527365xTMNTA','verbose'];a190_0x4ed6=function(){return _0x504155;};return a190_0x4ed6();}export const sqlList={'service':'sql','command':'list','description':a190_0x4e970f(0x15b),'risk':a190_0x4e970f(0x15c),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a190_0x4e970f(0x158),'type':a190_0x4e970f(0x165),'description':a190_0x4e970f(0x160)},{'name':a190_0x4e970f(0x14b),'type':a190_0x4e970f(0x147),'description':a190_0x4e970f(0x159),'default':0x1},{'name':a190_0x4e970f(0x164),'type':a190_0x4e970f(0x147),'description':'Page\x20size'},{'name':a190_0x4e970f(0x157),'type':a190_0x4e970f(0x154),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x46b992){const _0x44b0b1=a190_0x4e970f,_0x174707=await listSqlQueries(_0x46b992[_0x44b0b1(0x15f)],{'sqlCode':_0x46b992['str'](_0x44b0b1(0x14a))||undefined,'sqlName':_0x46b992['str'](_0x44b0b1(0x158))||undefined,'currentPage':_0x46b992['num'](_0x44b0b1(0x14b)),'pageSize':_0x46b992[_0x44b0b1(0x166)](_0x44b0b1(0x164),0x32)}),_0x2eacaf=_0x46b992[_0x44b0b1(0x148)]('verbose'),_0x14a906=_0x174707[_0x44b0b1(0x14c)]??[],_0x3be15c=_0x174707[_0x44b0b1(0x15a)]?.['totalCount']??_0x14a906['length'];let _0x2bebb8;return _0x2eacaf?_0x2bebb8=_0x14a906:_0x2bebb8=await Promise[_0x44b0b1(0x14d)](_0x14a906[_0x44b0b1(0x161)](async _0x172397=>{const _0x53c662=_0x44b0b1;let _0x578689;try{_0x578689=_0x172397[_0x53c662(0x151)]?await getDbName(_0x46b992['appCode'],_0x172397['dbId']):undefined;}catch{}return{'sqlCode':_0x172397['sqlCode'],'sqlName':_0x172397[_0x53c662(0x149)],'description':_0x172397['description']??'','db':_0x578689?_0x578689+'\x20('+_0x172397['dbId']+')':_0x172397[_0x53c662(0x151)]??''};})),{'ok':!![],'data':_0x2bebb8,'message':_0x14a906[_0x44b0b1(0x14e)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0x14a906[_0x44b0b1(0x14e)]+_0x44b0b1(0x150)+_0x3be15c+').'};}};
1
+ function a195_0x44ad(_0x413eb4,_0x3bff04){_0x413eb4=_0x413eb4-0x7d;const _0x5f167d=a195_0x5f16();let _0x44adb6=_0x5f167d[_0x413eb4];return _0x44adb6;}const a195_0x1403db=a195_0x44ad;(function(_0x557c5d,_0x13daf2){const _0x31a10e=a195_0x44ad,_0x34d7d7=_0x557c5d();while(!![]){try{const _0x2530da=-parseInt(_0x31a10e(0x80))/0x1+-parseInt(_0x31a10e(0x95))/0x2+parseInt(_0x31a10e(0x9e))/0x3+-parseInt(_0x31a10e(0x9b))/0x4*(-parseInt(_0x31a10e(0x94))/0x5)+parseInt(_0x31a10e(0x83))/0x6*(parseInt(_0x31a10e(0x88))/0x7)+parseInt(_0x31a10e(0x7d))/0x8+-parseInt(_0x31a10e(0x9d))/0x9;if(_0x2530da===_0x13daf2)break;else _0x34d7d7['push'](_0x34d7d7['shift']());}catch(_0x5004f5){_0x34d7d7['push'](_0x34d7d7['shift']());}}}(a195_0x5f16,0x58120));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':a195_0x1403db(0x85),'command':a195_0x1403db(0x9f),'description':'List\x20custom\x20SQL\x20queries','risk':a195_0x1403db(0x89),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':a195_0x1403db(0x8e)},{'name':a195_0x1403db(0x82),'type':a195_0x1403db(0x90),'description':a195_0x1403db(0x81),'default':0x1},{'name':a195_0x1403db(0x8a),'type':a195_0x1403db(0x90),'description':a195_0x1403db(0x8c)},{'name':a195_0x1403db(0x91),'type':a195_0x1403db(0x84),'description':a195_0x1403db(0x93)}],async 'execute'(_0x4d5762){const _0x13d4c5=a195_0x1403db,_0x4532a6=await listSqlQueries(_0x4d5762['appCode'],{'sqlCode':_0x4d5762['str']('sqlcode')||undefined,'sqlName':_0x4d5762['str']('name')||undefined,'currentPage':_0x4d5762[_0x13d4c5(0x97)]('page'),'pageSize':_0x4d5762[_0x13d4c5(0x97)](_0x13d4c5(0x8a),0x32)}),_0x4cac6c=_0x4d5762[_0x13d4c5(0x7f)](_0x13d4c5(0x91)),_0x40c6f4=_0x4532a6[_0x13d4c5(0x92)]??[],_0x3f0e19=_0x4532a6[_0x13d4c5(0x8f)]?.[_0x13d4c5(0x8b)]??_0x40c6f4[_0x13d4c5(0x98)];let _0x429a0e;return _0x4cac6c?_0x429a0e=_0x40c6f4:_0x429a0e=await Promise[_0x13d4c5(0x86)](_0x40c6f4[_0x13d4c5(0x7e)](async _0x459341=>{const _0x1dab3b=_0x13d4c5;let _0x2620ed;try{_0x2620ed=_0x459341[_0x1dab3b(0x99)]?await getDbName(_0x4d5762[_0x1dab3b(0x9a)],_0x459341[_0x1dab3b(0x99)]):undefined;}catch{}return{'sqlCode':_0x459341[_0x1dab3b(0x96)],'sqlName':_0x459341[_0x1dab3b(0x9c)],'description':_0x459341[_0x1dab3b(0x8d)]??'','db':_0x2620ed?_0x2620ed+'\x20('+_0x459341[_0x1dab3b(0x99)]+')':_0x459341[_0x1dab3b(0x99)]??''};})),{'ok':!![],'data':_0x429a0e,'message':_0x40c6f4[_0x13d4c5(0x98)]===0x0?_0x13d4c5(0x87):'Found\x20'+_0x40c6f4[_0x13d4c5(0x98)]+'\x20SQL\x20queries\x20(total:\x20'+_0x3f0e19+').'};}};function a195_0x5f16(){const _0x5ae368=['all','No\x20custom\x20SQL\x20queries\x20found.','1673602JOQdPt','read','pagesize','totalCount','Page\x20size','description','Filter\x20by\x20SQL\x20name','paging','number','verbose','tableData','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','10805rCuXOL','1425932EgMriQ','sqlCode','num','length','dbId','appCode','748hgqrLr','sqlName','5369436YnocjO','415269XFSgzb','list','5735952UEHnmF','map','bool','67390KzUPnt','Page\x20number','page','12QddKop','boolean','sql'];a195_0x5f16=function(){return _0x5ae368;};return a195_0x5f16();}
@@ -1 +1 @@
1
- const a191_0x44e51d=a191_0xca86;(function(_0x18f892,_0x357557){const _0x5f009d=a191_0xca86,_0x1d8afb=_0x18f892();while(!![]){try{const _0x4b7121=-parseInt(_0x5f009d(0x116))/0x1+-parseInt(_0x5f009d(0x12d))/0x2+-parseInt(_0x5f009d(0x137))/0x3+-parseInt(_0x5f009d(0x150))/0x4*(parseInt(_0x5f009d(0x142))/0x5)+-parseInt(_0x5f009d(0x14a))/0x6*(-parseInt(_0x5f009d(0x13e))/0x7)+-parseInt(_0x5f009d(0x123))/0x8*(parseInt(_0x5f009d(0x138))/0x9)+parseInt(_0x5f009d(0x13f))/0xa;if(_0x4b7121===_0x357557)break;else _0x1d8afb['push'](_0x1d8afb['shift']());}catch(_0x28086f){_0x1d8afb['push'](_0x1d8afb['shift']());}}}(a191_0x422e,0x98ccf));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';function a191_0x422e(){const _0x3ed904=['6eXFPRT','string','str','split','sqlRootDir','Force\x20pull\x20cancelled.','43972NdJzyR','lastSync','local\x20differs\x20from\x20remote','Pull\x20complete:\x20','161204rnjMsy','nonInteractive','replace','length','skipped','description','cancelled','tableData','name','sqlContent','\x20SQL\x20file(s)\x20into\x20','pull','lockFilePath','8tGMueb','appCode','path','POST','sqlCode','push','sqls','sqlRoot','sql','No\x20remote\x20SQL\x20queries\x20matched.','76700ReoqpG','would_pull','bool','unchanged','test','\x20failed','force','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20skipped,\x20','apps','392667yShVGZ','3100149geslQj','Force\x20overwrite\x20local\x20unsynced\x20changes','sqlName','paging','sqlcode','dbId','5428850NaYoEf','17234620gkrdSR','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','trimStart','545DhfHmb','utf8','Would\x20pull\x20','totalCount','mybatisXml','message','\x20written,\x20','toISOString'];a191_0x422e=function(){return _0x3ed904;};return a191_0x422e();}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(_0x293c49,_0x1651ad){const _0x300f86=a191_0xca86,_0x416b1f=[];let _0x1d1a25=0x1;while(!![]){const _0x12bf2e=await listSqlQueries(_0x293c49,{'currentPage':_0x1d1a25,'pageSize':PAGE_SIZE,'sqlCode':_0x1651ad['sqlCode'],'sqlName':_0x1651ad[_0x300f86(0x13a)]}),_0x347cc6=_0x12bf2e[_0x300f86(0x11d)]??[];_0x416b1f['push'](..._0x347cc6);if(_0x347cc6[_0x300f86(0x119)]===0x0)break;const _0x47a947=_0x12bf2e[_0x300f86(0x13b)]?.[_0x300f86(0x145)];if(_0x47a947!=null?_0x416b1f[_0x300f86(0x119)]>=_0x47a947:_0x347cc6[_0x300f86(0x119)]<PAGE_SIZE)break;_0x1d1a25++;}return _0x416b1f;}function a191_0xca86(_0x180b56,_0x5cac4b){_0x180b56=_0x180b56-0x116;const _0x422eb4=a191_0x422e();let _0xca86a8=_0x422eb4[_0x180b56];return _0xca86a8;}async function ensureSqlContent(_0x4cc500){const _0x3f323d=a191_0xca86;if(_0x4cc500[_0x3f323d(0x11f)]!=null&&String(_0x4cc500[_0x3f323d(0x11f)])[_0x3f323d(0x119)]>0x0)return _0x4cc500;return getSqlQueryDetail(_0x4cc500[_0x3f323d(0x127)]);}export const sqlPull={'service':a191_0x44e51d(0x12b),'command':a191_0x44e51d(0x121),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a191_0x44e51d(0x11e),'type':a191_0x44e51d(0x14b),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':'boolean','description':a191_0x44e51d(0x139)}],async 'dryRun'(_0x4251e2){const _0x1f9495=a191_0x44e51d,_0x396026=loadSqlProjectConfig(_0x4251e2['appCode']),_0x2880d0=await readSqlLockFile(_0x396026['lockFilePath']),{appLock:_0x594334}=ensureSqlLockScope(_0x2880d0??createEmptySqlLock(),_0x396026['appCode'],_0x396026[_0x1f9495(0x12a)],_0x1f9495(0x121)),_0x513191=await fetchAllSqlQueries(_0x4251e2[_0x1f9495(0x124)],{'sqlCode':_0x4251e2['str'](_0x1f9495(0x13c))||undefined,'sqlName':_0x4251e2['str'](_0x1f9495(0x11e))||undefined}),_0x2fca68=[];for(const _0x1f0c80 of _0x513191){const _0x5c7688=await ensureSqlContent(_0x1f0c80),_0xc2b1fc=ensureRemoteSqlContent(_0x5c7688),_0x4a2945=detectModeFromSql(_0x5c7688),_0x4c09b0=_0x5c7688[_0x1f9495(0x13d)]?await getDbName(_0x4251e2['appCode'],Number(_0x5c7688['dbId']))['catch'](()=>undefined):undefined,_0x141f17=buildLocalSqlFileContent({'sqlCode':_0x5c7688[_0x1f9495(0x127)],'sqlName':_0x5c7688[_0x1f9495(0x13a)],'dbId':_0x5c7688[_0x1f9495(0x13d)]},_0xc2b1fc,{'dbName':_0x4c09b0,'mode':_0x4a2945,'syncedAt':new Date()[_0x1f9495(0x149)](),'description':_0x5c7688[_0x1f9495(0x11b)]}),_0x246c74=buildSqlLockEntry(_0x5c7688,_0xc2b1fc,'',{'dbName':_0x4c09b0}),_0x372678=resolveLocalSqlFilePath(_0x396026,_0x5c7688[_0x1f9495(0x127)],_0x246c74);let _0x436368=_0x1f9495(0x12e),_0x447086;if(await fileExists(_0x372678)){const _0x18f874=await readFile(_0x372678,'utf8');isEquivalentPulledSqlFile(_0x18f874,_0x141f17,_0x4a2945)?(_0x436368=_0x1f9495(0x11a),_0x447086='unchanged'):(_0x436368='conflict',_0x447086=_0x1f9495(0x134));}_0x2fca68['push']({'sqlCode':_0x5c7688['sqlCode'],'sqlName':_0x5c7688[_0x1f9495(0x13a)],'filePath':_0x372678,'status':_0x436368,'reason':_0x447086});}return{'method':_0x1f9495(0x126),'url':_0x1f9495(0x140),'body':{'appCode':_0x4251e2[_0x1f9495(0x124)],'sqlCode':_0x4251e2[_0x1f9495(0x14c)](_0x1f9495(0x13c))||null,'sqlName':_0x4251e2[_0x1f9495(0x14c)](_0x1f9495(0x11e))||null,'files':_0x2fca68},'description':_0x1f9495(0x144)+_0x2fca68[_0x1f9495(0x119)]+_0x1f9495(0x120)+_0x396026[_0x1f9495(0x14e)]};},async 'execute'(_0x12801f){const _0x59d690=a191_0x44e51d,_0x597e93=loadSqlProjectConfig(_0x12801f[_0x59d690(0x124)]),_0x5991cd=await readSqlLockFile(_0x597e93[_0x59d690(0x122)]),{lockData:_0x1c6916,appLock:_0x156d7c}=ensureSqlLockScope(_0x5991cd??createEmptySqlLock(),_0x597e93['appCode'],_0x597e93[_0x59d690(0x12a)],_0x59d690(0x121)),_0x8ac06=_0x12801f[_0x59d690(0x12f)](_0x59d690(0x133)),_0x371f3a=await fetchAllSqlQueries(_0x12801f['appCode'],{'sqlCode':_0x12801f[_0x59d690(0x14c)](_0x59d690(0x13c))||undefined,'sqlName':_0x12801f[_0x59d690(0x14c)](_0x59d690(0x11e))||undefined});if(_0x371f3a[_0x59d690(0x119)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x59d690(0x12c)};const _0x19b7fa=[],_0x2ac319=[];for(const _0x4c9862 of _0x371f3a){try{_0x19b7fa[_0x59d690(0x128)](await ensureSqlContent(_0x4c9862));}catch(_0x308bc2){_0x2ac319['push']({'sqlCode':_0x4c9862[_0x59d690(0x127)],'error':_0x308bc2 instanceof Error?_0x308bc2[_0x59d690(0x147)]:String(_0x308bc2)});}}if(_0x8ac06&&!_0x12801f[_0x59d690(0x117)]){let _0x50238b=![];for(const _0x4bf413 of _0x19b7fa){const _0x1becab=detectModeFromSql(_0x4bf413),_0xc79609=_0x4bf413['dbId']?await getDbName(_0x12801f[_0x59d690(0x124)],Number(_0x4bf413[_0x59d690(0x13d)]))['catch'](()=>undefined):undefined,_0x5d342d=buildLocalSqlFileContent({'sqlCode':_0x4bf413['sqlCode'],'sqlName':_0x4bf413[_0x59d690(0x13a)],'dbId':_0x4bf413['dbId']},ensureRemoteSqlContent(_0x4bf413),{'dbName':_0xc79609,'mode':_0x1becab,'syncedAt':new Date()[_0x59d690(0x149)](),'description':_0x4bf413[_0x59d690(0x11b)]}),_0x43c194=resolveLocalSqlFilePath(_0x597e93,_0x4bf413[_0x59d690(0x127)],buildSqlLockEntry(_0x4bf413,ensureRemoteSqlContent(_0x4bf413),'',{'dbName':_0xc79609}));if(await fileExists(_0x43c194)){const _0x5127fd=await readFile(_0x43c194,_0x59d690(0x143));if(!isEquivalentPulledSqlFile(_0x5127fd,_0x5d342d,_0x1becab)){_0x50238b=!![];break;}}}if(_0x50238b){const _0x1ff7a9=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x1ff7a9)throw CliErrors[_0x59d690(0x11c)](_0x59d690(0x14f));}}const _0x1abaf2=cloneSqlLockData(_0x1c6916),_0xe28760=_0x1abaf2[_0x59d690(0x136)][_0x597e93['appCode']],_0x329185=[],_0x55b992=[];for(const _0x2b4550 of _0x19b7fa){const _0x2638a4=_0xe28760[_0x59d690(0x129)][_0x2b4550[_0x59d690(0x127)]],_0xd8ed54=ensureRemoteSqlContent(_0x2b4550),_0x2c2558=detectModeFromSql(_0x2b4550),_0x8351c6=_0x2b4550[_0x59d690(0x13d)]?await getDbName(_0x12801f[_0x59d690(0x124)],Number(_0x2b4550[_0x59d690(0x13d)]))['catch'](()=>undefined):undefined,_0x532344=buildLocalSqlFileContent({'sqlCode':_0x2b4550['sqlCode'],'sqlName':_0x2b4550['sqlName'],'dbId':_0x2b4550['dbId']},_0xd8ed54,{'dbName':_0x8351c6,'mode':_0x2c2558,'syncedAt':new Date()[_0x59d690(0x149)](),'description':_0x2b4550[_0x59d690(0x11b)]}),_0x5853f5=buildSqlLockEntry(_0x2b4550,_0xd8ed54,computeSqlContentHash(_0x532344),{'dbName':_0x8351c6}),_0x8cbef9=_0x5853f5[_0x59d690(0x125)],_0x2dfe55=join(_0x597e93['sqlRootDir'],_0x8cbef9);try{if(await fileExists(_0x2dfe55)){const _0x4f3a34=await readFile(_0x2dfe55,_0x59d690(0x143));if(isEquivalentPulledSqlFile(_0x4f3a34,_0x532344,_0x2c2558)){_0x55b992[_0x59d690(0x128)]({'sqlCode':_0x2b4550['sqlCode'],'reason':_0x59d690(0x130)}),_0xe28760[_0x59d690(0x129)][_0x2b4550[_0x59d690(0x127)]]={..._0x5853f5,'hash':computeSqlContentHash(_0x4f3a34),'path':_0x8cbef9};continue;}if(!_0x8ac06){_0x55b992[_0x59d690(0x128)]({'sqlCode':_0x2b4550[_0x59d690(0x127)],'reason':_0x59d690(0x152)});continue;}}const _0x222ae9=_0x2638a4?.[_0x59d690(0x125)]?join(_0x597e93[_0x59d690(0x14e)],_0x2638a4[_0x59d690(0x125)]):undefined;_0x222ae9&&_0x222ae9!==_0x2dfe55&&await fileExists(_0x222ae9)&&await rm(_0x222ae9,{'force':!![]}),await ensureParentDirectory(_0x2dfe55),await writeFile(_0x2dfe55,_0x532344,_0x59d690(0x143)),_0xe28760[_0x59d690(0x129)][_0x2b4550[_0x59d690(0x127)]]={..._0x5853f5,'path':_0x8cbef9},_0x329185[_0x59d690(0x128)]({'sqlCode':_0x2b4550[_0x59d690(0x127)],'filePath':_0x2dfe55});}catch(_0x6fb4b7){_0x2ac319[_0x59d690(0x128)]({'sqlCode':_0x2b4550[_0x59d690(0x127)],'error':_0x6fb4b7 instanceof Error?_0x6fb4b7[_0x59d690(0x147)]:String(_0x6fb4b7)});}}return _0xe28760[_0x59d690(0x151)]=new Date()[_0x59d690(0x149)](),await writeSqlLockFile(_0x597e93[_0x59d690(0x122)],_0x1abaf2),{'ok':_0x2ac319[_0x59d690(0x119)]===0x0,'data':{'pulled':_0x329185,'skipped':_0x55b992,'failed':_0x2ac319},'message':_0x59d690(0x153)+_0x329185[_0x59d690(0x119)]+_0x59d690(0x148)+_0x55b992[_0x59d690(0x119)]+_0x59d690(0x135)+_0x2ac319['length']+_0x59d690(0x132)};}};function detectModeFromSql(_0x2e13ec){const _0x1585d0=a191_0x44e51d,_0x4855f0=ensureRemoteSqlContent(_0x2e13ec),_0x3dcadc=stripLocalSqlMetadata(_0x4855f0,_0x1585d0(0x146))[_0x1585d0(0x141)]();if(/^<(select|insert|update|delete)\b/i[_0x1585d0(0x131)](_0x3dcadc))return _0x1585d0(0x146);return _0x1585d0(0x12b);}function isEquivalentPulledSqlFile(_0x6671cd,_0x23de73,_0xfad5e8){return normalizePullComparableContent(_0x6671cd,_0xfad5e8)===normalizePullComparableContent(_0x23de73,_0xfad5e8);}function normalizePullComparableContent(_0x4ea976,_0x93a10){const _0x6588ea=a191_0x44e51d,_0x13aba5=_0x4ea976[_0x6588ea(0x118)](/\r\n/g,'\x0a')[_0x6588ea(0x14d)]('\x0a'),_0x380cc1=_0x13aba5['filter'](_0x4341b2=>!isSyncedAtMetadataLine(_0x4341b2,_0x93a10));return _0x380cc1['join']('\x0a');}function isSyncedAtMetadataLine(_0x274745,_0x408dc3){const _0x1a9091=a191_0x44e51d;if(_0x408dc3===_0x1a9091(0x146))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x1a9091(0x131)](_0x274745);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x1a9091(0x131)](_0x274745);}
1
+ const a196_0x3a47db=a196_0x55bc;(function(_0x4ab613,_0x30f8a5){const _0x5f238a=a196_0x55bc,_0x634f4f=_0x4ab613();while(!![]){try{const _0x453133=-parseInt(_0x5f238a(0x212))/0x1*(parseInt(_0x5f238a(0x206))/0x2)+-parseInt(_0x5f238a(0x228))/0x3*(parseInt(_0x5f238a(0x216))/0x4)+-parseInt(_0x5f238a(0x1fa))/0x5*(parseInt(_0x5f238a(0x20b))/0x6)+-parseInt(_0x5f238a(0x20d))/0x7*(parseInt(_0x5f238a(0x1f9))/0x8)+-parseInt(_0x5f238a(0x21d))/0x9+-parseInt(_0x5f238a(0x20f))/0xa+parseInt(_0x5f238a(0x1f0))/0xb;if(_0x453133===_0x30f8a5)break;else _0x634f4f['push'](_0x634f4f['shift']());}catch(_0x52aa08){_0x634f4f['push'](_0x634f4f['shift']());}}}(a196_0x1391,0xe75e9));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(_0x4a9509,_0x52d693){const _0x446e5a=a196_0x55bc,_0x39cebb=[];let _0x24fabd=0x1;while(!![]){const _0xfbe0ef=await listSqlQueries(_0x4a9509,{'currentPage':_0x24fabd,'pageSize':PAGE_SIZE,'sqlCode':_0x52d693[_0x446e5a(0x1f1)],'sqlName':_0x52d693[_0x446e5a(0x229)]}),_0x3e4cb9=_0xfbe0ef[_0x446e5a(0x1f6)]??[];_0x39cebb['push'](..._0x3e4cb9);if(_0x3e4cb9[_0x446e5a(0x1fe)]===0x0)break;const _0x10ec98=_0xfbe0ef[_0x446e5a(0x1fc)]?.[_0x446e5a(0x210)];if(_0x10ec98!=null?_0x39cebb[_0x446e5a(0x1fe)]>=_0x10ec98:_0x3e4cb9[_0x446e5a(0x1fe)]<PAGE_SIZE)break;_0x24fabd++;}return _0x39cebb;}async function ensureSqlContent(_0x2edb1c){const _0xe5fb9f=a196_0x55bc;if(_0x2edb1c[_0xe5fb9f(0x1ef)]!=null&&String(_0x2edb1c[_0xe5fb9f(0x1ef)])[_0xe5fb9f(0x1fe)]>0x0)return _0x2edb1c;return getSqlQueryDetail(_0x2edb1c[_0xe5fb9f(0x1f1)]);}function a196_0x1391(){const _0x2c6e18=['apps','boolean','sqlcode','\x20SQL\x20file(s)\x20into\x20','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','339654cDJRpt','sqlName','str','trimStart','force','message','pull','sqlRootDir','bool','Pull\x20complete:\x20','conflict','sqlContent','65054000fRlJAt','sqlCode','replace','\x20skipped,\x20','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','mybatisXml','tableData','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','name','8dFquyl','47860MnOeXN','skipped','paging','filter','length','lastSync','\x20failed','path','utf8','Force\x20pull\x20cancelled.','No\x20remote\x20SQL\x20queries\x20matched.','join','140438uynzbW','cancelled','POST','toISOString','test','216UeTjtr','catch','8179255WeiBXR','sql','7112090BscAif','totalCount','Force\x20overwrite\x20local\x20unsynced\x20changes','22RGOZsK','dbId','description','unchanged','16piSoeZ','string','Filter\x20by\x20SQL\x20display\x20name','lockFilePath','push','sqlRoot','split','6699195cYjldW','appCode','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sqls','local\x20differs\x20from\x20remote','nonInteractive'];a196_0x1391=function(){return _0x2c6e18;};return a196_0x1391();}export const sqlPull={'service':a196_0x3a47db(0x20e),'command':a196_0x3a47db(0x22e),'description':a196_0x3a47db(0x1f4),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a196_0x3a47db(0x1f8),'type':a196_0x3a47db(0x217),'description':a196_0x3a47db(0x218)},{'name':a196_0x3a47db(0x22c),'type':a196_0x3a47db(0x224),'description':a196_0x3a47db(0x211)}],async 'dryRun'(_0x25c4f5){const _0x5d416a=a196_0x3a47db,_0x4050e3=loadSqlProjectConfig(_0x25c4f5[_0x5d416a(0x21e)]),_0x5a3dcd=await readSqlLockFile(_0x4050e3[_0x5d416a(0x219)]),{appLock:_0x2b4ee9}=ensureSqlLockScope(_0x5a3dcd??createEmptySqlLock(),_0x4050e3['appCode'],_0x4050e3[_0x5d416a(0x21b)],_0x5d416a(0x22e)),_0x46c0cd=await fetchAllSqlQueries(_0x25c4f5['appCode'],{'sqlCode':_0x25c4f5[_0x5d416a(0x22a)](_0x5d416a(0x225))||undefined,'sqlName':_0x25c4f5['str'](_0x5d416a(0x1f8))||undefined}),_0x56e506=[];for(const _0x3f1688 of _0x46c0cd){const _0x231072=await ensureSqlContent(_0x3f1688),_0x3dde1d=ensureRemoteSqlContent(_0x231072),_0x55f8ba=detectModeFromSql(_0x231072),_0x22ddf2=_0x231072[_0x5d416a(0x213)]?await getDbName(_0x25c4f5[_0x5d416a(0x21e)],Number(_0x231072['dbId']))['catch'](()=>undefined):undefined,_0xc9d140=buildLocalSqlFileContent({'sqlCode':_0x231072['sqlCode'],'sqlName':_0x231072['sqlName'],'dbId':_0x231072[_0x5d416a(0x213)]},_0x3dde1d,{'dbName':_0x22ddf2,'mode':_0x55f8ba,'syncedAt':new Date()[_0x5d416a(0x209)](),'description':_0x231072[_0x5d416a(0x214)]}),_0x489b9a=buildSqlLockEntry(_0x231072,_0x3dde1d,'',{'dbName':_0x22ddf2}),_0x3b7fde=resolveLocalSqlFilePath(_0x4050e3,_0x231072['sqlCode'],_0x489b9a);let _0x2eb07a='would_pull',_0x136020;if(await fileExists(_0x3b7fde)){const _0x3cef52=await readFile(_0x3b7fde,_0x5d416a(0x202));isEquivalentPulledSqlFile(_0x3cef52,_0xc9d140,_0x55f8ba)?(_0x2eb07a=_0x5d416a(0x1fb),_0x136020=_0x5d416a(0x215)):(_0x2eb07a=_0x5d416a(0x1ee),_0x136020=_0x5d416a(0x227));}_0x56e506[_0x5d416a(0x21a)]({'sqlCode':_0x231072[_0x5d416a(0x1f1)],'sqlName':_0x231072[_0x5d416a(0x229)],'filePath':_0x3b7fde,'status':_0x2eb07a,'reason':_0x136020});}return{'method':_0x5d416a(0x208),'url':_0x5d416a(0x1f7),'body':{'appCode':_0x25c4f5[_0x5d416a(0x21e)],'sqlCode':_0x25c4f5[_0x5d416a(0x22a)]('sqlcode')||null,'sqlName':_0x25c4f5[_0x5d416a(0x22a)](_0x5d416a(0x1f8))||null,'files':_0x56e506},'description':'Would\x20pull\x20'+_0x56e506['length']+_0x5d416a(0x226)+_0x4050e3[_0x5d416a(0x22f)]};},async 'execute'(_0x404714){const _0x433ace=a196_0x3a47db,_0x5a30d6=loadSqlProjectConfig(_0x404714['appCode']),_0x47efcf=await readSqlLockFile(_0x5a30d6[_0x433ace(0x219)]),{lockData:_0x26cfd8,appLock:_0x4940ce}=ensureSqlLockScope(_0x47efcf??createEmptySqlLock(),_0x5a30d6[_0x433ace(0x21e)],_0x5a30d6[_0x433ace(0x21b)],_0x433ace(0x22e)),_0x22d7c0=_0x404714[_0x433ace(0x230)](_0x433ace(0x22c)),_0x56f11a=await fetchAllSqlQueries(_0x404714['appCode'],{'sqlCode':_0x404714[_0x433ace(0x22a)](_0x433ace(0x225))||undefined,'sqlName':_0x404714[_0x433ace(0x22a)](_0x433ace(0x1f8))||undefined});if(_0x56f11a[_0x433ace(0x1fe)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x433ace(0x204)};const _0x34dc55=[],_0xf59fdc=[];for(const _0x233bbf of _0x56f11a){try{_0x34dc55[_0x433ace(0x21a)](await ensureSqlContent(_0x233bbf));}catch(_0x500a56){_0xf59fdc['push']({'sqlCode':_0x233bbf[_0x433ace(0x1f1)],'error':_0x500a56 instanceof Error?_0x500a56[_0x433ace(0x22d)]:String(_0x500a56)});}}if(_0x22d7c0&&!_0x404714[_0x433ace(0x222)]){let _0x456339=![];for(const _0x11ce90 of _0x34dc55){const _0x367009=detectModeFromSql(_0x11ce90),_0x74d52c=_0x11ce90[_0x433ace(0x213)]?await getDbName(_0x404714['appCode'],Number(_0x11ce90[_0x433ace(0x213)]))['catch'](()=>undefined):undefined,_0x5eee25=buildLocalSqlFileContent({'sqlCode':_0x11ce90[_0x433ace(0x1f1)],'sqlName':_0x11ce90[_0x433ace(0x229)],'dbId':_0x11ce90[_0x433ace(0x213)]},ensureRemoteSqlContent(_0x11ce90),{'dbName':_0x74d52c,'mode':_0x367009,'syncedAt':new Date()[_0x433ace(0x209)](),'description':_0x11ce90[_0x433ace(0x214)]}),_0x477779=resolveLocalSqlFilePath(_0x5a30d6,_0x11ce90[_0x433ace(0x1f1)],buildSqlLockEntry(_0x11ce90,ensureRemoteSqlContent(_0x11ce90),'',{'dbName':_0x74d52c}));if(await fileExists(_0x477779)){const _0x4ac02f=await readFile(_0x477779,_0x433ace(0x202));if(!isEquivalentPulledSqlFile(_0x4ac02f,_0x5eee25,_0x367009)){_0x456339=!![];break;}}}if(_0x456339){const _0x4d483e=await confirmForceOverwrite(_0x433ace(0x21f));if(!_0x4d483e)throw CliErrors[_0x433ace(0x207)](_0x433ace(0x203));}}const _0x20d4ff=cloneSqlLockData(_0x26cfd8),_0x562252=_0x20d4ff[_0x433ace(0x223)][_0x5a30d6['appCode']],_0x12d1fa=[],_0x1eac88=[];for(const _0x1536ef of _0x34dc55){const _0x482b4b=_0x562252['sqls'][_0x1536ef[_0x433ace(0x1f1)]],_0x80a5cf=ensureRemoteSqlContent(_0x1536ef),_0x23756c=detectModeFromSql(_0x1536ef),_0x3de123=_0x1536ef['dbId']?await getDbName(_0x404714['appCode'],Number(_0x1536ef[_0x433ace(0x213)]))[_0x433ace(0x20c)](()=>undefined):undefined,_0x2555af=buildLocalSqlFileContent({'sqlCode':_0x1536ef[_0x433ace(0x1f1)],'sqlName':_0x1536ef['sqlName'],'dbId':_0x1536ef[_0x433ace(0x213)]},_0x80a5cf,{'dbName':_0x3de123,'mode':_0x23756c,'syncedAt':new Date()[_0x433ace(0x209)](),'description':_0x1536ef[_0x433ace(0x214)]}),_0x31d364=buildSqlLockEntry(_0x1536ef,_0x80a5cf,computeSqlContentHash(_0x2555af),{'dbName':_0x3de123}),_0x32be21=_0x31d364[_0x433ace(0x201)],_0x2a30ca=join(_0x5a30d6[_0x433ace(0x22f)],_0x32be21);try{if(await fileExists(_0x2a30ca)){const _0x56ca79=await readFile(_0x2a30ca,_0x433ace(0x202));if(isEquivalentPulledSqlFile(_0x56ca79,_0x2555af,_0x23756c)){_0x1eac88[_0x433ace(0x21a)]({'sqlCode':_0x1536ef['sqlCode'],'reason':_0x433ace(0x215)}),_0x562252[_0x433ace(0x220)][_0x1536ef[_0x433ace(0x1f1)]]={..._0x31d364,'hash':computeSqlContentHash(_0x56ca79),'path':_0x32be21};continue;}if(!_0x22d7c0){_0x1eac88['push']({'sqlCode':_0x1536ef[_0x433ace(0x1f1)],'reason':_0x433ace(0x221)});continue;}}const _0x4c44b5=_0x482b4b?.[_0x433ace(0x201)]?join(_0x5a30d6[_0x433ace(0x22f)],_0x482b4b['path']):undefined;_0x4c44b5&&_0x4c44b5!==_0x2a30ca&&await fileExists(_0x4c44b5)&&await rm(_0x4c44b5,{'force':!![]}),await ensureParentDirectory(_0x2a30ca),await writeFile(_0x2a30ca,_0x2555af,_0x433ace(0x202)),_0x562252[_0x433ace(0x220)][_0x1536ef[_0x433ace(0x1f1)]]={..._0x31d364,'path':_0x32be21},_0x12d1fa['push']({'sqlCode':_0x1536ef['sqlCode'],'filePath':_0x2a30ca});}catch(_0x32786b){_0xf59fdc[_0x433ace(0x21a)]({'sqlCode':_0x1536ef['sqlCode'],'error':_0x32786b instanceof Error?_0x32786b[_0x433ace(0x22d)]:String(_0x32786b)});}}return _0x562252[_0x433ace(0x1ff)]=new Date()[_0x433ace(0x209)](),await writeSqlLockFile(_0x5a30d6[_0x433ace(0x219)],_0x20d4ff),{'ok':_0xf59fdc[_0x433ace(0x1fe)]===0x0,'data':{'pulled':_0x12d1fa,'skipped':_0x1eac88,'failed':_0xf59fdc},'message':_0x433ace(0x1ed)+_0x12d1fa[_0x433ace(0x1fe)]+'\x20written,\x20'+_0x1eac88['length']+_0x433ace(0x1f3)+_0xf59fdc[_0x433ace(0x1fe)]+_0x433ace(0x200)};}};function detectModeFromSql(_0x581108){const _0x2ebc36=a196_0x3a47db,_0x4f5080=ensureRemoteSqlContent(_0x581108),_0x3668e3=stripLocalSqlMetadata(_0x4f5080,_0x2ebc36(0x1f5))[_0x2ebc36(0x22b)]();if(/^<(select|insert|update|delete)\b/i[_0x2ebc36(0x20a)](_0x3668e3))return _0x2ebc36(0x1f5);return _0x2ebc36(0x20e);}function isEquivalentPulledSqlFile(_0x562bba,_0x4f5716,_0x2aeae1){return normalizePullComparableContent(_0x562bba,_0x2aeae1)===normalizePullComparableContent(_0x4f5716,_0x2aeae1);}function normalizePullComparableContent(_0x1d8447,_0x3efd3f){const _0x489e0d=a196_0x3a47db,_0x3af3c0=_0x1d8447[_0x489e0d(0x1f2)](/\r\n/g,'\x0a')[_0x489e0d(0x21c)]('\x0a'),_0x45c6bf=_0x3af3c0[_0x489e0d(0x1fd)](_0x34f2ac=>!isSyncedAtMetadataLine(_0x34f2ac,_0x3efd3f));return _0x45c6bf[_0x489e0d(0x205)]('\x0a');}function a196_0x55bc(_0x4612b6,_0x21c19d){_0x4612b6=_0x4612b6-0x1ed;const _0x13910f=a196_0x1391();let _0x55bc9a=_0x13910f[_0x4612b6];return _0x55bc9a;}function isSyncedAtMetadataLine(_0x1a5e49,_0x12589b){const _0x3081e1=a196_0x3a47db;if(_0x12589b===_0x3081e1(0x1f5))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x3081e1(0x20a)](_0x1a5e49);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x3081e1(0x20a)](_0x1a5e49);}
@@ -1 +1 @@
1
- const a192_0x1a8dd6=a192_0x4a29;(function(_0x38abc9,_0x22d732){const _0x2faca5=a192_0x4a29,_0x3a9ba0=_0x38abc9();while(!![]){try{const _0x146ca4=parseInt(_0x2faca5(0xd1))/0x1+-parseInt(_0x2faca5(0xb9))/0x2+parseInt(_0x2faca5(0xac))/0x3+parseInt(_0x2faca5(0xcb))/0x4*(parseInt(_0x2faca5(0xb2))/0x5)+-parseInt(_0x2faca5(0xd0))/0x6+parseInt(_0x2faca5(0xcf))/0x7+parseInt(_0x2faca5(0xcc))/0x8*(parseInt(_0x2faca5(0xbc))/0x9);if(_0x146ca4===_0x22d732)break;else _0x3a9ba0['push'](_0x3a9ba0['shift']());}catch(_0x17ecef){_0x3a9ba0['push'](_0x3a9ba0['shift']());}}}(a192_0x390a,0xa0ea7));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';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';function a192_0x390a(){const _0x1274d3=['set','\x20failed','Local\x20SQL\x20not\x20found:\x20','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','utf8','push','2366116CayoIq','remoteId','\x20skipped,\x20','81SHAyfA','entries','No\x20database\x20matches\x20local\x20directory\x20\x22','length','toISOString','lockFilePath','isFinite','has','sqlName','dbId','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','boolean','trashDir','POST','dbDirectory','313428XgOhbW','249696yEgVjA','Push\x20local\x20SQL\x20files\x20to\x20remote','projectRoot','8827315RtgkFf','7221474nNmPuu','1117351MlwxKQ','\x20pushed,\x20','filePath','sql','filter','sqlRoot','force','dbName','lastSync','sqlCode','sqlcode','catch','appCode','join','hash','startsWith','validation','sqlRootDir','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','/smartapi/custom/updateUserCustomSql','replace','version','relativePath','path','\x22\x20for\x20sqlCode\x20','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','924261fQTnOI','Local\x20directory\x20\x22','bool','\x20SQL\x20file(s)','str','sqls','5PldhQE'];a192_0x390a=function(){return _0x1274d3;};return a192_0x390a();}async function getTargetSqlQueries(_0x1735de,_0x26f6bf,_0x2c6147){const _0x5249f5=a192_0x4a29,_0x4459fb=await scanLocalSqlQueries(_0x1735de),_0x1d1699=new Map();for(const _0x1b3032 of _0x4459fb){if(_0x2c6147&&_0x1b3032['sqlCode']!==_0x2c6147)continue;const _0x1ced25=_0x1d1699['get'](_0x1b3032['sqlCode'])??[];_0x1ced25[_0x5249f5(0xb8)](_0x1b3032),_0x1d1699[_0x5249f5(0xb3)](_0x1b3032[_0x5249f5(0x9b)],_0x1ced25);}if(_0x2c6147&&!_0x1d1699[_0x5249f5(0xc3)](_0x2c6147))throw CliErrors[_0x5249f5(0xa2)](_0x5249f5(0xb5)+_0x2c6147);const _0x266a58=[];for(const [_0x25d486,_0x7b6c94]of _0x1d1699[_0x5249f5(0xbd)]()){if(_0x7b6c94[_0x5249f5(0xbf)]===0x1){_0x266a58['push'](_0x7b6c94[0x0]);continue;}const _0x55bd1d=_0x26f6bf[_0x5249f5(0xb1)][_0x25d486],_0x3674d0=_0x55bd1d?.['path'],_0x46b9e5=_0x3674d0?_0x7b6c94[_0x5249f5(0xd5)](_0x298178=>_0x298178[_0x5249f5(0xa8)]!==_0x3674d0):_0x7b6c94;if(_0x55bd1d&&_0x46b9e5[_0x5249f5(0xbf)]===0x1){_0x266a58['push'](_0x46b9e5[0x0]);continue;}throw CliErrors[_0x5249f5(0xa2)](_0x5249f5(0xab)+_0x25d486+'.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.');}return _0x266a58;}export const sqlPush={'service':a192_0x1a8dd6(0xd4),'command':a192_0x1a8dd6(0xb8),'description':a192_0x1a8dd6(0xcd),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a192_0x1a8dd6(0xd7),'type':a192_0x1a8dd6(0xc7),'description':a192_0x1a8dd6(0xc6)}],async 'dryRun'(_0x1353c9){const _0x1ca0b4=a192_0x1a8dd6,_0x2bb05a=loadSqlProjectConfig(_0x1353c9[_0x1ca0b4(0x9e)]),_0x4e308b=await readSqlLockFile(_0x2bb05a[_0x1ca0b4(0xc1)]),{appLock:_0x7a65a5}=ensureSqlLockScope(_0x4e308b??createEmptySqlLock(),_0x1353c9['appCode'],_0x2bb05a[_0x1ca0b4(0xd6)],'push'),_0x1f5742=await getTargetSqlQueries(_0x2bb05a,_0x7a65a5,_0x1353c9[_0x1ca0b4(0xb0)](_0x1ca0b4(0x9c))||undefined),_0x22418a=[];for(const _0x5422c3 of _0x1f5742){const _0xe17c65=await computeSqlFileHash(_0x5422c3[_0x1ca0b4(0xd3)]),_0x338ea7=_0x7a65a5[_0x1ca0b4(0xb1)][_0x5422c3[_0x1ca0b4(0x9b)]],_0x2c9cfe=!!_0x338ea7&&(_0x338ea7['path']!==_0x5422c3[_0x1ca0b4(0xa8)]||!!_0x5422c3[_0x1ca0b4(0xc4)]&&_0x338ea7['sqlName']!==_0x5422c3[_0x1ca0b4(0xc4)]);if(!_0x1353c9[_0x1ca0b4(0xae)](_0x1ca0b4(0xd7))&&_0x338ea7&&_0x338ea7[_0x1ca0b4(0xa0)]===_0xe17c65&&!_0x2c9cfe)continue;_0x22418a[_0x1ca0b4(0xb8)](_0x5422c3[_0x1ca0b4(0x9b)]);}return{'method':_0x1ca0b4(0xc9),'url':_0x1ca0b4(0xa5),'body':{'sqlCodes':_0x22418a,'appCode':_0x1353c9[_0x1ca0b4(0x9e)]},'description':'Would\x20push\x20'+_0x22418a['length']+_0x1ca0b4(0xaf)};},async 'execute'(_0x18818a){const _0x1b3d25=a192_0x1a8dd6,_0x4fd967=loadSqlProjectConfig(_0x18818a[_0x1b3d25(0x9e)]),_0x18d550=await readSqlLockFile(_0x4fd967[_0x1b3d25(0xc1)]),{lockData:_0x460173,appLock:_0x413ac6}=ensureSqlLockScope(_0x18d550??createEmptySqlLock(),_0x18818a[_0x1b3d25(0x9e)],_0x4fd967[_0x1b3d25(0xd6)],'push'),_0x216f15=await getTargetSqlQueries(_0x4fd967,_0x413ac6,_0x18818a[_0x1b3d25(0xb0)](_0x1b3d25(0x9c))||undefined);if(_0x216f15[_0x1b3d25(0xbf)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x317427=[],_0x1df13c=[],_0x2ba667=[];for(const _0xd4f1a1 of _0x216f15){const _0x38f33b=_0x413ac6[_0x1b3d25(0xb1)][_0xd4f1a1[_0x1b3d25(0x9b)]];if(!_0x38f33b){_0x2ba667[_0x1b3d25(0xb8)]({'sqlCode':_0xd4f1a1['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 _0x139dd9=await computeSqlFileHash(_0xd4f1a1[_0x1b3d25(0xd3)]),_0x152314=_0x38f33b[_0x1b3d25(0xa9)]!==_0xd4f1a1[_0x1b3d25(0xa8)]||!!_0xd4f1a1['sqlName']&&_0x38f33b[_0x1b3d25(0xc4)]!==_0xd4f1a1[_0x1b3d25(0xc4)];if(!_0x18818a['bool'](_0x1b3d25(0xd7))&&_0x38f33b[_0x1b3d25(0xa0)]===_0x139dd9&&!_0x152314){_0x1df13c[_0x1b3d25(0xb8)]({'sqlCode':_0xd4f1a1[_0x1b3d25(0x9b)],'reason':'unchanged'});continue;}if(_0x38f33b['version']==null){_0x2ba667[_0x1b3d25(0xb8)]({'sqlCode':_0xd4f1a1[_0x1b3d25(0x9b)],'error':_0x1b3d25(0xb6)});continue;}const _0x32dd95=await readFile(_0xd4f1a1[_0x1b3d25(0xd3)],_0x1b3d25(0xb7)),_0x244f57=stripLocalSqlMetadata(_0x32dd95,_0xd4f1a1['mode']),_0xa1551f=_0xd4f1a1['sqlName']||_0x38f33b[_0x1b3d25(0xc4)],_0x6285a2=await resolveTargetDbBinding(_0x18818a[_0x1b3d25(0x9e)],_0xd4f1a1,_0x38f33b),_0x5522c5=await updateSqlQuery({'id':_0x38f33b[_0x1b3d25(0xba)],'appCode':_0x18818a[_0x1b3d25(0x9e)],'sqlCode':_0xd4f1a1[_0x1b3d25(0x9b)],'sqlName':_0xa1551f,'dbId':_0x6285a2[_0x1b3d25(0xc5)],'version':_0x38f33b[_0x1b3d25(0xa7)],'sqlContent':_0x244f57,'sqlConfig':_0x38f33b['sqlConfig']??undefined}),_0x16e86c=_0x5522c5[_0x1b3d25(0xc5)]?await getDbName(_0x18818a[_0x1b3d25(0x9e)],Number(_0x5522c5[_0x1b3d25(0xc5)]))[_0x1b3d25(0x9d)](()=>_0x6285a2[_0x1b3d25(0xd8)]):_0x6285a2[_0x1b3d25(0xd8)];_0x413ac6['sqls'][_0xd4f1a1[_0x1b3d25(0x9b)]]={...buildSqlLockEntry(_0x5522c5,_0x244f57,_0x139dd9,{'dbName':_0x16e86c}),'path':_0xd4f1a1[_0x1b3d25(0xa8)],'mode':_0x38f33b['mode']},await archivePreviousSqlFileIfNeeded(_0x4fd967,_0x38f33b[_0x1b3d25(0xa9)],_0xd4f1a1[_0x1b3d25(0xa8)]),_0x317427[_0x1b3d25(0xb8)]({'sqlCode':_0xd4f1a1[_0x1b3d25(0x9b)],'remoteId':_0x38f33b[_0x1b3d25(0xba)]});}catch(_0x1d8839){_0x2ba667[_0x1b3d25(0xb8)]({'sqlCode':_0xd4f1a1['sqlCode'],'error':_0x1d8839 instanceof Error?_0x1d8839['message']:String(_0x1d8839)});}}return _0x413ac6[_0x1b3d25(0x9a)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4fd967[_0x1b3d25(0xc1)],_0x460173),{'ok':_0x2ba667[_0x1b3d25(0xbf)]===0x0,'data':{'pushed':_0x317427,'skipped':_0x1df13c,'failed':_0x2ba667},'message':'Push\x20complete:\x20'+_0x317427[_0x1b3d25(0xbf)]+_0x1b3d25(0xd2)+_0x1df13c[_0x1b3d25(0xbf)]+_0x1b3d25(0xbb)+_0x2ba667[_0x1b3d25(0xbf)]+_0x1b3d25(0xb4)};}};function a192_0x4a29(_0x191cdf,_0x2180aa){_0x191cdf=_0x191cdf-0x9a;const _0x390a17=a192_0x390a();let _0x4a29a4=_0x390a17[_0x191cdf];return _0x4a29a4;}async function archivePreviousSqlFileIfNeeded(_0x3bf7f8,_0x456c7e,_0x27b0da){const _0x59c4e1=a192_0x1a8dd6;if(!_0x456c7e||_0x456c7e===_0x27b0da)return;const _0x4590d4=join(_0x3bf7f8[_0x59c4e1(0xa3)],_0x456c7e);if(!await fileExists(_0x4590d4))return;const _0x4288b2=await moveToTrash(_0x3bf7f8[_0x59c4e1(0xce)],_0x3bf7f8[_0x59c4e1(0xc8)],_0x4590d4);await cleanupEmptyDirectories(dirname(_0x4590d4),_0x3bf7f8[_0x59c4e1(0xa3)]),void _0x4288b2;}async function moveToTrash(_0x5a9727,_0x1ac9cc,_0x20636e){const _0x4d305d=a192_0x1a8dd6,_0x449f54=new Date()[_0x4d305d(0xc0)]()[_0x4d305d(0xa6)](/[:.]/g,'-'),_0x460e93=relative(_0x5a9727,_0x20636e),_0x3ef3dd=join(_0x1ac9cc,_0x449f54,_0x460e93);return await mkdir(dirname(_0x3ef3dd),{'recursive':!![]}),await rename(_0x20636e,_0x3ef3dd),_0x3ef3dd;}async function cleanupEmptyDirectories(_0x12bd21,_0x40a24d){const _0x64d684=a192_0x1a8dd6;let _0x9472a7=resolve(_0x12bd21);const _0x321259=resolve(_0x40a24d);while(_0x9472a7[_0x64d684(0xa1)](''+_0x321259+sep)||_0x9472a7===_0x321259){if(_0x9472a7===_0x321259)return;try{const _0x1e2ced=await readdir(_0x9472a7);if(_0x1e2ced[_0x64d684(0xbf)]>0x0)return;await rmdir(_0x9472a7);}catch{return;}_0x9472a7=dirname(_0x9472a7);}}async function resolveTargetDbBinding(_0x17bf10,_0x2806cb,_0x1610b2){const _0x4963c2=a192_0x1a8dd6,_0x290f1d=_0x2806cb[_0x4963c2(0xca)];if(!_0x290f1d)return{'dbId':_0x1610b2[_0x4963c2(0xc5)],'dbName':_0x1610b2[_0x4963c2(0xd8)]};const _0x5dc8ff=buildDbDirectoryName(_0x1610b2[_0x4963c2(0xd8)],_0x1610b2[_0x4963c2(0xc5)]);if(_0x290f1d===_0x5dc8ff)return{'dbId':_0x1610b2[_0x4963c2(0xc5)],'dbName':_0x1610b2[_0x4963c2(0xd8)]};const _0x2496ad=parseExplicitDbDirectory(_0x290f1d);if(_0x2496ad!=null)return{'dbId':_0x2496ad,'dbName':await getDbName(_0x17bf10,_0x2496ad)[_0x4963c2(0x9d)](()=>undefined)};const _0x2f104a=await listDatabases(_0x17bf10),_0x1b34f3=_0x2f104a['filter'](_0x4a73f7=>buildDbDirectoryName(_0x4a73f7[_0x4963c2(0xd8)],_0x4a73f7['dbId'])===_0x290f1d);if(_0x1b34f3[_0x4963c2(0xbf)]===0x1)return{'dbId':_0x1b34f3[0x0][_0x4963c2(0xc5)],'dbName':_0x1b34f3[0x0][_0x4963c2(0xd8)]};if(_0x1b34f3[_0x4963c2(0xbf)]===0x0)throw CliErrors['validation'](_0x4963c2(0xbe)+_0x290f1d+_0x4963c2(0xaa)+_0x2806cb[_0x4963c2(0x9b)]+'.');const _0x206915=_0x1b34f3['map'](_0x50322f=>_0x50322f['dbName']+'\x20('+_0x50322f['dbId']+')')[_0x4963c2(0x9f)](',\x20');throw CliErrors[_0x4963c2(0xa2)](_0x4963c2(0xad)+_0x290f1d+_0x4963c2(0xa4)+_0x2806cb[_0x4963c2(0x9b)]+':\x20'+_0x206915);}function parseExplicitDbDirectory(_0x37d029){const _0x471c29=a192_0x1a8dd6,_0x1ee61a=/^db-(\d+)$/['exec'](_0x37d029);if(!_0x1ee61a)return null;const _0x917f7c=Number(_0x1ee61a[0x1]);return Number[_0x471c29(0xc2)](_0x917f7c)&&_0x917f7c>0x0?_0x917f7c:null;}
1
+ const a197_0x218fea=a197_0x12eb;(function(_0x1d920b,_0x4bfa13){const _0x1ec733=a197_0x12eb,_0x49d24c=_0x1d920b();while(!![]){try{const _0x1a5505=parseInt(_0x1ec733(0x1fa))/0x1*(parseInt(_0x1ec733(0x1f7))/0x2)+parseInt(_0x1ec733(0x1ea))/0x3+parseInt(_0x1ec733(0x208))/0x4*(parseInt(_0x1ec733(0x218))/0x5)+-parseInt(_0x1ec733(0x1f4))/0x6*(parseInt(_0x1ec733(0x1ff))/0x7)+-parseInt(_0x1ec733(0x21d))/0x8*(-parseInt(_0x1ec733(0x20d))/0x9)+parseInt(_0x1ec733(0x217))/0xa+parseInt(_0x1ec733(0x1f2))/0xb*(-parseInt(_0x1ec733(0x1f9))/0xc);if(_0x1a5505===_0x4bfa13)break;else _0x49d24c['push'](_0x49d24c['shift']());}catch(_0x5c3990){_0x49d24c['push'](_0x49d24c['shift']());}}}(a197_0x39f5,0x82ed1));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';function a197_0x12eb(_0x457d37,_0xfb6a1a){_0x457d37=_0x457d37-0x1e3;const _0x39f5b5=a197_0x39f5();let _0x12eb7a=_0x39f5b5[_0x457d37];return _0x12eb7a;}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';import{automaticDeploymentSyncSucceeded,buildAutomaticDeploymentSyncPreview,runAutomaticDeploymentSync,validateAutomaticDeploymentSync}from'../../commands/deployment/auto-sync.js';async function getTargetSqlQueries(_0x437961,_0x529357,_0x3d664f){const _0x5b1251=a197_0x12eb,_0xe138c7=await scanLocalSqlQueries(_0x437961),_0x2b2aa7=new Map();for(const _0x1e4587 of _0xe138c7){if(_0x3d664f&&_0x1e4587[_0x5b1251(0x22a)]!==_0x3d664f)continue;const _0x543e38=_0x2b2aa7[_0x5b1251(0x20f)](_0x1e4587[_0x5b1251(0x22a)])??[];_0x543e38['push'](_0x1e4587),_0x2b2aa7[_0x5b1251(0x211)](_0x1e4587[_0x5b1251(0x22a)],_0x543e38);}if(_0x3d664f&&!_0x2b2aa7[_0x5b1251(0x1e5)](_0x3d664f))throw CliErrors[_0x5b1251(0x210)](_0x5b1251(0x226)+_0x3d664f);const _0x47eeae=[];for(const [_0x251b51,_0x14f781]of _0x2b2aa7[_0x5b1251(0x21c)]()){if(_0x14f781[_0x5b1251(0x228)]===0x1){_0x47eeae[_0x5b1251(0x1fd)](_0x14f781[0x0]);continue;}const _0x4df72b=_0x529357[_0x5b1251(0x1eb)][_0x251b51],_0x128da4=_0x4df72b?.[_0x5b1251(0x1e6)],_0xb3faea=_0x128da4?_0x14f781['filter'](_0x4523eb=>_0x4523eb['relativePath']!==_0x128da4):_0x14f781;if(_0x4df72b&&_0xb3faea[_0x5b1251(0x228)]===0x1){_0x47eeae[_0x5b1251(0x1fd)](_0xb3faea[0x0]);continue;}throw CliErrors[_0x5b1251(0x210)](_0x5b1251(0x1f8)+_0x251b51+_0x5b1251(0x207));}return _0x47eeae;}export const sqlPush={'service':a197_0x218fea(0x203),'command':a197_0x218fea(0x1fd),'description':a197_0x218fea(0x223),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a197_0x218fea(0x221),'type':a197_0x218fea(0x20c),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'validate'(_0x167abc){validateAutomaticDeploymentSync(_0x167abc);},async 'dryRun'(_0x42c486){const _0x26dff5=a197_0x218fea,_0x14de50=loadSqlProjectConfig(_0x42c486[_0x26dff5(0x213)]),_0x15e649=await readSqlLockFile(_0x14de50[_0x26dff5(0x20b)]),{appLock:_0x506f38}=ensureSqlLockScope(_0x15e649??createEmptySqlLock(),_0x42c486[_0x26dff5(0x213)],_0x14de50['sqlRoot'],_0x26dff5(0x1fd)),_0x5872da=await getTargetSqlQueries(_0x14de50,_0x506f38,_0x42c486[_0x26dff5(0x204)](_0x26dff5(0x219))||undefined),_0x4ef504=[];for(const _0xc4426a of _0x5872da){const _0x1ff7d1=await computeSqlFileHash(_0xc4426a[_0x26dff5(0x216)]),_0x3ac69f=_0x506f38[_0x26dff5(0x1eb)][_0xc4426a[_0x26dff5(0x22a)]],_0x482878=!!_0x3ac69f&&(_0x3ac69f[_0x26dff5(0x1e6)]!==_0xc4426a[_0x26dff5(0x212)]||!!_0xc4426a['sqlName']&&_0x3ac69f[_0x26dff5(0x1f3)]!==_0xc4426a[_0x26dff5(0x1f3)]);if(!_0x42c486['bool'](_0x26dff5(0x221))&&_0x3ac69f&&_0x3ac69f['hash']===_0x1ff7d1&&!_0x482878)continue;_0x4ef504[_0x26dff5(0x1fd)](_0xc4426a[_0x26dff5(0x22a)]);}return{'method':'POST','url':_0x26dff5(0x227),'deploymentSync':buildAutomaticDeploymentSyncPreview(_0x42c486,_0x26dff5(0x203),_0x4ef504),'body':{'sqlCodes':_0x4ef504,'appCode':_0x42c486[_0x26dff5(0x213)]},'description':_0x26dff5(0x1ed)+_0x4ef504[_0x26dff5(0x228)]+_0x26dff5(0x20e)};},async 'execute'(_0x489975){const _0x281b5e=a197_0x218fea,_0x56bc2d=loadSqlProjectConfig(_0x489975[_0x281b5e(0x213)]),_0x3657e5=await readSqlLockFile(_0x56bc2d[_0x281b5e(0x20b)]),{lockData:_0x379930,appLock:_0x497e35}=ensureSqlLockScope(_0x3657e5??createEmptySqlLock(),_0x489975[_0x281b5e(0x213)],_0x56bc2d[_0x281b5e(0x200)],_0x281b5e(0x1fd)),_0x2c58bd=await getTargetSqlQueries(_0x56bc2d,_0x497e35,_0x489975[_0x281b5e(0x204)](_0x281b5e(0x219))||undefined);if(_0x2c58bd[_0x281b5e(0x228)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x281b5e(0x215)};const _0x53aa9c=[],_0x3e7842=[],_0x33b768=[];for(const _0x211623 of _0x2c58bd){const _0x2aa292=_0x497e35['sqls'][_0x211623[_0x281b5e(0x22a)]];if(!_0x2aa292){_0x33b768[_0x281b5e(0x1fd)]({'sqlCode':_0x211623['sqlCode'],'error':_0x281b5e(0x21e)});continue;}try{const _0x3d7be1=await computeSqlFileHash(_0x211623['filePath']),_0x2d7a83=_0x2aa292[_0x281b5e(0x1e6)]!==_0x211623[_0x281b5e(0x212)]||!!_0x211623[_0x281b5e(0x1f3)]&&_0x2aa292[_0x281b5e(0x1f3)]!==_0x211623[_0x281b5e(0x1f3)];if(!_0x489975[_0x281b5e(0x1fe)]('force')&&_0x2aa292[_0x281b5e(0x220)]===_0x3d7be1&&!_0x2d7a83){_0x3e7842[_0x281b5e(0x1fd)]({'sqlCode':_0x211623['sqlCode'],'reason':_0x281b5e(0x214)});continue;}if(_0x2aa292[_0x281b5e(0x1fc)]==null){_0x33b768[_0x281b5e(0x1fd)]({'sqlCode':_0x211623['sqlCode'],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x4cd890=await readFile(_0x211623[_0x281b5e(0x216)],_0x281b5e(0x1e9)),_0x239945=stripLocalSqlMetadata(_0x4cd890,_0x211623[_0x281b5e(0x202)]),_0x4fb51f=_0x211623[_0x281b5e(0x1f3)]||_0x2aa292[_0x281b5e(0x1f3)],_0x4fe1f1=await resolveTargetDbBinding(_0x489975[_0x281b5e(0x213)],_0x211623,_0x2aa292),_0x1cd52e=await updateSqlQuery({'id':_0x2aa292['remoteId'],'appCode':_0x489975[_0x281b5e(0x213)],'sqlCode':_0x211623['sqlCode'],'sqlName':_0x4fb51f,'dbId':_0x4fe1f1['dbId'],'version':_0x2aa292[_0x281b5e(0x1fc)],'sqlContent':_0x239945,'sqlConfig':_0x2aa292[_0x281b5e(0x20a)]??undefined}),_0x37df69=_0x1cd52e[_0x281b5e(0x21a)]?await getDbName(_0x489975[_0x281b5e(0x213)],Number(_0x1cd52e[_0x281b5e(0x21a)]))[_0x281b5e(0x1ee)](()=>_0x4fe1f1[_0x281b5e(0x1e4)]):_0x4fe1f1[_0x281b5e(0x1e4)];_0x497e35[_0x281b5e(0x1eb)][_0x211623['sqlCode']]={...buildSqlLockEntry(_0x1cd52e,_0x239945,_0x3d7be1,{'dbName':_0x37df69}),'path':_0x211623[_0x281b5e(0x212)],'mode':_0x2aa292['mode']},await archivePreviousSqlFileIfNeeded(_0x56bc2d,_0x2aa292[_0x281b5e(0x1e6)],_0x211623[_0x281b5e(0x212)]),_0x53aa9c['push']({'sqlCode':_0x211623['sqlCode'],'remoteId':_0x2aa292[_0x281b5e(0x1f5)]});}catch(_0x952a99){_0x33b768[_0x281b5e(0x1fd)]({'sqlCode':_0x211623[_0x281b5e(0x22a)],'error':_0x952a99 instanceof Error?_0x952a99['message']:String(_0x952a99)});}}_0x497e35['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x56bc2d[_0x281b5e(0x20b)],_0x379930);const _0x286b8a=_0x33b768[_0x281b5e(0x228)]===0x0,_0x3eb34d=await runAutomaticDeploymentSync(_0x489975,_0x281b5e(0x203),_0x53aa9c['map'](_0x2947ab=>_0x2947ab[_0x281b5e(0x22a)]),_0x286b8a),_0x59b5d7=_0x286b8a&&automaticDeploymentSyncSucceeded(_0x3eb34d),_0x2bae0=_0x3eb34d[_0x281b5e(0x21f)]?_0x281b5e(0x222)+_0x3eb34d[_0x281b5e(0x201)]:'';return{'ok':_0x59b5d7,'data':{'pushed':_0x53aa9c,'skipped':_0x3e7842,'failed':_0x33b768,'deploymentSync':_0x3eb34d},'message':_0x281b5e(0x1e3)+_0x53aa9c[_0x281b5e(0x228)]+_0x281b5e(0x1ec)+_0x3e7842['length']+_0x281b5e(0x209)+_0x33b768[_0x281b5e(0x228)]+'\x20failed'+_0x2bae0};}};async function archivePreviousSqlFileIfNeeded(_0xcf343b,_0x37d667,_0x547b70){const _0x3adc4a=a197_0x218fea;if(!_0x37d667||_0x37d667===_0x547b70)return;const _0x1e8150=join(_0xcf343b['sqlRootDir'],_0x37d667);if(!await fileExists(_0x1e8150))return;const _0x42f6c9=await moveToTrash(_0xcf343b[_0x3adc4a(0x225)],_0xcf343b[_0x3adc4a(0x21b)],_0x1e8150);await cleanupEmptyDirectories(dirname(_0x1e8150),_0xcf343b[_0x3adc4a(0x1fb)]),void _0x42f6c9;}async function moveToTrash(_0xfa1770,_0x4f7664,_0x36fe67){const _0x405a67=a197_0x218fea,_0xa47bf4=new Date()['toISOString']()[_0x405a67(0x205)](/[:.]/g,'-'),_0x5cd74b=relative(_0xfa1770,_0x36fe67),_0xd940c9=join(_0x4f7664,_0xa47bf4,_0x5cd74b);return await mkdir(dirname(_0xd940c9),{'recursive':!![]}),await rename(_0x36fe67,_0xd940c9),_0xd940c9;}async function cleanupEmptyDirectories(_0x20e399,_0x529449){const _0x48ec98=a197_0x218fea;let _0x51192e=resolve(_0x20e399);const _0x46bf18=resolve(_0x529449);while(_0x51192e[_0x48ec98(0x206)](''+_0x46bf18+sep)||_0x51192e===_0x46bf18){if(_0x51192e===_0x46bf18)return;try{const _0x262651=await readdir(_0x51192e);if(_0x262651[_0x48ec98(0x228)]>0x0)return;await rmdir(_0x51192e);}catch{return;}_0x51192e=dirname(_0x51192e);}}async function resolveTargetDbBinding(_0x34e4dd,_0x1eb64c,_0x149a0c){const _0x23151b=a197_0x218fea,_0x559c66=_0x1eb64c['dbDirectory'];if(!_0x559c66)return{'dbId':_0x149a0c['dbId'],'dbName':_0x149a0c[_0x23151b(0x1e4)]};const _0x8cfe61=buildDbDirectoryName(_0x149a0c[_0x23151b(0x1e4)],_0x149a0c['dbId']);if(_0x559c66===_0x8cfe61)return{'dbId':_0x149a0c[_0x23151b(0x21a)],'dbName':_0x149a0c[_0x23151b(0x1e4)]};const _0x29ef08=parseExplicitDbDirectory(_0x559c66);if(_0x29ef08!=null)return{'dbId':_0x29ef08,'dbName':await getDbName(_0x34e4dd,_0x29ef08)[_0x23151b(0x1ee)](()=>undefined)};const _0x4afc99=await listDatabases(_0x34e4dd),_0xc7486a=_0x4afc99[_0x23151b(0x1f6)](_0x1b8028=>buildDbDirectoryName(_0x1b8028['dbName'],_0x1b8028[_0x23151b(0x21a)])===_0x559c66);if(_0xc7486a['length']===0x1)return{'dbId':_0xc7486a[0x0][_0x23151b(0x21a)],'dbName':_0xc7486a[0x0]['dbName']};if(_0xc7486a[_0x23151b(0x228)]===0x0)throw CliErrors[_0x23151b(0x210)](_0x23151b(0x1ef)+_0x559c66+_0x23151b(0x1e7)+_0x1eb64c['sqlCode']+'.');const _0x11af72=_0xc7486a[_0x23151b(0x229)](_0x1eaa16=>_0x1eaa16[_0x23151b(0x1e4)]+'\x20('+_0x1eaa16[_0x23151b(0x21a)]+')')[_0x23151b(0x224)](',\x20');throw CliErrors[_0x23151b(0x210)](_0x23151b(0x1f0)+_0x559c66+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x1eb64c[_0x23151b(0x22a)]+':\x20'+_0x11af72);}function a197_0x39f5(){const _0x6ea6b0=['72DEXAPr','\x20SQL\x20file(s)','get','validation','set','relativePath','appCode','unchanged','No\x20local\x20SQL\x20files\x20found.','filePath','6208940pIhNBZ','244230nPUbus','sqlcode','dbId','trashDir','entries','1015064mJvRjI','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','configured','hash','force',',\x20deployment\x20sync\x20','Push\x20local\x20SQL\x20files\x20to\x20remote','join','projectRoot','Local\x20SQL\x20not\x20found:\x20','/smartapi/custom/updateUserCustomSql','length','map','sqlCode','Push\x20complete:\x20','dbName','has','path','\x22\x20for\x20sqlCode\x20','exec','utf8','90543FAFqfx','sqls','\x20pushed,\x20','Would\x20push\x20','catch','No\x20database\x20matches\x20local\x20directory\x20\x22','Local\x20directory\x20\x22','isFinite','14984717urrmaO','sqlName','5252658OjcfFB','remoteId','filter','2mhhSpf','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','12NkiXeA','668210ntAehn','sqlRootDir','version','push','bool','7lOPylU','sqlRoot','status','mode','sql','str','replace','startsWith','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','36qpbGqu','\x20skipped,\x20','sqlConfig','lockFilePath','boolean'];a197_0x39f5=function(){return _0x6ea6b0;};return a197_0x39f5();}function parseExplicitDbDirectory(_0x9aa7e4){const _0x34c1a0=a197_0x218fea,_0x3e337c=/^db-(\d+)$/[_0x34c1a0(0x1e8)](_0x9aa7e4);if(!_0x3e337c)return null;const _0xf6f0a0=Number(_0x3e337c[0x1]);return Number[_0x34c1a0(0x1f1)](_0xf6f0a0)&&_0xf6f0a0>0x0?_0xf6f0a0:null;}
@@ -1 +1 @@
1
- const a193_0x19fb25=a193_0x1293;(function(_0x1b943a,_0xd1f70f){const _0x4e9b9e=a193_0x1293,_0x4ea178=_0x1b943a();while(!![]){try{const _0x4de753=parseInt(_0x4e9b9e(0x1c1))/0x1*(-parseInt(_0x4e9b9e(0x1c0))/0x2)+parseInt(_0x4e9b9e(0x1c4))/0x3*(parseInt(_0x4e9b9e(0x1d7))/0x4)+parseInt(_0x4e9b9e(0x1da))/0x5+parseInt(_0x4e9b9e(0x1bf))/0x6+parseInt(_0x4e9b9e(0x1c2))/0x7+parseInt(_0x4e9b9e(0x1dc))/0x8+-parseInt(_0x4e9b9e(0x1c7))/0x9;if(_0x4de753===_0xd1f70f)break;else _0x4ea178['push'](_0x4ea178['shift']());}catch(_0x46d517){_0x4ea178['push'](_0x4ea178['shift']());}}}(a193_0x439d,0x4132c));function a193_0x1293(_0x2e7e4e,_0x2abb7d){_0x2e7e4e=_0x2e7e4e-0x1b6;const _0x439d82=a193_0x439d();let _0x129342=_0x439d82[_0x2e7e4e];return _0x129342;}function a193_0x439d(){const _0x418ffc=['sqlConfig','dbId','lastSync','map','sqlRoot','1928604MplspN','trim','filter','418035bMflzb','join','2078376FgLgWv','\x20[y/N]\x20','path','push','<!--\x20@lovrabet.','replace','fromEntries','sqlName','sqlCode','mybatisXml','entries','version','endsWith','.rabetbase/sql','length','3105408QuCqcz','2WamaNk','309517WKFgTf','2929346mgiihH','\x20-->','3mUPCPz','dbName','close','10665288ssskuy','mode','syncedAt','apps','toLowerCase','description','yes','stderr','test','--\x20@lovrabet.','question'];a193_0x439d=function(){return _0x418ffc;};return a193_0x439d();}import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a193_0x19fb25(0x1bd);export function buildSqlLockEntry(_0x28882c,_0x569f1a,_0x21e81d,_0x19f72f){const _0x31de26=a193_0x19fb25,_0x14685c=detectSqlMode(_0x569f1a);return{'path':buildSqlRelativePath(_0x28882c['sqlCode'],_0x28882c['sqlName'],_0x19f72f?.[_0x31de26(0x1c5)],_0x14685c,_0x28882c['dbId']),'hash':_0x21e81d,'remoteId':_0x28882c['id'],'version':_0x28882c[_0x31de26(0x1bb)],'dbId':Number(_0x28882c[_0x31de26(0x1d3)]),'dbName':_0x19f72f?.['dbName'],'sqlName':_0x28882c[_0x31de26(0x1b7)],'sqlConfig':_0x28882c[_0x31de26(0x1d2)]??undefined,'mode':_0x14685c};}export function cloneSqlLockData(_0xb7ea59){const _0xd5397e=a193_0x19fb25;return{'apps':Object[_0xd5397e(0x1b6)](Object[_0xd5397e(0x1ba)](_0xb7ea59[_0xd5397e(0x1ca)])[_0xd5397e(0x1d5)](([_0x298048,_0x40f985])=>[_0x298048,{'sqlRoot':_0x40f985[_0xd5397e(0x1d6)],'lastSync':_0x40f985[_0xd5397e(0x1d4)],'sqls':{..._0x40f985['sqls']}}]))};}export function ensureRemoteSqlContent(_0x2fc3df){return _0x2fc3df['sqlContent']??'';}export function buildLocalSqlFileContent(_0x2c8d18,_0x595dd4,_0x4b8fbc){const _0x4019df=a193_0x19fb25,_0x1d9a6d=_0x4b8fbc?.[_0x4019df(0x1c8)]??detectSqlMode(_0x595dd4),_0x4a076b=stripLocalSqlMetadata(_0x595dd4,_0x1d9a6d)[_0x4019df(0x1d8)](),_0x2be693=[...buildMetadataHeaderLines({'sqlCode':_0x2c8d18['sqlCode'],'sqlName':_0x2c8d18['sqlName'],'dbId':_0x2c8d18['dbId'],'dbName':_0x4b8fbc?.[_0x4019df(0x1c5)],'mode':_0x1d9a6d,'syncedAt':_0x4b8fbc?.[_0x4019df(0x1c9)],'description':_0x4b8fbc?.[_0x4019df(0x1cc)]},_0x1d9a6d),'',_0x4a076b],_0x5d49bf=_0x2be693[_0x4019df(0x1db)]('\x0a');return _0x5d49bf[_0x4019df(0x1bc)]('\x0a')?_0x5d49bf:_0x5d49bf+'\x0a';}export function stripLocalSqlMetadata(_0x1aa26c,_0xb12bb8){const _0xfc05f9=a193_0x19fb25,_0x46877a=_0x1aa26c[_0xfc05f9(0x1e1)](/\r\n/g,'\x0a')['split']('\x0a'),_0x52d3d1=[];let _0x3c2bb7=0x0;if(_0xb12bb8==='mybatisXml')while(_0x3c2bb7<_0x46877a[_0xfc05f9(0x1be)]){const _0x2674d6=_0x46877a[_0x3c2bb7]??'';if(/^\s*<!--\s*@lovrabet\./[_0xfc05f9(0x1cf)](_0x2674d6)){_0x3c2bb7++;continue;}if(_0x2674d6[_0xfc05f9(0x1d8)]()===''&&_0x3c2bb7>0x0){_0x3c2bb7++;continue;}break;}else while(_0x3c2bb7<_0x46877a['length']){const _0x4e29b8=_0x46877a[_0x3c2bb7]??'';if(/^\s*--\s*@lovrabet\./[_0xfc05f9(0x1cf)](_0x4e29b8)){_0x3c2bb7++;continue;}if(_0x4e29b8[_0xfc05f9(0x1d8)]()===''&&_0x3c2bb7>0x0){_0x3c2bb7++;continue;}break;}for(;_0x3c2bb7<_0x46877a[_0xfc05f9(0x1be)];_0x3c2bb7++){_0x52d3d1[_0xfc05f9(0x1df)](_0x46877a[_0x3c2bb7]);}return _0x52d3d1[_0xfc05f9(0x1db)]('\x0a')['trimStart']();}export function resolveSqlMode(_0x48e00c,_0x9a6820){if(_0x9a6820?.['mode'])return _0x9a6820['mode'];return detectSqlMode(_0x48e00c);}export function resolveSqlFileName(_0xe91673,_0x5861eb,_0x40f5db){const _0x3de8fa=a193_0x19fb25;if(_0x40f5db?.['path'])return _0x40f5db[_0x3de8fa(0x1de)];if(_0x40f5db?.[_0x3de8fa(0x1b7)]||_0x40f5db?.[_0x3de8fa(0x1c5)])return buildSqlRelativePath(_0xe91673,_0x40f5db?.['sqlName'],_0x40f5db?.[_0x3de8fa(0x1c5)],resolveSqlMode(_0x5861eb,_0x40f5db),_0x40f5db?.[_0x3de8fa(0x1d3)]);return buildDefaultSqlFileName(_0xe91673,resolveSqlMode(_0x5861eb,_0x40f5db));}export function resolveSqlLocalDir(_0x29fe92,_0x17a373){return join(_0x29fe92,SQL_LOCAL_REL_DIR,_0x17a373);}export async function confirmForceOverwrite(_0x17e7c8){const _0x316f65=a193_0x19fb25,_0x3de96d=createInterface({'input':process['stdin'],'output':process[_0x316f65(0x1ce)]}),_0x25af67=await new Promise(_0xc92090=>{const _0x1acb30=_0x316f65;_0x3de96d[_0x1acb30(0x1d1)](_0x17e7c8+_0x1acb30(0x1dd),_0xc92090);});return _0x3de96d[_0x316f65(0x1c6)](),['y',_0x316f65(0x1cd)]['includes'](_0x25af67[_0x316f65(0x1d8)]()[_0x316f65(0x1cb)]());}export function findSqlLockScope(_0x1e0ea4,_0x186978){const _0x348746=a193_0x19fb25;return _0x1e0ea4[_0x348746(0x1ca)][_0x186978];}function buildMetadataHeaderLines(_0x16412d,_0x467fc7){const _0x3d36dc=a193_0x19fb25,_0xcaa691=[['sqlCode',_0x16412d[_0x3d36dc(0x1b8)]],['sqlName',_0x16412d[_0x3d36dc(0x1b7)]],[_0x3d36dc(0x1d3),_0x16412d[_0x3d36dc(0x1d3)]],[_0x3d36dc(0x1c5),_0x16412d['dbName']],['mode',_0x16412d[_0x3d36dc(0x1c8)]],[_0x3d36dc(0x1c9),_0x16412d[_0x3d36dc(0x1c9)]],[_0x3d36dc(0x1cc),_0x16412d[_0x3d36dc(0x1cc)]]];if(_0x467fc7===_0x3d36dc(0x1b9))return _0xcaa691['filter'](([,_0x26ed98])=>_0x26ed98!==undefined&&_0x26ed98!==null&&String(_0x26ed98)[_0x3d36dc(0x1d8)]()!=='')[_0x3d36dc(0x1d5)](([_0x42eb0,_0x559f86])=>_0x3d36dc(0x1e0)+_0x42eb0+':\x20'+String(_0x559f86)+_0x3d36dc(0x1c3));return _0xcaa691[_0x3d36dc(0x1d9)](([,_0x48c84d])=>_0x48c84d!==undefined&&_0x48c84d!==null&&String(_0x48c84d)[_0x3d36dc(0x1d8)]()!=='')[_0x3d36dc(0x1d5)](([_0x57637f,_0x1922eb])=>_0x3d36dc(0x1d0)+_0x57637f+':\x20'+String(_0x1922eb));}
1
+ function a198_0x40b6(_0x2f0969,_0x23c5c9){_0x2f0969=_0x2f0969-0x18c;const _0x170b69=a198_0x170b();let _0x40b624=_0x170b69[_0x2f0969];return _0x40b624;}const a198_0x1630b0=a198_0x40b6;(function(_0x4dd1a0,_0x4456f8){const _0x4eec4a=a198_0x40b6,_0x4e2ee7=_0x4dd1a0();while(!![]){try{const _0x4fc53d=parseInt(_0x4eec4a(0x18f))/0x1*(parseInt(_0x4eec4a(0x1a4))/0x2)+-parseInt(_0x4eec4a(0x197))/0x3+-parseInt(_0x4eec4a(0x191))/0x4*(-parseInt(_0x4eec4a(0x19d))/0x5)+parseInt(_0x4eec4a(0x1b2))/0x6+-parseInt(_0x4eec4a(0x1af))/0x7*(parseInt(_0x4eec4a(0x1ac))/0x8)+parseInt(_0x4eec4a(0x18d))/0x9*(-parseInt(_0x4eec4a(0x19b))/0xa)+parseInt(_0x4eec4a(0x1ab))/0xb*(parseInt(_0x4eec4a(0x1a5))/0xc);if(_0x4fc53d===_0x4456f8)break;else _0x4e2ee7['push'](_0x4e2ee7['shift']());}catch(_0x328f62){_0x4e2ee7['push'](_0x4e2ee7['shift']());}}}(a198_0x170b,0xeef1d));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a198_0x1630b0(0x194);export function buildSqlLockEntry(_0x39aacf,_0x2448f3,_0x1f55eb,_0xf29a50){const _0x154077=a198_0x1630b0,_0x302cc5=detectSqlMode(_0x2448f3);return{'path':buildSqlRelativePath(_0x39aacf[_0x154077(0x19e)],_0x39aacf[_0x154077(0x18c)],_0xf29a50?.[_0x154077(0x196)],_0x302cc5,_0x39aacf[_0x154077(0x1aa)]),'hash':_0x1f55eb,'remoteId':_0x39aacf['id'],'version':_0x39aacf[_0x154077(0x19f)],'dbId':Number(_0x39aacf[_0x154077(0x1aa)]),'dbName':_0xf29a50?.['dbName'],'sqlName':_0x39aacf[_0x154077(0x18c)],'sqlConfig':_0x39aacf[_0x154077(0x1a0)]??undefined,'mode':_0x302cc5};}export function cloneSqlLockData(_0x154152){const _0x41e88f=a198_0x1630b0;return{'apps':Object[_0x41e88f(0x1b4)](Object[_0x41e88f(0x1a8)](_0x154152[_0x41e88f(0x195)])[_0x41e88f(0x1b1)](([_0x26a69b,_0x2486cc])=>[_0x26a69b,{'sqlRoot':_0x2486cc[_0x41e88f(0x1ae)],'lastSync':_0x2486cc[_0x41e88f(0x1b3)],'sqls':{..._0x2486cc[_0x41e88f(0x1a7)]}}]))};}export function ensureRemoteSqlContent(_0x2fe419){const _0x22b652=a198_0x1630b0;return _0x2fe419[_0x22b652(0x1a3)]??'';}function a198_0x170b(){const _0xb1939d=['12trvSOu','filter','sqls','entries','syncedAt','dbId','28970392yjqJRl','184zbKZIf','toLowerCase','sqlRoot','416591FsKTVT','path','map','4182738Qitfbc','lastSync','fromEntries','join','length','sqlName','45tiLkwr','question','352646PpBFau','<!--\x20@lovrabet.','4ygCTwh','trim','mode','.rabetbase/sql','apps','dbName','4675401cRGVjg','test','description','trimStart','1016700EOsEfJ','close','128000QhnkQm','sqlCode','version','sqlConfig','\x20-->','mybatisXml','sqlContent','6Vnrufi'];a198_0x170b=function(){return _0xb1939d;};return a198_0x170b();}export function buildLocalSqlFileContent(_0x4fc412,_0x11a271,_0x8c9cf){const _0x1a2794=a198_0x1630b0,_0x26b77a=_0x8c9cf?.[_0x1a2794(0x193)]??detectSqlMode(_0x11a271),_0x51074=stripLocalSqlMetadata(_0x11a271,_0x26b77a)[_0x1a2794(0x192)](),_0x20b5d5=[...buildMetadataHeaderLines({'sqlCode':_0x4fc412[_0x1a2794(0x19e)],'sqlName':_0x4fc412[_0x1a2794(0x18c)],'dbId':_0x4fc412['dbId'],'dbName':_0x8c9cf?.[_0x1a2794(0x196)],'mode':_0x26b77a,'syncedAt':_0x8c9cf?.[_0x1a2794(0x1a9)],'description':_0x8c9cf?.[_0x1a2794(0x199)]},_0x26b77a),'',_0x51074],_0x369a0e=_0x20b5d5[_0x1a2794(0x1b5)]('\x0a');return _0x369a0e['endsWith']('\x0a')?_0x369a0e:_0x369a0e+'\x0a';}export function stripLocalSqlMetadata(_0x58c62d,_0x3db721){const _0x4d067d=a198_0x1630b0,_0x30cd32=_0x58c62d['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0xe4739e=[];let _0x18d561=0x0;if(_0x3db721===_0x4d067d(0x1a2))while(_0x18d561<_0x30cd32[_0x4d067d(0x1b6)]){const _0x3be4e0=_0x30cd32[_0x18d561]??'';if(/^\s*<!--\s*@lovrabet\./[_0x4d067d(0x198)](_0x3be4e0)){_0x18d561++;continue;}if(_0x3be4e0[_0x4d067d(0x192)]()===''&&_0x18d561>0x0){_0x18d561++;continue;}break;}else while(_0x18d561<_0x30cd32[_0x4d067d(0x1b6)]){const _0x447bab=_0x30cd32[_0x18d561]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x447bab)){_0x18d561++;continue;}if(_0x447bab['trim']()===''&&_0x18d561>0x0){_0x18d561++;continue;}break;}for(;_0x18d561<_0x30cd32[_0x4d067d(0x1b6)];_0x18d561++){_0xe4739e['push'](_0x30cd32[_0x18d561]);}return _0xe4739e['join']('\x0a')[_0x4d067d(0x19a)]();}export function resolveSqlMode(_0x474650,_0x5914f0){const _0x5aaefb=a198_0x1630b0;if(_0x5914f0?.[_0x5aaefb(0x193)])return _0x5914f0[_0x5aaefb(0x193)];return detectSqlMode(_0x474650);}export function resolveSqlFileName(_0x2678dd,_0xdc9e0b,_0x18114a){const _0xdce2fd=a198_0x1630b0;if(_0x18114a?.[_0xdce2fd(0x1b0)])return _0x18114a[_0xdce2fd(0x1b0)];if(_0x18114a?.[_0xdce2fd(0x18c)]||_0x18114a?.[_0xdce2fd(0x196)])return buildSqlRelativePath(_0x2678dd,_0x18114a?.[_0xdce2fd(0x18c)],_0x18114a?.[_0xdce2fd(0x196)],resolveSqlMode(_0xdc9e0b,_0x18114a),_0x18114a?.[_0xdce2fd(0x1aa)]);return buildDefaultSqlFileName(_0x2678dd,resolveSqlMode(_0xdc9e0b,_0x18114a));}export function resolveSqlLocalDir(_0x2a4760,_0x47ae14){return join(_0x2a4760,SQL_LOCAL_REL_DIR,_0x47ae14);}export async function confirmForceOverwrite(_0xaa57b1){const _0x478169=a198_0x1630b0,_0x574cb6=createInterface({'input':process['stdin'],'output':process['stderr']}),_0x219d2d=await new Promise(_0x2cec7e=>{const _0x156325=a198_0x40b6;_0x574cb6[_0x156325(0x18e)](_0xaa57b1+'\x20[y/N]\x20',_0x2cec7e);});return _0x574cb6[_0x478169(0x19c)](),['y','yes']['includes'](_0x219d2d['trim']()[_0x478169(0x1ad)]());}export function findSqlLockScope(_0x3c4b56,_0x399a6f){const _0x5793fd=a198_0x1630b0;return _0x3c4b56[_0x5793fd(0x195)][_0x399a6f];}function buildMetadataHeaderLines(_0x258ee0,_0x71a7df){const _0x117bd1=a198_0x1630b0,_0x325bf9=[['sqlCode',_0x258ee0[_0x117bd1(0x19e)]],[_0x117bd1(0x18c),_0x258ee0[_0x117bd1(0x18c)]],[_0x117bd1(0x1aa),_0x258ee0['dbId']],[_0x117bd1(0x196),_0x258ee0[_0x117bd1(0x196)]],['mode',_0x258ee0[_0x117bd1(0x193)]],[_0x117bd1(0x1a9),_0x258ee0[_0x117bd1(0x1a9)]],['description',_0x258ee0['description']]];if(_0x71a7df===_0x117bd1(0x1a2))return _0x325bf9[_0x117bd1(0x1a6)](([,_0x495080])=>_0x495080!==undefined&&_0x495080!==null&&String(_0x495080)[_0x117bd1(0x192)]()!=='')[_0x117bd1(0x1b1)](([_0x4f7d35,_0x3f5760])=>_0x117bd1(0x190)+_0x4f7d35+':\x20'+String(_0x3f5760)+_0x117bd1(0x1a1));return _0x325bf9['filter'](([,_0x1bf2a9])=>_0x1bf2a9!==undefined&&_0x1bf2a9!==null&&String(_0x1bf2a9)[_0x117bd1(0x192)]()!=='')[_0x117bd1(0x1b1)](([_0xbc9c02,_0x474210])=>'--\x20@lovrabet.'+_0xbc9c02+':\x20'+String(_0x474210));}
@@ -1 +1 @@
1
- const a194_0x1f760a=a194_0x5ae8;function a194_0x1d6c(){const _0xc6753b=['\x20added,\x20','20mcoRnt','map','15109919IUfGAb','push','591094ofAULg','read','boolean','appCode','length','\x20modified,\x20','status','All\x20SQL\x20queries\x20are\x20in\x20sync.','1281116dLoJMK','filePath','remote','sqls','sqlName','sqlRoot','has','lockFilePath','keys','1284065QqTUsS','6IIeTZp','\x20missing,\x20','sqlCode','364724mSpTIl','\x20unchanged','653288KjAZer','relativePath','hash','lockKey','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','bool','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','3AVycRy','8iQNYlB','12HcsQdT','1989675MIJkwI'];a194_0x1d6c=function(){return _0xc6753b;};return a194_0x1d6c();}(function(_0x190dd1,_0x2525e0){const _0x4aac51=a194_0x5ae8,_0x4c44ee=_0x190dd1();while(!![]){try{const _0x1c4fc1=parseInt(_0x4aac51(0x1d8))/0x1+parseInt(_0x4aac51(0x1cb))/0x2+-parseInt(_0x4aac51(0x1ba))/0x3*(-parseInt(_0x4aac51(0x1da))/0x4)+parseInt(_0x4aac51(0x1d4))/0x5*(parseInt(_0x4aac51(0x1d5))/0x6)+parseInt(_0x4aac51(0x1c3))/0x7*(-parseInt(_0x4aac51(0x1bb))/0x8)+parseInt(_0x4aac51(0x1bd))/0x9*(parseInt(_0x4aac51(0x1bf))/0xa)+parseInt(_0x4aac51(0x1c1))/0xb*(-parseInt(_0x4aac51(0x1bc))/0xc);if(_0x1c4fc1===_0x2525e0)break;else _0x4c44ee['push'](_0x4c44ee['shift']());}catch(_0x577922){_0x4c44ee['push'](_0x4c44ee['shift']());}}}(a194_0x1d6c,0x63f98));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 a194_0x5ae8(_0x299dd7,_0x35ebe6){_0x299dd7=_0x299dd7-0x1b5;const _0x1d6c9d=a194_0x1d6c();let _0x5ae855=_0x1d6c9d[_0x299dd7];return _0x5ae855;}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x2dfd9f){const _0x13dc18=a194_0x5ae8,_0x2975a9=[];let _0x39ac06=0x1;while(!![]){const _0x439873=await listSqlQueries(_0x2dfd9f,{'currentPage':_0x39ac06,'pageSize':PAGE_SIZE}),_0x22507b=_0x439873['tableData']??[];_0x2975a9[_0x13dc18(0x1c2)](..._0x22507b[_0x13dc18(0x1c0)](_0x4ca9f9=>_0x4ca9f9[_0x13dc18(0x1d7)]));if(_0x22507b[_0x13dc18(0x1c7)]===0x0)break;const _0x33cb29=_0x439873['paging']?.['totalCount'];if(_0x33cb29!=null?_0x2975a9[_0x13dc18(0x1c7)]>=_0x33cb29:_0x22507b['length']<PAGE_SIZE)break;_0x39ac06++;}return _0x2975a9;}export const sqlStatus={'service':'sql','command':a194_0x1f760a(0x1c9),'description':a194_0x1f760a(0x1b7),'risk':a194_0x1f760a(0x1c4),'flags':[{'name':'remote','type':a194_0x1f760a(0x1c5),'description':a194_0x1f760a(0x1b9)}],async 'execute'(_0x2bcba2){const _0x418986=a194_0x1f760a,_0x1df7f1=loadSqlProjectConfig(_0x2bcba2[_0x418986(0x1c6)]),_0x56004c=await readSqlLockFile(_0x1df7f1[_0x418986(0x1d2)]),{appLock:_0x44db1c}=ensureSqlLockScope(_0x56004c??createEmptySqlLock(),_0x1df7f1[_0x418986(0x1c6)],_0x1df7f1[_0x418986(0x1d0)],_0x418986(0x1c9)),_0x3fc69c=await scanLocalSqlQueries(_0x1df7f1),_0x1bb6f8=[],_0x440433=[],_0x1deb85=[],_0x53f9df=[],_0x4bbb4a=new Set(_0x3fc69c[_0x418986(0x1c0)](_0x5d59ba=>_0x5d59ba['lockKey']));for(const _0x4706e6 of _0x3fc69c){const _0x2f3b25=await computeSqlFileHash(_0x4706e6[_0x418986(0x1cc)]),_0x24dc18=_0x44db1c[_0x418986(0x1ce)][_0x4706e6[_0x418986(0x1b6)]],_0x258a7d=!!_0x24dc18&&_0x24dc18['path']!==_0x4706e6[_0x418986(0x1db)],_0x768d7d=!!_0x24dc18&&!!_0x4706e6['sqlName']&&_0x24dc18[_0x418986(0x1cf)]!==_0x4706e6[_0x418986(0x1cf)];if(!_0x24dc18)_0x1bb6f8[_0x418986(0x1c2)](_0x4706e6[_0x418986(0x1b6)]);else _0x24dc18[_0x418986(0x1b5)]!==_0x2f3b25||_0x258a7d||_0x768d7d?_0x440433[_0x418986(0x1c2)](_0x4706e6[_0x418986(0x1b6)]):_0x1deb85['push'](_0x4706e6[_0x418986(0x1b6)]);}for(const _0x3a8019 of Object[_0x418986(0x1d3)](_0x44db1c[_0x418986(0x1ce)])){!_0x4bbb4a[_0x418986(0x1d1)](_0x3a8019)&&_0x53f9df['push'](_0x3a8019);}const _0x363f5c=[];if(_0x2bcba2[_0x418986(0x1b8)](_0x418986(0x1cd))){const _0x333799=await fetchAllSqlCodes(_0x2bcba2['appCode']);for(const _0x2545e5 of _0x333799){!_0x4bbb4a[_0x418986(0x1d1)](_0x2545e5)&&!_0x44db1c[_0x418986(0x1ce)][_0x2545e5]&&_0x363f5c[_0x418986(0x1c2)](_0x2545e5);}}const _0x3ecd4e=_0x1bb6f8[_0x418986(0x1c7)]===0x0&&_0x440433['length']===0x0&&_0x53f9df['length']===0x0&&_0x363f5c[_0x418986(0x1c7)]===0x0;return{'ok':!![],'data':{'added':_0x1bb6f8,'modified':_0x440433,'missing':_0x53f9df,'unchanged':_0x1deb85,'remoteOnly':_0x363f5c},'message':_0x3ecd4e?_0x418986(0x1ca):_0x1bb6f8['length']+_0x418986(0x1be)+_0x440433[_0x418986(0x1c7)]+_0x418986(0x1c8)+_0x53f9df[_0x418986(0x1c7)]+_0x418986(0x1d6)+_0x1deb85[_0x418986(0x1c7)]+_0x418986(0x1d9)+(_0x363f5c['length']>0x0?',\x20'+_0x363f5c[_0x418986(0x1c7)]+'\x20remote-only':'')};}};
1
+ const a199_0x1fafe3=a199_0x1067;function a199_0x1067(_0x13042b,_0x1dfc11){_0x13042b=_0x13042b-0x7e;const _0x22f94f=a199_0x22f9();let _0x1067c9=_0x22f94f[_0x13042b];return _0x1067c9;}(function(_0x58cd96,_0x544a7d){const _0x521a71=a199_0x1067,_0x53721a=_0x58cd96();while(!![]){try{const _0x5c2119=parseInt(_0x521a71(0x95))/0x1+parseInt(_0x521a71(0x94))/0x2*(-parseInt(_0x521a71(0x8e))/0x3)+-parseInt(_0x521a71(0xa3))/0x4*(-parseInt(_0x521a71(0x8a))/0x5)+-parseInt(_0x521a71(0x98))/0x6*(parseInt(_0x521a71(0xa2))/0x7)+-parseInt(_0x521a71(0x9d))/0x8*(parseInt(_0x521a71(0x81))/0x9)+-parseInt(_0x521a71(0x9f))/0xa*(-parseInt(_0x521a71(0x83))/0xb)+-parseInt(_0x521a71(0x93))/0xc*(-parseInt(_0x521a71(0x9b))/0xd);if(_0x5c2119===_0x544a7d)break;else _0x53721a['push'](_0x53721a['shift']());}catch(_0x57d09f){_0x53721a['push'](_0x53721a['shift']());}}}(a199_0x22f9,0x913a4));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';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x532594){const _0x2d0722=a199_0x1067,_0x34bfad=[];let _0x4c2085=0x1;while(!![]){const _0x2b6df3=await listSqlQueries(_0x532594,{'currentPage':_0x4c2085,'pageSize':PAGE_SIZE}),_0x368519=_0x2b6df3[_0x2d0722(0x8b)]??[];_0x34bfad[_0x2d0722(0x82)](..._0x368519[_0x2d0722(0x9c)](_0x42b8eb=>_0x42b8eb[_0x2d0722(0x8f)]));if(_0x368519[_0x2d0722(0x91)]===0x0)break;const _0x113c41=_0x2b6df3[_0x2d0722(0x88)]?.[_0x2d0722(0x86)];if(_0x113c41!=null?_0x34bfad[_0x2d0722(0x91)]>=_0x113c41:_0x368519['length']<PAGE_SIZE)break;_0x4c2085++;}return _0x34bfad;}export const sqlStatus={'service':a199_0x1fafe3(0x87),'command':'status','description':a199_0x1fafe3(0x9e),'risk':a199_0x1fafe3(0x92),'flags':[{'name':'remote','type':a199_0x1fafe3(0x99),'description':a199_0x1fafe3(0x7e)}],async 'execute'(_0x408ed2){const _0x2c60e1=a199_0x1fafe3,_0x39995c=loadSqlProjectConfig(_0x408ed2[_0x2c60e1(0x89)]),_0x1af65f=await readSqlLockFile(_0x39995c['lockFilePath']),{appLock:_0x1d9898}=ensureSqlLockScope(_0x1af65f??createEmptySqlLock(),_0x39995c['appCode'],_0x39995c['sqlRoot'],'status'),_0x263e70=await scanLocalSqlQueries(_0x39995c),_0x1c522e=[],_0x5245ce=[],_0x57f9e4=[],_0x483d18=[],_0x18bc05=new Set(_0x263e70[_0x2c60e1(0x9c)](_0x4dd15f=>_0x4dd15f[_0x2c60e1(0x80)]));for(const _0x47498d of _0x263e70){const _0x41edd0=await computeSqlFileHash(_0x47498d[_0x2c60e1(0x7f)]),_0x5b4954=_0x1d9898[_0x2c60e1(0x97)][_0x47498d[_0x2c60e1(0x80)]],_0x7bf17b=!!_0x5b4954&&_0x5b4954[_0x2c60e1(0xa4)]!==_0x47498d[_0x2c60e1(0x96)],_0x18bbf7=!!_0x5b4954&&!!_0x47498d[_0x2c60e1(0xa1)]&&_0x5b4954[_0x2c60e1(0xa1)]!==_0x47498d[_0x2c60e1(0xa1)];if(!_0x5b4954)_0x1c522e[_0x2c60e1(0x82)](_0x47498d['lockKey']);else _0x5b4954['hash']!==_0x41edd0||_0x7bf17b||_0x18bbf7?_0x5245ce[_0x2c60e1(0x82)](_0x47498d[_0x2c60e1(0x80)]):_0x57f9e4[_0x2c60e1(0x82)](_0x47498d[_0x2c60e1(0x80)]);}for(const _0x3f94b7 of Object['keys'](_0x1d9898[_0x2c60e1(0x97)])){!_0x18bc05[_0x2c60e1(0xa0)](_0x3f94b7)&&_0x483d18['push'](_0x3f94b7);}const _0x180d9a=[];if(_0x408ed2[_0x2c60e1(0xa5)](_0x2c60e1(0x8c))){const _0xc9bae2=await fetchAllSqlCodes(_0x408ed2[_0x2c60e1(0x89)]);for(const _0x47985d of _0xc9bae2){!_0x18bc05[_0x2c60e1(0xa0)](_0x47985d)&&!_0x1d9898['sqls'][_0x47985d]&&_0x180d9a['push'](_0x47985d);}}const _0x4ffbb7=_0x1c522e[_0x2c60e1(0x91)]===0x0&&_0x5245ce[_0x2c60e1(0x91)]===0x0&&_0x483d18['length']===0x0&&_0x180d9a[_0x2c60e1(0x91)]===0x0;return{'ok':!![],'data':{'added':_0x1c522e,'modified':_0x5245ce,'missing':_0x483d18,'unchanged':_0x57f9e4,'remoteOnly':_0x180d9a},'message':_0x4ffbb7?_0x2c60e1(0x8d):_0x1c522e[_0x2c60e1(0x91)]+_0x2c60e1(0x85)+_0x5245ce[_0x2c60e1(0x91)]+'\x20modified,\x20'+_0x483d18[_0x2c60e1(0x91)]+_0x2c60e1(0x9a)+_0x57f9e4[_0x2c60e1(0x91)]+_0x2c60e1(0x84)+(_0x180d9a[_0x2c60e1(0x91)]>0x0?',\x20'+_0x180d9a[_0x2c60e1(0x91)]+_0x2c60e1(0x90):'')};}};function a199_0x22f9(){const _0x5f47a5=['sqlName','273CpeXno','84IXyojD','path','bool','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','filePath','lockKey','9CfMlAV','push','2860peDmGS','\x20unchanged','\x20added,\x20','totalCount','sql','paging','appCode','32305arKXfE','tableData','remote','All\x20SQL\x20queries\x20are\x20in\x20sync.','4359rpuoHy','sqlCode','\x20remote-only','length','read','12xihqNm','1466JwKEdG','621717MyxkGN','relativePath','sqls','9474dWONpv','boolean','\x20missing,\x20','13353847UmFwsz','map','2578840DSiYyv','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','9970gsXmkZ','has'];a199_0x22f9=function(){return _0x5f47a5;};return a199_0x22f9();}
@@ -1 +1 @@
1
- const a195_0x387d6d=a195_0xb141;(function(_0x2ba2a4,_0x1735f1){const _0x38175d=a195_0xb141,_0x2247ba=_0x2ba2a4();while(!![]){try{const _0x275d10=parseInt(_0x38175d(0xd2))/0x1*(-parseInt(_0x38175d(0xef))/0x2)+-parseInt(_0x38175d(0x10c))/0x3*(-parseInt(_0x38175d(0xcf))/0x4)+parseInt(_0x38175d(0xea))/0x5+-parseInt(_0x38175d(0xfd))/0x6*(-parseInt(_0x38175d(0xe8))/0x7)+-parseInt(_0x38175d(0xe3))/0x8+parseInt(_0x38175d(0xf6))/0x9+parseInt(_0x38175d(0x105))/0xa*(parseInt(_0x38175d(0xda))/0xb);if(_0x275d10===_0x1735f1)break;else _0x2247ba['push'](_0x2247ba['shift']());}catch(_0xbd7fde){_0x2247ba['push'](_0x2247ba['shift']());}}}(a195_0x2a44,0xdfec5));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';import{auditSqlJoinIndexes}from'../../core/sql-index-auditor.js';function a195_0x2a44(){const _0x2f6da6=['Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','get','check-indexes','dbtableConfig','1210repilq','index_type','--check-indexes\x20requires\x20--schemas.','reason','cwd','length','isSelectOnly','find','parameters','12723928fxJMRp','validate','valid','pkField','dataset','537131tMREJD','schemas','4203185EfdRTy','str','type','sql','split','513914thjAHH','index_columns','File\x20not\x20found:\x20','fields','push','columns','filter','3268287dAPPbP','file','isArray','toLowerCase','Table\x20\x22','validation','SQL\x20schema\x20validation','12kcmLGi','boolean','flatMap','unshift','string','utf-8','map','bool','20010VEgmlz','from','flagMissing','tables','sqlType','columnNames','name','45NEbYBd','schemaWarnings','Provide\x20--file\x20or\x20--sql','Dataset\x20\x22','indexes','453652fkBIVW','primary','size','3tfuGDK','tableName','message','trim'];a195_0x2a44=function(){return _0x2f6da6;};return a195_0x2a44();}import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a195_0xb141(_0x1ae5f2,_0x145e8f){_0x1ae5f2=_0x1ae5f2-0xce;const _0x2a4475=a195_0x2a44();let _0xb1415b=_0x2a4475[_0x1ae5f2];return _0xb1415b;}import{assertDatasetIsDbTableBacked,filterDbTableBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':a195_0x387d6d(0xed),'command':a195_0x387d6d(0xe4),'description':'Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','risk':'read','flags':[{'name':'file','type':a195_0x387d6d(0x101),'description':'Path\x20to\x20the\x20SQL\x20file\x20to\x20validate'},{'name':a195_0x387d6d(0xed),'type':a195_0x387d6d(0x101),'description':'Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)'},{'name':a195_0x387d6d(0xe9),'type':a195_0x387d6d(0x101),'description':'Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against'},{'name':a195_0x387d6d(0xd8),'type':a195_0x387d6d(0xfe),'description':a195_0x387d6d(0xd6)}],async 'execute'(_0x5b1517){const _0x4fa6b5=a195_0x387d6d,_0x3e4c5c=_0x5b1517[_0x4fa6b5(0xeb)]('file'),_0x47781c=_0x5b1517[_0x4fa6b5(0xeb)](_0x4fa6b5(0xed)),_0xed022b=_0x5b1517[_0x4fa6b5(0xeb)](_0x4fa6b5(0xe9)),_0x508356=_0x5b1517[_0x4fa6b5(0x104)](_0x4fa6b5(0xd8));if(!_0x3e4c5c&&!_0x47781c)throw CliErrors[_0x4fa6b5(0x107)](_0x4fa6b5(0xf7),_0x4fa6b5(0x10e));if(_0x508356&&!_0xed022b)throw CliErrors[_0x4fa6b5(0xfb)](_0x4fa6b5(0xdc));let _0x4af58f;if(_0x3e4c5c){const _0x27e96c=resolve(process[_0x4fa6b5(0xde)](),_0x3e4c5c);if(!existsSync(_0x27e96c))throw CliErrors[_0x4fa6b5(0xfb)](_0x4fa6b5(0xf1)+_0x27e96c);_0x4af58f=readFileSync(_0x27e96c,_0x4fa6b5(0x102));}else _0x4af58f=_0x47781c;const _0x35a97c=validateSql(_0x4af58f),_0x38ecfc={'valid':_0x35a97c[_0x4fa6b5(0xe5)],'sqlType':_0x35a97c[_0x4fa6b5(0x109)][_0x4fa6b5(0xec)],'isSelectOnly':_0x35a97c['sqlType'][_0x4fa6b5(0xe0)],'isDangerous':_0x35a97c['sqlType']['isDangerous'],'tables':_0x35a97c[_0x4fa6b5(0x108)],'parameters':_0x35a97c[_0x4fa6b5(0xe2)],'message':_0x35a97c['message']};_0x35a97c['sqlType'][_0x4fa6b5(0xdd)]&&(_0x38ecfc[_0x4fa6b5(0xdd)]=_0x35a97c[_0x4fa6b5(0x109)]['reason']);if(_0xed022b&&_0x35a97c[_0x4fa6b5(0xe5)]){const _0xa5daf=_0xed022b['split'](',')[_0x4fa6b5(0x103)](_0x3ffd54=>_0x3ffd54[_0x4fa6b5(0xd5)]())['filter'](Boolean),_0x551141=[],_0x5fc5eb=[],_0xd10c70=filterDbTableBackedDatasets(await listDatasets(_0x5b1517['appCode'])),_0x2b5a8a=new Map(_0xd10c70['map'](_0x1eeced=>[_0x1eeced[_0x4fa6b5(0xd9)]?.[_0x4fa6b5(0xd3)]?.['toLowerCase'](),_0x1eeced]));for(const _0x3f4ed5 of _0x35a97c['tables']){const _0x1a179a=_0x2b5a8a[_0x4fa6b5(0xd7)](_0x3f4ed5[_0x4fa6b5(0xf9)]());!_0x1a179a&&_0x551141[_0x4fa6b5(0xf3)](_0x4fa6b5(0xfa)+_0x3f4ed5+'\x22\x20not\x20found\x20in\x20any\x20dataset');}for(const _0x3bddbc of _0xa5daf){let _0x4c67f6;try{_0x4c67f6=await getDatasetDetail(_0x3bddbc);}catch{_0x551141['push'](_0x4fa6b5(0x10f)+_0x3bddbc+'\x22\x20not\x20found\x20or\x20not\x20accessible');continue;}assertDatasetIsDbTableBacked(_0x4c67f6,_0x4fa6b5(0xfc));const _0x18a0b2=Array[_0x4fa6b5(0xf8)](_0x4c67f6['fields'])?_0x4c67f6[_0x4fa6b5(0xf2)]:[],_0x73904b=new Set(_0x18a0b2[_0x4fa6b5(0x103)](_0x53b704=>_0x53b704['name']?.[_0x4fa6b5(0xf9)]())),_0x20693f=_0x4c67f6[_0x4fa6b5(0xd9)]?.['tableName']||_0x4c67f6['tableName']||_0x3bddbc;_0x38ecfc['schema:'+_0x20693f]={'code':_0x3bddbc,'tableName':_0x20693f,'fieldCount':_0x73904b[_0x4fa6b5(0xd1)],'fields':Array[_0x4fa6b5(0x106)](_0x73904b)};if(_0x508356){const _0x4c811c=normalizeDatasetIndexes(_0x4c67f6);_0x5fc5eb[_0x4fa6b5(0xf3)]({'tableName':_0x20693f,..._0x4c811c});}}_0x551141['length']>0x0&&(_0x38ecfc[_0x4fa6b5(0x10d)]=_0x551141),_0x508356&&(_0x38ecfc['joinAudit']=auditSqlJoinIndexes(_0x4af58f,_0x5fc5eb));}return{'ok':_0x35a97c[_0x4fa6b5(0xe5)],'data':_0x38ecfc,'message':_0x35a97c[_0x4fa6b5(0xd4)]};}};function normalizeDatasetIndexes(_0x61048c){const _0x302c0f=a195_0x387d6d,_0x335720=Array[_0x302c0f(0xf8)](_0x61048c?.['dataset']?.[_0x302c0f(0xce)])?_0x61048c[_0x302c0f(0xe7)][_0x302c0f(0xce)]:Array[_0x302c0f(0xf8)](_0x61048c?.[_0x302c0f(0xce)])?_0x61048c[_0x302c0f(0xce)]:[],_0xf7e5e0=_0x335720[_0x302c0f(0xff)](_0x1094ba=>{const _0x371fb7=_0x302c0f,_0x3b2c06=Array[_0x371fb7(0xf8)](_0x1094ba?.[_0x371fb7(0xf0)])?_0x1094ba[_0x371fb7(0xf0)]:Array[_0x371fb7(0xf8)](_0x1094ba?.[_0x371fb7(0x10a)])?_0x1094ba[_0x371fb7(0x10a)]:Array[_0x371fb7(0xf8)](_0x1094ba?.[_0x371fb7(0xf4)])?_0x1094ba['columns']:[],_0x528790=_0x3b2c06['filter'](_0x36461b=>typeof _0x36461b===_0x371fb7(0x101))[_0x371fb7(0x103)](_0x55b179=>_0x55b179['trim']())[_0x371fb7(0xf5)](Boolean);if(_0x528790[_0x371fb7(0xdf)]===0x0)return[];const _0x3b7e20=[_0x1094ba?.['indexName'],_0x1094ba?.['index_name'],_0x1094ba?.[_0x371fb7(0x10b)]][_0x371fb7(0xe1)](_0x404a7a=>typeof _0x404a7a===_0x371fb7(0x101)&&_0x404a7a['trim']()),_0x6c7d89=[_0x1094ba?.[_0x371fb7(0xdb)],_0x1094ba?.[_0x371fb7(0xec)]][_0x371fb7(0xe1)](_0x4c90c3=>typeof _0x4c90c3===_0x371fb7(0x101)&&_0x4c90c3[_0x371fb7(0xd5)]());return[{..._0x3b7e20?{'name':_0x3b7e20[_0x371fb7(0xd5)]()}:{},..._0x6c7d89?{'type':_0x6c7d89[_0x371fb7(0xd5)]()}:{},'columns':_0x528790}];}),_0xf19915=[..._0xf7e5e0],_0x17a57c=typeof _0x61048c?.[_0x302c0f(0xd9)]?.[_0x302c0f(0xe6)]===_0x302c0f(0x101)?_0x61048c[_0x302c0f(0xd9)][_0x302c0f(0xe6)][_0x302c0f(0xee)](',')['map'](_0x4aa645=>_0x4aa645[_0x302c0f(0xd5)]())[_0x302c0f(0xf5)](Boolean):[];return _0x17a57c[_0x302c0f(0xdf)]>0x0&&_0xf19915[_0x302c0f(0x100)]({'type':_0x302c0f(0xd0),'columns':_0x17a57c}),{'indexes':_0xf19915,'metadataAvailable':_0xf7e5e0['length']>0x0};}
1
+ const a200_0x10564e=a200_0x4788;(function(_0x261f35,_0x23f7f1){const _0xa73d4d=a200_0x4788,_0x3d0d88=_0x261f35();while(!![]){try{const _0x2107ce=-parseInt(_0xa73d4d(0x10c))/0x1+-parseInt(_0xa73d4d(0x118))/0x2+parseInt(_0xa73d4d(0x130))/0x3*(-parseInt(_0xa73d4d(0x14b))/0x4)+-parseInt(_0xa73d4d(0x11e))/0x5*(parseInt(_0xa73d4d(0x131))/0x6)+-parseInt(_0xa73d4d(0x128))/0x7*(-parseInt(_0xa73d4d(0x13f))/0x8)+-parseInt(_0xa73d4d(0x10b))/0x9+-parseInt(_0xa73d4d(0x10d))/0xa*(-parseInt(_0xa73d4d(0x11f))/0xb);if(_0x2107ce===_0x23f7f1)break;else _0x3d0d88['push'](_0x3d0d88['shift']());}catch(_0x2063de){_0x3d0d88['push'](_0x3d0d88['shift']());}}}(a200_0x2d8d,0x95d4f));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';function a200_0x2d8d(){const _0x14abe5=['schemaWarnings','map','validation','Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','1628pxrLUw','schemas','type','unshift','4866264WrEUmh','132465pACTAo','40FeoGpn','sqlType','get','joinAudit','read','columns','dataset','toLowerCase','split','\x22\x20not\x20found\x20or\x20not\x20accessible','pkField','201634AmShxC','index_columns','isArray','appCode','reason','cwd','10IjKIHo','6807691UkDXoG','filter','Provide\x20--file\x20or\x20--sql','isSelectOnly','trim','columnNames','str','validate','sql','7mQeAvw','indexName','check-indexes','flatMap','index_type','find','indexes','tableName','2742qQCSmR','3167316MeWQHN','schema:','string','size','length','flagMissing','push','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','index_name','fields','Dataset\x20\x22','from','file','message','2719480LFIJWk','dbtableConfig','parameters','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Table\x20\x22','valid','bool','tables'];a200_0x2d8d=function(){return _0x14abe5;};return a200_0x2d8d();}function a200_0x4788(_0x4b5ab9,_0x1bed53){_0x4b5ab9=_0x4b5ab9-0x108;const _0x2d8d3a=a200_0x2d8d();let _0x47881d=_0x2d8d3a[_0x4b5ab9];return _0x47881d;}import{validateSql}from'../../core/sql-validator.js';import{auditSqlJoinIndexes}from'../../core/sql-index-auditor.js';import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetIsDbTableBacked,filterDbTableBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':'sql','command':a200_0x10564e(0x126),'description':a200_0x10564e(0x138),'risk':a200_0x10564e(0x111),'flags':[{'name':a200_0x10564e(0x13d),'type':a200_0x10564e(0x133),'description':a200_0x10564e(0x142)},{'name':a200_0x10564e(0x127),'type':a200_0x10564e(0x133),'description':'Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)'},{'name':'schemas','type':a200_0x10564e(0x133),'description':'Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against'},{'name':a200_0x10564e(0x12a),'type':'boolean','description':a200_0x10564e(0x14a)}],async 'execute'(_0x5233b1){const _0xbb602c=a200_0x10564e,_0x3ef74a=_0x5233b1['str'](_0xbb602c(0x13d)),_0x3234e6=_0x5233b1[_0xbb602c(0x125)](_0xbb602c(0x127)),_0x211830=_0x5233b1['str'](_0xbb602c(0x108)),_0x495bd5=_0x5233b1[_0xbb602c(0x145)](_0xbb602c(0x12a));if(!_0x3ef74a&&!_0x3234e6)throw CliErrors[_0xbb602c(0x136)](_0xbb602c(0x13d),_0xbb602c(0x121));if(_0x495bd5&&!_0x211830)throw CliErrors[_0xbb602c(0x149)]('--check-indexes\x20requires\x20--schemas.');let _0x545a31;if(_0x3ef74a){const _0x1401ad=resolve(process[_0xbb602c(0x11d)](),_0x3ef74a);if(!existsSync(_0x1401ad))throw CliErrors[_0xbb602c(0x149)]('File\x20not\x20found:\x20'+_0x1401ad);_0x545a31=readFileSync(_0x1401ad,'utf-8');}else _0x545a31=_0x3234e6;const _0x5cf05c=validateSql(_0x545a31),_0x146b71={'valid':_0x5cf05c['valid'],'sqlType':_0x5cf05c['sqlType']['type'],'isSelectOnly':_0x5cf05c[_0xbb602c(0x10e)][_0xbb602c(0x122)],'isDangerous':_0x5cf05c[_0xbb602c(0x10e)]['isDangerous'],'tables':_0x5cf05c['tables'],'parameters':_0x5cf05c[_0xbb602c(0x141)],'message':_0x5cf05c['message']};_0x5cf05c[_0xbb602c(0x10e)][_0xbb602c(0x11c)]&&(_0x146b71[_0xbb602c(0x11c)]=_0x5cf05c['sqlType']['reason']);if(_0x211830&&_0x5cf05c['valid']){const _0x285c5f=_0x211830['split'](',')[_0xbb602c(0x148)](_0x16280d=>_0x16280d[_0xbb602c(0x123)]())['filter'](Boolean),_0x456876=[],_0x4d0580=[],_0x4cd3d9=filterDbTableBackedDatasets(await listDatasets(_0x5233b1[_0xbb602c(0x11b)])),_0x1b4194=new Map(_0x4cd3d9[_0xbb602c(0x148)](_0x123780=>[_0x123780[_0xbb602c(0x140)]?.[_0xbb602c(0x12f)]?.[_0xbb602c(0x114)](),_0x123780]));for(const _0x6fab4e of _0x5cf05c[_0xbb602c(0x146)]){const _0x1404f8=_0x1b4194[_0xbb602c(0x10f)](_0x6fab4e['toLowerCase']());!_0x1404f8&&_0x456876[_0xbb602c(0x137)](_0xbb602c(0x143)+_0x6fab4e+'\x22\x20not\x20found\x20in\x20any\x20dataset');}for(const _0x542199 of _0x285c5f){let _0x581a68;try{_0x581a68=await getDatasetDetail(_0x542199);}catch{_0x456876[_0xbb602c(0x137)](_0xbb602c(0x13b)+_0x542199+_0xbb602c(0x116));continue;}assertDatasetIsDbTableBacked(_0x581a68,'SQL\x20schema\x20validation');const _0x58479c=Array[_0xbb602c(0x11a)](_0x581a68[_0xbb602c(0x13a)])?_0x581a68[_0xbb602c(0x13a)]:[],_0x328b01=new Set(_0x58479c[_0xbb602c(0x148)](_0x1736b2=>_0x1736b2['name']?.[_0xbb602c(0x114)]())),_0x255e42=_0x581a68[_0xbb602c(0x140)]?.[_0xbb602c(0x12f)]||_0x581a68[_0xbb602c(0x12f)]||_0x542199;_0x146b71[_0xbb602c(0x132)+_0x255e42]={'code':_0x542199,'tableName':_0x255e42,'fieldCount':_0x328b01[_0xbb602c(0x134)],'fields':Array[_0xbb602c(0x13c)](_0x328b01)};if(_0x495bd5){const _0x23d5a0=normalizeDatasetIndexes(_0x581a68);_0x4d0580['push']({'tableName':_0x255e42,..._0x23d5a0});}}_0x456876[_0xbb602c(0x135)]>0x0&&(_0x146b71[_0xbb602c(0x147)]=_0x456876),_0x495bd5&&(_0x146b71[_0xbb602c(0x110)]=auditSqlJoinIndexes(_0x545a31,_0x4d0580));}return{'ok':_0x5cf05c[_0xbb602c(0x144)],'data':_0x146b71,'message':_0x5cf05c[_0xbb602c(0x13e)]};}};function normalizeDatasetIndexes(_0x2bf005){const _0x1ac5b7=a200_0x10564e,_0x4fece4=Array['isArray'](_0x2bf005?.['dataset']?.[_0x1ac5b7(0x12e)])?_0x2bf005[_0x1ac5b7(0x113)][_0x1ac5b7(0x12e)]:Array[_0x1ac5b7(0x11a)](_0x2bf005?.[_0x1ac5b7(0x12e)])?_0x2bf005[_0x1ac5b7(0x12e)]:[],_0x4a10ee=_0x4fece4[_0x1ac5b7(0x12b)](_0x37790d=>{const _0x5089ec=_0x1ac5b7,_0x2d4bef=Array[_0x5089ec(0x11a)](_0x37790d?.[_0x5089ec(0x119)])?_0x37790d[_0x5089ec(0x119)]:Array['isArray'](_0x37790d?.['columnNames'])?_0x37790d[_0x5089ec(0x124)]:Array[_0x5089ec(0x11a)](_0x37790d?.['columns'])?_0x37790d[_0x5089ec(0x112)]:[],_0x11910a=_0x2d4bef[_0x5089ec(0x120)](_0x106ff=>typeof _0x106ff===_0x5089ec(0x133))['map'](_0xbf1ae=>_0xbf1ae[_0x5089ec(0x123)]())[_0x5089ec(0x120)](Boolean);if(_0x11910a[_0x5089ec(0x135)]===0x0)return[];const _0x1d999c=[_0x37790d?.[_0x5089ec(0x129)],_0x37790d?.[_0x5089ec(0x139)],_0x37790d?.['name']]['find'](_0x3dc47a=>typeof _0x3dc47a===_0x5089ec(0x133)&&_0x3dc47a[_0x5089ec(0x123)]()),_0x327ef2=[_0x37790d?.[_0x5089ec(0x12c)],_0x37790d?.[_0x5089ec(0x109)]][_0x5089ec(0x12d)](_0x23804e=>typeof _0x23804e==='string'&&_0x23804e[_0x5089ec(0x123)]());return[{..._0x1d999c?{'name':_0x1d999c['trim']()}:{},..._0x327ef2?{'type':_0x327ef2[_0x5089ec(0x123)]()}:{},'columns':_0x11910a}];}),_0x99eb4c=[..._0x4a10ee],_0x44e1ab=typeof _0x2bf005?.[_0x1ac5b7(0x140)]?.[_0x1ac5b7(0x117)]===_0x1ac5b7(0x133)?_0x2bf005[_0x1ac5b7(0x140)][_0x1ac5b7(0x117)][_0x1ac5b7(0x115)](',')['map'](_0x445c20=>_0x445c20[_0x1ac5b7(0x123)]())[_0x1ac5b7(0x120)](Boolean):[];return _0x44e1ab['length']>0x0&&_0x99eb4c[_0x1ac5b7(0x10a)]({'type':'primary','columns':_0x44e1ab}),{'indexes':_0x99eb4c,'metadataAvailable':_0x4a10ee['length']>0x0};}
@@ -1 +1 @@
1
- function a196_0x12aa(){const _0x5e2e18=['1648240eERGbI','9xoEdvY','7900ZmxKAx','17iCjLjC','449885rKcZmo','6jGaZMe','10175869JORHhG','45928ZFmkmS','747WUXVfO','12filJlG','3229219uvCKNI','389096ckcCOt'];a196_0x12aa=function(){return _0x5e2e18;};return a196_0x12aa();}(function(_0x140926,_0x37bd85){const _0x49f4d1=a196_0x390d,_0x17ca91=_0x140926();while(!![]){try{const _0x5e81b1=parseInt(_0x49f4d1(0x7c))/0x1*(-parseInt(_0x49f4d1(0x80))/0x2)+parseInt(_0x49f4d1(0x81))/0x3*(parseInt(_0x49f4d1(0x7b))/0x4)+-parseInt(_0x49f4d1(0x7d))/0x5+-parseInt(_0x49f4d1(0x7e))/0x6*(parseInt(_0x49f4d1(0x77))/0x7)+parseInt(_0x49f4d1(0x78))/0x8*(-parseInt(_0x49f4d1(0x7a))/0x9)+-parseInt(_0x49f4d1(0x79))/0xa+-parseInt(_0x49f4d1(0x7f))/0xb*(-parseInt(_0x49f4d1(0x82))/0xc);if(_0x5e81b1===_0x37bd85)break;else _0x17ca91['push'](_0x17ca91['shift']());}catch(_0x8ed79d){_0x17ca91['push'](_0x17ca91['shift']());}}}(a196_0x12aa,0x3fe4f));import{taskStatus}from'../../commands/task/status.js';function a196_0x390d(_0x101174,_0xf8481e){_0x101174=_0x101174-0x77;const _0x12aa05=a196_0x12aa();let _0x390dde=_0x12aa05[_0x101174];return _0x390dde;}export const taskDefinitions=[taskStatus];
1
+ (function(_0x105f5f,_0x3010c3){const _0x167e8d=a201_0x40f2,_0x449b9b=_0x105f5f();while(!![]){try{const _0x12b94b=parseInt(_0x167e8d(0x18f))/0x1*(-parseInt(_0x167e8d(0x188))/0x2)+parseInt(_0x167e8d(0x18c))/0x3*(parseInt(_0x167e8d(0x18b))/0x4)+parseInt(_0x167e8d(0x18a))/0x5+parseInt(_0x167e8d(0x191))/0x6+-parseInt(_0x167e8d(0x192))/0x7*(parseInt(_0x167e8d(0x190))/0x8)+parseInt(_0x167e8d(0x18e))/0x9+parseInt(_0x167e8d(0x189))/0xa*(-parseInt(_0x167e8d(0x18d))/0xb);if(_0x12b94b===_0x3010c3)break;else _0x449b9b['push'](_0x449b9b['shift']());}catch(_0x1723c3){_0x449b9b['push'](_0x449b9b['shift']());}}}(a201_0x1279,0xaa2f2));function a201_0x40f2(_0x799262,_0x5250c6){_0x799262=_0x799262-0x188;const _0x127930=a201_0x1279();let _0x40f2b1=_0x127930[_0x799262];return _0x40f2b1;}import{taskStatus}from'../../commands/task/status.js';export const taskDefinitions=[taskStatus];function a201_0x1279(){const _0x2e7994=['1072SboUqV','45090YPQfKN','4857295dppjOt','4118388sMfwJf','3PgNyWN','3982rQBKyT','7506522NvKkDI','1757tTdUgL','40zKJYGD','7313610BGTvPs','1096151NbLhmV'];a201_0x1279=function(){return _0x2e7994;};return a201_0x1279();}
@@ -1 +1 @@
1
- const a197_0x3f54bd=a197_0x458f;(function(_0x2ef6e2,_0x3bb41e){const _0x4f3c4a=a197_0x458f,_0x3aa940=_0x2ef6e2();while(!![]){try{const _0x41f559=-parseInt(_0x4f3c4a(0x203))/0x1*(parseInt(_0x4f3c4a(0x204))/0x2)+parseInt(_0x4f3c4a(0x1fb))/0x3*(parseInt(_0x4f3c4a(0x1fe))/0x4)+parseInt(_0x4f3c4a(0x205))/0x5+parseInt(_0x4f3c4a(0x1f2))/0x6+parseInt(_0x4f3c4a(0x206))/0x7+-parseInt(_0x4f3c4a(0x1fa))/0x8+-parseInt(_0x4f3c4a(0x1f9))/0x9;if(_0x41f559===_0x3bb41e)break;else _0x3aa940['push'](_0x3aa940['shift']());}catch(_0x2e11a0){_0x3aa940['push'](_0x3aa940['shift']());}}}(a197_0x18a8,0x75bf8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a197_0x458f(_0x42cd65,_0x214cd1){_0x42cd65=_0x42cd65-0x1f0;const _0x18a814=a197_0x18a8();let _0x458f14=_0x18a814[_0x42cd65];return _0x458f14;}import{getAsyncTaskStatus}from'../../core/api-client.js';function a197_0x18a8(){const _0xf938fc=['2716398OmKjPt','3342208JxXlcE','141UcjCMW','isTerminal','task-id','33716aIWuWt','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','read','cookie','status','1sPaApc','1786662ENOspd','163695vnkKaZ','5742828xWMxJj','taskId','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','5075514Otqyat','str','Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','task','appCode','trim','flagMissing'];a197_0x18a8=function(){return _0xf938fc;};return a197_0x18a8();}import{CliErrors}from'../../errors.js';export const taskStatus={'service':a197_0x3f54bd(0x1f5),'command':a197_0x3f54bd(0x202),'description':a197_0x3f54bd(0x1f4),'risk':a197_0x3f54bd(0x200),'defaultOutputFormat':'compress','structuredErrors':!![],'flags':[{'name':a197_0x3f54bd(0x1fd),'type':'string','required':!![],'description':a197_0x3f54bd(0x1ff)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e73e6){const _0x4283d0=a197_0x3f54bd;if(!_0x3e73e6[_0x4283d0(0x1f3)](_0x4283d0(0x1fd))[_0x4283d0(0x1f7)]())throw CliErrors[_0x4283d0(0x1f8)](_0x4283d0(0x1fd));},async 'execute'(_0x57788c){const _0x418664=a197_0x3f54bd,_0x9a4a=_0x57788c[_0x418664(0x1f3)](_0x418664(0x1fd))[_0x418664(0x1f7)](),_0x1dd6c8=normalizeAsyncTask(await getAsyncTaskStatus(_0x9a4a,_0x57788c[_0x418664(0x1f6)],_0x57788c[_0x418664(0x201)]));if(_0x1dd6c8['taskId']!==_0x9a4a)throw CliErrors['apiError'](_0x418664(0x1f1)+_0x9a4a+',\x20received\x20'+_0x1dd6c8[_0x418664(0x1f0)]+'.');const _0x1345c0=buildAsyncTaskStatusCommand(_0x1dd6c8['taskId'],_0x57788c['appCode']);return{'ok':!![],'message':asyncTaskMessage(_0x1dd6c8),'data':{'appCode':_0x57788c[_0x418664(0x1f6)],..._0x1dd6c8,'query':_0x1dd6c8[_0x418664(0x1fc)]?null:{'command':_0x1345c0}}};}};
1
+ function a202_0x9668(_0xc4588,_0x41475b){_0xc4588=_0xc4588-0x108;const _0x41e42a=a202_0x41e4();let _0x96682f=_0x41e42a[_0xc4588];return _0x96682f;}const a202_0x8cef89=a202_0x9668;(function(_0x516b8e,_0x34db07){const _0x17b7be=a202_0x9668,_0x3bcf3e=_0x516b8e();while(!![]){try{const _0xfb515d=parseInt(_0x17b7be(0x10e))/0x1+parseInt(_0x17b7be(0x111))/0x2+parseInt(_0x17b7be(0x10c))/0x3+-parseInt(_0x17b7be(0x118))/0x4+-parseInt(_0x17b7be(0x112))/0x5+-parseInt(_0x17b7be(0x110))/0x6+parseInt(_0x17b7be(0x115))/0x7;if(_0xfb515d===_0x34db07)break;else _0x3bcf3e['push'](_0x3bcf3e['shift']());}catch(_0x47ef2b){_0x3bcf3e['push'](_0x3bcf3e['shift']());}}}(a202_0x41e4,0x6c4e5));function a202_0x41e4(){const _0x4e5010=['1496016IFDkcc','1672740frrBPd','appCode','status','2845892cLdUzH','trim','isTerminal','2512672rLKMKe','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','string','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','task-id','cookie','Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','2265990XgAElU','str','49906BwbBvR','taskId','3320778ilCQkx'];a202_0x41e4=function(){return _0x4e5010;};return a202_0x41e4();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{getAsyncTaskStatus}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const taskStatus={'service':'task','command':a202_0x8cef89(0x114),'description':a202_0x8cef89(0x10b),'risk':'read','defaultOutputFormat':'compress','structuredErrors':!![],'flags':[{'name':a202_0x8cef89(0x109),'type':a202_0x8cef89(0x11a),'required':!![],'description':a202_0x8cef89(0x119)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x31ba14){const _0x47070d=a202_0x8cef89;if(!_0x31ba14['str'](_0x47070d(0x109))[_0x47070d(0x116)]())throw CliErrors['flagMissing'](_0x47070d(0x109));},async 'execute'(_0x1d7321){const _0x1881ed=a202_0x8cef89,_0x1b0d83=_0x1d7321[_0x1881ed(0x10d)](_0x1881ed(0x109))[_0x1881ed(0x116)](),_0x3242d5=normalizeAsyncTask(await getAsyncTaskStatus(_0x1b0d83,_0x1d7321['appCode'],_0x1d7321[_0x1881ed(0x10a)]));if(_0x3242d5[_0x1881ed(0x10f)]!==_0x1b0d83)throw CliErrors['apiError'](_0x1881ed(0x108)+_0x1b0d83+',\x20received\x20'+_0x3242d5[_0x1881ed(0x10f)]+'.');const _0x3979b2=buildAsyncTaskStatusCommand(_0x3242d5[_0x1881ed(0x10f)],_0x1d7321[_0x1881ed(0x113)]);return{'ok':!![],'message':asyncTaskMessage(_0x3242d5),'data':{'appCode':_0x1d7321[_0x1881ed(0x113)],..._0x3242d5,'query':_0x3242d5[_0x1881ed(0x117)]?null:{'command':_0x3979b2}}};}};
@@ -1 +1 @@
1
- (function(_0x7d415f,_0xb5e466){const _0x40285b=a198_0x5151,_0x1ef74d=_0x7d415f();while(!![]){try{const _0x6805d9=parseInt(_0x40285b(0x110))/0x1*(parseInt(_0x40285b(0x10e))/0x2)+parseInt(_0x40285b(0x114))/0x3*(-parseInt(_0x40285b(0x113))/0x4)+parseInt(_0x40285b(0x10d))/0x5+parseInt(_0x40285b(0x10f))/0x6+parseInt(_0x40285b(0x10c))/0x7+parseInt(_0x40285b(0x116))/0x8*(parseInt(_0x40285b(0x115))/0x9)+-parseInt(_0x40285b(0x112))/0xa*(parseInt(_0x40285b(0x111))/0xb);if(_0x6805d9===_0xb5e466)break;else _0x1ef74d['push'](_0x1ef74d['shift']());}catch(_0x5d55f4){_0x1ef74d['push'](_0x1ef74d['shift']());}}}(a198_0x2a66,0xe5ca8));function a198_0x5151(_0x4e27b8,_0x49731b){_0x4e27b8=_0x4e27b8-0x10c;const _0x2a66ec=a198_0x2a66();let _0x5151cc=_0x2a66ec[_0x4e27b8];return _0x5151cc;}import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';export const tenantDefinitions=[tenantMembersListDefinition];function a198_0x2a66(){const _0x3bfe4a=['3431029qNsJqM','8898945oJxTJD','6IYlEJh','1175220PjozBe','216431LDmWRa','99ppoJDR','2175230ekxjHQ','28hgOXcm','182319frCmni','22689GKIYig','664QxiYNu'];a198_0x2a66=function(){return _0x3bfe4a;};return a198_0x2a66();}
1
+ function a203_0x70fb(){const _0x5ec1f7=['8266cbexdk','16RGhQTW','6276rSmdqr','413136FodHPU','12FKrOio','20HHdNoV','955LHseGN','100541scgFVD','1389553LhOujq','164070xWVPAf','10MfvwnR','118869RrvmiQ'];a203_0x70fb=function(){return _0x5ec1f7;};return a203_0x70fb();}(function(_0x1d9293,_0x10b20a){const _0x3414a5=a203_0x46c9,_0x55ae8d=_0x1d9293();while(!![]){try{const _0x4a3067=parseInt(_0x3414a5(0x104))/0x1*(-parseInt(_0x3414a5(0x108))/0x2)+-parseInt(_0x3414a5(0x103))/0x3*(parseInt(_0x3414a5(0xfd))/0x4)+-parseInt(_0x3414a5(0xfe))/0x5*(-parseInt(_0x3414a5(0x106))/0x6)+-parseInt(_0x3414a5(0xff))/0x7*(-parseInt(_0x3414a5(0x105))/0x8)+-parseInt(_0x3414a5(0x101))/0x9*(parseInt(_0x3414a5(0x102))/0xa)+parseInt(_0x3414a5(0x100))/0xb+parseInt(_0x3414a5(0x107))/0xc;if(_0x4a3067===_0x10b20a)break;else _0x55ae8d['push'](_0x55ae8d['shift']());}catch(_0x256d7f){_0x55ae8d['push'](_0x55ae8d['shift']());}}}(a203_0x70fb,0x1e1ba));import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';function a203_0x46c9(_0x2ac70f,_0x5bc2ad){_0x2ac70f=_0x2ac70f-0xfd;const _0x70fba7=a203_0x70fb();let _0x46c9e4=_0x70fba7[_0x2ac70f];return _0x46c9e4;}export const tenantDefinitions=[tenantMembersListDefinition];
@@ -1 +1 @@
1
- const a199_0x58f594=a199_0x4780;(function(_0x30fec1,_0x11b467){const _0x563f5a=a199_0x4780,_0x379c94=_0x30fec1();while(!![]){try{const _0x4c472e=parseInt(_0x563f5a(0x12a))/0x1+-parseInt(_0x563f5a(0x12d))/0x2*(-parseInt(_0x563f5a(0x12c))/0x3)+-parseInt(_0x563f5a(0x130))/0x4+-parseInt(_0x563f5a(0x133))/0x5+parseInt(_0x563f5a(0x129))/0x6*(-parseInt(_0x563f5a(0x12f))/0x7)+-parseInt(_0x563f5a(0x126))/0x8+-parseInt(_0x563f5a(0x12b))/0x9*(-parseInt(_0x563f5a(0x137))/0xa);if(_0x4c472e===_0x11b467)break;else _0x379c94['push'](_0x379c94['shift']());}catch(_0xcfa9c7){_0x379c94['push'](_0x379c94['shift']());}}}(a199_0x896c,0xdf97e));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';function a199_0x896c(){const _0x11bd95=['4478148CvSIcs','length','string','5213940AZXmVV','tenant-code','Pass\x20--tenant-code\x20<code>.','read','10351540xerJzK','List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','str','12667840OLQNuq','trim','members-list','6044478vEwkan','228248yrzVCC','36aFLUzg','121893wPSxFI','64GrkzCv','Found\x20','7AvWzmc'];a199_0x896c=function(){return _0x11bd95;};return a199_0x896c();}import{CliErrors}from'../../errors.js';import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';function a199_0x4780(_0x1c73ec,_0x3e7688){_0x1c73ec=_0x1c73ec-0x125;const _0x896c91=a199_0x896c();let _0x478062=_0x896c91[_0x1c73ec];return _0x478062;}export const tenantMembersListDefinition={'service':'tenant','command':a199_0x58f594(0x128),'description':a199_0x58f594(0x138),'risk':a199_0x58f594(0x136),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':'tenant-code','type':a199_0x58f594(0x132),'required':!![],'description':'Exact\x20tenant\x20code'}],async 'validate'(_0x3e0c01){const _0x45ec02=a199_0x58f594;if(!_0x3e0c01[_0x45ec02(0x125)]('tenant-code')[_0x45ec02(0x127)]())throw CliErrors['flagMissing'](_0x45ec02(0x134),_0x45ec02(0x135));},async 'execute'(_0x3a4dee){const _0x38be72=a199_0x58f594,_0x3073c3=_0x3a4dee[_0x38be72(0x125)](_0x38be72(0x134))[_0x38be72(0x127)](),_0x1c5d61=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x3073c3,_0x1c5d61);const _0x108713=projectTenantMembers(await listTenantDirectoryMembers(_0x3073c3));return{'ok':!![],'data':{'tenantCode':_0x3073c3,'items':_0x108713,'totalCount':_0x108713[_0x38be72(0x131)]},'message':_0x38be72(0x12e)+_0x108713[_0x38be72(0x131)]+'\x20tenant\x20member(s)'};}};
1
+ const a204_0x13ace9=a204_0x2d36;(function(_0x4a1a72,_0x2085cb){const _0x5b0e38=a204_0x2d36,_0x1e4501=_0x4a1a72();while(!![]){try{const _0x520356=-parseInt(_0x5b0e38(0xe4))/0x1+-parseInt(_0x5b0e38(0xed))/0x2+parseInt(_0x5b0e38(0xf1))/0x3+parseInt(_0x5b0e38(0xe8))/0x4*(parseInt(_0x5b0e38(0xea))/0x5)+parseInt(_0x5b0e38(0xe2))/0x6*(parseInt(_0x5b0e38(0xf0))/0x7)+parseInt(_0x5b0e38(0xe3))/0x8+-parseInt(_0x5b0e38(0xe1))/0x9;if(_0x520356===_0x2085cb)break;else _0x1e4501['push'](_0x1e4501['shift']());}catch(_0x232eb2){_0x1e4501['push'](_0x1e4501['shift']());}}}(a204_0x49b5,0x5db46));function a204_0x49b5(){const _0x1cea51=['read','length','flagMissing','1916PrSXxM','\x20tenant\x20member(s)','2065AoSqGH','members-list','tenant-code','741388pCkVMQ','Pass\x20--tenant-code\x20<code>.','str','119ostfaj','1322037zFGuus','tenant','Exact\x20tenant\x20code','string','1087119nFwBQA','12846ciKgZt','5352104KSOmTJ','468617mLPcwH'];a204_0x49b5=function(){return _0x1cea51;};return a204_0x49b5();}import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';function a204_0x2d36(_0x560af8,_0x235f0a){_0x560af8=_0x560af8-0xdf;const _0x49b51c=a204_0x49b5();let _0x2d3680=_0x49b51c[_0x560af8];return _0x2d3680;}import{CliErrors}from'../../errors.js';import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';export const tenantMembersListDefinition={'service':a204_0x13ace9(0xf2),'command':a204_0x13ace9(0xeb),'description':'List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','risk':a204_0x13ace9(0xe5),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a204_0x13ace9(0xec),'type':a204_0x13ace9(0xe0),'required':!![],'description':a204_0x13ace9(0xdf)}],async 'validate'(_0x3934aa){const _0x380db5=a204_0x13ace9;if(!_0x3934aa[_0x380db5(0xef)](_0x380db5(0xec))['trim']())throw CliErrors[_0x380db5(0xe7)](_0x380db5(0xec),_0x380db5(0xee));},async 'execute'(_0x131538){const _0x53caad=a204_0x13ace9,_0x5c35f2=_0x131538['str']('tenant-code')['trim'](),_0x575f89=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x5c35f2,_0x575f89);const _0x3abac3=projectTenantMembers(await listTenantDirectoryMembers(_0x5c35f2));return{'ok':!![],'data':{'tenantCode':_0x5c35f2,'items':_0x3abac3,'totalCount':_0x3abac3[_0x53caad(0xe6)]},'message':'Found\x20'+_0x3abac3[_0x53caad(0xe6)]+_0x53caad(0xe9)};}};