@lovrabet/rabetbase-cli 2.3.1-beta.2 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) 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/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.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/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.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-selector.js +1 -1
  47. package/lib/commands/common/flags.js +1 -1
  48. package/lib/commands/common/validate.js +1 -1
  49. package/lib/commands/config/get.js +1 -1
  50. package/lib/commands/config/index.js +1 -1
  51. package/lib/commands/config/list.js +1 -1
  52. package/lib/commands/config/set.js +1 -1
  53. package/lib/commands/config/shared.js +1 -1
  54. package/lib/commands/data/filter.js +1 -1
  55. package/lib/commands/data/getOne.js +1 -1
  56. package/lib/commands/data/index.js +1 -1
  57. package/lib/commands/data/shared.js +1 -1
  58. package/lib/commands/dataset/business-group-update.js +1 -1
  59. package/lib/commands/dataset/capability.js +1 -1
  60. package/lib/commands/dataset/delete.js +1 -1
  61. package/lib/commands/dataset/detail.js +1 -1
  62. package/lib/commands/dataset/extend-update.js +1 -1
  63. package/lib/commands/dataset/field-update.js +1 -1
  64. package/lib/commands/dataset/index.js +1 -1
  65. package/lib/commands/dataset/list.js +1 -1
  66. package/lib/commands/dataset/operations.js +1 -1
  67. package/lib/commands/dataset/relation-create.js +1 -1
  68. package/lib/commands/dataset/relation-delete.js +1 -1
  69. package/lib/commands/dataset/relation-shared.js +1 -1
  70. package/lib/commands/dataset/relation-update.js +1 -1
  71. package/lib/commands/dataset/relations.js +1 -1
  72. package/lib/commands/dataset/rename.js +1 -1
  73. package/lib/commands/dataset/restore.js +1 -1
  74. package/lib/commands/db/analyze-cancel.js +1 -1
  75. package/lib/commands/db/analyze-start.js +1 -1
  76. package/lib/commands/db/analyze-status.js +1 -1
  77. package/lib/commands/db/create.js +1 -1
  78. package/lib/commands/db/delete.js +1 -1
  79. package/lib/commands/db/detail.js +1 -1
  80. package/lib/commands/db/diff.js +1 -1
  81. package/lib/commands/db/index.js +1 -1
  82. package/lib/commands/db/list.js +1 -1
  83. package/lib/commands/db/shared.js +1 -1
  84. package/lib/commands/db/tables.js +1 -1
  85. package/lib/commands/db/test.js +1 -1
  86. package/lib/commands/db/update.js +1 -1
  87. package/lib/commands/doctor.js +1 -1
  88. package/lib/commands/init/index.js +1 -1
  89. package/lib/commands/issue/index.js +1 -1
  90. package/lib/commands/issue/nudge.js +1 -1
  91. package/lib/commands/issue/report.js +1 -1
  92. package/lib/commands/issue/shared.js +1 -1
  93. package/lib/commands/logs/index.js +1 -1
  94. package/lib/commands/menu/index.js +1 -1
  95. package/lib/commands/menu/list.js +1 -1
  96. package/lib/commands/menu/shared/compare-table.js +1 -1
  97. package/lib/commands/menu/shared/index.js +1 -1
  98. package/lib/commands/menu/shared/inquirer.js +1 -1
  99. package/lib/commands/menu/shared/local-pages.js +1 -1
  100. package/lib/commands/menu/shared/logic.js +1 -1
  101. package/lib/commands/menu/shared/service.js +1 -1
  102. package/lib/commands/menu/shared/sync-core.js +1 -1
  103. package/lib/commands/menu/shared/update-core.js +1 -1
  104. package/lib/commands/menu/shared/valid-url.js +1 -1
  105. package/lib/commands/menu/sync.js +1 -1
  106. package/lib/commands/menu/update.js +1 -1
  107. package/lib/commands/page/generate-start.js +1 -1
  108. package/lib/commands/page/generate-status.js +1 -1
  109. package/lib/commands/page/index.js +1 -1
  110. package/lib/commands/page/pull.js +1 -1
  111. package/lib/commands/page/push.js +1 -1
  112. package/lib/commands/page/relation-audit.js +1 -1
  113. package/lib/commands/page/shared.js +1 -1
  114. package/lib/commands/page/standard-page-status.js +1 -1
  115. package/lib/commands/page/sync.js +1 -1
  116. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  117. package/lib/commands/project/create/format-elapsed.js +1 -1
  118. package/lib/commands/project/create/main.js +1 -1
  119. package/lib/commands/project/create/non-interactive.js +1 -1
  120. package/lib/commands/project/create/project-template-path.js +1 -1
  121. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  122. package/lib/commands/project/create/use-format-code.js +1 -1
  123. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  124. package/lib/commands/project/index.js +1 -1
  125. package/lib/commands/project/init.js +1 -1
  126. package/lib/commands/project/upgrade.js +1 -1
  127. package/lib/commands/registry.js +1 -1
  128. package/lib/commands/run/index.js +1 -1
  129. package/lib/commands/schema.js +1 -1
  130. package/lib/commands/sql/create.js +1 -1
  131. package/lib/commands/sql/delete.js +1 -1
  132. package/lib/commands/sql/detail.js +1 -1
  133. package/lib/commands/sql/exec.js +1 -1
  134. package/lib/commands/sql/index.js +1 -1
  135. package/lib/commands/sql/list.js +1 -1
  136. package/lib/commands/sql/pull.js +1 -1
  137. package/lib/commands/sql/push.js +1 -1
  138. package/lib/commands/sql/save.js +1 -1
  139. package/lib/commands/sql/shared.js +1 -1
  140. package/lib/commands/sql/status.js +1 -1
  141. package/lib/commands/sql/validate.js +1 -1
  142. package/lib/commands/workspace/index.js +1 -1
  143. package/lib/config/schema.js +1 -1
  144. package/lib/constant/cdn.js +1 -1
  145. package/lib/constant/cli.js +1 -1
  146. package/lib/constant/defaults.js +1 -1
  147. package/lib/constant/domain.js +1 -1
  148. package/lib/constant/env.js +1 -1
  149. package/lib/constant/output.js +1 -1
  150. package/lib/constant/paths.js +1 -1
  151. package/lib/constant/risk.js +1 -1
  152. package/lib/context/app-resolver.js +1 -1
  153. package/lib/context/auth-resolver.js +1 -1
  154. package/lib/context/config-loader.js +1 -1
  155. package/lib/context.js +1 -1
  156. package/lib/core/alias-resolver.js +1 -1
  157. package/lib/core/api-client.js +1 -1
  158. package/lib/core/bff/config.js +1 -1
  159. package/lib/core/bff/file-system.js +1 -1
  160. package/lib/core/bff/hash.js +1 -1
  161. package/lib/core/bff/lock.js +1 -1
  162. package/lib/core/bff/utils.js +1 -1
  163. package/lib/core/db-resolver.js +1 -1
  164. package/lib/core/page/file-system.js +1 -1
  165. package/lib/core/page/hash.js +1 -1
  166. package/lib/core/page/lock.js +1 -1
  167. package/lib/core/sql-sync/config.js +1 -1
  168. package/lib/core/sql-sync/file-system.js +1 -1
  169. package/lib/core/sql-sync/hash.js +1 -1
  170. package/lib/core/sql-sync/lock.js +1 -1
  171. package/lib/core/sql-sync/utils.js +1 -1
  172. package/lib/core/sql-validator.js +1 -1
  173. package/lib/errors.js +1 -1
  174. package/lib/framework/build-all-flags.js +1 -1
  175. package/lib/framework/flags.js +1 -1
  176. package/lib/framework/help.js +1 -1
  177. package/lib/framework/index.js +1 -1
  178. package/lib/framework/output.js +1 -1
  179. package/lib/framework/response.js +1 -1
  180. package/lib/framework/runner-alias.js +1 -1
  181. package/lib/framework/runner.js +1 -1
  182. package/lib/framework/schema-export.js +1 -1
  183. package/lib/framework/types.js +1 -1
  184. package/lib/generated/build-info.js +1 -1
  185. package/lib/help.js +1 -1
  186. package/lib/skills/main.js +1 -1
  187. package/lib/skills/npx-skills-add.js +1 -1
  188. package/lib/telemetry/cli-command-trace.js +1 -1
  189. package/lib/telemetry/cli-help-trace.js +1 -1
  190. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  191. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  192. package/lib/telemetry/send-cli-trace-log.js +1 -1
  193. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  194. package/lib/utils/ai_config.js +1 -1
  195. package/lib/utils/apply-jq-filter.js +1 -1
  196. package/lib/utils/cdn-config.js +1 -1
  197. package/lib/utils/check-sdk-version.js +1 -1
  198. package/lib/utils/cli-version-check.js +1 -1
  199. package/lib/utils/cli-version-policy.js +1 -1
  200. package/lib/utils/config.js +1 -1
  201. package/lib/utils/copy-directory.js +1 -1
  202. package/lib/utils/entity-with-id.js +1 -1
  203. package/lib/utils/file-utils.js +1 -1
  204. package/lib/utils/guides-cdn.js +1 -1
  205. package/lib/utils/http-client.js +1 -1
  206. package/lib/utils/is-non-interactive.js +1 -1
  207. package/lib/utils/logger.js +1 -1
  208. package/lib/utils/params.js +1 -1
  209. package/lib/utils/platform.js +1 -1
  210. package/lib/utils/rules-cdn.js +1 -1
  211. package/lib/utils/sleep.js +1 -1
  212. package/lib/utils/template-replacer.js +1 -1
  213. package/lib/utils/update-notice.js +1 -1
  214. package/lib/utils/version.js +1 -1
  215. package/lib/utils/with-active-cookie.js +1 -1
  216. package/lib/utils/write-cli-side-channel.js +1 -1
  217. package/package.json +1 -1
