@lovrabet/rabetbase-cli 2.3.4 → 2.3.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) 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/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/validate.js +1 -1
  50. package/lib/commands/config/get.js +1 -1
  51. package/lib/commands/config/index.js +1 -1
  52. package/lib/commands/config/list.js +1 -1
  53. package/lib/commands/config/set.js +1 -1
  54. package/lib/commands/config/shared.js +1 -1
  55. package/lib/commands/data/filter.js +1 -1
  56. package/lib/commands/data/getOne.js +1 -1
  57. package/lib/commands/data/index.js +1 -1
  58. package/lib/commands/data/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/capability.js +1 -1
  61. package/lib/commands/dataset/delete.js +1 -1
  62. package/lib/commands/dataset/detail.js +1 -1
  63. package/lib/commands/dataset/extend-update.js +1 -1
  64. package/lib/commands/dataset/field-update.js +1 -1
  65. package/lib/commands/dataset/generate.js +1 -1
  66. package/lib/commands/dataset/index.js +1 -1
  67. package/lib/commands/dataset/list.js +1 -1
  68. package/lib/commands/dataset/operations.js +1 -1
  69. package/lib/commands/dataset/relation-audit.js +1 -1
  70. package/lib/commands/dataset/relation-create.js +1 -1
  71. package/lib/commands/dataset/relation-delete.js +1 -1
  72. package/lib/commands/dataset/relation-shared.js +1 -1
  73. package/lib/commands/dataset/relation-update.js +1 -1
  74. package/lib/commands/dataset/relations.js +1 -1
  75. package/lib/commands/dataset/rename.js +1 -1
  76. package/lib/commands/dataset/restore.js +1 -1
  77. package/lib/commands/db/analyze-cancel.js +1 -1
  78. package/lib/commands/db/analyze-start.js +1 -1
  79. package/lib/commands/db/analyze-status.js +1 -1
  80. package/lib/commands/db/create.js +1 -1
  81. package/lib/commands/db/delete.js +1 -1
  82. package/lib/commands/db/detail.js +1 -1
  83. package/lib/commands/db/diff.js +1 -1
  84. package/lib/commands/db/index.js +1 -1
  85. package/lib/commands/db/list.js +1 -1
  86. package/lib/commands/db/shared.js +1 -1
  87. package/lib/commands/db/tables.js +1 -1
  88. package/lib/commands/db/test.js +1 -1
  89. package/lib/commands/db/update.js +1 -1
  90. package/lib/commands/doctor.js +1 -1
  91. package/lib/commands/init/index.js +1 -1
  92. package/lib/commands/issue/index.js +1 -1
  93. package/lib/commands/issue/nudge.js +1 -1
  94. package/lib/commands/issue/report.js +1 -1
  95. package/lib/commands/issue/shared.js +1 -1
  96. package/lib/commands/logs/index.js +1 -1
  97. package/lib/commands/menu/index.js +1 -1
  98. package/lib/commands/menu/list.js +1 -1
  99. package/lib/commands/menu/shared/compare-table.js +1 -1
  100. package/lib/commands/menu/shared/index.js +1 -1
  101. package/lib/commands/menu/shared/inquirer.js +1 -1
  102. package/lib/commands/menu/shared/local-pages.js +1 -1
  103. package/lib/commands/menu/shared/logic.js +1 -1
  104. package/lib/commands/menu/shared/service.js +1 -1
  105. package/lib/commands/menu/shared/sync-core.js +1 -1
  106. package/lib/commands/menu/shared/update-core.js +1 -1
  107. package/lib/commands/menu/shared/valid-url.js +1 -1
  108. package/lib/commands/menu/sync.js +1 -1
  109. package/lib/commands/menu/update.js +1 -1
  110. package/lib/commands/page/generate-start.js +1 -1
  111. package/lib/commands/page/generate-status.js +1 -1
  112. package/lib/commands/page/index.js +1 -1
  113. package/lib/commands/page/pull.js +1 -1
  114. package/lib/commands/page/push.js +1 -1
  115. package/lib/commands/page/relation-audit.js +1 -1
  116. package/lib/commands/page/shared.js +1 -1
  117. package/lib/commands/page/standard-page-status.js +1 -1
  118. package/lib/commands/page/sync.js +1 -1
  119. package/lib/commands/permit/index.js +1 -1
  120. package/lib/commands/permit/page-get.js +1 -1
  121. package/lib/commands/permit/page-set.js +1 -1
  122. package/lib/commands/permit/role-apis-set.js +1 -1
  123. package/lib/commands/permit/role-menus-set.js +1 -1
  124. package/lib/commands/permit/role-menus.js +1 -1
  125. package/lib/commands/permit/shared.js +1 -1
  126. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  127. package/lib/commands/project/create/format-elapsed.js +1 -1
  128. package/lib/commands/project/create/main.js +1 -1
  129. package/lib/commands/project/create/non-interactive.js +1 -1
  130. package/lib/commands/project/create/project-template-path.js +1 -1
  131. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  132. package/lib/commands/project/create/use-format-code.js +1 -1
  133. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  134. package/lib/commands/project/index.js +1 -1
  135. package/lib/commands/project/init.js +1 -1
  136. package/lib/commands/project/upgrade.js +1 -1
  137. package/lib/commands/registry.js +1 -1
  138. package/lib/commands/role/create.js +1 -1
  139. package/lib/commands/role/delete.js +1 -1
  140. package/lib/commands/role/detail.js +1 -1
  141. package/lib/commands/role/index.js +1 -1
  142. package/lib/commands/role/list.js +1 -1
  143. package/lib/commands/role/shared.js +1 -1
  144. package/lib/commands/role/update.js +1 -1
  145. package/lib/commands/role/user-add.js +1 -1
  146. package/lib/commands/role/user-remove.js +1 -1
  147. package/lib/commands/role/user-resolve.js +1 -1
  148. package/lib/commands/run/index.js +1 -1
  149. package/lib/commands/schema.js +1 -1
  150. package/lib/commands/sql/create.js +1 -1
  151. package/lib/commands/sql/delete.js +1 -1
  152. package/lib/commands/sql/detail.js +1 -1
  153. package/lib/commands/sql/exec.js +1 -1
  154. package/lib/commands/sql/index.js +1 -1
  155. package/lib/commands/sql/list.js +1 -1
  156. package/lib/commands/sql/pull.js +1 -1
  157. package/lib/commands/sql/push.js +1 -1
  158. package/lib/commands/sql/save.js +1 -1
  159. package/lib/commands/sql/shared.js +1 -1
  160. package/lib/commands/sql/status.js +1 -1
  161. package/lib/commands/sql/validate.js +1 -1
  162. package/lib/commands/workspace/add.js +1 -1
  163. package/lib/commands/workspace/index.js +1 -1
  164. package/lib/commands/workspace/remove.js +1 -1
  165. package/lib/config/schema.js +1 -1
  166. package/lib/constant/cdn.js +1 -1
  167. package/lib/constant/cli.js +1 -1
  168. package/lib/constant/defaults.js +1 -1
  169. package/lib/constant/domain.js +1 -1
  170. package/lib/constant/env.js +1 -1
  171. package/lib/constant/output.js +1 -1
  172. package/lib/constant/paths.js +1 -1
  173. package/lib/constant/risk.js +1 -1
  174. package/lib/context/app-resolver.js +1 -1
  175. package/lib/context/auth-resolver.js +1 -1
  176. package/lib/context/config-loader.js +1 -1
  177. package/lib/context.js +1 -1
  178. package/lib/core/alias-resolver.js +1 -1
  179. package/lib/core/api-client.js +1 -1
  180. package/lib/core/bff/config.js +1 -1
  181. package/lib/core/bff/file-system.js +1 -1
  182. package/lib/core/bff/hash.js +1 -1
  183. package/lib/core/bff/lock.js +1 -1
  184. package/lib/core/bff/utils.js +1 -1
  185. package/lib/core/db-resolver.js +1 -1
  186. package/lib/core/page/file-system.js +1 -1
  187. package/lib/core/page/hash.js +1 -1
  188. package/lib/core/page/lock.js +1 -1
  189. package/lib/core/sql-sync/config.js +1 -1
  190. package/lib/core/sql-sync/file-system.js +1 -1
  191. package/lib/core/sql-sync/hash.js +1 -1
  192. package/lib/core/sql-sync/lock.js +1 -1
  193. package/lib/core/sql-sync/utils.js +1 -1
  194. package/lib/core/sql-validator.js +1 -1
  195. package/lib/errors.js +1 -1
  196. package/lib/framework/build-all-flags.js +1 -1
  197. package/lib/framework/flags.js +1 -1
  198. package/lib/framework/help.js +1 -1
  199. package/lib/framework/index.js +1 -1
  200. package/lib/framework/output.js +1 -1
  201. package/lib/framework/response.js +1 -1
  202. package/lib/framework/runner-alias.js +1 -1
  203. package/lib/framework/runner.js +1 -1
  204. package/lib/framework/schema-export.js +1 -1
  205. package/lib/framework/types.js +1 -1
  206. package/lib/generated/build-info.js +1 -1
  207. package/lib/help.js +1 -1
  208. package/lib/skills/main.js +1 -1
  209. package/lib/skills/npx-skills-add.js +1 -1
  210. package/lib/telemetry/cli-command-trace.js +1 -1
  211. package/lib/telemetry/cli-help-trace.js +1 -1
  212. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  213. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  214. package/lib/telemetry/send-cli-trace-log.js +1 -1
  215. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  216. package/lib/utils/ai_config.js +1 -1
  217. package/lib/utils/apply-jq-filter.js +1 -1
  218. package/lib/utils/cdn-config.js +1 -1
  219. package/lib/utils/check-sdk-version.js +1 -1
  220. package/lib/utils/cli-version-check.js +1 -1
  221. package/lib/utils/cli-version-policy.js +1 -1
  222. package/lib/utils/config.js +1 -1
  223. package/lib/utils/copy-directory.js +1 -1
  224. package/lib/utils/entity-with-id.js +1 -1
  225. package/lib/utils/file-utils.js +1 -1
  226. package/lib/utils/guides-cdn.js +1 -1
  227. package/lib/utils/http-client.js +1 -1
  228. package/lib/utils/is-non-interactive.js +1 -1
  229. package/lib/utils/logger.js +1 -1
  230. package/lib/utils/params.js +1 -1
  231. package/lib/utils/platform.js +1 -1
  232. package/lib/utils/rules-cdn.js +1 -1
  233. package/lib/utils/sleep.js +1 -1
  234. package/lib/utils/template-replacer.js +1 -1
  235. package/lib/utils/update-notice.js +1 -1
  236. package/lib/utils/version.js +1 -1
  237. package/lib/utils/with-active-cookie.js +1 -1
  238. package/lib/utils/write-cli-side-channel.js +1 -1
  239. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0xfd883,_0x5d891c){const _0x42fd5b=a141_0x4d64,_0x3de24c=_0xfd883();while(!![]){try{const _0x36c977=-parseInt(_0x42fd5b(0x85))/0x1+-parseInt(_0x42fd5b(0x86))/0x2*(-parseInt(_0x42fd5b(0x8a))/0x3)+parseInt(_0x42fd5b(0x84))/0x4+-parseInt(_0x42fd5b(0x88))/0x5+parseInt(_0x42fd5b(0x8d))/0x6*(-parseInt(_0x42fd5b(0x8c))/0x7)+-parseInt(_0x42fd5b(0x87))/0x8+parseInt(_0x42fd5b(0x89))/0x9*(parseInt(_0x42fd5b(0x8b))/0xa);if(_0x36c977===_0x5d891c)break;else _0x3de24c['push'](_0x3de24c['shift']());}catch(_0x2287cc){_0x3de24c['push'](_0x3de24c['shift']());}}}(a141_0xceef,0xb9183));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';function a141_0x4d64(_0xc38797,_0x49f04d){_0xc38797=_0xc38797-0x84;const _0xceef1=a141_0xceef();let _0x4d6431=_0xceef1[_0xc38797];return _0x4d6431;}import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';function a141_0xceef(){const _0xd13716=['278472JTtaug','1395352VNcWYA','839370bfCozt','4RHUrbO','11809448GrFWYJ','5309560TawDfh','9ukxvQX','277050bEdkLD','38341320iqFUSo','35GYzdCn'];a141_0xceef=function(){return _0xd13716;};return a141_0xceef();}import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
