@lovrabet/rabetbase-cli 2.1.12-beta.2 → 2.1.12-beta.4

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 (200) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/field-update.js +1 -1
  55. package/lib/commands/dataset/index.js +1 -1
  56. package/lib/commands/dataset/link-create.js +1 -1
  57. package/lib/commands/dataset/link-delete.js +1 -1
  58. package/lib/commands/dataset/link-shared.js +1 -1
  59. package/lib/commands/dataset/link-update.js +1 -1
  60. package/lib/commands/dataset/links.js +1 -1
  61. package/lib/commands/dataset/list.js +1 -1
  62. package/lib/commands/dataset/operations.js +1 -1
  63. package/lib/commands/db/analyze-cancel.js +1 -1
  64. package/lib/commands/db/analyze-start.js +1 -1
  65. package/lib/commands/db/analyze-status.js +1 -1
  66. package/lib/commands/db/create.js +1 -1
  67. package/lib/commands/db/delete.js +1 -1
  68. package/lib/commands/db/detail.js +1 -1
  69. package/lib/commands/db/diff.js +1 -1
  70. package/lib/commands/db/index.js +1 -1
  71. package/lib/commands/db/list.js +1 -1
  72. package/lib/commands/db/shared.js +1 -1
  73. package/lib/commands/db/tables.js +1 -1
  74. package/lib/commands/db/test.js +1 -1
  75. package/lib/commands/db/update.js +1 -1
  76. package/lib/commands/doctor.js +1 -1
  77. package/lib/commands/init/index.js +1 -1
  78. package/lib/commands/issue/index.js +1 -1
  79. package/lib/commands/issue/nudge.js +1 -1
  80. package/lib/commands/issue/report.js +1 -1
  81. package/lib/commands/issue/shared.js +1 -1
  82. package/lib/commands/logs/index.js +1 -1
  83. package/lib/commands/menu/index.js +1 -1
  84. package/lib/commands/menu/shared/compare-table.js +1 -1
  85. package/lib/commands/menu/shared/index.js +1 -1
  86. package/lib/commands/menu/shared/inquirer.js +1 -1
  87. package/lib/commands/menu/shared/local-pages.js +1 -1
  88. package/lib/commands/menu/shared/logic.js +1 -1
  89. package/lib/commands/menu/shared/service.js +1 -1
  90. package/lib/commands/menu/shared/sync-core.js +1 -1
  91. package/lib/commands/menu/shared/update-core.js +1 -1
  92. package/lib/commands/menu/shared/valid-url.js +1 -1
  93. package/lib/commands/menu/sync.js +1 -1
  94. package/lib/commands/menu/update.js +1 -1
  95. package/lib/commands/page/generate-start.js +1 -1
  96. package/lib/commands/page/generate-status.js +1 -1
  97. package/lib/commands/page/index.js +1 -1
  98. package/lib/commands/page/pull.js +1 -1
  99. package/lib/commands/page/push.js +1 -1
  100. package/lib/commands/page/shared.js +1 -1
  101. package/lib/commands/page/standard-page-status.js +1 -1
  102. package/lib/commands/page/sync.js +1 -1
  103. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  104. package/lib/commands/project/create/format-elapsed.js +1 -1
  105. package/lib/commands/project/create/main.js +1 -1
  106. package/lib/commands/project/create/non-interactive.js +1 -1
  107. package/lib/commands/project/create/project-template-path.js +1 -1
  108. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  109. package/lib/commands/project/create/use-format-code.js +1 -1
  110. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  111. package/lib/commands/project/index.js +1 -1
  112. package/lib/commands/project/init.js +1 -1
  113. package/lib/commands/project/upgrade.js +1 -1
  114. package/lib/commands/registry.js +1 -1
  115. package/lib/commands/run/index.js +1 -1
  116. package/lib/commands/schema.js +1 -1
  117. package/lib/commands/skill/index.js +1 -1
  118. package/lib/commands/sql/create.js +1 -1
  119. package/lib/commands/sql/delete.js +1 -1
  120. package/lib/commands/sql/detail.js +1 -1
  121. package/lib/commands/sql/exec.js +1 -1
  122. package/lib/commands/sql/index.js +1 -1
  123. package/lib/commands/sql/list.js +1 -1
  124. package/lib/commands/sql/pull.js +1 -1
  125. package/lib/commands/sql/push.js +1 -1
  126. package/lib/commands/sql/save.js +1 -1
  127. package/lib/commands/sql/shared.js +1 -1
  128. package/lib/commands/sql/status.js +1 -1
  129. package/lib/commands/sql/validate.js +1 -1
  130. package/lib/config/schema.js +1 -1
  131. package/lib/constant/cdn.js +1 -1
  132. package/lib/constant/cli.js +1 -1
  133. package/lib/constant/defaults.js +1 -1
  134. package/lib/constant/domain.js +1 -1
  135. package/lib/constant/env.js +1 -1
  136. package/lib/constant/output.js +1 -1
  137. package/lib/constant/paths.js +1 -1
  138. package/lib/constant/risk.js +1 -1
  139. package/lib/context.js +1 -1
  140. package/lib/core/alias-resolver.js +1 -1
  141. package/lib/core/api-client.js +1 -1
  142. package/lib/core/bff/config.js +1 -1
  143. package/lib/core/bff/file-system.js +1 -1
  144. package/lib/core/bff/hash.js +1 -1
  145. package/lib/core/bff/lock.js +1 -1
  146. package/lib/core/bff/utils.js +1 -1
  147. package/lib/core/db-resolver.js +1 -1
  148. package/lib/core/page/file-system.js +1 -1
  149. package/lib/core/page/hash.js +1 -1
  150. package/lib/core/page/lock.js +1 -1
  151. package/lib/core/sql-sync/config.js +1 -1
  152. package/lib/core/sql-sync/file-system.js +1 -1
  153. package/lib/core/sql-sync/hash.js +1 -1
  154. package/lib/core/sql-sync/lock.js +1 -1
  155. package/lib/core/sql-sync/utils.js +1 -1
  156. package/lib/core/sql-validator.js +1 -1
  157. package/lib/errors.js +1 -1
  158. package/lib/framework/build-all-flags.js +1 -1
  159. package/lib/framework/flags.js +1 -1
  160. package/lib/framework/help.js +1 -1
  161. package/lib/framework/index.js +1 -1
  162. package/lib/framework/output.js +1 -1
  163. package/lib/framework/response.js +1 -1
  164. package/lib/framework/runner-alias.js +1 -1
  165. package/lib/framework/runner.js +1 -1
  166. package/lib/framework/schema-export.js +1 -1
  167. package/lib/framework/types.js +1 -1
  168. package/lib/generated/build-info.js +1 -1
  169. package/lib/help.js +1 -1
  170. package/lib/skills/main.js +1 -1
  171. package/lib/skills/npx-skills-add.js +1 -1
  172. package/lib/telemetry/cli-command-trace.js +1 -1
  173. package/lib/telemetry/cli-help-trace.js +1 -1
  174. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  175. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  176. package/lib/telemetry/send-cli-trace-log.js +1 -1
  177. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  178. package/lib/utils/ai_config.js +1 -1
  179. package/lib/utils/apply-jq-filter.js +1 -1
  180. package/lib/utils/cdn-config.js +1 -1
  181. package/lib/utils/check-sdk-version.js +1 -1
  182. package/lib/utils/cli-version-check.js +1 -1
  183. package/lib/utils/cli-version-policy.js +1 -1
  184. package/lib/utils/config.js +1 -1
  185. package/lib/utils/copy-directory.js +1 -1
  186. package/lib/utils/entity-with-id.js +1 -1
  187. package/lib/utils/file-utils.js +1 -1
  188. package/lib/utils/guides-cdn.js +1 -1
  189. package/lib/utils/http-client.js +1 -1
  190. package/lib/utils/is-non-interactive.js +1 -1
  191. package/lib/utils/logger.js +1 -1
  192. package/lib/utils/params.js +1 -1
  193. package/lib/utils/platform.js +1 -1
  194. package/lib/utils/rules-cdn.js +1 -1
  195. package/lib/utils/sleep.js +1 -1
  196. package/lib/utils/template-replacer.js +1 -1
  197. package/lib/utils/version.js +1 -1
  198. package/lib/utils/with-active-cookie.js +1 -1
  199. package/lib/utils/write-cli-side-channel.js +1 -1
  200. package/package.json +1 -1