@@ -1 +1 @@
1
- const a128_0x233e1d=a128_0x4b31;(function(_0x5060e0,_0x184cdd){const _0x4018da=a128_0x4b31,_0x333df4=_0x5060e0();while(!![]){try{const _0x572a1d=parseInt(_0x4018da(0xec))/0x1+-parseInt(_0x4018da(0xf3))/0x2*(-parseInt(_0x4018da(0xf7))/0x3)+-parseInt(_0x4018da(0xfb))/0x4+parseInt(_0x4018da(0xf6))/0x5+parseInt(_0x4018da(0x10c))/0x6*(-parseInt(_0x4018da(0x101))/0x7)+-parseInt(_0x4018da(0xe5))/0x8+parseInt(_0x4018da(0x121))/0x9;if(_0x572a1d===_0x184cdd)break;else _0x333df4['push'](_0x333df4['shift']());}catch(_0x7df3e5){_0x333df4['push'](_0x333df4['shift']());}}}(a128_0x4aac,0x7747d));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';function a128_0x4b31(_0x36eff0,_0x40f964){_0x36eff0=_0x36eff0-0xe4;const _0x4aacb1=a128_0x4aac();let _0x4b3142=_0x4aacb1[_0x36eff0];return _0x4b3142;}import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a128_0x233e1d(0xf0),a128_0x233e1d(0x102)]);function a128_0x4aac(){const _0x2d5d2b=['read','scripts','\x20run\x20<script>\x0a','log','parse','pnpm','3346497BQouSC','preview','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','bool','\x20run\x20','6190864rYphMC','\x22\x20not\x20found\x20in\x20package.json.','bun.lockb','script','run','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','max','359966MzIPpQ','padEnd','inherit','push','start','close','\x20run\x20preview','525304yXWLlX','bun.lock','Available:\x20','2966900IKCcrc','9yfOUGT','npm','pnpm-lock.yaml','map','820920LGMivr','Enable\x20watch\x20mode\x20for\x20preview','.bin','yarn','length','error','14fKzWGL','dev','No\x20scripts\x20defined\x20in\x20package.json.','cwd','validation','all','\x0a\x20\x20Available\x20scripts:\x0a','boolean','join','node_modules','needsUpgrade','1936422rPCHNC','\x20run\x20build','\x20\x20\x20\x20','vite\x20preview\x20exited\x20with\x20code\x20','yarn.lock','No\x20package.json\x20found\x20in\x20current\x20directory.','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','build','args','keys','(none)','entries','\x0a\x20\x20Usage:\x20','watch','Script\x20name\x20defined\x20in\x20package.json'];a128_0x4aac=function(){return _0x2d5d2b;};return a128_0x4aac();}function readPackageScripts(_0x2301a1){const _0x3fd4aa=a128_0x233e1d,_0x441ce2=resolve(_0x2301a1,'package.json');if(!existsSync(_0x441ce2))return null;try{const _0x1927c2=JSON[_0x3fd4aa(0x11f)](readFileSync(_0x441ce2,'utf-8'));return _0x1927c2[_0x3fd4aa(0x11c)]??{};}catch{return null;}}function detectPackageManager(_0x22f216){const _0xf20946=a128_0x233e1d;if(existsSync(resolve(_0x22f216,_0xf20946(0xe7)))||existsSync(resolve(_0x22f216,_0xf20946(0xf4))))return'bun';if(existsSync(resolve(_0x22f216,_0xf20946(0xf9))))return _0xf20946(0x120);if(existsSync(resolve(_0x22f216,_0xf20946(0x110))))return _0xf20946(0xfe);return _0xf20946(0xf8);}async function versionCheck(_0x396135){const _0x1ad869=a128_0x233e1d,_0x588e8f=await checkCliVersion();(_0x588e8f['needsUpgrade']||_0x588e8f['belowMinimum'])&&(printCliUpgradeWarning(_0x588e8f),assertCliVersionSupported(_0x588e8f));const _0x1a8873=await checkSdkVersion(_0x396135);if(_0x1a8873[_0x1ad869(0x10b)])printSdkUpgradeWarning(_0x1a8873);}function spawnScript(_0x556652,_0x318e2c,_0x408a85,_0x48e086){return new Promise((_0x484ce0,_0x22e32a)=>{const _0x15a95e=a128_0x4b31,_0x3338c5=[_0x15a95e(0xe9),_0x318e2c,..._0x408a85],_0x2ad510=spawn(_0x556652,_0x3338c5,{'cwd':_0x48e086,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x48e086,_0x15a95e(0x10a),_0x15a95e(0xfd))+delimiter+process.env.PATH}});_0x2ad510['on'](_0x15a95e(0xf1),_0x41a42f=>{const _0x21b6af=_0x15a95e;if(_0x41a42f===0x0||_0x41a42f===null)_0x484ce0();else _0x22e32a(new Error(_0x556652+_0x21b6af(0xe4)+_0x318e2c+'\x20exited\x20with\x20code\x20'+_0x41a42f));}),_0x2ad510['on'](_0x15a95e(0x100),_0x22e32a);});}function spawnViteBuildWatch(_0x140188){return new Promise((_0x316218,_0xe58370)=>{const _0x22749c=a128_0x4b31,_0x5e67ff=spawn('vite',[_0x22749c(0x113),'--watch'],{'cwd':_0x140188,'stdio':_0x22749c(0xee),'shell':!![],'env':{...process.env,'PATH':''+join(_0x140188,_0x22749c(0x10a),_0x22749c(0xfd))+delimiter+process.env.PATH}});_0x5e67ff['on']('close',_0x2356a0=>{const _0xff9611=_0x22749c;if(_0x2356a0===0x0||_0x2356a0===null)_0x316218();else _0xe58370(new Error(_0xff9611(0x123)+_0x2356a0));}),_0x5e67ff['on'](_0x22749c(0x100),_0xe58370);});}function spawnVitePreview(_0x343062){return new Promise((_0x274ea9,_0x54943d)=>{const _0x3cdd64=a128_0x4b31,_0x1b436a=spawn('vite',[_0x3cdd64(0x122)],{'cwd':_0x343062,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x343062,_0x3cdd64(0x10a),_0x3cdd64(0xfd))+delimiter+process.env.PATH}});_0x1b436a['on']('close',_0x1e67a6=>{const _0x2eaccc=_0x3cdd64;if(_0x1e67a6===0x0||_0x1e67a6===null)_0x274ea9();else _0x54943d(new Error(_0x2eaccc(0x10f)+_0x1e67a6));}),_0x1b436a['on'](_0x3cdd64(0x100),_0x54943d);});}const runFlags=[{'name':a128_0x233e1d(0x119),'type':a128_0x233e1d(0x108),'description':a128_0x233e1d(0xfc),'default':![]}];export const runDefinition={'service':a128_0x233e1d(0xe9),'command':a128_0x233e1d(0xe9),'description':'Run\x20a\x20package.json\x20script','risk':a128_0x233e1d(0x11b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a128_0x233e1d(0xe8),'description':a128_0x233e1d(0x11a),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0xeff23e=a128_0x233e1d,_0xe711cc=readPackageScripts(process[_0xeff23e(0x104)]()),_0x203aa7=[];if(_0xe711cc&&Object['keys'](_0xe711cc)[_0xeff23e(0xff)]>0x0){const _0x1d30b0=Object['keys'](_0xe711cc),_0x687cb6=Math[_0xeff23e(0xeb)](..._0x1d30b0[_0xeff23e(0xfa)](_0x27f6fa=>_0x27f6fa['length']));_0x203aa7[_0xeff23e(0xef)](_0xeff23e(0xea));for(const [_0x107d3e,_0x2b19f2]of Object[_0xeff23e(0x117)](_0xe711cc)){_0x203aa7[_0xeff23e(0xef)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20'+_0x107d3e['padEnd'](_0x687cb6+0x2)+'#\x20'+_0x2b19f2);}}else _0x203aa7['push']('\x20\x20EXAMPLES'),_0x203aa7['push'](_0xeff23e(0x10e)+CLI_BIN_NAME+'\x20run\x20start'),_0x203aa7['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0xeff23e(0x10d)),_0x203aa7[_0xeff23e(0xef)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0xeff23e(0xf2)),_0x203aa7[_0xeff23e(0xef)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0xeff23e(0x112));return _0x203aa7[_0xeff23e(0x109)]('\x0a');},async 'execute'(_0x1f85ca){const _0x5ba309=a128_0x233e1d,_0x17c278=process['cwd'](),_0x30118a=_0x1f85ca[_0x5ba309(0x114)][0x0],_0x334483=_0x1f85ca['args']['slice'](0x1),_0x1ff233=readPackageScripts(_0x17c278);if(!_0x1ff233)throw CliErrors[_0x5ba309(0x105)](_0x5ba309(0x111));if(!_0x30118a){const _0x186286=Object['keys'](_0x1ff233);if(_0x186286['length']===0x0)console[_0x5ba309(0x11e)](_0x5ba309(0x103));else{console[_0x5ba309(0x11e)](_0x5ba309(0x107));const _0x4cfa4d=Math[_0x5ba309(0xeb)](..._0x186286[_0x5ba309(0xfa)](_0x5181b2=>_0x5181b2[_0x5ba309(0xff)]));for(const [_0x3f5aec,_0xded09]of Object[_0x5ba309(0x117)](_0x1ff233)){console[_0x5ba309(0x11e)](_0x5ba309(0x10e)+_0x3f5aec[_0x5ba309(0xed)](_0x4cfa4d+0x2)+_0xded09);}console[_0x5ba309(0x11e)](_0x5ba309(0x118)+CLI_BIN_NAME+_0x5ba309(0x11d));}return{'ok':!![]};}if(!_0x1ff233[_0x30118a])throw CliErrors[_0x5ba309(0x105)]('Script\x20\x22'+_0x30118a+_0x5ba309(0xe6),_0x5ba309(0xf5)+(Object[_0x5ba309(0x115)](_0x1ff233)[_0x5ba309(0x109)](',\x20')||_0x5ba309(0x116)));const _0x2291ce=detectPackageManager(_0x17c278);VERSION_CHECK_SCRIPTS['has'](_0x30118a)&&await versionCheck(_0x17c278);if(_0x30118a==='preview'&&_0x1f85ca[_0x5ba309(0x124)](_0x5ba309(0x119)))return await Promise[_0x5ba309(0x106)]([spawnViteBuildWatch(_0x17c278),spawnVitePreview(_0x17c278)]),{'ok':!![]};return await spawnScript(_0x2291ce,_0x30118a,_0x334483,_0x17c278),{'ok':!![]};}};
1
+ const a128_0x4a932e=a128_0x2916;(function(_0x3b13cb,_0x23cce7){const _0x198abe=a128_0x2916,_0x2819a4=_0x3b13cb();while(!![]){try{const _0x14eabf=parseInt(_0x198abe(0x1ca))/0x1*(-parseInt(_0x198abe(0x1c3))/0x2)+-parseInt(_0x198abe(0x1e0))/0x3+parseInt(_0x198abe(0x1cb))/0x4*(-parseInt(_0x198abe(0x200))/0x5)+parseInt(_0x198abe(0x1f8))/0x6*(-parseInt(_0x198abe(0x1eb))/0x7)+parseInt(_0x198abe(0x1f4))/0x8+parseInt(_0x198abe(0x1d4))/0x9+parseInt(_0x198abe(0x1d8))/0xa;if(_0x14eabf===_0x23cce7)break;else _0x2819a4['push'](_0x2819a4['shift']());}catch(_0x51a339){_0x2819a4['push'](_0x2819a4['shift']());}}}(a128_0x2cac,0x63924));import{readFileSync,existsSync}from'node:fs';function a128_0x2916(_0x31d3e4,_0x5f6a5c){_0x31d3e4=_0x31d3e4-0x1c1;const _0x2cacfe=a128_0x2cac();let _0x291622=_0x2cacfe[_0x31d3e4];return _0x291622;}function a128_0x2cac(){const _0x49537a=['Enable\x20watch\x20mode\x20for\x20preview','\x20exited\x20with\x20code\x20','inherit','153658Bpjrbu','368AoaYMs','bun','\x20run\x20preview','bool','bun.lock','preview','\x20run\x20start','.bin','error','4308552JmIlzP','needsUpgrade','run','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','3354250CloZYz','keys','join','build','\x22\x20not\x20found\x20in\x20package.json.','length','npm','dev','832284GkshfZ','parse','Script\x20\x22','\x20run\x20','\x0a\x20\x20Usage:\x20','close','map','No\x20scripts\x20defined\x20in\x20package.json.','\x0a\x20\x20Available\x20scripts:\x0a','cwd','boolean','16023FpVYgr','\x20\x20\x20\x20','slice','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','--watch','has','script','node_modules','package.json','5912768lEFWhw','all','vite','vite\x20preview\x20exited\x20with\x20code\x20','786NktPRF','watch','args','push','log','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','\x20run\x20<script>\x0a','Script\x20name\x20defined\x20in\x20package.json','22525SxICbT','max','yarn','\x20run\x20build','\x20\x20EXAMPLES','padEnd','read','2xzjDyl','validation','Run\x20a\x20package.json\x20script','(none)'];a128_0x2cac=function(){return _0x49537a;};return a128_0x2cac();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a128_0x4a932e(0x1df)]);function readPackageScripts(_0xfbc6d1){const _0xc6866c=a128_0x4a932e,_0x18d978=resolve(_0xfbc6d1,_0xc6866c(0x1f3));if(!existsSync(_0x18d978))return null;try{const _0xa0d2a8=JSON[_0xc6866c(0x1e1)](readFileSync(_0x18d978,'utf-8'));return _0xa0d2a8['scripts']??{};}catch{return null;}}function detectPackageManager(_0x18e5fa){const _0x599283=a128_0x4a932e;if(existsSync(resolve(_0x18e5fa,'bun.lockb'))||existsSync(resolve(_0x18e5fa,_0x599283(0x1cf))))return _0x599283(0x1cc);if(existsSync(resolve(_0x18e5fa,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x18e5fa,'yarn.lock')))return _0x599283(0x202);return _0x599283(0x1de);}async function versionCheck(_0x53e36a){const _0x3ec8d5=a128_0x4a932e,_0x36fc8f=await checkCliVersion();(_0x36fc8f[_0x3ec8d5(0x1d5)]||_0x36fc8f['belowMinimum'])&&(printCliUpgradeWarning(_0x36fc8f),assertCliVersionSupported(_0x36fc8f));const _0x41e5f8=await checkSdkVersion(_0x53e36a);if(_0x41e5f8[_0x3ec8d5(0x1d5)])printSdkUpgradeWarning(_0x41e5f8);}function spawnScript(_0x2d8425,_0x1ae04d,_0xae3175,_0x540cff){return new Promise((_0xb5f2a1,_0x42cbc3)=>{const _0x273244=a128_0x2916,_0x5e18c9=['run',_0x1ae04d,..._0xae3175],_0x4459da=spawn(_0x2d8425,_0x5e18c9,{'cwd':_0x540cff,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x540cff,'node_modules',_0x273244(0x1d2))+delimiter+process.env.PATH}});_0x4459da['on'](_0x273244(0x1e5),_0x5b6a2f=>{const _0x2c2044=_0x273244;if(_0x5b6a2f===0x0||_0x5b6a2f===null)_0xb5f2a1();else _0x42cbc3(new Error(_0x2d8425+_0x2c2044(0x1e3)+_0x1ae04d+_0x2c2044(0x1c8)+_0x5b6a2f));}),_0x4459da['on']('error',_0x42cbc3);});}function spawnViteBuildWatch(_0x1c1b4c){return new Promise((_0xd2b06b,_0x13d077)=>{const _0x16f5e5=a128_0x2916,_0x106402=spawn(_0x16f5e5(0x1f6),[_0x16f5e5(0x1db),_0x16f5e5(0x1ef)],{'cwd':_0x1c1b4c,'stdio':_0x16f5e5(0x1c9),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1c1b4c,_0x16f5e5(0x1f2),'.bin')+delimiter+process.env.PATH}});_0x106402['on'](_0x16f5e5(0x1e5),_0x51f82a=>{const _0x1ae904=_0x16f5e5;if(_0x51f82a===0x0||_0x51f82a===null)_0xd2b06b();else _0x13d077(new Error(_0x1ae904(0x1ee)+_0x51f82a));}),_0x106402['on']('error',_0x13d077);});}function spawnVitePreview(_0x2914bc){return new Promise((_0x5ede8c,_0x2cf645)=>{const _0x567ad8=a128_0x2916,_0x3d9a12=spawn('vite',[_0x567ad8(0x1d0)],{'cwd':_0x2914bc,'stdio':_0x567ad8(0x1c9),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2914bc,_0x567ad8(0x1f2),_0x567ad8(0x1d2))+delimiter+process.env.PATH}});_0x3d9a12['on'](_0x567ad8(0x1e5),_0x59c24f=>{const _0x56ea8c=_0x567ad8;if(_0x59c24f===0x0||_0x59c24f===null)_0x5ede8c();else _0x2cf645(new Error(_0x56ea8c(0x1f7)+_0x59c24f));}),_0x3d9a12['on'](_0x567ad8(0x1d3),_0x2cf645);});}const runFlags=[{'name':a128_0x4a932e(0x1f9),'type':a128_0x4a932e(0x1ea),'description':a128_0x4a932e(0x1c7),'default':![]}];export const runDefinition={'service':a128_0x4a932e(0x1d6),'command':a128_0x4a932e(0x1d6),'description':a128_0x4a932e(0x1c5),'risk':a128_0x4a932e(0x1c2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a128_0x4a932e(0x1f1),'description':a128_0x4a932e(0x1ff),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x39bc19=a128_0x4a932e,_0x4ba290=readPackageScripts(process[_0x39bc19(0x1e9)]()),_0x4941ed=[];if(_0x4ba290&&Object[_0x39bc19(0x1d9)](_0x4ba290)[_0x39bc19(0x1dd)]>0x0){const _0x258787=Object[_0x39bc19(0x1d9)](_0x4ba290),_0xa007f1=Math[_0x39bc19(0x201)](..._0x258787[_0x39bc19(0x1e6)](_0x28d4b0=>_0x28d4b0[_0x39bc19(0x1dd)]));_0x4941ed['push'](_0x39bc19(0x1d7));for(const [_0x3b91d1,_0x1d6dae]of Object['entries'](_0x4ba290)){_0x4941ed['push'](_0x39bc19(0x1ec)+CLI_BIN_NAME+_0x39bc19(0x1e3)+_0x3b91d1['padEnd'](_0xa007f1+0x2)+'#\x20'+_0x1d6dae);}}else _0x4941ed[_0x39bc19(0x1fb)](_0x39bc19(0x204)),_0x4941ed[_0x39bc19(0x1fb)](_0x39bc19(0x1ec)+CLI_BIN_NAME+_0x39bc19(0x1d1)),_0x4941ed['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x39bc19(0x203)),_0x4941ed[_0x39bc19(0x1fb)](_0x39bc19(0x1ec)+CLI_BIN_NAME+_0x39bc19(0x1cd)),_0x4941ed[_0x39bc19(0x1fb)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x39bc19(0x1fd));return _0x4941ed[_0x39bc19(0x1da)]('\x0a');},async 'execute'(_0x5e62e2){const _0x22e572=a128_0x4a932e,_0x419206=process[_0x22e572(0x1e9)](),_0x56af64=_0x5e62e2[_0x22e572(0x1fa)][0x0],_0x408cc6=_0x5e62e2['args'][_0x22e572(0x1ed)](0x1),_0x19f217=readPackageScripts(_0x419206);if(!_0x19f217)throw CliErrors['validation']('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x56af64){const _0x1b3a77=Object[_0x22e572(0x1d9)](_0x19f217);if(_0x1b3a77[_0x22e572(0x1dd)]===0x0)console[_0x22e572(0x1fc)](_0x22e572(0x1e7));else{console['log'](_0x22e572(0x1e8));const _0xfb38ce=Math['max'](..._0x1b3a77[_0x22e572(0x1e6)](_0x29ab39=>_0x29ab39['length']));for(const [_0x74c18e,_0x480ff7]of Object['entries'](_0x19f217)){console[_0x22e572(0x1fc)](_0x22e572(0x1ec)+_0x74c18e[_0x22e572(0x1c1)](_0xfb38ce+0x2)+_0x480ff7);}console['log'](_0x22e572(0x1e4)+CLI_BIN_NAME+_0x22e572(0x1fe));}return{'ok':!![]};}if(!_0x19f217[_0x56af64])throw CliErrors[_0x22e572(0x1c4)](_0x22e572(0x1e2)+_0x56af64+_0x22e572(0x1dc),'Available:\x20'+(Object[_0x22e572(0x1d9)](_0x19f217)[_0x22e572(0x1da)](',\x20')||_0x22e572(0x1c6)));const _0x253189=detectPackageManager(_0x419206);VERSION_CHECK_SCRIPTS[_0x22e572(0x1f0)](_0x56af64)&&await versionCheck(_0x419206);if(_0x56af64==='preview'&&_0x5e62e2[_0x22e572(0x1ce)](_0x22e572(0x1f9)))return await Promise[_0x22e572(0x1f5)]([spawnViteBuildWatch(_0x419206),spawnVitePreview(_0x419206)]),{'ok':!![]};return await spawnScript(_0x253189,_0x56af64,_0x408cc6,_0x419206),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a129_0x47e0(){const _0x586653=['schema','20VHqvmT','2tefjCB','381933kobnNc','5GCXOZy','161245iXGdPX','1980996uFWTIa','2755344WyuGlo','json','7LEYFqe','1072808ImaiHX','1749093UgNxZW','export','96PGsqph','read','1210868rNPrFb'];a129_0x47e0=function(){return _0x586653;};return a129_0x47e0();}const a129_0x2c5ccb=a129_0x8380;function a129_0x8380(_0x4f83c2,_0x12396d){_0x4f83c2=_0x4f83c2-0x116;const _0x47e0e5=a129_0x47e0();let _0x83802c=_0x47e0e5[_0x4f83c2];return _0x83802c;}(function(_0x310cc0,_0x29e00c){const _0x2c28ff=a129_0x8380,_0x16967d=_0x310cc0();while(!![]){try{const _0x4cd966=parseInt(_0x2c28ff(0x11e))/0x1+parseInt(_0x2c28ff(0x11b))/0x2*(-parseInt(_0x2c28ff(0x124))/0x3)+parseInt(_0x2c28ff(0x118))/0x4*(parseInt(_0x2c28ff(0x11d))/0x5)+parseInt(_0x2c28ff(0x11f))/0x6*(parseInt(_0x2c28ff(0x122))/0x7)+-parseInt(_0x2c28ff(0x116))/0x8*(-parseInt(_0x2c28ff(0x11c))/0x9)+-parseInt(_0x2c28ff(0x11a))/0xa*(parseInt(_0x2c28ff(0x123))/0xb)+-parseInt(_0x2c28ff(0x120))/0xc;if(_0x4cd966===_0x29e00c)break;else _0x16967d['push'](_0x16967d['shift']());}catch(_0x48bf53){_0x16967d['push'](_0x16967d['shift']());}}}(a129_0x47e0,0x482f9));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5c4073){const _0xa81244=await buildSchemaPayload();return{'ok':!![],'data':_0xa81244};}export const schemaDefinition={'service':a129_0x2c5ccb(0x119),'command':a129_0x2c5ccb(0x125),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a129_0x2c5ccb(0x117),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a129_0x2c5ccb(0x121),'flags':[],'execute':execute};
1
+ function a129_0xc083(_0x3d948e,_0x341ad9){_0x3d948e=_0x3d948e-0xb9;const _0x5e5951=a129_0x5e59();let _0xc08338=_0x5e5951[_0x3d948e];return _0xc08338;}function a129_0x5e59(){const _0x54130c=['116GTeeNU','2351937nDYBvf','read','schema','118945ebzVXd','9knLlsS','5432778vQdLkw','2OgxTWB','9355955QxGPQo','19037890bDcoir','557654cnSTUT','3692712TBTlCW'];a129_0x5e59=function(){return _0x54130c;};return a129_0x5e59();}const a129_0x2b1957=a129_0xc083;(function(_0x524804,_0x1be3c0){const _0x4f63a6=a129_0xc083,_0x173063=_0x524804();while(!![]){try{const _0x20bb46=parseInt(_0x4f63a6(0xbb))/0x1*(-parseInt(_0x4f63a6(0xc4))/0x2)+parseInt(_0x4f63a6(0xbe))/0x3+parseInt(_0x4f63a6(0xbd))/0x4*(parseInt(_0x4f63a6(0xc1))/0x5)+parseInt(_0x4f63a6(0xc3))/0x6+parseInt(_0x4f63a6(0xb9))/0x7+-parseInt(_0x4f63a6(0xbc))/0x8+parseInt(_0x4f63a6(0xc2))/0x9*(-parseInt(_0x4f63a6(0xba))/0xa);if(_0x20bb46===_0x1be3c0)break;else _0x173063['push'](_0x173063['shift']());}catch(_0x406e41){_0x173063['push'](_0x173063['shift']());}}}(a129_0x5e59,0xc1918));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x14800c){const _0x3fb10b=await buildSchemaPayload();return{'ok':!![],'data':_0x3fb10b};}export const schemaDefinition={'service':a129_0x2b1957(0xc0),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a129_0x2b1957(0xbf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a130_0x371a44=a130_0x2580;(function(_0x2aea06,_0x4e4599){const _0x9d8d9f=a130_0x2580,_0x57b674=_0x2aea06();while(!![]){try{const _0x9330f3=-parseInt(_0x9d8d9f(0x1e2))/0x1+parseInt(_0x9d8d9f(0x1e4))/0x2*(parseInt(_0x9d8d9f(0x1e8))/0x3)+-parseInt(_0x9d8d9f(0x1ed))/0x4*(-parseInt(_0x9d8d9f(0x1fc))/0x5)+parseInt(_0x9d8d9f(0x1c8))/0x6*(parseInt(_0x9d8d9f(0x1ec))/0x7)+parseInt(_0x9d8d9f(0x1f4))/0x8+parseInt(_0x9d8d9f(0x1cc))/0x9*(-parseInt(_0x9d8d9f(0x1f8))/0xa)+parseInt(_0x9d8d9f(0x1f9))/0xb;if(_0x9330f3===_0x4e4599)break;else _0x57b674['push'](_0x57b674['shift']());}catch(_0x1ad25a){_0x57b674['push'](_0x57b674['shift']());}}}(a130_0x3435,0x47cfc));function a130_0x2580(_0x412fc4,_0x2d98dc){_0x412fc4=_0x412fc4-0x1c4;const _0x343558=a130_0x3435();let _0x2580a9=_0x343558[_0x412fc4];return _0x2580a9;}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(_0x50becd){const _0x31e1cb=a130_0x2580;if(_0x50becd===_0x31e1cb(0x1ea))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','</select>','']['join']('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':a130_0x371a44(0x1f3),'command':a130_0x371a44(0x1f2),'description':a130_0x371a44(0x1dd),'risk':a130_0x371a44(0x1cf),'flags':[{'name':a130_0x371a44(0x1d9),'type':'string','description':'SQL\x20query\x20display\x20name'},{'name':a130_0x371a44(0x1df),'type':a130_0x371a44(0x1f0),'description':'Target\x20database\x20ID'},{'name':a130_0x371a44(0x1ce),'type':a130_0x371a44(0x1ef),'enum':[a130_0x371a44(0x1f3),a130_0x371a44(0x1ea)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x441079){const _0xd55c3e=a130_0x371a44;if(!_0x441079[_0xd55c3e(0x1d0)])return;if(!_0x441079[_0xd55c3e(0x1e1)]('name')['trim']())throw CliErrors['flagMissing'](_0xd55c3e(0x1d9),_0xd55c3e(0x1fb));const _0x307071=resolveProvidedDbId(_0x441079);if(typeof _0x307071!=='number'||!Number['isFinite'](_0x307071)||_0x307071<=0x0)throw CliErrors[_0xd55c3e(0x1d4)](_0xd55c3e(0x1df),_0xd55c3e(0x1f5));if(!_0x441079[_0xd55c3e(0x1e1)](_0xd55c3e(0x1ce))[_0xd55c3e(0x1d2)]())throw CliErrors['flagMissing'](_0xd55c3e(0x1ce),_0xd55c3e(0x201));},async 'dryRun'(_0x34ef62){const _0x94b256=a130_0x371a44,_0x41bfde=loadSqlProjectConfig(_0x34ef62[_0x94b256(0x1cb)]),{sqlName:_0xb96757,dbId:_0x254648,dbName:_0x3769ba,mode:_0x4ef298}=await resolveSqlNewInputs(_0x34ef62),_0x45554e=buildSqlRelativePath('<server-generated-sqlCode>',_0xb96757,_0x3769ba,_0x4ef298,_0x254648),_0x15d041=_0x41bfde['sqlRootDir']+'/'+_0x45554e;return{'method':'POST','url':_0x94b256(0x1fe),'body':{'appCode':_0x34ef62[_0x94b256(0x1cb)],'sqlName':_0xb96757,'dbId':_0x254648,'mode':_0x4ef298,'localPath':_0x15d041},'description':_0x94b256(0x1d5)+_0x41bfde[_0x94b256(0x1e7)]};},async 'execute'(_0xb285f2){const _0x49840a=a130_0x371a44,_0x170fd1=loadSqlProjectConfig(_0xb285f2[_0x49840a(0x1cb)]),{sqlName:_0x280dcd,dbId:_0x592221,dbName:_0x50ce59,mode:_0x19b2db}=await resolveSqlNewInputs(_0xb285f2),_0x1894a9=generateSqlTemplate(_0x19b2db),_0x3c121a=await createSqlQuery({'appCode':_0xb285f2[_0x49840a(0x1cb)],'sqlName':_0x280dcd,'dbId':_0x592221,'sqlContent':_0x1894a9}),_0x18034f=ensureRemoteSqlContent(_0x3c121a),_0x2bbc38=_0x50ce59||await getDbName(_0xb285f2[_0x49840a(0x1cb)],_0x592221)[_0x49840a(0x1cd)](()=>undefined),_0x1f4fa8=buildSqlRelativePath(_0x3c121a[_0x49840a(0x1c9)],_0x3c121a[_0x49840a(0x1e3)],_0x2bbc38,_0x19b2db,_0x592221),_0x446da0=_0x170fd1['sqlRootDir']+'/'+_0x1f4fa8,_0x5e1504=buildLocalSqlFileContent({'sqlCode':_0x3c121a[_0x49840a(0x1c9)],'sqlName':_0x3c121a[_0x49840a(0x1e3)],'dbId':_0x3c121a[_0x49840a(0x1de)]},_0x18034f,{'dbName':_0x2bbc38,'mode':_0x19b2db,'syncedAt':new Date()[_0x49840a(0x1fd)](),'description':_0x3c121a[_0x49840a(0x1ff)]});if(await fileExists(_0x446da0))throw CliErrors[_0x49840a(0x1c7)](_0x49840a(0x1d8)+_0x446da0);await ensureParentDirectory(_0x446da0),await writeFile(_0x446da0,_0x5e1504,_0x49840a(0x1f7));const _0x21c123=await readSqlLockFile(_0x170fd1[_0x49840a(0x1dc)]),{lockData:_0x42596d,appLock:_0x2b9d63}=ensureSqlLockScope(_0x21c123??createEmptySqlLock(),_0x170fd1[_0x49840a(0x1cb)],_0x170fd1['sqlRoot'],_0x49840a(0x1db));return _0x2b9d63[_0x49840a(0x202)][_0x3c121a[_0x49840a(0x1c9)]]={...buildSqlLockEntry(_0x3c121a,_0x18034f,computeSqlContentHash(_0x5e1504),{'dbName':_0x2bbc38}),'path':_0x1f4fa8,'mode':_0x19b2db},_0x2b9d63[_0x49840a(0x1c4)]=new Date()[_0x49840a(0x1fd)](),await writeSqlLockFile(_0x170fd1[_0x49840a(0x1dc)],_0x42596d),{'ok':!![],'data':{'id':_0x3c121a['id'],'sqlCode':_0x3c121a['sqlCode'],'sqlName':_0x3c121a[_0x49840a(0x1e3)],'dbId':_0x3c121a[_0x49840a(0x1de)],'path':_0x446da0,'mode':_0x19b2db},'message':_0x49840a(0x1e6)+_0x3c121a[_0x49840a(0x1c9)]};}};async function resolveSqlNewInputs(_0x375fba){const _0x506251=await resolveSqlNameInput(_0x375fba),{dbId:_0x53cc31,dbName:_0x2c76b7}=await resolveDbSelection(_0x375fba),_0x5c083b=await resolveSqlModeInput(_0x375fba);return{'sqlName':_0x506251,'dbId':_0x53cc31,'dbName':_0x2c76b7,'mode':_0x5c083b};}async function resolveSqlNameInput(_0x16403f){const _0x1165fd=a130_0x371a44,_0x34aebd=_0x16403f[_0x1165fd(0x1e1)](_0x1165fd(0x1d9))[_0x1165fd(0x1d2)]();if(_0x34aebd)return _0x34aebd;if(_0x16403f[_0x1165fd(0x1d0)])throw CliErrors[_0x1165fd(0x1d4)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x1165fd(0x1fa),'validate':_0xa75931=>_0xa75931[_0x1165fd(0x1d2)]()?!![]:_0x1165fd(0x1e0)}))[_0x1165fd(0x1d2)]();}async function resolveDbSelection(_0x1e5e3a){const _0x1bcd66=a130_0x371a44,_0x48ab6e=resolveProvidedDbId(_0x1e5e3a);if(typeof _0x48ab6e===_0x1bcd66(0x1f0)&&Number[_0x1bcd66(0x1c5)](_0x48ab6e)&&_0x48ab6e>0x0)return{'dbId':_0x48ab6e,'dbName':await getDbName(_0x1e5e3a[_0x1bcd66(0x1cb)],_0x48ab6e)[_0x1bcd66(0x1cd)](()=>undefined)};if(_0x1e5e3a[_0x1bcd66(0x1d0)])throw CliErrors['flagMissing'](_0x1bcd66(0x1df),_0x1bcd66(0x1f5));const _0x2939f7=await listDatabases(_0x1e5e3a[_0x1bcd66(0x1cb)])[_0x1bcd66(0x1cd)](()=>[]);if(_0x2939f7['length']===0x1)return{'dbId':_0x2939f7[0x0]['dbId'],'dbName':_0x2939f7[0x0]['dbName']};if(_0x2939f7['length']>0x1){const _0x5daf15=await select({'message':_0x1bcd66(0x1da),'choices':[..._0x2939f7[_0x1bcd66(0x1d1)](_0x22861e=>({'name':_0x22861e[_0x1bcd66(0x1eb)]+'\x20('+_0x22861e['dbId']+')','value':serializeDbSelection(_0x22861e)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x5daf15!==_0x1bcd66(0x1ee))return deserializeDbSelection(_0x5daf15);}const _0x3a17f3=await input({'message':_0x1bcd66(0x1d6),'validate':_0x2eb322=>{const _0xa56c67=_0x1bcd66,_0x2512da=_0x2eb322['trim']();if(!_0x2512da)return'dbId\x20不能为空';const _0x5056ca=Number(_0x2512da);if(!Number['isInteger'](_0x5056ca)||_0x5056ca<=0x0)return _0xa56c67(0x1e9);return!![];}});return{'dbId':Number(_0x3a17f3['trim']())};}function a130_0x3435(){const _0x5dfa20=['description','MyBatis\x20XML(mybatisXml)','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','sqls','lastSync','isFinite','parse','validation','6oZAzEm','sqlCode','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','appCode','162jgklFI','catch','mode','high-risk-write','nonInteractive','map','trim','Invalid\x20database\x20selection\x20payload:\x20','flagMissing','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请输入目标数据库\x20dbId:','flag','File\x20already\x20exists:\x20','name','请选择目标数据库:','new','lockFilePath','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','dbId','db-id','SQL\x20名称不能为空','str','202046aTheRC','sqlName','2386UcwATF','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Created\x20SQL\x20query\x20','sqlRootDir','489gutRZK','dbId\x20必须为正整数','mybatisXml','dbName','1506953BsWjFW','20EkKHKc','__manual__','string','number','普通\x20SQL(sql)','create','sql','3518248cryHTQ','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','stringify','utf8','298790SZfMYp','1652024hwOMVb','请输入\x20SQL\x20名称:','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','34305QeXDXM','toISOString','/smartapi/custom/saveUserCustomSql'];a130_0x3435=function(){return _0x5dfa20;};return a130_0x3435();}async function resolveSqlModeInput(_0x644cd3){const _0x1fa333=a130_0x371a44,_0x121144=_0x644cd3[_0x1fa333(0x1e1)](_0x1fa333(0x1ce))[_0x1fa333(0x1d2)]();if(_0x121144==='sql'||_0x121144==='mybatisXml')return _0x121144;if(_0x644cd3[_0x1fa333(0x1d0)])throw CliErrors[_0x1fa333(0x1d4)]('mode',_0x1fa333(0x201));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x1fa333(0x1f1),'value':_0x1fa333(0x1f3),'description':_0x1fa333(0x1ca)},{'name':_0x1fa333(0x200),'value':_0x1fa333(0x1ea),'description':_0x1fa333(0x1e5)}]});}function serializeDbSelection(_0x2c2214){const _0x40b38a=a130_0x371a44;return JSON[_0x40b38a(0x1f6)]({'dbId':_0x2c2214[_0x40b38a(0x1de)],'dbName':_0x2c2214[_0x40b38a(0x1eb)]});}function deserializeDbSelection(_0x20bca0){const _0x27ea8a=a130_0x371a44;try{const _0x4be340=JSON[_0x27ea8a(0x1c6)](_0x20bca0);if(typeof _0x4be340[_0x27ea8a(0x1de)]===_0x27ea8a(0x1f0)&&Number[_0x27ea8a(0x1c5)](_0x4be340[_0x27ea8a(0x1de)]))return{'dbId':_0x4be340[_0x27ea8a(0x1de)],'dbName':_0x4be340['dbName']};}catch{}throw CliErrors[_0x27ea8a(0x1c7)](_0x27ea8a(0x1d3)+_0x20bca0);}function resolveProvidedDbId(_0x56fc24){const _0x247866=a130_0x371a44,_0x3c469f=_0x56fc24[_0x247866(0x1d7)](_0x247866(0x1df));if(typeof _0x3c469f===_0x247866(0x1f0)&&Number[_0x247866(0x1c5)](_0x3c469f))return _0x3c469f;return undefined;}
1
+ const a130_0x40406e=a130_0x1fee;(function(_0xb1188b,_0x4db7a5){const _0x258586=a130_0x1fee,_0x36b904=_0xb1188b();while(!![]){try{const _0x2f26ea=-parseInt(_0x258586(0xf5))/0x1*(-parseInt(_0x258586(0xb6))/0x2)+-parseInt(_0x258586(0xce))/0x3*(parseInt(_0x258586(0xc6))/0x4)+parseInt(_0x258586(0xc9))/0x5*(parseInt(_0x258586(0xd6))/0x6)+parseInt(_0x258586(0xd5))/0x7*(-parseInt(_0x258586(0xb5))/0x8)+parseInt(_0x258586(0xf8))/0x9*(parseInt(_0x258586(0xf9))/0xa)+parseInt(_0x258586(0xd7))/0xb*(-parseInt(_0x258586(0xd0))/0xc)+-parseInt(_0x258586(0xf1))/0xd;if(_0x2f26ea===_0x4db7a5)break;else _0x36b904['push'](_0x36b904['shift']());}catch(_0xec2e7){_0x36b904['push'](_0x36b904['shift']());}}}(a130_0x4670,0xca407));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a130_0x1fee(_0x147ab1,_0x2895c5){_0x147ab1=_0x147ab1-0xb4;const _0x467016=a130_0x4670();let _0x1fee64=_0x467016[_0x147ab1];return _0x1fee64;}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a130_0x4670(){const _0x18fbc0=['stringify','join','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Invalid\x20database\x20selection\x20payload:\x20','flag','catch','isFinite','nonInteractive','isInteger','POST','sql','parse','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','sqls','/smartapi/custom/saveUserCustomSql','请选择本地\x20SQL\x20模式:','<server-generated-sqlCode>','lockFilePath','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','请输入\x20SQL\x20名称:','sqlRoot','✎\x20手动输入\x20dbId','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','new','lastSync','14766661fwcpjs','sqlRootDir','description','普通\x20SQL(sql)','469FvTVNI','mode','toISOString','5463IlVugE','26680fwHFbd','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','dbId\x20不能为空','请选择目标数据库:','flagMissing','502488TQNdYn','14ZBsnVV','db-id','map','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','sqlName','Created\x20SQL\x20query\x20','\x20\x20SELECT\x201\x20AS\x20id','utf8','string','dbName','mybatisXml','name','high-risk-write','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','</select>','Target\x20database\x20ID','1416BuOkoM','sqlCode','number','1372860FMhvOr','validation','trim','__manual__','appCode','1437tubuVL','MyBatis\x20XML(mybatisXml)','12wYxKIe','str','length','dbId','File\x20already\x20exists:\x20','98DvhSCt','36vOdilM','2826461TCgOcK'];a130_0x4670=function(){return _0x18fbc0;};return a130_0x4670();}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x5a794a){const _0x53bf5f=a130_0x1fee;if(_0x5a794a===_0x53bf5f(0xc0))return[_0x53bf5f(0xea),_0x53bf5f(0xbc),_0x53bf5f(0xc4),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x53bf5f(0xd9)]('\x0a');}export const sqlCreate={'service':'sql','command':'create','description':a130_0x40406e(0xb9),'risk':a130_0x40406e(0xc2),'flags':[{'name':a130_0x40406e(0xc1),'type':a130_0x40406e(0xbe),'description':'SQL\x20query\x20display\x20name'},{'name':a130_0x40406e(0xb7),'type':a130_0x40406e(0xc8),'description':a130_0x40406e(0xc5)},{'name':a130_0x40406e(0xf6),'type':a130_0x40406e(0xbe),'enum':[a130_0x40406e(0xe2),a130_0x40406e(0xc0)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x51a0e0){const _0x18186d=a130_0x40406e;if(!_0x51a0e0[_0x18186d(0xdf)])return;if(!_0x51a0e0[_0x18186d(0xd1)](_0x18186d(0xc1))[_0x18186d(0xcb)]())throw CliErrors[_0x18186d(0xb4)](_0x18186d(0xc1),_0x18186d(0xc3));const _0xae1a02=resolveProvidedDbId(_0x51a0e0);if(typeof _0xae1a02!=='number'||!Number[_0x18186d(0xde)](_0xae1a02)||_0xae1a02<=0x0)throw CliErrors[_0x18186d(0xb4)](_0x18186d(0xb7),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x51a0e0[_0x18186d(0xd1)]('mode')[_0x18186d(0xcb)]())throw CliErrors[_0x18186d(0xb4)](_0x18186d(0xf6),_0x18186d(0xe4));},async 'dryRun'(_0x505737){const _0x27565=a130_0x40406e,_0x408425=loadSqlProjectConfig(_0x505737[_0x27565(0xcd)]),{sqlName:_0x3c169e,dbId:_0x296625,dbName:_0x1977b8,mode:_0x2518b9}=await resolveSqlNewInputs(_0x505737),_0x394f79=buildSqlRelativePath(_0x27565(0xe8),_0x3c169e,_0x1977b8,_0x2518b9,_0x296625),_0x21ee57=_0x408425[_0x27565(0xf2)]+'/'+_0x394f79;return{'method':_0x27565(0xe1),'url':_0x27565(0xe6),'body':{'appCode':_0x505737[_0x27565(0xcd)],'sqlName':_0x3c169e,'dbId':_0x296625,'mode':_0x2518b9,'localPath':_0x21ee57},'description':_0x27565(0xfa)+_0x408425[_0x27565(0xf2)]};},async 'execute'(_0x3e88f7){const _0x4e619b=a130_0x40406e,_0x199d96=loadSqlProjectConfig(_0x3e88f7['appCode']),{sqlName:_0x4d8ad9,dbId:_0x44b161,dbName:_0x58c37f,mode:_0x54a18e}=await resolveSqlNewInputs(_0x3e88f7),_0xf98176=generateSqlTemplate(_0x54a18e),_0x42ecc6=await createSqlQuery({'appCode':_0x3e88f7[_0x4e619b(0xcd)],'sqlName':_0x4d8ad9,'dbId':_0x44b161,'sqlContent':_0xf98176}),_0x5db251=ensureRemoteSqlContent(_0x42ecc6),_0x60d6f5=_0x58c37f||await getDbName(_0x3e88f7[_0x4e619b(0xcd)],_0x44b161)[_0x4e619b(0xdd)](()=>undefined),_0x50e860=buildSqlRelativePath(_0x42ecc6[_0x4e619b(0xc7)],_0x42ecc6[_0x4e619b(0xba)],_0x60d6f5,_0x54a18e,_0x44b161),_0x170328=_0x199d96[_0x4e619b(0xf2)]+'/'+_0x50e860,_0x425c0e=buildLocalSqlFileContent({'sqlCode':_0x42ecc6['sqlCode'],'sqlName':_0x42ecc6[_0x4e619b(0xba)],'dbId':_0x42ecc6[_0x4e619b(0xd3)]},_0x5db251,{'dbName':_0x60d6f5,'mode':_0x54a18e,'syncedAt':new Date()[_0x4e619b(0xf7)](),'description':_0x42ecc6[_0x4e619b(0xf3)]});if(await fileExists(_0x170328))throw CliErrors[_0x4e619b(0xca)](_0x4e619b(0xd4)+_0x170328);await ensureParentDirectory(_0x170328),await writeFile(_0x170328,_0x425c0e,_0x4e619b(0xbd));const _0x3a0d7a=await readSqlLockFile(_0x199d96[_0x4e619b(0xe9)]),{lockData:_0x66febc,appLock:_0x23127c}=ensureSqlLockScope(_0x3a0d7a??createEmptySqlLock(),_0x199d96[_0x4e619b(0xcd)],_0x199d96[_0x4e619b(0xec)],_0x4e619b(0xef));return _0x23127c[_0x4e619b(0xe5)][_0x42ecc6['sqlCode']]={...buildSqlLockEntry(_0x42ecc6,_0x5db251,computeSqlContentHash(_0x425c0e),{'dbName':_0x60d6f5}),'path':_0x50e860,'mode':_0x54a18e},_0x23127c[_0x4e619b(0xf0)]=new Date()[_0x4e619b(0xf7)](),await writeSqlLockFile(_0x199d96[_0x4e619b(0xe9)],_0x66febc),{'ok':!![],'data':{'id':_0x42ecc6['id'],'sqlCode':_0x42ecc6[_0x4e619b(0xc7)],'sqlName':_0x42ecc6[_0x4e619b(0xba)],'dbId':_0x42ecc6['dbId'],'path':_0x170328,'mode':_0x54a18e},'message':_0x4e619b(0xbb)+_0x42ecc6[_0x4e619b(0xc7)]};}};async function resolveSqlNewInputs(_0x39c4bf){const _0x5d2705=await resolveSqlNameInput(_0x39c4bf),{dbId:_0x372ca8,dbName:_0x5ed043}=await resolveDbSelection(_0x39c4bf),_0x4a5803=await resolveSqlModeInput(_0x39c4bf);return{'sqlName':_0x5d2705,'dbId':_0x372ca8,'dbName':_0x5ed043,'mode':_0x4a5803};}async function resolveSqlNameInput(_0x3abf52){const _0x28c460=a130_0x40406e,_0x82dd8=_0x3abf52[_0x28c460(0xd1)](_0x28c460(0xc1))[_0x28c460(0xcb)]();if(_0x82dd8)return _0x82dd8;if(_0x3abf52[_0x28c460(0xdf)])throw CliErrors['flagMissing'](_0x28c460(0xc1),_0x28c460(0xc3));return(await input({'message':_0x28c460(0xeb),'validate':_0x4ae81c=>_0x4ae81c['trim']()?!![]:'SQL\x20名称不能为空'}))['trim']();}async function resolveDbSelection(_0xa0987e){const _0x5ea056=a130_0x40406e,_0x56826a=resolveProvidedDbId(_0xa0987e);if(typeof _0x56826a===_0x5ea056(0xc8)&&Number[_0x5ea056(0xde)](_0x56826a)&&_0x56826a>0x0)return{'dbId':_0x56826a,'dbName':await getDbName(_0xa0987e[_0x5ea056(0xcd)],_0x56826a)[_0x5ea056(0xdd)](()=>undefined)};if(_0xa0987e[_0x5ea056(0xdf)])throw CliErrors[_0x5ea056(0xb4)](_0x5ea056(0xb7),_0x5ea056(0xee));const _0x3cc0f9=await listDatabases(_0xa0987e['appCode'])[_0x5ea056(0xdd)](()=>[]);if(_0x3cc0f9[_0x5ea056(0xd2)]===0x1)return{'dbId':_0x3cc0f9[0x0][_0x5ea056(0xd3)],'dbName':_0x3cc0f9[0x0][_0x5ea056(0xbf)]};if(_0x3cc0f9[_0x5ea056(0xd2)]>0x1){const _0x459409=await select({'message':_0x5ea056(0xfc),'choices':[..._0x3cc0f9[_0x5ea056(0xb8)](_0x4127d1=>({'name':_0x4127d1[_0x5ea056(0xbf)]+'\x20('+_0x4127d1['dbId']+')','value':serializeDbSelection(_0x4127d1)})),{'name':_0x5ea056(0xed),'value':_0x5ea056(0xcc)}]});if(_0x459409!==_0x5ea056(0xcc))return deserializeDbSelection(_0x459409);}const _0xd509b5=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x351e8a=>{const _0x2e1895=_0x5ea056,_0x865ff3=_0x351e8a[_0x2e1895(0xcb)]();if(!_0x865ff3)return _0x2e1895(0xfb);const _0x4c468e=Number(_0x865ff3);if(!Number[_0x2e1895(0xe0)](_0x4c468e)||_0x4c468e<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0xd509b5[_0x5ea056(0xcb)]())};}async function resolveSqlModeInput(_0x3f3a69){const _0x2bb147=a130_0x40406e,_0x36dad2=_0x3f3a69[_0x2bb147(0xd1)](_0x2bb147(0xf6))[_0x2bb147(0xcb)]();if(_0x36dad2===_0x2bb147(0xe2)||_0x36dad2===_0x2bb147(0xc0))return _0x36dad2;if(_0x3f3a69[_0x2bb147(0xdf)])throw CliErrors[_0x2bb147(0xb4)](_0x2bb147(0xf6),_0x2bb147(0xe4));return await select({'message':_0x2bb147(0xe7),'choices':[{'name':_0x2bb147(0xf4),'value':_0x2bb147(0xe2),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x2bb147(0xcf),'value':_0x2bb147(0xc0),'description':_0x2bb147(0xda)}]});}function serializeDbSelection(_0x5d7c36){const _0x39956f=a130_0x40406e;return JSON[_0x39956f(0xd8)]({'dbId':_0x5d7c36[_0x39956f(0xd3)],'dbName':_0x5d7c36[_0x39956f(0xbf)]});}function deserializeDbSelection(_0x2cfe58){const _0x42ebf1=a130_0x40406e;try{const _0x4dfb58=JSON[_0x42ebf1(0xe3)](_0x2cfe58);if(typeof _0x4dfb58[_0x42ebf1(0xd3)]===_0x42ebf1(0xc8)&&Number[_0x42ebf1(0xde)](_0x4dfb58[_0x42ebf1(0xd3)]))return{'dbId':_0x4dfb58[_0x42ebf1(0xd3)],'dbName':_0x4dfb58['dbName']};}catch{}throw CliErrors[_0x42ebf1(0xca)](_0x42ebf1(0xdb)+_0x2cfe58);}function resolveProvidedDbId(_0x5d9825){const _0xc38f62=a130_0x40406e,_0x5403c1=_0x5d9825[_0xc38f62(0xdc)](_0xc38f62(0xb7));if(typeof _0x5403c1===_0xc38f62(0xc8)&&Number[_0xc38f62(0xde)](_0x5403c1))return _0x5403c1;return undefined;}
@@ -1 +1 @@
1
- const a131_0x1a026d=a131_0xba61;(function(_0x263978,_0x5ccafd){const _0x317e44=a131_0xba61,_0x4f411c=_0x263978();while(!![]){try{const _0x3b0917=parseInt(_0x317e44(0xdc))/0x1+-parseInt(_0x317e44(0xd9))/0x2+-parseInt(_0x317e44(0xcc))/0x3+-parseInt(_0x317e44(0xe1))/0x4+parseInt(_0x317e44(0xd3))/0x5*(-parseInt(_0x317e44(0xc5))/0x6)+parseInt(_0x317e44(0xd7))/0x7*(-parseInt(_0x317e44(0xcb))/0x8)+parseInt(_0x317e44(0xda))/0x9;if(_0x3b0917===_0x5ccafd)break;else _0x4f411c['push'](_0x4f411c['shift']());}catch(_0xc3af95){_0x4f411c['push'](_0x4f411c['shift']());}}}(a131_0x593b,0x882d8));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a131_0xba61(_0x37008e,_0x17b9cc){_0x37008e=_0x37008e-0xc4;const _0x593b57=a131_0x593b();let _0xba61f0=_0x593b57[_0x37008e];return _0xba61f0;}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';function a131_0x593b(){const _0xe63632=['POST','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','lockFilePath','1534520dVLCpZ','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','replace','entries','sqlcode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','delete','toISOString','6QRVHiF','trashDir','remoteId','Would\x20delete\x20SQL\x20','sqls','\x20(local\x20file\x20moved\x20to\x20trash)','56PMsiBl','441027hzcXKS','sqlRoot','startsWith','appCode','lastSync','length','validation','1074415mpgUua','sql','fromEntries','trashedTo','631491wuaElW','str','1686066gXTPgj','20393901KixHiT','filter','511841ANjavz','/smartapi/custom/deleteUserCustomSql'];a131_0x593b=function(){return _0xe63632;};return a131_0x593b();}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':a131_0x1a026d(0xd4),'command':a131_0x1a026d(0xe7),'description':a131_0x1a026d(0xe2),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x40f002){const _0x5e7aac=a131_0x1a026d,_0x56b4ad=loadSqlProjectConfig(_0x40f002[_0x5e7aac(0xcf)]),_0x3ec5d3=await readSqlLockFile(_0x56b4ad['lockFilePath']);if(!_0x3ec5d3)throw CliErrors[_0x5e7aac(0xd2)](_0x5e7aac(0xe6));},async 'dryRun'(_0xc98ec7){const _0x5e572d=a131_0x1a026d,_0x5d08ef=loadSqlProjectConfig(_0xc98ec7['appCode']),_0x1d02f5=await readSqlLockFile(_0x5d08ef[_0x5e572d(0xe0)]);if(!_0x1d02f5)throw CliErrors[_0x5e572d(0xd2)](_0x5e572d(0xe6));const {appLock:_0x19f8c0}=ensureSqlLockScope(_0x1d02f5,_0xc98ec7['appCode'],_0x5d08ef['sqlRoot'],_0x5e572d(0xe7)),_0x582191=_0xc98ec7[_0x5e572d(0xd8)](_0x5e572d(0xe5)),_0x44aa76=_0x19f8c0['sqls'][_0x582191];if(!_0x44aa76)throw CliErrors[_0x5e572d(0xd2)](_0x5e572d(0xdf)+_0x582191+'\x22.');return{'method':_0x5e572d(0xde),'url':_0x5e572d(0xdd),'body':{'sqlCode':_0x582191,'id':_0x44aa76[_0x5e572d(0xc7)],'localPath':resolveLocalSqlFilePath(_0x5d08ef,_0x582191,_0x44aa76)},'description':_0x5e572d(0xc8)+_0x582191+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x5d08ef[_0x5e572d(0xc6)]};},async 'execute'(_0x2321a3){const _0x5d66e7=a131_0x1a026d,_0x24369f=loadSqlProjectConfig(_0x2321a3[_0x5d66e7(0xcf)]),_0x274917=await readSqlLockFile(_0x24369f[_0x5d66e7(0xe0)]);if(!_0x274917)throw CliErrors[_0x5d66e7(0xd2)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x379dda,appLock:_0x4cc77a}=ensureSqlLockScope(_0x274917,_0x2321a3[_0x5d66e7(0xcf)],_0x24369f[_0x5d66e7(0xcd)],_0x5d66e7(0xe7)),_0x41c7eb=_0x2321a3[_0x5d66e7(0xd8)]('sqlcode'),_0x477a23=_0x4cc77a[_0x5d66e7(0xc9)][_0x41c7eb];if(!_0x477a23)throw CliErrors[_0x5d66e7(0xd2)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x41c7eb+'\x22.');await deleteSqlQuery({'id':_0x477a23[_0x5d66e7(0xc7)],'sqlCode':_0x41c7eb}),_0x4cc77a[_0x5d66e7(0xc9)]=Object[_0x5d66e7(0xd5)](Object[_0x5d66e7(0xe4)](_0x4cc77a[_0x5d66e7(0xc9)])[_0x5d66e7(0xdb)](([_0x250f59])=>_0x250f59!==_0x41c7eb)),_0x4cc77a[_0x5d66e7(0xd0)]=new Date()[_0x5d66e7(0xc4)](),await writeSqlLockFile(_0x24369f[_0x5d66e7(0xe0)],_0x379dda);const _0x4701eb=resolveLocalSqlFilePath(_0x24369f,_0x41c7eb,_0x477a23);let _0xb216fd;await fileExists(_0x4701eb)&&(_0xb216fd=await moveToTrash(_0x24369f['projectRoot'],_0x24369f[_0x5d66e7(0xc6)],_0x4701eb),await cleanupEmptyDirectories(dirname(_0x4701eb),_0x24369f['sqlRootDir']));const _0x3f8a0c={'deleted':_0x41c7eb,'remoteId':_0x477a23[_0x5d66e7(0xc7)]};if(_0xb216fd)_0x3f8a0c[_0x5d66e7(0xd6)]=_0xb216fd;return{'ok':!![],'data':_0x3f8a0c,'message':'Deleted\x20'+_0x41c7eb+(_0xb216fd?_0x5d66e7(0xca):'')};}};async function moveToTrash(_0x1eb2d9,_0x48ae59,_0xee8f0){const _0x5d5c59=a131_0x1a026d,_0x2f9326=new Date()[_0x5d5c59(0xc4)]()[_0x5d5c59(0xe3)](/[:.]/g,'-'),_0x404dab=relative(_0x1eb2d9,_0xee8f0),_0x3a4bd1=join(_0x48ae59,_0x2f9326,_0x404dab);return await mkdir(dirname(_0x3a4bd1),{'recursive':!![]}),await rename(_0xee8f0,_0x3a4bd1),_0x3a4bd1;}async function cleanupEmptyDirectories(_0x4fb892,_0x5e6a97){const _0x2f1f25=a131_0x1a026d;let _0x33b1a1=resolve(_0x4fb892);const _0x57a3c4=resolve(_0x5e6a97);while(_0x33b1a1[_0x2f1f25(0xce)](''+_0x57a3c4+sep)||_0x33b1a1===_0x57a3c4){if(_0x33b1a1===_0x57a3c4)return;try{const _0x3f3d6b=await readdir(_0x33b1a1);if(_0x3f3d6b[_0x2f1f25(0xd1)]>0x0)return;await rmdir(_0x33b1a1);}catch{return;}_0x33b1a1=dirname(_0x33b1a1);}}
1
+ const a131_0x293901=a131_0x1e66;(function(_0x189ab6,_0x45be5d){const _0x3745da=a131_0x1e66,_0x1ebce9=_0x189ab6();while(!![]){try{const _0x458261=-parseInt(_0x3745da(0xfb))/0x1*(-parseInt(_0x3745da(0x118))/0x2)+parseInt(_0x3745da(0x111))/0x3+parseInt(_0x3745da(0x108))/0x4+-parseInt(_0x3745da(0x11a))/0x5+-parseInt(_0x3745da(0x101))/0x6+-parseInt(_0x3745da(0x10a))/0x7+-parseInt(_0x3745da(0x105))/0x8;if(_0x458261===_0x45be5d)break;else _0x1ebce9['push'](_0x1ebce9['shift']());}catch(_0x45436c){_0x1ebce9['push'](_0x1ebce9['shift']());}}}(a131_0x53fb,0x19cb6));function a131_0x1e66(_0x261bf3,_0x593109){_0x261bf3=_0x261bf3-0xf7;const _0x53fb42=a131_0x53fb();let _0x1e66ca=_0x53fb42[_0x261bf3];return _0x1e66ca;}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a131_0x53fb(){const _0x51b9a8=['131125JkiLhf','projectRoot','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','lastSync','appCode','733fEeOYB','\x20(local\x20file\x20moved\x20to\x20trash)','SQL\x20lock\x20file\x20not\x20found.','fromEntries','replace','POST','496530MCzXFB','filter','Deleted\x20','toISOString','1306280BAKhUb','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','sqlRoot','513540CKLscq','sqlcode','196427VQSvfx','lockFilePath','delete','/smartapi/custom/deleteUserCustomSql','sqls','startsWith','validation','465552TeXnpU','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','remoteId','str','sql','trashDir','sqlRootDir','334Jnrynu','length'];a131_0x53fb=function(){return _0x51b9a8;};return a131_0x53fb();}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':a131_0x293901(0x115),'command':a131_0x293901(0x10c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x2ba79a){const _0x576d86=a131_0x293901,_0x320537=loadSqlProjectConfig(_0x2ba79a[_0x576d86(0xfa)]),_0x38f0dc=await readSqlLockFile(_0x320537[_0x576d86(0x10b)]);if(!_0x38f0dc)throw CliErrors[_0x576d86(0x110)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x175be3){const _0x138812=a131_0x293901,_0x2889ba=loadSqlProjectConfig(_0x175be3[_0x138812(0xfa)]),_0x3b60d7=await readSqlLockFile(_0x2889ba[_0x138812(0x10b)]);if(!_0x3b60d7)throw CliErrors['validation'](_0x138812(0xf8));const {appLock:_0x10c465}=ensureSqlLockScope(_0x3b60d7,_0x175be3[_0x138812(0xfa)],_0x2889ba['sqlRoot'],_0x138812(0x10c)),_0x52704e=_0x175be3['str'](_0x138812(0x109)),_0x3fa48b=_0x10c465[_0x138812(0x10e)][_0x52704e];if(!_0x3fa48b)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x52704e+'\x22.');return{'method':_0x138812(0x100),'url':_0x138812(0x10d),'body':{'sqlCode':_0x52704e,'id':_0x3fa48b[_0x138812(0x113)],'localPath':resolveLocalSqlFilePath(_0x2889ba,_0x52704e,_0x3fa48b)},'description':'Would\x20delete\x20SQL\x20'+_0x52704e+_0x138812(0x106)+_0x2889ba[_0x138812(0x116)]};},async 'execute'(_0x26cd0a){const _0x291a78=a131_0x293901,_0x5339d5=loadSqlProjectConfig(_0x26cd0a[_0x291a78(0xfa)]),_0x538889=await readSqlLockFile(_0x5339d5[_0x291a78(0x10b)]);if(!_0x538889)throw CliErrors[_0x291a78(0x110)](_0x291a78(0xfd));const {lockData:_0x31e47a,appLock:_0x30f18c}=ensureSqlLockScope(_0x538889,_0x26cd0a['appCode'],_0x5339d5[_0x291a78(0x107)],'delete'),_0x530f8f=_0x26cd0a[_0x291a78(0x114)](_0x291a78(0x109)),_0x2a03d8=_0x30f18c[_0x291a78(0x10e)][_0x530f8f];if(!_0x2a03d8)throw CliErrors[_0x291a78(0x110)](_0x291a78(0x112)+_0x530f8f+'\x22.');await deleteSqlQuery({'id':_0x2a03d8[_0x291a78(0x113)],'sqlCode':_0x530f8f}),_0x30f18c[_0x291a78(0x10e)]=Object[_0x291a78(0xfe)](Object['entries'](_0x30f18c['sqls'])[_0x291a78(0x102)](([_0xb3014a])=>_0xb3014a!==_0x530f8f)),_0x30f18c[_0x291a78(0xf9)]=new Date()[_0x291a78(0x104)](),await writeSqlLockFile(_0x5339d5[_0x291a78(0x10b)],_0x31e47a);const _0x5e62c6=resolveLocalSqlFilePath(_0x5339d5,_0x530f8f,_0x2a03d8);let _0x1cde53;await fileExists(_0x5e62c6)&&(_0x1cde53=await moveToTrash(_0x5339d5[_0x291a78(0xf7)],_0x5339d5['trashDir'],_0x5e62c6),await cleanupEmptyDirectories(dirname(_0x5e62c6),_0x5339d5[_0x291a78(0x117)]));const _0x244cc7={'deleted':_0x530f8f,'remoteId':_0x2a03d8['remoteId']};if(_0x1cde53)_0x244cc7['trashedTo']=_0x1cde53;return{'ok':!![],'data':_0x244cc7,'message':_0x291a78(0x103)+_0x530f8f+(_0x1cde53?_0x291a78(0xfc):'')};}};async function moveToTrash(_0x5b67fe,_0x514f42,_0x251a36){const _0x14f6ab=a131_0x293901,_0x4089d1=new Date()[_0x14f6ab(0x104)]()[_0x14f6ab(0xff)](/[:.]/g,'-'),_0x37351b=relative(_0x5b67fe,_0x251a36),_0x2761fb=join(_0x514f42,_0x4089d1,_0x37351b);return await mkdir(dirname(_0x2761fb),{'recursive':!![]}),await rename(_0x251a36,_0x2761fb),_0x2761fb;}async function cleanupEmptyDirectories(_0x32f866,_0x56e6b6){const _0x223995=a131_0x293901;let _0x5c5596=resolve(_0x32f866);const _0x403db6=resolve(_0x56e6b6);while(_0x5c5596[_0x223995(0x10f)](''+_0x403db6+sep)||_0x5c5596===_0x403db6){if(_0x5c5596===_0x403db6)return;try{const _0xc72669=await readdir(_0x5c5596);if(_0xc72669[_0x223995(0x119)]>0x0)return;await rmdir(_0x5c5596);}catch{return;}_0x5c5596=dirname(_0x5c5596);}}
@@ -1 +1 @@
1
- const a132_0x22d0e1=a132_0x2ed9;function a132_0x2ed9(_0x3a5548,_0x1b7b55){_0x3a5548=_0x3a5548-0xc7;const _0x43be1f=a132_0x43be();let _0x2ed996=_0x43be1f[_0x3a5548];return _0x2ed996;}(function(_0x593126,_0x1dc95d){const _0x875487=a132_0x2ed9,_0x1d05e9=_0x593126();while(!![]){try{const _0x541fac=-parseInt(_0x875487(0xc8))/0x1+parseInt(_0x875487(0xd7))/0x2+parseInt(_0x875487(0xd2))/0x3*(-parseInt(_0x875487(0xdd))/0x4)+-parseInt(_0x875487(0xd0))/0x5*(-parseInt(_0x875487(0xdc))/0x6)+parseInt(_0x875487(0xdf))/0x7+parseInt(_0x875487(0xd3))/0x8+parseInt(_0x875487(0xc7))/0x9*(-parseInt(_0x875487(0xcc))/0xa);if(_0x541fac===_0x1dc95d)break;else _0x1d05e9['push'](_0x1d05e9['shift']());}catch(_0x27dc2b){_0x1d05e9['push'](_0x1d05e9['shift']());}}}(a132_0x43be,0x42b1e));import{getSqlQueryInfo}from'../../core/api-client.js';function a132_0x43be(){const _0x182be9=['verbose','bool','36535RAKWev','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','51AEOofX','2618792oxAHkB','sqlName','appCode','read','769116MTTxlN','sqlcode','str','sqlContent','sql','402rJQjWO','35172WhQDVC','dbId','615328XYmtRU','144QfuOmd','469629EttEOZ','detail','Return\x20full\x20raw\x20SQL\x20query\x20object','sqlCode','248180qnCfMS','boolean'];a132_0x43be=function(){return _0x182be9;};return a132_0x43be();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a132_0x22d0e1(0xdb),'command':a132_0x22d0e1(0xc9),'description':a132_0x22d0e1(0xd1),'risk':a132_0x22d0e1(0xd6),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a132_0x22d0e1(0xcd),'description':a132_0x22d0e1(0xca)}],async 'execute'(_0x4a86a9){const _0x199b39=a132_0x22d0e1,_0x4976e3=await getSqlQueryInfo(_0x4a86a9['appCode'],_0x4a86a9[_0x199b39(0xd9)](_0x199b39(0xd8))),_0x33a7df=_0x4a86a9[_0x199b39(0xcf)](_0x199b39(0xce));if(_0x33a7df)return{'ok':!![],'data':_0x4976e3};const _0x10685c=_0x4976e3['dbId']?await getDbName(_0x4a86a9[_0x199b39(0xd5)],_0x4976e3['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x4976e3[_0x199b39(0xcb)],'sqlName':_0x4976e3[_0x199b39(0xd4)],'db':_0x10685c?_0x10685c+'\x20('+_0x4976e3[_0x199b39(0xde)]+')':_0x4976e3['dbId']??'','description':_0x4976e3['description']??'','sqlContent':_0x4976e3[_0x199b39(0xda)]??''}};}};
1
+ const a132_0x43c966=a132_0x2578;(function(_0x49cf6d,_0x5c5044){const _0x1bf2a9=a132_0x2578,_0x14e224=_0x49cf6d();while(!![]){try{const _0x452124=parseInt(_0x1bf2a9(0x1e6))/0x1+parseInt(_0x1bf2a9(0x1f3))/0x2+parseInt(_0x1bf2a9(0x1ef))/0x3*(-parseInt(_0x1bf2a9(0x1ec))/0x4)+-parseInt(_0x1bf2a9(0x1df))/0x5+parseInt(_0x1bf2a9(0x1f0))/0x6+parseInt(_0x1bf2a9(0x1f4))/0x7*(parseInt(_0x1bf2a9(0x1e0))/0x8)+parseInt(_0x1bf2a9(0x1e1))/0x9*(-parseInt(_0x1bf2a9(0x1e9))/0xa);if(_0x452124===_0x5c5044)break;else _0x14e224['push'](_0x14e224['shift']());}catch(_0x269881){_0x14e224['push'](_0x14e224['shift']());}}}(a132_0x5179,0xa8f2c));import{getSqlQueryInfo}from'../../core/api-client.js';function a132_0x2578(_0x199233,_0x4cface){_0x199233=_0x199233-0x1df;const _0x5179c2=a132_0x5179();let _0x2578ad=_0x5179c2[_0x199233];return _0x2578ad;}function a132_0x5179(){const _0x195704=['302608DwflaM','126qAvKkU','boolean','str','sqlName','description','1291595OxZgEK','appCode','sqlCode','842500mbwhrR','sql','detail','3409156XgPeCI','bool','Return\x20full\x20raw\x20SQL\x20query\x20object','3njRZLV','7393884YEeilK','dbId','verbose','66148mKqzKX','168Thbfsn','sqlContent','read','3705030RZnrGw'];a132_0x5179=function(){return _0x195704;};return a132_0x5179();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a132_0x43c966(0x1ea),'command':a132_0x43c966(0x1eb),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a132_0x43c966(0x1f6),'flags':[SQLCODE_FLAG,{'name':a132_0x43c966(0x1f2),'type':a132_0x43c966(0x1e2),'description':a132_0x43c966(0x1ee)}],async 'execute'(_0x3b69d9){const _0x2da8c0=a132_0x43c966,_0x4637a1=await getSqlQueryInfo(_0x3b69d9[_0x2da8c0(0x1e7)],_0x3b69d9[_0x2da8c0(0x1e3)]('sqlcode')),_0x14928e=_0x3b69d9[_0x2da8c0(0x1ed)](_0x2da8c0(0x1f2));if(_0x14928e)return{'ok':!![],'data':_0x4637a1};const _0x4ea288=_0x4637a1['dbId']?await getDbName(_0x3b69d9['appCode'],_0x4637a1[_0x2da8c0(0x1f1)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x4637a1[_0x2da8c0(0x1e8)],'sqlName':_0x4637a1[_0x2da8c0(0x1e4)],'db':_0x4ea288?_0x4ea288+'\x20('+_0x4637a1[_0x2da8c0(0x1f1)]+')':_0x4637a1[_0x2da8c0(0x1f1)]??'','description':_0x4637a1[_0x2da8c0(0x1e5)]??'','sqlContent':_0x4637a1[_0x2da8c0(0x1f5)]??''}};}};
@@ -1 +1 @@
1
- const a133_0x5b7fae=a133_0xaed9;(function(_0x4bd2ce,_0x356790){const _0x5828fc=a133_0xaed9,_0x5acd71=_0x4bd2ce();while(!![]){try{const _0x40ceef=-parseInt(_0x5828fc(0x7f))/0x1+-parseInt(_0x5828fc(0x8b))/0x2*(-parseInt(_0x5828fc(0x88))/0x3)+parseInt(_0x5828fc(0x87))/0x4+parseInt(_0x5828fc(0x8e))/0x5+-parseInt(_0x5828fc(0x8a))/0x6+parseInt(_0x5828fc(0x80))/0x7+parseInt(_0x5828fc(0x85))/0x8*(parseInt(_0x5828fc(0x7c))/0x9);if(_0x40ceef===_0x356790)break;else _0x5acd71['push'](_0x5acd71['shift']());}catch(_0x570a89){_0x5acd71['push'](_0x5acd71['shift']());}}}(a133_0x536f,0x4f6a3));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a133_0x536f(){const _0x152b22=['now','16KOhoNy','sqlcode','270908aGHhMz','105MkdvBY','sql','3623034dIiegN','7258rTwgxi','SQL\x20execution\x20failed','execError','2656980RfJDhl','length','appCode','\x20row(s)\x20in\x20','1402425xwGWru','str','params','599796YkEMVP','3437910BsuSck','string','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','execSuccess'];a133_0x536f=function(){return _0x152b22;};return a133_0x536f();}function a133_0xaed9(_0x40f4e1,_0x4b0feb){_0x40f4e1=_0x40f4e1-0x7c;const _0x536f9e=a133_0x536f();let _0xaed9d5=_0x536f9e[_0x40f4e1];return _0xaed9d5;}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a133_0x5b7fae(0x89),'command':'exec','description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':'params','type':a133_0x5b7fae(0x81),'description':a133_0x5b7fae(0x82)}],async 'execute'(_0x4ae3fe){const _0x1e88d6=a133_0x5b7fae,_0x20a7b1=parseJsonParams(_0x4ae3fe['str'](_0x1e88d6(0x7e))),_0x2ab0a0=Date['now'](),_0x1c2b50=await executeSql(_0x4ae3fe[_0x1e88d6(0x90)],_0x4ae3fe[_0x1e88d6(0x7d)](_0x1e88d6(0x86)),_0x20a7b1),_0x536877=Date[_0x1e88d6(0x84)]()-_0x2ab0a0,_0x4b705=_0x1c2b50?.['execResult']??_0x1c2b50,_0x3d5382=_0x1c2b50?.[_0x1e88d6(0x83)]??!![];if(!_0x3d5382)return{'ok':![],'data':{'error':_0x1c2b50?.[_0x1e88d6(0x8d)]||'SQL\x20execution\x20failed','elapsed':_0x536877},'message':_0x1e88d6(0x8c)};const _0x3a180d=Array['isArray'](_0x4b705)?_0x4b705:[];return{'ok':!![],'data':{'rows':_0x3a180d,'rowCount':_0x3a180d[_0x1e88d6(0x8f)],'elapsed':_0x536877},'message':'Returned\x20'+_0x3a180d['length']+_0x1e88d6(0x91)+_0x536877+'ms'};}};
1
+ function a133_0x4c41(_0x2a6f43,_0xbc40a7){_0x2a6f43=_0x2a6f43-0xbb;const _0x25ed21=a133_0x25ed();let _0x4c41e6=_0x25ed21[_0x2a6f43];return _0x4c41e6;}const a133_0xbf1739=a133_0x4c41;function a133_0x25ed(){const _0x2fd8bf=['48063IXMAOu','now','exec','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','\x20row(s)\x20in\x20','appCode','read','sqlcode','1414520wouyCg','Returned\x20','execError','string','length','SQL\x20execution\x20failed','params','662900SMPtvT','8eVUWAp','sql','execSuccess','20NFzARy','2581464FMiazT','14775777qZGtok','execResult','isArray','2197674pndaam','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','725548JwkAgr'];a133_0x25ed=function(){return _0x2fd8bf;};return a133_0x25ed();}(function(_0xb999f4,_0x312e81){const _0x4dca66=a133_0x4c41,_0x3e78a8=_0xb999f4();while(!![]){try{const _0x5aedeb=-parseInt(_0x4dca66(0xc6))/0x1+parseInt(_0x4dca66(0xc0))/0x2+parseInt(_0x4dca66(0xc7))/0x3+-parseInt(_0x4dca66(0xbf))/0x4*(-parseInt(_0x4dca66(0xcf))/0x5)+parseInt(_0x4dca66(0xc4))/0x6+parseInt(_0x4dca66(0xbb))/0x7+-parseInt(_0x4dca66(0xbc))/0x8*(parseInt(_0x4dca66(0xc1))/0x9);if(_0x5aedeb===_0x312e81)break;else _0x3e78a8['push'](_0x3e78a8['shift']());}catch(_0x5dccbe){_0x3e78a8['push'](_0x3e78a8['shift']());}}}(a133_0x25ed,0xc6f67));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a133_0xbf1739(0xbd),'command':a133_0xbf1739(0xc9),'description':a133_0xbf1739(0xca),'risk':a133_0xbf1739(0xcd),'flags':[SQLCODE_FLAG,{'name':'params','type':a133_0xbf1739(0xd2),'description':a133_0xbf1739(0xc5)}],async 'execute'(_0x153069){const _0x5c9624=a133_0xbf1739,_0x4402d2=parseJsonParams(_0x153069['str'](_0x5c9624(0xd5))),_0x589ede=Date[_0x5c9624(0xc8)](),_0x3c2a21=await executeSql(_0x153069[_0x5c9624(0xcc)],_0x153069['str'](_0x5c9624(0xce)),_0x4402d2),_0x2dd048=Date[_0x5c9624(0xc8)]()-_0x589ede,_0x2d2b92=_0x3c2a21?.[_0x5c9624(0xc2)]??_0x3c2a21,_0x1e8257=_0x3c2a21?.[_0x5c9624(0xbe)]??!![];if(!_0x1e8257)return{'ok':![],'data':{'error':_0x3c2a21?.[_0x5c9624(0xd1)]||_0x5c9624(0xd4),'elapsed':_0x2dd048},'message':_0x5c9624(0xd4)};const _0x39d411=Array[_0x5c9624(0xc3)](_0x2d2b92)?_0x2d2b92:[];return{'ok':!![],'data':{'rows':_0x39d411,'rowCount':_0x39d411[_0x5c9624(0xd3)],'elapsed':_0x2dd048},'message':_0x5c9624(0xd0)+_0x39d411[_0x5c9624(0xd3)]+_0x5c9624(0xcb)+_0x2dd048+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x15975a,_0x2ccd36){const _0x58ce89=a134_0xb5f5,_0x3aa22e=_0x15975a();while(!![]){try{const _0x194b14=parseInt(_0x58ce89(0x117))/0x1+parseInt(_0x58ce89(0x11c))/0x2*(parseInt(_0x58ce89(0x116))/0x3)+-parseInt(_0x58ce89(0x114))/0x4+-parseInt(_0x58ce89(0x118))/0x5+-parseInt(_0x58ce89(0x119))/0x6*(-parseInt(_0x58ce89(0x11d))/0x7)+parseInt(_0x58ce89(0x11a))/0x8+parseInt(_0x58ce89(0x115))/0x9*(-parseInt(_0x58ce89(0x11b))/0xa);if(_0x194b14===_0x2ccd36)break;else _0x3aa22e['push'](_0x3aa22e['shift']());}catch(_0x2d4a1b){_0x3aa22e['push'](_0x3aa22e['shift']());}}}(a134_0x33e2,0xf4148));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a134_0x33e2(){const _0xdfc915=['1905792ZUlFaJ','31495599TTLERQ','39JBqcoM','1115045PzYSTj','2007835AEHpRO','486PeGePC','14051080efLtiM','10gQBbPA','146266xJtpRL','134393BpiRKz'];a134_0x33e2=function(){return _0xdfc915;};return a134_0x33e2();}import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a134_0xb5f5(_0x2f90bb,_0x30b4af){_0x2f90bb=_0x2f90bb-0x114;const _0x33e233=a134_0x33e2();let _0xb5f57c=_0x33e233[_0x2f90bb];return _0xb5f57c;}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,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x56251b,_0x14fa21){const _0x2c345f=a134_0x41ea,_0xdd4fe7=_0x56251b();while(!![]){try{const _0x282286=parseInt(_0x2c345f(0x14b))/0x1+-parseInt(_0x2c345f(0x144))/0x2*(parseInt(_0x2c345f(0x148))/0x3)+-parseInt(_0x2c345f(0x149))/0x4+-parseInt(_0x2c345f(0x146))/0x5*(parseInt(_0x2c345f(0x147))/0x6)+-parseInt(_0x2c345f(0x143))/0x7*(parseInt(_0x2c345f(0x142))/0x8)+parseInt(_0x2c345f(0x14a))/0x9*(parseInt(_0x2c345f(0x145))/0xa)+parseInt(_0x2c345f(0x141))/0xb;if(_0x282286===_0x14fa21)break;else _0xdd4fe7['push'](_0xdd4fe7['shift']());}catch(_0x2e0762){_0xdd4fe7['push'](_0xdd4fe7['shift']());}}}(a134_0x11b8,0x48eb5));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.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 a134_0x11b8(){const _0x3d8dcc=['168143CRVbSu','12586640LdZzEG','613840hnvfvD','28lwjYOZ','446PMKXWH','151030gPTgwC','60ReZqqs','184638uNkDkW','5721ZZvtGI','978060SeCBOV','198XxAaKX'];a134_0x11b8=function(){return _0x3d8dcc;};return a134_0x11b8();}import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a134_0x41ea(_0x532adc,_0x4b9c2c){_0x532adc=_0x532adc-0x141;const _0x11b828=a134_0x11b8();let _0x41ea3f=_0x11b828[_0x532adc];return _0x41ea3f;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a135_0x3b34cf=a135_0xaffc;(function(_0x2625a6,_0x1c9c0d){const _0x5ebad9=a135_0xaffc,_0x25723e=_0x2625a6();while(!![]){try{const _0x592605=parseInt(_0x5ebad9(0xed))/0x1+parseInt(_0x5ebad9(0xee))/0x2+-parseInt(_0x5ebad9(0xff))/0x3+-parseInt(_0x5ebad9(0xea))/0x4*(parseInt(_0x5ebad9(0x10a))/0x5)+parseInt(_0x5ebad9(0xf4))/0x6*(-parseInt(_0x5ebad9(0xfd))/0x7)+-parseInt(_0x5ebad9(0xf5))/0x8+parseInt(_0x5ebad9(0x107))/0x9;if(_0x592605===_0x1c9c0d)break;else _0x25723e['push'](_0x25723e['shift']());}catch(_0x399cee){_0x25723e['push'](_0x25723e['shift']());}}}(a135_0x12b8,0xa1f6e));function a135_0x12b8(){const _0x5a258a=['list','page','length','all','boolean','sqlcode','11790801eMBxZT','read','name','3935ZBQsFq','appCode','No\x20custom\x20SQL\x20queries\x20found.','sqlName','paging','Filter\x20by\x20SQL\x20name','2636iBbtVo','List\x20custom\x20SQL\x20queries','pagesize','865268bfedOY','2164100GtKaeb','Page\x20size','number','verbose','bool','num','1386FZVFBu','6390632EWNcOG','map','Found\x20','totalCount','dbId','Page\x20number','str','\x20SQL\x20queries\x20(total:\x20','22295DKtlsT','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','1622412VRvvAs','sqlCode'];a135_0x12b8=function(){return _0x5a258a;};return a135_0x12b8();}import{listSqlQueries}from'../../core/api-client.js';function a135_0xaffc(_0x58c199,_0x5e9c84){_0x58c199=_0x58c199-0xe7;const _0x12b82b=a135_0x12b8();let _0xaffcbf=_0x12b82b[_0x58c199];return _0xaffcbf;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':a135_0x3b34cf(0x101),'description':a135_0x3b34cf(0xeb),'risk':a135_0x3b34cf(0x108),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a135_0x3b34cf(0x109),'type':'string','description':a135_0x3b34cf(0xe9)},{'name':'page','type':a135_0x3b34cf(0xf0),'description':a135_0x3b34cf(0xfa),'default':0x1},{'name':a135_0x3b34cf(0xec),'type':a135_0x3b34cf(0xf0),'description':a135_0x3b34cf(0xef)},{'name':a135_0x3b34cf(0xf1),'type':a135_0x3b34cf(0x105),'description':a135_0x3b34cf(0xfe)}],async 'execute'(_0x306808){const _0x4b1df4=a135_0x3b34cf,_0x5ca5cc=await listSqlQueries(_0x306808[_0x4b1df4(0x10b)],{'sqlCode':_0x306808[_0x4b1df4(0xfb)](_0x4b1df4(0x106))||undefined,'sqlName':_0x306808['str'](_0x4b1df4(0x109))||undefined,'currentPage':_0x306808['num'](_0x4b1df4(0x102)),'pageSize':_0x306808[_0x4b1df4(0xf3)]('pagesize',0x32)}),_0x26f24d=_0x306808[_0x4b1df4(0xf2)](_0x4b1df4(0xf1)),_0x1626fb=_0x5ca5cc['tableData']??[],_0x3e1536=_0x5ca5cc[_0x4b1df4(0xe8)]?.[_0x4b1df4(0xf8)]??_0x1626fb['length'];let _0x5d627a;return _0x26f24d?_0x5d627a=_0x1626fb:_0x5d627a=await Promise[_0x4b1df4(0x104)](_0x1626fb[_0x4b1df4(0xf6)](async _0x32ed03=>{const _0x517083=_0x4b1df4;let _0x408970;try{_0x408970=_0x32ed03[_0x517083(0xf9)]?await getDbName(_0x306808[_0x517083(0x10b)],_0x32ed03['dbId']):undefined;}catch{}return{'sqlCode':_0x32ed03[_0x517083(0x100)],'sqlName':_0x32ed03[_0x517083(0xe7)],'description':_0x32ed03['description']??'','db':_0x408970?_0x408970+'\x20('+_0x32ed03[_0x517083(0xf9)]+')':_0x32ed03[_0x517083(0xf9)]??''};})),{'ok':!![],'data':_0x5d627a,'message':_0x1626fb[_0x4b1df4(0x103)]===0x0?_0x4b1df4(0x10c):_0x4b1df4(0xf7)+_0x1626fb[_0x4b1df4(0x103)]+_0x4b1df4(0xfc)+_0x3e1536+').'};}};
1
+ function a135_0x4b89(_0x2ba66a,_0x5b4dd2){_0x2ba66a=_0x2ba66a-0xbf;const _0x4ca5e6=a135_0x4ca5();let _0x4b89b6=_0x4ca5e6[_0x2ba66a];return _0x4b89b6;}const a135_0x2fe4aa=a135_0x4b89;function a135_0x4ca5(){const _0x47b4aa=['1978110WwbitD','all','str','722813YSNylS','2329265Hcfztx','Page\x20size','9794936OMutVM','tableData','pagesize','Filter\x20by\x20SQL\x20name','Found\x20','num','description','string','read','331084PkZUIh','List\x20custom\x20SQL\x20queries','number','list','\x20SQL\x20queries\x20(total:\x20','11501CGUdWx','sqlName','1565760pXraGq','length','appCode','map','page','No\x20custom\x20SQL\x20queries\x20found.','bool','name','82xzfWKS','dbId','sql','sqlcode','verbose','totalCount'];a135_0x4ca5=function(){return _0x47b4aa;};return a135_0x4ca5();}(function(_0x24bc16,_0x5e6d16){const _0x31770b=a135_0x4b89,_0x4e9050=_0x24bc16();while(!![]){try{const _0x1116f7=parseInt(_0x31770b(0xdf))/0x1*(-parseInt(_0x31770b(0xc5))/0x2)+-parseInt(_0x31770b(0xcb))/0x3+-parseInt(_0x31770b(0xda))/0x4+parseInt(_0x31770b(0xcf))/0x5+parseInt(_0x31770b(0xe1))/0x6+-parseInt(_0x31770b(0xce))/0x7+parseInt(_0x31770b(0xd1))/0x8;if(_0x1116f7===_0x5e6d16)break;else _0x4e9050['push'](_0x4e9050['shift']());}catch(_0x1a6af4){_0x4e9050['push'](_0x4e9050['shift']());}}}(a135_0x4ca5,0x9ad7f));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a135_0x2fe4aa(0xc7),'command':a135_0x2fe4aa(0xdd),'description':a135_0x2fe4aa(0xdb),'risk':a135_0x2fe4aa(0xd9),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a135_0x2fe4aa(0xc4),'type':a135_0x2fe4aa(0xd8),'description':a135_0x2fe4aa(0xd4)},{'name':a135_0x2fe4aa(0xc1),'type':'number','description':'Page\x20number','default':0x1},{'name':a135_0x2fe4aa(0xd3),'type':a135_0x2fe4aa(0xdc),'description':a135_0x2fe4aa(0xd0)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x59da3d){const _0x41be13=a135_0x2fe4aa,_0x426688=await listSqlQueries(_0x59da3d['appCode'],{'sqlCode':_0x59da3d[_0x41be13(0xcd)](_0x41be13(0xc8))||undefined,'sqlName':_0x59da3d['str']('name')||undefined,'currentPage':_0x59da3d[_0x41be13(0xd6)](_0x41be13(0xc1)),'pageSize':_0x59da3d[_0x41be13(0xd6)](_0x41be13(0xd3),0x32)}),_0x249294=_0x59da3d[_0x41be13(0xc3)](_0x41be13(0xc9)),_0x77bada=_0x426688[_0x41be13(0xd2)]??[],_0xa94052=_0x426688['paging']?.[_0x41be13(0xca)]??_0x77bada[_0x41be13(0xe2)];let _0x394cfd;return _0x249294?_0x394cfd=_0x77bada:_0x394cfd=await Promise[_0x41be13(0xcc)](_0x77bada[_0x41be13(0xc0)](async _0x287f24=>{const _0x52ed5d=_0x41be13;let _0x355b90;try{_0x355b90=_0x287f24[_0x52ed5d(0xc6)]?await getDbName(_0x59da3d[_0x52ed5d(0xbf)],_0x287f24[_0x52ed5d(0xc6)]):undefined;}catch{}return{'sqlCode':_0x287f24['sqlCode'],'sqlName':_0x287f24[_0x52ed5d(0xe0)],'description':_0x287f24[_0x52ed5d(0xd7)]??'','db':_0x355b90?_0x355b90+'\x20('+_0x287f24[_0x52ed5d(0xc6)]+')':_0x287f24['dbId']??''};})),{'ok':!![],'data':_0x394cfd,'message':_0x77bada[_0x41be13(0xe2)]===0x0?_0x41be13(0xc2):_0x41be13(0xd5)+_0x77bada[_0x41be13(0xe2)]+_0x41be13(0xde)+_0xa94052+').'};}};
@@ -1 +1 @@
1
- const a136_0x5549d3=a136_0x24b6;(function(_0x14ead0,_0x28d9fa){const _0x4e2093=a136_0x24b6,_0x444f2b=_0x14ead0();while(!![]){try{const _0x540678=-parseInt(_0x4e2093(0x11d))/0x1+parseInt(_0x4e2093(0x12f))/0x2*(-parseInt(_0x4e2093(0x103))/0x3)+parseInt(_0x4e2093(0x112))/0x4*(parseInt(_0x4e2093(0x12e))/0x5)+-parseInt(_0x4e2093(0x127))/0x6+parseInt(_0x4e2093(0x13b))/0x7+-parseInt(_0x4e2093(0x111))/0x8+parseInt(_0x4e2093(0x131))/0x9;if(_0x540678===_0x28d9fa)break;else _0x444f2b['push'](_0x444f2b['shift']());}catch(_0x2b4844){_0x444f2b['push'](_0x444f2b['shift']());}}}(a136_0x4085,0x7e4f2));function a136_0x24b6(_0x472b5a,_0x2ee63a){_0x472b5a=_0x472b5a-0x101;const _0x408526=a136_0x4085();let _0x24b66c=_0x408526[_0x472b5a];return _0x24b66c;}import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a136_0x4085(){const _0x11b4ef=['mybatisXml','Would\x20pull\x20','POST','Force\x20overwrite\x20local\x20unsynced\x20changes','skipped','catch','833165Krepiq','58WzFaEp','totalCount','3878118iaOSWA','pull','lockFilePath','Filter\x20by\x20SQL\x20display\x20name','sqlContent','filter','bool','description','local\x20differs\x20from\x20remote','sqlRoot','3735543IvtVJI','split','sqlcode','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','boolean','60633YPBvbP','\x20SQL\x20file(s)\x20into\x20','sql','dbId','test','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','force','No\x20remote\x20SQL\x20queries\x20matched.','would_pull','Force\x20pull\x20cancelled.','utf8','\x20written,\x20','Pull\x20complete:\x20','sqlRootDir','1841064IDKUTL','20OhwFEd','write','lastSync','unchanged','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','name','push','tableData','string','str','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','92345DAsWOa','paging','sqlName','length','cancelled','toISOString','sqlCode','path','\x20skipped,\x20','appCode','2230542eutmIx'];a136_0x4085=function(){return _0x11b4ef;};return a136_0x4085();}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(_0x45c9c7,_0x4ba87f){const _0x1212df=a136_0x24b6,_0x5e728d=[];let _0xbc7fe0=0x1;while(!![]){const _0x5ead64=await listSqlQueries(_0x45c9c7,{'currentPage':_0xbc7fe0,'pageSize':PAGE_SIZE,'sqlCode':_0x4ba87f[_0x1212df(0x123)],'sqlName':_0x4ba87f[_0x1212df(0x11f)]}),_0x4d0529=_0x5ead64[_0x1212df(0x119)]??[];_0x5e728d['push'](..._0x4d0529);if(_0x4d0529[_0x1212df(0x120)]===0x0)break;const _0x281c98=_0x5ead64[_0x1212df(0x11e)]?.[_0x1212df(0x130)];if(_0x281c98!=null?_0x5e728d[_0x1212df(0x120)]>=_0x281c98:_0x4d0529['length']<PAGE_SIZE)break;_0xbc7fe0++;}return _0x5e728d;}async function ensureSqlContent(_0x445242){const _0x2e328d=a136_0x24b6;if(_0x445242[_0x2e328d(0x135)]!=null&&String(_0x445242[_0x2e328d(0x135)])['length']>0x0)return _0x445242;return getSqlQueryDetail(_0x445242[_0x2e328d(0x123)]);}export const sqlPull={'service':a136_0x5549d3(0x105),'command':a136_0x5549d3(0x132),'description':a136_0x5549d3(0x116),'risk':a136_0x5549d3(0x113),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x5549d3(0x117),'type':a136_0x5549d3(0x11a),'description':a136_0x5549d3(0x134)},{'name':'force','type':a136_0x5549d3(0x102),'description':a136_0x5549d3(0x12b)}],async 'dryRun'(_0x4a9e25){const _0x210da6=a136_0x5549d3,_0xc38489=loadSqlProjectConfig(_0x4a9e25['appCode']),_0x76bc58=await readSqlLockFile(_0xc38489[_0x210da6(0x133)]),{appLock:_0x5462a8}=ensureSqlLockScope(_0x76bc58??createEmptySqlLock(),_0xc38489[_0x210da6(0x126)],_0xc38489['sqlRoot'],'pull'),_0x377dc0=await fetchAllSqlQueries(_0x4a9e25[_0x210da6(0x126)],{'sqlCode':_0x4a9e25['str'](_0x210da6(0x13d))||undefined,'sqlName':_0x4a9e25[_0x210da6(0x11b)]('name')||undefined}),_0x394521=[];for(const _0x47661e of _0x377dc0){const _0x16349a=await ensureSqlContent(_0x47661e),_0x5e8395=ensureRemoteSqlContent(_0x16349a),_0x2db08a=detectModeFromSql(_0x16349a),_0x29b55d=_0x16349a[_0x210da6(0x106)]?await getDbName(_0x4a9e25['appCode'],Number(_0x16349a[_0x210da6(0x106)]))['catch'](()=>undefined):undefined,_0x2da5f6=buildLocalSqlFileContent({'sqlCode':_0x16349a[_0x210da6(0x123)],'sqlName':_0x16349a['sqlName'],'dbId':_0x16349a['dbId']},_0x5e8395,{'dbName':_0x29b55d,'mode':_0x2db08a,'syncedAt':new Date()[_0x210da6(0x122)](),'description':_0x16349a[_0x210da6(0x138)]}),_0x321309=buildSqlLockEntry(_0x16349a,_0x5e8395,'',{'dbName':_0x29b55d}),_0x57e96a=resolveLocalSqlFilePath(_0xc38489,_0x16349a[_0x210da6(0x123)],_0x321309);let _0xcd85e2=_0x210da6(0x10b),_0x46c4eb;if(await fileExists(_0x57e96a)){const _0x1f0a59=await readFile(_0x57e96a,_0x210da6(0x10d));isEquivalentPulledSqlFile(_0x1f0a59,_0x2da5f6,_0x2db08a)?(_0xcd85e2=_0x210da6(0x12c),_0x46c4eb=_0x210da6(0x115)):(_0xcd85e2='conflict',_0x46c4eb=_0x210da6(0x101));}_0x394521['push']({'sqlCode':_0x16349a['sqlCode'],'sqlName':_0x16349a[_0x210da6(0x11f)],'filePath':_0x57e96a,'status':_0xcd85e2,'reason':_0x46c4eb});}return{'method':_0x210da6(0x12a),'url':_0x210da6(0x11c),'body':{'appCode':_0x4a9e25[_0x210da6(0x126)],'sqlCode':_0x4a9e25['str']('sqlcode')||null,'sqlName':_0x4a9e25[_0x210da6(0x11b)](_0x210da6(0x117))||null,'files':_0x394521},'description':_0x210da6(0x129)+_0x394521[_0x210da6(0x120)]+_0x210da6(0x104)+_0xc38489['sqlRootDir']};},async 'execute'(_0x44eee6){const _0x49adab=a136_0x5549d3,_0x54e6b8=loadSqlProjectConfig(_0x44eee6[_0x49adab(0x126)]),_0x1a6d30=await readSqlLockFile(_0x54e6b8['lockFilePath']),{lockData:_0x4f366b,appLock:_0x5561cb}=ensureSqlLockScope(_0x1a6d30??createEmptySqlLock(),_0x54e6b8[_0x49adab(0x126)],_0x54e6b8[_0x49adab(0x13a)],'pull'),_0x908636=_0x44eee6[_0x49adab(0x137)](_0x49adab(0x109)),_0x455ec4=await fetchAllSqlQueries(_0x44eee6[_0x49adab(0x126)],{'sqlCode':_0x44eee6[_0x49adab(0x11b)](_0x49adab(0x13d))||undefined,'sqlName':_0x44eee6['str'](_0x49adab(0x117))||undefined});if(_0x455ec4[_0x49adab(0x120)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x49adab(0x10a)};const _0x477aeb=[],_0x59963d=[];for(const _0x340ab4 of _0x455ec4){try{_0x477aeb[_0x49adab(0x118)](await ensureSqlContent(_0x340ab4));}catch(_0x42b0cd){_0x59963d['push']({'sqlCode':_0x340ab4[_0x49adab(0x123)],'error':_0x42b0cd instanceof Error?_0x42b0cd['message']:String(_0x42b0cd)});}}if(_0x908636&&!_0x44eee6['nonInteractive']){let _0x381ebb=![];for(const _0x503270 of _0x477aeb){const _0x598dfc=detectModeFromSql(_0x503270),_0x1b1ad9=_0x503270[_0x49adab(0x106)]?await getDbName(_0x44eee6[_0x49adab(0x126)],Number(_0x503270[_0x49adab(0x106)]))['catch'](()=>undefined):undefined,_0x3b6e25=buildLocalSqlFileContent({'sqlCode':_0x503270[_0x49adab(0x123)],'sqlName':_0x503270['sqlName'],'dbId':_0x503270['dbId']},ensureRemoteSqlContent(_0x503270),{'dbName':_0x1b1ad9,'mode':_0x598dfc,'syncedAt':new Date()[_0x49adab(0x122)](),'description':_0x503270[_0x49adab(0x138)]}),_0x27e0ff=resolveLocalSqlFilePath(_0x54e6b8,_0x503270[_0x49adab(0x123)],buildSqlLockEntry(_0x503270,ensureRemoteSqlContent(_0x503270),'',{'dbName':_0x1b1ad9}));if(await fileExists(_0x27e0ff)){const _0x346cc0=await readFile(_0x27e0ff,_0x49adab(0x10d));if(!isEquivalentPulledSqlFile(_0x346cc0,_0x3b6e25,_0x598dfc)){_0x381ebb=!![];break;}}}if(_0x381ebb){const _0x3b4097=await confirmForceOverwrite(_0x49adab(0x108));if(!_0x3b4097)throw CliErrors[_0x49adab(0x121)](_0x49adab(0x10c));}}const _0x56752d=cloneSqlLockData(_0x4f366b),_0x27ea4c=_0x56752d['apps'][_0x54e6b8[_0x49adab(0x126)]],_0x301933=[],_0x484f1a=[];for(const _0x148e39 of _0x477aeb){const _0x3af83a=_0x27ea4c['sqls'][_0x148e39[_0x49adab(0x123)]],_0xb3f5a=ensureRemoteSqlContent(_0x148e39),_0x4ad4dc=detectModeFromSql(_0x148e39),_0x1fd6c7=_0x148e39[_0x49adab(0x106)]?await getDbName(_0x44eee6[_0x49adab(0x126)],Number(_0x148e39[_0x49adab(0x106)]))[_0x49adab(0x12d)](()=>undefined):undefined,_0x169fd9=buildLocalSqlFileContent({'sqlCode':_0x148e39['sqlCode'],'sqlName':_0x148e39[_0x49adab(0x11f)],'dbId':_0x148e39[_0x49adab(0x106)]},_0xb3f5a,{'dbName':_0x1fd6c7,'mode':_0x4ad4dc,'syncedAt':new Date()[_0x49adab(0x122)](),'description':_0x148e39[_0x49adab(0x138)]}),_0x1ac33e=buildSqlLockEntry(_0x148e39,_0xb3f5a,computeSqlContentHash(_0x169fd9),{'dbName':_0x1fd6c7}),_0xe216a7=_0x1ac33e[_0x49adab(0x124)],_0x45f202=join(_0x54e6b8[_0x49adab(0x110)],_0xe216a7);try{if(await fileExists(_0x45f202)){const _0x33efe9=await readFile(_0x45f202,_0x49adab(0x10d));if(isEquivalentPulledSqlFile(_0x33efe9,_0x169fd9,_0x4ad4dc)){_0x484f1a[_0x49adab(0x118)]({'sqlCode':_0x148e39[_0x49adab(0x123)],'reason':_0x49adab(0x115)}),_0x27ea4c['sqls'][_0x148e39[_0x49adab(0x123)]]={..._0x1ac33e,'hash':computeSqlContentHash(_0x33efe9),'path':_0xe216a7};continue;}if(!_0x908636){_0x484f1a['push']({'sqlCode':_0x148e39[_0x49adab(0x123)],'reason':_0x49adab(0x139)});continue;}}const _0x3e82e0=_0x3af83a?.[_0x49adab(0x124)]?join(_0x54e6b8[_0x49adab(0x110)],_0x3af83a[_0x49adab(0x124)]):undefined;_0x3e82e0&&_0x3e82e0!==_0x45f202&&await fileExists(_0x3e82e0)&&await rm(_0x3e82e0,{'force':!![]}),await ensureParentDirectory(_0x45f202),await writeFile(_0x45f202,_0x169fd9,_0x49adab(0x10d)),_0x27ea4c['sqls'][_0x148e39[_0x49adab(0x123)]]={..._0x1ac33e,'path':_0xe216a7},_0x301933[_0x49adab(0x118)]({'sqlCode':_0x148e39[_0x49adab(0x123)],'filePath':_0x45f202});}catch(_0x2b8786){_0x59963d[_0x49adab(0x118)]({'sqlCode':_0x148e39[_0x49adab(0x123)],'error':_0x2b8786 instanceof Error?_0x2b8786['message']:String(_0x2b8786)});}}return _0x27ea4c[_0x49adab(0x114)]=new Date()[_0x49adab(0x122)](),await writeSqlLockFile(_0x54e6b8[_0x49adab(0x133)],_0x56752d),{'ok':_0x59963d[_0x49adab(0x120)]===0x0,'data':{'pulled':_0x301933,'skipped':_0x484f1a,'failed':_0x59963d},'message':_0x49adab(0x10f)+_0x301933[_0x49adab(0x120)]+_0x49adab(0x10e)+_0x484f1a['length']+_0x49adab(0x125)+_0x59963d[_0x49adab(0x120)]+'\x20failed'};}};function detectModeFromSql(_0x4f1fee){const _0x2542f5=a136_0x5549d3,_0x46823c=ensureRemoteSqlContent(_0x4f1fee),_0x45c8b8=stripLocalSqlMetadata(_0x46823c,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0x45c8b8))return'mybatisXml';return _0x2542f5(0x105);}function isEquivalentPulledSqlFile(_0x35fe42,_0x39d971,_0x5394a5){return normalizePullComparableContent(_0x35fe42,_0x5394a5)===normalizePullComparableContent(_0x39d971,_0x5394a5);}function normalizePullComparableContent(_0x704cab,_0x5eaa55){const _0x58b9d2=a136_0x5549d3,_0x13f9c3=_0x704cab['replace'](/\r\n/g,'\x0a')[_0x58b9d2(0x13c)]('\x0a'),_0x3f8f51=_0x13f9c3[_0x58b9d2(0x136)](_0x3beece=>!isSyncedAtMetadataLine(_0x3beece,_0x5eaa55));return _0x3f8f51['join']('\x0a');}function isSyncedAtMetadataLine(_0xae767c,_0x2ac8cb){const _0x507ad5=a136_0x5549d3;if(_0x2ac8cb===_0x507ad5(0x128))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0xae767c);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x507ad5(0x107)](_0xae767c);}
1
+ function a136_0x5433(){const _0x3982c0=['Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','utf8','nonInteractive','lockFilePath','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','No\x20remote\x20SQL\x20queries\x20matched.','local\x20differs\x20from\x20remote','1021509dpqHlt','50bNgqFL','88860rgMSlp','name','apps','totalCount','description','test','\x20failed','Filter\x20by\x20SQL\x20display\x20name','toISOString','string','sqlRoot','sqlCode','dbId','conflict','POST','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','71031kvOlfM','270763bYIoBm','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','2737lnpfRl','sqls','2ABKyjH','write','sqlRootDir','skipped','bool','5224GoxMxL','unchanged','pull','force','Force\x20pull\x20cancelled.','Pull\x20complete:\x20','sqlName','appCode','cancelled','filter','length','546088QUYvLF','str','catch','message','Force\x20overwrite\x20local\x20unsynced\x20changes','split','join','\x20SQL\x20file(s)\x20into\x20','replace','sqlcode','sql','1026530wuzomo','paging','lastSync','sqlContent','mybatisXml','push','path'];a136_0x5433=function(){return _0x3982c0;};return a136_0x5433();}const a136_0x28db64=a136_0x31f2;(function(_0x9cd7ab,_0x188255){const _0x44317f=a136_0x31f2,_0x40f93d=_0x9cd7ab();while(!![]){try{const _0x137065=-parseInt(_0x44317f(0x121))/0x1+-parseInt(_0x44317f(0x125))/0x2*(-parseInt(_0x44317f(0x120))/0x3)+-parseInt(_0x44317f(0x135))/0x4+parseInt(_0x44317f(0x140))/0x5+parseInt(_0x44317f(0x150))/0x6+parseInt(_0x44317f(0x123))/0x7*(-parseInt(_0x44317f(0x12a))/0x8)+parseInt(_0x44317f(0x14e))/0x9*(parseInt(_0x44317f(0x14f))/0xa);if(_0x137065===_0x188255)break;else _0x40f93d['push'](_0x40f93d['shift']());}catch(_0x109940){_0x40f93d['push'](_0x40f93d['shift']());}}}(a136_0x5433,0x244d2));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a136_0x31f2(_0x471aa9,_0x26c34d){_0x471aa9=_0x471aa9-0x114;const _0x543350=a136_0x5433();let _0x31f244=_0x543350[_0x471aa9];return _0x31f244;}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(_0x1e0d69,_0x38b671){const _0x3e1f98=a136_0x31f2,_0x161802=[];let _0x31e2ab=0x1;while(!![]){const _0x49ca80=await listSqlQueries(_0x1e0d69,{'currentPage':_0x31e2ab,'pageSize':PAGE_SIZE,'sqlCode':_0x38b671['sqlCode'],'sqlName':_0x38b671[_0x3e1f98(0x130)]}),_0x347908=_0x49ca80['tableData']??[];_0x161802[_0x3e1f98(0x145)](..._0x347908);if(_0x347908[_0x3e1f98(0x134)]===0x0)break;const _0x22f66e=_0x49ca80[_0x3e1f98(0x141)]?.[_0x3e1f98(0x153)];if(_0x22f66e!=null?_0x161802['length']>=_0x22f66e:_0x347908[_0x3e1f98(0x134)]<PAGE_SIZE)break;_0x31e2ab++;}return _0x161802;}async function ensureSqlContent(_0x5a02ee){const _0x8867a2=a136_0x31f2;if(_0x5a02ee['sqlContent']!=null&&String(_0x5a02ee[_0x8867a2(0x143)])[_0x8867a2(0x134)]>0x0)return _0x5a02ee;return getSqlQueryDetail(_0x5a02ee['sqlCode']);}export const sqlPull={'service':a136_0x28db64(0x13f),'command':a136_0x28db64(0x12c),'description':a136_0x28db64(0x147),'risk':a136_0x28db64(0x126),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x28db64(0x151),'type':a136_0x28db64(0x119),'description':a136_0x28db64(0x117)},{'name':a136_0x28db64(0x12d),'type':'boolean','description':a136_0x28db64(0x139)}],async 'dryRun'(_0x57ec2a){const _0x530a53=a136_0x28db64,_0x55bcf8=loadSqlProjectConfig(_0x57ec2a[_0x530a53(0x131)]),_0x15bd65=await readSqlLockFile(_0x55bcf8[_0x530a53(0x14a)]),{appLock:_0x111e7d}=ensureSqlLockScope(_0x15bd65??createEmptySqlLock(),_0x55bcf8[_0x530a53(0x131)],_0x55bcf8[_0x530a53(0x11a)],_0x530a53(0x12c)),_0x119286=await fetchAllSqlQueries(_0x57ec2a[_0x530a53(0x131)],{'sqlCode':_0x57ec2a[_0x530a53(0x136)](_0x530a53(0x13e))||undefined,'sqlName':_0x57ec2a['str'](_0x530a53(0x151))||undefined}),_0x490d48=[];for(const _0x1f749b of _0x119286){const _0x1ac8a3=await ensureSqlContent(_0x1f749b),_0x42ca3f=ensureRemoteSqlContent(_0x1ac8a3),_0x2f3945=detectModeFromSql(_0x1ac8a3),_0x3f8318=_0x1ac8a3['dbId']?await getDbName(_0x57ec2a[_0x530a53(0x131)],Number(_0x1ac8a3[_0x530a53(0x11c)]))[_0x530a53(0x137)](()=>undefined):undefined,_0x4f0bfe=buildLocalSqlFileContent({'sqlCode':_0x1ac8a3[_0x530a53(0x11b)],'sqlName':_0x1ac8a3[_0x530a53(0x130)],'dbId':_0x1ac8a3[_0x530a53(0x11c)]},_0x42ca3f,{'dbName':_0x3f8318,'mode':_0x2f3945,'syncedAt':new Date()[_0x530a53(0x118)](),'description':_0x1ac8a3['description']}),_0x11d209=buildSqlLockEntry(_0x1ac8a3,_0x42ca3f,'',{'dbName':_0x3f8318}),_0x2f7fd7=resolveLocalSqlFilePath(_0x55bcf8,_0x1ac8a3[_0x530a53(0x11b)],_0x11d209);let _0x275365='would_pull',_0x22dd0c;if(await fileExists(_0x2f7fd7)){const _0x46f93b=await readFile(_0x2f7fd7,'utf8');isEquivalentPulledSqlFile(_0x46f93b,_0x4f0bfe,_0x2f3945)?(_0x275365=_0x530a53(0x128),_0x22dd0c=_0x530a53(0x12b)):(_0x275365=_0x530a53(0x11d),_0x22dd0c=_0x530a53(0x11f));}_0x490d48[_0x530a53(0x145)]({'sqlCode':_0x1ac8a3[_0x530a53(0x11b)],'sqlName':_0x1ac8a3[_0x530a53(0x130)],'filePath':_0x2f7fd7,'status':_0x275365,'reason':_0x22dd0c});}return{'method':_0x530a53(0x11e),'url':_0x530a53(0x122),'body':{'appCode':_0x57ec2a[_0x530a53(0x131)],'sqlCode':_0x57ec2a[_0x530a53(0x136)](_0x530a53(0x13e))||null,'sqlName':_0x57ec2a[_0x530a53(0x136)](_0x530a53(0x151))||null,'files':_0x490d48},'description':'Would\x20pull\x20'+_0x490d48[_0x530a53(0x134)]+_0x530a53(0x13c)+_0x55bcf8[_0x530a53(0x127)]};},async 'execute'(_0x3a8c3f){const _0x6ab451=a136_0x28db64,_0x50e21d=loadSqlProjectConfig(_0x3a8c3f[_0x6ab451(0x131)]),_0xc561ca=await readSqlLockFile(_0x50e21d[_0x6ab451(0x14a)]),{lockData:_0x481acd,appLock:_0x2bfd44}=ensureSqlLockScope(_0xc561ca??createEmptySqlLock(),_0x50e21d[_0x6ab451(0x131)],_0x50e21d[_0x6ab451(0x11a)],_0x6ab451(0x12c)),_0x529081=_0x3a8c3f[_0x6ab451(0x129)](_0x6ab451(0x12d)),_0x47323f=await fetchAllSqlQueries(_0x3a8c3f['appCode'],{'sqlCode':_0x3a8c3f['str']('sqlcode')||undefined,'sqlName':_0x3a8c3f['str']('name')||undefined});if(_0x47323f['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x6ab451(0x14c)};const _0x683ffa=[],_0x265b84=[];for(const _0x45a7c6 of _0x47323f){try{_0x683ffa[_0x6ab451(0x145)](await ensureSqlContent(_0x45a7c6));}catch(_0xc46fb2){_0x265b84[_0x6ab451(0x145)]({'sqlCode':_0x45a7c6[_0x6ab451(0x11b)],'error':_0xc46fb2 instanceof Error?_0xc46fb2['message']:String(_0xc46fb2)});}}if(_0x529081&&!_0x3a8c3f[_0x6ab451(0x149)]){let _0x536387=![];for(const _0x696ddd of _0x683ffa){const _0x2bac00=detectModeFromSql(_0x696ddd),_0x3f7627=_0x696ddd[_0x6ab451(0x11c)]?await getDbName(_0x3a8c3f[_0x6ab451(0x131)],Number(_0x696ddd[_0x6ab451(0x11c)]))[_0x6ab451(0x137)](()=>undefined):undefined,_0x1f42ed=buildLocalSqlFileContent({'sqlCode':_0x696ddd['sqlCode'],'sqlName':_0x696ddd['sqlName'],'dbId':_0x696ddd[_0x6ab451(0x11c)]},ensureRemoteSqlContent(_0x696ddd),{'dbName':_0x3f7627,'mode':_0x2bac00,'syncedAt':new Date()['toISOString'](),'description':_0x696ddd[_0x6ab451(0x114)]}),_0x38dd6d=resolveLocalSqlFilePath(_0x50e21d,_0x696ddd[_0x6ab451(0x11b)],buildSqlLockEntry(_0x696ddd,ensureRemoteSqlContent(_0x696ddd),'',{'dbName':_0x3f7627}));if(await fileExists(_0x38dd6d)){const _0x156815=await readFile(_0x38dd6d,_0x6ab451(0x148));if(!isEquivalentPulledSqlFile(_0x156815,_0x1f42ed,_0x2bac00)){_0x536387=!![];break;}}}if(_0x536387){const _0x3396c1=await confirmForceOverwrite(_0x6ab451(0x14b));if(!_0x3396c1)throw CliErrors[_0x6ab451(0x132)](_0x6ab451(0x12e));}}const _0x404ef8=cloneSqlLockData(_0x481acd),_0x263f5c=_0x404ef8[_0x6ab451(0x152)][_0x50e21d[_0x6ab451(0x131)]],_0x2585b8=[],_0x1933e6=[];for(const _0x39160c of _0x683ffa){const _0x5cd2df=_0x263f5c['sqls'][_0x39160c[_0x6ab451(0x11b)]],_0x209570=ensureRemoteSqlContent(_0x39160c),_0x35e93b=detectModeFromSql(_0x39160c),_0x1ab6fd=_0x39160c[_0x6ab451(0x11c)]?await getDbName(_0x3a8c3f[_0x6ab451(0x131)],Number(_0x39160c[_0x6ab451(0x11c)]))[_0x6ab451(0x137)](()=>undefined):undefined,_0x51ecaf=buildLocalSqlFileContent({'sqlCode':_0x39160c[_0x6ab451(0x11b)],'sqlName':_0x39160c[_0x6ab451(0x130)],'dbId':_0x39160c[_0x6ab451(0x11c)]},_0x209570,{'dbName':_0x1ab6fd,'mode':_0x35e93b,'syncedAt':new Date()[_0x6ab451(0x118)](),'description':_0x39160c[_0x6ab451(0x114)]}),_0x27383b=buildSqlLockEntry(_0x39160c,_0x209570,computeSqlContentHash(_0x51ecaf),{'dbName':_0x1ab6fd}),_0x1c5774=_0x27383b['path'],_0x18dfa6=join(_0x50e21d[_0x6ab451(0x127)],_0x1c5774);try{if(await fileExists(_0x18dfa6)){const _0x4f02bd=await readFile(_0x18dfa6,_0x6ab451(0x148));if(isEquivalentPulledSqlFile(_0x4f02bd,_0x51ecaf,_0x35e93b)){_0x1933e6[_0x6ab451(0x145)]({'sqlCode':_0x39160c[_0x6ab451(0x11b)],'reason':_0x6ab451(0x12b)}),_0x263f5c[_0x6ab451(0x124)][_0x39160c[_0x6ab451(0x11b)]]={..._0x27383b,'hash':computeSqlContentHash(_0x4f02bd),'path':_0x1c5774};continue;}if(!_0x529081){_0x1933e6['push']({'sqlCode':_0x39160c[_0x6ab451(0x11b)],'reason':_0x6ab451(0x14d)});continue;}}const _0x3233fa=_0x5cd2df?.[_0x6ab451(0x146)]?join(_0x50e21d[_0x6ab451(0x127)],_0x5cd2df[_0x6ab451(0x146)]):undefined;_0x3233fa&&_0x3233fa!==_0x18dfa6&&await fileExists(_0x3233fa)&&await rm(_0x3233fa,{'force':!![]}),await ensureParentDirectory(_0x18dfa6),await writeFile(_0x18dfa6,_0x51ecaf,_0x6ab451(0x148)),_0x263f5c[_0x6ab451(0x124)][_0x39160c[_0x6ab451(0x11b)]]={..._0x27383b,'path':_0x1c5774},_0x2585b8[_0x6ab451(0x145)]({'sqlCode':_0x39160c['sqlCode'],'filePath':_0x18dfa6});}catch(_0x28fd0e){_0x265b84[_0x6ab451(0x145)]({'sqlCode':_0x39160c[_0x6ab451(0x11b)],'error':_0x28fd0e instanceof Error?_0x28fd0e[_0x6ab451(0x138)]:String(_0x28fd0e)});}}return _0x263f5c[_0x6ab451(0x142)]=new Date()['toISOString'](),await writeSqlLockFile(_0x50e21d[_0x6ab451(0x14a)],_0x404ef8),{'ok':_0x265b84[_0x6ab451(0x134)]===0x0,'data':{'pulled':_0x2585b8,'skipped':_0x1933e6,'failed':_0x265b84},'message':_0x6ab451(0x12f)+_0x2585b8[_0x6ab451(0x134)]+'\x20written,\x20'+_0x1933e6[_0x6ab451(0x134)]+'\x20skipped,\x20'+_0x265b84['length']+_0x6ab451(0x116)};}};function detectModeFromSql(_0x23b2d7){const _0x808cf9=a136_0x28db64,_0x480a90=ensureRemoteSqlContent(_0x23b2d7),_0x442796=stripLocalSqlMetadata(_0x480a90,_0x808cf9(0x144))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x808cf9(0x115)](_0x442796))return _0x808cf9(0x144);return _0x808cf9(0x13f);}function isEquivalentPulledSqlFile(_0x369609,_0x4c80c0,_0x583134){return normalizePullComparableContent(_0x369609,_0x583134)===normalizePullComparableContent(_0x4c80c0,_0x583134);}function normalizePullComparableContent(_0x3ec4fd,_0x5964ba){const _0x103f77=a136_0x28db64,_0x3f7bea=_0x3ec4fd[_0x103f77(0x13d)](/\r\n/g,'\x0a')[_0x103f77(0x13a)]('\x0a'),_0x140ce8=_0x3f7bea[_0x103f77(0x133)](_0x100460=>!isSyncedAtMetadataLine(_0x100460,_0x5964ba));return _0x140ce8[_0x103f77(0x13b)]('\x0a');}function isSyncedAtMetadataLine(_0x21acd2,_0x3b451d){const _0x26035c=a136_0x28db64;if(_0x3b451d==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x26035c(0x115)](_0x21acd2);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x21acd2);}
@@ -1 +1 @@
1
- const a137_0x212dcb=a137_0x4618;function a137_0x4618(_0x3eee4a,_0x5e46f5){_0x3eee4a=_0x3eee4a-0xb6;const _0x1adf53=a137_0x1adf();let _0x4618b6=_0x1adf53[_0x3eee4a];return _0x4618b6;}(function(_0x156658,_0x14fe7c){const _0x1593a9=a137_0x4618,_0x39525c=_0x156658();while(!![]){try{const _0x1c9fc5=-parseInt(_0x1593a9(0xb9))/0x1*(-parseInt(_0x1593a9(0xdd))/0x2)+parseInt(_0x1593a9(0xee))/0x3*(parseInt(_0x1593a9(0xbd))/0x4)+-parseInt(_0x1593a9(0xc7))/0x5*(-parseInt(_0x1593a9(0xf1))/0x6)+-parseInt(_0x1593a9(0xc1))/0x7+-parseInt(_0x1593a9(0xde))/0x8+parseInt(_0x1593a9(0xbe))/0x9*(parseInt(_0x1593a9(0xc3))/0xa)+-parseInt(_0x1593a9(0xf6))/0xb;if(_0x1c9fc5===_0x14fe7c)break;else _0x39525c['push'](_0x39525c['shift']());}catch(_0x47c3aa){_0x39525c['push'](_0x39525c['shift']());}}}(a137_0x1adf,0x7b8a3));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';function a137_0x1adf(){const _0x33b419=['path','join','Push\x20local\x20SQL\x20files\x20to\x20remote','utf8','sqls','isFinite','Local\x20SQL\x20not\x20found:\x20','Push\x20complete:\x20','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x20failed','unchanged','dbDirectory','sqlRoot','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlCode','293466NmEyzF','boolean','entries','618sgujuY','exec','lockFilePath','relativePath','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','7602639zHSYjt','hash','str','catch','mode','\x20skipped,\x20','185cJqSOz','push','dbName','\x20SQL\x20file(s)','12rIrSIf','228141YoTYMx','force','/smartapi/custom/updateUserCustomSql','1271669oZSVIj','filePath','210BmlyFp','get','startsWith','lastSync','15445mXvCKe','appCode','version','remoteId','sqlName','\x22\x20for\x20sqlCode\x20','bool','trashDir','POST','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','replace','sqlcode','\x20pushed,\x20','filter','sqlRootDir','length','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','dbId','sql','map','validation','No\x20local\x20SQL\x20files\x20found.','6710ExqgJd','3086416BBJMij'];a137_0x1adf=function(){return _0x33b419;};return a137_0x1adf();}async function getTargetSqlQueries(_0x3d6f71,_0x17706e,_0x5c0225){const _0x310b55=a137_0x4618,_0x30ef00=await scanLocalSqlQueries(_0x3d6f71),_0x51a686=new Map();for(const _0x48dc26 of _0x30ef00){if(_0x5c0225&&_0x48dc26[_0x310b55(0xed)]!==_0x5c0225)continue;const _0x222c32=_0x51a686[_0x310b55(0xc4)](_0x48dc26[_0x310b55(0xed)])??[];_0x222c32['push'](_0x48dc26),_0x51a686['set'](_0x48dc26[_0x310b55(0xed)],_0x222c32);}if(_0x5c0225&&!_0x51a686['has'](_0x5c0225))throw CliErrors['validation'](_0x310b55(0xe5)+_0x5c0225);const _0x288f8c=[];for(const [_0x131ead,_0x1c2a6e]of _0x51a686[_0x310b55(0xf0)]()){if(_0x1c2a6e[_0x310b55(0xd6)]===0x1){_0x288f8c[_0x310b55(0xba)](_0x1c2a6e[0x0]);continue;}const _0x5b246=_0x17706e[_0x310b55(0xe3)][_0x131ead],_0x2907f8=_0x5b246?.[_0x310b55(0xdf)],_0xfefbeb=_0x2907f8?_0x1c2a6e[_0x310b55(0xd4)](_0x570cb6=>_0x570cb6['relativePath']!==_0x2907f8):_0x1c2a6e;if(_0x5b246&&_0xfefbeb[_0x310b55(0xd6)]===0x1){_0x288f8c['push'](_0xfefbeb[0x0]);continue;}throw CliErrors['validation'](_0x310b55(0xd7)+_0x131ead+_0x310b55(0xe7));}return _0x288f8c;}export const sqlPush={'service':a137_0x212dcb(0xd9),'command':a137_0x212dcb(0xba),'description':a137_0x212dcb(0xe1),'risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x212dcb(0xbf),'type':a137_0x212dcb(0xef),'description':a137_0x212dcb(0xf5)}],async 'dryRun'(_0x6c0d17){const _0xcebc04=a137_0x212dcb,_0x10014d=loadSqlProjectConfig(_0x6c0d17[_0xcebc04(0xc8)]),_0x2d32cf=await readSqlLockFile(_0x10014d['lockFilePath']),{appLock:_0x3f5e9e}=ensureSqlLockScope(_0x2d32cf??createEmptySqlLock(),_0x6c0d17['appCode'],_0x10014d[_0xcebc04(0xeb)],_0xcebc04(0xba)),_0x2202d6=await getTargetSqlQueries(_0x10014d,_0x3f5e9e,_0x6c0d17[_0xcebc04(0xf8)](_0xcebc04(0xd2))||undefined),_0xd79cb0=[];for(const _0x166754 of _0x2202d6){const _0x53f108=await computeSqlFileHash(_0x166754[_0xcebc04(0xc2)]),_0x443663=_0x3f5e9e[_0xcebc04(0xe3)][_0x166754[_0xcebc04(0xed)]],_0x6ffb0c=!!_0x443663&&(_0x443663[_0xcebc04(0xdf)]!==_0x166754[_0xcebc04(0xf4)]||!!_0x166754[_0xcebc04(0xcb)]&&_0x443663['sqlName']!==_0x166754['sqlName']);if(!_0x6c0d17[_0xcebc04(0xcd)](_0xcebc04(0xbf))&&_0x443663&&_0x443663[_0xcebc04(0xf7)]===_0x53f108&&!_0x6ffb0c)continue;_0xd79cb0[_0xcebc04(0xba)](_0x166754[_0xcebc04(0xed)]);}return{'method':_0xcebc04(0xcf),'url':_0xcebc04(0xc0),'body':{'sqlCodes':_0xd79cb0,'appCode':_0x6c0d17[_0xcebc04(0xc8)]},'description':'Would\x20push\x20'+_0xd79cb0['length']+_0xcebc04(0xbc)};},async 'execute'(_0x284fb9){const _0x3817e6=a137_0x212dcb,_0x51999e=loadSqlProjectConfig(_0x284fb9[_0x3817e6(0xc8)]),_0x1e734e=await readSqlLockFile(_0x51999e[_0x3817e6(0xf3)]),{lockData:_0x201191,appLock:_0x2fde1d}=ensureSqlLockScope(_0x1e734e??createEmptySqlLock(),_0x284fb9[_0x3817e6(0xc8)],_0x51999e[_0x3817e6(0xeb)],_0x3817e6(0xba)),_0x42cced=await getTargetSqlQueries(_0x51999e,_0x2fde1d,_0x284fb9['str'](_0x3817e6(0xd2))||undefined);if(_0x42cced['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x3817e6(0xdc)};const _0x32f83d=[],_0x2d333a=[],_0x3ff874=[];for(const _0x32d2a9 of _0x42cced){const _0x53982b=_0x2fde1d[_0x3817e6(0xe3)][_0x32d2a9['sqlCode']];if(!_0x53982b){_0x3ff874[_0x3817e6(0xba)]({'sqlCode':_0x32d2a9[_0x3817e6(0xed)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x444ee7=await computeSqlFileHash(_0x32d2a9[_0x3817e6(0xc2)]),_0x48540f=_0x53982b[_0x3817e6(0xdf)]!==_0x32d2a9[_0x3817e6(0xf4)]||!!_0x32d2a9[_0x3817e6(0xcb)]&&_0x53982b[_0x3817e6(0xcb)]!==_0x32d2a9[_0x3817e6(0xcb)];if(!_0x284fb9['bool'](_0x3817e6(0xbf))&&_0x53982b[_0x3817e6(0xf7)]===_0x444ee7&&!_0x48540f){_0x2d333a[_0x3817e6(0xba)]({'sqlCode':_0x32d2a9['sqlCode'],'reason':_0x3817e6(0xe9)});continue;}if(_0x53982b[_0x3817e6(0xc9)]==null){_0x3ff874['push']({'sqlCode':_0x32d2a9[_0x3817e6(0xed)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x22d7f4=await readFile(_0x32d2a9[_0x3817e6(0xc2)],_0x3817e6(0xe2)),_0x406b88=stripLocalSqlMetadata(_0x22d7f4,_0x32d2a9[_0x3817e6(0xb7)]),_0x3bd1ce=_0x32d2a9['sqlName']||_0x53982b[_0x3817e6(0xcb)],_0x161d22=await resolveTargetDbBinding(_0x284fb9[_0x3817e6(0xc8)],_0x32d2a9,_0x53982b),_0x28115e=await updateSqlQuery({'id':_0x53982b[_0x3817e6(0xca)],'appCode':_0x284fb9[_0x3817e6(0xc8)],'sqlCode':_0x32d2a9['sqlCode'],'sqlName':_0x3bd1ce,'dbId':_0x161d22[_0x3817e6(0xd8)],'version':_0x53982b[_0x3817e6(0xc9)],'sqlContent':_0x406b88,'sqlConfig':_0x53982b['sqlConfig']??undefined}),_0x175b9a=_0x28115e[_0x3817e6(0xd8)]?await getDbName(_0x284fb9['appCode'],Number(_0x28115e['dbId']))[_0x3817e6(0xb6)](()=>_0x161d22['dbName']):_0x161d22[_0x3817e6(0xbb)];_0x2fde1d[_0x3817e6(0xe3)][_0x32d2a9[_0x3817e6(0xed)]]={...buildSqlLockEntry(_0x28115e,_0x406b88,_0x444ee7,{'dbName':_0x175b9a}),'path':_0x32d2a9[_0x3817e6(0xf4)],'mode':_0x53982b[_0x3817e6(0xb7)]},await archivePreviousSqlFileIfNeeded(_0x51999e,_0x53982b[_0x3817e6(0xdf)],_0x32d2a9['relativePath']),_0x32f83d[_0x3817e6(0xba)]({'sqlCode':_0x32d2a9[_0x3817e6(0xed)],'remoteId':_0x53982b[_0x3817e6(0xca)]});}catch(_0x15f4d9){_0x3ff874[_0x3817e6(0xba)]({'sqlCode':_0x32d2a9[_0x3817e6(0xed)],'error':_0x15f4d9 instanceof Error?_0x15f4d9['message']:String(_0x15f4d9)});}}return _0x2fde1d[_0x3817e6(0xc6)]=new Date()['toISOString'](),await writeSqlLockFile(_0x51999e['lockFilePath'],_0x201191),{'ok':_0x3ff874[_0x3817e6(0xd6)]===0x0,'data':{'pushed':_0x32f83d,'skipped':_0x2d333a,'failed':_0x3ff874},'message':_0x3817e6(0xe6)+_0x32f83d[_0x3817e6(0xd6)]+_0x3817e6(0xd3)+_0x2d333a[_0x3817e6(0xd6)]+_0x3817e6(0xb8)+_0x3ff874[_0x3817e6(0xd6)]+_0x3817e6(0xe8)};}};async function archivePreviousSqlFileIfNeeded(_0x4eed95,_0x247404,_0x3b061f){const _0x3a3754=a137_0x212dcb;if(!_0x247404||_0x247404===_0x3b061f)return;const _0x1a1bea=join(_0x4eed95[_0x3a3754(0xd5)],_0x247404);if(!await fileExists(_0x1a1bea))return;const _0x2366c0=await moveToTrash(_0x4eed95['projectRoot'],_0x4eed95[_0x3a3754(0xce)],_0x1a1bea);await cleanupEmptyDirectories(dirname(_0x1a1bea),_0x4eed95[_0x3a3754(0xd5)]),void _0x2366c0;}async function moveToTrash(_0x555ed7,_0x5a69c8,_0x308925){const _0x31bcde=a137_0x212dcb,_0x7e1148=new Date()['toISOString']()[_0x31bcde(0xd1)](/[:.]/g,'-'),_0x1bdd22=relative(_0x555ed7,_0x308925),_0x595993=join(_0x5a69c8,_0x7e1148,_0x1bdd22);return await mkdir(dirname(_0x595993),{'recursive':!![]}),await rename(_0x308925,_0x595993),_0x595993;}async function cleanupEmptyDirectories(_0x256662,_0x19f85c){const _0x1421bc=a137_0x212dcb;let _0x6a6fea=resolve(_0x256662);const _0x51869c=resolve(_0x19f85c);while(_0x6a6fea[_0x1421bc(0xc5)](''+_0x51869c+sep)||_0x6a6fea===_0x51869c){if(_0x6a6fea===_0x51869c)return;try{const _0x266411=await readdir(_0x6a6fea);if(_0x266411[_0x1421bc(0xd6)]>0x0)return;await rmdir(_0x6a6fea);}catch{return;}_0x6a6fea=dirname(_0x6a6fea);}}async function resolveTargetDbBinding(_0x1027e3,_0x4f9140,_0x17f9a8){const _0x55b21c=a137_0x212dcb,_0x2c9176=_0x4f9140[_0x55b21c(0xea)];if(!_0x2c9176)return{'dbId':_0x17f9a8[_0x55b21c(0xd8)],'dbName':_0x17f9a8[_0x55b21c(0xbb)]};const _0x56a05a=buildDbDirectoryName(_0x17f9a8[_0x55b21c(0xbb)],_0x17f9a8[_0x55b21c(0xd8)]);if(_0x2c9176===_0x56a05a)return{'dbId':_0x17f9a8[_0x55b21c(0xd8)],'dbName':_0x17f9a8[_0x55b21c(0xbb)]};const _0x41a82c=parseExplicitDbDirectory(_0x2c9176);if(_0x41a82c!=null)return{'dbId':_0x41a82c,'dbName':await getDbName(_0x1027e3,_0x41a82c)['catch'](()=>undefined)};const _0x262413=await listDatabases(_0x1027e3),_0x74bef5=_0x262413[_0x55b21c(0xd4)](_0x37e111=>buildDbDirectoryName(_0x37e111['dbName'],_0x37e111[_0x55b21c(0xd8)])===_0x2c9176);if(_0x74bef5['length']===0x1)return{'dbId':_0x74bef5[0x0][_0x55b21c(0xd8)],'dbName':_0x74bef5[0x0]['dbName']};if(_0x74bef5[_0x55b21c(0xd6)]===0x0)throw CliErrors[_0x55b21c(0xdb)](_0x55b21c(0xec)+_0x2c9176+_0x55b21c(0xcc)+_0x4f9140[_0x55b21c(0xed)]+'.');const _0x5d2200=_0x74bef5[_0x55b21c(0xda)](_0x13e6dd=>_0x13e6dd[_0x55b21c(0xbb)]+'\x20('+_0x13e6dd[_0x55b21c(0xd8)]+')')[_0x55b21c(0xe0)](',\x20');throw CliErrors['validation']('Local\x20directory\x20\x22'+_0x2c9176+_0x55b21c(0xd0)+_0x4f9140[_0x55b21c(0xed)]+':\x20'+_0x5d2200);}function parseExplicitDbDirectory(_0x491f2a){const _0x4f8556=a137_0x212dcb,_0x3c5e38=/^db-(\d+)$/[_0x4f8556(0xf2)](_0x491f2a);if(!_0x3c5e38)return null;const _0x416609=Number(_0x3c5e38[0x1]);return Number[_0x4f8556(0xe4)](_0x416609)&&_0x416609>0x0?_0x416609:null;}
1
+ const a137_0x21b644=a137_0x174a;(function(_0x1734ba,_0x3a7935){const _0x5a41a2=a137_0x174a,_0x10657e=_0x1734ba();while(!![]){try{const _0x397e7e=-parseInt(_0x5a41a2(0x1b4))/0x1*(-parseInt(_0x5a41a2(0x1b2))/0x2)+-parseInt(_0x5a41a2(0x1b7))/0x3+parseInt(_0x5a41a2(0x1c3))/0x4+parseInt(_0x5a41a2(0x195))/0x5+-parseInt(_0x5a41a2(0x1ba))/0x6*(-parseInt(_0x5a41a2(0x1cb))/0x7)+parseInt(_0x5a41a2(0x19a))/0x8*(-parseInt(_0x5a41a2(0x197))/0x9)+parseInt(_0x5a41a2(0x1ce))/0xa*(-parseInt(_0x5a41a2(0x1bb))/0xb);if(_0x397e7e===_0x3a7935)break;else _0x10657e['push'](_0x10657e['shift']());}catch(_0x8a4095){_0x10657e['push'](_0x10657e['shift']());}}}(a137_0x2ef2,0x70172));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a137_0x2ef2(){const _0x484980=['2937AfhEoK','dbId','boolean','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','force','\x20failed','appCode','map','963512byezux','sqlName','\x20SQL\x20file(s)','version','sqlCode','high-risk-write','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','sqlcode','557578QMyxqH','path','set','41030ttYmTW','dbDirectory','entries','trashDir','sqlRoot','sql','filePath','Would\x20push\x20','No\x20database\x20matches\x20local\x20directory\x20\x22','sqls','unchanged','3879375qaQYQy','Local\x20SQL\x20not\x20found:\x20','322821NpRdTn','length','\x22\x20for\x20sqlCode\x20','80pPzXrA','startsWith','filter','push','No\x20local\x20SQL\x20files\x20found.','mode','bool','/smartapi/custom/updateUserCustomSql','message','str','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','Push\x20complete:\x20','lastSync','\x20pushed,\x20','\x20skipped,\x20','sqlConfig','lockFilePath','Push\x20local\x20SQL\x20files\x20to\x20remote','toISOString','sqlRootDir','dbName','relativePath','has','utf8','86356MSRjnh','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','20ciwceB','catch','isFinite','2051658prWZKu','validation','hash','54nWnyjf'];a137_0x2ef2=function(){return _0x484980;};return a137_0x2ef2();}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(_0x2fe429,_0x553535,_0x274113){const _0x16b6a0=a137_0x174a,_0x5d3ade=await scanLocalSqlQueries(_0x2fe429),_0x5d5ede=new Map();for(const _0x19e4bc of _0x5d3ade){if(_0x274113&&_0x19e4bc[_0x16b6a0(0x1c7)]!==_0x274113)continue;const _0x342377=_0x5d5ede['get'](_0x19e4bc['sqlCode'])??[];_0x342377['push'](_0x19e4bc),_0x5d5ede[_0x16b6a0(0x1cd)](_0x19e4bc[_0x16b6a0(0x1c7)],_0x342377);}if(_0x274113&&!_0x5d5ede[_0x16b6a0(0x1b0)](_0x274113))throw CliErrors[_0x16b6a0(0x1b8)](_0x16b6a0(0x196)+_0x274113);const _0x56fe77=[];for(const [_0x3e437b,_0x2bb625]of _0x5d5ede[_0x16b6a0(0x18c)]()){if(_0x2bb625[_0x16b6a0(0x198)]===0x1){_0x56fe77[_0x16b6a0(0x19d)](_0x2bb625[0x0]);continue;}const _0x307285=_0x553535[_0x16b6a0(0x193)][_0x3e437b],_0x105354=_0x307285?.[_0x16b6a0(0x1cc)],_0x131c42=_0x105354?_0x2bb625[_0x16b6a0(0x19c)](_0x25d344=>_0x25d344[_0x16b6a0(0x1af)]!==_0x105354):_0x2bb625;if(_0x307285&&_0x131c42[_0x16b6a0(0x198)]===0x1){_0x56fe77[_0x16b6a0(0x19d)](_0x131c42[0x0]);continue;}throw CliErrors[_0x16b6a0(0x1b8)]('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x3e437b+_0x16b6a0(0x1b3));}return _0x56fe77;}export const sqlPush={'service':a137_0x21b644(0x18f),'command':a137_0x21b644(0x19d),'description':a137_0x21b644(0x1ab),'risk':a137_0x21b644(0x1c8),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x21b644(0x1bf),'type':a137_0x21b644(0x1bd),'description':a137_0x21b644(0x1c9)}],async 'dryRun'(_0x193aaa){const _0x115627=a137_0x21b644,_0x1e363a=loadSqlProjectConfig(_0x193aaa[_0x115627(0x1c1)]),_0x331065=await readSqlLockFile(_0x1e363a[_0x115627(0x1aa)]),{appLock:_0x6603fd}=ensureSqlLockScope(_0x331065??createEmptySqlLock(),_0x193aaa['appCode'],_0x1e363a['sqlRoot'],'push'),_0x20c5ff=await getTargetSqlQueries(_0x1e363a,_0x6603fd,_0x193aaa[_0x115627(0x1a3)](_0x115627(0x1ca))||undefined),_0x236f8d=[];for(const _0x3d7a99 of _0x20c5ff){const _0x5b0cc8=await computeSqlFileHash(_0x3d7a99[_0x115627(0x190)]),_0x403910=_0x6603fd[_0x115627(0x193)][_0x3d7a99['sqlCode']],_0x15f595=!!_0x403910&&(_0x403910[_0x115627(0x1cc)]!==_0x3d7a99[_0x115627(0x1af)]||!!_0x3d7a99[_0x115627(0x1c4)]&&_0x403910[_0x115627(0x1c4)]!==_0x3d7a99[_0x115627(0x1c4)]);if(!_0x193aaa[_0x115627(0x1a0)]('force')&&_0x403910&&_0x403910['hash']===_0x5b0cc8&&!_0x15f595)continue;_0x236f8d[_0x115627(0x19d)](_0x3d7a99[_0x115627(0x1c7)]);}return{'method':'POST','url':_0x115627(0x1a1),'body':{'sqlCodes':_0x236f8d,'appCode':_0x193aaa[_0x115627(0x1c1)]},'description':_0x115627(0x191)+_0x236f8d[_0x115627(0x198)]+_0x115627(0x1c5)};},async 'execute'(_0x36910a){const _0x1ada4a=a137_0x21b644,_0x8f9f7f=loadSqlProjectConfig(_0x36910a[_0x1ada4a(0x1c1)]),_0x1c1263=await readSqlLockFile(_0x8f9f7f[_0x1ada4a(0x1aa)]),{lockData:_0x93c144,appLock:_0x2b111}=ensureSqlLockScope(_0x1c1263??createEmptySqlLock(),_0x36910a['appCode'],_0x8f9f7f[_0x1ada4a(0x18e)],_0x1ada4a(0x19d)),_0xcc59c2=await getTargetSqlQueries(_0x8f9f7f,_0x2b111,_0x36910a[_0x1ada4a(0x1a3)](_0x1ada4a(0x1ca))||undefined);if(_0xcc59c2[_0x1ada4a(0x198)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x1ada4a(0x19e)};const _0x4643b8=[],_0x2aa9c6=[],_0x3f5835=[];for(const _0x587bdc of _0xcc59c2){const _0x332ab4=_0x2b111[_0x1ada4a(0x193)][_0x587bdc['sqlCode']];if(!_0x332ab4){_0x3f5835[_0x1ada4a(0x19d)]({'sqlCode':_0x587bdc[_0x1ada4a(0x1c7)],'error':_0x1ada4a(0x1be)});continue;}try{const _0x5f4e35=await computeSqlFileHash(_0x587bdc[_0x1ada4a(0x190)]),_0x221306=_0x332ab4['path']!==_0x587bdc[_0x1ada4a(0x1af)]||!!_0x587bdc[_0x1ada4a(0x1c4)]&&_0x332ab4[_0x1ada4a(0x1c4)]!==_0x587bdc[_0x1ada4a(0x1c4)];if(!_0x36910a[_0x1ada4a(0x1a0)](_0x1ada4a(0x1bf))&&_0x332ab4[_0x1ada4a(0x1b9)]===_0x5f4e35&&!_0x221306){_0x2aa9c6[_0x1ada4a(0x19d)]({'sqlCode':_0x587bdc[_0x1ada4a(0x1c7)],'reason':_0x1ada4a(0x194)});continue;}if(_0x332ab4[_0x1ada4a(0x1c6)]==null){_0x3f5835[_0x1ada4a(0x19d)]({'sqlCode':_0x587bdc['sqlCode'],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x4f2a52=await readFile(_0x587bdc[_0x1ada4a(0x190)],_0x1ada4a(0x1b1)),_0x1cd52a=stripLocalSqlMetadata(_0x4f2a52,_0x587bdc[_0x1ada4a(0x19f)]),_0x56852c=_0x587bdc[_0x1ada4a(0x1c4)]||_0x332ab4['sqlName'],_0x1e9c5f=await resolveTargetDbBinding(_0x36910a[_0x1ada4a(0x1c1)],_0x587bdc,_0x332ab4),_0x326f06=await updateSqlQuery({'id':_0x332ab4['remoteId'],'appCode':_0x36910a[_0x1ada4a(0x1c1)],'sqlCode':_0x587bdc[_0x1ada4a(0x1c7)],'sqlName':_0x56852c,'dbId':_0x1e9c5f[_0x1ada4a(0x1bc)],'version':_0x332ab4[_0x1ada4a(0x1c6)],'sqlContent':_0x1cd52a,'sqlConfig':_0x332ab4[_0x1ada4a(0x1a9)]??undefined}),_0x176142=_0x326f06[_0x1ada4a(0x1bc)]?await getDbName(_0x36910a[_0x1ada4a(0x1c1)],Number(_0x326f06[_0x1ada4a(0x1bc)]))[_0x1ada4a(0x1b5)](()=>_0x1e9c5f[_0x1ada4a(0x1ae)]):_0x1e9c5f[_0x1ada4a(0x1ae)];_0x2b111[_0x1ada4a(0x193)][_0x587bdc['sqlCode']]={...buildSqlLockEntry(_0x326f06,_0x1cd52a,_0x5f4e35,{'dbName':_0x176142}),'path':_0x587bdc['relativePath'],'mode':_0x332ab4[_0x1ada4a(0x19f)]},await archivePreviousSqlFileIfNeeded(_0x8f9f7f,_0x332ab4[_0x1ada4a(0x1cc)],_0x587bdc['relativePath']),_0x4643b8[_0x1ada4a(0x19d)]({'sqlCode':_0x587bdc['sqlCode'],'remoteId':_0x332ab4['remoteId']});}catch(_0x3b483a){_0x3f5835['push']({'sqlCode':_0x587bdc[_0x1ada4a(0x1c7)],'error':_0x3b483a instanceof Error?_0x3b483a[_0x1ada4a(0x1a2)]:String(_0x3b483a)});}}return _0x2b111[_0x1ada4a(0x1a6)]=new Date()[_0x1ada4a(0x1ac)](),await writeSqlLockFile(_0x8f9f7f[_0x1ada4a(0x1aa)],_0x93c144),{'ok':_0x3f5835['length']===0x0,'data':{'pushed':_0x4643b8,'skipped':_0x2aa9c6,'failed':_0x3f5835},'message':_0x1ada4a(0x1a5)+_0x4643b8[_0x1ada4a(0x198)]+_0x1ada4a(0x1a7)+_0x2aa9c6['length']+_0x1ada4a(0x1a8)+_0x3f5835[_0x1ada4a(0x198)]+_0x1ada4a(0x1c0)};}};function a137_0x174a(_0x26f7f6,_0x45bdca){_0x26f7f6=_0x26f7f6-0x18c;const _0x2ef245=a137_0x2ef2();let _0x174aad=_0x2ef245[_0x26f7f6];return _0x174aad;}async function archivePreviousSqlFileIfNeeded(_0x43525a,_0x453bfa,_0x514c11){const _0x7feb30=a137_0x21b644;if(!_0x453bfa||_0x453bfa===_0x514c11)return;const _0x561259=join(_0x43525a[_0x7feb30(0x1ad)],_0x453bfa);if(!await fileExists(_0x561259))return;const _0x23e904=await moveToTrash(_0x43525a['projectRoot'],_0x43525a[_0x7feb30(0x18d)],_0x561259);await cleanupEmptyDirectories(dirname(_0x561259),_0x43525a[_0x7feb30(0x1ad)]),void _0x23e904;}async function moveToTrash(_0x2fe335,_0x4afc0a,_0x350436){const _0xece337=a137_0x21b644,_0x396213=new Date()[_0xece337(0x1ac)]()['replace'](/[:.]/g,'-'),_0x4e401b=relative(_0x2fe335,_0x350436),_0x3f9b0f=join(_0x4afc0a,_0x396213,_0x4e401b);return await mkdir(dirname(_0x3f9b0f),{'recursive':!![]}),await rename(_0x350436,_0x3f9b0f),_0x3f9b0f;}async function cleanupEmptyDirectories(_0x27abfb,_0x29f30e){const _0xdb41ae=a137_0x21b644;let _0x4ef1ec=resolve(_0x27abfb);const _0x27b0d5=resolve(_0x29f30e);while(_0x4ef1ec[_0xdb41ae(0x19b)](''+_0x27b0d5+sep)||_0x4ef1ec===_0x27b0d5){if(_0x4ef1ec===_0x27b0d5)return;try{const _0x3333bd=await readdir(_0x4ef1ec);if(_0x3333bd['length']>0x0)return;await rmdir(_0x4ef1ec);}catch{return;}_0x4ef1ec=dirname(_0x4ef1ec);}}async function resolveTargetDbBinding(_0x2fe616,_0x21a234,_0x37ce15){const _0x59edd4=a137_0x21b644,_0x5b26bb=_0x21a234[_0x59edd4(0x1cf)];if(!_0x5b26bb)return{'dbId':_0x37ce15[_0x59edd4(0x1bc)],'dbName':_0x37ce15[_0x59edd4(0x1ae)]};const _0x20ea4b=buildDbDirectoryName(_0x37ce15[_0x59edd4(0x1ae)],_0x37ce15[_0x59edd4(0x1bc)]);if(_0x5b26bb===_0x20ea4b)return{'dbId':_0x37ce15['dbId'],'dbName':_0x37ce15[_0x59edd4(0x1ae)]};const _0x511e00=parseExplicitDbDirectory(_0x5b26bb);if(_0x511e00!=null)return{'dbId':_0x511e00,'dbName':await getDbName(_0x2fe616,_0x511e00)[_0x59edd4(0x1b5)](()=>undefined)};const _0x2ab46f=await listDatabases(_0x2fe616),_0x470388=_0x2ab46f[_0x59edd4(0x19c)](_0x1988b4=>buildDbDirectoryName(_0x1988b4[_0x59edd4(0x1ae)],_0x1988b4['dbId'])===_0x5b26bb);if(_0x470388[_0x59edd4(0x198)]===0x1)return{'dbId':_0x470388[0x0][_0x59edd4(0x1bc)],'dbName':_0x470388[0x0][_0x59edd4(0x1ae)]};if(_0x470388[_0x59edd4(0x198)]===0x0)throw CliErrors[_0x59edd4(0x1b8)](_0x59edd4(0x192)+_0x5b26bb+_0x59edd4(0x199)+_0x21a234['sqlCode']+'.');const _0x5a0aee=_0x470388[_0x59edd4(0x1c2)](_0x522efd=>_0x522efd[_0x59edd4(0x1ae)]+'\x20('+_0x522efd[_0x59edd4(0x1bc)]+')')['join'](',\x20');throw CliErrors['validation']('Local\x20directory\x20\x22'+_0x5b26bb+_0x59edd4(0x1a4)+_0x21a234[_0x59edd4(0x1c7)]+':\x20'+_0x5a0aee);}function parseExplicitDbDirectory(_0xe40fb5){const _0x59ba27=a137_0x21b644,_0x5c20c0=/^db-(\d+)$/['exec'](_0xe40fb5);if(!_0x5c20c0)return null;const _0x2189f0=Number(_0x5c20c0[0x1]);return Number[_0x59ba27(0x1b6)](_0x2189f0)&&_0x2189f0>0x0?_0x2189f0:null;}
@@ -1 +1 @@
1
- const a138_0x4d36eb=a138_0x289a;(function(_0x30c9b8,_0x381440){const _0x37e339=a138_0x289a,_0x2457fa=_0x30c9b8();while(!![]){try{const _0x3d5091=-parseInt(_0x37e339(0xc6))/0x1+-parseInt(_0x37e339(0xc8))/0x2+-parseInt(_0x37e339(0xce))/0x3+-parseInt(_0x37e339(0xd8))/0x4*(-parseInt(_0x37e339(0xd5))/0x5)+-parseInt(_0x37e339(0xcc))/0x6*(parseInt(_0x37e339(0xd9))/0x7)+-parseInt(_0x37e339(0xc2))/0x8+parseInt(_0x37e339(0xc4))/0x9*(parseInt(_0x37e339(0xc7))/0xa);if(_0x3d5091===_0x381440)break;else _0x2457fa['push'](_0x2457fa['shift']());}catch(_0x28fc08){_0x2457fa['push'](_0x2457fa['shift']());}}}(a138_0x46eb,0xdde60));import{CliErrors}from'../../errors.js';function a138_0x46eb(){const _0x283c37=['`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','SQL\x20query\x20display\x20name','sqlname','Query\x20description','string','130eWmWBd','save','Path\x20to\x20the\x20SQL\x20file','77176rddhax','2320661dEdmZn','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','790832HdfhKz','write','38690559OIBRZX','file','927952qMsCQA','10DLWlEG','3248270JWYjeb','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','validation','Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','6vQONMb','sql','2727705fBobNb','description'];a138_0x46eb=function(){return _0x283c37;};return a138_0x46eb();}function a138_0x289a(_0x774d5f,_0x8e0b5e){_0x774d5f=_0x774d5f-0xc2;const _0x46eb30=a138_0x46eb();let _0x289a56=_0x46eb30[_0x774d5f];return _0x289a56;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a138_0x4d36eb(0xd0),a138_0x4d36eb(0xc9),'Update\x20existing\x20SQL\x20by\x20editing\x20the\x20synced\x20file\x20under\x20`.rabetbase/sql/<appCode>/<dbName|db-<id>>/`\x20and\x20then\x20running\x20`rabetbase\x20sql\x20push\x20--sqlcode\x20<code>\x20--yes`.']['join']('\x0a');export const sqlSave={'service':a138_0x4d36eb(0xcd),'command':a138_0x4d36eb(0xd6),'description':a138_0x4d36eb(0xda),'risk':a138_0x4d36eb(0xc3),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a138_0x4d36eb(0xc5),'type':a138_0x4d36eb(0xd4),'required':!![],'description':a138_0x4d36eb(0xd7)},SQLCODE_FLAG_OPTIONAL,{'name':a138_0x4d36eb(0xd2),'type':a138_0x4d36eb(0xd4),'description':a138_0x4d36eb(0xd1)},{'name':'db','type':a138_0x4d36eb(0xd4),'description':a138_0x4d36eb(0xcb)},{'name':a138_0x4d36eb(0xcf),'type':a138_0x4d36eb(0xd4),'description':a138_0x4d36eb(0xd3)}],async 'validate'(){const _0x530fc6=a138_0x4d36eb;throw CliErrors[_0x530fc6(0xca)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x9daf32=a138_0x4d36eb;throw CliErrors[_0x9daf32(0xca)](SQL_SAVE_DEPRECATED_HINT);}};
1
+ const a138_0xf73f01=a138_0x1f6e;function a138_0x36de(){const _0x53b425=['join','342150euwKDS','SQL\x20query\x20display\x20name','299415MYUnqV','279320LpzMtH','249988lMaalq','write','881230GijaAd','description','validation','8ouMsct','string','16NRmlsf','file','1411746pLQIUg','Update\x20existing\x20SQL\x20by\x20editing\x20the\x20synced\x20file\x20under\x20`.rabetbase/sql/<appCode>/<dbName|db-<id>>/`\x20and\x20then\x20running\x20`rabetbase\x20sql\x20push\x20--sqlcode\x20<code>\x20--yes`.','sqlname','save','Path\x20to\x20the\x20SQL\x20file','45JgqCWB','Query\x20description','182322fMnPzv'];a138_0x36de=function(){return _0x53b425;};return a138_0x36de();}(function(_0x1826b6,_0x5bb7da){const _0xecd7e5=a138_0x1f6e,_0x17e9c6=_0x1826b6();while(!![]){try{const _0x4ca621=parseInt(_0xecd7e5(0x7f))/0x1+parseInt(_0xecd7e5(0x7e))/0x2+-parseInt(_0xecd7e5(0x7b))/0x3*(parseInt(_0xecd7e5(0x84))/0x4)+parseInt(_0xecd7e5(0x7d))/0x5+parseInt(_0xecd7e5(0x79))/0x6+-parseInt(_0xecd7e5(0x72))/0x7*(-parseInt(_0xecd7e5(0x86))/0x8)+-parseInt(_0xecd7e5(0x77))/0x9*(parseInt(_0xecd7e5(0x81))/0xa);if(_0x4ca621===_0x5bb7da)break;else _0x17e9c6['push'](_0x17e9c6['shift']());}catch(_0x163d63){_0x17e9c6['push'](_0x17e9c6['shift']());}}}(a138_0x36de,0x3461f));import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=['`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.',a138_0xf73f01(0x73)][a138_0xf73f01(0x7a)]('\x0a');function a138_0x1f6e(_0xb9e9af,_0x15c153){_0xb9e9af=_0xb9e9af-0x72;const _0x36de9a=a138_0x36de();let _0x1f6ea3=_0x36de9a[_0xb9e9af];return _0x1f6ea3;}export const sqlSave={'service':'sql','command':a138_0xf73f01(0x75),'description':'Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','risk':a138_0xf73f01(0x80),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a138_0xf73f01(0x87),'type':a138_0xf73f01(0x85),'required':!![],'description':a138_0xf73f01(0x76)},SQLCODE_FLAG_OPTIONAL,{'name':a138_0xf73f01(0x74),'type':a138_0xf73f01(0x85),'description':a138_0xf73f01(0x7c)},{'name':'db','type':a138_0xf73f01(0x85),'description':'Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)'},{'name':a138_0xf73f01(0x82),'type':a138_0xf73f01(0x85),'description':a138_0xf73f01(0x78)}],async 'validate'(){const _0x5047f0=a138_0xf73f01;throw CliErrors[_0x5047f0(0x83)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x4b2835=a138_0xf73f01;throw CliErrors[_0x4b2835(0x83)](SQL_SAVE_DEPRECATED_HINT);}};
@@ -1 +1 @@
1
- (function(_0x139db4,_0x41c2a8){const _0x40038b=a139_0x33b7,_0x4e4734=_0x139db4();while(!![]){try{const _0x20074a=parseInt(_0x40038b(0x10c))/0x1+-parseInt(_0x40038b(0x123))/0x2*(-parseInt(_0x40038b(0x114))/0x3)+-parseInt(_0x40038b(0x10e))/0x4*(parseInt(_0x40038b(0x116))/0x5)+parseInt(_0x40038b(0x113))/0x6+parseInt(_0x40038b(0x10b))/0x7+parseInt(_0x40038b(0x105))/0x8+-parseInt(_0x40038b(0x10a))/0x9*(parseInt(_0x40038b(0x11d))/0xa);if(_0x20074a===_0x41c2a8)break;else _0x4e4734['push'](_0x4e4734['shift']());}catch(_0x3cc9e6){_0x4e4734['push'](_0x4e4734['shift']());}}}(a139_0x55e5,0x61dcf));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR='.rabetbase/sql';export function buildSqlLockEntry(_0x2e910d,_0x431ca8,_0x607993,_0x53f90a){const _0x957146=a139_0x33b7,_0xe45536=detectSqlMode(_0x431ca8);return{'path':buildSqlRelativePath(_0x2e910d[_0x957146(0x106)],_0x2e910d[_0x957146(0x110)],_0x53f90a?.[_0x957146(0x122)],_0xe45536,_0x2e910d['dbId']),'hash':_0x607993,'remoteId':_0x2e910d['id'],'version':_0x2e910d[_0x957146(0x11a)],'dbId':Number(_0x2e910d[_0x957146(0x117)]),'dbName':_0x53f90a?.['dbName'],'sqlName':_0x2e910d[_0x957146(0x110)],'sqlConfig':_0x2e910d[_0x957146(0x125)]??undefined,'mode':_0xe45536};}export function cloneSqlLockData(_0x1f2937){const _0x586208=a139_0x33b7;return{'apps':Object[_0x586208(0x118)](Object[_0x586208(0x11e)](_0x1f2937[_0x586208(0x119)])['map'](([_0xb11dea,_0x4fefa2])=>[_0xb11dea,{'sqlRoot':_0x4fefa2['sqlRoot'],'lastSync':_0x4fefa2['lastSync'],'sqls':{..._0x4fefa2['sqls']}}]))};}export function ensureRemoteSqlContent(_0x3167e5){const _0x1fadee=a139_0x33b7;return _0x3167e5[_0x1fadee(0x109)]??'';}export function buildLocalSqlFileContent(_0x1fca36,_0x2c3c6d,_0x588e73){const _0x91fa9e=a139_0x33b7,_0x53de58=_0x588e73?.[_0x91fa9e(0x128)]??detectSqlMode(_0x2c3c6d),_0x28c7a0=stripLocalSqlMetadata(_0x2c3c6d,_0x53de58)[_0x91fa9e(0x104)](),_0x1c14ce=[...buildMetadataHeaderLines({'sqlCode':_0x1fca36[_0x91fa9e(0x106)],'sqlName':_0x1fca36[_0x91fa9e(0x110)],'dbId':_0x1fca36['dbId'],'dbName':_0x588e73?.[_0x91fa9e(0x122)],'mode':_0x53de58,'syncedAt':_0x588e73?.[_0x91fa9e(0x10f)],'description':_0x588e73?.[_0x91fa9e(0x112)]},_0x53de58),'',_0x28c7a0],_0x5d1293=_0x1c14ce[_0x91fa9e(0x11f)]('\x0a');return _0x5d1293[_0x91fa9e(0x102)]('\x0a')?_0x5d1293:_0x5d1293+'\x0a';}export function stripLocalSqlMetadata(_0x442f7f,_0x521ee8){const _0x27123b=a139_0x33b7,_0x5bb8ef=_0x442f7f['replace'](/\r\n/g,'\x0a')[_0x27123b(0x108)]('\x0a'),_0x349523=[];let _0x2813c4=0x0;if(_0x521ee8==='mybatisXml')while(_0x2813c4<_0x5bb8ef[_0x27123b(0x111)]){const _0x58c882=_0x5bb8ef[_0x2813c4]??'';if(/^\s*<!--\s*@lovrabet\./[_0x27123b(0x100)](_0x58c882)){_0x2813c4++;continue;}if(_0x58c882[_0x27123b(0x104)]()===''&&_0x2813c4>0x0){_0x2813c4++;continue;}break;}else while(_0x2813c4<_0x5bb8ef[_0x27123b(0x111)]){const _0x505378=_0x5bb8ef[_0x2813c4]??'';if(/^\s*--\s*@lovrabet\./[_0x27123b(0x100)](_0x505378)){_0x2813c4++;continue;}if(_0x505378[_0x27123b(0x104)]()===''&&_0x2813c4>0x0){_0x2813c4++;continue;}break;}for(;_0x2813c4<_0x5bb8ef[_0x27123b(0x111)];_0x2813c4++){_0x349523[_0x27123b(0x107)](_0x5bb8ef[_0x2813c4]);}return _0x349523[_0x27123b(0x11f)]('\x0a')[_0x27123b(0x115)]();}export function resolveSqlMode(_0x23ce60,_0xfd0980){const _0x3fe85a=a139_0x33b7;if(_0xfd0980?.[_0x3fe85a(0x128)])return _0xfd0980[_0x3fe85a(0x128)];return detectSqlMode(_0x23ce60);}function a139_0x33b7(_0x9c73f0,_0x28566f){_0x9c73f0=_0x9c73f0-0x100;const _0x55e526=a139_0x55e5();let _0x33b7f2=_0x55e526[_0x9c73f0];return _0x33b7f2;}export function resolveSqlFileName(_0x48039e,_0x119390,_0x527a52){const _0x1d921a=a139_0x33b7;if(_0x527a52?.['path'])return _0x527a52['path'];if(_0x527a52?.[_0x1d921a(0x110)]||_0x527a52?.[_0x1d921a(0x122)])return buildSqlRelativePath(_0x48039e,_0x527a52?.['sqlName'],_0x527a52?.['dbName'],resolveSqlMode(_0x119390,_0x527a52),_0x527a52?.[_0x1d921a(0x117)]);return buildDefaultSqlFileName(_0x48039e,resolveSqlMode(_0x119390,_0x527a52));}export function resolveSqlLocalDir(_0x525bef,_0x1a1500){return join(_0x525bef,SQL_LOCAL_REL_DIR,_0x1a1500);}export async function confirmForceOverwrite(_0xb62cc5){const _0x55b81f=a139_0x33b7,_0x5ca9c9=createInterface({'input':process[_0x55b81f(0x11c)],'output':process[_0x55b81f(0x120)]}),_0x14302b=await new Promise(_0x54f843=>{const _0x4bf138=_0x55b81f;_0x5ca9c9[_0x4bf138(0x124)](_0xb62cc5+_0x4bf138(0x101),_0x54f843);});return _0x5ca9c9['close'](),['y','yes'][_0x55b81f(0x10d)](_0x14302b[_0x55b81f(0x104)]()[_0x55b81f(0x129)]());}function a139_0x55e5(){const _0x462590=['2631cQPtAG','trimStart','5FwzlJv','dbId','fromEntries','apps','version','mybatisXml','stdin','10yFzyml','entries','join','stderr','<!--\x20@lovrabet.','dbName','334CLwzmY','question','sqlConfig','filter','\x20-->','mode','toLowerCase','test','\x20[y/N]\x20','endsWith','map','trim','580136MpRsyt','sqlCode','push','split','sqlContent','10983753LuErHy','4672948wTSAuI','486648HdtBtc','includes','72916kbVJBA','syncedAt','sqlName','length','description','1597830vQxZcy'];a139_0x55e5=function(){return _0x462590;};return a139_0x55e5();}export function findSqlLockScope(_0x5bbe21,_0x87526b){return _0x5bbe21['apps'][_0x87526b];}function buildMetadataHeaderLines(_0x3b5f15,_0x374f6d){const _0x415576=a139_0x33b7,_0x5d85bb=[['sqlCode',_0x3b5f15[_0x415576(0x106)]],[_0x415576(0x110),_0x3b5f15[_0x415576(0x110)]],['dbId',_0x3b5f15[_0x415576(0x117)]],[_0x415576(0x122),_0x3b5f15[_0x415576(0x122)]],[_0x415576(0x128),_0x3b5f15[_0x415576(0x128)]],[_0x415576(0x10f),_0x3b5f15[_0x415576(0x10f)]],['description',_0x3b5f15[_0x415576(0x112)]]];if(_0x374f6d===_0x415576(0x11b))return _0x5d85bb[_0x415576(0x126)](([,_0x538c53])=>_0x538c53!==undefined&&_0x538c53!==null&&String(_0x538c53)[_0x415576(0x104)]()!=='')['map'](([_0x255b81,_0xdab581])=>_0x415576(0x121)+_0x255b81+':\x20'+String(_0xdab581)+_0x415576(0x127));return _0x5d85bb[_0x415576(0x126)](([,_0x1f6037])=>_0x1f6037!==undefined&&_0x1f6037!==null&&String(_0x1f6037)[_0x415576(0x104)]()!=='')[_0x415576(0x103)](([_0x3c5cbd,_0x1adef2])=>'--\x20@lovrabet.'+_0x3c5cbd+':\x20'+String(_0x1adef2));}
1
+ const a139_0x3110e5=a139_0x54bc;(function(_0xacca47,_0x1425ac){const _0x592bb5=a139_0x54bc,_0x467fc=_0xacca47();while(!![]){try{const _0x41c161=parseInt(_0x592bb5(0x8a))/0x1*(-parseInt(_0x592bb5(0x7a))/0x2)+-parseInt(_0x592bb5(0x78))/0x3+-parseInt(_0x592bb5(0x99))/0x4*(parseInt(_0x592bb5(0x72))/0x5)+-parseInt(_0x592bb5(0x79))/0x6*(-parseInt(_0x592bb5(0x85))/0x7)+-parseInt(_0x592bb5(0x77))/0x8+parseInt(_0x592bb5(0x94))/0x9+parseInt(_0x592bb5(0x87))/0xa;if(_0x41c161===_0x1425ac)break;else _0x467fc['push'](_0x467fc['shift']());}catch(_0x416987){_0x467fc['push'](_0x467fc['shift']());}}}(a139_0x1b74,0x87265));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';function a139_0x1b74(){const _0x4fb6f2=['description','sqlCode','sqlName','length','mybatisXml','mode','test','stdin','2394xzwnQl','entries','9962980vGUfnB','sqlRoot','toLowerCase','168943yymXSY','syncedAt','map','lastSync','sqls','trim','version','split','.rabetbase/sql','<!--\x20@lovrabet.','5163732BUvLmF','endsWith','question','yes','join','2781052SQrIFF','path','filter','\x20-->','trimStart','apps','5XjmfKP','dbId','\x20[y/N]\x20','push','sqlConfig','1135872igRQCF','645438mxhwgL','6558VBDnwu','4LrxNXE','dbName','sqlContent'];a139_0x1b74=function(){return _0x4fb6f2;};return a139_0x1b74();}function a139_0x54bc(_0x3eae08,_0x3ae0db){_0x3eae08=_0x3eae08-0x71;const _0x1b7496=a139_0x1b74();let _0x54bc2e=_0x1b7496[_0x3eae08];return _0x54bc2e;}export const SQL_LOCAL_REL_DIR=a139_0x3110e5(0x92);export function buildSqlLockEntry(_0x342760,_0x36c8c8,_0x2f45f0,_0x488c6f){const _0x2b1d60=a139_0x3110e5,_0x308d4c=detectSqlMode(_0x36c8c8);return{'path':buildSqlRelativePath(_0x342760[_0x2b1d60(0x7e)],_0x342760[_0x2b1d60(0x7f)],_0x488c6f?.[_0x2b1d60(0x7b)],_0x308d4c,_0x342760[_0x2b1d60(0x73)]),'hash':_0x2f45f0,'remoteId':_0x342760['id'],'version':_0x342760[_0x2b1d60(0x90)],'dbId':Number(_0x342760[_0x2b1d60(0x73)]),'dbName':_0x488c6f?.['dbName'],'sqlName':_0x342760[_0x2b1d60(0x7f)],'sqlConfig':_0x342760[_0x2b1d60(0x76)]??undefined,'mode':_0x308d4c};}export function cloneSqlLockData(_0x5cf8d4){const _0x414803=a139_0x3110e5;return{'apps':Object['fromEntries'](Object[_0x414803(0x86)](_0x5cf8d4['apps'])['map'](([_0x24220f,_0x466795])=>[_0x24220f,{'sqlRoot':_0x466795[_0x414803(0x88)],'lastSync':_0x466795[_0x414803(0x8d)],'sqls':{..._0x466795[_0x414803(0x8e)]}}]))};}export function ensureRemoteSqlContent(_0xc8cfe7){const _0x477bbc=a139_0x3110e5;return _0xc8cfe7[_0x477bbc(0x7c)]??'';}export function buildLocalSqlFileContent(_0x4dece4,_0x267317,_0x328a9f){const _0x21f127=a139_0x3110e5,_0x434d24=_0x328a9f?.[_0x21f127(0x82)]??detectSqlMode(_0x267317),_0x330ee6=stripLocalSqlMetadata(_0x267317,_0x434d24)[_0x21f127(0x8f)](),_0x56a82a=[...buildMetadataHeaderLines({'sqlCode':_0x4dece4[_0x21f127(0x7e)],'sqlName':_0x4dece4[_0x21f127(0x7f)],'dbId':_0x4dece4[_0x21f127(0x73)],'dbName':_0x328a9f?.[_0x21f127(0x7b)],'mode':_0x434d24,'syncedAt':_0x328a9f?.[_0x21f127(0x8b)],'description':_0x328a9f?.[_0x21f127(0x7d)]},_0x434d24),'',_0x330ee6],_0x245c0a=_0x56a82a[_0x21f127(0x98)]('\x0a');return _0x245c0a[_0x21f127(0x95)]('\x0a')?_0x245c0a:_0x245c0a+'\x0a';}export function stripLocalSqlMetadata(_0x3ed0fd,_0x5ab067){const _0x2f5ad0=a139_0x3110e5,_0xa7bd00=_0x3ed0fd['replace'](/\r\n/g,'\x0a')[_0x2f5ad0(0x91)]('\x0a'),_0x5032d4=[];let _0xc377e3=0x0;if(_0x5ab067===_0x2f5ad0(0x81))while(_0xc377e3<_0xa7bd00[_0x2f5ad0(0x80)]){const _0x32ce64=_0xa7bd00[_0xc377e3]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x32ce64)){_0xc377e3++;continue;}if(_0x32ce64[_0x2f5ad0(0x8f)]()===''&&_0xc377e3>0x0){_0xc377e3++;continue;}break;}else while(_0xc377e3<_0xa7bd00[_0x2f5ad0(0x80)]){const _0x535fe7=_0xa7bd00[_0xc377e3]??'';if(/^\s*--\s*@lovrabet\./[_0x2f5ad0(0x83)](_0x535fe7)){_0xc377e3++;continue;}if(_0x535fe7['trim']()===''&&_0xc377e3>0x0){_0xc377e3++;continue;}break;}for(;_0xc377e3<_0xa7bd00[_0x2f5ad0(0x80)];_0xc377e3++){_0x5032d4[_0x2f5ad0(0x75)](_0xa7bd00[_0xc377e3]);}return _0x5032d4[_0x2f5ad0(0x98)]('\x0a')[_0x2f5ad0(0x9d)]();}export function resolveSqlMode(_0x4fdd19,_0x49e0c8){const _0x3fb09f=a139_0x3110e5;if(_0x49e0c8?.[_0x3fb09f(0x82)])return _0x49e0c8[_0x3fb09f(0x82)];return detectSqlMode(_0x4fdd19);}export function resolveSqlFileName(_0x5dc62f,_0x4ae949,_0x10ba1f){const _0x101395=a139_0x3110e5;if(_0x10ba1f?.[_0x101395(0x9a)])return _0x10ba1f['path'];if(_0x10ba1f?.[_0x101395(0x7f)]||_0x10ba1f?.['dbName'])return buildSqlRelativePath(_0x5dc62f,_0x10ba1f?.[_0x101395(0x7f)],_0x10ba1f?.[_0x101395(0x7b)],resolveSqlMode(_0x4ae949,_0x10ba1f),_0x10ba1f?.['dbId']);return buildDefaultSqlFileName(_0x5dc62f,resolveSqlMode(_0x4ae949,_0x10ba1f));}export function resolveSqlLocalDir(_0x8e1b2f,_0x51f30a){return join(_0x8e1b2f,SQL_LOCAL_REL_DIR,_0x51f30a);}export async function confirmForceOverwrite(_0x129482){const _0x1807a5=a139_0x3110e5,_0x3aeb0c=createInterface({'input':process[_0x1807a5(0x84)],'output':process['stderr']}),_0x3ea44f=await new Promise(_0x159a8e=>{const _0x4bcdd7=_0x1807a5;_0x3aeb0c[_0x4bcdd7(0x96)](_0x129482+_0x4bcdd7(0x74),_0x159a8e);});return _0x3aeb0c['close'](),['y',_0x1807a5(0x97)]['includes'](_0x3ea44f[_0x1807a5(0x8f)]()[_0x1807a5(0x89)]());}export function findSqlLockScope(_0x26372f,_0x1de298){const _0x12673a=a139_0x3110e5;return _0x26372f[_0x12673a(0x71)][_0x1de298];}function buildMetadataHeaderLines(_0x2e6ccc,_0x3b138c){const _0x1b5699=a139_0x3110e5,_0x4b4a1a=[[_0x1b5699(0x7e),_0x2e6ccc['sqlCode']],[_0x1b5699(0x7f),_0x2e6ccc[_0x1b5699(0x7f)]],[_0x1b5699(0x73),_0x2e6ccc[_0x1b5699(0x73)]],[_0x1b5699(0x7b),_0x2e6ccc[_0x1b5699(0x7b)]],[_0x1b5699(0x82),_0x2e6ccc[_0x1b5699(0x82)]],[_0x1b5699(0x8b),_0x2e6ccc[_0x1b5699(0x8b)]],[_0x1b5699(0x7d),_0x2e6ccc['description']]];if(_0x3b138c==='mybatisXml')return _0x4b4a1a[_0x1b5699(0x9b)](([,_0x1b1ce2])=>_0x1b1ce2!==undefined&&_0x1b1ce2!==null&&String(_0x1b1ce2)[_0x1b5699(0x8f)]()!=='')[_0x1b5699(0x8c)](([_0x15583c,_0x15e4b4])=>_0x1b5699(0x93)+_0x15583c+':\x20'+String(_0x15e4b4)+_0x1b5699(0x9c));return _0x4b4a1a[_0x1b5699(0x9b)](([,_0x1dc75e])=>_0x1dc75e!==undefined&&_0x1dc75e!==null&&String(_0x1dc75e)[_0x1b5699(0x8f)]()!=='')[_0x1b5699(0x8c)](([_0x1a5478,_0xa9e10b])=>'--\x20@lovrabet.'+_0x1a5478+':\x20'+String(_0xa9e10b));}
@@ -1 +1 @@
1
- const a140_0x2e0062=a140_0x51cc;(function(_0xb9db54,_0x5853ce){const _0x27c8a2=a140_0x51cc,_0x213ec3=_0xb9db54();while(!![]){try{const _0x1322b5=-parseInt(_0x27c8a2(0x1a6))/0x1*(parseInt(_0x27c8a2(0x19c))/0x2)+-parseInt(_0x27c8a2(0x1a4))/0x3*(parseInt(_0x27c8a2(0x198))/0x4)+parseInt(_0x27c8a2(0x197))/0x5+-parseInt(_0x27c8a2(0x199))/0x6+-parseInt(_0x27c8a2(0x196))/0x7*(parseInt(_0x27c8a2(0x1a0))/0x8)+-parseInt(_0x27c8a2(0x18a))/0x9*(parseInt(_0x27c8a2(0x194))/0xa)+parseInt(_0x27c8a2(0x1a3))/0xb*(parseInt(_0x27c8a2(0x18f))/0xc);if(_0x1322b5===_0x5853ce)break;else _0x213ec3['push'](_0x213ec3['shift']());}catch(_0xd91e7d){_0x213ec3['push'](_0x213ec3['shift']());}}}(a140_0x40a6,0xedde6));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';function a140_0x40a6(){const _0x47ca2b=['\x20added,\x20','hash','30BVKsGW','relativePath','164227KTunLb','5126835rcsGLD','52MyCXVQ','2568636eodqhg','map','tableData','2482214oHLGuv','filePath','read','sqlName','144JhPYih','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqls','85547UiHzlI','422649etilda','remote','1EgUFSm','has','lockFilePath','bool','\x20missing,\x20','\x20modified,\x20','status','sqlCode','length','path','keys','appCode','4575915jKIRfn','paging','lockKey','\x20unchanged','sqlRoot','8328WFNWsP','push','sql'];a140_0x40a6=function(){return _0x47ca2b;};return a140_0x40a6();}function a140_0x51cc(_0x439112,_0x53c6f6){_0x439112=_0x439112-0x188;const _0x40a6bf=a140_0x40a6();let _0x51ccb8=_0x40a6bf[_0x439112];return _0x51ccb8;}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x5f35f7){const _0x1227ec=a140_0x51cc,_0x141e1c=[];let _0x46fa11=0x1;while(!![]){const _0x20e473=await listSqlQueries(_0x5f35f7,{'currentPage':_0x46fa11,'pageSize':PAGE_SIZE}),_0x33900f=_0x20e473[_0x1227ec(0x19b)]??[];_0x141e1c['push'](..._0x33900f[_0x1227ec(0x19a)](_0x28101a=>_0x28101a[_0x1227ec(0x1ad)]));if(_0x33900f[_0x1227ec(0x1ae)]===0x0)break;const _0x339db5=_0x20e473[_0x1227ec(0x18b)]?.['totalCount'];if(_0x339db5!=null?_0x141e1c[_0x1227ec(0x1ae)]>=_0x339db5:_0x33900f[_0x1227ec(0x1ae)]<PAGE_SIZE)break;_0x46fa11++;}return _0x141e1c;}export const sqlStatus={'service':a140_0x2e0062(0x191),'command':a140_0x2e0062(0x1ac),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a140_0x2e0062(0x19e),'flags':[{'name':'remote','type':'boolean','description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x5af525){const _0x301523=a140_0x2e0062,_0x5942ed=loadSqlProjectConfig(_0x5af525[_0x301523(0x189)]),_0x36536f=await readSqlLockFile(_0x5942ed[_0x301523(0x1a8)]),{appLock:_0x349d12}=ensureSqlLockScope(_0x36536f??createEmptySqlLock(),_0x5942ed['appCode'],_0x5942ed[_0x301523(0x18e)],_0x301523(0x1ac)),_0x211a99=await scanLocalSqlQueries(_0x5942ed),_0x352d85=[],_0x28fd49=[],_0x2fe25d=[],_0x5058f9=[],_0x18dc79=new Set(_0x211a99['map'](_0x5be55e=>_0x5be55e[_0x301523(0x18c)]));for(const _0x351cb6 of _0x211a99){const _0x282204=await computeSqlFileHash(_0x351cb6[_0x301523(0x19d)]),_0x5ceaa4=_0x349d12[_0x301523(0x1a2)][_0x351cb6['lockKey']],_0x527d2f=!!_0x5ceaa4&&_0x5ceaa4[_0x301523(0x1af)]!==_0x351cb6[_0x301523(0x195)],_0x4013f5=!!_0x5ceaa4&&!!_0x351cb6['sqlName']&&_0x5ceaa4[_0x301523(0x19f)]!==_0x351cb6[_0x301523(0x19f)];if(!_0x5ceaa4)_0x352d85[_0x301523(0x190)](_0x351cb6[_0x301523(0x18c)]);else _0x5ceaa4[_0x301523(0x193)]!==_0x282204||_0x527d2f||_0x4013f5?_0x28fd49['push'](_0x351cb6[_0x301523(0x18c)]):_0x2fe25d[_0x301523(0x190)](_0x351cb6['lockKey']);}for(const _0x7227ac of Object[_0x301523(0x188)](_0x349d12[_0x301523(0x1a2)])){!_0x18dc79['has'](_0x7227ac)&&_0x5058f9[_0x301523(0x190)](_0x7227ac);}const _0x30a3d2=[];if(_0x5af525[_0x301523(0x1a9)](_0x301523(0x1a5))){const _0x4c1db5=await fetchAllSqlCodes(_0x5af525[_0x301523(0x189)]);for(const _0x17382b of _0x4c1db5){!_0x18dc79[_0x301523(0x1a7)](_0x17382b)&&!_0x349d12[_0x301523(0x1a2)][_0x17382b]&&_0x30a3d2[_0x301523(0x190)](_0x17382b);}}const _0x26988b=_0x352d85[_0x301523(0x1ae)]===0x0&&_0x28fd49[_0x301523(0x1ae)]===0x0&&_0x5058f9[_0x301523(0x1ae)]===0x0&&_0x30a3d2[_0x301523(0x1ae)]===0x0;return{'ok':!![],'data':{'added':_0x352d85,'modified':_0x28fd49,'missing':_0x5058f9,'unchanged':_0x2fe25d,'remoteOnly':_0x30a3d2},'message':_0x26988b?_0x301523(0x1a1):_0x352d85[_0x301523(0x1ae)]+_0x301523(0x192)+_0x28fd49[_0x301523(0x1ae)]+_0x301523(0x1ab)+_0x5058f9[_0x301523(0x1ae)]+_0x301523(0x1aa)+_0x2fe25d[_0x301523(0x1ae)]+_0x301523(0x18d)+(_0x30a3d2[_0x301523(0x1ae)]>0x0?',\x20'+_0x30a3d2[_0x301523(0x1ae)]+'\x20remote-only':'')};}};
1
+ const a140_0x1a4052=a140_0x2a15;(function(_0x172453,_0x407c0e){const _0x4be5e0=a140_0x2a15,_0x481d2f=_0x172453();while(!![]){try{const _0x15b4f3=-parseInt(_0x4be5e0(0xab))/0x1*(parseInt(_0x4be5e0(0xbd))/0x2)+parseInt(_0x4be5e0(0xc0))/0x3*(-parseInt(_0x4be5e0(0xa9))/0x4)+-parseInt(_0x4be5e0(0xbe))/0x5*(parseInt(_0x4be5e0(0xb5))/0x6)+-parseInt(_0x4be5e0(0xa1))/0x7+parseInt(_0x4be5e0(0xb2))/0x8+-parseInt(_0x4be5e0(0xb4))/0x9*(-parseInt(_0x4be5e0(0xc2))/0xa)+parseInt(_0x4be5e0(0xb8))/0xb;if(_0x15b4f3===_0x407c0e)break;else _0x481d2f['push'](_0x481d2f['shift']());}catch(_0x4b40e1){_0x481d2f['push'](_0x481d2f['shift']());}}}(a140_0x6e8e,0xea07d));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';function a140_0x6e8e(){const _0xbbfd91=['225RVjQCE','2748YfwEWc','appCode','tableData','21199695CCtqpu','filePath','hash','sqls','sqlRoot','156556dawDxe','16535eDSIAt','totalCount','21TCOkuo','push','539590JPYSWv','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','keys','\x20missing,\x20','\x20added,\x20','6677573EMZcAH','status','paging','lockFilePath','lockKey','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqlName','\x20unchanged','186968kdvTMt','sql','14GBtlQw','remote','has','length','relativePath','path','bool','12592000RoBawI','read'];a140_0x6e8e=function(){return _0xbbfd91;};return a140_0x6e8e();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;function a140_0x2a15(_0x2c4306,_0x5ee943){_0x2c4306=_0x2c4306-0x9d;const _0x6e8e4b=a140_0x6e8e();let _0x2a151f=_0x6e8e4b[_0x2c4306];return _0x2a151f;}async function fetchAllSqlCodes(_0x173690){const _0x1c384d=a140_0x2a15,_0x569748=[];let _0x22cbe9=0x1;while(!![]){const _0x810938=await listSqlQueries(_0x173690,{'currentPage':_0x22cbe9,'pageSize':PAGE_SIZE}),_0xc6d8ca=_0x810938[_0x1c384d(0xb7)]??[];_0x569748[_0x1c384d(0xc1)](..._0xc6d8ca['map'](_0x4a5a44=>_0x4a5a44['sqlCode']));if(_0xc6d8ca[_0x1c384d(0xae)]===0x0)break;const _0x41d2d1=_0x810938[_0x1c384d(0xa3)]?.[_0x1c384d(0xbf)];if(_0x41d2d1!=null?_0x569748[_0x1c384d(0xae)]>=_0x41d2d1:_0xc6d8ca[_0x1c384d(0xae)]<PAGE_SIZE)break;_0x22cbe9++;}return _0x569748;}export const sqlStatus={'service':a140_0x1a4052(0xaa),'command':a140_0x1a4052(0xa2),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a140_0x1a4052(0xb3),'flags':[{'name':a140_0x1a4052(0xac),'type':'boolean','description':a140_0x1a4052(0x9d)}],async 'execute'(_0x3ebea2){const _0x2ffc3b=a140_0x1a4052,_0xdfd0f3=loadSqlProjectConfig(_0x3ebea2[_0x2ffc3b(0xb6)]),_0x3e1f4c=await readSqlLockFile(_0xdfd0f3[_0x2ffc3b(0xa4)]),{appLock:_0x283d8b}=ensureSqlLockScope(_0x3e1f4c??createEmptySqlLock(),_0xdfd0f3[_0x2ffc3b(0xb6)],_0xdfd0f3[_0x2ffc3b(0xbc)],_0x2ffc3b(0xa2)),_0xaf4cd5=await scanLocalSqlQueries(_0xdfd0f3),_0x4ac0a0=[],_0x58a9af=[],_0x30962b=[],_0x34684e=[],_0x46b275=new Set(_0xaf4cd5['map'](_0x5e93f1=>_0x5e93f1[_0x2ffc3b(0xa5)]));for(const _0x3d3843 of _0xaf4cd5){const _0x445754=await computeSqlFileHash(_0x3d3843[_0x2ffc3b(0xb9)]),_0x470df7=_0x283d8b[_0x2ffc3b(0xbb)][_0x3d3843[_0x2ffc3b(0xa5)]],_0x494020=!!_0x470df7&&_0x470df7[_0x2ffc3b(0xb0)]!==_0x3d3843[_0x2ffc3b(0xaf)],_0x4d38f2=!!_0x470df7&&!!_0x3d3843['sqlName']&&_0x470df7[_0x2ffc3b(0xa7)]!==_0x3d3843['sqlName'];if(!_0x470df7)_0x4ac0a0[_0x2ffc3b(0xc1)](_0x3d3843['lockKey']);else _0x470df7[_0x2ffc3b(0xba)]!==_0x445754||_0x494020||_0x4d38f2?_0x58a9af['push'](_0x3d3843[_0x2ffc3b(0xa5)]):_0x30962b[_0x2ffc3b(0xc1)](_0x3d3843['lockKey']);}for(const _0x325364 of Object[_0x2ffc3b(0x9e)](_0x283d8b[_0x2ffc3b(0xbb)])){!_0x46b275[_0x2ffc3b(0xad)](_0x325364)&&_0x34684e[_0x2ffc3b(0xc1)](_0x325364);}const _0x39bde8=[];if(_0x3ebea2[_0x2ffc3b(0xb1)](_0x2ffc3b(0xac))){const _0x512514=await fetchAllSqlCodes(_0x3ebea2[_0x2ffc3b(0xb6)]);for(const _0xaa671c of _0x512514){!_0x46b275[_0x2ffc3b(0xad)](_0xaa671c)&&!_0x283d8b[_0x2ffc3b(0xbb)][_0xaa671c]&&_0x39bde8['push'](_0xaa671c);}}const _0x522430=_0x4ac0a0[_0x2ffc3b(0xae)]===0x0&&_0x58a9af[_0x2ffc3b(0xae)]===0x0&&_0x34684e[_0x2ffc3b(0xae)]===0x0&&_0x39bde8[_0x2ffc3b(0xae)]===0x0;return{'ok':!![],'data':{'added':_0x4ac0a0,'modified':_0x58a9af,'missing':_0x34684e,'unchanged':_0x30962b,'remoteOnly':_0x39bde8},'message':_0x522430?_0x2ffc3b(0xa6):_0x4ac0a0[_0x2ffc3b(0xae)]+_0x2ffc3b(0xa0)+_0x58a9af[_0x2ffc3b(0xae)]+'\x20modified,\x20'+_0x34684e[_0x2ffc3b(0xae)]+_0x2ffc3b(0x9f)+_0x30962b['length']+_0x2ffc3b(0xa8)+(_0x39bde8[_0x2ffc3b(0xae)]>0x0?',\x20'+_0x39bde8['length']+'\x20remote-only':'')};}};