@lovrabet/rabetbase-cli 2.3.4-beta.2 → 2.3.4-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) 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-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/flags.js +1 -1
  47. package/lib/commands/common/validate.js +1 -1
  48. package/lib/commands/config/get.js +1 -1
  49. package/lib/commands/config/index.js +1 -1
  50. package/lib/commands/config/list.js +1 -1
  51. package/lib/commands/config/set.js +1 -1
  52. package/lib/commands/config/shared.js +1 -1
  53. package/lib/commands/data/filter.js +1 -1
  54. package/lib/commands/data/getOne.js +1 -1
  55. package/lib/commands/data/index.js +1 -1
  56. package/lib/commands/data/shared.js +1 -1
  57. package/lib/commands/dataset/business-group-update.js +1 -1
  58. package/lib/commands/dataset/capability.js +1 -1
  59. package/lib/commands/dataset/delete.js +1 -1
  60. package/lib/commands/dataset/detail.js +1 -1
  61. package/lib/commands/dataset/extend-update.js +1 -1
  62. package/lib/commands/dataset/field-update.js +1 -1
  63. package/lib/commands/dataset/generate.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-audit.js +1 -1
  68. package/lib/commands/dataset/relation-create.js +1 -1
  69. package/lib/commands/dataset/relation-delete.js +1 -1
  70. package/lib/commands/dataset/relation-shared.js +1 -1
  71. package/lib/commands/dataset/relation-update.js +1 -1
  72. package/lib/commands/dataset/relations.js +1 -1
  73. package/lib/commands/dataset/rename.js +1 -1
  74. package/lib/commands/dataset/restore.js +1 -1
  75. package/lib/commands/db/analyze-cancel.js +1 -1
  76. package/lib/commands/db/analyze-start.js +1 -1
  77. package/lib/commands/db/analyze-status.js +1 -1
  78. package/lib/commands/db/create.js +1 -1
  79. package/lib/commands/db/delete.js +1 -1
  80. package/lib/commands/db/detail.js +1 -1
  81. package/lib/commands/db/diff.js +1 -1
  82. package/lib/commands/db/index.js +1 -1
  83. package/lib/commands/db/list.js +1 -1
  84. package/lib/commands/db/shared.js +1 -1
  85. package/lib/commands/db/tables.js +1 -1
  86. package/lib/commands/db/test.js +1 -1
  87. package/lib/commands/db/update.js +1 -1
  88. package/lib/commands/doctor.js +1 -1
  89. package/lib/commands/init/index.js +1 -1
  90. package/lib/commands/issue/index.js +1 -1
  91. package/lib/commands/issue/nudge.js +1 -1
  92. package/lib/commands/issue/report.js +1 -1
  93. package/lib/commands/issue/shared.js +1 -1
  94. package/lib/commands/logs/index.js +1 -1
  95. package/lib/commands/menu/index.js +1 -1
  96. package/lib/commands/menu/list.js +1 -1
  97. package/lib/commands/menu/shared/compare-table.js +1 -1
  98. package/lib/commands/menu/shared/index.js +1 -1
  99. package/lib/commands/menu/shared/inquirer.js +1 -1
  100. package/lib/commands/menu/shared/local-pages.js +1 -1
  101. package/lib/commands/menu/shared/logic.js +1 -1
  102. package/lib/commands/menu/shared/service.js +1 -1
  103. package/lib/commands/menu/shared/sync-core.js +1 -1
  104. package/lib/commands/menu/shared/update-core.js +1 -1
  105. package/lib/commands/menu/shared/valid-url.js +1 -1
  106. package/lib/commands/menu/sync.js +1 -1
  107. package/lib/commands/menu/update.js +1 -1
  108. package/lib/commands/page/generate-start.js +1 -1
  109. package/lib/commands/page/generate-status.js +1 -1
  110. package/lib/commands/page/index.js +1 -1
  111. package/lib/commands/page/pull.js +1 -1
  112. package/lib/commands/page/push.js +1 -1
  113. package/lib/commands/page/relation-audit.js +1 -1
  114. package/lib/commands/page/shared.js +1 -1
  115. package/lib/commands/page/standard-page-status.js +1 -1
  116. package/lib/commands/page/sync.js +1 -1
  117. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  118. package/lib/commands/project/create/format-elapsed.js +1 -1
  119. package/lib/commands/project/create/main.js +1 -1
  120. package/lib/commands/project/create/non-interactive.js +1 -1
  121. package/lib/commands/project/create/project-template-path.js +1 -1
  122. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  123. package/lib/commands/project/create/use-format-code.js +1 -1
  124. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  125. package/lib/commands/project/index.js +1 -1
  126. package/lib/commands/project/init.js +1 -1
  127. package/lib/commands/project/upgrade.js +1 -1
  128. package/lib/commands/registry.js +1 -1
  129. package/lib/commands/run/index.js +1 -1
  130. package/lib/commands/schema.js +1 -1
  131. package/lib/commands/sql/create.js +1 -1
  132. package/lib/commands/sql/delete.js +1 -1
  133. package/lib/commands/sql/detail.js +1 -1
  134. package/lib/commands/sql/exec.js +1 -1
  135. package/lib/commands/sql/index.js +1 -1
  136. package/lib/commands/sql/list.js +1 -1
  137. package/lib/commands/sql/pull.js +1 -1
  138. package/lib/commands/sql/push.js +1 -1
  139. package/lib/commands/sql/save.js +1 -1
  140. package/lib/commands/sql/shared.js +1 -1
  141. package/lib/commands/sql/status.js +1 -1
  142. package/lib/commands/sql/validate.js +1 -1
  143. package/lib/commands/workspace/index.js +1 -1
  144. package/lib/config/schema.js +1 -1
  145. package/lib/constant/cdn.js +1 -1
  146. package/lib/constant/cli.js +1 -1
  147. package/lib/constant/defaults.js +1 -1
  148. package/lib/constant/domain.js +1 -1
  149. package/lib/constant/env.js +1 -1
  150. package/lib/constant/output.js +1 -1
  151. package/lib/constant/paths.js +1 -1
  152. package/lib/constant/risk.js +1 -1
  153. package/lib/context/app-resolver.js +1 -1
  154. package/lib/context/auth-resolver.js +1 -1
  155. package/lib/context/config-loader.js +1 -1
  156. package/lib/context.js +1 -1
  157. package/lib/core/alias-resolver.js +1 -1
  158. package/lib/core/api-client.js +1 -1
  159. package/lib/core/bff/config.js +1 -1
  160. package/lib/core/bff/file-system.js +1 -1
  161. package/lib/core/bff/hash.js +1 -1
  162. package/lib/core/bff/lock.js +1 -1
  163. package/lib/core/bff/utils.js +1 -1
  164. package/lib/core/db-resolver.js +1 -1
  165. package/lib/core/page/file-system.js +1 -1
  166. package/lib/core/page/hash.js +1 -1
  167. package/lib/core/page/lock.js +1 -1
  168. package/lib/core/sql-sync/config.js +1 -1
  169. package/lib/core/sql-sync/file-system.js +1 -1
  170. package/lib/core/sql-sync/hash.js +1 -1
  171. package/lib/core/sql-sync/lock.js +1 -1
  172. package/lib/core/sql-sync/utils.js +1 -1
  173. package/lib/core/sql-validator.js +1 -1
  174. package/lib/errors.js +1 -1
  175. package/lib/framework/build-all-flags.js +1 -1
  176. package/lib/framework/flags.js +1 -1
  177. package/lib/framework/help.js +1 -1
  178. package/lib/framework/index.js +1 -1
  179. package/lib/framework/output.js +1 -1
  180. package/lib/framework/response.js +1 -1
  181. package/lib/framework/runner-alias.js +1 -1
  182. package/lib/framework/runner.js +1 -1
  183. package/lib/framework/schema-export.js +1 -1
  184. package/lib/framework/types.js +1 -1
  185. package/lib/generated/build-info.js +1 -1
  186. package/lib/help.js +1 -1
  187. package/lib/skills/main.js +1 -1
  188. package/lib/skills/npx-skills-add.js +1 -1
  189. package/lib/telemetry/cli-command-trace.js +1 -1
  190. package/lib/telemetry/cli-help-trace.js +1 -1
  191. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  192. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  193. package/lib/telemetry/send-cli-trace-log.js +1 -1
  194. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  195. package/lib/utils/ai_config.js +1 -1
  196. package/lib/utils/apply-jq-filter.js +1 -1
  197. package/lib/utils/cdn-config.js +1 -1
  198. package/lib/utils/check-sdk-version.js +1 -1
  199. package/lib/utils/cli-version-check.js +1 -1
  200. package/lib/utils/cli-version-policy.js +1 -1
  201. package/lib/utils/config.js +1 -1
  202. package/lib/utils/copy-directory.js +1 -1
  203. package/lib/utils/entity-with-id.js +1 -1
  204. package/lib/utils/file-utils.js +1 -1
  205. package/lib/utils/guides-cdn.js +1 -1
  206. package/lib/utils/http-client.js +1 -1
  207. package/lib/utils/is-non-interactive.js +1 -1
  208. package/lib/utils/logger.js +1 -1
  209. package/lib/utils/params.js +1 -1
  210. package/lib/utils/platform.js +1 -1
  211. package/lib/utils/rules-cdn.js +1 -1
  212. package/lib/utils/sleep.js +1 -1
  213. package/lib/utils/template-replacer.js +1 -1
  214. package/lib/utils/update-notice.js +1 -1
  215. package/lib/utils/version.js +1 -1
  216. package/lib/utils/with-active-cookie.js +1 -1
  217. package/lib/utils/write-cli-side-channel.js +1 -1
  218. package/package.json +1 -1