1
+ (function(_0x34fbcb,_0x111df0){const _0x1160a3=a141_0x4d1d,_0x276b64=_0x34fbcb();while(!![]){try{const _0x1eac62=parseInt(_0x1160a3(0x135))/0x1+parseInt(_0x1160a3(0x12e))/0x2*(-parseInt(_0x1160a3(0x134))/0x3)+-parseInt(_0x1160a3(0x131))/0x4+-parseInt(_0x1160a3(0x133))/0x5*(-parseInt(_0x1160a3(0x12f))/0x6)+-parseInt(_0x1160a3(0x12c))/0x7*(parseInt(_0x1160a3(0x130))/0x8)+parseInt(_0x1160a3(0x132))/0x9*(-parseInt(_0x1160a3(0x12b))/0xa)+-parseInt(_0x1160a3(0x12d))/0xb;if(_0x1eac62===_0x111df0)break;else _0x276b64['push'](_0x276b64['shift']());}catch(_0x5b4854){_0x276b64['push'](_0x276b64['shift']());}}}(a141_0x11e2,0xeda1b));import{roleList}from'../../commands/role/list.js';function a141_0x11e2(){const _0x4edea2=['631630UvxwNN','1183IvrXfq','2268079MOTNsB','8rRdFQn','10850826TBdLQi','4984AlYxUB','545828sGWbmu','54JhbvHO','5tPmaxq','1035663dqHMfT','1372663kKBTWS'];a141_0x11e2=function(){return _0x4edea2;};return a141_0x11e2();}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';function a141_0x4d1d(_0x4551f4,_0x357843){_0x4551f4=_0x4551f4-0x12b;const _0x11e2e4=a141_0x11e2();let _0x4d1d4b=_0x11e2e4[_0x4551f4];return _0x4d1d4b;}import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a142_0x5db59a=a142_0x32e8;(function(_0x1c3976,_0x3af28a){const _0x422f2f=a142_0x32e8,_0x3ea127=_0x1c3976();while(!![]){try{const _0xb48c30=-parseInt(_0x422f2f(0x1a7))/0x1+parseInt(_0x422f2f(0x1b5))/0x2*(parseInt(_0x422f2f(0x1ad))/0x3)+parseInt(_0x422f2f(0x1bb))/0x4*(-parseInt(_0x422f2f(0x1bf))/0x5)+parseInt(_0x422f2f(0x1a5))/0x6*(-parseInt(_0x422f2f(0x1a0))/0x7)+parseInt(_0x422f2f(0x1ba))/0x8*(-parseInt(_0x422f2f(0x1ae))/0x9)+-parseInt(_0x422f2f(0x1b4))/0xa+parseInt(_0x422f2f(0x1a9))/0xb;if(_0xb48c30===_0x3af28a)break;else _0x3ea127['push'](_0x3ea127['shift']());}catch(_0x23a4a9){_0x3ea127['push'](_0x3ea127['shift']());}}}(a142_0x1594,0x21217));function a142_0x32e8(_0x24d08e,_0x1e4da1){_0x24d08e=_0x24d08e-0x19e;const _0x159438=a142_0x1594();let _0x32e812=_0x159438[_0x24d08e];return _0x32e812;}import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a142_0x1594(){const _0xcd5cdf=['302482RQBMBc','trim','str','Invalid\x20--type\x20\x22','Page\x20index\x20(1-based)','109784LGCIkD','4WMKHXG','role','number','num','522615FqnbRT','CUSTOM','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','toUpperCase','string','DEV','7wqZnTX','Filter\x20by\x20role\x20type','Use\x20one\x20of:\x20','\x20role(s)','page','1361256VLoXej','validation','102288tXgQnI','includes','7857696nIUQZL','roleType','ADMIN','type','3galkvM','63xDQZBW','filter','read','length','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','2001260ysrMaU'];a142_0x1594=function(){return _0xcd5cdf;};return a142_0x1594();}const ROLE_TYPES=[a142_0x5db59a(0x1ab),a142_0x5db59a(0x19f),'USER',a142_0x5db59a(0x1c0)];export const roleList={'service':a142_0x5db59a(0x1bc),'command':'list','description':a142_0x5db59a(0x1b3),'risk':a142_0x5db59a(0x1b0),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':a142_0x5db59a(0x19e),'required':![],'description':a142_0x5db59a(0x1a1),'enum':ROLE_TYPES},{'name':'page','type':a142_0x5db59a(0x1bd),'description':a142_0x5db59a(0x1b9),'default':0x1},{'name':'pagesize','type':a142_0x5db59a(0x1bd),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x48d772){const _0x558d48=a142_0x5db59a,_0x37419d=_0x48d772['str'](_0x558d48(0x1ac))['trim']();if(_0x37419d&&!ROLE_TYPES[_0x558d48(0x1a8)](_0x37419d['toUpperCase']()))throw CliErrors[_0x558d48(0x1a6)](_0x558d48(0x1b8)+_0x37419d+'\x22.',_0x558d48(0x1a2)+ROLE_TYPES['join'](',\x20')+'.');const _0x148522=_0x48d772[_0x558d48(0x1be)](_0x558d48(0x1a4),0x1),_0x513ccb=_0x48d772[_0x558d48(0x1be)]('pagesize',0x64);if(_0x148522<0x1)throw CliErrors['validation'](_0x558d48(0x1c1));if(_0x513ccb<0x1||_0x513ccb>0x64)throw CliErrors['validation'](_0x558d48(0x1b2));},async 'execute'(_0x26648e){const _0x32cc39=a142_0x5db59a,_0x378927=_0x26648e[_0x32cc39(0x1be)](_0x32cc39(0x1a4),0x1)||0x1,_0x54f861=_0x26648e[_0x32cc39(0x1be)]('pagesize',0x64)||0x64,_0x401938=_0x26648e[_0x32cc39(0x1b7)](_0x32cc39(0x1ac))[_0x32cc39(0x1b6)]()[_0x32cc39(0x1c2)](),{items:_0x2c93ea,paging:_0x1dc617}=await listAppRoles(_0x26648e['appCode'],{'currentPage':_0x378927,'pageSize':_0x54f861}),_0x133fe8=_0x401938?_0x2c93ea[_0x32cc39(0x1af)](_0x3fdfa1=>_0x3fdfa1[_0x32cc39(0x1aa)]===_0x401938):_0x2c93ea,_0x55511c=_0x133fe8['map'](projectRole);return{'ok':!![],'data':{'roles':_0x55511c,'paging':_0x1dc617},'message':'Found\x20'+_0x55511c[_0x32cc39(0x1b1)]+_0x32cc39(0x1a3)};}};
1
+ function a142_0x31dc(_0x3a6eb3,_0x29f567){_0x3a6eb3=_0x3a6eb3-0x77;const _0x30911=a142_0x3091();let _0x31dc6f=_0x30911[_0x3a6eb3];return _0x31dc6f;}const a142_0x14f75c=a142_0x31dc;(function(_0x50f68a,_0x325e86){const _0x4df914=a142_0x31dc,_0x114e0c=_0x50f68a();while(!![]){try{const _0x2ebe9e=-parseInt(_0x4df914(0x8f))/0x1*(-parseInt(_0x4df914(0x82))/0x2)+parseInt(_0x4df914(0x93))/0x3+parseInt(_0x4df914(0x81))/0x4+-parseInt(_0x4df914(0x94))/0x5*(-parseInt(_0x4df914(0x7d))/0x6)+-parseInt(_0x4df914(0x85))/0x7+parseInt(_0x4df914(0x91))/0x8+-parseInt(_0x4df914(0x8b))/0x9*(parseInt(_0x4df914(0x79))/0xa);if(_0x2ebe9e===_0x325e86)break;else _0x114e0c['push'](_0x114e0c['shift']());}catch(_0x54f4a7){_0x114e0c['push'](_0x114e0c['shift']());}}}(a142_0x3091,0x79774));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a142_0x14f75c(0x8e),'DEV','USER',a142_0x14f75c(0x80)];export const roleList={'service':a142_0x14f75c(0x84),'command':a142_0x14f75c(0x86),'description':a142_0x14f75c(0x96),'risk':a142_0x14f75c(0x88),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':a142_0x14f75c(0x83),'required':![],'description':a142_0x14f75c(0x87),'enum':ROLE_TYPES},{'name':'page','type':a142_0x14f75c(0x7f),'description':a142_0x14f75c(0x7e),'default':0x1},{'name':'pagesize','type':a142_0x14f75c(0x7f),'description':a142_0x14f75c(0x7c),'default':0x64}],async 'validate'(_0x405772){const _0x65b5d=a142_0x14f75c,_0x43adae=_0x405772[_0x65b5d(0x8a)]('type')[_0x65b5d(0x7a)]();if(_0x43adae&&!ROLE_TYPES[_0x65b5d(0x7b)](_0x43adae['toUpperCase']()))throw CliErrors[_0x65b5d(0x77)]('Invalid\x20--type\x20\x22'+_0x43adae+'\x22.','Use\x20one\x20of:\x20'+ROLE_TYPES[_0x65b5d(0x95)](',\x20')+'.');const _0x25093c=_0x405772['num']('page',0x1),_0x5be47a=_0x405772['num'](_0x65b5d(0x8d),0x64);if(_0x25093c<0x1)throw CliErrors[_0x65b5d(0x77)](_0x65b5d(0x99));if(_0x5be47a<0x1||_0x5be47a>0x64)throw CliErrors[_0x65b5d(0x77)](_0x65b5d(0x8c));},async 'execute'(_0x4ffe4b){const _0x5a6ded=a142_0x14f75c,_0x286b56=_0x4ffe4b['num'](_0x5a6ded(0x90),0x1)||0x1,_0x43f2a9=_0x4ffe4b[_0x5a6ded(0x98)](_0x5a6ded(0x8d),0x64)||0x64,_0x20d281=_0x4ffe4b['str'](_0x5a6ded(0x89))[_0x5a6ded(0x7a)]()[_0x5a6ded(0x97)](),{items:_0x444273,paging:_0x1d63b5}=await listAppRoles(_0x4ffe4b['appCode'],{'currentPage':_0x286b56,'pageSize':_0x43f2a9}),_0x261b53=_0x20d281?_0x444273['filter'](_0x545a41=>_0x545a41[_0x5a6ded(0x78)]===_0x20d281):_0x444273,_0x53b9b2=_0x261b53['map'](projectRole);return{'ok':!![],'data':{'roles':_0x53b9b2,'paging':_0x1d63b5},'message':_0x5a6ded(0x92)+_0x53b9b2['length']+'\x20role(s)'};}};function a142_0x3091(){const _0x3b3649=['5XznxgZ','join','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','toUpperCase','num','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','validation','roleType','20fMBiXQ','trim','includes','Page\x20size\x20(1-100)','4122042wMAmud','Page\x20index\x20(1-based)','number','CUSTOM','1419984NGCBdn','14IHEEtX','string','role','2377445LlwnGA','list','Filter\x20by\x20role\x20type','read','type','str','9613782fAUXMH','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','pagesize','ADMIN','63755OzgLJZ','page','4653640aVLnYW','Found\x20','2710686JBMLvX'];a142_0x3091=function(){return _0x3b3649;};return a142_0x3091();}
@@ -1 +1 @@
1
- const a143_0x3f82b4=a143_0x5ae1;function a143_0x38cf(){const _0x829ab1=['tenant_code','55zAaquc','validation','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','\x20not\x20found\x20in\x20app\x20','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','string','roleName','userCount','\x22:\x20','107792NOqVTm','name','userId','push','appCode','authRequired','Multiple\x20tenant\x20members\x20match\x20\x22','remark','userList','splice','toLowerCase','flagMissing','Disambiguate\x20with\x20--user\x20<id>.','Pass\x20--user\x20<id|name>.','Cannot\x20','username','user-add','trim','371FxJwDQ','Optional\x20role\x20remark/description','28092CxsWyZ','nickname','role','DEV','ADMIN','filter','roleType','totalCount','str','76680ScnSdg','expectUserCount','Missing\x20user\x20reference.','904278pLacac','610kWiXWR','length','POST','CUSTOM','user','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','Pass\x20--role\x20<id|name>.','138235dqdXco','test','Missing\x20role\x20reference.','includes','Anti-drift\x20check\x20failed:\x20expected\x20','\x20is\x20already\x20a\x20member\x20of\x20role\x20','number','tenant','4xOBSrT','find','Role\x20name\x20\x22','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','dryRun','join','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Role\x20id\x20','Role\x20name','2141532DPJvqB',';\x20no\x20change.','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','199140lSSYVX','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','map','expect-user-count','Role\x20id\x20(from\x20`role\x20list`)','User\x20'];a143_0x38cf=function(){return _0x829ab1;};return a143_0x38cf();}(function(_0x23b12b,_0x199274){const _0x42195b=a143_0x5ae1,_0x24f29a=_0x23b12b();while(!![]){try{const _0x578812=parseInt(_0x42195b(0x147))/0x1+-parseInt(_0x42195b(0x14f))/0x2*(-parseInt(_0x42195b(0x13f))/0x3)+parseInt(_0x42195b(0x10e))/0x4+parseInt(_0x42195b(0x140))/0x5*(parseInt(_0x42195b(0x133))/0x6)+parseInt(_0x42195b(0x131))/0x7*(-parseInt(_0x42195b(0x11f))/0x8)+-parseInt(_0x42195b(0x10b))/0x9+-parseInt(_0x42195b(0x13c))/0xa*(parseInt(_0x42195b(0x115))/0xb);if(_0x578812===_0x199274)break;else _0x24f29a['push'](_0x24f29a['shift']());}catch(_0x30f0d6){_0x24f29a['push'](_0x24f29a['shift']());}}}(a143_0x38cf,0x5abd2));function a143_0x5ae1(_0x416ac7,_0x283f34){_0x416ac7=_0x416ac7-0x10b;const _0x38cf27=a143_0x38cf();let _0x5ae16b=_0x38cf27[_0x416ac7];return _0x5ae16b;}import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a143_0x3f82b4(0x14d),'required':!![],'description':a143_0x3f82b4(0x112)};export const ROLE_REF_FLAG={'name':a143_0x3f82b4(0x135),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x10d)};export const USER_REF_FLAG={'name':a143_0x3f82b4(0x144),'type':a143_0x3f82b4(0x11b),'required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x157)};export const USER_NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x11a)};export const REMARK_FLAG={'name':a143_0x3f82b4(0x126),'type':a143_0x3f82b4(0x11b),'required':![],'description':a143_0x3f82b4(0x132)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a143_0x3f82b4(0x14d),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a143_0x3f82b4(0x137),a143_0x3f82b4(0x136),'USER'];export function isBuiltinRole(_0x2a2f89){return BUILTIN_ROLE_TYPES['includes'](_0x2a2f89);}export function assertCustomRole(_0x18afff,_0x312d29){const _0x5d9946=a143_0x3f82b4;if(_0x18afff[_0x5d9946(0x139)]!==_0x5d9946(0x143))throw CliErrors[_0x5d9946(0x116)](_0x5d9946(0x12d)+_0x312d29+'\x20built-in\x20role\x20'+_0x18afff[_0x5d9946(0x11c)]+'\x20('+_0x18afff[_0x5d9946(0x139)]+').',_0x5d9946(0x119));}export function assertPermConfigurable(_0x7be575){const _0x1eeed8=a143_0x3f82b4;if(_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x136)||_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x137))throw CliErrors[_0x1eeed8(0x116)](_0x1eeed8(0x145)+_0x7be575[_0x1eeed8(0x11c)]+'\x20('+_0x7be575[_0x1eeed8(0x139)]+').',_0x1eeed8(0x152));}export function projectRole(_0x4592dc){const _0x201407=a143_0x3f82b4;return{'id':_0x4592dc['id'],'roleName':_0x4592dc[_0x201407(0x11c)],'roleType':_0x4592dc[_0x201407(0x139)],'remark':_0x4592dc[_0x201407(0x126)],'userCount':_0x4592dc[_0x201407(0x11d)],'permitCount':_0x4592dc['permitCount'],'builtin':isBuiltinRole(_0x4592dc[_0x201407(0x139)])};}export async function resolveRoleRef(_0x59fa4b,_0x3161c9){const _0x1dce8e=a143_0x3f82b4,_0x1164bd=_0x3161c9[_0x1dce8e(0x130)]();if(!_0x1164bd)throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x149),_0x1dce8e(0x146));if(/^\d+$/[_0x1dce8e(0x148)](_0x1164bd))return getRoleById(_0x59fa4b,Number(_0x1164bd));const _0xb8ec19=await listAllAppRoles(_0x59fa4b),_0x2257c7=_0xb8ec19[_0x1dce8e(0x138)](_0x524183=>_0x524183[_0x1dce8e(0x11c)]===_0x1164bd);if(_0x2257c7[_0x1dce8e(0x141)]===0x0)throw CliErrors['validation']('Role\x20name\x20\x22'+_0x1164bd+'\x22\x20not\x20found\x20in\x20app\x20'+_0x59fa4b+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x2257c7[_0x1dce8e(0x141)]>0x1){const _0x36fd92=_0x2257c7[_0x1dce8e(0x110)](_0x37732e=>_0x37732e['id'])[_0x1dce8e(0x154)](',\x20');throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x151)+_0x1164bd+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x36fd92+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x2257c7[0x0];}export async function getRoleById(_0x35a1ca,_0x3261b4){const _0x3c1744=a143_0x3f82b4,_0x156c99=await getAppRole(_0x3261b4);if(!_0x156c99)throw CliErrors[_0x3c1744(0x116)](_0x3c1744(0x156)+_0x3261b4+_0x3c1744(0x118)+_0x35a1ca+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x156c99;}async function listAllAppRoles(_0xbb69fd){const _0x24857c=a143_0x3f82b4,_0x10cbe5=0x64,_0x1545ed=[];for(let _0x1fdaae=0x1;;_0x1fdaae+=0x1){const {items:_0x41ce32,paging:_0x48eda8}=await listAppRoles(_0xbb69fd,{'currentPage':_0x1fdaae,'pageSize':_0x10cbe5});_0x1545ed[_0x24857c(0x122)](..._0x41ce32);if(_0x41ce32[_0x24857c(0x141)]<_0x10cbe5||_0x48eda8&&_0x1545ed['length']>=_0x48eda8[_0x24857c(0x13a)])return _0x1545ed;}}export async function resolveTenantCode(){const _0x394e65=a143_0x3f82b4,_0x1b6312=await getSessionUserInfo(),_0x48e184=_0x1b6312?.['user']?.[_0x394e65(0x14e)]?.[_0x394e65(0x114)];if(!_0x48e184)throw CliErrors[_0x394e65(0x124)](_0x394e65(0x10f));return _0x48e184;}function matchMember(_0x10f849,_0x4ba624){const _0x502752=a143_0x3f82b4,_0x15daea=_0x4ba624[_0x502752(0x130)]()[_0x502752(0x129)]();return(_0x10f849[_0x502752(0x134)]??'')[_0x502752(0x129)]()===_0x15daea||(_0x10f849[_0x502752(0x12e)]??'')[_0x502752(0x129)]()===_0x15daea;}export async function resolveUserRef(_0x1fb038){const _0x258a8c=a143_0x3f82b4,_0x3cbdfe=_0x1fb038[_0x258a8c(0x130)]();if(!_0x3cbdfe)throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x13e),_0x258a8c(0x12c));const _0x50f95e=await resolveTenantCode(),_0x370b5d=await getTenantMembers(_0x50f95e);if(/^\d+$/[_0x258a8c(0x148)](_0x3cbdfe)){const _0x5dd8c5=Number(_0x3cbdfe),_0x25f6df=_0x370b5d[_0x258a8c(0x150)](_0x20e3fc=>_0x20e3fc[_0x258a8c(0x121)]===_0x5dd8c5);return{'userId':_0x5dd8c5,'username':_0x25f6df?.[_0x258a8c(0x12e)]??String(_0x5dd8c5),'nickname':_0x25f6df?.['nickname'],'matchedBy':'id'};}const _0xcda70b=_0x370b5d[_0x258a8c(0x138)](_0x44e5b8=>matchMember(_0x44e5b8,_0x3cbdfe));if(_0xcda70b[_0x258a8c(0x141)]===0x0)throw CliErrors[_0x258a8c(0x116)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x3cbdfe+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0xcda70b['length']>0x1){const _0x44fafa=_0xcda70b[_0x258a8c(0x110)](_0x431e42=>(_0x431e42[_0x258a8c(0x134)]??_0x431e42[_0x258a8c(0x12e)]??'?')+'('+_0x431e42[_0x258a8c(0x121)]+')')[_0x258a8c(0x154)](',\x20');throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x125)+_0x3cbdfe+_0x258a8c(0x11e)+_0x44fafa+'.',_0x258a8c(0x12b));}const _0x3f0848=_0xcda70b[0x0];return{'userId':_0x3f0848['userId'],'username':_0x3f0848['username']??String(_0x3f0848[_0x258a8c(0x121)]),'nickname':_0x3f0848[_0x258a8c(0x134)],'matchedBy':_0x258a8c(0x120)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x560ac5){const _0x35b36a=a143_0x3f82b4;return(_0x560ac5?.[_0x35b36a(0x127)]??[])['map'](_0x5a172f=>_0x5a172f[_0x35b36a(0x121)]);}export function computeRoleUserMutation(_0xb58aeb){const _0x190d5d=a143_0x3f82b4,{operation:_0x49206a,appCode:_0x82395c,roleUsers:_0x4facbd,targetRoleId:_0x28a350,user:_0x4bc07f}=_0xb58aeb,_0xfc82d7=_0x4facbd[_0x190d5d(0x150)](_0x1108c2=>_0x1108c2['id']===_0x28a350);if(!_0xfc82d7)throw CliErrors['validation'](_0x190d5d(0x156)+_0x28a350+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x190d5d(0x155));const _0x114135=userIdsOf(_0xfc82d7),_0x46ca6a=[];if(_0xb58aeb[_0x190d5d(0x13d)]!==undefined&&_0xb58aeb[_0x190d5d(0x13d)]!==_0x114135[_0x190d5d(0x141)])throw CliErrors[_0x190d5d(0x116)](_0x190d5d(0x14b)+_0xb58aeb[_0x190d5d(0x13d)]+'\x20member(s)\x20but\x20role\x20has\x20'+_0x114135[_0x190d5d(0x141)]+'.',_0x190d5d(0x117));const _0x221d9e=_0x114135[_0x190d5d(0x14a)](_0x4bc07f['userId']);let _0x377b40=![];const _0x503773=[..._0xfc82d7[_0x190d5d(0x127)]];if(_0x49206a===_0x190d5d(0x12f))_0x221d9e?_0x46ca6a[_0x190d5d(0x122)]('User\x20'+_0x4bc07f[_0x190d5d(0x121)]+_0x190d5d(0x14c)+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c)):(_0x503773[_0x190d5d(0x122)]({'userId':_0x4bc07f['userId'],'username':_0x4bc07f['username'],..._0x4bc07f['nickname']?{'nickname':_0x4bc07f[_0x190d5d(0x134)]}:{}}),_0x377b40=!![]);else{if(!_0x221d9e)_0x46ca6a['push'](_0x190d5d(0x113)+_0x4bc07f[_0x190d5d(0x121)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c));else{const _0x5d91f9=_0x503773['findIndex'](_0xeb9d0c=>_0xeb9d0c[_0x190d5d(0x121)]===_0x4bc07f[_0x190d5d(0x121)]);if(_0x5d91f9>=0x0)_0x503773[_0x190d5d(0x128)](_0x5d91f9,0x1);_0x377b40=!![];}}const _0x78b78=_0x4facbd[_0x190d5d(0x110)](_0x2ac738=>_0x2ac738['id']===_0x28a350?{..._0x2ac738,'userList':_0x503773}:_0x2ac738),_0x10cd80=_0x503773[_0x190d5d(0x110)](_0x241066=>_0x241066[_0x190d5d(0x121)]),_0x1d4122={'operation':_0x49206a,'selector':{'appCode':_0x82395c,'roleId':_0x28a350,'roleName':_0xfc82d7[_0x190d5d(0x11c)],'userId':_0x4bc07f[_0x190d5d(0x121)]},'before':{'userIds':_0x114135},'after':{'userIds':_0x10cd80},'dryRun':_0xb58aeb[_0x190d5d(0x153)],'backend':{'method':_0x190d5d(0x142),'path':UPDATE_USER_LIST_PATH},'warnings':_0x46ca6a};return{'roleList':_0x78b78,'mutation':_0x1d4122,'changed':_0x377b40};}export async function loadRoleUsers(_0x53c913){return listRoleUsers(_0x53c913);}export function readRoleRef(_0x1e496b){const _0x3ba628=a143_0x3f82b4,_0x446afa=_0x1e496b[_0x3ba628(0x13b)](_0x3ba628(0x135))['trim']();if(!_0x446afa)throw CliErrors[_0x3ba628(0x12a)](_0x3ba628(0x135),_0x3ba628(0x146));return _0x446afa;}export async function prepareUserMutation(_0x42578c,_0x10ee84,_0x4498ea){const _0x2ff5b2=a143_0x3f82b4,_0x514e6b=readRoleRef(_0x42578c),_0x49145d=_0x42578c['str']('user')[_0x2ff5b2(0x130)]();if(!_0x49145d)throw CliErrors[_0x2ff5b2(0x12a)]('user',_0x2ff5b2(0x12c));const _0x318177=_0x42578c['flag'](_0x2ff5b2(0x111)),_0x4866f9=_0x318177===undefined||_0x318177===null?undefined:Number(_0x318177),_0x270066=await resolveRoleRef(_0x42578c[_0x2ff5b2(0x123)],_0x514e6b),_0x4fefe1=await resolveUserRef(_0x49145d),_0x158601=await loadRoleUsers(_0x42578c[_0x2ff5b2(0x123)]);return computeRoleUserMutation({'operation':_0x10ee84,'appCode':_0x42578c[_0x2ff5b2(0x123)],'roleUsers':_0x158601,'targetRoleId':_0x270066['id'],'user':{'userId':_0x4fefe1[_0x2ff5b2(0x121)],'username':_0x4fefe1[_0x2ff5b2(0x12e)],'nickname':_0x4fefe1['nickname']},'dryRun':_0x4498ea,..._0x4866f9!==undefined?{'expectUserCount':_0x4866f9}:{}});}
1
+ const a143_0x27acf6=a143_0x5cc4;(function(_0x3d05fd,_0x1bb44c){const _0x57bda8=a143_0x5cc4,_0x32e8dc=_0x3d05fd();while(!![]){try{const _0x29d433=parseInt(_0x57bda8(0x191))/0x1+parseInt(_0x57bda8(0x1cd))/0x2+-parseInt(_0x57bda8(0x1a4))/0x3+-parseInt(_0x57bda8(0x1b0))/0x4+-parseInt(_0x57bda8(0x1ab))/0x5*(parseInt(_0x57bda8(0x1a8))/0x6)+-parseInt(_0x57bda8(0x19b))/0x7+parseInt(_0x57bda8(0x1b2))/0x8*(parseInt(_0x57bda8(0x1a6))/0x9);if(_0x29d433===_0x1bb44c)break;else _0x32e8dc['push'](_0x32e8dc['shift']());}catch(_0xb908fd){_0x32e8dc['push'](_0x32e8dc['shift']());}}}(a143_0xb612,0x65d45));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a143_0x27acf6(0x1c8),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a143_0x27acf6(0x1c0),'type':a143_0x27acf6(0x1a3),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a143_0x27acf6(0x1c5),'type':a143_0x27acf6(0x1a3),'required':!![],'description':a143_0x27acf6(0x1c1)};export const NAME_FLAG={'name':a143_0x27acf6(0x189),'type':a143_0x27acf6(0x1a3),'required':!![],'description':a143_0x27acf6(0x194)};export const USER_NAME_FLAG={'name':a143_0x27acf6(0x189),'type':a143_0x27acf6(0x1a3),'required':!![],'description':a143_0x27acf6(0x1c3)};export const REMARK_FLAG={'name':a143_0x27acf6(0x198),'type':a143_0x27acf6(0x1a3),'required':![],'description':a143_0x27acf6(0x1ae)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a143_0x27acf6(0x1c8),'required':![],'description':a143_0x27acf6(0x1be)};export const BUILTIN_ROLE_TYPES=[a143_0x27acf6(0x195),'DEV','USER'];export function isBuiltinRole(_0x5dc3d9){const _0x1ee149=a143_0x27acf6;return BUILTIN_ROLE_TYPES[_0x1ee149(0x193)](_0x5dc3d9);}export function assertCustomRole(_0x449641,_0x552f87){const _0x51ccaa=a143_0x27acf6;if(_0x449641[_0x51ccaa(0x19c)]!==_0x51ccaa(0x1b8))throw CliErrors[_0x51ccaa(0x1a5)]('Cannot\x20'+_0x552f87+'\x20built-in\x20role\x20'+_0x449641[_0x51ccaa(0x1bf)]+'\x20('+_0x449641[_0x51ccaa(0x19c)]+').',_0x51ccaa(0x197));}export function assertPermConfigurable(_0x327667){const _0x360045=a143_0x27acf6;if(_0x327667[_0x360045(0x19c)]==='DEV'||_0x327667[_0x360045(0x19c)]==='ADMIN')throw CliErrors[_0x360045(0x1a5)](_0x360045(0x1ca)+_0x327667['roleName']+'\x20('+_0x327667['roleType']+').','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.');}export function projectRole(_0x4b6138){const _0x343e79=a143_0x27acf6;return{'id':_0x4b6138['id'],'roleName':_0x4b6138[_0x343e79(0x1bf)],'roleType':_0x4b6138[_0x343e79(0x19c)],'remark':_0x4b6138[_0x343e79(0x198)],'userCount':_0x4b6138['userCount'],'permitCount':_0x4b6138[_0x343e79(0x1b9)],'builtin':isBuiltinRole(_0x4b6138[_0x343e79(0x19c)])};}export async function resolveRoleRef(_0xb75952,_0x2b04c8){const _0x474737=a143_0x27acf6,_0x466e48=_0x2b04c8['trim']();if(!_0x466e48)throw CliErrors['validation'](_0x474737(0x1b1),_0x474737(0x1bb));if(/^\d+$/[_0x474737(0x19a)](_0x466e48))return getRoleById(_0xb75952,Number(_0x466e48));const _0x5dc6ed=await listAllAppRoles(_0xb75952),_0x246331=_0x5dc6ed[_0x474737(0x1a7)](_0x27aad1=>_0x27aad1['roleName']===_0x466e48);if(_0x246331['length']===0x0)throw CliErrors[_0x474737(0x1a5)](_0x474737(0x1ad)+_0x466e48+_0x474737(0x1c6)+_0xb75952+'.',_0x474737(0x18f));if(_0x246331[_0x474737(0x1a9)]>0x1){const _0x44f1b9=_0x246331[_0x474737(0x1af)](_0x2fef42=>_0x2fef42['id'])[_0x474737(0x19f)](',\x20');throw CliErrors[_0x474737(0x1a5)](_0x474737(0x1ad)+_0x466e48+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x44f1b9+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x246331[0x0];}export async function getRoleById(_0x3ccf3c,_0x3ffa09){const _0x51a98c=a143_0x27acf6,_0x32e3e2=await getAppRole(_0x3ffa09);if(!_0x32e3e2)throw CliErrors[_0x51a98c(0x1a5)](_0x51a98c(0x18d)+_0x3ffa09+'\x20not\x20found\x20in\x20app\x20'+_0x3ccf3c+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x32e3e2;}async function listAllAppRoles(_0x54ab61){const _0x4586f1=a143_0x27acf6,_0x2dc63a=0x64,_0x5d978d=[];for(let _0x40efd0=0x1;;_0x40efd0+=0x1){const {items:_0x148c69,paging:_0x4a69b6}=await listAppRoles(_0x54ab61,{'currentPage':_0x40efd0,'pageSize':_0x2dc63a});_0x5d978d['push'](..._0x148c69);if(_0x148c69['length']<_0x2dc63a||_0x4a69b6&&_0x5d978d[_0x4586f1(0x1a9)]>=_0x4a69b6['totalCount'])return _0x5d978d;}}export async function resolveTenantCode(){const _0x4add92=a143_0x27acf6,_0x1a5496=await getSessionUserInfo(),_0x146a2d=_0x1a5496?.['user']?.[_0x4add92(0x1cb)]?.[_0x4add92(0x19d)];if(!_0x146a2d)throw CliErrors[_0x4add92(0x1aa)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x146a2d;}function matchMember(_0x56b0cb,_0x4751d7){const _0x4538fb=a143_0x27acf6,_0x1f66b7=_0x4751d7[_0x4538fb(0x1a2)]()[_0x4538fb(0x1bd)]();return(_0x56b0cb['nickname']??'')[_0x4538fb(0x1bd)]()===_0x1f66b7||(_0x56b0cb[_0x4538fb(0x18a)]??'')[_0x4538fb(0x1bd)]()===_0x1f66b7;}function a143_0x5cc4(_0x1cc7a6,_0x29465b){_0x1cc7a6=_0x1cc7a6-0x188;const _0xb61289=a143_0xb612();let _0x5cc48e=_0xb61289[_0x1cc7a6];return _0x5cc48e;}export async function resolveUserRef(_0x1c26a6){const _0x1fcb12=a143_0x27acf6,_0x5f099b=_0x1c26a6[_0x1fcb12(0x1a2)]();if(!_0x5f099b)throw CliErrors['validation']('Missing\x20user\x20reference.',_0x1fcb12(0x1c7));const _0xdd213d=await resolveTenantCode(),_0x47b3a=await getTenantMembers(_0xdd213d);if(/^\d+$/[_0x1fcb12(0x19a)](_0x5f099b)){const _0x166eab=Number(_0x5f099b),_0x18a326=_0x47b3a[_0x1fcb12(0x1c2)](_0x158866=>_0x158866[_0x1fcb12(0x1c9)]===_0x166eab);return{'userId':_0x166eab,'username':_0x18a326?.[_0x1fcb12(0x18a)]??String(_0x166eab),'nickname':_0x18a326?.[_0x1fcb12(0x1cc)],'matchedBy':'id'};}const _0x429a51=_0x47b3a[_0x1fcb12(0x1a7)](_0x197242=>matchMember(_0x197242,_0x5f099b));if(_0x429a51['length']===0x0)throw CliErrors[_0x1fcb12(0x1a5)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x5f099b+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0x429a51['length']>0x1){const _0x308c0f=_0x429a51['map'](_0x3c3add=>(_0x3c3add[_0x1fcb12(0x1cc)]??_0x3c3add[_0x1fcb12(0x18a)]??'?')+'('+_0x3c3add[_0x1fcb12(0x1c9)]+')')[_0x1fcb12(0x19f)](',\x20');throw CliErrors[_0x1fcb12(0x1a5)](_0x1fcb12(0x1ac)+_0x5f099b+_0x1fcb12(0x1bc)+_0x308c0f+'.',_0x1fcb12(0x19e));}const _0x3c81e6=_0x429a51[0x0];return{'userId':_0x3c81e6[_0x1fcb12(0x1c9)],'username':_0x3c81e6[_0x1fcb12(0x18a)]??String(_0x3c81e6[_0x1fcb12(0x1c9)]),'nickname':_0x3c81e6[_0x1fcb12(0x1cc)],'matchedBy':'name'};}function a143_0xb612(){const _0x3f4cbf=['name','username','/smartapi/permit/user-role/update-user-list','splice','Role\x20id\x20','\x20member(s)\x20but\x20role\x20has\x20','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','dryRun','455019DhsTPN','expect-user-count','includes','Role\x20name','ADMIN','flag','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','remark','userList','test','4117771hwkZTF','roleType','tenant_code','Disambiguate\x20with\x20--user\x20<id>.','join','\x20not\x20found\x20in\x20the\x20user-role\x20list.','\x20is\x20not\x20a\x20member\x20of\x20role\x20','trim','string','752043GHSNox','validation','3325392IMjYtq','filter','228qmSyBy','length','authRequired','89040jyiKNd','Multiple\x20tenant\x20members\x20match\x20\x22','Role\x20name\x20\x22','Optional\x20role\x20remark/description','map','1624588nAHTCz','Missing\x20role\x20reference.','24iqKcMr','expectUserCount','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','flagMissing','findIndex','push','CUSTOM','permitCount','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Pass\x20--role\x20<id|name>.','\x22:\x20','toLowerCase','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','roleName','role','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','find','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','appCode','user','\x22\x20not\x20found\x20in\x20app\x20','Pass\x20--user\x20<id|name>.','number','userId','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','tenant','nickname','1550790kaafHT','user-add','User\x20',';\x20no\x20change.'];a143_0xb612=function(){return _0x3f4cbf;};return a143_0xb612();}export const UPDATE_USER_LIST_PATH=a143_0x27acf6(0x18b);function userIdsOf(_0x13ee51){const _0x5198ba=a143_0x27acf6;return(_0x13ee51?.[_0x5198ba(0x199)]??[])[_0x5198ba(0x1af)](_0x50aba7=>_0x50aba7[_0x5198ba(0x1c9)]);}export function computeRoleUserMutation(_0x54f613){const _0x184422=a143_0x27acf6,{operation:_0x578d4b,appCode:_0x116fff,roleUsers:_0x264d7e,targetRoleId:_0x211afd,user:_0x119be6}=_0x54f613,_0x21f8db=_0x264d7e['find'](_0x356193=>_0x356193['id']===_0x211afd);if(!_0x21f8db)throw CliErrors[_0x184422(0x1a5)](_0x184422(0x18d)+_0x211afd+_0x184422(0x1a0),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x39a04b=userIdsOf(_0x21f8db),_0x1e08f3=[];if(_0x54f613['expectUserCount']!==undefined&&_0x54f613[_0x184422(0x1b3)]!==_0x39a04b[_0x184422(0x1a9)])throw CliErrors[_0x184422(0x1a5)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x54f613['expectUserCount']+_0x184422(0x18e)+_0x39a04b['length']+'.',_0x184422(0x1b4));const _0x38f217=_0x39a04b['includes'](_0x119be6[_0x184422(0x1c9)]);let _0x265fb7=![];const _0x293d62=[..._0x21f8db['userList']];if(_0x578d4b===_0x184422(0x1ce))_0x38f217?_0x1e08f3[_0x184422(0x1b7)](_0x184422(0x1cf)+_0x119be6[_0x184422(0x1c9)]+_0x184422(0x1ba)+_0x21f8db[_0x184422(0x1bf)]+_0x184422(0x188)):(_0x293d62[_0x184422(0x1b7)]({'userId':_0x119be6[_0x184422(0x1c9)],'username':_0x119be6['username'],..._0x119be6[_0x184422(0x1cc)]?{'nickname':_0x119be6[_0x184422(0x1cc)]}:{}}),_0x265fb7=!![]);else{if(!_0x38f217)_0x1e08f3[_0x184422(0x1b7)](_0x184422(0x1cf)+_0x119be6['userId']+_0x184422(0x1a1)+_0x21f8db[_0x184422(0x1bf)]+';\x20no\x20change.');else{const _0x55129e=_0x293d62[_0x184422(0x1b6)](_0x495cbc=>_0x495cbc['userId']===_0x119be6['userId']);if(_0x55129e>=0x0)_0x293d62[_0x184422(0x18c)](_0x55129e,0x1);_0x265fb7=!![];}}const _0x3940ac=_0x264d7e[_0x184422(0x1af)](_0x19601e=>_0x19601e['id']===_0x211afd?{..._0x19601e,'userList':_0x293d62}:_0x19601e),_0x4a694e=_0x293d62[_0x184422(0x1af)](_0x14b1eb=>_0x14b1eb[_0x184422(0x1c9)]),_0x4256e3={'operation':_0x578d4b,'selector':{'appCode':_0x116fff,'roleId':_0x211afd,'roleName':_0x21f8db[_0x184422(0x1bf)],'userId':_0x119be6[_0x184422(0x1c9)]},'before':{'userIds':_0x39a04b},'after':{'userIds':_0x4a694e},'dryRun':_0x54f613[_0x184422(0x190)],'backend':{'method':'POST','path':UPDATE_USER_LIST_PATH},'warnings':_0x1e08f3};return{'roleList':_0x3940ac,'mutation':_0x4256e3,'changed':_0x265fb7};}export async function loadRoleUsers(_0x207dbd){return listRoleUsers(_0x207dbd);}export function readRoleRef(_0x21b659){const _0x2adafc=a143_0x27acf6,_0xa8bda=_0x21b659['str'](_0x2adafc(0x1c0))[_0x2adafc(0x1a2)]();if(!_0xa8bda)throw CliErrors[_0x2adafc(0x1b5)](_0x2adafc(0x1c0),_0x2adafc(0x1bb));return _0xa8bda;}export async function prepareUserMutation(_0x51bfd2,_0x267f45,_0x214427){const _0x2b5791=a143_0x27acf6,_0x4164ab=readRoleRef(_0x51bfd2),_0x4be6de=_0x51bfd2['str']('user')['trim']();if(!_0x4be6de)throw CliErrors['flagMissing'](_0x2b5791(0x1c5),_0x2b5791(0x1c7));const _0x5c982c=_0x51bfd2[_0x2b5791(0x196)](_0x2b5791(0x192)),_0x3b0090=_0x5c982c===undefined||_0x5c982c===null?undefined:Number(_0x5c982c),_0x19bf26=await resolveRoleRef(_0x51bfd2['appCode'],_0x4164ab),_0x6e9323=await resolveUserRef(_0x4be6de),_0x5a477d=await loadRoleUsers(_0x51bfd2[_0x2b5791(0x1c4)]);return computeRoleUserMutation({'operation':_0x267f45,'appCode':_0x51bfd2[_0x2b5791(0x1c4)],'roleUsers':_0x5a477d,'targetRoleId':_0x19bf26['id'],'user':{'userId':_0x6e9323[_0x2b5791(0x1c9)],'username':_0x6e9323[_0x2b5791(0x18a)],'nickname':_0x6e9323[_0x2b5791(0x1cc)]},'dryRun':_0x214427,..._0x3b0090!==undefined?{'expectUserCount':_0x3b0090}:{}});}
@@ -1 +1 @@
1
- const a144_0x5d1ff0=a144_0x25fb;(function(_0x55504d,_0x8d1ae6){const _0x3186e4=a144_0x25fb,_0x2f9913=_0x55504d();while(!![]){try{const _0x34188c=parseInt(_0x3186e4(0xcc))/0x1*(parseInt(_0x3186e4(0xb9))/0x2)+parseInt(_0x3186e4(0xcb))/0x3*(-parseInt(_0x3186e4(0xc0))/0x4)+-parseInt(_0x3186e4(0xc3))/0x5*(-parseInt(_0x3186e4(0xd1))/0x6)+-parseInt(_0x3186e4(0xb6))/0x7*(-parseInt(_0x3186e4(0xba))/0x8)+parseInt(_0x3186e4(0xd0))/0x9+parseInt(_0x3186e4(0xb8))/0xa+parseInt(_0x3186e4(0xbf))/0xb*(-parseInt(_0x3186e4(0xbe))/0xc);if(_0x34188c===_0x8d1ae6)break;else _0x2f9913['push'](_0x2f9913['shift']());}catch(_0x2d243b){_0x2f9913['push'](_0x2f9913['shift']());}}}(a144_0x5cb2,0x470cd));import{updateAppRole}from'../../core/api-client.js';function a144_0x5cb2(){const _0x26eb80=['/smartapi/permit/role/update','appCode','POST','num','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','Nothing\x20to\x20update.','Updated\x20role\x20','3OGMpBG','557815OuACYl','roleName','update','remark','103707YwnUiH','1910850sTnFMM','--name\x20cannot\x20be\x20empty.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','validation','2517109vVejJg','write','3535630VTFwml','2AysyYb','8FuMhCP','role','\x20(id=','flag','1761816kfJHkp','88UWFLoP','541592JAFNwC','length','name','5URrLmK'];a144_0x5cb2=function(){return _0x26eb80;};return a144_0x5cb2();}function a144_0x25fb(_0x3d4d78,_0x33e486){_0x3d4d78=_0x3d4d78-0xb3;const _0x5cb224=a144_0x5cb2();let _0x25fb75=_0x5cb224[_0x3d4d78];return _0x25fb75;}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a144_0x5d1ff0(0xc4);function readPatch(_0x3958d4){const _0x3fe531=a144_0x5d1ff0,_0x474a24=_0x3958d4['flag'](_0x3fe531(0xc2)),_0x4b6224=_0x3958d4[_0x3fe531(0xbd)]('remark'),_0xa042ae={};if(_0x474a24!==undefined&&_0x474a24!==null){const _0x16a5b9=String(_0x474a24)['trim']();if(!_0x16a5b9)throw CliErrors[_0x3fe531(0xb5)](_0x3fe531(0xb3));if(_0x16a5b9[_0x3fe531(0xc1)]>0x40)throw CliErrors['validation'](_0x3fe531(0xc8));_0xa042ae[_0x3fe531(0xcd)]=_0x16a5b9;}_0x4b6224!==undefined&&_0x4b6224!==null&&(_0xa042ae[_0x3fe531(0xcf)]=String(_0x4b6224));if(_0xa042ae[_0x3fe531(0xcd)]===undefined&&_0xa042ae[_0x3fe531(0xcf)]===undefined)throw CliErrors[_0x3fe531(0xb5)](_0x3fe531(0xc9),_0x3fe531(0xb4));return _0xa042ae;}export const roleUpdate={'service':a144_0x5d1ff0(0xbb),'command':a144_0x5d1ff0(0xce),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a144_0x5d1ff0(0xb7),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a144_0x5d1ff0(0xc2),'type':'string','required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x8aba31){readPatch(_0x8aba31);},async 'dryRun'(_0x2f07e2){const _0x5a09be=a144_0x5d1ff0,_0x1fd2a6=_0x2f07e2[_0x5a09be(0xc7)]('id'),_0x5ce9d7=readPatch(_0x2f07e2),_0x571da9=await getRoleById(_0x2f07e2[_0x5a09be(0xc5)],_0x1fd2a6);return assertCustomRole(_0x571da9,'update'),asDryRunResult({'operation':_0x5a09be(0xce),'selector':{'appCode':_0x2f07e2[_0x5a09be(0xc5)],'roleId':_0x1fd2a6,'roleName':_0x571da9['roleName']},'before':projectRole(_0x571da9),'after':projectRole({..._0x571da9,..._0x5ce9d7[_0x5a09be(0xcd)]!==undefined?{'roleName':_0x5ce9d7[_0x5a09be(0xcd)]}:{},..._0x5ce9d7[_0x5a09be(0xcf)]!==undefined?{'remark':_0x5ce9d7[_0x5a09be(0xcf)]}:{}}),'dryRun':!![],'backend':{'method':_0x5a09be(0xc6),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5a09be(0xc6),'url':UPDATE_PATH});},async 'execute'(_0x514044){const _0x5b62ba=a144_0x5d1ff0,_0x2b6749=_0x514044['num']('id'),_0x4d7919=readPatch(_0x514044),_0x527c20=await getRoleById(_0x514044['appCode'],_0x2b6749);assertCustomRole(_0x527c20,_0x5b62ba(0xce)),await updateAppRole({'id':_0x2b6749,'appCode':_0x514044[_0x5b62ba(0xc5)],..._0x4d7919['roleName']!==undefined?{'roleName':_0x4d7919['roleName']}:{},..._0x4d7919[_0x5b62ba(0xcf)]!==undefined?{'remark':_0x4d7919[_0x5b62ba(0xcf)]}:{}});const _0xc9d827=await getRoleById(_0x514044['appCode'],_0x2b6749);return{'ok':!![],'data':{'operation':_0x5b62ba(0xce),'selector':{'appCode':_0x514044['appCode'],'roleId':_0x2b6749,'roleName':_0xc9d827[_0x5b62ba(0xcd)]},'before':projectRole(_0x527c20),'after':projectRole(_0xc9d827),'dryRun':![],'backend':{'method':_0x5b62ba(0xc6),'path':UPDATE_PATH},'warnings':[]},'message':_0x5b62ba(0xca)+_0xc9d827[_0x5b62ba(0xcd)]+_0x5b62ba(0xbc)+_0x2b6749+')'};}};
1
+ const a144_0x4d8790=a144_0x1a10;(function(_0xd7b65f,_0x2ec181){const _0x3dda8d=a144_0x1a10,_0x3eeef0=_0xd7b65f();while(!![]){try{const _0x340fa6=-parseInt(_0x3dda8d(0xd4))/0x1*(parseInt(_0x3dda8d(0xc6))/0x2)+-parseInt(_0x3dda8d(0xbb))/0x3*(parseInt(_0x3dda8d(0xc5))/0x4)+-parseInt(_0x3dda8d(0xc8))/0x5*(parseInt(_0x3dda8d(0xcc))/0x6)+-parseInt(_0x3dda8d(0xcf))/0x7+-parseInt(_0x3dda8d(0xc2))/0x8*(parseInt(_0x3dda8d(0xd1))/0x9)+-parseInt(_0x3dda8d(0xc4))/0xa*(-parseInt(_0x3dda8d(0xd2))/0xb)+parseInt(_0x3dda8d(0xcd))/0xc;if(_0x340fa6===_0x2ec181)break;else _0x3eeef0['push'](_0x3eeef0['shift']());}catch(_0x2911b1){_0x3eeef0['push'](_0x3eeef0['shift']());}}}(a144_0x4753,0xd4871));function a144_0x1a10(_0x51b9da,_0x248712){_0x51b9da=_0x51b9da-0xb7;const _0x47533f=a144_0x4753();let _0x1a107d=_0x47533f[_0x51b9da];return _0x1a107d;}import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x52f2e2){const _0x141e97=a144_0x1a10,_0x6102f6=_0x52f2e2[_0x141e97(0xd3)]('name'),_0x22426a=_0x52f2e2['flag'](_0x141e97(0xc9)),_0x4ca7d5={};if(_0x6102f6!==undefined&&_0x6102f6!==null){const _0x4e4cb8=String(_0x6102f6)['trim']();if(!_0x4e4cb8)throw CliErrors[_0x141e97(0xba)](_0x141e97(0xbc));if(_0x4e4cb8[_0x141e97(0xc0)]>0x40)throw CliErrors[_0x141e97(0xba)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x4ca7d5[_0x141e97(0xb8)]=_0x4e4cb8;}_0x22426a!==undefined&&_0x22426a!==null&&(_0x4ca7d5[_0x141e97(0xc9)]=String(_0x22426a));if(_0x4ca7d5[_0x141e97(0xb8)]===undefined&&_0x4ca7d5[_0x141e97(0xc9)]===undefined)throw CliErrors[_0x141e97(0xba)](_0x141e97(0xce),'Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x4ca7d5;}function a144_0x4753(){const _0x219662=['num','9566778ZqgKcu','54044604CgOmzx','Nothing\x20to\x20update.','2503921PshIUK','string','16164AkfeJo','5423737RyPSIR','flag','19kdNXKB','write','roleName','appCode','validation','3351063iMikNu','--name\x20cannot\x20be\x20empty.','update','POST','New\x20role\x20name','length','Updated\x20role\x20','1792pIZWtM','name','20LNPeSQ','4YeHEIs','120826khnSsH','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','5YLxKww','remark','\x20(id='];a144_0x4753=function(){return _0x219662;};return a144_0x4753();}export const roleUpdate={'service':'role','command':a144_0x4d8790(0xbd),'description':a144_0x4d8790(0xc7),'risk':a144_0x4d8790(0xb7),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a144_0x4d8790(0xc3),'type':a144_0x4d8790(0xd0),'required':![],'description':a144_0x4d8790(0xbf)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4acaab){readPatch(_0x4acaab);},async 'dryRun'(_0x1d8f24){const _0x2a33b0=a144_0x4d8790,_0x292228=_0x1d8f24[_0x2a33b0(0xcb)]('id'),_0x59c737=readPatch(_0x1d8f24),_0x390a65=await getRoleById(_0x1d8f24[_0x2a33b0(0xb9)],_0x292228);return assertCustomRole(_0x390a65,_0x2a33b0(0xbd)),asDryRunResult({'operation':'update','selector':{'appCode':_0x1d8f24[_0x2a33b0(0xb9)],'roleId':_0x292228,'roleName':_0x390a65['roleName']},'before':projectRole(_0x390a65),'after':projectRole({..._0x390a65,..._0x59c737[_0x2a33b0(0xb8)]!==undefined?{'roleName':_0x59c737[_0x2a33b0(0xb8)]}:{},..._0x59c737[_0x2a33b0(0xc9)]!==undefined?{'remark':_0x59c737[_0x2a33b0(0xc9)]}:{}}),'dryRun':!![],'backend':{'method':_0x2a33b0(0xbe),'path':UPDATE_PATH},'warnings':[]},{'method':_0x2a33b0(0xbe),'url':UPDATE_PATH});},async 'execute'(_0x1c37bb){const _0x317a5d=a144_0x4d8790,_0x7c4f98=_0x1c37bb[_0x317a5d(0xcb)]('id'),_0x334d6e=readPatch(_0x1c37bb),_0x3dd84a=await getRoleById(_0x1c37bb[_0x317a5d(0xb9)],_0x7c4f98);assertCustomRole(_0x3dd84a,'update'),await updateAppRole({'id':_0x7c4f98,'appCode':_0x1c37bb['appCode'],..._0x334d6e[_0x317a5d(0xb8)]!==undefined?{'roleName':_0x334d6e[_0x317a5d(0xb8)]}:{},..._0x334d6e['remark']!==undefined?{'remark':_0x334d6e[_0x317a5d(0xc9)]}:{}});const _0x24f0b9=await getRoleById(_0x1c37bb[_0x317a5d(0xb9)],_0x7c4f98);return{'ok':!![],'data':{'operation':_0x317a5d(0xbd),'selector':{'appCode':_0x1c37bb[_0x317a5d(0xb9)],'roleId':_0x7c4f98,'roleName':_0x24f0b9[_0x317a5d(0xb8)]},'before':projectRole(_0x3dd84a),'after':projectRole(_0x24f0b9),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x317a5d(0xc1)+_0x24f0b9[_0x317a5d(0xb8)]+_0x317a5d(0xca)+_0x7c4f98+')'};}};
@@ -1 +1 @@
1
- const a145_0x23e15e=a145_0x4ba9;function a145_0x4ba9(_0x10298e,_0xbdd8f9){_0x10298e=_0x10298e-0x141;const _0xf4f5c5=a145_0xf4f5();let _0x4ba948=_0xf4f5c5[_0x10298e];return _0x4ba948;}(function(_0x3f4a4c,_0x241f6c){const _0x3b9b81=a145_0x4ba9,_0x482131=_0x3f4a4c();while(!![]){try{const _0x3deffd=-parseInt(_0x3b9b81(0x14d))/0x1*(parseInt(_0x3b9b81(0x147))/0x2)+-parseInt(_0x3b9b81(0x143))/0x3+parseInt(_0x3b9b81(0x153))/0x4*(-parseInt(_0x3b9b81(0x142))/0x5)+-parseInt(_0x3b9b81(0x14c))/0x6*(parseInt(_0x3b9b81(0x14a))/0x7)+-parseInt(_0x3b9b81(0x154))/0x8+-parseInt(_0x3b9b81(0x152))/0x9+parseInt(_0x3b9b81(0x155))/0xa*(parseInt(_0x3b9b81(0x144))/0xb);if(_0x3deffd===_0x241f6c)break;else _0x482131['push'](_0x482131['shift']());}catch(_0xa52ddc){_0x482131['push'](_0x482131['shift']());}}}(a145_0xf4f5,0xc6a44));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a145_0xf4f5(){const _0x157b99=['No\x20change:\x20user\x20','userId','selector','\x20to\x20role\x20','231462iOUpHN','1224708HCBVpI','6563512NYvjxy','1240bCEPeH','user-add','25DgtUWy','871980tBWNNp','427746rTnQgm','\x20already\x20in\x20role\x20','high-risk-write','520mEDFpR','role','roleName','721MCRbQV','appCode','77892qHQKaa','13ZITQML'];a145_0xf4f5=function(){return _0x157b99;};return a145_0xf4f5();}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a145_0x23e15e(0x148),'command':a145_0x23e15e(0x141),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a145_0x23e15e(0x146),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x2723a0){const _0x4d3da2=a145_0x23e15e,{mutation:_0x5f3f1f}=await prepareUserMutation(_0x2723a0,_0x4d3da2(0x141),!![]);return asDryRunResult(_0x5f3f1f,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x1bb520){const _0xdb0dc7=a145_0x23e15e,{roleList:_0x52aca9,mutation:_0x33c521,changed:_0x40afef}=await prepareUserMutation(_0x1bb520,_0xdb0dc7(0x141),![]);return _0x40afef&&await updateRoleUsers(_0x1bb520[_0xdb0dc7(0x14b)],_0x52aca9),{'ok':!![],'data':_0x33c521,'message':_0x40afef?'Added\x20user\x20'+_0x33c521[_0xdb0dc7(0x150)][_0xdb0dc7(0x14f)]+_0xdb0dc7(0x151)+_0x33c521['selector'][_0xdb0dc7(0x149)]:_0xdb0dc7(0x14e)+_0x33c521[_0xdb0dc7(0x150)][_0xdb0dc7(0x14f)]+_0xdb0dc7(0x145)+_0x33c521[_0xdb0dc7(0x150)]['roleName']};}};
1
+ const a145_0x1800b8=a145_0x118e;function a145_0x118e(_0x4de042,_0x166588){_0x4de042=_0x4de042-0xb6;const _0x102903=a145_0x1029();let _0x118ee7=_0x102903[_0x4de042];return _0x118ee7;}(function(_0x1e72ae,_0x13795e){const _0x39acca=a145_0x118e,_0x32311f=_0x1e72ae();while(!![]){try{const _0x536057=-parseInt(_0x39acca(0xb6))/0x1+parseInt(_0x39acca(0xbd))/0x2+parseInt(_0x39acca(0xbe))/0x3*(parseInt(_0x39acca(0xba))/0x4)+-parseInt(_0x39acca(0xc7))/0x5+-parseInt(_0x39acca(0xbc))/0x6*(-parseInt(_0x39acca(0xc6))/0x7)+parseInt(_0x39acca(0xc5))/0x8+-parseInt(_0x39acca(0xb9))/0x9;if(_0x536057===_0x13795e)break;else _0x32311f['push'](_0x32311f['shift']());}catch(_0x1ed648){_0x32311f['push'](_0x32311f['shift']());}}}(a145_0x1029,0x41cd2));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a145_0x1029(){const _0x147fb2=['6476742cKqEIS','228ZYMuDh','Added\x20user\x20','6ySgyDY','616636dmpxqX','17475xSUSWA','No\x20change:\x20user\x20','roleName','POST','\x20to\x20role\x20','role','user-add','2179288HcOhDl','3634127LYFKiu','516355rZcIpE','\x20already\x20in\x20role\x20','selector','339484NbnwzE','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','userId'];a145_0x1029=function(){return _0x147fb2;};return a145_0x1029();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a145_0x1800b8(0xc3),'command':'user-add','description':a145_0x1800b8(0xb7),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3be62b){const _0x3b6511=a145_0x1800b8,{mutation:_0xc8619c}=await prepareUserMutation(_0x3be62b,_0x3b6511(0xc4),!![]);return asDryRunResult(_0xc8619c,{'method':_0x3b6511(0xc1),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x488d85){const _0x1b6eae=a145_0x1800b8,{roleList:_0x5c6478,mutation:_0x10adf7,changed:_0x49378d}=await prepareUserMutation(_0x488d85,_0x1b6eae(0xc4),![]);return _0x49378d&&await updateRoleUsers(_0x488d85['appCode'],_0x5c6478),{'ok':!![],'data':_0x10adf7,'message':_0x49378d?_0x1b6eae(0xbb)+_0x10adf7[_0x1b6eae(0xc9)][_0x1b6eae(0xb8)]+_0x1b6eae(0xc2)+_0x10adf7[_0x1b6eae(0xc9)][_0x1b6eae(0xc0)]:_0x1b6eae(0xbf)+_0x10adf7[_0x1b6eae(0xc9)][_0x1b6eae(0xb8)]+_0x1b6eae(0xc8)+_0x10adf7['selector'][_0x1b6eae(0xc0)]};}};
@@ -1 +1 @@
1
- const a146_0x437078=a146_0x4a8b;(function(_0x4e0602,_0x1d750b){const _0x2555e3=a146_0x4a8b,_0x5c39a1=_0x4e0602();while(!![]){try{const _0x49a72b=parseInt(_0x2555e3(0x1d8))/0x1+parseInt(_0x2555e3(0x1dc))/0x2*(-parseInt(_0x2555e3(0x1d6))/0x3)+parseInt(_0x2555e3(0x1e0))/0x4*(parseInt(_0x2555e3(0x1d4))/0x5)+-parseInt(_0x2555e3(0x1e1))/0x6*(-parseInt(_0x2555e3(0x1d3))/0x7)+-parseInt(_0x2555e3(0x1dd))/0x8*(parseInt(_0x2555e3(0x1e2))/0x9)+parseInt(_0x2555e3(0x1d7))/0xa+-parseInt(_0x2555e3(0x1ce))/0xb*(parseInt(_0x2555e3(0x1da))/0xc);if(_0x49a72b===_0x1d750b)break;else _0x5c39a1['push'](_0x5c39a1['shift']());}catch(_0x26f84d){_0x5c39a1['push'](_0x5c39a1['shift']());}}}(a146_0x5223,0xae8f5));function a146_0x4a8b(_0x38a6e5,_0x65d70d){_0x38a6e5=_0x38a6e5-0x1cc;const _0x52232f=a146_0x5223();let _0x4a8b7a=_0x52232f[_0x38a6e5];return _0x4a8b7a;}function a146_0x5223(){const _0x58f867=['126WuOJLm','high-risk-write','userId','77jOJKbS','selector','user-remove','\x20not\x20in\x20role\x20','POST','210iDdWSU','536230TNgZQN','roleName','1760295LJHclp','288760uuCpNS','896856rHkrcY','Removed\x20user\x20','3167784GhTfwC','role','2twhDAl','157736DoZzvo','appCode','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','48epnIAD','242598pwVGSn'];a146_0x5223=function(){return _0x58f867;};return a146_0x5223();}import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a146_0x437078(0x1db),'command':a146_0x437078(0x1d0),'description':a146_0x437078(0x1df),'risk':a146_0x437078(0x1cc),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x11b8ec){const _0x8c28df=a146_0x437078,{mutation:_0x49edf0}=await prepareUserMutation(_0x11b8ec,_0x8c28df(0x1d0),!![]);return asDryRunResult(_0x49edf0,{'method':_0x8c28df(0x1d2),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x3c1a8f){const _0x131c2f=a146_0x437078,{roleList:_0x1f8a17,mutation:_0x480b33,changed:_0x465582}=await prepareUserMutation(_0x3c1a8f,'user-remove',![]);return _0x465582&&await updateRoleUsers(_0x3c1a8f[_0x131c2f(0x1de)],_0x1f8a17),{'ok':!![],'data':_0x480b33,'message':_0x465582?_0x131c2f(0x1d9)+_0x480b33[_0x131c2f(0x1cf)]['userId']+'\x20from\x20role\x20'+_0x480b33['selector'][_0x131c2f(0x1d5)]:'No\x20change:\x20user\x20'+_0x480b33['selector'][_0x131c2f(0x1cd)]+_0x131c2f(0x1d1)+_0x480b33['selector'][_0x131c2f(0x1d5)]};}};
1
+ function a146_0x3547(){const _0x4109ae=['Removed\x20user\x20','385wrWKle','6GDNvkM','6471HbLLbG','105895baPQEb','5930JHDMjB','POST','1490846zqZUJb','1282143eQPdNF','No\x20change:\x20user\x20','93912RKPSGo','\x20not\x20in\x20role\x20','roleName','471354ahUujF','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','4448dgrZgY','user-remove','selector','appCode'];a146_0x3547=function(){return _0x4109ae;};return a146_0x3547();}const a146_0x51b6c4=a146_0xc46e;(function(_0x3ba20d,_0x5aa4b5){const _0x36ff5a=a146_0xc46e,_0x18ec9b=_0x3ba20d();while(!![]){try{const _0x225d6c=-parseInt(_0x36ff5a(0xc9))/0x1+parseInt(_0x36ff5a(0xd2))/0x2+parseInt(_0x36ff5a(0xcd))/0x3+parseInt(_0x36ff5a(0xd4))/0x4*(-parseInt(_0x36ff5a(0xd9))/0x5)+parseInt(_0x36ff5a(0xc7))/0x6*(parseInt(_0x36ff5a(0xcc))/0x7)+parseInt(_0x36ff5a(0xcf))/0x8+-parseInt(_0x36ff5a(0xc8))/0x9*(parseInt(_0x36ff5a(0xca))/0xa);if(_0x225d6c===_0x5aa4b5)break;else _0x18ec9b['push'](_0x18ec9b['shift']());}catch(_0x514c99){_0x18ec9b['push'](_0x18ec9b['shift']());}}}(a146_0x3547,0x41e41));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a146_0xc46e(_0x48c271,_0x2e2fc9){_0x48c271=_0x48c271-0xc7;const _0x35474e=a146_0x3547();let _0xc46ed0=_0x35474e[_0x48c271];return _0xc46ed0;}export const roleUserRemove={'service':'role','command':a146_0x51b6c4(0xd5),'description':a146_0x51b6c4(0xd3),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x15072f){const _0x31a6cc=a146_0x51b6c4,{mutation:_0x2ccebe}=await prepareUserMutation(_0x15072f,_0x31a6cc(0xd5),!![]);return asDryRunResult(_0x2ccebe,{'method':_0x31a6cc(0xcb),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0xcd1ee){const _0x2f728e=a146_0x51b6c4,{roleList:_0x170541,mutation:_0x2a3a17,changed:_0x5a0ef1}=await prepareUserMutation(_0xcd1ee,_0x2f728e(0xd5),![]);return _0x5a0ef1&&await updateRoleUsers(_0xcd1ee[_0x2f728e(0xd7)],_0x170541),{'ok':!![],'data':_0x2a3a17,'message':_0x5a0ef1?_0x2f728e(0xd8)+_0x2a3a17['selector']['userId']+'\x20from\x20role\x20'+_0x2a3a17['selector'][_0x2f728e(0xd1)]:_0x2f728e(0xce)+_0x2a3a17[_0x2f728e(0xd6)]['userId']+_0x2f728e(0xd0)+_0x2a3a17['selector'][_0x2f728e(0xd1)]};}};
@@ -1 +1 @@
1
- const a147_0x954470=a147_0x18d3;(function(_0x197973,_0x360ca7){const _0x1e05b5=a147_0x18d3,_0x5f21ad=_0x197973();while(!![]){try{const _0x50d5cb=parseInt(_0x1e05b5(0x185))/0x1*(parseInt(_0x1e05b5(0x17a))/0x2)+-parseInt(_0x1e05b5(0x18c))/0x3*(-parseInt(_0x1e05b5(0x17e))/0x4)+-parseInt(_0x1e05b5(0x179))/0x5*(parseInt(_0x1e05b5(0x188))/0x6)+-parseInt(_0x1e05b5(0x17d))/0x7*(parseInt(_0x1e05b5(0x182))/0x8)+-parseInt(_0x1e05b5(0x17c))/0x9+parseInt(_0x1e05b5(0x18a))/0xa+parseInt(_0x1e05b5(0x187))/0xb*(-parseInt(_0x1e05b5(0x184))/0xc);if(_0x50d5cb===_0x360ca7)break;else _0x5f21ad['push'](_0x5f21ad['shift']());}catch(_0x51e574){_0x5f21ad['push'](_0x5f21ad['shift']());}}}(a147_0x3238,0x4a428));import{CliErrors}from'../../errors.js';function a147_0x18d3(_0x131445,_0x3e0659){_0x131445=_0x131445-0x176;const _0x3238e3=a147_0x3238();let _0x18d394=_0x3238e3[_0x131445];return _0x18d394;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a147_0x3238(){const _0x489168=['12znQTGG','2VYwMmg','str','5088347BneLSM','1567812TpGljW','userId','5159020cpWaVl','Resolved\x20\x22','3QFvIRi','role','name','matchedBy','10HZDlnD','580882tYtfzQ','nickname','1349379NUcAKF','7gkpGlI','2381804CEElIO','\x22\x20→\x20userId\x20','trim','Pass\x20--name\x20<nickname|username>.','2023640meSnXc','username'];a147_0x3238=function(){return _0x489168;};return a147_0x3238();}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a147_0x954470(0x176),'command':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x52b5ff){const _0xa3e5b8=a147_0x954470;if(!_0x52b5ff[_0xa3e5b8(0x186)](_0xa3e5b8(0x177))[_0xa3e5b8(0x180)]())throw CliErrors['flagMissing']('name',_0xa3e5b8(0x181));},async 'execute'(_0x23ac50){const _0x4ff71a=a147_0x954470,_0x56c7c7=_0x23ac50[_0x4ff71a(0x186)](_0x4ff71a(0x177))[_0x4ff71a(0x180)](),_0x36a262=await resolveUserRef(_0x56c7c7);return{'ok':!![],'data':{'user':{'userId':_0x36a262[_0x4ff71a(0x189)],'username':_0x36a262[_0x4ff71a(0x183)],'nickname':_0x36a262[_0x4ff71a(0x17b)],'matchedBy':_0x36a262[_0x4ff71a(0x178)]}},'message':_0x4ff71a(0x18b)+_0x56c7c7+_0x4ff71a(0x17f)+_0x36a262[_0x4ff71a(0x189)]};}};
1
+ const a147_0x266256=a147_0x4a83;function a147_0x4a83(_0x4da7ae,_0x491aa8){_0x4da7ae=_0x4da7ae-0x8d;const _0x107e1a=a147_0x107e();let _0x4a83b2=_0x107e1a[_0x4da7ae];return _0x4a83b2;}function a147_0x107e(){const _0x38a8b2=['role','name','str','Pass\x20--name\x20<nickname|username>.','8DftOIQ','7qiunXA','matchedBy','60oOSnMf','31960ntUiak','418VDTyNd','60905Kbhyyi','user-resolve','2025924WHRCtH','nickname','username','21646jcmLum','flagMissing','329157ZRWuQd','28881Ewppja','trim','\x22\x20→\x20userId\x20','261611BbbJXp','102OVHjzA','Resolved\x20\x22','userId'];a147_0x107e=function(){return _0x38a8b2;};return a147_0x107e();}(function(_0x14031b,_0x335467){const _0x44503e=a147_0x4a83,_0x5d7f15=_0x14031b();while(!![]){try{const _0x5993ab=parseInt(_0x44503e(0x9b))/0x1*(-parseInt(_0x44503e(0xa5))/0x2)+-parseInt(_0x44503e(0x8f))/0x3*(parseInt(_0x44503e(0x9d))/0x4)+parseInt(_0x44503e(0xa0))/0x5*(parseInt(_0x44503e(0x93))/0x6)+parseInt(_0x44503e(0x92))/0x7*(parseInt(_0x44503e(0x9a))/0x8)+parseInt(_0x44503e(0x8e))/0x9+-parseInt(_0x44503e(0x9e))/0xa*(parseInt(_0x44503e(0x9f))/0xb)+parseInt(_0x44503e(0xa2))/0xc;if(_0x5993ab===_0x335467)break;else _0x5d7f15['push'](_0x5d7f15['shift']());}catch(_0x30d005){_0x5d7f15['push'](_0x5d7f15['shift']());}}}(a147_0x107e,0x1a6cc));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a147_0x266256(0x96),'command':a147_0x266256(0xa1),'description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x39d46e){const _0xb83074=a147_0x266256;if(!_0x39d46e[_0xb83074(0x98)]('name')[_0xb83074(0x90)]())throw CliErrors[_0xb83074(0x8d)](_0xb83074(0x97),_0xb83074(0x99));},async 'execute'(_0x3b2e13){const _0x404b5d=a147_0x266256,_0x5c337f=_0x3b2e13[_0x404b5d(0x98)](_0x404b5d(0x97))[_0x404b5d(0x90)](),_0x279f9a=await resolveUserRef(_0x5c337f);return{'ok':!![],'data':{'user':{'userId':_0x279f9a[_0x404b5d(0x95)],'username':_0x279f9a[_0x404b5d(0xa4)],'nickname':_0x279f9a[_0x404b5d(0xa3)],'matchedBy':_0x279f9a[_0x404b5d(0x9c)]}},'message':_0x404b5d(0x94)+_0x5c337f+_0x404b5d(0x91)+_0x279f9a['userId']};}};
@@ -1 +1 @@
1
- const a148_0x34b0b8=a148_0x573e;(function(_0x1d07c0,_0x154881){const _0x115d82=a148_0x573e,_0x403b7e=_0x1d07c0();while(!![]){try{const _0x49ca13=-parseInt(_0x115d82(0x192))/0x1*(parseInt(_0x115d82(0x15f))/0x2)+parseInt(_0x115d82(0x189))/0x3*(parseInt(_0x115d82(0x16b))/0x4)+parseInt(_0x115d82(0x181))/0x5+-parseInt(_0x115d82(0x190))/0x6+parseInt(_0x115d82(0x17d))/0x7+-parseInt(_0x115d82(0x186))/0x8+-parseInt(_0x115d82(0x168))/0x9*(parseInt(_0x115d82(0x161))/0xa);if(_0x49ca13===_0x154881)break;else _0x403b7e['push'](_0x403b7e['shift']());}catch(_0x561ff4){_0x403b7e['push'](_0x403b7e['shift']());}}}(a148_0xe33f,0x59cbf));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';function a148_0xe33f(){const _0x25ece1=['71220DDAYht','build','needsUpgrade','package.json','Available:\x20','join','\x20\x20\x20\x20','117rgSesK','log','run','4ooRJcf','utf-8','No\x20package.json\x20found\x20in\x20current\x20directory.','npm','slice','push','.bin','args','yarn.lock','preview','Script\x20\x22','\x20run\x20<script>\x0a','start','vite','node_modules','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20preview','bun.lockb','3461073MZRfCg','\x20run\x20','bool','--watch','1511310qCkyTO','error','boolean','dev','\x0a\x20\x20Available\x20scripts:\x0a','1211920lXmVUT','length','No\x20scripts\x20defined\x20in\x20package.json.','1872324IpmtkE','keys','watch','all','parse','has','yarn','3872538KqeQna','\x20exited\x20with\x20code\x20','37Oxktqp','read','\x22\x20not\x20found\x20in\x20package.json.','pnpm-lock.yaml','bun','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','Enable\x20watch\x20mode\x20for\x20preview','(none)','\x20run\x20build','8838vovPtX','close'];a148_0xe33f=function(){return _0x25ece1;};return a148_0xe33f();}import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a148_0x34b0b8(0x177),a148_0x34b0b8(0x184)]);function readPackageScripts(_0x2254af){const _0x2ff2a0=a148_0x34b0b8,_0x1aab91=resolve(_0x2254af,_0x2ff2a0(0x164));if(!existsSync(_0x1aab91))return null;try{const _0x4e96ee=JSON[_0x2ff2a0(0x18d)](readFileSync(_0x1aab91,_0x2ff2a0(0x16c)));return _0x4e96ee['scripts']??{};}catch{return null;}}function detectPackageManager(_0x2c4bf2){const _0x2b22dc=a148_0x34b0b8;if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x17c)))||existsSync(resolve(_0x2c4bf2,'bun.lock')))return _0x2b22dc(0x196);if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x195))))return'pnpm';if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x173))))return _0x2b22dc(0x18f);return _0x2b22dc(0x16e);}async function versionCheck(_0x48a2ee){const _0x192f2f=a148_0x34b0b8,_0x2d9392=await checkCliVersion();(_0x2d9392[_0x192f2f(0x163)]||_0x2d9392['belowMinimum'])&&(printCliUpgradeWarning(_0x2d9392),assertCliVersionSupported(_0x2d9392));const _0x530457=await checkSdkVersion(_0x48a2ee);if(_0x530457[_0x192f2f(0x163)])printSdkUpgradeWarning(_0x530457);}function spawnScript(_0x201be1,_0x472f67,_0x1ed03b,_0x125f99){return new Promise((_0x463194,_0x4e6957)=>{const _0x9b0e9a=a148_0x573e,_0x12f253=[_0x9b0e9a(0x16a),_0x472f67,..._0x1ed03b],_0x310a91=spawn(_0x201be1,_0x12f253,{'cwd':_0x125f99,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x125f99,'node_modules','.bin')+delimiter+process.env.PATH}});_0x310a91['on']('close',_0x156f37=>{const _0x189ea8=_0x9b0e9a;if(_0x156f37===0x0||_0x156f37===null)_0x463194();else _0x4e6957(new Error(_0x201be1+_0x189ea8(0x17e)+_0x472f67+_0x189ea8(0x191)+_0x156f37));}),_0x310a91['on'](_0x9b0e9a(0x182),_0x4e6957);});}function spawnViteBuildWatch(_0x49476e){return new Promise((_0x923eba,_0x3a0802)=>{const _0x1c4139=a148_0x573e,_0x32c878=spawn(_0x1c4139(0x178),[_0x1c4139(0x162),_0x1c4139(0x180)],{'cwd':_0x49476e,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x49476e,_0x1c4139(0x179),_0x1c4139(0x171))+delimiter+process.env.PATH}});_0x32c878['on'](_0x1c4139(0x160),_0x16de6a=>{const _0x5ccce2=_0x1c4139;if(_0x16de6a===0x0||_0x16de6a===null)_0x923eba();else _0x3a0802(new Error(_0x5ccce2(0x197)+_0x16de6a));}),_0x32c878['on']('error',_0x3a0802);});}function a148_0x573e(_0x1bb0f7,_0x21026f){_0x1bb0f7=_0x1bb0f7-0x15f;const _0xe33f0c=a148_0xe33f();let _0x573e7d=_0xe33f0c[_0x1bb0f7];return _0x573e7d;}function spawnVitePreview(_0x5d1a5f){return new Promise((_0xfdb0d4,_0x14233d)=>{const _0x5c70ef=a148_0x573e,_0x5a697e=spawn('vite',[_0x5c70ef(0x174)],{'cwd':_0x5d1a5f,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x5d1a5f,'node_modules',_0x5c70ef(0x171))+delimiter+process.env.PATH}});_0x5a697e['on'](_0x5c70ef(0x160),_0x5ba359=>{const _0x3d8fd0=_0x5c70ef;if(_0x5ba359===0x0||_0x5ba359===null)_0xfdb0d4();else _0x14233d(new Error(_0x3d8fd0(0x17a)+_0x5ba359));}),_0x5a697e['on'](_0x5c70ef(0x182),_0x14233d);});}const runFlags=[{'name':a148_0x34b0b8(0x18b),'type':a148_0x34b0b8(0x183),'description':a148_0x34b0b8(0x198),'default':![]}];export const runDefinition={'service':'run','command':a148_0x34b0b8(0x16a),'description':'Run\x20a\x20package.json\x20script','risk':a148_0x34b0b8(0x193),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x833e8=a148_0x34b0b8,_0x1990ca=[];return _0x1990ca[_0x833e8(0x170)]('\x20\x20EXAMPLES'),_0x1990ca[_0x833e8(0x170)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x1990ca['push'](_0x833e8(0x167)+CLI_BIN_NAME+_0x833e8(0x19a)),_0x1990ca[_0x833e8(0x170)](_0x833e8(0x167)+CLI_BIN_NAME+_0x833e8(0x17b)),_0x1990ca[_0x833e8(0x170)](_0x833e8(0x167)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x1990ca[_0x833e8(0x166)]('\x0a');},async 'execute'(_0x970111){const _0x34ebee=a148_0x34b0b8,_0x149e95=process['cwd'](),_0x3291c8=_0x970111['args'][0x0],_0x1945d9=_0x970111[_0x34ebee(0x172)][_0x34ebee(0x16f)](0x1),_0xc5ba22=readPackageScripts(_0x149e95);if(!_0xc5ba22)throw CliErrors['validation'](_0x34ebee(0x16d));if(!_0x3291c8){const _0x379bf0=Object[_0x34ebee(0x18a)](_0xc5ba22);if(_0x379bf0[_0x34ebee(0x187)]===0x0)console[_0x34ebee(0x169)](_0x34ebee(0x188));else{console['log'](_0x34ebee(0x185));for(const _0x4cc64a of _0x379bf0){console[_0x34ebee(0x169)](_0x34ebee(0x167)+_0x4cc64a);}console['log']('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x34ebee(0x176));}return{'ok':!![]};}if(!_0xc5ba22[_0x3291c8])throw CliErrors['validation'](_0x34ebee(0x175)+_0x3291c8+_0x34ebee(0x194),_0x34ebee(0x165)+(Object[_0x34ebee(0x18a)](_0xc5ba22)[_0x34ebee(0x166)](',\x20')||_0x34ebee(0x199)));const _0x5098fa=detectPackageManager(_0x149e95);VERSION_CHECK_SCRIPTS[_0x34ebee(0x18e)](_0x3291c8)&&await versionCheck(_0x149e95);if(_0x3291c8===_0x34ebee(0x174)&&_0x970111[_0x34ebee(0x17f)](_0x34ebee(0x18b)))return await Promise[_0x34ebee(0x18c)]([spawnViteBuildWatch(_0x149e95),spawnVitePreview(_0x149e95)]),{'ok':!![]};return await spawnScript(_0x5098fa,_0x3291c8,_0x1945d9,_0x149e95),{'ok':!![]};}};
1
+ const a148_0x37731c=a148_0x24ea;(function(_0x5f1839,_0xa6811e){const _0x176fd6=a148_0x24ea,_0x1ef7ea=_0x5f1839();while(!![]){try{const _0x1c632c=-parseInt(_0x176fd6(0xed))/0x1+-parseInt(_0x176fd6(0xee))/0x2+parseInt(_0x176fd6(0xdf))/0x3*(parseInt(_0x176fd6(0xdd))/0x4)+parseInt(_0x176fd6(0xfe))/0x5*(-parseInt(_0x176fd6(0xd8))/0x6)+parseInt(_0x176fd6(0xfa))/0x7*(parseInt(_0x176fd6(0xf2))/0x8)+parseInt(_0x176fd6(0x107))/0x9+-parseInt(_0x176fd6(0x102))/0xa;if(_0x1c632c===_0xa6811e)break;else _0x1ef7ea['push'](_0x1ef7ea['shift']());}catch(_0x1e5fbb){_0x1ef7ea['push'](_0x1ef7ea['shift']());}}}(a148_0x3ba8,0xe44ed));import{readFileSync,existsSync}from'node:fs';function a148_0x24ea(_0x5466e8,_0x57665a){_0x5466e8=_0x5466e8-0xd4;const _0x3ba82f=a148_0x3ba8();let _0x24ead7=_0x3ba82f[_0x5466e8];return _0x24ead7;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a148_0x37731c(0xdb),a148_0x37731c(0x106)]);function readPackageScripts(_0x4363a5){const _0x336f97=a148_0x37731c,_0x4d3d2f=resolve(_0x4363a5,'package.json');if(!existsSync(_0x4d3d2f))return null;try{const _0x87a869=JSON[_0x336f97(0xde)](readFileSync(_0x4d3d2f,'utf-8'));return _0x87a869[_0x336f97(0xfb)]??{};}catch{return null;}}function detectPackageManager(_0x3934ab){const _0x52835c=a148_0x37731c;if(existsSync(resolve(_0x3934ab,'bun.lockb'))||existsSync(resolve(_0x3934ab,'bun.lock')))return _0x52835c(0xe4);if(existsSync(resolve(_0x3934ab,_0x52835c(0xe0))))return _0x52835c(0x10a);if(existsSync(resolve(_0x3934ab,'yarn.lock')))return _0x52835c(0xd4);return'npm';}async function versionCheck(_0x413501){const _0x429706=a148_0x37731c,_0xc98914=await checkCliVersion();(_0xc98914[_0x429706(0xf9)]||_0xc98914['belowMinimum'])&&(printCliUpgradeWarning(_0xc98914),assertCliVersionSupported(_0xc98914));const _0x2023af=await checkSdkVersion(_0x413501);if(_0x2023af[_0x429706(0xf9)])printSdkUpgradeWarning(_0x2023af);}function spawnScript(_0x347aca,_0x2f94fb,_0x1ea350,_0xc77a32){return new Promise((_0xfc6df5,_0x1a9251)=>{const _0x3c4ecd=a148_0x24ea,_0x384b3e=[_0x3c4ecd(0xef),_0x2f94fb,..._0x1ea350],_0x17ac05=spawn(_0x347aca,_0x384b3e,{'cwd':_0xc77a32,'stdio':_0x3c4ecd(0x105),'shell':!![],'env':{...process.env,'PATH':''+join(_0xc77a32,_0x3c4ecd(0xea),_0x3c4ecd(0x104))+delimiter+process.env.PATH}});_0x17ac05['on'](_0x3c4ecd(0xe7),_0xeedcc5=>{if(_0xeedcc5===0x0||_0xeedcc5===null)_0xfc6df5();else _0x1a9251(new Error(_0x347aca+'\x20run\x20'+_0x2f94fb+'\x20exited\x20with\x20code\x20'+_0xeedcc5));}),_0x17ac05['on'](_0x3c4ecd(0xf4),_0x1a9251);});}function spawnViteBuildWatch(_0x26644c){return new Promise((_0x2e4793,_0x1d0b7c)=>{const _0x4a94f4=a148_0x24ea,_0x480d5f=spawn(_0x4a94f4(0x101),['build',_0x4a94f4(0xf1)],{'cwd':_0x26644c,'stdio':_0x4a94f4(0x105),'shell':!![],'env':{...process.env,'PATH':''+join(_0x26644c,_0x4a94f4(0xea),'.bin')+delimiter+process.env.PATH}});_0x480d5f['on'](_0x4a94f4(0xe7),_0xe686e1=>{const _0x59047b=_0x4a94f4;if(_0xe686e1===0x0||_0xe686e1===null)_0x2e4793();else _0x1d0b7c(new Error(_0x59047b(0xf3)+_0xe686e1));}),_0x480d5f['on']('error',_0x1d0b7c);});}function spawnVitePreview(_0x3698ed){return new Promise((_0x4ba444,_0x4d61f5)=>{const _0x3544ee=a148_0x24ea,_0x5056d8=spawn(_0x3544ee(0x101),[_0x3544ee(0xe1)],{'cwd':_0x3698ed,'stdio':_0x3544ee(0x105),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3698ed,_0x3544ee(0xea),_0x3544ee(0x104))+delimiter+process.env.PATH}});_0x5056d8['on'](_0x3544ee(0xe7),_0x421f73=>{if(_0x421f73===0x0||_0x421f73===null)_0x4ba444();else _0x4d61f5(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x421f73));}),_0x5056d8['on'](_0x3544ee(0xf4),_0x4d61f5);});}const runFlags=[{'name':a148_0x37731c(0xe5),'type':a148_0x37731c(0xe9),'description':a148_0x37731c(0xe3),'default':![]}];function a148_0x3ba8(){const _0x5f6397=['length','35CBTjaY','push','No\x20scripts\x20defined\x20in\x20package.json.','vite','6422560fPlZcF','keys','.bin','inherit','dev','12155409sqthGQ','slice','\x22\x20not\x20found\x20in\x20package.json.','pnpm','cwd','yarn','has','join','args','23154ApTqbM','Run\x20a\x20package.json\x20script','\x0a\x20\x20Available\x20scripts:\x0a','start','\x20\x20\x20\x20','4wBfbdS','parse','4264824Uywahw','pnpm-lock.yaml','preview','validation','Enable\x20watch\x20mode\x20for\x20preview','bun','watch','\x20run\x20<script>\x0a','close','(none)','boolean','node_modules','log','all','56940rQYZEt','3236882fFRvtH','run','read','--watch','10520AlOaGV','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','error','Available:\x20','\x20run\x20preview','Script\x20name\x20defined\x20in\x20package.json','\x0a\x20\x20Usage:\x20','needsUpgrade','2702sCWHAh','scripts','bool'];a148_0x3ba8=function(){return _0x5f6397;};return a148_0x3ba8();}export const runDefinition={'service':a148_0x37731c(0xef),'command':a148_0x37731c(0xef),'description':a148_0x37731c(0xd9),'risk':a148_0x37731c(0xf0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a148_0x37731c(0xf7),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x47d5df=a148_0x37731c,_0x3728f5=[];return _0x3728f5[_0x47d5df(0xff)]('\x20\x20EXAMPLES'),_0x3728f5['push'](_0x47d5df(0xdc)+CLI_BIN_NAME+'\x20run\x20start'),_0x3728f5[_0x47d5df(0xff)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x3728f5[_0x47d5df(0xff)](_0x47d5df(0xdc)+CLI_BIN_NAME+_0x47d5df(0xf6)),_0x3728f5[_0x47d5df(0xff)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x3728f5[_0x47d5df(0xd6)]('\x0a');},async 'execute'(_0x237a41){const _0x248c18=a148_0x37731c,_0x2f0acb=process[_0x248c18(0x10b)](),_0x4a57be=_0x237a41['args'][0x0],_0x13743f=_0x237a41[_0x248c18(0xd7)][_0x248c18(0x108)](0x1),_0x447adf=readPackageScripts(_0x2f0acb);if(!_0x447adf)throw CliErrors[_0x248c18(0xe2)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x4a57be){const _0x22a365=Object[_0x248c18(0x103)](_0x447adf);if(_0x22a365[_0x248c18(0xfd)]===0x0)console[_0x248c18(0xeb)](_0x248c18(0x100));else{console[_0x248c18(0xeb)](_0x248c18(0xda));for(const _0x22064b of _0x22a365){console[_0x248c18(0xeb)](_0x248c18(0xdc)+_0x22064b);}console['log'](_0x248c18(0xf8)+CLI_BIN_NAME+_0x248c18(0xe6));}return{'ok':!![]};}if(!_0x447adf[_0x4a57be])throw CliErrors[_0x248c18(0xe2)]('Script\x20\x22'+_0x4a57be+_0x248c18(0x109),_0x248c18(0xf5)+(Object[_0x248c18(0x103)](_0x447adf)[_0x248c18(0xd6)](',\x20')||_0x248c18(0xe8)));const _0xeeca8e=detectPackageManager(_0x2f0acb);VERSION_CHECK_SCRIPTS[_0x248c18(0xd5)](_0x4a57be)&&await versionCheck(_0x2f0acb);if(_0x4a57be===_0x248c18(0xe1)&&_0x237a41[_0x248c18(0xfc)](_0x248c18(0xe5)))return await Promise[_0x248c18(0xec)]([spawnViteBuildWatch(_0x2f0acb),spawnVitePreview(_0x2f0acb)]),{'ok':!![]};return await spawnScript(_0xeeca8e,_0x4a57be,_0x13743f,_0x2f0acb),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a149_0x136e(_0x29456b,_0x2d9230){_0x29456b=_0x29456b-0x13c;const _0x27b551=a149_0x27b5();let _0x136e1a=_0x27b551[_0x29456b];return _0x136e1a;}const a149_0x26ff35=a149_0x136e;(function(_0x5eda7c,_0x203a86){const _0x5de47c=a149_0x136e,_0x34c760=_0x5eda7c();while(!![]){try{const _0x1fa820=parseInt(_0x5de47c(0x145))/0x1+-parseInt(_0x5de47c(0x13f))/0x2+-parseInt(_0x5de47c(0x147))/0x3+parseInt(_0x5de47c(0x13e))/0x4*(-parseInt(_0x5de47c(0x13d))/0x5)+-parseInt(_0x5de47c(0x144))/0x6+-parseInt(_0x5de47c(0x142))/0x7*(-parseInt(_0x5de47c(0x141))/0x8)+parseInt(_0x5de47c(0x143))/0x9;if(_0x1fa820===_0x203a86)break;else _0x34c760['push'](_0x34c760['shift']());}catch(_0x5b00b6){_0x34c760['push'](_0x34c760['shift']());}}}(a149_0x27b5,0x7c972));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x308683){const _0x169b5c=await buildSchemaPayload();return{'ok':!![],'data':_0x169b5c};}function a149_0x27b5(){const _0x3e7e34=['read','7847336Upeuzy','7qFuhgZ','128052yNhBKU','178008mrmnHz','963665NtLIEq','schema','231348xJIBhT','Export\x20machine-readable\x20command\x20schema\x20(JSON)','191365FbZhfO','76Rkaxeg','1229034kBCwsF'];a149_0x27b5=function(){return _0x3e7e34;};return a149_0x27b5();}export const schemaDefinition={'service':a149_0x26ff35(0x146),'command':'export','description':a149_0x26ff35(0x13c),'risk':a149_0x26ff35(0x140),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
1
+ const a149_0x5ba732=a149_0x5b4a;function a149_0x5068(){const _0x34dc01=['589329qTtJoE','184UXqXZt','6415mJihJf','71591FCvuEU','3556EcsRHI','24KEkYqm','Export\x20machine-readable\x20command\x20schema\x20(JSON)','json','24JbawMl','1050929zpTVve','108ETrhSf','1240222hYWCGE','2wGGAwt','read','schema','1072170btByJM','65058HWIMxL','5748MBbiKx'];a149_0x5068=function(){return _0x34dc01;};return a149_0x5068();}(function(_0x1cb870,_0x1ae929){const _0x593ad7=a149_0x5b4a,_0x46485c=_0x1cb870();while(!![]){try{const _0x430315=parseInt(_0x593ad7(0xe9))/0x1*(parseInt(_0x593ad7(0xea))/0x2)+parseInt(_0x593ad7(0xde))/0x3*(parseInt(_0x593ad7(0xe6))/0x4)+-parseInt(_0x593ad7(0xe0))/0x5*(parseInt(_0x593ad7(0xdd))/0x6)+parseInt(_0x593ad7(0xee))/0x7*(-parseInt(_0x593ad7(0xdf))/0x8)+parseInt(_0x593ad7(0xe8))/0x9*(parseInt(_0x593ad7(0xed))/0xa)+-parseInt(_0x593ad7(0xe7))/0xb*(parseInt(_0x593ad7(0xe3))/0xc)+-parseInt(_0x593ad7(0xe1))/0xd*(parseInt(_0x593ad7(0xe2))/0xe);if(_0x430315===_0x1ae929)break;else _0x46485c['push'](_0x46485c['shift']());}catch(_0x855ee8){_0x46485c['push'](_0x46485c['shift']());}}}(a149_0x5068,0xa43f0));import{buildSchemaPayload}from'../framework/schema-export.js';function a149_0x5b4a(_0x3f3948,_0x46606d){_0x3f3948=_0x3f3948-0xdd;const _0x506897=a149_0x5068();let _0x5b4a16=_0x506897[_0x3f3948];return _0x5b4a16;}async function execute(_0x2538e8){const _0x49ec42=await buildSchemaPayload();return{'ok':!![],'data':_0x49ec42};}export const schemaDefinition={'service':a149_0x5ba732(0xec),'command':'export','description':a149_0x5ba732(0xe4),'risk':a149_0x5ba732(0xeb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a149_0x5ba732(0xe5),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a150_0x33fe04=a150_0x1543;(function(_0x4bdb7a,_0x3a958c){const _0x323d0a=a150_0x1543,_0x46c7bb=_0x4bdb7a();while(!![]){try{const _0x529851=parseInt(_0x323d0a(0x121))/0x1*(-parseInt(_0x323d0a(0x12a))/0x2)+-parseInt(_0x323d0a(0x14a))/0x3+-parseInt(_0x323d0a(0x134))/0x4*(parseInt(_0x323d0a(0x124))/0x5)+parseInt(_0x323d0a(0x11c))/0x6+-parseInt(_0x323d0a(0x13e))/0x7*(-parseInt(_0x323d0a(0x11f))/0x8)+-parseInt(_0x323d0a(0x131))/0x9+parseInt(_0x323d0a(0x12f))/0xa;if(_0x529851===_0x3a958c)break;else _0x46c7bb['push'](_0x46c7bb['shift']());}catch(_0x47c8bc){_0x46c7bb['push'](_0x46c7bb['shift']());}}}(a150_0x55d8,0x1cd69));import{writeFile}from'node:fs/promises';function a150_0x55d8(){const _0x4417b4=['Created\x20SQL\x20query\x20','high-risk-write','Local\x20SQL\x20file\x20mode','dbName','4004080OlJaCo','validation','1625211utJHqp','sqlName','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','12nfSyDa','Target\x20database\x20ID','lastSync','sqlCode','flagMissing','str','dbId\x20必须为正整数','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','lockFilePath','475587JksAnI','mybatisXml','appCode','description','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','<server-generated-sqlCode>','/smartapi/custom/saveUserCustomSql','sqls','dbId\x20不能为空','join','POST','map','165036iBoGZe','MyBatis\x20XML(mybatisXml)','number','parse','toISOString','string','SQL\x20名称不能为空','sql','</select>','length','new','请选择本地\x20SQL\x20模式:','SQL\x20query\x20display\x20name','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请输入\x20SQL\x20名称:','flag','mode','sqlRootDir','catch','__manual__','1316010SQuBwS','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','8AjEoFj','dbId','170661GdOgpT','SELECT\x201\x20AS\x20id;','name','272185kLCIXZ','sqlRoot','请选择目标数据库:','isFinite','File\x20already\x20exists:\x20','trim','2rJMiVT'];a150_0x55d8=function(){return _0x4417b4;};return a150_0x55d8();}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x535745){const _0x3adcd5=a150_0x1543;if(_0x535745===_0x3adcd5(0x13f))return[_0x3adcd5(0x142),'\x20\x20SELECT\x201\x20AS\x20id',_0x3adcd5(0x110),''][_0x3adcd5(0x147)]('\x0a');return[_0x3adcd5(0x122),''][_0x3adcd5(0x147)]('\x0a');}export const sqlCreate={'service':a150_0x33fe04(0x10f),'command':'create','description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a150_0x33fe04(0x12c),'flags':[{'name':a150_0x33fe04(0x123),'type':a150_0x33fe04(0x10d),'description':a150_0x33fe04(0x114)},{'name':'db-id','type':a150_0x33fe04(0x10a),'description':a150_0x33fe04(0x135)},{'name':a150_0x33fe04(0x118),'type':a150_0x33fe04(0x10d),'enum':[a150_0x33fe04(0x10f),a150_0x33fe04(0x13f)],'description':a150_0x33fe04(0x12d)}],async 'validate'(_0x60697){const _0x1cb278=a150_0x33fe04;if(!_0x60697[_0x1cb278(0x13c)])return;if(!_0x60697[_0x1cb278(0x139)](_0x1cb278(0x123))['trim']())throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x42e3c3=resolveProvidedDbId(_0x60697);if(typeof _0x42e3c3!==_0x1cb278(0x10a)||!Number[_0x1cb278(0x127)](_0x42e3c3)||_0x42e3c3<=0x0)throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x11e),_0x1cb278(0x13b));if(!_0x60697['str'](_0x1cb278(0x118))[_0x1cb278(0x129)]())throw CliErrors['flagMissing'](_0x1cb278(0x118),_0x1cb278(0x11d));},async 'dryRun'(_0x4bfcbc){const _0x569c6c=a150_0x33fe04,_0x216756=loadSqlProjectConfig(_0x4bfcbc['appCode']),{sqlName:_0x20598a,dbId:_0x24ce52,dbName:_0x1541a5,mode:_0x4b9a84}=await resolveSqlNewInputs(_0x4bfcbc),_0x305367=buildSqlRelativePath(_0x569c6c(0x143),_0x20598a,_0x1541a5,_0x4b9a84,_0x24ce52),_0x2da3df=_0x216756[_0x569c6c(0x119)]+'/'+_0x305367;return{'method':_0x569c6c(0x148),'url':_0x569c6c(0x144),'body':{'appCode':_0x4bfcbc[_0x569c6c(0x140)],'sqlName':_0x20598a,'dbId':_0x24ce52,'mode':_0x4b9a84,'localPath':_0x2da3df},'description':_0x569c6c(0x115)+_0x216756[_0x569c6c(0x119)]};},async 'execute'(_0x3acf7e){const _0x3a74cf=a150_0x33fe04,_0x391fd5=loadSqlProjectConfig(_0x3acf7e[_0x3a74cf(0x140)]),{sqlName:_0x244db6,dbId:_0x28761d,dbName:_0x46382c,mode:_0x33ff85}=await resolveSqlNewInputs(_0x3acf7e),_0x552578=generateSqlTemplate(_0x33ff85),_0x553065=await createSqlQuery({'appCode':_0x3acf7e['appCode'],'sqlName':_0x244db6,'dbId':_0x28761d,'sqlContent':_0x552578}),_0x4df0cc=ensureRemoteSqlContent(_0x553065),_0x43ba4b=_0x46382c||await getDbName(_0x3acf7e['appCode'],_0x28761d)[_0x3a74cf(0x11a)](()=>undefined),_0x4f7f05=buildSqlRelativePath(_0x553065['sqlCode'],_0x553065[_0x3a74cf(0x132)],_0x43ba4b,_0x33ff85,_0x28761d),_0x37e996=_0x391fd5[_0x3a74cf(0x119)]+'/'+_0x4f7f05,_0x2a05b0=buildLocalSqlFileContent({'sqlCode':_0x553065[_0x3a74cf(0x137)],'sqlName':_0x553065['sqlName'],'dbId':_0x553065[_0x3a74cf(0x120)]},_0x4df0cc,{'dbName':_0x43ba4b,'mode':_0x33ff85,'syncedAt':new Date()['toISOString'](),'description':_0x553065[_0x3a74cf(0x141)]});if(await fileExists(_0x37e996))throw CliErrors[_0x3a74cf(0x130)](_0x3a74cf(0x128)+_0x37e996);await ensureParentDirectory(_0x37e996),await writeFile(_0x37e996,_0x2a05b0,'utf8');const _0x10af88=await readSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)]),{lockData:_0x134f49,appLock:_0x873a55}=ensureSqlLockScope(_0x10af88??createEmptySqlLock(),_0x391fd5['appCode'],_0x391fd5[_0x3a74cf(0x125)],_0x3a74cf(0x112));return _0x873a55[_0x3a74cf(0x145)][_0x553065[_0x3a74cf(0x137)]]={...buildSqlLockEntry(_0x553065,_0x4df0cc,computeSqlContentHash(_0x2a05b0),{'dbName':_0x43ba4b}),'path':_0x4f7f05,'mode':_0x33ff85},_0x873a55[_0x3a74cf(0x136)]=new Date()[_0x3a74cf(0x10c)](),await writeSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)],_0x134f49),{'ok':!![],'data':{'id':_0x553065['id'],'sqlCode':_0x553065['sqlCode'],'sqlName':_0x553065[_0x3a74cf(0x132)],'dbId':_0x553065[_0x3a74cf(0x120)],'path':_0x37e996,'mode':_0x33ff85},'message':_0x3a74cf(0x12b)+_0x553065[_0x3a74cf(0x137)]};}};async function resolveSqlNewInputs(_0x452f1b){const _0x1d6505=await resolveSqlNameInput(_0x452f1b),{dbId:_0x295e43,dbName:_0x48d49b}=await resolveDbSelection(_0x452f1b),_0x41cdbf=await resolveSqlModeInput(_0x452f1b);return{'sqlName':_0x1d6505,'dbId':_0x295e43,'dbName':_0x48d49b,'mode':_0x41cdbf};}async function resolveSqlNameInput(_0x242f27){const _0x54950d=a150_0x33fe04,_0x57b0b2=_0x242f27[_0x54950d(0x139)]('name')[_0x54950d(0x129)]();if(_0x57b0b2)return _0x57b0b2;if(_0x242f27[_0x54950d(0x13c)])throw CliErrors[_0x54950d(0x138)](_0x54950d(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x54950d(0x116),'validate':_0x31deff=>_0x31deff[_0x54950d(0x129)]()?!![]:_0x54950d(0x10e)}))[_0x54950d(0x129)]();}async function resolveDbSelection(_0x23e716){const _0x2958aa=a150_0x33fe04,_0x3ff1fa=resolveProvidedDbId(_0x23e716);if(typeof _0x3ff1fa===_0x2958aa(0x10a)&&Number[_0x2958aa(0x127)](_0x3ff1fa)&&_0x3ff1fa>0x0)return{'dbId':_0x3ff1fa,'dbName':await getDbName(_0x23e716[_0x2958aa(0x140)],_0x3ff1fa)['catch'](()=>undefined)};if(_0x23e716[_0x2958aa(0x13c)])throw CliErrors[_0x2958aa(0x138)]('db-id',_0x2958aa(0x13b));const _0x5e312e=await listDatabases(_0x23e716[_0x2958aa(0x140)])[_0x2958aa(0x11a)](()=>[]);if(_0x5e312e[_0x2958aa(0x111)]===0x1)return{'dbId':_0x5e312e[0x0][_0x2958aa(0x120)],'dbName':_0x5e312e[0x0]['dbName']};if(_0x5e312e[_0x2958aa(0x111)]>0x1){const _0x55577f=await select({'message':_0x2958aa(0x126),'choices':[..._0x5e312e[_0x2958aa(0x149)](_0x1f0991=>({'name':_0x1f0991['dbName']+'\x20('+_0x1f0991[_0x2958aa(0x120)]+')','value':serializeDbSelection(_0x1f0991)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x55577f!==_0x2958aa(0x11b))return deserializeDbSelection(_0x55577f);}const _0x5ed04f=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x40b798=>{const _0x253052=_0x2958aa,_0x38f329=_0x40b798[_0x253052(0x129)]();if(!_0x38f329)return _0x253052(0x146);const _0x557ad8=Number(_0x38f329);if(!Number['isInteger'](_0x557ad8)||_0x557ad8<=0x0)return _0x253052(0x13a);return!![];}});return{'dbId':Number(_0x5ed04f['trim']())};}function a150_0x1543(_0x4a5358,_0x35569b){_0x4a5358=_0x4a5358-0x10a;const _0x55d8dd=a150_0x55d8();let _0x1543f8=_0x55d8dd[_0x4a5358];return _0x1543f8;}async function resolveSqlModeInput(_0x2b8f65){const _0x4f524c=a150_0x33fe04,_0x14de6f=_0x2b8f65[_0x4f524c(0x139)](_0x4f524c(0x118))[_0x4f524c(0x129)]();if(_0x14de6f===_0x4f524c(0x10f)||_0x14de6f===_0x4f524c(0x13f))return _0x14de6f;if(_0x2b8f65[_0x4f524c(0x13c)])throw CliErrors[_0x4f524c(0x138)](_0x4f524c(0x118),_0x4f524c(0x11d));return await select({'message':_0x4f524c(0x113),'choices':[{'name':'普通\x20SQL(sql)','value':_0x4f524c(0x10f),'description':_0x4f524c(0x133)},{'name':_0x4f524c(0x14b),'value':_0x4f524c(0x13f),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x48f1d9){const _0x4e68c2=a150_0x33fe04;return JSON['stringify']({'dbId':_0x48f1d9[_0x4e68c2(0x120)],'dbName':_0x48f1d9[_0x4e68c2(0x12e)]});}function deserializeDbSelection(_0x272332){const _0x44bd2b=a150_0x33fe04;try{const _0xada654=JSON[_0x44bd2b(0x10b)](_0x272332);if(typeof _0xada654['dbId']==='number'&&Number[_0x44bd2b(0x127)](_0xada654[_0x44bd2b(0x120)]))return{'dbId':_0xada654['dbId'],'dbName':_0xada654[_0x44bd2b(0x12e)]};}catch{}throw CliErrors[_0x44bd2b(0x130)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x272332);}function resolveProvidedDbId(_0x2894a2){const _0x5ba3e0=a150_0x33fe04,_0xaaf422=_0x2894a2[_0x5ba3e0(0x117)]('db-id');if(typeof _0xaaf422===_0x5ba3e0(0x10a)&&Number['isFinite'](_0xaaf422))return _0xaaf422;return undefined;}
1
+ const a150_0x3d8304=a150_0x3774;(function(_0x319636,_0x21425a){const _0x1daa32=a150_0x3774,_0x1923aa=_0x319636();while(!![]){try{const _0x5ec143=parseInt(_0x1daa32(0x74))/0x1+parseInt(_0x1daa32(0x6c))/0x2+parseInt(_0x1daa32(0x86))/0x3*(parseInt(_0x1daa32(0x77))/0x4)+-parseInt(_0x1daa32(0xa9))/0x5*(-parseInt(_0x1daa32(0x7d))/0x6)+-parseInt(_0x1daa32(0x92))/0x7*(parseInt(_0x1daa32(0x9b))/0x8)+-parseInt(_0x1daa32(0x8e))/0x9+-parseInt(_0x1daa32(0x72))/0xa;if(_0x5ec143===_0x21425a)break;else _0x1923aa['push'](_0x1923aa['shift']());}catch(_0x1034cc){_0x1923aa['push'](_0x1923aa['shift']());}}}(a150_0x2c4d,0xb8e4f));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a150_0x3774(_0x542bdb,_0x27bdea){_0x542bdb=_0x542bdb-0x6c;const _0x2c4dc8=a150_0x2c4d();let _0x37746c=_0x2c4dc8[_0x542bdb];return _0x37746c;}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x54160c){const _0x491e12=a150_0x3774;if(_0x54160c===_0x491e12(0x81))return[_0x491e12(0xa3),_0x491e12(0x93),_0x491e12(0x76),'']['join']('\x0a');return[_0x491e12(0x9a),''][_0x491e12(0x88)]('\x0a');}export const sqlCreate={'service':a150_0x3d8304(0x84),'command':a150_0x3d8304(0x9e),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a150_0x3d8304(0xaa),'flags':[{'name':a150_0x3d8304(0xad),'type':a150_0x3d8304(0x87),'description':a150_0x3d8304(0x7b)},{'name':a150_0x3d8304(0x78),'type':a150_0x3d8304(0xb1),'description':'Target\x20database\x20ID'},{'name':a150_0x3d8304(0x73),'type':a150_0x3d8304(0x87),'enum':['sql',a150_0x3d8304(0x81)],'description':a150_0x3d8304(0xaf)}],async 'validate'(_0x92e9c9){const _0x36db61=a150_0x3d8304;if(!_0x92e9c9['nonInteractive'])return;if(!_0x92e9c9[_0x36db61(0x7c)](_0x36db61(0xad))[_0x36db61(0x8d)]())throw CliErrors[_0x36db61(0x97)](_0x36db61(0xad),_0x36db61(0xa8));const _0x124596=resolveProvidedDbId(_0x92e9c9);if(typeof _0x124596!==_0x36db61(0xb1)||!Number[_0x36db61(0x9c)](_0x124596)||_0x124596<=0x0)throw CliErrors[_0x36db61(0x97)]('db-id',_0x36db61(0x80));if(!_0x92e9c9[_0x36db61(0x7c)](_0x36db61(0x73))[_0x36db61(0x8d)]())throw CliErrors[_0x36db61(0x97)]('mode',_0x36db61(0x95));},async 'dryRun'(_0x35909f){const _0x5984fb=a150_0x3d8304,_0x5a3b75=loadSqlProjectConfig(_0x35909f[_0x5984fb(0x91)]),{sqlName:_0x214c34,dbId:_0x3254c6,dbName:_0x2d7053,mode:_0x32341f}=await resolveSqlNewInputs(_0x35909f),_0x3caf76=buildSqlRelativePath(_0x5984fb(0x8f),_0x214c34,_0x2d7053,_0x32341f,_0x3254c6),_0x29b613=_0x5a3b75['sqlRootDir']+'/'+_0x3caf76;return{'method':_0x5984fb(0xac),'url':_0x5984fb(0x7a),'body':{'appCode':_0x35909f['appCode'],'sqlName':_0x214c34,'dbId':_0x3254c6,'mode':_0x32341f,'localPath':_0x29b613},'description':_0x5984fb(0x9f)+_0x5a3b75[_0x5984fb(0xa2)]};},async 'execute'(_0x3bce55){const _0x1f7848=a150_0x3d8304,_0xe8fb36=loadSqlProjectConfig(_0x3bce55[_0x1f7848(0x91)]),{sqlName:_0x46319e,dbId:_0x15b221,dbName:_0x294da1,mode:_0x4e236f}=await resolveSqlNewInputs(_0x3bce55),_0x543ab4=generateSqlTemplate(_0x4e236f),_0x33111c=await createSqlQuery({'appCode':_0x3bce55[_0x1f7848(0x91)],'sqlName':_0x46319e,'dbId':_0x15b221,'sqlContent':_0x543ab4}),_0x1612a4=ensureRemoteSqlContent(_0x33111c),_0x5ea6c9=_0x294da1||await getDbName(_0x3bce55[_0x1f7848(0x91)],_0x15b221)[_0x1f7848(0x8c)](()=>undefined),_0x31abdb=buildSqlRelativePath(_0x33111c['sqlCode'],_0x33111c[_0x1f7848(0x99)],_0x5ea6c9,_0x4e236f,_0x15b221),_0x4596f0=_0xe8fb36[_0x1f7848(0xa2)]+'/'+_0x31abdb,_0x4cf628=buildLocalSqlFileContent({'sqlCode':_0x33111c['sqlCode'],'sqlName':_0x33111c[_0x1f7848(0x99)],'dbId':_0x33111c[_0x1f7848(0xa7)]},_0x1612a4,{'dbName':_0x5ea6c9,'mode':_0x4e236f,'syncedAt':new Date()['toISOString'](),'description':_0x33111c[_0x1f7848(0x94)]});if(await fileExists(_0x4596f0))throw CliErrors[_0x1f7848(0x83)]('File\x20already\x20exists:\x20'+_0x4596f0);await ensureParentDirectory(_0x4596f0),await writeFile(_0x4596f0,_0x4cf628,'utf8');const _0x233599=await readSqlLockFile(_0xe8fb36[_0x1f7848(0x79)]),{lockData:_0xb778d7,appLock:_0x1ff943}=ensureSqlLockScope(_0x233599??createEmptySqlLock(),_0xe8fb36[_0x1f7848(0x91)],_0xe8fb36[_0x1f7848(0xb0)],_0x1f7848(0x9d));return _0x1ff943[_0x1f7848(0x75)][_0x33111c[_0x1f7848(0xae)]]={...buildSqlLockEntry(_0x33111c,_0x1612a4,computeSqlContentHash(_0x4cf628),{'dbName':_0x5ea6c9}),'path':_0x31abdb,'mode':_0x4e236f},_0x1ff943[_0x1f7848(0x89)]=new Date()['toISOString'](),await writeSqlLockFile(_0xe8fb36[_0x1f7848(0x79)],_0xb778d7),{'ok':!![],'data':{'id':_0x33111c['id'],'sqlCode':_0x33111c[_0x1f7848(0xae)],'sqlName':_0x33111c[_0x1f7848(0x99)],'dbId':_0x33111c[_0x1f7848(0xa7)],'path':_0x4596f0,'mode':_0x4e236f},'message':_0x1f7848(0x6f)+_0x33111c['sqlCode']};}};async function resolveSqlNewInputs(_0x401d19){const _0x1dda6e=await resolveSqlNameInput(_0x401d19),{dbId:_0x5ce646,dbName:_0x41e337}=await resolveDbSelection(_0x401d19),_0x26034c=await resolveSqlModeInput(_0x401d19);return{'sqlName':_0x1dda6e,'dbId':_0x5ce646,'dbName':_0x41e337,'mode':_0x26034c};}async function resolveSqlNameInput(_0x5f4408){const _0x408bb0=a150_0x3d8304,_0x2530db=_0x5f4408[_0x408bb0(0x7c)](_0x408bb0(0xad))['trim']();if(_0x2530db)return _0x2530db;if(_0x5f4408[_0x408bb0(0xa5)])throw CliErrors[_0x408bb0(0x97)](_0x408bb0(0xad),_0x408bb0(0xa8));return(await input({'message':_0x408bb0(0x6e),'validate':_0x2aeb92=>_0x2aeb92[_0x408bb0(0x8d)]()?!![]:_0x408bb0(0x90)}))['trim']();}async function resolveDbSelection(_0x2bbffe){const _0x28f217=a150_0x3d8304,_0x5d0de6=resolveProvidedDbId(_0x2bbffe);if(typeof _0x5d0de6===_0x28f217(0xb1)&&Number[_0x28f217(0x9c)](_0x5d0de6)&&_0x5d0de6>0x0)return{'dbId':_0x5d0de6,'dbName':await getDbName(_0x2bbffe['appCode'],_0x5d0de6)[_0x28f217(0x8c)](()=>undefined)};if(_0x2bbffe['nonInteractive'])throw CliErrors[_0x28f217(0x97)](_0x28f217(0x78),_0x28f217(0x80));const _0xfa7145=await listDatabases(_0x2bbffe[_0x28f217(0x91)])['catch'](()=>[]);if(_0xfa7145[_0x28f217(0x85)]===0x1)return{'dbId':_0xfa7145[0x0][_0x28f217(0xa7)],'dbName':_0xfa7145[0x0][_0x28f217(0x6d)]};if(_0xfa7145[_0x28f217(0x85)]>0x1){const _0x53ad32=await select({'message':_0x28f217(0x7f),'choices':[..._0xfa7145[_0x28f217(0x82)](_0x3f9708=>({'name':_0x3f9708['dbName']+'\x20('+_0x3f9708[_0x28f217(0xa7)]+')','value':serializeDbSelection(_0x3f9708)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x53ad32!==_0x28f217(0xab))return deserializeDbSelection(_0x53ad32);}const _0x58e0fa=await input({'message':_0x28f217(0x96),'validate':_0x12fec1=>{const _0x2c8866=_0x28f217,_0x4f708d=_0x12fec1[_0x2c8866(0x8d)]();if(!_0x4f708d)return _0x2c8866(0x98);const _0x5c324a=Number(_0x4f708d);if(!Number[_0x2c8866(0x8b)](_0x5c324a)||_0x5c324a<=0x0)return _0x2c8866(0x7e);return!![];}});return{'dbId':Number(_0x58e0fa[_0x28f217(0x8d)]())};}async function resolveSqlModeInput(_0x2c3b05){const _0xabe1ae=a150_0x3d8304,_0x52e3a9=_0x2c3b05['str']('mode')[_0xabe1ae(0x8d)]();if(_0x52e3a9===_0xabe1ae(0x84)||_0x52e3a9===_0xabe1ae(0x81))return _0x52e3a9;if(_0x2c3b05[_0xabe1ae(0xa5)])throw CliErrors['flagMissing'](_0xabe1ae(0x73),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0xabe1ae(0xa0),'choices':[{'name':_0xabe1ae(0x8a),'value':_0xabe1ae(0x84),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0xabe1ae(0xa6),'value':'mybatisXml','description':_0xabe1ae(0x70)}]});}function a150_0x2c4d(){const _0x27b276=['dbName','请输入\x20SQL\x20名称:','Created\x20SQL\x20query\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Invalid\x20database\x20selection\x20payload:\x20','8554180NBPJmE','mode','888226afiyZC','sqls','</select>','28228sJXvrx','db-id','lockFilePath','/smartapi/custom/saveUserCustomSql','SQL\x20query\x20display\x20name','str','3075474JvfIjR','dbId\x20必须为正整数','请选择目标数据库:','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mybatisXml','map','validation','sql','length','282LNiaBb','string','join','lastSync','普通\x20SQL(sql)','isInteger','catch','trim','6893289hTfQMu','<server-generated-sqlCode>','SQL\x20名称不能为空','appCode','21pbkNxm','\x20\x20SELECT\x201\x20AS\x20id','description','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','请输入目标数据库\x20dbId:','flagMissing','dbId\x20不能为空','sqlName','SELECT\x201\x20AS\x20id;','179336VfFgQe','isFinite','new','create','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请选择本地\x20SQL\x20模式:','stringify','sqlRootDir','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','parse','nonInteractive','MyBatis\x20XML(mybatisXml)','dbId','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','5XNbjaA','high-risk-write','__manual__','POST','name','sqlCode','Local\x20SQL\x20file\x20mode','sqlRoot','number','763508tcJhgu'];a150_0x2c4d=function(){return _0x27b276;};return a150_0x2c4d();}function serializeDbSelection(_0x21af78){const _0x472a43=a150_0x3d8304;return JSON[_0x472a43(0xa1)]({'dbId':_0x21af78[_0x472a43(0xa7)],'dbName':_0x21af78[_0x472a43(0x6d)]});}function deserializeDbSelection(_0x2bc9e8){const _0x201a4f=a150_0x3d8304;try{const _0x13197c=JSON[_0x201a4f(0xa4)](_0x2bc9e8);if(typeof _0x13197c['dbId']==='number'&&Number[_0x201a4f(0x9c)](_0x13197c[_0x201a4f(0xa7)]))return{'dbId':_0x13197c[_0x201a4f(0xa7)],'dbName':_0x13197c[_0x201a4f(0x6d)]};}catch{}throw CliErrors[_0x201a4f(0x83)](_0x201a4f(0x71)+_0x2bc9e8);}function resolveProvidedDbId(_0x35dda5){const _0x44b8a7=a150_0x3d8304,_0x2b87ae=_0x35dda5['flag']('db-id');if(typeof _0x2b87ae===_0x44b8a7(0xb1)&&Number['isFinite'](_0x2b87ae))return _0x2b87ae;return undefined;}
@@ -1 +1 @@
1
- const a151_0x20fa3e=a151_0x3a1d;(function(_0x403ef4,_0x5196fd){const _0x5c08c0=a151_0x3a1d,_0x1d6c45=_0x403ef4();while(!![]){try{const _0x598453=parseInt(_0x5c08c0(0xf2))/0x1*(parseInt(_0x5c08c0(0xd7))/0x2)+-parseInt(_0x5c08c0(0xe7))/0x3*(parseInt(_0x5c08c0(0xd6))/0x4)+-parseInt(_0x5c08c0(0xdf))/0x5+parseInt(_0x5c08c0(0xf4))/0x6*(parseInt(_0x5c08c0(0xed))/0x7)+parseInt(_0x5c08c0(0xda))/0x8*(-parseInt(_0x5c08c0(0xfa))/0x9)+parseInt(_0x5c08c0(0xe5))/0xa+parseInt(_0x5c08c0(0xe2))/0xb;if(_0x598453===_0x5196fd)break;else _0x1d6c45['push'](_0x1d6c45['shift']());}catch(_0x511a19){_0x1d6c45['push'](_0x1d6c45['shift']());}}}(a151_0x4fdd,0x3cbbc));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';function a151_0x3a1d(_0x207b83,_0x3ce6f6){_0x207b83=_0x207b83-0xd5;const _0x4fdd10=a151_0x4fdd();let _0x3a1daa=_0x4fdd10[_0x207b83];return _0x3a1daa;}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';function a151_0x4fdd(){const _0x4ddf98=['fromEntries','829xCMDMt','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','6hOJdPZ','lastSync','sqlRootDir','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','sqlRoot','trashedTo','1344267vUqFMh','Would\x20delete\x20SQL\x20','entries','sqls','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','validation','lockFilePath','12aJSbUk','242rqSoJq','toISOString','\x20(local\x20file\x20moved\x20to\x20trash)','8PzywgL','trashDir','SQL\x20lock\x20file\x20not\x20found.','appCode','/smartapi/custom/deleteUserCustomSql','1426210TPQsHo','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','delete','4521165EUcvhx','remoteId','replace','4324350xTUGKy','startsWith','363021ioYAEv','high-risk-write','str','Deleted\x20','projectRoot','POST','718417RMOFKt','sqlcode','sql','length'];a151_0x4fdd=function(){return _0x4ddf98;};return a151_0x4fdd();}export const sqlDelete={'service':a151_0x20fa3e(0xef),'command':a151_0x20fa3e(0xe1),'description':a151_0x20fa3e(0xf3),'risk':a151_0x20fa3e(0xe8),'flags':[SQLCODE_FLAG],async 'validate'(_0x2aaaae){const _0x38e211=a151_0x20fa3e,_0x54b6a8=loadSqlProjectConfig(_0x2aaaae[_0x38e211(0xdd)]),_0x22554f=await readSqlLockFile(_0x54b6a8[_0x38e211(0xd5)]);if(!_0x22554f)throw CliErrors[_0x38e211(0xff)](_0x38e211(0xf7));},async 'dryRun'(_0x26499d){const _0x5e4670=a151_0x20fa3e,_0x3f566d=loadSqlProjectConfig(_0x26499d[_0x5e4670(0xdd)]),_0x2469d6=await readSqlLockFile(_0x3f566d[_0x5e4670(0xd5)]);if(!_0x2469d6)throw CliErrors[_0x5e4670(0xff)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x3e53ff}=ensureSqlLockScope(_0x2469d6,_0x26499d['appCode'],_0x3f566d[_0x5e4670(0xf8)],_0x5e4670(0xe1)),_0x1f1e6e=_0x26499d['str'](_0x5e4670(0xee)),_0xe5de3a=_0x3e53ff['sqls'][_0x1f1e6e];if(!_0xe5de3a)throw CliErrors[_0x5e4670(0xff)](_0x5e4670(0xe0)+_0x1f1e6e+'\x22.');return{'method':_0x5e4670(0xec),'url':_0x5e4670(0xde),'body':{'sqlCode':_0x1f1e6e,'id':_0xe5de3a[_0x5e4670(0xe3)],'localPath':resolveLocalSqlFilePath(_0x3f566d,_0x1f1e6e,_0xe5de3a)},'description':_0x5e4670(0xfb)+_0x1f1e6e+_0x5e4670(0xfe)+_0x3f566d[_0x5e4670(0xdb)]};},async 'execute'(_0x461557){const _0x14d53c=a151_0x20fa3e,_0x1c7ca3=loadSqlProjectConfig(_0x461557['appCode']),_0x5d540f=await readSqlLockFile(_0x1c7ca3['lockFilePath']);if(!_0x5d540f)throw CliErrors[_0x14d53c(0xff)](_0x14d53c(0xdc));const {lockData:_0x434e0f,appLock:_0x2f63c1}=ensureSqlLockScope(_0x5d540f,_0x461557[_0x14d53c(0xdd)],_0x1c7ca3[_0x14d53c(0xf8)],_0x14d53c(0xe1)),_0x11b780=_0x461557[_0x14d53c(0xe9)](_0x14d53c(0xee)),_0xfab13f=_0x2f63c1[_0x14d53c(0xfd)][_0x11b780];if(!_0xfab13f)throw CliErrors[_0x14d53c(0xff)](_0x14d53c(0xe0)+_0x11b780+'\x22.');await deleteSqlQuery({'id':_0xfab13f['remoteId'],'sqlCode':_0x11b780}),_0x2f63c1[_0x14d53c(0xfd)]=Object[_0x14d53c(0xf1)](Object[_0x14d53c(0xfc)](_0x2f63c1[_0x14d53c(0xfd)])['filter'](([_0x28ec61])=>_0x28ec61!==_0x11b780)),_0x2f63c1[_0x14d53c(0xf5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x1c7ca3['lockFilePath'],_0x434e0f);const _0x4fc812=resolveLocalSqlFilePath(_0x1c7ca3,_0x11b780,_0xfab13f);let _0x2eee32;await fileExists(_0x4fc812)&&(_0x2eee32=await moveToTrash(_0x1c7ca3[_0x14d53c(0xeb)],_0x1c7ca3[_0x14d53c(0xdb)],_0x4fc812),await cleanupEmptyDirectories(dirname(_0x4fc812),_0x1c7ca3[_0x14d53c(0xf6)]));const _0x586d98={'deleted':_0x11b780,'remoteId':_0xfab13f[_0x14d53c(0xe3)]};if(_0x2eee32)_0x586d98[_0x14d53c(0xf9)]=_0x2eee32;return{'ok':!![],'data':_0x586d98,'message':_0x14d53c(0xea)+_0x11b780+(_0x2eee32?_0x14d53c(0xd9):'')};}};async function moveToTrash(_0x3848f,_0x5a2b30,_0x30c901){const _0x50a522=a151_0x20fa3e,_0x481866=new Date()[_0x50a522(0xd8)]()[_0x50a522(0xe4)](/[:.]/g,'-'),_0x5b32e6=relative(_0x3848f,_0x30c901),_0x3e1c04=join(_0x5a2b30,_0x481866,_0x5b32e6);return await mkdir(dirname(_0x3e1c04),{'recursive':!![]}),await rename(_0x30c901,_0x3e1c04),_0x3e1c04;}async function cleanupEmptyDirectories(_0x3eca96,_0x4053cd){const _0x57435b=a151_0x20fa3e;let _0x10f312=resolve(_0x3eca96);const _0x3ecbc2=resolve(_0x4053cd);while(_0x10f312[_0x57435b(0xe6)](''+_0x3ecbc2+sep)||_0x10f312===_0x3ecbc2){if(_0x10f312===_0x3ecbc2)return;try{const _0x15deb5=await readdir(_0x10f312);if(_0x15deb5[_0x57435b(0xf0)]>0x0)return;await rmdir(_0x10f312);}catch{return;}_0x10f312=dirname(_0x10f312);}}
1
+ const a151_0x345b68=a151_0x5d1b;(function(_0x2c1a03,_0x50c1c1){const _0x1b5524=a151_0x5d1b,_0x12ec8c=_0x2c1a03();while(!![]){try{const _0x4f01e6=-parseInt(_0x1b5524(0x8f))/0x1*(parseInt(_0x1b5524(0x85))/0x2)+parseInt(_0x1b5524(0x7a))/0x3*(parseInt(_0x1b5524(0x92))/0x4)+-parseInt(_0x1b5524(0x84))/0x5+-parseInt(_0x1b5524(0x82))/0x6*(-parseInt(_0x1b5524(0x73))/0x7)+-parseInt(_0x1b5524(0x75))/0x8+-parseInt(_0x1b5524(0x7e))/0x9+parseInt(_0x1b5524(0x81))/0xa;if(_0x4f01e6===_0x50c1c1)break;else _0x12ec8c['push'](_0x12ec8c['shift']());}catch(_0xcdbbe6){_0x12ec8c['push'](_0x12ec8c['shift']());}}}(a151_0x4533,0xb7e84));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a151_0x4533(){const _0xc252fe=['/smartapi/custom/deleteUserCustomSql','4403690EyaVcp','648554JlDuLH','length','sqls','remoteId','entries','fromEntries','Deleted\x20','delete','Would\x20delete\x20SQL\x20','appCode','4RoaSOQ','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','toISOString','88rQirkO','sql','high-risk-write','7eeXcuq','replace','8863112gdcjkz','validation','str','lastSync','sqlRootDir','187503eIbtdC','\x20(local\x20file\x20moved\x20to\x20trash)','sqlRoot','startsWith','9970200FNiqDp','sqlcode','trashDir','29426040PZkHlq','4975158BxPEDd'];a151_0x4533=function(){return _0xc252fe;};return a151_0x4533();}import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';function a151_0x5d1b(_0x2c4dd1,_0x399d88){_0x2c4dd1=_0x2c4dd1-0x72;const _0x453398=a151_0x4533();let _0x5d1b3c=_0x453398[_0x2c4dd1];return _0x5d1b3c;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a151_0x345b68(0x93),'command':a151_0x345b68(0x8c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a151_0x345b68(0x72),'flags':[SQLCODE_FLAG],async 'validate'(_0x5e9257){const _0x448403=a151_0x345b68,_0x3cefa1=loadSqlProjectConfig(_0x5e9257[_0x448403(0x8e)]),_0x40c32c=await readSqlLockFile(_0x3cefa1['lockFilePath']);if(!_0x40c32c)throw CliErrors[_0x448403(0x76)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x305aa3){const _0x5eef4a=a151_0x345b68,_0x32ac28=loadSqlProjectConfig(_0x305aa3[_0x5eef4a(0x8e)]),_0x1f52d0=await readSqlLockFile(_0x32ac28['lockFilePath']);if(!_0x1f52d0)throw CliErrors[_0x5eef4a(0x76)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x4ddebd}=ensureSqlLockScope(_0x1f52d0,_0x305aa3[_0x5eef4a(0x8e)],_0x32ac28[_0x5eef4a(0x7c)],_0x5eef4a(0x8c)),_0xe60605=_0x305aa3['str'](_0x5eef4a(0x7f)),_0x37b4fc=_0x4ddebd[_0x5eef4a(0x87)][_0xe60605];if(!_0x37b4fc)throw CliErrors[_0x5eef4a(0x76)](_0x5eef4a(0x90)+_0xe60605+'\x22.');return{'method':'POST','url':_0x5eef4a(0x83),'body':{'sqlCode':_0xe60605,'id':_0x37b4fc[_0x5eef4a(0x88)],'localPath':resolveLocalSqlFilePath(_0x32ac28,_0xe60605,_0x37b4fc)},'description':_0x5eef4a(0x8d)+_0xe60605+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x32ac28[_0x5eef4a(0x80)]};},async 'execute'(_0x77a404){const _0xea907d=a151_0x345b68,_0x167435=loadSqlProjectConfig(_0x77a404['appCode']),_0x192be9=await readSqlLockFile(_0x167435['lockFilePath']);if(!_0x192be9)throw CliErrors[_0xea907d(0x76)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x7fe755,appLock:_0x522e9d}=ensureSqlLockScope(_0x192be9,_0x77a404[_0xea907d(0x8e)],_0x167435[_0xea907d(0x7c)],_0xea907d(0x8c)),_0x4ba794=_0x77a404[_0xea907d(0x77)](_0xea907d(0x7f)),_0x292a47=_0x522e9d['sqls'][_0x4ba794];if(!_0x292a47)throw CliErrors[_0xea907d(0x76)](_0xea907d(0x90)+_0x4ba794+'\x22.');await deleteSqlQuery({'id':_0x292a47[_0xea907d(0x88)],'sqlCode':_0x4ba794}),_0x522e9d[_0xea907d(0x87)]=Object[_0xea907d(0x8a)](Object[_0xea907d(0x89)](_0x522e9d[_0xea907d(0x87)])['filter'](([_0x6c8ffb])=>_0x6c8ffb!==_0x4ba794)),_0x522e9d[_0xea907d(0x78)]=new Date()[_0xea907d(0x91)](),await writeSqlLockFile(_0x167435['lockFilePath'],_0x7fe755);const _0x5aa4d6=resolveLocalSqlFilePath(_0x167435,_0x4ba794,_0x292a47);let _0x2bfa00;await fileExists(_0x5aa4d6)&&(_0x2bfa00=await moveToTrash(_0x167435['projectRoot'],_0x167435['trashDir'],_0x5aa4d6),await cleanupEmptyDirectories(dirname(_0x5aa4d6),_0x167435[_0xea907d(0x79)]));const _0x1add83={'deleted':_0x4ba794,'remoteId':_0x292a47['remoteId']};if(_0x2bfa00)_0x1add83['trashedTo']=_0x2bfa00;return{'ok':!![],'data':_0x1add83,'message':_0xea907d(0x8b)+_0x4ba794+(_0x2bfa00?_0xea907d(0x7b):'')};}};async function moveToTrash(_0x1996aa,_0x13b7b4,_0x4e7d07){const _0x256f7e=a151_0x345b68,_0x2111bf=new Date()[_0x256f7e(0x91)]()[_0x256f7e(0x74)](/[:.]/g,'-'),_0x22aed3=relative(_0x1996aa,_0x4e7d07),_0x1e1847=join(_0x13b7b4,_0x2111bf,_0x22aed3);return await mkdir(dirname(_0x1e1847),{'recursive':!![]}),await rename(_0x4e7d07,_0x1e1847),_0x1e1847;}async function cleanupEmptyDirectories(_0x1fcd93,_0x5a74ff){const _0x4b4b52=a151_0x345b68;let _0x14ec4d=resolve(_0x1fcd93);const _0x21e8bc=resolve(_0x5a74ff);while(_0x14ec4d[_0x4b4b52(0x7d)](''+_0x21e8bc+sep)||_0x14ec4d===_0x21e8bc){if(_0x14ec4d===_0x21e8bc)return;try{const _0x31417f=await readdir(_0x14ec4d);if(_0x31417f[_0x4b4b52(0x86)]>0x0)return;await rmdir(_0x14ec4d);}catch{return;}_0x14ec4d=dirname(_0x14ec4d);}}
@@ -1 +1 @@
1
- const a152_0x591544=a152_0x486a;(function(_0x554df4,_0x124d7a){const _0x156436=a152_0x486a,_0x1f19a9=_0x554df4();while(!![]){try{const _0x246647=-parseInt(_0x156436(0x123))/0x1*(-parseInt(_0x156436(0x128))/0x2)+-parseInt(_0x156436(0x124))/0x3*(-parseInt(_0x156436(0x121))/0x4)+parseInt(_0x156436(0x125))/0x5*(parseInt(_0x156436(0x115))/0x6)+-parseInt(_0x156436(0x120))/0x7*(-parseInt(_0x156436(0x117))/0x8)+parseInt(_0x156436(0x114))/0x9*(-parseInt(_0x156436(0x113))/0xa)+parseInt(_0x156436(0x116))/0xb*(-parseInt(_0x156436(0x112))/0xc)+-parseInt(_0x156436(0x11b))/0xd*(parseInt(_0x156436(0x11e))/0xe);if(_0x246647===_0x124d7a)break;else _0x1f19a9['push'](_0x1f19a9['shift']());}catch(_0x4a2394){_0x1f19a9['push'](_0x1f19a9['shift']());}}}(a152_0x1036,0x33072));function a152_0x486a(_0x3ed5c8,_0x172b35){_0x3ed5c8=_0x3ed5c8-0x111;const _0x10364b=a152_0x1036();let _0x486a66=_0x10364b[_0x3ed5c8];return _0x486a66;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a152_0x1036(){const _0x16e2b5=['detail','bool','268SXcAad','sqlName','12IbmAtV','49270ZbxKwe','603TDjHvO','5034Cvnuki','2037508wknIBb','402936zIMnFU','description','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','dbId','39HtZMyw','verbose','Return\x20full\x20raw\x20SQL\x20query\x20object','982996rtdUFv','sqlcode','49ANJEDv','3972iroOtx','appCode','1827WXWGzg','39QBQgWk','1935aUapyO'];a152_0x1036=function(){return _0x16e2b5;};return a152_0x1036();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a152_0x591544(0x126),'description':a152_0x591544(0x119),'risk':'read','flags':[SQLCODE_FLAG,{'name':a152_0x591544(0x11c),'type':'boolean','description':a152_0x591544(0x11d)}],async 'execute'(_0x1238f3){const _0x333b74=a152_0x591544,_0x1b1c22=await getSqlQueryInfo(_0x1238f3[_0x333b74(0x122)],_0x1238f3['str'](_0x333b74(0x11f))),_0x221dd2=_0x1238f3[_0x333b74(0x127)]('verbose');if(_0x221dd2)return{'ok':!![],'data':_0x1b1c22};const _0x106f1d=_0x1b1c22[_0x333b74(0x11a)]?await getDbName(_0x1238f3[_0x333b74(0x122)],_0x1b1c22[_0x333b74(0x11a)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1b1c22['sqlCode'],'sqlName':_0x1b1c22[_0x333b74(0x111)],'db':_0x106f1d?_0x106f1d+'\x20('+_0x1b1c22[_0x333b74(0x11a)]+')':_0x1b1c22[_0x333b74(0x11a)]??'','description':_0x1b1c22[_0x333b74(0x118)]??'','sqlContent':_0x1b1c22['sqlContent']??''}};}};
1
+ function a152_0xc626(_0x1584bb,_0x32a337){_0x1584bb=_0x1584bb-0x1ef;const _0xffd7a=a152_0xffd7();let _0xc626ef=_0xffd7a[_0x1584bb];return _0xc626ef;}function a152_0xffd7(){const _0x549cad=['1002449zOvjlQ','appCode','description','3lsPWcJ','22616UXejVb','84fhxxPC','read','1516932YBPQad','1010zaGyKU','Return\x20full\x20raw\x20SQL\x20query\x20object','dbId','180136tShVGS','sqlName','bool','detail','verbose','302350hEMcWz','130538yGQEuv','483DqscqE','8314857tqOoEg'];a152_0xffd7=function(){return _0x549cad;};return a152_0xffd7();}const a152_0x26c8e8=a152_0xc626;(function(_0x432742,_0x909491){const _0x573305=a152_0xc626,_0x527a4e=_0x432742();while(!![]){try{const _0x2e5d4a=parseInt(_0x573305(0x201))/0x1+-parseInt(_0x573305(0x1fe))/0x2+parseInt(_0x573305(0x1f0))/0x3*(-parseInt(_0x573305(0x1f4))/0x4)+parseInt(_0x573305(0x1fd))/0x5*(-parseInt(_0x573305(0x1f2))/0x6)+-parseInt(_0x573305(0x1ff))/0x7*(-parseInt(_0x573305(0x1f1))/0x8)+-parseInt(_0x573305(0x200))/0x9+parseInt(_0x573305(0x1f5))/0xa*(parseInt(_0x573305(0x1f8))/0xb);if(_0x2e5d4a===_0x909491)break;else _0x527a4e['push'](_0x527a4e['shift']());}catch(_0xccd41f){_0x527a4e['push'](_0x527a4e['shift']());}}}(a152_0xffd7,0x9b675));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a152_0x26c8e8(0x1fb),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a152_0x26c8e8(0x1f3),'flags':[SQLCODE_FLAG,{'name':'verbose','type':'boolean','description':a152_0x26c8e8(0x1f6)}],async 'execute'(_0x1c4566){const _0x476577=a152_0x26c8e8,_0x3d3a78=await getSqlQueryInfo(_0x1c4566[_0x476577(0x202)],_0x1c4566['str']('sqlcode')),_0x562f39=_0x1c4566[_0x476577(0x1fa)](_0x476577(0x1fc));if(_0x562f39)return{'ok':!![],'data':_0x3d3a78};const _0x88a398=_0x3d3a78['dbId']?await getDbName(_0x1c4566['appCode'],_0x3d3a78[_0x476577(0x1f7)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3d3a78['sqlCode'],'sqlName':_0x3d3a78[_0x476577(0x1f9)],'db':_0x88a398?_0x88a398+'\x20('+_0x3d3a78[_0x476577(0x1f7)]+')':_0x3d3a78[_0x476577(0x1f7)]??'','description':_0x3d3a78[_0x476577(0x1ef)]??'','sqlContent':_0x3d3a78['sqlContent']??''}};}};
@@ -1 +1 @@
1
- const a153_0x440a94=a153_0x350c;function a153_0x5164(){const _0x49b0b6=['99xLuTRx','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','str','272mrQJQf','80022zRgdvH','1189567CSoVvL','Returned\x20','7260520XKYRMp','511EqaZsj','22444930hhVdZf','execError','62412ziEgca','length','params','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','exec','now','read','sql','string','execResult','43623zhXBoU','2953144EKZsqd','SQL\x20execution\x20failed','execSuccess','appCode'];a153_0x5164=function(){return _0x49b0b6;};return a153_0x5164();}(function(_0x5ded01,_0x616894){const _0x551797=a153_0x350c,_0xbb65b5=_0x5ded01();while(!![]){try{const _0x2d62ee=-parseInt(_0x551797(0xce))/0x1+parseInt(_0x551797(0xdf))/0x2+-parseInt(_0x551797(0xc9))/0x3*(-parseInt(_0x551797(0xd4))/0x4)+-parseInt(_0x551797(0xd0))/0x5+parseInt(_0x551797(0xcd))/0x6*(-parseInt(_0x551797(0xd1))/0x7)+-parseInt(_0x551797(0xcc))/0x8*(-parseInt(_0x551797(0xde))/0x9)+parseInt(_0x551797(0xd2))/0xa;if(_0x2d62ee===_0x616894)break;else _0xbb65b5['push'](_0xbb65b5['shift']());}catch(_0x129591){_0xbb65b5['push'](_0xbb65b5['shift']());}}}(a153_0x5164,0xbfc52));function a153_0x350c(_0x247617,_0x112044){_0x247617=_0x247617-0xc9;const _0x516459=a153_0x5164();let _0x350c9c=_0x516459[_0x247617];return _0x350c9c;}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a153_0x440a94(0xdb),'command':a153_0x440a94(0xd8),'description':a153_0x440a94(0xca),'risk':a153_0x440a94(0xda),'flags':[SQLCODE_FLAG,{'name':a153_0x440a94(0xd6),'type':a153_0x440a94(0xdc),'description':a153_0x440a94(0xd7)}],async 'execute'(_0x3f5fe4){const _0x1b993f=a153_0x440a94,_0x39480a=parseJsonParams(_0x3f5fe4[_0x1b993f(0xcb)](_0x1b993f(0xd6))),_0xd04311=Date[_0x1b993f(0xd9)](),_0xac3c20=await executeSql(_0x3f5fe4[_0x1b993f(0xe2)],_0x3f5fe4[_0x1b993f(0xcb)]('sqlcode'),_0x39480a),_0x4f53b2=Date[_0x1b993f(0xd9)]()-_0xd04311,_0x49abbb=_0xac3c20?.[_0x1b993f(0xdd)]??_0xac3c20,_0x2142c5=_0xac3c20?.[_0x1b993f(0xe1)]??!![];if(!_0x2142c5)return{'ok':![],'data':{'error':_0xac3c20?.[_0x1b993f(0xd3)]||_0x1b993f(0xe0),'elapsed':_0x4f53b2},'message':_0x1b993f(0xe0)};const _0x13e229=Array['isArray'](_0x49abbb)?_0x49abbb:[];return{'ok':!![],'data':{'rows':_0x13e229,'rowCount':_0x13e229[_0x1b993f(0xd5)],'elapsed':_0x4f53b2},'message':_0x1b993f(0xcf)+_0x13e229[_0x1b993f(0xd5)]+'\x20row(s)\x20in\x20'+_0x4f53b2+'ms'};}};
1
+ const a153_0x37c24d=a153_0x4888;function a153_0x4888(_0x371ac7,_0x5d846b){_0x371ac7=_0x371ac7-0x11f;const _0x22dd60=a153_0x22dd();let _0x4888b3=_0x22dd60[_0x371ac7];return _0x4888b3;}(function(_0x6a550d,_0x33daba){const _0x460798=a153_0x4888,_0x2067d6=_0x6a550d();while(!![]){try{const _0x398645=parseInt(_0x460798(0x122))/0x1+parseInt(_0x460798(0x133))/0x2+parseInt(_0x460798(0x130))/0x3+parseInt(_0x460798(0x125))/0x4+-parseInt(_0x460798(0x12d))/0x5*(parseInt(_0x460798(0x129))/0x6)+parseInt(_0x460798(0x121))/0x7*(parseInt(_0x460798(0x11f))/0x8)+-parseInt(_0x460798(0x128))/0x9*(parseInt(_0x460798(0x120))/0xa);if(_0x398645===_0x33daba)break;else _0x2067d6['push'](_0x2067d6['shift']());}catch(_0x2b87b4){_0x2067d6['push'](_0x2067d6['shift']());}}}(a153_0x22dd,0x60c78));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a153_0x22dd(){const _0x32240d=['execSuccess','183840qDRrsp','exec','sqlcode','now','length','12112wwqEfN','6436460juETUH','1666MpWbib','614006YDvmuL','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','read','1921348tVHFZU','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execError','18xslICz','2767734glWQVK','appCode','execResult','isArray','5jVOIBP','sql','string','1795182WTwKkB','str'];a153_0x22dd=function(){return _0x32240d;};return a153_0x22dd();}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a153_0x37c24d(0x12e),'command':a153_0x37c24d(0x134),'description':a153_0x37c24d(0x126),'risk':a153_0x37c24d(0x124),'flags':[SQLCODE_FLAG,{'name':'params','type':a153_0x37c24d(0x12f),'description':a153_0x37c24d(0x123)}],async 'execute'(_0x4c7421){const _0x5dbf4b=a153_0x37c24d,_0xb09c05=parseJsonParams(_0x4c7421[_0x5dbf4b(0x131)]('params')),_0x187718=Date['now'](),_0x59ee64=await executeSql(_0x4c7421[_0x5dbf4b(0x12a)],_0x4c7421[_0x5dbf4b(0x131)](_0x5dbf4b(0x135)),_0xb09c05),_0x9dc684=Date[_0x5dbf4b(0x136)]()-_0x187718,_0x34d1fa=_0x59ee64?.[_0x5dbf4b(0x12b)]??_0x59ee64,_0x471359=_0x59ee64?.[_0x5dbf4b(0x132)]??!![];if(!_0x471359)return{'ok':![],'data':{'error':_0x59ee64?.[_0x5dbf4b(0x127)]||'SQL\x20execution\x20failed','elapsed':_0x9dc684},'message':'SQL\x20execution\x20failed'};const _0x8aa3c=Array[_0x5dbf4b(0x12c)](_0x34d1fa)?_0x34d1fa:[];return{'ok':!![],'data':{'rows':_0x8aa3c,'rowCount':_0x8aa3c[_0x5dbf4b(0x137)],'elapsed':_0x9dc684},'message':'Returned\x20'+_0x8aa3c[_0x5dbf4b(0x137)]+'\x20row(s)\x20in\x20'+_0x9dc684+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x372ced,_0x3feed1){const _0xc6e040=a154_0x568c,_0x1fdd3d=_0x372ced();while(!![]){try{const _0x5af2c0=parseInt(_0xc6e040(0x18c))/0x1+-parseInt(_0xc6e040(0x190))/0x2+-parseInt(_0xc6e040(0x189))/0x3*(parseInt(_0xc6e040(0x18a))/0x4)+-parseInt(_0xc6e040(0x18e))/0x5*(-parseInt(_0xc6e040(0x18d))/0x6)+parseInt(_0xc6e040(0x18b))/0x7+-parseInt(_0xc6e040(0x188))/0x8+parseInt(_0xc6e040(0x18f))/0x9;if(_0x5af2c0===_0x3feed1)break;else _0x1fdd3d['push'](_0x1fdd3d['shift']());}catch(_0x26b268){_0x1fdd3d['push'](_0x1fdd3d['shift']());}}}(a154_0xb24f,0xb1912));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a154_0xb24f(){const _0xe89339=['938224nBBdUA','4878864VWLTZN','260556uUgGoj','52oXkzql','368970yqVPue','104605TLTYjC','6jVxBZO','7140305SigXUb','12149856QjsFJS'];a154_0xb24f=function(){return _0xe89339;};return a154_0xb24f();}function a154_0x568c(_0xec22da,_0x579240){_0xec22da=_0xec22da-0x188;const _0xb24fb3=a154_0xb24f();let _0x568cd6=_0xb24fb3[_0xec22da];return _0x568cd6;}import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x5c7fbc,_0x103899){const _0x19e691=a154_0x4802,_0x51f832=_0x5c7fbc();while(!![]){try{const _0x1869e4=-parseInt(_0x19e691(0xb6))/0x1+parseInt(_0x19e691(0xbb))/0x2*(parseInt(_0x19e691(0xb8))/0x3)+-parseInt(_0x19e691(0xb4))/0x4*(-parseInt(_0x19e691(0xbc))/0x5)+parseInt(_0x19e691(0xb7))/0x6*(parseInt(_0x19e691(0xb2))/0x7)+-parseInt(_0x19e691(0xb5))/0x8*(-parseInt(_0x19e691(0xbd))/0x9)+-parseInt(_0x19e691(0xb3))/0xa+parseInt(_0x19e691(0xb9))/0xb*(-parseInt(_0x19e691(0xba))/0xc);if(_0x1869e4===_0x103899)break;else _0x51f832['push'](_0x51f832['shift']());}catch(_0x235301){_0x51f832['push'](_0x51f832['shift']());}}}(a154_0x1024,0x61e9a));import{sqlList}from'../../commands/sql/list.js';function a154_0x1024(){const _0x4eda9e=['3806785cVllJH','102159piQHOb','2917082whNrPt','2729370SxDgLz','4nRGfME','8hBiXrj','91372nMFoAS','6taIAmb','549aFqThN','565796niunEq','228oQnMOz','6046pyCDLT'];a154_0x1024=function(){return _0x4eda9e;};return a154_0x1024();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a154_0x4802(_0x47a73e,_0x23dea7){_0x47a73e=_0x47a73e-0xb2;const _0x1024d5=a154_0x1024();let _0x48026a=_0x1024d5[_0x47a73e];return _0x48026a;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a155_0x1500c2=a155_0x25c0;(function(_0x4691e6,_0x54f7eb){const _0x19c02f=a155_0x25c0,_0x3b28d3=_0x4691e6();while(!![]){try{const _0x4fd6f1=-parseInt(_0x19c02f(0x14f))/0x1*(parseInt(_0x19c02f(0x144))/0x2)+-parseInt(_0x19c02f(0x142))/0x3*(parseInt(_0x19c02f(0x13d))/0x4)+-parseInt(_0x19c02f(0x13c))/0x5*(parseInt(_0x19c02f(0x14b))/0x6)+-parseInt(_0x19c02f(0x14a))/0x7*(parseInt(_0x19c02f(0x154))/0x8)+parseInt(_0x19c02f(0x139))/0x9*(parseInt(_0x19c02f(0x135))/0xa)+-parseInt(_0x19c02f(0x151))/0xb*(parseInt(_0x19c02f(0x140))/0xc)+parseInt(_0x19c02f(0x155))/0xd;if(_0x4fd6f1===_0x54f7eb)break;else _0x3b28d3['push'](_0x3b28d3['shift']());}catch(_0x53d8e9){_0x3b28d3['push'](_0x3b28d3['shift']());}}}(a155_0x48a5,0x266f7));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a155_0x25c0(_0x31c187,_0x371e46){_0x31c187=_0x31c187-0x131;const _0x48a5b5=a155_0x48a5();let _0x25c0e0=_0x48a5b5[_0x31c187];return _0x25c0e0;}function a155_0x48a5(){const _0x3b6c0d=['25aGNyvf','819288HObUAf','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','totalCount','1793892IIUocF','name','3EFCUPj','description','69158qeHuFI','num','number','No\x20custom\x20SQL\x20queries\x20found.','\x20SQL\x20queries\x20(total:\x20','bool','217HfIAoo','376212TAEGrA','page','Page\x20size','map','6GcuvZu','Found\x20','11qUOEiW','string','sql','39784YYXAsD','12896689yKpXGj','Filter\x20by\x20SQL\x20name','dbId','sqlcode','pagesize','List\x20custom\x20SQL\x20queries','all','Page\x20number','70FAeVIK','length','sqlName','str','250506ydxoCZ','verbose','tableData'];a155_0x48a5=function(){return _0x3b6c0d;};return a155_0x48a5();}export const sqlList={'service':a155_0x1500c2(0x153),'command':'list','description':a155_0x1500c2(0x132),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a155_0x1500c2(0x141),'type':a155_0x1500c2(0x152),'description':a155_0x1500c2(0x156)},{'name':'page','type':a155_0x1500c2(0x146),'description':a155_0x1500c2(0x134),'default':0x1},{'name':a155_0x1500c2(0x131),'type':'number','description':a155_0x1500c2(0x14d)},{'name':a155_0x1500c2(0x13a),'type':'boolean','description':a155_0x1500c2(0x13e)}],async 'execute'(_0x4e59c6){const _0x378566=a155_0x1500c2,_0x2abc89=await listSqlQueries(_0x4e59c6['appCode'],{'sqlCode':_0x4e59c6[_0x378566(0x138)](_0x378566(0x158))||undefined,'sqlName':_0x4e59c6[_0x378566(0x138)](_0x378566(0x141))||undefined,'currentPage':_0x4e59c6[_0x378566(0x145)](_0x378566(0x14c)),'pageSize':_0x4e59c6['num']('pagesize',0x32)}),_0x5e1c05=_0x4e59c6[_0x378566(0x149)](_0x378566(0x13a)),_0x4712f6=_0x2abc89[_0x378566(0x13b)]??[],_0x31a35f=_0x2abc89['paging']?.[_0x378566(0x13f)]??_0x4712f6[_0x378566(0x136)];let _0x228dc0;return _0x5e1c05?_0x228dc0=_0x4712f6:_0x228dc0=await Promise[_0x378566(0x133)](_0x4712f6[_0x378566(0x14e)](async _0x121737=>{const _0x5378f1=_0x378566;let _0xa6d9fe;try{_0xa6d9fe=_0x121737[_0x5378f1(0x157)]?await getDbName(_0x4e59c6['appCode'],_0x121737['dbId']):undefined;}catch{}return{'sqlCode':_0x121737['sqlCode'],'sqlName':_0x121737[_0x5378f1(0x137)],'description':_0x121737[_0x5378f1(0x143)]??'','db':_0xa6d9fe?_0xa6d9fe+'\x20('+_0x121737[_0x5378f1(0x157)]+')':_0x121737[_0x5378f1(0x157)]??''};})),{'ok':!![],'data':_0x228dc0,'message':_0x4712f6[_0x378566(0x136)]===0x0?_0x378566(0x147):_0x378566(0x150)+_0x4712f6[_0x378566(0x136)]+_0x378566(0x148)+_0x31a35f+').'};}};
1
+ const a155_0x24c10c=a155_0x3e59;function a155_0x512a(){const _0x1bfe7d=['3076724GNUnoD','verbose','Filter\x20by\x20SQL\x20name','description','No\x20custom\x20SQL\x20queries\x20found.','sqlCode','totalCount','page','bool','tableData','sql','335324GqEqrk','num','str','pagesize','number','list','appCode','dbId','8110VMDDvP','paging','77272ntriJe','Page\x20size','271670JgxfBt','length','512415upZaTD','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','\x20SQL\x20queries\x20(total:\x20','6FuOIGx','913STdgou','342dwLyvo','3523284uYasAQ','List\x20custom\x20SQL\x20queries','all','name','sqlcode','1348iRgDKL','Found\x20'];a155_0x512a=function(){return _0x1bfe7d;};return a155_0x512a();}(function(_0x3daf35,_0x3a247c){const _0x421420=a155_0x3e59,_0x162bc2=_0x3daf35();while(!![]){try{const _0x116728=-parseInt(_0x421420(0x1c8))/0x1+-parseInt(_0x421420(0x1d9))/0x2*(parseInt(_0x421420(0x1d6))/0x3)+parseInt(_0x421420(0x1bb))/0x4*(-parseInt(_0x421420(0x1d0))/0x5)+-parseInt(_0x421420(0x1dc))/0x6+parseInt(_0x421420(0x1bd))/0x7+-parseInt(_0x421420(0x1d2))/0x8*(parseInt(_0x421420(0x1db))/0x9)+parseInt(_0x421420(0x1d4))/0xa*(parseInt(_0x421420(0x1da))/0xb);if(_0x116728===_0x3a247c)break;else _0x162bc2['push'](_0x162bc2['shift']());}catch(_0x37892b){_0x162bc2['push'](_0x162bc2['shift']());}}}(a155_0x512a,0x546b8));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a155_0x3e59(_0x46cdab,_0x55b8dc){_0x46cdab=_0x46cdab-0x1bb;const _0x512a46=a155_0x512a();let _0x3e5933=_0x512a46[_0x46cdab];return _0x3e5933;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a155_0x24c10c(0x1c7),'command':a155_0x24c10c(0x1cd),'description':a155_0x24c10c(0x1dd),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a155_0x24c10c(0x1df),'type':'string','description':a155_0x24c10c(0x1bf)},{'name':a155_0x24c10c(0x1c4),'type':a155_0x24c10c(0x1cc),'description':'Page\x20number','default':0x1},{'name':a155_0x24c10c(0x1cb),'type':a155_0x24c10c(0x1cc),'description':a155_0x24c10c(0x1d3)},{'name':'verbose','type':'boolean','description':a155_0x24c10c(0x1d7)}],async 'execute'(_0x3a3d34){const _0x104978=a155_0x24c10c,_0x3493f0=await listSqlQueries(_0x3a3d34[_0x104978(0x1ce)],{'sqlCode':_0x3a3d34[_0x104978(0x1ca)](_0x104978(0x1e0))||undefined,'sqlName':_0x3a3d34[_0x104978(0x1ca)](_0x104978(0x1df))||undefined,'currentPage':_0x3a3d34[_0x104978(0x1c9)](_0x104978(0x1c4)),'pageSize':_0x3a3d34[_0x104978(0x1c9)](_0x104978(0x1cb),0x32)}),_0xef89b3=_0x3a3d34[_0x104978(0x1c5)](_0x104978(0x1be)),_0x233cbf=_0x3493f0[_0x104978(0x1c6)]??[],_0x42b2cb=_0x3493f0[_0x104978(0x1d1)]?.[_0x104978(0x1c3)]??_0x233cbf['length'];let _0x158029;return _0xef89b3?_0x158029=_0x233cbf:_0x158029=await Promise[_0x104978(0x1de)](_0x233cbf['map'](async _0xf9af6=>{const _0x2d5912=_0x104978;let _0x505ce4;try{_0x505ce4=_0xf9af6[_0x2d5912(0x1cf)]?await getDbName(_0x3a3d34['appCode'],_0xf9af6[_0x2d5912(0x1cf)]):undefined;}catch{}return{'sqlCode':_0xf9af6[_0x2d5912(0x1c2)],'sqlName':_0xf9af6['sqlName'],'description':_0xf9af6[_0x2d5912(0x1c0)]??'','db':_0x505ce4?_0x505ce4+'\x20('+_0xf9af6['dbId']+')':_0xf9af6[_0x2d5912(0x1cf)]??''};})),{'ok':!![],'data':_0x158029,'message':_0x233cbf[_0x104978(0x1d5)]===0x0?_0x104978(0x1c1):_0x104978(0x1bc)+_0x233cbf['length']+_0x104978(0x1d8)+_0x42b2cb+').'};}};
@@ -1 +1 @@
1
- const a156_0x22638b=a156_0x23d2;(function(_0x2c6b69,_0x20727c){const _0x49c3fb=a156_0x23d2,_0x215a97=_0x2c6b69();while(!![]){try{const _0x208709=-parseInt(_0x49c3fb(0x144))/0x1*(-parseInt(_0x49c3fb(0x12c))/0x2)+parseInt(_0x49c3fb(0x124))/0x3*(parseInt(_0x49c3fb(0x153))/0x4)+-parseInt(_0x49c3fb(0x12a))/0x5+parseInt(_0x49c3fb(0x154))/0x6*(-parseInt(_0x49c3fb(0x137))/0x7)+parseInt(_0x49c3fb(0x134))/0x8*(-parseInt(_0x49c3fb(0x132))/0x9)+parseInt(_0x49c3fb(0x13d))/0xa*(parseInt(_0x49c3fb(0x13c))/0xb)+-parseInt(_0x49c3fb(0x138))/0xc*(-parseInt(_0x49c3fb(0x128))/0xd);if(_0x208709===_0x20727c)break;else _0x215a97['push'](_0x215a97['shift']());}catch(_0x1d0c16){_0x215a97['push'](_0x215a97['shift']());}}}(a156_0x1b54,0x6c9e2));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a156_0x1b54(){const _0xb0480c=['30643YcuTxX','boolean','message','trimStart','pull','skipped','cancelled','join','bool','sql','appCode','utf8','No\x20remote\x20SQL\x20queries\x20matched.','catch','mybatisXml','92bdRpCp','78kCkiqe','paging','Force\x20overwrite\x20local\x20unsynced\x20changes','sqlCode','local\x20differs\x20from\x20remote','totalCount','POST','string','push','replace','sqlContent','name','toISOString','unchanged','description','length','\x20skipped,\x20','str','71751OPmmJj','path','nonInteractive','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','91TXGkTN','\x20written,\x20','3982745kFeozd','would_pull','30mLOBVq','sqlRoot','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20failed','Would\x20pull\x20','force','1105002aiQiQL','sqlRootDir','8AohNKC','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlName','457338PtXWrC','1928676MtWoHt','lockFilePath','filter','conflict','173294twxVqL','50vwbsMB','apps','sqls','test','dbId','sqlcode','lastSync'];a156_0x1b54=function(){return _0xb0480c;};return a156_0x1b54();}function a156_0x23d2(_0x2b11fc,_0x14f889){_0x2b11fc=_0x2b11fc-0x11a;const _0x1b54f7=a156_0x1b54();let _0x23d25c=_0x1b54f7[_0x2b11fc];return _0x23d25c;}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(_0x5b0585,_0x46c845){const _0x5c95d1=a156_0x23d2,_0x394647=[];let _0x329990=0x1;while(!![]){const _0x3dc9e5=await listSqlQueries(_0x5b0585,{'currentPage':_0x329990,'pageSize':PAGE_SIZE,'sqlCode':_0x46c845['sqlCode'],'sqlName':_0x46c845[_0x5c95d1(0x136)]}),_0x3662a6=_0x3dc9e5['tableData']??[];_0x394647['push'](..._0x3662a6);if(_0x3662a6[_0x5c95d1(0x121)]===0x0)break;const _0x2360c8=_0x3dc9e5[_0x5c95d1(0x155)]?.[_0x5c95d1(0x159)];if(_0x2360c8!=null?_0x394647['length']>=_0x2360c8:_0x3662a6[_0x5c95d1(0x121)]<PAGE_SIZE)break;_0x329990++;}return _0x394647;}async function ensureSqlContent(_0x501626){const _0x4259e5=a156_0x23d2;if(_0x501626[_0x4259e5(0x11c)]!=null&&String(_0x501626[_0x4259e5(0x11c)])[_0x4259e5(0x121)]>0x0)return _0x501626;return getSqlQueryDetail(_0x501626['sqlCode']);}export const sqlPull={'service':a156_0x22638b(0x14d),'command':a156_0x22638b(0x148),'description':a156_0x22638b(0x135),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a156_0x22638b(0x11d),'type':a156_0x22638b(0x15b),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a156_0x22638b(0x131),'type':a156_0x22638b(0x145),'description':a156_0x22638b(0x156)}],async 'dryRun'(_0x30fd5d){const _0xa96160=a156_0x22638b,_0x31eef7=loadSqlProjectConfig(_0x30fd5d[_0xa96160(0x14e)]),_0x323135=await readSqlLockFile(_0x31eef7[_0xa96160(0x139)]),{appLock:_0x286c6d}=ensureSqlLockScope(_0x323135??createEmptySqlLock(),_0x31eef7[_0xa96160(0x14e)],_0x31eef7[_0xa96160(0x12d)],_0xa96160(0x148)),_0x4d32fb=await fetchAllSqlQueries(_0x30fd5d['appCode'],{'sqlCode':_0x30fd5d[_0xa96160(0x123)](_0xa96160(0x142))||undefined,'sqlName':_0x30fd5d['str'](_0xa96160(0x11d))||undefined}),_0x47b136=[];for(const _0x292ccf of _0x4d32fb){const _0x4c84b3=await ensureSqlContent(_0x292ccf),_0x8c6e94=ensureRemoteSqlContent(_0x4c84b3),_0x56d873=detectModeFromSql(_0x4c84b3),_0x42fa9c=_0x4c84b3[_0xa96160(0x141)]?await getDbName(_0x30fd5d['appCode'],Number(_0x4c84b3[_0xa96160(0x141)]))[_0xa96160(0x151)](()=>undefined):undefined,_0x5b8e87=buildLocalSqlFileContent({'sqlCode':_0x4c84b3['sqlCode'],'sqlName':_0x4c84b3['sqlName'],'dbId':_0x4c84b3[_0xa96160(0x141)]},_0x8c6e94,{'dbName':_0x42fa9c,'mode':_0x56d873,'syncedAt':new Date()[_0xa96160(0x11e)](),'description':_0x4c84b3['description']}),_0x4e500c=buildSqlLockEntry(_0x4c84b3,_0x8c6e94,'',{'dbName':_0x42fa9c}),_0x3c7022=resolveLocalSqlFilePath(_0x31eef7,_0x4c84b3['sqlCode'],_0x4e500c);let _0x1a74bb=_0xa96160(0x12b),_0x570f52;if(await fileExists(_0x3c7022)){const _0x46308f=await readFile(_0x3c7022,_0xa96160(0x14f));isEquivalentPulledSqlFile(_0x46308f,_0x5b8e87,_0x56d873)?(_0x1a74bb=_0xa96160(0x149),_0x570f52='unchanged'):(_0x1a74bb=_0xa96160(0x13b),_0x570f52=_0xa96160(0x12e));}_0x47b136[_0xa96160(0x11a)]({'sqlCode':_0x4c84b3[_0xa96160(0x157)],'sqlName':_0x4c84b3[_0xa96160(0x136)],'filePath':_0x3c7022,'status':_0x1a74bb,'reason':_0x570f52});}return{'method':_0xa96160(0x15a),'url':_0xa96160(0x127),'body':{'appCode':_0x30fd5d[_0xa96160(0x14e)],'sqlCode':_0x30fd5d[_0xa96160(0x123)](_0xa96160(0x142))||null,'sqlName':_0x30fd5d['str']('name')||null,'files':_0x47b136},'description':_0xa96160(0x130)+_0x47b136['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x31eef7[_0xa96160(0x133)]};},async 'execute'(_0x237c60){const _0x247a9a=a156_0x22638b,_0x5dcfdd=loadSqlProjectConfig(_0x237c60[_0x247a9a(0x14e)]),_0x58f65b=await readSqlLockFile(_0x5dcfdd[_0x247a9a(0x139)]),{lockData:_0x4bcd06,appLock:_0x33e479}=ensureSqlLockScope(_0x58f65b??createEmptySqlLock(),_0x5dcfdd['appCode'],_0x5dcfdd['sqlRoot'],_0x247a9a(0x148)),_0x44a4a5=_0x237c60[_0x247a9a(0x14c)](_0x247a9a(0x131)),_0x384cae=await fetchAllSqlQueries(_0x237c60[_0x247a9a(0x14e)],{'sqlCode':_0x237c60[_0x247a9a(0x123)]('sqlcode')||undefined,'sqlName':_0x237c60[_0x247a9a(0x123)](_0x247a9a(0x11d))||undefined});if(_0x384cae[_0x247a9a(0x121)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x247a9a(0x150)};const _0x4a8560=[],_0x4feac5=[];for(const _0x5591c1 of _0x384cae){try{_0x4a8560[_0x247a9a(0x11a)](await ensureSqlContent(_0x5591c1));}catch(_0x633e3f){_0x4feac5[_0x247a9a(0x11a)]({'sqlCode':_0x5591c1[_0x247a9a(0x157)],'error':_0x633e3f instanceof Error?_0x633e3f[_0x247a9a(0x146)]:String(_0x633e3f)});}}if(_0x44a4a5&&!_0x237c60[_0x247a9a(0x126)]){let _0x5c4a0a=![];for(const _0x417771 of _0x4a8560){const _0x845858=detectModeFromSql(_0x417771),_0xdc3495=_0x417771['dbId']?await getDbName(_0x237c60[_0x247a9a(0x14e)],Number(_0x417771['dbId']))[_0x247a9a(0x151)](()=>undefined):undefined,_0x1775df=buildLocalSqlFileContent({'sqlCode':_0x417771[_0x247a9a(0x157)],'sqlName':_0x417771[_0x247a9a(0x136)],'dbId':_0x417771[_0x247a9a(0x141)]},ensureRemoteSqlContent(_0x417771),{'dbName':_0xdc3495,'mode':_0x845858,'syncedAt':new Date()[_0x247a9a(0x11e)](),'description':_0x417771[_0x247a9a(0x120)]}),_0x361b53=resolveLocalSqlFilePath(_0x5dcfdd,_0x417771[_0x247a9a(0x157)],buildSqlLockEntry(_0x417771,ensureRemoteSqlContent(_0x417771),'',{'dbName':_0xdc3495}));if(await fileExists(_0x361b53)){const _0x485029=await readFile(_0x361b53,_0x247a9a(0x14f));if(!isEquivalentPulledSqlFile(_0x485029,_0x1775df,_0x845858)){_0x5c4a0a=!![];break;}}}if(_0x5c4a0a){const _0x3c5374=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x3c5374)throw CliErrors[_0x247a9a(0x14a)]('Force\x20pull\x20cancelled.');}}const _0x19a134=cloneSqlLockData(_0x4bcd06),_0x75d743=_0x19a134[_0x247a9a(0x13e)][_0x5dcfdd[_0x247a9a(0x14e)]],_0x303ac2=[],_0x2b5e4f=[];for(const _0x4472f1 of _0x4a8560){const _0x171e39=_0x75d743['sqls'][_0x4472f1['sqlCode']],_0x2a491a=ensureRemoteSqlContent(_0x4472f1),_0x317a1f=detectModeFromSql(_0x4472f1),_0x1b891e=_0x4472f1[_0x247a9a(0x141)]?await getDbName(_0x237c60[_0x247a9a(0x14e)],Number(_0x4472f1['dbId']))[_0x247a9a(0x151)](()=>undefined):undefined,_0x3f736c=buildLocalSqlFileContent({'sqlCode':_0x4472f1[_0x247a9a(0x157)],'sqlName':_0x4472f1[_0x247a9a(0x136)],'dbId':_0x4472f1[_0x247a9a(0x141)]},_0x2a491a,{'dbName':_0x1b891e,'mode':_0x317a1f,'syncedAt':new Date()[_0x247a9a(0x11e)](),'description':_0x4472f1[_0x247a9a(0x120)]}),_0x330689=buildSqlLockEntry(_0x4472f1,_0x2a491a,computeSqlContentHash(_0x3f736c),{'dbName':_0x1b891e}),_0x3413ad=_0x330689['path'],_0x2f23b9=join(_0x5dcfdd[_0x247a9a(0x133)],_0x3413ad);try{if(await fileExists(_0x2f23b9)){const _0x310424=await readFile(_0x2f23b9,_0x247a9a(0x14f));if(isEquivalentPulledSqlFile(_0x310424,_0x3f736c,_0x317a1f)){_0x2b5e4f[_0x247a9a(0x11a)]({'sqlCode':_0x4472f1[_0x247a9a(0x157)],'reason':_0x247a9a(0x11f)}),_0x75d743['sqls'][_0x4472f1[_0x247a9a(0x157)]]={..._0x330689,'hash':computeSqlContentHash(_0x310424),'path':_0x3413ad};continue;}if(!_0x44a4a5){_0x2b5e4f[_0x247a9a(0x11a)]({'sqlCode':_0x4472f1[_0x247a9a(0x157)],'reason':_0x247a9a(0x158)});continue;}}const _0x381a31=_0x171e39?.[_0x247a9a(0x125)]?join(_0x5dcfdd['sqlRootDir'],_0x171e39[_0x247a9a(0x125)]):undefined;_0x381a31&&_0x381a31!==_0x2f23b9&&await fileExists(_0x381a31)&&await rm(_0x381a31,{'force':!![]}),await ensureParentDirectory(_0x2f23b9),await writeFile(_0x2f23b9,_0x3f736c,_0x247a9a(0x14f)),_0x75d743[_0x247a9a(0x13f)][_0x4472f1['sqlCode']]={..._0x330689,'path':_0x3413ad},_0x303ac2['push']({'sqlCode':_0x4472f1[_0x247a9a(0x157)],'filePath':_0x2f23b9});}catch(_0x552c38){_0x4feac5[_0x247a9a(0x11a)]({'sqlCode':_0x4472f1[_0x247a9a(0x157)],'error':_0x552c38 instanceof Error?_0x552c38['message']:String(_0x552c38)});}}return _0x75d743[_0x247a9a(0x143)]=new Date()[_0x247a9a(0x11e)](),await writeSqlLockFile(_0x5dcfdd[_0x247a9a(0x139)],_0x19a134),{'ok':_0x4feac5['length']===0x0,'data':{'pulled':_0x303ac2,'skipped':_0x2b5e4f,'failed':_0x4feac5},'message':'Pull\x20complete:\x20'+_0x303ac2[_0x247a9a(0x121)]+_0x247a9a(0x129)+_0x2b5e4f[_0x247a9a(0x121)]+_0x247a9a(0x122)+_0x4feac5[_0x247a9a(0x121)]+_0x247a9a(0x12f)};}};function detectModeFromSql(_0x414884){const _0x59a891=a156_0x22638b,_0x59540b=ensureRemoteSqlContent(_0x414884),_0x2e347e=stripLocalSqlMetadata(_0x59540b,_0x59a891(0x152))[_0x59a891(0x147)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x2e347e))return _0x59a891(0x152);return _0x59a891(0x14d);}function isEquivalentPulledSqlFile(_0x54c83e,_0x1e343c,_0x3877e1){return normalizePullComparableContent(_0x54c83e,_0x3877e1)===normalizePullComparableContent(_0x1e343c,_0x3877e1);}function normalizePullComparableContent(_0x184fb5,_0x3f6639){const _0x267f68=a156_0x22638b,_0x11899e=_0x184fb5[_0x267f68(0x11b)](/\r\n/g,'\x0a')['split']('\x0a'),_0x29b2e2=_0x11899e[_0x267f68(0x13a)](_0x3860af=>!isSyncedAtMetadataLine(_0x3860af,_0x3f6639));return _0x29b2e2[_0x267f68(0x14b)]('\x0a');}function isSyncedAtMetadataLine(_0x564200,_0x3fe7bf){const _0x88a489=a156_0x22638b;if(_0x3fe7bf==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x88a489(0x140)](_0x564200);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x88a489(0x140)](_0x564200);}
1
+ const a156_0x34fbd7=a156_0x4bca;(function(_0x2d7e9c,_0x46869c){const _0x30170c=a156_0x4bca,_0x1175a2=_0x2d7e9c();while(!![]){try{const _0x9c8043=parseInt(_0x30170c(0xc9))/0x1+-parseInt(_0x30170c(0xc4))/0x2+parseInt(_0x30170c(0xd2))/0x3*(-parseInt(_0x30170c(0xb2))/0x4)+parseInt(_0x30170c(0xc7))/0x5*(parseInt(_0x30170c(0xbe))/0x6)+-parseInt(_0x30170c(0xea))/0x7+parseInt(_0x30170c(0xcb))/0x8+-parseInt(_0x30170c(0xd3))/0x9;if(_0x9c8043===_0x46869c)break;else _0x1175a2['push'](_0x1175a2['shift']());}catch(_0x29da71){_0x1175a2['push'](_0x1175a2['shift']());}}}(a156_0x2e3b,0x2f51e));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x4e48a3,_0x4b3135){const _0xf77c26=a156_0x4bca,_0x49c2c4=[];let _0x521fcd=0x1;while(!![]){const _0x13d859=await listSqlQueries(_0x4e48a3,{'currentPage':_0x521fcd,'pageSize':PAGE_SIZE,'sqlCode':_0x4b3135[_0xf77c26(0xbf)],'sqlName':_0x4b3135[_0xf77c26(0xca)]}),_0x3e300c=_0x13d859[_0xf77c26(0xb5)]??[];_0x49c2c4[_0xf77c26(0xda)](..._0x3e300c);if(_0x3e300c[_0xf77c26(0xd9)]===0x0)break;const _0x17fa12=_0x13d859[_0xf77c26(0xc3)]?.[_0xf77c26(0xb7)];if(_0x17fa12!=null?_0x49c2c4['length']>=_0x17fa12:_0x3e300c[_0xf77c26(0xd9)]<PAGE_SIZE)break;_0x521fcd++;}return _0x49c2c4;}async function ensureSqlContent(_0x2ede69){const _0x49c661=a156_0x4bca;if(_0x2ede69[_0x49c661(0xe1)]!=null&&String(_0x2ede69[_0x49c661(0xe1)])[_0x49c661(0xd9)]>0x0)return _0x2ede69;return getSqlQueryDetail(_0x2ede69[_0x49c661(0xbf)]);}export const sqlPull={'service':a156_0x34fbd7(0xb8),'command':'pull','description':a156_0x34fbd7(0xe6),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a156_0x34fbd7(0xd8),'type':'string','description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a156_0x34fbd7(0xcc),'type':a156_0x34fbd7(0xc0),'description':a156_0x34fbd7(0xd6)}],async 'dryRun'(_0x17f04b){const _0x477110=a156_0x34fbd7,_0x3d20df=loadSqlProjectConfig(_0x17f04b[_0x477110(0xbd)]),_0x2e1b2b=await readSqlLockFile(_0x3d20df[_0x477110(0xb9)]),{appLock:_0x366bfd}=ensureSqlLockScope(_0x2e1b2b??createEmptySqlLock(),_0x3d20df[_0x477110(0xbd)],_0x3d20df['sqlRoot'],_0x477110(0xe0)),_0xbea892=await fetchAllSqlQueries(_0x17f04b[_0x477110(0xbd)],{'sqlCode':_0x17f04b[_0x477110(0xc5)](_0x477110(0xe3))||undefined,'sqlName':_0x17f04b[_0x477110(0xc5)](_0x477110(0xd8))||undefined}),_0x5b11f3=[];for(const _0x60b00b of _0xbea892){const _0x5bf1da=await ensureSqlContent(_0x60b00b),_0x5c536b=ensureRemoteSqlContent(_0x5bf1da),_0x4abb65=detectModeFromSql(_0x5bf1da),_0x43a6ab=_0x5bf1da['dbId']?await getDbName(_0x17f04b['appCode'],Number(_0x5bf1da[_0x477110(0xb4)]))[_0x477110(0xcf)](()=>undefined):undefined,_0x35fc24=buildLocalSqlFileContent({'sqlCode':_0x5bf1da['sqlCode'],'sqlName':_0x5bf1da[_0x477110(0xca)],'dbId':_0x5bf1da['dbId']},_0x5c536b,{'dbName':_0x43a6ab,'mode':_0x4abb65,'syncedAt':new Date()['toISOString'](),'description':_0x5bf1da[_0x477110(0xde)]}),_0x499fb1=buildSqlLockEntry(_0x5bf1da,_0x5c536b,'',{'dbName':_0x43a6ab}),_0x27cf7b=resolveLocalSqlFilePath(_0x3d20df,_0x5bf1da[_0x477110(0xbf)],_0x499fb1);let _0x870197=_0x477110(0xdb),_0x2341ac;if(await fileExists(_0x27cf7b)){const _0x447f2d=await readFile(_0x27cf7b,_0x477110(0xd1));isEquivalentPulledSqlFile(_0x447f2d,_0x35fc24,_0x4abb65)?(_0x870197=_0x477110(0xd4),_0x2341ac=_0x477110(0xc2)):(_0x870197=_0x477110(0xc8),_0x2341ac=_0x477110(0xce));}_0x5b11f3[_0x477110(0xda)]({'sqlCode':_0x5bf1da[_0x477110(0xbf)],'sqlName':_0x5bf1da[_0x477110(0xca)],'filePath':_0x27cf7b,'status':_0x870197,'reason':_0x2341ac});}return{'method':'POST','url':_0x477110(0xe7),'body':{'appCode':_0x17f04b[_0x477110(0xbd)],'sqlCode':_0x17f04b[_0x477110(0xc5)]('sqlcode')||null,'sqlName':_0x17f04b['str'](_0x477110(0xd8))||null,'files':_0x5b11f3},'description':_0x477110(0xb1)+_0x5b11f3[_0x477110(0xd9)]+_0x477110(0xb6)+_0x3d20df[_0x477110(0xcd)]};},async 'execute'(_0x22633f){const _0x1fb8e3=a156_0x34fbd7,_0x667b86=loadSqlProjectConfig(_0x22633f['appCode']),_0x42befb=await readSqlLockFile(_0x667b86[_0x1fb8e3(0xb9)]),{lockData:_0x52ab66,appLock:_0x3b0bca}=ensureSqlLockScope(_0x42befb??createEmptySqlLock(),_0x667b86['appCode'],_0x667b86[_0x1fb8e3(0xba)],_0x1fb8e3(0xe0)),_0x5037ca=_0x22633f[_0x1fb8e3(0xc1)](_0x1fb8e3(0xcc)),_0x579d08=await fetchAllSqlQueries(_0x22633f[_0x1fb8e3(0xbd)],{'sqlCode':_0x22633f[_0x1fb8e3(0xc5)](_0x1fb8e3(0xe3))||undefined,'sqlName':_0x22633f[_0x1fb8e3(0xc5)](_0x1fb8e3(0xd8))||undefined});if(_0x579d08[_0x1fb8e3(0xd9)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1fb8e3(0xdc)};const _0xe3aa2c=[],_0x682dfc=[];for(const _0x1c1aa4 of _0x579d08){try{_0xe3aa2c[_0x1fb8e3(0xda)](await ensureSqlContent(_0x1c1aa4));}catch(_0x21ad0f){_0x682dfc[_0x1fb8e3(0xda)]({'sqlCode':_0x1c1aa4[_0x1fb8e3(0xbf)],'error':_0x21ad0f instanceof Error?_0x21ad0f[_0x1fb8e3(0xeb)]:String(_0x21ad0f)});}}if(_0x5037ca&&!_0x22633f[_0x1fb8e3(0xe5)]){let _0x5b9fc6=![];for(const _0x26cab5 of _0xe3aa2c){const _0x3ebb6a=detectModeFromSql(_0x26cab5),_0x92bfa6=_0x26cab5['dbId']?await getDbName(_0x22633f[_0x1fb8e3(0xbd)],Number(_0x26cab5[_0x1fb8e3(0xb4)]))['catch'](()=>undefined):undefined,_0x3d0a69=buildLocalSqlFileContent({'sqlCode':_0x26cab5[_0x1fb8e3(0xbf)],'sqlName':_0x26cab5['sqlName'],'dbId':_0x26cab5[_0x1fb8e3(0xb4)]},ensureRemoteSqlContent(_0x26cab5),{'dbName':_0x92bfa6,'mode':_0x3ebb6a,'syncedAt':new Date()['toISOString'](),'description':_0x26cab5[_0x1fb8e3(0xde)]}),_0x4097a6=resolveLocalSqlFilePath(_0x667b86,_0x26cab5[_0x1fb8e3(0xbf)],buildSqlLockEntry(_0x26cab5,ensureRemoteSqlContent(_0x26cab5),'',{'dbName':_0x92bfa6}));if(await fileExists(_0x4097a6)){const _0xcccfc3=await readFile(_0x4097a6,_0x1fb8e3(0xd1));if(!isEquivalentPulledSqlFile(_0xcccfc3,_0x3d0a69,_0x3ebb6a)){_0x5b9fc6=!![];break;}}}if(_0x5b9fc6){const _0x5c6a26=await confirmForceOverwrite(_0x1fb8e3(0xe9));if(!_0x5c6a26)throw CliErrors['cancelled'](_0x1fb8e3(0xbb));}}const _0x3cf9c4=cloneSqlLockData(_0x52ab66),_0x443c96=_0x3cf9c4[_0x1fb8e3(0xe2)][_0x667b86[_0x1fb8e3(0xbd)]],_0x42254e=[],_0x1ce2b6=[];for(const _0x49ee90 of _0xe3aa2c){const _0x4589e8=_0x443c96[_0x1fb8e3(0xec)][_0x49ee90[_0x1fb8e3(0xbf)]],_0x123a38=ensureRemoteSqlContent(_0x49ee90),_0x3cb93a=detectModeFromSql(_0x49ee90),_0x5d899c=_0x49ee90[_0x1fb8e3(0xb4)]?await getDbName(_0x22633f['appCode'],Number(_0x49ee90[_0x1fb8e3(0xb4)]))[_0x1fb8e3(0xcf)](()=>undefined):undefined,_0x1fa48e=buildLocalSqlFileContent({'sqlCode':_0x49ee90[_0x1fb8e3(0xbf)],'sqlName':_0x49ee90[_0x1fb8e3(0xca)],'dbId':_0x49ee90[_0x1fb8e3(0xb4)]},_0x123a38,{'dbName':_0x5d899c,'mode':_0x3cb93a,'syncedAt':new Date()[_0x1fb8e3(0xc6)](),'description':_0x49ee90[_0x1fb8e3(0xde)]}),_0x4abc63=buildSqlLockEntry(_0x49ee90,_0x123a38,computeSqlContentHash(_0x1fa48e),{'dbName':_0x5d899c}),_0x337ed1=_0x4abc63['path'],_0x18182f=join(_0x667b86[_0x1fb8e3(0xcd)],_0x337ed1);try{if(await fileExists(_0x18182f)){const _0x3c150c=await readFile(_0x18182f,_0x1fb8e3(0xd1));if(isEquivalentPulledSqlFile(_0x3c150c,_0x1fa48e,_0x3cb93a)){_0x1ce2b6[_0x1fb8e3(0xda)]({'sqlCode':_0x49ee90[_0x1fb8e3(0xbf)],'reason':_0x1fb8e3(0xc2)}),_0x443c96[_0x1fb8e3(0xec)][_0x49ee90[_0x1fb8e3(0xbf)]]={..._0x4abc63,'hash':computeSqlContentHash(_0x3c150c),'path':_0x337ed1};continue;}if(!_0x5037ca){_0x1ce2b6[_0x1fb8e3(0xda)]({'sqlCode':_0x49ee90[_0x1fb8e3(0xbf)],'reason':_0x1fb8e3(0xed)});continue;}}const _0x4faffd=_0x4589e8?.[_0x1fb8e3(0xe8)]?join(_0x667b86['sqlRootDir'],_0x4589e8[_0x1fb8e3(0xe8)]):undefined;_0x4faffd&&_0x4faffd!==_0x18182f&&await fileExists(_0x4faffd)&&await rm(_0x4faffd,{'force':!![]}),await ensureParentDirectory(_0x18182f),await writeFile(_0x18182f,_0x1fa48e,_0x1fb8e3(0xd1)),_0x443c96[_0x1fb8e3(0xec)][_0x49ee90['sqlCode']]={..._0x4abc63,'path':_0x337ed1},_0x42254e['push']({'sqlCode':_0x49ee90['sqlCode'],'filePath':_0x18182f});}catch(_0x3553f3){_0x682dfc[_0x1fb8e3(0xda)]({'sqlCode':_0x49ee90[_0x1fb8e3(0xbf)],'error':_0x3553f3 instanceof Error?_0x3553f3[_0x1fb8e3(0xeb)]:String(_0x3553f3)});}}return _0x443c96[_0x1fb8e3(0xe4)]=new Date()[_0x1fb8e3(0xc6)](),await writeSqlLockFile(_0x667b86[_0x1fb8e3(0xb9)],_0x3cf9c4),{'ok':_0x682dfc[_0x1fb8e3(0xd9)]===0x0,'data':{'pulled':_0x42254e,'skipped':_0x1ce2b6,'failed':_0x682dfc},'message':'Pull\x20complete:\x20'+_0x42254e[_0x1fb8e3(0xd9)]+_0x1fb8e3(0xd0)+_0x1ce2b6[_0x1fb8e3(0xd9)]+_0x1fb8e3(0xdd)+_0x682dfc[_0x1fb8e3(0xd9)]+_0x1fb8e3(0xd7)};}};function a156_0x4bca(_0x3a2fb4,_0x4b7069){_0x3a2fb4=_0x3a2fb4-0xb1;const _0x2e3be3=a156_0x2e3b();let _0x4bcaee=_0x2e3be3[_0x3a2fb4];return _0x4bcaee;}function detectModeFromSql(_0x19d3bf){const _0x1c3370=a156_0x34fbd7,_0x36d181=ensureRemoteSqlContent(_0x19d3bf),_0xb653ac=stripLocalSqlMetadata(_0x36d181,_0x1c3370(0xd5))['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0xb653ac))return _0x1c3370(0xd5);return _0x1c3370(0xb8);}function isEquivalentPulledSqlFile(_0x12200b,_0x14e1d7,_0x5e0464){return normalizePullComparableContent(_0x12200b,_0x5e0464)===normalizePullComparableContent(_0x14e1d7,_0x5e0464);}function normalizePullComparableContent(_0x87d985,_0x1c8dac){const _0x3a64ec=a156_0x34fbd7,_0x51b61c=_0x87d985[_0x3a64ec(0xdf)](/\r\n/g,'\x0a')['split']('\x0a'),_0x3c1607=_0x51b61c[_0x3a64ec(0xb3)](_0x4a779a=>!isSyncedAtMetadataLine(_0x4a779a,_0x1c8dac));return _0x3c1607['join']('\x0a');}function isSyncedAtMetadataLine(_0x2a492e,_0x178ea6){const _0xf7ecf9=a156_0x34fbd7;if(_0x178ea6==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0xf7ecf9(0xbc)](_0x2a492e);return/^\s*--\s*@lovrabet\.syncedAt:/[_0xf7ecf9(0xbc)](_0x2a492e);}function a156_0x2e3b(){const _0x3a3ea7=['lastSync','nonInteractive','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','path','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','520422gHIGIv','message','sqls','local\x20differs\x20from\x20remote','Would\x20pull\x20','689236zHydhW','filter','dbId','tableData','\x20SQL\x20file(s)\x20into\x20','totalCount','sql','lockFilePath','sqlRoot','Force\x20pull\x20cancelled.','test','appCode','154578MhlTjV','sqlCode','boolean','bool','unchanged','paging','377934ajQfdx','str','toISOString','55ZOTXGe','conflict','316569INAqez','sqlName','3051648EZwjoL','force','sqlRootDir','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','catch','\x20written,\x20','utf8','3TSbJOY','3167766eTlRyO','skipped','mybatisXml','Force\x20overwrite\x20local\x20unsynced\x20changes','\x20failed','name','length','push','would_pull','No\x20remote\x20SQL\x20queries\x20matched.','\x20skipped,\x20','description','replace','pull','sqlContent','apps','sqlcode'];a156_0x2e3b=function(){return _0x3a3ea7;};return a156_0x2e3b();}