@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) 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.d.ts +7 -0
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.d.ts +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.d.ts +107 -0
  68. package/lib/commands/dataset/field-restore.js +1 -0
  69. package/lib/commands/dataset/field-update.js +1 -1
  70. package/lib/commands/dataset/generate.js +1 -1
  71. package/lib/commands/dataset/index.js +1 -1
  72. package/lib/commands/dataset/list.js +1 -1
  73. package/lib/commands/dataset/operations.js +1 -1
  74. package/lib/commands/dataset/relation-audit.js +1 -1
  75. package/lib/commands/dataset/relation-create.js +1 -1
  76. package/lib/commands/dataset/relation-delete.js +1 -1
  77. package/lib/commands/dataset/relation-shared.js +1 -1
  78. package/lib/commands/dataset/relation-update.js +1 -1
  79. package/lib/commands/dataset/relations.js +1 -1
  80. package/lib/commands/dataset/rename.js +1 -1
  81. package/lib/commands/dataset/restore.js +1 -1
  82. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  83. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  84. package/lib/commands/db/analysis-batching.js +1 -1
  85. package/lib/commands/db/analyze-batch-plan.js +1 -1
  86. package/lib/commands/db/analyze-cancel.js +1 -1
  87. package/lib/commands/db/analyze-start.js +1 -1
  88. package/lib/commands/db/analyze-status.js +1 -1
  89. package/lib/commands/db/create.js +1 -1
  90. package/lib/commands/db/delete.js +1 -1
  91. package/lib/commands/db/detail.js +1 -1
  92. package/lib/commands/db/diff-refresh-start.js +1 -1
  93. package/lib/commands/db/diff-refresh-status.js +1 -1
  94. package/lib/commands/db/diff.js +1 -1
  95. package/lib/commands/db/index.js +1 -1
  96. package/lib/commands/db/list.js +1 -1
  97. package/lib/commands/db/shared.js +1 -1
  98. package/lib/commands/db/table-diff-shared.js +1 -1
  99. package/lib/commands/db/tables.js +1 -1
  100. package/lib/commands/db/test.js +1 -1
  101. package/lib/commands/db/update.js +1 -1
  102. package/lib/commands/deployment/auto-sync.d.ts +28 -0
  103. package/lib/commands/deployment/auto-sync.js +1 -0
  104. package/lib/commands/deployment/index.d.ts +2 -0
  105. package/lib/commands/deployment/index.js +1 -0
  106. package/lib/commands/deployment/sync.d.ts +2 -0
  107. package/lib/commands/deployment/sync.js +1 -0
  108. package/lib/commands/doctor.js +1 -1
  109. package/lib/commands/file/index.js +1 -1
  110. package/lib/commands/issue/index.js +1 -1
  111. package/lib/commands/issue/nudge.js +1 -1
  112. package/lib/commands/issue/report.js +1 -1
  113. package/lib/commands/issue/shared.js +1 -1
  114. package/lib/commands/kb/create.js +1 -1
  115. package/lib/commands/kb/delete.js +1 -1
  116. package/lib/commands/kb/detail.js +1 -1
  117. package/lib/commands/kb/index.js +1 -1
  118. package/lib/commands/kb/list.js +1 -1
  119. package/lib/commands/kb/search.js +1 -1
  120. package/lib/commands/kb/shared.js +1 -1
  121. package/lib/commands/kb/update.js +1 -1
  122. package/lib/commands/logs/index.js +1 -1
  123. package/lib/commands/menu/asset-update.js +1 -1
  124. package/lib/commands/menu/delete.js +1 -1
  125. package/lib/commands/menu/external-link-create.js +1 -1
  126. package/lib/commands/menu/external-link-update.js +1 -1
  127. package/lib/commands/menu/group-create.js +1 -1
  128. package/lib/commands/menu/group-update.js +1 -1
  129. package/lib/commands/menu/index.js +1 -1
  130. package/lib/commands/menu/list.js +1 -1
  131. package/lib/commands/menu/move.js +1 -1
  132. package/lib/commands/menu/regroup-start.js +1 -1
  133. package/lib/commands/menu/rename.js +1 -1
  134. package/lib/commands/menu/shared/compare-table.js +1 -1
  135. package/lib/commands/menu/shared/delete-plan.js +1 -1
  136. package/lib/commands/menu/shared/facts.js +1 -1
  137. package/lib/commands/menu/shared/index.js +1 -1
  138. package/lib/commands/menu/shared/inquirer.js +1 -1
  139. package/lib/commands/menu/shared/local-pages.js +1 -1
  140. package/lib/commands/menu/shared/logic.js +1 -1
  141. package/lib/commands/menu/shared/mutations.js +1 -1
  142. package/lib/commands/menu/shared/service.js +1 -1
  143. package/lib/commands/menu/shared/sync-core.js +1 -1
  144. package/lib/commands/menu/shared/update-core.js +1 -1
  145. package/lib/commands/menu/shared/valid-url.js +1 -1
  146. package/lib/commands/menu/sync.js +1 -1
  147. package/lib/commands/menu/visibility-update.js +1 -1
  148. package/lib/commands/notification/config-create.js +1 -1
  149. package/lib/commands/notification/config-delete.js +1 -1
  150. package/lib/commands/notification/config-list.js +1 -1
  151. package/lib/commands/notification/config-update.js +1 -1
  152. package/lib/commands/notification/index.js +1 -1
  153. package/lib/commands/notification/shared.js +1 -1
  154. package/lib/commands/ocr/index.js +1 -1
  155. package/lib/commands/page/create.js +1 -1
  156. package/lib/commands/page/custom/detail.js +1 -1
  157. package/lib/commands/page/custom/list.js +1 -1
  158. package/lib/commands/page/custom/publish.js +1 -1
  159. package/lib/commands/page/custom/shared.js +1 -1
  160. package/lib/commands/page/custom/syntax.js +1 -1
  161. package/lib/commands/page/custom/template.js +1 -1
  162. package/lib/commands/page/custom/update.js +1 -1
  163. package/lib/commands/page/data-list-status.js +1 -1
  164. package/lib/commands/page/generate-start.js +1 -1
  165. package/lib/commands/page/generate-status.js +1 -1
  166. package/lib/commands/page/index.js +1 -1
  167. package/lib/commands/page/pull.js +1 -1
  168. package/lib/commands/page/push.js +1 -1
  169. package/lib/commands/page/relation-audit.js +1 -1
  170. package/lib/commands/page/restore.js +1 -1
  171. package/lib/commands/page/shared.js +1 -1
  172. package/lib/commands/page/sync.js +1 -1
  173. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  174. package/lib/commands/project/create/format-elapsed.js +1 -1
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.js +1 -1
  177. package/lib/commands/project/create/project-name.js +1 -1
  178. package/lib/commands/project/create/project-template-archive.js +1 -1
  179. package/lib/commands/project/create/project-template-path.js +1 -1
  180. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  181. package/lib/commands/project/create/use-format-code.js +1 -1
  182. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  183. package/lib/commands/project/index.js +1 -1
  184. package/lib/commands/project/upgrade.js +1 -1
  185. package/lib/commands/registry.js +1 -1
  186. package/lib/commands/role/delete.js +1 -1
  187. package/lib/commands/role/detail.js +1 -1
  188. package/lib/commands/role/index.js +1 -1
  189. package/lib/commands/role/list.js +1 -1
  190. package/lib/commands/role/shared.js +1 -1
  191. package/lib/commands/role/update.js +1 -1
  192. package/lib/commands/role/user-add.js +1 -1
  193. package/lib/commands/role/user-remove.js +1 -1
  194. package/lib/commands/role/user-resolve.js +1 -1
  195. package/lib/commands/run/index.js +1 -1
  196. package/lib/commands/schema.js +1 -1
  197. package/lib/commands/sql/create.js +1 -1
  198. package/lib/commands/sql/delete.js +1 -1
  199. package/lib/commands/sql/detail.js +1 -1
  200. package/lib/commands/sql/exec.js +1 -1
  201. package/lib/commands/sql/index.js +1 -1
  202. package/lib/commands/sql/list.js +1 -1
  203. package/lib/commands/sql/pull.js +1 -1
  204. package/lib/commands/sql/push.js +1 -1
  205. package/lib/commands/sql/shared.js +1 -1
  206. package/lib/commands/sql/status.js +1 -1
  207. package/lib/commands/sql/validate.js +1 -1
  208. package/lib/commands/task/index.js +1 -1
  209. package/lib/commands/task/status.js +1 -1
  210. package/lib/commands/tenant/index.js +1 -1
  211. package/lib/commands/tenant/members-list.js +1 -1
  212. package/lib/commands/tenant/shared.js +1 -1
  213. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  214. package/lib/commands/user-account/index.js +1 -1
  215. package/lib/commands/workspace/add.js +1 -1
  216. package/lib/commands/workspace/index.js +1 -1
  217. package/lib/commands/workspace/remove.js +1 -1
  218. package/lib/config/deployment-sync.d.ts +10 -0
  219. package/lib/config/deployment-sync.js +1 -0
  220. package/lib/config/domain-config.d.ts +1 -1
  221. package/lib/config/domain-config.js +1 -1
  222. package/lib/config/project-routing.d.ts +30 -0
  223. package/lib/config/project-routing.js +1 -0
  224. package/lib/config/schema.d.ts +1 -1
  225. package/lib/config/schema.js +1 -1
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.d.ts +7 -2
  230. package/lib/constant/domain.js +1 -1
  231. package/lib/constant/env.js +1 -1
  232. package/lib/constant/output.js +1 -1
  233. package/lib/constant/paths.js +1 -1
  234. package/lib/constant/region.d.ts +2 -2
  235. package/lib/constant/region.js +1 -1
  236. package/lib/constant/risk.js +1 -1
  237. package/lib/constant/routing-profile.d.ts +115 -0
  238. package/lib/constant/routing-profile.js +1 -0
  239. package/lib/context/app-resolver.d.ts +2 -0
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +35 -0
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/page/file-system.js +1 -1
  254. package/lib/core/page/hash.js +1 -1
  255. package/lib/core/page/lock.js +1 -1
  256. package/lib/core/sql-index-auditor.js +1 -1
  257. package/lib/core/sql-sync/config.js +1 -1
  258. package/lib/core/sql-sync/file-system.js +1 -1
  259. package/lib/core/sql-sync/hash.js +1 -1
  260. package/lib/core/sql-sync/lock.js +1 -1
  261. package/lib/core/sql-sync/utils.js +1 -1
  262. package/lib/core/sql-validator.js +1 -1
  263. package/lib/errors.js +1 -1
  264. package/lib/framework/build-all-flags.js +1 -1
  265. package/lib/framework/error-output.js +1 -1
  266. package/lib/framework/explicit-yes.js +1 -1
  267. package/lib/framework/flags.js +1 -1
  268. package/lib/framework/help.js +1 -1
  269. package/lib/framework/index.js +1 -1
  270. package/lib/framework/output.js +1 -1
  271. package/lib/framework/response.js +1 -1
  272. package/lib/framework/runner-alias.js +1 -1
  273. package/lib/framework/runner.js +1 -1
  274. package/lib/framework/schema-export.js +1 -1
  275. package/lib/framework/types.d.ts +4 -0
  276. package/lib/framework/types.js +1 -1
  277. package/lib/generated/build-info.d.ts +4 -4
  278. package/lib/generated/build-info.js +1 -1
  279. package/lib/help.js +1 -1
  280. package/lib/postinstall.js +1 -1
  281. package/lib/runtime/confirmation.js +1 -1
  282. package/lib/runtime/event.js +1 -1
  283. package/lib/runtime/index.js +1 -1
  284. package/lib/runtime/queue.js +1 -1
  285. package/lib/runtime/resolve.js +1 -1
  286. package/lib/skills/builtin-skill.js +1 -1
  287. package/lib/skills/main.js +1 -1
  288. package/lib/skills/npx-skills-add.js +1 -1
  289. package/lib/skills/skill-presence.js +1 -1
  290. package/lib/telemetry/cli-command-trace.js +1 -1
  291. package/lib/telemetry/cli-help-trace.js +1 -1
  292. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  293. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  294. package/lib/telemetry/send-cli-trace-log.js +1 -1
  295. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  296. package/lib/utils/ai_config.js +1 -1
  297. package/lib/utils/apply-jq-filter.js +1 -1
  298. package/lib/utils/cdn-config.js +1 -1
  299. package/lib/utils/check-sdk-version.js +1 -1
  300. package/lib/utils/cli-version-check.js +1 -1
  301. package/lib/utils/cli-version-policy.js +1 -1
  302. package/lib/utils/config.js +1 -1
  303. package/lib/utils/entity-with-id.js +1 -1
  304. package/lib/utils/file-utils.js +1 -1
  305. package/lib/utils/guides-cdn.js +1 -1
  306. package/lib/utils/http-client.js +1 -1
  307. package/lib/utils/is-non-interactive.js +1 -1
  308. package/lib/utils/logger.js +1 -1
  309. package/lib/utils/params.js +1 -1
  310. package/lib/utils/platform.js +1 -1
  311. package/lib/utils/sleep.js +1 -1
  312. package/lib/utils/template-replacer.js +1 -1
  313. package/lib/utils/update-notice.js +1 -1
  314. package/lib/utils/version.js +1 -1
  315. package/lib/utils/with-active-cookie.js +1 -1
  316. package/lib/utils/write-cli-side-channel.js +1 -1
  317. package/package.json +1 -2
  318. package/skills/rabetbase/SKILL.md +20 -9
  319. package/skills/rabetbase/guides/frontend-development.md +2 -0
  320. package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
  321. package/skills/rabetbase/guides/typescript-sdk.md +42 -0
  322. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
  323. package/skills/rabetbase/references/rabetbase-config.md +9 -5
  324. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  325. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  326. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  327. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  328. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  329. package/skills/rabetbase/references/rabetbase-init.md +11 -5
  330. package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
  331. package/skills/rabetbase.manifest.json +6 -3
  332. package/templates/README.md +13 -17