@@ -1 +1 @@
1
- const a119_0x42e741=a119_0x135a;function a119_0x135a(_0x3d243d,_0x3902e8){_0x3d243d=_0x3d243d-0x1db;const _0x2ae39b=a119_0x2ae3();let _0x135ac1=_0x2ae39b[_0x3d243d];return _0x135ac1;}function a119_0x2ae3(){const _0x507e23=['1645836VYTaBA','sql','4938612eComhp','1124307Wviyjn','trashDir','appCode','filter','validation','15oyiSJH','toISOString','startsWith','length','sqlcode','replace','entries','fromEntries','POST','775416pGizGb','lockFilePath','21pbhHzf','263402CNCRJG','Would\x20delete\x20SQL\x20','sqlRoot','37425190YWyGFj','projectRoot','sqls','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','3776670TDyLrj','delete','Deleted\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','5AWiIGP','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','\x20(local\x20file\x20moved\x20to\x20trash)','str'];a119_0x2ae3=function(){return _0x507e23;};return a119_0x2ae3();}(function(_0x42d4b0,_0x43cc44){const _0x50afa0=a119_0x135a,_0x23b33f=_0x42d4b0();while(!![]){try{const _0x1cae3e=-parseInt(_0x50afa0(0x1fa))/0x1*(-parseInt(_0x50afa0(0x1ee))/0x2)+-parseInt(_0x50afa0(0x1f6))/0x3+-parseInt(_0x50afa0(0x1dc))/0x4+-parseInt(_0x50afa0(0x1e2))/0x5*(parseInt(_0x50afa0(0x1fe))/0x6)+-parseInt(_0x50afa0(0x1ed))/0x7*(parseInt(_0x50afa0(0x1eb))/0x8)+-parseInt(_0x50afa0(0x1dd))/0x9+parseInt(_0x50afa0(0x1f1))/0xa;if(_0x1cae3e===_0x43cc44)break;else _0x23b33f['push'](_0x23b33f['shift']());}catch(_0x383123){_0x23b33f['push'](_0x23b33f['shift']());}}}(a119_0x2ae3,0xa34bb));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a119_0x42e741(0x1db),'command':a119_0x42e741(0x1f7),'description':a119_0x42e741(0x1fb),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x4516b3){const _0x170d61=a119_0x42e741,_0x11e341=loadSqlProjectConfig(_0x4516b3[_0x170d61(0x1df)]),_0x3c2d6e=await readSqlLockFile(_0x11e341[_0x170d61(0x1ec)]);if(!_0x3c2d6e)throw CliErrors[_0x170d61(0x1e1)](_0x170d61(0x1f4));},async 'dryRun'(_0x18780d){const _0x39b28f=a119_0x42e741,_0x54b194=loadSqlProjectConfig(_0x18780d['appCode']),_0x1e0aee=await readSqlLockFile(_0x54b194[_0x39b28f(0x1ec)]);if(!_0x1e0aee)throw CliErrors[_0x39b28f(0x1e1)](_0x39b28f(0x1f4));const {appLock:_0x8f7145}=ensureSqlLockScope(_0x1e0aee,_0x18780d[_0x39b28f(0x1df)],_0x54b194[_0x39b28f(0x1f0)],'delete'),_0xf0db51=_0x18780d[_0x39b28f(0x1fd)](_0x39b28f(0x1e6)),_0x32e524=_0x8f7145['sqls'][_0xf0db51];if(!_0x32e524)throw CliErrors['validation'](_0x39b28f(0x1f9)+_0xf0db51+'\x22.');return{'method':_0x39b28f(0x1ea),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0xf0db51,'id':_0x32e524['remoteId'],'localPath':resolveLocalSqlFilePath(_0x54b194,_0xf0db51,_0x32e524)},'description':_0x39b28f(0x1ef)+_0xf0db51+_0x39b28f(0x1f5)+_0x54b194[_0x39b28f(0x1de)]};},async 'execute'(_0x22ba25){const _0x2d24ab=a119_0x42e741,_0x614d08=loadSqlProjectConfig(_0x22ba25[_0x2d24ab(0x1df)]),_0x1fe390=await readSqlLockFile(_0x614d08[_0x2d24ab(0x1ec)]);if(!_0x1fe390)throw CliErrors[_0x2d24ab(0x1e1)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x4cac3e,appLock:_0x4f8c04}=ensureSqlLockScope(_0x1fe390,_0x22ba25[_0x2d24ab(0x1df)],_0x614d08[_0x2d24ab(0x1f0)],_0x2d24ab(0x1f7)),_0x2a6f7f=_0x22ba25[_0x2d24ab(0x1fd)](_0x2d24ab(0x1e6)),_0x22df2e=_0x4f8c04[_0x2d24ab(0x1f3)][_0x2a6f7f];if(!_0x22df2e)throw CliErrors[_0x2d24ab(0x1e1)](_0x2d24ab(0x1f9)+_0x2a6f7f+'\x22.');await deleteSqlQuery({'id':_0x22df2e['remoteId'],'sqlCode':_0x2a6f7f}),_0x4f8c04['sqls']=Object[_0x2d24ab(0x1e9)](Object[_0x2d24ab(0x1e8)](_0x4f8c04[_0x2d24ab(0x1f3)])[_0x2d24ab(0x1e0)](([_0x2012e7])=>_0x2012e7!==_0x2a6f7f)),_0x4f8c04['lastSync']=new Date()[_0x2d24ab(0x1e3)](),await writeSqlLockFile(_0x614d08[_0x2d24ab(0x1ec)],_0x4cac3e);const _0x608a6d=resolveLocalSqlFilePath(_0x614d08,_0x2a6f7f,_0x22df2e);let _0x4ab4e2;await fileExists(_0x608a6d)&&(_0x4ab4e2=await moveToTrash(_0x614d08[_0x2d24ab(0x1f2)],_0x614d08[_0x2d24ab(0x1de)],_0x608a6d),await cleanupEmptyDirectories(dirname(_0x608a6d),_0x614d08['sqlRootDir']));const _0x180f1d={'deleted':_0x2a6f7f,'remoteId':_0x22df2e['remoteId']};if(_0x4ab4e2)_0x180f1d['trashedTo']=_0x4ab4e2;return{'ok':!![],'data':_0x180f1d,'message':_0x2d24ab(0x1f8)+_0x2a6f7f+(_0x4ab4e2?_0x2d24ab(0x1fc):'')};}};async function moveToTrash(_0x51838b,_0x50932d,_0x5c97a6){const _0x10da82=a119_0x42e741,_0x4081d7=new Date()[_0x10da82(0x1e3)]()[_0x10da82(0x1e7)](/[:.]/g,'-'),_0x523520=relative(_0x51838b,_0x5c97a6),_0x25df53=join(_0x50932d,_0x4081d7,_0x523520);return await mkdir(dirname(_0x25df53),{'recursive':!![]}),await rename(_0x5c97a6,_0x25df53),_0x25df53;}async function cleanupEmptyDirectories(_0x56554e,_0x3758bc){const _0x5a302c=a119_0x42e741;let _0x45001b=resolve(_0x56554e);const _0x468be4=resolve(_0x3758bc);while(_0x45001b[_0x5a302c(0x1e4)](''+_0x468be4+sep)||_0x45001b===_0x468be4){if(_0x45001b===_0x468be4)return;try{const _0x13d8a4=await readdir(_0x45001b);if(_0x13d8a4[_0x5a302c(0x1e5)]>0x0)return;await rmdir(_0x45001b);}catch{return;}_0x45001b=dirname(_0x45001b);}}
1
+ const a119_0x18fec9=a119_0x2a5c;(function(_0x22df2f,_0x3a05a8){const _0x2187bd=a119_0x2a5c,_0x3a5637=_0x22df2f();while(!![]){try{const _0x83ac4c=-parseInt(_0x2187bd(0x1df))/0x1*(-parseInt(_0x2187bd(0x1fd))/0x2)+-parseInt(_0x2187bd(0x1dc))/0x3*(parseInt(_0x2187bd(0x1e6))/0x4)+parseInt(_0x2187bd(0x1e8))/0x5*(parseInt(_0x2187bd(0x1ec))/0x6)+parseInt(_0x2187bd(0x1e9))/0x7*(parseInt(_0x2187bd(0x1fb))/0x8)+parseInt(_0x2187bd(0x1eb))/0x9*(-parseInt(_0x2187bd(0x1ed))/0xa)+parseInt(_0x2187bd(0x1fa))/0xb*(parseInt(_0x2187bd(0x1ea))/0xc)+parseInt(_0x2187bd(0x1e7))/0xd*(parseInt(_0x2187bd(0x1de))/0xe);if(_0x83ac4c===_0x3a05a8)break;else _0x3a5637['push'](_0x3a5637['shift']());}catch(_0x1b14ee){_0x3a5637['push'](_0x3a5637['shift']());}}}(a119_0x5aa7,0xc5f39));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a119_0x2a5c(_0x348cd5,_0x5205b5){_0x348cd5=_0x348cd5-0x1d5;const _0x5aa7df=a119_0x5aa7();let _0x2a5cea=_0x5aa7df[_0x348cd5];return _0x2a5cea;}function a119_0x5aa7(){const _0x3b7b12=['No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','32HWxibI','POST','SQL\x20lock\x20file\x20not\x20found.','\x20(local\x20file\x20moved\x20to\x20trash)','trashDir','Would\x20delete\x20SQL\x20','delete','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','length','lastSync','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','21jddodl','replace','2521526VjIZRe','47123ugvBRN','sqlRoot','appCode','str','sqlcode','filter','trashedTo','717164kduqhW','13lichlf','3480765qwwzbg','595vmvMxt','12xpvlGV','18NijISw','6bcbKjD','5191280uDLXwT','sqlRootDir','high-risk-write','/smartapi/custom/deleteUserCustomSql','lockFilePath','sqls','entries','remoteId','toISOString','Deleted\x20','validation','projectRoot','sql','8112687SPDWhS','69304PXgfMf'];a119_0x5aa7=function(){return _0x3b7b12;};return a119_0x5aa7();}import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a119_0x18fec9(0x1f9),'command':a119_0x18fec9(0x1d7),'description':a119_0x18fec9(0x1d8),'risk':a119_0x18fec9(0x1ef),'flags':[SQLCODE_FLAG],async 'validate'(_0x1830e8){const _0x2d1283=a119_0x18fec9,_0x1483dc=loadSqlProjectConfig(_0x1830e8['appCode']),_0x360bba=await readSqlLockFile(_0x1483dc['lockFilePath']);if(!_0x360bba)throw CliErrors[_0x2d1283(0x1f7)](_0x2d1283(0x1db));},async 'dryRun'(_0x3f93dd){const _0x4f39d6=a119_0x18fec9,_0x4436e3=loadSqlProjectConfig(_0x3f93dd['appCode']),_0x43d22b=await readSqlLockFile(_0x4436e3[_0x4f39d6(0x1f1)]);if(!_0x43d22b)throw CliErrors[_0x4f39d6(0x1f7)](_0x4f39d6(0x1db));const {appLock:_0x42ee08}=ensureSqlLockScope(_0x43d22b,_0x3f93dd[_0x4f39d6(0x1e1)],_0x4436e3[_0x4f39d6(0x1e0)],_0x4f39d6(0x1d7)),_0x12ccc7=_0x3f93dd[_0x4f39d6(0x1e2)](_0x4f39d6(0x1e3)),_0x4c5a4f=_0x42ee08[_0x4f39d6(0x1f2)][_0x12ccc7];if(!_0x4c5a4f)throw CliErrors[_0x4f39d6(0x1f7)](_0x4f39d6(0x1fc)+_0x12ccc7+'\x22.');return{'method':_0x4f39d6(0x1fe),'url':_0x4f39d6(0x1f0),'body':{'sqlCode':_0x12ccc7,'id':_0x4c5a4f['remoteId'],'localPath':resolveLocalSqlFilePath(_0x4436e3,_0x12ccc7,_0x4c5a4f)},'description':_0x4f39d6(0x1d6)+_0x12ccc7+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x4436e3[_0x4f39d6(0x1d5)]};},async 'execute'(_0x9074e5){const _0xb56e25=a119_0x18fec9,_0x258cac=loadSqlProjectConfig(_0x9074e5[_0xb56e25(0x1e1)]),_0x12fcef=await readSqlLockFile(_0x258cac[_0xb56e25(0x1f1)]);if(!_0x12fcef)throw CliErrors[_0xb56e25(0x1f7)](_0xb56e25(0x1ff));const {lockData:_0x4aa29c,appLock:_0x18d15f}=ensureSqlLockScope(_0x12fcef,_0x9074e5[_0xb56e25(0x1e1)],_0x258cac['sqlRoot'],_0xb56e25(0x1d7)),_0x5be864=_0x9074e5['str'](_0xb56e25(0x1e3)),_0x4065bc=_0x18d15f[_0xb56e25(0x1f2)][_0x5be864];if(!_0x4065bc)throw CliErrors[_0xb56e25(0x1f7)](_0xb56e25(0x1fc)+_0x5be864+'\x22.');await deleteSqlQuery({'id':_0x4065bc[_0xb56e25(0x1f4)],'sqlCode':_0x5be864}),_0x18d15f['sqls']=Object['fromEntries'](Object[_0xb56e25(0x1f3)](_0x18d15f[_0xb56e25(0x1f2)])[_0xb56e25(0x1e4)](([_0xd078cd])=>_0xd078cd!==_0x5be864)),_0x18d15f[_0xb56e25(0x1da)]=new Date()[_0xb56e25(0x1f5)](),await writeSqlLockFile(_0x258cac['lockFilePath'],_0x4aa29c);const _0x243f25=resolveLocalSqlFilePath(_0x258cac,_0x5be864,_0x4065bc);let _0x348dff;await fileExists(_0x243f25)&&(_0x348dff=await moveToTrash(_0x258cac[_0xb56e25(0x1f8)],_0x258cac[_0xb56e25(0x1d5)],_0x243f25),await cleanupEmptyDirectories(dirname(_0x243f25),_0x258cac[_0xb56e25(0x1ee)]));const _0x62811a={'deleted':_0x5be864,'remoteId':_0x4065bc[_0xb56e25(0x1f4)]};if(_0x348dff)_0x62811a[_0xb56e25(0x1e5)]=_0x348dff;return{'ok':!![],'data':_0x62811a,'message':_0xb56e25(0x1f6)+_0x5be864+(_0x348dff?_0xb56e25(0x200):'')};}};async function moveToTrash(_0x2d2279,_0x56eeba,_0x100119){const _0x1357c1=a119_0x18fec9,_0x251074=new Date()[_0x1357c1(0x1f5)]()[_0x1357c1(0x1dd)](/[:.]/g,'-'),_0x1e2a50=relative(_0x2d2279,_0x100119),_0x452d68=join(_0x56eeba,_0x251074,_0x1e2a50);return await mkdir(dirname(_0x452d68),{'recursive':!![]}),await rename(_0x100119,_0x452d68),_0x452d68;}async function cleanupEmptyDirectories(_0x1037d3,_0x343e5b){const _0x540553=a119_0x18fec9;let _0x37d704=resolve(_0x1037d3);const _0x40873d=resolve(_0x343e5b);while(_0x37d704['startsWith'](''+_0x40873d+sep)||_0x37d704===_0x40873d){if(_0x37d704===_0x40873d)return;try{const _0x1e700e=await readdir(_0x37d704);if(_0x1e700e[_0x540553(0x1d9)]>0x0)return;await rmdir(_0x37d704);}catch{return;}_0x37d704=dirname(_0x37d704);}}
@@ -1 +1 @@
1
- const a120_0x4b8db7=a120_0xbbf1;(function(_0x4b6708,_0x58cae5){const _0x4291a4=a120_0xbbf1,_0x1eea6c=_0x4b6708();while(!![]){try{const _0x28a4ac=-parseInt(_0x4291a4(0x141))/0x1*(-parseInt(_0x4291a4(0x131))/0x2)+-parseInt(_0x4291a4(0x13e))/0x3+-parseInt(_0x4291a4(0x135))/0x4+parseInt(_0x4291a4(0x140))/0x5*(parseInt(_0x4291a4(0x13c))/0x6)+parseInt(_0x4291a4(0x13a))/0x7+-parseInt(_0x4291a4(0x13b))/0x8*(-parseInt(_0x4291a4(0x142))/0x9)+parseInt(_0x4291a4(0x13f))/0xa*(parseInt(_0x4291a4(0x147))/0xb);if(_0x28a4ac===_0x58cae5)break;else _0x1eea6c['push'](_0x1eea6c['shift']());}catch(_0xe23c66){_0x1eea6c['push'](_0x1eea6c['shift']());}}}(a120_0x5086,0xcce06));function a120_0x5086(){const _0x34223f=['bool','dbId','1108324lbcutK','1694624rfgwiA','1707012UVHXTo','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','3029709Aykyor','4571940IZzCsj','10qSGNWr','31805WhNZie','9MddXSa','appCode','sqlContent','Return\x20full\x20raw\x20SQL\x20query\x20object','detail','11zrXeDe','74XWPRsV','verbose','str','sqlCode','2896264lJHpNM','sqlcode','read'];a120_0x5086=function(){return _0x34223f;};return a120_0x5086();}import{getSqlQueryInfo}from'../../core/api-client.js';function a120_0xbbf1(_0x5b2ca3,_0x1be828){_0x5b2ca3=_0x5b2ca3-0x131;const _0x508600=a120_0x5086();let _0xbbf14b=_0x508600[_0x5b2ca3];return _0xbbf14b;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a120_0x4b8db7(0x146),'description':a120_0x4b8db7(0x13d),'risk':a120_0x4b8db7(0x137),'flags':[SQLCODE_FLAG,{'name':a120_0x4b8db7(0x132),'type':'boolean','description':a120_0x4b8db7(0x145)}],async 'execute'(_0x1ccbf8){const _0x34ca36=a120_0x4b8db7,_0x2d0c2b=await getSqlQueryInfo(_0x1ccbf8[_0x34ca36(0x143)],_0x1ccbf8[_0x34ca36(0x133)](_0x34ca36(0x136))),_0x3f13b5=_0x1ccbf8[_0x34ca36(0x138)]('verbose');if(_0x3f13b5)return{'ok':!![],'data':_0x2d0c2b};const _0x1295e3=_0x2d0c2b[_0x34ca36(0x139)]?await getDbName(_0x1ccbf8[_0x34ca36(0x143)],_0x2d0c2b[_0x34ca36(0x139)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x2d0c2b[_0x34ca36(0x134)],'sqlName':_0x2d0c2b['sqlName'],'db':_0x1295e3?_0x1295e3+'\x20('+_0x2d0c2b[_0x34ca36(0x139)]+')':_0x2d0c2b[_0x34ca36(0x139)]??'','description':_0x2d0c2b['description']??'','sqlContent':_0x2d0c2b[_0x34ca36(0x144)]??''}};}};
1
+ const a120_0x282548=a120_0x348d;(function(_0x14b2e0,_0x5f5585){const _0x1d6d5d=a120_0x348d,_0x2da9e1=_0x14b2e0();while(!![]){try{const _0xd90f2c=parseInt(_0x1d6d5d(0x89))/0x1*(parseInt(_0x1d6d5d(0x7b))/0x2)+-parseInt(_0x1d6d5d(0x78))/0x3+-parseInt(_0x1d6d5d(0x81))/0x4*(parseInt(_0x1d6d5d(0x84))/0x5)+parseInt(_0x1d6d5d(0x80))/0x6+parseInt(_0x1d6d5d(0x82))/0x7+parseInt(_0x1d6d5d(0x87))/0x8*(parseInt(_0x1d6d5d(0x7c))/0x9)+-parseInt(_0x1d6d5d(0x7a))/0xa;if(_0xd90f2c===_0x5f5585)break;else _0x2da9e1['push'](_0x2da9e1['shift']());}catch(_0x1c2fe6){_0x2da9e1['push'](_0x2da9e1['shift']());}}}(a120_0x25cd,0x60216));function a120_0x25cd(){const _0x4cc02b=['15540axcykF','4774357OMyqEO','str','950oUafJz','dbId','verbose','562696IGVVVZ','read','592238nbkRQn','description','bool','1589022XoupFr','sqlName','813800jAtOyL','2WTPgGi','27hXRUpH','appCode','sql','boolean','1545924KAcFRK'];a120_0x25cd=function(){return _0x4cc02b;};return a120_0x25cd();}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a120_0x348d(_0x2f233a,_0x5cf131){_0x2f233a=_0x2f233a-0x78;const _0x25cd01=a120_0x25cd();let _0x348de1=_0x25cd01[_0x2f233a];return _0x348de1;}export const sqlDetail={'service':a120_0x282548(0x7e),'command':'detail','description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a120_0x282548(0x88),'flags':[SQLCODE_FLAG,{'name':a120_0x282548(0x86),'type':a120_0x282548(0x7f),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x2511aa){const _0x4dd0ae=a120_0x282548,_0x3f5d13=await getSqlQueryInfo(_0x2511aa[_0x4dd0ae(0x7d)],_0x2511aa[_0x4dd0ae(0x83)]('sqlcode')),_0x3b92c4=_0x2511aa[_0x4dd0ae(0x8b)](_0x4dd0ae(0x86));if(_0x3b92c4)return{'ok':!![],'data':_0x3f5d13};const _0x5bf3e8=_0x3f5d13[_0x4dd0ae(0x85)]?await getDbName(_0x2511aa['appCode'],_0x3f5d13[_0x4dd0ae(0x85)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3f5d13['sqlCode'],'sqlName':_0x3f5d13[_0x4dd0ae(0x79)],'db':_0x5bf3e8?_0x5bf3e8+'\x20('+_0x3f5d13[_0x4dd0ae(0x85)]+')':_0x3f5d13[_0x4dd0ae(0x85)]??'','description':_0x3f5d13[_0x4dd0ae(0x8a)]??'','sqlContent':_0x3f5d13['sqlContent']??''}};}};
@@ -1 +1 @@
1
- const a121_0x5f1f98=a121_0x1fd4;(function(_0x50f85b,_0x310d94){const _0x53d411=a121_0x1fd4,_0x1529d3=_0x50f85b();while(!![]){try{const _0x5acb44=parseInt(_0x53d411(0x8b))/0x1+parseInt(_0x53d411(0x9b))/0x2*(parseInt(_0x53d411(0x98))/0x3)+-parseInt(_0x53d411(0x93))/0x4+-parseInt(_0x53d411(0x8e))/0x5*(-parseInt(_0x53d411(0x90))/0x6)+parseInt(_0x53d411(0x99))/0x7+parseInt(_0x53d411(0x9d))/0x8*(parseInt(_0x53d411(0x9c))/0x9)+-parseInt(_0x53d411(0x9f))/0xa;if(_0x5acb44===_0x310d94)break;else _0x1529d3['push'](_0x1529d3['shift']());}catch(_0x27d188){_0x1529d3['push'](_0x1529d3['shift']());}}}(a121_0x3070,0xbd11c));function a121_0x1fd4(_0x214ab6,_0x45bb91){_0x214ab6=_0x214ab6-0x87;const _0x307067=a121_0x3070();let _0x1fd486=_0x307067[_0x214ab6];return _0x1fd486;}import{executeSql}from'../../core/api-client.js';function a121_0x3070(){const _0x415738=['10lnnMlO','execSuccess','1522272KEDgzp','Returned\x20','length','1544304wtDblL','appCode','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','SQL\x20execution\x20failed','execResult','4203759scXfhv','5201875aywTHG','sql','2vnjmzP','9KdIYVM','9330024XRjozp','read','37063350LxgQPM','string','sqlcode','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','\x20row(s)\x20in\x20','1048784YnAcVz','params','isArray'];a121_0x3070=function(){return _0x415738;};return a121_0x3070();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a121_0x5f1f98(0x9a),'command':'exec','description':a121_0x5f1f98(0x89),'risk':a121_0x5f1f98(0x9e),'flags':[SQLCODE_FLAG,{'name':'params','type':a121_0x5f1f98(0x87),'description':a121_0x5f1f98(0x95)}],async 'execute'(_0x3f9a5e){const _0x313800=a121_0x5f1f98,_0x496d12=parseJsonParams(_0x3f9a5e['str'](_0x313800(0x8c))),_0x581f80=Date['now'](),_0x51f425=await executeSql(_0x3f9a5e[_0x313800(0x94)],_0x3f9a5e['str'](_0x313800(0x88)),_0x496d12),_0x238f2d=Date['now']()-_0x581f80,_0x426cd9=_0x51f425?.[_0x313800(0x97)]??_0x51f425,_0x5e7fde=_0x51f425?.[_0x313800(0x8f)]??!![];if(!_0x5e7fde)return{'ok':![],'data':{'error':_0x51f425?.['execError']||_0x313800(0x96),'elapsed':_0x238f2d},'message':_0x313800(0x96)};const _0xefe120=Array[_0x313800(0x8d)](_0x426cd9)?_0x426cd9:[];return{'ok':!![],'data':{'rows':_0xefe120,'rowCount':_0xefe120[_0x313800(0x92)],'elapsed':_0x238f2d},'message':_0x313800(0x91)+_0xefe120[_0x313800(0x92)]+_0x313800(0x8a)+_0x238f2d+'ms'};}};
1
+ const a121_0x5c8ed9=a121_0x2f75;(function(_0x5342ec,_0x3d57f5){const _0x85e8a4=a121_0x2f75,_0x38a260=_0x5342ec();while(!![]){try{const _0x17f36f=-parseInt(_0x85e8a4(0xdb))/0x1+parseInt(_0x85e8a4(0xd6))/0x2*(-parseInt(_0x85e8a4(0xdc))/0x3)+parseInt(_0x85e8a4(0xee))/0x4*(-parseInt(_0x85e8a4(0xea))/0x5)+parseInt(_0x85e8a4(0xeb))/0x6*(-parseInt(_0x85e8a4(0xe7))/0x7)+-parseInt(_0x85e8a4(0xe5))/0x8*(-parseInt(_0x85e8a4(0xd5))/0x9)+-parseInt(_0x85e8a4(0xed))/0xa*(parseInt(_0x85e8a4(0xe1))/0xb)+parseInt(_0x85e8a4(0xe9))/0xc;if(_0x17f36f===_0x3d57f5)break;else _0x38a260['push'](_0x38a260['shift']());}catch(_0x3a0823){_0x38a260['push'](_0x38a260['shift']());}}}(a121_0x22ec,0x2b3f7));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a121_0x2f75(_0x99c212,_0x23ebf1){_0x99c212=_0x99c212-0xd3;const _0x22ecbb=a121_0x22ec();let _0x2f75c0=_0x22ecbb[_0x99c212];return _0x2f75c0;}import{parseJsonParams}from'../../utils/params.js';function a121_0x22ec(){const _0x19e621=['1306SmBFCq','params','appCode','execSuccess','sqlcode','184845UPpydR','1212oZnnXH','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','now','\x20row(s)\x20in\x20','sql','44cMHzzd','length','execError','isArray','56hXZGNN','exec','7iOhptD','str','15114276CDgHCG','230730MYdgDI','2030676aZfmii','read','683260VnEXyO','28dDUmAc','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execResult','387063rGbCla'];a121_0x22ec=function(){return _0x19e621;};return a121_0x22ec();}export const sqlExec={'service':a121_0x5c8ed9(0xe0),'command':a121_0x5c8ed9(0xe6),'description':a121_0x5c8ed9(0xd3),'risk':a121_0x5c8ed9(0xec),'flags':[SQLCODE_FLAG,{'name':'params','type':'string','description':a121_0x5c8ed9(0xdd)}],async 'execute'(_0x12c0a1){const _0x19278a=a121_0x5c8ed9,_0x519867=parseJsonParams(_0x12c0a1[_0x19278a(0xe8)](_0x19278a(0xd7))),_0x379991=Date[_0x19278a(0xde)](),_0x4c6d1f=await executeSql(_0x12c0a1[_0x19278a(0xd8)],_0x12c0a1[_0x19278a(0xe8)](_0x19278a(0xda)),_0x519867),_0x903de7=Date[_0x19278a(0xde)]()-_0x379991,_0x30d05e=_0x4c6d1f?.[_0x19278a(0xd4)]??_0x4c6d1f,_0x42ce38=_0x4c6d1f?.[_0x19278a(0xd9)]??!![];if(!_0x42ce38)return{'ok':![],'data':{'error':_0x4c6d1f?.[_0x19278a(0xe3)]||'SQL\x20execution\x20failed','elapsed':_0x903de7},'message':'SQL\x20execution\x20failed'};const _0x444278=Array[_0x19278a(0xe4)](_0x30d05e)?_0x30d05e:[];return{'ok':!![],'data':{'rows':_0x444278,'rowCount':_0x444278['length'],'elapsed':_0x903de7},'message':'Returned\x20'+_0x444278[_0x19278a(0xe2)]+_0x19278a(0xdf)+_0x903de7+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x1ccec4,_0x51a0f8){const _0x4f45d1=a122_0x2617,_0x1fac68=_0x1ccec4();while(!![]){try{const _0xa4351d=parseInt(_0x4f45d1(0xa5))/0x1+parseInt(_0x4f45d1(0xa2))/0x2*(-parseInt(_0x4f45d1(0x9d))/0x3)+parseInt(_0x4f45d1(0xa6))/0x4+-parseInt(_0x4f45d1(0xa0))/0x5+parseInt(_0x4f45d1(0xa1))/0x6*(-parseInt(_0x4f45d1(0xa4))/0x7)+parseInt(_0x4f45d1(0x9f))/0x8+-parseInt(_0x4f45d1(0x9e))/0x9*(-parseInt(_0x4f45d1(0xa3))/0xa);if(_0xa4351d===_0x51a0f8)break;else _0x1fac68['push'](_0x1fac68['shift']());}catch(_0x531554){_0x1fac68['push'](_0x1fac68['shift']());}}}(a122_0x3c39,0x7a623));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a122_0x2617(_0x1fec78,_0x10af11){_0x1fec78=_0x1fec78-0x9d;const _0x3c394e=a122_0x3c39();let _0x2617c4=_0x3c394e[_0x1fec78];return _0x2617c4;}import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a122_0x3c39(){const _0xb24e49=['18390lWITZU','301pfvxwQ','157665iRJXVz','1745788NCfvGO','105177zxPmqy','1953wKWmkY','2645024aBCTXc','1338325sbmELI','38286xjZefW','16uZLesR'];a122_0x3c39=function(){return _0xb24e49;};return a122_0x3c39();}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(_0x1fe96e,_0x3f226e){const _0x4d5793=a122_0x4943,_0x4e5f9f=_0x1fe96e();while(!![]){try{const _0x12c3b1=-parseInt(_0x4d5793(0xa4))/0x1*(parseInt(_0x4d5793(0xab))/0x2)+parseInt(_0x4d5793(0xa8))/0x3*(-parseInt(_0x4d5793(0xa7))/0x4)+parseInt(_0x4d5793(0xad))/0x5+parseInt(_0x4d5793(0xac))/0x6+-parseInt(_0x4d5793(0xa3))/0x7+parseInt(_0x4d5793(0xa5))/0x8*(parseInt(_0x4d5793(0xa6))/0x9)+parseInt(_0x4d5793(0xa9))/0xa*(parseInt(_0x4d5793(0xaa))/0xb);if(_0x12c3b1===_0x3f226e)break;else _0x4e5f9f['push'](_0x4e5f9f['shift']());}catch(_0x24aeeb){_0x4e5f9f['push'](_0x4e5f9f['shift']());}}}(a122_0x6541,0xd1369));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';function a122_0x4943(_0x2632b0,_0x19ae94){_0x2632b0=_0x2632b0-0xa3;const _0x6541b1=a122_0x6541();let _0x4943a1=_0x6541b1[_0x2632b0];return _0x4943a1;}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a122_0x6541(){const _0x4141f7=['94kiMWpl','8157282FMHxOF','5842310XPuCHi','1074458Sfwyiu','27298upUKUa','1267448wgtnyr','9TSDGfs','980IrwKLL','20127oMgpDm','12507020rfVIKp','11KQWoCx'];a122_0x6541=function(){return _0x4141f7;};return a122_0x6541();}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 +1 @@
1
- function a123_0x308b(){const _0x1f2549=['Page\x20size','Found\x20','boolean','3329034xgNbLG','map','No\x20custom\x20SQL\x20queries\x20found.','dbId','all','List\x20custom\x20SQL\x20queries','4209390fTUcSC','sqlCode','totalCount','558060McThcP','\x20SQL\x20queries\x20(total:\x20','num','number','pagesize','1335050haUIZS','sqlName','page','name','1GeosOB','sqlcode','153FbendZ','466296vIssrk','4gNrYJd','tableData','str','length','11133927YrmywD','description','7090854JXQcRw','paging','verbose','Filter\x20by\x20SQL\x20name','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','appCode'];a123_0x308b=function(){return _0x1f2549;};return a123_0x308b();}function a123_0x5f25(_0x13f36d,_0x44392e){_0x13f36d=_0x13f36d-0xf8;const _0x308b61=a123_0x308b();let _0x5f25f5=_0x308b61[_0x13f36d];return _0x5f25f5;}const a123_0xb46b84=a123_0x5f25;(function(_0x1d86ca,_0x46e095){const _0xb7c119=a123_0x5f25,_0xa7beb9=_0x1d86ca();while(!![]){try{const _0x217b1c=parseInt(_0xb7c119(0x119))/0x1*(parseInt(_0xb7c119(0x115))/0x2)+parseInt(_0xb7c119(0x107))/0x3*(-parseInt(_0xb7c119(0xf8))/0x4)+-parseInt(_0xb7c119(0x110))/0x5+parseInt(_0xb7c119(0xfe))/0x6+parseInt(_0xb7c119(0xfc))/0x7+-parseInt(_0xb7c119(0x11c))/0x8*(parseInt(_0xb7c119(0x11b))/0x9)+-parseInt(_0xb7c119(0x10d))/0xa;if(_0x217b1c===_0x46e095)break;else _0xa7beb9['push'](_0xa7beb9['shift']());}catch(_0x542c66){_0xa7beb9['push'](_0xa7beb9['shift']());}}}(a123_0x308b,0xc4f83));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':'list','description':a123_0xb46b84(0x10c),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a123_0xb46b84(0x118),'type':'string','description':a123_0xb46b84(0x101)},{'name':'page','type':a123_0xb46b84(0x113),'description':'Page\x20number','default':0x1},{'name':a123_0xb46b84(0x114),'type':a123_0xb46b84(0x113),'description':a123_0xb46b84(0x104)},{'name':a123_0xb46b84(0x100),'type':a123_0xb46b84(0x106),'description':a123_0xb46b84(0x102)}],async 'execute'(_0x1adaf5){const _0x24bfc7=a123_0xb46b84,_0x1ac52f=await listSqlQueries(_0x1adaf5[_0x24bfc7(0x103)],{'sqlCode':_0x1adaf5['str'](_0x24bfc7(0x11a))||undefined,'sqlName':_0x1adaf5[_0x24bfc7(0xfa)](_0x24bfc7(0x118))||undefined,'currentPage':_0x1adaf5[_0x24bfc7(0x112)](_0x24bfc7(0x117)),'pageSize':_0x1adaf5[_0x24bfc7(0x112)](_0x24bfc7(0x114),0x32)}),_0x28e727=_0x1adaf5['bool'](_0x24bfc7(0x100)),_0x4c21b6=_0x1ac52f[_0x24bfc7(0xf9)]??[],_0x5d7869=_0x1ac52f[_0x24bfc7(0xff)]?.[_0x24bfc7(0x10f)]??_0x4c21b6[_0x24bfc7(0xfb)];let _0x4d1219;return _0x28e727?_0x4d1219=_0x4c21b6:_0x4d1219=await Promise[_0x24bfc7(0x10b)](_0x4c21b6[_0x24bfc7(0x108)](async _0x4620e9=>{const _0x1bf1ef=_0x24bfc7;let _0x2235c6;try{_0x2235c6=_0x4620e9['dbId']?await getDbName(_0x1adaf5['appCode'],_0x4620e9[_0x1bf1ef(0x10a)]):undefined;}catch{}return{'sqlCode':_0x4620e9[_0x1bf1ef(0x10e)],'sqlName':_0x4620e9[_0x1bf1ef(0x116)],'description':_0x4620e9[_0x1bf1ef(0xfd)]??'','db':_0x2235c6?_0x2235c6+'\x20('+_0x4620e9[_0x1bf1ef(0x10a)]+')':_0x4620e9[_0x1bf1ef(0x10a)]??''};})),{'ok':!![],'data':_0x4d1219,'message':_0x4c21b6[_0x24bfc7(0xfb)]===0x0?_0x24bfc7(0x109):_0x24bfc7(0x105)+_0x4c21b6[_0x24bfc7(0xfb)]+_0x24bfc7(0x111)+_0x5d7869+').'};}};
1
+ const a123_0x12ef94=a123_0x531c;(function(_0x53a71c,_0x370899){const _0x3a375b=a123_0x531c,_0x3d0171=_0x53a71c();while(!![]){try{const _0x5a9e4a=-parseInt(_0x3a375b(0xac))/0x1+parseInt(_0x3a375b(0xb2))/0x2*(parseInt(_0x3a375b(0xb8))/0x3)+parseInt(_0x3a375b(0x9c))/0x4*(-parseInt(_0x3a375b(0xab))/0x5)+parseInt(_0x3a375b(0xa8))/0x6+-parseInt(_0x3a375b(0xbb))/0x7+parseInt(_0x3a375b(0xb9))/0x8*(parseInt(_0x3a375b(0xb5))/0x9)+-parseInt(_0x3a375b(0x9e))/0xa;if(_0x5a9e4a===_0x370899)break;else _0x3d0171['push'](_0x3d0171['shift']());}catch(_0x235212){_0x3d0171['push'](_0x3d0171['shift']());}}}(a123_0x2e8c,0x8532f));function a123_0x531c(_0x3a8dee,_0x2f7c11){_0x3a8dee=_0x3a8dee-0x9b;const _0x2e8c58=a123_0x2e8c();let _0x531c84=_0x2e8c58[_0x3a8dee];return _0x531c84;}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a123_0x2e8c(){const _0x4eee7a=['all','totalCount','2844DWoqas','verbose','Filter\x20by\x20SQL\x20name','177DlinAA','7664RhbfyK','\x20SQL\x20queries\x20(total:\x20','604205KFKqIA','read','name','sqlcode','page','581752Iecbyc','num','11715930LAYOUO','Page\x20size','bool','List\x20custom\x20SQL\x20queries','appCode','dbId','description','string','number','pagesize','6166314LhwUEj','boolean','map','5ZoaCBL','231472lCHeOo','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','str','sql','sqlName','length','28812XvpvGl'];a123_0x2e8c=function(){return _0x4eee7a;};return a123_0x2e8c();}export const sqlList={'service':a123_0x12ef94(0xaf),'command':'list','description':a123_0x12ef94(0xa1),'risk':a123_0x12ef94(0xbc),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a123_0x12ef94(0xbd),'type':a123_0x12ef94(0xa5),'description':a123_0x12ef94(0xb7)},{'name':a123_0x12ef94(0x9b),'type':a123_0x12ef94(0xa6),'description':'Page\x20number','default':0x1},{'name':a123_0x12ef94(0xa7),'type':'number','description':a123_0x12ef94(0x9f)},{'name':a123_0x12ef94(0xb6),'type':a123_0x12ef94(0xa9),'description':a123_0x12ef94(0xad)}],async 'execute'(_0x30bbc4){const _0x153a30=a123_0x12ef94,_0x1367bf=await listSqlQueries(_0x30bbc4['appCode'],{'sqlCode':_0x30bbc4[_0x153a30(0xae)](_0x153a30(0xbe))||undefined,'sqlName':_0x30bbc4[_0x153a30(0xae)]('name')||undefined,'currentPage':_0x30bbc4[_0x153a30(0x9d)](_0x153a30(0x9b)),'pageSize':_0x30bbc4[_0x153a30(0x9d)]('pagesize',0x32)}),_0x5e6099=_0x30bbc4[_0x153a30(0xa0)]('verbose'),_0xef8002=_0x1367bf['tableData']??[],_0x3a8c42=_0x1367bf['paging']?.[_0x153a30(0xb4)]??_0xef8002[_0x153a30(0xb1)];let _0x1a7098;return _0x5e6099?_0x1a7098=_0xef8002:_0x1a7098=await Promise[_0x153a30(0xb3)](_0xef8002[_0x153a30(0xaa)](async _0x5536c0=>{const _0x27e8c6=_0x153a30;let _0x1ba59e;try{_0x1ba59e=_0x5536c0[_0x27e8c6(0xa3)]?await getDbName(_0x30bbc4[_0x27e8c6(0xa2)],_0x5536c0[_0x27e8c6(0xa3)]):undefined;}catch{}return{'sqlCode':_0x5536c0['sqlCode'],'sqlName':_0x5536c0[_0x27e8c6(0xb0)],'description':_0x5536c0[_0x27e8c6(0xa4)]??'','db':_0x1ba59e?_0x1ba59e+'\x20('+_0x5536c0[_0x27e8c6(0xa3)]+')':_0x5536c0[_0x27e8c6(0xa3)]??''};})),{'ok':!![],'data':_0x1a7098,'message':_0xef8002[_0x153a30(0xb1)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0xef8002[_0x153a30(0xb1)]+_0x153a30(0xba)+_0x3a8c42+').'};}};
@@ -1 +1 @@
1
- const a124_0x1be652=a124_0x528c;(function(_0x516347,_0x2124e8){const _0x30cfc3=a124_0x528c,_0x46056d=_0x516347();while(!![]){try{const _0x14fc51=parseInt(_0x30cfc3(0xc3))/0x1+parseInt(_0x30cfc3(0x96))/0x2*(parseInt(_0x30cfc3(0xbb))/0x3)+parseInt(_0x30cfc3(0xa7))/0x4+parseInt(_0x30cfc3(0xc4))/0x5+parseInt(_0x30cfc3(0xcd))/0x6*(parseInt(_0x30cfc3(0xbc))/0x7)+-parseInt(_0x30cfc3(0xa4))/0x8*(-parseInt(_0x30cfc3(0xb1))/0x9)+-parseInt(_0x30cfc3(0xad))/0xa;if(_0x14fc51===_0x2124e8)break;else _0x46056d['push'](_0x46056d['shift']());}catch(_0x279aff){_0x46056d['push'](_0x46056d['shift']());}}}(a124_0x486a,0xba683));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a124_0x528c(_0x3f6cb8,_0x580e59){_0x3f6cb8=_0x3f6cb8-0x8f;const _0x486a1a=a124_0x486a();let _0x528ca4=_0x486a1a[_0x3f6cb8];return _0x528ca4;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a124_0x486a(){const _0x16a9fa=['sqlRoot','split','would_pull','381QvjiNZ','2360687xMwMil','lockFilePath','force','appCode','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','totalCount','Would\x20pull\x20','98097ZZXqeE','4455205DgjnNy','apps','join','No\x20remote\x20SQL\x20queries\x20matched.','dbId','sqlcode','replace','\x20failed','sql','24evJTCu','Pull\x20complete:\x20','Filter\x20by\x20SQL\x20display\x20name','tableData','catch','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','description','\x20SQL\x20file(s)\x20into\x20','sqlContent','path','cancelled','skipped','11202IIILks','sqlCode','toISOString','Force\x20pull\x20cancelled.','utf8','trimStart','test','local\x20differs\x20from\x20remote','\x20skipped,\x20','string','bool','sqlRootDir','\x20written,\x20','message','9259144nCImLI','sqlName','str','1829896GoyXuv','length','conflict','sqls','boolean','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','39007730ZQzZFV','nonInteractive','push','name','9vOdvjk','write','pull','mybatisXml','unchanged','paging','lastSync'];a124_0x486a=function(){return _0x16a9fa;};return a124_0x486a();}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(_0x59264b,_0x595a96){const _0x7736f3=a124_0x528c,_0x695b6=[];let _0xeb07d6=0x1;while(!![]){const _0x15245e=await listSqlQueries(_0x59264b,{'currentPage':_0xeb07d6,'pageSize':PAGE_SIZE,'sqlCode':_0x595a96['sqlCode'],'sqlName':_0x595a96[_0x7736f3(0xa5)]}),_0x2dcbb0=_0x15245e[_0x7736f3(0xd0)]??[];_0x695b6['push'](..._0x2dcbb0);if(_0x2dcbb0[_0x7736f3(0xa8)]===0x0)break;const _0x52deae=_0x15245e[_0x7736f3(0xb6)]?.[_0x7736f3(0xc1)];if(_0x52deae!=null?_0x695b6[_0x7736f3(0xa8)]>=_0x52deae:_0x2dcbb0[_0x7736f3(0xa8)]<PAGE_SIZE)break;_0xeb07d6++;}return _0x695b6;}async function ensureSqlContent(_0x594563){const _0x328095=a124_0x528c;if(_0x594563[_0x328095(0x92)]!=null&&String(_0x594563[_0x328095(0x92)])[_0x328095(0xa8)]>0x0)return _0x594563;return getSqlQueryDetail(_0x594563['sqlCode']);}export const sqlPull={'service':a124_0x1be652(0xcc),'command':a124_0x1be652(0xb3),'description':a124_0x1be652(0xac),'risk':a124_0x1be652(0xb2),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a124_0x1be652(0xb0),'type':a124_0x1be652(0x9f),'description':a124_0x1be652(0xcf)},{'name':'force','type':a124_0x1be652(0xab),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x792d74){const _0x334afb=a124_0x1be652,_0x4d2b0c=loadSqlProjectConfig(_0x792d74[_0x334afb(0xbf)]),_0x59c013=await readSqlLockFile(_0x4d2b0c[_0x334afb(0xbd)]),{appLock:_0x35ad7b}=ensureSqlLockScope(_0x59c013??createEmptySqlLock(),_0x4d2b0c[_0x334afb(0xbf)],_0x4d2b0c['sqlRoot'],_0x334afb(0xb3)),_0x688c4b=await fetchAllSqlQueries(_0x792d74['appCode'],{'sqlCode':_0x792d74['str'](_0x334afb(0xc9))||undefined,'sqlName':_0x792d74['str'](_0x334afb(0xb0))||undefined}),_0x21ae8c=[];for(const _0x903819 of _0x688c4b){const _0x4a9e9e=await ensureSqlContent(_0x903819),_0x1a1c88=ensureRemoteSqlContent(_0x4a9e9e),_0x293016=detectModeFromSql(_0x4a9e9e),_0x5f34a4=_0x4a9e9e[_0x334afb(0xc8)]?await getDbName(_0x792d74['appCode'],Number(_0x4a9e9e[_0x334afb(0xc8)]))[_0x334afb(0xd1)](()=>undefined):undefined,_0x1bb9b4=buildLocalSqlFileContent({'sqlCode':_0x4a9e9e[_0x334afb(0x97)],'sqlName':_0x4a9e9e[_0x334afb(0xa5)],'dbId':_0x4a9e9e[_0x334afb(0xc8)]},_0x1a1c88,{'dbName':_0x5f34a4,'mode':_0x293016,'syncedAt':new Date()[_0x334afb(0x98)](),'description':_0x4a9e9e[_0x334afb(0x90)]}),_0x266cc6=buildSqlLockEntry(_0x4a9e9e,_0x1a1c88,'',{'dbName':_0x5f34a4}),_0x37eaa5=resolveLocalSqlFilePath(_0x4d2b0c,_0x4a9e9e[_0x334afb(0x97)],_0x266cc6);let _0x8d3f0b=_0x334afb(0xba),_0x2d8c3e;if(await fileExists(_0x37eaa5)){const _0x12327f=await readFile(_0x37eaa5,_0x334afb(0x9a));isEquivalentPulledSqlFile(_0x12327f,_0x1bb9b4,_0x293016)?(_0x8d3f0b=_0x334afb(0x95),_0x2d8c3e=_0x334afb(0xb5)):(_0x8d3f0b=_0x334afb(0xa9),_0x2d8c3e=_0x334afb(0xc0));}_0x21ae8c['push']({'sqlCode':_0x4a9e9e[_0x334afb(0x97)],'sqlName':_0x4a9e9e['sqlName'],'filePath':_0x37eaa5,'status':_0x8d3f0b,'reason':_0x2d8c3e});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x792d74[_0x334afb(0xbf)],'sqlCode':_0x792d74[_0x334afb(0xa6)](_0x334afb(0xc9))||null,'sqlName':_0x792d74[_0x334afb(0xa6)](_0x334afb(0xb0))||null,'files':_0x21ae8c},'description':_0x334afb(0xc2)+_0x21ae8c[_0x334afb(0xa8)]+_0x334afb(0x91)+_0x4d2b0c[_0x334afb(0xa1)]};},async 'execute'(_0x1c99c3){const _0xfe43ae=a124_0x1be652,_0x55a285=loadSqlProjectConfig(_0x1c99c3[_0xfe43ae(0xbf)]),_0x35bdd8=await readSqlLockFile(_0x55a285[_0xfe43ae(0xbd)]),{lockData:_0x20c5ef,appLock:_0x595e62}=ensureSqlLockScope(_0x35bdd8??createEmptySqlLock(),_0x55a285[_0xfe43ae(0xbf)],_0x55a285[_0xfe43ae(0xb8)],_0xfe43ae(0xb3)),_0x358ba1=_0x1c99c3[_0xfe43ae(0xa0)](_0xfe43ae(0xbe)),_0x14b3b6=await fetchAllSqlQueries(_0x1c99c3[_0xfe43ae(0xbf)],{'sqlCode':_0x1c99c3[_0xfe43ae(0xa6)](_0xfe43ae(0xc9))||undefined,'sqlName':_0x1c99c3['str'](_0xfe43ae(0xb0))||undefined});if(_0x14b3b6[_0xfe43ae(0xa8)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xfe43ae(0xc7)};const _0x2478dc=[],_0x52c691=[];for(const _0x4dbe06 of _0x14b3b6){try{_0x2478dc[_0xfe43ae(0xaf)](await ensureSqlContent(_0x4dbe06));}catch(_0x3ccea3){_0x52c691[_0xfe43ae(0xaf)]({'sqlCode':_0x4dbe06[_0xfe43ae(0x97)],'error':_0x3ccea3 instanceof Error?_0x3ccea3['message']:String(_0x3ccea3)});}}if(_0x358ba1&&!_0x1c99c3[_0xfe43ae(0xae)]){let _0x3eac74=![];for(const _0x26f2f1 of _0x2478dc){const _0x18b7c6=detectModeFromSql(_0x26f2f1),_0x2830e9=_0x26f2f1[_0xfe43ae(0xc8)]?await getDbName(_0x1c99c3[_0xfe43ae(0xbf)],Number(_0x26f2f1[_0xfe43ae(0xc8)]))['catch'](()=>undefined):undefined,_0x136faa=buildLocalSqlFileContent({'sqlCode':_0x26f2f1[_0xfe43ae(0x97)],'sqlName':_0x26f2f1[_0xfe43ae(0xa5)],'dbId':_0x26f2f1[_0xfe43ae(0xc8)]},ensureRemoteSqlContent(_0x26f2f1),{'dbName':_0x2830e9,'mode':_0x18b7c6,'syncedAt':new Date()['toISOString'](),'description':_0x26f2f1['description']}),_0x36e327=resolveLocalSqlFilePath(_0x55a285,_0x26f2f1['sqlCode'],buildSqlLockEntry(_0x26f2f1,ensureRemoteSqlContent(_0x26f2f1),'',{'dbName':_0x2830e9}));if(await fileExists(_0x36e327)){const _0x400e6b=await readFile(_0x36e327,_0xfe43ae(0x9a));if(!isEquivalentPulledSqlFile(_0x400e6b,_0x136faa,_0x18b7c6)){_0x3eac74=!![];break;}}}if(_0x3eac74){const _0x22e9d=await confirmForceOverwrite(_0xfe43ae(0x8f));if(!_0x22e9d)throw CliErrors[_0xfe43ae(0x94)](_0xfe43ae(0x99));}}const _0x14b2e4=cloneSqlLockData(_0x20c5ef),_0x2536bf=_0x14b2e4[_0xfe43ae(0xc5)][_0x55a285['appCode']],_0x1cf63d=[],_0x2d4484=[];for(const _0x589090 of _0x2478dc){const _0x1e9549=_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]],_0x51448e=ensureRemoteSqlContent(_0x589090),_0x3aa174=detectModeFromSql(_0x589090),_0x3af6da=_0x589090[_0xfe43ae(0xc8)]?await getDbName(_0x1c99c3[_0xfe43ae(0xbf)],Number(_0x589090[_0xfe43ae(0xc8)]))[_0xfe43ae(0xd1)](()=>undefined):undefined,_0x10c753=buildLocalSqlFileContent({'sqlCode':_0x589090[_0xfe43ae(0x97)],'sqlName':_0x589090[_0xfe43ae(0xa5)],'dbId':_0x589090[_0xfe43ae(0xc8)]},_0x51448e,{'dbName':_0x3af6da,'mode':_0x3aa174,'syncedAt':new Date()[_0xfe43ae(0x98)](),'description':_0x589090[_0xfe43ae(0x90)]}),_0x431efa=buildSqlLockEntry(_0x589090,_0x51448e,computeSqlContentHash(_0x10c753),{'dbName':_0x3af6da}),_0x3eff78=_0x431efa[_0xfe43ae(0x93)],_0x4904ef=join(_0x55a285[_0xfe43ae(0xa1)],_0x3eff78);try{if(await fileExists(_0x4904ef)){const _0x5a1823=await readFile(_0x4904ef,'utf8');if(isEquivalentPulledSqlFile(_0x5a1823,_0x10c753,_0x3aa174)){_0x2d4484['push']({'sqlCode':_0x589090['sqlCode'],'reason':_0xfe43ae(0xb5)}),_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]]={..._0x431efa,'hash':computeSqlContentHash(_0x5a1823),'path':_0x3eff78};continue;}if(!_0x358ba1){_0x2d4484[_0xfe43ae(0xaf)]({'sqlCode':_0x589090['sqlCode'],'reason':_0xfe43ae(0x9d)});continue;}}const _0x10e359=_0x1e9549?.['path']?join(_0x55a285['sqlRootDir'],_0x1e9549[_0xfe43ae(0x93)]):undefined;_0x10e359&&_0x10e359!==_0x4904ef&&await fileExists(_0x10e359)&&await rm(_0x10e359,{'force':!![]}),await ensureParentDirectory(_0x4904ef),await writeFile(_0x4904ef,_0x10c753,_0xfe43ae(0x9a)),_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]]={..._0x431efa,'path':_0x3eff78},_0x1cf63d[_0xfe43ae(0xaf)]({'sqlCode':_0x589090[_0xfe43ae(0x97)],'filePath':_0x4904ef});}catch(_0xfaa775){_0x52c691[_0xfe43ae(0xaf)]({'sqlCode':_0x589090[_0xfe43ae(0x97)],'error':_0xfaa775 instanceof Error?_0xfaa775[_0xfe43ae(0xa3)]:String(_0xfaa775)});}}return _0x2536bf[_0xfe43ae(0xb7)]=new Date()[_0xfe43ae(0x98)](),await writeSqlLockFile(_0x55a285[_0xfe43ae(0xbd)],_0x14b2e4),{'ok':_0x52c691[_0xfe43ae(0xa8)]===0x0,'data':{'pulled':_0x1cf63d,'skipped':_0x2d4484,'failed':_0x52c691},'message':_0xfe43ae(0xce)+_0x1cf63d['length']+_0xfe43ae(0xa2)+_0x2d4484[_0xfe43ae(0xa8)]+_0xfe43ae(0x9e)+_0x52c691[_0xfe43ae(0xa8)]+_0xfe43ae(0xcb)};}};function detectModeFromSql(_0x5b0664){const _0x1f4dce=a124_0x1be652,_0x250d32=ensureRemoteSqlContent(_0x5b0664),_0x2c5e5b=stripLocalSqlMetadata(_0x250d32,_0x1f4dce(0xb4))[_0x1f4dce(0x9b)]();if(/^<(select|insert|update|delete)\b/i[_0x1f4dce(0x9c)](_0x2c5e5b))return _0x1f4dce(0xb4);return'sql';}function isEquivalentPulledSqlFile(_0x4aefad,_0x2f6d99,_0x7e8de3){return normalizePullComparableContent(_0x4aefad,_0x7e8de3)===normalizePullComparableContent(_0x2f6d99,_0x7e8de3);}function normalizePullComparableContent(_0x5d097f,_0x56d442){const _0x5409a5=a124_0x1be652,_0x5d0e00=_0x5d097f[_0x5409a5(0xca)](/\r\n/g,'\x0a')[_0x5409a5(0xb9)]('\x0a'),_0x3482c2=_0x5d0e00['filter'](_0x1980c2=>!isSyncedAtMetadataLine(_0x1980c2,_0x56d442));return _0x3482c2[_0x5409a5(0xc6)]('\x0a');}function isSyncedAtMetadataLine(_0x407bbf,_0x14636c){const _0x581056=a124_0x1be652;if(_0x14636c===_0x581056(0xb4))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x581056(0x9c)](_0x407bbf);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x581056(0x9c)](_0x407bbf);}
1
+ const a124_0x2824c5=a124_0x19ea;(function(_0x425a2a,_0xf33626){const _0x48c08e=a124_0x19ea,_0x162a9a=_0x425a2a();while(!![]){try{const _0x7a62f=parseInt(_0x48c08e(0x201))/0x1+parseInt(_0x48c08e(0x204))/0x2*(-parseInt(_0x48c08e(0x1f0))/0x3)+parseInt(_0x48c08e(0x1cb))/0x4*(-parseInt(_0x48c08e(0x1d4))/0x5)+-parseInt(_0x48c08e(0x1c6))/0x6*(parseInt(_0x48c08e(0x203))/0x7)+parseInt(_0x48c08e(0x1c5))/0x8+-parseInt(_0x48c08e(0x1de))/0x9+parseInt(_0x48c08e(0x1d6))/0xa*(parseInt(_0x48c08e(0x1d8))/0xb);if(_0x7a62f===_0xf33626)break;else _0x162a9a['push'](_0x162a9a['shift']());}catch(_0x12753e){_0x162a9a['push'](_0x162a9a['shift']());}}}(a124_0x412f,0x8ea15));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;function a124_0x412f(){const _0x56fb2c=['\x20failed','sqlCode','sql','mybatisXml','force','totalCount','sqlcode','3DfDjyq','tableData','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlRootDir','\x20skipped,\x20','boolean','cancelled','toISOString','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','nonInteractive','local\x20differs\x20from\x20remote','str','appCode','sqlName','Force\x20overwrite\x20local\x20unsynced\x20changes','Pull\x20complete:\x20','string','870500rGLtfe','catch','525861gKWIGg','115474HspWOe','pull','2501456lbjHzi','18QiedFG','conflict','trimStart','test','Would\x20pull\x20','4lcfnGR','sqls','apps','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','sqlContent','split','sqlRoot','unchanged','1981865AJOnVv','lastSync','1010zvRjrI','message','39061dSEUaO','utf8','\x20SQL\x20file(s)\x20into\x20','name','lockFilePath','would_pull','2503269sXrgiN','replace','paging','push','length','path','No\x20remote\x20SQL\x20queries\x20matched.','join','dbId','skipped','POST'];a124_0x412f=function(){return _0x56fb2c;};return a124_0x412f();}async function fetchAllSqlQueries(_0x443eb8,_0x32e89a){const _0x883361=a124_0x19ea,_0x3cc61c=[];let _0x230caa=0x1;while(!![]){const _0x1f21c3=await listSqlQueries(_0x443eb8,{'currentPage':_0x230caa,'pageSize':PAGE_SIZE,'sqlCode':_0x32e89a[_0x883361(0x1ea)],'sqlName':_0x32e89a['sqlName']}),_0x4e394c=_0x1f21c3[_0x883361(0x1f1)]??[];_0x3cc61c[_0x883361(0x1e1)](..._0x4e394c);if(_0x4e394c[_0x883361(0x1e2)]===0x0)break;const _0x326046=_0x1f21c3[_0x883361(0x1e0)]?.[_0x883361(0x1ee)];if(_0x326046!=null?_0x3cc61c['length']>=_0x326046:_0x4e394c[_0x883361(0x1e2)]<PAGE_SIZE)break;_0x230caa++;}return _0x3cc61c;}async function ensureSqlContent(_0x177c85){const _0x3b58b8=a124_0x19ea;if(_0x177c85['sqlContent']!=null&&String(_0x177c85[_0x3b58b8(0x1d0)])[_0x3b58b8(0x1e2)]>0x0)return _0x177c85;return getSqlQueryDetail(_0x177c85[_0x3b58b8(0x1ea)]);}export const sqlPull={'service':a124_0x2824c5(0x1eb),'command':a124_0x2824c5(0x205),'description':a124_0x2824c5(0x1f2),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a124_0x2824c5(0x200),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a124_0x2824c5(0x1ed),'type':a124_0x2824c5(0x1f5),'description':a124_0x2824c5(0x1fe)}],async 'dryRun'(_0x88be1e){const _0xb6acf3=a124_0x2824c5,_0x4d1ef1=loadSqlProjectConfig(_0x88be1e['appCode']),_0x2d3d98=await readSqlLockFile(_0x4d1ef1['lockFilePath']),{appLock:_0x3ae771}=ensureSqlLockScope(_0x2d3d98??createEmptySqlLock(),_0x4d1ef1[_0xb6acf3(0x1fc)],_0x4d1ef1[_0xb6acf3(0x1d2)],_0xb6acf3(0x205)),_0xc2dfc4=await fetchAllSqlQueries(_0x88be1e['appCode'],{'sqlCode':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1ef))||undefined,'sqlName':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1db))||undefined}),_0x121ca1=[];for(const _0x220160 of _0xc2dfc4){const _0x1bd0b9=await ensureSqlContent(_0x220160),_0x54e7c5=ensureRemoteSqlContent(_0x1bd0b9),_0x4f4759=detectModeFromSql(_0x1bd0b9),_0xdb02b5=_0x1bd0b9['dbId']?await getDbName(_0x88be1e['appCode'],Number(_0x1bd0b9['dbId']))[_0xb6acf3(0x202)](()=>undefined):undefined,_0x4d74fc=buildLocalSqlFileContent({'sqlCode':_0x1bd0b9['sqlCode'],'sqlName':_0x1bd0b9[_0xb6acf3(0x1fd)],'dbId':_0x1bd0b9[_0xb6acf3(0x1e6)]},_0x54e7c5,{'dbName':_0xdb02b5,'mode':_0x4f4759,'syncedAt':new Date()[_0xb6acf3(0x1f7)](),'description':_0x1bd0b9['description']}),_0x2933f2=buildSqlLockEntry(_0x1bd0b9,_0x54e7c5,'',{'dbName':_0xdb02b5}),_0x5926b3=resolveLocalSqlFilePath(_0x4d1ef1,_0x1bd0b9[_0xb6acf3(0x1ea)],_0x2933f2);let _0x19b86d=_0xb6acf3(0x1dd),_0x4f56b3;if(await fileExists(_0x5926b3)){const _0x2b8da2=await readFile(_0x5926b3,_0xb6acf3(0x1d9));isEquivalentPulledSqlFile(_0x2b8da2,_0x4d74fc,_0x4f4759)?(_0x19b86d=_0xb6acf3(0x1e7),_0x4f56b3=_0xb6acf3(0x1d3)):(_0x19b86d=_0xb6acf3(0x1c7),_0x4f56b3=_0xb6acf3(0x1f8));}_0x121ca1[_0xb6acf3(0x1e1)]({'sqlCode':_0x1bd0b9[_0xb6acf3(0x1ea)],'sqlName':_0x1bd0b9[_0xb6acf3(0x1fd)],'filePath':_0x5926b3,'status':_0x19b86d,'reason':_0x4f56b3});}return{'method':_0xb6acf3(0x1e8),'url':_0xb6acf3(0x1cf),'body':{'appCode':_0x88be1e[_0xb6acf3(0x1fc)],'sqlCode':_0x88be1e['str'](_0xb6acf3(0x1ef))||null,'sqlName':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1db))||null,'files':_0x121ca1},'description':_0xb6acf3(0x1ca)+_0x121ca1['length']+_0xb6acf3(0x1da)+_0x4d1ef1[_0xb6acf3(0x1f3)]};},async 'execute'(_0x17cdf7){const _0x37f06c=a124_0x2824c5,_0x2cff16=loadSqlProjectConfig(_0x17cdf7[_0x37f06c(0x1fc)]),_0x1f951f=await readSqlLockFile(_0x2cff16['lockFilePath']),{lockData:_0x5ab684,appLock:_0x1de4c2}=ensureSqlLockScope(_0x1f951f??createEmptySqlLock(),_0x2cff16[_0x37f06c(0x1fc)],_0x2cff16['sqlRoot'],'pull'),_0x4e8917=_0x17cdf7['bool'](_0x37f06c(0x1ed)),_0xc1222=await fetchAllSqlQueries(_0x17cdf7['appCode'],{'sqlCode':_0x17cdf7[_0x37f06c(0x1fb)](_0x37f06c(0x1ef))||undefined,'sqlName':_0x17cdf7[_0x37f06c(0x1fb)](_0x37f06c(0x1db))||undefined});if(_0xc1222[_0x37f06c(0x1e2)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x37f06c(0x1e4)};const _0x4444d6=[],_0x466644=[];for(const _0x325645 of _0xc1222){try{_0x4444d6[_0x37f06c(0x1e1)](await ensureSqlContent(_0x325645));}catch(_0x1d7d73){_0x466644['push']({'sqlCode':_0x325645[_0x37f06c(0x1ea)],'error':_0x1d7d73 instanceof Error?_0x1d7d73[_0x37f06c(0x1d7)]:String(_0x1d7d73)});}}if(_0x4e8917&&!_0x17cdf7[_0x37f06c(0x1f9)]){let _0x5eb28c=![];for(const _0x261f61 of _0x4444d6){const _0x9978e4=detectModeFromSql(_0x261f61),_0x271de7=_0x261f61[_0x37f06c(0x1e6)]?await getDbName(_0x17cdf7[_0x37f06c(0x1fc)],Number(_0x261f61[_0x37f06c(0x1e6)]))[_0x37f06c(0x202)](()=>undefined):undefined,_0xd404da=buildLocalSqlFileContent({'sqlCode':_0x261f61['sqlCode'],'sqlName':_0x261f61[_0x37f06c(0x1fd)],'dbId':_0x261f61['dbId']},ensureRemoteSqlContent(_0x261f61),{'dbName':_0x271de7,'mode':_0x9978e4,'syncedAt':new Date()[_0x37f06c(0x1f7)](),'description':_0x261f61['description']}),_0x13f102=resolveLocalSqlFilePath(_0x2cff16,_0x261f61[_0x37f06c(0x1ea)],buildSqlLockEntry(_0x261f61,ensureRemoteSqlContent(_0x261f61),'',{'dbName':_0x271de7}));if(await fileExists(_0x13f102)){const _0xebb32f=await readFile(_0x13f102,_0x37f06c(0x1d9));if(!isEquivalentPulledSqlFile(_0xebb32f,_0xd404da,_0x9978e4)){_0x5eb28c=!![];break;}}}if(_0x5eb28c){const _0x41a331=await confirmForceOverwrite(_0x37f06c(0x1ce));if(!_0x41a331)throw CliErrors[_0x37f06c(0x1f6)]('Force\x20pull\x20cancelled.');}}const _0xcbc94b=cloneSqlLockData(_0x5ab684),_0x512f51=_0xcbc94b[_0x37f06c(0x1cd)][_0x2cff16['appCode']],_0x3bdca4=[],_0x319d9e=[];for(const _0x37db27 of _0x4444d6){const _0x5eaf91=_0x512f51[_0x37f06c(0x1cc)][_0x37db27[_0x37f06c(0x1ea)]],_0x293b81=ensureRemoteSqlContent(_0x37db27),_0x15e8d5=detectModeFromSql(_0x37db27),_0x34e5bb=_0x37db27[_0x37f06c(0x1e6)]?await getDbName(_0x17cdf7[_0x37f06c(0x1fc)],Number(_0x37db27[_0x37f06c(0x1e6)]))['catch'](()=>undefined):undefined,_0x10bc8b=buildLocalSqlFileContent({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'sqlName':_0x37db27['sqlName'],'dbId':_0x37db27['dbId']},_0x293b81,{'dbName':_0x34e5bb,'mode':_0x15e8d5,'syncedAt':new Date()['toISOString'](),'description':_0x37db27['description']}),_0x4d7038=buildSqlLockEntry(_0x37db27,_0x293b81,computeSqlContentHash(_0x10bc8b),{'dbName':_0x34e5bb}),_0x591653=_0x4d7038['path'],_0x136d9c=join(_0x2cff16[_0x37f06c(0x1f3)],_0x591653);try{if(await fileExists(_0x136d9c)){const _0x69651a=await readFile(_0x136d9c,_0x37f06c(0x1d9));if(isEquivalentPulledSqlFile(_0x69651a,_0x10bc8b,_0x15e8d5)){_0x319d9e[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'reason':_0x37f06c(0x1d3)}),_0x512f51[_0x37f06c(0x1cc)][_0x37db27['sqlCode']]={..._0x4d7038,'hash':computeSqlContentHash(_0x69651a),'path':_0x591653};continue;}if(!_0x4e8917){_0x319d9e[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'reason':_0x37f06c(0x1fa)});continue;}}const _0x49df2d=_0x5eaf91?.[_0x37f06c(0x1e3)]?join(_0x2cff16[_0x37f06c(0x1f3)],_0x5eaf91['path']):undefined;_0x49df2d&&_0x49df2d!==_0x136d9c&&await fileExists(_0x49df2d)&&await rm(_0x49df2d,{'force':!![]}),await ensureParentDirectory(_0x136d9c),await writeFile(_0x136d9c,_0x10bc8b,_0x37f06c(0x1d9)),_0x512f51[_0x37f06c(0x1cc)][_0x37db27[_0x37f06c(0x1ea)]]={..._0x4d7038,'path':_0x591653},_0x3bdca4[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27['sqlCode'],'filePath':_0x136d9c});}catch(_0x360ff3){_0x466644[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'error':_0x360ff3 instanceof Error?_0x360ff3['message']:String(_0x360ff3)});}}return _0x512f51[_0x37f06c(0x1d5)]=new Date()[_0x37f06c(0x1f7)](),await writeSqlLockFile(_0x2cff16[_0x37f06c(0x1dc)],_0xcbc94b),{'ok':_0x466644['length']===0x0,'data':{'pulled':_0x3bdca4,'skipped':_0x319d9e,'failed':_0x466644},'message':_0x37f06c(0x1ff)+_0x3bdca4[_0x37f06c(0x1e2)]+'\x20written,\x20'+_0x319d9e[_0x37f06c(0x1e2)]+_0x37f06c(0x1f4)+_0x466644[_0x37f06c(0x1e2)]+_0x37f06c(0x1e9)};}};function detectModeFromSql(_0x34d2bd){const _0x4cda80=a124_0x2824c5,_0x209d82=ensureRemoteSqlContent(_0x34d2bd),_0x64a7bb=stripLocalSqlMetadata(_0x209d82,_0x4cda80(0x1ec))[_0x4cda80(0x1c8)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x64a7bb))return _0x4cda80(0x1ec);return _0x4cda80(0x1eb);}function a124_0x19ea(_0x22b135,_0x52e2b4){_0x22b135=_0x22b135-0x1c5;const _0x412fb8=a124_0x412f();let _0x19eade=_0x412fb8[_0x22b135];return _0x19eade;}function isEquivalentPulledSqlFile(_0x496c69,_0x1ffd50,_0x308d5e){return normalizePullComparableContent(_0x496c69,_0x308d5e)===normalizePullComparableContent(_0x1ffd50,_0x308d5e);}function normalizePullComparableContent(_0x283f0e,_0x3f4bad){const _0x2de556=a124_0x2824c5,_0x50024f=_0x283f0e[_0x2de556(0x1df)](/\r\n/g,'\x0a')[_0x2de556(0x1d1)]('\x0a'),_0x439da1=_0x50024f['filter'](_0x2c8e1d=>!isSyncedAtMetadataLine(_0x2c8e1d,_0x3f4bad));return _0x439da1[_0x2de556(0x1e5)]('\x0a');}function isSyncedAtMetadataLine(_0x449f82,_0x29c874){const _0x429cc0=a124_0x2824c5;if(_0x29c874==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x429cc0(0x1c9)](_0x449f82);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x429cc0(0x1c9)](_0x449f82);}
@@ -1 +1 @@
1
- const a125_0x17e9a1=a125_0x4067;(function(_0x2290cb,_0x209073){const _0x29d38c=a125_0x4067,_0x15e290=_0x2290cb();while(!![]){try{const _0x20eb8e=parseInt(_0x29d38c(0xa4))/0x1+parseInt(_0x29d38c(0x93))/0x2*(-parseInt(_0x29d38c(0x76))/0x3)+parseInt(_0x29d38c(0x94))/0x4*(-parseInt(_0x29d38c(0x6f))/0x5)+parseInt(_0x29d38c(0x7f))/0x6+parseInt(_0x29d38c(0x9e))/0x7+-parseInt(_0x29d38c(0x96))/0x8*(-parseInt(_0x29d38c(0x86))/0x9)+-parseInt(_0x29d38c(0xa8))/0xa;if(_0x20eb8e===_0x209073)break;else _0x15e290['push'](_0x15e290['shift']());}catch(_0x592e79){_0x15e290['push'](_0x15e290['shift']());}}}(a125_0x1482,0xaa1e2));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';function a125_0x1482(){const _0x4f2ebf=['1821615KdKRwD','set','validation','length','sqls','catch','get','3IwipOh','utf8','entries','hash','Local\x20directory\x20\x22','version','dbName','replace','/smartapi/custom/updateUserCustomSql','202608oONkiX','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlName','\x20failed','sqlConfig','dbId','18RVsbSA','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','filePath','join','high-risk-write','force','trashDir','map','sqlcode','POST','str','bool','mode','35914kYpQHH','12sQaVRT','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','4456232QvWedL','Would\x20push\x20','sqlRootDir','has','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','push','sql','path','2893163kxokii','lockFilePath','exec','toISOString','Local\x20SQL\x20not\x20found:\x20','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','1183543ZJzItA','appCode','\x20SQL\x20file(s)','\x20skipped,\x20','9369500TEygkq','relativePath','sqlCode','remoteId','message','Push\x20complete:\x20','boolean','\x22\x20for\x20sqlCode\x20','\x20pushed,\x20','lastSync','isFinite','filter'];a125_0x1482=function(){return _0x4f2ebf;};return a125_0x1482();}import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a125_0x4067(_0x1ca41b,_0x3c86c7){_0x1ca41b=_0x1ca41b-0x69;const _0x1482c8=a125_0x1482();let _0x406754=_0x1482c8[_0x1ca41b];return _0x406754;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x38f0d6,_0x4651f4,_0x45b261){const _0x464d0f=a125_0x4067,_0x28329a=await scanLocalSqlQueries(_0x38f0d6),_0x1df78d=new Map();for(const _0x4a4a90 of _0x28329a){if(_0x45b261&&_0x4a4a90[_0x464d0f(0xaa)]!==_0x45b261)continue;const _0x3432fc=_0x1df78d[_0x464d0f(0x75)](_0x4a4a90['sqlCode'])??[];_0x3432fc[_0x464d0f(0x9b)](_0x4a4a90),_0x1df78d[_0x464d0f(0x70)](_0x4a4a90[_0x464d0f(0xaa)],_0x3432fc);}if(_0x45b261&&!_0x1df78d[_0x464d0f(0x99)](_0x45b261))throw CliErrors[_0x464d0f(0x71)](_0x464d0f(0xa2)+_0x45b261);const _0x133b4e=[];for(const [_0x3c41ca,_0x1c2435]of _0x1df78d[_0x464d0f(0x78)]()){if(_0x1c2435['length']===0x1){_0x133b4e[_0x464d0f(0x9b)](_0x1c2435[0x0]);continue;}const _0xf14e34=_0x4651f4[_0x464d0f(0x73)][_0x3c41ca],_0xac3aa8=_0xf14e34?.[_0x464d0f(0x9d)],_0x4a9485=_0xac3aa8?_0x1c2435[_0x464d0f(0x6e)](_0x8d63cc=>_0x8d63cc[_0x464d0f(0xa9)]!==_0xac3aa8):_0x1c2435;if(_0xf14e34&&_0x4a9485['length']===0x1){_0x133b4e[_0x464d0f(0x9b)](_0x4a9485[0x0]);continue;}throw CliErrors[_0x464d0f(0x71)](_0x464d0f(0xa3)+_0x3c41ca+_0x464d0f(0x9a));}return _0x133b4e;}export const sqlPush={'service':a125_0x17e9a1(0x9c),'command':a125_0x17e9a1(0x9b),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':a125_0x17e9a1(0x8a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x17e9a1(0x8b),'type':a125_0x17e9a1(0x69),'description':a125_0x17e9a1(0x95)}],async 'dryRun'(_0x3f4066){const _0x496667=a125_0x17e9a1,_0x5b8d08=loadSqlProjectConfig(_0x3f4066['appCode']),_0x457628=await readSqlLockFile(_0x5b8d08[_0x496667(0x9f)]),{appLock:_0x2f5507}=ensureSqlLockScope(_0x457628??createEmptySqlLock(),_0x3f4066[_0x496667(0xa5)],_0x5b8d08['sqlRoot'],_0x496667(0x9b)),_0x2942a1=await getTargetSqlQueries(_0x5b8d08,_0x2f5507,_0x3f4066['str'](_0x496667(0x8e))||undefined),_0x59d66a=[];for(const _0x4f8168 of _0x2942a1){const _0x1296ec=await computeSqlFileHash(_0x4f8168['filePath']),_0x62c958=_0x2f5507[_0x496667(0x73)][_0x4f8168[_0x496667(0xaa)]],_0x4c4756=!!_0x62c958&&(_0x62c958[_0x496667(0x9d)]!==_0x4f8168[_0x496667(0xa9)]||!!_0x4f8168[_0x496667(0x82)]&&_0x62c958[_0x496667(0x82)]!==_0x4f8168[_0x496667(0x82)]);if(!_0x3f4066['bool'](_0x496667(0x8b))&&_0x62c958&&_0x62c958['hash']===_0x1296ec&&!_0x4c4756)continue;_0x59d66a[_0x496667(0x9b)](_0x4f8168[_0x496667(0xaa)]);}return{'method':_0x496667(0x8f),'url':_0x496667(0x7e),'body':{'sqlCodes':_0x59d66a,'appCode':_0x3f4066[_0x496667(0xa5)]},'description':_0x496667(0x97)+_0x59d66a['length']+_0x496667(0xa6)};},async 'execute'(_0x1a4b55){const _0xb07b6c=a125_0x17e9a1,_0xa7bfa6=loadSqlProjectConfig(_0x1a4b55['appCode']),_0x4e3dc4=await readSqlLockFile(_0xa7bfa6[_0xb07b6c(0x9f)]),{lockData:_0xefd176,appLock:_0x38f5ae}=ensureSqlLockScope(_0x4e3dc4??createEmptySqlLock(),_0x1a4b55[_0xb07b6c(0xa5)],_0xa7bfa6['sqlRoot'],_0xb07b6c(0x9b)),_0x4655a9=await getTargetSqlQueries(_0xa7bfa6,_0x38f5ae,_0x1a4b55[_0xb07b6c(0x90)](_0xb07b6c(0x8e))||undefined);if(_0x4655a9[_0xb07b6c(0x72)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x47c7f1=[],_0x1d6436=[],_0x5448af=[];for(const _0x4985e5 of _0x4655a9){const _0x538478=_0x38f5ae[_0xb07b6c(0x73)][_0x4985e5[_0xb07b6c(0xaa)]];if(!_0x538478){_0x5448af['push']({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x533bc7=await computeSqlFileHash(_0x4985e5[_0xb07b6c(0x88)]),_0x350235=_0x538478[_0xb07b6c(0x9d)]!==_0x4985e5[_0xb07b6c(0xa9)]||!!_0x4985e5[_0xb07b6c(0x82)]&&_0x538478[_0xb07b6c(0x82)]!==_0x4985e5[_0xb07b6c(0x82)];if(!_0x1a4b55[_0xb07b6c(0x91)](_0xb07b6c(0x8b))&&_0x538478[_0xb07b6c(0x79)]===_0x533bc7&&!_0x350235){_0x1d6436[_0xb07b6c(0x9b)]({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'reason':'unchanged'});continue;}if(_0x538478['version']==null){_0x5448af['push']({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'error':_0xb07b6c(0x87)});continue;}const _0x6aeef3=await readFile(_0x4985e5['filePath'],_0xb07b6c(0x77)),_0x1daaea=stripLocalSqlMetadata(_0x6aeef3,_0x4985e5[_0xb07b6c(0x92)]),_0xb2fda=_0x4985e5['sqlName']||_0x538478[_0xb07b6c(0x82)],_0x81ff8c=await resolveTargetDbBinding(_0x1a4b55['appCode'],_0x4985e5,_0x538478),_0x3a4567=await updateSqlQuery({'id':_0x538478['remoteId'],'appCode':_0x1a4b55[_0xb07b6c(0xa5)],'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'sqlName':_0xb2fda,'dbId':_0x81ff8c['dbId'],'version':_0x538478[_0xb07b6c(0x7b)],'sqlContent':_0x1daaea,'sqlConfig':_0x538478[_0xb07b6c(0x84)]??undefined}),_0x44fdb7=_0x3a4567['dbId']?await getDbName(_0x1a4b55[_0xb07b6c(0xa5)],Number(_0x3a4567[_0xb07b6c(0x85)]))[_0xb07b6c(0x74)](()=>_0x81ff8c[_0xb07b6c(0x7c)]):_0x81ff8c['dbName'];_0x38f5ae[_0xb07b6c(0x73)][_0x4985e5[_0xb07b6c(0xaa)]]={...buildSqlLockEntry(_0x3a4567,_0x1daaea,_0x533bc7,{'dbName':_0x44fdb7}),'path':_0x4985e5[_0xb07b6c(0xa9)],'mode':_0x538478['mode']},await archivePreviousSqlFileIfNeeded(_0xa7bfa6,_0x538478[_0xb07b6c(0x9d)],_0x4985e5[_0xb07b6c(0xa9)]),_0x47c7f1[_0xb07b6c(0x9b)]({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'remoteId':_0x538478[_0xb07b6c(0xab)]});}catch(_0x3912b6){_0x5448af['push']({'sqlCode':_0x4985e5['sqlCode'],'error':_0x3912b6 instanceof Error?_0x3912b6[_0xb07b6c(0xac)]:String(_0x3912b6)});}}return _0x38f5ae[_0xb07b6c(0x6c)]=new Date()[_0xb07b6c(0xa1)](),await writeSqlLockFile(_0xa7bfa6[_0xb07b6c(0x9f)],_0xefd176),{'ok':_0x5448af['length']===0x0,'data':{'pushed':_0x47c7f1,'skipped':_0x1d6436,'failed':_0x5448af},'message':_0xb07b6c(0xad)+_0x47c7f1[_0xb07b6c(0x72)]+_0xb07b6c(0x6b)+_0x1d6436['length']+_0xb07b6c(0xa7)+_0x5448af[_0xb07b6c(0x72)]+_0xb07b6c(0x83)};}};async function archivePreviousSqlFileIfNeeded(_0x1c1d77,_0x3d68bb,_0x26258f){const _0x1e590a=a125_0x17e9a1;if(!_0x3d68bb||_0x3d68bb===_0x26258f)return;const _0x58c77c=join(_0x1c1d77[_0x1e590a(0x98)],_0x3d68bb);if(!await fileExists(_0x58c77c))return;const _0x42222f=await moveToTrash(_0x1c1d77['projectRoot'],_0x1c1d77[_0x1e590a(0x8c)],_0x58c77c);await cleanupEmptyDirectories(dirname(_0x58c77c),_0x1c1d77[_0x1e590a(0x98)]),void _0x42222f;}async function moveToTrash(_0x397ef2,_0x18706d,_0x3f70b5){const _0x4bd6f2=a125_0x17e9a1,_0x5cc347=new Date()[_0x4bd6f2(0xa1)]()[_0x4bd6f2(0x7d)](/[:.]/g,'-'),_0x47b174=relative(_0x397ef2,_0x3f70b5),_0xb4033=join(_0x18706d,_0x5cc347,_0x47b174);return await mkdir(dirname(_0xb4033),{'recursive':!![]}),await rename(_0x3f70b5,_0xb4033),_0xb4033;}async function cleanupEmptyDirectories(_0x3049f9,_0x55c756){const _0x2d4ac9=a125_0x17e9a1;let _0x2d2edd=resolve(_0x3049f9);const _0x5d4f7a=resolve(_0x55c756);while(_0x2d2edd['startsWith'](''+_0x5d4f7a+sep)||_0x2d2edd===_0x5d4f7a){if(_0x2d2edd===_0x5d4f7a)return;try{const _0x4b2011=await readdir(_0x2d2edd);if(_0x4b2011[_0x2d4ac9(0x72)]>0x0)return;await rmdir(_0x2d2edd);}catch{return;}_0x2d2edd=dirname(_0x2d2edd);}}async function resolveTargetDbBinding(_0x4266f8,_0xb44a98,_0x175086){const _0x4e33c2=a125_0x17e9a1,_0x5646e3=_0xb44a98['dbDirectory'];if(!_0x5646e3)return{'dbId':_0x175086[_0x4e33c2(0x85)],'dbName':_0x175086[_0x4e33c2(0x7c)]};const _0x2b03b8=buildDbDirectoryName(_0x175086['dbName'],_0x175086[_0x4e33c2(0x85)]);if(_0x5646e3===_0x2b03b8)return{'dbId':_0x175086['dbId'],'dbName':_0x175086['dbName']};const _0x5b8874=parseExplicitDbDirectory(_0x5646e3);if(_0x5b8874!=null)return{'dbId':_0x5b8874,'dbName':await getDbName(_0x4266f8,_0x5b8874)['catch'](()=>undefined)};const _0x2bad91=await listDatabases(_0x4266f8),_0x430966=_0x2bad91['filter'](_0x2e7cb6=>buildDbDirectoryName(_0x2e7cb6[_0x4e33c2(0x7c)],_0x2e7cb6['dbId'])===_0x5646e3);if(_0x430966[_0x4e33c2(0x72)]===0x1)return{'dbId':_0x430966[0x0][_0x4e33c2(0x85)],'dbName':_0x430966[0x0][_0x4e33c2(0x7c)]};if(_0x430966[_0x4e33c2(0x72)]===0x0)throw CliErrors[_0x4e33c2(0x71)](_0x4e33c2(0x81)+_0x5646e3+_0x4e33c2(0x6a)+_0xb44a98[_0x4e33c2(0xaa)]+'.');const _0x5c77d3=_0x430966[_0x4e33c2(0x8d)](_0x3b7018=>_0x3b7018['dbName']+'\x20('+_0x3b7018[_0x4e33c2(0x85)]+')')[_0x4e33c2(0x89)](',\x20');throw CliErrors[_0x4e33c2(0x71)](_0x4e33c2(0x7a)+_0x5646e3+_0x4e33c2(0x80)+_0xb44a98[_0x4e33c2(0xaa)]+':\x20'+_0x5c77d3);}function parseExplicitDbDirectory(_0x189eb3){const _0x50ec41=a125_0x17e9a1,_0x1c5125=/^db-(\d+)$/[_0x50ec41(0xa0)](_0x189eb3);if(!_0x1c5125)return null;const _0x4925eb=Number(_0x1c5125[0x1]);return Number[_0x50ec41(0x6d)](_0x4925eb)&&_0x4925eb>0x0?_0x4925eb:null;}
1
+ function a125_0x5277(){const _0x52bfb7=['boolean','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlcode','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','256919ogRHMv','1gMeVqa','filter','isFinite','catch','mode','\x22\x20for\x20sqlCode\x20','lockFilePath','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','2539086SQRuwe','high-risk-write','version','sqlName','sqlCode','10325ZRXTEk','exec','Local\x20SQL\x20not\x20found:\x20','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','appCode','1066476NrgOCm','Push\x20local\x20SQL\x20files\x20to\x20remote','str','\x20pushed,\x20','Local\x20directory\x20\x22','sqlRootDir','get','entries','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','926046YloLda','sql','4ilUgUx','Would\x20push\x20','9CwIuQQ','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','push','set','force','path','Push\x20complete:\x20','remoteId','\x20skipped,\x20','startsWith','1784rZDnNA','message','filePath','join','has','hash','dbName','1857754mXponp','relativePath','unchanged','sqlRoot','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','POST','12ejuJEu','sqls','\x20failed','length','5UJWuaA','validation','dbDirectory','dbId','toISOString','No\x20local\x20SQL\x20files\x20found.','728ulQVDX','1750390IuIxZu'];a125_0x5277=function(){return _0x52bfb7;};return a125_0x5277();}const a125_0x19ea71=a125_0x575e;(function(_0x5de061,_0x407f5e){const _0x32b005=a125_0x575e,_0x38129c=_0x5de061();while(!![]){try{const _0x4e0dda=parseInt(_0x32b005(0x211))/0x1*(-parseInt(_0x32b005(0x1fa))/0x2)+-parseInt(_0x32b005(0x1dc))/0x3*(-parseInt(_0x32b005(0x1e7))/0x4)+-parseInt(_0x32b005(0x204))/0x5*(-parseInt(_0x32b005(0x1e5))/0x6)+parseInt(_0x32b005(0x1d7))/0x7*(-parseInt(_0x32b005(0x1f3))/0x8)+-parseInt(_0x32b005(0x1e9))/0x9*(-parseInt(_0x32b005(0x20b))/0xa)+-parseInt(_0x32b005(0x1d2))/0xb*(-parseInt(_0x32b005(0x200))/0xc)+parseInt(_0x32b005(0x210))/0xd*(parseInt(_0x32b005(0x20a))/0xe);if(_0x4e0dda===_0x407f5e)break;else _0x38129c['push'](_0x38129c['shift']());}catch(_0x19ce1f){_0x38129c['push'](_0x38129c['shift']());}}}(a125_0x5277,0xa7604));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x26df79,_0x3bcbc2,_0x42e81c){const _0x1515b6=a125_0x575e,_0x42a2be=await scanLocalSqlQueries(_0x26df79),_0x21bb29=new Map();for(const _0x103fd9 of _0x42a2be){if(_0x42e81c&&_0x103fd9[_0x1515b6(0x1d6)]!==_0x42e81c)continue;const _0x4a94c6=_0x21bb29[_0x1515b6(0x1e2)](_0x103fd9[_0x1515b6(0x1d6)])??[];_0x4a94c6[_0x1515b6(0x1eb)](_0x103fd9),_0x21bb29[_0x1515b6(0x1ec)](_0x103fd9[_0x1515b6(0x1d6)],_0x4a94c6);}if(_0x42e81c&&!_0x21bb29[_0x1515b6(0x1f7)](_0x42e81c))throw CliErrors[_0x1515b6(0x205)](_0x1515b6(0x1d9)+_0x42e81c);const _0x19bd49=[];for(const [_0xebb2d3,_0x3a463d]of _0x21bb29[_0x1515b6(0x1e3)]()){if(_0x3a463d[_0x1515b6(0x203)]===0x1){_0x19bd49[_0x1515b6(0x1eb)](_0x3a463d[0x0]);continue;}const _0x468cc8=_0x3bcbc2[_0x1515b6(0x201)][_0xebb2d3],_0x1ef6f8=_0x468cc8?.[_0x1515b6(0x1ee)],_0x291752=_0x1ef6f8?_0x3a463d[_0x1515b6(0x212)](_0x39b284=>_0x39b284[_0x1515b6(0x1fb)]!==_0x1ef6f8):_0x3a463d;if(_0x468cc8&&_0x291752[_0x1515b6(0x203)]===0x1){_0x19bd49[_0x1515b6(0x1eb)](_0x291752[0x0]);continue;}throw CliErrors[_0x1515b6(0x205)](_0x1515b6(0x1d1)+_0xebb2d3+_0x1515b6(0x1e4));}return _0x19bd49;}export const sqlPush={'service':a125_0x19ea71(0x1e6),'command':a125_0x19ea71(0x1eb),'description':a125_0x19ea71(0x1dd),'risk':a125_0x19ea71(0x1d3),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x19ea71(0x1ed),'type':a125_0x19ea71(0x20c),'description':a125_0x19ea71(0x1fe)}],async 'dryRun'(_0x4bf4e0){const _0x3e6107=a125_0x19ea71,_0x382635=loadSqlProjectConfig(_0x4bf4e0['appCode']),_0x50cfe9=await readSqlLockFile(_0x382635[_0x3e6107(0x1d0)]),{appLock:_0x1cdf91}=ensureSqlLockScope(_0x50cfe9??createEmptySqlLock(),_0x4bf4e0[_0x3e6107(0x1db)],_0x382635[_0x3e6107(0x1fd)],_0x3e6107(0x1eb)),_0x4dfb64=await getTargetSqlQueries(_0x382635,_0x1cdf91,_0x4bf4e0[_0x3e6107(0x1de)](_0x3e6107(0x20e))||undefined),_0x5c795e=[];for(const _0x39bf7f of _0x4dfb64){const _0xa169e8=await computeSqlFileHash(_0x39bf7f['filePath']),_0x34d9ae=_0x1cdf91[_0x3e6107(0x201)][_0x39bf7f[_0x3e6107(0x1d6)]],_0x2ccb60=!!_0x34d9ae&&(_0x34d9ae[_0x3e6107(0x1ee)]!==_0x39bf7f['relativePath']||!!_0x39bf7f[_0x3e6107(0x1d5)]&&_0x34d9ae[_0x3e6107(0x1d5)]!==_0x39bf7f[_0x3e6107(0x1d5)]);if(!_0x4bf4e0['bool']('force')&&_0x34d9ae&&_0x34d9ae['hash']===_0xa169e8&&!_0x2ccb60)continue;_0x5c795e[_0x3e6107(0x1eb)](_0x39bf7f['sqlCode']);}return{'method':_0x3e6107(0x1ff),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x5c795e,'appCode':_0x4bf4e0[_0x3e6107(0x1db)]},'description':_0x3e6107(0x1e8)+_0x5c795e[_0x3e6107(0x203)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x473c16){const _0x3e5e0e=a125_0x19ea71,_0x41a7b4=loadSqlProjectConfig(_0x473c16[_0x3e5e0e(0x1db)]),_0x32ef36=await readSqlLockFile(_0x41a7b4[_0x3e5e0e(0x1d0)]),{lockData:_0x37c7f1,appLock:_0x5309f1}=ensureSqlLockScope(_0x32ef36??createEmptySqlLock(),_0x473c16[_0x3e5e0e(0x1db)],_0x41a7b4[_0x3e5e0e(0x1fd)],'push'),_0x255069=await getTargetSqlQueries(_0x41a7b4,_0x5309f1,_0x473c16[_0x3e5e0e(0x1de)]('sqlcode')||undefined);if(_0x255069[_0x3e5e0e(0x203)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x3e5e0e(0x209)};const _0x575ecd=[],_0x557e5e=[],_0x232e9d=[];for(const _0x26716f of _0x255069){const _0x12bdb0=_0x5309f1[_0x3e5e0e(0x201)][_0x26716f['sqlCode']];if(!_0x12bdb0){_0x232e9d['push']({'sqlCode':_0x26716f['sqlCode'],'error':_0x3e5e0e(0x20f)});continue;}try{const _0xd23728=await computeSqlFileHash(_0x26716f[_0x3e5e0e(0x1f5)]),_0x5ebde4=_0x12bdb0['path']!==_0x26716f[_0x3e5e0e(0x1fb)]||!!_0x26716f[_0x3e5e0e(0x1d5)]&&_0x12bdb0[_0x3e5e0e(0x1d5)]!==_0x26716f[_0x3e5e0e(0x1d5)];if(!_0x473c16['bool'](_0x3e5e0e(0x1ed))&&_0x12bdb0[_0x3e5e0e(0x1f8)]===_0xd23728&&!_0x5ebde4){_0x557e5e[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f[_0x3e5e0e(0x1d6)],'reason':_0x3e5e0e(0x1fc)});continue;}if(_0x12bdb0['version']==null){_0x232e9d['push']({'sqlCode':_0x26716f['sqlCode'],'error':_0x3e5e0e(0x1da)});continue;}const _0x567c3f=await readFile(_0x26716f['filePath'],'utf8'),_0x5c1339=stripLocalSqlMetadata(_0x567c3f,_0x26716f[_0x3e5e0e(0x215)]),_0x4117b3=_0x26716f[_0x3e5e0e(0x1d5)]||_0x12bdb0[_0x3e5e0e(0x1d5)],_0x333be2=await resolveTargetDbBinding(_0x473c16[_0x3e5e0e(0x1db)],_0x26716f,_0x12bdb0),_0x1552b7=await updateSqlQuery({'id':_0x12bdb0[_0x3e5e0e(0x1f0)],'appCode':_0x473c16[_0x3e5e0e(0x1db)],'sqlCode':_0x26716f['sqlCode'],'sqlName':_0x4117b3,'dbId':_0x333be2[_0x3e5e0e(0x207)],'version':_0x12bdb0[_0x3e5e0e(0x1d4)],'sqlContent':_0x5c1339,'sqlConfig':_0x12bdb0['sqlConfig']??undefined}),_0x2cf242=_0x1552b7[_0x3e5e0e(0x207)]?await getDbName(_0x473c16[_0x3e5e0e(0x1db)],Number(_0x1552b7['dbId']))[_0x3e5e0e(0x214)](()=>_0x333be2[_0x3e5e0e(0x1f9)]):_0x333be2[_0x3e5e0e(0x1f9)];_0x5309f1[_0x3e5e0e(0x201)][_0x26716f[_0x3e5e0e(0x1d6)]]={...buildSqlLockEntry(_0x1552b7,_0x5c1339,_0xd23728,{'dbName':_0x2cf242}),'path':_0x26716f['relativePath'],'mode':_0x12bdb0[_0x3e5e0e(0x215)]},await archivePreviousSqlFileIfNeeded(_0x41a7b4,_0x12bdb0[_0x3e5e0e(0x1ee)],_0x26716f[_0x3e5e0e(0x1fb)]),_0x575ecd[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f['sqlCode'],'remoteId':_0x12bdb0[_0x3e5e0e(0x1f0)]});}catch(_0x44e1f0){_0x232e9d[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f['sqlCode'],'error':_0x44e1f0 instanceof Error?_0x44e1f0[_0x3e5e0e(0x1f4)]:String(_0x44e1f0)});}}return _0x5309f1['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x41a7b4[_0x3e5e0e(0x1d0)],_0x37c7f1),{'ok':_0x232e9d['length']===0x0,'data':{'pushed':_0x575ecd,'skipped':_0x557e5e,'failed':_0x232e9d},'message':_0x3e5e0e(0x1ef)+_0x575ecd['length']+_0x3e5e0e(0x1df)+_0x557e5e['length']+_0x3e5e0e(0x1f1)+_0x232e9d[_0x3e5e0e(0x203)]+_0x3e5e0e(0x202)};}};async function archivePreviousSqlFileIfNeeded(_0x2279ab,_0x40b44b,_0x47b633){const _0x137697=a125_0x19ea71;if(!_0x40b44b||_0x40b44b===_0x47b633)return;const _0x4481f1=join(_0x2279ab['sqlRootDir'],_0x40b44b);if(!await fileExists(_0x4481f1))return;const _0x587563=await moveToTrash(_0x2279ab['projectRoot'],_0x2279ab['trashDir'],_0x4481f1);await cleanupEmptyDirectories(dirname(_0x4481f1),_0x2279ab[_0x137697(0x1e1)]),void _0x587563;}async function moveToTrash(_0x216e83,_0x45a9c3,_0x33badb){const _0x37db92=a125_0x19ea71,_0x30d8a8=new Date()[_0x37db92(0x208)]()['replace'](/[:.]/g,'-'),_0x2d028e=relative(_0x216e83,_0x33badb),_0xfa93f4=join(_0x45a9c3,_0x30d8a8,_0x2d028e);return await mkdir(dirname(_0xfa93f4),{'recursive':!![]}),await rename(_0x33badb,_0xfa93f4),_0xfa93f4;}function a125_0x575e(_0x8303d2,_0x4e8c1e){_0x8303d2=_0x8303d2-0x1cf;const _0x52771c=a125_0x5277();let _0x575e90=_0x52771c[_0x8303d2];return _0x575e90;}async function cleanupEmptyDirectories(_0x1f2246,_0x165735){const _0x1b27ec=a125_0x19ea71;let _0x48997a=resolve(_0x1f2246);const _0x53c371=resolve(_0x165735);while(_0x48997a[_0x1b27ec(0x1f2)](''+_0x53c371+sep)||_0x48997a===_0x53c371){if(_0x48997a===_0x53c371)return;try{const _0x356ccb=await readdir(_0x48997a);if(_0x356ccb[_0x1b27ec(0x203)]>0x0)return;await rmdir(_0x48997a);}catch{return;}_0x48997a=dirname(_0x48997a);}}async function resolveTargetDbBinding(_0x13f373,_0x14e69d,_0x17abbc){const _0x226e24=a125_0x19ea71,_0x434027=_0x14e69d[_0x226e24(0x206)];if(!_0x434027)return{'dbId':_0x17abbc[_0x226e24(0x207)],'dbName':_0x17abbc[_0x226e24(0x1f9)]};const _0x8541c0=buildDbDirectoryName(_0x17abbc['dbName'],_0x17abbc[_0x226e24(0x207)]);if(_0x434027===_0x8541c0)return{'dbId':_0x17abbc[_0x226e24(0x207)],'dbName':_0x17abbc[_0x226e24(0x1f9)]};const _0x186f76=parseExplicitDbDirectory(_0x434027);if(_0x186f76!=null)return{'dbId':_0x186f76,'dbName':await getDbName(_0x13f373,_0x186f76)[_0x226e24(0x214)](()=>undefined)};const _0x385456=await listDatabases(_0x13f373),_0x5c708f=_0x385456[_0x226e24(0x212)](_0xcec7b3=>buildDbDirectoryName(_0xcec7b3[_0x226e24(0x1f9)],_0xcec7b3[_0x226e24(0x207)])===_0x434027);if(_0x5c708f['length']===0x1)return{'dbId':_0x5c708f[0x0][_0x226e24(0x207)],'dbName':_0x5c708f[0x0][_0x226e24(0x1f9)]};if(_0x5c708f['length']===0x0)throw CliErrors[_0x226e24(0x205)](_0x226e24(0x20d)+_0x434027+_0x226e24(0x1cf)+_0x14e69d[_0x226e24(0x1d6)]+'.');const _0x4f2278=_0x5c708f['map'](_0x29d4b5=>_0x29d4b5[_0x226e24(0x1f9)]+'\x20('+_0x29d4b5['dbId']+')')[_0x226e24(0x1f6)](',\x20');throw CliErrors[_0x226e24(0x205)](_0x226e24(0x1e0)+_0x434027+_0x226e24(0x1ea)+_0x14e69d[_0x226e24(0x1d6)]+':\x20'+_0x4f2278);}function parseExplicitDbDirectory(_0x354944){const _0x5d4916=a125_0x19ea71,_0x9cf74d=/^db-(\d+)$/[_0x5d4916(0x1d8)](_0x354944);if(!_0x9cf74d)return null;const _0x599f37=Number(_0x9cf74d[0x1]);return Number[_0x5d4916(0x213)](_0x599f37)&&_0x599f37>0x0?_0x599f37:null;}
@@ -1 +1 @@
1
- function a126_0xf82c(){const _0x52e523=['validation','15mMIqxb','5311572VHfKhJ','74962tpoIGh','string','sql','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','27bxvTgV','sqlname','Path\x20to\x20the\x20SQL\x20file','22491GAZapO','38950Ajptuv','2222FHbBFw','write','109916PsQtxi','Query\x20description','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','save','2611890hxdZFY','2264ZJwcjh','description','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`.','SQL\x20query\x20display\x20name','join','file','720357rkzJGk'];a126_0xf82c=function(){return _0x52e523;};return a126_0xf82c();}const a126_0x3a165d=a126_0x2a71;(function(_0x5ca29d,_0x5b5a22){const _0x26301f=a126_0x2a71,_0x323197=_0x5ca29d();while(!![]){try{const _0x254637=parseInt(_0x26301f(0x1a6))/0x1*(parseInt(_0x26301f(0x1a2))/0x2)+parseInt(_0x26301f(0x19e))/0x3+parseInt(_0x26301f(0x193))/0x4*(-parseInt(_0x26301f(0x1a0))/0x5)+parseInt(_0x26301f(0x1a1))/0x6+parseInt(_0x26301f(0x1a9))/0x7*(-parseInt(_0x26301f(0x198))/0x8)+parseInt(_0x26301f(0x197))/0x9+parseInt(_0x26301f(0x1aa))/0xa*(-parseInt(_0x26301f(0x191))/0xb);if(_0x254637===_0x5b5a22)break;else _0x323197['push'](_0x323197['shift']());}catch(_0x22709f){_0x323197['push'](_0x323197['shift']());}}}(a126_0xf82c,0x9e770));function a126_0x2a71(_0x5656ff,_0xafd417){_0x5656ff=_0x5656ff-0x191;const _0xf82c67=a126_0xf82c();let _0x2a714f=_0xf82c67[_0x5656ff];return _0x2a714f;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a126_0x3a165d(0x195),a126_0x3a165d(0x1a5),a126_0x3a165d(0x19a)][a126_0x3a165d(0x19c)]('\x0a');export const sqlSave={'service':a126_0x3a165d(0x1a4),'command':a126_0x3a165d(0x196),'description':'Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','risk':a126_0x3a165d(0x192),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a126_0x3a165d(0x19d),'type':'string','required':!![],'description':a126_0x3a165d(0x1a8)},SQLCODE_FLAG_OPTIONAL,{'name':a126_0x3a165d(0x1a7),'type':'string','description':a126_0x3a165d(0x19b)},{'name':'db','type':a126_0x3a165d(0x1a3),'description':'Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)'},{'name':a126_0x3a165d(0x199),'type':a126_0x3a165d(0x1a3),'description':a126_0x3a165d(0x194)}],async 'validate'(){const _0x2cc3c9=a126_0x3a165d;throw CliErrors[_0x2cc3c9(0x19f)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x12c4f1=a126_0x3a165d;throw CliErrors[_0x12c4f1(0x19f)](SQL_SAVE_DEPRECATED_HINT);}};
1
+ const a126_0x1b0077=a126_0x6fca;(function(_0x495836,_0x20d202){const _0x2945a5=a126_0x6fca,_0x3c166a=_0x495836();while(!![]){try{const _0x1b2d73=parseInt(_0x2945a5(0xc0))/0x1*(-parseInt(_0x2945a5(0xc8))/0x2)+-parseInt(_0x2945a5(0xbe))/0x3*(-parseInt(_0x2945a5(0xcc))/0x4)+parseInt(_0x2945a5(0xbc))/0x5*(-parseInt(_0x2945a5(0xb5))/0x6)+parseInt(_0x2945a5(0xba))/0x7+-parseInt(_0x2945a5(0xb6))/0x8*(-parseInt(_0x2945a5(0xb8))/0x9)+-parseInt(_0x2945a5(0xcd))/0xa+-parseInt(_0x2945a5(0xca))/0xb*(-parseInt(_0x2945a5(0xc2))/0xc);if(_0x1b2d73===_0x20d202)break;else _0x3c166a['push'](_0x3c166a['shift']());}catch(_0x4a5862){_0x3c166a['push'](_0x3c166a['shift']());}}}(a126_0x4999,0x5129b));function a126_0x4999(){const _0x23dd7e=['Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','198596RsqsKb','join','22qWhdae','string','5932OqNRJr','5733770zHQzxK','15798hGIFKN','272264mdkTec','sql','36CxfjuK','file','2773323oXmvnl','write','275HerMWV','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','618yNKpeS','validation','2DsvOqN','SQL\x20query\x20display\x20name','2468472wlAJgM','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','description','save'];a126_0x4999=function(){return _0x23dd7e;};return a126_0x4999();}function a126_0x6fca(_0x72ab98,_0x109b75){_0x72ab98=_0x72ab98-0xb5;const _0x4999c7=a126_0x4999();let _0x6fcacb=_0x4999c7[_0x72ab98];return _0x6fcacb;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a126_0x1b0077(0xc4),a126_0x1b0077(0xbd),'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`.'][a126_0x1b0077(0xc9)]('\x0a');export const sqlSave={'service':a126_0x1b0077(0xb7),'command':a126_0x1b0077(0xc6),'description':a126_0x1b0077(0xc3),'risk':a126_0x1b0077(0xbb),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a126_0x1b0077(0xb9),'type':a126_0x1b0077(0xcb),'required':!![],'description':'Path\x20to\x20the\x20SQL\x20file'},SQLCODE_FLAG_OPTIONAL,{'name':'sqlname','type':a126_0x1b0077(0xcb),'description':a126_0x1b0077(0xc1)},{'name':'db','type':a126_0x1b0077(0xcb),'description':a126_0x1b0077(0xc7)},{'name':a126_0x1b0077(0xc5),'type':a126_0x1b0077(0xcb),'description':'Query\x20description'}],async 'validate'(){const _0x275773=a126_0x1b0077;throw CliErrors[_0x275773(0xbf)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x7f543e=a126_0x1b0077;throw CliErrors[_0x7f543e(0xbf)](SQL_SAVE_DEPRECATED_HINT);}};
@@ -1 +1 @@
1
- const a127_0x2f743e=a127_0x46ad;(function(_0xbbf6e8,_0x1a4e2d){const _0x413494=a127_0x46ad,_0x179da7=_0xbbf6e8();while(!![]){try{const _0x3f2364=parseInt(_0x413494(0x12a))/0x1+-parseInt(_0x413494(0x13d))/0x2+parseInt(_0x413494(0x141))/0x3+-parseInt(_0x413494(0x145))/0x4+-parseInt(_0x413494(0x146))/0x5*(-parseInt(_0x413494(0x128))/0x6)+parseInt(_0x413494(0x131))/0x7*(-parseInt(_0x413494(0x12e))/0x8)+parseInt(_0x413494(0x12c))/0x9*(parseInt(_0x413494(0x142))/0xa);if(_0x3f2364===_0x1a4e2d)break;else _0x179da7['push'](_0x179da7['shift']());}catch(_0x2bc9ee){_0x179da7['push'](_0x179da7['shift']());}}}(a127_0x1bc3,0xe7d88));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';function a127_0x46ad(_0x490528,_0x198374){_0x490528=_0x490528-0x11d;const _0x1bc3ec=a127_0x1bc3();let _0x46adaa=_0x1bc3ec[_0x490528];return _0x46adaa;}export const SQL_LOCAL_REL_DIR=a127_0x2f743e(0x124);export function buildSqlLockEntry(_0x3a4be6,_0x37b265,_0x5da66e,_0x4fb285){const _0x3ef761=a127_0x2f743e,_0x4ea19c=detectSqlMode(_0x37b265);return{'path':buildSqlRelativePath(_0x3a4be6[_0x3ef761(0x12d)],_0x3a4be6[_0x3ef761(0x13c)],_0x4fb285?.[_0x3ef761(0x148)],_0x4ea19c,_0x3a4be6[_0x3ef761(0x11e)]),'hash':_0x5da66e,'remoteId':_0x3a4be6['id'],'version':_0x3a4be6[_0x3ef761(0x147)],'dbId':Number(_0x3a4be6[_0x3ef761(0x11e)]),'dbName':_0x4fb285?.[_0x3ef761(0x148)],'sqlName':_0x3a4be6[_0x3ef761(0x13c)],'sqlConfig':_0x3a4be6['sqlConfig']??undefined,'mode':_0x4ea19c};}export function cloneSqlLockData(_0x146187){const _0x1be39c=a127_0x2f743e;return{'apps':Object[_0x1be39c(0x129)](Object[_0x1be39c(0x14b)](_0x146187[_0x1be39c(0x11d)])[_0x1be39c(0x12f)](([_0x2677a0,_0x3373f9])=>[_0x2677a0,{'sqlRoot':_0x3373f9[_0x1be39c(0x127)],'lastSync':_0x3373f9[_0x1be39c(0x144)],'sqls':{..._0x3373f9[_0x1be39c(0x149)]}}]))};}function a127_0x1bc3(){const _0x10ed7b=['test','\x20-->','sqlName','1278032IYqcaf','endsWith','join','push','4468416UIgVaf','20KSMdWa','\x20[y/N]\x20','lastSync','2414600LFjTXf','5ZSqrhs','version','dbName','sqls','filter','entries','apps','dbId','split','description','path','syncedAt','mybatisXml','.rabetbase/sql','question','stdin','sqlRoot','187776FpSpvE','fromEntries','12326TVGtox','length','8666847hqDzhE','sqlCode','8MJJvHG','map','trim','8867278heyqkx','yes','stderr','trimStart','sqlContent','mode','close','includes','toLowerCase'];a127_0x1bc3=function(){return _0x10ed7b;};return a127_0x1bc3();}export function ensureRemoteSqlContent(_0x48761c){const _0x1ecd03=a127_0x2f743e;return _0x48761c[_0x1ecd03(0x135)]??'';}export function buildLocalSqlFileContent(_0x280eb9,_0x15da0b,_0x5aed16){const _0x31149b=a127_0x2f743e,_0x1747c5=_0x5aed16?.[_0x31149b(0x136)]??detectSqlMode(_0x15da0b),_0x3cd74d=stripLocalSqlMetadata(_0x15da0b,_0x1747c5)['trim'](),_0x59be3f=[...buildMetadataHeaderLines({'sqlCode':_0x280eb9[_0x31149b(0x12d)],'sqlName':_0x280eb9[_0x31149b(0x13c)],'dbId':_0x280eb9[_0x31149b(0x11e)],'dbName':_0x5aed16?.[_0x31149b(0x148)],'mode':_0x1747c5,'syncedAt':_0x5aed16?.[_0x31149b(0x122)],'description':_0x5aed16?.[_0x31149b(0x120)]},_0x1747c5),'',_0x3cd74d],_0x43b28f=_0x59be3f['join']('\x0a');return _0x43b28f[_0x31149b(0x13e)]('\x0a')?_0x43b28f:_0x43b28f+'\x0a';}export function stripLocalSqlMetadata(_0x1c526f,_0x5b876c){const _0x5137ce=a127_0x2f743e,_0xec4283=_0x1c526f['replace'](/\r\n/g,'\x0a')[_0x5137ce(0x11f)]('\x0a'),_0x324f28=[];let _0x5b85a8=0x0;if(_0x5b876c==='mybatisXml')while(_0x5b85a8<_0xec4283['length']){const _0x32861b=_0xec4283[_0x5b85a8]??'';if(/^\s*<!--\s*@lovrabet\./[_0x5137ce(0x13a)](_0x32861b)){_0x5b85a8++;continue;}if(_0x32861b['trim']()===''&&_0x5b85a8>0x0){_0x5b85a8++;continue;}break;}else while(_0x5b85a8<_0xec4283[_0x5137ce(0x12b)]){const _0x1629a7=_0xec4283[_0x5b85a8]??'';if(/^\s*--\s*@lovrabet\./[_0x5137ce(0x13a)](_0x1629a7)){_0x5b85a8++;continue;}if(_0x1629a7[_0x5137ce(0x130)]()===''&&_0x5b85a8>0x0){_0x5b85a8++;continue;}break;}for(;_0x5b85a8<_0xec4283['length'];_0x5b85a8++){_0x324f28[_0x5137ce(0x140)](_0xec4283[_0x5b85a8]);}return _0x324f28[_0x5137ce(0x13f)]('\x0a')[_0x5137ce(0x134)]();}export function resolveSqlMode(_0x8720b4,_0x38c1d0){const _0x1dcc26=a127_0x2f743e;if(_0x38c1d0?.[_0x1dcc26(0x136)])return _0x38c1d0[_0x1dcc26(0x136)];return detectSqlMode(_0x8720b4);}export function resolveSqlFileName(_0x5524ab,_0x43917d,_0x5dad66){const _0x58628c=a127_0x2f743e;if(_0x5dad66?.[_0x58628c(0x121)])return _0x5dad66[_0x58628c(0x121)];if(_0x5dad66?.[_0x58628c(0x13c)]||_0x5dad66?.[_0x58628c(0x148)])return buildSqlRelativePath(_0x5524ab,_0x5dad66?.[_0x58628c(0x13c)],_0x5dad66?.[_0x58628c(0x148)],resolveSqlMode(_0x43917d,_0x5dad66),_0x5dad66?.[_0x58628c(0x11e)]);return buildDefaultSqlFileName(_0x5524ab,resolveSqlMode(_0x43917d,_0x5dad66));}export function resolveSqlLocalDir(_0x3ceddf,_0x3e7e63){return join(_0x3ceddf,SQL_LOCAL_REL_DIR,_0x3e7e63);}export async function confirmForceOverwrite(_0xc5da09){const _0xc2ba00=a127_0x2f743e,_0x5813af=createInterface({'input':process[_0xc2ba00(0x126)],'output':process[_0xc2ba00(0x133)]}),_0x327bae=await new Promise(_0x235d95=>{const _0x12fae8=_0xc2ba00;_0x5813af[_0x12fae8(0x125)](_0xc5da09+_0x12fae8(0x143),_0x235d95);});return _0x5813af[_0xc2ba00(0x137)](),['y',_0xc2ba00(0x132)][_0xc2ba00(0x138)](_0x327bae['trim']()[_0xc2ba00(0x139)]());}export function findSqlLockScope(_0x54b183,_0x587d9c){return _0x54b183['apps'][_0x587d9c];}function buildMetadataHeaderLines(_0x420102,_0x47bdb4){const _0x4f2e52=a127_0x2f743e,_0x1b3e70=[[_0x4f2e52(0x12d),_0x420102['sqlCode']],[_0x4f2e52(0x13c),_0x420102[_0x4f2e52(0x13c)]],['dbId',_0x420102['dbId']],[_0x4f2e52(0x148),_0x420102[_0x4f2e52(0x148)]],['mode',_0x420102[_0x4f2e52(0x136)]],[_0x4f2e52(0x122),_0x420102[_0x4f2e52(0x122)]],[_0x4f2e52(0x120),_0x420102[_0x4f2e52(0x120)]]];if(_0x47bdb4===_0x4f2e52(0x123))return _0x1b3e70[_0x4f2e52(0x14a)](([,_0x5c588a])=>_0x5c588a!==undefined&&_0x5c588a!==null&&String(_0x5c588a)[_0x4f2e52(0x130)]()!=='')['map'](([_0x47d7df,_0x114ec8])=>'<!--\x20@lovrabet.'+_0x47d7df+':\x20'+String(_0x114ec8)+_0x4f2e52(0x13b));return _0x1b3e70[_0x4f2e52(0x14a)](([,_0x5dc0c2])=>_0x5dc0c2!==undefined&&_0x5dc0c2!==null&&String(_0x5dc0c2)[_0x4f2e52(0x130)]()!=='')[_0x4f2e52(0x12f)](([_0x39911c,_0x546e0c])=>'--\x20@lovrabet.'+_0x39911c+':\x20'+String(_0x546e0c));}
1
+ const a127_0x5df7d4=a127_0x576c;function a127_0x576c(_0x37cd68,_0x76db3c){_0x37cd68=_0x37cd68-0x120;const _0x3ada14=a127_0x3ada();let _0x576c18=_0x3ada14[_0x37cd68];return _0x576c18;}(function(_0x31e341,_0x558e84){const _0x7f9db1=a127_0x576c,_0x2c28d7=_0x31e341();while(!![]){try{const _0x5aaa79=-parseInt(_0x7f9db1(0x148))/0x1+-parseInt(_0x7f9db1(0x12d))/0x2*(parseInt(_0x7f9db1(0x145))/0x3)+-parseInt(_0x7f9db1(0x132))/0x4+-parseInt(_0x7f9db1(0x124))/0x5*(-parseInt(_0x7f9db1(0x12c))/0x6)+parseInt(_0x7f9db1(0x14b))/0x7*(parseInt(_0x7f9db1(0x13a))/0x8)+-parseInt(_0x7f9db1(0x131))/0x9+parseInt(_0x7f9db1(0x137))/0xa;if(_0x5aaa79===_0x558e84)break;else _0x2c28d7['push'](_0x2c28d7['shift']());}catch(_0x867df8){_0x2c28d7['push'](_0x2c28d7['shift']());}}}(a127_0x3ada,0xbe739));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=a127_0x5df7d4(0x133);export function buildSqlLockEntry(_0x48a3ec,_0x36876b,_0x55a457,_0x5c2074){const _0x4dcde5=a127_0x5df7d4,_0x346c33=detectSqlMode(_0x36876b);return{'path':buildSqlRelativePath(_0x48a3ec[_0x4dcde5(0x120)],_0x48a3ec[_0x4dcde5(0x146)],_0x5c2074?.[_0x4dcde5(0x13c)],_0x346c33,_0x48a3ec[_0x4dcde5(0x129)]),'hash':_0x55a457,'remoteId':_0x48a3ec['id'],'version':_0x48a3ec[_0x4dcde5(0x142)],'dbId':Number(_0x48a3ec[_0x4dcde5(0x129)]),'dbName':_0x5c2074?.['dbName'],'sqlName':_0x48a3ec[_0x4dcde5(0x146)],'sqlConfig':_0x48a3ec[_0x4dcde5(0x134)]??undefined,'mode':_0x346c33};}export function cloneSqlLockData(_0x39b51b){const _0x25c0fb=a127_0x5df7d4;return{'apps':Object[_0x25c0fb(0x141)](Object[_0x25c0fb(0x14d)](_0x39b51b[_0x25c0fb(0x127)])[_0x25c0fb(0x12b)](([_0x33acf1,_0x52ccbe])=>[_0x33acf1,{'sqlRoot':_0x52ccbe[_0x25c0fb(0x13f)],'lastSync':_0x52ccbe[_0x25c0fb(0x138)],'sqls':{..._0x52ccbe[_0x25c0fb(0x121)]}}]))};}export function ensureRemoteSqlContent(_0x5af037){const _0x291f71=a127_0x5df7d4;return _0x5af037[_0x291f71(0x14c)]??'';}export function buildLocalSqlFileContent(_0x2fecb7,_0x3c95a4,_0x49fdb2){const _0x255b4b=a127_0x5df7d4,_0x5bf1f9=_0x49fdb2?.[_0x255b4b(0x13d)]??detectSqlMode(_0x3c95a4),_0x295132=stripLocalSqlMetadata(_0x3c95a4,_0x5bf1f9)[_0x255b4b(0x135)](),_0x364a49=[...buildMetadataHeaderLines({'sqlCode':_0x2fecb7[_0x255b4b(0x120)],'sqlName':_0x2fecb7[_0x255b4b(0x146)],'dbId':_0x2fecb7['dbId'],'dbName':_0x49fdb2?.[_0x255b4b(0x13c)],'mode':_0x5bf1f9,'syncedAt':_0x49fdb2?.[_0x255b4b(0x12a)],'description':_0x49fdb2?.['description']},_0x5bf1f9),'',_0x295132],_0x343364=_0x364a49[_0x255b4b(0x12e)]('\x0a');return _0x343364['endsWith']('\x0a')?_0x343364:_0x343364+'\x0a';}function a127_0x3ada(){const _0x394c8d=['\x20-->','filter','1955169AseQUG','1643800kBnxSP','.rabetbase/sql','sqlConfig','trim','--\x20@lovrabet.','24688580VjtXbm','lastSync','stderr','5968bYtPxX','path','dbName','mode','split','sqlRoot','\x20[y/N]\x20','fromEntries','version','yes','mybatisXml','3BibsER','sqlName','<!--\x20@lovrabet.','1539587zzMxzd','length','push','1743IUgRtp','sqlContent','entries','sqlCode','sqls','question','replace','5752275aMRtvt','test','description','apps','stdin','dbId','syncedAt','map','6HYHVZf','1714400DlObmU','join'];a127_0x3ada=function(){return _0x394c8d;};return a127_0x3ada();}export function stripLocalSqlMetadata(_0x2b8b10,_0x490281){const _0x369038=a127_0x5df7d4,_0x1bbd2f=_0x2b8b10[_0x369038(0x123)](/\r\n/g,'\x0a')[_0x369038(0x13e)]('\x0a'),_0x2d1bc8=[];let _0x4a9f52=0x0;if(_0x490281===_0x369038(0x144))while(_0x4a9f52<_0x1bbd2f['length']){const _0x66cd03=_0x1bbd2f[_0x4a9f52]??'';if(/^\s*<!--\s*@lovrabet\./[_0x369038(0x125)](_0x66cd03)){_0x4a9f52++;continue;}if(_0x66cd03[_0x369038(0x135)]()===''&&_0x4a9f52>0x0){_0x4a9f52++;continue;}break;}else while(_0x4a9f52<_0x1bbd2f[_0x369038(0x149)]){const _0xc13c3f=_0x1bbd2f[_0x4a9f52]??'';if(/^\s*--\s*@lovrabet\./[_0x369038(0x125)](_0xc13c3f)){_0x4a9f52++;continue;}if(_0xc13c3f[_0x369038(0x135)]()===''&&_0x4a9f52>0x0){_0x4a9f52++;continue;}break;}for(;_0x4a9f52<_0x1bbd2f['length'];_0x4a9f52++){_0x2d1bc8[_0x369038(0x14a)](_0x1bbd2f[_0x4a9f52]);}return _0x2d1bc8[_0x369038(0x12e)]('\x0a')['trimStart']();}export function resolveSqlMode(_0x4b3a44,_0x33e893){const _0xe5f700=a127_0x5df7d4;if(_0x33e893?.[_0xe5f700(0x13d)])return _0x33e893[_0xe5f700(0x13d)];return detectSqlMode(_0x4b3a44);}export function resolveSqlFileName(_0x5dbe8c,_0x45e66f,_0x305e1c){const _0x123082=a127_0x5df7d4;if(_0x305e1c?.[_0x123082(0x13b)])return _0x305e1c[_0x123082(0x13b)];if(_0x305e1c?.['sqlName']||_0x305e1c?.[_0x123082(0x13c)])return buildSqlRelativePath(_0x5dbe8c,_0x305e1c?.['sqlName'],_0x305e1c?.[_0x123082(0x13c)],resolveSqlMode(_0x45e66f,_0x305e1c),_0x305e1c?.[_0x123082(0x129)]);return buildDefaultSqlFileName(_0x5dbe8c,resolveSqlMode(_0x45e66f,_0x305e1c));}export function resolveSqlLocalDir(_0x4a1818,_0x5375e8){return join(_0x4a1818,SQL_LOCAL_REL_DIR,_0x5375e8);}export async function confirmForceOverwrite(_0x379b10){const _0x26e307=a127_0x5df7d4,_0x3b11db=createInterface({'input':process[_0x26e307(0x128)],'output':process[_0x26e307(0x139)]}),_0x35b12b=await new Promise(_0x559ac5=>{const _0xb7b9b6=_0x26e307;_0x3b11db[_0xb7b9b6(0x122)](_0x379b10+_0xb7b9b6(0x140),_0x559ac5);});return _0x3b11db['close'](),['y',_0x26e307(0x143)]['includes'](_0x35b12b[_0x26e307(0x135)]()['toLowerCase']());}export function findSqlLockScope(_0x528c52,_0x1f4cce){return _0x528c52['apps'][_0x1f4cce];}function buildMetadataHeaderLines(_0x561a6f,_0x22b33e){const _0xcbae7a=a127_0x5df7d4,_0x4a5ce1=[[_0xcbae7a(0x120),_0x561a6f[_0xcbae7a(0x120)]],['sqlName',_0x561a6f[_0xcbae7a(0x146)]],[_0xcbae7a(0x129),_0x561a6f[_0xcbae7a(0x129)]],['dbName',_0x561a6f['dbName']],[_0xcbae7a(0x13d),_0x561a6f['mode']],[_0xcbae7a(0x12a),_0x561a6f['syncedAt']],[_0xcbae7a(0x126),_0x561a6f[_0xcbae7a(0x126)]]];if(_0x22b33e===_0xcbae7a(0x144))return _0x4a5ce1['filter'](([,_0x293ba3])=>_0x293ba3!==undefined&&_0x293ba3!==null&&String(_0x293ba3)[_0xcbae7a(0x135)]()!=='')['map'](([_0x2fdd5,_0x1e42e7])=>_0xcbae7a(0x147)+_0x2fdd5+':\x20'+String(_0x1e42e7)+_0xcbae7a(0x12f));return _0x4a5ce1[_0xcbae7a(0x130)](([,_0x4a41f7])=>_0x4a41f7!==undefined&&_0x4a41f7!==null&&String(_0x4a41f7)[_0xcbae7a(0x135)]()!=='')[_0xcbae7a(0x12b)](([_0x19c1cd,_0x33fe4b])=>_0xcbae7a(0x136)+_0x19c1cd+':\x20'+String(_0x33fe4b));}
@@ -1 +1 @@
1
- const a128_0x53967e=a128_0x46f1;(function(_0x12b53f,_0x398e5a){const _0x3525d2=a128_0x46f1,_0x3f7aea=_0x12b53f();while(!![]){try{const _0x35f759=-parseInt(_0x3525d2(0x12b))/0x1+-parseInt(_0x3525d2(0x148))/0x2+parseInt(_0x3525d2(0x129))/0x3+parseInt(_0x3525d2(0x13f))/0x4+-parseInt(_0x3525d2(0x13a))/0x5*(-parseInt(_0x3525d2(0x137))/0x6)+parseInt(_0x3525d2(0x147))/0x7*(parseInt(_0x3525d2(0x13b))/0x8)+parseInt(_0x3525d2(0x139))/0x9*(-parseInt(_0x3525d2(0x12d))/0xa);if(_0x35f759===_0x398e5a)break;else _0x3f7aea['push'](_0x3f7aea['shift']());}catch(_0x1a2b1a){_0x3f7aea['push'](_0x3f7aea['shift']());}}}(a128_0x2d3b,0x89439));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x2c128b){const _0xec6805=a128_0x46f1,_0x356c66=[];let _0x299aa7=0x1;while(!![]){const _0x522ff9=await listSqlQueries(_0x2c128b,{'currentPage':_0x299aa7,'pageSize':PAGE_SIZE}),_0x1b113c=_0x522ff9[_0xec6805(0x12a)]??[];_0x356c66['push'](..._0x1b113c[_0xec6805(0x145)](_0x318449=>_0x318449[_0xec6805(0x136)]));if(_0x1b113c[_0xec6805(0x142)]===0x0)break;const _0x4f89d4=_0x522ff9[_0xec6805(0x12e)]?.[_0xec6805(0x135)];if(_0x4f89d4!=null?_0x356c66['length']>=_0x4f89d4:_0x1b113c[_0xec6805(0x142)]<PAGE_SIZE)break;_0x299aa7++;}return _0x356c66;}function a128_0x2d3b(){const _0x3a1579=['filePath','keys','1166784QKhUet','tableData','275852NvckpU','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','175390LROPgZ','paging','path','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','boolean','lockKey','read','sqlRoot','totalCount','sqlCode','420204lObllq','\x20modified,\x20','216NWDzmN','20TXktIh','6162352SJNsss','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqlName','hash','1671792yJBCiK','\x20added,\x20','has','length','bool','remote','map','push','7LCnnWe','1196570TTMbCK','\x20remote-only','sqls','status','appCode','\x20unchanged'];a128_0x2d3b=function(){return _0x3a1579;};return a128_0x2d3b();}function a128_0x46f1(_0xd67b5a,_0x59e6cb){_0xd67b5a=_0xd67b5a-0x125;const _0x2d3bd4=a128_0x2d3b();let _0x46f11f=_0x2d3bd4[_0xd67b5a];return _0x46f11f;}export const sqlStatus={'service':'sql','command':a128_0x53967e(0x14b),'description':a128_0x53967e(0x12c),'risk':a128_0x53967e(0x133),'flags':[{'name':a128_0x53967e(0x144),'type':a128_0x53967e(0x131),'description':a128_0x53967e(0x130)}],async 'execute'(_0x5418cc){const _0x38ab54=a128_0x53967e,_0x475031=loadSqlProjectConfig(_0x5418cc[_0x38ab54(0x125)]),_0x32c275=await readSqlLockFile(_0x475031['lockFilePath']),{appLock:_0x18ad75}=ensureSqlLockScope(_0x32c275??createEmptySqlLock(),_0x475031[_0x38ab54(0x125)],_0x475031[_0x38ab54(0x134)],'status'),_0x24666c=await scanLocalSqlQueries(_0x475031),_0x22ce40=[],_0x115de6=[],_0xf85719=[],_0x493cbb=[],_0xa1e36e=new Set(_0x24666c[_0x38ab54(0x145)](_0x1c4742=>_0x1c4742[_0x38ab54(0x132)]));for(const _0x1bee28 of _0x24666c){const _0x20b0d3=await computeSqlFileHash(_0x1bee28[_0x38ab54(0x127)]),_0x1c6645=_0x18ad75[_0x38ab54(0x14a)][_0x1bee28[_0x38ab54(0x132)]],_0x2fa243=!!_0x1c6645&&_0x1c6645[_0x38ab54(0x12f)]!==_0x1bee28['relativePath'],_0x75582f=!!_0x1c6645&&!!_0x1bee28[_0x38ab54(0x13d)]&&_0x1c6645[_0x38ab54(0x13d)]!==_0x1bee28[_0x38ab54(0x13d)];if(!_0x1c6645)_0x22ce40[_0x38ab54(0x146)](_0x1bee28['lockKey']);else _0x1c6645[_0x38ab54(0x13e)]!==_0x20b0d3||_0x2fa243||_0x75582f?_0x115de6['push'](_0x1bee28[_0x38ab54(0x132)]):_0xf85719[_0x38ab54(0x146)](_0x1bee28['lockKey']);}for(const _0x229297 of Object[_0x38ab54(0x128)](_0x18ad75['sqls'])){!_0xa1e36e[_0x38ab54(0x141)](_0x229297)&&_0x493cbb[_0x38ab54(0x146)](_0x229297);}const _0x31aa01=[];if(_0x5418cc[_0x38ab54(0x143)]('remote')){const _0x323119=await fetchAllSqlCodes(_0x5418cc[_0x38ab54(0x125)]);for(const _0x20c643 of _0x323119){!_0xa1e36e[_0x38ab54(0x141)](_0x20c643)&&!_0x18ad75[_0x38ab54(0x14a)][_0x20c643]&&_0x31aa01[_0x38ab54(0x146)](_0x20c643);}}const _0x4bbd60=_0x22ce40[_0x38ab54(0x142)]===0x0&&_0x115de6['length']===0x0&&_0x493cbb[_0x38ab54(0x142)]===0x0&&_0x31aa01[_0x38ab54(0x142)]===0x0;return{'ok':!![],'data':{'added':_0x22ce40,'modified':_0x115de6,'missing':_0x493cbb,'unchanged':_0xf85719,'remoteOnly':_0x31aa01},'message':_0x4bbd60?_0x38ab54(0x13c):_0x22ce40['length']+_0x38ab54(0x140)+_0x115de6[_0x38ab54(0x142)]+_0x38ab54(0x138)+_0x493cbb[_0x38ab54(0x142)]+'\x20missing,\x20'+_0xf85719['length']+_0x38ab54(0x126)+(_0x31aa01['length']>0x0?',\x20'+_0x31aa01[_0x38ab54(0x142)]+_0x38ab54(0x149):'')};}};
1
+ function a128_0x43b1(_0x50e180,_0x500904){_0x50e180=_0x50e180-0x192;const _0x9a4f5d=a128_0x9a4f();let _0x43b1b6=_0x9a4f5d[_0x50e180];return _0x43b1b6;}const a128_0x3920a2=a128_0x43b1;(function(_0x16cf12,_0x4fc6d5){const _0x4081ca=a128_0x43b1,_0x2f886a=_0x16cf12();while(!![]){try{const _0x279bc8=-parseInt(_0x4081ca(0x1ad))/0x1*(-parseInt(_0x4081ca(0x1a3))/0x2)+-parseInt(_0x4081ca(0x1a5))/0x3+parseInt(_0x4081ca(0x194))/0x4*(parseInt(_0x4081ca(0x1a7))/0x5)+-parseInt(_0x4081ca(0x1af))/0x6+parseInt(_0x4081ca(0x195))/0x7*(parseInt(_0x4081ca(0x1b2))/0x8)+parseInt(_0x4081ca(0x1b8))/0x9+-parseInt(_0x4081ca(0x197))/0xa;if(_0x279bc8===_0x4fc6d5)break;else _0x2f886a['push'](_0x2f886a['shift']());}catch(_0x3ed3ca){_0x2f886a['push'](_0x2f886a['shift']());}}}(a128_0x9a4f,0x88a0c));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x3b451e){const _0x7734c9=a128_0x43b1,_0xc2e10c=[];let _0x23823f=0x1;while(!![]){const _0x53ded8=await listSqlQueries(_0x3b451e,{'currentPage':_0x23823f,'pageSize':PAGE_SIZE}),_0xc4909d=_0x53ded8[_0x7734c9(0x1ab)]??[];_0xc2e10c[_0x7734c9(0x1a9)](..._0xc4909d[_0x7734c9(0x1a6)](_0x5de38a=>_0x5de38a[_0x7734c9(0x1b7)]));if(_0xc4909d[_0x7734c9(0x1a8)]===0x0)break;const _0x596f31=_0x53ded8[_0x7734c9(0x19e)]?.[_0x7734c9(0x1b5)];if(_0x596f31!=null?_0xc2e10c[_0x7734c9(0x1a8)]>=_0x596f31:_0xc4909d[_0x7734c9(0x1a8)]<PAGE_SIZE)break;_0x23823f++;}return _0xc2e10c;}export const sqlStatus={'service':a128_0x3920a2(0x192),'command':a128_0x3920a2(0x1a2),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':'read','flags':[{'name':'remote','type':a128_0x3920a2(0x1b6),'description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x4553bb){const _0x58e10e=a128_0x3920a2,_0x28ee9d=loadSqlProjectConfig(_0x4553bb[_0x58e10e(0x19d)]),_0x1c7a01=await readSqlLockFile(_0x28ee9d['lockFilePath']),{appLock:_0x30c1a6}=ensureSqlLockScope(_0x1c7a01??createEmptySqlLock(),_0x28ee9d['appCode'],_0x28ee9d[_0x58e10e(0x199)],_0x58e10e(0x1a2)),_0x583ccd=await scanLocalSqlQueries(_0x28ee9d),_0xf590e7=[],_0x3c03d7=[],_0x15ce1a=[],_0x206f86=[],_0x5ee543=new Set(_0x583ccd[_0x58e10e(0x1a6)](_0x31c8dd=>_0x31c8dd[_0x58e10e(0x19f)]));for(const _0x5cf9ba of _0x583ccd){const _0x4b3c99=await computeSqlFileHash(_0x5cf9ba[_0x58e10e(0x1a4)]),_0x422e56=_0x30c1a6['sqls'][_0x5cf9ba[_0x58e10e(0x19f)]],_0x467b4e=!!_0x422e56&&_0x422e56[_0x58e10e(0x1a0)]!==_0x5cf9ba[_0x58e10e(0x196)],_0x4c2ea9=!!_0x422e56&&!!_0x5cf9ba[_0x58e10e(0x19b)]&&_0x422e56[_0x58e10e(0x19b)]!==_0x5cf9ba['sqlName'];if(!_0x422e56)_0xf590e7['push'](_0x5cf9ba[_0x58e10e(0x19f)]);else _0x422e56[_0x58e10e(0x1aa)]!==_0x4b3c99||_0x467b4e||_0x4c2ea9?_0x3c03d7[_0x58e10e(0x1a9)](_0x5cf9ba[_0x58e10e(0x19f)]):_0x15ce1a[_0x58e10e(0x1a9)](_0x5cf9ba[_0x58e10e(0x19f)]);}for(const _0x3902b0 of Object[_0x58e10e(0x1b3)](_0x30c1a6['sqls'])){!_0x5ee543['has'](_0x3902b0)&&_0x206f86[_0x58e10e(0x1a9)](_0x3902b0);}const _0x442f4b=[];if(_0x4553bb[_0x58e10e(0x198)](_0x58e10e(0x193))){const _0x465460=await fetchAllSqlCodes(_0x4553bb[_0x58e10e(0x19d)]);for(const _0x57d6e9 of _0x465460){!_0x5ee543[_0x58e10e(0x19c)](_0x57d6e9)&&!_0x30c1a6[_0x58e10e(0x1b1)][_0x57d6e9]&&_0x442f4b['push'](_0x57d6e9);}}const _0x29b823=_0xf590e7['length']===0x0&&_0x3c03d7['length']===0x0&&_0x206f86['length']===0x0&&_0x442f4b[_0x58e10e(0x1a8)]===0x0;return{'ok':!![],'data':{'added':_0xf590e7,'modified':_0x3c03d7,'missing':_0x206f86,'unchanged':_0x15ce1a,'remoteOnly':_0x442f4b},'message':_0x29b823?_0x58e10e(0x1b0):_0xf590e7['length']+_0x58e10e(0x1b4)+_0x3c03d7[_0x58e10e(0x1a8)]+_0x58e10e(0x19a)+_0x206f86[_0x58e10e(0x1a8)]+_0x58e10e(0x1a1)+_0x15ce1a[_0x58e10e(0x1a8)]+_0x58e10e(0x1ac)+(_0x442f4b[_0x58e10e(0x1a8)]>0x0?',\x20'+_0x442f4b[_0x58e10e(0x1a8)]+_0x58e10e(0x1ae):'')};}};function a128_0x9a4f(){const _0x4cc708=['395162LshpAw','filePath','2546679Xsnonn','map','15IsavMM','length','push','hash','tableData','\x20unchanged','1XMPuuL','\x20remote-only','438252efaFFm','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqls','320UaxvcD','keys','\x20added,\x20','totalCount','boolean','sqlCode','9741852YphShs','sql','remote','1112308EXFift','170023kWEFPn','relativePath','16042370XaMItj','bool','sqlRoot','\x20modified,\x20','sqlName','has','appCode','paging','lockKey','path','\x20missing,\x20','status'];a128_0x9a4f=function(){return _0x4cc708;};return a128_0x9a4f();}
@@ -1 +1 @@
1
- const a129_0x489054=a129_0x33d6;(function(_0x3edafe,_0xdfc46d){const _0x47fe51=a129_0x33d6,_0x3ea317=_0x3edafe();while(!![]){try{const _0x3be28c=parseInt(_0x47fe51(0x1c6))/0x1+parseInt(_0x47fe51(0x1e4))/0x2+-parseInt(_0x47fe51(0x1d8))/0x3*(-parseInt(_0x47fe51(0x1e8))/0x4)+parseInt(_0x47fe51(0x1d4))/0x5*(parseInt(_0x47fe51(0x1d9))/0x6)+-parseInt(_0x47fe51(0x1d3))/0x7*(-parseInt(_0x47fe51(0x1d5))/0x8)+-parseInt(_0x47fe51(0x1c1))/0x9+-parseInt(_0x47fe51(0x1c7))/0xa;if(_0x3be28c===_0xdfc46d)break;else _0x3ea317['push'](_0x3ea317['shift']());}catch(_0x21f04b){_0x3ea317['push'](_0x3ea317['shift']());}}}(a129_0x4391,0x27ca3));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';function a129_0x4391(){const _0x1dc29c=['size','valid','schema:','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','sqlType','str','file','type','isDangerous','711450OyQaZl','Provide\x20--file\x20or\x20--sql','length','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','flagMissing','180971ahmonR','7907930PZbRla','cwd','name','utf-8','dbtableConfig','toLowerCase','map','string','appCode','File\x20not\x20found:\x20','\x22\x20not\x20found\x20or\x20not\x20accessible','isArray','3087rCsTff','1148765kjSxqq','4648EHYVoB','\x22\x20not\x20found\x20in\x20any\x20dataset','Table\x20\x22','3CyIKWi','6mjnakh','split','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','fields','schemas','schemaWarnings','parameters','message','reason','tables','push','517818zmrBVA','SQL\x20schema\x20validation','tableName','trim','427872BGdIhi','validate','validation','sql'];a129_0x4391=function(){return _0x1dc29c;};return a129_0x4391();}import{validateSql}from'../../core/sql-validator.js';import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';function a129_0x33d6(_0x211ac0,_0x28b011){_0x211ac0=_0x211ac0-0x1bc;const _0x43912b=a129_0x4391();let _0x33d667=_0x43912b[_0x211ac0];return _0x33d667;}export const sqlValidate={'service':a129_0x489054(0x1eb),'command':a129_0x489054(0x1e9),'description':a129_0x489054(0x1c4),'risk':'read','flags':[{'name':'file','type':a129_0x489054(0x1ce),'description':a129_0x489054(0x1db)},{'name':a129_0x489054(0x1eb),'type':a129_0x489054(0x1ce),'description':a129_0x489054(0x1ef)},{'name':a129_0x489054(0x1dd),'type':a129_0x489054(0x1ce),'description':'Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against'}],async 'execute'(_0x2f565d){const _0x372efd=a129_0x489054,_0x5541eb=_0x2f565d[_0x372efd(0x1bd)](_0x372efd(0x1be)),_0x5b6940=_0x2f565d[_0x372efd(0x1bd)](_0x372efd(0x1eb));if(!_0x5541eb&&!_0x5b6940)throw CliErrors[_0x372efd(0x1c5)](_0x372efd(0x1be),_0x372efd(0x1c2));let _0x4c4495;if(_0x5541eb){const _0x5b3b83=resolve(process[_0x372efd(0x1c8)](),_0x5541eb);if(!existsSync(_0x5b3b83))throw CliErrors[_0x372efd(0x1ea)](_0x372efd(0x1d0)+_0x5b3b83);_0x4c4495=readFileSync(_0x5b3b83,_0x372efd(0x1ca));}else _0x4c4495=_0x5b6940;const _0x5da1be=validateSql(_0x4c4495),_0x3c0f26={'valid':_0x5da1be[_0x372efd(0x1ed)],'sqlType':_0x5da1be[_0x372efd(0x1bc)][_0x372efd(0x1bf)],'isSelectOnly':_0x5da1be[_0x372efd(0x1bc)]['isSelectOnly'],'isDangerous':_0x5da1be[_0x372efd(0x1bc)][_0x372efd(0x1c0)],'tables':_0x5da1be[_0x372efd(0x1e2)],'parameters':_0x5da1be[_0x372efd(0x1df)],'message':_0x5da1be[_0x372efd(0x1e0)]};_0x5da1be['sqlType'][_0x372efd(0x1e1)]&&(_0x3c0f26[_0x372efd(0x1e1)]=_0x5da1be['sqlType'][_0x372efd(0x1e1)]);const _0x3b6697=_0x2f565d[_0x372efd(0x1bd)](_0x372efd(0x1dd));if(_0x3b6697&&_0x5da1be['valid']){const _0x2a2ab5=_0x3b6697[_0x372efd(0x1da)](',')[_0x372efd(0x1cd)](_0x31356c=>_0x31356c[_0x372efd(0x1e7)]())['filter'](Boolean),_0x1f45ca=[],_0x22b3d5=filterDbBackedDatasets(await listDatasets(_0x2f565d[_0x372efd(0x1cf)])),_0x40376f=new Map(_0x22b3d5[_0x372efd(0x1cd)](_0x184913=>[_0x184913[_0x372efd(0x1cb)]?.['tableName']?.[_0x372efd(0x1cc)](),_0x184913]));for(const _0x5d0b00 of _0x5da1be[_0x372efd(0x1e2)]){const _0x52c645=_0x40376f['get'](_0x5d0b00[_0x372efd(0x1cc)]());!_0x52c645&&_0x1f45ca[_0x372efd(0x1e3)](_0x372efd(0x1d7)+_0x5d0b00+_0x372efd(0x1d6));}for(const _0x186350 of _0x2a2ab5){let _0x2115b7;try{_0x2115b7=await getDatasetDetail(_0x186350);}catch{_0x1f45ca[_0x372efd(0x1e3)]('Dataset\x20\x22'+_0x186350+_0x372efd(0x1d1));continue;}assertDatasetSupportsLocalDevelopment(_0x2115b7,_0x372efd(0x1e5));const _0x2deb7f=Array[_0x372efd(0x1d2)](_0x2115b7['fields'])?_0x2115b7[_0x372efd(0x1dc)]:[],_0x4a70ea=new Set(_0x2deb7f[_0x372efd(0x1cd)](_0x3c889f=>_0x3c889f[_0x372efd(0x1c9)]?.[_0x372efd(0x1cc)]())),_0x5a5599=_0x2115b7[_0x372efd(0x1cb)]?.[_0x372efd(0x1e6)]||_0x2115b7[_0x372efd(0x1e6)]||_0x186350;_0x3c0f26[_0x372efd(0x1ee)+_0x5a5599]={'code':_0x186350,'tableName':_0x5a5599,'fieldCount':_0x4a70ea[_0x372efd(0x1ec)],'fields':Array['from'](_0x4a70ea)};}_0x1f45ca[_0x372efd(0x1c3)]>0x0&&(_0x3c0f26[_0x372efd(0x1de)]=_0x1f45ca);}return{'ok':_0x5da1be[_0x372efd(0x1ed)],'data':_0x3c0f26,'message':_0x5da1be[_0x372efd(0x1e0)]};}};
1
+ const a129_0x21a1aa=a129_0x1486;(function(_0xfcc4dd,_0xcbb6d2){const _0x269d73=a129_0x1486,_0x184ab2=_0xfcc4dd();while(!![]){try{const _0x3b924e=-parseInt(_0x269d73(0xdb))/0x1+parseInt(_0x269d73(0xf4))/0x2*(parseInt(_0x269d73(0xd9))/0x3)+-parseInt(_0x269d73(0xe4))/0x4*(parseInt(_0x269d73(0xc7))/0x5)+-parseInt(_0x269d73(0xcb))/0x6+-parseInt(_0x269d73(0xe1))/0x7+-parseInt(_0x269d73(0xd8))/0x8+parseInt(_0x269d73(0xef))/0x9*(parseInt(_0x269d73(0xde))/0xa);if(_0x3b924e===_0xcbb6d2)break;else _0x184ab2['push'](_0x184ab2['shift']());}catch(_0x1a74d2){_0x184ab2['push'](_0x184ab2['shift']());}}}(a129_0x3e21,0x6a3d8));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';function a129_0x1486(_0xf750b3,_0x31a582){_0xf750b3=_0xf750b3-0xc5;const _0x3e214c=a129_0x3e21();let _0x1486a5=_0x3e214c[_0xf750b3];return _0x1486a5;}import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':'sql','command':a129_0x21a1aa(0xe6),'description':a129_0x21a1aa(0xe7),'risk':a129_0x21a1aa(0xeb),'flags':[{'name':a129_0x21a1aa(0xce),'type':a129_0x21a1aa(0xee),'description':a129_0x21a1aa(0xc8)},{'name':'sql','type':a129_0x21a1aa(0xee),'description':a129_0x21a1aa(0xf2)},{'name':a129_0x21a1aa(0xc6),'type':'string','description':a129_0x21a1aa(0xe9)}],async 'execute'(_0x5862be){const _0x38b2b4=a129_0x21a1aa,_0x1f43c6=_0x5862be['str'](_0x38b2b4(0xce)),_0x1ef9fd=_0x5862be['str']('sql');if(!_0x1f43c6&&!_0x1ef9fd)throw CliErrors[_0x38b2b4(0xe0)](_0x38b2b4(0xce),_0x38b2b4(0xd6));let _0x1aae21;if(_0x1f43c6){const _0x2a2c39=resolve(process[_0x38b2b4(0xf0)](),_0x1f43c6);if(!existsSync(_0x2a2c39))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x2a2c39);_0x1aae21=readFileSync(_0x2a2c39,_0x38b2b4(0xe8));}else _0x1aae21=_0x1ef9fd;const _0x251c81=validateSql(_0x1aae21),_0x4f79bc={'valid':_0x251c81['valid'],'sqlType':_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd7)],'isSelectOnly':_0x251c81[_0x38b2b4(0xec)]['isSelectOnly'],'isDangerous':_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xdd)],'tables':_0x251c81[_0x38b2b4(0xca)],'parameters':_0x251c81[_0x38b2b4(0xe2)],'message':_0x251c81['message']};_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd0)]&&(_0x4f79bc[_0x38b2b4(0xd0)]=_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd0)]);const _0x52fb75=_0x5862be['str']('schemas');if(_0x52fb75&&_0x251c81[_0x38b2b4(0xed)]){const _0x1a7933=_0x52fb75[_0x38b2b4(0xcf)](',')[_0x38b2b4(0xe3)](_0xbbaac2=>_0xbbaac2['trim']())[_0x38b2b4(0xf3)](Boolean),_0x745693=[],_0x62817f=filterDbBackedDatasets(await listDatasets(_0x5862be['appCode'])),_0x305dbd=new Map(_0x62817f['map'](_0x5d6270=>[_0x5d6270['dbtableConfig']?.[_0x38b2b4(0xd1)]?.[_0x38b2b4(0xdc)](),_0x5d6270]));for(const _0x3310cc of _0x251c81[_0x38b2b4(0xca)]){const _0x16237e=_0x305dbd['get'](_0x3310cc[_0x38b2b4(0xdc)]());!_0x16237e&&_0x745693[_0x38b2b4(0xe5)](_0x38b2b4(0xd4)+_0x3310cc+_0x38b2b4(0xc5));}for(const _0x310395 of _0x1a7933){let _0x102e10;try{_0x102e10=await getDatasetDetail(_0x310395);}catch{_0x745693[_0x38b2b4(0xe5)](_0x38b2b4(0xc9)+_0x310395+'\x22\x20not\x20found\x20or\x20not\x20accessible');continue;}assertDatasetSupportsLocalDevelopment(_0x102e10,_0x38b2b4(0xd5));const _0x23e4c7=Array[_0x38b2b4(0xcd)](_0x102e10[_0x38b2b4(0xdf)])?_0x102e10[_0x38b2b4(0xdf)]:[],_0x3bf152=new Set(_0x23e4c7['map'](_0x5c8ac7=>_0x5c8ac7[_0x38b2b4(0xd2)]?.['toLowerCase']())),_0x58673f=_0x102e10[_0x38b2b4(0xd3)]?.['tableName']||_0x102e10[_0x38b2b4(0xd1)]||_0x310395;_0x4f79bc['schema:'+_0x58673f]={'code':_0x310395,'tableName':_0x58673f,'fieldCount':_0x3bf152[_0x38b2b4(0xf1)],'fields':Array[_0x38b2b4(0xda)](_0x3bf152)};}_0x745693[_0x38b2b4(0xcc)]>0x0&&(_0x4f79bc[_0x38b2b4(0xea)]=_0x745693);}return{'ok':_0x251c81['valid'],'data':_0x4f79bc,'message':_0x251c81['message']};}};function a129_0x3e21(){const _0x459d41=['Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','utf-8','Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','schemaWarnings','read','sqlType','valid','string','488925FrOtbi','cwd','size','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','filter','106522vOwoSK','\x22\x20not\x20found\x20in\x20any\x20dataset','schemas','5gfQnak','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Dataset\x20\x22','tables','3586812OAZWeM','length','isArray','file','split','reason','tableName','name','dbtableConfig','Table\x20\x22','SQL\x20schema\x20validation','Provide\x20--file\x20or\x20--sql','type','3354248eoQwWe','39tzdkSY','from','560975vIEAQv','toLowerCase','isDangerous','400jfQIYL','fields','flagMissing','3831191awvKGn','parameters','map','1219448ySbHgT','push','validate'];a129_0x3e21=function(){return _0x459d41;};return a129_0x3e21();}
@@ -1 +1 @@
1
- const a130_0x31d17b=a130_0x2f64;(function(_0x3ba1f7,_0x2bcde9){const _0x36edaa=a130_0x2f64,_0xcad2ce=_0x3ba1f7();while(!![]){try{const _0x3fc505=-parseInt(_0x36edaa(0x1da))/0x1*(-parseInt(_0x36edaa(0x1d1))/0x2)+parseInt(_0x36edaa(0x1cd))/0x3+-parseInt(_0x36edaa(0x1ce))/0x4+-parseInt(_0x36edaa(0x1c0))/0x5*(parseInt(_0x36edaa(0x1e5))/0x6)+-parseInt(_0x36edaa(0x1c5))/0x7+-parseInt(_0x36edaa(0x1ca))/0x8*(parseInt(_0x36edaa(0x1d6))/0x9)+-parseInt(_0x36edaa(0x1d3))/0xa*(-parseInt(_0x36edaa(0x1cb))/0xb);if(_0x3fc505===_0x2bcde9)break;else _0xcad2ce['push'](_0xcad2ce['shift']());}catch(_0x5706b1){_0xcad2ce['push'](_0xcad2ce['shift']());}}}(a130_0x1a6b,0x24035));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RABETBASE_ENV_VALUES}from'../constant/env.js';import{RABETBASE_OUTPUT_FORMAT_VALUES}from'../constant/output.js';import{RISK_LEVEL_VALUES}from'../constant/risk.js';export{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';export const PROJECT_CREATE_INHERITABLE_KEYS=[a130_0x31d17b(0x1ea),a130_0x31d17b(0x1c4),a130_0x31d17b(0x1e6),a130_0x31d17b(0x1d7),a130_0x31d17b(0x1c3)];export const TOP_LEVEL_CONFIG_KEYS=new Set([a130_0x31d17b(0x1df),a130_0x31d17b(0x1e9),'locale',a130_0x31d17b(0x1d7),a130_0x31d17b(0x1ea),a130_0x31d17b(0x1c4),a130_0x31d17b(0x1c6)]);export const CONFIG_ENUM_VALUES={'env':[...RABETBASE_ENV_VALUES],'format':[...RABETBASE_OUTPUT_FORMAT_VALUES]};export function formatConfigKeyList(_0x15e500){const _0x46a0db=a130_0x31d17b;return[..._0x15e500][_0x46a0db(0x1d0)](',\x20');}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function isTopLevelConfigKey(_0x2cba70){return TOP_LEVEL_CONFIG_KEYS['has'](_0x2cba70);}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x200696=a130_0x31d17b;return _0x200696(0x1e1)+getTopLevelConfigKeySummary()+')';}export const APP_PROFILE_FLAG_KEY_MAP={'env':a130_0x31d17b(0x1e9),'apiDir':'apiDir','cookie':a130_0x31d17b(0x1ea),'accessKey':a130_0x31d17b(0x1c4),'defaultFormat':'format','pageSize':a130_0x31d17b(0x1e0),'riskLevel':a130_0x31d17b(0x1c3),'locale':a130_0x31d17b(0x1e6)};export function getAppProfileFlagDefs(){const _0x3ee6c6=a130_0x31d17b;return[{'name':_0x3ee6c6(0x1e9),'type':'string','description':'Target\x20environment','enum':[...RABETBASE_ENV_VALUES]},{'name':_0x3ee6c6(0x1c6),'type':'string','description':_0x3ee6c6(0x1dd)},{'name':_0x3ee6c6(0x1ea),'type':_0x3ee6c6(0x1c7),'description':_0x3ee6c6(0x1de),'hidden':!![]},{'name':'accessKey','type':_0x3ee6c6(0x1c7),'description':'Access\x20key','hidden':!![]},{'name':'defaultFormat','type':_0x3ee6c6(0x1c7),'description':_0x3ee6c6(0x1dc),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':'pageSize','type':_0x3ee6c6(0x1e2),'description':_0x3ee6c6(0x1c9)},{'name':_0x3ee6c6(0x1c3),'type':_0x3ee6c6(0x1c7),'description':_0x3ee6c6(0x1d5),'enum':[...RISK_LEVEL_VALUES]},{'name':_0x3ee6c6(0x1e6),'type':_0x3ee6c6(0x1c7),'description':_0x3ee6c6(0x1c2)}];}export function collectAppProfileOverrides(_0x56f0e8){const _0x243459=a130_0x31d17b,_0x55095e={};for(const [_0x55a950,_0x128e62]of Object[_0x243459(0x1d2)](APP_PROFILE_FLAG_KEY_MAP)){const _0x1bf0db=_0x56f0e8(_0x55a950);if(!_0x1bf0db)continue;_0x55095e[_0x128e62]=_0x128e62===_0x243459(0x1e0)?Number(_0x1bf0db):_0x1bf0db;}return _0x55095e;}export function buildAppProfileListFields(_0x32dfa0){const _0x30b881=a130_0x31d17b;return{'env':_0x32dfa0['env']??null,'apiDir':_0x32dfa0[_0x30b881(0x1c6)]??null,'hasCookie':!!_0x32dfa0[_0x30b881(0x1ea)],'hasAccessKey':!!_0x32dfa0[_0x30b881(0x1c4)],'format':_0x32dfa0[_0x30b881(0x1d7)]??null,'pageSize':_0x32dfa0[_0x30b881(0x1e0)]??null,'riskLevel':_0x32dfa0[_0x30b881(0x1c3)]??null,'locale':_0x32dfa0[_0x30b881(0x1e6)]??null};}function a130_0x2f64(_0x304938,_0xf7fa33){_0x304938=_0x304938-0x1c0;const _0x1a6b22=a130_0x1a6b();let _0x2f64e9=_0x1a6b22[_0x304938];return _0x2f64e9;}export function buildAppDoctorFields(_0x64a55e,_0x38db69){const _0x3b8a97=a130_0x31d17b;return{'env':{'value':_0x64a55e[_0x3b8a97(0x1e9)]||_0x38db69[_0x3b8a97(0x1e9)],'source':_0x64a55e[_0x3b8a97(0x1e9)]?_0x3b8a97(0x1c8):'inherit'},'apiDir':{'value':_0x64a55e[_0x3b8a97(0x1c6)]||_0x38db69['apiDir'],'source':_0x64a55e[_0x3b8a97(0x1c6)]?'app':_0x3b8a97(0x1e7)},'cookie':{'value':_0x64a55e[_0x3b8a97(0x1ea)]||_0x38db69[_0x3b8a97(0x1ea)],'source':_0x64a55e[_0x3b8a97(0x1ea)]?_0x3b8a97(0x1c8):_0x3b8a97(0x1e7)},'accessKey':{'value':_0x64a55e[_0x3b8a97(0x1c4)]||_0x38db69[_0x3b8a97(0x1c4)],'source':_0x64a55e[_0x3b8a97(0x1c4)]?_0x3b8a97(0x1c8):_0x3b8a97(0x1e7)}};}export function buildCanonicalAppConfig(_0x45d31c,_0x44d4a9){const _0x5cd39f=a130_0x31d17b,_0x3bbbf8=_0x45d31c[_0x5cd39f(0x1d9)](_0x52fe68=>String(_0x52fe68||'')[_0x5cd39f(0x1e3)]())[_0x5cd39f(0x1d8)](Boolean);if(_0x3bbbf8['length']===0x0)return{};const _0x18851d={};for(const _0x417bce of _0x3bbbf8){_0x18851d[_0x417bce]=_0x44d4a9?{'appcode':_0x417bce,'env':_0x44d4a9}:{'appcode':_0x417bce};}return{'apps':_0x18851d,'defaultApp':_0x3bbbf8[0x0]};}export function buildCanonicalProjectConfig(_0x59f47e,_0x3a6fdf){const _0x39f295=a130_0x31d17b,{appCodes:appCodes=[],env:_0x533f80,metadata:_0x46c43f}=_0x3a6fdf,_0x3c3f0a={..._0x59f47e,..._0x46c43f||{}};delete _0x3c3f0a[_0x39f295(0x1df)],delete _0x3c3f0a[_0x39f295(0x1c8)];if(_0x533f80)_0x3c3f0a[_0x39f295(0x1e9)]=_0x533f80;else!_0x3c3f0a[_0x39f295(0x1e9)]&&(_0x3c3f0a[_0x39f295(0x1e9)]=DEFAULT_CONFIG_VALUES[_0x39f295(0x1e9)]);const _0x539971=buildCanonicalAppConfig(appCodes,_0x3c3f0a[_0x39f295(0x1e9)]);return Object[_0x39f295(0x1db)](_0x539971)[_0x39f295(0x1cc)]>0x0&&(_0x3c3f0a[_0x39f295(0x1cf)]=_0x539971[_0x39f295(0x1cf)],_0x3c3f0a['defaultApp']=_0x539971[_0x39f295(0x1d4)]),_0x3c3f0a;}const LOCALE_MAP={'zh':a130_0x31d17b(0x1e8),'zh-cn':a130_0x31d17b(0x1e8),'zh_cn':a130_0x31d17b(0x1e8),'en':'en-US','en-us':'en-US','en_us':a130_0x31d17b(0x1e4)};export function normalizeLocale(_0x33b8c4){const _0x3ebc7a=a130_0x31d17b;if(!_0x33b8c4)return null;return LOCALE_MAP[_0x33b8c4[_0x3ebc7a(0x1c1)]()]??null;}function a130_0x1a6b(){const _0x3395ed=['Default\x20page\x20size','1208fRXYDU','22wtMrHV','length','33054MBahGg','412672aBSqPn','apps','join','1044fZmolx','entries','2938390sFuCYI','defaultApp','Risk\x20level','6606JGIaPw','format','filter','map','328UKESzk','keys','Default\x20output\x20format\x20for\x20this\x20app\x20(profile)','API\x20directory\x20path','Auth\x20cookie','appcode','pageSize','Config\x20key\x20(','number','trim','en-US','2874QjKVCn','locale','inherit','zh-CN','env','cookie','1675ZQmMVS','toLowerCase','Locale','riskLevel','accessKey','1735552bBDxmB','apiDir','string','app'];a130_0x1a6b=function(){return _0x3395ed;};return a130_0x1a6b();}
1
+ const a130_0x56c957=a130_0x5386;(function(_0x681203,_0x369563){const _0x567b97=a130_0x5386,_0x571766=_0x681203();while(!![]){try{const _0x12e27d=parseInt(_0x567b97(0xfb))/0x1+parseInt(_0x567b97(0xda))/0x2*(-parseInt(_0x567b97(0xed))/0x3)+parseInt(_0x567b97(0xef))/0x4+parseInt(_0x567b97(0xe0))/0x5+-parseInt(_0x567b97(0xe9))/0x6*(parseInt(_0x567b97(0xd3))/0x7)+parseInt(_0x567b97(0xe1))/0x8+-parseInt(_0x567b97(0xfc))/0x9;if(_0x12e27d===_0x369563)break;else _0x571766['push'](_0x571766['shift']());}catch(_0x2a0e5a){_0x571766['push'](_0x571766['shift']());}}}(a130_0x5b53,0xda41c));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RABETBASE_ENV_VALUES}from'../constant/env.js';function a130_0x5b53(){const _0x1eecd4=['14KELeNN','inherit','pageSize','Auth\x20cookie','Target\x20environment','en-US','number','48ffBZJb','apps','trim','entries','string','Default\x20output\x20format\x20for\x20this\x20app\x20(profile)','713705xPNyQg','3560408GoMkBY','Config\x20key\x20(','length','cookie','defaultApp','map','riskLevel','Locale','2000382xUFaIK','app','appcode','filter','180723LTMVBo','Risk\x20level','6332080RIjtVz','defaultFormat','has','API\x20directory\x20path','env','keys','format','accessKey','toLowerCase','apiDir','locale','join','1197241ULLJYs','3253455dSnByf','zh-CN'];a130_0x5b53=function(){return _0x1eecd4;};return a130_0x5b53();}import{RABETBASE_OUTPUT_FORMAT_VALUES}from'../constant/output.js';function a130_0x5386(_0x871e1a,_0x526c5d){_0x871e1a=_0x871e1a-0xd2;const _0x5b5339=a130_0x5b53();let _0x5386bd=_0x5b5339[_0x871e1a];return _0x5386bd;}import{RISK_LEVEL_VALUES}from'../constant/risk.js';export{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';export const PROJECT_CREATE_INHERITABLE_KEYS=[a130_0x56c957(0xe4),a130_0x56c957(0xf6),a130_0x56c957(0xf9),a130_0x56c957(0xf5),a130_0x56c957(0xe7)];export const TOP_LEVEL_CONFIG_KEYS=new Set([a130_0x56c957(0xeb),a130_0x56c957(0xf3),a130_0x56c957(0xf9),a130_0x56c957(0xf5),a130_0x56c957(0xe4),a130_0x56c957(0xf6),a130_0x56c957(0xf8)]);export const CONFIG_ENUM_VALUES={'env':[...RABETBASE_ENV_VALUES],'format':[...RABETBASE_OUTPUT_FORMAT_VALUES]};export function formatConfigKeyList(_0x4051f2){const _0x30966f=a130_0x56c957;return[..._0x4051f2][_0x30966f(0xfa)](',\x20');}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function isTopLevelConfigKey(_0x10ec06){const _0x5756c1=a130_0x56c957;return TOP_LEVEL_CONFIG_KEYS[_0x5756c1(0xf1)](_0x10ec06);}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x234d20=a130_0x56c957;return _0x234d20(0xe2)+getTopLevelConfigKeySummary()+')';}export const APP_PROFILE_FLAG_KEY_MAP={'env':a130_0x56c957(0xf3),'apiDir':a130_0x56c957(0xf8),'cookie':a130_0x56c957(0xe4),'accessKey':a130_0x56c957(0xf6),'defaultFormat':a130_0x56c957(0xf5),'pageSize':'pageSize','riskLevel':a130_0x56c957(0xe7),'locale':a130_0x56c957(0xf9)};export function getAppProfileFlagDefs(){const _0x5b63a6=a130_0x56c957;return[{'name':_0x5b63a6(0xf3),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xd7),'enum':[...RABETBASE_ENV_VALUES]},{'name':_0x5b63a6(0xf8),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xf2)},{'name':_0x5b63a6(0xe4),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xd6),'hidden':!![]},{'name':_0x5b63a6(0xf6),'type':'string','description':'Access\x20key','hidden':!![]},{'name':_0x5b63a6(0xf0),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xdf),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':_0x5b63a6(0xd5),'type':_0x5b63a6(0xd9),'description':'Default\x20page\x20size'},{'name':_0x5b63a6(0xe7),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xee),'enum':[...RISK_LEVEL_VALUES]},{'name':'locale','type':_0x5b63a6(0xde),'description':_0x5b63a6(0xe8)}];}export function collectAppProfileOverrides(_0x2e0d83){const _0x57bb39=a130_0x56c957,_0xafd862={};for(const [_0x259eb0,_0x24f7b5]of Object[_0x57bb39(0xdd)](APP_PROFILE_FLAG_KEY_MAP)){const _0x66d914=_0x2e0d83(_0x259eb0);if(!_0x66d914)continue;_0xafd862[_0x24f7b5]=_0x24f7b5===_0x57bb39(0xd5)?Number(_0x66d914):_0x66d914;}return _0xafd862;}export function buildAppProfileListFields(_0x472d41){const _0x3b8ac7=a130_0x56c957;return{'env':_0x472d41[_0x3b8ac7(0xf3)]??null,'apiDir':_0x472d41['apiDir']??null,'hasCookie':!!_0x472d41[_0x3b8ac7(0xe4)],'hasAccessKey':!!_0x472d41[_0x3b8ac7(0xf6)],'format':_0x472d41[_0x3b8ac7(0xf5)]??null,'pageSize':_0x472d41['pageSize']??null,'riskLevel':_0x472d41[_0x3b8ac7(0xe7)]??null,'locale':_0x472d41[_0x3b8ac7(0xf9)]??null};}export function buildAppDoctorFields(_0x34914b,_0x267524){const _0x57646f=a130_0x56c957;return{'env':{'value':_0x34914b[_0x57646f(0xf3)]||_0x267524[_0x57646f(0xf3)],'source':_0x34914b[_0x57646f(0xf3)]?_0x57646f(0xea):_0x57646f(0xd4)},'apiDir':{'value':_0x34914b[_0x57646f(0xf8)]||_0x267524['apiDir'],'source':_0x34914b[_0x57646f(0xf8)]?'app':_0x57646f(0xd4)},'cookie':{'value':_0x34914b[_0x57646f(0xe4)]||_0x267524[_0x57646f(0xe4)],'source':_0x34914b[_0x57646f(0xe4)]?_0x57646f(0xea):_0x57646f(0xd4)},'accessKey':{'value':_0x34914b[_0x57646f(0xf6)]||_0x267524[_0x57646f(0xf6)],'source':_0x34914b['accessKey']?_0x57646f(0xea):_0x57646f(0xd4)}};}export function buildCanonicalAppConfig(_0x512686,_0x29eea5){const _0x50d1d9=a130_0x56c957,_0x332469=_0x512686[_0x50d1d9(0xe6)](_0x23ceee=>String(_0x23ceee||'')[_0x50d1d9(0xdc)]())[_0x50d1d9(0xec)](Boolean);if(_0x332469['length']===0x0)return{};const _0xb1075a={};for(const _0x3fd99 of _0x332469){_0xb1075a[_0x3fd99]=_0x29eea5?{'appcode':_0x3fd99,'env':_0x29eea5}:{'appcode':_0x3fd99};}return{'apps':_0xb1075a,'defaultApp':_0x332469[0x0]};}export function buildCanonicalProjectConfig(_0x39e0b4,_0x37a847){const _0x21ca6f=a130_0x56c957,{appCodes:appCodes=[],env:_0xc9fc85,metadata:_0x313012}=_0x37a847,_0xa7b510={..._0x39e0b4,..._0x313012||{}};delete _0xa7b510['appcode'],delete _0xa7b510[_0x21ca6f(0xea)];if(_0xc9fc85)_0xa7b510[_0x21ca6f(0xf3)]=_0xc9fc85;else!_0xa7b510['env']&&(_0xa7b510[_0x21ca6f(0xf3)]=DEFAULT_CONFIG_VALUES[_0x21ca6f(0xf3)]);const _0xd863eb=buildCanonicalAppConfig(appCodes,_0xa7b510[_0x21ca6f(0xf3)]);return Object[_0x21ca6f(0xf4)](_0xd863eb)[_0x21ca6f(0xe3)]>0x0&&(_0xa7b510[_0x21ca6f(0xdb)]=_0xd863eb['apps'],_0xa7b510[_0x21ca6f(0xe5)]=_0xd863eb[_0x21ca6f(0xe5)]),_0xa7b510;}const LOCALE_MAP={'zh':'zh-CN','zh-cn':a130_0x56c957(0xd2),'zh_cn':a130_0x56c957(0xd2),'en':a130_0x56c957(0xd8),'en-us':'en-US','en_us':a130_0x56c957(0xd8)};export function normalizeLocale(_0x249a05){const _0x484e13=a130_0x56c957;if(!_0x249a05)return null;return LOCALE_MAP[_0x249a05[_0x484e13(0xf7)]()]??null;}
@@ -1 +1 @@
1
- function a131_0x51ee(_0x25f91a,_0x4bc71c){_0x25f91a=_0x25f91a-0x1b1;const _0x3a3c80=a131_0x3a3c();let _0x51eec0=_0x3a3c80[_0x25f91a];return _0x51eec0;}function a131_0x3a3c(){const _0x3d3e0d=['3644HfQBfs','5391ihGzDI','2965840twLaDQ','792qZlbQg','2JGrjQL','12080tFIdBv','15645XaigZe','5202054YbKBGf','5458770tKArtz','726TMpGNh','840849yxtEGH'];a131_0x3a3c=function(){return _0x3d3e0d;};return a131_0x3a3c();}(function(_0x521ac1,_0x3b58f4){const _0x1a8ed4=a131_0x51ee,_0x1ab52c=_0x521ac1();while(!![]){try{const _0x2beced=parseInt(_0x1a8ed4(0x1b6))/0x1*(parseInt(_0x1a8ed4(0x1bb))/0x2)+parseInt(_0x1a8ed4(0x1b5))/0x3*(parseInt(_0x1a8ed4(0x1b7))/0x4)+-parseInt(_0x1a8ed4(0x1b9))/0x5+-parseInt(_0x1a8ed4(0x1b4))/0x6+parseInt(_0x1a8ed4(0x1b2))/0x7*(-parseInt(_0x1a8ed4(0x1ba))/0x8)+parseInt(_0x1a8ed4(0x1b8))/0x9*(parseInt(_0x1a8ed4(0x1b1))/0xa)+parseInt(_0x1a8ed4(0x1b3))/0xb;if(_0x2beced===_0x3b58f4)break;else _0x1ab52c['push'](_0x1ab52c['shift']());}catch(_0x388480){_0x1ab52c['push'](_0x1ab52c['shift']());}}}(a131_0x3a3c,0x82455));export const CLI_VERSION_POLICY_URL='https://g.lovrabet.com/dist/rabetbase-cli/config/index.json';
1
+ const a131_0x36a194=a131_0x2bb4;function a131_0x2bb4(_0x4bd1fd,_0x24da79){_0x4bd1fd=_0x4bd1fd-0x152;const _0x2b1af8=a131_0x2b1a();let _0x2bb4d5=_0x2b1af8[_0x4bd1fd];return _0x2bb4d5;}(function(_0x557ad6,_0x558797){const _0x3a795b=a131_0x2bb4,_0x991c9a=_0x557ad6();while(!![]){try{const _0x1fc449=parseInt(_0x3a795b(0x15b))/0x1+-parseInt(_0x3a795b(0x158))/0x2+-parseInt(_0x3a795b(0x159))/0x3*(parseInt(_0x3a795b(0x155))/0x4)+parseInt(_0x3a795b(0x153))/0x5*(-parseInt(_0x3a795b(0x15a))/0x6)+-parseInt(_0x3a795b(0x152))/0x7*(parseInt(_0x3a795b(0x154))/0x8)+parseInt(_0x3a795b(0x156))/0x9+parseInt(_0x3a795b(0x157))/0xa;if(_0x1fc449===_0x558797)break;else _0x991c9a['push'](_0x991c9a['shift']());}catch(_0x3d9d4c){_0x991c9a['push'](_0x991c9a['shift']());}}}(a131_0x2b1a,0x9a1c9));function a131_0x2b1a(){const _0x3e0ec3=['6039090aifyQR','19613520LUfoix','1784402lTALdp','40935CVfmAA','288cURLEr','535957czXbbj','https://g.lovrabet.com/dist/rabetbase-cli/config/index.json','36162HUPEBm','76485UerjfW','248xxrpsR','220pzAzWL'];a131_0x2b1a=function(){return _0x3e0ec3;};return a131_0x2b1a();}export const CLI_VERSION_POLICY_URL=a131_0x36a194(0x15c);