@@ -1 +1 @@
1
- const a128_0x21f33a=a128_0xc58e;(function(_0x361aa3,_0x168fd3){const _0x4d3189=a128_0xc58e,_0x26a79c=_0x361aa3();while(!![]){try{const _0x5a87fd=-parseInt(_0x4d3189(0x107))/0x1*(parseInt(_0x4d3189(0x12e))/0x2)+parseInt(_0x4d3189(0x141))/0x3+parseInt(_0x4d3189(0x137))/0x4+-parseInt(_0x4d3189(0x12a))/0x5*(-parseInt(_0x4d3189(0x124))/0x6)+-parseInt(_0x4d3189(0x140))/0x7*(parseInt(_0x4d3189(0x111))/0x8)+parseInt(_0x4d3189(0x106))/0x9+parseInt(_0x4d3189(0x12c))/0xa*(parseInt(_0x4d3189(0x12f))/0xb);if(_0x5a87fd===_0x168fd3)break;else _0x26a79c['push'](_0x26a79c['shift']());}catch(_0x287782){_0x26a79c['push'](_0x26a79c['shift']());}}}(a128_0x533e,0x49765));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';function a128_0xc58e(_0xc73bc5,_0x375fb4){_0xc73bc5=_0xc73bc5-0x102;const _0x533e88=a128_0x533e();let _0xc58e0b=_0x533e88[_0xc73bc5];return _0xc58e0b;}import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';function a128_0x533e(){const _0x29632e=['8gJYhYj','Code\x20Generation','Configuration','app\x20use','Instant\x20API','Authentication','wildcardDef','\x20\x20[high-risk-write]','Quick\x20Start','Run\x20Scripts','App\x20Management','`\x20has\x20been\x20removed.','defaultCommand','command','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','SQL\x20Queries','remote','show','Runtime\x20App\x20Config\x20Management','684WYDbUo','read','has','Diagnostics','service','\x20\x20[write]','18695QSyRGJ','BFF\x20Scripts','1270RaPdZi','CLI\x20Built-in\x20Skill','1814nuyNfn','473UvSKuq','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','push','length','isSingleCommand','skill\x20','preview','run','475960UWDFvM','app','use','description','risk','Workspace','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Logs','Project','3135895ZWYyJd','1444872yanntI','from','values','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Self\x20Update','Run\x20any\x20package.json\x20script','Menu','set','Schema','map','Database\x20Connections','232668FgxusZ','341TAcyec','create','start','get','skill','skills','project','logout','Dataset\x20&\x20Operations','<script>'];a128_0x533e=function(){return _0x29632e;};return a128_0x533e();}import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5eda0a){const _0x13efab=a128_0xc58e;for(const _0x80e95b of _0x5eda0a){definitions[_0x13efab(0x102)](_0x80e95b[_0x13efab(0x128)]+':'+_0x80e95b['command'],_0x80e95b);let _0x155731=serviceGroups[_0x13efab(0x10a)](_0x80e95b[_0x13efab(0x128)]);!_0x155731&&(_0x155731=[],serviceGroups['set'](_0x80e95b[_0x13efab(0x128)],_0x155731)),_0x155731[_0x13efab(0x131)](_0x80e95b);}}function registerDeclarativeService(_0x2cee40,_0x42f78b,_0x3451b5){const _0x3bb541=a128_0xc58e;registerDefinitions(_0x42f78b);_0x3451b5?.[_0x3bb541(0x117)]&&registerDefinitions([_0x3451b5['wildcardDef']]);const _0x24c7b9=_0x5ccf73=>_0x5ccf73===_0x3bb541(0x125)?'':_0x5ccf73==='write'?_0x3bb541(0x129):_0x3bb541(0x118),_0xc1f7f5={'service':_0x42f78b[0x0][_0x3bb541(0x128)],'label':_0x2cee40,'commands':_0x42f78b[_0x3bb541(0x104)](_0x9672=>({'command':_0x9672[_0x3bb541(0x11e)],'description':_0x9672[_0x3bb541(0x13a)],'tag':_0x24c7b9(_0x9672[_0x3bb541(0x13b)])})),'declarative':!![],'defaultCommand':_0x3451b5?.[_0x3bb541(0x11d)]??(_0x3451b5?.['isSingleCommand']?_0x42f78b[0x0]['command']:undefined),'wildcardDef':_0x3451b5?.[_0x3bb541(0x117)],'isSingleCommand':_0x3451b5?.[_0x3bb541(0x133)]};serviceRegistry[_0x3bb541(0x131)](_0xc1f7f5),serviceByName[_0x3bb541(0x102)](_0xc1f7f5[_0x3bb541(0x128)],_0xc1f7f5);}registerDeclarativeService(a128_0x21f33a(0x119),initDefinitions,{'defaultCommand':a128_0x21f33a(0x136),'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x13f),projectDefinitions),registerDeclarativeService(a128_0x21f33a(0x13c),workspaceDefinitions),registerDeclarativeService(a128_0x21f33a(0x11b),appDefinitions),registerDeclarativeService(a128_0x21f33a(0x116),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a128_0x21f33a(0x10f),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a128_0x21f33a(0x115),dataDefinitions),registerDeclarativeService(a128_0x21f33a(0x12b),bffDefinitions),registerDeclarativeService(a128_0x21f33a(0x120),sqlDefinitions),registerDeclarativeService(a128_0x21f33a(0x105),dbDefinitions),registerDeclarativeService(a128_0x21f33a(0x147),menuDefinitions),registerDeclarativeService(a128_0x21f33a(0x123),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a128_0x21f33a(0x112),codegenDefinitions),registerDeclarativeService(a128_0x21f33a(0x113),configDefinitions),registerDeclarativeService(a128_0x21f33a(0x127),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x103),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x145),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x12d),cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService(a128_0x21f33a(0x13e),logsDefinitions,{'defaultCommand':a128_0x21f33a(0x122)}),registerDeclarativeService(a128_0x21f33a(0x11a),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x21f33a(0x132)]-0x1];last['commands']=[{'command':a128_0x21f33a(0x110),'description':a128_0x21f33a(0x146),'tag':''}];}export const deprecatedAliases={'create':{'service':a128_0x21f33a(0x10d),'command':a128_0x21f33a(0x108)},'start':{'service':'run','command':a128_0x21f33a(0x109)},'build':{'service':a128_0x21f33a(0x136),'command':'build'},'preview':{'service':'run','command':a128_0x21f33a(0x135)},'logout':{'service':'auth','command':a128_0x21f33a(0x10e)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a128_0x21f33a(0x13d),APP_REMOTE_REMOVED_HINT=a128_0x21f33a(0x130),APP_USE_REMOVED_HINT=a128_0x21f33a(0x144);export function resolveRemovedCommand(_0x99333,_0x20b62a){const _0x2f6071=a128_0x21f33a;if(_0x99333===_0x2f6071(0x10b)){const _0x4e82bd=_0x20b62a?_0x2f6071(0x134)+_0x20b62a:_0x2f6071(0x10b);return{'command':_0x4e82bd,'message':'`rabetbase\x20'+_0x4e82bd+_0x2f6071(0x11c),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x99333===_0x2f6071(0x10c))return{'command':'skills','message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x99333===_0x2f6071(0x138)&&_0x20b62a===_0x2f6071(0x121))return{'command':'app\x20remote','message':_0x2f6071(0x11f),'hint':APP_REMOTE_REMOVED_HINT};if(_0x99333==='app'&&_0x20b62a===_0x2f6071(0x139))return{'command':_0x2f6071(0x114),'message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x21f33a(0x108)},'sql':{'new':a128_0x21f33a(0x108)}};export function resolveDeprecatedSubcommand(_0x5ce755,_0x57ba22){return deprecatedSubcommands[_0x5ce755]?.[_0x57ba22];}export function findDefinition(_0x3f6e38,_0x3b4017){const _0x39ca24=a128_0x21f33a;return definitions[_0x39ca24(0x10a)](_0x3f6e38+':'+_0x3b4017);}export function isKnownService(_0x5f368b){const _0x518000=a128_0x21f33a;return serviceByName[_0x518000(0x126)](_0x5f368b);}export function isDeclarativeService(_0x1feb70){const _0xef1923=a128_0x21f33a;return serviceGroups['has'](_0x1feb70)||serviceByName[_0xef1923(0x10a)](_0x1feb70)?.[_0xef1923(0x117)]!==undefined;}export function getServiceEntry(_0xceeed3){const _0x59411d=a128_0x21f33a;return serviceByName[_0x59411d(0x10a)](_0xceeed3);}export function getLegacyHandler(_0x3bdb93,_0x195232){return undefined;}export function getAllDefinitions(){const _0xb0ee0c=a128_0x21f33a;return Array[_0xb0ee0c(0x142)](definitions[_0xb0ee0c(0x143)]());}
1
+ const a128_0x38643d=a128_0x2ca2;(function(_0x3e1f46,_0x255fee){const _0x4bc15f=a128_0x2ca2,_0x337d2f=_0x3e1f46();while(!![]){try{const _0x2b228a=parseInt(_0x4bc15f(0x153))/0x1*(parseInt(_0x4bc15f(0x15a))/0x2)+-parseInt(_0x4bc15f(0x14e))/0x3*(parseInt(_0x4bc15f(0x146))/0x4)+-parseInt(_0x4bc15f(0x143))/0x5+-parseInt(_0x4bc15f(0x166))/0x6+parseInt(_0x4bc15f(0x16d))/0x7*(parseInt(_0x4bc15f(0x14b))/0x8)+-parseInt(_0x4bc15f(0x152))/0x9*(parseInt(_0x4bc15f(0x151))/0xa)+parseInt(_0x4bc15f(0x167))/0xb;if(_0x2b228a===_0x255fee)break;else _0x337d2f['push'](_0x337d2f['shift']());}catch(_0x4908f7){_0x337d2f['push'](_0x337d2f['shift']());}}}(a128_0x5999,0xbd0a0));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';function a128_0x5999(){const _0x4b3fc0=['15111877jaWdPs','CLI\x20Built-in\x20Skill','map','skill','Self\x20Update','Run\x20Scripts','21eoYRyl','Run\x20any\x20package.json\x20script','<script>','skills','read','Code\x20Generation','use','SQL\x20Queries','create','auth','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','install','start','description','API\x20Development','get','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Database\x20Connections','commands','Platform\x20Issue','from','Project','defaultCommand','Runtime\x20App\x20Config\x20Management','risk','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','791245lhYJLi','login','set','4SIhCOl','Dataset\x20&\x20Operations','app\x20use','write','app','1083584NhjxvC','isSingleCommand','service','142257oedjZt','command','Smart\x20List\x20Pages','10RkyRep','13451166icsPfI','206616AKVEsL','Menu','Schema','app\x20remote','push','Authentication','`\x20has\x20been\x20removed.','8SWCaBV','skill\x20','`rabetbase\x20skills`\x20has\x20been\x20removed.','run','length','Logs','project','build','wildcardDef','has','BFF\x20Scripts','values','792414ecGCqO'];a128_0x5999=function(){return _0x4b3fc0;};return a128_0x5999();}import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';function a128_0x2ca2(_0x1a53d3,_0x37accf){_0x1a53d3=_0x1a53d3-0x129;const _0x599913=a128_0x5999();let _0x2ca26e=_0x599913[_0x1a53d3];return _0x2ca26e;}import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5ca97e){const _0xcb5663=a128_0x2ca2;for(const _0x44043d of _0x5ca97e){definitions[_0xcb5663(0x145)](_0x44043d[_0xcb5663(0x14d)]+':'+_0x44043d[_0xcb5663(0x14f)],_0x44043d);let _0x3b7197=serviceGroups[_0xcb5663(0x137)](_0x44043d['service']);!_0x3b7197&&(_0x3b7197=[],serviceGroups[_0xcb5663(0x145)](_0x44043d['service'],_0x3b7197)),_0x3b7197[_0xcb5663(0x157)](_0x44043d);}}function registerDeclarativeService(_0x3a9009,_0x13300a,_0x5b5180){const _0x17e362=a128_0x2ca2;registerDefinitions(_0x13300a);_0x5b5180?.['wildcardDef']&&registerDefinitions([_0x5b5180[_0x17e362(0x162)]]);const _0x1edb0c=_0x16675f=>_0x16675f===_0x17e362(0x12c)?'':_0x16675f===_0x17e362(0x149)?'\x20\x20[write]':'\x20\x20[high-risk-write]',_0x2cb695={'service':_0x13300a[0x0][_0x17e362(0x14d)],'label':_0x3a9009,'commands':_0x13300a[_0x17e362(0x169)](_0x57b0f0=>({'command':_0x57b0f0[_0x17e362(0x14f)],'description':_0x57b0f0[_0x17e362(0x135)],'tag':_0x1edb0c(_0x57b0f0[_0x17e362(0x140)])})),'declarative':!![],'defaultCommand':_0x5b5180?.[_0x17e362(0x13e)]??(_0x5b5180?.[_0x17e362(0x14c)]?_0x13300a[0x0][_0x17e362(0x14f)]:undefined),'wildcardDef':_0x5b5180?.[_0x17e362(0x162)],'isSingleCommand':_0x5b5180?.[_0x17e362(0x14c)]};serviceRegistry[_0x17e362(0x157)](_0x2cb695),serviceByName[_0x17e362(0x145)](_0x2cb695['service'],_0x2cb695);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x13d),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a128_0x38643d(0x158),authDefinitions,{'defaultCommand':a128_0x38643d(0x144)}),registerDeclarativeService(a128_0x38643d(0x147),datasetDefinitions),registerDeclarativeService(a128_0x38643d(0x150),pageDefinitions),registerDeclarativeService(a128_0x38643d(0x136),apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a128_0x38643d(0x164),bffDefinitions),registerDeclarativeService(a128_0x38643d(0x12f),sqlDefinitions),registerDeclarativeService(a128_0x38643d(0x139),dbDefinitions),registerDeclarativeService(a128_0x38643d(0x154),menuDefinitions),registerDeclarativeService(a128_0x38643d(0x13f),appConfigDefinitions),registerDeclarativeService(a128_0x38643d(0x13b),issueDefinitions),registerDeclarativeService(a128_0x38643d(0x12d),codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x155),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x16b),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x168),cliSkillDefinitions,{'defaultCommand':a128_0x38643d(0x133)}),registerDeclarativeService(a128_0x38643d(0x15f),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a128_0x38643d(0x16c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x38643d(0x15e)]-0x1];last[a128_0x38643d(0x13a)]=[{'command':a128_0x38643d(0x12a),'description':a128_0x38643d(0x129),'tag':''}];}export const deprecatedAliases={'create':{'service':a128_0x38643d(0x160),'command':a128_0x38643d(0x130)},'start':{'service':a128_0x38643d(0x15d),'command':a128_0x38643d(0x134)},'build':{'service':a128_0x38643d(0x15d),'command':a128_0x38643d(0x161)},'preview':{'service':a128_0x38643d(0x15d),'command':'preview'},'logout':{'service':a128_0x38643d(0x131),'command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a128_0x38643d(0x142),APP_REMOTE_REMOVED_HINT='Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.',APP_USE_REMOVED_HINT=a128_0x38643d(0x138);export function resolveRemovedCommand(_0xec4854,_0x3915e0){const _0x3ab021=a128_0x38643d;if(_0xec4854===_0x3ab021(0x16a)){const _0x1a4249=_0x3915e0?_0x3ab021(0x15b)+_0x3915e0:_0x3ab021(0x16a);return{'command':_0x1a4249,'message':'`rabetbase\x20'+_0x1a4249+_0x3ab021(0x159),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0xec4854===_0x3ab021(0x12b))return{'command':'skills','message':_0x3ab021(0x15c),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0xec4854===_0x3ab021(0x14a)&&_0x3915e0==='remote')return{'command':_0x3ab021(0x156),'message':_0x3ab021(0x141),'hint':APP_REMOTE_REMOVED_HINT};if(_0xec4854===_0x3ab021(0x14a)&&_0x3915e0===_0x3ab021(0x12e))return{'command':_0x3ab021(0x148),'message':_0x3ab021(0x132),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x38643d(0x130)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0xd62d7a,_0x5c6aaf){return deprecatedSubcommands[_0xd62d7a]?.[_0x5c6aaf];}export function findDefinition(_0x6e2a9d,_0x45c114){const _0x5af896=a128_0x38643d;return definitions[_0x5af896(0x137)](_0x6e2a9d+':'+_0x45c114);}export function isKnownService(_0x2e0377){const _0x26bb23=a128_0x38643d;return serviceByName[_0x26bb23(0x163)](_0x2e0377);}export function isDeclarativeService(_0x44fbca){const _0x1d01f3=a128_0x38643d;return serviceGroups['has'](_0x44fbca)||serviceByName[_0x1d01f3(0x137)](_0x44fbca)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x314803){const _0x229a96=a128_0x38643d;return serviceByName[_0x229a96(0x137)](_0x314803);}export function getLegacyHandler(_0x34532e,_0x40a341){return undefined;}export function getAllDefinitions(){const _0x3e82d5=a128_0x38643d;return Array[_0x3e82d5(0x13c)](definitions[_0x3e82d5(0x165)]());}
@@ -1 +1 @@
1
- const a129_0x2f1d82=a129_0x3d9d;(function(_0x1bc92f,_0x443809){const _0x237912=a129_0x3d9d,_0x38d19a=_0x1bc92f();while(!![]){try{const _0xa98bbe=parseInt(_0x237912(0xc5))/0x1*(-parseInt(_0x237912(0xb8))/0x2)+-parseInt(_0x237912(0xd8))/0x3+-parseInt(_0x237912(0xe1))/0x4*(parseInt(_0x237912(0xa3))/0x5)+parseInt(_0x237912(0xaf))/0x6*(-parseInt(_0x237912(0x9f))/0x7)+-parseInt(_0x237912(0xce))/0x8*(parseInt(_0x237912(0xc3))/0x9)+-parseInt(_0x237912(0xd4))/0xa+parseInt(_0x237912(0xd2))/0xb;if(_0xa98bbe===_0x443809)break;else _0x38d19a['push'](_0x38d19a['shift']());}catch(_0x137ede){_0x38d19a['push'](_0x38d19a['shift']());}}}(a129_0x542a,0x54957));import{readFileSync,existsSync}from'node:fs';function a129_0x3d9d(_0x5910ed,_0x5384fa){_0x5910ed=_0x5910ed-0x9f;const _0x542a3b=a129_0x542a();let _0x3d9dc5=_0x542a3b[_0x5910ed];return _0x3d9dc5;}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';function a129_0x542a(){const _0x4c0566=['belowMinimum','parse','\x20\x20\x20\x20','1304478fbHQxS','\x0a\x20\x20Available\x20scripts:\x0a','utf-8','\x20\x20EXAMPLES','\x20run\x20start','vite\x20preview\x20exited\x20with\x20code\x20','run','slice','\x20exited\x20with\x20code\x20','136eOhUKT','922761NjFGbJ','\x22\x20not\x20found\x20in\x20package.json.','\x20run\x20build','Enable\x20watch\x20mode\x20for\x20preview','53730rTswxv','all','node_modules','bun','cwd','length','bun.lockb','watch','join','npm','(none)','validation','24tbNvXm','.bin','script','push','close','keys','\x20run\x20<script>\x0a','--watch','read','8462EruXUF','scripts','bun.lock','No\x20scripts\x20defined\x20in\x20package.json.','Run\x20a\x20package.json\x20script','No\x20package.json\x20found\x20in\x20current\x20directory.','has','yarn.lock','args','pnpm-lock.yaml','build','814257UfdiCv','boolean','115JSMKOI','\x0a\x20\x20Usage:\x20','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','start','log','\x20run\x20preview','preview','inherit','needsUpgrade','40DEkREn','vite','dev','error','30188697mgNewH','Script\x20\x22','1315600yTIayE'];a129_0x542a=function(){return _0x4c0566;};return a129_0x542a();}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([a129_0x2f1d82(0xc8),a129_0x2f1d82(0xd0)]);function readPackageScripts(_0x5a2aef){const _0x5d94e5=a129_0x2f1d82,_0x4c97e3=resolve(_0x5a2aef,'package.json');if(!existsSync(_0x4c97e3))return null;try{const _0x5f46b0=JSON[_0x5d94e5(0xd6)](readFileSync(_0x4c97e3,_0x5d94e5(0xda)));return _0x5f46b0[_0x5d94e5(0xb9)]??{};}catch{return null;}}function detectPackageManager(_0x5d7df9){const _0x1d95fd=a129_0x2f1d82;if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xa9)))||existsSync(resolve(_0x5d7df9,_0x1d95fd(0xba))))return _0x1d95fd(0xa6);if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xc1))))return'pnpm';if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xbf))))return'yarn';return _0x1d95fd(0xac);}async function versionCheck(_0x23faa6){const _0x1b46c9=a129_0x2f1d82,_0x2ebe29=await checkCliVersion();(_0x2ebe29[_0x1b46c9(0xcd)]||_0x2ebe29[_0x1b46c9(0xd5)])&&(printCliUpgradeWarning(_0x2ebe29),assertCliVersionSupported(_0x2ebe29));const _0x1686a8=await checkSdkVersion(_0x23faa6);if(_0x1686a8[_0x1b46c9(0xcd)])printSdkUpgradeWarning(_0x1686a8);}function spawnScript(_0x259984,_0x3825b1,_0x2e5a1f,_0x11a74e){return new Promise((_0x8a20dc,_0x148276)=>{const _0x43d21e=a129_0x3d9d,_0x190102=[_0x43d21e(0xde),_0x3825b1,..._0x2e5a1f],_0x42c92e=spawn(_0x259984,_0x190102,{'cwd':_0x11a74e,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x11a74e,_0x43d21e(0xa5),'.bin')+delimiter+process.env.PATH}});_0x42c92e['on'](_0x43d21e(0xb3),_0x362f37=>{const _0x29e4aa=_0x43d21e;if(_0x362f37===0x0||_0x362f37===null)_0x8a20dc();else _0x148276(new Error(_0x259984+'\x20run\x20'+_0x3825b1+_0x29e4aa(0xe0)+_0x362f37));}),_0x42c92e['on'](_0x43d21e(0xd1),_0x148276);});}function spawnViteBuildWatch(_0x4bd1f2){return new Promise((_0x5730ee,_0x317c2d)=>{const _0x1b413d=a129_0x3d9d,_0x48a07c=spawn(_0x1b413d(0xcf),[_0x1b413d(0xc2),_0x1b413d(0xb6)],{'cwd':_0x4bd1f2,'stdio':_0x1b413d(0xcc),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4bd1f2,_0x1b413d(0xa5),_0x1b413d(0xb0))+delimiter+process.env.PATH}});_0x48a07c['on'](_0x1b413d(0xb3),_0x1579db=>{const _0x1e2e57=_0x1b413d;if(_0x1579db===0x0||_0x1579db===null)_0x5730ee();else _0x317c2d(new Error(_0x1e2e57(0xc7)+_0x1579db));}),_0x48a07c['on'](_0x1b413d(0xd1),_0x317c2d);});}function spawnVitePreview(_0x1f22fa){return new Promise((_0x48a4df,_0x122348)=>{const _0xc26312=a129_0x3d9d,_0x205a5b=spawn('vite',['preview'],{'cwd':_0x1f22fa,'stdio':_0xc26312(0xcc),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1f22fa,_0xc26312(0xa5),_0xc26312(0xb0))+delimiter+process.env.PATH}});_0x205a5b['on']('close',_0x11a4d9=>{const _0x50c0d1=_0xc26312;if(_0x11a4d9===0x0||_0x11a4d9===null)_0x48a4df();else _0x122348(new Error(_0x50c0d1(0xdd)+_0x11a4d9));}),_0x205a5b['on'](_0xc26312(0xd1),_0x122348);});}const runFlags=[{'name':'watch','type':a129_0x2f1d82(0xc4),'description':a129_0x2f1d82(0xa2),'default':![]}];export const runDefinition={'service':a129_0x2f1d82(0xde),'command':a129_0x2f1d82(0xde),'description':a129_0x2f1d82(0xbc),'risk':a129_0x2f1d82(0xb7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0x2f1d82(0xb1),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x114072=a129_0x2f1d82,_0x4186ae=[];return _0x4186ae['push'](_0x114072(0xdb)),_0x4186ae[_0x114072(0xb2)](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xdc)),_0x4186ae['push'](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xa1)),_0x4186ae[_0x114072(0xb2)](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xca)),_0x4186ae['push'](_0x114072(0xd7)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x4186ae[_0x114072(0xab)]('\x0a');},async 'execute'(_0x1ec69d){const _0xc2a650=a129_0x2f1d82,_0x33cea7=process[_0xc2a650(0xa7)](),_0xac155c=_0x1ec69d['args'][0x0],_0x5214f7=_0x1ec69d[_0xc2a650(0xc0)][_0xc2a650(0xdf)](0x1),_0x276d08=readPackageScripts(_0x33cea7);if(!_0x276d08)throw CliErrors[_0xc2a650(0xae)](_0xc2a650(0xbd));if(!_0xac155c){const _0x36ad1e=Object[_0xc2a650(0xb4)](_0x276d08);if(_0x36ad1e[_0xc2a650(0xa8)]===0x0)console[_0xc2a650(0xc9)](_0xc2a650(0xbb));else{console[_0xc2a650(0xc9)](_0xc2a650(0xd9));for(const _0x50d261 of _0x36ad1e){console['log']('\x20\x20\x20\x20'+_0x50d261);}console[_0xc2a650(0xc9)](_0xc2a650(0xc6)+CLI_BIN_NAME+_0xc2a650(0xb5));}return{'ok':!![]};}if(!_0x276d08[_0xac155c])throw CliErrors[_0xc2a650(0xae)](_0xc2a650(0xd3)+_0xac155c+_0xc2a650(0xa0),'Available:\x20'+(Object['keys'](_0x276d08)[_0xc2a650(0xab)](',\x20')||_0xc2a650(0xad)));const _0x5056e3=detectPackageManager(_0x33cea7);VERSION_CHECK_SCRIPTS[_0xc2a650(0xbe)](_0xac155c)&&await versionCheck(_0x33cea7);if(_0xac155c===_0xc2a650(0xcb)&&_0x1ec69d['bool'](_0xc2a650(0xaa)))return await Promise[_0xc2a650(0xa4)]([spawnViteBuildWatch(_0x33cea7),spawnVitePreview(_0x33cea7)]),{'ok':!![]};return await spawnScript(_0x5056e3,_0xac155c,_0x5214f7,_0x33cea7),{'ok':!![]};}};
1
+ const a129_0x4c7c43=a129_0x33f3;(function(_0x3e9259,_0x15cefe){const _0xd66249=a129_0x33f3,_0x4a6e42=_0x3e9259();while(!![]){try{const _0x1439aa=parseInt(_0xd66249(0x152))/0x1*(parseInt(_0xd66249(0x157))/0x2)+-parseInt(_0xd66249(0x151))/0x3+parseInt(_0xd66249(0x11f))/0x4+-parseInt(_0xd66249(0x128))/0x5*(-parseInt(_0xd66249(0x158))/0x6)+parseInt(_0xd66249(0x121))/0x7+-parseInt(_0xd66249(0x148))/0x8*(-parseInt(_0xd66249(0x12a))/0x9)+-parseInt(_0xd66249(0x15d))/0xa;if(_0x1439aa===_0x15cefe)break;else _0x4a6e42['push'](_0x4a6e42['shift']());}catch(_0x5b3fba){_0x4a6e42['push'](_0x4a6e42['shift']());}}}(a129_0x550e,0x446a5));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';function a129_0x33f3(_0x3b7acd,_0x144463){_0x3b7acd=_0x3b7acd-0x11c;const _0x550ea4=a129_0x550e();let _0x33f3af=_0x550ea4[_0x3b7acd];return _0x33f3af;}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',a129_0x4c7c43(0x131)]);function readPackageScripts(_0x495fbf){const _0x2fd21f=a129_0x4c7c43,_0x1332f9=resolve(_0x495fbf,_0x2fd21f(0x140));if(!existsSync(_0x1332f9))return null;try{const _0x15d81f=JSON[_0x2fd21f(0x139)](readFileSync(_0x1332f9,'utf-8'));return _0x15d81f[_0x2fd21f(0x14f)]??{};}catch{return null;}}function detectPackageManager(_0xd0a5df){const _0x5f370a=a129_0x4c7c43;if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x14b)))||existsSync(resolve(_0xd0a5df,_0x5f370a(0x145))))return _0x5f370a(0x13f);if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x124))))return _0x5f370a(0x13a);if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x156))))return _0x5f370a(0x126);return _0x5f370a(0x14a);}function a129_0x550e(){const _0x3c0c4e=['\x20run\x20start','pnpm-lock.yaml','length','yarn','Available:\x20','60765EJkqfR','\x20run\x20preview','3336363NSxzKa','keys','needsUpgrade','boolean','\x20\x20EXAMPLES','validation','\x20run\x20','dev','(none)','bool','\x0a\x20\x20Usage:\x20','join','log','Run\x20a\x20package.json\x20script','Enable\x20watch\x20mode\x20for\x20preview','parse','pnpm','.bin','\x22\x20not\x20found\x20in\x20package.json.','node_modules','\x20exited\x20with\x20code\x20','bun','package.json','vite\x20preview\x20exited\x20with\x20code\x20','close','vite','watch','bun.lock','\x20run\x20build','preview','8QacyAx','No\x20package.json\x20found\x20in\x20current\x20directory.','npm','bun.lockb','has','Script\x20name\x20defined\x20in\x20package.json','cwd','scripts','all','117972CnMJqW','11iFWxDd','--watch','inherit','error','yarn.lock','85322tZWWGC','156ayPWsY','\x20\x20\x20\x20','build','\x0a\x20\x20Available\x20scripts:\x0a','run','12554220ZDOeDT','push','script','\x20run\x20<script>\x0a','read','args','belowMinimum','1025880puMOWF','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','1137843OhptDA','\x20run\x20preview\x20--watch'];a129_0x550e=function(){return _0x3c0c4e;};return a129_0x550e();}async function versionCheck(_0x364aa3){const _0x55ce29=a129_0x4c7c43,_0x44bcec=await checkCliVersion();(_0x44bcec['needsUpgrade']||_0x44bcec[_0x55ce29(0x11e)])&&(printCliUpgradeWarning(_0x44bcec),assertCliVersionSupported(_0x44bcec));const _0x3bc452=await checkSdkVersion(_0x364aa3);if(_0x3bc452[_0x55ce29(0x12c)])printSdkUpgradeWarning(_0x3bc452);}function spawnScript(_0x1e2a0a,_0x4346d5,_0x2f0442,_0x564203){return new Promise((_0xcb2a0e,_0x5280c3)=>{const _0x598dc1=a129_0x33f3,_0x43136d=['run',_0x4346d5,..._0x2f0442],_0x1624fe=spawn(_0x1e2a0a,_0x43136d,{'cwd':_0x564203,'stdio':_0x598dc1(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x564203,'node_modules',_0x598dc1(0x13b))+delimiter+process.env.PATH}});_0x1624fe['on'](_0x598dc1(0x142),_0x343263=>{const _0x1e4898=_0x598dc1;if(_0x343263===0x0||_0x343263===null)_0xcb2a0e();else _0x5280c3(new Error(_0x1e2a0a+_0x1e4898(0x130)+_0x4346d5+_0x1e4898(0x13e)+_0x343263));}),_0x1624fe['on'](_0x598dc1(0x155),_0x5280c3);});}function spawnViteBuildWatch(_0x15a6f3){return new Promise((_0x44a0a3,_0x8ba148)=>{const _0xd2bd34=a129_0x33f3,_0x102219=spawn('vite',[_0xd2bd34(0x15a),_0xd2bd34(0x153)],{'cwd':_0x15a6f3,'stdio':_0xd2bd34(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x15a6f3,'node_modules','.bin')+delimiter+process.env.PATH}});_0x102219['on'](_0xd2bd34(0x142),_0x1929a0=>{const _0x38a945=_0xd2bd34;if(_0x1929a0===0x0||_0x1929a0===null)_0x44a0a3();else _0x8ba148(new Error(_0x38a945(0x120)+_0x1929a0));}),_0x102219['on'](_0xd2bd34(0x155),_0x8ba148);});}function spawnVitePreview(_0x1342b7){return new Promise((_0x2ebb3a,_0x145f84)=>{const _0x387fa2=a129_0x33f3,_0x1b82a1=spawn(_0x387fa2(0x143),[_0x387fa2(0x147)],{'cwd':_0x1342b7,'stdio':_0x387fa2(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1342b7,_0x387fa2(0x13d),_0x387fa2(0x13b))+delimiter+process.env.PATH}});_0x1b82a1['on'](_0x387fa2(0x142),_0x599430=>{const _0x307812=_0x387fa2;if(_0x599430===0x0||_0x599430===null)_0x2ebb3a();else _0x145f84(new Error(_0x307812(0x141)+_0x599430));}),_0x1b82a1['on']('error',_0x145f84);});}const runFlags=[{'name':a129_0x4c7c43(0x144),'type':a129_0x4c7c43(0x12d),'description':a129_0x4c7c43(0x138),'default':![]}];export const runDefinition={'service':a129_0x4c7c43(0x15c),'command':a129_0x4c7c43(0x15c),'description':a129_0x4c7c43(0x137),'risk':a129_0x4c7c43(0x11c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0x4c7c43(0x15f),'description':a129_0x4c7c43(0x14d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2bbee4=a129_0x4c7c43,_0x48b5b9=[];return _0x48b5b9[_0x2bbee4(0x15e)](_0x2bbee4(0x12e)),_0x48b5b9['push'](_0x2bbee4(0x159)+CLI_BIN_NAME+_0x2bbee4(0x123)),_0x48b5b9['push'](_0x2bbee4(0x159)+CLI_BIN_NAME+_0x2bbee4(0x146)),_0x48b5b9[_0x2bbee4(0x15e)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2bbee4(0x129)),_0x48b5b9['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2bbee4(0x122)),_0x48b5b9[_0x2bbee4(0x135)]('\x0a');},async 'execute'(_0x29cd38){const _0x3af351=a129_0x4c7c43,_0x2c81b6=process[_0x3af351(0x14e)](),_0x4cc76c=_0x29cd38[_0x3af351(0x11d)][0x0],_0x285257=_0x29cd38[_0x3af351(0x11d)]['slice'](0x1),_0x20eb23=readPackageScripts(_0x2c81b6);if(!_0x20eb23)throw CliErrors[_0x3af351(0x12f)](_0x3af351(0x149));if(!_0x4cc76c){const _0x43d980=Object[_0x3af351(0x12b)](_0x20eb23);if(_0x43d980[_0x3af351(0x125)]===0x0)console[_0x3af351(0x136)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x3af351(0x136)](_0x3af351(0x15b));for(const _0x2b29c6 of _0x43d980){console[_0x3af351(0x136)]('\x20\x20\x20\x20'+_0x2b29c6);}console[_0x3af351(0x136)](_0x3af351(0x134)+CLI_BIN_NAME+_0x3af351(0x160));}return{'ok':!![]};}if(!_0x20eb23[_0x4cc76c])throw CliErrors[_0x3af351(0x12f)]('Script\x20\x22'+_0x4cc76c+_0x3af351(0x13c),_0x3af351(0x127)+(Object['keys'](_0x20eb23)['join'](',\x20')||_0x3af351(0x132)));const _0x3b70a6=detectPackageManager(_0x2c81b6);VERSION_CHECK_SCRIPTS[_0x3af351(0x14c)](_0x4cc76c)&&await versionCheck(_0x2c81b6);if(_0x4cc76c===_0x3af351(0x147)&&_0x29cd38[_0x3af351(0x133)](_0x3af351(0x144)))return await Promise[_0x3af351(0x150)]([spawnViteBuildWatch(_0x2c81b6),spawnVitePreview(_0x2c81b6)]),{'ok':!![]};return await spawnScript(_0x3b70a6,_0x4cc76c,_0x285257,_0x2c81b6),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a130_0x3620(){const _0x61eea9=['read','5438752BlryGp','70lraJNX','1989076viOAfA','1869015nYTHpv','10683JMgUSG','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','114002XqaKkD','2109036ZqiUoN','263109dwmVSM'];a130_0x3620=function(){return _0x61eea9;};return a130_0x3620();}const a130_0x543d19=a130_0x294c;(function(_0x376f56,_0x180691){const _0xbf39fb=a130_0x294c,_0x59357c=_0x376f56();while(!![]){try{const _0x5f3932=-parseInt(_0xbf39fb(0xf1))/0x1+parseInt(_0xbf39fb(0xeb))/0x2*(-parseInt(_0xbf39fb(0xee))/0x3)+parseInt(_0xbf39fb(0xec))/0x4+parseInt(_0xbf39fb(0xed))/0x5+parseInt(_0xbf39fb(0xf2))/0x6+-parseInt(_0xbf39fb(0xf3))/0x7+-parseInt(_0xbf39fb(0xea))/0x8;if(_0x5f3932===_0x180691)break;else _0x59357c['push'](_0x59357c['shift']());}catch(_0x215acb){_0x59357c['push'](_0x59357c['shift']());}}}(a130_0x3620,0x4110e));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1f3bdf){const _0x284c36=await buildSchemaPayload();return{'ok':!![],'data':_0x284c36};}function a130_0x294c(_0x303edf,_0x1b52ba){_0x303edf=_0x303edf-0xea;const _0x36208b=a130_0x3620();let _0x294c6a=_0x36208b[_0x303edf];return _0x294c6a;}export const schemaDefinition={'service':a130_0x543d19(0xef),'command':'export','description':a130_0x543d19(0xf0),'risk':a130_0x543d19(0xf4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
1
+ const a130_0x4b247=a130_0x45c1;function a130_0x45c1(_0x27bf5a,_0x2e2269){_0x27bf5a=_0x27bf5a-0xb0;const _0x568995=a130_0x5689();let _0x45c198=_0x568995[_0x27bf5a];return _0x45c198;}(function(_0x43d4de,_0x1762ec){const _0x5471d0=a130_0x45c1,_0x413a91=_0x43d4de();while(!![]){try{const _0x1e4e42=-parseInt(_0x5471d0(0xbb))/0x1+-parseInt(_0x5471d0(0xb8))/0x2*(parseInt(_0x5471d0(0xb3))/0x3)+-parseInt(_0x5471d0(0xb9))/0x4*(-parseInt(_0x5471d0(0xb7))/0x5)+parseInt(_0x5471d0(0xba))/0x6+parseInt(_0x5471d0(0xb1))/0x7*(parseInt(_0x5471d0(0xbe))/0x8)+-parseInt(_0x5471d0(0xbc))/0x9*(-parseInt(_0x5471d0(0xb2))/0xa)+-parseInt(_0x5471d0(0xbd))/0xb;if(_0x1e4e42===_0x1762ec)break;else _0x413a91['push'](_0x413a91['shift']());}catch(_0x1b4aa1){_0x413a91['push'](_0x413a91['shift']());}}}(a130_0x5689,0x6edcc));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x32bbde){const _0x2ff796=await buildSchemaPayload();return{'ok':!![],'data':_0x2ff796};}export const schemaDefinition={'service':a130_0x4b247(0xb0),'command':a130_0x4b247(0xb5),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a130_0x4b247(0xb4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a130_0x4b247(0xb6),'flags':[],'execute':execute};function a130_0x5689(){const _0x2fb950=['7947500wtujuD','16600FBjetF','schema','2527ycbuwX','20DdqFTL','303RPPXnW','read','export','json','53005YyMHag','13276gqJkXu','276VbVbNx','4517802CFgTEH','768733CQdYTX','1720134MsmlwW'];a130_0x5689=function(){return _0x2fb950;};return a130_0x5689();}
@@ -1 +1 @@
1
- const a131_0x48c896=a131_0x4620;(function(_0x323838,_0x2fc9e6){const _0x2f5336=a131_0x4620,_0x42d611=_0x323838();while(!![]){try{const _0x2ff51d=-parseInt(_0x2f5336(0x1cf))/0x1*(-parseInt(_0x2f5336(0x1bc))/0x2)+parseInt(_0x2f5336(0x19f))/0x3+-parseInt(_0x2f5336(0x1cc))/0x4+parseInt(_0x2f5336(0x1af))/0x5*(-parseInt(_0x2f5336(0x1ac))/0x6)+-parseInt(_0x2f5336(0x199))/0x7*(parseInt(_0x2f5336(0x1b3))/0x8)+-parseInt(_0x2f5336(0x1a8))/0x9*(-parseInt(_0x2f5336(0x1c8))/0xa)+-parseInt(_0x2f5336(0x192))/0xb*(-parseInt(_0x2f5336(0x1c1))/0xc);if(_0x2ff51d===_0x2fc9e6)break;else _0x42d611['push'](_0x42d611['shift']());}catch(_0x26b8b8){_0x42d611['push'](_0x42d611['shift']());}}}(a131_0x4afb,0x9f072));import{writeFile}from'node:fs/promises';function a131_0x4620(_0x17b160,_0x3aaab5){_0x17b160=_0x17b160-0x18f;const _0x4afb6e=a131_0x4afb();let _0x4620cb=_0x4afb6e[_0x17b160];return _0x4620cb;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a131_0x4afb(){const _0x55c535=['str','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','/smartapi/custom/saveUserCustomSql','description','sqls','2671968WfWeuU','sqlRootDir','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','flagMissing','stringify','appCode','MyBatis\x20XML(mybatisXml)','toISOString','9kyyRjC','isFinite','flag','</select>','7375338wsgyqI','dbName','map','5xZDXXG','Invalid\x20database\x20selection\x20payload:\x20','lockFilePath','dbId\x20必须为正整数','108088dlzBEr','POST','<server-generated-sqlCode>','__manual__','nonInteractive','mode','File\x20already\x20exists:\x20','high-risk-write','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','515444NeWFWH','普通\x20SQL(sql)','dbId','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','number','23488116rqlTfH','请选择目标数据库:','utf8','catch','length','sqlName','SELECT\x201\x20AS\x20id;','1783310jEkFoV','sql','请输入目标数据库\x20dbId:','join','2699480HHgMrD','db-id','SQL\x20query\x20display\x20name','2vozUxt','name','mybatisXml','适合带动态标签的\x20MyBatis\x20XML\x20SQL','SQL\x20名称不能为空','trim','validation','sqlCode','isInteger','11RHISrt','Target\x20database\x20ID','Local\x20SQL\x20file\x20mode','dbId\x20不能为空','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Created\x20SQL\x20query\x20','string','511WEyigp'];a131_0x4afb=function(){return _0x55c535;};return a131_0x4afb();}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x492573){const _0x4f24e6=a131_0x4620;if(_0x492573==='mybatisXml')return[_0x4f24e6(0x1a1),_0x4f24e6(0x1a2),_0x4f24e6(0x1ab),''][_0x4f24e6(0x1cb)]('\x0a');return[_0x4f24e6(0x1c7),'']['join']('\x0a');}export const sqlCreate={'service':a131_0x48c896(0x1c9),'command':'create','description':a131_0x48c896(0x19b),'risk':a131_0x48c896(0x1ba),'flags':[{'name':a131_0x48c896(0x1d0),'type':a131_0x48c896(0x198),'description':a131_0x48c896(0x1ce)},{'name':'db-id','type':a131_0x48c896(0x1c0),'description':a131_0x48c896(0x193)},{'name':'mode','type':a131_0x48c896(0x198),'enum':[a131_0x48c896(0x1c9),a131_0x48c896(0x1d1)],'description':a131_0x48c896(0x194)}],async 'validate'(_0x5e42de){const _0xae60bd=a131_0x48c896;if(!_0x5e42de[_0xae60bd(0x1b7)])return;if(!_0x5e42de[_0xae60bd(0x19a)](_0xae60bd(0x1d0))['trim']())throw CliErrors[_0xae60bd(0x1a3)](_0xae60bd(0x1d0),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x467b4b=resolveProvidedDbId(_0x5e42de);if(typeof _0x467b4b!==_0xae60bd(0x1c0)||!Number[_0xae60bd(0x1a9)](_0x467b4b)||_0x467b4b<=0x0)throw CliErrors['flagMissing']('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x5e42de[_0xae60bd(0x19a)](_0xae60bd(0x1b8))['trim']())throw CliErrors['flagMissing']('mode',_0xae60bd(0x1bb));},async 'dryRun'(_0x47e49f){const _0x4e6a59=a131_0x48c896,_0x272325=loadSqlProjectConfig(_0x47e49f[_0x4e6a59(0x1a5)]),{sqlName:_0x2d097e,dbId:_0x343a56,dbName:_0x406df9,mode:_0x339aaf}=await resolveSqlNewInputs(_0x47e49f),_0x4f7947=buildSqlRelativePath(_0x4e6a59(0x1b5),_0x2d097e,_0x406df9,_0x339aaf,_0x343a56),_0x39a51f=_0x272325[_0x4e6a59(0x1a0)]+'/'+_0x4f7947;return{'method':_0x4e6a59(0x1b4),'url':_0x4e6a59(0x19c),'body':{'appCode':_0x47e49f[_0x4e6a59(0x1a5)],'sqlName':_0x2d097e,'dbId':_0x343a56,'mode':_0x339aaf,'localPath':_0x39a51f},'description':_0x4e6a59(0x196)+_0x272325[_0x4e6a59(0x1a0)]};},async 'execute'(_0x1fc571){const _0x3bea81=a131_0x48c896,_0x1444d9=loadSqlProjectConfig(_0x1fc571[_0x3bea81(0x1a5)]),{sqlName:_0x35daf9,dbId:_0x504d47,dbName:_0x2235d1,mode:_0x1476d5}=await resolveSqlNewInputs(_0x1fc571),_0xfe4d2d=generateSqlTemplate(_0x1476d5),_0xd25c1b=await createSqlQuery({'appCode':_0x1fc571['appCode'],'sqlName':_0x35daf9,'dbId':_0x504d47,'sqlContent':_0xfe4d2d}),_0xc205b=ensureRemoteSqlContent(_0xd25c1b),_0x5204d9=_0x2235d1||await getDbName(_0x1fc571[_0x3bea81(0x1a5)],_0x504d47)['catch'](()=>undefined),_0x4eb6e1=buildSqlRelativePath(_0xd25c1b[_0x3bea81(0x190)],_0xd25c1b['sqlName'],_0x5204d9,_0x1476d5,_0x504d47),_0x4f667e=_0x1444d9[_0x3bea81(0x1a0)]+'/'+_0x4eb6e1,_0x59c8b2=buildLocalSqlFileContent({'sqlCode':_0xd25c1b['sqlCode'],'sqlName':_0xd25c1b[_0x3bea81(0x1c6)],'dbId':_0xd25c1b[_0x3bea81(0x1be)]},_0xc205b,{'dbName':_0x5204d9,'mode':_0x1476d5,'syncedAt':new Date()[_0x3bea81(0x1a7)](),'description':_0xd25c1b[_0x3bea81(0x19d)]});if(await fileExists(_0x4f667e))throw CliErrors[_0x3bea81(0x18f)](_0x3bea81(0x1b9)+_0x4f667e);await ensureParentDirectory(_0x4f667e),await writeFile(_0x4f667e,_0x59c8b2,_0x3bea81(0x1c3));const _0x3c342d=await readSqlLockFile(_0x1444d9['lockFilePath']),{lockData:_0x373530,appLock:_0x36c2ec}=ensureSqlLockScope(_0x3c342d??createEmptySqlLock(),_0x1444d9[_0x3bea81(0x1a5)],_0x1444d9['sqlRoot'],'new');return _0x36c2ec[_0x3bea81(0x19e)][_0xd25c1b[_0x3bea81(0x190)]]={...buildSqlLockEntry(_0xd25c1b,_0xc205b,computeSqlContentHash(_0x59c8b2),{'dbName':_0x5204d9}),'path':_0x4eb6e1,'mode':_0x1476d5},_0x36c2ec['lastSync']=new Date()[_0x3bea81(0x1a7)](),await writeSqlLockFile(_0x1444d9[_0x3bea81(0x1b1)],_0x373530),{'ok':!![],'data':{'id':_0xd25c1b['id'],'sqlCode':_0xd25c1b[_0x3bea81(0x190)],'sqlName':_0xd25c1b[_0x3bea81(0x1c6)],'dbId':_0xd25c1b[_0x3bea81(0x1be)],'path':_0x4f667e,'mode':_0x1476d5},'message':_0x3bea81(0x197)+_0xd25c1b[_0x3bea81(0x190)]};}};async function resolveSqlNewInputs(_0x5a4c9b){const _0x2c73ef=await resolveSqlNameInput(_0x5a4c9b),{dbId:_0x316a45,dbName:_0x4cf0bf}=await resolveDbSelection(_0x5a4c9b),_0x2df671=await resolveSqlModeInput(_0x5a4c9b);return{'sqlName':_0x2c73ef,'dbId':_0x316a45,'dbName':_0x4cf0bf,'mode':_0x2df671};}async function resolveSqlNameInput(_0x3e039b){const _0xf411dd=a131_0x48c896,_0x26780e=_0x3e039b[_0xf411dd(0x19a)](_0xf411dd(0x1d0))[_0xf411dd(0x1d4)]();if(_0x26780e)return _0x26780e;if(_0x3e039b[_0xf411dd(0x1b7)])throw CliErrors[_0xf411dd(0x1a3)](_0xf411dd(0x1d0),_0xf411dd(0x1bf));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x5503d6=>_0x5503d6['trim']()?!![]:_0xf411dd(0x1d3)}))[_0xf411dd(0x1d4)]();}async function resolveDbSelection(_0x72cb73){const _0xb516d6=a131_0x48c896,_0x32689b=resolveProvidedDbId(_0x72cb73);if(typeof _0x32689b===_0xb516d6(0x1c0)&&Number[_0xb516d6(0x1a9)](_0x32689b)&&_0x32689b>0x0)return{'dbId':_0x32689b,'dbName':await getDbName(_0x72cb73[_0xb516d6(0x1a5)],_0x32689b)[_0xb516d6(0x1c4)](()=>undefined)};if(_0x72cb73['nonInteractive'])throw CliErrors['flagMissing']('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x149d1d=await listDatabases(_0x72cb73['appCode'])[_0xb516d6(0x1c4)](()=>[]);if(_0x149d1d[_0xb516d6(0x1c5)]===0x1)return{'dbId':_0x149d1d[0x0]['dbId'],'dbName':_0x149d1d[0x0][_0xb516d6(0x1ad)]};if(_0x149d1d[_0xb516d6(0x1c5)]>0x1){const _0x32f7a3=await select({'message':_0xb516d6(0x1c2),'choices':[..._0x149d1d[_0xb516d6(0x1ae)](_0x310404=>({'name':_0x310404[_0xb516d6(0x1ad)]+'\x20('+_0x310404['dbId']+')','value':serializeDbSelection(_0x310404)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x32f7a3!==_0xb516d6(0x1b6))return deserializeDbSelection(_0x32f7a3);}const _0x5c99f3=await input({'message':_0xb516d6(0x1ca),'validate':_0x27098c=>{const _0x202b2c=_0xb516d6,_0x4ea07a=_0x27098c['trim']();if(!_0x4ea07a)return _0x202b2c(0x195);const _0x4e87ce=Number(_0x4ea07a);if(!Number[_0x202b2c(0x191)](_0x4e87ce)||_0x4e87ce<=0x0)return _0x202b2c(0x1b2);return!![];}});return{'dbId':Number(_0x5c99f3[_0xb516d6(0x1d4)]())};}async function resolveSqlModeInput(_0x478e4b){const _0x3cb30c=a131_0x48c896,_0x4231a4=_0x478e4b[_0x3cb30c(0x19a)]('mode')[_0x3cb30c(0x1d4)]();if(_0x4231a4===_0x3cb30c(0x1c9)||_0x4231a4===_0x3cb30c(0x1d1))return _0x4231a4;if(_0x478e4b[_0x3cb30c(0x1b7)])throw CliErrors['flagMissing']('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x3cb30c(0x1bd),'value':_0x3cb30c(0x1c9),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x3cb30c(0x1a6),'value':_0x3cb30c(0x1d1),'description':_0x3cb30c(0x1d2)}]});}function serializeDbSelection(_0x447354){const _0x1231e7=a131_0x48c896;return JSON[_0x1231e7(0x1a4)]({'dbId':_0x447354[_0x1231e7(0x1be)],'dbName':_0x447354[_0x1231e7(0x1ad)]});}function deserializeDbSelection(_0x566107){const _0x2286c5=a131_0x48c896;try{const _0x1ea03c=JSON['parse'](_0x566107);if(typeof _0x1ea03c[_0x2286c5(0x1be)]===_0x2286c5(0x1c0)&&Number[_0x2286c5(0x1a9)](_0x1ea03c[_0x2286c5(0x1be)]))return{'dbId':_0x1ea03c[_0x2286c5(0x1be)],'dbName':_0x1ea03c['dbName']};}catch{}throw CliErrors[_0x2286c5(0x18f)](_0x2286c5(0x1b0)+_0x566107);}function resolveProvidedDbId(_0xf37e93){const _0x293f79=a131_0x48c896,_0x242e94=_0xf37e93[_0x293f79(0x1aa)](_0x293f79(0x1cd));if(typeof _0x242e94===_0x293f79(0x1c0)&&Number[_0x293f79(0x1a9)](_0x242e94))return _0x242e94;return undefined;}
1
+ const a131_0x3427f5=a131_0x50ef;(function(_0x2929eb,_0xdd56a0){const _0x51ef1a=a131_0x50ef,_0x3e3969=_0x2929eb();while(!![]){try{const _0x301774=-parseInt(_0x51ef1a(0xc0))/0x1+parseInt(_0x51ef1a(0xc3))/0x2+parseInt(_0x51ef1a(0xf1))/0x3+parseInt(_0x51ef1a(0xfc))/0x4*(parseInt(_0x51ef1a(0xf4))/0x5)+-parseInt(_0x51ef1a(0xd7))/0x6*(parseInt(_0x51ef1a(0xd9))/0x7)+-parseInt(_0x51ef1a(0xef))/0x8+parseInt(_0x51ef1a(0xcc))/0x9*(parseInt(_0x51ef1a(0xe7))/0xa);if(_0x301774===_0xdd56a0)break;else _0x3e3969['push'](_0x3e3969['shift']());}catch(_0x6e40ea){_0x3e3969['push'](_0x3e3969['shift']());}}}(a131_0x3881,0x3fc40));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a131_0x50ef(_0x4ef6f5,_0x5d10b4){_0x4ef6f5=_0x4ef6f5-0xc0;const _0x388105=a131_0x3881();let _0x50efd1=_0x388105[_0x4ef6f5];return _0x50efd1;}import{createSqlQuery}from'../../core/api-client.js';function a131_0x3881(){const _0xe7146f=['dbName','mode','stringify','length','join','1359sMvNZd','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','sqlRootDir','Target\x20database\x20ID','sql','SQL\x20名称不能为空','string','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','number','932304cNpJeq','请选择本地\x20SQL\x20模式:','21IfUziT','POST','MyBatis\x20XML(mybatisXml)','File\x20already\x20exists:\x20','isFinite','适合带动态标签的\x20MyBatis\x20XML\x20SQL','sqlName','appCode','sqlCode','\x20\x20SELECT\x201\x20AS\x20id','dbId\x20必须为正整数','name','flagMissing','toISOString','5930KFKNdh','✎\x20手动输入\x20dbId','trim','map','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','lastSync','catch','dbId','3526912fYaYlG','validation','1347309auptub','utf8','description','10QiRfrU','flag','/smartapi/custom/saveUserCustomSql','请输入\x20SQL\x20名称:','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','普通\x20SQL(sql)','mybatisXml','nonInteractive','534220llAWMK','create','dbId\x20不能为空','__manual__','sqls','db-id','453QMvwXV','str','high-risk-write','725794wWnSkO','<server-generated-sqlCode>','isInteger','SELECT\x201\x20AS\x20id;'];a131_0x3881=function(){return _0xe7146f;};return a131_0x3881();}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(_0x47b86c){const _0xabcced=a131_0x50ef;if(_0x47b86c==='mybatisXml')return[_0xabcced(0xf8),_0xabcced(0xe2),'</select>',''][_0xabcced(0xcb)]('\x0a');return[_0xabcced(0xc6),'']['join']('\x0a');}export const sqlCreate={'service':a131_0x3427f5(0xd2),'command':a131_0x3427f5(0xfd),'description':a131_0x3427f5(0xcf),'risk':a131_0x3427f5(0xc2),'flags':[{'name':a131_0x3427f5(0xe4),'type':'string','description':'SQL\x20query\x20display\x20name'},{'name':'db-id','type':a131_0x3427f5(0xd6),'description':a131_0x3427f5(0xd1)},{'name':a131_0x3427f5(0xc8),'type':a131_0x3427f5(0xd4),'enum':[a131_0x3427f5(0xd2),a131_0x3427f5(0xfa)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x7ca8e0){const _0x12910e=a131_0x3427f5;if(!_0x7ca8e0[_0x12910e(0xfb)])return;if(!_0x7ca8e0['str'](_0x12910e(0xe4))[_0x12910e(0xe9)]())throw CliErrors[_0x12910e(0xe5)](_0x12910e(0xe4),_0x12910e(0xcd));const _0x5a633b=resolveProvidedDbId(_0x7ca8e0);if(typeof _0x5a633b!==_0x12910e(0xd6)||!Number[_0x12910e(0xdd)](_0x5a633b)||_0x5a633b<=0x0)throw CliErrors['flagMissing']('db-id',_0x12910e(0xce));if(!_0x7ca8e0[_0x12910e(0xc1)]('mode')[_0x12910e(0xe9)]())throw CliErrors['flagMissing']('mode',_0x12910e(0xd5));},async 'dryRun'(_0x261cc4){const _0x498034=a131_0x3427f5,_0x258460=loadSqlProjectConfig(_0x261cc4['appCode']),{sqlName:_0x4b5f7b,dbId:_0x25aadf,dbName:_0x29a5c4,mode:_0x345d4d}=await resolveSqlNewInputs(_0x261cc4),_0x1ab4b3=buildSqlRelativePath(_0x498034(0xc4),_0x4b5f7b,_0x29a5c4,_0x345d4d,_0x25aadf),_0x55e820=_0x258460[_0x498034(0xd0)]+'/'+_0x1ab4b3;return{'method':_0x498034(0xda),'url':_0x498034(0xf6),'body':{'appCode':_0x261cc4[_0x498034(0xe0)],'sqlName':_0x4b5f7b,'dbId':_0x25aadf,'mode':_0x345d4d,'localPath':_0x55e820},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x258460[_0x498034(0xd0)]};},async 'execute'(_0x512f1e){const _0xf77d5f=a131_0x3427f5,_0x54a232=loadSqlProjectConfig(_0x512f1e[_0xf77d5f(0xe0)]),{sqlName:_0x13beb6,dbId:_0x23ed71,dbName:_0x56bdb7,mode:_0x48452e}=await resolveSqlNewInputs(_0x512f1e),_0x4be0db=generateSqlTemplate(_0x48452e),_0x16ba5a=await createSqlQuery({'appCode':_0x512f1e[_0xf77d5f(0xe0)],'sqlName':_0x13beb6,'dbId':_0x23ed71,'sqlContent':_0x4be0db}),_0x5c3e43=ensureRemoteSqlContent(_0x16ba5a),_0x5202d9=_0x56bdb7||await getDbName(_0x512f1e['appCode'],_0x23ed71)['catch'](()=>undefined),_0x5d0b25=buildSqlRelativePath(_0x16ba5a['sqlCode'],_0x16ba5a[_0xf77d5f(0xdf)],_0x5202d9,_0x48452e,_0x23ed71),_0xabb95b=_0x54a232[_0xf77d5f(0xd0)]+'/'+_0x5d0b25,_0x3e185e=buildLocalSqlFileContent({'sqlCode':_0x16ba5a['sqlCode'],'sqlName':_0x16ba5a[_0xf77d5f(0xdf)],'dbId':_0x16ba5a[_0xf77d5f(0xee)]},_0x5c3e43,{'dbName':_0x5202d9,'mode':_0x48452e,'syncedAt':new Date()[_0xf77d5f(0xe6)](),'description':_0x16ba5a[_0xf77d5f(0xf3)]});if(await fileExists(_0xabb95b))throw CliErrors[_0xf77d5f(0xf0)](_0xf77d5f(0xdc)+_0xabb95b);await ensureParentDirectory(_0xabb95b),await writeFile(_0xabb95b,_0x3e185e,_0xf77d5f(0xf2));const _0xd05958=await readSqlLockFile(_0x54a232['lockFilePath']),{lockData:_0x5a2fa2,appLock:_0x1579b3}=ensureSqlLockScope(_0xd05958??createEmptySqlLock(),_0x54a232['appCode'],_0x54a232['sqlRoot'],'new');return _0x1579b3[_0xf77d5f(0x100)][_0x16ba5a[_0xf77d5f(0xe1)]]={...buildSqlLockEntry(_0x16ba5a,_0x5c3e43,computeSqlContentHash(_0x3e185e),{'dbName':_0x5202d9}),'path':_0x5d0b25,'mode':_0x48452e},_0x1579b3[_0xf77d5f(0xec)]=new Date()[_0xf77d5f(0xe6)](),await writeSqlLockFile(_0x54a232['lockFilePath'],_0x5a2fa2),{'ok':!![],'data':{'id':_0x16ba5a['id'],'sqlCode':_0x16ba5a[_0xf77d5f(0xe1)],'sqlName':_0x16ba5a[_0xf77d5f(0xdf)],'dbId':_0x16ba5a[_0xf77d5f(0xee)],'path':_0xabb95b,'mode':_0x48452e},'message':'Created\x20SQL\x20query\x20'+_0x16ba5a[_0xf77d5f(0xe1)]};}};async function resolveSqlNewInputs(_0x394504){const _0x58c2a5=await resolveSqlNameInput(_0x394504),{dbId:_0x49a90d,dbName:_0x2b4fbe}=await resolveDbSelection(_0x394504),_0x3a07b3=await resolveSqlModeInput(_0x394504);return{'sqlName':_0x58c2a5,'dbId':_0x49a90d,'dbName':_0x2b4fbe,'mode':_0x3a07b3};}async function resolveSqlNameInput(_0x50d184){const _0x1bc9e1=a131_0x3427f5,_0x32e53d=_0x50d184['str'](_0x1bc9e1(0xe4))[_0x1bc9e1(0xe9)]();if(_0x32e53d)return _0x32e53d;if(_0x50d184[_0x1bc9e1(0xfb)])throw CliErrors[_0x1bc9e1(0xe5)]('name',_0x1bc9e1(0xcd));return(await input({'message':_0x1bc9e1(0xf7),'validate':_0x37e69c=>_0x37e69c['trim']()?!![]:_0x1bc9e1(0xd3)}))['trim']();}async function resolveDbSelection(_0x34890c){const _0x56bbe3=a131_0x3427f5,_0x23d10a=resolveProvidedDbId(_0x34890c);if(typeof _0x23d10a===_0x56bbe3(0xd6)&&Number[_0x56bbe3(0xdd)](_0x23d10a)&&_0x23d10a>0x0)return{'dbId':_0x23d10a,'dbName':await getDbName(_0x34890c[_0x56bbe3(0xe0)],_0x23d10a)['catch'](()=>undefined)};if(_0x34890c[_0x56bbe3(0xfb)])throw CliErrors[_0x56bbe3(0xe5)](_0x56bbe3(0x101),_0x56bbe3(0xce));const _0x568fb2=await listDatabases(_0x34890c[_0x56bbe3(0xe0)])[_0x56bbe3(0xed)](()=>[]);if(_0x568fb2[_0x56bbe3(0xca)]===0x1)return{'dbId':_0x568fb2[0x0][_0x56bbe3(0xee)],'dbName':_0x568fb2[0x0][_0x56bbe3(0xc7)]};if(_0x568fb2[_0x56bbe3(0xca)]>0x1){const _0x284f8b=await select({'message':'请选择目标数据库:','choices':[..._0x568fb2[_0x56bbe3(0xea)](_0x4191f7=>({'name':_0x4191f7['dbName']+'\x20('+_0x4191f7[_0x56bbe3(0xee)]+')','value':serializeDbSelection(_0x4191f7)})),{'name':_0x56bbe3(0xe8),'value':_0x56bbe3(0xff)}]});if(_0x284f8b!==_0x56bbe3(0xff))return deserializeDbSelection(_0x284f8b);}const _0x35ba13=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x54f635=>{const _0xa00d2b=_0x56bbe3,_0x2c2614=_0x54f635[_0xa00d2b(0xe9)]();if(!_0x2c2614)return _0xa00d2b(0xfe);const _0x339989=Number(_0x2c2614);if(!Number[_0xa00d2b(0xc5)](_0x339989)||_0x339989<=0x0)return _0xa00d2b(0xe3);return!![];}});return{'dbId':Number(_0x35ba13[_0x56bbe3(0xe9)]())};}async function resolveSqlModeInput(_0x399551){const _0x39be3e=a131_0x3427f5,_0x55aecd=_0x399551[_0x39be3e(0xc1)](_0x39be3e(0xc8))[_0x39be3e(0xe9)]();if(_0x55aecd==='sql'||_0x55aecd===_0x39be3e(0xfa))return _0x55aecd;if(_0x399551[_0x39be3e(0xfb)])throw CliErrors[_0x39be3e(0xe5)]('mode',_0x39be3e(0xd5));return await select({'message':_0x39be3e(0xd8),'choices':[{'name':_0x39be3e(0xf9),'value':_0x39be3e(0xd2),'description':_0x39be3e(0xeb)},{'name':_0x39be3e(0xdb),'value':_0x39be3e(0xfa),'description':_0x39be3e(0xde)}]});}function serializeDbSelection(_0xed473a){const _0x5919e0=a131_0x3427f5;return JSON[_0x5919e0(0xc9)]({'dbId':_0xed473a[_0x5919e0(0xee)],'dbName':_0xed473a[_0x5919e0(0xc7)]});}function deserializeDbSelection(_0x59258f){const _0xfa6f48=a131_0x3427f5;try{const _0x1c7995=JSON['parse'](_0x59258f);if(typeof _0x1c7995[_0xfa6f48(0xee)]===_0xfa6f48(0xd6)&&Number[_0xfa6f48(0xdd)](_0x1c7995['dbId']))return{'dbId':_0x1c7995[_0xfa6f48(0xee)],'dbName':_0x1c7995[_0xfa6f48(0xc7)]};}catch{}throw CliErrors[_0xfa6f48(0xf0)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x59258f);}function resolveProvidedDbId(_0x5c6088){const _0x13c663=a131_0x3427f5,_0x514bf8=_0x5c6088[_0x13c663(0xf5)](_0x13c663(0x101));if(typeof _0x514bf8===_0x13c663(0xd6)&&Number['isFinite'](_0x514bf8))return _0x514bf8;return undefined;}
@@ -1 +1 @@
1
- const a132_0x9232e3=a132_0x4c85;(function(_0x2e4a0d,_0x10fc2b){const _0xc44759=a132_0x4c85,_0x306ecf=_0x2e4a0d();while(!![]){try{const _0x2201c3=parseInt(_0xc44759(0x1f1))/0x1*(parseInt(_0xc44759(0x1f0))/0x2)+-parseInt(_0xc44759(0x1f6))/0x3+-parseInt(_0xc44759(0x1f8))/0x4+parseInt(_0xc44759(0x1ee))/0x5*(-parseInt(_0xc44759(0x1e6))/0x6)+-parseInt(_0xc44759(0x1f4))/0x7*(-parseInt(_0xc44759(0x200))/0x8)+-parseInt(_0xc44759(0x1fc))/0x9*(parseInt(_0xc44759(0x1ea))/0xa)+-parseInt(_0xc44759(0x1e9))/0xb*(-parseInt(_0xc44759(0x1f3))/0xc);if(_0x2201c3===_0x10fc2b)break;else _0x306ecf['push'](_0x306ecf['shift']());}catch(_0x461f40){_0x306ecf['push'](_0x306ecf['shift']());}}}(a132_0x591d,0xba3ab));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a132_0x591d(){const _0x1c524f=['POST','9wRZhHE','sqlcode','sqlRoot','entries','203360qIhnyC','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','length','delete','appCode','validation','high-risk-write','toISOString','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','str','12MmxTsi','trashDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','77cpEjNZ','5036810uvyueq','lockFilePath','projectRoot','Would\x20delete\x20SQL\x20','704560uxZuHj','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','1970yRQStA','1181lKOqsC','SQL\x20lock\x20file\x20not\x20found.','2564724atRQSq','399QouGXY','/smartapi/custom/deleteUserCustomSql','3601533WqhQnK','Deleted\x20','5438012ObCKoG','sqls','trashedTo'];a132_0x591d=function(){return _0x1c524f;};return a132_0x591d();}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';function a132_0x4c85(_0x1b45da,_0x115238){_0x1b45da=_0x1b45da-0x1dd;const _0x591d65=a132_0x591d();let _0x4c85a6=_0x591d65[_0x1b45da];return _0x4c85a6;}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a132_0x9232e3(0x1df),'description':a132_0x9232e3(0x1ef),'risk':a132_0x9232e3(0x1e2),'flags':[SQLCODE_FLAG],async 'validate'(_0x148866){const _0x29cb41=a132_0x9232e3,_0x48870b=loadSqlProjectConfig(_0x148866[_0x29cb41(0x1e0)]),_0x42e87a=await readSqlLockFile(_0x48870b['lockFilePath']);if(!_0x42e87a)throw CliErrors[_0x29cb41(0x1e1)](_0x29cb41(0x1dd));},async 'dryRun'(_0x3a05bd){const _0x565869=a132_0x9232e3,_0x22a7d6=loadSqlProjectConfig(_0x3a05bd['appCode']),_0x4a0024=await readSqlLockFile(_0x22a7d6[_0x565869(0x1eb)]);if(!_0x4a0024)throw CliErrors['validation'](_0x565869(0x1dd));const {appLock:_0xec6fa9}=ensureSqlLockScope(_0x4a0024,_0x3a05bd[_0x565869(0x1e0)],_0x22a7d6[_0x565869(0x1fe)],_0x565869(0x1df)),_0x107aeb=_0x3a05bd[_0x565869(0x1e5)](_0x565869(0x1fd)),_0x1af513=_0xec6fa9[_0x565869(0x1f9)][_0x107aeb];if(!_0x1af513)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x107aeb+'\x22.');return{'method':_0x565869(0x1fb),'url':_0x565869(0x1f5),'body':{'sqlCode':_0x107aeb,'id':_0x1af513['remoteId'],'localPath':resolveLocalSqlFilePath(_0x22a7d6,_0x107aeb,_0x1af513)},'description':_0x565869(0x1ed)+_0x107aeb+_0x565869(0x1e8)+_0x22a7d6['trashDir']};},async 'execute'(_0x122f56){const _0x927729=a132_0x9232e3,_0xb78885=loadSqlProjectConfig(_0x122f56[_0x927729(0x1e0)]),_0x52d350=await readSqlLockFile(_0xb78885['lockFilePath']);if(!_0x52d350)throw CliErrors[_0x927729(0x1e1)](_0x927729(0x1f2));const {lockData:_0x3a42bd,appLock:_0x410351}=ensureSqlLockScope(_0x52d350,_0x122f56['appCode'],_0xb78885[_0x927729(0x1fe)],_0x927729(0x1df)),_0x2621d2=_0x122f56[_0x927729(0x1e5)](_0x927729(0x1fd)),_0x6fad32=_0x410351[_0x927729(0x1f9)][_0x2621d2];if(!_0x6fad32)throw CliErrors[_0x927729(0x1e1)](_0x927729(0x1e4)+_0x2621d2+'\x22.');await deleteSqlQuery({'id':_0x6fad32['remoteId'],'sqlCode':_0x2621d2}),_0x410351['sqls']=Object['fromEntries'](Object[_0x927729(0x1ff)](_0x410351[_0x927729(0x1f9)])['filter'](([_0x4d567d])=>_0x4d567d!==_0x2621d2)),_0x410351['lastSync']=new Date()[_0x927729(0x1e3)](),await writeSqlLockFile(_0xb78885['lockFilePath'],_0x3a42bd);const _0x5a8b54=resolveLocalSqlFilePath(_0xb78885,_0x2621d2,_0x6fad32);let _0x8b130b;await fileExists(_0x5a8b54)&&(_0x8b130b=await moveToTrash(_0xb78885[_0x927729(0x1ec)],_0xb78885[_0x927729(0x1e7)],_0x5a8b54),await cleanupEmptyDirectories(dirname(_0x5a8b54),_0xb78885['sqlRootDir']));const _0x131dd8={'deleted':_0x2621d2,'remoteId':_0x6fad32['remoteId']};if(_0x8b130b)_0x131dd8[_0x927729(0x1fa)]=_0x8b130b;return{'ok':!![],'data':_0x131dd8,'message':_0x927729(0x1f7)+_0x2621d2+(_0x8b130b?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x291928,_0x4893cf,_0x438617){const _0x542065=a132_0x9232e3,_0x4980d0=new Date()[_0x542065(0x1e3)]()['replace'](/[:.]/g,'-'),_0x1d2f4b=relative(_0x291928,_0x438617),_0x14c21f=join(_0x4893cf,_0x4980d0,_0x1d2f4b);return await mkdir(dirname(_0x14c21f),{'recursive':!![]}),await rename(_0x438617,_0x14c21f),_0x14c21f;}async function cleanupEmptyDirectories(_0x31bae1,_0x1d23e6){const _0x469d1b=a132_0x9232e3;let _0x3e6602=resolve(_0x31bae1);const _0x22f030=resolve(_0x1d23e6);while(_0x3e6602['startsWith'](''+_0x22f030+sep)||_0x3e6602===_0x22f030){if(_0x3e6602===_0x22f030)return;try{const _0x442ab1=await readdir(_0x3e6602);if(_0x442ab1[_0x469d1b(0x1de)]>0x0)return;await rmdir(_0x3e6602);}catch{return;}_0x3e6602=dirname(_0x3e6602);}}
1
+ function a132_0xb1e7(){const _0x1c56bf=['str','lockFilePath','663AYdPhm','12JytzZH','remoteId','startsWith','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','36160MxCzYB','trashedTo','10089992jByKRm','replace','sqls','toISOString','sqlcode','validation','appCode','fromEntries','Would\x20delete\x20SQL\x20','1688320cpePfn','length','/smartapi/custom/deleteUserCustomSql','9782UxkPMO','\x20(local\x20file\x20moved\x20to\x20trash)','2556vRzfZu','entries','20IAfJzj','high-risk-write','POST','sqlRoot','delete','lastSync','trashDir','24JhMqyN','SQL\x20lock\x20file\x20not\x20found.','168677frXgAH','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','filter','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','3477754ZXyehz','226448rTmOtm'];a132_0xb1e7=function(){return _0x1c56bf;};return a132_0xb1e7();}const a132_0x7fb04b=a132_0x3f0b;(function(_0x2fbca7,_0x383bf1){const _0x314dbd=a132_0x3f0b,_0x1de328=_0x2fbca7();while(!![]){try{const _0x229d54=-parseInt(_0x314dbd(0x182))/0x1+parseInt(_0x314dbd(0x19d))/0x2*(-parseInt(_0x314dbd(0x18a))/0x3)+-parseInt(_0x314dbd(0x187))/0x4*(parseInt(_0x314dbd(0x179))/0x5)+parseInt(_0x314dbd(0x18b))/0x6*(-parseInt(_0x314dbd(0x186))/0x7)+parseInt(_0x314dbd(0x19a))/0x8+parseInt(_0x314dbd(0x19f))/0x9*(parseInt(_0x314dbd(0x18f))/0xa)+-parseInt(_0x314dbd(0x191))/0xb*(-parseInt(_0x314dbd(0x180))/0xc);if(_0x229d54===_0x383bf1)break;else _0x1de328['push'](_0x1de328['shift']());}catch(_0x102c7a){_0x1de328['push'](_0x1de328['shift']());}}}(a132_0xb1e7,0x932e0));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a132_0x3f0b(_0x37efc1,_0x5b8dd7){_0x37efc1=_0x37efc1-0x178;const _0xb1e749=a132_0xb1e7();let _0x3f0b4c=_0xb1e749[_0x37efc1];return _0x3f0b4c;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a132_0x7fb04b(0x17d),'description':a132_0x7fb04b(0x185),'risk':a132_0x7fb04b(0x17a),'flags':[SQLCODE_FLAG],async 'validate'(_0x58bfcf){const _0x3c8a04=a132_0x7fb04b,_0x25a398=loadSqlProjectConfig(_0x58bfcf[_0x3c8a04(0x197)]),_0x59b8ff=await readSqlLockFile(_0x25a398[_0x3c8a04(0x189)]);if(!_0x59b8ff)throw CliErrors[_0x3c8a04(0x196)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x11dee8){const _0xdcf8d7=a132_0x7fb04b,_0xf85a0=loadSqlProjectConfig(_0x11dee8[_0xdcf8d7(0x197)]),_0x41a537=await readSqlLockFile(_0xf85a0[_0xdcf8d7(0x189)]);if(!_0x41a537)throw CliErrors[_0xdcf8d7(0x196)](_0xdcf8d7(0x183));const {appLock:_0x4f0a1d}=ensureSqlLockScope(_0x41a537,_0x11dee8['appCode'],_0xf85a0[_0xdcf8d7(0x17c)],'delete'),_0x51df2f=_0x11dee8[_0xdcf8d7(0x188)]('sqlcode'),_0x5f19b0=_0x4f0a1d[_0xdcf8d7(0x193)][_0x51df2f];if(!_0x5f19b0)throw CliErrors[_0xdcf8d7(0x196)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x51df2f+'\x22.');return{'method':_0xdcf8d7(0x17b),'url':_0xdcf8d7(0x19c),'body':{'sqlCode':_0x51df2f,'id':_0x5f19b0[_0xdcf8d7(0x18c)],'localPath':resolveLocalSqlFilePath(_0xf85a0,_0x51df2f,_0x5f19b0)},'description':_0xdcf8d7(0x199)+_0x51df2f+_0xdcf8d7(0x18e)+_0xf85a0[_0xdcf8d7(0x17f)]};},async 'execute'(_0x563d4a){const _0x5a82d3=a132_0x7fb04b,_0x3deb14=loadSqlProjectConfig(_0x563d4a['appCode']),_0x433108=await readSqlLockFile(_0x3deb14[_0x5a82d3(0x189)]);if(!_0x433108)throw CliErrors[_0x5a82d3(0x196)](_0x5a82d3(0x181));const {lockData:_0x25acaf,appLock:_0x24f260}=ensureSqlLockScope(_0x433108,_0x563d4a[_0x5a82d3(0x197)],_0x3deb14[_0x5a82d3(0x17c)],_0x5a82d3(0x17d)),_0x82161c=_0x563d4a[_0x5a82d3(0x188)](_0x5a82d3(0x195)),_0x1fdc12=_0x24f260[_0x5a82d3(0x193)][_0x82161c];if(!_0x1fdc12)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x82161c+'\x22.');await deleteSqlQuery({'id':_0x1fdc12['remoteId'],'sqlCode':_0x82161c}),_0x24f260[_0x5a82d3(0x193)]=Object[_0x5a82d3(0x198)](Object[_0x5a82d3(0x178)](_0x24f260[_0x5a82d3(0x193)])[_0x5a82d3(0x184)](([_0x3b8003])=>_0x3b8003!==_0x82161c)),_0x24f260[_0x5a82d3(0x17e)]=new Date()[_0x5a82d3(0x194)](),await writeSqlLockFile(_0x3deb14[_0x5a82d3(0x189)],_0x25acaf);const _0x41d8d7=resolveLocalSqlFilePath(_0x3deb14,_0x82161c,_0x1fdc12);let _0x2f15b5;await fileExists(_0x41d8d7)&&(_0x2f15b5=await moveToTrash(_0x3deb14['projectRoot'],_0x3deb14[_0x5a82d3(0x17f)],_0x41d8d7),await cleanupEmptyDirectories(dirname(_0x41d8d7),_0x3deb14['sqlRootDir']));const _0x319956={'deleted':_0x82161c,'remoteId':_0x1fdc12[_0x5a82d3(0x18c)]};if(_0x2f15b5)_0x319956[_0x5a82d3(0x190)]=_0x2f15b5;return{'ok':!![],'data':_0x319956,'message':'Deleted\x20'+_0x82161c+(_0x2f15b5?_0x5a82d3(0x19e):'')};}};async function moveToTrash(_0x54b652,_0x12c6fc,_0x58379d){const _0x4f424b=a132_0x7fb04b,_0x3df5e9=new Date()[_0x4f424b(0x194)]()[_0x4f424b(0x192)](/[:.]/g,'-'),_0x271e4e=relative(_0x54b652,_0x58379d),_0x3868c7=join(_0x12c6fc,_0x3df5e9,_0x271e4e);return await mkdir(dirname(_0x3868c7),{'recursive':!![]}),await rename(_0x58379d,_0x3868c7),_0x3868c7;}async function cleanupEmptyDirectories(_0x493455,_0xb6903d){const _0x1c7de0=a132_0x7fb04b;let _0xf16583=resolve(_0x493455);const _0x43688e=resolve(_0xb6903d);while(_0xf16583[_0x1c7de0(0x18d)](''+_0x43688e+sep)||_0xf16583===_0x43688e){if(_0xf16583===_0x43688e)return;try{const _0x21f47c=await readdir(_0xf16583);if(_0x21f47c[_0x1c7de0(0x19b)]>0x0)return;await rmdir(_0xf16583);}catch{return;}_0xf16583=dirname(_0xf16583);}}
@@ -1 +1 @@
1
- const a133_0x47c36a=a133_0x74b1;(function(_0x1c768f,_0x1601c2){const _0x56acdc=a133_0x74b1,_0x493283=_0x1c768f();while(!![]){try{const _0x402b16=parseInt(_0x56acdc(0xf1))/0x1*(parseInt(_0x56acdc(0x101))/0x2)+parseInt(_0x56acdc(0xf9))/0x3*(-parseInt(_0x56acdc(0xf5))/0x4)+-parseInt(_0x56acdc(0xf2))/0x5*(-parseInt(_0x56acdc(0x104))/0x6)+-parseInt(_0x56acdc(0xfe))/0x7+-parseInt(_0x56acdc(0xf4))/0x8*(parseInt(_0x56acdc(0x100))/0x9)+parseInt(_0x56acdc(0xfd))/0xa+-parseInt(_0x56acdc(0xfb))/0xb*(parseInt(_0x56acdc(0xf8))/0xc);if(_0x402b16===_0x1601c2)break;else _0x493283['push'](_0x493283['shift']());}catch(_0x38046f){_0x493283['push'](_0x493283['shift']());}}}(a133_0x1798,0x3bf9b));function a133_0x74b1(_0x5ef013,_0x4f281d){_0x5ef013=_0x5ef013-0xee;const _0x179890=a133_0x1798();let _0x74b1f8=_0x179890[_0x5ef013];return _0x74b1f8;}import{getSqlQueryInfo}from'../../core/api-client.js';function a133_0x1798(){const _0x3c66f0=['appCode','sqlcode','2414934CscnzL','dbId','sql','Return\x20full\x20raw\x20SQL\x20query\x20object','boolean','161ofUoUw','5stbUAa','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','28504OuLFEJ','122504ltqNYv','verbose','bool','1236NqeUCH','24IUGpFI','sqlCode','47157hwfXWJ','sqlName','4687740HXCNzP','526442umWXgd','str','153OrwJCg','2444onKrSO'];a133_0x1798=function(){return _0x3c66f0;};return a133_0x1798();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a133_0x47c36a(0xee),'command':'detail','description':a133_0x47c36a(0xf3),'risk':'read','flags':[SQLCODE_FLAG,{'name':a133_0x47c36a(0xf6),'type':a133_0x47c36a(0xf0),'description':a133_0x47c36a(0xef)}],async 'execute'(_0x5d58d2){const _0x4ea638=a133_0x47c36a,_0x46b7e9=await getSqlQueryInfo(_0x5d58d2[_0x4ea638(0x102)],_0x5d58d2[_0x4ea638(0xff)](_0x4ea638(0x103))),_0xf82bb7=_0x5d58d2[_0x4ea638(0xf7)](_0x4ea638(0xf6));if(_0xf82bb7)return{'ok':!![],'data':_0x46b7e9};const _0x4c2fa6=_0x46b7e9[_0x4ea638(0x105)]?await getDbName(_0x5d58d2[_0x4ea638(0x102)],_0x46b7e9[_0x4ea638(0x105)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x46b7e9[_0x4ea638(0xfa)],'sqlName':_0x46b7e9[_0x4ea638(0xfc)],'db':_0x4c2fa6?_0x4c2fa6+'\x20('+_0x46b7e9[_0x4ea638(0x105)]+')':_0x46b7e9['dbId']??'','description':_0x46b7e9['description']??'','sqlContent':_0x46b7e9['sqlContent']??''}};}};
1
+ function a133_0x25bf(_0x4626c1,_0x2de781){_0x4626c1=_0x4626c1-0x1f3;const _0x54971d=a133_0x5497();let _0x25bf30=_0x54971d[_0x4626c1];return _0x25bf30;}function a133_0x5497(){const _0x6388e2=['sqlName','Return\x20full\x20raw\x20SQL\x20query\x20object','9275144xtJruK','sqlCode','sql','read','838496DpMBJt','18lyvRoc','verbose','147417vBaoYg','sqlcode','bool','1047861qCUCwX','1714690EvwkAY','sqlContent','7929120DoCWtd','boolean','str','52elYWeC','dbId','5803182bJrYOk','detail','7IOmjdl'];a133_0x5497=function(){return _0x6388e2;};return a133_0x5497();}const a133_0x522e50=a133_0x25bf;(function(_0x3969b8,_0x5047f2){const _0x57c82c=a133_0x25bf,_0x1bd193=_0x3969b8();while(!![]){try{const _0x205359=parseInt(_0x57c82c(0x1fb))/0x1+-parseInt(_0x57c82c(0x1f5))/0x2+parseInt(_0x57c82c(0x1f8))/0x3*(-parseInt(_0x57c82c(0x201))/0x4)+-parseInt(_0x57c82c(0x1fc))/0x5*(-parseInt(_0x57c82c(0x1f6))/0x6)+parseInt(_0x57c82c(0x205))/0x7*(parseInt(_0x57c82c(0x208))/0x8)+-parseInt(_0x57c82c(0x203))/0x9+-parseInt(_0x57c82c(0x1fe))/0xa;if(_0x205359===_0x5047f2)break;else _0x1bd193['push'](_0x1bd193['shift']());}catch(_0x5d46e8){_0x1bd193['push'](_0x1bd193['shift']());}}}(a133_0x5497,0xb4bcf));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a133_0x522e50(0x1f3),'command':a133_0x522e50(0x204),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a133_0x522e50(0x1f4),'flags':[SQLCODE_FLAG,{'name':a133_0x522e50(0x1f7),'type':a133_0x522e50(0x1ff),'description':a133_0x522e50(0x207)}],async 'execute'(_0x37c85e){const _0x1aa3c4=a133_0x522e50,_0x1610be=await getSqlQueryInfo(_0x37c85e['appCode'],_0x37c85e[_0x1aa3c4(0x200)](_0x1aa3c4(0x1f9))),_0x3f23fb=_0x37c85e[_0x1aa3c4(0x1fa)](_0x1aa3c4(0x1f7));if(_0x3f23fb)return{'ok':!![],'data':_0x1610be};const _0x581cc7=_0x1610be[_0x1aa3c4(0x202)]?await getDbName(_0x37c85e['appCode'],_0x1610be[_0x1aa3c4(0x202)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1610be[_0x1aa3c4(0x209)],'sqlName':_0x1610be[_0x1aa3c4(0x206)],'db':_0x581cc7?_0x581cc7+'\x20('+_0x1610be[_0x1aa3c4(0x202)]+')':_0x1610be[_0x1aa3c4(0x202)]??'','description':_0x1610be['description']??'','sqlContent':_0x1610be[_0x1aa3c4(0x1fd)]??''}};}};
@@ -1 +1 @@
1
- const a134_0x2f61cb=a134_0x3fd0;(function(_0x5c645e,_0x4afa26){const _0x55989e=a134_0x3fd0,_0x67dd18=_0x5c645e();while(!![]){try{const _0x3cea0b=parseInt(_0x55989e(0x10c))/0x1*(parseInt(_0x55989e(0x10e))/0x2)+-parseInt(_0x55989e(0x112))/0x3+-parseInt(_0x55989e(0x102))/0x4+parseInt(_0x55989e(0x103))/0x5*(-parseInt(_0x55989e(0x10d))/0x6)+parseInt(_0x55989e(0x10b))/0x7*(-parseInt(_0x55989e(0x10a))/0x8)+-parseInt(_0x55989e(0x10f))/0x9+parseInt(_0x55989e(0x106))/0xa;if(_0x3cea0b===_0x4afa26)break;else _0x67dd18['push'](_0x67dd18['shift']());}catch(_0x136c04){_0x67dd18['push'](_0x67dd18['shift']());}}}(a134_0x3592,0x5947b));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a134_0x3fd0(_0x3a5e7c,_0x267750){_0x3a5e7c=_0x3a5e7c-0x102;const _0x35920f=a134_0x3592();let _0x3fd044=_0x35920f[_0x3a5e7c];return _0x3fd044;}function a134_0x3592(){const _0x1e9ae9=['sqlcode','execResult','length','appCode','str','params','1065308ckCuns','470jEzogw','SQL\x20execution\x20failed','execSuccess','15724630uKPPiF','now','read','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','344kCjKBY','29092spbSnt','2oVfPfO','10398rYSRLA','470936oQqCiF','4123278PFsEbp','Returned\x20','isArray','1834887LiMMaR'];a134_0x3592=function(){return _0x1e9ae9;};return a134_0x3592();}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':'exec','description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a134_0x2f61cb(0x108),'flags':[SQLCODE_FLAG,{'name':a134_0x2f61cb(0x118),'type':'string','description':a134_0x2f61cb(0x109)}],async 'execute'(_0x28d87b){const _0x24f858=a134_0x2f61cb,_0x5bf695=parseJsonParams(_0x28d87b[_0x24f858(0x117)](_0x24f858(0x118))),_0x38e51a=Date[_0x24f858(0x107)](),_0x4edc0d=await executeSql(_0x28d87b[_0x24f858(0x116)],_0x28d87b[_0x24f858(0x117)](_0x24f858(0x113)),_0x5bf695),_0x14798b=Date[_0x24f858(0x107)]()-_0x38e51a,_0x20e9e=_0x4edc0d?.[_0x24f858(0x114)]??_0x4edc0d,_0xd2c0b0=_0x4edc0d?.[_0x24f858(0x105)]??!![];if(!_0xd2c0b0)return{'ok':![],'data':{'error':_0x4edc0d?.['execError']||_0x24f858(0x104),'elapsed':_0x14798b},'message':_0x24f858(0x104)};const _0x170dee=Array[_0x24f858(0x111)](_0x20e9e)?_0x20e9e:[];return{'ok':!![],'data':{'rows':_0x170dee,'rowCount':_0x170dee['length'],'elapsed':_0x14798b},'message':_0x24f858(0x110)+_0x170dee[_0x24f858(0x115)]+'\x20row(s)\x20in\x20'+_0x14798b+'ms'};}};
1
+ const a134_0x4454a2=a134_0x26da;function a134_0x26da(_0x335665,_0x59a2a2){_0x335665=_0x335665-0x104;const _0x283d90=a134_0x283d();let _0x26da58=_0x283d90[_0x335665];return _0x26da58;}(function(_0x4ff681,_0xc27c17){const _0x3c855c=a134_0x26da,_0x3081d6=_0x4ff681();while(!![]){try{const _0x4747e4=parseInt(_0x3c855c(0x117))/0x1+-parseInt(_0x3c855c(0x114))/0x2*(parseInt(_0x3c855c(0x109))/0x3)+parseInt(_0x3c855c(0x105))/0x4+-parseInt(_0x3c855c(0x118))/0x5*(parseInt(_0x3c855c(0x10f))/0x6)+-parseInt(_0x3c855c(0x112))/0x7+parseInt(_0x3c855c(0x11b))/0x8+-parseInt(_0x3c855c(0x113))/0x9*(-parseInt(_0x3c855c(0x111))/0xa);if(_0x4747e4===_0xc27c17)break;else _0x3081d6['push'](_0x3081d6['shift']());}catch(_0xc91d34){_0x3081d6['push'](_0x3081d6['shift']());}}}(a134_0x283d,0x2b776));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':'sql','command':a134_0x4454a2(0x10c),'description':a134_0x4454a2(0x10e),'risk':a134_0x4454a2(0x115),'flags':[SQLCODE_FLAG,{'name':a134_0x4454a2(0x106),'type':a134_0x4454a2(0x10b),'description':a134_0x4454a2(0x110)}],async 'execute'(_0x107a71){const _0x4a7b53=a134_0x4454a2,_0x2e8557=parseJsonParams(_0x107a71['str'](_0x4a7b53(0x106))),_0xbb1f8f=Date[_0x4a7b53(0x104)](),_0x387801=await executeSql(_0x107a71[_0x4a7b53(0x10a)],_0x107a71['str'](_0x4a7b53(0x108)),_0x2e8557),_0x2c2155=Date[_0x4a7b53(0x104)]()-_0xbb1f8f,_0x3073f5=_0x387801?.[_0x4a7b53(0x107)]??_0x387801,_0x5d38f5=_0x387801?.[_0x4a7b53(0x11c)]??!![];if(!_0x5d38f5)return{'ok':![],'data':{'error':_0x387801?.[_0x4a7b53(0x11d)]||_0x4a7b53(0x10d),'elapsed':_0x2c2155},'message':_0x4a7b53(0x10d)};const _0x46a2b1=Array[_0x4a7b53(0x116)](_0x3073f5)?_0x3073f5:[];return{'ok':!![],'data':{'rows':_0x46a2b1,'rowCount':_0x46a2b1[_0x4a7b53(0x119)],'elapsed':_0x2c2155},'message':'Returned\x20'+_0x46a2b1['length']+_0x4a7b53(0x11a)+_0x2c2155+'ms'};}};function a134_0x283d(){const _0x4f2b31=['now','649928iyzTJY','params','execResult','sqlcode','6SjyiXP','appCode','string','exec','SQL\x20execution\x20failed','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','1572930UKGkrc','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','860kDvLbu','1899079wEjbVR','10494wMaOCP','82698jkIRDc','read','isArray','201820sfqemf','5SDjKsZ','length','\x20row(s)\x20in\x20','2636880goSNqO','execSuccess','execError'];a134_0x283d=function(){return _0x4f2b31;};return a134_0x283d();}
@@ -1 +1 @@
1
- (function(_0x47480b,_0x4e83cb){const _0x2e0399=a135_0x5d15,_0x3dcc0d=_0x47480b();while(!![]){try{const _0x5bf34e=parseInt(_0x2e0399(0x1af))/0x1*(-parseInt(_0x2e0399(0x1ab))/0x2)+-parseInt(_0x2e0399(0x1a9))/0x3*(-parseInt(_0x2e0399(0x1b0))/0x4)+parseInt(_0x2e0399(0x1ad))/0x5+-parseInt(_0x2e0399(0x1ae))/0x6*(-parseInt(_0x2e0399(0x1a7))/0x7)+parseInt(_0x2e0399(0x1ac))/0x8*(-parseInt(_0x2e0399(0x1a8))/0x9)+-parseInt(_0x2e0399(0x1b1))/0xa+parseInt(_0x2e0399(0x1aa))/0xb;if(_0x5bf34e===_0x4e83cb)break;else _0x3dcc0d['push'](_0x3dcc0d['shift']());}catch(_0x1c3a7e){_0x3dcc0d['push'](_0x3dcc0d['shift']());}}}(a135_0x3ee4,0xd58c5));function a135_0x5d15(_0x40f0da,_0x3399e0){_0x40f0da=_0x40f0da-0x1a7;const _0x3ee4b1=a135_0x3ee4();let _0x5d15f7=_0x3ee4b1[_0x40f0da];return _0x5d15f7;}import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a135_0x3ee4(){const _0x291f74=['5342589yVXGNo','96939zIrJWS','27213ubGFGf','21386640vVPIFV','16fDXMQq','536jDkhmv','2721525ndiisT','6WpeVfS','102172ehfBsu','152sZcpVo','11827440ConLgg'];a135_0x3ee4=function(){return _0x291f74;};return a135_0x3ee4();}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';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(_0x4b56f2,_0x37b07c){const _0x2c52b6=a135_0x2762,_0x4453c6=_0x4b56f2();while(!![]){try{const _0x498e68=parseInt(_0x2c52b6(0x173))/0x1*(parseInt(_0x2c52b6(0x175))/0x2)+-parseInt(_0x2c52b6(0x16f))/0x3*(parseInt(_0x2c52b6(0x16d))/0x4)+parseInt(_0x2c52b6(0x171))/0x5+-parseInt(_0x2c52b6(0x16e))/0x6*(parseInt(_0x2c52b6(0x174))/0x7)+-parseInt(_0x2c52b6(0x172))/0x8*(parseInt(_0x2c52b6(0x170))/0x9)+-parseInt(_0x2c52b6(0x16b))/0xa*(parseInt(_0x2c52b6(0x16a))/0xb)+parseInt(_0x2c52b6(0x16c))/0xc;if(_0x498e68===_0x37b07c)break;else _0x4453c6['push'](_0x4453c6['shift']());}catch(_0xbf2bea){_0x4453c6['push'](_0x4453c6['shift']());}}}(a135_0x5629,0x3f40d));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';function a135_0x2762(_0x2f2760,_0x5dd14e){_0x2f2760=_0x2f2760-0x16a;const _0x562906=a135_0x5629();let _0x2762d0=_0x562906[_0x2f2760];return _0x2762d0;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';function a135_0x5629(){const _0x13ea9a=['432JNzqVk','11YOGxFi','899230njUxQc','9763344bYMHSp','541636wqrPKC','24KWCByI','3plUrKw','9YnLzST','179230IHigeJ','2153576fvoIjI','1054ifysHE','566139HgtIbG'];a135_0x5629=function(){return _0x13ea9a;};return a135_0x5629();}import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a136_0x23db8b=a136_0x3057;(function(_0x5207db,_0x382538){const _0x31f9e8=a136_0x3057,_0x3da8f1=_0x5207db();while(!![]){try{const _0xa2d4f3=-parseInt(_0x31f9e8(0xab))/0x1+-parseInt(_0x31f9e8(0xaa))/0x2+parseInt(_0x31f9e8(0xbb))/0x3*(parseInt(_0x31f9e8(0xaf))/0x4)+-parseInt(_0x31f9e8(0xa7))/0x5+parseInt(_0x31f9e8(0xc3))/0x6+-parseInt(_0x31f9e8(0xb2))/0x7+parseInt(_0x31f9e8(0xc1))/0x8;if(_0xa2d4f3===_0x382538)break;else _0x3da8f1['push'](_0x3da8f1['shift']());}catch(_0x1883ca){_0x3da8f1['push'](_0x3da8f1['shift']());}}}(a136_0x1ebc,0x33bb7));function a136_0x1ebc(){const _0x2fdca5=['all','sqlName','page','list','num','totalCount','\x20SQL\x20queries\x20(total:\x20','27JEKWAz','name','verbose','paging','description','number','7751952THXKCu','sql','582282muBKFd','Page\x20size','sqlCode','string','pagesize','bool','Found\x20','Filter\x20by\x20SQL\x20name','boolean','685675hgYkzI','tableData','map','810084iWghOu','154512dUJfMW','sqlcode','dbId','No\x20custom\x20SQL\x20queries\x20found.','4056PJTcmv','appCode','str','1166081vLnvxj','List\x20custom\x20SQL\x20queries'];a136_0x1ebc=function(){return _0x2fdca5;};return a136_0x1ebc();}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a136_0x3057(_0x598982,_0x809d86){_0x598982=_0x598982-0xa6;const _0x1ebcdd=a136_0x1ebc();let _0x3057d0=_0x1ebcdd[_0x598982];return _0x3057d0;}export const sqlList={'service':a136_0x23db8b(0xc2),'command':a136_0x23db8b(0xb7),'description':a136_0x23db8b(0xb3),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x23db8b(0xbc),'type':a136_0x23db8b(0xc6),'description':a136_0x23db8b(0xca)},{'name':a136_0x23db8b(0xb6),'type':'number','description':'Page\x20number','default':0x1},{'name':'pagesize','type':a136_0x23db8b(0xc0),'description':a136_0x23db8b(0xc4)},{'name':a136_0x23db8b(0xbd),'type':a136_0x23db8b(0xa6),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x3f768a){const _0x81b76e=a136_0x23db8b,_0xb6120b=await listSqlQueries(_0x3f768a[_0x81b76e(0xb0)],{'sqlCode':_0x3f768a['str'](_0x81b76e(0xac))||undefined,'sqlName':_0x3f768a[_0x81b76e(0xb1)](_0x81b76e(0xbc))||undefined,'currentPage':_0x3f768a[_0x81b76e(0xb8)](_0x81b76e(0xb6)),'pageSize':_0x3f768a[_0x81b76e(0xb8)](_0x81b76e(0xc7),0x32)}),_0x353a0b=_0x3f768a[_0x81b76e(0xc8)](_0x81b76e(0xbd)),_0x377511=_0xb6120b[_0x81b76e(0xa8)]??[],_0x387c55=_0xb6120b[_0x81b76e(0xbe)]?.[_0x81b76e(0xb9)]??_0x377511['length'];let _0x18cde7;return _0x353a0b?_0x18cde7=_0x377511:_0x18cde7=await Promise[_0x81b76e(0xb4)](_0x377511[_0x81b76e(0xa9)](async _0x57ca51=>{const _0x5ed913=_0x81b76e;let _0x542ab6;try{_0x542ab6=_0x57ca51[_0x5ed913(0xad)]?await getDbName(_0x3f768a[_0x5ed913(0xb0)],_0x57ca51[_0x5ed913(0xad)]):undefined;}catch{}return{'sqlCode':_0x57ca51[_0x5ed913(0xc5)],'sqlName':_0x57ca51[_0x5ed913(0xb5)],'description':_0x57ca51[_0x5ed913(0xbf)]??'','db':_0x542ab6?_0x542ab6+'\x20('+_0x57ca51[_0x5ed913(0xad)]+')':_0x57ca51['dbId']??''};})),{'ok':!![],'data':_0x18cde7,'message':_0x377511['length']===0x0?_0x81b76e(0xae):_0x81b76e(0xc9)+_0x377511['length']+_0x81b76e(0xba)+_0x387c55+').'};}};
1
+ const a136_0x724fe0=a136_0x1d14;(function(_0x227536,_0x5e39be){const _0x446b2e=a136_0x1d14,_0xbb84c4=_0x227536();while(!![]){try{const _0x306fc1=-parseInt(_0x446b2e(0x126))/0x1*(-parseInt(_0x446b2e(0x132))/0x2)+-parseInt(_0x446b2e(0x113))/0x3+parseInt(_0x446b2e(0x115))/0x4*(-parseInt(_0x446b2e(0x125))/0x5)+-parseInt(_0x446b2e(0x130))/0x6*(parseInt(_0x446b2e(0x111))/0x7)+-parseInt(_0x446b2e(0x138))/0x8*(-parseInt(_0x446b2e(0x139))/0x9)+-parseInt(_0x446b2e(0x136))/0xa*(parseInt(_0x446b2e(0x112))/0xb)+parseInt(_0x446b2e(0x128))/0xc;if(_0x306fc1===_0x5e39be)break;else _0xbb84c4['push'](_0xbb84c4['shift']());}catch(_0x3fe2f4){_0xbb84c4['push'](_0xbb84c4['shift']());}}}(a136_0x4b2f,0x8145b));function a136_0x1d14(_0xde906e,_0x155393){_0xde906e=_0xde906e-0x111;const _0x4b2f1b=a136_0x4b2f();let _0x1d1497=_0x4b2f1b[_0xde906e];return _0x1d1497;}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a136_0x4b2f(){const _0x57bb01=['Filter\x20by\x20SQL\x20name','length','\x20SQL\x20queries\x20(total:\x20','verbose','Page\x20number','dbId','str','description','No\x20custom\x20SQL\x20queries\x20found.','tableData','sqlCode','all','boolean','num','35ZIVjvU','212SKHSlL','map','35143728cGaPvk','read','bool','page','list','number','appCode','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','30390DdgBwM','name','4040LpDdjM','pagesize','sql','paging','1030aHUndd','sqlName','53736dXhBJZ','909MzeqWE','1428ZKqOPk','87659FBSktK','1950420lWvwGy','string','572340bRKIOU','sqlcode'];a136_0x4b2f=function(){return _0x57bb01;};return a136_0x4b2f();}export const sqlList={'service':a136_0x724fe0(0x134),'command':a136_0x724fe0(0x12c),'description':'List\x20custom\x20SQL\x20queries','risk':a136_0x724fe0(0x129),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x724fe0(0x131),'type':a136_0x724fe0(0x114),'description':a136_0x724fe0(0x117)},{'name':a136_0x724fe0(0x12b),'type':a136_0x724fe0(0x12d),'description':a136_0x724fe0(0x11b),'default':0x1},{'name':a136_0x724fe0(0x133),'type':a136_0x724fe0(0x12d),'description':'Page\x20size'},{'name':a136_0x724fe0(0x11a),'type':a136_0x724fe0(0x123),'description':a136_0x724fe0(0x12f)}],async 'execute'(_0x566219){const _0x289749=a136_0x724fe0,_0x2d743e=await listSqlQueries(_0x566219[_0x289749(0x12e)],{'sqlCode':_0x566219[_0x289749(0x11d)](_0x289749(0x116))||undefined,'sqlName':_0x566219['str'](_0x289749(0x131))||undefined,'currentPage':_0x566219[_0x289749(0x124)](_0x289749(0x12b)),'pageSize':_0x566219[_0x289749(0x124)](_0x289749(0x133),0x32)}),_0x3c6566=_0x566219[_0x289749(0x12a)]('verbose'),_0x1bf3bf=_0x2d743e[_0x289749(0x120)]??[],_0x3fd4d4=_0x2d743e[_0x289749(0x135)]?.['totalCount']??_0x1bf3bf[_0x289749(0x118)];let _0x7302fb;return _0x3c6566?_0x7302fb=_0x1bf3bf:_0x7302fb=await Promise[_0x289749(0x122)](_0x1bf3bf[_0x289749(0x127)](async _0x1b62bb=>{const _0x15c4d8=_0x289749;let _0x5b8f79;try{_0x5b8f79=_0x1b62bb[_0x15c4d8(0x11c)]?await getDbName(_0x566219[_0x15c4d8(0x12e)],_0x1b62bb[_0x15c4d8(0x11c)]):undefined;}catch{}return{'sqlCode':_0x1b62bb[_0x15c4d8(0x121)],'sqlName':_0x1b62bb[_0x15c4d8(0x137)],'description':_0x1b62bb[_0x15c4d8(0x11e)]??'','db':_0x5b8f79?_0x5b8f79+'\x20('+_0x1b62bb[_0x15c4d8(0x11c)]+')':_0x1b62bb[_0x15c4d8(0x11c)]??''};})),{'ok':!![],'data':_0x7302fb,'message':_0x1bf3bf[_0x289749(0x118)]===0x0?_0x289749(0x11f):'Found\x20'+_0x1bf3bf['length']+_0x289749(0x119)+_0x3fd4d4+').'};}};
@@ -1 +1 @@
1
- const a137_0x295389=a137_0x4c50;(function(_0x2aa458,_0x21e940){const _0x383b0d=a137_0x4c50,_0x240035=_0x2aa458();while(!![]){try{const _0x44d38=parseInt(_0x383b0d(0xa7))/0x1*(-parseInt(_0x383b0d(0xda))/0x2)+parseInt(_0x383b0d(0xc9))/0x3+-parseInt(_0x383b0d(0xbc))/0x4+parseInt(_0x383b0d(0xca))/0x5+parseInt(_0x383b0d(0xa8))/0x6*(parseInt(_0x383b0d(0xb8))/0x7)+parseInt(_0x383b0d(0xae))/0x8+parseInt(_0x383b0d(0xdd))/0x9;if(_0x44d38===_0x21e940)break;else _0x240035['push'](_0x240035['shift']());}catch(_0x37a3a4){_0x240035['push'](_0x240035['shift']());}}}(a137_0x1fd5,0x1c488));import{readFile,rm,writeFile}from'node:fs/promises';function a137_0x4c50(_0x14721c,_0x2436f2){_0x14721c=_0x14721c-0xa6;const _0x1fd57c=a137_0x1fd5();let _0x4c5059=_0x1fd57c[_0x14721c];return _0x4c5059;}import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a137_0x1fd5(){const _0x21bed3=['skipped','5292eerKki','193315VNGUih','local\x20differs\x20from\x20remote','sqlName','cancelled','force','sqlRootDir','sqlCode','split','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','conflict','paging','dbId','POST','\x20written,\x20','pull','mybatisXml','2ljfSmT','tableData','path','1791810rbzBro','toISOString','unchanged','Force\x20pull\x20cancelled.','write','33817HnjcAc','402VbVwVN','description','lastSync','would_pull','boolean','length','386424CeswWc','sqlContent','nonInteractive','lockFilePath','sqlcode','name','string','sqls','filter','join','6594rwNJDl','Would\x20pull\x20','totalCount','push','805076MEiQwk','test','appCode','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','No\x20remote\x20SQL\x20queries\x20matched.','str','sqlRoot','Force\x20overwrite\x20local\x20unsynced\x20changes','utf8','trimStart','Filter\x20by\x20SQL\x20display\x20name','catch'];a137_0x1fd5=function(){return _0x21bed3;};return a137_0x1fd5();}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(_0x3d5bea,_0x15a857){const _0x1d40ba=a137_0x4c50,_0xf2f814=[];let _0x5dfd7c=0x1;while(!![]){const _0x1e32b2=await listSqlQueries(_0x3d5bea,{'currentPage':_0x5dfd7c,'pageSize':PAGE_SIZE,'sqlCode':_0x15a857[_0x1d40ba(0xd0)],'sqlName':_0x15a857[_0x1d40ba(0xcc)]}),_0x2fd460=_0x1e32b2[_0x1d40ba(0xdb)]??[];_0xf2f814['push'](..._0x2fd460);if(_0x2fd460[_0x1d40ba(0xad)]===0x0)break;const _0x560d52=_0x1e32b2[_0x1d40ba(0xd4)]?.[_0x1d40ba(0xba)];if(_0x560d52!=null?_0xf2f814[_0x1d40ba(0xad)]>=_0x560d52:_0x2fd460['length']<PAGE_SIZE)break;_0x5dfd7c++;}return _0xf2f814;}async function ensureSqlContent(_0x1257e8){const _0x3f58f5=a137_0x4c50;if(_0x1257e8[_0x3f58f5(0xaf)]!=null&&String(_0x1257e8[_0x3f58f5(0xaf)])[_0x3f58f5(0xad)]>0x0)return _0x1257e8;return getSqlQueryDetail(_0x1257e8[_0x3f58f5(0xd0)]);}export const sqlPull={'service':'sql','command':'pull','description':a137_0x295389(0xd2),'risk':a137_0x295389(0xa6),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a137_0x295389(0xb4),'description':a137_0x295389(0xc6)},{'name':a137_0x295389(0xce),'type':a137_0x295389(0xac),'description':a137_0x295389(0xc3)}],async 'dryRun'(_0x56d987){const _0x399a9b=a137_0x295389,_0x4cc120=loadSqlProjectConfig(_0x56d987[_0x399a9b(0xbe)]),_0x3b0275=await readSqlLockFile(_0x4cc120['lockFilePath']),{appLock:_0x52d8dd}=ensureSqlLockScope(_0x3b0275??createEmptySqlLock(),_0x4cc120[_0x399a9b(0xbe)],_0x4cc120[_0x399a9b(0xc2)],_0x399a9b(0xd8)),_0x292e24=await fetchAllSqlQueries(_0x56d987[_0x399a9b(0xbe)],{'sqlCode':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb2))||undefined,'sqlName':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb3))||undefined}),_0x389497=[];for(const _0x2d7c80 of _0x292e24){const _0x541e85=await ensureSqlContent(_0x2d7c80),_0x3db427=ensureRemoteSqlContent(_0x541e85),_0x156302=detectModeFromSql(_0x541e85),_0xc5acd3=_0x541e85[_0x399a9b(0xd5)]?await getDbName(_0x56d987[_0x399a9b(0xbe)],Number(_0x541e85['dbId']))[_0x399a9b(0xc7)](()=>undefined):undefined,_0x211b05=buildLocalSqlFileContent({'sqlCode':_0x541e85[_0x399a9b(0xd0)],'sqlName':_0x541e85[_0x399a9b(0xcc)],'dbId':_0x541e85['dbId']},_0x3db427,{'dbName':_0xc5acd3,'mode':_0x156302,'syncedAt':new Date()[_0x399a9b(0xde)](),'description':_0x541e85[_0x399a9b(0xa9)]}),_0x171302=buildSqlLockEntry(_0x541e85,_0x3db427,'',{'dbName':_0xc5acd3}),_0x3999d9=resolveLocalSqlFilePath(_0x4cc120,_0x541e85['sqlCode'],_0x171302);let _0x4c9842=_0x399a9b(0xab),_0x326098;if(await fileExists(_0x3999d9)){const _0x43befa=await readFile(_0x3999d9,_0x399a9b(0xc4));isEquivalentPulledSqlFile(_0x43befa,_0x211b05,_0x156302)?(_0x4c9842=_0x399a9b(0xc8),_0x326098=_0x399a9b(0xdf)):(_0x4c9842=_0x399a9b(0xd3),_0x326098=_0x399a9b(0xbf));}_0x389497[_0x399a9b(0xbb)]({'sqlCode':_0x541e85['sqlCode'],'sqlName':_0x541e85[_0x399a9b(0xcc)],'filePath':_0x3999d9,'status':_0x4c9842,'reason':_0x326098});}return{'method':_0x399a9b(0xd6),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x56d987[_0x399a9b(0xbe)],'sqlCode':_0x56d987[_0x399a9b(0xc1)]('sqlcode')||null,'sqlName':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb3))||null,'files':_0x389497},'description':_0x399a9b(0xb9)+_0x389497['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x4cc120[_0x399a9b(0xcf)]};},async 'execute'(_0x2d0c74){const _0x55d48f=a137_0x295389,_0x433c92=loadSqlProjectConfig(_0x2d0c74[_0x55d48f(0xbe)]),_0x457e1f=await readSqlLockFile(_0x433c92['lockFilePath']),{lockData:_0x27f306,appLock:_0x5fd83b}=ensureSqlLockScope(_0x457e1f??createEmptySqlLock(),_0x433c92[_0x55d48f(0xbe)],_0x433c92[_0x55d48f(0xc2)],'pull'),_0x24f0e8=_0x2d0c74['bool'](_0x55d48f(0xce)),_0x50ef2b=await fetchAllSqlQueries(_0x2d0c74['appCode'],{'sqlCode':_0x2d0c74[_0x55d48f(0xc1)]('sqlcode')||undefined,'sqlName':_0x2d0c74[_0x55d48f(0xc1)](_0x55d48f(0xb3))||undefined});if(_0x50ef2b[_0x55d48f(0xad)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x55d48f(0xc0)};const _0x3707d9=[],_0x399560=[];for(const _0xf4b94d of _0x50ef2b){try{_0x3707d9[_0x55d48f(0xbb)](await ensureSqlContent(_0xf4b94d));}catch(_0x1011fa){_0x399560[_0x55d48f(0xbb)]({'sqlCode':_0xf4b94d[_0x55d48f(0xd0)],'error':_0x1011fa instanceof Error?_0x1011fa['message']:String(_0x1011fa)});}}if(_0x24f0e8&&!_0x2d0c74[_0x55d48f(0xb0)]){let _0x550bac=![];for(const _0x287fc7 of _0x3707d9){const _0x3ba02f=detectModeFromSql(_0x287fc7),_0x3c6651=_0x287fc7['dbId']?await getDbName(_0x2d0c74[_0x55d48f(0xbe)],Number(_0x287fc7[_0x55d48f(0xd5)]))['catch'](()=>undefined):undefined,_0x221c24=buildLocalSqlFileContent({'sqlCode':_0x287fc7[_0x55d48f(0xd0)],'sqlName':_0x287fc7[_0x55d48f(0xcc)],'dbId':_0x287fc7[_0x55d48f(0xd5)]},ensureRemoteSqlContent(_0x287fc7),{'dbName':_0x3c6651,'mode':_0x3ba02f,'syncedAt':new Date()[_0x55d48f(0xde)](),'description':_0x287fc7[_0x55d48f(0xa9)]}),_0x5a38dd=resolveLocalSqlFilePath(_0x433c92,_0x287fc7[_0x55d48f(0xd0)],buildSqlLockEntry(_0x287fc7,ensureRemoteSqlContent(_0x287fc7),'',{'dbName':_0x3c6651}));if(await fileExists(_0x5a38dd)){const _0x22c380=await readFile(_0x5a38dd,'utf8');if(!isEquivalentPulledSqlFile(_0x22c380,_0x221c24,_0x3ba02f)){_0x550bac=!![];break;}}}if(_0x550bac){const _0x38b889=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x38b889)throw CliErrors[_0x55d48f(0xcd)](_0x55d48f(0xe0));}}const _0x4cc02f=cloneSqlLockData(_0x27f306),_0x24617c=_0x4cc02f['apps'][_0x433c92[_0x55d48f(0xbe)]],_0x487af3=[],_0x4707fb=[];for(const _0x509c72 of _0x3707d9){const _0x44c1ba=_0x24617c[_0x55d48f(0xb5)][_0x509c72['sqlCode']],_0x4a0470=ensureRemoteSqlContent(_0x509c72),_0x3f9383=detectModeFromSql(_0x509c72),_0x58e3ad=_0x509c72[_0x55d48f(0xd5)]?await getDbName(_0x2d0c74[_0x55d48f(0xbe)],Number(_0x509c72['dbId']))['catch'](()=>undefined):undefined,_0x5ef1f7=buildLocalSqlFileContent({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'sqlName':_0x509c72[_0x55d48f(0xcc)],'dbId':_0x509c72['dbId']},_0x4a0470,{'dbName':_0x58e3ad,'mode':_0x3f9383,'syncedAt':new Date()[_0x55d48f(0xde)](),'description':_0x509c72['description']}),_0x285c40=buildSqlLockEntry(_0x509c72,_0x4a0470,computeSqlContentHash(_0x5ef1f7),{'dbName':_0x58e3ad}),_0x1c6fe1=_0x285c40[_0x55d48f(0xdc)],_0x18869b=join(_0x433c92['sqlRootDir'],_0x1c6fe1);try{if(await fileExists(_0x18869b)){const _0xe8e8cf=await readFile(_0x18869b,_0x55d48f(0xc4));if(isEquivalentPulledSqlFile(_0xe8e8cf,_0x5ef1f7,_0x3f9383)){_0x4707fb[_0x55d48f(0xbb)]({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'reason':_0x55d48f(0xdf)}),_0x24617c['sqls'][_0x509c72['sqlCode']]={..._0x285c40,'hash':computeSqlContentHash(_0xe8e8cf),'path':_0x1c6fe1};continue;}if(!_0x24f0e8){_0x4707fb[_0x55d48f(0xbb)]({'sqlCode':_0x509c72['sqlCode'],'reason':_0x55d48f(0xcb)});continue;}}const _0x22f44c=_0x44c1ba?.[_0x55d48f(0xdc)]?join(_0x433c92[_0x55d48f(0xcf)],_0x44c1ba['path']):undefined;_0x22f44c&&_0x22f44c!==_0x18869b&&await fileExists(_0x22f44c)&&await rm(_0x22f44c,{'force':!![]}),await ensureParentDirectory(_0x18869b),await writeFile(_0x18869b,_0x5ef1f7,_0x55d48f(0xc4)),_0x24617c[_0x55d48f(0xb5)][_0x509c72['sqlCode']]={..._0x285c40,'path':_0x1c6fe1},_0x487af3[_0x55d48f(0xbb)]({'sqlCode':_0x509c72['sqlCode'],'filePath':_0x18869b});}catch(_0x494276){_0x399560[_0x55d48f(0xbb)]({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'error':_0x494276 instanceof Error?_0x494276['message']:String(_0x494276)});}}return _0x24617c[_0x55d48f(0xaa)]=new Date()['toISOString'](),await writeSqlLockFile(_0x433c92[_0x55d48f(0xb1)],_0x4cc02f),{'ok':_0x399560[_0x55d48f(0xad)]===0x0,'data':{'pulled':_0x487af3,'skipped':_0x4707fb,'failed':_0x399560},'message':'Pull\x20complete:\x20'+_0x487af3[_0x55d48f(0xad)]+_0x55d48f(0xd7)+_0x4707fb[_0x55d48f(0xad)]+'\x20skipped,\x20'+_0x399560[_0x55d48f(0xad)]+'\x20failed'};}};function detectModeFromSql(_0x33f80e){const _0x501082=a137_0x295389,_0x321f24=ensureRemoteSqlContent(_0x33f80e),_0x2d1cc5=stripLocalSqlMetadata(_0x321f24,_0x501082(0xd9))[_0x501082(0xc5)]();if(/^<(select|insert|update|delete)\b/i[_0x501082(0xbd)](_0x2d1cc5))return'mybatisXml';return'sql';}function isEquivalentPulledSqlFile(_0x1c39ba,_0x50636c,_0x2df39f){return normalizePullComparableContent(_0x1c39ba,_0x2df39f)===normalizePullComparableContent(_0x50636c,_0x2df39f);}function normalizePullComparableContent(_0x3e3e74,_0x17d5f7){const _0x3c9a7a=a137_0x295389,_0x17dc10=_0x3e3e74['replace'](/\r\n/g,'\x0a')[_0x3c9a7a(0xd1)]('\x0a'),_0x2c8411=_0x17dc10[_0x3c9a7a(0xb6)](_0x4b1267=>!isSyncedAtMetadataLine(_0x4b1267,_0x17d5f7));return _0x2c8411[_0x3c9a7a(0xb7)]('\x0a');}function isSyncedAtMetadataLine(_0x5476cf,_0x281a21){const _0x376da1=a137_0x295389;if(_0x281a21===_0x376da1(0xd9))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x5476cf);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x376da1(0xbd)](_0x5476cf);}
1
+ const a137_0x5ac735=a137_0x43e0;(function(_0x44c018,_0x2d0890){const _0x5e4b27=a137_0x43e0,_0x19f4a8=_0x44c018();while(!![]){try{const _0x421e34=-parseInt(_0x5e4b27(0x210))/0x1*(parseInt(_0x5e4b27(0x20e))/0x2)+-parseInt(_0x5e4b27(0x1e5))/0x3+-parseInt(_0x5e4b27(0x1f8))/0x4+-parseInt(_0x5e4b27(0x214))/0x5+-parseInt(_0x5e4b27(0x213))/0x6*(parseInt(_0x5e4b27(0x216))/0x7)+-parseInt(_0x5e4b27(0x21d))/0x8*(-parseInt(_0x5e4b27(0x21a))/0x9)+parseInt(_0x5e4b27(0x1f3))/0xa*(parseInt(_0x5e4b27(0x21c))/0xb);if(_0x421e34===_0x2d0890)break;else _0x19f4a8['push'](_0x19f4a8['shift']());}catch(_0x2c5f16){_0x19f4a8['push'](_0x19f4a8['shift']());}}}(a137_0x2aa7,0x256b2));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a137_0x2aa7(){const _0x545493=['push','boolean','tableData','nonInteractive','str','message','catch','\x20failed','sqls','\x20SQL\x20file(s)\x20into\x20','appCode','name','Would\x20pull\x20','lastSync','dbId','bool','2NlBExP','sqlCode','255763CAuJWk','conflict','filter','1788FtOMaU','726440JmpTri','test','3437fPRgWV','Pull\x20complete:\x20','skipped','description','4905kTljUd','totalCount','6987112AfPLml','3800WSDPZA','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','utf8','would_pull','unchanged','mybatisXml','path','string','toISOString','force','paging','157470vcvfix','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20written,\x20','sql','sqlName','sqlRootDir','cancelled','pull','split','local\x20differs\x20from\x20remote','No\x20remote\x20SQL\x20queries\x20matched.','Force\x20pull\x20cancelled.','Force\x20overwrite\x20local\x20unsynced\x20changes','sqlContent','10DGUmkg','sqlRoot','length','write','apps','563768ThDGoX','trimStart','Filter\x20by\x20SQL\x20display\x20name','lockFilePath','sqlcode','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql'];a137_0x2aa7=function(){return _0x545493;};return a137_0x2aa7();}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(_0x456c30,_0x4158c5){const _0x23d724=a137_0x43e0,_0x3e38dc=[];let _0x240bdc=0x1;while(!![]){const _0x4b5e35=await listSqlQueries(_0x456c30,{'currentPage':_0x240bdc,'pageSize':PAGE_SIZE,'sqlCode':_0x4158c5['sqlCode'],'sqlName':_0x4158c5[_0x23d724(0x1e9)]}),_0x1b5d10=_0x4b5e35[_0x23d724(0x200)]??[];_0x3e38dc[_0x23d724(0x1fe)](..._0x1b5d10);if(_0x1b5d10[_0x23d724(0x1f5)]===0x0)break;const _0x4a6f8e=_0x4b5e35[_0x23d724(0x1e4)]?.[_0x23d724(0x21b)];if(_0x4a6f8e!=null?_0x3e38dc[_0x23d724(0x1f5)]>=_0x4a6f8e:_0x1b5d10[_0x23d724(0x1f5)]<PAGE_SIZE)break;_0x240bdc++;}return _0x3e38dc;}async function ensureSqlContent(_0x3ddf81){const _0x5da8d4=a137_0x43e0;if(_0x3ddf81['sqlContent']!=null&&String(_0x3ddf81[_0x5da8d4(0x1f2)])[_0x5da8d4(0x1f5)]>0x0)return _0x3ddf81;return getSqlQueryDetail(_0x3ddf81[_0x5da8d4(0x20f)]);}export const sqlPull={'service':a137_0x5ac735(0x1e8),'command':a137_0x5ac735(0x1ec),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a137_0x5ac735(0x1f6),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x5ac735(0x209),'type':a137_0x5ac735(0x224),'description':a137_0x5ac735(0x1fa)},{'name':'force','type':a137_0x5ac735(0x1ff),'description':a137_0x5ac735(0x1f1)}],async 'dryRun'(_0x2db893){const _0x3c0363=a137_0x5ac735,_0x591cfb=loadSqlProjectConfig(_0x2db893['appCode']),_0x3f3f63=await readSqlLockFile(_0x591cfb[_0x3c0363(0x1fb)]),{appLock:_0x143de0}=ensureSqlLockScope(_0x3f3f63??createEmptySqlLock(),_0x591cfb[_0x3c0363(0x208)],_0x591cfb[_0x3c0363(0x1f4)],_0x3c0363(0x1ec)),_0x58ad65=await fetchAllSqlQueries(_0x2db893['appCode'],{'sqlCode':_0x2db893[_0x3c0363(0x202)](_0x3c0363(0x1fc))||undefined,'sqlName':_0x2db893[_0x3c0363(0x202)](_0x3c0363(0x209))||undefined}),_0x3f8c3f=[];for(const _0xba71ce of _0x58ad65){const _0x5c3f9d=await ensureSqlContent(_0xba71ce),_0x5a9ad6=ensureRemoteSqlContent(_0x5c3f9d),_0x39dfa0=detectModeFromSql(_0x5c3f9d),_0xe332ff=_0x5c3f9d[_0x3c0363(0x20c)]?await getDbName(_0x2db893[_0x3c0363(0x208)],Number(_0x5c3f9d[_0x3c0363(0x20c)]))[_0x3c0363(0x204)](()=>undefined):undefined,_0x2012c7=buildLocalSqlFileContent({'sqlCode':_0x5c3f9d[_0x3c0363(0x20f)],'sqlName':_0x5c3f9d[_0x3c0363(0x1e9)],'dbId':_0x5c3f9d[_0x3c0363(0x20c)]},_0x5a9ad6,{'dbName':_0xe332ff,'mode':_0x39dfa0,'syncedAt':new Date()[_0x3c0363(0x225)](),'description':_0x5c3f9d[_0x3c0363(0x219)]}),_0x37ffaf=buildSqlLockEntry(_0x5c3f9d,_0x5a9ad6,'',{'dbName':_0xe332ff}),_0x10bbfd=resolveLocalSqlFilePath(_0x591cfb,_0x5c3f9d[_0x3c0363(0x20f)],_0x37ffaf);let _0x4195bc=_0x3c0363(0x220),_0x5b24c6;if(await fileExists(_0x10bbfd)){const _0xbbe1a6=await readFile(_0x10bbfd,_0x3c0363(0x21f));isEquivalentPulledSqlFile(_0xbbe1a6,_0x2012c7,_0x39dfa0)?(_0x4195bc=_0x3c0363(0x218),_0x5b24c6=_0x3c0363(0x221)):(_0x4195bc=_0x3c0363(0x211),_0x5b24c6=_0x3c0363(0x1e6));}_0x3f8c3f[_0x3c0363(0x1fe)]({'sqlCode':_0x5c3f9d[_0x3c0363(0x20f)],'sqlName':_0x5c3f9d[_0x3c0363(0x1e9)],'filePath':_0x10bbfd,'status':_0x4195bc,'reason':_0x5b24c6});}return{'method':'POST','url':_0x3c0363(0x1fd),'body':{'appCode':_0x2db893['appCode'],'sqlCode':_0x2db893[_0x3c0363(0x202)](_0x3c0363(0x1fc))||null,'sqlName':_0x2db893[_0x3c0363(0x202)]('name')||null,'files':_0x3f8c3f},'description':_0x3c0363(0x20a)+_0x3f8c3f[_0x3c0363(0x1f5)]+_0x3c0363(0x207)+_0x591cfb[_0x3c0363(0x1ea)]};},async 'execute'(_0x377fb2){const _0x3a0fb5=a137_0x5ac735,_0x3f0a2a=loadSqlProjectConfig(_0x377fb2[_0x3a0fb5(0x208)]),_0x147ace=await readSqlLockFile(_0x3f0a2a[_0x3a0fb5(0x1fb)]),{lockData:_0x32dc58,appLock:_0x3da8f9}=ensureSqlLockScope(_0x147ace??createEmptySqlLock(),_0x3f0a2a['appCode'],_0x3f0a2a[_0x3a0fb5(0x1f4)],'pull'),_0x441494=_0x377fb2[_0x3a0fb5(0x20d)](_0x3a0fb5(0x1e3)),_0x12d9d8=await fetchAllSqlQueries(_0x377fb2[_0x3a0fb5(0x208)],{'sqlCode':_0x377fb2[_0x3a0fb5(0x202)](_0x3a0fb5(0x1fc))||undefined,'sqlName':_0x377fb2[_0x3a0fb5(0x202)](_0x3a0fb5(0x209))||undefined});if(_0x12d9d8[_0x3a0fb5(0x1f5)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3a0fb5(0x1ef)};const _0x1039ce=[],_0x3d2f93=[];for(const _0x259e72 of _0x12d9d8){try{_0x1039ce[_0x3a0fb5(0x1fe)](await ensureSqlContent(_0x259e72));}catch(_0x3b15d8){_0x3d2f93[_0x3a0fb5(0x1fe)]({'sqlCode':_0x259e72[_0x3a0fb5(0x20f)],'error':_0x3b15d8 instanceof Error?_0x3b15d8[_0x3a0fb5(0x203)]:String(_0x3b15d8)});}}if(_0x441494&&!_0x377fb2[_0x3a0fb5(0x201)]){let _0x5e5fa6=![];for(const _0x13018c of _0x1039ce){const _0x507580=detectModeFromSql(_0x13018c),_0x16acce=_0x13018c[_0x3a0fb5(0x20c)]?await getDbName(_0x377fb2['appCode'],Number(_0x13018c[_0x3a0fb5(0x20c)]))[_0x3a0fb5(0x204)](()=>undefined):undefined,_0xc3224b=buildLocalSqlFileContent({'sqlCode':_0x13018c[_0x3a0fb5(0x20f)],'sqlName':_0x13018c[_0x3a0fb5(0x1e9)],'dbId':_0x13018c[_0x3a0fb5(0x20c)]},ensureRemoteSqlContent(_0x13018c),{'dbName':_0x16acce,'mode':_0x507580,'syncedAt':new Date()['toISOString'](),'description':_0x13018c['description']}),_0x49ba53=resolveLocalSqlFilePath(_0x3f0a2a,_0x13018c['sqlCode'],buildSqlLockEntry(_0x13018c,ensureRemoteSqlContent(_0x13018c),'',{'dbName':_0x16acce}));if(await fileExists(_0x49ba53)){const _0x1b672d=await readFile(_0x49ba53,'utf8');if(!isEquivalentPulledSqlFile(_0x1b672d,_0xc3224b,_0x507580)){_0x5e5fa6=!![];break;}}}if(_0x5e5fa6){const _0x1ef041=await confirmForceOverwrite(_0x3a0fb5(0x21e));if(!_0x1ef041)throw CliErrors[_0x3a0fb5(0x1eb)](_0x3a0fb5(0x1f0));}}const _0x211132=cloneSqlLockData(_0x32dc58),_0xb24bc3=_0x211132[_0x3a0fb5(0x1f7)][_0x3f0a2a[_0x3a0fb5(0x208)]],_0x292c71=[],_0x4a5021=[];for(const _0x4216b5 of _0x1039ce){const _0x1c8d87=_0xb24bc3[_0x3a0fb5(0x206)][_0x4216b5[_0x3a0fb5(0x20f)]],_0x15f19b=ensureRemoteSqlContent(_0x4216b5),_0x30286d=detectModeFromSql(_0x4216b5),_0x5d6eb5=_0x4216b5[_0x3a0fb5(0x20c)]?await getDbName(_0x377fb2['appCode'],Number(_0x4216b5['dbId']))[_0x3a0fb5(0x204)](()=>undefined):undefined,_0x9919c5=buildLocalSqlFileContent({'sqlCode':_0x4216b5['sqlCode'],'sqlName':_0x4216b5[_0x3a0fb5(0x1e9)],'dbId':_0x4216b5[_0x3a0fb5(0x20c)]},_0x15f19b,{'dbName':_0x5d6eb5,'mode':_0x30286d,'syncedAt':new Date()[_0x3a0fb5(0x225)](),'description':_0x4216b5['description']}),_0x5d3bb9=buildSqlLockEntry(_0x4216b5,_0x15f19b,computeSqlContentHash(_0x9919c5),{'dbName':_0x5d6eb5}),_0x233bc3=_0x5d3bb9[_0x3a0fb5(0x223)],_0x33f518=join(_0x3f0a2a[_0x3a0fb5(0x1ea)],_0x233bc3);try{if(await fileExists(_0x33f518)){const _0x271979=await readFile(_0x33f518,'utf8');if(isEquivalentPulledSqlFile(_0x271979,_0x9919c5,_0x30286d)){_0x4a5021[_0x3a0fb5(0x1fe)]({'sqlCode':_0x4216b5[_0x3a0fb5(0x20f)],'reason':_0x3a0fb5(0x221)}),_0xb24bc3[_0x3a0fb5(0x206)][_0x4216b5['sqlCode']]={..._0x5d3bb9,'hash':computeSqlContentHash(_0x271979),'path':_0x233bc3};continue;}if(!_0x441494){_0x4a5021[_0x3a0fb5(0x1fe)]({'sqlCode':_0x4216b5[_0x3a0fb5(0x20f)],'reason':_0x3a0fb5(0x1ee)});continue;}}const _0x117736=_0x1c8d87?.[_0x3a0fb5(0x223)]?join(_0x3f0a2a['sqlRootDir'],_0x1c8d87[_0x3a0fb5(0x223)]):undefined;_0x117736&&_0x117736!==_0x33f518&&await fileExists(_0x117736)&&await rm(_0x117736,{'force':!![]}),await ensureParentDirectory(_0x33f518),await writeFile(_0x33f518,_0x9919c5,_0x3a0fb5(0x21f)),_0xb24bc3[_0x3a0fb5(0x206)][_0x4216b5[_0x3a0fb5(0x20f)]]={..._0x5d3bb9,'path':_0x233bc3},_0x292c71[_0x3a0fb5(0x1fe)]({'sqlCode':_0x4216b5[_0x3a0fb5(0x20f)],'filePath':_0x33f518});}catch(_0x2bd08c){_0x3d2f93[_0x3a0fb5(0x1fe)]({'sqlCode':_0x4216b5[_0x3a0fb5(0x20f)],'error':_0x2bd08c instanceof Error?_0x2bd08c[_0x3a0fb5(0x203)]:String(_0x2bd08c)});}}return _0xb24bc3[_0x3a0fb5(0x20b)]=new Date()[_0x3a0fb5(0x225)](),await writeSqlLockFile(_0x3f0a2a[_0x3a0fb5(0x1fb)],_0x211132),{'ok':_0x3d2f93['length']===0x0,'data':{'pulled':_0x292c71,'skipped':_0x4a5021,'failed':_0x3d2f93},'message':_0x3a0fb5(0x217)+_0x292c71[_0x3a0fb5(0x1f5)]+_0x3a0fb5(0x1e7)+_0x4a5021[_0x3a0fb5(0x1f5)]+'\x20skipped,\x20'+_0x3d2f93[_0x3a0fb5(0x1f5)]+_0x3a0fb5(0x205)};}};function a137_0x43e0(_0x4f093d,_0x964f0f){_0x4f093d=_0x4f093d-0x1e3;const _0x2aa7e5=a137_0x2aa7();let _0x43e088=_0x2aa7e5[_0x4f093d];return _0x43e088;}function detectModeFromSql(_0x6914c1){const _0xd56a2c=a137_0x5ac735,_0xe9d3bf=ensureRemoteSqlContent(_0x6914c1),_0x17bad1=stripLocalSqlMetadata(_0xe9d3bf,_0xd56a2c(0x222))[_0xd56a2c(0x1f9)]();if(/^<(select|insert|update|delete)\b/i[_0xd56a2c(0x215)](_0x17bad1))return _0xd56a2c(0x222);return _0xd56a2c(0x1e8);}function isEquivalentPulledSqlFile(_0x82e77b,_0x255f19,_0xeae1c0){return normalizePullComparableContent(_0x82e77b,_0xeae1c0)===normalizePullComparableContent(_0x255f19,_0xeae1c0);}function normalizePullComparableContent(_0x8950d0,_0x4e9fec){const _0xd3b64d=a137_0x5ac735,_0x56faa2=_0x8950d0['replace'](/\r\n/g,'\x0a')[_0xd3b64d(0x1ed)]('\x0a'),_0x21102c=_0x56faa2[_0xd3b64d(0x212)](_0x101a74=>!isSyncedAtMetadataLine(_0x101a74,_0x4e9fec));return _0x21102c['join']('\x0a');}function isSyncedAtMetadataLine(_0x96096c,_0x145da9){const _0x121fbd=a137_0x5ac735;if(_0x145da9==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x121fbd(0x215)](_0x96096c);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x121fbd(0x215)](_0x96096c);}
@@ -1 +1 @@
1
- const a138_0x2d39ec=a138_0xbdbd;(function(_0x371292,_0x5c4607){const _0xb81963=a138_0xbdbd,_0x493e42=_0x371292();while(!![]){try{const _0x186167=parseInt(_0xb81963(0x11e))/0x1*(parseInt(_0xb81963(0x116))/0x2)+parseInt(_0xb81963(0xf2))/0x3+-parseInt(_0xb81963(0xff))/0x4+-parseInt(_0xb81963(0xe8))/0x5+-parseInt(_0xb81963(0x10b))/0x6+-parseInt(_0xb81963(0xeb))/0x7*(parseInt(_0xb81963(0x10e))/0x8)+parseInt(_0xb81963(0xfa))/0x9;if(_0x186167===_0x5c4607)break;else _0x493e42['push'](_0x493e42['shift']());}catch(_0xfb77a3){_0x493e42['push'](_0x493e42['shift']());}}}(a138_0x5107,0x77ad2));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';function a138_0xbdbd(_0x31bbb5,_0x1ccb40){_0x31bbb5=_0x31bbb5-0xe4;const _0x5107d0=a138_0x5107();let _0xbdbd4e=_0x5107d0[_0x31bbb5];return _0xbdbd4e;}import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x462dd1,_0x1aa153,_0x111054){const _0x22c2ab=a138_0xbdbd,_0x5ced8f=await scanLocalSqlQueries(_0x462dd1),_0x3353f1=new Map();for(const _0x44196e of _0x5ced8f){if(_0x111054&&_0x44196e['sqlCode']!==_0x111054)continue;const _0x435083=_0x3353f1['get'](_0x44196e[_0x22c2ab(0xec)])??[];_0x435083[_0x22c2ab(0xfd)](_0x44196e),_0x3353f1[_0x22c2ab(0x105)](_0x44196e[_0x22c2ab(0xec)],_0x435083);}if(_0x111054&&!_0x3353f1[_0x22c2ab(0x100)](_0x111054))throw CliErrors['validation'](_0x22c2ab(0xfe)+_0x111054);const _0x11595e=[];for(const [_0x12f164,_0x2560bd]of _0x3353f1[_0x22c2ab(0xf9)]()){if(_0x2560bd[_0x22c2ab(0x115)]===0x1){_0x11595e['push'](_0x2560bd[0x0]);continue;}const _0x782912=_0x1aa153[_0x22c2ab(0xef)][_0x12f164],_0x36484c=_0x782912?.[_0x22c2ab(0xf8)],_0x69e61c=_0x36484c?_0x2560bd[_0x22c2ab(0x10a)](_0x547104=>_0x547104['relativePath']!==_0x36484c):_0x2560bd;if(_0x782912&&_0x69e61c[_0x22c2ab(0x115)]===0x1){_0x11595e['push'](_0x69e61c[0x0]);continue;}throw CliErrors[_0x22c2ab(0xfb)](_0x22c2ab(0xee)+_0x12f164+'.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.');}return _0x11595e;}export const sqlPush={'service':a138_0x2d39ec(0x113),'command':a138_0x2d39ec(0xfd),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':a138_0x2d39ec(0x11f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a138_0x2d39ec(0xea),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'dryRun'(_0x47efe9){const _0x480e97=a138_0x2d39ec,_0x21a88a=loadSqlProjectConfig(_0x47efe9['appCode']),_0x45d866=await readSqlLockFile(_0x21a88a[_0x480e97(0xe5)]),{appLock:_0x4d7995}=ensureSqlLockScope(_0x45d866??createEmptySqlLock(),_0x47efe9[_0x480e97(0xf0)],_0x21a88a[_0x480e97(0x11d)],'push'),_0x423a6c=await getTargetSqlQueries(_0x21a88a,_0x4d7995,_0x47efe9[_0x480e97(0x10c)](_0x480e97(0x111))||undefined),_0x12f9ef=[];for(const _0x736700 of _0x423a6c){const _0x22b93e=await computeSqlFileHash(_0x736700[_0x480e97(0xf3)]),_0x12d5d4=_0x4d7995['sqls'][_0x736700[_0x480e97(0xec)]],_0x1625c0=!!_0x12d5d4&&(_0x12d5d4[_0x480e97(0xf8)]!==_0x736700['relativePath']||!!_0x736700[_0x480e97(0xe7)]&&_0x12d5d4[_0x480e97(0xe7)]!==_0x736700[_0x480e97(0xe7)]);if(!_0x47efe9[_0x480e97(0x11a)](_0x480e97(0x112))&&_0x12d5d4&&_0x12d5d4[_0x480e97(0x106)]===_0x22b93e&&!_0x1625c0)continue;_0x12f9ef[_0x480e97(0xfd)](_0x736700['sqlCode']);}return{'method':_0x480e97(0x102),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x12f9ef,'appCode':_0x47efe9[_0x480e97(0xf0)]},'description':'Would\x20push\x20'+_0x12f9ef['length']+'\x20SQL\x20file(s)'};},async 'execute'(_0x1572fc){const _0x26bdee=a138_0x2d39ec,_0x9a77d1=loadSqlProjectConfig(_0x1572fc[_0x26bdee(0xf0)]),_0x27249f=await readSqlLockFile(_0x9a77d1[_0x26bdee(0xe5)]),{lockData:_0x3c97ab,appLock:_0x1cedf5}=ensureSqlLockScope(_0x27249f??createEmptySqlLock(),_0x1572fc[_0x26bdee(0xf0)],_0x9a77d1[_0x26bdee(0x11d)],'push'),_0x2efb9e=await getTargetSqlQueries(_0x9a77d1,_0x1cedf5,_0x1572fc['str']('sqlcode')||undefined);if(_0x2efb9e['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x17b03d=[],_0x243fb5=[],_0x4af279=[];for(const _0x31a130 of _0x2efb9e){const _0x36dbb7=_0x1cedf5[_0x26bdee(0xef)][_0x31a130[_0x26bdee(0xec)]];if(!_0x36dbb7){_0x4af279[_0x26bdee(0xfd)]({'sqlCode':_0x31a130[_0x26bdee(0xec)],'error':_0x26bdee(0xed)});continue;}try{const _0x2ee3e2=await computeSqlFileHash(_0x31a130[_0x26bdee(0xf3)]),_0x4246f9=_0x36dbb7[_0x26bdee(0xf8)]!==_0x31a130['relativePath']||!!_0x31a130[_0x26bdee(0xe7)]&&_0x36dbb7[_0x26bdee(0xe7)]!==_0x31a130[_0x26bdee(0xe7)];if(!_0x1572fc[_0x26bdee(0x11a)](_0x26bdee(0x112))&&_0x36dbb7['hash']===_0x2ee3e2&&!_0x4246f9){_0x243fb5[_0x26bdee(0xfd)]({'sqlCode':_0x31a130['sqlCode'],'reason':_0x26bdee(0x11b)});continue;}if(_0x36dbb7[_0x26bdee(0xf4)]==null){_0x4af279[_0x26bdee(0xfd)]({'sqlCode':_0x31a130['sqlCode'],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x555d13=await readFile(_0x31a130[_0x26bdee(0xf3)],'utf8'),_0x470e7a=stripLocalSqlMetadata(_0x555d13,_0x31a130[_0x26bdee(0x104)]),_0x2ec810=_0x31a130[_0x26bdee(0xe7)]||_0x36dbb7['sqlName'],_0x12b13e=await resolveTargetDbBinding(_0x1572fc[_0x26bdee(0xf0)],_0x31a130,_0x36dbb7),_0x19137a=await updateSqlQuery({'id':_0x36dbb7[_0x26bdee(0x10f)],'appCode':_0x1572fc[_0x26bdee(0xf0)],'sqlCode':_0x31a130[_0x26bdee(0xec)],'sqlName':_0x2ec810,'dbId':_0x12b13e['dbId'],'version':_0x36dbb7[_0x26bdee(0xf4)],'sqlContent':_0x470e7a,'sqlConfig':_0x36dbb7[_0x26bdee(0xf6)]??undefined}),_0x430c51=_0x19137a[_0x26bdee(0x117)]?await getDbName(_0x1572fc[_0x26bdee(0xf0)],Number(_0x19137a[_0x26bdee(0x117)]))[_0x26bdee(0x103)](()=>_0x12b13e[_0x26bdee(0x119)]):_0x12b13e[_0x26bdee(0x119)];_0x1cedf5[_0x26bdee(0xef)][_0x31a130[_0x26bdee(0xec)]]={...buildSqlLockEntry(_0x19137a,_0x470e7a,_0x2ee3e2,{'dbName':_0x430c51}),'path':_0x31a130[_0x26bdee(0x10d)],'mode':_0x36dbb7['mode']},await archivePreviousSqlFileIfNeeded(_0x9a77d1,_0x36dbb7[_0x26bdee(0xf8)],_0x31a130[_0x26bdee(0x10d)]),_0x17b03d[_0x26bdee(0xfd)]({'sqlCode':_0x31a130[_0x26bdee(0xec)],'remoteId':_0x36dbb7[_0x26bdee(0x10f)]});}catch(_0x597be0){_0x4af279[_0x26bdee(0xfd)]({'sqlCode':_0x31a130[_0x26bdee(0xec)],'error':_0x597be0 instanceof Error?_0x597be0['message']:String(_0x597be0)});}}return _0x1cedf5[_0x26bdee(0xf1)]=new Date()[_0x26bdee(0xfc)](),await writeSqlLockFile(_0x9a77d1[_0x26bdee(0xe5)],_0x3c97ab),{'ok':_0x4af279[_0x26bdee(0x115)]===0x0,'data':{'pushed':_0x17b03d,'skipped':_0x243fb5,'failed':_0x4af279},'message':_0x26bdee(0x108)+_0x17b03d['length']+_0x26bdee(0x11c)+_0x243fb5[_0x26bdee(0x115)]+_0x26bdee(0x110)+_0x4af279[_0x26bdee(0x115)]+_0x26bdee(0xe4)};}};async function archivePreviousSqlFileIfNeeded(_0x4af167,_0xb9a134,_0x127861){const _0xea662d=a138_0x2d39ec;if(!_0xb9a134||_0xb9a134===_0x127861)return;const _0x4a60bc=join(_0x4af167[_0xea662d(0x107)],_0xb9a134);if(!await fileExists(_0x4a60bc))return;const _0xead643=await moveToTrash(_0x4af167[_0xea662d(0x101)],_0x4af167[_0xea662d(0xf5)],_0x4a60bc);await cleanupEmptyDirectories(dirname(_0x4a60bc),_0x4af167[_0xea662d(0x107)]),void _0xead643;}async function moveToTrash(_0x3e743a,_0x4ef95a,_0x26453a){const _0x474d1b=a138_0x2d39ec,_0x14ab64=new Date()[_0x474d1b(0xfc)]()[_0x474d1b(0x109)](/[:.]/g,'-'),_0x2facda=relative(_0x3e743a,_0x26453a),_0x43c8fa=join(_0x4ef95a,_0x14ab64,_0x2facda);return await mkdir(dirname(_0x43c8fa),{'recursive':!![]}),await rename(_0x26453a,_0x43c8fa),_0x43c8fa;}async function cleanupEmptyDirectories(_0xdd7168,_0x508adf){let _0x40107d=resolve(_0xdd7168);const _0x2f6ed7=resolve(_0x508adf);while(_0x40107d['startsWith'](''+_0x2f6ed7+sep)||_0x40107d===_0x2f6ed7){if(_0x40107d===_0x2f6ed7)return;try{const _0x5e915a=await readdir(_0x40107d);if(_0x5e915a['length']>0x0)return;await rmdir(_0x40107d);}catch{return;}_0x40107d=dirname(_0x40107d);}}async function resolveTargetDbBinding(_0x14a324,_0x4b086a,_0x784051){const _0x4b5d44=a138_0x2d39ec,_0x2a2b99=_0x4b086a[_0x4b5d44(0xf7)];if(!_0x2a2b99)return{'dbId':_0x784051[_0x4b5d44(0x117)],'dbName':_0x784051[_0x4b5d44(0x119)]};const _0x54ea6d=buildDbDirectoryName(_0x784051[_0x4b5d44(0x119)],_0x784051['dbId']);if(_0x2a2b99===_0x54ea6d)return{'dbId':_0x784051[_0x4b5d44(0x117)],'dbName':_0x784051[_0x4b5d44(0x119)]};const _0x415b87=parseExplicitDbDirectory(_0x2a2b99);if(_0x415b87!=null)return{'dbId':_0x415b87,'dbName':await getDbName(_0x14a324,_0x415b87)[_0x4b5d44(0x103)](()=>undefined)};const _0x5732f5=await listDatabases(_0x14a324),_0x15e5c3=_0x5732f5['filter'](_0xec0d20=>buildDbDirectoryName(_0xec0d20[_0x4b5d44(0x119)],_0xec0d20[_0x4b5d44(0x117)])===_0x2a2b99);if(_0x15e5c3['length']===0x1)return{'dbId':_0x15e5c3[0x0][_0x4b5d44(0x117)],'dbName':_0x15e5c3[0x0]['dbName']};if(_0x15e5c3['length']===0x0)throw CliErrors[_0x4b5d44(0xfb)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x2a2b99+_0x4b5d44(0x114)+_0x4b086a[_0x4b5d44(0xec)]+'.');const _0x5e0c79=_0x15e5c3['map'](_0x2cf025=>_0x2cf025['dbName']+'\x20('+_0x2cf025['dbId']+')')[_0x4b5d44(0xe9)](',\x20');throw CliErrors[_0x4b5d44(0xfb)]('Local\x20directory\x20\x22'+_0x2a2b99+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x4b086a[_0x4b5d44(0xec)]+':\x20'+_0x5e0c79);}function parseExplicitDbDirectory(_0x26887a){const _0x631ea9=a138_0x2d39ec,_0x2876f3=/^db-(\d+)$/[_0x631ea9(0x118)](_0x26887a);if(!_0x2876f3)return null;const _0x1bce02=Number(_0x2876f3[0x1]);return Number[_0x631ea9(0xe6)](_0x1bce02)&&_0x1bce02>0x0?_0x1bce02:null;}function a138_0x5107(){const _0x61f6f2=['has','projectRoot','POST','catch','mode','set','hash','sqlRootDir','Push\x20complete:\x20','replace','filter','2779560avdvLk','str','relativePath','8fwWBtO','remoteId','\x20skipped,\x20','sqlcode','force','sql','\x22\x20for\x20sqlCode\x20','length','30CtWFwm','dbId','exec','dbName','bool','unchanged','\x20pushed,\x20','sqlRoot','1298vnVzdW','high-risk-write','\x20failed','lockFilePath','isFinite','sqlName','3647175eUuEIO','join','boolean','2573207mZUdYO','sqlCode','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','sqls','appCode','lastSync','2066943nkhDNP','filePath','version','trashDir','sqlConfig','dbDirectory','path','entries','15244551iKOPNv','validation','toISOString','push','Local\x20SQL\x20not\x20found:\x20','1407200JtVGGn'];a138_0x5107=function(){return _0x61f6f2;};return a138_0x5107();}
1
+ const a138_0x1cb83b=a138_0x21ba;(function(_0x31f658,_0x1ae7a5){const _0x59eb0f=a138_0x21ba,_0x2d447e=_0x31f658();while(!![]){try{const _0x359f35=-parseInt(_0x59eb0f(0xd8))/0x1+-parseInt(_0x59eb0f(0xf5))/0x2+parseInt(_0x59eb0f(0xf3))/0x3+parseInt(_0x59eb0f(0xef))/0x4*(parseInt(_0x59eb0f(0xfe))/0x5)+-parseInt(_0x59eb0f(0xfc))/0x6+-parseInt(_0x59eb0f(0xc1))/0x7+-parseInt(_0x59eb0f(0xe6))/0x8*(-parseInt(_0x59eb0f(0xdf))/0x9);if(_0x359f35===_0x1ae7a5)break;else _0x2d447e['push'](_0x2d447e['shift']());}catch(_0x569946){_0x2d447e['push'](_0x2d447e['shift']());}}}(a138_0x1eed,0x4a6f7));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';function a138_0x1eed(){const _0x4702a8=['\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','mode','dbDirectory','projectRoot','Push\x20local\x20SQL\x20files\x20to\x20remote','146010fTtbeW','path','validation','\x20SQL\x20file(s)','sqlRootDir','sqlcode','relativePath','1491795YChspd','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','appCode','\x22\x20for\x20sqlCode\x20','map','startsWith','entries','8mCLOrw','dbName','Would\x20push\x20','push','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','bool','unchanged','trashDir','sqlRoot','8816JuKLFl','catch','length','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','1643112hzNTwZ','sqls','481286uIvoxt','sqlCode','hash','filter','str','lastSync','\x20pushed,\x20','1821726McDGYI','lockFilePath','1055mXDFgN','Local\x20SQL\x20not\x20found:\x20','dbId','toISOString','filePath','1283394GcBnRn','exec','/smartapi/custom/updateUserCustomSql','set','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','POST','remoteId','has','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','boolean','join','version','sql','get','\x20skipped,\x20','sqlName','utf8','force'];a138_0x1eed=function(){return _0x4702a8;};return a138_0x1eed();}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';function a138_0x21ba(_0x1b663d,_0x158bc5){_0x1b663d=_0x1b663d-0xc0;const _0x1eed54=a138_0x1eed();let _0x21bab4=_0x1eed54[_0x1b663d];return _0x21bab4;}import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x5100fc,_0xb7832e,_0x5e4f44){const _0x37f0b2=a138_0x21ba,_0x196a41=await scanLocalSqlQueries(_0x5100fc),_0x449253=new Map();for(const _0x4e2090 of _0x196a41){if(_0x5e4f44&&_0x4e2090['sqlCode']!==_0x5e4f44)continue;const _0x5afbc7=_0x449253[_0x37f0b2(0xce)](_0x4e2090[_0x37f0b2(0xf6)])??[];_0x5afbc7[_0x37f0b2(0xe9)](_0x4e2090),_0x449253[_0x37f0b2(0xc4)](_0x4e2090['sqlCode'],_0x5afbc7);}if(_0x5e4f44&&!_0x449253[_0x37f0b2(0xc8)](_0x5e4f44))throw CliErrors[_0x37f0b2(0xda)](_0x37f0b2(0xff)+_0x5e4f44);const _0x155682=[];for(const [_0x37a498,_0x4131ac]of _0x449253[_0x37f0b2(0xe5)]()){if(_0x4131ac[_0x37f0b2(0xf1)]===0x1){_0x155682['push'](_0x4131ac[0x0]);continue;}const _0x4210ab=_0xb7832e[_0x37f0b2(0xf4)][_0x37a498],_0x28e0ba=_0x4210ab?.[_0x37f0b2(0xd9)],_0x462d02=_0x28e0ba?_0x4131ac[_0x37f0b2(0xf8)](_0x593f00=>_0x593f00[_0x37f0b2(0xde)]!==_0x28e0ba):_0x4131ac;if(_0x4210ab&&_0x462d02[_0x37f0b2(0xf1)]===0x1){_0x155682[_0x37f0b2(0xe9)](_0x462d02[0x0]);continue;}throw CliErrors['validation'](_0x37f0b2(0xc9)+_0x37a498+_0x37f0b2(0xf2));}return _0x155682;}export const sqlPush={'service':a138_0x1cb83b(0xcd),'command':a138_0x1cb83b(0xe9),'description':a138_0x1cb83b(0xd7),'risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a138_0x1cb83b(0xca),'description':a138_0x1cb83b(0xc5)}],async 'dryRun'(_0x531263){const _0x2861d7=a138_0x1cb83b,_0x34b564=loadSqlProjectConfig(_0x531263[_0x2861d7(0xe1)]),_0xe3c257=await readSqlLockFile(_0x34b564[_0x2861d7(0xfd)]),{appLock:_0x35e8db}=ensureSqlLockScope(_0xe3c257??createEmptySqlLock(),_0x531263[_0x2861d7(0xe1)],_0x34b564[_0x2861d7(0xee)],_0x2861d7(0xe9)),_0x4ee891=await getTargetSqlQueries(_0x34b564,_0x35e8db,_0x531263['str'](_0x2861d7(0xdd))||undefined),_0x1662d6=[];for(const _0x3439ba of _0x4ee891){const _0x52f1da=await computeSqlFileHash(_0x3439ba[_0x2861d7(0xc0)]),_0x3ce62f=_0x35e8db[_0x2861d7(0xf4)][_0x3439ba[_0x2861d7(0xf6)]],_0x56ef21=!!_0x3ce62f&&(_0x3ce62f[_0x2861d7(0xd9)]!==_0x3439ba[_0x2861d7(0xde)]||!!_0x3439ba[_0x2861d7(0xd0)]&&_0x3ce62f[_0x2861d7(0xd0)]!==_0x3439ba[_0x2861d7(0xd0)]);if(!_0x531263[_0x2861d7(0xeb)](_0x2861d7(0xd2))&&_0x3ce62f&&_0x3ce62f['hash']===_0x52f1da&&!_0x56ef21)continue;_0x1662d6['push'](_0x3439ba['sqlCode']);}return{'method':_0x2861d7(0xc6),'url':_0x2861d7(0xc3),'body':{'sqlCodes':_0x1662d6,'appCode':_0x531263['appCode']},'description':_0x2861d7(0xe8)+_0x1662d6[_0x2861d7(0xf1)]+_0x2861d7(0xdb)};},async 'execute'(_0x1a3690){const _0x1b6eb8=a138_0x1cb83b,_0x5f535f=loadSqlProjectConfig(_0x1a3690[_0x1b6eb8(0xe1)]),_0x2ab7fa=await readSqlLockFile(_0x5f535f[_0x1b6eb8(0xfd)]),{lockData:_0x2c345b,appLock:_0x143690}=ensureSqlLockScope(_0x2ab7fa??createEmptySqlLock(),_0x1a3690[_0x1b6eb8(0xe1)],_0x5f535f[_0x1b6eb8(0xee)],_0x1b6eb8(0xe9)),_0x305b0a=await getTargetSqlQueries(_0x5f535f,_0x143690,_0x1a3690[_0x1b6eb8(0xf9)](_0x1b6eb8(0xdd))||undefined);if(_0x305b0a[_0x1b6eb8(0xf1)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x12af47=[],_0x41fbb7=[],_0x309078=[];for(const _0x47a0b7 of _0x305b0a){const _0x3e011f=_0x143690[_0x1b6eb8(0xf4)][_0x47a0b7[_0x1b6eb8(0xf6)]];if(!_0x3e011f){_0x309078[_0x1b6eb8(0xe9)]({'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'error':_0x1b6eb8(0xe0)});continue;}try{const _0x220a45=await computeSqlFileHash(_0x47a0b7[_0x1b6eb8(0xc0)]),_0x506f73=_0x3e011f['path']!==_0x47a0b7[_0x1b6eb8(0xde)]||!!_0x47a0b7[_0x1b6eb8(0xd0)]&&_0x3e011f['sqlName']!==_0x47a0b7['sqlName'];if(!_0x1a3690[_0x1b6eb8(0xeb)](_0x1b6eb8(0xd2))&&_0x3e011f[_0x1b6eb8(0xf7)]===_0x220a45&&!_0x506f73){_0x41fbb7['push']({'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'reason':_0x1b6eb8(0xec)});continue;}if(_0x3e011f[_0x1b6eb8(0xcc)]==null){_0x309078[_0x1b6eb8(0xe9)]({'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'error':_0x1b6eb8(0xea)});continue;}const _0x2599a9=await readFile(_0x47a0b7['filePath'],_0x1b6eb8(0xd1)),_0x134866=stripLocalSqlMetadata(_0x2599a9,_0x47a0b7['mode']),_0x316995=_0x47a0b7[_0x1b6eb8(0xd0)]||_0x3e011f['sqlName'],_0x2017f8=await resolveTargetDbBinding(_0x1a3690[_0x1b6eb8(0xe1)],_0x47a0b7,_0x3e011f),_0x160d9e=await updateSqlQuery({'id':_0x3e011f[_0x1b6eb8(0xc7)],'appCode':_0x1a3690[_0x1b6eb8(0xe1)],'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'sqlName':_0x316995,'dbId':_0x2017f8['dbId'],'version':_0x3e011f[_0x1b6eb8(0xcc)],'sqlContent':_0x134866,'sqlConfig':_0x3e011f['sqlConfig']??undefined}),_0x18bf65=_0x160d9e[_0x1b6eb8(0x100)]?await getDbName(_0x1a3690[_0x1b6eb8(0xe1)],Number(_0x160d9e['dbId']))['catch'](()=>_0x2017f8[_0x1b6eb8(0xe7)]):_0x2017f8[_0x1b6eb8(0xe7)];_0x143690[_0x1b6eb8(0xf4)][_0x47a0b7['sqlCode']]={...buildSqlLockEntry(_0x160d9e,_0x134866,_0x220a45,{'dbName':_0x18bf65}),'path':_0x47a0b7[_0x1b6eb8(0xde)],'mode':_0x3e011f[_0x1b6eb8(0xd4)]},await archivePreviousSqlFileIfNeeded(_0x5f535f,_0x3e011f[_0x1b6eb8(0xd9)],_0x47a0b7[_0x1b6eb8(0xde)]),_0x12af47['push']({'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'remoteId':_0x3e011f['remoteId']});}catch(_0x4eace4){_0x309078['push']({'sqlCode':_0x47a0b7[_0x1b6eb8(0xf6)],'error':_0x4eace4 instanceof Error?_0x4eace4['message']:String(_0x4eace4)});}}return _0x143690[_0x1b6eb8(0xfa)]=new Date()[_0x1b6eb8(0x101)](),await writeSqlLockFile(_0x5f535f[_0x1b6eb8(0xfd)],_0x2c345b),{'ok':_0x309078[_0x1b6eb8(0xf1)]===0x0,'data':{'pushed':_0x12af47,'skipped':_0x41fbb7,'failed':_0x309078},'message':'Push\x20complete:\x20'+_0x12af47[_0x1b6eb8(0xf1)]+_0x1b6eb8(0xfb)+_0x41fbb7[_0x1b6eb8(0xf1)]+_0x1b6eb8(0xcf)+_0x309078[_0x1b6eb8(0xf1)]+'\x20failed'};}};async function archivePreviousSqlFileIfNeeded(_0x5d912d,_0x45b398,_0x470831){const _0x1b0fd4=a138_0x1cb83b;if(!_0x45b398||_0x45b398===_0x470831)return;const _0x26855b=join(_0x5d912d['sqlRootDir'],_0x45b398);if(!await fileExists(_0x26855b))return;const _0x43f4e4=await moveToTrash(_0x5d912d[_0x1b0fd4(0xd6)],_0x5d912d[_0x1b0fd4(0xed)],_0x26855b);await cleanupEmptyDirectories(dirname(_0x26855b),_0x5d912d[_0x1b0fd4(0xdc)]),void _0x43f4e4;}async function moveToTrash(_0x43f996,_0x3e41a4,_0x17745a){const _0x508ef3=a138_0x1cb83b,_0x5742dd=new Date()[_0x508ef3(0x101)]()['replace'](/[:.]/g,'-'),_0x593d28=relative(_0x43f996,_0x17745a),_0x58b1c8=join(_0x3e41a4,_0x5742dd,_0x593d28);return await mkdir(dirname(_0x58b1c8),{'recursive':!![]}),await rename(_0x17745a,_0x58b1c8),_0x58b1c8;}async function cleanupEmptyDirectories(_0x339f1c,_0x5e15d9){const _0x1f5bf5=a138_0x1cb83b;let _0x7bfdc0=resolve(_0x339f1c);const _0x53e1eb=resolve(_0x5e15d9);while(_0x7bfdc0[_0x1f5bf5(0xe4)](''+_0x53e1eb+sep)||_0x7bfdc0===_0x53e1eb){if(_0x7bfdc0===_0x53e1eb)return;try{const _0x2e2a2f=await readdir(_0x7bfdc0);if(_0x2e2a2f[_0x1f5bf5(0xf1)]>0x0)return;await rmdir(_0x7bfdc0);}catch{return;}_0x7bfdc0=dirname(_0x7bfdc0);}}async function resolveTargetDbBinding(_0x15853a,_0x25031d,_0x5533a5){const _0x3f21b4=a138_0x1cb83b,_0x1d550c=_0x25031d[_0x3f21b4(0xd5)];if(!_0x1d550c)return{'dbId':_0x5533a5[_0x3f21b4(0x100)],'dbName':_0x5533a5[_0x3f21b4(0xe7)]};const _0x59110e=buildDbDirectoryName(_0x5533a5[_0x3f21b4(0xe7)],_0x5533a5[_0x3f21b4(0x100)]);if(_0x1d550c===_0x59110e)return{'dbId':_0x5533a5[_0x3f21b4(0x100)],'dbName':_0x5533a5['dbName']};const _0x18db81=parseExplicitDbDirectory(_0x1d550c);if(_0x18db81!=null)return{'dbId':_0x18db81,'dbName':await getDbName(_0x15853a,_0x18db81)[_0x3f21b4(0xf0)](()=>undefined)};const _0x1f3192=await listDatabases(_0x15853a),_0x4f634a=_0x1f3192[_0x3f21b4(0xf8)](_0x28cab0=>buildDbDirectoryName(_0x28cab0['dbName'],_0x28cab0[_0x3f21b4(0x100)])===_0x1d550c);if(_0x4f634a[_0x3f21b4(0xf1)]===0x1)return{'dbId':_0x4f634a[0x0]['dbId'],'dbName':_0x4f634a[0x0][_0x3f21b4(0xe7)]};if(_0x4f634a[_0x3f21b4(0xf1)]===0x0)throw CliErrors[_0x3f21b4(0xda)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x1d550c+_0x3f21b4(0xe2)+_0x25031d['sqlCode']+'.');const _0x44269a=_0x4f634a[_0x3f21b4(0xe3)](_0x595814=>_0x595814[_0x3f21b4(0xe7)]+'\x20('+_0x595814[_0x3f21b4(0x100)]+')')[_0x3f21b4(0xcb)](',\x20');throw CliErrors['validation']('Local\x20directory\x20\x22'+_0x1d550c+_0x3f21b4(0xd3)+_0x25031d[_0x3f21b4(0xf6)]+':\x20'+_0x44269a);}function parseExplicitDbDirectory(_0x4b7404){const _0x43bffd=a138_0x1cb83b,_0x54ab57=/^db-(\d+)$/[_0x43bffd(0xc2)](_0x4b7404);if(!_0x54ab57)return null;const _0x1132e6=Number(_0x54ab57[0x1]);return Number['isFinite'](_0x1132e6)&&_0x1132e6>0x0?_0x1132e6:null;}
@@ -1 +1 @@
1
- const a139_0x2dd907=a139_0xdae1;(function(_0x41876c,_0x4fe56d){const _0x421a48=a139_0xdae1,_0x5372d7=_0x41876c();while(!![]){try{const _0xdedf71=-parseInt(_0x421a48(0xa8))/0x1+-parseInt(_0x421a48(0xac))/0x2+parseInt(_0x421a48(0xa2))/0x3*(parseInt(_0x421a48(0xa5))/0x4)+-parseInt(_0x421a48(0xa0))/0x5+-parseInt(_0x421a48(0xaa))/0x6*(-parseInt(_0x421a48(0xa3))/0x7)+-parseInt(_0x421a48(0xa9))/0x8+parseInt(_0x421a48(0xb0))/0x9;if(_0xdedf71===_0x4fe56d)break;else _0x5372d7['push'](_0x5372d7['shift']());}catch(_0x12474e){_0x5372d7['push'](_0x5372d7['shift']());}}}(a139_0x1620,0x3af9e));import{CliErrors}from'../../errors.js';function a139_0xdae1(_0x315cec,_0xd709a2){_0x315cec=_0x315cec-0x9a;const _0x1620da=a139_0x1620();let _0xdae1d3=_0x1620da[_0x315cec];return _0xdae1d3;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=['`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.',a139_0x2dd907(0x9a),a139_0x2dd907(0xae)][a139_0x2dd907(0x9e)]('\x0a');function a139_0x1620(){const _0xea9f9=['write','447540sVDOPe','SQL\x20query\x20display\x20name','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`.','string','6050583fJJkRN','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','save','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','join','file','1452430rzPJmf','Path\x20to\x20the\x20SQL\x20file','21VBPSQL','14RGgbtv','Query\x20description','252544KyTyiC','sqlname','sql','461781KKgVfp','26880rOcAjF','320172jrZAZJ'];a139_0x1620=function(){return _0xea9f9;};return a139_0x1620();}export const sqlSave={'service':a139_0x2dd907(0xa7),'command':a139_0x2dd907(0x9b),'description':a139_0x2dd907(0x9c),'risk':a139_0x2dd907(0xab),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a139_0x2dd907(0x9f),'type':a139_0x2dd907(0xaf),'required':!![],'description':a139_0x2dd907(0xa1)},SQLCODE_FLAG_OPTIONAL,{'name':a139_0x2dd907(0xa6),'type':a139_0x2dd907(0xaf),'description':a139_0x2dd907(0xad)},{'name':'db','type':a139_0x2dd907(0xaf),'description':a139_0x2dd907(0x9d)},{'name':'description','type':a139_0x2dd907(0xaf),'description':a139_0x2dd907(0xa4)}],async 'validate'(){throw CliErrors['validation'](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){throw CliErrors['validation'](SQL_SAVE_DEPRECATED_HINT);}};
1
+ const a139_0x4fc306=a139_0x9435;function a139_0x9435(_0x2d4235,_0x2c4aeb){_0x2d4235=_0x2d4235-0x14a;const _0x424ea8=a139_0x424e();let _0x9435cc=_0x424ea8[_0x2d4235];return _0x9435cc;}function a139_0x424e(){const _0x165c97=['5tOpzZx','save','Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','4243492lCJdGA','join','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','sql','validation','Query\x20description','SQL\x20query\x20display\x20name','1673030KubiQf','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`.','10727504velsTC','Path\x20to\x20the\x20SQL\x20file','description','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','3XaawTL','sqlname','string','10273032nizcVk','988692fmVuBN','43452bHRUkt','2317770OmpURt'];a139_0x424e=function(){return _0x165c97;};return a139_0x424e();}(function(_0x6860b9,_0x3441f9){const _0x5d9d16=a139_0x9435,_0x3630ce=_0x6860b9();while(!![]){try{const _0x18ecd3=parseInt(_0x5d9d16(0x15c))/0x1+parseInt(_0x5d9d16(0x14f))/0x2+-parseInt(_0x5d9d16(0x14a))/0x3*(parseInt(_0x5d9d16(0x154))/0x4)+-parseInt(_0x5d9d16(0x151))/0x5*(-parseInt(_0x5d9d16(0x14e))/0x6)+-parseInt(_0x5d9d16(0x14d))/0x7+parseInt(_0x5d9d16(0x15e))/0x8+parseInt(_0x5d9d16(0x150))/0x9;if(_0x18ecd3===_0x3441f9)break;else _0x3630ce['push'](_0x3630ce['shift']());}catch(_0x2af732){_0x3630ce['push'](_0x3630ce['shift']());}}}(a139_0x424e,0xe2f15));import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a139_0x4fc306(0x156),a139_0x4fc306(0x161),a139_0x4fc306(0x15d)][a139_0x4fc306(0x155)]('\x0a');export const sqlSave={'service':a139_0x4fc306(0x158),'command':a139_0x4fc306(0x152),'description':a139_0x4fc306(0x157),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'file','type':a139_0x4fc306(0x14c),'required':!![],'description':a139_0x4fc306(0x15f)},SQLCODE_FLAG_OPTIONAL,{'name':a139_0x4fc306(0x14b),'type':a139_0x4fc306(0x14c),'description':a139_0x4fc306(0x15b)},{'name':'db','type':a139_0x4fc306(0x14c),'description':a139_0x4fc306(0x153)},{'name':a139_0x4fc306(0x160),'type':a139_0x4fc306(0x14c),'description':a139_0x4fc306(0x15a)}],async 'validate'(){const _0x32d50e=a139_0x4fc306;throw CliErrors[_0x32d50e(0x159)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x2683dd=a139_0x4fc306;throw CliErrors[_0x2683dd(0x159)](SQL_SAVE_DEPRECATED_HINT);}};
@@ -1 +1 @@
1
- const a140_0x1ce38d=a140_0x570e;(function(_0x1649c3,_0x96418a){const _0x4b1678=a140_0x570e,_0x391fd5=_0x1649c3();while(!![]){try{const _0x181187=parseInt(_0x4b1678(0x1f7))/0x1+-parseInt(_0x4b1678(0x20c))/0x2+parseInt(_0x4b1678(0x20a))/0x3+parseInt(_0x4b1678(0x1f6))/0x4+-parseInt(_0x4b1678(0x1ee))/0x5*(parseInt(_0x4b1678(0x207))/0x6)+-parseInt(_0x4b1678(0x1e4))/0x7+parseInt(_0x4b1678(0x1fa))/0x8;if(_0x181187===_0x96418a)break;else _0x391fd5['push'](_0x391fd5['shift']());}catch(_0x40f81a){_0x391fd5['push'](_0x391fd5['shift']());}}}(a140_0x1c94,0xe16f8));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=a140_0x1ce38d(0x1f4);export function buildSqlLockEntry(_0x180de6,_0x45a6d7,_0x4827c7,_0x48de10){const _0x2206a4=a140_0x1ce38d,_0x51cd08=detectSqlMode(_0x45a6d7);return{'path':buildSqlRelativePath(_0x180de6[_0x2206a4(0x1e9)],_0x180de6[_0x2206a4(0x1e7)],_0x48de10?.['dbName'],_0x51cd08,_0x180de6[_0x2206a4(0x1f9)]),'hash':_0x4827c7,'remoteId':_0x180de6['id'],'version':_0x180de6[_0x2206a4(0x1e2)],'dbId':Number(_0x180de6['dbId']),'dbName':_0x48de10?.['dbName'],'sqlName':_0x180de6[_0x2206a4(0x1e7)],'sqlConfig':_0x180de6['sqlConfig']??undefined,'mode':_0x51cd08};}function a140_0x1c94(){const _0x7d7cec=['mode','question','stderr','sqlContent','path','fromEntries','description','close','<!--\x20@lovrabet.','168mgscNY','join','test','124026bixwES','--\x20@lovrabet.','2258528ctpJRs','mybatisXml','version','\x20[y/N]\x20','2553376qqyueX','map','replace','sqlName','syncedAt','sqlCode','endsWith','includes','trimStart','filter','184215DLGwrG','lastSync','length','dbName','sqlRoot','trim','.rabetbase/sql','entries','2340340JgsIeO','1129841KwVWPE','stdin','dbId','13542016pveRKM','apps','yes','split'];a140_0x1c94=function(){return _0x7d7cec;};return a140_0x1c94();}export function cloneSqlLockData(_0x29f28c){const _0x3a70c4=a140_0x1ce38d;return{'apps':Object[_0x3a70c4(0x203)](Object[_0x3a70c4(0x1f5)](_0x29f28c[_0x3a70c4(0x1fb)])[_0x3a70c4(0x1e5)](([_0x417c3e,_0x34102f])=>[_0x417c3e,{'sqlRoot':_0x34102f[_0x3a70c4(0x1f2)],'lastSync':_0x34102f[_0x3a70c4(0x1ef)],'sqls':{..._0x34102f['sqls']}}]))};}export function ensureRemoteSqlContent(_0x447ef6){const _0x3b2642=a140_0x1ce38d;return _0x447ef6[_0x3b2642(0x201)]??'';}export function buildLocalSqlFileContent(_0x36ec61,_0x941046,_0x19461e){const _0x11f13c=a140_0x1ce38d,_0x2c1059=_0x19461e?.[_0x11f13c(0x1fe)]??detectSqlMode(_0x941046),_0x9f24f0=stripLocalSqlMetadata(_0x941046,_0x2c1059)[_0x11f13c(0x1f3)](),_0x2a8783=[...buildMetadataHeaderLines({'sqlCode':_0x36ec61[_0x11f13c(0x1e9)],'sqlName':_0x36ec61['sqlName'],'dbId':_0x36ec61[_0x11f13c(0x1f9)],'dbName':_0x19461e?.['dbName'],'mode':_0x2c1059,'syncedAt':_0x19461e?.[_0x11f13c(0x1e8)],'description':_0x19461e?.[_0x11f13c(0x204)]},_0x2c1059),'',_0x9f24f0],_0x3634e7=_0x2a8783[_0x11f13c(0x208)]('\x0a');return _0x3634e7[_0x11f13c(0x1ea)]('\x0a')?_0x3634e7:_0x3634e7+'\x0a';}export function stripLocalSqlMetadata(_0x55631a,_0x4e9480){const _0xca4805=a140_0x1ce38d,_0x168cfb=_0x55631a[_0xca4805(0x1e6)](/\r\n/g,'\x0a')[_0xca4805(0x1fd)]('\x0a'),_0x131694=[];let _0x3bf078=0x0;if(_0x4e9480===_0xca4805(0x20d))while(_0x3bf078<_0x168cfb['length']){const _0x184906=_0x168cfb[_0x3bf078]??'';if(/^\s*<!--\s*@lovrabet\./[_0xca4805(0x209)](_0x184906)){_0x3bf078++;continue;}if(_0x184906[_0xca4805(0x1f3)]()===''&&_0x3bf078>0x0){_0x3bf078++;continue;}break;}else while(_0x3bf078<_0x168cfb[_0xca4805(0x1f0)]){const _0x493222=_0x168cfb[_0x3bf078]??'';if(/^\s*--\s*@lovrabet\./[_0xca4805(0x209)](_0x493222)){_0x3bf078++;continue;}if(_0x493222[_0xca4805(0x1f3)]()===''&&_0x3bf078>0x0){_0x3bf078++;continue;}break;}for(;_0x3bf078<_0x168cfb[_0xca4805(0x1f0)];_0x3bf078++){_0x131694['push'](_0x168cfb[_0x3bf078]);}return _0x131694[_0xca4805(0x208)]('\x0a')[_0xca4805(0x1ec)]();}export function resolveSqlMode(_0x57c487,_0xb3884d){if(_0xb3884d?.['mode'])return _0xb3884d['mode'];return detectSqlMode(_0x57c487);}export function resolveSqlFileName(_0x51f78e,_0x578160,_0x4425e2){const _0x566c69=a140_0x1ce38d;if(_0x4425e2?.[_0x566c69(0x202)])return _0x4425e2['path'];if(_0x4425e2?.['sqlName']||_0x4425e2?.[_0x566c69(0x1f1)])return buildSqlRelativePath(_0x51f78e,_0x4425e2?.[_0x566c69(0x1e7)],_0x4425e2?.[_0x566c69(0x1f1)],resolveSqlMode(_0x578160,_0x4425e2),_0x4425e2?.[_0x566c69(0x1f9)]);return buildDefaultSqlFileName(_0x51f78e,resolveSqlMode(_0x578160,_0x4425e2));}function a140_0x570e(_0x2089f8,_0xf93511){_0x2089f8=_0x2089f8-0x1e2;const _0x1c9456=a140_0x1c94();let _0x570e12=_0x1c9456[_0x2089f8];return _0x570e12;}export function resolveSqlLocalDir(_0x59221c,_0x45648d){return join(_0x59221c,SQL_LOCAL_REL_DIR,_0x45648d);}export async function confirmForceOverwrite(_0x261f4f){const _0x1dc7a4=a140_0x1ce38d,_0x27744a=createInterface({'input':process[_0x1dc7a4(0x1f8)],'output':process[_0x1dc7a4(0x200)]}),_0x5e01d2=await new Promise(_0x3bf6b7=>{const _0x4d0883=_0x1dc7a4;_0x27744a[_0x4d0883(0x1ff)](_0x261f4f+_0x4d0883(0x1e3),_0x3bf6b7);});return _0x27744a[_0x1dc7a4(0x205)](),['y',_0x1dc7a4(0x1fc)][_0x1dc7a4(0x1eb)](_0x5e01d2[_0x1dc7a4(0x1f3)]()['toLowerCase']());}export function findSqlLockScope(_0x49e81b,_0x2d7a58){const _0x2f176e=a140_0x1ce38d;return _0x49e81b[_0x2f176e(0x1fb)][_0x2d7a58];}function buildMetadataHeaderLines(_0x30c696,_0x197534){const _0x522fae=a140_0x1ce38d,_0x562142=[['sqlCode',_0x30c696[_0x522fae(0x1e9)]],[_0x522fae(0x1e7),_0x30c696[_0x522fae(0x1e7)]],[_0x522fae(0x1f9),_0x30c696[_0x522fae(0x1f9)]],['dbName',_0x30c696[_0x522fae(0x1f1)]],[_0x522fae(0x1fe),_0x30c696['mode']],[_0x522fae(0x1e8),_0x30c696[_0x522fae(0x1e8)]],[_0x522fae(0x204),_0x30c696[_0x522fae(0x204)]]];if(_0x197534===_0x522fae(0x20d))return _0x562142[_0x522fae(0x1ed)](([,_0x233c88])=>_0x233c88!==undefined&&_0x233c88!==null&&String(_0x233c88)[_0x522fae(0x1f3)]()!=='')[_0x522fae(0x1e5)](([_0x40ca1f,_0x3a4811])=>_0x522fae(0x206)+_0x40ca1f+':\x20'+String(_0x3a4811)+'\x20-->');return _0x562142[_0x522fae(0x1ed)](([,_0x212c5d])=>_0x212c5d!==undefined&&_0x212c5d!==null&&String(_0x212c5d)[_0x522fae(0x1f3)]()!=='')['map'](([_0x47b0a9,_0x296a7c])=>_0x522fae(0x20b)+_0x47b0a9+':\x20'+String(_0x296a7c));}
1
+ const a140_0xbd1f96=a140_0x2117;(function(_0x306b35,_0x188cf4){const _0x52dca2=a140_0x2117,_0x121f65=_0x306b35();while(!![]){try{const _0x3b25b6=parseInt(_0x52dca2(0x19a))/0x1+parseInt(_0x52dca2(0x18b))/0x2+-parseInt(_0x52dca2(0x18e))/0x3+-parseInt(_0x52dca2(0x1aa))/0x4*(parseInt(_0x52dca2(0x194))/0x5)+-parseInt(_0x52dca2(0x19f))/0x6+-parseInt(_0x52dca2(0x199))/0x7*(parseInt(_0x52dca2(0x196))/0x8)+parseInt(_0x52dca2(0x1a6))/0x9*(parseInt(_0x52dca2(0x19e))/0xa);if(_0x3b25b6===_0x188cf4)break;else _0x121f65['push'](_0x121f65['shift']());}catch(_0x1dc697){_0x121f65['push'](_0x121f65['shift']());}}}(a140_0x42a6,0x724c2));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=a140_0xbd1f96(0x19c);export function buildSqlLockEntry(_0x31cb73,_0x1b57a6,_0x408b7c,_0xe96808){const _0x3d7625=a140_0xbd1f96,_0xb428c9=detectSqlMode(_0x1b57a6);return{'path':buildSqlRelativePath(_0x31cb73[_0x3d7625(0x183)],_0x31cb73[_0x3d7625(0x191)],_0xe96808?.[_0x3d7625(0x18d)],_0xb428c9,_0x31cb73[_0x3d7625(0x1a5)]),'hash':_0x408b7c,'remoteId':_0x31cb73['id'],'version':_0x31cb73['version'],'dbId':Number(_0x31cb73['dbId']),'dbName':_0xe96808?.[_0x3d7625(0x18d)],'sqlName':_0x31cb73[_0x3d7625(0x191)],'sqlConfig':_0x31cb73[_0x3d7625(0x184)]??undefined,'mode':_0xb428c9};}function a140_0x42a6(){const _0x5a3f85=['333652DROImf','includes','.rabetbase/sql','sqls','6621180amawEG','3373848fogbVr','mybatisXml','length','sqlContent','stdin','trimStart','dbId','18xWvULV','--\x20@lovrabet.','sqlRoot','apps','13492iOTVtl','question','syncedAt','filter','sqlCode','sqlConfig','path','map','\x20[y/N]\x20','mode','replace','split','157764hbXiJG','join','dbName','1013439oMPlOY','endsWith','yes','sqlName','<!--\x20@lovrabet.','\x20-->','120FTfsdM','stderr','79320iOqEpj','trim','toLowerCase','203rWsOmr'];a140_0x42a6=function(){return _0x5a3f85;};return a140_0x42a6();}export function cloneSqlLockData(_0x26b7cf){const _0x3a3887=a140_0xbd1f96;return{'apps':Object['fromEntries'](Object['entries'](_0x26b7cf[_0x3a3887(0x1a9)])[_0x3a3887(0x186)](([_0x4691b5,_0x23b026])=>[_0x4691b5,{'sqlRoot':_0x23b026[_0x3a3887(0x1a8)],'lastSync':_0x23b026['lastSync'],'sqls':{..._0x23b026[_0x3a3887(0x19d)]}}]))};}export function ensureRemoteSqlContent(_0x2cf258){const _0x320db2=a140_0xbd1f96;return _0x2cf258[_0x320db2(0x1a2)]??'';}export function buildLocalSqlFileContent(_0x8d1471,_0x40008a,_0x207071){const _0x3d0404=a140_0xbd1f96,_0x32d73d=_0x207071?.['mode']??detectSqlMode(_0x40008a),_0x4bd12c=stripLocalSqlMetadata(_0x40008a,_0x32d73d)[_0x3d0404(0x197)](),_0x94c019=[...buildMetadataHeaderLines({'sqlCode':_0x8d1471[_0x3d0404(0x183)],'sqlName':_0x8d1471[_0x3d0404(0x191)],'dbId':_0x8d1471[_0x3d0404(0x1a5)],'dbName':_0x207071?.[_0x3d0404(0x18d)],'mode':_0x32d73d,'syncedAt':_0x207071?.[_0x3d0404(0x181)],'description':_0x207071?.['description']},_0x32d73d),'',_0x4bd12c],_0x3022ee=_0x94c019[_0x3d0404(0x18c)]('\x0a');return _0x3022ee[_0x3d0404(0x18f)]('\x0a')?_0x3022ee:_0x3022ee+'\x0a';}export function stripLocalSqlMetadata(_0x584ced,_0x3a42ba){const _0x194578=a140_0xbd1f96,_0x6db6f3=_0x584ced[_0x194578(0x189)](/\r\n/g,'\x0a')[_0x194578(0x18a)]('\x0a'),_0x3831d7=[];let _0x3381d9=0x0;if(_0x3a42ba==='mybatisXml')while(_0x3381d9<_0x6db6f3[_0x194578(0x1a1)]){const _0x2d2751=_0x6db6f3[_0x3381d9]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x2d2751)){_0x3381d9++;continue;}if(_0x2d2751[_0x194578(0x197)]()===''&&_0x3381d9>0x0){_0x3381d9++;continue;}break;}else while(_0x3381d9<_0x6db6f3[_0x194578(0x1a1)]){const _0x124cf0=_0x6db6f3[_0x3381d9]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x124cf0)){_0x3381d9++;continue;}if(_0x124cf0['trim']()===''&&_0x3381d9>0x0){_0x3381d9++;continue;}break;}for(;_0x3381d9<_0x6db6f3['length'];_0x3381d9++){_0x3831d7['push'](_0x6db6f3[_0x3381d9]);}return _0x3831d7[_0x194578(0x18c)]('\x0a')[_0x194578(0x1a4)]();}export function resolveSqlMode(_0xa06b5a,_0x2b0d54){const _0xe94298=a140_0xbd1f96;if(_0x2b0d54?.[_0xe94298(0x188)])return _0x2b0d54['mode'];return detectSqlMode(_0xa06b5a);}export function resolveSqlFileName(_0x46269b,_0x300c1e,_0x592096){const _0x5be257=a140_0xbd1f96;if(_0x592096?.[_0x5be257(0x185)])return _0x592096[_0x5be257(0x185)];if(_0x592096?.['sqlName']||_0x592096?.[_0x5be257(0x18d)])return buildSqlRelativePath(_0x46269b,_0x592096?.['sqlName'],_0x592096?.[_0x5be257(0x18d)],resolveSqlMode(_0x300c1e,_0x592096),_0x592096?.['dbId']);return buildDefaultSqlFileName(_0x46269b,resolveSqlMode(_0x300c1e,_0x592096));}export function resolveSqlLocalDir(_0xd431db,_0x20a3b6){return join(_0xd431db,SQL_LOCAL_REL_DIR,_0x20a3b6);}export async function confirmForceOverwrite(_0x134bf9){const _0x442561=a140_0xbd1f96,_0x531ebc=createInterface({'input':process[_0x442561(0x1a3)],'output':process[_0x442561(0x195)]}),_0x20e108=await new Promise(_0x298a5c=>{const _0x407a85=_0x442561;_0x531ebc[_0x407a85(0x1ab)](_0x134bf9+_0x407a85(0x187),_0x298a5c);});return _0x531ebc['close'](),['y',_0x442561(0x190)][_0x442561(0x19b)](_0x20e108[_0x442561(0x197)]()[_0x442561(0x198)]());}function a140_0x2117(_0x4d1af0,_0x26b290){_0x4d1af0=_0x4d1af0-0x181;const _0x42a67a=a140_0x42a6();let _0x211704=_0x42a67a[_0x4d1af0];return _0x211704;}export function findSqlLockScope(_0x1dbd51,_0x26077a){const _0x3ba434=a140_0xbd1f96;return _0x1dbd51[_0x3ba434(0x1a9)][_0x26077a];}function buildMetadataHeaderLines(_0x21f687,_0x432260){const _0x12cc6a=a140_0xbd1f96,_0x341e97=[[_0x12cc6a(0x183),_0x21f687[_0x12cc6a(0x183)]],[_0x12cc6a(0x191),_0x21f687[_0x12cc6a(0x191)]],['dbId',_0x21f687[_0x12cc6a(0x1a5)]],[_0x12cc6a(0x18d),_0x21f687[_0x12cc6a(0x18d)]],['mode',_0x21f687[_0x12cc6a(0x188)]],[_0x12cc6a(0x181),_0x21f687[_0x12cc6a(0x181)]],['description',_0x21f687['description']]];if(_0x432260===_0x12cc6a(0x1a0))return _0x341e97['filter'](([,_0x406e3d])=>_0x406e3d!==undefined&&_0x406e3d!==null&&String(_0x406e3d)[_0x12cc6a(0x197)]()!=='')[_0x12cc6a(0x186)](([_0x14c5b2,_0xfe8dea])=>_0x12cc6a(0x192)+_0x14c5b2+':\x20'+String(_0xfe8dea)+_0x12cc6a(0x193));return _0x341e97[_0x12cc6a(0x182)](([,_0x1cc641])=>_0x1cc641!==undefined&&_0x1cc641!==null&&String(_0x1cc641)[_0x12cc6a(0x197)]()!=='')[_0x12cc6a(0x186)](([_0xb5a444,_0xc22c56])=>_0x12cc6a(0x1a7)+_0xb5a444+':\x20'+String(_0xc22c56));}