@@ -1 +1 @@
1
- const a185_0xe38f20=a185_0x48ff;(function(_0x2e396d,_0x686bce){const _0x58e6d6=a185_0x48ff,_0x47517f=_0x2e396d();while(!![]){try{const _0x1a3eea=parseInt(_0x58e6d6(0x200))/0x1+-parseInt(_0x58e6d6(0x1d8))/0x2*(-parseInt(_0x58e6d6(0x1e2))/0x3)+parseInt(_0x58e6d6(0x201))/0x4*(parseInt(_0x58e6d6(0x207))/0x5)+parseInt(_0x58e6d6(0x1fd))/0x6*(parseInt(_0x58e6d6(0x1cb))/0x7)+parseInt(_0x58e6d6(0x1fa))/0x8*(parseInt(_0x58e6d6(0x1de))/0x9)+-parseInt(_0x58e6d6(0x1f4))/0xa+-parseInt(_0x58e6d6(0x210))/0xb*(parseInt(_0x58e6d6(0x206))/0xc);if(_0x1a3eea===_0x686bce)break;else _0x47517f['push'](_0x47517f['shift']());}catch(_0x5ee7f9){_0x47517f['push'](_0x47517f['shift']());}}}(a185_0x2124,0x5d12e));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';function a185_0x2124(){const _0x3819e7=['\x20\x20SELECT\x201\x20AS\x20id','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','77rhpLxk','appCode','MyBatis\x20XML\x20(mybatisXml)','7qIpFIA','Select\x20the\x20local\x20SQL\x20mode:','flag','dbId','description','Local\x20SQL\x20file\x20mode','File\x20already\x20exists:\x20','utf8','toISOString','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','</select>','lastSync','validation','54654bSeqVD','POST','isInteger','sqlRootDir','str','trim','9243tMrGcV','SELECT\x201\x20AS\x20id;','name','length','66fvJHIJ','map','sqlName','flagMissing','nonInteractive','number','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId\x20must\x20be\x20a\x20positive\x20integer','Invalid\x20database\x20selection\x20payload:\x20','dbName','join','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','lockFilePath','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','write','Target\x20database\x20ID','Plain\x20SQL\x20(sql)','sqlRoot','3031430OGzZHX','db-id','stringify','mybatisXml','parse','__manual__','4360rQRhxj','SQL\x20name\x20cannot\x20be\x20empty','SQL\x20name:','2173854ICcZAe','isFinite','✎\x20Enter\x20dbId\x20manually','514804LcfFHs','270212KgfgJh','Select\x20the\x20target\x20database:','sql','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','mode','3015372MwRRRH','30cVTurU','Target\x20database\x20dbId:','catch','create','/smartapi/custom/saveUserCustomSql','sqlCode','string'];a185_0x2124=function(){return _0x3819e7;};return a185_0x2124();}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';function a185_0x48ff(_0x4ed106,_0x5d0f38){_0x4ed106=_0x4ed106-0x1c9;const _0x2124fe=a185_0x2124();let _0x48ff72=_0x2124fe[_0x4ed106];return _0x48ff72;}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(_0x276263){const _0x436d55=a185_0x48ff;if(_0x276263==='mybatisXml')return[_0x436d55(0x1ed),_0x436d55(0x20e),_0x436d55(0x1d5),''][_0x436d55(0x1ec)]('\x0a');return[_0x436d55(0x1df),''][_0x436d55(0x1ec)]('\x0a');}export const sqlCreate={'service':'sql','command':a185_0xe38f20(0x20a),'description':a185_0xe38f20(0x20f),'risk':a185_0xe38f20(0x1f0),'flags':[{'name':'name','type':a185_0xe38f20(0x20d),'description':'SQL\x20query\x20display\x20name'},{'name':a185_0xe38f20(0x1f5),'type':'number','description':a185_0xe38f20(0x1f1)},{'name':'mode','type':a185_0xe38f20(0x20d),'enum':[a185_0xe38f20(0x203),a185_0xe38f20(0x1f7)],'description':a185_0xe38f20(0x1d0)}],async 'validate'(_0x98bf6b){const _0x5514ac=a185_0xe38f20;if(!_0x98bf6b[_0x5514ac(0x1e6)])return;if(!_0x98bf6b[_0x5514ac(0x1dc)]('name')[_0x5514ac(0x1dd)]())throw CliErrors[_0x5514ac(0x1e5)](_0x5514ac(0x1e0),_0x5514ac(0x1e8));const _0x3561ba=resolveProvidedDbId(_0x98bf6b);if(typeof _0x3561ba!==_0x5514ac(0x1e7)||!Number['isFinite'](_0x3561ba)||_0x3561ba<=0x0)throw CliErrors[_0x5514ac(0x1e5)]('db-id',_0x5514ac(0x1d4));if(!_0x98bf6b[_0x5514ac(0x1dc)](_0x5514ac(0x205))['trim']())throw CliErrors[_0x5514ac(0x1e5)](_0x5514ac(0x205),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x1d028d){const _0x97619a=a185_0xe38f20,_0x267bd4=loadSqlProjectConfig(_0x1d028d['appCode']),{sqlName:_0x2223b9,dbId:_0x42c569,dbName:_0x2540dc,mode:_0x449e85}=await resolveSqlNewInputs(_0x1d028d),_0x9743b7=buildSqlRelativePath('<server-generated-sqlCode>',_0x2223b9,_0x2540dc,_0x449e85,_0x42c569),_0x29c732=_0x267bd4[_0x97619a(0x1db)]+'/'+_0x9743b7;return{'method':_0x97619a(0x1d9),'url':_0x97619a(0x20b),'body':{'appCode':_0x1d028d[_0x97619a(0x1c9)],'sqlName':_0x2223b9,'dbId':_0x42c569,'mode':_0x449e85,'localPath':_0x29c732},'description':_0x97619a(0x1ef)+_0x267bd4[_0x97619a(0x1db)]};},async 'execute'(_0x392f28){const _0x3b2b4f=a185_0xe38f20,_0x29ec56=loadSqlProjectConfig(_0x392f28[_0x3b2b4f(0x1c9)]),{sqlName:_0x4b0b71,dbId:_0x3dbb32,dbName:_0xe6de3d,mode:_0x3d2ef7}=await resolveSqlNewInputs(_0x392f28),_0x4276f7=generateSqlTemplate(_0x3d2ef7),_0x4bb2ec=await createSqlQuery({'appCode':_0x392f28[_0x3b2b4f(0x1c9)],'sqlName':_0x4b0b71,'dbId':_0x3dbb32,'sqlContent':_0x4276f7}),_0x164547=ensureRemoteSqlContent(_0x4bb2ec),_0x1b1be3=_0xe6de3d||await getDbName(_0x392f28['appCode'],_0x3dbb32)[_0x3b2b4f(0x209)](()=>undefined),_0x5a595b=buildSqlRelativePath(_0x4bb2ec[_0x3b2b4f(0x20c)],_0x4bb2ec[_0x3b2b4f(0x1e4)],_0x1b1be3,_0x3d2ef7,_0x3dbb32),_0x496438=_0x29ec56[_0x3b2b4f(0x1db)]+'/'+_0x5a595b,_0x36ab7c=buildLocalSqlFileContent({'sqlCode':_0x4bb2ec[_0x3b2b4f(0x20c)],'sqlName':_0x4bb2ec[_0x3b2b4f(0x1e4)],'dbId':_0x4bb2ec[_0x3b2b4f(0x1ce)]},_0x164547,{'dbName':_0x1b1be3,'mode':_0x3d2ef7,'syncedAt':new Date()[_0x3b2b4f(0x1d3)](),'description':_0x4bb2ec[_0x3b2b4f(0x1cf)]});if(await fileExists(_0x496438))throw CliErrors['validation'](_0x3b2b4f(0x1d1)+_0x496438);await ensureParentDirectory(_0x496438),await writeFile(_0x496438,_0x36ab7c,_0x3b2b4f(0x1d2));const _0x218f1e=await readSqlLockFile(_0x29ec56['lockFilePath']),{lockData:_0x1ccf9f,appLock:_0x3a018d}=ensureSqlLockScope(_0x218f1e??createEmptySqlLock(),_0x29ec56[_0x3b2b4f(0x1c9)],_0x29ec56[_0x3b2b4f(0x1f3)],'new');return _0x3a018d['sqls'][_0x4bb2ec[_0x3b2b4f(0x20c)]]={...buildSqlLockEntry(_0x4bb2ec,_0x164547,computeSqlContentHash(_0x36ab7c),{'dbName':_0x1b1be3}),'path':_0x5a595b,'mode':_0x3d2ef7},_0x3a018d[_0x3b2b4f(0x1d6)]=new Date()[_0x3b2b4f(0x1d3)](),await writeSqlLockFile(_0x29ec56[_0x3b2b4f(0x1ee)],_0x1ccf9f),{'ok':!![],'data':{'id':_0x4bb2ec['id'],'sqlCode':_0x4bb2ec[_0x3b2b4f(0x20c)],'sqlName':_0x4bb2ec['sqlName'],'dbId':_0x4bb2ec['dbId'],'path':_0x496438,'mode':_0x3d2ef7},'message':'Created\x20SQL\x20query\x20'+_0x4bb2ec['sqlCode']};}};async function resolveSqlNewInputs(_0xd90520){const _0x49916d=await resolveSqlNameInput(_0xd90520),{dbId:_0x6270ca,dbName:_0x3d62b4}=await resolveDbSelection(_0xd90520),_0x3a6ce2=await resolveSqlModeInput(_0xd90520);return{'sqlName':_0x49916d,'dbId':_0x6270ca,'dbName':_0x3d62b4,'mode':_0x3a6ce2};}async function resolveSqlNameInput(_0x27954c){const _0x21e6de=a185_0xe38f20,_0x4465df=_0x27954c[_0x21e6de(0x1dc)](_0x21e6de(0x1e0))['trim']();if(_0x4465df)return _0x4465df;if(_0x27954c[_0x21e6de(0x1e6)])throw CliErrors[_0x21e6de(0x1e5)](_0x21e6de(0x1e0),_0x21e6de(0x1e8));return(await input({'message':_0x21e6de(0x1fc),'validate':_0x9fa908=>_0x9fa908[_0x21e6de(0x1dd)]()?!![]:_0x21e6de(0x1fb)}))[_0x21e6de(0x1dd)]();}async function resolveDbSelection(_0xf75c86){const _0x429d6b=a185_0xe38f20,_0x1c967d=resolveProvidedDbId(_0xf75c86);if(typeof _0x1c967d==='number'&&Number[_0x429d6b(0x1fe)](_0x1c967d)&&_0x1c967d>0x0)return{'dbId':_0x1c967d,'dbName':await getDbName(_0xf75c86[_0x429d6b(0x1c9)],_0x1c967d)['catch'](()=>undefined)};if(_0xf75c86[_0x429d6b(0x1e6)])throw CliErrors[_0x429d6b(0x1e5)](_0x429d6b(0x1f5),_0x429d6b(0x1d4));const _0x5183a8=await listDatabases(_0xf75c86[_0x429d6b(0x1c9)])['catch'](()=>[]);if(_0x5183a8[_0x429d6b(0x1e1)]===0x1)return{'dbId':_0x5183a8[0x0][_0x429d6b(0x1ce)],'dbName':_0x5183a8[0x0][_0x429d6b(0x1eb)]};if(_0x5183a8[_0x429d6b(0x1e1)]>0x1){const _0x26c50d=await select({'message':_0x429d6b(0x202),'choices':[..._0x5183a8[_0x429d6b(0x1e3)](_0x407fb6=>({'name':_0x407fb6[_0x429d6b(0x1eb)]+'\x20('+_0x407fb6['dbId']+')','value':serializeDbSelection(_0x407fb6)})),{'name':_0x429d6b(0x1ff),'value':_0x429d6b(0x1f9)}]});if(_0x26c50d!==_0x429d6b(0x1f9))return deserializeDbSelection(_0x26c50d);}const _0x3d8f1f=await input({'message':_0x429d6b(0x208),'validate':_0x5ac167=>{const _0x36e74e=_0x429d6b,_0xd651e4=_0x5ac167[_0x36e74e(0x1dd)]();if(!_0xd651e4)return'dbId\x20cannot\x20be\x20empty';const _0xa71210=Number(_0xd651e4);if(!Number[_0x36e74e(0x1da)](_0xa71210)||_0xa71210<=0x0)return _0x36e74e(0x1e9);return!![];}});return{'dbId':Number(_0x3d8f1f['trim']())};}async function resolveSqlModeInput(_0x3d0a8d){const _0x2ffde0=a185_0xe38f20,_0x48cbf0=_0x3d0a8d[_0x2ffde0(0x1dc)]('mode')[_0x2ffde0(0x1dd)]();if(_0x48cbf0===_0x2ffde0(0x203)||_0x48cbf0===_0x2ffde0(0x1f7))return _0x48cbf0;if(_0x3d0a8d[_0x2ffde0(0x1e6)])throw CliErrors[_0x2ffde0(0x1e5)]('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x2ffde0(0x1cc),'choices':[{'name':_0x2ffde0(0x1f2),'value':'sql','description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x2ffde0(0x1ca),'value':_0x2ffde0(0x1f7),'description':_0x2ffde0(0x204)}]});}function serializeDbSelection(_0x44f9a4){const _0x1deefd=a185_0xe38f20;return JSON[_0x1deefd(0x1f6)]({'dbId':_0x44f9a4['dbId'],'dbName':_0x44f9a4[_0x1deefd(0x1eb)]});}function deserializeDbSelection(_0x58a555){const _0x3544a3=a185_0xe38f20;try{const _0x426fd5=JSON[_0x3544a3(0x1f8)](_0x58a555);if(typeof _0x426fd5[_0x3544a3(0x1ce)]===_0x3544a3(0x1e7)&&Number[_0x3544a3(0x1fe)](_0x426fd5[_0x3544a3(0x1ce)]))return{'dbId':_0x426fd5[_0x3544a3(0x1ce)],'dbName':_0x426fd5[_0x3544a3(0x1eb)]};}catch{}throw CliErrors[_0x3544a3(0x1d7)](_0x3544a3(0x1ea)+_0x58a555);}function resolveProvidedDbId(_0x3f6770){const _0x4a0113=a185_0xe38f20,_0x23434b=_0x3f6770[_0x4a0113(0x1cd)](_0x4a0113(0x1f5));if(typeof _0x23434b===_0x4a0113(0x1e7)&&Number[_0x4a0113(0x1fe)](_0x23434b))return _0x23434b;return undefined;}
1
+ const a190_0x413c8f=a190_0x108a;(function(_0x4896f1,_0x35c12c){const _0x147b46=a190_0x108a,_0x3a548e=_0x4896f1();while(!![]){try{const _0x175378=-parseInt(_0x147b46(0x1bd))/0x1+parseInt(_0x147b46(0x1eb))/0x2+parseInt(_0x147b46(0x1da))/0x3+parseInt(_0x147b46(0x1cd))/0x4*(parseInt(_0x147b46(0x1c9))/0x5)+parseInt(_0x147b46(0x1db))/0x6+-parseInt(_0x147b46(0x1c3))/0x7*(parseInt(_0x147b46(0x1dc))/0x8)+parseInt(_0x147b46(0x1d6))/0x9;if(_0x175378===_0x35c12c)break;else _0x3a548e['push'](_0x3a548e['shift']());}catch(_0x15b26a){_0x3a548e['push'](_0x3a548e['shift']());}}}(a190_0x585b,0x3e864));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(_0x36f816){const _0x137e01=a190_0x108a;if(_0x36f816===_0x137e01(0x1c1))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x137e01(0x1ba),''][_0x137e01(0x1c8)]('\x0a');return[_0x137e01(0x1e0),''][_0x137e01(0x1c8)]('\x0a');}export const sqlCreate={'service':a190_0x413c8f(0x1ce),'command':a190_0x413c8f(0x1be),'description':a190_0x413c8f(0x1b8),'risk':'write','flags':[{'name':'name','type':'string','description':'SQL\x20query\x20display\x20name'},{'name':a190_0x413c8f(0x1d9),'type':a190_0x413c8f(0x1ae),'description':a190_0x413c8f(0x1af)},{'name':a190_0x413c8f(0x1b4),'type':a190_0x413c8f(0x1df),'enum':['sql',a190_0x413c8f(0x1c1)],'description':a190_0x413c8f(0x1b0)}],async 'validate'(_0x3c29d4){const _0x474077=a190_0x413c8f;if(!_0x3c29d4[_0x474077(0x1c5)])return;if(!_0x3c29d4['str']('name')['trim']())throw CliErrors[_0x474077(0x1bb)](_0x474077(0x1e6),_0x474077(0x1cc));const _0x2a6439=resolveProvidedDbId(_0x3c29d4);if(typeof _0x2a6439!==_0x474077(0x1ae)||!Number[_0x474077(0x1e3)](_0x2a6439)||_0x2a6439<=0x0)throw CliErrors['flagMissing'](_0x474077(0x1d9),_0x474077(0x1e8));if(!_0x3c29d4['str'](_0x474077(0x1b4))[_0x474077(0x1ea)]())throw CliErrors[_0x474077(0x1bb)](_0x474077(0x1b4),_0x474077(0x1d7));},async 'dryRun'(_0x52e24f){const _0x121937=a190_0x413c8f,_0x30ed46=loadSqlProjectConfig(_0x52e24f[_0x121937(0x1b3)]),{sqlName:_0x27f176,dbId:_0x591c02,dbName:_0x540510,mode:_0x41ed9d}=await resolveSqlNewInputs(_0x52e24f),_0x547412=buildSqlRelativePath('<server-generated-sqlCode>',_0x27f176,_0x540510,_0x41ed9d,_0x591c02),_0x40f786=_0x30ed46[_0x121937(0x1d5)]+'/'+_0x547412;return{'method':'POST','url':_0x121937(0x1d4),'body':{'appCode':_0x52e24f[_0x121937(0x1b3)],'sqlName':_0x27f176,'dbId':_0x591c02,'mode':_0x41ed9d,'localPath':_0x40f786},'description':_0x121937(0x1de)+_0x30ed46[_0x121937(0x1d5)]};},async 'execute'(_0x1a56df){const _0x494a2f=a190_0x413c8f,_0x1cc002=loadSqlProjectConfig(_0x1a56df['appCode']),{sqlName:_0x448189,dbId:_0x421076,dbName:_0xf178b0,mode:_0x11afcb}=await resolveSqlNewInputs(_0x1a56df),_0x56c92e=generateSqlTemplate(_0x11afcb),_0x218a2c=await createSqlQuery({'appCode':_0x1a56df[_0x494a2f(0x1b3)],'sqlName':_0x448189,'dbId':_0x421076,'sqlContent':_0x56c92e}),_0x42c832=ensureRemoteSqlContent(_0x218a2c),_0x157ef7=_0xf178b0||await getDbName(_0x1a56df[_0x494a2f(0x1b3)],_0x421076)[_0x494a2f(0x1c7)](()=>undefined),_0x563bb4=buildSqlRelativePath(_0x218a2c[_0x494a2f(0x1e1)],_0x218a2c['sqlName'],_0x157ef7,_0x11afcb,_0x421076),_0x3a3b87=_0x1cc002[_0x494a2f(0x1d5)]+'/'+_0x563bb4,_0x656935=buildLocalSqlFileContent({'sqlCode':_0x218a2c[_0x494a2f(0x1e1)],'sqlName':_0x218a2c[_0x494a2f(0x1e5)],'dbId':_0x218a2c['dbId']},_0x42c832,{'dbName':_0x157ef7,'mode':_0x11afcb,'syncedAt':new Date()['toISOString'](),'description':_0x218a2c[_0x494a2f(0x1c2)]});if(await fileExists(_0x3a3b87))throw CliErrors[_0x494a2f(0x1c0)]('File\x20already\x20exists:\x20'+_0x3a3b87);await ensureParentDirectory(_0x3a3b87),await writeFile(_0x3a3b87,_0x656935,_0x494a2f(0x1e2));const _0x3a87d9=await readSqlLockFile(_0x1cc002[_0x494a2f(0x1d2)]),{lockData:_0x144833,appLock:_0x4e0e39}=ensureSqlLockScope(_0x3a87d9??createEmptySqlLock(),_0x1cc002[_0x494a2f(0x1b3)],_0x1cc002[_0x494a2f(0x1d1)],_0x494a2f(0x1ad));return _0x4e0e39['sqls'][_0x218a2c[_0x494a2f(0x1e1)]]={...buildSqlLockEntry(_0x218a2c,_0x42c832,computeSqlContentHash(_0x656935),{'dbName':_0x157ef7}),'path':_0x563bb4,'mode':_0x11afcb},_0x4e0e39[_0x494a2f(0x1cb)]=new Date()[_0x494a2f(0x1b1)](),await writeSqlLockFile(_0x1cc002[_0x494a2f(0x1d2)],_0x144833),{'ok':!![],'data':{'id':_0x218a2c['id'],'sqlCode':_0x218a2c[_0x494a2f(0x1e1)],'sqlName':_0x218a2c[_0x494a2f(0x1e5)],'dbId':_0x218a2c[_0x494a2f(0x1bc)],'path':_0x3a3b87,'mode':_0x11afcb},'message':'Created\x20SQL\x20query\x20'+_0x218a2c['sqlCode']};}};function a190_0x585b(){const _0x2bfffa=['sqlRootDir','1267614RUwRgZ','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Plain\x20SQL\x20(sql)','db-id','342324aneCWL','2300316hjxzbw','20728eMbXnQ','Target\x20database\x20dbId:','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','string','SELECT\x201\x20AS\x20id;','sqlCode','utf8','isFinite','length','sqlName','name','str','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','trim','315564RFRNvg','✎\x20Enter\x20dbId\x20manually','new','number','Target\x20database\x20ID','Local\x20SQL\x20file\x20mode','toISOString','isInteger','appCode','mode','flag','dbId\x20cannot\x20be\x20empty','__manual__','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','</select>','flagMissing','dbId','397475LZPSgP','create','SQL\x20name:','validation','mybatisXml','description','847WwZHZH','Select\x20the\x20target\x20database:','nonInteractive','dbName','catch','join','94980ZyhFOc','parse','lastSync','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','36jTgxjh','sql','MyBatis\x20XML\x20(mybatisXml)','Select\x20the\x20local\x20SQL\x20mode:','sqlRoot','lockFilePath','SQL\x20name\x20cannot\x20be\x20empty','/smartapi/custom/saveUserCustomSql'];a190_0x585b=function(){return _0x2bfffa;};return a190_0x585b();}async function resolveSqlNewInputs(_0x455b26){const _0x13af89=await resolveSqlNameInput(_0x455b26),{dbId:_0x208dcb,dbName:_0x3bdb9a}=await resolveDbSelection(_0x455b26),_0x39213c=await resolveSqlModeInput(_0x455b26);return{'sqlName':_0x13af89,'dbId':_0x208dcb,'dbName':_0x3bdb9a,'mode':_0x39213c};}function a190_0x108a(_0x2bc7d9,_0x4972bb){_0x2bc7d9=_0x2bc7d9-0x1ad;const _0x585bb1=a190_0x585b();let _0x108ae4=_0x585bb1[_0x2bc7d9];return _0x108ae4;}async function resolveSqlNameInput(_0x5db6ec){const _0x2bb4a1=a190_0x413c8f,_0x1eb929=_0x5db6ec[_0x2bb4a1(0x1e7)](_0x2bb4a1(0x1e6))['trim']();if(_0x1eb929)return _0x1eb929;if(_0x5db6ec[_0x2bb4a1(0x1c5)])throw CliErrors[_0x2bb4a1(0x1bb)](_0x2bb4a1(0x1e6),_0x2bb4a1(0x1cc));return(await input({'message':_0x2bb4a1(0x1bf),'validate':_0x4348b8=>_0x4348b8[_0x2bb4a1(0x1ea)]()?!![]:_0x2bb4a1(0x1d3)}))[_0x2bb4a1(0x1ea)]();}async function resolveDbSelection(_0x423bcb){const _0x3f82e7=a190_0x413c8f,_0x261dd0=resolveProvidedDbId(_0x423bcb);if(typeof _0x261dd0==='number'&&Number[_0x3f82e7(0x1e3)](_0x261dd0)&&_0x261dd0>0x0)return{'dbId':_0x261dd0,'dbName':await getDbName(_0x423bcb[_0x3f82e7(0x1b3)],_0x261dd0)[_0x3f82e7(0x1c7)](()=>undefined)};if(_0x423bcb[_0x3f82e7(0x1c5)])throw CliErrors['flagMissing']('db-id',_0x3f82e7(0x1e8));const _0x5743a3=await listDatabases(_0x423bcb[_0x3f82e7(0x1b3)])[_0x3f82e7(0x1c7)](()=>[]);if(_0x5743a3[_0x3f82e7(0x1e4)]===0x1)return{'dbId':_0x5743a3[0x0][_0x3f82e7(0x1bc)],'dbName':_0x5743a3[0x0]['dbName']};if(_0x5743a3[_0x3f82e7(0x1e4)]>0x1){const _0x35d409=await select({'message':_0x3f82e7(0x1c4),'choices':[..._0x5743a3['map'](_0x3d3cc8=>({'name':_0x3d3cc8[_0x3f82e7(0x1c6)]+'\x20('+_0x3d3cc8[_0x3f82e7(0x1bc)]+')','value':serializeDbSelection(_0x3d3cc8)})),{'name':_0x3f82e7(0x1ec),'value':_0x3f82e7(0x1b7)}]});if(_0x35d409!==_0x3f82e7(0x1b7))return deserializeDbSelection(_0x35d409);}const _0x589c21=await input({'message':_0x3f82e7(0x1dd),'validate':_0x2b0d39=>{const _0x466a6c=_0x3f82e7,_0x1397c9=_0x2b0d39[_0x466a6c(0x1ea)]();if(!_0x1397c9)return _0x466a6c(0x1b6);const _0x2fdd90=Number(_0x1397c9);if(!Number[_0x466a6c(0x1b2)](_0x2fdd90)||_0x2fdd90<=0x0)return'dbId\x20must\x20be\x20a\x20positive\x20integer';return!![];}});return{'dbId':Number(_0x589c21[_0x3f82e7(0x1ea)]())};}async function resolveSqlModeInput(_0xf943b1){const _0x2b3267=a190_0x413c8f,_0x3a2ae3=_0xf943b1[_0x2b3267(0x1e7)](_0x2b3267(0x1b4))['trim']();if(_0x3a2ae3==='sql'||_0x3a2ae3==='mybatisXml')return _0x3a2ae3;if(_0xf943b1[_0x2b3267(0x1c5)])throw CliErrors[_0x2b3267(0x1bb)]('mode',_0x2b3267(0x1d7));return await select({'message':_0x2b3267(0x1d0),'choices':[{'name':_0x2b3267(0x1d8),'value':_0x2b3267(0x1ce),'description':_0x2b3267(0x1e9)},{'name':_0x2b3267(0x1cf),'value':_0x2b3267(0x1c1),'description':_0x2b3267(0x1b9)}]});}function serializeDbSelection(_0x20661d){const _0x583480=a190_0x413c8f;return JSON['stringify']({'dbId':_0x20661d[_0x583480(0x1bc)],'dbName':_0x20661d['dbName']});}function deserializeDbSelection(_0x265407){const _0x5e1321=a190_0x413c8f;try{const _0x4153e1=JSON[_0x5e1321(0x1ca)](_0x265407);if(typeof _0x4153e1[_0x5e1321(0x1bc)]===_0x5e1321(0x1ae)&&Number[_0x5e1321(0x1e3)](_0x4153e1[_0x5e1321(0x1bc)]))return{'dbId':_0x4153e1['dbId'],'dbName':_0x4153e1['dbName']};}catch{}throw CliErrors['validation']('Invalid\x20database\x20selection\x20payload:\x20'+_0x265407);}function resolveProvidedDbId(_0x447366){const _0x4637a6=a190_0x413c8f,_0x18842f=_0x447366[_0x4637a6(0x1b5)](_0x4637a6(0x1d9));if(typeof _0x18842f==='number'&&Number['isFinite'](_0x18842f))return _0x18842f;return undefined;}
@@ -1 +1 @@
1
- const a186_0x689056=a186_0x46e3;(function(_0x4decff,_0x1bc46b){const _0x242d6d=a186_0x46e3,_0xbf7f03=_0x4decff();while(!![]){try{const _0x16a8a1=-parseInt(_0x242d6d(0x161))/0x1+-parseInt(_0x242d6d(0x15c))/0x2+parseInt(_0x242d6d(0x173))/0x3*(parseInt(_0x242d6d(0x168))/0x4)+-parseInt(_0x242d6d(0x163))/0x5+parseInt(_0x242d6d(0x180))/0x6+parseInt(_0x242d6d(0x15f))/0x7+parseInt(_0x242d6d(0x166))/0x8*(parseInt(_0x242d6d(0x16d))/0x9);if(_0x16a8a1===_0x1bc46b)break;else _0xbf7f03['push'](_0xbf7f03['shift']());}catch(_0x52af03){_0xbf7f03['push'](_0xbf7f03['shift']());}}}(a186_0x2f66,0x99275));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a186_0x2f66(){const _0x22b6e5=['32WNdfVD','toISOString','sqlRoot','Would\x20delete\x20SQL\x20','trashDir','4443813qvtnnS','fromEntries','validation','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','/smartapi/custom/deleteUserCustomSql','POST','94395GHowse','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','lockFilePath','length','projectRoot','appCode','\x20(local\x20file\x20moved\x20to\x20trash)','str','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','sqlcode','startsWith','sqlRootDir','3085500qoSkEC','trashedTo','666556MRKABA','high-risk-write','delete','3017693gCocwP','entries','916189SFkXaE','sqls','4007780aJbIYv','lastSync','Deleted\x20','24XmMUnM','remoteId'];a186_0x2f66=function(){return _0x22b6e5;};return a186_0x2f66();}import{dirname,join,relative,resolve,sep}from'node:path';function a186_0x46e3(_0x49b47c,_0x348b44){_0x49b47c=_0x49b47c-0x15c;const _0x2f66bb=a186_0x2f66();let _0x46e31c=_0x2f66bb[_0x49b47c];return _0x46e31c;}import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a186_0x689056(0x15e),'description':a186_0x689056(0x170),'risk':a186_0x689056(0x15d),'flags':[SQLCODE_FLAG],async 'validate'(_0x279aca){const _0x5a4741=a186_0x689056,_0x25021d=loadSqlProjectConfig(_0x279aca[_0x5a4741(0x179)]),_0x5c9849=await readSqlLockFile(_0x25021d['lockFilePath']);if(!_0x5c9849)throw CliErrors['validation'](_0x5a4741(0x17c));},async 'dryRun'(_0x908410){const _0x4d48c2=a186_0x689056,_0x806875=loadSqlProjectConfig(_0x908410[_0x4d48c2(0x179)]),_0x4dfafb=await readSqlLockFile(_0x806875[_0x4d48c2(0x176)]);if(!_0x4dfafb)throw CliErrors[_0x4d48c2(0x16f)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x3d37fd}=ensureSqlLockScope(_0x4dfafb,_0x908410[_0x4d48c2(0x179)],_0x806875[_0x4d48c2(0x16a)],_0x4d48c2(0x15e)),_0x5c498e=_0x908410[_0x4d48c2(0x17b)](_0x4d48c2(0x17d)),_0x1a06a3=_0x3d37fd['sqls'][_0x5c498e];if(!_0x1a06a3)throw CliErrors[_0x4d48c2(0x16f)](_0x4d48c2(0x175)+_0x5c498e+'\x22.');return{'method':_0x4d48c2(0x172),'url':_0x4d48c2(0x171),'body':{'sqlCode':_0x5c498e,'id':_0x1a06a3[_0x4d48c2(0x167)],'localPath':resolveLocalSqlFilePath(_0x806875,_0x5c498e,_0x1a06a3)},'description':_0x4d48c2(0x16b)+_0x5c498e+_0x4d48c2(0x174)+_0x806875[_0x4d48c2(0x16c)]};},async 'execute'(_0x5670b5){const _0x2e6c5f=a186_0x689056,_0xf01ba4=loadSqlProjectConfig(_0x5670b5['appCode']),_0x48cba3=await readSqlLockFile(_0xf01ba4[_0x2e6c5f(0x176)]);if(!_0x48cba3)throw CliErrors[_0x2e6c5f(0x16f)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x52d2aa,appLock:_0x17ce34}=ensureSqlLockScope(_0x48cba3,_0x5670b5[_0x2e6c5f(0x179)],_0xf01ba4[_0x2e6c5f(0x16a)],_0x2e6c5f(0x15e)),_0x1e08b5=_0x5670b5[_0x2e6c5f(0x17b)](_0x2e6c5f(0x17d)),_0x5503ee=_0x17ce34[_0x2e6c5f(0x162)][_0x1e08b5];if(!_0x5503ee)throw CliErrors[_0x2e6c5f(0x16f)](_0x2e6c5f(0x175)+_0x1e08b5+'\x22.');await deleteSqlQuery({'id':_0x5503ee[_0x2e6c5f(0x167)],'sqlCode':_0x1e08b5}),_0x17ce34['sqls']=Object[_0x2e6c5f(0x16e)](Object[_0x2e6c5f(0x160)](_0x17ce34[_0x2e6c5f(0x162)])['filter'](([_0x5cb836])=>_0x5cb836!==_0x1e08b5)),_0x17ce34[_0x2e6c5f(0x164)]=new Date()['toISOString'](),await writeSqlLockFile(_0xf01ba4[_0x2e6c5f(0x176)],_0x52d2aa);const _0x3649e7=resolveLocalSqlFilePath(_0xf01ba4,_0x1e08b5,_0x5503ee);let _0x35f114;await fileExists(_0x3649e7)&&(_0x35f114=await moveToTrash(_0xf01ba4[_0x2e6c5f(0x178)],_0xf01ba4[_0x2e6c5f(0x16c)],_0x3649e7),await cleanupEmptyDirectories(dirname(_0x3649e7),_0xf01ba4[_0x2e6c5f(0x17f)]));const _0xb8ca75={'deleted':_0x1e08b5,'remoteId':_0x5503ee[_0x2e6c5f(0x167)]};if(_0x35f114)_0xb8ca75[_0x2e6c5f(0x181)]=_0x35f114;return{'ok':!![],'data':_0xb8ca75,'message':_0x2e6c5f(0x165)+_0x1e08b5+(_0x35f114?_0x2e6c5f(0x17a):'')};}};async function moveToTrash(_0x432fba,_0x3f9bcc,_0xbb338d){const _0x151664=a186_0x689056,_0x4b0de8=new Date()[_0x151664(0x169)]()['replace'](/[:.]/g,'-'),_0x24d846=relative(_0x432fba,_0xbb338d),_0xe662b6=join(_0x3f9bcc,_0x4b0de8,_0x24d846);return await mkdir(dirname(_0xe662b6),{'recursive':!![]}),await rename(_0xbb338d,_0xe662b6),_0xe662b6;}async function cleanupEmptyDirectories(_0x4c45bb,_0x19b983){const _0x3a2e57=a186_0x689056;let _0x547099=resolve(_0x4c45bb);const _0x493458=resolve(_0x19b983);while(_0x547099[_0x3a2e57(0x17e)](''+_0x493458+sep)||_0x547099===_0x493458){if(_0x547099===_0x493458)return;try{const _0x2f4076=await readdir(_0x547099);if(_0x2f4076[_0x3a2e57(0x177)]>0x0)return;await rmdir(_0x547099);}catch{return;}_0x547099=dirname(_0x547099);}}
1
+ const a191_0x3590d3=a191_0x2759;(function(_0x24847a,_0x42c8f8){const _0x2fc4eb=a191_0x2759,_0xdfccda=_0x24847a();while(!![]){try{const _0x1d9f91=-parseInt(_0x2fc4eb(0x15c))/0x1+parseInt(_0x2fc4eb(0x169))/0x2*(-parseInt(_0x2fc4eb(0x15e))/0x3)+parseInt(_0x2fc4eb(0x167))/0x4+-parseInt(_0x2fc4eb(0x15f))/0x5*(-parseInt(_0x2fc4eb(0x15b))/0x6)+parseInt(_0x2fc4eb(0x16c))/0x7*(parseInt(_0x2fc4eb(0x16a))/0x8)+-parseInt(_0x2fc4eb(0x163))/0x9+parseInt(_0x2fc4eb(0x166))/0xa*(-parseInt(_0x2fc4eb(0x14f))/0xb);if(_0x1d9f91===_0x42c8f8)break;else _0xdfccda['push'](_0xdfccda['shift']());}catch(_0x47b6eb){_0xdfccda['push'](_0xdfccda['shift']());}}}(a191_0x2d4c,0x98688));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a191_0x2759(_0x52f8bd,_0x2bb9c6){_0x52f8bd=_0x52f8bd-0x14c;const _0x2d4cc7=a191_0x2d4c();let _0x27597a=_0x2d4cc7[_0x52f8bd];return _0x27597a;}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_0x2d4c(){const _0x25fefd=['lastSync','358ShBliv','40HKVcOo','/smartapi/custom/deleteUserCustomSql','1427342qIootE','entries','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','trashDir','sqls','filter','fromEntries','delete','sql','str','22OjjSAq','Would\x20delete\x20SQL\x20','appCode','validation','toISOString','\x20(local\x20file\x20moved\x20to\x20trash)','lockFilePath','length','remoteId','sqlRootDir','sqlRoot','POST','48NCmypV','112129CkcJFY','Deleted\x20','5151PjPBUL','451775FRAbFn','replace','startsWith','sqlcode','2896893PErLIM','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','3862200VfNThw','1582732AcGgsO'];a191_0x2d4c=function(){return _0x25fefd;};return a191_0x2d4c();}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_0x3590d3(0x14d),'command':a191_0x3590d3(0x14c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x50005b){const _0x4fe11a=a191_0x3590d3,_0x4dfc0b=loadSqlProjectConfig(_0x50005b[_0x4fe11a(0x151)]),_0x7ec027=await readSqlLockFile(_0x4dfc0b['lockFilePath']);if(!_0x7ec027)throw CliErrors['validation'](_0x4fe11a(0x164));},async 'dryRun'(_0x453847){const _0x14f26e=a191_0x3590d3,_0x141155=loadSqlProjectConfig(_0x453847['appCode']),_0xa65b15=await readSqlLockFile(_0x141155[_0x14f26e(0x155)]);if(!_0xa65b15)throw CliErrors[_0x14f26e(0x152)](_0x14f26e(0x164));const {appLock:_0x48bea9}=ensureSqlLockScope(_0xa65b15,_0x453847[_0x14f26e(0x151)],_0x141155[_0x14f26e(0x159)],_0x14f26e(0x14c)),_0x2d70bc=_0x453847[_0x14f26e(0x14e)]('sqlcode'),_0x4d8a60=_0x48bea9[_0x14f26e(0x170)][_0x2d70bc];if(!_0x4d8a60)throw CliErrors[_0x14f26e(0x152)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2d70bc+'\x22.');return{'method':_0x14f26e(0x15a),'url':_0x14f26e(0x16b),'body':{'sqlCode':_0x2d70bc,'id':_0x4d8a60[_0x14f26e(0x157)],'localPath':resolveLocalSqlFilePath(_0x141155,_0x2d70bc,_0x4d8a60)},'description':_0x14f26e(0x150)+_0x2d70bc+_0x14f26e(0x16e)+_0x141155[_0x14f26e(0x16f)]};},async 'execute'(_0x2024f6){const _0x4500d0=a191_0x3590d3,_0x3125c9=loadSqlProjectConfig(_0x2024f6[_0x4500d0(0x151)]),_0x3fc2a5=await readSqlLockFile(_0x3125c9['lockFilePath']);if(!_0x3fc2a5)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0xb0c0f7,appLock:_0xb91739}=ensureSqlLockScope(_0x3fc2a5,_0x2024f6[_0x4500d0(0x151)],_0x3125c9[_0x4500d0(0x159)],'delete'),_0x48c8da=_0x2024f6[_0x4500d0(0x14e)](_0x4500d0(0x162)),_0x28f511=_0xb91739[_0x4500d0(0x170)][_0x48c8da];if(!_0x28f511)throw CliErrors[_0x4500d0(0x152)](_0x4500d0(0x165)+_0x48c8da+'\x22.');await deleteSqlQuery({'id':_0x28f511[_0x4500d0(0x157)],'sqlCode':_0x48c8da}),_0xb91739[_0x4500d0(0x170)]=Object[_0x4500d0(0x172)](Object[_0x4500d0(0x16d)](_0xb91739[_0x4500d0(0x170)])[_0x4500d0(0x171)](([_0x5744f0])=>_0x5744f0!==_0x48c8da)),_0xb91739[_0x4500d0(0x168)]=new Date()[_0x4500d0(0x153)](),await writeSqlLockFile(_0x3125c9['lockFilePath'],_0xb0c0f7);const _0x33dc58=resolveLocalSqlFilePath(_0x3125c9,_0x48c8da,_0x28f511);let _0x1a4335;await fileExists(_0x33dc58)&&(_0x1a4335=await moveToTrash(_0x3125c9['projectRoot'],_0x3125c9['trashDir'],_0x33dc58),await cleanupEmptyDirectories(dirname(_0x33dc58),_0x3125c9[_0x4500d0(0x158)]));const _0x3ee3c6={'deleted':_0x48c8da,'remoteId':_0x28f511['remoteId']};if(_0x1a4335)_0x3ee3c6['trashedTo']=_0x1a4335;return{'ok':!![],'data':_0x3ee3c6,'message':_0x4500d0(0x15d)+_0x48c8da+(_0x1a4335?_0x4500d0(0x154):'')};}};async function moveToTrash(_0x75e442,_0x99c74,_0x38109f){const _0x3d1fef=a191_0x3590d3,_0x24e0cc=new Date()[_0x3d1fef(0x153)]()[_0x3d1fef(0x160)](/[:.]/g,'-'),_0x3b179f=relative(_0x75e442,_0x38109f),_0x2539a1=join(_0x99c74,_0x24e0cc,_0x3b179f);return await mkdir(dirname(_0x2539a1),{'recursive':!![]}),await rename(_0x38109f,_0x2539a1),_0x2539a1;}async function cleanupEmptyDirectories(_0x13149a,_0x271acc){const _0x2957d5=a191_0x3590d3;let _0x4e7627=resolve(_0x13149a);const _0x2cd1b0=resolve(_0x271acc);while(_0x4e7627[_0x2957d5(0x161)](''+_0x2cd1b0+sep)||_0x4e7627===_0x2cd1b0){if(_0x4e7627===_0x2cd1b0)return;try{const _0xd990fb=await readdir(_0x4e7627);if(_0xd990fb[_0x2957d5(0x156)]>0x0)return;await rmdir(_0x4e7627);}catch{return;}_0x4e7627=dirname(_0x4e7627);}}
@@ -1 +1 @@
1
- const a187_0x4c3a65=a187_0x2a75;function a187_0x4880(){const _0x5a7f75=['Return\x20full\x20raw\x20SQL\x20query\x20object','10oTnqpB','1135962zdnLtq','sqlContent','4492IhrvrO','12520571jqViUn','6418sYjdKB','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','verbose','7265BzuPbG','9alvJOy','bool','sqlcode','read','19803311EsWJMf','appCode','160212hLrcUW','4972808QbhErN','sql','str','317miMoln','boolean','sqlName','dbId'];a187_0x4880=function(){return _0x5a7f75;};return a187_0x4880();}(function(_0x3acc8e,_0x506518){const _0x460d0b=a187_0x2a75,_0x3f889e=_0x3acc8e();while(!![]){try{const _0x2a62b8=parseInt(_0x460d0b(0x1fa))/0x1*(-parseInt(_0x460d0b(0x1ec))/0x2)+-parseInt(_0x460d0b(0x1e8))/0x3+-parseInt(_0x460d0b(0x1ea))/0x4*(-parseInt(_0x460d0b(0x1ef))/0x5)+parseInt(_0x460d0b(0x1f6))/0x6+-parseInt(_0x460d0b(0x1eb))/0x7+-parseInt(_0x460d0b(0x1f7))/0x8*(-parseInt(_0x460d0b(0x1f0))/0x9)+-parseInt(_0x460d0b(0x1e7))/0xa*(-parseInt(_0x460d0b(0x1f4))/0xb);if(_0x2a62b8===_0x506518)break;else _0x3f889e['push'](_0x3f889e['shift']());}catch(_0x52a89d){_0x3f889e['push'](_0x3f889e['shift']());}}}(a187_0x4880,0xdab13));import{getSqlQueryInfo}from'../../core/api-client.js';function a187_0x2a75(_0x314e81,_0x41d92a){_0x314e81=_0x314e81-0x1e3;const _0x4880fe=a187_0x4880();let _0x2a7587=_0x4880fe[_0x314e81];return _0x2a7587;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a187_0x4c3a65(0x1f8),'command':'detail','description':a187_0x4c3a65(0x1ed),'risk':a187_0x4c3a65(0x1f3),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a187_0x4c3a65(0x1e3),'description':a187_0x4c3a65(0x1e6)}],async 'execute'(_0xdd7c7c){const _0x3495cb=a187_0x4c3a65,_0x4bf880=await getSqlQueryInfo(_0xdd7c7c[_0x3495cb(0x1f5)],_0xdd7c7c[_0x3495cb(0x1f9)](_0x3495cb(0x1f2))),_0x432a7e=_0xdd7c7c[_0x3495cb(0x1f1)](_0x3495cb(0x1ee));if(_0x432a7e)return{'ok':!![],'data':_0x4bf880};const _0x1af7cc=_0x4bf880[_0x3495cb(0x1e5)]?await getDbName(_0xdd7c7c[_0x3495cb(0x1f5)],_0x4bf880[_0x3495cb(0x1e5)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x4bf880['sqlCode'],'sqlName':_0x4bf880[_0x3495cb(0x1e4)],'db':_0x1af7cc?_0x1af7cc+'\x20('+_0x4bf880['dbId']+')':_0x4bf880[_0x3495cb(0x1e5)]??'','description':_0x4bf880['description']??'','sqlContent':_0x4bf880[_0x3495cb(0x1e9)]??''}};}};
1
+ const a192_0x538664=a192_0x23c8;(function(_0x93c948,_0x37a0ed){const _0x509b60=a192_0x23c8,_0xaddb8a=_0x93c948();while(!![]){try{const _0x4e9c05=parseInt(_0x509b60(0x16d))/0x1+parseInt(_0x509b60(0x15e))/0x2*(parseInt(_0x509b60(0x16c))/0x3)+parseInt(_0x509b60(0x15d))/0x4+parseInt(_0x509b60(0x16a))/0x5*(-parseInt(_0x509b60(0x157))/0x6)+-parseInt(_0x509b60(0x163))/0x7*(parseInt(_0x509b60(0x15a))/0x8)+-parseInt(_0x509b60(0x168))/0x9+-parseInt(_0x509b60(0x165))/0xa;if(_0x4e9c05===_0x37a0ed)break;else _0xaddb8a['push'](_0xaddb8a['shift']());}catch(_0x3c45f6){_0xaddb8a['push'](_0xaddb8a['shift']());}}}(a192_0x2780,0x633db));function a192_0x23c8(_0x387e5b,_0xf39d81){_0x387e5b=_0x387e5b-0x157;const _0x27805a=a192_0x2780();let _0x23c8f5=_0x27805a[_0x387e5b];return _0x23c8f5;}import{getSqlQueryInfo}from'../../core/api-client.js';function a192_0x2780(){const _0x4a1cae=['description','Return\x20full\x20raw\x20SQL\x20query\x20object','str','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','68887cnbsCW','dbId','1781180LxGcXg','read','appCode','6365898wJJYJi','boolean','42260XmTznV','verbose','3zYkAqR','780513GuXFsc','264gVHqQO','sqlName','sqlCode','240BEVSGS','bool','sqlContent','2200060ghLYnH','1257042JKrdcw'];a192_0x2780=function(){return _0x4a1cae;};return a192_0x2780();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':'detail','description':a192_0x538664(0x162),'risk':a192_0x538664(0x166),'flags':[SQLCODE_FLAG,{'name':a192_0x538664(0x16b),'type':a192_0x538664(0x169),'description':a192_0x538664(0x160)}],async 'execute'(_0x2c2cd0){const _0x37b68d=a192_0x538664,_0xf0ad33=await getSqlQueryInfo(_0x2c2cd0[_0x37b68d(0x167)],_0x2c2cd0[_0x37b68d(0x161)]('sqlcode')),_0x50d2d3=_0x2c2cd0[_0x37b68d(0x15b)](_0x37b68d(0x16b));if(_0x50d2d3)return{'ok':!![],'data':_0xf0ad33};const _0x2b1761=_0xf0ad33[_0x37b68d(0x164)]?await getDbName(_0x2c2cd0[_0x37b68d(0x167)],_0xf0ad33[_0x37b68d(0x164)]):undefined;return{'ok':!![],'data':{'sqlCode':_0xf0ad33[_0x37b68d(0x159)],'sqlName':_0xf0ad33[_0x37b68d(0x158)],'db':_0x2b1761?_0x2b1761+'\x20('+_0xf0ad33['dbId']+')':_0xf0ad33['dbId']??'','description':_0xf0ad33[_0x37b68d(0x15f)]??'','sqlContent':_0xf0ad33[_0x37b68d(0x15c)]??''}};}};
@@ -1 +1 @@
1
- const a188_0x3ecefe=a188_0x136b;(function(_0x161539,_0x4e3324){const _0x4ba639=a188_0x136b,_0x140df6=_0x161539();while(!![]){try{const _0x12ac11=parseInt(_0x4ba639(0x1c3))/0x1+parseInt(_0x4ba639(0x1cd))/0x2*(parseInt(_0x4ba639(0x1d0))/0x3)+-parseInt(_0x4ba639(0x1bd))/0x4+-parseInt(_0x4ba639(0x1c8))/0x5*(parseInt(_0x4ba639(0x1d3))/0x6)+parseInt(_0x4ba639(0x1cf))/0x7*(parseInt(_0x4ba639(0x1d1))/0x8)+-parseInt(_0x4ba639(0x1bc))/0x9+parseInt(_0x4ba639(0x1c0))/0xa*(-parseInt(_0x4ba639(0x1c5))/0xb);if(_0x12ac11===_0x4e3324)break;else _0x140df6['push'](_0x140df6['shift']());}catch(_0x5635fb){_0x140df6['push'](_0x140df6['shift']());}}}(a188_0xdc2e,0x76f00));function a188_0xdc2e(){const _0x6ca9ff=['22FqFCSa','\x20row(s)\x20in\x20','execError','5RYdGTj','Returned\x20','params','now','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','1795354xGVlBl','str','91SsuUOI','3PWVBJn','347648EKlVnF','appCode','423606YrqaVX','execResult','read','6113700nQiIta','3291652qZIqjL','length','sqlcode','852810UdTNmN','exec','SQL\x20execution\x20failed','767939QBpgLw','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'];a188_0xdc2e=function(){return _0x6ca9ff;};return a188_0xdc2e();}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a188_0x136b(_0x389963,_0x644cc6){_0x389963=_0x389963-0x1ba;const _0xdc2e85=a188_0xdc2e();let _0x136bd7=_0xdc2e85[_0x389963];return _0x136bd7;}export const sqlExec={'service':'sql','command':a188_0x3ecefe(0x1c1),'description':a188_0x3ecefe(0x1cc),'risk':a188_0x3ecefe(0x1bb),'flags':[SQLCODE_FLAG,{'name':a188_0x3ecefe(0x1ca),'type':'string','description':a188_0x3ecefe(0x1c4)}],async 'execute'(_0x105777){const _0x505d48=a188_0x3ecefe,_0x4d64db=parseJsonParams(_0x105777[_0x505d48(0x1ce)](_0x505d48(0x1ca))),_0x35e5e1=Date['now'](),_0xe1686d=await executeSql(_0x105777[_0x505d48(0x1d2)],_0x105777['str'](_0x505d48(0x1bf)),_0x4d64db),_0xecedf3=Date[_0x505d48(0x1cb)]()-_0x35e5e1,_0x51dc5f=_0xe1686d?.[_0x505d48(0x1ba)]??_0xe1686d,_0x950a16=_0xe1686d?.['execSuccess']??!![];if(!_0x950a16)return{'ok':![],'data':{'error':_0xe1686d?.[_0x505d48(0x1c7)]||_0x505d48(0x1c2),'elapsed':_0xecedf3},'message':'SQL\x20execution\x20failed'};const _0x3ca88a=Array['isArray'](_0x51dc5f)?_0x51dc5f:[];return{'ok':!![],'data':{'rows':_0x3ca88a,'rowCount':_0x3ca88a[_0x505d48(0x1be)],'elapsed':_0xecedf3},'message':_0x505d48(0x1c9)+_0x3ca88a[_0x505d48(0x1be)]+_0x505d48(0x1c6)+_0xecedf3+'ms'};}};
1
+ const a193_0x4a1d2a=a193_0x44db;(function(_0x4c7c1c,_0x40fdbc){const _0xa49edf=a193_0x44db,_0x46b313=_0x4c7c1c();while(!![]){try{const _0x5ac12a=parseInt(_0xa49edf(0x132))/0x1+parseInt(_0xa49edf(0x130))/0x2+-parseInt(_0xa49edf(0x131))/0x3*(parseInt(_0xa49edf(0x137))/0x4)+parseInt(_0xa49edf(0x134))/0x5*(parseInt(_0xa49edf(0x12d))/0x6)+-parseInt(_0xa49edf(0x12e))/0x7*(-parseInt(_0xa49edf(0x129))/0x8)+parseInt(_0xa49edf(0x126))/0x9+-parseInt(_0xa49edf(0x124))/0xa;if(_0x5ac12a===_0x40fdbc)break;else _0x46b313['push'](_0x46b313['shift']());}catch(_0x54e911){_0x46b313['push'](_0x46b313['shift']());}}}(a193_0x40e7,0xeff5f));function a193_0x44db(_0x213596,_0x2c2957){_0x213596=_0x213596-0x11f;const _0x40e73c=a193_0x40e7();let _0x44db43=_0x40e73c[_0x213596];return _0x44db43;}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a193_0x40e7(){const _0x48dbae=['14890830gyBkrl','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','2012409DDbZzm','execSuccess','sqlcode','8soSRcE','exec','now','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','210450lYlnFS','13267247TXKFFO','Returned\x20','257244oCBbWg','48gvxPHT','475414FmNqzZ','execError','180RgkCUU','str','sql','378424czKAPZ','length','read','\x20row(s)\x20in\x20','isArray','string'];a193_0x40e7=function(){return _0x48dbae;};return a193_0x40e7();}export const sqlExec={'service':a193_0x4a1d2a(0x136),'command':a193_0x4a1d2a(0x12a),'description':a193_0x4a1d2a(0x125),'risk':a193_0x4a1d2a(0x120),'flags':[SQLCODE_FLAG,{'name':'params','type':a193_0x4a1d2a(0x123),'description':a193_0x4a1d2a(0x12c)}],async 'execute'(_0x6d1972){const _0x271faf=a193_0x4a1d2a,_0x3e28a6=parseJsonParams(_0x6d1972[_0x271faf(0x135)]('params')),_0x40b75c=Date[_0x271faf(0x12b)](),_0x278c9f=await executeSql(_0x6d1972['appCode'],_0x6d1972[_0x271faf(0x135)](_0x271faf(0x128)),_0x3e28a6),_0x59529d=Date[_0x271faf(0x12b)]()-_0x40b75c,_0x63ac29=_0x278c9f?.['execResult']??_0x278c9f,_0x25d8c7=_0x278c9f?.[_0x271faf(0x127)]??!![];if(!_0x25d8c7)return{'ok':![],'data':{'error':_0x278c9f?.[_0x271faf(0x133)]||'SQL\x20execution\x20failed','elapsed':_0x59529d},'message':'SQL\x20execution\x20failed'};const _0x2b740e=Array[_0x271faf(0x122)](_0x63ac29)?_0x63ac29:[];return{'ok':!![],'data':{'rows':_0x2b740e,'rowCount':_0x2b740e['length'],'elapsed':_0x59529d},'message':_0x271faf(0x12f)+_0x2b740e[_0x271faf(0x11f)]+_0x271faf(0x121)+_0x59529d+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x1c23e1,_0x268210){const _0x56c75a=a189_0x2558,_0x5e3ab4=_0x1c23e1();while(!![]){try{const _0x40dcdd=-parseInt(_0x56c75a(0x196))/0x1*(-parseInt(_0x56c75a(0x195))/0x2)+-parseInt(_0x56c75a(0x191))/0x3+parseInt(_0x56c75a(0x18f))/0x4*(-parseInt(_0x56c75a(0x197))/0x5)+parseInt(_0x56c75a(0x193))/0x6+-parseInt(_0x56c75a(0x194))/0x7*(parseInt(_0x56c75a(0x190))/0x8)+-parseInt(_0x56c75a(0x192))/0x9*(-parseInt(_0x56c75a(0x198))/0xa)+parseInt(_0x56c75a(0x18e))/0xb;if(_0x40dcdd===_0x268210)break;else _0x5e3ab4['push'](_0x5e3ab4['shift']());}catch(_0x2ae45c){_0x5e3ab4['push'](_0x5e3ab4['shift']());}}}(a189_0x1362,0xafb52));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a189_0x2558(_0x1da206,_0x25f892){_0x1da206=_0x1da206-0x18e;const _0x13629f=a189_0x1362();let _0x255869=_0x13629f[_0x1da206];return _0x255869;}import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a189_0x1362(){const _0x330514=['235368cARxxX','4242474BRLklG','5359991rubOpV','20iUjHHW','31796Wqmvas','410uhWbqS','550nGVsCp','6032653RFmQVL','13996CesaXI','8gRMkGl','3718479PXIDjG'];a189_0x1362=function(){return _0x330514;};return a189_0x1362();}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
1
+ function a194_0x1d0a(){const _0x1b39c6=['5972HlpKOv','220AasPLr','2368849tCkJAD','11ClQdCc','3591915giqPGn','239121RwuztO','5539035uGQICx','10429792qFRWfz','17376370UxQsbM','12sfEyty','4BNMyKh'];a194_0x1d0a=function(){return _0x1b39c6;};return a194_0x1d0a();}(function(_0x1e3b38,_0x3b60b7){const _0x21fecf=a194_0x3051,_0x5eab41=_0x1e3b38();while(!![]){try{const _0x145fc4=-parseInt(_0x21fecf(0x148))/0x1*(-parseInt(_0x21fecf(0x152))/0x2)+-parseInt(_0x21fecf(0x14b))/0x3+parseInt(_0x21fecf(0x151))/0x4*(-parseInt(_0x21fecf(0x14d))/0x5)+parseInt(_0x21fecf(0x150))/0x6*(-parseInt(_0x21fecf(0x149))/0x7)+parseInt(_0x21fecf(0x14e))/0x8+-parseInt(_0x21fecf(0x14c))/0x9+parseInt(_0x21fecf(0x14f))/0xa*(parseInt(_0x21fecf(0x14a))/0xb);if(_0x145fc4===_0x3b60b7)break;else _0x5eab41['push'](_0x5eab41['shift']());}catch(_0x38375b){_0x5eab41['push'](_0x5eab41['shift']());}}}(a194_0x1d0a,0xa867a));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a194_0x3051(_0x4aad77,_0x45d9fd){_0x4aad77=_0x4aad77-0x148;const _0x1d0a55=a194_0x1d0a();let _0x3051fe=_0x1d0a55[_0x4aad77];return _0x3051fe;}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';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a190_0x3c6c22=a190_0x1a51;(function(_0x458300,_0x3d6704){const _0x1b8122=a190_0x1a51,_0x42a9d5=_0x458300();while(!![]){try{const _0x162197=parseInt(_0x1b8122(0xce))/0x1+parseInt(_0x1b8122(0xf2))/0x2+parseInt(_0x1b8122(0xe4))/0x3*(parseInt(_0x1b8122(0xe2))/0x4)+-parseInt(_0x1b8122(0xdf))/0x5*(parseInt(_0x1b8122(0xe8))/0x6)+-parseInt(_0x1b8122(0xe0))/0x7*(parseInt(_0x1b8122(0xeb))/0x8)+parseInt(_0x1b8122(0xdd))/0x9*(-parseInt(_0x1b8122(0xed))/0xa)+parseInt(_0x1b8122(0xd1))/0xb*(parseInt(_0x1b8122(0xd8))/0xc);if(_0x162197===_0x3d6704)break;else _0x42a9d5['push'](_0x42a9d5['shift']());}catch(_0x5655b1){_0x42a9d5['push'](_0x42a9d5['shift']());}}}(a190_0x5616,0x77941));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_0x1a51(_0x433f92,_0x51903a){_0x433f92=_0x433f92-0xcb;const _0x56163c=a190_0x5616();let _0x1a51fb=_0x56163c[_0x433f92];return _0x1a51fb;}export const sqlList={'service':a190_0x3c6c22(0xd9),'command':a190_0x3c6c22(0xd4),'description':a190_0x3c6c22(0xf0),'risk':a190_0x3c6c22(0xe5),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a190_0x3c6c22(0xec),'type':a190_0x3c6c22(0xcc),'description':a190_0x3c6c22(0xcb)},{'name':a190_0x3c6c22(0xcf),'type':a190_0x3c6c22(0xe3),'description':a190_0x3c6c22(0xe6),'default':0x1},{'name':a190_0x3c6c22(0xde),'type':a190_0x3c6c22(0xe3),'description':a190_0x3c6c22(0xf1)},{'name':a190_0x3c6c22(0xcd),'type':'boolean','description':a190_0x3c6c22(0xd5)}],async 'execute'(_0x406838){const _0x375d83=a190_0x3c6c22,_0x507951=await listSqlQueries(_0x406838['appCode'],{'sqlCode':_0x406838[_0x375d83(0xee)](_0x375d83(0xea))||undefined,'sqlName':_0x406838['str'](_0x375d83(0xec))||undefined,'currentPage':_0x406838[_0x375d83(0xda)](_0x375d83(0xcf)),'pageSize':_0x406838['num'](_0x375d83(0xde),0x32)}),_0x63faf1=_0x406838[_0x375d83(0xd7)](_0x375d83(0xcd)),_0x3d6618=_0x507951[_0x375d83(0xd2)]??[],_0x3b4bd7=_0x507951[_0x375d83(0xd6)]?.['totalCount']??_0x3d6618['length'];let _0x3f4dd7;return _0x63faf1?_0x3f4dd7=_0x3d6618:_0x3f4dd7=await Promise[_0x375d83(0xd0)](_0x3d6618[_0x375d83(0xf4)](async _0x4b204f=>{const _0x3ebd5b=_0x375d83;let _0x1a1c7a;try{_0x1a1c7a=_0x4b204f[_0x3ebd5b(0xdb)]?await getDbName(_0x406838[_0x3ebd5b(0xe7)],_0x4b204f[_0x3ebd5b(0xdb)]):undefined;}catch{}return{'sqlCode':_0x4b204f[_0x3ebd5b(0xe1)],'sqlName':_0x4b204f[_0x3ebd5b(0xd3)],'description':_0x4b204f[_0x3ebd5b(0xf5)]??'','db':_0x1a1c7a?_0x1a1c7a+'\x20('+_0x4b204f[_0x3ebd5b(0xdb)]+')':_0x4b204f[_0x3ebd5b(0xdb)]??''};})),{'ok':!![],'data':_0x3f4dd7,'message':_0x3d6618[_0x375d83(0xf3)]===0x0?_0x375d83(0xdc):_0x375d83(0xef)+_0x3d6618['length']+_0x375d83(0xe9)+_0x3b4bd7+').'};}};function a190_0x5616(){const _0x33d56d=['verbose','9959RhXkSU','page','all','12543157lRLSVE','tableData','sqlName','list','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','paging','bool','12GbyFoc','sql','num','dbId','No\x20custom\x20SQL\x20queries\x20found.','9IangVs','pagesize','89035hNaHtC','7KuCygn','sqlCode','52PXmgoE','number','64662oCYsFY','read','Page\x20number','appCode','132PSRFZY','\x20SQL\x20queries\x20(total:\x20','sqlcode','4112592PNuDlI','name','2303550brTXji','str','Found\x20','List\x20custom\x20SQL\x20queries','Page\x20size','391056vbrLZZ','length','map','description','Filter\x20by\x20SQL\x20name','string'];a190_0x5616=function(){return _0x33d56d;};return a190_0x5616();}
1
+ const a195_0x2cc9bb=a195_0xf1d2;function a195_0x2b36(){const _0x59bb4d=['number','description','bool','1352cRydMG','appCode','2478QqkgZg','10895bJJnzd','num','length','List\x20custom\x20SQL\x20queries','1NIfhdv','sql','pagesize','sqlName','Found\x20','7398009noqrFn','paging','23254afonIx','3729218tVRUZR','verbose','Page\x20number','str','2975208HTiRhZ','sqlCode','totalCount','Page\x20size','dbId','28553DVhDNv','all','Filter\x20by\x20SQL\x20name','string','boolean','read','page','18490uCuadg','map','3603429bVGeEe'];a195_0x2b36=function(){return _0x59bb4d;};return a195_0x2b36();}(function(_0x61bdc4,_0x2ff698){const _0x3e94da=a195_0xf1d2,_0x1a7c82=_0x61bdc4();while(!![]){try{const _0x13f038=-parseInt(_0x3e94da(0x189))/0x1*(-parseInt(_0x3e94da(0x16c))/0x2)+parseInt(_0x3e94da(0x17e))/0x3+parseInt(_0x3e94da(0x170))/0x4+parseInt(_0x3e94da(0x185))/0x5*(parseInt(_0x3e94da(0x184))/0x6)+-parseInt(_0x3e94da(0x175))/0x7*(parseInt(_0x3e94da(0x182))/0x8)+parseInt(_0x3e94da(0x18e))/0x9+-parseInt(_0x3e94da(0x17c))/0xa*(parseInt(_0x3e94da(0x16b))/0xb);if(_0x13f038===_0x2ff698)break;else _0x1a7c82['push'](_0x1a7c82['shift']());}catch(_0x572050){_0x1a7c82['push'](_0x1a7c82['shift']());}}}(a195_0x2b36,0xe3de1));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a195_0xf1d2(_0x474ecb,_0x4378a9){_0x474ecb=_0x474ecb-0x16a;const _0x2b3658=a195_0x2b36();let _0xf1d2b0=_0x2b3658[_0x474ecb];return _0xf1d2b0;}export const sqlList={'service':a195_0x2cc9bb(0x18a),'command':'list','description':a195_0x2cc9bb(0x188),'risk':a195_0x2cc9bb(0x17a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a195_0x2cc9bb(0x178),'description':a195_0x2cc9bb(0x177)},{'name':a195_0x2cc9bb(0x17b),'type':a195_0x2cc9bb(0x17f),'description':a195_0x2cc9bb(0x16e),'default':0x1},{'name':a195_0x2cc9bb(0x18b),'type':'number','description':a195_0x2cc9bb(0x173)},{'name':a195_0x2cc9bb(0x16d),'type':a195_0x2cc9bb(0x179),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x566ab7){const _0x19b509=a195_0x2cc9bb,_0x30d9df=await listSqlQueries(_0x566ab7[_0x19b509(0x183)],{'sqlCode':_0x566ab7[_0x19b509(0x16f)]('sqlcode')||undefined,'sqlName':_0x566ab7['str']('name')||undefined,'currentPage':_0x566ab7[_0x19b509(0x186)](_0x19b509(0x17b)),'pageSize':_0x566ab7[_0x19b509(0x186)](_0x19b509(0x18b),0x32)}),_0x3b4816=_0x566ab7[_0x19b509(0x181)](_0x19b509(0x16d)),_0x11ebef=_0x30d9df['tableData']??[],_0x47e2ee=_0x30d9df[_0x19b509(0x16a)]?.[_0x19b509(0x172)]??_0x11ebef['length'];let _0x4b61eb;return _0x3b4816?_0x4b61eb=_0x11ebef:_0x4b61eb=await Promise[_0x19b509(0x176)](_0x11ebef[_0x19b509(0x17d)](async _0x9ac343=>{const _0x1d0d7e=_0x19b509;let _0x422c3d;try{_0x422c3d=_0x9ac343[_0x1d0d7e(0x174)]?await getDbName(_0x566ab7[_0x1d0d7e(0x183)],_0x9ac343[_0x1d0d7e(0x174)]):undefined;}catch{}return{'sqlCode':_0x9ac343[_0x1d0d7e(0x171)],'sqlName':_0x9ac343[_0x1d0d7e(0x18c)],'description':_0x9ac343[_0x1d0d7e(0x180)]??'','db':_0x422c3d?_0x422c3d+'\x20('+_0x9ac343['dbId']+')':_0x9ac343[_0x1d0d7e(0x174)]??''};})),{'ok':!![],'data':_0x4b61eb,'message':_0x11ebef[_0x19b509(0x187)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x19b509(0x18d)+_0x11ebef[_0x19b509(0x187)]+'\x20SQL\x20queries\x20(total:\x20'+_0x47e2ee+').'};}};
@@ -1 +1 @@
1
- const a191_0x234989=a191_0x2817;(function(_0x33cee9,_0x524716){const _0x1f47f8=a191_0x2817,_0xcaff54=_0x33cee9();while(!![]){try{const _0x5efe69=-parseInt(_0x1f47f8(0x182))/0x1+parseInt(_0x1f47f8(0x189))/0x2*(parseInt(_0x1f47f8(0x1b4))/0x3)+parseInt(_0x1f47f8(0x191))/0x4+-parseInt(_0x1f47f8(0x1ae))/0x5*(parseInt(_0x1f47f8(0x193))/0x6)+parseInt(_0x1f47f8(0x18e))/0x7*(-parseInt(_0x1f47f8(0x1a8))/0x8)+-parseInt(_0x1f47f8(0x17b))/0x9+-parseInt(_0x1f47f8(0x185))/0xa*(-parseInt(_0x1f47f8(0x192))/0xb);if(_0x5efe69===_0x524716)break;else _0xcaff54['push'](_0xcaff54['shift']());}catch(_0x5aa001){_0xcaff54['push'](_0xcaff54['shift']());}}}(a191_0x59be,0xc9f1e));function a191_0x59be(){const _0xd13431=['lastSync','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','POST','description','Force\x20overwrite\x20local\x20unsynced\x20changes','Would\x20pull\x20','1294575MljbUm','tableData','length','2241380ErCSkJ','catch','string','No\x20remote\x20SQL\x20queries\x20matched.','8PSFTRS','sqlRoot','local\x20differs\x20from\x20remote','cancelled','pull','8799oHAdpn','sqls','read','3887380KIUWUh','209QhXMKs','18sguBLA','lockFilePath','dbId','unchanged','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','toISOString','join','mybatisXml','\x20SQL\x20file(s)\x20into\x20','name','bool','Pull\x20complete:\x20','nonInteractive','path','skipped','boolean','sqlcode','sqlRootDir','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','message','sqlCode','7272mTzfsB','sqlName','utf8','push','totalCount','str','2238525HiKtYG','filter','paging','appCode','sqlContent','Filter\x20by\x20SQL\x20display\x20name','228210mELais','apps','test','sql','8345502hgCFrB'];a191_0x59be=function(){return _0xd13431;};return a191_0x59be();}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(_0x48f8e0,_0x2986af){const _0xd12cbe=a191_0x2817,_0xec1332=[];let _0x187b43=0x1;while(!![]){const _0x61b273=await listSqlQueries(_0x48f8e0,{'currentPage':_0x187b43,'pageSize':PAGE_SIZE,'sqlCode':_0x2986af[_0xd12cbe(0x1a7)],'sqlName':_0x2986af[_0xd12cbe(0x1a9)]}),_0x56b383=_0x61b273[_0xd12cbe(0x183)]??[];_0xec1332['push'](..._0x56b383);if(_0x56b383[_0xd12cbe(0x184)]===0x0)break;const _0x365880=_0x61b273[_0xd12cbe(0x1b0)]?.[_0xd12cbe(0x1ac)];if(_0x365880!=null?_0xec1332[_0xd12cbe(0x184)]>=_0x365880:_0x56b383[_0xd12cbe(0x184)]<PAGE_SIZE)break;_0x187b43++;}return _0xec1332;}async function ensureSqlContent(_0xfad991){const _0x4eebd5=a191_0x2817;if(_0xfad991['sqlContent']!=null&&String(_0xfad991[_0x4eebd5(0x1b2)])[_0x4eebd5(0x184)]>0x0)return _0xfad991;return getSqlQueryDetail(_0xfad991[_0x4eebd5(0x1a7)]);}export const sqlPull={'service':a191_0x234989(0x1b7),'command':'pull','description':a191_0x234989(0x1a5),'risk':a191_0x234989(0x190),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a191_0x234989(0x187),'description':a191_0x234989(0x1b3)},{'name':'force','type':a191_0x234989(0x1a2),'description':a191_0x234989(0x180)}],async 'dryRun'(_0x3eed74){const _0x37cb81=a191_0x234989,_0x21eeda=loadSqlProjectConfig(_0x3eed74[_0x37cb81(0x1b1)]),_0x112f46=await readSqlLockFile(_0x21eeda['lockFilePath']),{appLock:_0x3b037c}=ensureSqlLockScope(_0x112f46??createEmptySqlLock(),_0x21eeda[_0x37cb81(0x1b1)],_0x21eeda[_0x37cb81(0x18a)],_0x37cb81(0x18d)),_0x491105=await fetchAllSqlQueries(_0x3eed74[_0x37cb81(0x1b1)],{'sqlCode':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x1a3))||undefined,'sqlName':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x19c))||undefined}),_0x5e892c=[];for(const _0x345c59 of _0x491105){const _0x11c83a=await ensureSqlContent(_0x345c59),_0x142307=ensureRemoteSqlContent(_0x11c83a),_0x31fe7c=detectModeFromSql(_0x11c83a),_0x243eed=_0x11c83a[_0x37cb81(0x195)]?await getDbName(_0x3eed74['appCode'],Number(_0x11c83a[_0x37cb81(0x195)]))[_0x37cb81(0x186)](()=>undefined):undefined,_0x924240=buildLocalSqlFileContent({'sqlCode':_0x11c83a[_0x37cb81(0x1a7)],'sqlName':_0x11c83a['sqlName'],'dbId':_0x11c83a['dbId']},_0x142307,{'dbName':_0x243eed,'mode':_0x31fe7c,'syncedAt':new Date()[_0x37cb81(0x198)](),'description':_0x11c83a[_0x37cb81(0x17f)]}),_0x28e78b=buildSqlLockEntry(_0x11c83a,_0x142307,'',{'dbName':_0x243eed}),_0x18cff4=resolveLocalSqlFilePath(_0x21eeda,_0x11c83a[_0x37cb81(0x1a7)],_0x28e78b);let _0x3b1e12='would_pull',_0x1871f2;if(await fileExists(_0x18cff4)){const _0x11f8f3=await readFile(_0x18cff4,_0x37cb81(0x1aa));isEquivalentPulledSqlFile(_0x11f8f3,_0x924240,_0x31fe7c)?(_0x3b1e12=_0x37cb81(0x1a1),_0x1871f2=_0x37cb81(0x196)):(_0x3b1e12='conflict',_0x1871f2='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x5e892c[_0x37cb81(0x1ab)]({'sqlCode':_0x11c83a['sqlCode'],'sqlName':_0x11c83a['sqlName'],'filePath':_0x18cff4,'status':_0x3b1e12,'reason':_0x1871f2});}return{'method':_0x37cb81(0x17e),'url':_0x37cb81(0x17d),'body':{'appCode':_0x3eed74[_0x37cb81(0x1b1)],'sqlCode':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x1a3))||null,'sqlName':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x19c))||null,'files':_0x5e892c},'description':_0x37cb81(0x181)+_0x5e892c['length']+_0x37cb81(0x19b)+_0x21eeda[_0x37cb81(0x1a4)]};},async 'execute'(_0x4b4ef9){const _0x4682d7=a191_0x234989,_0x24da17=loadSqlProjectConfig(_0x4b4ef9[_0x4682d7(0x1b1)]),_0xde2060=await readSqlLockFile(_0x24da17['lockFilePath']),{lockData:_0x57ccaa,appLock:_0x79603f}=ensureSqlLockScope(_0xde2060??createEmptySqlLock(),_0x24da17['appCode'],_0x24da17['sqlRoot'],_0x4682d7(0x18d)),_0x550dba=_0x4b4ef9[_0x4682d7(0x19d)]('force'),_0x5b77e0=await fetchAllSqlQueries(_0x4b4ef9['appCode'],{'sqlCode':_0x4b4ef9['str'](_0x4682d7(0x1a3))||undefined,'sqlName':_0x4b4ef9[_0x4682d7(0x1ad)]('name')||undefined});if(_0x5b77e0[_0x4682d7(0x184)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4682d7(0x188)};const _0x495ec8=[],_0x2662d7=[];for(const _0x21c3fd of _0x5b77e0){try{_0x495ec8[_0x4682d7(0x1ab)](await ensureSqlContent(_0x21c3fd));}catch(_0xf1c4c1){_0x2662d7[_0x4682d7(0x1ab)]({'sqlCode':_0x21c3fd[_0x4682d7(0x1a7)],'error':_0xf1c4c1 instanceof Error?_0xf1c4c1[_0x4682d7(0x1a6)]:String(_0xf1c4c1)});}}if(_0x550dba&&!_0x4b4ef9[_0x4682d7(0x19f)]){let _0x54af62=![];for(const _0x372be4 of _0x495ec8){const _0x26cb29=detectModeFromSql(_0x372be4),_0x5a03c1=_0x372be4['dbId']?await getDbName(_0x4b4ef9[_0x4682d7(0x1b1)],Number(_0x372be4[_0x4682d7(0x195)]))['catch'](()=>undefined):undefined,_0x222535=buildLocalSqlFileContent({'sqlCode':_0x372be4['sqlCode'],'sqlName':_0x372be4[_0x4682d7(0x1a9)],'dbId':_0x372be4['dbId']},ensureRemoteSqlContent(_0x372be4),{'dbName':_0x5a03c1,'mode':_0x26cb29,'syncedAt':new Date()[_0x4682d7(0x198)](),'description':_0x372be4[_0x4682d7(0x17f)]}),_0x3456e8=resolveLocalSqlFilePath(_0x24da17,_0x372be4[_0x4682d7(0x1a7)],buildSqlLockEntry(_0x372be4,ensureRemoteSqlContent(_0x372be4),'',{'dbName':_0x5a03c1}));if(await fileExists(_0x3456e8)){const _0x1448f3=await readFile(_0x3456e8,_0x4682d7(0x1aa));if(!isEquivalentPulledSqlFile(_0x1448f3,_0x222535,_0x26cb29)){_0x54af62=!![];break;}}}if(_0x54af62){const _0x3bc1f6=await confirmForceOverwrite(_0x4682d7(0x197));if(!_0x3bc1f6)throw CliErrors[_0x4682d7(0x18c)]('Force\x20pull\x20cancelled.');}}const _0x45d7e9=cloneSqlLockData(_0x57ccaa),_0x280503=_0x45d7e9[_0x4682d7(0x1b5)][_0x24da17['appCode']],_0x212cd0=[],_0x4fe3aa=[];for(const _0x2b26e8 of _0x495ec8){const _0x32e4dc=_0x280503[_0x4682d7(0x18f)][_0x2b26e8[_0x4682d7(0x1a7)]],_0x1344d7=ensureRemoteSqlContent(_0x2b26e8),_0x59d717=detectModeFromSql(_0x2b26e8),_0x22fe6b=_0x2b26e8['dbId']?await getDbName(_0x4b4ef9[_0x4682d7(0x1b1)],Number(_0x2b26e8['dbId']))[_0x4682d7(0x186)](()=>undefined):undefined,_0x44323b=buildLocalSqlFileContent({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'sqlName':_0x2b26e8[_0x4682d7(0x1a9)],'dbId':_0x2b26e8[_0x4682d7(0x195)]},_0x1344d7,{'dbName':_0x22fe6b,'mode':_0x59d717,'syncedAt':new Date()['toISOString'](),'description':_0x2b26e8[_0x4682d7(0x17f)]}),_0x1df3a0=buildSqlLockEntry(_0x2b26e8,_0x1344d7,computeSqlContentHash(_0x44323b),{'dbName':_0x22fe6b}),_0xe6a69b=_0x1df3a0['path'],_0x460151=join(_0x24da17[_0x4682d7(0x1a4)],_0xe6a69b);try{if(await fileExists(_0x460151)){const _0x59fd72=await readFile(_0x460151,'utf8');if(isEquivalentPulledSqlFile(_0x59fd72,_0x44323b,_0x59d717)){_0x4fe3aa[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'reason':_0x4682d7(0x196)}),_0x280503[_0x4682d7(0x18f)][_0x2b26e8[_0x4682d7(0x1a7)]]={..._0x1df3a0,'hash':computeSqlContentHash(_0x59fd72),'path':_0xe6a69b};continue;}if(!_0x550dba){_0x4fe3aa[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'reason':_0x4682d7(0x18b)});continue;}}const _0x5d80be=_0x32e4dc?.[_0x4682d7(0x1a0)]?join(_0x24da17[_0x4682d7(0x1a4)],_0x32e4dc[_0x4682d7(0x1a0)]):undefined;_0x5d80be&&_0x5d80be!==_0x460151&&await fileExists(_0x5d80be)&&await rm(_0x5d80be,{'force':!![]}),await ensureParentDirectory(_0x460151),await writeFile(_0x460151,_0x44323b,_0x4682d7(0x1aa)),_0x280503['sqls'][_0x2b26e8[_0x4682d7(0x1a7)]]={..._0x1df3a0,'path':_0xe6a69b},_0x212cd0[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'filePath':_0x460151});}catch(_0xe08b68){_0x2662d7[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'error':_0xe08b68 instanceof Error?_0xe08b68['message']:String(_0xe08b68)});}}return _0x280503[_0x4682d7(0x17c)]=new Date()[_0x4682d7(0x198)](),await writeSqlLockFile(_0x24da17[_0x4682d7(0x194)],_0x45d7e9),{'ok':_0x2662d7[_0x4682d7(0x184)]===0x0,'data':{'pulled':_0x212cd0,'skipped':_0x4fe3aa,'failed':_0x2662d7},'message':_0x4682d7(0x19e)+_0x212cd0[_0x4682d7(0x184)]+'\x20written,\x20'+_0x4fe3aa[_0x4682d7(0x184)]+'\x20skipped,\x20'+_0x2662d7[_0x4682d7(0x184)]+'\x20failed'};}};function a191_0x2817(_0x5b4b6e,_0x11a151){_0x5b4b6e=_0x5b4b6e-0x17b;const _0x59beab=a191_0x59be();let _0x2817f5=_0x59beab[_0x5b4b6e];return _0x2817f5;}function detectModeFromSql(_0x391ea0){const _0xf3b6a3=a191_0x234989,_0x54e0f5=ensureRemoteSqlContent(_0x391ea0),_0x246f4e=stripLocalSqlMetadata(_0x54e0f5,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0xf3b6a3(0x1b6)](_0x246f4e))return _0xf3b6a3(0x19a);return _0xf3b6a3(0x1b7);}function isEquivalentPulledSqlFile(_0x5e1251,_0x1f19f0,_0x240ae6){return normalizePullComparableContent(_0x5e1251,_0x240ae6)===normalizePullComparableContent(_0x1f19f0,_0x240ae6);}function normalizePullComparableContent(_0x521b0a,_0x293452){const _0x46fcbf=a191_0x234989,_0x6b0fbd=_0x521b0a['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0x5a2fc0=_0x6b0fbd[_0x46fcbf(0x1af)](_0x391959=>!isSyncedAtMetadataLine(_0x391959,_0x293452));return _0x5a2fc0[_0x46fcbf(0x199)]('\x0a');}function isSyncedAtMetadataLine(_0x112784,_0x1cec30){const _0x832cf6=a191_0x234989;if(_0x1cec30===_0x832cf6(0x19a))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x112784);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x112784);}
1
+ const a196_0x140956=a196_0x5e5b;(function(_0x48778b,_0x39894b){const _0x33c571=a196_0x5e5b,_0xac0d7f=_0x48778b();while(!![]){try{const _0x18fb41=parseInt(_0x33c571(0x15b))/0x1*(parseInt(_0x33c571(0x14f))/0x2)+parseInt(_0x33c571(0x16d))/0x3+parseInt(_0x33c571(0x163))/0x4*(parseInt(_0x33c571(0x164))/0x5)+-parseInt(_0x33c571(0x160))/0x6+parseInt(_0x33c571(0x171))/0x7+parseInt(_0x33c571(0x159))/0x8+-parseInt(_0x33c571(0x13b))/0x9;if(_0x18fb41===_0x39894b)break;else _0xac0d7f['push'](_0xac0d7f['shift']());}catch(_0x31d7ed){_0xac0d7f['push'](_0xac0d7f['shift']());}}}(a196_0x4cfa,0xcacb4));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a196_0x5e5b(_0x41cea8,_0x27c5fa){_0x41cea8=_0x41cea8-0x13b;const _0x4cfa43=a196_0x4cfa();let _0x5e5b53=_0x4cfa43[_0x41cea8];return _0x5e5b53;}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';function a196_0x4cfa(){const _0xf975ae=['sqls','test','sqlName','Force\x20overwrite\x20local\x20unsynced\x20changes','POST','sqlcode','lockFilePath','sqlCode','catch','2725152wbMKAh','\x20SQL\x20file(s)\x20into\x20','181NEBhfz','length','sqlRootDir','force','str','4129032iXfDty','Would\x20pull\x20','paging','12lPaizT','185755jQVKVO','Filter\x20by\x20SQL\x20display\x20name','sqlContent','skipped','push','unchanged','sql','mybatisXml','string','1825074ZjJTgx','appCode','\x20failed','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','1362410LGkLAJ','path','\x20skipped,\x20','trimStart','totalCount','No\x20remote\x20SQL\x20queries\x20matched.','cancelled','Pull\x20complete:\x20','pull','6005997miBNsU','nonInteractive','Force\x20pull\x20cancelled.','lastSync','bool','tableData','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','toISOString','replace','dbId','\x20written,\x20','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','would_pull','local\x20differs\x20from\x20remote','name','split','sqlRoot','conflict','description','utf8','10288aJNWdT'];a196_0x4cfa=function(){return _0xf975ae;};return a196_0x4cfa();}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(_0x1a3b2c,_0x37f37c){const _0x3a4c45=a196_0x5e5b,_0x4200f9=[];let _0x5bb847=0x1;while(!![]){const _0x41fac5=await listSqlQueries(_0x1a3b2c,{'currentPage':_0x5bb847,'pageSize':PAGE_SIZE,'sqlCode':_0x37f37c['sqlCode'],'sqlName':_0x37f37c[_0x3a4c45(0x152)]}),_0x571785=_0x41fac5[_0x3a4c45(0x140)]??[];_0x4200f9[_0x3a4c45(0x168)](..._0x571785);if(_0x571785['length']===0x0)break;const _0x248c08=_0x41fac5[_0x3a4c45(0x162)]?.[_0x3a4c45(0x175)];if(_0x248c08!=null?_0x4200f9[_0x3a4c45(0x15c)]>=_0x248c08:_0x571785[_0x3a4c45(0x15c)]<PAGE_SIZE)break;_0x5bb847++;}return _0x4200f9;}async function ensureSqlContent(_0x2f3c82){const _0x5d25ae=a196_0x5e5b;if(_0x2f3c82[_0x5d25ae(0x166)]!=null&&String(_0x2f3c82[_0x5d25ae(0x166)])[_0x5d25ae(0x15c)]>0x0)return _0x2f3c82;return getSqlQueryDetail(_0x2f3c82[_0x5d25ae(0x157)]);}export const sqlPull={'service':'sql','command':a196_0x140956(0x179),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a196_0x140956(0x149),'type':a196_0x140956(0x16c),'description':a196_0x140956(0x165)},{'name':a196_0x140956(0x15e),'type':'boolean','description':a196_0x140956(0x153)}],async 'dryRun'(_0x1a1057){const _0x4bdfcb=a196_0x140956,_0xe10764=loadSqlProjectConfig(_0x1a1057[_0x4bdfcb(0x16e)]),_0x3adb6f=await readSqlLockFile(_0xe10764[_0x4bdfcb(0x156)]),{appLock:_0x53fe8a}=ensureSqlLockScope(_0x3adb6f??createEmptySqlLock(),_0xe10764[_0x4bdfcb(0x16e)],_0xe10764['sqlRoot'],_0x4bdfcb(0x179)),_0x204afb=await fetchAllSqlQueries(_0x1a1057['appCode'],{'sqlCode':_0x1a1057[_0x4bdfcb(0x15f)]('sqlcode')||undefined,'sqlName':_0x1a1057[_0x4bdfcb(0x15f)](_0x4bdfcb(0x149))||undefined}),_0x5495ed=[];for(const _0x45071b of _0x204afb){const _0x4709f4=await ensureSqlContent(_0x45071b),_0x3140f1=ensureRemoteSqlContent(_0x4709f4),_0x3fec0f=detectModeFromSql(_0x4709f4),_0x4ae9b3=_0x4709f4[_0x4bdfcb(0x144)]?await getDbName(_0x1a1057['appCode'],Number(_0x4709f4[_0x4bdfcb(0x144)]))['catch'](()=>undefined):undefined,_0x3ae0de=buildLocalSqlFileContent({'sqlCode':_0x4709f4[_0x4bdfcb(0x157)],'sqlName':_0x4709f4[_0x4bdfcb(0x152)],'dbId':_0x4709f4[_0x4bdfcb(0x144)]},_0x3140f1,{'dbName':_0x4ae9b3,'mode':_0x3fec0f,'syncedAt':new Date()[_0x4bdfcb(0x142)](),'description':_0x4709f4[_0x4bdfcb(0x14d)]}),_0xd7fc5c=buildSqlLockEntry(_0x4709f4,_0x3140f1,'',{'dbName':_0x4ae9b3}),_0x1054b7=resolveLocalSqlFilePath(_0xe10764,_0x4709f4[_0x4bdfcb(0x157)],_0xd7fc5c);let _0x119790=_0x4bdfcb(0x147),_0x591068;if(await fileExists(_0x1054b7)){const _0x49e90a=await readFile(_0x1054b7,_0x4bdfcb(0x14e));isEquivalentPulledSqlFile(_0x49e90a,_0x3ae0de,_0x3fec0f)?(_0x119790=_0x4bdfcb(0x167),_0x591068=_0x4bdfcb(0x169)):(_0x119790=_0x4bdfcb(0x14c),_0x591068=_0x4bdfcb(0x141));}_0x5495ed[_0x4bdfcb(0x168)]({'sqlCode':_0x4709f4[_0x4bdfcb(0x157)],'sqlName':_0x4709f4[_0x4bdfcb(0x152)],'filePath':_0x1054b7,'status':_0x119790,'reason':_0x591068});}return{'method':_0x4bdfcb(0x154),'url':_0x4bdfcb(0x146),'body':{'appCode':_0x1a1057['appCode'],'sqlCode':_0x1a1057['str'](_0x4bdfcb(0x155))||null,'sqlName':_0x1a1057[_0x4bdfcb(0x15f)]('name')||null,'files':_0x5495ed},'description':_0x4bdfcb(0x161)+_0x5495ed[_0x4bdfcb(0x15c)]+_0x4bdfcb(0x15a)+_0xe10764[_0x4bdfcb(0x15d)]};},async 'execute'(_0x177575){const _0x52bf52=a196_0x140956,_0x14ac53=loadSqlProjectConfig(_0x177575[_0x52bf52(0x16e)]),_0x213376=await readSqlLockFile(_0x14ac53['lockFilePath']),{lockData:_0x4f6699,appLock:_0x499014}=ensureSqlLockScope(_0x213376??createEmptySqlLock(),_0x14ac53[_0x52bf52(0x16e)],_0x14ac53[_0x52bf52(0x14b)],'pull'),_0xaab0b5=_0x177575[_0x52bf52(0x13f)](_0x52bf52(0x15e)),_0x54078c=await fetchAllSqlQueries(_0x177575[_0x52bf52(0x16e)],{'sqlCode':_0x177575[_0x52bf52(0x15f)](_0x52bf52(0x155))||undefined,'sqlName':_0x177575[_0x52bf52(0x15f)]('name')||undefined});if(_0x54078c[_0x52bf52(0x15c)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x52bf52(0x176)};const _0xde0774=[],_0x4b4119=[];for(const _0x37edf7 of _0x54078c){try{_0xde0774[_0x52bf52(0x168)](await ensureSqlContent(_0x37edf7));}catch(_0x55bb63){_0x4b4119[_0x52bf52(0x168)]({'sqlCode':_0x37edf7[_0x52bf52(0x157)],'error':_0x55bb63 instanceof Error?_0x55bb63['message']:String(_0x55bb63)});}}if(_0xaab0b5&&!_0x177575[_0x52bf52(0x13c)]){let _0x57f9f6=![];for(const _0x38dbb0 of _0xde0774){const _0x4edf80=detectModeFromSql(_0x38dbb0),_0x33ef35=_0x38dbb0[_0x52bf52(0x144)]?await getDbName(_0x177575['appCode'],Number(_0x38dbb0[_0x52bf52(0x144)]))[_0x52bf52(0x158)](()=>undefined):undefined,_0x39f700=buildLocalSqlFileContent({'sqlCode':_0x38dbb0[_0x52bf52(0x157)],'sqlName':_0x38dbb0['sqlName'],'dbId':_0x38dbb0['dbId']},ensureRemoteSqlContent(_0x38dbb0),{'dbName':_0x33ef35,'mode':_0x4edf80,'syncedAt':new Date()[_0x52bf52(0x142)](),'description':_0x38dbb0['description']}),_0x4020ce=resolveLocalSqlFilePath(_0x14ac53,_0x38dbb0[_0x52bf52(0x157)],buildSqlLockEntry(_0x38dbb0,ensureRemoteSqlContent(_0x38dbb0),'',{'dbName':_0x33ef35}));if(await fileExists(_0x4020ce)){const _0x4fde77=await readFile(_0x4020ce,'utf8');if(!isEquivalentPulledSqlFile(_0x4fde77,_0x39f700,_0x4edf80)){_0x57f9f6=!![];break;}}}if(_0x57f9f6){const _0x105cfa=await confirmForceOverwrite(_0x52bf52(0x170));if(!_0x105cfa)throw CliErrors[_0x52bf52(0x177)](_0x52bf52(0x13d));}}const _0x5dd9c4=cloneSqlLockData(_0x4f6699),_0x58f940=_0x5dd9c4['apps'][_0x14ac53[_0x52bf52(0x16e)]],_0x3d4b17=[],_0x3237ec=[];for(const _0x464258 of _0xde0774){const _0x3b5aa6=_0x58f940[_0x52bf52(0x150)][_0x464258[_0x52bf52(0x157)]],_0x4a7014=ensureRemoteSqlContent(_0x464258),_0x3d4596=detectModeFromSql(_0x464258),_0x14396b=_0x464258[_0x52bf52(0x144)]?await getDbName(_0x177575[_0x52bf52(0x16e)],Number(_0x464258[_0x52bf52(0x144)]))[_0x52bf52(0x158)](()=>undefined):undefined,_0xd3d99e=buildLocalSqlFileContent({'sqlCode':_0x464258['sqlCode'],'sqlName':_0x464258['sqlName'],'dbId':_0x464258[_0x52bf52(0x144)]},_0x4a7014,{'dbName':_0x14396b,'mode':_0x3d4596,'syncedAt':new Date()['toISOString'](),'description':_0x464258[_0x52bf52(0x14d)]}),_0x3a4d78=buildSqlLockEntry(_0x464258,_0x4a7014,computeSqlContentHash(_0xd3d99e),{'dbName':_0x14396b}),_0x1ebd00=_0x3a4d78[_0x52bf52(0x172)],_0x3f798c=join(_0x14ac53['sqlRootDir'],_0x1ebd00);try{if(await fileExists(_0x3f798c)){const _0x5855f3=await readFile(_0x3f798c,_0x52bf52(0x14e));if(isEquivalentPulledSqlFile(_0x5855f3,_0xd3d99e,_0x3d4596)){_0x3237ec[_0x52bf52(0x168)]({'sqlCode':_0x464258[_0x52bf52(0x157)],'reason':_0x52bf52(0x169)}),_0x58f940[_0x52bf52(0x150)][_0x464258[_0x52bf52(0x157)]]={..._0x3a4d78,'hash':computeSqlContentHash(_0x5855f3),'path':_0x1ebd00};continue;}if(!_0xaab0b5){_0x3237ec[_0x52bf52(0x168)]({'sqlCode':_0x464258[_0x52bf52(0x157)],'reason':_0x52bf52(0x148)});continue;}}const _0x539123=_0x3b5aa6?.[_0x52bf52(0x172)]?join(_0x14ac53['sqlRootDir'],_0x3b5aa6[_0x52bf52(0x172)]):undefined;_0x539123&&_0x539123!==_0x3f798c&&await fileExists(_0x539123)&&await rm(_0x539123,{'force':!![]}),await ensureParentDirectory(_0x3f798c),await writeFile(_0x3f798c,_0xd3d99e,_0x52bf52(0x14e)),_0x58f940['sqls'][_0x464258['sqlCode']]={..._0x3a4d78,'path':_0x1ebd00},_0x3d4b17['push']({'sqlCode':_0x464258[_0x52bf52(0x157)],'filePath':_0x3f798c});}catch(_0x47b844){_0x4b4119[_0x52bf52(0x168)]({'sqlCode':_0x464258[_0x52bf52(0x157)],'error':_0x47b844 instanceof Error?_0x47b844['message']:String(_0x47b844)});}}return _0x58f940[_0x52bf52(0x13e)]=new Date()[_0x52bf52(0x142)](),await writeSqlLockFile(_0x14ac53[_0x52bf52(0x156)],_0x5dd9c4),{'ok':_0x4b4119[_0x52bf52(0x15c)]===0x0,'data':{'pulled':_0x3d4b17,'skipped':_0x3237ec,'failed':_0x4b4119},'message':_0x52bf52(0x178)+_0x3d4b17[_0x52bf52(0x15c)]+_0x52bf52(0x145)+_0x3237ec[_0x52bf52(0x15c)]+_0x52bf52(0x173)+_0x4b4119['length']+_0x52bf52(0x16f)};}};function detectModeFromSql(_0x5a6a53){const _0x29f152=a196_0x140956,_0x5e204e=ensureRemoteSqlContent(_0x5a6a53),_0x4bbb07=stripLocalSqlMetadata(_0x5e204e,'mybatisXml')[_0x29f152(0x174)]();if(/^<(select|insert|update|delete)\b/i[_0x29f152(0x151)](_0x4bbb07))return _0x29f152(0x16b);return _0x29f152(0x16a);}function isEquivalentPulledSqlFile(_0x5dfed9,_0x3c31a5,_0xc488c8){return normalizePullComparableContent(_0x5dfed9,_0xc488c8)===normalizePullComparableContent(_0x3c31a5,_0xc488c8);}function normalizePullComparableContent(_0x51bee8,_0x14cb17){const _0x5b7f21=a196_0x140956,_0x38f89d=_0x51bee8[_0x5b7f21(0x143)](/\r\n/g,'\x0a')[_0x5b7f21(0x14a)]('\x0a'),_0x57fb1c=_0x38f89d['filter'](_0x55854b=>!isSyncedAtMetadataLine(_0x55854b,_0x14cb17));return _0x57fb1c['join']('\x0a');}function isSyncedAtMetadataLine(_0x287977,_0x696135){const _0x13b9cd=a196_0x140956;if(_0x696135===_0x13b9cd(0x16b))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x13b9cd(0x151)](_0x287977);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x13b9cd(0x151)](_0x287977);}
@@ -1 +1 @@
1
- const a192_0x511c5b=a192_0x15ce;function a192_0x2cbb(){const _0x46714d=['\x20failed','mode','168JXbTpY','entries','7174377pFwrNU','boolean','utf8','Local\x20directory\x20\x22','projectRoot','startsWith','map','393318rDgyMS','str','sqlRoot','Would\x20push\x20','trashDir','unchanged','catch','sqlName','sqlRootDir','get','filter','\x20skipped,\x20','dbDirectory','Push\x20local\x20SQL\x20files\x20to\x20remote','validation','lockFilePath','\x22\x20for\x20sqlCode\x20','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','relativePath','sqlCode','hash','has','bool','175462lmJwgy','length','sqlcode','sql','4416762YrfRsx','15oAMGrL','remoteId','Push\x20complete:\x20','1248636BJaxFp','lastSync','sqlConfig','dbId','push','No\x20local\x20SQL\x20files\x20found.','toISOString','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','set','No\x20database\x20matches\x20local\x20directory\x20\x22','dbName','message','appCode','filePath','1187618GnFpIx','\x20SQL\x20file(s)','exec','join','version','/smartapi/custom/updateUserCustomSql','sqls','32298oyqOrQ','force','path','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'];a192_0x2cbb=function(){return _0x46714d;};return a192_0x2cbb();}(function(_0x3cdfc4,_0x45fcc8){const _0x530bd1=a192_0x15ce,_0x287ab9=_0x3cdfc4();while(!![]){try{const _0x2e0441=parseInt(_0x530bd1(0x1c7))/0x1+parseInt(_0x530bd1(0x1b1))/0x2+-parseInt(_0x530bd1(0x1b8))/0x3+parseInt(_0x530bd1(0x1a3))/0x4*(-parseInt(_0x530bd1(0x1a0))/0x5)+parseInt(_0x530bd1(0x19f))/0x6+-parseInt(_0x530bd1(0x19b))/0x7*(-parseInt(_0x530bd1(0x1be))/0x8)+-parseInt(_0x530bd1(0x1c0))/0x9;if(_0x2e0441===_0x45fcc8)break;else _0x287ab9['push'](_0x287ab9['shift']());}catch(_0x32eaf1){_0x287ab9['push'](_0x287ab9['shift']());}}}(a192_0x2cbb,0x7b59c));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';function a192_0x15ce(_0x33bac0,_0x4b31b9){_0x33bac0=_0x33bac0-0x19a;const _0x2cbbd6=a192_0x2cbb();let _0x15cec2=_0x2cbbd6[_0x33bac0];return _0x15cec2;}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';async function getTargetSqlQueries(_0x4ecc6a,_0x158252,_0x51fe82){const _0x510ed4=a192_0x15ce,_0x1e7efc=await scanLocalSqlQueries(_0x4ecc6a),_0x111c70=new Map();for(const _0x5a5afa of _0x1e7efc){if(_0x51fe82&&_0x5a5afa[_0x510ed4(0x1da)]!==_0x51fe82)continue;const _0x2de29d=_0x111c70[_0x510ed4(0x1d0)](_0x5a5afa['sqlCode'])??[];_0x2de29d[_0x510ed4(0x1a7)](_0x5a5afa),_0x111c70[_0x510ed4(0x1ab)](_0x5a5afa['sqlCode'],_0x2de29d);}if(_0x51fe82&&!_0x111c70[_0x510ed4(0x1dc)](_0x51fe82))throw CliErrors[_0x510ed4(0x1d5)]('Local\x20SQL\x20not\x20found:\x20'+_0x51fe82);const _0x301f03=[];for(const [_0x562fe7,_0x1473a1]of _0x111c70[_0x510ed4(0x1bf)]()){if(_0x1473a1[_0x510ed4(0x19c)]===0x1){_0x301f03[_0x510ed4(0x1a7)](_0x1473a1[0x0]);continue;}const _0x15c990=_0x158252['sqls'][_0x562fe7],_0x2c0e62=_0x15c990?.[_0x510ed4(0x1ba)],_0x578862=_0x2c0e62?_0x1473a1[_0x510ed4(0x1d1)](_0x527c60=>_0x527c60[_0x510ed4(0x1d9)]!==_0x2c0e62):_0x1473a1;if(_0x15c990&&_0x578862[_0x510ed4(0x19c)]===0x1){_0x301f03[_0x510ed4(0x1a7)](_0x578862[0x0]);continue;}throw CliErrors['validation']('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x562fe7+_0x510ed4(0x1d8));}return _0x301f03;}export const sqlPush={'service':a192_0x511c5b(0x19e),'command':a192_0x511c5b(0x1a7),'description':a192_0x511c5b(0x1d4),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a192_0x511c5b(0x1b9),'type':a192_0x511c5b(0x1c1),'description':a192_0x511c5b(0x1bb)}],async 'dryRun'(_0x5d2f23){const _0x289c8e=a192_0x511c5b,_0x2e9d60=loadSqlProjectConfig(_0x5d2f23[_0x289c8e(0x1af)]),_0x2df7d6=await readSqlLockFile(_0x2e9d60['lockFilePath']),{appLock:_0x2d261f}=ensureSqlLockScope(_0x2df7d6??createEmptySqlLock(),_0x5d2f23[_0x289c8e(0x1af)],_0x2e9d60['sqlRoot'],_0x289c8e(0x1a7)),_0xb9af12=await getTargetSqlQueries(_0x2e9d60,_0x2d261f,_0x5d2f23[_0x289c8e(0x1c8)](_0x289c8e(0x19d))||undefined),_0x1ce757=[];for(const _0x29a0b0 of _0xb9af12){const _0x1ed6fb=await computeSqlFileHash(_0x29a0b0[_0x289c8e(0x1b0)]),_0x4788e4=_0x2d261f['sqls'][_0x29a0b0['sqlCode']],_0x460adb=!!_0x4788e4&&(_0x4788e4['path']!==_0x29a0b0[_0x289c8e(0x1d9)]||!!_0x29a0b0['sqlName']&&_0x4788e4[_0x289c8e(0x1ce)]!==_0x29a0b0['sqlName']);if(!_0x5d2f23[_0x289c8e(0x19a)](_0x289c8e(0x1b9))&&_0x4788e4&&_0x4788e4[_0x289c8e(0x1db)]===_0x1ed6fb&&!_0x460adb)continue;_0x1ce757[_0x289c8e(0x1a7)](_0x29a0b0['sqlCode']);}return{'method':'POST','url':_0x289c8e(0x1b6),'body':{'sqlCodes':_0x1ce757,'appCode':_0x5d2f23[_0x289c8e(0x1af)]},'description':_0x289c8e(0x1ca)+_0x1ce757[_0x289c8e(0x19c)]+_0x289c8e(0x1b2)};},async 'execute'(_0x3a8a01){const _0xc895ed=a192_0x511c5b,_0x49cecd=loadSqlProjectConfig(_0x3a8a01[_0xc895ed(0x1af)]),_0x3ec8ec=await readSqlLockFile(_0x49cecd['lockFilePath']),{lockData:_0x77bc57,appLock:_0x25dd1f}=ensureSqlLockScope(_0x3ec8ec??createEmptySqlLock(),_0x3a8a01[_0xc895ed(0x1af)],_0x49cecd[_0xc895ed(0x1c9)],'push'),_0x8f2710=await getTargetSqlQueries(_0x49cecd,_0x25dd1f,_0x3a8a01[_0xc895ed(0x1c8)](_0xc895ed(0x19d))||undefined);if(_0x8f2710[_0xc895ed(0x19c)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0xc895ed(0x1a8)};const _0x2707f5=[],_0x439922=[],_0x109f52=[];for(const _0x229dff of _0x8f2710){const _0x262934=_0x25dd1f[_0xc895ed(0x1b7)][_0x229dff[_0xc895ed(0x1da)]];if(!_0x262934){_0x109f52[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':_0xc895ed(0x1aa)});continue;}try{const _0x13d1ee=await computeSqlFileHash(_0x229dff['filePath']),_0x52f8e1=_0x262934['path']!==_0x229dff[_0xc895ed(0x1d9)]||!!_0x229dff[_0xc895ed(0x1ce)]&&_0x262934['sqlName']!==_0x229dff[_0xc895ed(0x1ce)];if(!_0x3a8a01[_0xc895ed(0x19a)](_0xc895ed(0x1b9))&&_0x262934[_0xc895ed(0x1db)]===_0x13d1ee&&!_0x52f8e1){_0x439922[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'reason':_0xc895ed(0x1cc)});continue;}if(_0x262934[_0xc895ed(0x1b5)]==null){_0x109f52['push']({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x2329ae=await readFile(_0x229dff[_0xc895ed(0x1b0)],_0xc895ed(0x1c2)),_0x1996f0=stripLocalSqlMetadata(_0x2329ae,_0x229dff[_0xc895ed(0x1bd)]),_0x39829e=_0x229dff[_0xc895ed(0x1ce)]||_0x262934['sqlName'],_0x5d947b=await resolveTargetDbBinding(_0x3a8a01[_0xc895ed(0x1af)],_0x229dff,_0x262934),_0x54a295=await updateSqlQuery({'id':_0x262934[_0xc895ed(0x1a1)],'appCode':_0x3a8a01[_0xc895ed(0x1af)],'sqlCode':_0x229dff[_0xc895ed(0x1da)],'sqlName':_0x39829e,'dbId':_0x5d947b['dbId'],'version':_0x262934[_0xc895ed(0x1b5)],'sqlContent':_0x1996f0,'sqlConfig':_0x262934[_0xc895ed(0x1a5)]??undefined}),_0x4c3ecc=_0x54a295['dbId']?await getDbName(_0x3a8a01[_0xc895ed(0x1af)],Number(_0x54a295[_0xc895ed(0x1a6)]))[_0xc895ed(0x1cd)](()=>_0x5d947b[_0xc895ed(0x1ad)]):_0x5d947b[_0xc895ed(0x1ad)];_0x25dd1f[_0xc895ed(0x1b7)][_0x229dff['sqlCode']]={...buildSqlLockEntry(_0x54a295,_0x1996f0,_0x13d1ee,{'dbName':_0x4c3ecc}),'path':_0x229dff[_0xc895ed(0x1d9)],'mode':_0x262934['mode']},await archivePreviousSqlFileIfNeeded(_0x49cecd,_0x262934[_0xc895ed(0x1ba)],_0x229dff[_0xc895ed(0x1d9)]),_0x2707f5[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff['sqlCode'],'remoteId':_0x262934[_0xc895ed(0x1a1)]});}catch(_0x58e35b){_0x109f52[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':_0x58e35b instanceof Error?_0x58e35b[_0xc895ed(0x1ae)]:String(_0x58e35b)});}}return _0x25dd1f[_0xc895ed(0x1a4)]=new Date()[_0xc895ed(0x1a9)](),await writeSqlLockFile(_0x49cecd[_0xc895ed(0x1d6)],_0x77bc57),{'ok':_0x109f52['length']===0x0,'data':{'pushed':_0x2707f5,'skipped':_0x439922,'failed':_0x109f52},'message':_0xc895ed(0x1a2)+_0x2707f5['length']+'\x20pushed,\x20'+_0x439922[_0xc895ed(0x19c)]+_0xc895ed(0x1d2)+_0x109f52['length']+_0xc895ed(0x1bc)};}};async function archivePreviousSqlFileIfNeeded(_0x1157a7,_0x1467c0,_0x11868a){const _0x10441a=a192_0x511c5b;if(!_0x1467c0||_0x1467c0===_0x11868a)return;const _0x51c57f=join(_0x1157a7[_0x10441a(0x1cf)],_0x1467c0);if(!await fileExists(_0x51c57f))return;const _0x5e4668=await moveToTrash(_0x1157a7[_0x10441a(0x1c4)],_0x1157a7[_0x10441a(0x1cb)],_0x51c57f);await cleanupEmptyDirectories(dirname(_0x51c57f),_0x1157a7[_0x10441a(0x1cf)]),void _0x5e4668;}async function moveToTrash(_0x4a398b,_0x3c51f3,_0x120fc8){const _0x2960cf=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x1f8ad6=relative(_0x4a398b,_0x120fc8),_0x39cddb=join(_0x3c51f3,_0x2960cf,_0x1f8ad6);return await mkdir(dirname(_0x39cddb),{'recursive':!![]}),await rename(_0x120fc8,_0x39cddb),_0x39cddb;}async function cleanupEmptyDirectories(_0x1d75d1,_0x9f96cd){const _0x231059=a192_0x511c5b;let _0x327e2c=resolve(_0x1d75d1);const _0xc2e79f=resolve(_0x9f96cd);while(_0x327e2c[_0x231059(0x1c5)](''+_0xc2e79f+sep)||_0x327e2c===_0xc2e79f){if(_0x327e2c===_0xc2e79f)return;try{const _0x4c0211=await readdir(_0x327e2c);if(_0x4c0211[_0x231059(0x19c)]>0x0)return;await rmdir(_0x327e2c);}catch{return;}_0x327e2c=dirname(_0x327e2c);}}async function resolveTargetDbBinding(_0x34b2d0,_0x34d513,_0x388bce){const _0x1c5ba9=a192_0x511c5b,_0x295e3b=_0x34d513[_0x1c5ba9(0x1d3)];if(!_0x295e3b)return{'dbId':_0x388bce[_0x1c5ba9(0x1a6)],'dbName':_0x388bce[_0x1c5ba9(0x1ad)]};const _0x36b970=buildDbDirectoryName(_0x388bce[_0x1c5ba9(0x1ad)],_0x388bce[_0x1c5ba9(0x1a6)]);if(_0x295e3b===_0x36b970)return{'dbId':_0x388bce['dbId'],'dbName':_0x388bce[_0x1c5ba9(0x1ad)]};const _0x519ad1=parseExplicitDbDirectory(_0x295e3b);if(_0x519ad1!=null)return{'dbId':_0x519ad1,'dbName':await getDbName(_0x34b2d0,_0x519ad1)['catch'](()=>undefined)};const _0x1ee3cf=await listDatabases(_0x34b2d0),_0x29534c=_0x1ee3cf[_0x1c5ba9(0x1d1)](_0x1cb818=>buildDbDirectoryName(_0x1cb818['dbName'],_0x1cb818[_0x1c5ba9(0x1a6)])===_0x295e3b);if(_0x29534c[_0x1c5ba9(0x19c)]===0x1)return{'dbId':_0x29534c[0x0][_0x1c5ba9(0x1a6)],'dbName':_0x29534c[0x0][_0x1c5ba9(0x1ad)]};if(_0x29534c[_0x1c5ba9(0x19c)]===0x0)throw CliErrors[_0x1c5ba9(0x1d5)](_0x1c5ba9(0x1ac)+_0x295e3b+_0x1c5ba9(0x1d7)+_0x34d513[_0x1c5ba9(0x1da)]+'.');const _0x3ac511=_0x29534c[_0x1c5ba9(0x1c6)](_0x24d29d=>_0x24d29d[_0x1c5ba9(0x1ad)]+'\x20('+_0x24d29d[_0x1c5ba9(0x1a6)]+')')[_0x1c5ba9(0x1b4)](',\x20');throw CliErrors[_0x1c5ba9(0x1d5)](_0x1c5ba9(0x1c3)+_0x295e3b+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x34d513[_0x1c5ba9(0x1da)]+':\x20'+_0x3ac511);}function parseExplicitDbDirectory(_0x38e37a){const _0x5862ca=a192_0x511c5b,_0x5bd3fd=/^db-(\d+)$/[_0x5862ca(0x1b3)](_0x38e37a);if(!_0x5bd3fd)return null;const _0x38bc31=Number(_0x5bd3fd[0x1]);return Number['isFinite'](_0x38bc31)&&_0x38bc31>0x0?_0x38bc31:null;}
1
+ function a197_0x4f0f(){const _0x1753d3=['128eYCSCb','toISOString','join','8054900ADoTvT','sqls','map','/smartapi/custom/updateUserCustomSql','3NHzBlF','709502TWJzHb','dbName','mode','\x20SQL\x20file(s)','appCode','sqlName','dbId','278474bCDsLd','force','Local\x20SQL\x20not\x20found:\x20','utf8','validation','sqlRoot','dbDirectory',',\x20deployment\x20sync\x20','sql','isFinite','length','1298847izVEON','\x22\x20for\x20sqlCode\x20','catch','4188600ATcSOL','lockFilePath','hash','remoteId','push','sqlCode','boolean','\x20skipped,\x20','write','relativePath','6571805wSjQhy','sqlRootDir','6622230CynQih','str','exec','4cIBKRK','has','get','configured','version','entries','trashDir','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','filter','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','bool','filePath','status','Push\x20local\x20SQL\x20files\x20to\x20remote','No\x20local\x20SQL\x20files\x20found.','Push\x20complete:\x20','lastSync','path','startsWith','No\x20database\x20matches\x20local\x20directory\x20\x22'];a197_0x4f0f=function(){return _0x1753d3;};return a197_0x4f0f();}const a197_0xf27331=a197_0x1870;(function(_0x2b67de,_0x415ece){const _0x4be4fc=a197_0x1870,_0x5317f8=_0x2b67de();while(!![]){try{const _0x1d07ea=-parseInt(_0x4be4fc(0x14a))/0x1+-parseInt(_0x4be4fc(0x179))/0x2*(-parseInt(_0x4be4fc(0x178))/0x3)+parseInt(_0x4be4fc(0x15c))/0x4*(parseInt(_0x4be4fc(0x157))/0x5)+parseInt(_0x4be4fc(0x159))/0x6+parseInt(_0x4be4fc(0x13f))/0x7*(parseInt(_0x4be4fc(0x171))/0x8)+-parseInt(_0x4be4fc(0x14d))/0x9+-parseInt(_0x4be4fc(0x174))/0xa;if(_0x1d07ea===_0x415ece)break;else _0x5317f8['push'](_0x5317f8['shift']());}catch(_0x1ebd07){_0x5317f8['push'](_0x5317f8['shift']());}}}(a197_0x4f0f,0xccfa8));function a197_0x1870(_0xde3ef8,_0x55db89){_0xde3ef8=_0xde3ef8-0x13e;const _0x4f0f6a=a197_0x4f0f();let _0x1870c9=_0x4f0f6a[_0xde3ef8];return _0x1870c9;}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';import{automaticDeploymentSyncSucceeded,buildAutomaticDeploymentSyncPreview,runAutomaticDeploymentSync,validateAutomaticDeploymentSync}from'../../commands/deployment/auto-sync.js';async function getTargetSqlQueries(_0x505e44,_0x310f06,_0x156e7f){const _0x1c969d=a197_0x1870,_0x533d43=await scanLocalSqlQueries(_0x505e44),_0x400ca6=new Map();for(const _0x64c33c of _0x533d43){if(_0x156e7f&&_0x64c33c[_0x1c969d(0x152)]!==_0x156e7f)continue;const _0x255395=_0x400ca6[_0x1c969d(0x15e)](_0x64c33c['sqlCode'])??[];_0x255395[_0x1c969d(0x151)](_0x64c33c),_0x400ca6['set'](_0x64c33c['sqlCode'],_0x255395);}if(_0x156e7f&&!_0x400ca6[_0x1c969d(0x15d)](_0x156e7f))throw CliErrors[_0x1c969d(0x143)](_0x1c969d(0x141)+_0x156e7f);const _0x2f9f30=[];for(const [_0x242338,_0x3d2b54]of _0x400ca6[_0x1c969d(0x161)]()){if(_0x3d2b54[_0x1c969d(0x149)]===0x1){_0x2f9f30[_0x1c969d(0x151)](_0x3d2b54[0x0]);continue;}const _0x5d5772=_0x310f06[_0x1c969d(0x175)][_0x242338],_0x38e869=_0x5d5772?.['path'],_0x136033=_0x38e869?_0x3d2b54['filter'](_0x22fff3=>_0x22fff3['relativePath']!==_0x38e869):_0x3d2b54;if(_0x5d5772&&_0x136033[_0x1c969d(0x149)]===0x1){_0x2f9f30[_0x1c969d(0x151)](_0x136033[0x0]);continue;}throw CliErrors[_0x1c969d(0x143)](_0x1c969d(0x166)+_0x242338+_0x1c969d(0x164));}return _0x2f9f30;}export const sqlPush={'service':a197_0xf27331(0x147),'command':a197_0xf27331(0x151),'description':a197_0xf27331(0x16a),'risk':a197_0xf27331(0x155),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a197_0xf27331(0x153),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'validate'(_0xa36dca){validateAutomaticDeploymentSync(_0xa36dca);},async 'dryRun'(_0x34d620){const _0x3fd39d=a197_0xf27331,_0x977ce4=loadSqlProjectConfig(_0x34d620['appCode']),_0x55bce9=await readSqlLockFile(_0x977ce4[_0x3fd39d(0x14e)]),{appLock:_0xc4deed}=ensureSqlLockScope(_0x55bce9??createEmptySqlLock(),_0x34d620['appCode'],_0x977ce4['sqlRoot'],_0x3fd39d(0x151)),_0x21c4cc=await getTargetSqlQueries(_0x977ce4,_0xc4deed,_0x34d620[_0x3fd39d(0x15a)]('sqlcode')||undefined),_0x21d4b7=[];for(const _0x2e4f07 of _0x21c4cc){const _0x1956b2=await computeSqlFileHash(_0x2e4f07[_0x3fd39d(0x168)]),_0x38b0f8=_0xc4deed[_0x3fd39d(0x175)][_0x2e4f07['sqlCode']],_0x4aef19=!!_0x38b0f8&&(_0x38b0f8['path']!==_0x2e4f07['relativePath']||!!_0x2e4f07[_0x3fd39d(0x17e)]&&_0x38b0f8['sqlName']!==_0x2e4f07[_0x3fd39d(0x17e)]);if(!_0x34d620['bool'](_0x3fd39d(0x140))&&_0x38b0f8&&_0x38b0f8[_0x3fd39d(0x14f)]===_0x1956b2&&!_0x4aef19)continue;_0x21d4b7['push'](_0x2e4f07['sqlCode']);}return{'method':'POST','url':_0x3fd39d(0x177),'deploymentSync':buildAutomaticDeploymentSyncPreview(_0x34d620,_0x3fd39d(0x147),_0x21d4b7),'body':{'sqlCodes':_0x21d4b7,'appCode':_0x34d620[_0x3fd39d(0x17d)]},'description':'Would\x20push\x20'+_0x21d4b7[_0x3fd39d(0x149)]+_0x3fd39d(0x17c)};},async 'execute'(_0x15a7ab){const _0x39dd94=a197_0xf27331,_0x16ea6e=loadSqlProjectConfig(_0x15a7ab[_0x39dd94(0x17d)]),_0x14de4d=await readSqlLockFile(_0x16ea6e['lockFilePath']),{lockData:_0x197423,appLock:_0x1d82f4}=ensureSqlLockScope(_0x14de4d??createEmptySqlLock(),_0x15a7ab[_0x39dd94(0x17d)],_0x16ea6e[_0x39dd94(0x144)],'push'),_0x8a71ac=await getTargetSqlQueries(_0x16ea6e,_0x1d82f4,_0x15a7ab[_0x39dd94(0x15a)]('sqlcode')||undefined);if(_0x8a71ac['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x39dd94(0x16b)};const _0x464382=[],_0x228aab=[],_0x208f5b=[];for(const _0x1dcedc of _0x8a71ac){const _0x139b1b=_0x1d82f4['sqls'][_0x1dcedc[_0x39dd94(0x152)]];if(!_0x139b1b){_0x208f5b[_0x39dd94(0x151)]({'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x4134e6=await computeSqlFileHash(_0x1dcedc['filePath']),_0x36881b=_0x139b1b[_0x39dd94(0x16e)]!==_0x1dcedc[_0x39dd94(0x156)]||!!_0x1dcedc[_0x39dd94(0x17e)]&&_0x139b1b['sqlName']!==_0x1dcedc[_0x39dd94(0x17e)];if(!_0x15a7ab[_0x39dd94(0x167)](_0x39dd94(0x140))&&_0x139b1b[_0x39dd94(0x14f)]===_0x4134e6&&!_0x36881b){_0x228aab[_0x39dd94(0x151)]({'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'reason':'unchanged'});continue;}if(_0x139b1b['version']==null){_0x208f5b[_0x39dd94(0x151)]({'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x2cee26=await readFile(_0x1dcedc['filePath'],_0x39dd94(0x142)),_0x9879ca=stripLocalSqlMetadata(_0x2cee26,_0x1dcedc[_0x39dd94(0x17b)]),_0x217dae=_0x1dcedc['sqlName']||_0x139b1b[_0x39dd94(0x17e)],_0x3b12d1=await resolveTargetDbBinding(_0x15a7ab[_0x39dd94(0x17d)],_0x1dcedc,_0x139b1b),_0x410929=await updateSqlQuery({'id':_0x139b1b['remoteId'],'appCode':_0x15a7ab[_0x39dd94(0x17d)],'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'sqlName':_0x217dae,'dbId':_0x3b12d1[_0x39dd94(0x13e)],'version':_0x139b1b[_0x39dd94(0x160)],'sqlContent':_0x9879ca,'sqlConfig':_0x139b1b['sqlConfig']??undefined}),_0xac0a1d=_0x410929[_0x39dd94(0x13e)]?await getDbName(_0x15a7ab[_0x39dd94(0x17d)],Number(_0x410929[_0x39dd94(0x13e)]))[_0x39dd94(0x14c)](()=>_0x3b12d1[_0x39dd94(0x17a)]):_0x3b12d1['dbName'];_0x1d82f4[_0x39dd94(0x175)][_0x1dcedc[_0x39dd94(0x152)]]={...buildSqlLockEntry(_0x410929,_0x9879ca,_0x4134e6,{'dbName':_0xac0a1d}),'path':_0x1dcedc[_0x39dd94(0x156)],'mode':_0x139b1b[_0x39dd94(0x17b)]},await archivePreviousSqlFileIfNeeded(_0x16ea6e,_0x139b1b[_0x39dd94(0x16e)],_0x1dcedc[_0x39dd94(0x156)]),_0x464382[_0x39dd94(0x151)]({'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'remoteId':_0x139b1b[_0x39dd94(0x150)]});}catch(_0x439fd6){_0x208f5b[_0x39dd94(0x151)]({'sqlCode':_0x1dcedc[_0x39dd94(0x152)],'error':_0x439fd6 instanceof Error?_0x439fd6['message']:String(_0x439fd6)});}}_0x1d82f4[_0x39dd94(0x16d)]=new Date()[_0x39dd94(0x172)](),await writeSqlLockFile(_0x16ea6e[_0x39dd94(0x14e)],_0x197423);const _0x511ed5=_0x208f5b['length']===0x0,_0x13612e=await runAutomaticDeploymentSync(_0x15a7ab,_0x39dd94(0x147),_0x464382[_0x39dd94(0x176)](_0x420d9c=>_0x420d9c['sqlCode']),_0x511ed5),_0x1e07f3=_0x511ed5&&automaticDeploymentSyncSucceeded(_0x13612e),_0x4be12f=_0x13612e[_0x39dd94(0x15f)]?_0x39dd94(0x146)+_0x13612e[_0x39dd94(0x169)]:'';return{'ok':_0x1e07f3,'data':{'pushed':_0x464382,'skipped':_0x228aab,'failed':_0x208f5b,'deploymentSync':_0x13612e},'message':_0x39dd94(0x16c)+_0x464382[_0x39dd94(0x149)]+'\x20pushed,\x20'+_0x228aab[_0x39dd94(0x149)]+_0x39dd94(0x154)+_0x208f5b[_0x39dd94(0x149)]+'\x20failed'+_0x4be12f};}};async function archivePreviousSqlFileIfNeeded(_0x562aa4,_0x32f2a6,_0x28ee6f){const _0x262635=a197_0xf27331;if(!_0x32f2a6||_0x32f2a6===_0x28ee6f)return;const _0x281dee=join(_0x562aa4[_0x262635(0x158)],_0x32f2a6);if(!await fileExists(_0x281dee))return;const _0x2467e8=await moveToTrash(_0x562aa4['projectRoot'],_0x562aa4[_0x262635(0x162)],_0x281dee);await cleanupEmptyDirectories(dirname(_0x281dee),_0x562aa4['sqlRootDir']),void _0x2467e8;}async function moveToTrash(_0x38dd45,_0x3f1af9,_0x5bdebf){const _0x366213=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x4b515d=relative(_0x38dd45,_0x5bdebf),_0x27a076=join(_0x3f1af9,_0x366213,_0x4b515d);return await mkdir(dirname(_0x27a076),{'recursive':!![]}),await rename(_0x5bdebf,_0x27a076),_0x27a076;}async function cleanupEmptyDirectories(_0x3e3a2a,_0x1827a4){const _0x4bf38d=a197_0xf27331;let _0x35f027=resolve(_0x3e3a2a);const _0x1dbd06=resolve(_0x1827a4);while(_0x35f027[_0x4bf38d(0x16f)](''+_0x1dbd06+sep)||_0x35f027===_0x1dbd06){if(_0x35f027===_0x1dbd06)return;try{const _0x47d1a8=await readdir(_0x35f027);if(_0x47d1a8[_0x4bf38d(0x149)]>0x0)return;await rmdir(_0x35f027);}catch{return;}_0x35f027=dirname(_0x35f027);}}async function resolveTargetDbBinding(_0x4d1fcb,_0x4bafc4,_0x18b398){const _0x50b49b=a197_0xf27331,_0x1c1c6e=_0x4bafc4[_0x50b49b(0x145)];if(!_0x1c1c6e)return{'dbId':_0x18b398['dbId'],'dbName':_0x18b398['dbName']};const _0x48a2dc=buildDbDirectoryName(_0x18b398[_0x50b49b(0x17a)],_0x18b398['dbId']);if(_0x1c1c6e===_0x48a2dc)return{'dbId':_0x18b398[_0x50b49b(0x13e)],'dbName':_0x18b398[_0x50b49b(0x17a)]};const _0x1d96b8=parseExplicitDbDirectory(_0x1c1c6e);if(_0x1d96b8!=null)return{'dbId':_0x1d96b8,'dbName':await getDbName(_0x4d1fcb,_0x1d96b8)[_0x50b49b(0x14c)](()=>undefined)};const _0x4f1fde=await listDatabases(_0x4d1fcb),_0x50faa1=_0x4f1fde[_0x50b49b(0x165)](_0x323db4=>buildDbDirectoryName(_0x323db4[_0x50b49b(0x17a)],_0x323db4[_0x50b49b(0x13e)])===_0x1c1c6e);if(_0x50faa1['length']===0x1)return{'dbId':_0x50faa1[0x0]['dbId'],'dbName':_0x50faa1[0x0][_0x50b49b(0x17a)]};if(_0x50faa1[_0x50b49b(0x149)]===0x0)throw CliErrors[_0x50b49b(0x143)](_0x50b49b(0x170)+_0x1c1c6e+_0x50b49b(0x14b)+_0x4bafc4['sqlCode']+'.');const _0x1ef4a6=_0x50faa1[_0x50b49b(0x176)](_0x2073ea=>_0x2073ea[_0x50b49b(0x17a)]+'\x20('+_0x2073ea['dbId']+')')[_0x50b49b(0x173)](',\x20');throw CliErrors[_0x50b49b(0x143)]('Local\x20directory\x20\x22'+_0x1c1c6e+_0x50b49b(0x163)+_0x4bafc4[_0x50b49b(0x152)]+':\x20'+_0x1ef4a6);}function parseExplicitDbDirectory(_0x3a5733){const _0x162c84=a197_0xf27331,_0xa428aa=/^db-(\d+)$/[_0x162c84(0x15b)](_0x3a5733);if(!_0xa428aa)return null;const _0x162aee=Number(_0xa428aa[0x1]);return Number[_0x162c84(0x148)](_0x162aee)&&_0x162aee>0x0?_0x162aee:null;}
@@ -1 +1 @@
1
- function a193_0x57e7(_0x3c5d22,_0x393e3c){_0x3c5d22=_0x3c5d22-0x1c7;const _0x19b886=a193_0x19b8();let _0x57e705=_0x19b886[_0x3c5d22];return _0x57e705;}const a193_0x4807a4=a193_0x57e7;(function(_0x4e4b19,_0x56adb6){const _0x5a41dd=a193_0x57e7,_0x3d1a51=_0x4e4b19();while(!![]){try{const _0x2550bf=-parseInt(_0x5a41dd(0x1db))/0x1+-parseInt(_0x5a41dd(0x1e5))/0x2+-parseInt(_0x5a41dd(0x1e0))/0x3+-parseInt(_0x5a41dd(0x1da))/0x4+parseInt(_0x5a41dd(0x1d6))/0x5*(parseInt(_0x5a41dd(0x1e7))/0x6)+-parseInt(_0x5a41dd(0x1d1))/0x7+parseInt(_0x5a41dd(0x1e1))/0x8;if(_0x2550bf===_0x56adb6)break;else _0x3d1a51['push'](_0x3d1a51['shift']());}catch(_0x137d64){_0x3d1a51['push'](_0x3d1a51['shift']());}}}(a193_0x19b8,0x98089));import{createInterface}from'node:readline';function a193_0x19b8(){const _0x5bf701=['trimStart','207711CLtqfu','replace','mode','split','fromEntries','78215MhvFsu','trim','\x20[y/N]\x20','.rabetbase/sql','3528884iHYPHV','470456hdmGYD','sqlRoot','stdin','dbName','syncedAt','2765751ehJBJE','23575416THBZAQ','test','join','dbId','196292qmGpQU','apps','30HlawTd','version','entries','--\x20@lovrabet.','sqlName','sqlContent','stderr','close','sqlConfig','length','toLowerCase','question','map','endsWith','path','sqlCode','yes','description'];a193_0x19b8=function(){return _0x5bf701;};return a193_0x19b8();}import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a193_0x4807a4(0x1d9);export function buildSqlLockEntry(_0x558d1f,_0x3c5e58,_0x3d3b3c,_0x3e21b6){const _0x46ff01=a193_0x4807a4,_0x1e33d3=detectSqlMode(_0x3c5e58);return{'path':buildSqlRelativePath(_0x558d1f[_0x46ff01(0x1cd)],_0x558d1f[_0x46ff01(0x1eb)],_0x3e21b6?.[_0x46ff01(0x1de)],_0x1e33d3,_0x558d1f[_0x46ff01(0x1e4)]),'hash':_0x3d3b3c,'remoteId':_0x558d1f['id'],'version':_0x558d1f[_0x46ff01(0x1e8)],'dbId':Number(_0x558d1f[_0x46ff01(0x1e4)]),'dbName':_0x3e21b6?.['dbName'],'sqlName':_0x558d1f[_0x46ff01(0x1eb)],'sqlConfig':_0x558d1f[_0x46ff01(0x1ef)]??undefined,'mode':_0x1e33d3};}export function cloneSqlLockData(_0x43c74f){const _0xb8c58f=a193_0x4807a4;return{'apps':Object[_0xb8c58f(0x1d5)](Object[_0xb8c58f(0x1e9)](_0x43c74f[_0xb8c58f(0x1e6)])['map'](([_0x553f72,_0x107392])=>[_0x553f72,{'sqlRoot':_0x107392[_0xb8c58f(0x1dc)],'lastSync':_0x107392['lastSync'],'sqls':{..._0x107392['sqls']}}]))};}export function ensureRemoteSqlContent(_0x319d8c){const _0x503fb8=a193_0x4807a4;return _0x319d8c[_0x503fb8(0x1ec)]??'';}export function buildLocalSqlFileContent(_0x3ffe72,_0x369da0,_0x4b9238){const _0x8ea993=a193_0x4807a4,_0x284bcb=_0x4b9238?.[_0x8ea993(0x1d3)]??detectSqlMode(_0x369da0),_0x9e1110=stripLocalSqlMetadata(_0x369da0,_0x284bcb)[_0x8ea993(0x1d7)](),_0x4bf702=[...buildMetadataHeaderLines({'sqlCode':_0x3ffe72[_0x8ea993(0x1cd)],'sqlName':_0x3ffe72['sqlName'],'dbId':_0x3ffe72[_0x8ea993(0x1e4)],'dbName':_0x4b9238?.['dbName'],'mode':_0x284bcb,'syncedAt':_0x4b9238?.[_0x8ea993(0x1df)],'description':_0x4b9238?.[_0x8ea993(0x1cf)]},_0x284bcb),'',_0x9e1110],_0x47d115=_0x4bf702[_0x8ea993(0x1e3)]('\x0a');return _0x47d115[_0x8ea993(0x1cb)]('\x0a')?_0x47d115:_0x47d115+'\x0a';}export function stripLocalSqlMetadata(_0x4dc916,_0x10d7a4){const _0x55bf58=a193_0x4807a4,_0x531693=_0x4dc916[_0x55bf58(0x1d2)](/\r\n/g,'\x0a')[_0x55bf58(0x1d4)]('\x0a'),_0x2d549e=[];let _0x266ce7=0x0;if(_0x10d7a4==='mybatisXml')while(_0x266ce7<_0x531693[_0x55bf58(0x1c7)]){const _0x2a9284=_0x531693[_0x266ce7]??'';if(/^\s*<!--\s*@lovrabet\./[_0x55bf58(0x1e2)](_0x2a9284)){_0x266ce7++;continue;}if(_0x2a9284['trim']()===''&&_0x266ce7>0x0){_0x266ce7++;continue;}break;}else while(_0x266ce7<_0x531693[_0x55bf58(0x1c7)]){const _0x158497=_0x531693[_0x266ce7]??'';if(/^\s*--\s*@lovrabet\./[_0x55bf58(0x1e2)](_0x158497)){_0x266ce7++;continue;}if(_0x158497[_0x55bf58(0x1d7)]()===''&&_0x266ce7>0x0){_0x266ce7++;continue;}break;}for(;_0x266ce7<_0x531693[_0x55bf58(0x1c7)];_0x266ce7++){_0x2d549e['push'](_0x531693[_0x266ce7]);}return _0x2d549e[_0x55bf58(0x1e3)]('\x0a')[_0x55bf58(0x1d0)]();}export function resolveSqlMode(_0x3f9c82,_0x47104b){const _0x2c07fe=a193_0x4807a4;if(_0x47104b?.[_0x2c07fe(0x1d3)])return _0x47104b[_0x2c07fe(0x1d3)];return detectSqlMode(_0x3f9c82);}export function resolveSqlFileName(_0x3ce794,_0x20b6f1,_0xe963ca){const _0x38d1aa=a193_0x4807a4;if(_0xe963ca?.['path'])return _0xe963ca[_0x38d1aa(0x1cc)];if(_0xe963ca?.[_0x38d1aa(0x1eb)]||_0xe963ca?.[_0x38d1aa(0x1de)])return buildSqlRelativePath(_0x3ce794,_0xe963ca?.[_0x38d1aa(0x1eb)],_0xe963ca?.[_0x38d1aa(0x1de)],resolveSqlMode(_0x20b6f1,_0xe963ca),_0xe963ca?.['dbId']);return buildDefaultSqlFileName(_0x3ce794,resolveSqlMode(_0x20b6f1,_0xe963ca));}export function resolveSqlLocalDir(_0x3f0fd4,_0x375e39){return join(_0x3f0fd4,SQL_LOCAL_REL_DIR,_0x375e39);}export async function confirmForceOverwrite(_0x8994e2){const _0x3ef022=a193_0x4807a4,_0x2ee2b5=createInterface({'input':process[_0x3ef022(0x1dd)],'output':process[_0x3ef022(0x1ed)]}),_0x56ec14=await new Promise(_0xcd0598=>{const _0xbacb32=_0x3ef022;_0x2ee2b5[_0xbacb32(0x1c9)](_0x8994e2+_0xbacb32(0x1d8),_0xcd0598);});return _0x2ee2b5[_0x3ef022(0x1ee)](),['y',_0x3ef022(0x1ce)]['includes'](_0x56ec14[_0x3ef022(0x1d7)]()[_0x3ef022(0x1c8)]());}export function findSqlLockScope(_0x5c05bf,_0x3b3f25){const _0x5e78cd=a193_0x4807a4;return _0x5c05bf[_0x5e78cd(0x1e6)][_0x3b3f25];}function buildMetadataHeaderLines(_0x19bd34,_0x47dbe8){const _0x2b0850=a193_0x4807a4,_0x1624f5=[[_0x2b0850(0x1cd),_0x19bd34[_0x2b0850(0x1cd)]],[_0x2b0850(0x1eb),_0x19bd34[_0x2b0850(0x1eb)]],[_0x2b0850(0x1e4),_0x19bd34['dbId']],[_0x2b0850(0x1de),_0x19bd34[_0x2b0850(0x1de)]],[_0x2b0850(0x1d3),_0x19bd34[_0x2b0850(0x1d3)]],[_0x2b0850(0x1df),_0x19bd34[_0x2b0850(0x1df)]],[_0x2b0850(0x1cf),_0x19bd34[_0x2b0850(0x1cf)]]];if(_0x47dbe8==='mybatisXml')return _0x1624f5['filter'](([,_0xa8eefc])=>_0xa8eefc!==undefined&&_0xa8eefc!==null&&String(_0xa8eefc)[_0x2b0850(0x1d7)]()!=='')['map'](([_0x2cc28e,_0x18495c])=>'<!--\x20@lovrabet.'+_0x2cc28e+':\x20'+String(_0x18495c)+'\x20-->');return _0x1624f5['filter'](([,_0x1c4409])=>_0x1c4409!==undefined&&_0x1c4409!==null&&String(_0x1c4409)[_0x2b0850(0x1d7)]()!=='')[_0x2b0850(0x1ca)](([_0x2f9dd4,_0x3eca90])=>_0x2b0850(0x1ea)+_0x2f9dd4+':\x20'+String(_0x3eca90));}
1
+ (function(_0x58c104,_0x22269e){const _0x4a2006=a198_0x1a0a,_0x1a4455=_0x58c104();while(!![]){try{const _0x542c40=-parseInt(_0x4a2006(0xb1))/0x1*(-parseInt(_0x4a2006(0xc2))/0x2)+-parseInt(_0x4a2006(0xb3))/0x3*(-parseInt(_0x4a2006(0xa1))/0x4)+parseInt(_0x4a2006(0xca))/0x5*(-parseInt(_0x4a2006(0xc8))/0x6)+parseInt(_0x4a2006(0x9e))/0x7+parseInt(_0x4a2006(0xcb))/0x8+-parseInt(_0x4a2006(0xb2))/0x9+parseInt(_0x4a2006(0xaf))/0xa*(-parseInt(_0x4a2006(0xa7))/0xb);if(_0x542c40===_0x22269e)break;else _0x1a4455['push'](_0x1a4455['shift']());}catch(_0x3fc343){_0x1a4455['push'](_0x1a4455['shift']());}}}(a198_0x3755,0x68965));import{createInterface}from'node:readline';function a198_0x3755(){const _0x54698c=['12FFVVoJ','endsWith','join','lastSync','description','trimStart','sqlCode','\x20[y/N]\x20','sqlName','trim','stderr','sqls','dbName','push','mode','10mKKbmY','sqlConfig','entries','sqlContent','dbId','--\x20@lovrabet.','18AXrKtA','length','624445LsgsrH','5785864KcYdRc','close','1486583ErNDjW','question','toLowerCase','23444DcFDaR','includes','apps','mybatisXml','replace','map','22tgEauT','path','split','fromEntries','version','stdin','syncedAt','\x20-->','981790dDDWyI','filter','86156rUfiXn','3513708YQfDfS'];a198_0x3755=function(){return _0x54698c;};return a198_0x3755();}function a198_0x1a0a(_0x563dc9,_0x5855c3){_0x563dc9=_0x563dc9-0x9d;const _0x3755e2=a198_0x3755();let _0x1a0a60=_0x3755e2[_0x563dc9];return _0x1a0a60;}import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR='.rabetbase/sql';export function buildSqlLockEntry(_0x1253af,_0xccac65,_0x508dd5,_0x2dea32){const _0xd09501=a198_0x1a0a,_0xaf6a4d=detectSqlMode(_0xccac65);return{'path':buildSqlRelativePath(_0x1253af['sqlCode'],_0x1253af['sqlName'],_0x2dea32?.[_0xd09501(0xbf)],_0xaf6a4d,_0x1253af[_0xd09501(0xc6)]),'hash':_0x508dd5,'remoteId':_0x1253af['id'],'version':_0x1253af[_0xd09501(0xab)],'dbId':Number(_0x1253af[_0xd09501(0xc6)]),'dbName':_0x2dea32?.[_0xd09501(0xbf)],'sqlName':_0x1253af[_0xd09501(0xbb)],'sqlConfig':_0x1253af[_0xd09501(0xc3)]??undefined,'mode':_0xaf6a4d};}export function cloneSqlLockData(_0x573e59){const _0x2ab69d=a198_0x1a0a;return{'apps':Object[_0x2ab69d(0xaa)](Object[_0x2ab69d(0xc4)](_0x573e59['apps'])[_0x2ab69d(0xa6)](([_0x5a1dde,_0x2d39cc])=>[_0x5a1dde,{'sqlRoot':_0x2d39cc['sqlRoot'],'lastSync':_0x2d39cc[_0x2ab69d(0xb6)],'sqls':{..._0x2d39cc[_0x2ab69d(0xbe)]}}]))};}export function ensureRemoteSqlContent(_0xa59f57){const _0x352492=a198_0x1a0a;return _0xa59f57[_0x352492(0xc5)]??'';}export function buildLocalSqlFileContent(_0x215ae9,_0x515141,_0x205108){const _0x2c79d5=a198_0x1a0a,_0xa784fd=_0x205108?.[_0x2c79d5(0xc1)]??detectSqlMode(_0x515141),_0x27018b=stripLocalSqlMetadata(_0x515141,_0xa784fd)[_0x2c79d5(0xbc)](),_0x173aac=[...buildMetadataHeaderLines({'sqlCode':_0x215ae9[_0x2c79d5(0xb9)],'sqlName':_0x215ae9['sqlName'],'dbId':_0x215ae9[_0x2c79d5(0xc6)],'dbName':_0x205108?.[_0x2c79d5(0xbf)],'mode':_0xa784fd,'syncedAt':_0x205108?.['syncedAt'],'description':_0x205108?.['description']},_0xa784fd),'',_0x27018b],_0x57afb6=_0x173aac[_0x2c79d5(0xb5)]('\x0a');return _0x57afb6[_0x2c79d5(0xb4)]('\x0a')?_0x57afb6:_0x57afb6+'\x0a';}export function stripLocalSqlMetadata(_0x45d965,_0x354294){const _0x3c16ff=a198_0x1a0a,_0x44c722=_0x45d965[_0x3c16ff(0xa5)](/\r\n/g,'\x0a')[_0x3c16ff(0xa9)]('\x0a'),_0x42e56b=[];let _0x347a44=0x0;if(_0x354294===_0x3c16ff(0xa4))while(_0x347a44<_0x44c722[_0x3c16ff(0xc9)]){const _0x168e14=_0x44c722[_0x347a44]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x168e14)){_0x347a44++;continue;}if(_0x168e14[_0x3c16ff(0xbc)]()===''&&_0x347a44>0x0){_0x347a44++;continue;}break;}else while(_0x347a44<_0x44c722[_0x3c16ff(0xc9)]){const _0x27d453=_0x44c722[_0x347a44]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x27d453)){_0x347a44++;continue;}if(_0x27d453[_0x3c16ff(0xbc)]()===''&&_0x347a44>0x0){_0x347a44++;continue;}break;}for(;_0x347a44<_0x44c722[_0x3c16ff(0xc9)];_0x347a44++){_0x42e56b[_0x3c16ff(0xc0)](_0x44c722[_0x347a44]);}return _0x42e56b[_0x3c16ff(0xb5)]('\x0a')[_0x3c16ff(0xb8)]();}export function resolveSqlMode(_0x17ab96,_0x50df80){const _0xf842be=a198_0x1a0a;if(_0x50df80?.[_0xf842be(0xc1)])return _0x50df80[_0xf842be(0xc1)];return detectSqlMode(_0x17ab96);}export function resolveSqlFileName(_0x8f230a,_0x5c0004,_0x96bf85){const _0x20e67f=a198_0x1a0a;if(_0x96bf85?.['path'])return _0x96bf85[_0x20e67f(0xa8)];if(_0x96bf85?.[_0x20e67f(0xbb)]||_0x96bf85?.['dbName'])return buildSqlRelativePath(_0x8f230a,_0x96bf85?.[_0x20e67f(0xbb)],_0x96bf85?.[_0x20e67f(0xbf)],resolveSqlMode(_0x5c0004,_0x96bf85),_0x96bf85?.[_0x20e67f(0xc6)]);return buildDefaultSqlFileName(_0x8f230a,resolveSqlMode(_0x5c0004,_0x96bf85));}export function resolveSqlLocalDir(_0xa38f74,_0x20f8ec){return join(_0xa38f74,SQL_LOCAL_REL_DIR,_0x20f8ec);}export async function confirmForceOverwrite(_0x1d63ff){const _0x5e778d=a198_0x1a0a,_0x4abdfe=createInterface({'input':process[_0x5e778d(0xac)],'output':process[_0x5e778d(0xbd)]}),_0x7dbe07=await new Promise(_0x41f2ae=>{const _0x1965bd=_0x5e778d;_0x4abdfe[_0x1965bd(0x9f)](_0x1d63ff+_0x1965bd(0xba),_0x41f2ae);});return _0x4abdfe[_0x5e778d(0x9d)](),['y','yes'][_0x5e778d(0xa2)](_0x7dbe07[_0x5e778d(0xbc)]()[_0x5e778d(0xa0)]());}export function findSqlLockScope(_0x5248d9,_0x3e7de9){const _0x340ae0=a198_0x1a0a;return _0x5248d9[_0x340ae0(0xa3)][_0x3e7de9];}function buildMetadataHeaderLines(_0x5621ba,_0x48de75){const _0x3067a9=a198_0x1a0a,_0x3a540c=[[_0x3067a9(0xb9),_0x5621ba[_0x3067a9(0xb9)]],[_0x3067a9(0xbb),_0x5621ba['sqlName']],[_0x3067a9(0xc6),_0x5621ba[_0x3067a9(0xc6)]],[_0x3067a9(0xbf),_0x5621ba[_0x3067a9(0xbf)]],[_0x3067a9(0xc1),_0x5621ba[_0x3067a9(0xc1)]],[_0x3067a9(0xad),_0x5621ba[_0x3067a9(0xad)]],['description',_0x5621ba[_0x3067a9(0xb7)]]];if(_0x48de75===_0x3067a9(0xa4))return _0x3a540c['filter'](([,_0x361cd4])=>_0x361cd4!==undefined&&_0x361cd4!==null&&String(_0x361cd4)[_0x3067a9(0xbc)]()!=='')[_0x3067a9(0xa6)](([_0x2cadc8,_0x3cd7bd])=>'<!--\x20@lovrabet.'+_0x2cadc8+':\x20'+String(_0x3cd7bd)+_0x3067a9(0xae));return _0x3a540c[_0x3067a9(0xb0)](([,_0x574a79])=>_0x574a79!==undefined&&_0x574a79!==null&&String(_0x574a79)[_0x3067a9(0xbc)]()!=='')['map'](([_0x59b09c,_0x10bee5])=>_0x3067a9(0xc7)+_0x59b09c+':\x20'+String(_0x10bee5));}
@@ -1 +1 @@
1
- const a194_0x149901=a194_0x1177;(function(_0x50e33d,_0x34788d){const _0x20640c=a194_0x1177,_0x488c38=_0x50e33d();while(!![]){try{const _0x5050f7=parseInt(_0x20640c(0x197))/0x1+-parseInt(_0x20640c(0x1b7))/0x2+parseInt(_0x20640c(0x193))/0x3*(-parseInt(_0x20640c(0x1b3))/0x4)+-parseInt(_0x20640c(0x1ad))/0x5*(parseInt(_0x20640c(0x1ab))/0x6)+parseInt(_0x20640c(0x198))/0x7*(-parseInt(_0x20640c(0x1a3))/0x8)+-parseInt(_0x20640c(0x191))/0x9+-parseInt(_0x20640c(0x192))/0xa*(-parseInt(_0x20640c(0x196))/0xb);if(_0x5050f7===_0x34788d)break;else _0x488c38['push'](_0x488c38['shift']());}catch(_0x9b310e){_0x488c38['push'](_0x488c38['shift']());}}}(a194_0x4193,0x2855f));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;function a194_0x1177(_0x2677ae,_0x4f8e77){_0x2677ae=_0x2677ae-0x190;const _0x419386=a194_0x4193();let _0x11779d=_0x419386[_0x2677ae];return _0x11779d;}function a194_0x4193(){const _0x4ac13c=['path','lockFilePath','boolean','2895255WctSjU','230bbNkjB','543759MfjsDZ','push','lockKey','263758YVjhoP','314618MZwlwn','287oSVKXp','\x20added,\x20','status','remote','map','filePath','sql','paging','\x20modified,\x20','sqls','tableData','3096BGjXOP','read','appCode','has','\x20missing,\x20','sqlName','All\x20SQL\x20queries\x20are\x20in\x20sync.','keys','400626RKjDBm','hash','5WvtJmO','totalCount','bool','\x20unchanged','sqlRoot','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','4HgiwUg','relativePath','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','length','230622rnLZxv','\x20remote-only'];a194_0x4193=function(){return _0x4ac13c;};return a194_0x4193();}async function fetchAllSqlCodes(_0x49066f){const _0x4b0416=a194_0x1177,_0x12b478=[];let _0xb53227=0x1;while(!![]){const _0x195b78=await listSqlQueries(_0x49066f,{'currentPage':_0xb53227,'pageSize':PAGE_SIZE}),_0xce58ea=_0x195b78[_0x4b0416(0x1a2)]??[];_0x12b478[_0x4b0416(0x194)](..._0xce58ea[_0x4b0416(0x19c)](_0x502d67=>_0x502d67['sqlCode']));if(_0xce58ea[_0x4b0416(0x1b6)]===0x0)break;const _0x15ffcc=_0x195b78[_0x4b0416(0x19f)]?.[_0x4b0416(0x1ae)];if(_0x15ffcc!=null?_0x12b478['length']>=_0x15ffcc:_0xce58ea[_0x4b0416(0x1b6)]<PAGE_SIZE)break;_0xb53227++;}return _0x12b478;}export const sqlStatus={'service':a194_0x149901(0x19e),'command':'status','description':a194_0x149901(0x1b5),'risk':a194_0x149901(0x1a4),'flags':[{'name':a194_0x149901(0x19b),'type':a194_0x149901(0x190),'description':a194_0x149901(0x1b2)}],async 'execute'(_0x9e324){const _0x5af909=a194_0x149901,_0x57b7b5=loadSqlProjectConfig(_0x9e324['appCode']),_0x2604e5=await readSqlLockFile(_0x57b7b5[_0x5af909(0x1ba)]),{appLock:_0x2187fa}=ensureSqlLockScope(_0x2604e5??createEmptySqlLock(),_0x57b7b5[_0x5af909(0x1a5)],_0x57b7b5[_0x5af909(0x1b1)],_0x5af909(0x19a)),_0x38beb5=await scanLocalSqlQueries(_0x57b7b5),_0x1a482c=[],_0x365446=[],_0x21f1ed=[],_0x1e51c5=[],_0x596462=new Set(_0x38beb5['map'](_0x1f0a19=>_0x1f0a19['lockKey']));for(const _0x33fd7b of _0x38beb5){const _0x47f522=await computeSqlFileHash(_0x33fd7b[_0x5af909(0x19d)]),_0x4c5e0c=_0x2187fa[_0x5af909(0x1a1)][_0x33fd7b[_0x5af909(0x195)]],_0x5b6581=!!_0x4c5e0c&&_0x4c5e0c[_0x5af909(0x1b9)]!==_0x33fd7b[_0x5af909(0x1b4)],_0xb59f5=!!_0x4c5e0c&&!!_0x33fd7b[_0x5af909(0x1a8)]&&_0x4c5e0c[_0x5af909(0x1a8)]!==_0x33fd7b[_0x5af909(0x1a8)];if(!_0x4c5e0c)_0x1a482c[_0x5af909(0x194)](_0x33fd7b[_0x5af909(0x195)]);else _0x4c5e0c[_0x5af909(0x1ac)]!==_0x47f522||_0x5b6581||_0xb59f5?_0x365446[_0x5af909(0x194)](_0x33fd7b[_0x5af909(0x195)]):_0x21f1ed['push'](_0x33fd7b[_0x5af909(0x195)]);}for(const _0x34c2bd of Object[_0x5af909(0x1aa)](_0x2187fa[_0x5af909(0x1a1)])){!_0x596462[_0x5af909(0x1a6)](_0x34c2bd)&&_0x1e51c5[_0x5af909(0x194)](_0x34c2bd);}const _0x29345a=[];if(_0x9e324[_0x5af909(0x1af)]('remote')){const _0x14d966=await fetchAllSqlCodes(_0x9e324[_0x5af909(0x1a5)]);for(const _0x118c8b of _0x14d966){!_0x596462[_0x5af909(0x1a6)](_0x118c8b)&&!_0x2187fa[_0x5af909(0x1a1)][_0x118c8b]&&_0x29345a[_0x5af909(0x194)](_0x118c8b);}}const _0x14aa5e=_0x1a482c['length']===0x0&&_0x365446[_0x5af909(0x1b6)]===0x0&&_0x1e51c5[_0x5af909(0x1b6)]===0x0&&_0x29345a[_0x5af909(0x1b6)]===0x0;return{'ok':!![],'data':{'added':_0x1a482c,'modified':_0x365446,'missing':_0x1e51c5,'unchanged':_0x21f1ed,'remoteOnly':_0x29345a},'message':_0x14aa5e?_0x5af909(0x1a9):_0x1a482c['length']+_0x5af909(0x199)+_0x365446[_0x5af909(0x1b6)]+_0x5af909(0x1a0)+_0x1e51c5[_0x5af909(0x1b6)]+_0x5af909(0x1a7)+_0x21f1ed[_0x5af909(0x1b6)]+_0x5af909(0x1b0)+(_0x29345a[_0x5af909(0x1b6)]>0x0?',\x20'+_0x29345a[_0x5af909(0x1b6)]+_0x5af909(0x1b8):'')};}};
1
+ function a199_0x42b9(_0x22e8cf,_0x564bd5){_0x22e8cf=_0x22e8cf-0x1ac;const _0x1b493d=a199_0x1b49();let _0x42b996=_0x1b493d[_0x22e8cf];return _0x42b996;}const a199_0x1ec86c=a199_0x42b9;(function(_0x1b2f95,_0x3ba5c3){const _0x2793ba=a199_0x42b9,_0x326a67=_0x1b2f95();while(!![]){try{const _0x355c82=parseInt(_0x2793ba(0x1d0))/0x1+-parseInt(_0x2793ba(0x1ce))/0x2+parseInt(_0x2793ba(0x1ca))/0x3*(parseInt(_0x2793ba(0x1bb))/0x4)+-parseInt(_0x2793ba(0x1cf))/0x5*(parseInt(_0x2793ba(0x1c1))/0x6)+parseInt(_0x2793ba(0x1b7))/0x7*(parseInt(_0x2793ba(0x1ba))/0x8)+-parseInt(_0x2793ba(0x1cd))/0x9*(parseInt(_0x2793ba(0x1af))/0xa)+parseInt(_0x2793ba(0x1ad))/0xb;if(_0x355c82===_0x3ba5c3)break;else _0x326a67['push'](_0x326a67['shift']());}catch(_0x3a1e6e){_0x326a67['push'](_0x326a67['shift']());}}}(a199_0x1b49,0x45908));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(_0x1a2710){const _0xe2de4d=a199_0x42b9,_0x2812bb=[];let _0x2fab3f=0x1;while(!![]){const _0x18797c=await listSqlQueries(_0x1a2710,{'currentPage':_0x2fab3f,'pageSize':PAGE_SIZE}),_0x22fe06=_0x18797c[_0xe2de4d(0x1ae)]??[];_0x2812bb['push'](..._0x22fe06['map'](_0x5c0aab=>_0x5c0aab[_0xe2de4d(0x1cc)]));if(_0x22fe06[_0xe2de4d(0x1cb)]===0x0)break;const _0x13e836=_0x18797c['paging']?.[_0xe2de4d(0x1c5)];if(_0x13e836!=null?_0x2812bb[_0xe2de4d(0x1cb)]>=_0x13e836:_0x22fe06['length']<PAGE_SIZE)break;_0x2fab3f++;}return _0x2812bb;}export const sqlStatus={'service':a199_0x1ec86c(0x1b8),'command':a199_0x1ec86c(0x1b9),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a199_0x1ec86c(0x1c8),'flags':[{'name':a199_0x1ec86c(0x1b4),'type':a199_0x1ec86c(0x1c7),'description':a199_0x1ec86c(0x1b2)}],async 'execute'(_0x5e5b63){const _0x28aff1=a199_0x1ec86c,_0x4e0b89=loadSqlProjectConfig(_0x5e5b63['appCode']),_0x564c2d=await readSqlLockFile(_0x4e0b89['lockFilePath']),{appLock:_0x384fb9}=ensureSqlLockScope(_0x564c2d??createEmptySqlLock(),_0x4e0b89[_0x28aff1(0x1b3)],_0x4e0b89[_0x28aff1(0x1d1)],_0x28aff1(0x1b9)),_0x40e076=await scanLocalSqlQueries(_0x4e0b89),_0x5d998c=[],_0x4e6243=[],_0x35937a=[],_0x5ebdfb=[],_0x524541=new Set(_0x40e076['map'](_0x116b50=>_0x116b50[_0x28aff1(0x1c6)]));for(const _0x4d79cd of _0x40e076){const _0x5055cb=await computeSqlFileHash(_0x4d79cd[_0x28aff1(0x1b0)]),_0x405349=_0x384fb9[_0x28aff1(0x1b1)][_0x4d79cd[_0x28aff1(0x1c6)]],_0x3db528=!!_0x405349&&_0x405349[_0x28aff1(0x1bd)]!==_0x4d79cd[_0x28aff1(0x1bc)],_0x2b9624=!!_0x405349&&!!_0x4d79cd['sqlName']&&_0x405349[_0x28aff1(0x1b6)]!==_0x4d79cd[_0x28aff1(0x1b6)];if(!_0x405349)_0x5d998c[_0x28aff1(0x1c0)](_0x4d79cd['lockKey']);else _0x405349[_0x28aff1(0x1b5)]!==_0x5055cb||_0x3db528||_0x2b9624?_0x4e6243[_0x28aff1(0x1c0)](_0x4d79cd[_0x28aff1(0x1c6)]):_0x35937a['push'](_0x4d79cd[_0x28aff1(0x1c6)]);}for(const _0x40f94a of Object[_0x28aff1(0x1be)](_0x384fb9[_0x28aff1(0x1b1)])){!_0x524541[_0x28aff1(0x1ac)](_0x40f94a)&&_0x5ebdfb['push'](_0x40f94a);}const _0xf81f9e=[];if(_0x5e5b63[_0x28aff1(0x1c4)](_0x28aff1(0x1b4))){const _0x1238b1=await fetchAllSqlCodes(_0x5e5b63[_0x28aff1(0x1b3)]);for(const _0x5e2cb0 of _0x1238b1){!_0x524541[_0x28aff1(0x1ac)](_0x5e2cb0)&&!_0x384fb9[_0x28aff1(0x1b1)][_0x5e2cb0]&&_0xf81f9e[_0x28aff1(0x1c0)](_0x5e2cb0);}}const _0x2d3a34=_0x5d998c[_0x28aff1(0x1cb)]===0x0&&_0x4e6243[_0x28aff1(0x1cb)]===0x0&&_0x5ebdfb[_0x28aff1(0x1cb)]===0x0&&_0xf81f9e[_0x28aff1(0x1cb)]===0x0;return{'ok':!![],'data':{'added':_0x5d998c,'modified':_0x4e6243,'missing':_0x5ebdfb,'unchanged':_0x35937a,'remoteOnly':_0xf81f9e},'message':_0x2d3a34?_0x28aff1(0x1c9):_0x5d998c[_0x28aff1(0x1cb)]+_0x28aff1(0x1bf)+_0x4e6243[_0x28aff1(0x1cb)]+'\x20modified,\x20'+_0x5ebdfb[_0x28aff1(0x1cb)]+_0x28aff1(0x1c3)+_0x35937a['length']+'\x20unchanged'+(_0xf81f9e[_0x28aff1(0x1cb)]>0x0?',\x20'+_0xf81f9e[_0x28aff1(0x1cb)]+_0x28aff1(0x1c2):'')};}};function a199_0x1b49(){const _0x528cc2=['\x20missing,\x20','bool','totalCount','lockKey','boolean','read','All\x20SQL\x20queries\x20are\x20in\x20sync.','6MIHXls','length','sqlCode','9gXJfLO','525384VODnOk','5060qSJmnV','305543fAogNK','sqlRoot','has','2140974sYSWrc','tableData','2131210zyoqFt','filePath','sqls','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','appCode','remote','hash','sqlName','606613IPRbHE','sql','status','32QkFHeS','18128oGQADV','relativePath','path','keys','\x20added,\x20','push','564wvlBGt','\x20remote-only'];a199_0x1b49=function(){return _0x528cc2;};return a199_0x1b49();}
@@ -1 +1 @@
1
- const a195_0x5bc679=a195_0x3647;(function(_0x2dd08a,_0x4422a2){const _0x107ed6=a195_0x3647,_0x5245da=_0x2dd08a();while(!![]){try{const _0x597591=-parseInt(_0x107ed6(0x1f1))/0x1*(parseInt(_0x107ed6(0x1c3))/0x2)+parseInt(_0x107ed6(0x1cb))/0x3+-parseInt(_0x107ed6(0x1cf))/0x4+parseInt(_0x107ed6(0x1ee))/0x5*(-parseInt(_0x107ed6(0x1c8))/0x6)+parseInt(_0x107ed6(0x1c5))/0x7*(-parseInt(_0x107ed6(0x1d8))/0x8)+-parseInt(_0x107ed6(0x1ce))/0x9*(-parseInt(_0x107ed6(0x1dc))/0xa)+-parseInt(_0x107ed6(0x1e4))/0xb*(-parseInt(_0x107ed6(0x1c1))/0xc);if(_0x597591===_0x4422a2)break;else _0x5245da['push'](_0x5245da['shift']());}catch(_0x1efde2){_0x5245da['push'](_0x5245da['shift']());}}}(a195_0x2a68,0x33e2a));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';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':a195_0x5bc679(0x1e1),'command':a195_0x5bc679(0x1d2),'description':a195_0x5bc679(0x1e0),'risk':a195_0x5bc679(0x1e9),'flags':[{'name':a195_0x5bc679(0x1e8),'type':a195_0x5bc679(0x1e3),'description':a195_0x5bc679(0x1f8)},{'name':a195_0x5bc679(0x1e1),'type':a195_0x5bc679(0x1e3),'description':a195_0x5bc679(0x1fc)},{'name':a195_0x5bc679(0x1d1),'type':a195_0x5bc679(0x1e3),'description':'Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against'},{'name':a195_0x5bc679(0x1d0),'type':a195_0x5bc679(0x1e5),'description':a195_0x5bc679(0x1ed)}],async 'execute'(_0x6e8ee6){const _0x248da7=a195_0x5bc679,_0x3cabe6=_0x6e8ee6[_0x248da7(0x1c6)]('file'),_0x2d2004=_0x6e8ee6[_0x248da7(0x1c6)]('sql'),_0x425aa3=_0x6e8ee6[_0x248da7(0x1c6)](_0x248da7(0x1d1)),_0x3cd9a5=_0x6e8ee6[_0x248da7(0x1ec)](_0x248da7(0x1d0));if(!_0x3cabe6&&!_0x2d2004)throw CliErrors['flagMissing'](_0x248da7(0x1e8),_0x248da7(0x1f9));if(_0x3cd9a5&&!_0x425aa3)throw CliErrors[_0x248da7(0x200)]('--check-indexes\x20requires\x20--schemas.');let _0x51c70c;if(_0x3cabe6){const _0x14931a=resolve(process[_0x248da7(0x1dd)](),_0x3cabe6);if(!existsSync(_0x14931a))throw CliErrors['validation'](_0x248da7(0x1d4)+_0x14931a);_0x51c70c=readFileSync(_0x14931a,'utf-8');}else _0x51c70c=_0x2d2004;const _0x54a766=validateSql(_0x51c70c),_0x56aab1={'valid':_0x54a766[_0x248da7(0x1bf)],'sqlType':_0x54a766[_0x248da7(0x1c7)][_0x248da7(0x1f5)],'isSelectOnly':_0x54a766[_0x248da7(0x1c7)][_0x248da7(0x1fa)],'isDangerous':_0x54a766['sqlType']['isDangerous'],'tables':_0x54a766[_0x248da7(0x1f2)],'parameters':_0x54a766[_0x248da7(0x1f6)],'message':_0x54a766['message']};_0x54a766['sqlType'][_0x248da7(0x1e2)]&&(_0x56aab1[_0x248da7(0x1e2)]=_0x54a766[_0x248da7(0x1c7)]['reason']);if(_0x425aa3&&_0x54a766['valid']){const _0x4b1b3d=_0x425aa3['split'](',')['map'](_0x26fdad=>_0x26fdad[_0x248da7(0x1df)]())[_0x248da7(0x1f0)](Boolean),_0x21cab7=[],_0x54db13=[],_0x5591bc=filterDbTableBackedDatasets(await listDatasets(_0x6e8ee6['appCode'])),_0x4321be=new Map(_0x5591bc[_0x248da7(0x1db)](_0x26cfa3=>[_0x26cfa3[_0x248da7(0x1fb)]?.[_0x248da7(0x1d9)]?.['toLowerCase'](),_0x26cfa3]));for(const _0x58962f of _0x54a766[_0x248da7(0x1f2)]){const _0x379736=_0x4321be['get'](_0x58962f[_0x248da7(0x1de)]());!_0x379736&&_0x21cab7['push']('Table\x20\x22'+_0x58962f+_0x248da7(0x1d6));}for(const _0x38aac0 of _0x4b1b3d){let _0x4d3cef;try{_0x4d3cef=await getDatasetDetail(_0x38aac0);}catch{_0x21cab7['push'](_0x248da7(0x1c9)+_0x38aac0+_0x248da7(0x1fd));continue;}assertDatasetIsDbTableBacked(_0x4d3cef,_0x248da7(0x1be));const _0xbe171=Array[_0x248da7(0x1f4)](_0x4d3cef[_0x248da7(0x1cc)])?_0x4d3cef[_0x248da7(0x1cc)]:[],_0x2bf9bf=new Set(_0xbe171[_0x248da7(0x1db)](_0x5560d3=>_0x5560d3[_0x248da7(0x1da)]?.[_0x248da7(0x1de)]())),_0xc7b09f=_0x4d3cef[_0x248da7(0x1fb)]?.[_0x248da7(0x1d9)]||_0x4d3cef[_0x248da7(0x1d9)]||_0x38aac0;_0x56aab1[_0x248da7(0x1ea)+_0xc7b09f]={'code':_0x38aac0,'tableName':_0xc7b09f,'fieldCount':_0x2bf9bf['size'],'fields':Array['from'](_0x2bf9bf)};if(_0x3cd9a5){const _0x27f8cd=normalizeDatasetIndexes(_0x4d3cef);_0x54db13[_0x248da7(0x1eb)]({'tableName':_0xc7b09f,..._0x27f8cd});}}_0x21cab7[_0x248da7(0x1f7)]>0x0&&(_0x56aab1[_0x248da7(0x1cd)]=_0x21cab7),_0x3cd9a5&&(_0x56aab1['joinAudit']=auditSqlJoinIndexes(_0x51c70c,_0x54db13));}return{'ok':_0x54a766['valid'],'data':_0x56aab1,'message':_0x54a766[_0x248da7(0x1f3)]};}};function normalizeDatasetIndexes(_0x9c3e3){const _0x50fe32=a195_0x5bc679,_0x2966a5=Array[_0x50fe32(0x1f4)](_0x9c3e3?.[_0x50fe32(0x1c4)]?.[_0x50fe32(0x1e7)])?_0x9c3e3[_0x50fe32(0x1c4)][_0x50fe32(0x1e7)]:Array[_0x50fe32(0x1f4)](_0x9c3e3?.[_0x50fe32(0x1e7)])?_0x9c3e3[_0x50fe32(0x1e7)]:[],_0x4dc363=_0x2966a5[_0x50fe32(0x1ff)](_0x3bad4a=>{const _0x5b14fc=_0x50fe32,_0x71ce84=Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1ca)])?_0x3bad4a[_0x5b14fc(0x1ca)]:Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1ef)])?_0x3bad4a[_0x5b14fc(0x1ef)]:Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1d7)])?_0x3bad4a['columns']:[],_0x2ee5e9=_0x71ce84['filter'](_0x244f81=>typeof _0x244f81===_0x5b14fc(0x1e3))[_0x5b14fc(0x1db)](_0x31f33a=>_0x31f33a['trim']())[_0x5b14fc(0x1f0)](Boolean);if(_0x2ee5e9[_0x5b14fc(0x1f7)]===0x0)return[];const _0x2daf76=[_0x3bad4a?.[_0x5b14fc(0x1e6)],_0x3bad4a?.['index_name'],_0x3bad4a?.[_0x5b14fc(0x1da)]][_0x5b14fc(0x1fe)](_0xec66d0=>typeof _0xec66d0===_0x5b14fc(0x1e3)&&_0xec66d0['trim']()),_0x7213a0=[_0x3bad4a?.[_0x5b14fc(0x1c2)],_0x3bad4a?.[_0x5b14fc(0x1f5)]][_0x5b14fc(0x1fe)](_0x3c3713=>typeof _0x3c3713===_0x5b14fc(0x1e3)&&_0x3c3713[_0x5b14fc(0x1df)]());return[{..._0x2daf76?{'name':_0x2daf76[_0x5b14fc(0x1df)]()}:{},..._0x7213a0?{'type':_0x7213a0[_0x5b14fc(0x1df)]()}:{},'columns':_0x2ee5e9}];}),_0x44436c=[..._0x4dc363],_0x3b0e5f=typeof _0x9c3e3?.['dbtableConfig']?.[_0x50fe32(0x1d5)]===_0x50fe32(0x1e3)?_0x9c3e3[_0x50fe32(0x1fb)][_0x50fe32(0x1d5)]['split'](',')['map'](_0x2a04eb=>_0x2a04eb['trim']())[_0x50fe32(0x1f0)](Boolean):[];return _0x3b0e5f[_0x50fe32(0x1f7)]>0x0&&_0x44436c[_0x50fe32(0x1d3)]({'type':_0x50fe32(0x1c0),'columns':_0x3b0e5f}),{'indexes':_0x44436c,'metadataAvailable':_0x4dc363[_0x50fe32(0x1f7)]>0x0};}function a195_0x3647(_0x5ca883,_0x8ba441){_0x5ca883=_0x5ca883-0x1be;const _0x2a6878=a195_0x2a68();let _0x36479d=_0x2a6878[_0x5ca883];return _0x36479d;}function a195_0x2a68(){const _0x56c04d=['isArray','type','parameters','length','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Provide\x20--file\x20or\x20--sql','isSelectOnly','dbtableConfig','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','\x22\x20not\x20found\x20or\x20not\x20accessible','find','flatMap','validation','SQL\x20schema\x20validation','valid','primary','7553172xKVMST','index_type','133806rtviNa','dataset','456834yZhGtT','str','sqlType','120FIwwLx','Dataset\x20\x22','index_columns','149559ksReJB','fields','schemaWarnings','369zKiEaB','473344PVDIkT','check-indexes','schemas','validate','unshift','File\x20not\x20found:\x20','pkField','\x22\x20not\x20found\x20in\x20any\x20dataset','columns','8tCGtKj','tableName','name','map','26990fNFCIE','cwd','toLowerCase','trim','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','sql','reason','string','11CifnQu','boolean','indexName','indexes','file','read','schema:','push','bool','Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','81730GySLZc','columnNames','filter','1ugZAZp','tables','message'];a195_0x2a68=function(){return _0x56c04d;};return a195_0x2a68();}
1
+ function a200_0x3d19(){const _0x5e8544=['type','dbtableConfig','7iCmqvG','tableName','schemas','find','joinAudit','primary','string','dataset','columnNames','sql','24DsiXAA','933510KLaOkU','605HScSVq','indexes','columns','Dataset\x20\x22','toLowerCase','isDangerous','\x22\x20not\x20found\x20or\x20not\x20accessible','tables','str','index_name','132200JTMvEY','get','validation','appCode','file','1326243TJWGJk','1022985zDYkzQ','read','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','Table\x20\x22','isArray','valid','9355956JLYVwv','pkField','validate','boolean','push','size','reason','split','isSelectOnly','message','utf-8','map','from','trim','index_type','--check-indexes\x20requires\x20--schemas.','sqlType','length','filter','125rhXTbX','250872myBmxi','Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','name','indexName','8392JmClwB','index_columns'];a200_0x3d19=function(){return _0x5e8544;};return a200_0x3d19();}const a200_0x3c0717=a200_0x51b6;(function(_0x4c08cf,_0x57aec2){const _0x30c5c3=a200_0x51b6,_0x15cd07=_0x4c08cf();while(!![]){try{const _0x24ad33=-parseInt(_0x30c5c3(0x74))/0x1+-parseInt(_0x30c5c3(0x87))/0x2+parseInt(_0x30c5c3(0x97))/0x3+parseInt(_0x30c5c3(0x78))/0x4*(-parseInt(_0x30c5c3(0x73))/0x5)+parseInt(_0x30c5c3(0x9e))/0x6*(parseInt(_0x30c5c3(0x7c))/0x7)+-parseInt(_0x30c5c3(0x86))/0x8*(-parseInt(_0x30c5c3(0x98))/0x9)+-parseInt(_0x30c5c3(0x92))/0xa*(parseInt(_0x30c5c3(0x88))/0xb);if(_0x24ad33===_0x57aec2)break;else _0x15cd07['push'](_0x15cd07['shift']());}catch(_0x10e0da){_0x15cd07['push'](_0x15cd07['shift']());}}}(a200_0x3d19,0xce5a9));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';function a200_0x51b6(_0x476c9a,_0x292de6){_0x476c9a=_0x476c9a-0x64;const _0x3d197c=a200_0x3d19();let _0x51b692=_0x3d197c[_0x476c9a];return _0x51b692;}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':a200_0x3c0717(0x85),'command':a200_0x3c0717(0xa0),'description':a200_0x3c0717(0x9a),'risk':a200_0x3c0717(0x99),'flags':[{'name':a200_0x3c0717(0x96),'type':a200_0x3c0717(0x82),'description':'Path\x20to\x20the\x20SQL\x20file\x20to\x20validate'},{'name':a200_0x3c0717(0x85),'type':a200_0x3c0717(0x82),'description':'Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)'},{'name':'schemas','type':a200_0x3c0717(0x82),'description':a200_0x3c0717(0x75)},{'name':'check-indexes','type':a200_0x3c0717(0xa1),'description':'Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata'}],async 'execute'(_0x4c409c){const _0x349aa8=a200_0x3c0717,_0x5ca356=_0x4c409c[_0x349aa8(0x90)](_0x349aa8(0x96)),_0x581820=_0x4c409c['str'](_0x349aa8(0x85)),_0x1309d6=_0x4c409c[_0x349aa8(0x90)](_0x349aa8(0x7e)),_0x3a6f12=_0x4c409c['bool']('check-indexes');if(!_0x5ca356&&!_0x581820)throw CliErrors['flagMissing'](_0x349aa8(0x96),'Provide\x20--file\x20or\x20--sql');if(_0x3a6f12&&!_0x1309d6)throw CliErrors['validation'](_0x349aa8(0x6f));let _0x3001ed;if(_0x5ca356){const _0xdb281b=resolve(process['cwd'](),_0x5ca356);if(!existsSync(_0xdb281b))throw CliErrors[_0x349aa8(0x94)]('File\x20not\x20found:\x20'+_0xdb281b);_0x3001ed=readFileSync(_0xdb281b,_0x349aa8(0x6a));}else _0x3001ed=_0x581820;const _0x173ecc=validateSql(_0x3001ed),_0x1e84a={'valid':_0x173ecc[_0x349aa8(0x9d)],'sqlType':_0x173ecc['sqlType'][_0x349aa8(0x7a)],'isSelectOnly':_0x173ecc['sqlType'][_0x349aa8(0x68)],'isDangerous':_0x173ecc[_0x349aa8(0x70)][_0x349aa8(0x8d)],'tables':_0x173ecc[_0x349aa8(0x8f)],'parameters':_0x173ecc['parameters'],'message':_0x173ecc['message']};_0x173ecc[_0x349aa8(0x70)][_0x349aa8(0x66)]&&(_0x1e84a[_0x349aa8(0x66)]=_0x173ecc[_0x349aa8(0x70)]['reason']);if(_0x1309d6&&_0x173ecc['valid']){const _0x47ed64=_0x1309d6[_0x349aa8(0x67)](',')[_0x349aa8(0x6b)](_0x339572=>_0x339572[_0x349aa8(0x6d)]())[_0x349aa8(0x72)](Boolean),_0x5dcc68=[],_0x323cd8=[],_0x1653ae=filterDbTableBackedDatasets(await listDatasets(_0x4c409c[_0x349aa8(0x95)])),_0x48d0d0=new Map(_0x1653ae[_0x349aa8(0x6b)](_0x188778=>[_0x188778[_0x349aa8(0x7b)]?.[_0x349aa8(0x7d)]?.['toLowerCase'](),_0x188778]));for(const _0x87794f of _0x173ecc[_0x349aa8(0x8f)]){const _0x25b486=_0x48d0d0[_0x349aa8(0x93)](_0x87794f[_0x349aa8(0x8c)]());!_0x25b486&&_0x5dcc68['push'](_0x349aa8(0x9b)+_0x87794f+'\x22\x20not\x20found\x20in\x20any\x20dataset');}for(const _0x4e11a1 of _0x47ed64){let _0x38bf37;try{_0x38bf37=await getDatasetDetail(_0x4e11a1);}catch{_0x5dcc68[_0x349aa8(0x64)](_0x349aa8(0x8b)+_0x4e11a1+_0x349aa8(0x8e));continue;}assertDatasetIsDbTableBacked(_0x38bf37,'SQL\x20schema\x20validation');const _0x1f24ab=Array[_0x349aa8(0x9c)](_0x38bf37['fields'])?_0x38bf37['fields']:[],_0x39cdaa=new Set(_0x1f24ab['map'](_0x31e4a9=>_0x31e4a9[_0x349aa8(0x76)]?.[_0x349aa8(0x8c)]())),_0x5825a4=_0x38bf37[_0x349aa8(0x7b)]?.[_0x349aa8(0x7d)]||_0x38bf37['tableName']||_0x4e11a1;_0x1e84a['schema:'+_0x5825a4]={'code':_0x4e11a1,'tableName':_0x5825a4,'fieldCount':_0x39cdaa[_0x349aa8(0x65)],'fields':Array[_0x349aa8(0x6c)](_0x39cdaa)};if(_0x3a6f12){const _0x1a12be=normalizeDatasetIndexes(_0x38bf37);_0x323cd8[_0x349aa8(0x64)]({'tableName':_0x5825a4,..._0x1a12be});}}_0x5dcc68[_0x349aa8(0x71)]>0x0&&(_0x1e84a['schemaWarnings']=_0x5dcc68),_0x3a6f12&&(_0x1e84a[_0x349aa8(0x80)]=auditSqlJoinIndexes(_0x3001ed,_0x323cd8));}return{'ok':_0x173ecc[_0x349aa8(0x9d)],'data':_0x1e84a,'message':_0x173ecc[_0x349aa8(0x69)]};}};function normalizeDatasetIndexes(_0x497b10){const _0x25781d=a200_0x3c0717,_0x4ba835=Array['isArray'](_0x497b10?.[_0x25781d(0x83)]?.[_0x25781d(0x89)])?_0x497b10['dataset']['indexes']:Array['isArray'](_0x497b10?.[_0x25781d(0x89)])?_0x497b10[_0x25781d(0x89)]:[],_0x38f1d9=_0x4ba835['flatMap'](_0x3486c2=>{const _0x4a3946=_0x25781d,_0x12f32d=Array['isArray'](_0x3486c2?.[_0x4a3946(0x79)])?_0x3486c2[_0x4a3946(0x79)]:Array['isArray'](_0x3486c2?.[_0x4a3946(0x84)])?_0x3486c2[_0x4a3946(0x84)]:Array[_0x4a3946(0x9c)](_0x3486c2?.[_0x4a3946(0x8a)])?_0x3486c2[_0x4a3946(0x8a)]:[],_0x42e06c=_0x12f32d[_0x4a3946(0x72)](_0x446f1c=>typeof _0x446f1c===_0x4a3946(0x82))['map'](_0x2d135a=>_0x2d135a[_0x4a3946(0x6d)]())[_0x4a3946(0x72)](Boolean);if(_0x42e06c[_0x4a3946(0x71)]===0x0)return[];const _0x56beae=[_0x3486c2?.[_0x4a3946(0x77)],_0x3486c2?.[_0x4a3946(0x91)],_0x3486c2?.[_0x4a3946(0x76)]][_0x4a3946(0x7f)](_0x5d611b=>typeof _0x5d611b==='string'&&_0x5d611b[_0x4a3946(0x6d)]()),_0x11daed=[_0x3486c2?.[_0x4a3946(0x6e)],_0x3486c2?.[_0x4a3946(0x7a)]][_0x4a3946(0x7f)](_0x350fac=>typeof _0x350fac===_0x4a3946(0x82)&&_0x350fac[_0x4a3946(0x6d)]());return[{..._0x56beae?{'name':_0x56beae['trim']()}:{},..._0x11daed?{'type':_0x11daed['trim']()}:{},'columns':_0x42e06c}];}),_0x551705=[..._0x38f1d9],_0xbb38ac=typeof _0x497b10?.[_0x25781d(0x7b)]?.[_0x25781d(0x9f)]==='string'?_0x497b10['dbtableConfig'][_0x25781d(0x9f)][_0x25781d(0x67)](',')[_0x25781d(0x6b)](_0x5d93ad=>_0x5d93ad[_0x25781d(0x6d)]())[_0x25781d(0x72)](Boolean):[];return _0xbb38ac[_0x25781d(0x71)]>0x0&&_0x551705['unshift']({'type':_0x25781d(0x81),'columns':_0xbb38ac}),{'indexes':_0x551705,'metadataAvailable':_0x38f1d9[_0x25781d(0x71)]>0x0};}
@@ -1 +1 @@
1
- (function(_0x1a837a,_0x530033){const _0x48c01e=a196_0x3ec0,_0x34c48c=_0x1a837a();while(!![]){try{const _0x58dda1=-parseInt(_0x48c01e(0x1f0))/0x1*(parseInt(_0x48c01e(0x1f8))/0x2)+parseInt(_0x48c01e(0x1f4))/0x3*(parseInt(_0x48c01e(0x1f2))/0x4)+-parseInt(_0x48c01e(0x1f1))/0x5+parseInt(_0x48c01e(0x1f5))/0x6*(-parseInt(_0x48c01e(0x1ef))/0x7)+-parseInt(_0x48c01e(0x1f6))/0x8+-parseInt(_0x48c01e(0x1f3))/0x9*(-parseInt(_0x48c01e(0x1f9))/0xa)+parseInt(_0x48c01e(0x1f7))/0xb;if(_0x58dda1===_0x530033)break;else _0x34c48c['push'](_0x34c48c['shift']());}catch(_0x2b31bb){_0x34c48c['push'](_0x34c48c['shift']());}}}(a196_0x45ae,0x37546));import{taskStatus}from'../../commands/task/status.js';function a196_0x45ae(){const _0x3da969=['520352UZPend','1854281GjQpdz','8FKPiHx','30930nGROIM','252mLZjqi','22406TzIehg','1093020GTRFnJ','4noUSge','999KbOzef','274824efljKY','600pTiHRE'];a196_0x45ae=function(){return _0x3da969;};return a196_0x45ae();}function a196_0x3ec0(_0x5f03f4,_0x3a2d28){_0x5f03f4=_0x5f03f4-0x1ef;const _0x45ae2e=a196_0x45ae();let _0x3ec0ef=_0x45ae2e[_0x5f03f4];return _0x3ec0ef;}export const taskDefinitions=[taskStatus];
1
+ (function(_0x29549f,_0x30170d){const _0x95153b=a201_0x5c2f,_0xea169b=_0x29549f();while(!![]){try{const _0x458f3a=parseInt(_0x95153b(0x1c8))/0x1*(parseInt(_0x95153b(0x1c6))/0x2)+parseInt(_0x95153b(0x1c5))/0x3+parseInt(_0x95153b(0x1c9))/0x4+parseInt(_0x95153b(0x1ca))/0x5*(parseInt(_0x95153b(0x1cb))/0x6)+parseInt(_0x95153b(0x1cc))/0x7*(-parseInt(_0x95153b(0x1cd))/0x8)+-parseInt(_0x95153b(0x1c3))/0x9*(parseInt(_0x95153b(0x1c7))/0xa)+-parseInt(_0x95153b(0x1c4))/0xb*(parseInt(_0x95153b(0x1ce))/0xc);if(_0x458f3a===_0x30170d)break;else _0xea169b['push'](_0xea169b['shift']());}catch(_0x24d013){_0xea169b['push'](_0xea169b['shift']());}}}(a201_0x34b2,0xea793));function a201_0x5c2f(_0x77fac2,_0x22f84e){_0x77fac2=_0x77fac2-0x1c3;const _0x34b2c7=a201_0x34b2();let _0x5c2f30=_0x34b2c7[_0x77fac2];return _0x5c2f30;}import{taskStatus}from'../../commands/task/status.js';function a201_0x34b2(){const _0x2abe60=['63540rdBNVj','9TLgGzV','1265WpftsA','147669kjHuRM','6428TdNypq','1688710sbAxOf','284hcxCgv','5493192oSojsK','145bVJNoj','147642FwNuDi','8141bxYspf','9016YSKeZp'];a201_0x34b2=function(){return _0x2abe60;};return a201_0x34b2();}export const taskDefinitions=[taskStatus];
@@ -1 +1 @@
1
- const a197_0x4a7bec=a197_0x44ad;function a197_0x2fd9(){const _0x1d10e0=['flagMissing','trim','4819638bohoql','task-id','taskId','248552DiItZb','7872116gDTQUS','appCode','9gXrbYq','4179906gcVbSq',',\x20received\x20','25wYYaOA','status','180KXFMrS','str','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','cookie','714109MoiUEB','read','4778RGrvhF','390568OLOOKY','string','494DFTqlJ'];a197_0x2fd9=function(){return _0x1d10e0;};return a197_0x2fd9();}function a197_0x44ad(_0x290bd3,_0x36eb14){_0x290bd3=_0x290bd3-0x97;const _0x2fd90f=a197_0x2fd9();let _0x44ad9b=_0x2fd90f[_0x290bd3];return _0x44ad9b;}(function(_0x58a8c0,_0x20d255){const _0x52e387=a197_0x44ad,_0x3272e3=_0x58a8c0();while(!![]){try{const _0x149bad=parseInt(_0x52e387(0xa7))/0x1*(-parseInt(_0x52e387(0xaa))/0x2)+parseInt(_0x52e387(0x9c))/0x3+parseInt(_0x52e387(0x98))/0x4*(-parseInt(_0x52e387(0x9e))/0x5)+parseInt(_0x52e387(0xad))/0x6+-parseInt(_0x52e387(0x99))/0x7+parseInt(_0x52e387(0xa8))/0x8*(-parseInt(_0x52e387(0x9b))/0x9)+parseInt(_0x52e387(0xa0))/0xa*(parseInt(_0x52e387(0xa5))/0xb);if(_0x149bad===_0x20d255)break;else _0x3272e3['push'](_0x3272e3['shift']());}catch(_0x5f02a4){_0x3272e3['push'](_0x3272e3['shift']());}}}(a197_0x2fd9,0xab1b4));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':a197_0x4a7bec(0x9f),'description':'Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','risk':a197_0x4a7bec(0xa6),'defaultOutputFormat':'compress','structuredErrors':!![],'flags':[{'name':a197_0x4a7bec(0xae),'type':a197_0x4a7bec(0xa9),'required':!![],'description':a197_0x4a7bec(0xa3)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x20177b){const _0x3fb04c=a197_0x4a7bec;if(!_0x20177b[_0x3fb04c(0xa1)](_0x3fb04c(0xae))[_0x3fb04c(0xac)]())throw CliErrors[_0x3fb04c(0xab)](_0x3fb04c(0xae));},async 'execute'(_0x5bac12){const _0x5c26d6=a197_0x4a7bec,_0x2dca85=_0x5bac12[_0x5c26d6(0xa1)](_0x5c26d6(0xae))['trim'](),_0x2517d9=normalizeAsyncTask(await getAsyncTaskStatus(_0x2dca85,_0x5bac12[_0x5c26d6(0x9a)],_0x5bac12[_0x5c26d6(0xa4)]));if(_0x2517d9[_0x5c26d6(0x97)]!==_0x2dca85)throw CliErrors['apiError'](_0x5c26d6(0xa2)+_0x2dca85+_0x5c26d6(0x9d)+_0x2517d9[_0x5c26d6(0x97)]+'.');const _0x1391c6=buildAsyncTaskStatusCommand(_0x2517d9[_0x5c26d6(0x97)],_0x5bac12[_0x5c26d6(0x9a)]);return{'ok':!![],'message':asyncTaskMessage(_0x2517d9),'data':{'appCode':_0x5bac12[_0x5c26d6(0x9a)],..._0x2517d9,'query':_0x2517d9['isTerminal']?null:{'command':_0x1391c6}}};}};
1
+ const a202_0xce6005=a202_0x58f3;(function(_0xd772b3,_0x481c61){const _0x26b448=a202_0x58f3,_0x165555=_0xd772b3();while(!![]){try{const _0x48c5e6=-parseInt(_0x26b448(0xa3))/0x1+-parseInt(_0x26b448(0x94))/0x2+parseInt(_0x26b448(0x8b))/0x3+parseInt(_0x26b448(0x9d))/0x4+-parseInt(_0x26b448(0x90))/0x5*(-parseInt(_0x26b448(0x9b))/0x6)+-parseInt(_0x26b448(0x9c))/0x7*(-parseInt(_0x26b448(0x99))/0x8)+parseInt(_0x26b448(0xa2))/0x9*(-parseInt(_0x26b448(0x9e))/0xa);if(_0x48c5e6===_0x481c61)break;else _0x165555['push'](_0x165555['shift']());}catch(_0x53fa78){_0x165555['push'](_0x165555['shift']());}}}(a202_0x14b2,0x886ea));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a202_0x58f3(_0x5e0fc2,_0x3f7679){_0x5e0fc2=_0x5e0fc2-0x8a;const _0x14b2bd=a202_0x14b2();let _0x58f3f1=_0x14b2bd[_0x5e0fc2];return _0x58f3f1;}function a202_0x14b2(){const _0x56a563=['compress','204Mhtfvp','3096989DRTwGE','580416NyYXCt','10qJBGBz','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','taskId','appCode','6093963OEYfYT','965988LOyJCD','trim','2425608fNZycj','string',',\x20received\x20','status','str','62360NJqQTT','read','apiError','flagMissing','121242ghuamW','Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','task-id','task','cookie','16IkLJce'];a202_0x14b2=function(){return _0x56a563;};return a202_0x14b2();}import{getAsyncTaskStatus}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const taskStatus={'service':a202_0xce6005(0x97),'command':a202_0xce6005(0x8e),'description':a202_0xce6005(0x95),'risk':a202_0xce6005(0x91),'defaultOutputFormat':a202_0xce6005(0x9a),'structuredErrors':!![],'flags':[{'name':a202_0xce6005(0x96),'type':a202_0xce6005(0x8c),'required':!![],'description':a202_0xce6005(0x9f)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x17bbaf){const _0x329a34=a202_0xce6005;if(!_0x17bbaf[_0x329a34(0x8f)](_0x329a34(0x96))[_0x329a34(0x8a)]())throw CliErrors[_0x329a34(0x93)](_0x329a34(0x96));},async 'execute'(_0x3b03a2){const _0x100a01=a202_0xce6005,_0x4f139a=_0x3b03a2[_0x100a01(0x8f)](_0x100a01(0x96))[_0x100a01(0x8a)](),_0x3737ec=normalizeAsyncTask(await getAsyncTaskStatus(_0x4f139a,_0x3b03a2[_0x100a01(0xa1)],_0x3b03a2[_0x100a01(0x98)]));if(_0x3737ec[_0x100a01(0xa0)]!==_0x4f139a)throw CliErrors[_0x100a01(0x92)]('Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20'+_0x4f139a+_0x100a01(0x8d)+_0x3737ec[_0x100a01(0xa0)]+'.');const _0x5c5929=buildAsyncTaskStatusCommand(_0x3737ec[_0x100a01(0xa0)],_0x3b03a2['appCode']);return{'ok':!![],'message':asyncTaskMessage(_0x3737ec),'data':{'appCode':_0x3b03a2[_0x100a01(0xa1)],..._0x3737ec,'query':_0x3737ec['isTerminal']?null:{'command':_0x5c5929}}};}};
@@ -1 +1 @@
1
- function a198_0x2537(){const _0x4766c0=['4178512JQSFGH','8jXoAvg','601481TWDekV','8596800QrWbdk','7fWllnG','11043576lTTtnf','2497656GwqzSF','4685544pdWXeD','81894nVVvHB'];a198_0x2537=function(){return _0x4766c0;};return a198_0x2537();}function a198_0x25f2(_0x1ccde6,_0x2e5170){_0x1ccde6=_0x1ccde6-0x1a0;const _0x2537c7=a198_0x2537();let _0x25f266=_0x2537c7[_0x1ccde6];return _0x25f266;}(function(_0x59808e,_0x47e43f){const _0x598ddb=a198_0x25f2,_0x4bc8f3=_0x59808e();while(!![]){try{const _0x1c3344=parseInt(_0x598ddb(0x1a0))/0x1+-parseInt(_0x598ddb(0x1a4))/0x2+parseInt(_0x598ddb(0x1a6))/0x3*(-parseInt(_0x598ddb(0x1a8))/0x4)+parseInt(_0x598ddb(0x1a1))/0x5+-parseInt(_0x598ddb(0x1a5))/0x6*(parseInt(_0x598ddb(0x1a2))/0x7)+-parseInt(_0x598ddb(0x1a7))/0x8+parseInt(_0x598ddb(0x1a3))/0x9;if(_0x1c3344===_0x47e43f)break;else _0x4bc8f3['push'](_0x4bc8f3['shift']());}catch(_0x514012){_0x4bc8f3['push'](_0x4bc8f3['shift']());}}}(a198_0x2537,0xe5cbb));import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';export const tenantDefinitions=[tenantMembersListDefinition];
1
+ (function(_0x27b187,_0x2db1ad){const _0x2160fa=a203_0x2b09,_0x531892=_0x27b187();while(!![]){try{const _0x4ec71d=-parseInt(_0x2160fa(0x19d))/0x1+parseInt(_0x2160fa(0x19e))/0x2*(-parseInt(_0x2160fa(0x199))/0x3)+-parseInt(_0x2160fa(0x198))/0x4*(-parseInt(_0x2160fa(0x19a))/0x5)+parseInt(_0x2160fa(0x195))/0x6*(-parseInt(_0x2160fa(0x19c))/0x7)+parseInt(_0x2160fa(0x19b))/0x8*(-parseInt(_0x2160fa(0x19f))/0x9)+parseInt(_0x2160fa(0x196))/0xa+parseInt(_0x2160fa(0x197))/0xb*(parseInt(_0x2160fa(0x194))/0xc);if(_0x4ec71d===_0x2db1ad)break;else _0x531892['push'](_0x531892['shift']());}catch(_0x34f5b1){_0x531892['push'](_0x531892['shift']());}}}(a203_0x5887,0xd3ca0));function a203_0x2b09(_0x183e6b,_0x3debdc){_0x183e6b=_0x183e6b-0x194;const _0x5887b8=a203_0x5887();let _0x2b09c8=_0x5887b8[_0x183e6b];return _0x2b09c8;}function a203_0x5887(){const _0x3cf437=['276iMNZKE','60ukdyah','5526720fQBQij','1320275UlYUlJ','4GWgakC','30uRCnNT','5501890DznjHi','8QCHbyO','1152571cYXqAi','919430FbJLGh','63338MruGVO','5971383HLkJAH'];a203_0x5887=function(){return _0x3cf437;};return a203_0x5887();}import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';export const tenantDefinitions=[tenantMembersListDefinition];
@@ -1 +1 @@
1
- const a199_0xe27287=a199_0x1a2a;(function(_0x520d08,_0x59fc49){const _0x4928c0=a199_0x1a2a,_0x20f73d=_0x520d08();while(!![]){try{const _0x14b466=parseInt(_0x4928c0(0x136))/0x1*(-parseInt(_0x4928c0(0x135))/0x2)+parseInt(_0x4928c0(0x13d))/0x3+parseInt(_0x4928c0(0x130))/0x4+-parseInt(_0x4928c0(0x13a))/0x5*(-parseInt(_0x4928c0(0x13e))/0x6)+parseInt(_0x4928c0(0x143))/0x7*(-parseInt(_0x4928c0(0x138))/0x8)+parseInt(_0x4928c0(0x131))/0x9+-parseInt(_0x4928c0(0x13b))/0xa;if(_0x14b466===_0x59fc49)break;else _0x20f73d['push'](_0x20f73d['shift']());}catch(_0x534bd3){_0x20f73d['push'](_0x20f73d['shift']());}}}(a199_0x44ab,0x73e45));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';function a199_0x1a2a(_0x303138,_0x438773){_0x303138=_0x303138-0x12f;const _0x44ab88=a199_0x44ab();let _0x1a2a43=_0x44ab88[_0x303138];return _0x1a2a43;}import{CliErrors}from'../../errors.js';function a199_0x44ab(){const _0x4d94fc=['\x20tenant\x20member(s)','2275347SQFxoR','156OjCrwZ','tenant','Found\x20','length','read','7MfMsVr','str','members-list','2607980ssKTQw','6208110jLHrSl','tenant-code','Pass\x20--tenant-code\x20<code>.','trim','2zdOEVE','484221faNHUw','Exact\x20tenant\x20code','4300096sPWJll','List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','47925KTzyXq','8530180NhEMAk'];a199_0x44ab=function(){return _0x4d94fc;};return a199_0x44ab();}import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';export const tenantMembersListDefinition={'service':a199_0xe27287(0x13f),'command':a199_0xe27287(0x12f),'description':a199_0xe27287(0x139),'risk':a199_0xe27287(0x142),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a199_0xe27287(0x132),'type':'string','required':!![],'description':a199_0xe27287(0x137)}],async 'validate'(_0x2c4734){const _0x5bc38d=a199_0xe27287;if(!_0x2c4734[_0x5bc38d(0x144)](_0x5bc38d(0x132))[_0x5bc38d(0x134)]())throw CliErrors['flagMissing'](_0x5bc38d(0x132),_0x5bc38d(0x133));},async 'execute'(_0x268d25){const _0xbafd8b=a199_0xe27287,_0x1f49b9=_0x268d25[_0xbafd8b(0x144)](_0xbafd8b(0x132))[_0xbafd8b(0x134)](),_0x3a9656=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x1f49b9,_0x3a9656);const _0x78994=projectTenantMembers(await listTenantDirectoryMembers(_0x1f49b9));return{'ok':!![],'data':{'tenantCode':_0x1f49b9,'items':_0x78994,'totalCount':_0x78994[_0xbafd8b(0x141)]},'message':_0xbafd8b(0x140)+_0x78994[_0xbafd8b(0x141)]+_0xbafd8b(0x13c)};}};
1
+ function a204_0x3fda(){const _0x2ed42d=['str','775953YQavXE','Pass\x20--tenant-code\x20<code>.','\x20tenant\x20member(s)','Found\x20','length','read','164YZJiSv','members-list','tenant-code','118982EKJLWt','9oLyVSd','27813cGeBob','tenant','3648666fahkyt','trim','110moQJQF','1008160xdNmJT','232635lPfjOS','576135sIwCxS'];a204_0x3fda=function(){return _0x2ed42d;};return a204_0x3fda();}function a204_0x545a(_0x5767da,_0x2ffc48){_0x5767da=_0x5767da-0xa5;const _0x3fda15=a204_0x3fda();let _0x545a15=_0x3fda15[_0x5767da];return _0x545a15;}const a204_0x48bfd3=a204_0x545a;(function(_0x5aebca,_0x508eda){const _0x245ed8=a204_0x545a,_0x126aa7=_0x5aebca();while(!![]){try{const _0x59e7a3=parseInt(_0x245ed8(0xa8))/0x1*(-parseInt(_0x245ed8(0xa7))/0x2)+parseInt(_0x245ed8(0xa9))/0x3*(-parseInt(_0x245ed8(0xb8))/0x4)+-parseInt(_0x245ed8(0xaf))/0x5+parseInt(_0x245ed8(0xab))/0x6+-parseInt(_0x245ed8(0xb0))/0x7+-parseInt(_0x245ed8(0xae))/0x8+parseInt(_0x245ed8(0xb2))/0x9*(parseInt(_0x245ed8(0xad))/0xa);if(_0x59e7a3===_0x508eda)break;else _0x126aa7['push'](_0x126aa7['shift']());}catch(_0x45b3f0){_0x126aa7['push'](_0x126aa7['shift']());}}}(a204_0x3fda,0x5e444));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';export const tenantMembersListDefinition={'service':a204_0x48bfd3(0xaa),'command':a204_0x48bfd3(0xa5),'description':'List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','risk':a204_0x48bfd3(0xb7),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a204_0x48bfd3(0xa6),'type':'string','required':!![],'description':'Exact\x20tenant\x20code'}],async 'validate'(_0x4d1d57){const _0x47e49f=a204_0x48bfd3;if(!_0x4d1d57[_0x47e49f(0xb1)](_0x47e49f(0xa6))[_0x47e49f(0xac)]())throw CliErrors['flagMissing']('tenant-code',_0x47e49f(0xb3));},async 'execute'(_0x363965){const _0x427953=a204_0x48bfd3,_0x166994=_0x363965['str']('tenant-code')['trim'](),_0x2fb344=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x166994,_0x2fb344);const _0xc0224b=projectTenantMembers(await listTenantDirectoryMembers(_0x166994));return{'ok':!![],'data':{'tenantCode':_0x166994,'items':_0xc0224b,'totalCount':_0xc0224b[_0x427953(0xb6)]},'message':_0x427953(0xb5)+_0xc0224b[_0x427953(0xb6)]+_0x427953(0xb4)};}};